From 537e7b363f0c352826c909d230af61220e4e715e Mon Sep 17 00:00:00 2001 From: "Andrew K. Choi" Date: Thu, 16 Oct 2025 16:30:25 +0900 Subject: [PATCH] main commit --- ...a1b8c9d_create_nutrition_service_tables.py | 151 ++ ...e71842cf5a_add_nutrition_service_tables.py | 217 ++ docker-compose.prod.yml | 48 +- docker-compose.test.yml | 15 + docs/API.md | 146 ++ docs/ARCHITECTURE.md | 20 +- docs/FATSECRET_API.md | 228 ++ docs/NUTRITION_API.md | 593 +++++ docs/NUTRITION_SERVICE_API.md | 188 ++ docs/PROJECT_STRUCTURE.md | 9 +- integrate_nutrition_service.sh | 13 + nutrition-service-prod.yml | 44 + services/api_gateway/main.py | 2 + .../nutrition_service}/__init__.py | 0 .../nutrition_service/fatsecret_client.py | 199 ++ services/nutrition_service/main.py | 462 ++++ services/nutrition_service/models.py | 146 ++ services/nutrition_service/schemas.py | 203 ++ services/user_service/main.py | 5 - services/user_service/schemas.py | 18 +- shared/auth.py | 42 +- shared/config.py | 5 + start_services.sh | 7 + start_services_no_docker.sh | 7 + stop_services.sh | 8 +- test_fatsecret_api.py | 248 ++ test_fatsecret_api_oauth1.py | 173 ++ test_fatsecret_api_v2.py | 247 ++ .../setup_mobile_test.py | 0 simple_test.py => tests/simple_test.py | 0 .../test_calendar_mobile.py | 0 .../test_debug_endpoint.sh | 0 .../test_mobile_api.py | 0 .../test_mobile_endpoint.py | 0 .../test_mobile_endpoints.py | 0 tests/test_nutrition_api.py | 347 +++ tests/test_nutrition_service.sh | 189 ++ .../test_standalone.py | 0 venv/bin/alembic | 2 +- venv/bin/celery | 2 +- venv/bin/dotenv | 2 +- venv/bin/fastapi | 8 - venv/bin/uvicorn | 2 +- .../PyJWT-2.10.1.dist-info/RECORD | 33 - .../AUTHORS.rst | 0 .../INSTALLER | 0 .../LICENSE | 0 .../METADATA | 51 +- .../PyJWT-2.8.0.dist-info/RECORD | 33 + .../REQUESTED | 0 .../WHEEL | 2 +- .../top_level.txt | 0 .../INSTALLER | 0 .../LICENSE | 2 +- .../METADATA | 110 +- .../SQLAlchemy-2.0.23.dist-info/RECORD | 530 ++++ .../REQUESTED | 0 .../WHEEL | 2 +- .../top_level.txt | 0 .../INSTALLER | 0 .../METADATA | 47 +- .../RECORD | 22 +- .../REQUESTED | 0 .../WHEEL | 2 +- .../licenses/LICENSE | 0 .../licenses/NOTICE | 0 .../python3.12/site-packages/aiofiles/base.py | 62 +- .../python3.12/site-packages/aiofiles/os.py | 15 +- .../site-packages/aiofiles/ospath.py | 2 - .../aiofiles/threadpool/__init__.py | 6 +- .../INSTALLER | 0 .../LICENSE | 4 +- .../METADATA | 29 +- .../alembic-1.12.1.dist-info/RECORD | 149 ++ .../REQUESTED | 0 .../WHEEL | 2 +- .../entry_points.txt | 0 .../top_level.txt | 0 .../alembic-1.16.5.dist-info/RECORD | 163 -- .../site-packages/alembic/__init__.py | 4 +- .../alembic/autogenerate/__init__.py | 20 +- .../site-packages/alembic/autogenerate/api.py | 23 +- .../alembic/autogenerate/compare.py | 416 +-- .../alembic/autogenerate/render.py | 242 +- .../alembic/autogenerate/rewriter.py | 35 +- .../site-packages/alembic/command.py | 201 +- .../site-packages/alembic/config.py | 864 ++----- .../site-packages/alembic/context.pyi | 25 +- .../site-packages/alembic/ddl/__init__.py | 2 +- .../site-packages/alembic/ddl/_autogen.py | 329 --- .../site-packages/alembic/ddl/base.py | 60 +- .../site-packages/alembic/ddl/impl.py | 259 +- .../site-packages/alembic/ddl/mssql.py | 9 +- .../site-packages/alembic/ddl/mysql.py | 139 +- .../site-packages/alembic/ddl/oracle.py | 13 +- .../site-packages/alembic/ddl/postgresql.py | 244 +- .../site-packages/alembic/ddl/sqlite.py | 30 +- .../python3.12/site-packages/alembic/op.pyi | 107 +- .../site-packages/alembic/operations/base.py | 134 +- .../site-packages/alembic/operations/batch.py | 24 +- .../site-packages/alembic/operations/ops.py | 178 +- .../alembic/operations/schemaobj.py | 19 +- .../alembic/operations/toimpl.py | 41 +- .../alembic/runtime/environment.py | 38 +- .../alembic/runtime/migration.py | 91 +- .../site-packages/alembic/script/base.py | 336 ++- .../site-packages/alembic/script/revision.py | 88 +- .../alembic/script/write_hooks.py | 132 +- .../alembic/templates/async/alembic.ini.mako | 81 +- .../alembic/templates/async/script.py.mako | 4 +- .../templates/generic/alembic.ini.mako | 79 +- .../alembic/templates/generic/script.py.mako | 4 +- .../templates/multidb/alembic.ini.mako | 82 +- .../alembic/templates/multidb/script.py.mako | 6 +- .../alembic/templates/pyproject/README | 1 - .../templates/pyproject/alembic.ini.mako | 44 - .../alembic/templates/pyproject/env.py | 78 - .../templates/pyproject/pyproject.toml.mako | 82 - .../templates/pyproject/script.py.mako | 28 - .../alembic/templates/pyproject_async/README | 1 - .../pyproject_async/alembic.ini.mako | 44 - .../alembic/templates/pyproject_async/env.py | 89 - .../pyproject_async/pyproject.toml.mako | 82 - .../templates/pyproject_async/script.py.mako | 28 - .../site-packages/alembic/testing/__init__.py | 3 - .../alembic/testing/assertions.py | 26 +- .../site-packages/alembic/testing/env.py | 203 +- .../site-packages/alembic/testing/fixtures.py | 75 +- .../alembic/testing/requirements.py | 46 +- .../alembic/testing/schemacompare.py | 9 - .../testing/suite/_autogen_fixtures.py | 113 - .../testing/suite/test_autogen_computed.py | 65 +- .../alembic/testing/suite/test_environment.py | 6 +- .../site-packages/alembic/testing/warnings.py | 9 + .../site-packages/alembic/util/__init__.py | 64 +- .../site-packages/alembic/util/compat.py | 91 +- .../site-packages/alembic/util/exc.py | 21 +- .../site-packages/alembic/util/langhelpers.py | 114 +- .../site-packages/alembic/util/messaging.py | 28 +- .../site-packages/alembic/util/pyfiles.py | 81 +- .../site-packages/alembic/util/sqla_compat.py | 358 ++- .../AUTHORS | 0 .../INSTALLER | 0 .../LICENSE | 0 .../METADATA | 41 +- .../RECORD | 68 +- .../REQUESTED | 0 .../WHEEL | 2 +- .../top_level.txt | 0 .../site-packages/asyncpg/__init__.py | 7 +- .../site-packages/asyncpg/_asyncio_compat.py | 13 +- .../asyncpg/_testbase/__init__.py | 44 +- .../site-packages/asyncpg/_version.py | 6 +- .../site-packages/asyncpg/cluster.py | 57 +- .../site-packages/asyncpg/compat.py | 39 +- .../site-packages/asyncpg/connect_utils.py | 78 +- .../site-packages/asyncpg/connection.py | 146 +- .../asyncpg/exceptions/__init__.py | 25 +- .../site-packages/asyncpg/introspection.py | 22 +- .../pgproto.cpython-312-x86_64-linux-gnu.so | Bin 3131904 -> 2849672 bytes .../site-packages/asyncpg/pgproto/pgproto.pyi | 13 - .../python3.12/site-packages/asyncpg/pool.py | 107 +- .../site-packages/asyncpg/prepared_stmt.py | 32 +- .../asyncpg/protocol/__init__.py | 2 - .../asyncpg/protocol/codecs/base.pyx | 2 +- .../asyncpg/protocol/coreproto.pxd | 19 +- .../asyncpg/protocol/coreproto.pyx | 106 +- .../asyncpg/protocol/prepared_stmt.pyx | 2 +- .../protocol.cpython-312-x86_64-linux-gnu.so | Bin 9439904 -> 8713328 bytes .../asyncpg/protocol/protocol.pxd | 1 + .../asyncpg/protocol/protocol.pyi | 300 --- .../asyncpg/protocol/protocol.pyx | 9 +- .../asyncpg/protocol/settings.pyx | 4 +- .../site-packages/asyncpg/serverversion.py | 24 +- .../python3.12/site-packages/asyncpg/types.py | 100 +- .../python3.12/site-packages/asyncpg/utils.py | 9 +- .../INSTALLER | 0 .../LICENSE | 0 .../METADATA | 99 +- .../bcrypt-4.0.1.dist-info/RECORD | 14 + .../REQUESTED | 0 .../bcrypt-4.0.1.dist-info/WHEEL | 5 + .../top_level.txt | 0 .../bcrypt-5.0.0.dist-info/RECORD | 12 - .../bcrypt-5.0.0.dist-info/WHEEL | 5 - .../site-packages/bcrypt/__about__.py | 41 + .../site-packages/bcrypt/__init__.py | 112 +- .../site-packages/bcrypt/__init__.pyi | 10 - .../site-packages/bcrypt/_bcrypt.abi3.so | Bin 631768 -> 1959696 bytes .../site-packages/bcrypt/_bcrypt.pyi | 7 + .../INSTALLER | 0 .../LICENSE | 0 .../METADATA | 216 +- .../RECORD | 148 +- .../REQUESTED | 0 .../WHEEL | 2 +- .../entry_points.txt | 0 .../top_level.txt | 0 .../site-packages/celery/__init__.py | 4 +- .../site-packages/celery/app/amqp.py | 13 +- .../site-packages/celery/app/backends.py | 1 - .../site-packages/celery/app/base.py | 156 +- .../site-packages/celery/app/control.py | 5 +- .../site-packages/celery/app/defaults.py | 13 - .../site-packages/celery/app/log.py | 3 +- .../site-packages/celery/app/routes.py | 2 +- .../site-packages/celery/app/task.py | 27 +- .../site-packages/celery/app/trace.py | 36 +- .../site-packages/celery/app/utils.py | 2 +- .../site-packages/celery/apps/worker.py | 148 +- .../celery/backends/azureblockblob.py | 33 +- .../site-packages/celery/backends/base.py | 14 +- .../celery/backends/cassandra.py | 4 +- .../celery/backends/database/__init__.py | 14 +- .../celery/backends/database/models.py | 8 +- .../site-packages/celery/backends/dynamodb.py | 67 +- .../celery/backends/elasticsearch.py | 99 +- .../celery/backends/filesystem.py | 2 +- .../site-packages/celery/backends/gcs.py | 352 --- .../site-packages/celery/backends/mongodb.py | 4 +- .../site-packages/celery/backends/redis.py | 5 - .../site-packages/celery/backends/rpc.py | 2 +- .../python3.12/site-packages/celery/beat.py | 5 +- .../site-packages/celery/bin/base.py | 35 +- .../site-packages/celery/bin/celery.py | 55 +- .../site-packages/celery/bin/control.py | 89 +- .../python3.12/site-packages/celery/canvas.py | 35 +- .../celery/concurrency/asynpool.py | 29 +- .../celery/concurrency/gevent.py | 65 +- .../celery/contrib/django/task.py | 21 - .../celery/contrib/testing/worker.py | 32 +- .../site-packages/celery/events/event.py | 2 +- .../site-packages/celery/fixups/django.py | 15 +- .../site-packages/celery/loaders/base.py | 22 +- .../python3.12/site-packages/celery/local.py | 1 + .../site-packages/celery/platforms.py | 16 +- .../python3.12/site-packages/celery/result.py | 7 +- .../site-packages/celery/schedules.py | 42 +- .../celery/security/certificate.py | 2 +- .../celery/security/serialization.py | 47 +- .../site-packages/celery/utils/annotations.py | 49 - .../site-packages/celery/utils/collections.py | 3 +- .../celery/utils/dispatch/signal.py | 4 - .../site-packages/celery/utils/imports.py | 9 +- .../site-packages/celery/utils/iso8601.py | 4 +- .../site-packages/celery/utils/log.py | 2 +- .../site-packages/celery/utils/nodenames.py | 50 +- .../celery/utils/quorum_queues.py | 20 - .../site-packages/celery/utils/saferepr.py | 11 +- .../site-packages/celery/utils/sysinfo.py | 20 +- .../site-packages/celery/utils/term.py | 103 +- .../site-packages/celery/utils/time.py | 51 +- .../site-packages/celery/utils/timer2.py | 54 +- .../celery/worker/consumer/consumer.py | 74 +- .../worker/consumer/delayed_delivery.py | 247 -- .../celery/worker/consumer/gossip.py | 1 - .../celery/worker/consumer/mingle.py | 2 +- .../celery/worker/consumer/tasks.py | 31 +- .../site-packages/celery/worker/control.py | 3 +- .../site-packages/celery/worker/loops.py | 12 +- .../site-packages/celery/worker/request.py | 6 +- .../site-packages/celery/worker/worker.py | 36 +- .../python3.12/site-packages/dotenv/cli.py | 40 +- .../python3.12/site-packages/dotenv/main.py | 84 +- .../site-packages/dotenv/version.py | 2 +- .../INSTALLER | 0 .../METADATA | 235 +- .../RECORD | 66 +- .../REQUESTED | 0 .../WHEEL | 2 +- .../licenses/LICENSE | 0 .../fastapi-0.117.1.dist-info/WHEEL | 4 - .../entry_points.txt | 5 - .../site-packages/fastapi/__init__.py | 2 +- .../site-packages/fastapi/__main__.py | 3 - .../site-packages/fastapi/_compat.py | 54 +- .../site-packages/fastapi/applications.py | 119 +- .../site-packages/fastapi/background.py | 2 +- .../python3.12/site-packages/fastapi/cli.py | 13 - .../site-packages/fastapi/concurrency.py | 5 +- .../site-packages/fastapi/datastructures.py | 2 +- .../fastapi/dependencies/models.py | 75 +- .../fastapi/dependencies/utils.py | 654 ++--- .../site-packages/fastapi/encoders.py | 11 +- .../fastapi/exception_handlers.py | 4 +- .../site-packages/fastapi/exceptions.py | 2 +- .../fastapi/middleware/asyncexitstack.py | 25 + .../site-packages/fastapi/openapi/docs.py | 8 +- .../site-packages/fastapi/openapi/models.py | 228 +- .../site-packages/fastapi/openapi/utils.py | 125 +- .../site-packages/fastapi/param_functions.py | 24 +- .../site-packages/fastapi/params.py | 41 +- .../site-packages/fastapi/routing.py | 360 +-- .../site-packages/fastapi/security/api_key.py | 47 +- .../site-packages/fastapi/security/http.py | 19 +- .../site-packages/fastapi/security/oauth2.py | 41 +- .../fastapi/security/open_id_connect_url.py | 4 +- .../python3.12/site-packages/fastapi/types.py | 1 + .../python3.12/site-packages/fastapi/utils.py | 32 +- .../python3.12/site-packages/jose/__init__.py | 2 +- .../site-packages/jose/backends/__init__.py | 8 +- .../site-packages/jose/backends/_asn1.py | 1 - .../jose/backends/cryptography_backend.py | 53 +- .../site-packages/jose/backends/native.py | 11 +- .../jose/backends/rsa_backend.py | 1 + .../site-packages/jose/constants.py | 2 - venv/lib/python3.12/site-packages/jose/jwe.py | 28 +- venv/lib/python3.12/site-packages/jose/jwk.py | 4 +- venv/lib/python3.12/site-packages/jose/jws.py | 8 +- venv/lib/python3.12/site-packages/jose/jwt.py | 32 +- .../python3.12/site-packages/jose/utils.py | 63 +- .../python3.12/site-packages/jwt/__init__.py | 5 +- .../site-packages/jwt/algorithms.py | 123 +- .../python3.12/site-packages/jwt/api_jwk.py | 32 +- .../python3.12/site-packages/jwt/api_jws.py | 52 +- .../python3.12/site-packages/jwt/api_jwt.py | 103 +- .../site-packages/jwt/exceptions.py | 12 - venv/lib/python3.12/site-packages/jwt/help.py | 5 +- .../site-packages/jwt/jwks_client.py | 6 +- .../lib/python3.12/site-packages/jwt/utils.py | 34 +- .../site-packages/kafka/__init__.py | 2 +- .../site-packages/kafka/admin/client.py | 854 ++----- .../kafka/benchmarks/consumer_performance.py | 142 -- .../kafka/benchmarks/load_example.py | 110 - .../kafka/benchmarks/producer_performance.py | 153 -- .../kafka/benchmarks/record_batch_compose.py | 78 - .../kafka/benchmarks/record_batch_read.py | 83 - .../kafka/benchmarks/varint_speed.py | 434 ---- .../site-packages/kafka/client_async.py | 539 ++-- .../python3.12/site-packages/kafka/cluster.py | 113 +- .../python3.12/site-packages/kafka/codec.py | 13 +- .../python3.12/site-packages/kafka/conn.py | 999 ++++---- .../site-packages/kafka/consumer/fetcher.py | 1453 ++++------- .../site-packages/kafka/consumer/group.py | 352 +-- .../kafka/consumer/subscription_state.py | 284 +-- .../assignors/sticky/sticky_assignor.py | 11 +- .../site-packages/kafka/coordinator/base.py | 609 ++--- .../kafka/coordinator/consumer.py | 413 ++- .../kafka/coordinator/heartbeat.py | 22 +- .../python3.12/site-packages/kafka/errors.py | 742 +----- .../python3.12/site-packages/kafka/future.py | 37 +- .../kafka/metrics/compound_stat.py | 6 +- .../kafka/metrics/kafka_metric.py | 4 +- .../kafka/metrics/measurable_stat.py | 3 +- .../kafka/metrics/metric_config.py | 2 - .../kafka/metrics/metric_name.py | 3 +- .../site-packages/kafka/metrics/metrics.py | 4 +- .../kafka/metrics/metrics_reporter.py | 5 +- .../site-packages/kafka/metrics/quota.py | 4 +- .../site-packages/kafka/metrics/stat.py | 5 +- .../site-packages/kafka/metrics/stats/avg.py | 2 - .../kafka/metrics/stats/count.py | 2 - .../kafka/metrics/stats/histogram.py | 6 - .../kafka/metrics/stats/max_stat.py | 2 - .../kafka/metrics/stats/min_stat.py | 2 - .../kafka/metrics/stats/percentile.py | 2 - .../kafka/metrics/stats/percentiles.py | 5 +- .../site-packages/kafka/metrics/stats/rate.py | 3 - .../kafka/metrics/stats/sampled_stat.py | 4 +- .../kafka/metrics/stats/sensor.py | 4 - .../kafka/metrics/stats/total.py | 2 - .../site-packages/kafka/oauth/__init__.py | 3 + .../site-packages/kafka/oauth/abstract.py | 42 + .../site-packages/kafka/producer/buffer.py | 115 + .../site-packages/kafka/producer/future.py | 6 +- .../site-packages/kafka/producer/kafka.py | 505 +--- .../kafka/producer/record_accumulator.py | 512 ++-- .../site-packages/kafka/producer/sender.py | 486 +--- .../kafka/producer/transaction_manager.py | 981 -------- .../site-packages/kafka/protocol/__init__.py | 3 - .../site-packages/kafka/protocol/abstract.py | 5 +- .../kafka/protocol/add_offsets_to_txn.py | 59 - .../kafka/protocol/add_partitions_to_txn.py | 63 - .../site-packages/kafka/protocol/admin.py | 388 +-- .../site-packages/kafka/protocol/api.py | 50 +- .../kafka/protocol/api_versions.py | 134 - .../kafka/protocol/broker_api_versions.py | 68 - .../site-packages/kafka/protocol/commit.py | 162 +- .../site-packages/kafka/protocol/end_txn.py | 58 - .../site-packages/kafka/protocol/fetch.py | 28 +- .../kafka/protocol/find_coordinator.py | 64 - .../site-packages/kafka/protocol/group.py | 90 +- .../kafka/protocol/init_producer_id.py | 46 - .../site-packages/kafka/protocol/metadata.py | 83 +- .../protocol/{list_offsets.py => offset.py} | 58 +- .../kafka/protocol/offset_for_leader_epoch.py | 140 -- .../site-packages/kafka/protocol/parser.py | 34 +- .../site-packages/kafka/protocol/produce.py | 6 +- .../kafka/protocol/sasl_authenticate.py | 42 - .../kafka/protocol/sasl_handshake.py | 39 - .../kafka/protocol/txn_offset_commit.py | 78 - .../site-packages/kafka/protocol/types.py | 171 +- .../site-packages/kafka/record/_crc32c.py | 2 +- .../site-packages/kafka/record/abc.py | 38 +- .../kafka/record/default_records.py | 182 +- .../kafka/record/legacy_records.py | 60 +- .../kafka/record/memory_records.py | 66 +- .../site-packages/kafka/sasl/__init__.py | 34 - .../site-packages/kafka/sasl/abc.py | 33 - .../site-packages/kafka/sasl/gssapi.py | 96 - .../site-packages/kafka/sasl/msk.py | 244 -- .../site-packages/kafka/sasl/oauth.py | 100 - .../site-packages/kafka/sasl/plain.py | 41 - .../site-packages/kafka/sasl/scram.py | 133 - .../site-packages/kafka/sasl/sspi.py | 111 - .../python3.12/site-packages/kafka/scram.py | 81 + .../site-packages/kafka/socks5_wrapper.py | 248 -- .../python3.12/site-packages/kafka/structs.py | 9 +- .../python3.12/site-packages/kafka/util.py | 78 +- .../site-packages/kafka/vendor/selectors34.py | 6 +- .../site-packages/kafka/vendor/six.py | 149 +- .../site-packages/kafka/vendor/socketpair.py | 17 - .../python3.12/site-packages/kafka/version.py | 2 +- .../INSTALLER | 0 .../kafka_python-2.0.2.dist-info/LICENSE | 202 ++ .../kafka_python-2.0.2.dist-info/METADATA | 190 ++ .../kafka_python-2.0.2.dist-info/RECORD | 203 ++ .../REQUESTED | 0 .../WHEEL | 2 +- .../top_level.txt | 0 .../kafka_python-2.2.15.dist-info/METADATA | 277 -- .../kafka_python-2.2.15.dist-info/RECORD | 250 -- .../site-packages/multipart/__init__.py | 35 +- .../site-packages/multipart/decoders.py | 172 +- .../site-packages/multipart/exceptions.py | 47 +- .../site-packages/multipart/multipart.py | 1894 +++++++++++++- .../tests}/__init__.py | 0 .../site-packages/multipart/tests/compat.py | 133 + .../tests/test_data/http/CR_in_header.http | 5 + .../tests/test_data/http/CR_in_header.yaml | 3 + .../test_data/http/CR_in_header_value.http | 5 + .../test_data/http/CR_in_header_value.yaml | 3 + .../test_data/http/almost_match_boundary.http | 13 + .../test_data/http/almost_match_boundary.yaml | 8 + .../almost_match_boundary_without_CR.http | 6 + .../almost_match_boundary_without_CR.yaml | 8 + .../almost_match_boundary_without_LF.http | 6 + .../almost_match_boundary_without_LF.yaml | 8 + ...t_match_boundary_without_final_hyphen.http | 6 + ...t_match_boundary_without_final_hyphen.yaml | 8 + .../test_data/http/bad_end_of_headers.http | 4 + .../test_data/http/bad_end_of_headers.yaml | 3 + .../tests/test_data/http/bad_header_char.http | 5 + .../tests/test_data/http/bad_header_char.yaml | 3 + .../test_data/http/bad_initial_boundary.http | 5 + .../test_data/http/bad_initial_boundary.yaml | 3 + .../tests/test_data/http/base64_encoding.http | 7 + .../tests/test_data/http/base64_encoding.yaml | 7 + .../tests/test_data/http/empty_header.http | 5 + .../tests/test_data/http/empty_header.yaml | 3 + .../tests/test_data/http/multiple_fields.http | 9 + .../tests/test_data/http/multiple_fields.yaml | 10 + .../tests/test_data/http/multiple_files.http | 11 + .../tests/test_data/http/multiple_files.yaml | 13 + .../http/quoted_printable_encoding.http | 7 + .../http/quoted_printable_encoding.yaml | 7 + .../tests/test_data/http/single_field.http | 5 + .../tests/test_data/http/single_field.yaml | 6 + .../test_data/http/single_field_blocks.http | 5 + .../test_data/http/single_field_blocks.yaml | 6 + .../test_data/http/single_field_longer.http | 5 + .../test_data/http/single_field_longer.yaml | 6 + .../http/single_field_single_file.http | 10 + .../http/single_field_single_file.yaml | 13 + .../single_field_with_leading_newlines.http | 7 + .../single_field_with_leading_newlines.yaml | 6 + .../tests/test_data/http/single_file.http | 6 + .../tests/test_data/http/single_file.yaml | 8 + .../tests/test_data/http/utf8_filename.http | 6 + .../tests/test_data/http/utf8_filename.yaml | 8 + .../multipart/tests/test_multipart.py | 1305 ++++++++++ .../INSTALLER | 0 .../LICENSE | 0 .../METADATA | 803 ++++++ .../NOTICE | 0 .../RECORD | 44 +- .../REQUESTED | 0 .../WHEEL | 2 +- .../top_level.txt | 0 .../METADATA | 51 - .../prometheus_client/__init__.py | 9 +- .../site-packages/prometheus_client/asgi.py | 2 +- .../site-packages/prometheus_client/core.py | 4 +- .../prometheus_client/exposition.py | 237 +- .../prometheus_client/metrics.py | 72 +- .../prometheus_client/metrics_core.py | 21 +- .../prometheus_client/multiprocess.py | 2 +- .../openmetrics/exposition.py | 289 +-- .../prometheus_client/openmetrics/parser.py | 419 ++-- .../site-packages/prometheus_client/parser.py | 277 +- .../prometheus_client/registry.py | 2 +- .../prometheus_client/samples.py | 28 +- .../site-packages/prometheus_client/utils.py | 12 - .../prometheus_client/validation.py | 124 - .../_psycopg.cpython-312-x86_64-linux-gnu.so | Bin 339145 -> 339145 bytes .../site-packages/psycopg2/errorcodes.py | 1 - .../INSTALLER | 0 .../LICENSE | 0 .../METADATA | 19 +- .../RECORD | 28 +- .../REQUESTED | 0 .../WHEEL | 2 +- .../top_level.txt | 0 ...8cefb.so.1.1 => libcrypto-0628e7d4.so.1.1} | Bin 3133185 -> 3133185 bytes ...so.2.0.200 => liblber-5a1d5ae1.so.2.0.200} | Bin 60977 -> 60977 bytes ...so.2.0.200 => libldap-5d2ff197.so.2.0.200} | Bin 447313 -> 447329 bytes .../libpq-e8a033dd.so.5.16 | Bin 370761 -> 370777 bytes .../libssl-3e69114b.so.1.1 | Bin 646065 -> 646065 bytes .../pydantic-2.11.9.dist-info/METADATA | 787 ------ .../pydantic-2.11.9.dist-info/RECORD | 216 -- .../INSTALLER | 0 .../pydantic-2.4.2.dist-info/METADATA | 1337 ++++++++++ .../pydantic-2.4.2.dist-info/RECORD | 196 ++ .../REQUESTED | 0 .../WHEEL | 2 +- .../licenses/LICENSE | 0 .../site-packages/pydantic/__init__.py | 350 +-- .../pydantic/_internal/_config.py | 174 +- .../pydantic/_internal/_core_metadata.py | 139 +- .../pydantic/_internal/_core_utils.py | 544 +++- .../pydantic/_internal/_dataclasses.py | 204 +- .../pydantic/_internal/_decorators.py | 200 +- .../pydantic/_internal/_decorators_v1.py | 33 +- .../_internal/_discriminated_union.py | 99 +- .../pydantic/_internal/_docs_extraction.py | 108 - .../pydantic/_internal/_fields.py | 486 +--- .../pydantic/_internal/_forward_ref.py | 7 - .../pydantic/_internal/_generate_schema.py | 2220 +++++------------ .../pydantic/_internal/_generics.py | 235 +- .../site-packages/pydantic/_internal/_git.py | 27 - .../pydantic/_internal/_import_utils.py | 20 - .../pydantic/_internal/_internal_dataclass.py | 3 + .../_internal/_known_annotated_metadata.py | 419 ++-- .../pydantic/_internal/_mock_val_ser.py | 180 +- .../pydantic/_internal/_model_construction.py | 595 ++--- .../pydantic/_internal/_namespace_utils.py | 293 --- .../site-packages/pydantic/_internal/_repr.py | 25 +- .../pydantic/_internal/_schema_gather.py | 209 -- .../_internal/_schema_generation_shared.py | 31 +- .../pydantic/_internal/_serializers.py | 53 - .../pydantic/_internal/_signature.py | 188 -- .../pydantic/_internal/_std_types_schema.py | 713 ++++++ .../pydantic/_internal/_typing_extra.py | 677 ++--- .../pydantic/_internal/_utils.py | 122 +- .../pydantic/_internal/_validate_call.py | 188 +- .../pydantic/_internal/_validators.py | 442 +--- .../site-packages/pydantic/_migration.py | 14 +- .../pydantic/alias_generators.py | 24 +- .../site-packages/pydantic/aliases.py | 135 - .../pydantic/annotated_handlers.py | 24 +- .../pydantic/class_validators.py | 1 - .../site-packages/pydantic/color.py | 23 +- .../site-packages/pydantic/config.py | 706 ++---- .../site-packages/pydantic/dataclasses.py | 217 +- .../site-packages/pydantic/datetime_parse.py | 1 - .../site-packages/pydantic/decorator.py | 1 - .../pydantic/deprecated/class_validators.py | 86 +- .../pydantic/deprecated/config.py | 15 +- .../pydantic/deprecated/copy_internals.py | 16 +- .../pydantic/deprecated/decorator.py | 77 +- .../site-packages/pydantic/deprecated/json.py | 37 +- .../pydantic/deprecated/parse.py | 12 +- .../pydantic/deprecated/tools.py | 25 +- .../site-packages/pydantic/env_settings.py | 1 - .../site-packages/pydantic/error_wrappers.py | 1 - .../site-packages/pydantic/errors.py | 47 +- .../pydantic/experimental/__init__.py | 10 - .../pydantic/experimental/arguments_schema.py | 44 - .../pydantic/experimental/pipeline.py | 667 ----- .../site-packages/pydantic/fields.py | 1120 +++------ .../pydantic/functional_serializers.py | 320 +-- .../pydantic/functional_validators.py | 471 +--- .../site-packages/pydantic/generics.py | 1 - .../python3.12/site-packages/pydantic/json.py | 1 - .../site-packages/pydantic/json_schema.py | 1003 +++----- .../python3.12/site-packages/pydantic/main.py | 1263 ++++------ .../python3.12/site-packages/pydantic/mypy.py | 520 ++-- .../site-packages/pydantic/networks.py | 1344 +++------- .../site-packages/pydantic/parse.py | 1 - .../site-packages/pydantic/plugin/__init__.py | 50 +- .../site-packages/pydantic/plugin/_loader.py | 19 +- .../pydantic/plugin/_schema_validator.py | 44 +- .../site-packages/pydantic/root_model.py | 54 +- .../site-packages/pydantic/schema.py | 1 - .../site-packages/pydantic/tools.py | 1 - .../site-packages/pydantic/type_adapter.py | 692 ++--- .../site-packages/pydantic/types.py | 1310 ++-------- .../site-packages/pydantic/typing.py | 1 - .../site-packages/pydantic/utils.py | 1 - .../site-packages/pydantic/v1/__init__.py | 34 +- .../pydantic/v1/_hypothesis_plugin.py | 2 +- .../pydantic/v1/annotated_types.py | 6 +- .../pydantic/v1/class_validators.py | 14 +- .../site-packages/pydantic/v1/color.py | 6 +- .../site-packages/pydantic/v1/config.py | 10 +- .../site-packages/pydantic/v1/dataclasses.py | 44 +- .../pydantic/v1/datetime_parse.py | 2 +- .../site-packages/pydantic/v1/decorator.py | 14 +- .../site-packages/pydantic/v1/env_settings.py | 12 +- .../pydantic/v1/error_wrappers.py | 11 +- .../site-packages/pydantic/v1/errors.py | 6 +- .../site-packages/pydantic/v1/fields.py | 33 +- .../site-packages/pydantic/v1/generics.py | 12 +- .../site-packages/pydantic/v1/json.py | 8 +- .../site-packages/pydantic/v1/main.py | 40 +- .../site-packages/pydantic/v1/mypy.py | 15 +- .../site-packages/pydantic/v1/networks.py | 12 +- .../site-packages/pydantic/v1/parse.py | 2 +- .../site-packages/pydantic/v1/schema.py | 29 +- .../site-packages/pydantic/v1/tools.py | 10 +- .../site-packages/pydantic/v1/types.py | 19 +- .../site-packages/pydantic/v1/typing.py | 24 +- .../site-packages/pydantic/v1/utils.py | 25 +- .../site-packages/pydantic/v1/validators.py | 23 +- .../site-packages/pydantic/v1/version.py | 2 +- .../site-packages/pydantic/validate_call.py | 58 + .../pydantic/validate_call_decorator.py | 116 - .../site-packages/pydantic/validators.py | 1 - .../site-packages/pydantic/version.py | 41 +- .../site-packages/pydantic/warnings.py | 51 +- .../INSTALLER | 0 .../METADATA | 16 +- .../pydantic_core-2.10.1.dist-info/RECORD | 12 + .../WHEEL | 2 +- .../license_files}/LICENSE | 0 .../pydantic_core-2.33.2.dist-info/RECORD | 12 - .../site-packages/pydantic_core/__init__.py | 11 +- ...antic_core.cpython-312-x86_64-linux-gnu.so | Bin 4776920 -> 5019712 bytes .../pydantic_core/_pydantic_core.pyi | 754 +++--- .../pydantic_core/core_schema.py | 943 ++----- .../INSTALLER | 0 .../METADATA | 40 +- .../pydantic_settings-2.0.3.dist-info/RECORD | 17 + .../REQUESTED | 0 .../WHEEL | 2 +- .../licenses/LICENSE | 0 .../pydantic_settings-2.11.0.dist-info/RECORD | 49 - .../pydantic_settings/__init__.py | 43 +- .../pydantic_settings/exceptions.py | 4 - .../site-packages/pydantic_settings/main.py | 535 +--- .../pydantic_settings/sources.py | 653 +++++ .../pydantic_settings/sources/__init__.py | 68 - .../pydantic_settings/sources/base.py | 527 ---- .../sources/providers/__init__.py | 41 - .../sources/providers/aws.py | 79 - .../sources/providers/azure.py | 145 -- .../sources/providers/cli.py | 1331 ---------- .../sources/providers/dotenv.py | 168 -- .../sources/providers/env.py | 270 -- .../sources/providers/gcp.py | 152 -- .../sources/providers/json.py | 47 - .../sources/providers/pyproject.py | 62 - .../sources/providers/secrets.py | 125 - .../sources/providers/toml.py | 66 - .../sources/providers/yaml.py | 75 - .../pydantic_settings/sources/types.py | 78 - .../pydantic_settings/sources/utils.py | 206 -- .../site-packages/pydantic_settings/utils.py | 48 +- .../pydantic_settings/version.py | 2 +- .../INSTALLER | 0 .../LICENSE | 0 .../METADATA | 100 +- .../RECORD | 24 +- .../REQUESTED | 0 .../python_dotenv-1.0.0.dist-info/WHEEL | 5 + .../entry_points.txt | 0 .../top_level.txt | 0 .../python_dotenv-1.1.1.dist-info/WHEEL | 5 - .../INSTALLER | 0 .../LICENSE | 0 .../METADATA | 37 +- .../python_jose-3.3.0.dist-info/RECORD | 37 + .../REQUESTED | 0 .../WHEEL | 2 +- .../python_jose-3.3.0.dist-info/top_level.txt | 2 + .../python_jose-3.5.0.dist-info/RECORD | 37 - .../python_jose-3.5.0.dist-info/top_level.txt | 1 - .../METADATA | 40 - .../python_multipart-0.0.20.dist-info/RECORD | 23 - .../INSTALLER | 0 .../python_multipart-0.0.6.dist-info/METADATA | 69 + .../python_multipart-0.0.6.dist-info/RECORD | 62 + .../REQUESTED | 0 .../python_multipart-0.0.6.dist-info/WHEEL | 4 + .../licenses/LICENSE.txt | 0 .../python_multipart/__init__.py | 25 - .../python_multipart/decoders.py | 185 -- .../python_multipart/exceptions.py | 34 - .../python_multipart/multipart.py | 1873 -------------- .../site-packages/python_multipart/py.typed | 0 .../INSTALLER | 0 .../LICENSE | 0 .../METADATA | 115 +- .../redis-5.0.1.dist-info/RECORD | 148 ++ .../REQUESTED | 0 .../site-packages/redis-5.0.1.dist-info/WHEEL | 5 + .../redis-5.0.1.dist-info/top_level.txt | 1 + .../redis-6.4.0.dist-info/RECORD | 153 -- .../site-packages/redis-6.4.0.dist-info/WHEEL | 4 - .../site-packages/redis/__init__.py | 26 +- .../site-packages/redis/_parsers/__init__.py | 9 +- .../site-packages/redis/_parsers/base.py | 72 +- .../site-packages/redis/_parsers/helpers.py | 95 +- .../site-packages/redis/_parsers/hiredis.py | 116 +- .../site-packages/redis/_parsers/resp3.py | 70 +- .../site-packages/redis/asyncio/client.py | 279 +-- .../site-packages/redis/asyncio/cluster.py | 1162 ++------- .../site-packages/redis/asyncio/connection.py | 351 +-- .../site-packages/redis/asyncio/lock.py | 31 +- .../site-packages/redis/asyncio/retry.py | 37 +- .../site-packages/redis/asyncio/sentinel.py | 85 +- .../site-packages/redis/asyncio/utils.py | 2 +- .../site-packages/redis/auth/__init__.py | 0 .../site-packages/redis/auth/err.py | 31 - .../site-packages/redis/auth/idp.py | 28 - .../site-packages/redis/auth/token.py | 130 - .../site-packages/redis/auth/token_manager.py | 370 --- .../python3.12/site-packages/redis/backoff.py | 95 +- .../python3.12/site-packages/redis/cache.py | 401 --- .../python3.12/site-packages/redis/client.py | 421 ++-- .../python3.12/site-packages/redis/cluster.py | 1719 ++++--------- .../redis/commands/bf/__init__.py | 2 +- .../redis/commands/bf/commands.py | 6 +- .../site-packages/redis/commands/bf/info.py | 10 +- .../site-packages/redis/commands/cluster.py | 25 +- .../site-packages/redis/commands/core.py | 1529 ++++-------- .../redis/commands/graph/__init__.py | 263 ++ .../redis/commands/graph/commands.py | 313 +++ .../redis/commands/graph/edge.py | 91 + .../redis/commands/graph/exceptions.py | 3 + .../redis/commands/graph/execution_plan.py | 211 ++ .../redis/commands/graph/node.py | 88 + .../redis/commands/graph/path.py | 78 + .../redis/commands/graph/query_result.py | 573 +++++ .../site-packages/redis/commands/helpers.py | 96 +- .../redis/commands/json/__init__.py | 2 +- .../redis/commands/json/_util.py | 6 +- .../redis/commands/json/commands.py | 46 +- .../redis/commands/redismodules.py | 50 +- .../redis/commands/search/_util.py | 4 +- .../redis/commands/search/aggregation.py | 37 +- .../redis/commands/search/commands.py | 181 +- .../redis/commands/search/dialect.py | 3 - .../redis/commands/search/field.py | 50 +- ...index_definition.py => indexDefinition.py} | 0 .../commands/search/profile_information.py | 14 - .../redis/commands/search/query.py | 29 +- .../redis/commands/search/result.py | 44 +- .../site-packages/redis/commands/sentinel.py | 52 +- .../redis/commands/timeseries/__init__.py | 2 +- .../redis/commands/timeseries/commands.py | 918 +++---- .../redis/commands/timeseries/info.py | 6 +- .../redis/commands/timeseries/utils.py | 2 +- .../redis/commands/vectorset/__init__.py | 46 - .../redis/commands/vectorset/commands.py | 374 --- .../redis/commands/vectorset/utils.py | 94 - .../python3.12/site-packages/redis/compat.py | 6 + .../site-packages/redis/connection.py | 675 +---- .../site-packages/redis/credentials.py | 41 +- .../python3.12/site-packages/redis/event.py | 394 --- .../site-packages/redis/exceptions.py | 35 +- .../python3.12/site-packages/redis/lock.py | 59 +- .../python3.12/site-packages/redis/ocsp.py | 9 +- .../python3.12/site-packages/redis/retry.py | 71 +- .../site-packages/redis/sentinel.py | 80 +- .../python3.12/site-packages/redis/typing.py | 18 +- .../python3.12/site-packages/redis/utils.py | 187 +- .../sqlalchemy-2.0.43.dist-info/RECORD | 532 ---- .../site-packages/sqlalchemy/__init__.py | 12 +- .../sqlalchemy/connectors/__init__.py | 2 +- .../sqlalchemy/connectors/aioodbc.py | 25 +- .../sqlalchemy/connectors/asyncio.py | 300 +-- .../sqlalchemy/connectors/pyodbc.py | 29 +- .../sqlalchemy/cyextension/__init__.py | 6 - ...ollections.cpython-312-x86_64-linux-gnu.so | Bin 2011024 -> 1947440 bytes .../sqlalchemy/cyextension/collections.pyx | 6 - ...utabledict.cpython-312-x86_64-linux-gnu.so | Bin 813560 -> 811232 bytes .../sqlalchemy/cyextension/immutabledict.pxd | 6 - .../sqlalchemy/cyextension/immutabledict.pyx | 6 - ...processors.cpython-312-x86_64-linux-gnu.so | Bin 613448 -> 533968 bytes .../sqlalchemy/cyextension/processors.pyx | 6 - ...esultproxy.cpython-312-x86_64-linux-gnu.so | Bin 631984 -> 626112 bytes .../sqlalchemy/cyextension/resultproxy.pyx | 6 - .../util.cpython-312-x86_64-linux-gnu.so | Bin 990328 -> 958760 bytes .../sqlalchemy/cyextension/util.pyx | 37 +- .../sqlalchemy/dialects/__init__.py | 5 +- .../sqlalchemy/dialects/_typing.py | 23 +- .../sqlalchemy/dialects/mssql/__init__.py | 4 +- .../sqlalchemy/dialects/mssql/aioodbc.py | 7 +- .../sqlalchemy/dialects/mssql/base.py | 442 ++-- .../dialects/mssql/information_schema.py | 68 +- .../sqlalchemy/dialects/mssql/json.py | 14 +- .../sqlalchemy/dialects/mssql/provision.py | 16 - .../sqlalchemy/dialects/mssql/pymssql.py | 5 +- .../sqlalchemy/dialects/mssql/pyodbc.py | 40 +- .../sqlalchemy/dialects/mysql/__init__.py | 9 +- .../sqlalchemy/dialects/mysql/aiomysql.py | 273 +- .../sqlalchemy/dialects/mysql/asyncmy.py | 279 ++- .../sqlalchemy/dialects/mysql/base.py | 1328 ++++------ .../sqlalchemy/dialects/mysql/cymysql.py | 50 +- .../sqlalchemy/dialects/mysql/dml.py | 12 +- .../sqlalchemy/dialects/mysql/enumerated.py | 100 +- .../sqlalchemy/dialects/mysql/expression.py | 16 +- .../sqlalchemy/dialects/mysql/json.py | 42 +- .../sqlalchemy/dialects/mysql/mariadb.py | 71 +- .../dialects/mysql/mariadbconnector.py | 120 +- .../dialects/mysql/mysqlconnector.py | 219 +- .../sqlalchemy/dialects/mysql/mysqldb.py | 130 +- .../sqlalchemy/dialects/mysql/provision.py | 14 +- .../sqlalchemy/dialects/mysql/pymysql.py | 51 +- .../sqlalchemy/dialects/mysql/pyodbc.py | 65 +- .../sqlalchemy/dialects/mysql/reflection.py | 139 +- .../dialects/mysql/reserved_words.py | 9 +- .../sqlalchemy/dialects/mysql/types.py | 202 +- .../sqlalchemy/dialects/oracle/__init__.py | 24 +- .../sqlalchemy/dialects/oracle/base.py | 1056 ++------ .../sqlalchemy/dialects/oracle/cx_oracle.py | 347 +-- .../sqlalchemy/dialects/oracle/dictionary.py | 3 +- .../sqlalchemy/dialects/oracle/oracledb.py | 896 +------ .../sqlalchemy/dialects/oracle/provision.py | 8 +- .../sqlalchemy/dialects/oracle/types.py | 66 +- .../sqlalchemy/dialects/oracle/vector.py | 364 --- .../dialects/postgresql/__init__.py | 8 +- .../dialects/postgresql/_psycopg_common.py | 7 +- .../sqlalchemy/dialects/postgresql/array.py | 295 +-- .../sqlalchemy/dialects/postgresql/asyncpg.py | 184 +- .../sqlalchemy/dialects/postgresql/base.py | 1182 ++++----- .../sqlalchemy/dialects/postgresql/dml.py | 59 +- .../sqlalchemy/dialects/postgresql/ext.py | 98 +- .../sqlalchemy/dialects/postgresql/hstore.py | 41 +- .../sqlalchemy/dialects/postgresql/json.py | 144 +- .../dialects/postgresql/named_types.py | 92 +- .../dialects/postgresql/operators.py | 4 +- .../sqlalchemy/dialects/postgresql/pg8000.py | 33 +- .../dialects/postgresql/pg_catalog.py | 74 +- .../dialects/postgresql/provision.py | 8 +- .../sqlalchemy/dialects/postgresql/psycopg.py | 99 +- .../dialects/postgresql/psycopg2.py | 110 +- .../dialects/postgresql/psycopg2cffi.py | 4 +- .../sqlalchemy/dialects/postgresql/ranges.py | 185 +- .../sqlalchemy/dialects/postgresql/types.py | 49 +- .../sqlalchemy/dialects/sqlite/__init__.py | 4 +- .../sqlalchemy/dialects/sqlite/aiosqlite.py | 197 +- .../sqlalchemy/dialects/sqlite/base.py | 631 ++--- .../sqlalchemy/dialects/sqlite/dml.py | 57 +- .../sqlalchemy/dialects/sqlite/json.py | 6 - .../sqlalchemy/dialects/sqlite/provision.py | 8 +- .../sqlalchemy/dialects/sqlite/pysqlcipher.py | 14 +- .../sqlalchemy/dialects/sqlite/pysqlite.py | 161 +- .../sqlalchemy/engine/__init__.py | 2 +- .../sqlalchemy/engine/_py_processors.py | 4 +- .../sqlalchemy/engine/_py_row.py | 6 - .../sqlalchemy/engine/_py_util.py | 10 +- .../site-packages/sqlalchemy/engine/base.py | 209 +- .../sqlalchemy/engine/characteristics.py | 84 +- .../site-packages/sqlalchemy/engine/create.py | 55 +- .../site-packages/sqlalchemy/engine/cursor.py | 178 +- .../sqlalchemy/engine/default.py | 306 +-- .../site-packages/sqlalchemy/engine/events.py | 58 +- .../sqlalchemy/engine/interfaces.py | 242 +- .../site-packages/sqlalchemy/engine/mock.py | 19 +- .../sqlalchemy/engine/processors.py | 4 +- .../sqlalchemy/engine/reflection.py | 33 +- .../site-packages/sqlalchemy/engine/result.py | 140 +- .../site-packages/sqlalchemy/engine/row.py | 27 +- .../sqlalchemy/engine/strategies.py | 7 +- .../site-packages/sqlalchemy/engine/url.py | 63 +- .../site-packages/sqlalchemy/engine/util.py | 5 +- .../sqlalchemy/event/__init__.py | 2 +- .../site-packages/sqlalchemy/event/api.py | 29 +- .../site-packages/sqlalchemy/event/attr.py | 30 +- .../site-packages/sqlalchemy/event/base.py | 111 +- .../site-packages/sqlalchemy/event/legacy.py | 14 +- .../sqlalchemy/event/registry.py | 14 +- .../site-packages/sqlalchemy/events.py | 4 +- .../site-packages/sqlalchemy/exc.py | 17 +- .../site-packages/sqlalchemy/ext/__init__.py | 2 +- .../sqlalchemy/ext/associationproxy.py | 147 +- .../sqlalchemy/ext/asyncio/__init__.py | 2 +- .../sqlalchemy/ext/asyncio/base.py | 36 +- .../sqlalchemy/ext/asyncio/engine.py | 107 +- .../sqlalchemy/ext/asyncio/exc.py | 2 +- .../sqlalchemy/ext/asyncio/result.py | 72 +- .../sqlalchemy/ext/asyncio/scoping.py | 62 +- .../sqlalchemy/ext/asyncio/session.py | 133 +- .../site-packages/sqlalchemy/ext/automap.py | 203 +- .../site-packages/sqlalchemy/ext/baked.py | 18 +- .../site-packages/sqlalchemy/ext/compiler.py | 151 +- .../sqlalchemy/ext/declarative/__init__.py | 2 +- .../sqlalchemy/ext/declarative/extensions.py | 64 +- .../sqlalchemy/ext/horizontal_shard.py | 23 +- .../site-packages/sqlalchemy/ext/hybrid.py | 141 +- .../site-packages/sqlalchemy/ext/indexable.py | 59 +- .../sqlalchemy/ext/instrumentation.py | 30 +- .../site-packages/sqlalchemy/ext/mutable.py | 86 +- .../sqlalchemy/ext/mypy/__init__.py | 6 - .../sqlalchemy/ext/mypy/apply.py | 20 +- .../sqlalchemy/ext/mypy/decl_class.py | 8 +- .../sqlalchemy/ext/mypy/infer.py | 6 +- .../sqlalchemy/ext/mypy/names.py | 33 +- .../sqlalchemy/ext/mypy/plugin.py | 2 +- .../site-packages/sqlalchemy/ext/mypy/util.py | 37 +- .../sqlalchemy/ext/orderinglist.py | 123 +- .../sqlalchemy/ext/serializer.py | 54 +- .../sqlalchemy/future/__init__.py | 4 +- .../site-packages/sqlalchemy/future/engine.py | 4 +- .../site-packages/sqlalchemy/inspection.py | 33 +- .../site-packages/sqlalchemy/log.py | 10 +- .../site-packages/sqlalchemy/orm/__init__.py | 2 +- .../sqlalchemy/orm/_orm_constructors.py | 338 +-- .../site-packages/sqlalchemy/orm/_typing.py | 38 +- .../sqlalchemy/orm/attributes.py | 71 +- .../site-packages/sqlalchemy/orm/base.py | 108 +- .../sqlalchemy/orm/bulk_persistence.py | 243 +- .../sqlalchemy/orm/clsregistry.py | 27 +- .../sqlalchemy/orm/collections.py | 60 +- .../site-packages/sqlalchemy/orm/context.py | 257 +- .../site-packages/sqlalchemy/orm/decl_api.py | 192 +- .../site-packages/sqlalchemy/orm/decl_base.py | 113 +- .../sqlalchemy/orm/dependency.py | 16 +- .../sqlalchemy/orm/descriptor_props.py | 40 +- .../site-packages/sqlalchemy/orm/dynamic.py | 15 +- .../site-packages/sqlalchemy/orm/evaluator.py | 13 +- .../site-packages/sqlalchemy/orm/events.py | 145 +- .../site-packages/sqlalchemy/orm/exc.py | 16 +- .../site-packages/sqlalchemy/orm/identity.py | 2 +- .../sqlalchemy/orm/instrumentation.py | 8 +- .../sqlalchemy/orm/interfaces.py | 93 +- .../site-packages/sqlalchemy/orm/loading.py | 107 +- .../sqlalchemy/orm/mapped_collection.py | 37 +- .../site-packages/sqlalchemy/orm/mapper.py | 113 +- .../sqlalchemy/orm/path_registry.py | 64 +- .../sqlalchemy/orm/persistence.py | 97 +- .../sqlalchemy/orm/properties.py | 138 +- .../site-packages/sqlalchemy/orm/query.py | 405 ++- .../sqlalchemy/orm/relationships.py | 208 +- .../site-packages/sqlalchemy/orm/scoping.py | 81 +- .../site-packages/sqlalchemy/orm/session.py | 262 +- .../site-packages/sqlalchemy/orm/state.py | 27 +- .../sqlalchemy/orm/state_changes.py | 6 +- .../sqlalchemy/orm/strategies.py | 316 +-- .../sqlalchemy/orm/strategy_options.py | 296 +-- .../site-packages/sqlalchemy/orm/sync.py | 7 +- .../sqlalchemy/orm/unitofwork.py | 2 +- .../site-packages/sqlalchemy/orm/util.py | 186 +- .../site-packages/sqlalchemy/orm/writeonly.py | 19 +- .../site-packages/sqlalchemy/pool/__init__.py | 4 +- .../site-packages/sqlalchemy/pool/base.py | 41 +- .../site-packages/sqlalchemy/pool/events.py | 12 +- .../site-packages/sqlalchemy/pool/impl.py | 71 +- .../site-packages/sqlalchemy/schema.py | 7 +- .../site-packages/sqlalchemy/sql/__init__.py | 2 +- .../sqlalchemy/sql/_dml_constructors.py | 20 +- .../sqlalchemy/sql/_elements_constructors.py | 384 ++- .../sqlalchemy/sql/_orm_types.py | 2 +- .../site-packages/sqlalchemy/sql/_py_util.py | 2 +- .../sql/_selectable_constructors.py | 253 +- .../site-packages/sqlalchemy/sql/_typing.py | 148 +- .../sqlalchemy/sql/annotation.py | 49 +- .../site-packages/sqlalchemy/sql/base.py | 319 ++- .../site-packages/sqlalchemy/sql/cache_key.py | 114 +- .../site-packages/sqlalchemy/sql/coercions.py | 149 +- .../site-packages/sqlalchemy/sql/compiler.py | 956 +++---- .../site-packages/sqlalchemy/sql/crud.py | 125 +- .../site-packages/sqlalchemy/sql/ddl.py | 259 +- .../sqlalchemy/sql/default_comparator.py | 26 +- .../site-packages/sqlalchemy/sql/dml.py | 218 +- .../site-packages/sqlalchemy/sql/elements.py | 1120 ++++----- .../site-packages/sqlalchemy/sql/events.py | 33 +- .../sqlalchemy/sql/expression.py | 7 +- .../site-packages/sqlalchemy/sql/functions.py | 614 ++--- .../site-packages/sqlalchemy/sql/lambdas.py | 74 +- .../site-packages/sqlalchemy/sql/naming.py | 9 +- .../site-packages/sqlalchemy/sql/operators.py | 319 ++- .../site-packages/sqlalchemy/sql/roles.py | 8 +- .../site-packages/sqlalchemy/sql/schema.py | 614 ++--- .../sqlalchemy/sql/selectable.py | 1101 +++----- .../site-packages/sqlalchemy/sql/sqltypes.py | 902 +++---- .../sqlalchemy/sql/traversals.py | 29 +- .../site-packages/sqlalchemy/sql/type_api.py | 280 +-- .../site-packages/sqlalchemy/sql/util.py | 96 +- .../site-packages/sqlalchemy/sql/visitors.py | 83 +- .../sqlalchemy/testing/__init__.py | 3 +- .../sqlalchemy/testing/assertions.py | 8 +- .../sqlalchemy/testing/assertsql.py | 8 +- .../sqlalchemy/testing/asyncio.py | 19 +- .../sqlalchemy/testing/config.py | 37 +- .../sqlalchemy/testing/engines.py | 35 +- .../sqlalchemy/testing/entities.py | 2 +- .../sqlalchemy/testing/exclusions.py | 18 +- .../sqlalchemy/testing/fixtures/__init__.py | 2 +- .../sqlalchemy/testing/fixtures/base.py | 7 +- .../sqlalchemy/testing/fixtures/mypy.py | 48 +- .../sqlalchemy/testing/fixtures/orm.py | 2 +- .../sqlalchemy/testing/fixtures/sql.py | 25 +- .../sqlalchemy/testing/pickleable.py | 2 +- .../sqlalchemy/testing/plugin/__init__.py | 6 - .../sqlalchemy/testing/plugin/bootstrap.py | 6 - .../sqlalchemy/testing/plugin/plugin_base.py | 6 +- .../sqlalchemy/testing/plugin/pytestplugin.py | 19 +- .../sqlalchemy/testing/profiling.py | 2 +- .../sqlalchemy/testing/provision.py | 24 +- .../sqlalchemy/testing/requirements.py | 171 +- .../sqlalchemy/testing/schema.py | 2 +- .../sqlalchemy/testing/suite/__init__.py | 6 - .../sqlalchemy/testing/suite/test_cte.py | 32 - .../sqlalchemy/testing/suite/test_ddl.py | 6 - .../testing/suite/test_deprecations.py | 6 - .../sqlalchemy/testing/suite/test_dialect.py | 48 +- .../sqlalchemy/testing/suite/test_insert.py | 28 +- .../testing/suite/test_reflection.py | 376 +-- .../sqlalchemy/testing/suite/test_results.py | 60 +- .../sqlalchemy/testing/suite/test_rowcount.py | 8 +- .../sqlalchemy/testing/suite/test_select.py | 128 +- .../sqlalchemy/testing/suite/test_sequence.py | 6 - .../sqlalchemy/testing/suite/test_types.py | 80 - .../testing/suite/test_unicode_ddl.py | 6 - .../testing/suite/test_update_delete.py | 22 +- .../site-packages/sqlalchemy/testing/util.py | 48 +- .../sqlalchemy/testing/warnings.py | 2 +- .../site-packages/sqlalchemy/types.py | 6 +- .../site-packages/sqlalchemy/util/__init__.py | 7 +- .../sqlalchemy/util/_collections.py | 40 +- .../sqlalchemy/util/_concurrency_py3k.py | 144 +- .../site-packages/sqlalchemy/util/_has_cy.py | 3 +- .../sqlalchemy/util/_py_collections.py | 24 +- .../site-packages/sqlalchemy/util/compat.py | 29 +- .../sqlalchemy/util/concurrency.py | 55 +- .../sqlalchemy/util/deprecations.py | 6 +- .../sqlalchemy/util/langhelpers.py | 221 +- .../sqlalchemy/util/preloaded.py | 4 +- .../site-packages/sqlalchemy/util/queue.py | 8 +- .../sqlalchemy/util/tool_support.py | 17 +- .../sqlalchemy/util/topological.py | 4 +- .../site-packages/sqlalchemy/util/typing.py | 421 +--- .../INSTALLER | 0 .../METADATA | 78 +- .../starlette-0.27.0.dist-info/RECORD | 74 + .../starlette-0.27.0.dist-info/WHEEL | 4 + .../licenses/LICENSE.md | 0 .../starlette-0.48.0.dist-info/RECORD | 74 - .../starlette-0.48.0.dist-info/WHEEL | 4 - .../site-packages/starlette/__init__.py | 2 +- .../site-packages/starlette/_compat.py | 28 + .../starlette/_exception_handler.py | 65 - .../site-packages/starlette/_utils.py | 113 +- .../site-packages/starlette/applications.py | 225 +- .../site-packages/starlette/authentication.py | 63 +- .../site-packages/starlette/background.py | 15 +- .../site-packages/starlette/concurrency.py | 36 +- .../site-packages/starlette/config.py | 110 +- .../site-packages/starlette/convertors.py | 26 +- .../site-packages/starlette/datastructures.py | 268 +- .../site-packages/starlette/endpoints.py | 35 +- .../site-packages/starlette/exceptions.py | 43 +- .../site-packages/starlette/formparsers.py | 108 +- .../starlette/middleware/__init__.py | 39 +- .../starlette/middleware/authentication.py | 14 +- .../starlette/middleware/base.py | 213 +- .../starlette/middleware/cors.py | 26 +- .../starlette/middleware/errors.py | 31 +- .../starlette/middleware/exceptions.py | 100 +- .../starlette/middleware/gzip.py | 128 +- .../starlette/middleware/sessions.py | 21 +- .../starlette/middleware/trustedhost.py | 10 +- .../starlette/middleware/wsgi.py | 47 +- .../site-packages/starlette/requests.py | 153 +- .../site-packages/starlette/responses.py | 392 +-- .../site-packages/starlette/routing.py | 388 ++- .../site-packages/starlette/schemas.py | 48 +- .../site-packages/starlette/staticfiles.py | 104 +- .../site-packages/starlette/status.py | 46 +- .../site-packages/starlette/templating.py | 171 +- .../site-packages/starlette/testclient.py | 536 ++-- .../site-packages/starlette/types.py | 33 +- .../site-packages/starlette/websockets.py | 103 +- .../INSTALLER | 0 .../METADATA | 99 +- .../structlog-23.2.0.dist-info/RECORD | 49 + .../REQUESTED | 0 .../structlog-23.2.0.dist-info/WHEEL | 4 + .../licenses/LICENSE-APACHE | 0 .../licenses/LICENSE-MIT | 0 .../licenses/NOTICE | 0 .../structlog-25.4.0.dist-info/RECORD | 51 - .../structlog-25.4.0.dist-info/WHEEL | 4 - .../site-packages/structlog/__init__.py | 20 +- .../site-packages/structlog/_base.py | 38 +- .../site-packages/structlog/_config.py | 29 +- .../site-packages/structlog/_frames.py | 21 +- .../site-packages/structlog/_log_levels.py | 219 +- .../site-packages/structlog/_native.py | 248 -- .../site-packages/structlog/_output.py | 33 +- .../site-packages/structlog/_utils.py | 24 +- .../site-packages/structlog/contextvars.py | 7 - .../python3.12/site-packages/structlog/dev.py | 444 +--- .../site-packages/structlog/processors.py | 220 +- .../site-packages/structlog/stdlib.py | 259 +- .../site-packages/structlog/testing.py | 15 +- .../site-packages/structlog/threadlocal.py | 14 +- .../site-packages/structlog/tracebacks.py | 278 +-- .../site-packages/structlog/twisted.py | 20 +- .../site-packages/structlog/types.py | 6 +- .../site-packages/structlog/typing.py | 55 +- .../INSTALLER | 0 .../METADATA | 40 +- .../uvicorn-0.24.0.dist-info/RECORD | 87 + .../REQUESTED | 0 .../uvicorn-0.24.0.dist-info/WHEEL | 4 + .../entry_points.txt | 0 .../licenses/LICENSE.md | 3 +- .../uvicorn-0.37.0.dist-info/RECORD | 89 - .../uvicorn-0.37.0.dist-info/WHEEL | 4 - .../site-packages/uvicorn/__init__.py | 2 +- .../site-packages/uvicorn/_compat.py | 84 - .../site-packages/uvicorn/_subprocess.py | 26 +- .../site-packages/uvicorn/_types.py | 116 +- .../site-packages/uvicorn/config.py | 267 +- .../site-packages/uvicorn/importer.py | 8 +- .../site-packages/uvicorn/lifespan/off.py | 6 +- .../site-packages/uvicorn/lifespan/on.py | 18 +- .../site-packages/uvicorn/logging.py | 20 +- .../site-packages/uvicorn/loops/asyncio.py | 13 +- .../site-packages/uvicorn/loops/auto.py | 16 +- .../site-packages/uvicorn/loops/uvloop.py | 7 +- .../python3.12/site-packages/uvicorn/main.py | 197 +- .../site-packages/uvicorn/middleware/asgi2.py | 4 +- .../uvicorn/middleware/proxy_headers.py | 200 +- .../site-packages/uvicorn/middleware/wsgi.py | 52 +- .../uvicorn/protocols/http/auto.py | 5 +- .../uvicorn/protocols/http/flow_control.py | 46 +- .../uvicorn/protocols/http/h11_impl.py | 137 +- .../uvicorn/protocols/http/httptools_impl.py | 191 +- .../site-packages/uvicorn/protocols/utils.py | 18 +- .../uvicorn/protocols/websockets/auto.py | 6 +- .../protocols/websockets/websockets_impl.py | 213 +- .../websockets/websockets_sansio_impl.py | 417 ---- .../protocols/websockets/wsproto_impl.py | 193 +- .../site-packages/uvicorn/server.py | 121 +- .../uvicorn/supervisors/__init__.py | 17 +- .../uvicorn/supervisors/basereload.py | 41 +- .../uvicorn/supervisors/multiprocess.py | 228 +- .../uvicorn/supervisors/statreload.py | 18 +- .../uvicorn/supervisors/watchfilesreload.py | 34 +- .../uvicorn/supervisors/watchgodreload.py | 158 ++ .../site-packages/uvicorn/workers.py | 28 +- 1146 files changed, 45926 insertions(+), 77196 deletions(-) create mode 100644 alembic/versions/3f4e5a1b8c9d_create_nutrition_service_tables.py create mode 100644 alembic/versions/a2e71842cf5a_add_nutrition_service_tables.py create mode 100644 docs/FATSECRET_API.md create mode 100644 docs/NUTRITION_API.md create mode 100644 docs/NUTRITION_SERVICE_API.md create mode 100755 integrate_nutrition_service.sh create mode 100644 nutrition-service-prod.yml rename {venv/lib/python3.12/site-packages/celery/contrib/django => services/nutrition_service}/__init__.py (100%) create mode 100644 services/nutrition_service/fatsecret_client.py create mode 100644 services/nutrition_service/main.py create mode 100644 services/nutrition_service/models.py create mode 100644 services/nutrition_service/schemas.py create mode 100755 test_fatsecret_api.py create mode 100755 test_fatsecret_api_oauth1.py create mode 100755 test_fatsecret_api_v2.py rename setup_mobile_test.py => tests/setup_mobile_test.py (100%) rename simple_test.py => tests/simple_test.py (100%) rename test_calendar_mobile.py => tests/test_calendar_mobile.py (100%) rename test_debug_endpoint.sh => tests/test_debug_endpoint.sh (100%) rename test_mobile_api.py => tests/test_mobile_api.py (100%) rename test_mobile_endpoint.py => tests/test_mobile_endpoint.py (100%) rename test_mobile_endpoints.py => tests/test_mobile_endpoints.py (100%) create mode 100755 tests/test_nutrition_api.py create mode 100755 tests/test_nutrition_service.sh rename test_standalone.py => tests/test_standalone.py (100%) delete mode 100755 venv/bin/fastapi delete mode 100644 venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/RECORD rename venv/lib/python3.12/site-packages/{PyJWT-2.10.1.dist-info => PyJWT-2.8.0.dist-info}/AUTHORS.rst (100%) rename venv/lib/python3.12/site-packages/{PyJWT-2.10.1.dist-info => PyJWT-2.8.0.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{PyJWT-2.10.1.dist-info => PyJWT-2.8.0.dist-info}/LICENSE (100%) rename venv/lib/python3.12/site-packages/{PyJWT-2.10.1.dist-info => PyJWT-2.8.0.dist-info}/METADATA (67%) create mode 100644 venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/RECORD rename venv/lib/python3.12/site-packages/{PyJWT-2.10.1.dist-info => PyJWT-2.8.0.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{prometheus_client-0.23.1.dist-info => PyJWT-2.8.0.dist-info}/WHEEL (65%) rename venv/lib/python3.12/site-packages/{PyJWT-2.10.1.dist-info => PyJWT-2.8.0.dist-info}/top_level.txt (100%) rename venv/lib/python3.12/site-packages/{aiofiles-24.1.0.dist-info => SQLAlchemy-2.0.23.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{sqlalchemy-2.0.43.dist-info/licenses => SQLAlchemy-2.0.23.dist-info}/LICENSE (94%) rename venv/lib/python3.12/site-packages/{sqlalchemy-2.0.43.dist-info => SQLAlchemy-2.0.23.dist-info}/METADATA (73%) create mode 100644 venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/RECORD rename venv/lib/python3.12/site-packages/{aiofiles-24.1.0.dist-info => SQLAlchemy-2.0.23.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{psycopg2_binary-2.9.10.dist-info => SQLAlchemy-2.0.23.dist-info}/WHEEL (78%) rename venv/lib/python3.12/site-packages/{sqlalchemy-2.0.43.dist-info => SQLAlchemy-2.0.23.dist-info}/top_level.txt (100%) rename venv/lib/python3.12/site-packages/{alembic-1.16.5.dist-info => aiofiles-23.2.1.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{aiofiles-24.1.0.dist-info => aiofiles-23.2.1.dist-info}/METADATA (87%) rename venv/lib/python3.12/site-packages/{aiofiles-24.1.0.dist-info => aiofiles-23.2.1.dist-info}/RECORD (59%) rename venv/lib/python3.12/site-packages/{alembic-1.16.5.dist-info => aiofiles-23.2.1.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{aiofiles-24.1.0.dist-info => aiofiles-23.2.1.dist-info}/WHEEL (67%) rename venv/lib/python3.12/site-packages/{aiofiles-24.1.0.dist-info => aiofiles-23.2.1.dist-info}/licenses/LICENSE (100%) rename venv/lib/python3.12/site-packages/{aiofiles-24.1.0.dist-info => aiofiles-23.2.1.dist-info}/licenses/NOTICE (100%) rename venv/lib/python3.12/site-packages/{asyncpg-0.30.0.dist-info => alembic-1.12.1.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{alembic-1.16.5.dist-info/licenses => alembic-1.12.1.dist-info}/LICENSE (95%) rename venv/lib/python3.12/site-packages/{alembic-1.16.5.dist-info => alembic-1.12.1.dist-info}/METADATA (92%) create mode 100644 venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/RECORD rename venv/lib/python3.12/site-packages/{asyncpg-0.30.0.dist-info => alembic-1.12.1.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{alembic-1.16.5.dist-info => alembic-1.12.1.dist-info}/WHEEL (65%) rename venv/lib/python3.12/site-packages/{alembic-1.16.5.dist-info => alembic-1.12.1.dist-info}/entry_points.txt (100%) rename venv/lib/python3.12/site-packages/{alembic-1.16.5.dist-info => alembic-1.12.1.dist-info}/top_level.txt (100%) delete mode 100644 venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/RECORD delete mode 100644 venv/lib/python3.12/site-packages/alembic/ddl/_autogen.py delete mode 100644 venv/lib/python3.12/site-packages/alembic/templates/pyproject/README delete mode 100644 venv/lib/python3.12/site-packages/alembic/templates/pyproject/alembic.ini.mako delete mode 100644 venv/lib/python3.12/site-packages/alembic/templates/pyproject/env.py delete mode 100644 venv/lib/python3.12/site-packages/alembic/templates/pyproject/pyproject.toml.mako delete mode 100644 venv/lib/python3.12/site-packages/alembic/templates/pyproject/script.py.mako delete mode 100644 venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/README delete mode 100644 venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/alembic.ini.mako delete mode 100644 venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/env.py delete mode 100644 venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/pyproject.toml.mako delete mode 100644 venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/script.py.mako rename venv/lib/python3.12/site-packages/{asyncpg-0.30.0.dist-info => asyncpg-0.29.0.dist-info}/AUTHORS (100%) rename venv/lib/python3.12/site-packages/{bcrypt-5.0.0.dist-info => asyncpg-0.29.0.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{asyncpg-0.30.0.dist-info => asyncpg-0.29.0.dist-info}/LICENSE (100%) rename venv/lib/python3.12/site-packages/{asyncpg-0.30.0.dist-info => asyncpg-0.29.0.dist-info}/METADATA (72%) rename venv/lib/python3.12/site-packages/{asyncpg-0.30.0.dist-info => asyncpg-0.29.0.dist-info}/RECORD (68%) rename venv/lib/python3.12/site-packages/{bcrypt-5.0.0.dist-info => asyncpg-0.29.0.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{asyncpg-0.30.0.dist-info => asyncpg-0.29.0.dist-info}/WHEEL (78%) rename venv/lib/python3.12/site-packages/{asyncpg-0.30.0.dist-info => asyncpg-0.29.0.dist-info}/top_level.txt (100%) delete mode 100644 venv/lib/python3.12/site-packages/asyncpg/pgproto/pgproto.pyi delete mode 100644 venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pyi rename venv/lib/python3.12/site-packages/{celery-5.5.3.dist-info => bcrypt-4.0.1.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{bcrypt-5.0.0.dist-info/licenses => bcrypt-4.0.1.dist-info}/LICENSE (100%) rename venv/lib/python3.12/site-packages/{bcrypt-5.0.0.dist-info => bcrypt-4.0.1.dist-info}/METADATA (79%) create mode 100644 venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/RECORD rename venv/lib/python3.12/site-packages/{celery-5.5.3.dist-info => bcrypt-4.0.1.dist-info}/REQUESTED (100%) create mode 100644 venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/WHEEL rename venv/lib/python3.12/site-packages/{bcrypt-5.0.0.dist-info => bcrypt-4.0.1.dist-info}/top_level.txt (100%) delete mode 100644 venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/RECORD delete mode 100644 venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/WHEEL create mode 100644 venv/lib/python3.12/site-packages/bcrypt/__about__.py delete mode 100644 venv/lib/python3.12/site-packages/bcrypt/__init__.pyi create mode 100644 venv/lib/python3.12/site-packages/bcrypt/_bcrypt.pyi rename venv/lib/python3.12/site-packages/{fastapi-0.117.1.dist-info => celery-5.3.4.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{celery-5.5.3.dist-info/licenses => celery-5.3.4.dist-info}/LICENSE (100%) rename venv/lib/python3.12/site-packages/{celery-5.5.3.dist-info => celery-5.3.4.dist-info}/METADATA (74%) rename venv/lib/python3.12/site-packages/{celery-5.5.3.dist-info => celery-5.3.4.dist-info}/RECORD (71%) rename venv/lib/python3.12/site-packages/{fastapi-0.117.1.dist-info => celery-5.3.4.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{celery-5.5.3.dist-info => celery-5.3.4.dist-info}/WHEEL (65%) rename venv/lib/python3.12/site-packages/{celery-5.5.3.dist-info => celery-5.3.4.dist-info}/entry_points.txt (100%) rename venv/lib/python3.12/site-packages/{celery-5.5.3.dist-info => celery-5.3.4.dist-info}/top_level.txt (100%) delete mode 100644 venv/lib/python3.12/site-packages/celery/backends/gcs.py delete mode 100644 venv/lib/python3.12/site-packages/celery/contrib/django/task.py delete mode 100644 venv/lib/python3.12/site-packages/celery/utils/annotations.py delete mode 100644 venv/lib/python3.12/site-packages/celery/utils/quorum_queues.py delete mode 100644 venv/lib/python3.12/site-packages/celery/worker/consumer/delayed_delivery.py rename venv/lib/python3.12/site-packages/{kafka_python-2.2.15.dist-info => fastapi-0.104.1.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{fastapi-0.117.1.dist-info => fastapi-0.104.1.dist-info}/METADATA (63%) rename venv/lib/python3.12/site-packages/{fastapi-0.117.1.dist-info => fastapi-0.104.1.dist-info}/RECORD (59%) rename venv/lib/python3.12/site-packages/{kafka_python-2.2.15.dist-info => fastapi-0.104.1.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{python_multipart-0.0.20.dist-info => fastapi-0.104.1.dist-info}/WHEEL (67%) rename venv/lib/python3.12/site-packages/{fastapi-0.117.1.dist-info => fastapi-0.104.1.dist-info}/licenses/LICENSE (100%) delete mode 100644 venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/WHEEL delete mode 100644 venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/entry_points.txt delete mode 100644 venv/lib/python3.12/site-packages/fastapi/__main__.py delete mode 100644 venv/lib/python3.12/site-packages/fastapi/cli.py create mode 100644 venv/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/benchmarks/consumer_performance.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/benchmarks/load_example.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/benchmarks/producer_performance.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/benchmarks/record_batch_compose.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/benchmarks/record_batch_read.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/benchmarks/varint_speed.py create mode 100644 venv/lib/python3.12/site-packages/kafka/oauth/__init__.py create mode 100644 venv/lib/python3.12/site-packages/kafka/oauth/abstract.py create mode 100644 venv/lib/python3.12/site-packages/kafka/producer/buffer.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/producer/transaction_manager.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/add_offsets_to_txn.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/add_partitions_to_txn.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/api_versions.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/broker_api_versions.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/end_txn.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/find_coordinator.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/init_producer_id.py rename venv/lib/python3.12/site-packages/kafka/protocol/{list_offsets.py => offset.py} (73%) delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/offset_for_leader_epoch.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/sasl_authenticate.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/sasl_handshake.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/protocol/txn_offset_commit.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/sasl/__init__.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/sasl/abc.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/sasl/gssapi.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/sasl/msk.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/sasl/oauth.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/sasl/plain.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/sasl/scram.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/sasl/sspi.py create mode 100644 venv/lib/python3.12/site-packages/kafka/scram.py delete mode 100644 venv/lib/python3.12/site-packages/kafka/socks5_wrapper.py rename venv/lib/python3.12/site-packages/{prometheus_client-0.23.1.dist-info => kafka_python-2.0.2.dist-info}/INSTALLER (100%) create mode 100644 venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/LICENSE create mode 100644 venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/METADATA create mode 100644 venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/RECORD rename venv/lib/python3.12/site-packages/{prometheus_client-0.23.1.dist-info => kafka_python-2.0.2.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{kafka_python-2.2.15.dist-info => kafka_python-2.0.2.dist-info}/WHEEL (70%) rename venv/lib/python3.12/site-packages/{kafka_python-2.2.15.dist-info => kafka_python-2.0.2.dist-info}/top_level.txt (100%) delete mode 100644 venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/METADATA delete mode 100644 venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/RECORD rename venv/lib/python3.12/site-packages/{kafka/benchmarks => multipart/tests}/__init__.py (100%) create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/compat.py create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header_value.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header_value.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_CR.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_CR.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_LF.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_LF.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_final_hyphen.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_final_hyphen.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_end_of_headers.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_end_of_headers.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_header_char.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_header_char.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_initial_boundary.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_initial_boundary.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/base64_encoding.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/base64_encoding.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/empty_header.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/empty_header.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_fields.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_fields.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_files.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_files.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/quoted_printable_encoding.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/quoted_printable_encoding.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_blocks.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_blocks.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_longer.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_longer.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_single_file.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_single_file.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_with_leading_newlines.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_with_leading_newlines.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_file.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_file.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/utf8_filename.http create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_data/http/utf8_filename.yaml create mode 100644 venv/lib/python3.12/site-packages/multipart/tests/test_multipart.py rename venv/lib/python3.12/site-packages/{psycopg2_binary-2.9.10.dist-info => prometheus_client-0.18.0.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{prometheus_client-0.23.1.dist-info/licenses => prometheus_client-0.18.0.dist-info}/LICENSE (100%) create mode 100644 venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/METADATA rename venv/lib/python3.12/site-packages/{prometheus_client-0.23.1.dist-info/licenses => prometheus_client-0.18.0.dist-info}/NOTICE (100%) rename venv/lib/python3.12/site-packages/{prometheus_client-0.23.1.dist-info => prometheus_client-0.18.0.dist-info}/RECORD (59%) rename venv/lib/python3.12/site-packages/{psycopg2_binary-2.9.10.dist-info => prometheus_client-0.18.0.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{PyJWT-2.10.1.dist-info => prometheus_client-0.18.0.dist-info}/WHEEL (65%) rename venv/lib/python3.12/site-packages/{prometheus_client-0.23.1.dist-info => prometheus_client-0.18.0.dist-info}/top_level.txt (100%) delete mode 100644 venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/METADATA delete mode 100644 venv/lib/python3.12/site-packages/prometheus_client/validation.py rename venv/lib/python3.12/site-packages/{pydantic-2.11.9.dist-info => psycopg2_binary-2.9.9.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{psycopg2_binary-2.9.10.dist-info => psycopg2_binary-2.9.9.dist-info}/LICENSE (100%) rename venv/lib/python3.12/site-packages/{psycopg2_binary-2.9.10.dist-info => psycopg2_binary-2.9.9.dist-info}/METADATA (88%) rename venv/lib/python3.12/site-packages/{psycopg2_binary-2.9.10.dist-info => psycopg2_binary-2.9.9.dist-info}/RECORD (62%) rename venv/lib/python3.12/site-packages/{pydantic-2.11.9.dist-info => psycopg2_binary-2.9.9.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{sqlalchemy-2.0.43.dist-info => psycopg2_binary-2.9.9.dist-info}/WHEEL (78%) rename venv/lib/python3.12/site-packages/{psycopg2_binary-2.9.10.dist-info => psycopg2_binary-2.9.9.dist-info}/top_level.txt (100%) rename venv/lib/python3.12/site-packages/psycopg2_binary.libs/{libcrypto-ea28cefb.so.1.1 => libcrypto-0628e7d4.so.1.1} (99%) rename venv/lib/python3.12/site-packages/psycopg2_binary.libs/{liblber-e0f57070.so.2.0.200 => liblber-5a1d5ae1.so.2.0.200} (99%) rename venv/lib/python3.12/site-packages/psycopg2_binary.libs/{libldap-c37ed727.so.2.0.200 => libldap-5d2ff197.so.2.0.200} (99%) delete mode 100644 venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/METADATA delete mode 100644 venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/RECORD rename venv/lib/python3.12/site-packages/{pydantic_core-2.33.2.dist-info => pydantic-2.4.2.dist-info}/INSTALLER (100%) create mode 100644 venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/METADATA create mode 100644 venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/RECORD rename venv/lib/python3.12/site-packages/{pydantic_settings-2.11.0.dist-info => pydantic-2.4.2.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{pydantic-2.11.9.dist-info => pydantic-2.4.2.dist-info}/WHEEL (67%) rename venv/lib/python3.12/site-packages/{pydantic-2.11.9.dist-info => pydantic-2.4.2.dist-info}/licenses/LICENSE (100%) delete mode 100644 venv/lib/python3.12/site-packages/pydantic/_internal/_docs_extraction.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/_internal/_git.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/_internal/_import_utils.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/_internal/_namespace_utils.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/_internal/_schema_gather.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/_internal/_serializers.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/_internal/_signature.py create mode 100644 venv/lib/python3.12/site-packages/pydantic/_internal/_std_types_schema.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/aliases.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/experimental/__init__.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/experimental/arguments_schema.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/experimental/pipeline.py create mode 100644 venv/lib/python3.12/site-packages/pydantic/validate_call.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic/validate_call_decorator.py rename venv/lib/python3.12/site-packages/{pydantic_settings-2.11.0.dist-info => pydantic_core-2.10.1.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{pydantic_core-2.33.2.dist-info => pydantic_core-2.10.1.dist-info}/METADATA (91%) create mode 100644 venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/RECORD rename venv/lib/python3.12/site-packages/{pydantic_core-2.33.2.dist-info => pydantic_core-2.10.1.dist-info}/WHEEL (79%) rename venv/lib/python3.12/site-packages/{pydantic_core-2.33.2.dist-info/licenses => pydantic_core-2.10.1.dist-info/license_files}/LICENSE (100%) delete mode 100644 venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/RECORD rename venv/lib/python3.12/site-packages/{python_dotenv-1.1.1.dist-info => pydantic_settings-2.0.3.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{pydantic_settings-2.11.0.dist-info => pydantic_settings-2.0.3.dist-info}/METADATA (56%) create mode 100644 venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/RECORD rename venv/lib/python3.12/site-packages/{python_dotenv-1.1.1.dist-info => pydantic_settings-2.0.3.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{pydantic_settings-2.11.0.dist-info => pydantic_settings-2.0.3.dist-info}/WHEEL (67%) rename venv/lib/python3.12/site-packages/{pydantic_settings-2.11.0.dist-info => pydantic_settings-2.0.3.dist-info}/licenses/LICENSE (100%) delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/RECORD delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/exceptions.py create mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/__init__.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/base.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/__init__.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/aws.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/azure.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/cli.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/dotenv.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/env.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/gcp.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/json.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/pyproject.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/secrets.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/toml.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/yaml.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/types.py delete mode 100644 venv/lib/python3.12/site-packages/pydantic_settings/sources/utils.py rename venv/lib/python3.12/site-packages/{python_jose-3.5.0.dist-info => python_dotenv-1.0.0.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{python_dotenv-1.1.1.dist-info/licenses => python_dotenv-1.0.0.dist-info}/LICENSE (100%) rename venv/lib/python3.12/site-packages/{python_dotenv-1.1.1.dist-info => python_dotenv-1.0.0.dist-info}/METADATA (86%) rename venv/lib/python3.12/site-packages/{python_dotenv-1.1.1.dist-info => python_dotenv-1.0.0.dist-info}/RECORD (51%) rename venv/lib/python3.12/site-packages/{python_jose-3.5.0.dist-info => python_dotenv-1.0.0.dist-info}/REQUESTED (100%) create mode 100644 venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/WHEEL rename venv/lib/python3.12/site-packages/{python_dotenv-1.1.1.dist-info => python_dotenv-1.0.0.dist-info}/entry_points.txt (100%) rename venv/lib/python3.12/site-packages/{python_dotenv-1.1.1.dist-info => python_dotenv-1.0.0.dist-info}/top_level.txt (100%) delete mode 100644 venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/WHEEL rename venv/lib/python3.12/site-packages/{python_multipart-0.0.20.dist-info => python_jose-3.3.0.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{python_jose-3.5.0.dist-info/licenses => python_jose-3.3.0.dist-info}/LICENSE (100%) rename venv/lib/python3.12/site-packages/{python_jose-3.5.0.dist-info => python_jose-3.3.0.dist-info}/METADATA (85%) create mode 100644 venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/RECORD rename venv/lib/python3.12/site-packages/{python_multipart-0.0.20.dist-info => python_jose-3.3.0.dist-info}/REQUESTED (100%) rename venv/lib/python3.12/site-packages/{python_jose-3.5.0.dist-info => python_jose-3.3.0.dist-info}/WHEEL (70%) create mode 100644 venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/RECORD delete mode 100644 venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/top_level.txt delete mode 100644 venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/METADATA delete mode 100644 venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/RECORD rename venv/lib/python3.12/site-packages/{redis-6.4.0.dist-info => python_multipart-0.0.6.dist-info}/INSTALLER (100%) create mode 100644 venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/METADATA create mode 100644 venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/RECORD rename venv/lib/python3.12/site-packages/{redis-6.4.0.dist-info => python_multipart-0.0.6.dist-info}/REQUESTED (100%) create mode 100644 venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/WHEEL rename venv/lib/python3.12/site-packages/{python_multipart-0.0.20.dist-info => python_multipart-0.0.6.dist-info}/licenses/LICENSE.txt (100%) delete mode 100644 venv/lib/python3.12/site-packages/python_multipart/__init__.py delete mode 100644 venv/lib/python3.12/site-packages/python_multipart/decoders.py delete mode 100644 venv/lib/python3.12/site-packages/python_multipart/exceptions.py delete mode 100644 venv/lib/python3.12/site-packages/python_multipart/multipart.py delete mode 100644 venv/lib/python3.12/site-packages/python_multipart/py.typed rename venv/lib/python3.12/site-packages/{sqlalchemy-2.0.43.dist-info => redis-5.0.1.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{redis-6.4.0.dist-info/licenses => redis-5.0.1.dist-info}/LICENSE (100%) rename venv/lib/python3.12/site-packages/{redis-6.4.0.dist-info => redis-5.0.1.dist-info}/METADATA (68%) create mode 100644 venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/RECORD rename venv/lib/python3.12/site-packages/{sqlalchemy-2.0.43.dist-info => redis-5.0.1.dist-info}/REQUESTED (100%) create mode 100644 venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/WHEEL create mode 100644 venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/top_level.txt delete mode 100644 venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/RECORD delete mode 100644 venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.12/site-packages/redis/auth/__init__.py delete mode 100644 venv/lib/python3.12/site-packages/redis/auth/err.py delete mode 100644 venv/lib/python3.12/site-packages/redis/auth/idp.py delete mode 100644 venv/lib/python3.12/site-packages/redis/auth/token.py delete mode 100644 venv/lib/python3.12/site-packages/redis/auth/token_manager.py delete mode 100644 venv/lib/python3.12/site-packages/redis/cache.py mode change 100755 => 100644 venv/lib/python3.12/site-packages/redis/client.py create mode 100644 venv/lib/python3.12/site-packages/redis/commands/graph/__init__.py create mode 100644 venv/lib/python3.12/site-packages/redis/commands/graph/commands.py create mode 100644 venv/lib/python3.12/site-packages/redis/commands/graph/edge.py create mode 100644 venv/lib/python3.12/site-packages/redis/commands/graph/exceptions.py create mode 100644 venv/lib/python3.12/site-packages/redis/commands/graph/execution_plan.py create mode 100644 venv/lib/python3.12/site-packages/redis/commands/graph/node.py create mode 100644 venv/lib/python3.12/site-packages/redis/commands/graph/path.py create mode 100644 venv/lib/python3.12/site-packages/redis/commands/graph/query_result.py delete mode 100644 venv/lib/python3.12/site-packages/redis/commands/search/dialect.py rename venv/lib/python3.12/site-packages/redis/commands/search/{index_definition.py => indexDefinition.py} (100%) delete mode 100644 venv/lib/python3.12/site-packages/redis/commands/search/profile_information.py delete mode 100644 venv/lib/python3.12/site-packages/redis/commands/vectorset/__init__.py delete mode 100644 venv/lib/python3.12/site-packages/redis/commands/vectorset/commands.py delete mode 100644 venv/lib/python3.12/site-packages/redis/commands/vectorset/utils.py create mode 100644 venv/lib/python3.12/site-packages/redis/compat.py delete mode 100644 venv/lib/python3.12/site-packages/redis/event.py delete mode 100644 venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/RECORD delete mode 100644 venv/lib/python3.12/site-packages/sqlalchemy/dialects/oracle/vector.py rename venv/lib/python3.12/site-packages/{starlette-0.48.0.dist-info => starlette-0.27.0.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{starlette-0.48.0.dist-info => starlette-0.27.0.dist-info}/METADATA (62%) create mode 100644 venv/lib/python3.12/site-packages/starlette-0.27.0.dist-info/RECORD create mode 100644 venv/lib/python3.12/site-packages/starlette-0.27.0.dist-info/WHEEL rename venv/lib/python3.12/site-packages/{starlette-0.48.0.dist-info => starlette-0.27.0.dist-info}/licenses/LICENSE.md (100%) delete mode 100644 venv/lib/python3.12/site-packages/starlette-0.48.0.dist-info/RECORD delete mode 100644 venv/lib/python3.12/site-packages/starlette-0.48.0.dist-info/WHEEL create mode 100644 venv/lib/python3.12/site-packages/starlette/_compat.py delete mode 100644 venv/lib/python3.12/site-packages/starlette/_exception_handler.py rename venv/lib/python3.12/site-packages/{structlog-25.4.0.dist-info => structlog-23.2.0.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{structlog-25.4.0.dist-info => structlog-23.2.0.dist-info}/METADATA (59%) create mode 100644 venv/lib/python3.12/site-packages/structlog-23.2.0.dist-info/RECORD rename venv/lib/python3.12/site-packages/{structlog-25.4.0.dist-info => structlog-23.2.0.dist-info}/REQUESTED (100%) create mode 100644 venv/lib/python3.12/site-packages/structlog-23.2.0.dist-info/WHEEL rename venv/lib/python3.12/site-packages/{structlog-25.4.0.dist-info => structlog-23.2.0.dist-info}/licenses/LICENSE-APACHE (100%) rename venv/lib/python3.12/site-packages/{structlog-25.4.0.dist-info => structlog-23.2.0.dist-info}/licenses/LICENSE-MIT (100%) rename venv/lib/python3.12/site-packages/{structlog-25.4.0.dist-info => structlog-23.2.0.dist-info}/licenses/NOTICE (100%) delete mode 100644 venv/lib/python3.12/site-packages/structlog-25.4.0.dist-info/RECORD delete mode 100644 venv/lib/python3.12/site-packages/structlog-25.4.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.12/site-packages/structlog/_native.py rename venv/lib/python3.12/site-packages/{uvicorn-0.37.0.dist-info => uvicorn-0.24.0.dist-info}/INSTALLER (100%) rename venv/lib/python3.12/site-packages/{uvicorn-0.37.0.dist-info => uvicorn-0.24.0.dist-info}/METADATA (78%) create mode 100644 venv/lib/python3.12/site-packages/uvicorn-0.24.0.dist-info/RECORD rename venv/lib/python3.12/site-packages/{uvicorn-0.37.0.dist-info => uvicorn-0.24.0.dist-info}/REQUESTED (100%) create mode 100644 venv/lib/python3.12/site-packages/uvicorn-0.24.0.dist-info/WHEEL rename venv/lib/python3.12/site-packages/{uvicorn-0.37.0.dist-info => uvicorn-0.24.0.dist-info}/entry_points.txt (100%) rename venv/lib/python3.12/site-packages/{uvicorn-0.37.0.dist-info => uvicorn-0.24.0.dist-info}/licenses/LICENSE.md (93%) delete mode 100644 venv/lib/python3.12/site-packages/uvicorn-0.37.0.dist-info/RECORD delete mode 100644 venv/lib/python3.12/site-packages/uvicorn-0.37.0.dist-info/WHEEL delete mode 100644 venv/lib/python3.12/site-packages/uvicorn/_compat.py delete mode 100644 venv/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_sansio_impl.py create mode 100644 venv/lib/python3.12/site-packages/uvicorn/supervisors/watchgodreload.py diff --git a/alembic/versions/3f4e5a1b8c9d_create_nutrition_service_tables.py b/alembic/versions/3f4e5a1b8c9d_create_nutrition_service_tables.py new file mode 100644 index 0000000..7850473 --- /dev/null +++ b/alembic/versions/3f4e5a1b8c9d_create_nutrition_service_tables.py @@ -0,0 +1,151 @@ +"""Create nutrition service tables + +Revision ID: 3f4e5a1b8c9d +Revises: 2ede6d343f7c +Create Date: 2025-10-16 23:01:02.123456 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = '3f4e5a1b8c9d' +down_revision = '49846a45b6b0' +branch_labels = None +depends_on = None + + +def upgrade(): + # Таблица продуктов питания + op.create_table( + 'food_items', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('uuid', postgresql.UUID(as_uuid=True), nullable=False), + sa.Column('fatsecret_id', sa.String(length=50), nullable=True), + sa.Column('name', sa.String(length=255), nullable=False), + sa.Column('brand', sa.String(length=255), nullable=True), + sa.Column('description', sa.Text(), nullable=True), + sa.Column('food_type', sa.String(length=50), nullable=True), + sa.Column('serving_size', sa.String(length=100), nullable=True), + sa.Column('serving_weight_grams', sa.Float(), nullable=True), + sa.Column('calories', sa.Float(), nullable=True), + sa.Column('protein_grams', sa.Float(), nullable=True), + sa.Column('fat_grams', sa.Float(), nullable=True), + sa.Column('carbs_grams', sa.Float(), nullable=True), + sa.Column('fiber_grams', sa.Float(), nullable=True), + sa.Column('sugar_grams', sa.Float(), nullable=True), + sa.Column('sodium_mg', sa.Float(), nullable=True), + sa.Column('cholesterol_mg', sa.Float(), nullable=True), + sa.Column('ingredients', sa.Text(), nullable=True), + sa.Column('is_verified', sa.Boolean(), nullable=True), + sa.Column('created_at', sa.TIMESTAMP(timezone=True), server_default=sa.text('now()'), nullable=False), + sa.Column('updated_at', sa.TIMESTAMP(timezone=True), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_food_items_fatsecret_id'), 'food_items', ['fatsecret_id'], unique=True) + op.create_index(op.f('ix_food_items_name'), 'food_items', ['name'], unique=False) + op.create_index(op.f('ix_food_items_uuid'), 'food_items', ['uuid'], unique=True) + + # Таблица записей пользователя о потреблении пищи + op.create_table( + 'user_nutrition_entries', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('uuid', postgresql.UUID(as_uuid=True), nullable=False), + sa.Column('user_id', sa.Integer(), nullable=False), + sa.Column('entry_date', sa.Date(), nullable=False), + sa.Column('meal_type', sa.String(length=50), nullable=False), + sa.Column('food_item_id', sa.Integer(), nullable=True), + sa.Column('custom_food_name', sa.String(length=255), nullable=True), + sa.Column('quantity', sa.Float(), nullable=False), + sa.Column('unit', sa.String(length=50), nullable=True), + sa.Column('calories', sa.Float(), nullable=True), + sa.Column('protein_grams', sa.Float(), nullable=True), + sa.Column('fat_grams', sa.Float(), nullable=True), + sa.Column('carbs_grams', sa.Float(), nullable=True), + sa.Column('notes', sa.Text(), nullable=True), + sa.Column('created_at', sa.TIMESTAMP(timezone=True), server_default=sa.text('now()'), nullable=False), + sa.Column('updated_at', sa.TIMESTAMP(timezone=True), nullable=True), + sa.ForeignKeyConstraint(['food_item_id'], ['food_items.id'], ), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_user_nutrition_entries_entry_date'), 'user_nutrition_entries', ['entry_date'], unique=False) + op.create_index(op.f('ix_user_nutrition_entries_user_id'), 'user_nutrition_entries', ['user_id'], unique=False) + op.create_index(op.f('ix_user_nutrition_entries_uuid'), 'user_nutrition_entries', ['uuid'], unique=True) + + # Таблица для отслеживания потребления воды + op.create_table( + 'water_intake', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('uuid', postgresql.UUID(as_uuid=True), nullable=False), + sa.Column('user_id', sa.Integer(), nullable=False), + sa.Column('entry_date', sa.Date(), nullable=False), + sa.Column('amount_ml', sa.Integer(), nullable=False), + sa.Column('entry_time', sa.TIMESTAMP(timezone=True), server_default=sa.text('now()'), nullable=False), + sa.Column('notes', sa.Text(), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_water_intake_entry_date'), 'water_intake', ['entry_date'], unique=False) + op.create_index(op.f('ix_water_intake_user_id'), 'water_intake', ['user_id'], unique=False) + op.create_index(op.f('ix_water_intake_uuid'), 'water_intake', ['uuid'], unique=True) + + # Таблица для отслеживания физической активности + op.create_table( + 'user_activity_entries', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('uuid', postgresql.UUID(as_uuid=True), nullable=False), + sa.Column('user_id', sa.Integer(), nullable=False), + sa.Column('entry_date', sa.Date(), nullable=False), + sa.Column('activity_type', sa.String(length=100), nullable=False), + sa.Column('duration_minutes', sa.Integer(), nullable=False), + sa.Column('calories_burned', sa.Float(), nullable=True), + sa.Column('distance_km', sa.Float(), nullable=True), + sa.Column('steps', sa.Integer(), nullable=True), + sa.Column('intensity', sa.String(length=20), nullable=True), + sa.Column('notes', sa.Text(), nullable=True), + sa.Column('created_at', sa.TIMESTAMP(timezone=True), server_default=sa.text('now()'), nullable=False), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_user_activity_entries_entry_date'), 'user_activity_entries', ['entry_date'], unique=False) + op.create_index(op.f('ix_user_activity_entries_user_id'), 'user_activity_entries', ['user_id'], unique=False) + op.create_index(op.f('ix_user_activity_entries_uuid'), 'user_activity_entries', ['uuid'], unique=True) + + # Таблица для хранения целей пользователя по питанию и активности + op.create_table( + 'nutrition_goals', + sa.Column('id', sa.Integer(), nullable=False), + sa.Column('user_id', sa.Integer(), nullable=False), + sa.Column('daily_calorie_goal', sa.Integer(), nullable=True), + sa.Column('protein_goal_grams', sa.Integer(), nullable=True), + sa.Column('fat_goal_grams', sa.Integer(), nullable=True), + sa.Column('carbs_goal_grams', sa.Integer(), nullable=True), + sa.Column('water_goal_ml', sa.Integer(), nullable=True), + sa.Column('activity_goal_minutes', sa.Integer(), nullable=True), + sa.Column('weight_goal_kg', sa.Float(), nullable=True), + sa.Column('goal_type', sa.String(length=50), nullable=True), + sa.Column('created_at', sa.TIMESTAMP(timezone=True), server_default=sa.text('now()'), nullable=False), + sa.Column('updated_at', sa.TIMESTAMP(timezone=True), nullable=True), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_nutrition_goals_user_id'), 'nutrition_goals', ['user_id'], unique=True) + + +def downgrade(): + op.drop_index(op.f('ix_nutrition_goals_user_id'), table_name='nutrition_goals') + op.drop_table('nutrition_goals') + op.drop_index(op.f('ix_user_activity_entries_uuid'), table_name='user_activity_entries') + op.drop_index(op.f('ix_user_activity_entries_user_id'), table_name='user_activity_entries') + op.drop_index(op.f('ix_user_activity_entries_entry_date'), table_name='user_activity_entries') + op.drop_table('user_activity_entries') + op.drop_index(op.f('ix_water_intake_uuid'), table_name='water_intake') + op.drop_index(op.f('ix_water_intake_user_id'), table_name='water_intake') + op.drop_index(op.f('ix_water_intake_entry_date'), table_name='water_intake') + op.drop_table('water_intake') + op.drop_index(op.f('ix_user_nutrition_entries_uuid'), table_name='user_nutrition_entries') + op.drop_index(op.f('ix_user_nutrition_entries_user_id'), table_name='user_nutrition_entries') + op.drop_index(op.f('ix_user_nutrition_entries_entry_date'), table_name='user_nutrition_entries') + op.drop_table('user_nutrition_entries') + op.drop_index(op.f('ix_food_items_uuid'), table_name='food_items') + op.drop_index(op.f('ix_food_items_name'), table_name='food_items') + op.drop_index(op.f('ix_food_items_fatsecret_id'), table_name='food_items') + op.drop_table('food_items') \ No newline at end of file diff --git a/alembic/versions/a2e71842cf5a_add_nutrition_service_tables.py b/alembic/versions/a2e71842cf5a_add_nutrition_service_tables.py new file mode 100644 index 0000000..957d6d9 --- /dev/null +++ b/alembic/versions/a2e71842cf5a_add_nutrition_service_tables.py @@ -0,0 +1,217 @@ +"""Add nutrition service tables + +Revision ID: a2e71842cf5a +Revises: c78a12db4567 +Create Date: 2025-10-16 10:00:00.000000 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = "a2e71842cf5a" +down_revision = "c78a12db4567" +branch_labels = None +depends_on = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + + # Создание таблицы food_items + op.create_table( + "food_items", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("uuid", postgresql.UUID(as_uuid=True), nullable=True), + sa.Column("fatsecret_id", sa.String(length=50), nullable=True), + sa.Column("name", sa.String(length=255), nullable=False), + sa.Column("brand", sa.String(length=255), nullable=True), + sa.Column("description", sa.Text(), nullable=True), + sa.Column("food_type", sa.String(length=50), nullable=True), + sa.Column("serving_size", sa.String(length=100), nullable=True), + sa.Column("serving_weight_grams", sa.Float(), nullable=True), + sa.Column("calories", sa.Float(), nullable=True), + sa.Column("protein_grams", sa.Float(), nullable=True), + sa.Column("fat_grams", sa.Float(), nullable=True), + sa.Column("carbs_grams", sa.Float(), nullable=True), + sa.Column("fiber_grams", sa.Float(), nullable=True), + sa.Column("sugar_grams", sa.Float(), nullable=True), + sa.Column("sodium_mg", sa.Float(), nullable=True), + sa.Column("cholesterol_mg", sa.Float(), nullable=True), + sa.Column("ingredients", sa.Text(), nullable=True), + sa.Column("is_verified", sa.Boolean(), nullable=True), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("now()"), + nullable=False, + ), + sa.Column("updated_at", sa.TIMESTAMP(timezone=True), nullable=True), + sa.PrimaryKeyConstraint("id"), + ) + op.create_index( + op.f("ix_food_items_fatsecret_id"), "food_items", ["fatsecret_id"], unique=True + ) + op.create_index(op.f("ix_food_items_uuid"), "food_items", ["uuid"], unique=True) + + # Создание таблицы user_nutrition_entries + op.create_table( + "user_nutrition_entries", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("uuid", postgresql.UUID(as_uuid=True), nullable=True), + sa.Column("user_id", sa.Integer(), nullable=False), + sa.Column("entry_date", sa.Date(), nullable=False), + sa.Column("meal_type", sa.String(length=50), nullable=False), + sa.Column("food_item_id", sa.Integer(), nullable=True), + sa.Column("custom_food_name", sa.String(length=255), nullable=True), + sa.Column("quantity", sa.Float(), nullable=False), + sa.Column("unit", sa.String(length=50), nullable=True), + sa.Column("calories", sa.Float(), nullable=True), + sa.Column("protein_grams", sa.Float(), nullable=True), + sa.Column("fat_grams", sa.Float(), nullable=True), + sa.Column("carbs_grams", sa.Float(), nullable=True), + sa.Column("notes", sa.Text(), nullable=True), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("now()"), + nullable=False, + ), + sa.Column("updated_at", sa.TIMESTAMP(timezone=True), nullable=True), + sa.ForeignKeyConstraint(["food_item_id"], ["food_items.id"],), + sa.PrimaryKeyConstraint("id"), + ) + op.create_index( + op.f("ix_user_nutrition_entries_entry_date"), + "user_nutrition_entries", + ["entry_date"], + unique=False, + ) + op.create_index( + op.f("ix_user_nutrition_entries_user_id"), + "user_nutrition_entries", + ["user_id"], + unique=False, + ) + op.create_index( + op.f("ix_user_nutrition_entries_uuid"), + "user_nutrition_entries", + ["uuid"], + unique=True + ) + + # Создание таблицы water_intake + op.create_table( + "water_intake", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("uuid", postgresql.UUID(as_uuid=True), nullable=True), + sa.Column("user_id", sa.Integer(), nullable=False), + sa.Column("entry_date", sa.Date(), nullable=False), + sa.Column("amount_ml", sa.Integer(), nullable=False), + sa.Column( + "entry_time", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("now()"), + nullable=False, + ), + sa.Column("notes", sa.Text(), nullable=True), + sa.PrimaryKeyConstraint("id"), + ) + op.create_index( + op.f("ix_water_intake_entry_date"), "water_intake", ["entry_date"], unique=False + ) + op.create_index( + op.f("ix_water_intake_user_id"), "water_intake", ["user_id"], unique=False + ) + op.create_index(op.f("ix_water_intake_uuid"), "water_intake", ["uuid"], unique=True) + + # Создание таблицы user_activity_entries + op.create_table( + "user_activity_entries", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("uuid", postgresql.UUID(as_uuid=True), nullable=True), + sa.Column("user_id", sa.Integer(), nullable=False), + sa.Column("entry_date", sa.Date(), nullable=False), + sa.Column("activity_type", sa.String(length=100), nullable=False), + sa.Column("duration_minutes", sa.Integer(), nullable=False), + sa.Column("calories_burned", sa.Float(), nullable=True), + sa.Column("distance_km", sa.Float(), nullable=True), + sa.Column("steps", sa.Integer(), nullable=True), + sa.Column("intensity", sa.String(length=20), nullable=True), + sa.Column("notes", sa.Text(), nullable=True), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("now()"), + nullable=False, + ), + sa.PrimaryKeyConstraint("id"), + ) + op.create_index( + op.f("ix_user_activity_entries_entry_date"), + "user_activity_entries", + ["entry_date"], + unique=False, + ) + op.create_index( + op.f("ix_user_activity_entries_user_id"), + "user_activity_entries", + ["user_id"], + unique=False, + ) + op.create_index( + op.f("ix_user_activity_entries_uuid"), + "user_activity_entries", + ["uuid"], + unique=True + ) + + # Создание таблицы nutrition_goals + op.create_table( + "nutrition_goals", + sa.Column("id", sa.Integer(), nullable=False), + sa.Column("user_id", sa.Integer(), nullable=False), + sa.Column("daily_calorie_goal", sa.Integer(), nullable=True), + sa.Column("protein_goal_grams", sa.Integer(), nullable=True), + sa.Column("fat_goal_grams", sa.Integer(), nullable=True), + sa.Column("carbs_goal_grams", sa.Integer(), nullable=True), + sa.Column("water_goal_ml", sa.Integer(), nullable=True), + sa.Column("activity_goal_minutes", sa.Integer(), nullable=True), + sa.Column("weight_goal_kg", sa.Float(), nullable=True), + sa.Column("goal_type", sa.String(length=50), nullable=True), + sa.Column( + "created_at", + sa.TIMESTAMP(timezone=True), + server_default=sa.text("now()"), + nullable=False, + ), + sa.Column("updated_at", sa.TIMESTAMP(timezone=True), nullable=True), + sa.PrimaryKeyConstraint("id"), + ) + op.create_index( + op.f("ix_nutrition_goals_user_id"), "nutrition_goals", ["user_id"], unique=True + ) + # ### end Alembic commands ### + + +def downgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f("ix_nutrition_goals_user_id"), table_name="nutrition_goals") + op.drop_table("nutrition_goals") + op.drop_index(op.f("ix_user_activity_entries_uuid"), table_name="user_activity_entries") + op.drop_index(op.f("ix_user_activity_entries_user_id"), table_name="user_activity_entries") + op.drop_index(op.f("ix_user_activity_entries_entry_date"), table_name="user_activity_entries") + op.drop_table("user_activity_entries") + op.drop_index(op.f("ix_water_intake_uuid"), table_name="water_intake") + op.drop_index(op.f("ix_water_intake_user_id"), table_name="water_intake") + op.drop_index(op.f("ix_water_intake_entry_date"), table_name="water_intake") + op.drop_table("water_intake") + op.drop_index(op.f("ix_user_nutrition_entries_uuid"), table_name="user_nutrition_entries") + op.drop_index(op.f("ix_user_nutrition_entries_user_id"), table_name="user_nutrition_entries") + op.drop_index(op.f("ix_user_nutrition_entries_entry_date"), table_name="user_nutrition_entries") + op.drop_table("user_nutrition_entries") + op.drop_index(op.f("ix_food_items_uuid"), table_name="food_items") + op.drop_index(op.f("ix_food_items_fatsecret_id"), table_name="food_items") + op.drop_table("food_items") + # ### end Alembic commands ### \ No newline at end of file diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index e7bfa6d..87a3e77 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -25,6 +25,7 @@ services: - LOCATION_SERVICE_URL=http://location-service-1:8003,http://location-service-2:8003 - CALENDAR_SERVICE_URL=http://calendar-service-1:8004,http://calendar-service-2:8004 - NOTIFICATION_SERVICE_URL=http://notification-service-1:8005,http://notification-service-2:8005 + - NUTRITION_SERVICE_URL=http://nutrition-service-1:8006,http://nutrition-service-2:8006 - REDIS_URL=redis://redis-cluster:6379/0 depends_on: - redis-cluster @@ -47,6 +48,7 @@ services: - LOCATION_SERVICE_URL=http://location-service-1:8003,http://location-service-2:8003 - CALENDAR_SERVICE_URL=http://calendar-service-1:8004,http://calendar-service-2:8004 - NOTIFICATION_SERVICE_URL=http://notification-service-1:8005,http://notification-service-2:8005 + - NUTRITION_SERVICE_URL=http://nutrition-service-1:8006,http://nutrition-service-2:8006 - REDIS_URL=redis://redis-cluster:6379/0 depends_on: - redis-cluster @@ -286,4 +288,48 @@ volumes: kafka_3_data: zookeeper_data: prometheus_data: - grafana_data: \ No newline at end of file + grafana_data: + # Nutrition Service Cluster + nutrition-service-1: + image: women-safety/nutrition-service:${TAG:-latest} + environment: + - NODE_ID=1 + - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres-primary:5432/women_safety_prod + - DATABASE_REPLICA_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres-replica:5432/women_safety_prod + - REDIS_URL=redis://redis-cluster:6379/5 + - FATSECRET_CLIENT_ID=${FATSECRET_CLIENT_ID} + - FATSECRET_CLIENT_SECRET=${FATSECRET_CLIENT_SECRET} + depends_on: + - postgres-primary + - redis-cluster + restart: always + deploy: + resources: + limits: + cpus: '1.0' + memory: 2G + reservations: + cpus: '0.5' + memory: 512M + + nutrition-service-2: + image: women-safety/nutrition-service:${TAG:-latest} + environment: + - NODE_ID=2 + - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres-primary:5432/women_safety_prod + - DATABASE_REPLICA_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres-replica:5432/women_safety_prod + - REDIS_URL=redis://redis-cluster:6379/5 + - FATSECRET_CLIENT_ID=${FATSECRET_CLIENT_ID} + - FATSECRET_CLIENT_SECRET=${FATSECRET_CLIENT_SECRET} + depends_on: + - postgres-primary + - redis-cluster + restart: always + deploy: + resources: + limits: + cpus: '1.0' + memory: 2G + reservations: + cpus: '0.5' + memory: 512M \ No newline at end of file diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 81ea97c..023f3e0 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -29,12 +29,14 @@ services: - LOCATION_SERVICE_URL=http://location-service:8003 - CALENDAR_SERVICE_URL=http://calendar-service:8004 - NOTIFICATION_SERVICE_URL=http://notification-service:8005 + - NUTRITION_SERVICE_URL=http://nutrition-service:8006 depends_on: - user-service - emergency-service - location-service - calendar-service - notification-service + - nutrition-service user-service: image: women-safety/user-service:latest @@ -96,5 +98,18 @@ services: - postgres - redis + nutrition-service: + image: women-safety/nutrition-service:latest + ports: + - "8006:8006" + environment: + - DATABASE_URL=postgresql://postgres:postgres@postgres:5432/women_safety_test + - REDIS_URL=redis://redis:6379/5 + - FATSECRET_CLIENT_ID=test-fatsecret-client-id + - FATSECRET_CLIENT_SECRET=test-fatsecret-client-secret + depends_on: + - postgres + - redis + volumes: postgres_test_data: \ No newline at end of file diff --git a/docs/API.md b/docs/API.md index 0b4b3fe..a5aadd2 100644 --- a/docs/API.md +++ b/docs/API.md @@ -6,6 +6,26 @@ The Women's Safety App provides a comprehensive API for managing user profiles, **Base URL:** `http://localhost:8000` (API Gateway) +## Swagger Documentation + +Интерактивная документация API доступна через Swagger UI по следующим URL: + +- API Gateway: `http://localhost:8000/docs` +- User Service: `http://localhost:8001/docs` +- Emergency Service: `http://localhost:8002/docs` +- Location Service: `http://localhost:8003/docs` +- Calendar Service: `http://localhost:8004/docs` +- Notification Service: `http://localhost:8005/docs` +- Nutrition Service: `http://localhost:8006/docs` + +Документация в формате ReDoc доступна по адресам: + +- API Gateway: `http://localhost:8000/redoc` +- User Service: `http://localhost:8001/redoc` +- (и т.д. для остальных сервисов) + +> **Примечание**: Swagger-документация для каждого сервиса доступна только при запущенном соответствующем сервисе. Если сервис не запущен, страница документации будет недоступна. + ## Authentication All endpoints except registration and login require JWT authentication. @@ -15,6 +35,29 @@ All endpoints except registration and login require JWT authentication. Authorization: Bearer ``` +### Testing with Swagger UI + +Для тестирования API через Swagger UI: + +1. Запустите необходимые сервисы: + ```bash + ./start_services.sh + ``` + +2. Откройте Swagger UI в браузере: + ``` + http://localhost:8000/docs + ``` + +3. Получите JWT-токен через эндпоинты `/api/v1/auth/login` или `/api/v1/auth/register` + +4. Авторизуйтесь в Swagger UI: + - Нажмите на кнопку "Authorize" в правом верхнем углу + - Введите полученный JWT-токен в формате: `Bearer ` + - Нажмите "Authorize" + +5. Теперь вы можете тестировать все защищенные эндпоинты + ## API Endpoints ### 🔐 Authentication @@ -247,6 +290,109 @@ Authorization: Bearer } ``` +### 🍎 Nutrition Services + +#### Search Food Items +```http +GET /api/v1/nutrition/foods?query=apple +Authorization: Bearer +``` + +**Response:** +```json +{ + "results": [ + { + "food_id": "123456", + "name": "Apple, raw, with skin", + "brand": "", + "calories": 52, + "serving_size": "100g", + "nutrients": { + "carbohydrates": 13.8, + "protein": 0.3, + "fat": 0.2, + "fiber": 2.4 + } + }, + { + "food_id": "789012", + "name": "Apple juice, unsweetened", + "brand": "Example Brand", + "calories": 46, + "serving_size": "100ml", + "nutrients": { + "carbohydrates": 11.2, + "protein": 0.1, + "fat": 0.1, + "fiber": 0.2 + } + } + ] +} +``` + +#### Add Nutrition Entry +```http +POST /api/v1/nutrition/entries +Authorization: Bearer +``` + +**Body:** +```json +{ + "food_id": "123456", + "date": "2025-10-16", + "meal_type": "lunch", + "quantity": 1.0, + "serving_size": "100g", + "notes": "Red apple" +} +``` + +#### Get Daily Nutrition Summary +```http +GET /api/v1/nutrition/daily-summary?date=2025-10-16 +Authorization: Bearer +``` + +**Response:** +```json +{ + "date": "2025-10-16", + "total_calories": 1578, + "total_carbohydrates": 175.3, + "total_proteins": 78.2, + "total_fats": 52.8, + "total_water": 1200, + "entries": [ + { + "id": 123, + "food_name": "Apple, raw, with skin", + "meal_type": "lunch", + "calories": 52, + "quantity": 1.0, + "serving_size": "100g" + } + ] +} +``` + +#### Track Water Intake +```http +POST /api/v1/nutrition/water +Authorization: Bearer +``` + +**Body:** +```json +{ + "date": "2025-10-16", + "amount_ml": 250, + "time": "12:30:00" +} +``` + ### 📊 System Status #### Check Service Health diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 7536a0c..1ce7753 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -25,16 +25,16 @@ This document describes the microservices architecture of the Women's Safety App │ Request Routing) │ └───────────────────────────┘ │ - ┌─────────────┬──────────────┼──────────────┬─────────────┐ - │ │ │ │ │ -┌─────────┐ ┌─────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ -│ User │ │Emergency│ │ Location │ │ Calendar │ │Notification │ -│Service │ │Service │ │ Service │ │ Service │ │ Service │ -│:8001 │ │:8002 │ │ :8003 │ │ :8004 │ │ :8005 │ -└─────────┘ └─────────┘ └─────────────┘ └─────────────┘ └─────────────┘ - │ │ │ │ │ - └─────────────┼──────────────┼──────────────┼─────────────┘ - │ │ │ + ┌─────────────┬──────────────┼──────────────┬─────────────┬─────────────┐ + │ │ │ │ │ │ +┌─────────┐ ┌─────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ +│ User │ │Emergency│ │ Location │ │ Calendar │ │Notification │ │ Nutrition │ +│Service │ │Service │ │ Service │ │ Service │ │ Service │ │ Service │ +│:8001 │ │:8002 │ │ :8003 │ │ :8004 │ │ :8005 │ │ :8006 │ +└─────────┘ └─────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ + │ │ │ │ │ │ + └─────────────┼──────────────┼──────────────┼─────────────┼─────────────┘ + │ │ │ │ ┌────────────────────────────────────────────────┐ │ Message Bus │ │ (Kafka/RabbitMQ) │ diff --git a/docs/FATSECRET_API.md b/docs/FATSECRET_API.md new file mode 100644 index 0000000..719dcc2 --- /dev/null +++ b/docs/FATSECRET_API.md @@ -0,0 +1,228 @@ +# Работа с FatSecret API в проекте + +Этот документ описывает, как используется API FatSecret для получения данных о продуктах питания и их пищевой ценности в нашем проекте. + +## Настройка API + +### Ключи API +Для работы с FatSecret API необходимы следующие ключи: +- `FATSECRET_CLIENT_ID` - ID клиента +- `FATSECRET_CLIENT_SECRET` - секрет клиента +- `FATSECRET_CUSTOMER_KEY` - ключ пользователя (используется как альтернатива CLIENT_ID) + +Эти ключи хранятся в `.env` файле проекта и загружаются в конфигурацию через модуль `shared/config.py`. + +### Методы аутентификации + +FatSecret API поддерживает два метода аутентификации: +1. **OAuth 2.0** - требует прокси-сервер с белым списком IP для запроса токенов (не работает в нашем тестовом окружении) +2. **OAuth 1.0** - работает напрямую и подписывает каждый запрос (рекомендуется использовать) + +## Примеры использования API + +### Поиск продуктов питания +```python +def search_food(query, max_results=5): + """Поиск продуктов по названию""" + # URL для API + url = "https://platform.fatsecret.com/rest/server.api" + + # Параметры запроса + params = { + 'method': 'foods.search', + 'search_expression': query, + 'max_results': max_results, + 'format': 'json' + } + + # Подписываем запрос с помощью OAuth 1.0 + oauth_params = generate_oauth_params("GET", url, params) + + # Отправляем запрос + response = requests.get(url, params=oauth_params) + + if response.status_code == 200: + return response.json() + return None +``` + +### Получение информации о продукте +```python +def get_food_details(food_id): + """Получение подробной информации о продукте по ID""" + # URL для API + url = "https://platform.fatsecret.com/rest/server.api" + + # Параметры запроса + params = { + 'method': 'food.get', + 'food_id': food_id, + 'format': 'json' + } + + # Подписываем запрос с помощью OAuth 1.0 + oauth_params = generate_oauth_params("GET", url, params) + + # Отправляем запрос + response = requests.get(url, params=oauth_params) + + if response.status_code == 200: + return response.json() + return None +``` + +## Генерация OAuth 1.0 подписи + +```python +def generate_oauth_params(http_method, url, params): + """Создание и подписание OAuth 1.0 параметров""" + # Текущее время в секундах + timestamp = str(int(time.time())) + # Случайная строка для nonce + nonce = ''.join([str(random.randint(0, 9)) for _ in range(8)]) + + # Базовый набор параметров OAuth + oauth_params = { + 'oauth_consumer_key': FATSECRET_KEY, + 'oauth_nonce': nonce, + 'oauth_signature_method': 'HMAC-SHA1', + 'oauth_timestamp': timestamp, + 'oauth_version': '1.0' + } + + # Объединяем с параметрами запроса + all_params = {**params, **oauth_params} + + # Сортируем параметры по ключу + sorted_params = sorted(all_params.items()) + + # Создаем строку параметров для подписи + param_string = "&".join([f"{urllib.parse.quote(str(k), safe='')}={urllib.parse.quote(str(v), safe='')}" + for k, v in sorted_params]) + + # Создаем строку для подписи + signature_base = f"{http_method}&{urllib.parse.quote(url, safe='')}&{urllib.parse.quote(param_string, safe='')}" + + # Создаем ключ для подписи + signing_key = f"{urllib.parse.quote(str(FATSECRET_SECRET), safe='')}&" + + # Создаем HMAC-SHA1 подпись + signature = base64.b64encode( + hmac.new( + signing_key.encode(), + signature_base.encode(), + hashlib.sha1 + ).digest() + ).decode() + + # Добавляем подпись к параметрам OAuth + all_params['oauth_signature'] = signature + + return all_params +``` + +## Формат ответа API + +### Поиск продуктов +Структура ответа от метода `foods.search`: +```json +{ + "foods": { + "max_results": "5", + "total_results": "1000", + "page_number": "0", + "food": [ + { + "food_id": "35718", + "food_name": "Apples", + "food_description": "Per 100g - Calories: 52kcal | Fat: 0.17g | Carbs: 13.81g | Protein: 0.26g", + "food_url": "https://www.fatsecret.com/calories-nutrition/usda/apples?portionid=34128" + }, + // ...другие продукты + ] + } +} +``` + +### Информация о продукте +Структура ответа от метода `food.get`: +```json +{ + "food": { + "food_id": "35718", + "food_name": "Apples", + "food_type": "Generic", + "servings": { + "serving": [ + { + "serving_id": "34128", + "serving_description": "100g", + "calories": "52", + "carbohydrate": "13.81", + "protein": "0.26", + "fat": "0.17", + // другие пищевые вещества + }, + // другие варианты порций + ] + } + } +} +``` + +## Ограничения API + +1. Функциональность поиска на русском языке может быть недоступна в базовой версии API +2. Ограничение на количество запросов в месяц (зависит от уровня доступа) +3. OAuth 2.0 требует прокси-сервера, настроенного на определенные IP-адреса + +## Тестирование API + +Для тестирования API можно использовать готовый тестовый скрипт, который находится в корне проекта: + +```bash +# Активировать виртуальное окружение +source venv/bin/activate + +# Запустить тестовый скрипт +python test_fatsecret_api_oauth1.py +``` + +Вы также можете использовать этот скрипт как шаблон для написания собственных тестов. Примеры использования: + +```python +# Импортировать функции из тестового скрипта +from test_fatsecret_api_oauth1 import search_food, process_search_results + +# Поиск продуктов на английском +result = search_food("chicken breast") +process_search_results(result) + +# Поиск продуктов на русском +result = search_food("яблоко", locale="ru_RU") +process_search_results(result) +``` + +### Примеры команд для тестирования через cURL + +Для тестирования API через cURL можно использовать следующие команды: + +```bash +# Поиск продуктов через nutrition service (требуется авторизация) +curl -X POST http://localhost:8006/api/v1/nutrition/search \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer YOUR_JWT_TOKEN" \ + -d '{"query": "apple", "max_results": 5}' + +# Прямое тестирование FatSecret API (OAuth 1.0) +curl -X GET "https://platform.fatsecret.com/rest/server.api?method=foods.search&search_expression=apple&max_results=5&format=json&oauth_consumer_key=YOUR_CONSUMER_KEY&oauth_signature_method=HMAC-SHA1&oauth_timestamp=TIMESTAMP&oauth_nonce=NONCE&oauth_version=1.0&oauth_signature=YOUR_SIGNATURE" +``` + +> **Примечание:** Для выполнения прямого запроса к FatSecret API через cURL необходимо сгенерировать правильную OAuth 1.0 подпись. Рекомендуется использовать скрипт `test_fatsecret_api_oauth1.py` вместо этого. + +## Рекомендации по использованию + +1. Использовать OAuth 1.0 для аутентификации, так как он работает без дополнительной инфраструктуры +2. Кэшировать результаты запросов, чтобы снизить нагрузку на API +3. Обрабатывать возможные ошибки API и предоставлять пользователям понятные сообщения +4. Использовать английские запросы для поиска, так как база данных в основном на английском языке \ No newline at end of file diff --git a/docs/NUTRITION_API.md b/docs/NUTRITION_API.md new file mode 100644 index 0000000..168ff5d --- /dev/null +++ b/docs/NUTRITION_API.md @@ -0,0 +1,593 @@ +# API Сервиса Питания (Nutrition Service) + +Сервис питания предоставляет API для работы с данными о питании, включая поиск продуктов питания, добавление продуктов в дневник питания, отслеживание потребления воды и физической активности. + +## Основные функции + +- Поиск продуктов питания через FatSecret API +- Отслеживание потребления пищи и питательных веществ +- Учет потребления воды +- Отслеживание физической активности +- Установка и отслеживание целей по питанию и активности + +## Базовый URL + +``` +http://localhost:8006/api/v1/nutrition/ +``` + +## Swagger-документация + +Интерактивная документация API доступна через Swagger UI по следующим URL: + +``` +http://localhost:8006/docs +``` + +или через ReDoc: + +``` +http://localhost:8006/redoc +``` + +> **Примечание**: Swagger-документация доступна только при запущенном сервисе питания. Если сервис не запущен, страница документации будет недоступна. + +### Использование Swagger UI + +1. Откройте URL `http://localhost:8006/docs` в браузере +2. Авторизуйтесь с помощью кнопки "Authorize" в верхней части страницы: + - Введите ваш JWT токен в формате: `Bearer ` + - Нажмите "Authorize" +3. Теперь вы можете тестировать все эндпоинты API непосредственно через Swagger UI: + - Выберите нужный эндпоинт + - Заполните параметры запроса + - Нажмите "Execute" для отправки запроса + +![Swagger UI Example](https://swagger.io/swagger/media/images/swagger-ui-example.png) + +## Эндпоинты + +### Поиск продуктов + +#### Поиск по названию + +```http +POST /api/v1/nutrition/search +``` + +Параметры запроса: +```json +{ + "query": "яблоко", + "page_number": 0, + "max_results": 10 +} +``` + +Ответ: +```json +[ + { + "id": 1, + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "fatsecret_id": "35718", + "name": "Apple", + "brand": null, + "description": "A common fruit", + "food_type": "Generic", + "serving_size": "100g", + "serving_weight_grams": 100.0, + "calories": 52.0, + "protein_grams": 0.26, + "fat_grams": 0.17, + "carbs_grams": 13.81, + "fiber_grams": 2.4, + "sugar_grams": 10.39, + "sodium_mg": 1.0, + "cholesterol_mg": 0.0, + "ingredients": null, + "is_verified": true, + "created_at": "2025-10-16T23:10:00" + } +] +``` + +#### Получение информации о продукте + +```http +GET /api/v1/nutrition/food/{food_id} +``` + +Ответ: +```json +{ + "id": 1, + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "fatsecret_id": "35718", + "name": "Apple", + "brand": null, + "description": "A common fruit", + "food_type": "Generic", + "serving_size": "100g", + "serving_weight_grams": 100.0, + "calories": 52.0, + "protein_grams": 0.26, + "fat_grams": 0.17, + "carbs_grams": 13.81, + "fiber_grams": 2.4, + "sugar_grams": 10.39, + "sodium_mg": 1.0, + "cholesterol_mg": 0.0, + "ingredients": null, + "is_verified": true, + "created_at": "2025-10-16T23:10:00" +} +``` + +### Дневник питания + +#### Добавление записи в дневник питания + +```http +POST /api/v1/nutrition/diary +``` + +Параметры запроса: +```json +{ + "food_item_id": 1, + "entry_date": "2025-10-16", + "meal_type": "breakfast", + "quantity": 1.5, + "unit": "piece", + "notes": "Morning apple" +} +``` + +Ответ: +```json +{ + "id": 1, + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "user_id": 42, + "entry_date": "2025-10-16", + "meal_type": "breakfast", + "food_item_id": 1, + "custom_food_name": null, + "quantity": 1.5, + "unit": "piece", + "calories": 78.0, + "protein_grams": 0.39, + "fat_grams": 0.255, + "carbs_grams": 20.715, + "notes": "Morning apple", + "created_at": "2025-10-16T23:15:00" +} +``` + +#### Получение записей дневника за день + +```http +GET /api/v1/nutrition/diary?date=2025-10-16 +``` + +Ответ: +```json +[ + { + "id": 1, + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "user_id": 42, + "entry_date": "2025-10-16", + "meal_type": "breakfast", + "food_item_id": 1, + "custom_food_name": null, + "quantity": 1.5, + "unit": "piece", + "calories": 78.0, + "protein_grams": 0.39, + "fat_grams": 0.255, + "carbs_grams": 20.715, + "notes": "Morning apple", + "created_at": "2025-10-16T23:15:00" + } +] +``` + +#### Получение сводки за день + +```http +GET /api/v1/nutrition/summary?date=2025-10-16 +``` + +Ответ: +```json +{ + "date": "2025-10-16", + "total_calories": 2150.5, + "total_protein": 85.2, + "total_fat": 65.4, + "total_carbs": 275.3, + "water_consumed_ml": 1500, + "activity_minutes": 45, + "calories_burned": 350, + "entries_by_meal": { + "breakfast": [ + { + "id": 1, + "food_name": "Apple", + "quantity": 1.5, + "unit": "piece", + "calories": 78.0 + } + ], + "lunch": [...], + "dinner": [...], + "snack": [...] + } +} +``` + +### Потребление воды + +#### Добавление записи о потреблении воды + +```http +POST /api/v1/nutrition/water +``` + +Параметры запроса: +```json +{ + "amount_ml": 250, + "entry_date": "2025-10-16", + "notes": "Morning glass" +} +``` + +Ответ: +```json +{ + "id": 1, + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "user_id": 42, + "entry_date": "2025-10-16", + "amount_ml": 250, + "entry_time": "2025-10-16T08:30:00", + "notes": "Morning glass" +} +``` + +#### Получение записей о потреблении воды за день + +```http +GET /api/v1/nutrition/water?date=2025-10-16 +``` + +Ответ: +```json +[ + { + "id": 1, + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "user_id": 42, + "entry_date": "2025-10-16", + "amount_ml": 250, + "entry_time": "2025-10-16T08:30:00", + "notes": "Morning glass" + }, + { + "id": 2, + "uuid": "223e4567-e89b-12d3-a456-426614174001", + "user_id": 42, + "entry_date": "2025-10-16", + "amount_ml": 500, + "entry_time": "2025-10-16T12:15:00", + "notes": "Lunch" + } +] +``` + +### Физическая активность + +#### Добавление записи о физической активности + +```http +POST /api/v1/nutrition/activity +``` + +Параметры запроса: +```json +{ + "entry_date": "2025-10-16", + "activity_type": "running", + "duration_minutes": 30, + "distance_km": 5.2, + "intensity": "medium", + "notes": "Morning run" +} +``` + +Ответ: +```json +{ + "id": 1, + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "user_id": 42, + "entry_date": "2025-10-16", + "activity_type": "running", + "duration_minutes": 30, + "calories_burned": 300.5, + "distance_km": 5.2, + "steps": null, + "intensity": "medium", + "notes": "Morning run", + "created_at": "2025-10-16T09:00:00" +} +``` + +#### Получение записей об активности за день + +```http +GET /api/v1/nutrition/activity?date=2025-10-16 +``` + +Ответ: +```json +[ + { + "id": 1, + "uuid": "123e4567-e89b-12d3-a456-426614174000", + "user_id": 42, + "entry_date": "2025-10-16", + "activity_type": "running", + "duration_minutes": 30, + "calories_burned": 300.5, + "distance_km": 5.2, + "steps": null, + "intensity": "medium", + "notes": "Morning run", + "created_at": "2025-10-16T09:00:00" + } +] +``` + +### Цели по питанию и активности + +#### Установка целей + +```http +POST /api/v1/nutrition/goals +``` + +Параметры запроса: +```json +{ + "daily_calorie_goal": 2000, + "protein_goal_grams": 100, + "fat_goal_grams": 65, + "carbs_goal_grams": 250, + "water_goal_ml": 2500, + "activity_goal_minutes": 45, + "weight_goal_kg": 75.5, + "goal_type": "lose_weight" +} +``` + +Ответ: +```json +{ + "id": 1, + "user_id": 42, + "daily_calorie_goal": 2000, + "protein_goal_grams": 100, + "fat_goal_grams": 65, + "carbs_goal_grams": 250, + "water_goal_ml": 2500, + "activity_goal_minutes": 45, + "weight_goal_kg": 75.5, + "goal_type": "lose_weight", + "created_at": "2025-10-16T10:00:00", + "updated_at": "2025-10-16T10:00:00" +} +``` + +#### Получение текущих целей + +```http +GET /api/v1/nutrition/goals +``` + +Ответ: +```json +{ + "id": 1, + "user_id": 42, + "daily_calorie_goal": 2000, + "protein_goal_grams": 100, + "fat_goal_grams": 65, + "carbs_goal_grams": 250, + "water_goal_ml": 2500, + "activity_goal_minutes": 45, + "weight_goal_kg": 75.5, + "goal_type": "lose_weight", + "created_at": "2025-10-16T10:00:00", + "updated_at": "2025-10-16T10:00:00" +} +``` + +## Коды ошибок + +| Код | Описание | +|-----|----------| +| 400 | Некорректный запрос | +| 401 | Не авторизован | +| 403 | Доступ запрещен | +| 404 | Ресурс не найден | +| 500 | Внутренняя ошибка сервера | + +## Аутентификация + +Все запросы к API требуют JWT-токен в заголовке Authorization: + +``` +Authorization: Bearer +``` + +Токен можно получить через сервис авторизации (User Service) по эндпоинту `/api/v1/auth/login`. + +## Интеграции + +Сервис питания интегрирован с API FatSecret для получения данных о продуктах питания и их пищевой ценности. Работа с API FatSecret осуществляется через OAuth 1.0 аутентификацию с использованием ключей, указанных в конфигурации приложения. + +## Тестирование API + +### Тестирование через Swagger UI + +Самый простой способ протестировать API - использовать встроенный интерфейс Swagger UI: + +1. Убедитесь, что сервис питания запущен: +```bash +# Запуск всех сервисов +./start_services.sh +``` + +2. Откройте в браузере URL: `http://localhost:8006/docs` + +3. Авторизуйтесь: + - Нажмите на кнопку "Authorize" в правом верхнем углу + - Введите ваш JWT токен в формате `Bearer ` + - Нажмите "Authorize" + +4. Теперь вы можете интерактивно тестировать все эндпоинты: + - Выберите нужный эндпоинт + - Заполните параметры запроса + - Нажмите "Execute" + - Просмотрите результат запроса и код ответа + +### Настройка и запуск через CLI + +1. Убедитесь, что все необходимые сервисы запущены: +```bash +# Запуск всех сервисов +./start_services.sh +``` + +2. Получите токен аутентификации: +```bash +# Регистрация нового пользователя +curl -X POST http://localhost:8001/api/v1/auth/register -H "Content-Type: application/json" -d '{ + "email": "test_user@example.com", + "username": "test_user", + "password": "Test123!", + "first_name": "Test", + "last_name": "User", + "phone": "+79991234567" +}' | jq + +# Вход и получение токена +curl -X POST http://localhost:8001/api/v1/auth/login -H "Content-Type: application/json" -d '{ + "username": "test_user", + "password": "Test123!" +}' | jq +``` + +3. Сохраните полученный токен в переменную для дальнейшего использования: +```bash +export TOKEN="ваш_полученный_jwt_токен" +``` + +### Примеры запросов + +#### Поиск продуктов + +```bash +# Поиск продуктов по названию +curl -X POST http://localhost:8006/api/v1/nutrition/search \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TOKEN" \ + -d '{ + "query": "apple", + "max_results": 5 + }' | jq +``` + +#### Работа с дневником питания + +```bash +# Добавление записи в дневник питания +curl -X POST http://localhost:8006/api/v1/nutrition/diary \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TOKEN" \ + -d '{ + "food_item_id": 1, + "entry_date": "2025-10-16", + "meal_type": "breakfast", + "quantity": 1.5, + "unit": "piece", + "notes": "Morning apple" + }' | jq + +# Получение дневника за день +curl -X GET http://localhost:8006/api/v1/nutrition/diary?date=2025-10-16 \ + -H "Authorization: Bearer $TOKEN" | jq +``` + +#### Работа с водой + +```bash +# Добавление записи о потреблении воды +curl -X POST http://localhost:8006/api/v1/nutrition/water \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TOKEN" \ + -d '{ + "amount_ml": 250, + "entry_date": "2025-10-16", + "notes": "Morning glass" + }' | jq + +# Получение записей о потреблении воды за день +curl -X GET http://localhost:8006/api/v1/nutrition/water?date=2025-10-16 \ + -H "Authorization: Bearer $TOKEN" | jq +``` + +#### Работа с активностью + +```bash +# Добавление записи о физической активности +curl -X POST http://localhost:8006/api/v1/nutrition/activity \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer $TOKEN" \ + -d '{ + "entry_date": "2025-10-16", + "activity_type": "running", + "duration_minutes": 30, + "distance_km": 5.2, + "intensity": "medium", + "notes": "Morning run" + }' | jq + +# Получение записей об активности за день +curl -X GET http://localhost:8006/api/v1/nutrition/activity?date=2025-10-16 \ + -H "Authorization: Bearer $TOKEN" | jq +``` + +### Автоматизированное тестирование + +В папке `tests` есть скрипты для автоматизированного тестирования API: + +```bash +# Запуск всех тестов для nutrition service +cd tests +./test_nutrition_service.sh + +# Запуск тестов через Python +python test_nutrition_api.py +``` + +Для непосредственного тестирования FatSecret API можно использовать скрипт в корне проекта: + +```bash +# Тестирование FatSecret API +python test_fatsecret_api_oauth1.py +``` \ No newline at end of file diff --git a/docs/NUTRITION_SERVICE_API.md b/docs/NUTRITION_SERVICE_API.md new file mode 100644 index 0000000..367078b --- /dev/null +++ b/docs/NUTRITION_SERVICE_API.md @@ -0,0 +1,188 @@ +# Nutrition Service API Documentation + +## Overview + +Nutrition Service предоставляет API для отслеживания питания, подсчета калорий и получения информации о продуктах питания через интеграцию с FatSecret API. Сервис позволяет пользователям контролировать свой рацион и отслеживать потребление воды. + +**Base URL:** `/api/v1/nutrition` + +## Authentication + +Все эндпоинты требуют JWT аутентификацию. + +**Headers:** +``` +Authorization: Bearer +``` + +## API Endpoints + +### 🔍 Поиск продуктов + +#### Найти продукты по названию +```http +GET /api/v1/nutrition/foods?query=яблоко +Authorization: Bearer +``` + +**Параметры:** +- `query` (string, required): Поисковый запрос для поиска продуктов +- `page` (number, optional): Номер страницы результатов, по умолчанию 1 +- `page_size` (number, optional): Количество результатов на странице, по умолчанию 20 + +**Response:** +```json +{ + "results": [ + { + "food_id": "123456", + "name": "Яблоко, сырое, с кожурой", + "brand": "", + "calories": 52, + "serving_size": "100г", + "nutrients": { + "carbohydrates": 13.8, + "protein": 0.3, + "fat": 0.2, + "fiber": 2.4 + } + } + ], + "total": 25, + "page": 1, + "page_size": 20 +} +``` + +### 📝 Записи о питании + +#### Добавить запись о питании +```http +POST /api/v1/nutrition/entries +Authorization: Bearer +``` + +**Body:** +```json +{ + "food_id": "123456", + "date": "2025-10-16", + "meal_type": "lunch", + "quantity": 1.0, + "serving_size": "100г", + "notes": "Красное яблоко" +} +``` + +**Варианты типов приема пищи (meal_type):** +- `breakfast` - завтрак +- `lunch` - обед +- `dinner` - ужин +- `snack` - перекус + +#### Получить записи о питании +```http +GET /api/v1/nutrition/entries?date=2025-10-16 +Authorization: Bearer +``` + +**Параметры:** +- `date` (string, optional): Дата в формате YYYY-MM-DD +- `start_date` (string, optional): Начальная дата для получения записей за период +- `end_date` (string, optional): Конечная дата для получения записей за период +- `meal_type` (string, optional): Фильтр по типу приема пищи + +#### Удалить запись о питании +```http +DELETE /api/v1/nutrition/entries/{entry_id} +Authorization: Bearer +``` + +### 💧 Отслеживание воды + +#### Добавить запись о потреблении воды +```http +POST /api/v1/nutrition/water +Authorization: Bearer +``` + +**Body:** +```json +{ + "date": "2025-10-16", + "amount_ml": 250, + "time": "12:30:00" +} +``` + +#### Получить записи о потреблении воды +```http +GET /api/v1/nutrition/water?date=2025-10-16 +Authorization: Bearer +``` + +### 📊 Сводки и статистика + +#### Получить дневную сводку по питанию +```http +GET /api/v1/nutrition/daily-summary?date=2025-10-16 +Authorization: Bearer +``` + +**Response:** +```json +{ + "date": "2025-10-16", + "total_calories": 1578, + "total_carbohydrates": 175.3, + "total_proteins": 78.2, + "total_fats": 52.8, + "total_water": 1200, + "entries": [ + { + "id": 123, + "food_name": "Яблоко, сырое, с кожурой", + "meal_type": "lunch", + "calories": 52, + "quantity": 1.0, + "serving_size": "100г" + } + ] +} +``` + +#### Получить недельную аналитику +```http +GET /api/v1/nutrition/weekly-summary?start_date=2025-10-10 +Authorization: Bearer +``` + +## Интеграция с FatSecret API + +Сервис использует FatSecret API для получения информации о питательной ценности продуктов. Ключи API хранятся в конфигурации сервера и не требуют дополнительной настройки со стороны клиента. + +## Примеры использования + +### JavaScript +```javascript +// Пример поиска продуктов +async function searchFoods(query) { + const response = await fetch(`http://localhost:8000/api/v1/nutrition/foods?query=${query}`, { + headers: { 'Authorization': `Bearer ${token}` } + }); + return response.json(); +} + +// Пример добавления записи о питании +async function addNutritionEntry(entryData) { + const response = await fetch('http://localhost:8000/api/v1/nutrition/entries', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Authorization': `Bearer ${token}` + }, + body: JSON.stringify(entryData) + }); + return response.json(); +} +``` \ No newline at end of file diff --git a/docs/PROJECT_STRUCTURE.md b/docs/PROJECT_STRUCTURE.md index 84d5e27..990f4d9 100644 --- a/docs/PROJECT_STRUCTURE.md +++ b/docs/PROJECT_STRUCTURE.md @@ -20,8 +20,13 @@ women-safety-backend/ │ ├── 📁 calendar_service/ │ │ ├── main.py # Calendar Service (8004) │ │ └── models.py # Calendar models -│ └── 📁 notification_service/ -│ └── main.py # Notification Service (8005) +│ ├── 📁 notification_service/ +│ │ └── main.py # Notification Service (8005) +│ └── 📁 nutrition_service/ +│ ├── main.py # Nutrition Service (8006) +│ ├── models.py # Nutrition models +│ ├── schemas.py # Nutrition schemas +│ └── fatsecret_client.py # FatSecret API client │ ├── 📁 shared/ # Общие компоненты │ ├── config.py # Конфигурация приложения diff --git a/integrate_nutrition_service.sh b/integrate_nutrition_service.sh new file mode 100755 index 0000000..692f548 --- /dev/null +++ b/integrate_nutrition_service.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Скрипт для интеграции сервиса питания в docker-compose.prod.yml + +echo "Интеграция сервиса питания в docker-compose.prod.yml..." + +# Находим место для вставки сервиса питания (после последнего определения сервиса) +LAST_SERVICE=$(grep -n "^ [a-zA-Z].*:" docker-compose.prod.yml | tail -1 | cut -d':' -f1) + +# Вставляем определение сервиса питания после последнего сервиса и перед volumes +sed -i "${LAST_SERVICE}r nutrition-service-prod.yml" docker-compose.prod.yml + +echo "Готово! Сервис питания добавлен в docker-compose.prod.yml" \ No newline at end of file diff --git a/nutrition-service-prod.yml b/nutrition-service-prod.yml new file mode 100644 index 0000000..da64214 --- /dev/null +++ b/nutrition-service-prod.yml @@ -0,0 +1,44 @@ + # Nutrition Service Cluster + nutrition-service-1: + image: women-safety/nutrition-service:${TAG:-latest} + environment: + - NODE_ID=1 + - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres-primary:5432/women_safety_prod + - DATABASE_REPLICA_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres-replica:5432/women_safety_prod + - REDIS_URL=redis://redis-cluster:6379/5 + - FATSECRET_CLIENT_ID=${FATSECRET_CLIENT_ID} + - FATSECRET_CLIENT_SECRET=${FATSECRET_CLIENT_SECRET} + depends_on: + - postgres-primary + - redis-cluster + restart: always + deploy: + resources: + limits: + cpus: '1.0' + memory: 2G + reservations: + cpus: '0.5' + memory: 512M + + nutrition-service-2: + image: women-safety/nutrition-service:${TAG:-latest} + environment: + - NODE_ID=2 + - DATABASE_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres-primary:5432/women_safety_prod + - DATABASE_REPLICA_URL=postgresql://postgres:${POSTGRES_PASSWORD}@postgres-replica:5432/women_safety_prod + - REDIS_URL=redis://redis-cluster:6379/5 + - FATSECRET_CLIENT_ID=${FATSECRET_CLIENT_ID} + - FATSECRET_CLIENT_SECRET=${FATSECRET_CLIENT_SECRET} + depends_on: + - postgres-primary + - redis-cluster + restart: always + deploy: + resources: + limits: + cpus: '1.0' + memory: 2G + reservations: + cpus: '0.5' + memory: 512M \ No newline at end of file diff --git a/services/api_gateway/main.py b/services/api_gateway/main.py index 26eccb2..9c066a4 100644 --- a/services/api_gateway/main.py +++ b/services/api_gateway/main.py @@ -59,6 +59,7 @@ SERVICES = { "location": os.getenv("LOCATION_SERVICE_URL", "http://localhost:8003"), "calendar": os.getenv("CALENDAR_SERVICE_URL", "http://localhost:8004"), "notifications": os.getenv("NOTIFICATION_SERVICE_URL", "http://localhost:8005"), + "nutrition": os.getenv("NUTRITION_SERVICE_URL", "http://localhost:8006"), } # Rate limiting (simple in-memory implementation) @@ -732,6 +733,7 @@ async def root(): "location": "/api/v1/locations/update, /api/v1/locations/safe-places", "calendar": "/api/v1/calendar/entries, /api/v1/calendar/cycle-overview", "notifications": "/api/v1/notifications/devices, /api/v1/notifications/history", + "nutrition": "/api/v1/nutrition/foods, /api/v1/nutrition/daily-summary", }, "docs": "/docs", } diff --git a/venv/lib/python3.12/site-packages/celery/contrib/django/__init__.py b/services/nutrition_service/__init__.py similarity index 100% rename from venv/lib/python3.12/site-packages/celery/contrib/django/__init__.py rename to services/nutrition_service/__init__.py diff --git a/services/nutrition_service/fatsecret_client.py b/services/nutrition_service/fatsecret_client.py new file mode 100644 index 0000000..1286148 --- /dev/null +++ b/services/nutrition_service/fatsecret_client.py @@ -0,0 +1,199 @@ +import base64 +import hashlib +import hmac +import json +import logging +import os +import random +import time +import urllib.parse +from datetime import datetime, timedelta +from typing import Dict, List, Optional, Any, Union + +import httpx + +from shared.config import settings + +logger = logging.getLogger(__name__) + + +class FatSecretClient: + """Клиент для работы с API FatSecret""" + + BASE_URL = "https://platform.fatsecret.com/rest/server.api" + + def __init__(self): + """Инициализация клиента для работы с API FatSecret""" + # Используем CUSTOMER_KEY для OAuth 1.0, если он доступен, иначе CLIENT_ID + self.api_key = settings.FATSECRET_CUSTOMER_KEY or settings.FATSECRET_CLIENT_ID + self.api_secret = settings.FATSECRET_CLIENT_SECRET + + # Логируем информацию о ключах (без полного раскрытия) + logger.info(f"FatSecretClient initialized with key: {self.api_key[:8]}...") + + def _generate_oauth_params(self, http_method: str, url: str, params: Dict[str, Any]) -> Dict[str, Any]: + """Создание и подписание OAuth 1.0 параметров""" + # Текущее время в секундах + timestamp = str(int(time.time())) + # Случайная строка для nonce + nonce = ''.join([str(random.randint(0, 9)) for _ in range(8)]) + + # Базовый набор параметров OAuth + oauth_params = { + 'oauth_consumer_key': self.api_key, + 'oauth_nonce': nonce, + 'oauth_signature_method': 'HMAC-SHA1', + 'oauth_timestamp': timestamp, + 'oauth_version': '1.0' + } + + # Объединяем с параметрами запроса + all_params = {**params, **oauth_params} + + # Сортируем параметры по ключу + sorted_params = sorted(all_params.items()) + + # Создаем строку параметров для подписи + param_string = "&".join([ + f"{urllib.parse.quote(str(k), safe='')}={urllib.parse.quote(str(v), safe='')}" + for k, v in sorted_params + ]) + + # Создаем строку для подписи + signature_base = f"{http_method}&{urllib.parse.quote(url, safe='')}&{urllib.parse.quote(param_string, safe='')}" + + # Создаем ключ для подписи + signing_key = f"{urllib.parse.quote(str(self.api_secret), safe='')}&" + + # Создаем HMAC-SHA1 подпись + signature = base64.b64encode( + hmac.new( + signing_key.encode(), + signature_base.encode(), + hashlib.sha1 + ).digest() + ).decode() + + # Добавляем подпись к параметрам OAuth + all_params['oauth_signature'] = signature + + return all_params + + async def search_foods(self, query: str, page_number: int = 0, max_results: int = 10) -> Dict[str, Any]: + """Поиск продуктов по запросу""" + params = { + 'method': 'foods.search', + 'search_expression': query, + 'page_number': str(page_number), + 'max_results': str(max_results), + 'format': 'json' + } + + # Получаем подписанные OAuth параметры + oauth_params = self._generate_oauth_params("GET", self.BASE_URL, params) + + try: + async with httpx.AsyncClient() as client: + response = await client.get( + self.BASE_URL, + params=oauth_params + ) + response.raise_for_status() + return response.json() + except Exception as e: + logger.error(f"Error searching foods: {e}") + raise + + async def get_food_details(self, food_id: Union[str, int]) -> Dict[str, Any]: + """Получить детальную информацию о продукте по ID""" + params = { + 'method': 'food.get.v2', + 'food_id': str(food_id), + 'format': 'json' + } + + # Получаем подписанные OAuth параметры + oauth_params = self._generate_oauth_params("GET", self.BASE_URL, params) + + try: + async with httpx.AsyncClient() as client: + response = await client.get( + self.BASE_URL, + params=oauth_params + ) + response.raise_for_status() + return response.json() + except Exception as e: + logger.error(f"Error getting food details: {e}") + raise + + async def parse_food_data(self, food_json: Dict[str, Any]) -> Dict[str, Any]: + """Разбирает данные о продукте из API в более удобный формат""" + try: + food = food_json.get('food', {}) + + # Извлечение основной информации о продукте + food_id = food.get('food_id') + food_name = food.get('food_name', '') + food_type = food.get('food_type', '') + brand_name = food.get('brand_name', '') + + # Обработка информации о питании + servings = food.get('servings', {}).get('serving', []) + + # Если есть только одна порция, преобразуем ее в список + if isinstance(servings, dict): + servings = [servings] + + # Берем первую порцию по умолчанию (обычно это 100г или стандартная порция) + serving_data = {} + for serving in servings: + if serving.get('is_default_serving', 0) == "1" or serving.get('serving_description', '').lower() == '100g': + serving_data = serving + break + + # Если не нашли стандартную порцию, берем первую + if not serving_data and servings: + serving_data = servings[0] + + # Извлечение данных о пищевой ценности + serving_description = serving_data.get('serving_description', '') + serving_amount = serving_data.get('metric_serving_amount', serving_data.get('serving_amount', '')) + serving_unit = serving_data.get('metric_serving_unit', serving_data.get('serving_unit', '')) + + # Формирование читаемого текста размера порции + serving_size = f"{serving_amount} {serving_unit}" if serving_amount and serving_unit else serving_description + + # Извлечение данных о пищевой ценности + calories = float(serving_data.get('calories', 0) or 0) + protein = float(serving_data.get('protein', 0) or 0) + fat = float(serving_data.get('fat', 0) or 0) + carbs = float(serving_data.get('carbohydrate', 0) or 0) + fiber = float(serving_data.get('fiber', 0) or 0) + sugar = float(serving_data.get('sugar', 0) or 0) + sodium = float(serving_data.get('sodium', 0) or 0) + cholesterol = float(serving_data.get('cholesterol', 0) or 0) + + # Формирование результата + result = { + "fatsecret_id": food_id, + "name": food_name, + "brand": brand_name, + "food_type": food_type, + "serving_size": serving_size, + "serving_weight_grams": float(serving_amount) if serving_unit == 'g' else None, + "calories": calories, + "protein_grams": protein, + "fat_grams": fat, + "carbs_grams": carbs, + "fiber_grams": fiber, + "sugar_grams": sugar, + "sodium_mg": sodium, + "cholesterol_mg": cholesterol, + "is_verified": True + } + + return result + except Exception as e: + logger.error(f"Error parsing food data: {e}") + raise \ No newline at end of file diff --git a/services/nutrition_service/main.py b/services/nutrition_service/main.py new file mode 100644 index 0000000..6bfb0da --- /dev/null +++ b/services/nutrition_service/main.py @@ -0,0 +1,462 @@ +from datetime import date, datetime, timedelta +from typing import Dict, List, Optional, Any + +from fastapi import Depends, FastAPI, HTTPException, Query, Path, status +from fastapi.middleware.cors import CORSMiddleware +from sqlalchemy import and_, desc, select, func, text +from sqlalchemy.ext.asyncio import AsyncSession + +from services.nutrition_service.models import ( + FoodItem, UserNutritionEntry, WaterIntake, + UserActivityEntry, NutritionGoal +) +from services.nutrition_service.schemas import ( + FoodItemCreate, FoodItemResponse, UserNutritionEntryCreate, + UserNutritionEntryResponse, WaterIntakeCreate, WaterIntakeResponse, + UserActivityEntryCreate, UserActivityEntryResponse, + NutritionGoalCreate, NutritionGoalResponse, + FoodSearchQuery, FoodDetailsQuery, DailyNutritionSummary +) +from services.nutrition_service.fatsecret_client import FatSecretClient +from shared.auth import get_current_user_from_token +from shared.config import settings +from shared.database import get_db + +app = FastAPI(title="Nutrition Service", version="1.0.0") + +# CORS middleware +app.add_middleware( + CORSMiddleware, + allow_origins=settings.CORS_ORIGINS, + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + +# Создаем клиент FatSecret +fatsecret_client = FatSecretClient() + + +@app.get("/health") +async def health_check(): + """Health check endpoint""" + return {"status": "healthy", "service": "nutrition_service"} + + +# Эндпоинты для работы с API FatSecret +@app.post("/api/v1/nutrition/search", response_model=List[FoodItemResponse]) +async def search_foods( + search_query: FoodSearchQuery, + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Поиск продуктов питания по запросу в FatSecret API""" + try: + # Вызов API FatSecret для поиска продуктов + search_results = await fatsecret_client.search_foods( + search_query.query, + search_query.page_number, + search_query.max_results + ) + + # Обработка результатов поиска + foods = [] + if 'foods' in search_results and 'food' in search_results['foods']: + food_list = search_results['foods']['food'] + # Если результат всего один, API возвращает словарь вместо списка + if isinstance(food_list, dict): + food_list = [food_list] + + for food in food_list: + # Получение деталей о продукте + food_details = await fatsecret_client.get_food_details(food['food_id']) + parsed_food = await fatsecret_client.parse_food_data(food_details) + + # Проверяем, существует ли продукт в базе данных + query = select(FoodItem).where(FoodItem.fatsecret_id == parsed_food['fatsecret_id']) + result = await db.execute(query) + db_food = result.scalars().first() + + # Если продукт не существует, сохраняем его + if not db_food: + db_food = FoodItem(**parsed_food) + db.add(db_food) + await db.commit() + await db.refresh(db_food) + + foods.append(FoodItemResponse.model_validate(db_food)) + + return foods + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=f"Error searching foods: {str(e)}" + ) + + +@app.get("/api/v1/nutrition/food/{food_id}", response_model=FoodItemResponse) +async def get_food_details( + food_id: int = Path(..., description="ID продукта в базе данных"), + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Получение детальной информации о продукте по ID из базы данных""" + query = select(FoodItem).where(FoodItem.id == food_id) + result = await db.execute(query) + food = result.scalars().first() + + if not food: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail="Food item not found" + ) + + return FoodItemResponse.model_validate(food) + + +@app.get("/api/v1/nutrition/fatsecret/{fatsecret_id}", response_model=FoodItemResponse) +async def get_food_by_fatsecret_id( + fatsecret_id: str = Path(..., description="ID продукта в FatSecret"), + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Получение детальной информации о продукте по FatSecret ID""" + # Проверяем, есть ли продукт в нашей базе данных + query = select(FoodItem).where(FoodItem.fatsecret_id == fatsecret_id) + result = await db.execute(query) + food = result.scalars().first() + + # Если продукт не найден в базе, запрашиваем его с FatSecret API + if not food: + try: + food_details = await fatsecret_client.get_food_details(fatsecret_id) + parsed_food = await fatsecret_client.parse_food_data(food_details) + + food = FoodItem(**parsed_food) + db.add(food) + await db.commit() + await db.refresh(food) + except Exception as e: + raise HTTPException( + status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, + detail=f"Error fetching food details: {str(e)}" + ) + + return FoodItemResponse.model_validate(food) + + +# Эндпоинты для работы с записями питания пользователя +@app.post("/api/v1/nutrition/entries", response_model=UserNutritionEntryResponse) +async def create_nutrition_entry( + entry_data: UserNutritionEntryCreate, + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Создание новой записи о питании пользователя""" + # Получаем ID пользователя из токена + user_id = user_data["user_id"] + + # Если указан ID продукта, проверяем его наличие + food_item = None + if entry_data.food_item_id: + query = select(FoodItem).where(FoodItem.id == entry_data.food_item_id) + result = await db.execute(query) + food_item = result.scalars().first() + + if not food_item: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail="Food item not found" + ) + + # Создаем данные для записи + nutrition_data = entry_data.model_dump(exclude={"food_item_id"}) + nutrition_entry = UserNutritionEntry(**nutrition_data, user_id=user_id) + + if food_item: + nutrition_entry.food_item_id = food_item.id + + # Если питательные данные не указаны, рассчитываем их на основе продукта + if not entry_data.calories and food_item.calories: + nutrition_entry.calories = food_item.calories * entry_data.quantity + if not entry_data.protein_grams and food_item.protein_grams: + nutrition_entry.protein_grams = food_item.protein_grams * entry_data.quantity + if not entry_data.fat_grams and food_item.fat_grams: + nutrition_entry.fat_grams = food_item.fat_grams * entry_data.quantity + if not entry_data.carbs_grams and food_item.carbs_grams: + nutrition_entry.carbs_grams = food_item.carbs_grams * entry_data.quantity + + db.add(nutrition_entry) + await db.commit() + await db.refresh(nutrition_entry) + + return UserNutritionEntryResponse.model_validate(nutrition_entry) + + +@app.get("/api/v1/nutrition/entries", response_model=List[UserNutritionEntryResponse]) +async def get_user_nutrition_entries( + start_date: date = Query(..., description="Начальная дата для выборки"), + end_date: date = Query(..., description="Конечная дата для выборки"), + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Получение записей о питании пользователя за указанный период""" + user_id = user_data["user_id"] + + query = ( + select(UserNutritionEntry) + .where( + and_( + UserNutritionEntry.user_id == user_id, + UserNutritionEntry.entry_date >= start_date, + UserNutritionEntry.entry_date <= end_date + ) + ) + .order_by(UserNutritionEntry.entry_date, UserNutritionEntry.meal_type) + ) + + result = await db.execute(query) + entries = result.scalars().all() + + return [UserNutritionEntryResponse.model_validate(entry) for entry in entries] + + +# Эндпоинты для работы с записями о потреблении воды +@app.post("/api/v1/nutrition/water", response_model=WaterIntakeResponse) +async def create_water_intake( + intake_data: WaterIntakeCreate, + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Создание новой записи о потреблении воды""" + user_id = user_data["user_id"] + + water_intake = WaterIntake(**intake_data.model_dump(), user_id=user_id) + db.add(water_intake) + await db.commit() + await db.refresh(water_intake) + + return WaterIntakeResponse.model_validate(water_intake) + + +@app.get("/api/v1/nutrition/water", response_model=List[WaterIntakeResponse]) +async def get_user_water_intake( + start_date: date = Query(..., description="Начальная дата для выборки"), + end_date: date = Query(..., description="Конечная дата для выборки"), + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Получение записей о потреблении воды за указанный период""" + user_id = user_data["user_id"] + + query = ( + select(WaterIntake) + .where( + and_( + WaterIntake.user_id == user_id, + WaterIntake.entry_date >= start_date, + WaterIntake.entry_date <= end_date + ) + ) + .order_by(WaterIntake.entry_date, WaterIntake.entry_time) + ) + + result = await db.execute(query) + entries = result.scalars().all() + + return [WaterIntakeResponse.model_validate(entry) for entry in entries] + + +# Эндпоинты для работы с записями о физической активности +@app.post("/api/v1/nutrition/activity", response_model=UserActivityEntryResponse) +async def create_activity_entry( + activity_data: UserActivityEntryCreate, + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Создание новой записи о физической активности""" + user_id = user_data["user_id"] + + # Если не указаны сожженные калории, рассчитываем примерно + if not activity_data.calories_burned: + # Простой расчет на основе типа активности и продолжительности + # Точный расчет требует больше параметров (вес, рост, возраст, пол) + activity_intensity = { + "walking": 5, # ккал/мин + "running": 10, + "cycling": 8, + "swimming": 9, + "yoga": 4, + "weight_training": 6, + "hiit": 12, + "pilates": 5, + } + + activity_type = activity_data.activity_type.lower() + intensity = activity_intensity.get(activity_type, 5) # По умолчанию 5 ккал/мин + + # Увеличиваем интенсивность в зависимости от указанной интенсивности + if activity_data.intensity == "high": + intensity *= 1.5 + elif activity_data.intensity == "low": + intensity *= 0.8 + + calories_burned = intensity * activity_data.duration_minutes + activity_data.calories_burned = round(calories_burned, 1) + + activity_entry = UserActivityEntry(**activity_data.model_dump(), user_id=user_id) + db.add(activity_entry) + await db.commit() + await db.refresh(activity_entry) + + return UserActivityEntryResponse.model_validate(activity_entry) + + +@app.get("/api/v1/nutrition/activity", response_model=List[UserActivityEntryResponse]) +async def get_user_activities( + start_date: date = Query(..., description="Начальная дата для выборки"), + end_date: date = Query(..., description="Конечная дата для выборки"), + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Получение записей о физической активности за указанный период""" + user_id = user_data["user_id"] + + query = ( + select(UserActivityEntry) + .where( + and_( + UserActivityEntry.user_id == user_id, + UserActivityEntry.entry_date >= start_date, + UserActivityEntry.entry_date <= end_date + ) + ) + .order_by(UserActivityEntry.entry_date, UserActivityEntry.created_at) + ) + + result = await db.execute(query) + entries = result.scalars().all() + + return [UserActivityEntryResponse.model_validate(entry) for entry in entries] + + +# Эндпоинты для работы с целями питания +@app.post("/api/v1/nutrition/goals", response_model=NutritionGoalResponse) +async def create_or_update_nutrition_goals( + goal_data: NutritionGoalCreate, + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Создание или обновление целей по питанию и активности""" + user_id = user_data["user_id"] + + # Проверяем, существуют ли уже цели для пользователя + query = select(NutritionGoal).where(NutritionGoal.user_id == user_id) + result = await db.execute(query) + existing_goal = result.scalars().first() + + if existing_goal: + # Обновляем существующую цель + for key, value in goal_data.model_dump(exclude_unset=True).items(): + setattr(existing_goal, key, value) + await db.commit() + await db.refresh(existing_goal) + return NutritionGoalResponse.model_validate(existing_goal) + else: + # Создаем новую цель + new_goal = NutritionGoal(**goal_data.model_dump(), user_id=user_id) + db.add(new_goal) + await db.commit() + await db.refresh(new_goal) + return NutritionGoalResponse.model_validate(new_goal) + + +@app.get("/api/v1/nutrition/goals", response_model=NutritionGoalResponse) +async def get_nutrition_goals( + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Получение целей пользователя по питанию и активности""" + user_id = user_data["user_id"] + + query = select(NutritionGoal).where(NutritionGoal.user_id == user_id) + result = await db.execute(query) + goal = result.scalars().first() + + if not goal: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail="Nutrition goals not found for this user" + ) + + return NutritionGoalResponse.model_validate(goal) + + +# Сводные отчеты +@app.get("/api/v1/nutrition/summary/daily", response_model=DailyNutritionSummary) +async def get_daily_nutrition_summary( + target_date: date = Query(..., description="Дата для получения сводки"), + user_data: dict = Depends(get_current_user_from_token), + db: AsyncSession = Depends(get_db) +): + """Получение дневной сводки по питанию, потреблению воды и физической активности""" + user_id = user_data["user_id"] + + # Запрос записей о питании + meals_query = select(UserNutritionEntry).where( + and_( + UserNutritionEntry.user_id == user_id, + UserNutritionEntry.entry_date == target_date + ) + ).order_by(UserNutritionEntry.meal_type) + + meals_result = await db.execute(meals_query) + meals = meals_result.scalars().all() + + # Запрос записей о воде + water_query = select(WaterIntake).where( + and_( + WaterIntake.user_id == user_id, + WaterIntake.entry_date == target_date + ) + ).order_by(WaterIntake.entry_time) + + water_result = await db.execute(water_query) + water_entries = water_result.scalars().all() + + # Запрос записей об активности + activity_query = select(UserActivityEntry).where( + and_( + UserActivityEntry.user_id == user_id, + UserActivityEntry.entry_date == target_date + ) + ).order_by(UserActivityEntry.created_at) + + activity_result = await db.execute(activity_query) + activity_entries = activity_result.scalars().all() + + # Расчет суммарных значений + total_calories = sum(meal.calories or 0 for meal in meals) + total_protein = sum(meal.protein_grams or 0 for meal in meals) + total_fat = sum(meal.fat_grams or 0 for meal in meals) + total_carbs = sum(meal.carbs_grams or 0 for meal in meals) + total_water = sum(water.amount_ml for water in water_entries) + total_activity = sum(activity.duration_minutes for activity in activity_entries) + calories_burned = sum(activity.calories_burned or 0 for activity in activity_entries) + + # Формирование ответа + summary = DailyNutritionSummary( + date=target_date, + total_calories=total_calories, + total_protein_grams=total_protein, + total_fat_grams=total_fat, + total_carbs_grams=total_carbs, + total_water_ml=total_water, + total_activity_minutes=total_activity, + estimated_calories_burned=calories_burned, + meals=[UserNutritionEntryResponse.model_validate(meal) for meal in meals], + water_entries=[WaterIntakeResponse.model_validate(water) for water in water_entries], + activity_entries=[UserActivityEntryResponse.model_validate(activity) for activity in activity_entries] + ) + + return summary \ No newline at end of file diff --git a/services/nutrition_service/models.py b/services/nutrition_service/models.py new file mode 100644 index 0000000..792415f --- /dev/null +++ b/services/nutrition_service/models.py @@ -0,0 +1,146 @@ +import uuid + +from sqlalchemy import Boolean, Column, Date, Float, Integer, String, Text, ForeignKey +from sqlalchemy.dialects.postgresql import UUID +from sqlalchemy.sql import func +from sqlalchemy.sql.expression import text +from sqlalchemy.sql.sqltypes import TIMESTAMP + +from shared.database import BaseModel + + +class FoodItem(BaseModel): + """Модель для хранения информации о продуктах питания""" + __tablename__ = "food_items" + + uuid = Column(UUID(as_uuid=True), default=uuid.uuid4, unique=True, index=True) + + # Основная информация о продукте + fatsecret_id = Column(String(50), unique=True, index=True, nullable=True) # ID продукта в FatSecret + name = Column(String(255), nullable=False) + brand = Column(String(255), nullable=True) + description = Column(Text, nullable=True) + food_type = Column(String(50), nullable=True) # generic, branded, etc. + serving_size = Column(String(100), nullable=True) # e.g. "1 cup" or "100g" + serving_weight_grams = Column(Float, nullable=True) + + # Пищевая ценность на порцию + calories = Column(Float, nullable=True) # kcal + protein_grams = Column(Float, nullable=True) + fat_grams = Column(Float, nullable=True) + carbs_grams = Column(Float, nullable=True) + fiber_grams = Column(Float, nullable=True) + sugar_grams = Column(Float, nullable=True) + sodium_mg = Column(Float, nullable=True) + cholesterol_mg = Column(Float, nullable=True) + + # Дополнительная информация + ingredients = Column(Text, nullable=True) + is_verified = Column(Boolean, default=False) # Проверенные данные или пользовательские + created_at = Column(TIMESTAMP(timezone=True), nullable=False, server_default=func.now()) + updated_at = Column(TIMESTAMP(timezone=True), onupdate=func.now()) + + def __repr__(self): + return f"" + + +class UserNutritionEntry(BaseModel): + """Модель для хранения записей пользователя о потреблении пищи""" + __tablename__ = "user_nutrition_entries" + + uuid = Column(UUID(as_uuid=True), default=uuid.uuid4, unique=True, index=True) + user_id = Column(Integer, nullable=False, index=True) # Связь с таблицей пользователей + + # Информация о приеме пищи + entry_date = Column(Date, nullable=False, index=True) + meal_type = Column(String(50), nullable=False) # breakfast, lunch, dinner, snack + + food_item_id = Column(Integer, ForeignKey("food_items.id"), nullable=True) + custom_food_name = Column(String(255), nullable=True) # Если продукт не из базы + + # Количество + quantity = Column(Float, nullable=False, default=1.0) + unit = Column(String(50), nullable=True) # g, ml, oz, piece, etc. + + # Рассчитанная пищевая ценность для данного количества + calories = Column(Float, nullable=True) + protein_grams = Column(Float, nullable=True) + fat_grams = Column(Float, nullable=True) + carbs_grams = Column(Float, nullable=True) + + # Метаданные + notes = Column(Text, nullable=True) + created_at = Column(TIMESTAMP(timezone=True), nullable=False, server_default=func.now()) + updated_at = Column(TIMESTAMP(timezone=True), onupdate=func.now()) + + def __repr__(self): + return f"" + + +class WaterIntake(BaseModel): + """Модель для отслеживания потребления воды""" + __tablename__ = "water_intake" + + uuid = Column(UUID(as_uuid=True), default=uuid.uuid4, unique=True, index=True) + user_id = Column(Integer, nullable=False, index=True) # Связь с таблицей пользователей + + entry_date = Column(Date, nullable=False, index=True) + amount_ml = Column(Integer, nullable=False) # Количество в миллилитрах + entry_time = Column(TIMESTAMP(timezone=True), nullable=False, server_default=func.now()) + + notes = Column(Text, nullable=True) + + def __repr__(self): + return f"" + + +class UserActivityEntry(BaseModel): + """Модель для отслеживания физической активности""" + __tablename__ = "user_activity_entries" + + uuid = Column(UUID(as_uuid=True), default=uuid.uuid4, unique=True, index=True) + user_id = Column(Integer, nullable=False, index=True) # Связь с таблицей пользователей + + entry_date = Column(Date, nullable=False, index=True) + activity_type = Column(String(100), nullable=False) # walking, running, yoga, etc. + + duration_minutes = Column(Integer, nullable=False) + calories_burned = Column(Float, nullable=True) # Расчетное количество сожженных калорий + + # Дополнительные параметры активности + distance_km = Column(Float, nullable=True) # Для активностей с расстоянием + steps = Column(Integer, nullable=True) # Для ходьбы + intensity = Column(String(20), nullable=True) # low, medium, high + + notes = Column(Text, nullable=True) + created_at = Column(TIMESTAMP(timezone=True), nullable=False, server_default=func.now()) + + def __repr__(self): + return f"" + + +class NutritionGoal(BaseModel): + """Модель для хранения целей пользователя по питанию и активности""" + __tablename__ = "nutrition_goals" + + user_id = Column(Integer, nullable=False, index=True, unique=True) # Связь с таблицей пользователей + + # Цели по калориям и макронутриентам + daily_calorie_goal = Column(Integer, nullable=True) + protein_goal_grams = Column(Integer, nullable=True) + fat_goal_grams = Column(Integer, nullable=True) + carbs_goal_grams = Column(Integer, nullable=True) + + # Цели по воде и активности + water_goal_ml = Column(Integer, nullable=True, default=2000) # Стандартно 2 литра + activity_goal_minutes = Column(Integer, nullable=True, default=30) # Минимум 30 минут активности + + # Цель по весу и предпочтения + weight_goal_kg = Column(Float, nullable=True) + goal_type = Column(String(50), nullable=True) # lose_weight, maintain, gain_weight, health + + created_at = Column(TIMESTAMP(timezone=True), nullable=False, server_default=func.now()) + updated_at = Column(TIMESTAMP(timezone=True), onupdate=func.now()) + + def __repr__(self): + return f"" \ No newline at end of file diff --git a/services/nutrition_service/schemas.py b/services/nutrition_service/schemas.py new file mode 100644 index 0000000..7eae744 --- /dev/null +++ b/services/nutrition_service/schemas.py @@ -0,0 +1,203 @@ +from datetime import date +from enum import Enum +from typing import List, Optional + +from pydantic import BaseModel, Field, root_validator + + +class MealType(str, Enum): + BREAKFAST = "breakfast" + LUNCH = "lunch" + DINNER = "dinner" + SNACK = "snack" + + +class ActivityIntensity(str, Enum): + LOW = "low" + MEDIUM = "medium" + HIGH = "high" + + +class GoalType(str, Enum): + LOSE_WEIGHT = "lose_weight" + MAINTAIN = "maintain" + GAIN_WEIGHT = "gain_weight" + HEALTH = "health" + + +# Схемы для FoodItem +class FoodItemBase(BaseModel): + name: str + brand: Optional[str] = None + description: Optional[str] = None + food_type: Optional[str] = None + serving_size: Optional[str] = None + serving_weight_grams: Optional[float] = None + calories: Optional[float] = None + protein_grams: Optional[float] = None + fat_grams: Optional[float] = None + carbs_grams: Optional[float] = None + fiber_grams: Optional[float] = None + sugar_grams: Optional[float] = None + sodium_mg: Optional[float] = None + cholesterol_mg: Optional[float] = None + ingredients: Optional[str] = None + + +class FoodItemCreate(FoodItemBase): + fatsecret_id: Optional[str] = None + is_verified: bool = False + + +class FoodItemResponse(FoodItemBase): + id: int + uuid: str + fatsecret_id: Optional[str] = None + is_verified: bool + created_at: str + updated_at: Optional[str] = None + + class Config: + from_attributes = True + + +# Схемы для UserNutritionEntry +class UserNutritionEntryBase(BaseModel): + entry_date: date + meal_type: MealType + quantity: float = Field(gt=0) + unit: Optional[str] = None + notes: Optional[str] = None + + +class UserNutritionEntryCreate(UserNutritionEntryBase): + food_item_id: Optional[int] = None + custom_food_name: Optional[str] = None + calories: Optional[float] = None + protein_grams: Optional[float] = None + fat_grams: Optional[float] = None + carbs_grams: Optional[float] = None + + @root_validator(skip_on_failure=True) + def check_food_info(cls, values): + food_item_id = values.get("food_item_id") + custom_food_name = values.get("custom_food_name") + + if food_item_id is None and not custom_food_name: + raise ValueError("Either food_item_id or custom_food_name must be provided") + return values + + +class UserNutritionEntryResponse(UserNutritionEntryBase): + id: int + uuid: str + user_id: int + food_item_id: Optional[int] = None + custom_food_name: Optional[str] = None + calories: Optional[float] = None + protein_grams: Optional[float] = None + fat_grams: Optional[float] = None + carbs_grams: Optional[float] = None + created_at: str + + class Config: + from_attributes = True + + +# Схемы для WaterIntake +class WaterIntakeBase(BaseModel): + entry_date: date + amount_ml: int = Field(gt=0) + notes: Optional[str] = None + + +class WaterIntakeCreate(WaterIntakeBase): + pass + + +class WaterIntakeResponse(WaterIntakeBase): + id: int + uuid: str + user_id: int + entry_time: str + + class Config: + from_attributes = True + + +# Схемы для UserActivityEntry +class UserActivityEntryBase(BaseModel): + entry_date: date + activity_type: str + duration_minutes: int = Field(gt=0) + distance_km: Optional[float] = None + steps: Optional[int] = None + intensity: Optional[ActivityIntensity] = None + notes: Optional[str] = None + + +class UserActivityEntryCreate(UserActivityEntryBase): + calories_burned: Optional[float] = None + + +class UserActivityEntryResponse(UserActivityEntryBase): + id: int + uuid: str + user_id: int + calories_burned: Optional[float] = None + created_at: str + + class Config: + from_attributes = True + + +# Схемы для NutritionGoal +class NutritionGoalBase(BaseModel): + daily_calorie_goal: Optional[int] = None + protein_goal_grams: Optional[int] = None + fat_goal_grams: Optional[int] = None + carbs_goal_grams: Optional[int] = None + water_goal_ml: Optional[int] = None + activity_goal_minutes: Optional[int] = None + weight_goal_kg: Optional[float] = None + goal_type: Optional[GoalType] = None + + +class NutritionGoalCreate(NutritionGoalBase): + pass + + +class NutritionGoalResponse(NutritionGoalBase): + id: int + user_id: int + created_at: str + updated_at: Optional[str] = None + + class Config: + from_attributes = True + + +# Схемы для запросов к FatSecret API +class FoodSearchQuery(BaseModel): + query: str + page_number: int = 0 + max_results: int = 10 + + +class FoodDetailsQuery(BaseModel): + food_id: str + + +# Схемы для сводных данных +class DailyNutritionSummary(BaseModel): + date: date + total_calories: float = 0 + total_protein_grams: float = 0 + total_fat_grams: float = 0 + total_carbs_grams: float = 0 + total_water_ml: int = 0 + total_activity_minutes: int = 0 + estimated_calories_burned: float = 0 + meals: List[UserNutritionEntryResponse] = [] + water_entries: List[WaterIntakeResponse] = [] + activity_entries: List[UserActivityEntryResponse] = [] \ No newline at end of file diff --git a/services/user_service/main.py b/services/user_service/main.py index 23de4b9..b4c5105 100644 --- a/services/user_service/main.py +++ b/services/user_service/main.py @@ -85,11 +85,6 @@ async def register_user(user_data: UserCreate, db: AsyncSession = Depends(get_db try: hashed_password = get_password_hash(user_data.password) except ValueError as e: - if "password cannot be longer than 72 bytes" in str(e): - raise HTTPException( - status_code=status.HTTP_400_BAD_REQUEST, - detail="Password is too long. Please use a shorter password (max 70 characters)." - ) raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, detail=f"Password validation error: {str(e)}" diff --git a/services/user_service/schemas.py b/services/user_service/schemas.py index 6ded99b..2b3024b 100644 --- a/services/user_service/schemas.py +++ b/services/user_service/schemas.py @@ -41,15 +41,15 @@ class UserBase(BaseModel): class UserCreate(UserBase): - password: str = Field(..., min_length=8, max_length=70, description="Password (will be truncated to 72 bytes for bcrypt compatibility)") + password: str = Field(..., min_length=8, description="Password for user registration") @field_validator("password") @classmethod def validate_password_bytes(cls, v): - """Ensure password doesn't exceed bcrypt's 72-byte limit.""" - password_bytes = v.encode('utf-8') - if len(password_bytes) > 72: - raise ValueError("Password is too long when encoded as UTF-8 (max 72 bytes for bcrypt)") + """Basic validation for password.""" + # Только проверка минимальной длины + if not v or len(v.strip()) < 8: + raise ValueError("Password must be at least 8 characters") return v @@ -102,17 +102,15 @@ class UserResponse(UserBase): class UserLogin(BaseModel): email: Optional[EmailStr] = None username: Optional[str] = None - password: str = Field(..., max_length=70, description="Password (will be truncated to 72 bytes for bcrypt compatibility)") + password: str = Field(..., min_length=1, description="Password for authentication") @field_validator("password") @classmethod def validate_password_bytes(cls, v): - """Ensure password doesn't exceed bcrypt's 72-byte limit.""" + """Basic password validation.""" if not v or len(v.strip()) == 0: raise ValueError("Password cannot be empty") - password_bytes = v.encode('utf-8') - if len(password_bytes) > 72: - raise ValueError("Password is too long when encoded as UTF-8 (max 72 bytes for bcrypt)") + # Не делаем проверку на максимальную длину - passlib/bcrypt сам справится с ограничениями return v @field_validator("username") diff --git a/shared/auth.py b/shared/auth.py index 9205894..9aedcd4 100644 --- a/shared/auth.py +++ b/shared/auth.py @@ -18,8 +18,13 @@ from shared.config import settings # Suppress bcrypt version warnings logging.getLogger("passlib").setLevel(logging.ERROR) -# Password hashing -pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") +# Password hashing - настройка bcrypt с более надежными параметрами +pwd_context = CryptContext( + schemes=["bcrypt"], + deprecated="auto", + bcrypt__rounds=12, # Стандартное количество раундов + bcrypt__truncate_error=False # Не вызывать ошибку при длинных паролях, а просто обрезать +) # Bearer token scheme security = HTTPBearer() @@ -28,29 +33,32 @@ security = HTTPBearer() def verify_password(plain_password: str, hashed_password: str) -> bool: """Verify a password against its hash. Handle bcrypt compatibility issues.""" try: - # Truncate password to 72 bytes for consistency - password_bytes = plain_password.encode('utf-8') - if len(password_bytes) > 72: - plain_password = password_bytes[:72].decode('utf-8', errors='ignore') - return pwd_context.verify(plain_password, hashed_password) + # Увеличим подробность логов + logging.info(f"Verifying password length: {len(plain_password)} chars") + + # Проверяем пароль с помощью passlib и логируем результат + result = pwd_context.verify(plain_password, hashed_password) + logging.info(f"Password verification result: {result}") + return result except Exception as e: - logging.error(f"Error verifying password: {e}") + logging.error(f"Error verifying password: {e}, hash_type: {hashed_password[:10]}...") return False def get_password_hash(password: str) -> str: - """Get password hash. Truncate password to 72 bytes if necessary for bcrypt compatibility.""" + """Get password hash. Let passlib handle bcrypt compatibility.""" try: - # bcrypt has a 72-byte limit, so truncate if necessary - password_bytes = password.encode('utf-8') - if len(password_bytes) > 72: - logging.warning("Password exceeds bcrypt limit of 72 bytes. Truncating.") - password = password_bytes[:70].decode('utf-8', errors='ignore') - return pwd_context.hash(password) + # Увеличим подробность логов + logging.info(f"Hashing password length: {len(password)} chars") + + # bcrypt автоматически ограничит длину пароля до 72 байт + hashed = pwd_context.hash(password) + logging.info("Password hashed successfully") + return hashed except Exception as e: - # Handle bcrypt compatibility issues + # Логируем ошибку и пробрасываем исключение logging.error(f"Error hashing password: {e}") - raise ValueError("Password hashing failed. Please use a shorter password.") + raise ValueError(f"Password hashing failed: {str(e)}") def create_access_token(data: dict, expires_delta: Optional[timedelta] = None) -> str: diff --git a/shared/config.py b/shared/config.py index 47ce2f6..200b31f 100644 --- a/shared/config.py +++ b/shared/config.py @@ -41,6 +41,11 @@ class Settings(BaseSettings): # External Services FCM_SERVER_KEY: Optional[str] = None + + # FatSecret API для данных о питании + FATSECRET_CLIENT_ID: str = "56342dd56fc74b26afb49d65b8f84c16" + FATSECRET_CLIENT_SECRET: str = "fae178f189dc44ddb368cabe9069c0e3" + FATSECRET_CUSTOMER_KEY: Optional[str] = None # Исправляем опечатку в имени параметра # Security CORS_ORIGINS: list = ["*"] # Change in production diff --git a/start_services.sh b/start_services.sh index 15f9459..f4645b9 100755 --- a/start_services.sh +++ b/start_services.sh @@ -89,6 +89,10 @@ echo -e "${YELLOW}Starting Notification Service (port 8005)...${NC}" python -m uvicorn services.notification_service.main:app --port 8005 & NOTIFICATION_PID=$! +echo -e "${YELLOW}Starting Nutrition Service (port 8006)...${NC}" +python -m uvicorn services.nutrition_service.main:app --port 8006 & +NUTRITION_PID=$! + # Wait a bit for services to start sleep 5 @@ -102,6 +106,7 @@ echo $EMERGENCY_PID > emergency_service.pid echo $LOCATION_PID > location_service.pid echo $CALENDAR_PID > calendar_service.pid echo $NOTIFICATION_PID > notification_service.pid +echo $NUTRITION_PID > nutrition_service.pid echo $GATEWAY_PID > api_gateway.pid echo -e "${GREEN}🎉 All services started successfully!${NC}" @@ -112,6 +117,7 @@ echo -e " 🚨 Emergency Service: http://localhost:8002" echo -e " 📍 Location Service: http://localhost:8003" echo -e " 📅 Calendar Service: http://localhost:8004" echo -e " 🔔 Notification Service: http://localhost:8005" +echo -e " 🍎 Nutrition Service: http://localhost:8006" echo -e "${GREEN}📖 API Documentation: http://localhost:8000/docs${NC}" # Keep script running and show logs @@ -127,6 +133,7 @@ cleanup() { if [ -f "location_service.pid" ]; then kill "$(cat location_service.pid)" 2>/dev/null && rm location_service.pid; fi if [ -f "calendar_service.pid" ]; then kill "$(cat calendar_service.pid)" 2>/dev/null && rm calendar_service.pid; fi if [ -f "notification_service.pid" ]; then kill "$(cat notification_service.pid)" 2>/dev/null && rm notification_service.pid; fi + if [ -f "nutrition_service.pid" ]; then kill "$(cat nutrition_service.pid)" 2>/dev/null && rm nutrition_service.pid; fi if [ -f "api_gateway.pid" ]; then kill "$(cat api_gateway.pid)" 2>/dev/null && rm api_gateway.pid; fi echo -e "${GREEN}✅ All services stopped${NC}" diff --git a/start_services_no_docker.sh b/start_services_no_docker.sh index aa27d62..9f14559 100755 --- a/start_services_no_docker.sh +++ b/start_services_no_docker.sh @@ -51,6 +51,7 @@ cleanup() { kill_port 8003 kill_port 8004 kill_port 8005 + kill_port 8006 echo "✅ All services stopped" exit 0 } @@ -66,6 +67,7 @@ kill_port 8002 kill_port 8003 kill_port 8004 kill_port 8005 +kill_port 8006 echo "⏳ Waiting for ports to be freed..." sleep 3 @@ -94,6 +96,10 @@ echo "Starting Calendar Service (port 8004)..." echo "Starting Notification Service (port 8005)..." (cd services/notification_service && PYTHONPATH="${PWD}/../..:${PYTHONPATH}" python -m uvicorn main:app --host 0.0.0.0 --port 8005 --reload) & +# Start Nutrition Service +echo "Starting Nutrition Service (port 8006)..." +(cd services/nutrition_service && PYTHONPATH="${PWD}/../..:${PYTHONPATH}" python -m uvicorn main:app --host 0.0.0.0 --port 8006 --reload) & + # Start API Gateway echo "Starting API Gateway (port 8000)..." (cd services/api_gateway && PYTHONPATH="${PWD}/../..:${PYTHONPATH}" python -m uvicorn main:app --host 0.0.0.0 --port 8000 --reload) & @@ -110,6 +116,7 @@ echo " 🚨 Emergency Service: http://localhost:8002" echo " 📍 Location Service: http://localhost:8003" echo " 📅 Calendar Service: http://localhost:8004" echo " 🔔 Notification Service: http://localhost:8005" +echo " 🍎 Nutrition Service: http://localhost:8006" echo "" echo "📖 API Documentation: http://localhost:8000/docs" echo "📊 Monitoring services... Press Ctrl+C to stop all services" diff --git a/stop_services.sh b/stop_services.sh index a46ac91..40c9a4e 100755 --- a/stop_services.sh +++ b/stop_services.sh @@ -42,8 +42,14 @@ if [ -f "notification_service.pid" ]; then echo -e "${GREEN}✅ Notification Service stopped${NC}" fi +if [ -f "nutrition_service.pid" ]; then + kill "$(cat nutrition_service.pid)" 2>/dev/null + rm nutrition_service.pid + echo -e "${GREEN}✅ Nutrition Service stopped${NC}" +fi + if [ -f "api_gateway.pid" ]; then - kill $(cat api_gateway.pid) 2>/dev/null + kill "$(cat api_gateway.pid)" 2>/dev/null rm api_gateway.pid echo -e "${GREEN}✅ API Gateway stopped${NC}" fi diff --git a/test_fatsecret_api.py b/test_fatsecret_api.py new file mode 100755 index 0000000..104e652 --- /dev/null +++ b/test_fatsecret_api.py @@ -0,0 +1,248 @@ +#!/usr/bin/env python3 +""" +Скрипт для тестирования API FatSecret +Выполняет тестовые запросы к API FatSecret с использованием ключей из конфигурации приложения +""" + +import os +import json +import time +import base64 +import asyncio +import httpx +import urllib.parse +import hmac +import hashlib +from datetime import datetime +from dotenv import load_dotenv + + +# Загружаем .env файл +current_dir = os.path.dirname(os.path.abspath(__file__)) +env_path = os.path.join(current_dir, ".env") +load_dotenv(env_path) +print(f"✅ Loaded .env from: {env_path}") + +# Получаем API ключи из переменных окружения +FATSECRET_CLIENT_ID = os.environ.get("FATSECRET_CLIENT_ID") +FATSECRET_CLIENT_SECRET = os.environ.get("FATSECRET_CLIENT_SECRET") +FATSECRET_CUSTOMER_KEY = os.environ.get("FATSECRET_CUSTOMER_KEY") + +if not FATSECRET_CLIENT_ID or not FATSECRET_CLIENT_SECRET: + raise ValueError("FatSecret API keys not found in .env file") + +print(f"🔑 Using FatSecret API keys: CLIENT_ID={FATSECRET_CLIENT_ID[:8]}...") +if FATSECRET_CUSTOMER_KEY: + print(f"🔑 Using CUSTOMER_KEY={FATSECRET_CUSTOMER_KEY[:8]}...") + + +class FatSecretClient: + """Клиент для работы с API FatSecret""" + + BASE_URL = "https://platform.fatsecret.com/rest/server.api" + + def __init__(self, client_id, client_secret): + self.client_id = client_id + self.client_secret = client_secret + self.access_token = None + self.token_expires = 0 + + async def get_access_token(self): + """Получение OAuth 2.0 токена для доступа к API""" + now = time.time() + + # Если у нас уже есть токен и он не истек, используем его + if self.access_token and self.token_expires > now + 60: + return self.access_token + + print("🔄 Getting new access token...") + + # Подготовка запроса на получение токена + auth_header = base64.b64encode(f"{self.client_id}:{self.client_secret}".encode()).decode() + + print(f"🔑 Using client_id: {self.client_id}") + # Не печатаем секрет полностью, только первые несколько символов для отладки + print(f"🔑 Using client_secret: {self.client_secret[:5]}...") + + async with httpx.AsyncClient() as client: + response = await client.post( + "https://oauth.fatsecret.com/connect/token", + headers={ + "Authorization": f"Basic {auth_header}", + "Content-Type": "application/x-www-form-urlencoded" + }, + data={ + "grant_type": "client_credentials", + "scope": "basic premier" + } + ) + + # Проверяем успешность запроса + if response.status_code != 200: + print(f"❌ Error getting token: {response.status_code}") + print(response.text) + raise Exception(f"Failed to get token: {response.status_code}") + + token_data = response.json() + self.access_token = token_data["access_token"] + self.token_expires = now + token_data["expires_in"] + + print(f"✅ Got token, expires in {token_data['expires_in']} seconds") + return self.access_token + + async def search_food(self, query, page=0, max_results=10): + """Поиск продуктов по названию""" + token = await self.get_access_token() + + async with httpx.AsyncClient() as client: + response = await client.post( + self.BASE_URL, + headers={ + "Authorization": f"Bearer {token}", + "Content-Type": "application/json" + }, + json={ + "method": "foods.search", + "search_expression": query, + "page_number": page, + "max_results": max_results, + "format": "json" + } + ) + + if response.status_code != 200: + print(f"❌ Error searching food: {response.status_code}") + print(response.text) + raise Exception(f"Failed to search food: {response.status_code}") + + return response.json() + + async def get_food(self, food_id): + """Получение детальной информации о продукте по ID""" + token = await self.get_access_token() + + async with httpx.AsyncClient() as client: + response = await client.post( + self.BASE_URL, + headers={ + "Authorization": f"Bearer {token}", + "Content-Type": "application/json" + }, + json={ + "method": "food.get", + "food_id": food_id, + "format": "json" + } + ) + + if response.status_code != 200: + print(f"❌ Error getting food details: {response.status_code}") + print(response.text) + raise Exception(f"Failed to get food details: {response.status_code}") + + return response.json() + + +async def run_tests(): + """Выполнение тестовых запросов к API FatSecret""" + client = FatSecretClient(FATSECRET_CLIENT_ID, FATSECRET_CLIENT_SECRET) + + # Тест 1: Поиск продуктов + print("\n🔍 Testing food search...") + search_queries = ["apple", "bread", "chicken breast", "молоко"] + + for query in search_queries: + print(f"\n📋 Searching for: {query}") + try: + result = await client.search_food(query) + + # Проверяем структуру ответа + if "foods" not in result: + print(f"❌ Unexpected response format: {result}") + continue + + # Если нет результатов + if "food" not in result["foods"]: + print(f"⚠️ No results found for '{query}'") + continue + + food_list = result["foods"]["food"] + if not isinstance(food_list, list): + food_list = [food_list] # Если только один результат, оборачиваем в список + + print(f"✅ Found {len(food_list)} results") + + # Выводим первые 3 результата + first_food_id = None + for i, food in enumerate(food_list[:3]): + food_name = food.get("food_name", "Unknown") + food_id = food.get("food_id", "Unknown") + food_desc = food.get("food_description", "No description") + + print(f" {i+1}. [{food_id}] {food_name}") + print(f" {food_desc}") + + # Сохраняем ID первого продукта для следующего теста + if i == 0: + first_food_id = food_id + except Exception as e: + print(f"❌ Error during search: {e}") + + # Тест 2: Получение информации о продукте + found_food_id = None + for query in search_queries: + try: + result = await client.search_food(query) + if "foods" in result and "food" in result["foods"]: + food_list = result["foods"]["food"] + if not isinstance(food_list, list): + food_list = [food_list] + if food_list: + found_food_id = food_list[0].get("food_id") + break + except: + continue + + if found_food_id: + print(f"\n🔍 Testing food details for ID: {found_food_id}") + try: + result = await client.get_food(found_food_id) + + if "food" not in result: + print(f"❌ Unexpected response format: {result}") + else: + food = result["food"] + food_name = food.get("food_name", "Unknown") + brand = food.get("brand_name", "Generic") + + print(f"✅ Got details for: {food_name} [{brand}]") + + # Выводим информацию о пищевой ценности + if "servings" in food: + servings = food["servings"] + if "serving" in servings: + serving_data = servings["serving"] + if not isinstance(serving_data, list): + serving_data = [serving_data] + + print("\n📊 Nutrition info per serving:") + for i, serving in enumerate(serving_data[:2]): # Выводим до 2 видов порций + serving_desc = serving.get("serving_description", "Standard") + calories = serving.get("calories", "N/A") + protein = serving.get("protein", "N/A") + carbs = serving.get("carbohydrate", "N/A") + fat = serving.get("fat", "N/A") + + print(f" Serving {i+1}: {serving_desc}") + print(f" Calories: {calories}") + print(f" Protein: {protein}g") + print(f" Carbohydrates: {carbs}g") + print(f" Fat: {fat}g") + except Exception as e: + print(f"❌ Error getting food details: {e}") + + +if __name__ == "__main__": + print("🚀 Starting FatSecret API test...") + asyncio.run(run_tests()) + print("\n✅ Test completed!") \ No newline at end of file diff --git a/test_fatsecret_api_oauth1.py b/test_fatsecret_api_oauth1.py new file mode 100755 index 0000000..35cff1b --- /dev/null +++ b/test_fatsecret_api_oauth1.py @@ -0,0 +1,173 @@ +#!/usr/bin/env python3 +""" +Скрипт для тестирования API FatSecret с использованием OAuth 1.0 +""" + +import os +import time +import hmac +import base64 +import random +import hashlib +import urllib.parse +import requests +from dotenv import load_dotenv + +# Загружаем .env файл +current_dir = os.path.dirname(os.path.abspath(__file__)) +env_path = os.path.join(current_dir, ".env") +load_dotenv(env_path) +print(f"✅ Loaded .env from: {env_path}") + +# Получаем API ключи из переменных окружения +FATSECRET_KEY = os.environ.get("FATSECRET_CUSTOMER_KEY") or os.environ.get("FATSECRET_CLIENT_ID") +FATSECRET_SECRET = os.environ.get("FATSECRET_CLIENT_SECRET") + +if not FATSECRET_KEY or not FATSECRET_SECRET: + raise ValueError("FatSecret API keys not found in .env file") + +print(f"🔑 Using FatSecret API keys: KEY={FATSECRET_KEY[:8]}...") +print(f"🔑 Using FatSecret SECRET (first few chars): {FATSECRET_SECRET[:5]}...") + + +def generate_oauth_params(http_method, url, params): + """Создание и подписание OAuth 1.0 параметров""" + # Текущее время в секундах + timestamp = str(int(time.time())) + # Случайная строка для nonce + nonce = ''.join([str(random.randint(0, 9)) for _ in range(8)]) + + # Базовый набор параметров OAuth + oauth_params = { + 'oauth_consumer_key': FATSECRET_KEY, + 'oauth_nonce': nonce, + 'oauth_signature_method': 'HMAC-SHA1', + 'oauth_timestamp': timestamp, + 'oauth_version': '1.0' + } + + # Объединяем с параметрами запроса + all_params = {**params, **oauth_params} + + # Сортируем параметры по ключу + sorted_params = sorted(all_params.items()) + + # Создаем строку параметров для подписи + param_string = "&".join([f"{urllib.parse.quote(str(k))}={urllib.parse.quote(str(v))}" + for k, v in sorted_params]) + + # Создаем строку для подписи + signature_base = f"{http_method}&{urllib.parse.quote(url, safe='')}&{urllib.parse.quote(param_string, safe='')}" + + # Создаем ключ для подписи + signing_key = f"{urllib.parse.quote(str(FATSECRET_SECRET), safe='')}&" + + # Создаем HMAC-SHA1 подпись + signature = base64.b64encode( + hmac.new( + signing_key.encode(), + signature_base.encode(), + hashlib.sha1 + ).digest() + ).decode() + + # Добавляем подпись к параметрам OAuth + all_params['oauth_signature'] = signature + + return all_params + + +def search_food(query, max_results=5, locale=None): + """Поиск продуктов по названию с использованием OAuth 1.0""" + print(f"\n🔍 Searching for '{query}'{' with locale ' + locale if locale else ''}...") + + # URL для API + url = "https://platform.fatsecret.com/rest/server.api" + + # Параметры запроса + params = { + 'method': 'foods.search', + 'search_expression': query, + 'max_results': max_results, + 'format': 'json' + } + + # Добавляем локаль если указана + if locale: + params['language'] = locale + + # Получаем подписанные OAuth параметры + oauth_params = generate_oauth_params("GET", url, params) + + try: + # Отправляем запрос + response = requests.get(url, params=oauth_params) + + print(f"📥 Response status code: {response.status_code}") + + if response.status_code == 200: + print("✅ Search successful!") + result = response.json() + return result + else: + print(f"❌ Error during search: {response.status_code}") + print(response.text) + return None + except Exception as e: + print(f"❌ Exception during search: {e}") + return None + + +def process_search_results(result): + """Обработка и вывод результатов поиска""" + if not result or "foods" not in result: + print("❌ No valid results found") + return + + foods_data = result["foods"] + + if "food" not in foods_data: + print("⚠️ No food items found") + return + + food_list = foods_data["food"] + if not isinstance(food_list, list): + food_list = [food_list] # Если только один результат, оборачиваем в список + + print(f"📊 Found {len(food_list)} results") + + # Выводим первые 3 результата + for i, food in enumerate(food_list[:3]): + food_name = food.get("food_name", "Unknown") + food_id = food.get("food_id", "Unknown") + food_desc = food.get("food_description", "No description") + + print(f" {i+1}. [{food_id}] {food_name}") + print(f" {food_desc}") + + +def main(): + """Основная функция для тестирования API FatSecret""" + print("\n🚀 Starting FatSecret API test with OAuth 1.0...\n") + + # Тестируем поиск продуктов на английском + search_queries = ["PowerAde", "Americano", "Coca-Cola", "chicken breast"] + + for query in search_queries: + result = search_food(query) + if result: + process_search_results(result) + + # Тестируем поиск продуктов на русском + russian_queries = ["Барни", "хлеб", "яблоко"] + + for query in russian_queries: + result = search_food(query, locale="ru_RU") + if result: + process_search_results(result) + + print("\n✅ Test completed!") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/test_fatsecret_api_v2.py b/test_fatsecret_api_v2.py new file mode 100755 index 0000000..5e95b75 --- /dev/null +++ b/test_fatsecret_api_v2.py @@ -0,0 +1,247 @@ +#!/usr/bin/env python3 +""" +Скрипт для тестирования API FatSecret +Выполняет тестовые запросы к API FatSecret с использованием ключей из конфигурации приложения +""" + +import os +import json +import time +import base64 +import requests +import urllib.parse +from dotenv import load_dotenv + +# Загружаем .env файл +current_dir = os.path.dirname(os.path.abspath(__file__)) +env_path = os.path.join(current_dir, ".env") +load_dotenv(env_path) +print(f"✅ Loaded .env from: {env_path}") + +# Получаем API ключи из переменных окружения +FATSECRET_CLIENT_ID = os.environ.get("FATSECRET_CLIENT_ID") +FATSECRET_CLIENT_SECRET = os.environ.get("FATSECRET_CLIENT_SECRET") + +if not FATSECRET_CLIENT_ID or not FATSECRET_CLIENT_SECRET: + raise ValueError("FatSecret API keys not found in .env file") + +print(f"🔑 Using FatSecret API keys: CLIENT_ID={FATSECRET_CLIENT_ID[:8]}...") +customer_key = os.environ.get("FATSECRET_CUSTOMER_KEY") +if customer_key: + print(f"🔑 Using CUSTOMER_KEY={customer_key[:8]}...") + + +def get_oauth_token(): + """Получение OAuth 2.0 токена для доступа к API""" + print("🔄 Getting OAuth token...") + + # Создаем заголовок авторизации с Base64-кодированными ID и секретом + auth_string = f"{FATSECRET_CLIENT_ID}:{FATSECRET_CLIENT_SECRET}" + auth_header = base64.b64encode(auth_string.encode()).decode() + + # Полный вывод учетных данных для диагностики + print(f"🔑 CLIENT_ID: {FATSECRET_CLIENT_ID}") + if FATSECRET_CLIENT_SECRET: + print(f"🔑 CLIENT_SECRET (first few chars): {FATSECRET_CLIENT_SECRET[:5]}...") + else: + print("⚠️ CLIENT_SECRET is missing!") + print(f"🔑 Authorization header: Basic {auth_header}") + + # Выполняем запрос на получение токена + token_url = "https://oauth.fatsecret.com/connect/token" + headers = { + "Authorization": f"Basic {auth_header}", + "Content-Type": "application/x-www-form-urlencoded" + } + data = { + "grant_type": "client_credentials", + "scope": "basic" + } + + print("📤 Sending request with headers:") + for key, value in headers.items(): + print(f" {key}: {value if key != 'Authorization' else value[:30]}...") + print("📤 Sending request with data:") + for key, value in data.items(): + print(f" {key}: {value}") + + try: + response = requests.post(token_url, headers=headers, data=data) + + # Дополнительная информация о запросе + print(f"📥 Response status code: {response.status_code}") + print(f"📥 Response headers: {dict(response.headers)}") + + # Проверяем успешность запроса + if response.status_code == 200: + token_data = response.json() + access_token = token_data.get("access_token") + expires_in = token_data.get("expires_in") + print(f"✅ Got token, expires in {expires_in} seconds") + return access_token + else: + print(f"❌ Error getting token: {response.status_code}") + print(f"❌ Error response: {response.text}") + return None + except Exception as e: + print(f"❌ Exception getting token: {e}") + return None + + +def search_food(token, query, max_results=5): + """Поиск продуктов по названию""" + if not token: + print("⚠️ No token available, cannot search") + return None + + print(f"🔍 Searching for '{query}'...") + + api_url = "https://platform.fatsecret.com/rest/server.api" + headers = { + "Authorization": f"Bearer {token}", + "Content-Type": "application/json" + } + + params = { + "method": "foods.search", + "search_expression": query, + "max_results": max_results, + "format": "json" + } + + try: + response = requests.post(api_url, headers=headers, json=params) + + if response.status_code == 200: + print(f"✅ Search successful") + result = response.json() + return result + else: + print(f"❌ Error searching: {response.status_code}") + print(response.text) + return None + except Exception as e: + print(f"❌ Exception during search: {e}") + return None + + +def get_food_details(token, food_id): + """Получение информации о продукте по ID""" + if not token: + print("⚠️ No token available, cannot get food details") + return None + + print(f"🔍 Getting details for food ID: {food_id}") + + api_url = "https://platform.fatsecret.com/rest/server.api" + headers = { + "Authorization": f"Bearer {token}", + "Content-Type": "application/json" + } + + params = { + "method": "food.get", + "food_id": food_id, + "format": "json" + } + + try: + response = requests.post(api_url, headers=headers, json=params) + + if response.status_code == 200: + print(f"✅ Got food details") + result = response.json() + return result + else: + print(f"❌ Error getting food details: {response.status_code}") + print(response.text) + return None + except Exception as e: + print(f"❌ Exception getting food details: {e}") + return None + + +def main(): + """Основная функция для тестирования API FatSecret""" + print("\n🚀 Starting FatSecret API test...\n") + + # Получаем токен доступа + token = get_oauth_token() + + if not token: + print("❌ Failed to get OAuth token, exiting") + return + + # Тестируем поиск продуктов + print("\n--- 📋 Testing Food Search ---") + search_queries = ["apple", "bread", "chicken breast", "молоко"] + first_food_id = None + + for query in search_queries: + result = search_food(token, query) + + if result and "foods" in result: + foods_data = result["foods"] + + if "food" not in foods_data: + print(f"⚠️ No results found for '{query}'") + continue + + food_list = foods_data["food"] + if not isinstance(food_list, list): + food_list = [food_list] # Если только один результат, оборачиваем в список + + print(f"📊 Found {len(food_list)} results") + + # Выводим первые 3 результата + for i, food in enumerate(food_list[:3]): + food_name = food.get("food_name", "Unknown") + food_id = food.get("food_id", "Unknown") + food_desc = food.get("food_description", "No description") + + print(f" {i+1}. [{food_id}] {food_name}") + print(f" {food_desc}") + + # Сохраняем ID первого продукта для следующего теста + if not first_food_id and food_list: + first_food_id = food_list[0].get("food_id") + + # Тестируем получение информации о продукте + if first_food_id: + print("\n--- 🍎 Testing Food Details ---") + food_details = get_food_details(token, first_food_id) + + if food_details and "food" in food_details: + food = food_details["food"] + food_name = food.get("food_name", "Unknown") + brand = food.get("brand_name", "Generic") + + print(f"📝 Details for: {food_name} [{brand}]") + + # Выводим информацию о пищевой ценности + if "servings" in food: + servings = food["servings"] + if "serving" in servings: + serving_data = servings["serving"] + if not isinstance(serving_data, list): + serving_data = [serving_data] + + print("\n📊 Nutrition info per serving:") + for i, serving in enumerate(serving_data[:2]): # Выводим до 2 видов порций + serving_desc = serving.get("serving_description", "Standard") + calories = serving.get("calories", "N/A") + protein = serving.get("protein", "N/A") + carbs = serving.get("carbohydrate", "N/A") + fat = serving.get("fat", "N/A") + + print(f" Serving {i+1}: {serving_desc}") + print(f" Calories: {calories}") + print(f" Protein: {protein}g") + print(f" Carbohydrates: {carbs}g") + print(f" Fat: {fat}g") + + print("\n✅ Test completed!") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/setup_mobile_test.py b/tests/setup_mobile_test.py similarity index 100% rename from setup_mobile_test.py rename to tests/setup_mobile_test.py diff --git a/simple_test.py b/tests/simple_test.py similarity index 100% rename from simple_test.py rename to tests/simple_test.py diff --git a/test_calendar_mobile.py b/tests/test_calendar_mobile.py similarity index 100% rename from test_calendar_mobile.py rename to tests/test_calendar_mobile.py diff --git a/test_debug_endpoint.sh b/tests/test_debug_endpoint.sh similarity index 100% rename from test_debug_endpoint.sh rename to tests/test_debug_endpoint.sh diff --git a/test_mobile_api.py b/tests/test_mobile_api.py similarity index 100% rename from test_mobile_api.py rename to tests/test_mobile_api.py diff --git a/test_mobile_endpoint.py b/tests/test_mobile_endpoint.py similarity index 100% rename from test_mobile_endpoint.py rename to tests/test_mobile_endpoint.py diff --git a/test_mobile_endpoints.py b/tests/test_mobile_endpoints.py similarity index 100% rename from test_mobile_endpoints.py rename to tests/test_mobile_endpoints.py diff --git a/tests/test_nutrition_api.py b/tests/test_nutrition_api.py new file mode 100755 index 0000000..fd2b143 --- /dev/null +++ b/tests/test_nutrition_api.py @@ -0,0 +1,347 @@ +#!/usr/bin/env python3 +""" +Скрипт для тестирования API сервиса питания (Nutrition Service) +""" + +import os +import sys +import json +import requests +from datetime import datetime +from dotenv import load_dotenv + +# Загружаем .env файл +current_dir = os.path.dirname(os.path.abspath(__file__)) +env_path = os.path.join(current_dir, ".env") +load_dotenv(env_path) +print(f"✅ Загружен .env из: {env_path}") + +# Базовый URL API +BASE_URL = os.environ.get("NUTRITION_API_URL", "http://localhost:8006/api/v1/nutrition") +AUTH_URL = os.environ.get("AUTH_API_URL", "http://localhost:8001/api/v1/auth") + +# Настройки для тестовых данных +TEST_USER = { + "username": "test_nutrition_user", + "password": "Test123!", + "email": "test_nutrition@example.com", + "first_name": "Test", + "last_name": "Nutrition", + "phone": "+79991234999" +} + +def get_auth_token(): + """Получение токена авторизации""" + print("\n🔑 Получаем токен авторизации...") + + # Пытаемся сначала войти + try: + login_data = { + "username": TEST_USER["username"], + "password": TEST_USER["password"] + } + + login_response = requests.post( + f"{AUTH_URL}/login", + json=login_data + ) + + if login_response.status_code == 200: + token = login_response.json().get("access_token") + print("✅ Успешный вход в систему!") + return token + except Exception as e: + print(f"⚠️ Ошибка при попытке входа: {e}") + + # Если вход не удался, пробуем регистрацию + try: + register_response = requests.post( + f"{AUTH_URL}/register", + json=TEST_USER + ) + + if register_response.status_code == 201: + print("✅ Пользователь успешно зарегистрирован!") + + # Теперь входим с новыми учетными данными + login_data = { + "username": TEST_USER["username"], + "password": TEST_USER["password"] + } + + login_response = requests.post( + f"{AUTH_URL}/login", + json=login_data + ) + + if login_response.status_code == 200: + token = login_response.json().get("access_token") + print("✅ Успешный вход в систему!") + return token + except Exception as e: + print(f"❌ Ошибка при регистрации: {e}") + + print("❌ Не удалось получить токен авторизации") + return None + +def search_food(token, query="apple", max_results=5): + """Поиск продуктов питания""" + print(f"\n🔍 Поиск продуктов по запросу '{query}'...") + + headers = {"Authorization": f"Bearer {token}"} + data = { + "query": query, + "max_results": max_results + } + + try: + response = requests.post( + f"{BASE_URL}/search", + json=data, + headers=headers + ) + + print(f"📥 Код ответа: {response.status_code}") + + if response.status_code == 200: + results = response.json() + print(f"✅ Найдено продуктов: {len(results)}") + + # Выводим первые 3 результата + for i, food in enumerate(results[:3]): + print(f" {i+1}. [{food.get('id')}] {food.get('name')}") + print(f" {food.get('description')}") + print(f" Калории: {food.get('calories')} ккал/100г") + + return results + else: + print(f"❌ Ошибка при поиске: {response.status_code}") + print(response.text) + return None + except Exception as e: + print(f"❌ Исключение при поиске: {e}") + return None + +def add_diary_entry(token, food_id=1): + """Добавление записи в дневник питания""" + print(f"\n📝 Добавление записи в дневник питания (продукт ID: {food_id})...") + + headers = {"Authorization": f"Bearer {token}"} + today = datetime.now().strftime("%Y-%m-%d") + + data = { + "food_item_id": food_id, + "entry_date": today, + "meal_type": "breakfast", + "quantity": 1.0, + "unit": "piece", + "notes": "Тестовая запись" + } + + try: + response = requests.post( + f"{BASE_URL}/diary", + json=data, + headers=headers + ) + + print(f"📥 Код ответа: {response.status_code}") + + if response.status_code in [200, 201]: + result = response.json() + print("✅ Запись успешно добавлена в дневник питания!") + print(f" ID записи: {result.get('id')}") + print(f" Калории: {result.get('calories')} ккал") + return result + else: + print(f"❌ Ошибка при добавлении записи: {response.status_code}") + print(response.text) + return None + except Exception as e: + print(f"❌ Исключение при добавлении записи: {e}") + return None + +def get_diary_entries(token): + """Получение записей дневника за текущий день""" + print("\n📋 Получение записей дневника питания...") + + headers = {"Authorization": f"Bearer {token}"} + today = datetime.now().strftime("%Y-%m-%d") + + try: + response = requests.get( + f"{BASE_URL}/diary?date={today}", + headers=headers + ) + + print(f"📥 Код ответа: {response.status_code}") + + if response.status_code == 200: + results = response.json() + print(f"✅ Получено записей: {len(results)}") + + # Выводим записи + for i, entry in enumerate(results): + print(f" {i+1}. Прием пищи: {entry.get('meal_type')}") + print(f" Продукт ID: {entry.get('food_item_id')}") + print(f" Калории: {entry.get('calories')} ккал") + + return results + else: + print(f"❌ Ошибка при получении записей: {response.status_code}") + print(response.text) + return None + except Exception as e: + print(f"❌ Исключение при получении записей: {e}") + return None + +def add_water_entry(token, amount_ml=250): + """Добавление записи о потреблении воды""" + print(f"\n💧 Добавление записи о потреблении воды ({amount_ml} мл)...") + + headers = {"Authorization": f"Bearer {token}"} + today = datetime.now().strftime("%Y-%m-%d") + + data = { + "amount_ml": amount_ml, + "entry_date": today, + "notes": "Тестовая запись" + } + + try: + response = requests.post( + f"{BASE_URL}/water", + json=data, + headers=headers + ) + + print(f"📥 Код ответа: {response.status_code}") + + if response.status_code in [200, 201]: + result = response.json() + print("✅ Запись о потреблении воды успешно добавлена!") + print(f" ID записи: {result.get('id')}") + print(f" Объем: {result.get('amount_ml')} мл") + return result + else: + print(f"❌ Ошибка при добавлении записи о воде: {response.status_code}") + print(response.text) + return None + except Exception as e: + print(f"❌ Исключение при добавлении записи о воде: {e}") + return None + +def add_activity_entry(token): + """Добавление записи о физической активности""" + print("\n🏃‍♀️ Добавление записи о физической активности...") + + headers = {"Authorization": f"Bearer {token}"} + today = datetime.now().strftime("%Y-%m-%d") + + data = { + "entry_date": today, + "activity_type": "walking", + "duration_minutes": 30, + "distance_km": 2.5, + "intensity": "medium", + "notes": "Тестовая активность" + } + + try: + response = requests.post( + f"{BASE_URL}/activity", + json=data, + headers=headers + ) + + print(f"📥 Код ответа: {response.status_code}") + + if response.status_code in [200, 201]: + result = response.json() + print("✅ Запись о физической активности успешно добавлена!") + print(f" ID записи: {result.get('id')}") + print(f" Тип: {result.get('activity_type')}") + print(f" Продолжительность: {result.get('duration_minutes')} мин") + print(f" Потрачено калорий: {result.get('calories_burned')} ккал") + return result + else: + print(f"❌ Ошибка при добавлении записи об активности: {response.status_code}") + print(response.text) + return None + except Exception as e: + print(f"❌ Исключение при добавлении записи об активности: {e}") + return None + +def get_daily_summary(token): + """Получение дневной сводки""" + print("\n📊 Получение сводки за день...") + + headers = {"Authorization": f"Bearer {token}"} + today = datetime.now().strftime("%Y-%m-%d") + + try: + response = requests.get( + f"{BASE_URL}/summary?date={today}", + headers=headers + ) + + print(f"📥 Код ответа: {response.status_code}") + + if response.status_code == 200: + result = response.json() + print("✅ Сводка за день успешно получена!") + print(f" Всего калорий: {result.get('total_calories')} ккал") + print(f" Всего белка: {result.get('total_protein')} г") + print(f" Всего жиров: {result.get('total_fat')} г") + print(f" Всего углеводов: {result.get('total_carbs')} г") + print(f" Потреблено воды: {result.get('water_consumed_ml')} мл") + print(f" Активность: {result.get('activity_minutes')} мин") + print(f" Сожжено калорий: {result.get('calories_burned')} ккал") + return result + else: + print(f"❌ Ошибка при получении сводки: {response.status_code}") + print(response.text) + return None + except Exception as e: + print(f"❌ Исключение при получении сводки: {e}") + return None + +def main(): + """Основная функция для тестирования API сервиса питания""" + print("\n🚀 Запуск тестирования API сервиса питания...\n") + + # Получаем токен авторизации + token = get_auth_token() + if not token: + print("❌ Невозможно продолжить тестирование без авторизации") + sys.exit(1) + + # Выполняем поиск продуктов + search_results = search_food(token, "apple") + + if search_results and len(search_results) > 0: + # Используем первый найденный продукт для дальнейшего тестирования + food_id = search_results[0].get("id") + + # Добавляем запись в дневник питания + add_diary_entry(token, food_id) + + # Получаем записи дневника + get_diary_entries(token) + else: + # Если поиск не дал результатов, продолжаем тестирование с предполагаемым ID продукта + print("⚠️ Используем предполагаемый ID продукта для дальнейших тестов") + add_diary_entry(token, 1) + + # Добавляем записи о воде и активности + add_water_entry(token) + add_activity_entry(token) + + # Получаем дневную сводку + get_daily_summary(token) + + print("\n✅ Тестирование API сервиса питания завершено!") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/tests/test_nutrition_service.sh b/tests/test_nutrition_service.sh new file mode 100755 index 0000000..8dcbf5a --- /dev/null +++ b/tests/test_nutrition_service.sh @@ -0,0 +1,189 @@ +#!/bin/bash + +# Скрипт для тестирования API сервиса питания через cURL + +# Настройки +API_BASE_URL="http://localhost:8006/api/v1/nutrition" +AUTH_URL="http://localhost:8001/api/v1/auth" +TODAY=$(date +"%Y-%m-%d") +TEST_USERNAME="test_nutrition_user" +TEST_PASSWORD="Test123!" + +# Цветной вывод +GREEN='\033[0;32m' +RED='\033[0;31m' +BLUE='\033[0;34m' +YELLOW='\033[0;33m' +NC='\033[0m' # No Color + +echo -e "${BLUE}🚀 Запуск тестов для Nutrition Service API${NC}" +echo "---------------------------------------------" + +# Шаг 1: Авторизация и получение токена +echo -e "${BLUE}📝 Шаг 1: Получение токена авторизации${NC}" + +# Попытка входа +login_response=$(curl -s -X POST "${AUTH_URL}/login" \ + -H "Content-Type: application/json" \ + -d '{ + "username": "'"${TEST_USERNAME}"'", + "password": "'"${TEST_PASSWORD}"'" + }') + +# Проверяем, успешен ли вход +if [[ $login_response == *"access_token"* ]]; then + TOKEN=$(echo $login_response | grep -o '"access_token":"[^"]*' | sed 's/"access_token":"//') + echo -e "${GREEN}✅ Вход успешен!${NC}" +else + echo -e "${YELLOW}⚠️ Вход не удался, пробуем регистрацию...${NC}" + + # Пробуем зарегистрировать пользователя + curl -s -X POST "${AUTH_URL}/register" \ + -H "Content-Type: application/json" \ + -d '{ + "email": "'"${TEST_USERNAME}@example.com"'", + "username": "'"${TEST_USERNAME}"'", + "password": "'"${TEST_PASSWORD}"'", + "first_name": "Test", + "last_name": "Nutrition", + "phone": "+79991234999" + }' > /dev/null + + # После регистрации пробуем войти снова + login_response=$(curl -s -X POST "${AUTH_URL}/login" \ + -H "Content-Type: application/json" \ + -d '{ + "username": "'"${TEST_USERNAME}"'", + "password": "'"${TEST_PASSWORD}"'" + }') + + if [[ $login_response == *"access_token"* ]]; then + TOKEN=$(echo $login_response | grep -o '"access_token":"[^"]*' | sed 's/"access_token":"//') + echo -e "${GREEN}✅ Регистрация и вход успешны!${NC}" + else + echo -e "${RED}❌ Не удалось получить токен авторизации${NC}" + echo "Ответ сервера: $login_response" + exit 1 + fi +fi + +# Шаг 2: Поиск продуктов +echo -e "\n${BLUE}📝 Шаг 2: Поиск продуктов${NC}" +search_response=$(curl -s -X POST "${API_BASE_URL}/search" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer ${TOKEN}" \ + -d '{ + "query": "apple", + "max_results": 5 + }') + +echo "Результат поиска:" +echo "$search_response" | grep -o '"name":"[^"]*' | head -3 | sed 's/"name":"/- /' +echo "..." + +# Получаем ID первого продукта из результатов поиска +FOOD_ID=$(echo $search_response | grep -o '"id":[0-9]*' | head -1 | sed 's/"id"://') +if [[ -z "$FOOD_ID" ]]; then + echo -e "${YELLOW}⚠️ Не удалось получить ID продукта, используем значение по умолчанию${NC}" + FOOD_ID=1 +else + echo -e "${GREEN}✅ Получен ID продукта: ${FOOD_ID}${NC}" +fi + +# Шаг 3: Добавление записи в дневник питания +echo -e "\n${BLUE}📝 Шаг 3: Добавление записи в дневник питания${NC}" +diary_response=$(curl -s -X POST "${API_BASE_URL}/diary" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer ${TOKEN}" \ + -d '{ + "food_item_id": '"${FOOD_ID}"', + "entry_date": "'"${TODAY}"'", + "meal_type": "breakfast", + "quantity": 1.5, + "unit": "piece", + "notes": "Тестовая запись" + }') + +if [[ $diary_response == *"id"* ]]; then + echo -e "${GREEN}✅ Запись добавлена в дневник питания${NC}" + echo "Детали записи:" + echo "$diary_response" | grep -o '"calories":[0-9.]*' | sed 's/"calories":/Калории: /' +else + echo -e "${RED}❌ Ошибка при добавлении записи в дневник${NC}" + echo "Ответ сервера: $diary_response" +fi + +# Шаг 4: Получение записей дневника +echo -e "\n${BLUE}📝 Шаг 4: Получение записей дневника${NC}" +get_diary_response=$(curl -s -X GET "${API_BASE_URL}/diary?date=${TODAY}" \ + -H "Authorization: Bearer ${TOKEN}") + +if [[ $get_diary_response == *"meal_type"* ]]; then + echo -e "${GREEN}✅ Записи дневника успешно получены${NC}" + echo "Количество записей: $(echo $get_diary_response | grep -o '"meal_type"' | wc -l)" +else + echo -e "${YELLOW}⚠️ Нет записей в дневнике или ошибка получения${NC}" + echo "Ответ сервера: $get_diary_response" +fi + +# Шаг 5: Добавление записи о потреблении воды +echo -e "\n${BLUE}📝 Шаг 5: Добавление записи о потреблении воды${NC}" +water_response=$(curl -s -X POST "${API_BASE_URL}/water" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer ${TOKEN}" \ + -d '{ + "amount_ml": 250, + "entry_date": "'"${TODAY}"'", + "notes": "Утренний стакан воды" + }') + +if [[ $water_response == *"id"* ]]; then + echo -e "${GREEN}✅ Запись о потреблении воды добавлена${NC}" + echo "Детали записи:" + echo "$water_response" | grep -o '"amount_ml":[0-9]*' | sed 's/"amount_ml":/Объем (мл): /' +else + echo -e "${RED}❌ Ошибка при добавлении записи о воде${NC}" + echo "Ответ сервера: $water_response" +fi + +# Шаг 6: Добавление записи о физической активности +echo -e "\n${BLUE}📝 Шаг 6: Добавление записи о физической активности${NC}" +activity_response=$(curl -s -X POST "${API_BASE_URL}/activity" \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer ${TOKEN}" \ + -d '{ + "entry_date": "'"${TODAY}"'", + "activity_type": "running", + "duration_minutes": 30, + "distance_km": 5.2, + "intensity": "medium", + "notes": "Утренняя пробежка" + }') + +if [[ $activity_response == *"id"* ]]; then + echo -e "${GREEN}✅ Запись о физической активности добавлена${NC}" + echo "Детали записи:" + echo "$activity_response" | grep -o '"duration_minutes":[0-9]*' | sed 's/"duration_minutes":/Продолжительность (мин): /' + echo "$activity_response" | grep -o '"calories_burned":[0-9.]*' | sed 's/"calories_burned":/Сожжено калорий: /' +else + echo -e "${RED}❌ Ошибка при добавлении записи об активности${NC}" + echo "Ответ сервера: $activity_response" +fi + +# Шаг 7: Получение сводки за день +echo -e "\n${BLUE}📝 Шаг 7: Получение сводки за день${NC}" +summary_response=$(curl -s -X GET "${API_BASE_URL}/summary?date=${TODAY}" \ + -H "Authorization: Bearer ${TOKEN}") + +if [[ $summary_response == *"total_calories"* ]]; then + echo -e "${GREEN}✅ Дневная сводка успешно получена${NC}" + echo "Детали сводки:" + echo "$summary_response" | grep -o '"total_calories":[0-9.]*' | sed 's/"total_calories":/Всего калорий: /' + echo "$summary_response" | grep -o '"water_consumed_ml":[0-9]*' | sed 's/"water_consumed_ml":/Потреблено воды (мл): /' + echo "$summary_response" | grep -o '"activity_minutes":[0-9]*' | sed 's/"activity_minutes":/Минуты активности: /' +else + echo -e "${YELLOW}⚠️ Нет данных для сводки или ошибка получения${NC}" + echo "Ответ сервера: $summary_response" +fi + +echo -e "\n${GREEN}✅ Тестирование API сервиса питания завершено!${NC}" \ No newline at end of file diff --git a/test_standalone.py b/tests/test_standalone.py similarity index 100% rename from test_standalone.py rename to tests/test_standalone.py diff --git a/venv/bin/alembic b/venv/bin/alembic index 826ade7..6882a08 100755 --- a/venv/bin/alembic +++ b/venv/bin/alembic @@ -1,4 +1,4 @@ -#!/home/trevor/dev/chat/venv/bin/python +#!/home/trevor/dev/chat/venv/bin/python3.12 # -*- coding: utf-8 -*- import re import sys diff --git a/venv/bin/celery b/venv/bin/celery index 604c4b1..5280d04 100755 --- a/venv/bin/celery +++ b/venv/bin/celery @@ -1,4 +1,4 @@ -#!/home/trevor/dev/chat/venv/bin/python +#!/home/trevor/dev/chat/venv/bin/python3.12 # -*- coding: utf-8 -*- import re import sys diff --git a/venv/bin/dotenv b/venv/bin/dotenv index 5afe262..a4d2ce6 100755 --- a/venv/bin/dotenv +++ b/venv/bin/dotenv @@ -1,4 +1,4 @@ -#!/home/trevor/dev/chat/venv/bin/python +#!/home/trevor/dev/chat/venv/bin/python3.12 # -*- coding: utf-8 -*- import re import sys diff --git a/venv/bin/fastapi b/venv/bin/fastapi deleted file mode 100755 index 0e19d96..0000000 --- a/venv/bin/fastapi +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/trevor/dev/chat/venv/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from fastapi.cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/venv/bin/uvicorn b/venv/bin/uvicorn index 9c6469f..e1a62c9 100755 --- a/venv/bin/uvicorn +++ b/venv/bin/uvicorn @@ -1,4 +1,4 @@ -#!/home/trevor/dev/chat/venv/bin/python +#!/home/trevor/dev/chat/venv/bin/python3.12 # -*- coding: utf-8 -*- import re import sys diff --git a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/RECORD b/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/RECORD deleted file mode 100644 index 84334ea..0000000 --- a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/RECORD +++ /dev/null @@ -1,33 +0,0 @@ -PyJWT-2.10.1.dist-info/AUTHORS.rst,sha256=klzkNGECnu2_VY7At89_xLBF3vUSDruXk3xwgUBxzwc,322 -PyJWT-2.10.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -PyJWT-2.10.1.dist-info/LICENSE,sha256=eXp6ICMdTEM-nxkR2xcx0GtYKLmPSZgZoDT3wPVvXOU,1085 -PyJWT-2.10.1.dist-info/METADATA,sha256=EkewF6D6KU8SGaaQzVYfxUUU1P_gs_dp1pYTkoYvAx8,3990 -PyJWT-2.10.1.dist-info/RECORD,, -PyJWT-2.10.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -PyJWT-2.10.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91 -PyJWT-2.10.1.dist-info/top_level.txt,sha256=RP5DHNyJbMq2ka0FmfTgoSaQzh7e3r5XuCWCO8a00k8,4 -jwt/__init__.py,sha256=VB2vFKuboTjcDGeZ8r-UqK_dz3NsQSQEqySSICby8Xg,1711 -jwt/__pycache__/__init__.cpython-312.pyc,, -jwt/__pycache__/algorithms.cpython-312.pyc,, -jwt/__pycache__/api_jwk.cpython-312.pyc,, -jwt/__pycache__/api_jws.cpython-312.pyc,, -jwt/__pycache__/api_jwt.cpython-312.pyc,, -jwt/__pycache__/exceptions.cpython-312.pyc,, -jwt/__pycache__/help.cpython-312.pyc,, -jwt/__pycache__/jwk_set_cache.cpython-312.pyc,, -jwt/__pycache__/jwks_client.cpython-312.pyc,, -jwt/__pycache__/types.cpython-312.pyc,, -jwt/__pycache__/utils.cpython-312.pyc,, -jwt/__pycache__/warnings.cpython-312.pyc,, -jwt/algorithms.py,sha256=cKr-XEioe0mBtqJMCaHEswqVOA1Z8Purt5Sb3Bi-5BE,30409 -jwt/api_jwk.py,sha256=6F1r7rmm8V5qEnBKA_xMjS9R7VoANe1_BL1oD2FrAjE,4451 -jwt/api_jws.py,sha256=aM8vzqQf6mRrAw7bRy-Moj_pjWsKSVQyYK896AfMjJU,11762 -jwt/api_jwt.py,sha256=OGT4hok1l5A6FH_KdcrU5g6u6EQ8B7em0r9kGM9SYgA,14512 -jwt/exceptions.py,sha256=bUIOJ-v9tjopTLS-FYOTc3kFx5WP5IZt7ksN_HE1G9Q,1211 -jwt/help.py,sha256=vFdNzjQoAch04XCMYpCkyB2blaqHAGAqQrtf9nSPkdk,1808 -jwt/jwk_set_cache.py,sha256=hBKmN-giU7-G37L_XKgc_OZu2ah4wdbj1ZNG_GkoSE8,959 -jwt/jwks_client.py,sha256=p9b-IbQqo2tEge9Zit3oSPBFNePqwho96VLbnUrHUWs,4259 -jwt/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -jwt/types.py,sha256=VnhGv_VFu5a7_mrPoSCB7HaNLrJdhM8Sq1sSfEg0gLU,99 -jwt/utils.py,sha256=hxOjvDBheBYhz-RIPiEz7Q88dSUSTMzEdKE_Ww2VdJw,3640 -jwt/warnings.py,sha256=50XWOnyNsIaqzUJTk6XHNiIDykiL763GYA92MjTKmok,59 diff --git a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/AUTHORS.rst b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/AUTHORS.rst similarity index 100% rename from venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/AUTHORS.rst rename to venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/AUTHORS.rst diff --git a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/LICENSE b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/LICENSE rename to venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/LICENSE diff --git a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/METADATA b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/METADATA similarity index 67% rename from venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/METADATA rename to venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/METADATA index f31b700..b329a46 100644 --- a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/METADATA @@ -1,45 +1,47 @@ Metadata-Version: 2.1 Name: PyJWT -Version: 2.10.1 +Version: 2.8.0 Summary: JSON Web Token implementation in Python -Author-email: Jose Padilla +Home-page: https://github.com/jpadilla/pyjwt +Author: Jose Padilla +Author-email: hello@jpadilla.com License: MIT -Project-URL: Homepage, https://github.com/jpadilla/pyjwt Keywords: json,jwt,security,signing,token,web Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License Classifier: Natural Language :: English +Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Topic :: Utilities -Requires-Python: >=3.9 +Requires-Python: >=3.7 Description-Content-Type: text/x-rst License-File: LICENSE License-File: AUTHORS.rst +Requires-Dist: typing-extensions ; python_version <= "3.7" Provides-Extra: crypto -Requires-Dist: cryptography>=3.4.0; extra == "crypto" +Requires-Dist: cryptography (>=3.4.0) ; extra == 'crypto' Provides-Extra: dev -Requires-Dist: coverage[toml]==5.0.4; extra == "dev" -Requires-Dist: cryptography>=3.4.0; extra == "dev" -Requires-Dist: pre-commit; extra == "dev" -Requires-Dist: pytest<7.0.0,>=6.0.0; extra == "dev" -Requires-Dist: sphinx; extra == "dev" -Requires-Dist: sphinx-rtd-theme; extra == "dev" -Requires-Dist: zope.interface; extra == "dev" +Requires-Dist: sphinx (<5.0.0,>=4.5.0) ; extra == 'dev' +Requires-Dist: sphinx-rtd-theme ; extra == 'dev' +Requires-Dist: zope.interface ; extra == 'dev' +Requires-Dist: cryptography (>=3.4.0) ; extra == 'dev' +Requires-Dist: pytest (<7.0.0,>=6.0.0) ; extra == 'dev' +Requires-Dist: coverage[toml] (==5.0.4) ; extra == 'dev' +Requires-Dist: pre-commit ; extra == 'dev' Provides-Extra: docs -Requires-Dist: sphinx; extra == "docs" -Requires-Dist: sphinx-rtd-theme; extra == "docs" -Requires-Dist: zope.interface; extra == "docs" +Requires-Dist: sphinx (<5.0.0,>=4.5.0) ; extra == 'docs' +Requires-Dist: sphinx-rtd-theme ; extra == 'docs' +Requires-Dist: zope.interface ; extra == 'docs' Provides-Extra: tests -Requires-Dist: coverage[toml]==5.0.4; extra == "tests" -Requires-Dist: pytest<7.0.0,>=6.0.0; extra == "tests" +Requires-Dist: pytest (<7.0.0,>=6.0.0) ; extra == 'tests' +Requires-Dist: coverage[toml] (==5.0.4) ; extra == 'tests' PyJWT ===== @@ -61,12 +63,11 @@ A Python implementation of `RFC 7519 `_. Or Sponsor ------- -.. |auth0-logo| image:: https://github.com/user-attachments/assets/ee98379e-ee76-4bcb-943a-e25c4ea6d174 - :width: 160px ++--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| |auth0-logo| | If you want to quickly add secure token-based authentication to Python projects, feel free to check Auth0's Python SDK and free plan at `auth0.com/developers `_. | ++--------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -+--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| |auth0-logo| | If you want to quickly add secure token-based authentication to Python projects, feel free to check Auth0's Python SDK and free plan at `auth0.com/signup `_. | -+--------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +.. |auth0-logo| image:: https://user-images.githubusercontent.com/83319/31722733-de95bbde-b3ea-11e7-96bf-4f4e8f915588.png Installing ---------- diff --git a/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/RECORD b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/RECORD new file mode 100644 index 0000000..d77ecb7 --- /dev/null +++ b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/RECORD @@ -0,0 +1,33 @@ +PyJWT-2.8.0.dist-info/AUTHORS.rst,sha256=klzkNGECnu2_VY7At89_xLBF3vUSDruXk3xwgUBxzwc,322 +PyJWT-2.8.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +PyJWT-2.8.0.dist-info/LICENSE,sha256=eXp6ICMdTEM-nxkR2xcx0GtYKLmPSZgZoDT3wPVvXOU,1085 +PyJWT-2.8.0.dist-info/METADATA,sha256=pV2XZjvithGcVesLHWAv0J4T5t8Qc66fip2sbxwoz1o,4160 +PyJWT-2.8.0.dist-info/RECORD,, +PyJWT-2.8.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +PyJWT-2.8.0.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92 +PyJWT-2.8.0.dist-info/top_level.txt,sha256=RP5DHNyJbMq2ka0FmfTgoSaQzh7e3r5XuCWCO8a00k8,4 +jwt/__init__.py,sha256=mV9lg6n4-0xiqCKaE1eEPC9a4j6sEkEYQcKghULE7kU,1670 +jwt/__pycache__/__init__.cpython-312.pyc,, +jwt/__pycache__/algorithms.cpython-312.pyc,, +jwt/__pycache__/api_jwk.cpython-312.pyc,, +jwt/__pycache__/api_jws.cpython-312.pyc,, +jwt/__pycache__/api_jwt.cpython-312.pyc,, +jwt/__pycache__/exceptions.cpython-312.pyc,, +jwt/__pycache__/help.cpython-312.pyc,, +jwt/__pycache__/jwk_set_cache.cpython-312.pyc,, +jwt/__pycache__/jwks_client.cpython-312.pyc,, +jwt/__pycache__/types.cpython-312.pyc,, +jwt/__pycache__/utils.cpython-312.pyc,, +jwt/__pycache__/warnings.cpython-312.pyc,, +jwt/algorithms.py,sha256=RDsv5Lm3bzwsiWT3TynT7JR41R6H6s_fWUGOIqd9x_I,29800 +jwt/api_jwk.py,sha256=HPxVqgBZm7RTaEXydciNBCuYNKDYOC_prTdaN9toGbo,4196 +jwt/api_jws.py,sha256=da17RrDe0PDccTbx3rx2lLezEG_c_YGw_vVHa335IOk,11099 +jwt/api_jwt.py,sha256=yF9DwF1kt3PA5n_TiU0OmHd0LtPHfe4JCE1XOfKPjw0,12638 +jwt/exceptions.py,sha256=KDC3M7cTrpR4OQXVURlVMThem0pfANSgBxRz-ttivmo,1046 +jwt/help.py,sha256=Jrp84fG43sCwmSIaDtY08I6ZR2VE7NhrTff89tYSE40,1749 +jwt/jwk_set_cache.py,sha256=hBKmN-giU7-G37L_XKgc_OZu2ah4wdbj1ZNG_GkoSE8,959 +jwt/jwks_client.py,sha256=9W8JVyGByQgoLbBN1u5iY1_jlgfnnukeOBTpqaM_9SE,4222 +jwt/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jwt/types.py,sha256=VnhGv_VFu5a7_mrPoSCB7HaNLrJdhM8Sq1sSfEg0gLU,99 +jwt/utils.py,sha256=PAI05_8MHQCxWQTDlwN0hTtTIT2DTTZ28mm1x6-26UY,3903 +jwt/warnings.py,sha256=50XWOnyNsIaqzUJTk6XHNiIDykiL763GYA92MjTKmok,59 diff --git a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/WHEEL b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/WHEEL similarity index 65% rename from venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/WHEEL index e7fa31b..1f37c02 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 -Generator: setuptools (80.9.0) +Generator: bdist_wheel (0.40.0) Root-Is-Purelib: true Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/top_level.txt similarity index 100% rename from venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/top_level.txt rename to venv/lib/python3.12/site-packages/PyJWT-2.8.0.dist-info/top_level.txt diff --git a/venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/LICENSE similarity index 94% rename from venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/LICENSE index dfe1a4d..7bf9bbe 100644 --- a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/licenses/LICENSE +++ b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/LICENSE @@ -1,4 +1,4 @@ -Copyright 2005-2025 SQLAlchemy authors and contributors . +Copyright 2005-2023 SQLAlchemy authors and contributors . Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/METADATA b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/METADATA similarity index 73% rename from venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/METADATA rename to venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/METADATA index d34d362..9f2808f 100644 --- a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/METADATA @@ -1,6 +1,6 @@ -Metadata-Version: 2.4 +Metadata-Version: 2.1 Name: SQLAlchemy -Version: 2.0.43 +Version: 2.0.23 Summary: Database Abstraction Library Home-page: https://www.sqlalchemy.org Author: Mike Bayer @@ -10,6 +10,7 @@ Project-URL: Documentation, https://docs.sqlalchemy.org Project-URL: Issue Tracker, https://github.com/sqlalchemy/sqlalchemy/ Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 @@ -18,70 +19,67 @@ Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Database :: Front-Ends Requires-Python: >=3.7 Description-Content-Type: text/x-rst License-File: LICENSE -Requires-Dist: importlib-metadata; python_version < "3.8" -Requires-Dist: greenlet>=1; python_version < "3.14" and (platform_machine == "aarch64" or (platform_machine == "ppc64le" or (platform_machine == "x86_64" or (platform_machine == "amd64" or (platform_machine == "AMD64" or (platform_machine == "win32" or platform_machine == "WIN32")))))) -Requires-Dist: typing-extensions>=4.6.0 -Provides-Extra: asyncio -Requires-Dist: greenlet>=1; extra == "asyncio" -Provides-Extra: mypy -Requires-Dist: mypy>=0.910; extra == "mypy" -Provides-Extra: mssql -Requires-Dist: pyodbc; extra == "mssql" -Provides-Extra: mssql-pymssql -Requires-Dist: pymssql; extra == "mssql-pymssql" -Provides-Extra: mssql-pyodbc -Requires-Dist: pyodbc; extra == "mssql-pyodbc" -Provides-Extra: mysql -Requires-Dist: mysqlclient>=1.4.0; extra == "mysql" -Provides-Extra: mysql-connector -Requires-Dist: mysql-connector-python; extra == "mysql-connector" -Provides-Extra: mariadb-connector -Requires-Dist: mariadb!=1.1.10,!=1.1.2,!=1.1.5,>=1.0.1; extra == "mariadb-connector" -Provides-Extra: oracle -Requires-Dist: cx_oracle>=8; extra == "oracle" -Provides-Extra: oracle-oracledb -Requires-Dist: oracledb>=1.0.1; extra == "oracle-oracledb" -Provides-Extra: postgresql -Requires-Dist: psycopg2>=2.7; extra == "postgresql" -Provides-Extra: postgresql-pg8000 -Requires-Dist: pg8000>=1.29.1; extra == "postgresql-pg8000" -Provides-Extra: postgresql-asyncpg -Requires-Dist: greenlet>=1; extra == "postgresql-asyncpg" -Requires-Dist: asyncpg; extra == "postgresql-asyncpg" -Provides-Extra: postgresql-psycopg2binary -Requires-Dist: psycopg2-binary; extra == "postgresql-psycopg2binary" -Provides-Extra: postgresql-psycopg2cffi -Requires-Dist: psycopg2cffi; extra == "postgresql-psycopg2cffi" -Provides-Extra: postgresql-psycopg -Requires-Dist: psycopg>=3.0.7; extra == "postgresql-psycopg" -Provides-Extra: postgresql-psycopgbinary -Requires-Dist: psycopg[binary]>=3.0.7; extra == "postgresql-psycopgbinary" -Provides-Extra: pymysql -Requires-Dist: pymysql; extra == "pymysql" +Requires-Dist: typing-extensions >=4.2.0 +Requires-Dist: greenlet !=0.4.17 ; platform_machine == "aarch64" or (platform_machine == "ppc64le" or (platform_machine == "x86_64" or (platform_machine == "amd64" or (platform_machine == "AMD64" or (platform_machine == "win32" or platform_machine == "WIN32"))))) +Requires-Dist: importlib-metadata ; python_version < "3.8" Provides-Extra: aiomysql -Requires-Dist: greenlet>=1; extra == "aiomysql" -Requires-Dist: aiomysql>=0.2.0; extra == "aiomysql" +Requires-Dist: greenlet !=0.4.17 ; extra == 'aiomysql' +Requires-Dist: aiomysql >=0.2.0 ; extra == 'aiomysql' Provides-Extra: aioodbc -Requires-Dist: greenlet>=1; extra == "aioodbc" -Requires-Dist: aioodbc; extra == "aioodbc" -Provides-Extra: asyncmy -Requires-Dist: greenlet>=1; extra == "asyncmy" -Requires-Dist: asyncmy!=0.2.4,!=0.2.6,>=0.2.3; extra == "asyncmy" +Requires-Dist: greenlet !=0.4.17 ; extra == 'aioodbc' +Requires-Dist: aioodbc ; extra == 'aioodbc' Provides-Extra: aiosqlite -Requires-Dist: greenlet>=1; extra == "aiosqlite" -Requires-Dist: aiosqlite; extra == "aiosqlite" -Requires-Dist: typing_extensions!=3.10.0.1; extra == "aiosqlite" +Requires-Dist: greenlet !=0.4.17 ; extra == 'aiosqlite' +Requires-Dist: aiosqlite ; extra == 'aiosqlite' +Requires-Dist: typing-extensions !=3.10.0.1 ; extra == 'aiosqlite' +Provides-Extra: asyncio +Requires-Dist: greenlet !=0.4.17 ; extra == 'asyncio' +Provides-Extra: asyncmy +Requires-Dist: greenlet !=0.4.17 ; extra == 'asyncmy' +Requires-Dist: asyncmy !=0.2.4,!=0.2.6,>=0.2.3 ; extra == 'asyncmy' +Provides-Extra: mariadb_connector +Requires-Dist: mariadb !=1.1.2,!=1.1.5,>=1.0.1 ; extra == 'mariadb_connector' +Provides-Extra: mssql +Requires-Dist: pyodbc ; extra == 'mssql' +Provides-Extra: mssql_pymssql +Requires-Dist: pymssql ; extra == 'mssql_pymssql' +Provides-Extra: mssql_pyodbc +Requires-Dist: pyodbc ; extra == 'mssql_pyodbc' +Provides-Extra: mypy +Requires-Dist: mypy >=0.910 ; extra == 'mypy' +Provides-Extra: mysql +Requires-Dist: mysqlclient >=1.4.0 ; extra == 'mysql' +Provides-Extra: mysql_connector +Requires-Dist: mysql-connector-python ; extra == 'mysql_connector' +Provides-Extra: oracle +Requires-Dist: cx-oracle >=8 ; extra == 'oracle' +Provides-Extra: oracle_oracledb +Requires-Dist: oracledb >=1.0.1 ; extra == 'oracle_oracledb' +Provides-Extra: postgresql +Requires-Dist: psycopg2 >=2.7 ; extra == 'postgresql' +Provides-Extra: postgresql_asyncpg +Requires-Dist: greenlet !=0.4.17 ; extra == 'postgresql_asyncpg' +Requires-Dist: asyncpg ; extra == 'postgresql_asyncpg' +Provides-Extra: postgresql_pg8000 +Requires-Dist: pg8000 >=1.29.1 ; extra == 'postgresql_pg8000' +Provides-Extra: postgresql_psycopg +Requires-Dist: psycopg >=3.0.7 ; extra == 'postgresql_psycopg' +Provides-Extra: postgresql_psycopg2binary +Requires-Dist: psycopg2-binary ; extra == 'postgresql_psycopg2binary' +Provides-Extra: postgresql_psycopg2cffi +Requires-Dist: psycopg2cffi ; extra == 'postgresql_psycopg2cffi' +Provides-Extra: postgresql_psycopgbinary +Requires-Dist: psycopg[binary] >=3.0.7 ; extra == 'postgresql_psycopgbinary' +Provides-Extra: pymysql +Requires-Dist: pymysql ; extra == 'pymysql' Provides-Extra: sqlcipher -Requires-Dist: sqlcipher3_binary; extra == "sqlcipher" -Dynamic: license-file +Requires-Dist: sqlcipher3-binary ; extra == 'sqlcipher' SQLAlchemy ========== diff --git a/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/RECORD b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/RECORD new file mode 100644 index 0000000..f8e50d8 --- /dev/null +++ b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/RECORD @@ -0,0 +1,530 @@ +SQLAlchemy-2.0.23.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +SQLAlchemy-2.0.23.dist-info/LICENSE,sha256=2lSTeluT1aC-5eJXO8vhkzf93qCSeV_mFXLrv3tNdIU,1100 +SQLAlchemy-2.0.23.dist-info/METADATA,sha256=znDChLueFNPCOPuNix-FfY7FG6aQOCM-lQwwN-cPLQs,9551 +SQLAlchemy-2.0.23.dist-info/RECORD,, +SQLAlchemy-2.0.23.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +SQLAlchemy-2.0.23.dist-info/WHEEL,sha256=JmQLNqDEfvnYMfsIaVeSP3fmUcYDwmF12m3QYW0c7QQ,152 +SQLAlchemy-2.0.23.dist-info/top_level.txt,sha256=rp-ZgB7D8G11ivXON5VGPjupT1voYmWqkciDt5Uaw_Q,11 +sqlalchemy/__init__.py,sha256=DjKCAltzrHGfaVdXVeFJpBmTaX6JmyloHANzewBUWo4,12708 +sqlalchemy/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/__pycache__/events.cpython-312.pyc,, +sqlalchemy/__pycache__/exc.cpython-312.pyc,, +sqlalchemy/__pycache__/inspection.cpython-312.pyc,, +sqlalchemy/__pycache__/log.cpython-312.pyc,, +sqlalchemy/__pycache__/schema.cpython-312.pyc,, +sqlalchemy/__pycache__/types.cpython-312.pyc,, +sqlalchemy/connectors/__init__.py,sha256=uKUYWQoXyleIyjWBuh7gzgnazJokx3DaasKJbFOfQGA,476 +sqlalchemy/connectors/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/connectors/__pycache__/aioodbc.cpython-312.pyc,, +sqlalchemy/connectors/__pycache__/asyncio.cpython-312.pyc,, +sqlalchemy/connectors/__pycache__/pyodbc.cpython-312.pyc,, +sqlalchemy/connectors/aioodbc.py,sha256=QiafuN9bx_wcIs8tByLftTmGAegXPoFPwUaxCDU_ZQA,5737 +sqlalchemy/connectors/asyncio.py,sha256=ZZmJSFT50u-GEjZzytQOdB_tkBFxi3XPWRrNhs_nASc,6139 +sqlalchemy/connectors/pyodbc.py,sha256=NskMydn26ZkHL8aQ1V3L4WIAWin3zwJ5VEnlHvAD1DE,8453 +sqlalchemy/cyextension/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +sqlalchemy/cyextension/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/cyextension/collections.cpython-312-x86_64-linux-gnu.so,sha256=qPSMnyXVSLYHMr_ot_ZK7yEYadhTuT8ryb6eTMFFWrM,1947440 +sqlalchemy/cyextension/collections.pyx,sha256=KDI5QTOyYz9gDl-3d7MbGMA0Kc-wxpJqnLmCaUmQy2U,12323 +sqlalchemy/cyextension/immutabledict.cpython-312-x86_64-linux-gnu.so,sha256=J9m0gK6R8PGR36jxAKx415VxX0-0fqvbQAP9-DDU1qA,811232 +sqlalchemy/cyextension/immutabledict.pxd,sha256=oc8BbnQwDg7pWAdThB-fzu8s9_ViOe1Ds-8T0r0POjI,41 +sqlalchemy/cyextension/immutabledict.pyx,sha256=aQJPZKjcqbO8jHDqpC9F-v-ew2qAjUscc5CntaheZUk,3285 +sqlalchemy/cyextension/processors.cpython-312-x86_64-linux-gnu.so,sha256=WOLcEWRNXn4UtJGhzF5B1h7JpPPfn-ziQMT0lkhobQE,533968 +sqlalchemy/cyextension/processors.pyx,sha256=0swFIBdR19x1kPRe-dijBaLW898AhH6QJizbv4ho9pk,1545 +sqlalchemy/cyextension/resultproxy.cpython-312-x86_64-linux-gnu.so,sha256=bte73oURZXuV7YvkjyGo-OjRCnSgYukqDp5KM9-Z8xY,626112 +sqlalchemy/cyextension/resultproxy.pyx,sha256=cDtMjLTdC47g7cME369NSOCck3JwG2jwZ6j25no3_gw,2477 +sqlalchemy/cyextension/util.cpython-312-x86_64-linux-gnu.so,sha256=8yMbb069NQN1b6yAsCBCMpbX94sH4iLs61vPNxd0bOg,958760 +sqlalchemy/cyextension/util.pyx,sha256=lv03p63oVn23jLhMI4_RYGewUnJfh-4FkrNMEFL7A3Y,2289 +sqlalchemy/dialects/__init__.py,sha256=hLsgIEomunlp4mNLnvjCQTLOnBVva8N7IT2-RYrN2_4,1770 +sqlalchemy/dialects/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/dialects/__pycache__/_typing.cpython-312.pyc,, +sqlalchemy/dialects/_typing.py,sha256=P2ML2o4b_bWAAy3zbdoUjx3vXsMNwpiOblef8ThCxlM,648 +sqlalchemy/dialects/mssql/__init__.py,sha256=CYbbydyMSLjUq8vY1siNStd4lvjVXod8ddeDS6ELHLk,1871 +sqlalchemy/dialects/mssql/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/dialects/mssql/__pycache__/aioodbc.cpython-312.pyc,, +sqlalchemy/dialects/mssql/__pycache__/base.cpython-312.pyc,, +sqlalchemy/dialects/mssql/__pycache__/information_schema.cpython-312.pyc,, +sqlalchemy/dialects/mssql/__pycache__/json.cpython-312.pyc,, +sqlalchemy/dialects/mssql/__pycache__/provision.cpython-312.pyc,, +sqlalchemy/dialects/mssql/__pycache__/pymssql.cpython-312.pyc,, +sqlalchemy/dialects/mssql/__pycache__/pyodbc.cpython-312.pyc,, +sqlalchemy/dialects/mssql/aioodbc.py,sha256=ncj3yyfvW91o3g19GB5s1I0oaZKUO_P-R2nwnLF0t9E,2013 +sqlalchemy/dialects/mssql/base.py,sha256=l9vX6fK6DJEYA00N9uDnvSbqfgvxXfYUn2C4AF5T920,133649 +sqlalchemy/dialects/mssql/information_schema.py,sha256=ll0zAupJ4cPvhi9v5hTi7PQLU1lae4o6eQ5Vg7gykXQ,8074 +sqlalchemy/dialects/mssql/json.py,sha256=B0m6H08CKuk-yomDHcCwfQbVuVN2WLufuVueA_qb1NQ,4573 +sqlalchemy/dialects/mssql/provision.py,sha256=x7XRSQDxz4jz2uIpqwhuIXpL9bic0Vw7Mhy39HOkyqY,5013 +sqlalchemy/dialects/mssql/pymssql.py,sha256=BfJp9t-IQabqWXySJBmP9pwNTWnJqbjA2jJM9M4XeWc,4029 +sqlalchemy/dialects/mssql/pyodbc.py,sha256=qwZ8ByOTZ1WObjxeOravoJBSBX-s4RJ_PZ5VJ_Ch5Ws,27048 +sqlalchemy/dialects/mysql/__init__.py,sha256=btLABiNnmbWt9ziW-XgVWEB1qHWQcSFz7zxZNw4m_LY,2144 +sqlalchemy/dialects/mysql/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/aiomysql.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/asyncmy.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/base.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/cymysql.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/dml.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/enumerated.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/expression.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/json.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/mariadb.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/mariadbconnector.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/mysqlconnector.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/mysqldb.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/provision.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/pymysql.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/pyodbc.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/reflection.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/reserved_words.cpython-312.pyc,, +sqlalchemy/dialects/mysql/__pycache__/types.cpython-312.pyc,, +sqlalchemy/dialects/mysql/aiomysql.py,sha256=Zb-_F9Pzl0t-fT1bZwbNNne6jjCUqBXxeizbhMFPqls,9750 +sqlalchemy/dialects/mysql/asyncmy.py,sha256=zqupDz7AJihjv3E8w_4XAtq95d8stdrETNx60MLNVr0,9819 +sqlalchemy/dialects/mysql/base.py,sha256=q-DzkR_txwDTeWTEByzHAoIArYU3Bb5HT2Bnmuw7WIM,120688 +sqlalchemy/dialects/mysql/cymysql.py,sha256=5CQVJAlqQ3pT4IDGSQJH2hCzj-EWjUitA21MLqJwEEs,2291 +sqlalchemy/dialects/mysql/dml.py,sha256=qw0ZweHbMsbNyVSfC17HqylCnf7XAuIjtgofiWABT8k,7636 +sqlalchemy/dialects/mysql/enumerated.py,sha256=1L2J2wT6nQEmRS4z-jzZpoi44IqIaHgBRZZB9m55czo,8439 +sqlalchemy/dialects/mysql/expression.py,sha256=WW5G2XPwqJfXjuzHBt4BRP0pCLcPJkPD1mvZX1g0JL0,4066 +sqlalchemy/dialects/mysql/json.py,sha256=JlSFBAHhJ9JmV-3azH80xkLgeh7g6A6DVyNVCNZiKPU,2260 +sqlalchemy/dialects/mysql/mariadb.py,sha256=Sugyngvo6j6SfFFuJ23rYeFWEPdZ9Ji9guElsk_1WSQ,844 +sqlalchemy/dialects/mysql/mariadbconnector.py,sha256=F1VPosecC1hDZqjzZI29j4GUduyU4ewPwb-ekBQva5w,8725 +sqlalchemy/dialects/mysql/mysqlconnector.py,sha256=5glmkPhD_KP-Mci8ZXBr4yzqH1MDfzCJ9F_kZNyXcGo,5666 +sqlalchemy/dialects/mysql/mysqldb.py,sha256=R5BDiXiHX5oFuAOzyxZ6TYUTGzly-dulMeQLkeia6kk,9649 +sqlalchemy/dialects/mysql/provision.py,sha256=uPT6-BIoP_12XLmWAza1TDFNhOVVJ3rmQoMH7nvh-Vg,3226 +sqlalchemy/dialects/mysql/pymysql.py,sha256=d2-00IPoyEDkR9REQTE-DGEQrGshUq_0G5liZ5FiSEM,4032 +sqlalchemy/dialects/mysql/pyodbc.py,sha256=mkOvumrxpmAi6noZlkaTVKz2F7G5vLh2vx0cZSn9VTA,4288 +sqlalchemy/dialects/mysql/reflection.py,sha256=ak6E-eCP9346ixnILYNJcrRYblWbIT0sjXf4EqmfBsY,22556 +sqlalchemy/dialects/mysql/reserved_words.py,sha256=DsPHsW3vwOrvU7bv3Nbfact2Z_jyZ9xUTT-mdeQvqxo,9145 +sqlalchemy/dialects/mysql/types.py,sha256=i8DpRkOL1QhPErZ25AmCQOuFLciWhdjNL3I0CeHEhdY,24258 +sqlalchemy/dialects/oracle/__init__.py,sha256=pjk1aWi9XFCAHWNSJzSzmoIcL32-AkU_1J9IV4PtwpA,1318 +sqlalchemy/dialects/oracle/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/dialects/oracle/__pycache__/base.cpython-312.pyc,, +sqlalchemy/dialects/oracle/__pycache__/cx_oracle.cpython-312.pyc,, +sqlalchemy/dialects/oracle/__pycache__/dictionary.cpython-312.pyc,, +sqlalchemy/dialects/oracle/__pycache__/oracledb.cpython-312.pyc,, +sqlalchemy/dialects/oracle/__pycache__/provision.cpython-312.pyc,, +sqlalchemy/dialects/oracle/__pycache__/types.cpython-312.pyc,, +sqlalchemy/dialects/oracle/base.py,sha256=u55_R9NrCRijud7ioHMxT-r0MSW0gMFjOwbrDdPgFsc,118036 +sqlalchemy/dialects/oracle/cx_oracle.py,sha256=L0GvcB6xb0-zyv5dx3bpQCeptp0KSqH6g9FUQ4y-d-g,55108 +sqlalchemy/dialects/oracle/dictionary.py,sha256=iUoyFEFM8z0sfVWR2n_nnre14kaQkV_syKO0R5Dos4M,19487 +sqlalchemy/dialects/oracle/oracledb.py,sha256=_-fUQ94xai80B7v9WLVGoGDIv8u54nVspBdyGEyI76g,3457 +sqlalchemy/dialects/oracle/provision.py,sha256=5cvIc3yTWxz4AIRYxcesbRJ1Ft-zT9GauQ911yPnN2o,8055 +sqlalchemy/dialects/oracle/types.py,sha256=TeOhUW5W9qZC8SaJ-9b3u6OvOPOarNq4MmCQ7l3wWX0,8204 +sqlalchemy/dialects/postgresql/__init__.py,sha256=bZEPsLbRtB7s6TMQAHCIzKBgkxUa3eDXvCkeARua37E,3734 +sqlalchemy/dialects/postgresql/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/_psycopg_common.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/array.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/asyncpg.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/base.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/dml.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/ext.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/hstore.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/json.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/named_types.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/operators.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/pg8000.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/pg_catalog.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/provision.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/psycopg.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/psycopg2.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/psycopg2cffi.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/ranges.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/__pycache__/types.cpython-312.pyc,, +sqlalchemy/dialects/postgresql/_psycopg_common.py,sha256=U3aWzbKD3VOj6Z6r-4IsIQmtjGGIB4RDZH6NXfd8Xz0,5655 +sqlalchemy/dialects/postgresql/array.py,sha256=tLyU9GDAeIypNhjTuFQUYbaTeijVM1VVJS6UdzzXXn4,13682 +sqlalchemy/dialects/postgresql/asyncpg.py,sha256=XNaoOZ5Da4-jUTaES1zEOTEW3WG8UKyVCoIS3LsFhzE,39967 +sqlalchemy/dialects/postgresql/base.py,sha256=DGhaquFJWDQL7wIvQ2EE57LxD7zGR06BKQxvNZHFLgY,175634 +sqlalchemy/dialects/postgresql/dml.py,sha256=_He69efdpDA5gGmBsE7Lo4ViSi3QnR38BiFmrR1tw6k,11203 +sqlalchemy/dialects/postgresql/ext.py,sha256=oPP22Pq-n2lMmQ8ahifYmsmzRhSiSv1RV-xrTT0gycw,16253 +sqlalchemy/dialects/postgresql/hstore.py,sha256=q5x0npbAMI8cdRFGTMwLoWFj9P1G9DUkw5OEUCfTXpI,11532 +sqlalchemy/dialects/postgresql/json.py,sha256=panGtnEbcirQDy4yR2huWydFqa_Kmv8xhpLyf-SSRWE,11203 +sqlalchemy/dialects/postgresql/named_types.py,sha256=zNoHsP3nVq5xxA7SOQ6LLDwYZEHFciZ-nDjw_I9f_G0,17092 +sqlalchemy/dialects/postgresql/operators.py,sha256=MB40xq1124OnhUzkvtbnTmxEiey0VxMOYyznF96wwhI,2799 +sqlalchemy/dialects/postgresql/pg8000.py,sha256=w6pJ3LaIKWmnwvB0Pr1aTJX5OKNtG5RNClVfkE019vU,18620 +sqlalchemy/dialects/postgresql/pg_catalog.py,sha256=0lLnIgxfCrqkx_LNijMxo0trNLsodcd8KwretZIj4uM,8875 +sqlalchemy/dialects/postgresql/provision.py,sha256=oxyAzs8_PhuK0ChivXC3l2Nldih3_HKffvGsZqD8XWI,5509 +sqlalchemy/dialects/postgresql/psycopg.py,sha256=YMubzQHMYN1By8QJScIPb_PwNiACv6srddQ6nX6WltQ,22238 +sqlalchemy/dialects/postgresql/psycopg2.py,sha256=3Xci4bTA2BvhrZAQa727uFWdaXEZmvfD-Z-upE3NyQE,31592 +sqlalchemy/dialects/postgresql/psycopg2cffi.py,sha256=2EOuDwBetfvelcPoTzSwOHe6X8lTwaYH7znNzXJt9eM,1739 +sqlalchemy/dialects/postgresql/ranges.py,sha256=yHB1BRlUreQPZB3VEn0KMMLf02zjf5jjYdmg4N4S2Sw,30220 +sqlalchemy/dialects/postgresql/types.py,sha256=l24rs8_nK4vqLyQC0aUkf4S7ecw6T_7Pgq50Icc5CBs,7292 +sqlalchemy/dialects/sqlite/__init__.py,sha256=wnZ9vtfm0QXmth1jiGiubFgRiKxIoQoNthb1bp4FhCs,1173 +sqlalchemy/dialects/sqlite/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/dialects/sqlite/__pycache__/aiosqlite.cpython-312.pyc,, +sqlalchemy/dialects/sqlite/__pycache__/base.cpython-312.pyc,, +sqlalchemy/dialects/sqlite/__pycache__/dml.cpython-312.pyc,, +sqlalchemy/dialects/sqlite/__pycache__/json.cpython-312.pyc,, +sqlalchemy/dialects/sqlite/__pycache__/provision.cpython-312.pyc,, +sqlalchemy/dialects/sqlite/__pycache__/pysqlcipher.cpython-312.pyc,, +sqlalchemy/dialects/sqlite/__pycache__/pysqlite.cpython-312.pyc,, +sqlalchemy/dialects/sqlite/aiosqlite.py,sha256=GZJioZLot0D5CQ6ovPQoqv2iV8FAFm3G75lEFCzopoE,12296 +sqlalchemy/dialects/sqlite/base.py,sha256=YYEB5BeuemLC3FAR7EB8vA0zoUOwHTKoF_srvnAStps,96785 +sqlalchemy/dialects/sqlite/dml.py,sha256=PYESBj8Ip7bGs_Fi7QjbWLXLnU9a-SbP96JZiUoZNHg,8434 +sqlalchemy/dialects/sqlite/json.py,sha256=XFPwSdNx0DxDfxDZn7rmGGqsAgL4vpJbjjGaA73WruQ,2533 +sqlalchemy/dialects/sqlite/provision.py,sha256=O4JDoybdb2RBblXErEVPE2P_5xHab927BQItJa203zU,5383 +sqlalchemy/dialects/sqlite/pysqlcipher.py,sha256=_JuOCoic--ehAGkCgnwUUKKTs6xYoBGag4Y_WkQUDwU,5347 +sqlalchemy/dialects/sqlite/pysqlite.py,sha256=xBg6DKqvml5cCGxVSAQxR1dcMvso8q4uyXs2m4WLzz0,27891 +sqlalchemy/dialects/type_migration_guidelines.txt,sha256=-uHNdmYFGB7bzUNT6i8M5nb4j6j9YUKAtW4lcBZqsMg,8239 +sqlalchemy/engine/__init__.py,sha256=fJCAl5P7JH9iwjuWo72_3LOIzWWhTnvXqzpAmm_T0fY,2818 +sqlalchemy/engine/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/_py_processors.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/_py_row.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/_py_util.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/base.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/characteristics.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/create.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/cursor.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/default.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/events.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/interfaces.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/mock.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/processors.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/reflection.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/result.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/row.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/strategies.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/url.cpython-312.pyc,, +sqlalchemy/engine/__pycache__/util.cpython-312.pyc,, +sqlalchemy/engine/_py_processors.py,sha256=RSVKm9YppSBDSCEi8xvbZdRCP9EsCYfbyEg9iDCMCiI,3744 +sqlalchemy/engine/_py_row.py,sha256=Zdta0JGa7V2aV04L7nzXUEp-H1gpresKyBlneQu60pk,3549 +sqlalchemy/engine/_py_util.py,sha256=5m3MZbEqnUwP5kK_ghisFpzcXgBwSxTSkBEFB6afiD8,2245 +sqlalchemy/engine/base.py,sha256=RbIfWZ1Otyb4VzMYjDpK5BiDIE8QZwa4vQgRX0yCa28,122246 +sqlalchemy/engine/characteristics.py,sha256=YvMgrUVAt3wsSiQ0K8l44yBjFlMK3MGajxhg50t5yFM,2344 +sqlalchemy/engine/create.py,sha256=8372TLpy4FOAIZ9WmuNkx1v9DPgwpoCAH9P7LNXZCwY,32629 +sqlalchemy/engine/cursor.py,sha256=6e1Tp63r0Kt-P4pEaYR7wUew2aClTdKAEI-FoAAxJxE,74405 +sqlalchemy/engine/default.py,sha256=bi--ytxYJ0EtsCudl38owGtytnwTHX-PjlsYTFe8LpA,84065 +sqlalchemy/engine/events.py,sha256=PQyc_sbmqks6pqyN7xitO658KdKzzJWfW1TKYwEd5vo,37392 +sqlalchemy/engine/interfaces.py,sha256=pAFYR15f1Z_-qdzTYI4mAm8IYbD6maLBKbG3pBaJ8Us,112824 +sqlalchemy/engine/mock.py,sha256=ki4ud7YrUrzP2katdkxlJGFUKB2kS7cZZAHK5xWsNF8,4179 +sqlalchemy/engine/processors.py,sha256=ENN6XwndxJPW-aXPu_3NzAZsy5SvNznHoa1Qn29ERAw,2383 +sqlalchemy/engine/reflection.py,sha256=2aakNheQJNMUXZbhY8s1NtqGoGWTxM2THkJlMMfiX_s,75125 +sqlalchemy/engine/result.py,sha256=shRAsboHPTvKR38ryGgC4KLcUeVTbABSlWzAfOUKVZs,77841 +sqlalchemy/engine/row.py,sha256=doiXKaUI6s6OkfqPIwNyTPLllxJfR8HYgEI8ve9VYe0,11955 +sqlalchemy/engine/strategies.py,sha256=HjCj_FHQOgkkhhtnVmcOEuHI_cftNo3P0hN5zkhZvDc,442 +sqlalchemy/engine/url.py,sha256=_WNE7ia0JIPRc1PLY_jSA3F7bB5kp1gzuzkc5eoKviA,30694 +sqlalchemy/engine/util.py,sha256=3-ENI9S-3KLWr0GW27uWQfsvCJwMBGTKbykkKPUgiAE,5667 +sqlalchemy/event/__init__.py,sha256=CSBMp0yu5joTC6tWvx40B4p87N7oGKxC-ZLx2ULKUnQ,997 +sqlalchemy/event/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/event/__pycache__/api.cpython-312.pyc,, +sqlalchemy/event/__pycache__/attr.cpython-312.pyc,, +sqlalchemy/event/__pycache__/base.cpython-312.pyc,, +sqlalchemy/event/__pycache__/legacy.cpython-312.pyc,, +sqlalchemy/event/__pycache__/registry.cpython-312.pyc,, +sqlalchemy/event/api.py,sha256=nQAvPK1jrLpmu8aKCUtc-vYWcIuG-1FgAtp3GRkfIiI,8227 +sqlalchemy/event/attr.py,sha256=NMe_sPQTju2PE-f68C8TcKJGW-Gxyi1CLXumAmE368Y,20438 +sqlalchemy/event/base.py,sha256=Cr_PNJlCYJSU3rtT8DkplyjBRb-E2Wa3OAeK9woFJkk,14980 +sqlalchemy/event/legacy.py,sha256=OpPqE64xk1OYjLW1scvc6iijhoa5GZJt5f7-beWhgOc,8211 +sqlalchemy/event/registry.py,sha256=Zig9q2Galo8kO2aqr7a2rNAhmIkdJ-ntHSEcM5MfSgw,10833 +sqlalchemy/events.py,sha256=pRcPKKsPQHGPH_pvTtKRmzuEIy-QHCtkUiZl4MUbxKs,536 +sqlalchemy/exc.py,sha256=4SMKOJtz7_SWt5vskCSeXSi4ZlFyL4jh53Q8sk4-ODQ,24011 +sqlalchemy/ext/__init__.py,sha256=w4h7EpXjKPr0LD4yHa0pDCfrvleU3rrX7mgyb8RuDYQ,322 +sqlalchemy/ext/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/associationproxy.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/automap.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/baked.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/compiler.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/horizontal_shard.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/hybrid.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/indexable.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/instrumentation.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/mutable.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/orderinglist.cpython-312.pyc,, +sqlalchemy/ext/__pycache__/serializer.cpython-312.pyc,, +sqlalchemy/ext/associationproxy.py,sha256=5voNXWIJYGt6c8mwuSA6alm3SmEHOZ-CVK8ikgfzk8s,65960 +sqlalchemy/ext/asyncio/__init__.py,sha256=iG_0TmBO1pCB316WS-p17AImwqRtUoaKo7UphYZ7bYw,1317 +sqlalchemy/ext/asyncio/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/ext/asyncio/__pycache__/base.cpython-312.pyc,, +sqlalchemy/ext/asyncio/__pycache__/engine.cpython-312.pyc,, +sqlalchemy/ext/asyncio/__pycache__/exc.cpython-312.pyc,, +sqlalchemy/ext/asyncio/__pycache__/result.cpython-312.pyc,, +sqlalchemy/ext/asyncio/__pycache__/scoping.cpython-312.pyc,, +sqlalchemy/ext/asyncio/__pycache__/session.cpython-312.pyc,, +sqlalchemy/ext/asyncio/base.py,sha256=PXF4YqfRi2-mADAtaL2_-Uv7CzoBVojPbzyA5phJ9To,8959 +sqlalchemy/ext/asyncio/engine.py,sha256=h4pe3ixuX6YfI97B5QWo2V4_CCCnOvM_EHPZhX19Mgc,47796 +sqlalchemy/ext/asyncio/exc.py,sha256=1hCdOKzvSryc_YE4jgj0l9JASOmZXutdzShEYPiLbGI,639 +sqlalchemy/ext/asyncio/result.py,sha256=zETerVB53gql1DL6tkO_JiqeU-m1OM-8kX0ULxmoL_I,30554 +sqlalchemy/ext/asyncio/scoping.py,sha256=cBNluB7n_lwdAAo6pySbvNRqPN7UBzwQHZ6XhRDyWgA,52685 +sqlalchemy/ext/asyncio/session.py,sha256=yWwhI5i_yVWjykxmxkcP3-xmw3UpoGYNhHZL8sYXQMA,62998 +sqlalchemy/ext/automap.py,sha256=7p13-VpN0MOM525r7pmEnftedya9l5G-Ei_cFXZfpTc,61431 +sqlalchemy/ext/baked.py,sha256=R8ZAxiVN6eH50AJu0O3TtFXNE1tnRkMlSj3AvkcWFhY,17818 +sqlalchemy/ext/compiler.py,sha256=h7eR0NcPJ4F_k8YGRP3R9YX75Y9pgiVxoCjRyvceF7g,20391 +sqlalchemy/ext/declarative/__init__.py,sha256=VJu8S1efxil20W48fJlpDn6gHorOudn5p3-lF72WcJ8,1818 +sqlalchemy/ext/declarative/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/ext/declarative/__pycache__/extensions.cpython-312.pyc,, +sqlalchemy/ext/declarative/extensions.py,sha256=vwZjudPFA_mao1U04-RZCaU_tvPMBgQa5OTmSI7K7SU,19547 +sqlalchemy/ext/horizontal_shard.py,sha256=eh14W8QWHYH22PL1l5qF_ad9Fyh1WAFjKi_vNfsme94,16766 +sqlalchemy/ext/hybrid.py,sha256=98D72WBmlileYBtEKMSNF9l-bwRavThSV8-LyB2gjo0,52499 +sqlalchemy/ext/indexable.py,sha256=RkG9BKwil-TqDjVBM14ML9c-geUrHxtRKpYkSJEwGHA,11028 +sqlalchemy/ext/instrumentation.py,sha256=rjjSbTGilYeGLdyEWV932TfTaGxiVP44_RajinANk54,15723 +sqlalchemy/ext/mutable.py,sha256=d3Pp8PcAVN4pHN9rhc1ReXBWe0Q70Q5S1klFoYGyDPA,37393 +sqlalchemy/ext/mypy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +sqlalchemy/ext/mypy/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/ext/mypy/__pycache__/apply.cpython-312.pyc,, +sqlalchemy/ext/mypy/__pycache__/decl_class.cpython-312.pyc,, +sqlalchemy/ext/mypy/__pycache__/infer.cpython-312.pyc,, +sqlalchemy/ext/mypy/__pycache__/names.cpython-312.pyc,, +sqlalchemy/ext/mypy/__pycache__/plugin.cpython-312.pyc,, +sqlalchemy/ext/mypy/__pycache__/util.cpython-312.pyc,, +sqlalchemy/ext/mypy/apply.py,sha256=uUES4grydYtKykLKlxzJeBXeGe8kfWou9_rzEyEkfp0,10503 +sqlalchemy/ext/mypy/decl_class.py,sha256=Ls2Efh4kEhle6Z4VMz0GRBgGQTYs2fHr5b4DfuDj44c,17377 +sqlalchemy/ext/mypy/infer.py,sha256=si720RW6iGxMRZNP5tcaIxA1_ehFp215TzxVXaLjglU,19364 +sqlalchemy/ext/mypy/names.py,sha256=tch4f5fDmdv4AWWFzXgGZdCpxmae59XRPT02KyMvrEI,10625 +sqlalchemy/ext/mypy/plugin.py,sha256=fLXDukvZqbJ0JJCOoyZAuOniYZ_F1YT-l9gKppu8SEs,9750 +sqlalchemy/ext/mypy/util.py,sha256=TlEQq4bcs8ARLL3PoFS8Qw6oYFeMqcGnWTeJ7NsPPFk,9408 +sqlalchemy/ext/orderinglist.py,sha256=8Vcg7UUkLg-QbYAbLVDSqu-5REkR6L-FLLhCYsHYxCQ,14384 +sqlalchemy/ext/serializer.py,sha256=ox6dbMOBmFR0H2RQFt17mcYBOGKgn1cNVFfqY8-jpgQ,6178 +sqlalchemy/future/__init__.py,sha256=79DZx3v7TQZpkS_qThlmuCOm1a9UK2ObNZhyMmjfNB0,516 +sqlalchemy/future/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/future/__pycache__/engine.cpython-312.pyc,, +sqlalchemy/future/engine.py,sha256=6uOpOedIqiT1-3qJSJIlv9_raMJU8NTkhQwN_Ngg8kI,499 +sqlalchemy/inspection.py,sha256=i3aR-IV101YU8D9TA8Pxb2wi08QZuJ34sMy6L5M__rY,5145 +sqlalchemy/log.py,sha256=aSlZ8DFHkOuI-AMmaOUUYtS9zGPadi_7tAo98QpUOiY,8634 +sqlalchemy/orm/__init__.py,sha256=cBn0aPWyDFY4ya-cHRshQBcuThk1smTUCTrlp6LHdlE,8463 +sqlalchemy/orm/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/_orm_constructors.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/_typing.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/attributes.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/base.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/bulk_persistence.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/clsregistry.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/collections.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/context.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/decl_api.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/decl_base.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/dependency.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/descriptor_props.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/dynamic.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/evaluator.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/events.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/exc.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/identity.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/instrumentation.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/interfaces.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/loading.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/mapped_collection.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/mapper.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/path_registry.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/persistence.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/properties.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/query.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/relationships.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/scoping.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/session.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/state.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/state_changes.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/strategies.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/strategy_options.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/sync.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/unitofwork.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/util.cpython-312.pyc,, +sqlalchemy/orm/__pycache__/writeonly.cpython-312.pyc,, +sqlalchemy/orm/_orm_constructors.py,sha256=_7_GY6qw2sA-GG_WXLz1GOO-0qC-SCBeA43GhVuS2Qw,99803 +sqlalchemy/orm/_typing.py,sha256=oRUJVAGpU3_DhSkIb1anXgneweVIARjB51HlPhMNfcM,5015 +sqlalchemy/orm/attributes.py,sha256=NFhYheqqu2VcXmKTdcvQKiRR_6qo0rHLK7nda7rpviA,92578 +sqlalchemy/orm/base.py,sha256=iZXsygk4fn8wd7wx1iXn_PfnGDY7d41YRfS0mC_q5vE,27700 +sqlalchemy/orm/bulk_persistence.py,sha256=S9VK5a6GSqnw3z7O5UG5OOnc9WxzmS_ooDkA5JmCIsY,69878 +sqlalchemy/orm/clsregistry.py,sha256=4J-kKshmLOEyx3VBqREm2k_XY0cer4zwUoHJT3n5Xmw,17949 +sqlalchemy/orm/collections.py,sha256=0AZFr9us9MiHo_Xcyi7DUsN02jSBERUOd-jIK8qQ1DA,52159 +sqlalchemy/orm/context.py,sha256=VyJl1ZJ5OnJUACKlM-bPLyyoqu4tyaKKdxeC-QF4EuU,111698 +sqlalchemy/orm/decl_api.py,sha256=a2Cyvjh6j5BlXJQ2i0jpQx7xkeI_6xo5MMxr0d2ndQY,63589 +sqlalchemy/orm/decl_base.py,sha256=g9xW9G-n9iStMI0i3i-9Rt4LDRW8--3iCCRPlWF6Cko,81660 +sqlalchemy/orm/dependency.py,sha256=g3R_1H_OGzagXFeen3Irm3c1lO3yeXGdGa0muUZgZAk,47583 +sqlalchemy/orm/descriptor_props.py,sha256=SdrfVu05zhWLGe_DnBlgbU6e5sWkkfBTirH9Nrr1MLk,37176 +sqlalchemy/orm/dynamic.py,sha256=pYlMIrpp80Ex4KByqdyhx0x0kIrl_cIADwkeVxvYu4s,9798 +sqlalchemy/orm/evaluator.py,sha256=jPjVrP7XbVOG6aXTCBREq0rF3oNHLqB4XAT-gt_cpaA,11925 +sqlalchemy/orm/events.py,sha256=fGnUHwDTV9FTiifB2mmIJispwPbIT4mZongRJD7uiw4,127258 +sqlalchemy/orm/exc.py,sha256=A3wvZVs5sC5XCef4LoTUBG-UfhmliFpU9rYMdS2t_To,7356 +sqlalchemy/orm/identity.py,sha256=gRiuQSrurHGEAJXH9QGYioXL49Im5EGcYQ-IKUEpHmQ,9249 +sqlalchemy/orm/instrumentation.py,sha256=o1mTv5gCgl9d-SRvEXXjl8rzl8uBasRL3bpDgWg9P58,24337 +sqlalchemy/orm/interfaces.py,sha256=RW7bBXGWtZHY2wXFOSqtvYm6UDl7yHZUyRX_6Yd3GfQ,48395 +sqlalchemy/orm/loading.py,sha256=F1ZEHTPBglmznST2nGj_0ARccoFgTyaOOwjcqpYeuvM,57366 +sqlalchemy/orm/mapped_collection.py,sha256=ZgYHaF37yo6-gZ7Da1Gg25rMgG2GynAy-RJoDhljV5g,19698 +sqlalchemy/orm/mapper.py,sha256=kyq4pBkTvvEqlW4H4XK_ktP1sOiALNAycgvF5f-xtqw,170969 +sqlalchemy/orm/path_registry.py,sha256=olyutgn0uNB7Wi32YNQx9ZHV6sUgV3TbyGplfSxfZ6g,25938 +sqlalchemy/orm/persistence.py,sha256=qr1jUgo-NZ0tLa5eIis2271QDt4KNJwYlYU_9CaKNhQ,60545 +sqlalchemy/orm/properties.py,sha256=dt1Gy06pbRY6zgm4QGR9nU6z2WCyoTZWBJYKpUhLq_c,29095 +sqlalchemy/orm/query.py,sha256=VBSD0k15xU_XykggvLGAwGdwNglBAoBKbOk8qAoMKdI,117714 +sqlalchemy/orm/relationships.py,sha256=wrHyICb8A5qPoyxf-nITQVJ13kCNr2MedDqEY8QMSt8,127816 +sqlalchemy/orm/scoping.py,sha256=75iPEWDFhPcIXgl8EUd_sPTCL6punfegEaTRE5mP3e8,78835 +sqlalchemy/orm/session.py,sha256=TeBcZNdY4HWQFdXNCIqbsQTtkvfJkBweMzvA9p3BiPA,193279 +sqlalchemy/orm/state.py,sha256=EaWkVNWHaDeJ_FZGXHakSamUk51BXmtMWLGdFhlJmh8,37536 +sqlalchemy/orm/state_changes.py,sha256=pqkjSDOR6H5BufMKdzFUIatDp3DY90SovOJiJ1k6Ayw,6815 +sqlalchemy/orm/strategies.py,sha256=V0o-1kB1IVTxhOGqGtRyjddZqAbPdsl_h-k0N3MKCGo,114052 +sqlalchemy/orm/strategy_options.py,sha256=EmgH28uMQhwwBCDVcXmywLk_Q8AbpnK02seMsMV4nmc,84102 +sqlalchemy/orm/sync.py,sha256=5Nt_OqP4IfhAtHwFRar4dw-YjLENRLvp4d3jDC4wpnw,5749 +sqlalchemy/orm/unitofwork.py,sha256=Wk5YZocBbxe4m1wU2aFQ7gY1Cp5CROi13kDEM1iOSz4,27033 +sqlalchemy/orm/util.py,sha256=7hCRYbQjqhWJTkrPf_NXY9zF_18VWTpyguu-nfYfc6c,80340 +sqlalchemy/orm/writeonly.py,sha256=WCPXCAwHqVCfhVWXQEFCP3OocIiHgqNJ5KnuJwSgGq4,22329 +sqlalchemy/pool/__init__.py,sha256=CIv4b6ctueY7w3sML_LxyLKAdl59esYOhz3O7W5w7WE,1815 +sqlalchemy/pool/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/pool/__pycache__/base.cpython-312.pyc,, +sqlalchemy/pool/__pycache__/events.cpython-312.pyc,, +sqlalchemy/pool/__pycache__/impl.cpython-312.pyc,, +sqlalchemy/pool/base.py,sha256=wuwKIak5d_4-TqKI2RFN8OYMEyOvV0djnoSVR8gbxAQ,52249 +sqlalchemy/pool/events.py,sha256=IcWfORKbHM69Z9FdPJlXI7-NIhQrR9O_lg59tiUdTRU,13148 +sqlalchemy/pool/impl.py,sha256=vU0n82a7uxdE34p3hU7cvUDA5QDy9MkIv1COT4kYFP8,17724 +sqlalchemy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +sqlalchemy/schema.py,sha256=mt74CGCBtfv_qI1_6zzNFMexYGyWDj2Jkh-XdH4kEWI,3194 +sqlalchemy/sql/__init__.py,sha256=jAQx9rwhyPhoSjntM1BZSElJiMRmLowGThJVDGvExSU,5820 +sqlalchemy/sql/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/_dml_constructors.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/_elements_constructors.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/_orm_types.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/_py_util.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/_selectable_constructors.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/_typing.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/annotation.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/base.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/cache_key.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/coercions.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/compiler.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/crud.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/ddl.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/default_comparator.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/dml.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/elements.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/events.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/expression.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/functions.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/lambdas.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/naming.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/operators.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/roles.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/schema.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/selectable.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/sqltypes.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/traversals.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/type_api.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/util.cpython-312.pyc,, +sqlalchemy/sql/__pycache__/visitors.cpython-312.pyc,, +sqlalchemy/sql/_dml_constructors.py,sha256=hoNyINY3FNi1ZQajR6lbcRN7oYsNghM1wuzzVWxIv3c,3867 +sqlalchemy/sql/_elements_constructors.py,sha256=-qksx59Gqhmzxo1xByPtZZboNvL8uYcCN14pjHYHxL8,62914 +sqlalchemy/sql/_orm_types.py,sha256=_vR3_HQYgZR_of6_ZpTQByie2gaVScxQjVAVWAP3Ztg,620 +sqlalchemy/sql/_py_util.py,sha256=iiwgX3dQhOjdB5-10jtgHPIdibUqGk49bC1qdZMBpYI,2173 +sqlalchemy/sql/_selectable_constructors.py,sha256=RDqgejqiUuU12Be1jBpMIx_YdJho8fhKfnMoJLPFTFE,18812 +sqlalchemy/sql/_typing.py,sha256=C8kNZQ3TIpM-Q12Of3tTaESB1UxIfRME_lXouqgwMT8,12252 +sqlalchemy/sql/annotation.py,sha256=pTNidcQatCar6H1I9YAoPP1e6sOewaJ15B7_-7ykZOE,18271 +sqlalchemy/sql/base.py,sha256=dVvZoPoa3pb6iuwTU4QoCvVWQPyHZthaekl5J2zV_SU,73928 +sqlalchemy/sql/cache_key.py,sha256=Dl163qHjTkMCa5LTipZud8X3w0d8DvdIvGvv4AqriHE,32823 +sqlalchemy/sql/coercions.py,sha256=ju8xEi7b9G_GzxaQ6Nwu0cFIWFZ--ottIVfdiuhHY7Y,40553 +sqlalchemy/sql/compiler.py,sha256=9Wx423H72Yq7NHR8cmMAH6GpMCJmghs1L85YJqs_Lng,268763 +sqlalchemy/sql/crud.py,sha256=nyAPlmvuyWxMqSBdWPffC5P3CGXTQKK0bJoDbNgB3iQ,56457 +sqlalchemy/sql/ddl.py,sha256=XuUhulJLvvPjU4nYD6N42QLg8rEgquD6Jwn_yIHZejk,45542 +sqlalchemy/sql/default_comparator.py,sha256=SE0OaK1BlY0RinQ21ZXJOUGkO00oGv6GMMmAH-4iNTQ,16663 +sqlalchemy/sql/dml.py,sha256=eftbzdFJgMk7NV0BHKfK4dQ2R7XsyyJn6fCgYFJ0KNQ,65728 +sqlalchemy/sql/elements.py,sha256=dsNa2K57RygsGoaWuTMPp2QQ6SU3uZXSMW6CLGBbcIY,171208 +sqlalchemy/sql/events.py,sha256=xe3vJ6pQJau3dJWBAY0zU7Lz52UKuMrpLycriLm3AWA,18301 +sqlalchemy/sql/expression.py,sha256=baMnCH04jeE8E3tA2TovXlsREocA2j3fdHKnzOB8H4U,7586 +sqlalchemy/sql/functions.py,sha256=AcI_KstJxeLw6rEXx6QnIgR2rq4Ru6RXMbq4EIIUURA,55319 +sqlalchemy/sql/lambdas.py,sha256=EfDdUBi5cSmkjz8pQCSRo858UWQCFNZxXkM-1qS0CgU,49281 +sqlalchemy/sql/naming.py,sha256=l8udFP2wvXLgehIB0uF2KXwpkXSVSREDk6fLCH9F-XY,6865 +sqlalchemy/sql/operators.py,sha256=BYATjkBQLJAmwHAlGUSV-dv9RLtGw_ziAvFbKDrN4YU,76107 +sqlalchemy/sql/roles.py,sha256=71zm_xpRkUdnu-WzG6lxQVnFHwvUjf6X6e3kRIkbzAs,7686 +sqlalchemy/sql/schema.py,sha256=TOBTbcRY6ehosJEcpYn2NX0_UGZP9lfFs-o8lJVc5tI,228104 +sqlalchemy/sql/selectable.py,sha256=9dO2yhN83zjna7nPjOE1hcvGyJGjc_lj5SAz7SP5CBQ,233041 +sqlalchemy/sql/sqltypes.py,sha256=_0FpFLH0AFueb3TIB5Vcx9nXWDNj31XFQTP0u8OXnSo,126540 +sqlalchemy/sql/traversals.py,sha256=7b98JSeLxqecmGHhhLXT_2M4QMke6W-xCci5RXndhxI,33521 +sqlalchemy/sql/type_api.py,sha256=D9Kq-ppwZvlNmxaHqvVmM8IVg4n6_erzJpVioye9WKE,83823 +sqlalchemy/sql/util.py,sha256=lBEAf_-eRepTErOBCp1PbEMZDYdJqAiK1GemQtgojYo,48175 +sqlalchemy/sql/visitors.py,sha256=KD1qOYm6RdftCufVGB8q6jFTIZIQKS3zPCg78cVV0mQ,36427 +sqlalchemy/testing/__init__.py,sha256=9M2SMxBBLJ8xLUWXNCWDzkcvOqFznWcJzrSd712vATU,3126 +sqlalchemy/testing/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/assertions.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/assertsql.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/asyncio.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/config.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/engines.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/entities.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/exclusions.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/pickleable.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/profiling.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/provision.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/requirements.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/schema.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/util.cpython-312.pyc,, +sqlalchemy/testing/__pycache__/warnings.cpython-312.pyc,, +sqlalchemy/testing/assertions.py,sha256=lNNZ-gfF4TDRXmB7hZDdch7JYZRb_qWGeqWDFKtopx0,31439 +sqlalchemy/testing/assertsql.py,sha256=EIVk3i5qjiSI63c1ikTPoGhulZl88SSeOS2VNo1LJvM,16817 +sqlalchemy/testing/asyncio.py,sha256=cAw68tzu3h5wjdIKfOqhFATcbMb38XeK0ThjIalUHuQ,3728 +sqlalchemy/testing/config.py,sha256=MZOWz7wqzc1pbwHWSAR0RJkt2C-SD6ox-nYY7VHdi_U,12030 +sqlalchemy/testing/engines.py,sha256=w5-0FbanItRsOt6x4n7wM_OnToCzJnrvZZ2hk5Yzng8,13355 +sqlalchemy/testing/entities.py,sha256=rysywsnjXHlIIC-uv0L7-fLmTAuNpHJvcSd1HeAdY5M,3354 +sqlalchemy/testing/exclusions.py,sha256=uoYLEwyNOK1eR8rpfOZ2Q3dxgY0akM-RtsIFML-FPrY,12444 +sqlalchemy/testing/fixtures/__init__.py,sha256=9snVns5A7g28LqC6gqQuO4xRBoJzdnf068GQ6Cae75I,1198 +sqlalchemy/testing/fixtures/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/testing/fixtures/__pycache__/base.cpython-312.pyc,, +sqlalchemy/testing/fixtures/__pycache__/mypy.cpython-312.pyc,, +sqlalchemy/testing/fixtures/__pycache__/orm.cpython-312.pyc,, +sqlalchemy/testing/fixtures/__pycache__/sql.cpython-312.pyc,, +sqlalchemy/testing/fixtures/base.py,sha256=OayRr25soCqj1_yc665D5XbWWzFCm7Xl9Txtps953p4,12256 +sqlalchemy/testing/fixtures/mypy.py,sha256=7fWVZzYzNjqmLIoFa-MmXSGDPS3eZYFXlH-WxaxBDDY,11845 +sqlalchemy/testing/fixtures/orm.py,sha256=x27qjpK54JETATcYuiphtW-HXRy8ej8h3aCDkeQXPfY,6095 +sqlalchemy/testing/fixtures/sql.py,sha256=Q7Qq0n4qTT681nWt5DqjThopgjv5BB2KmSmrmAxUqHM,15704 +sqlalchemy/testing/pickleable.py,sha256=B9dXGF7E2PywB67SngHPjSMIBDTFhyAV4rkDUcyMulk,2833 +sqlalchemy/testing/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +sqlalchemy/testing/plugin/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/testing/plugin/__pycache__/bootstrap.cpython-312.pyc,, +sqlalchemy/testing/plugin/__pycache__/plugin_base.cpython-312.pyc,, +sqlalchemy/testing/plugin/__pycache__/pytestplugin.cpython-312.pyc,, +sqlalchemy/testing/plugin/bootstrap.py,sha256=GrBB27KbswjE3Tt-zJlj6uSqGh9N-_CXkonnJSSBz84,1437 +sqlalchemy/testing/plugin/plugin_base.py,sha256=4SizjghFdDddt5o5gQ16Nw0bJHrtuBa4smxJcea-ti8,21573 +sqlalchemy/testing/plugin/pytestplugin.py,sha256=yh4PP406O0TwPMDzpJHpcNdU2WHXCLYI10F3oOLePjE,27295 +sqlalchemy/testing/profiling.py,sha256=HPjYvRLT1nD90FCZ7AA8j9ygkMtf1SGA47Xze2QPueo,10148 +sqlalchemy/testing/provision.py,sha256=w4F_ceGHPpWHUeh6cVcE5ktCC-ISrGc2yOSnXauOd5U,14200 +sqlalchemy/testing/requirements.py,sha256=gkviA8f5p4qdoDwAK791I4oGvnEqlm0ZZwJZpJzobFY,51393 +sqlalchemy/testing/schema.py,sha256=OSfMoIJ7ORbevGkeJdrKcTrQ0s7wXebuCU08mC1Y9jA,6513 +sqlalchemy/testing/suite/__init__.py,sha256=_firVc2uS3TMZ3vH2baQzNb17ubM78RHtb9kniSybmk,476 +sqlalchemy/testing/suite/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_cte.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_ddl.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_deprecations.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_dialect.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_insert.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_reflection.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_results.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_rowcount.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_select.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_sequence.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_types.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_unicode_ddl.cpython-312.pyc,, +sqlalchemy/testing/suite/__pycache__/test_update_delete.cpython-312.pyc,, +sqlalchemy/testing/suite/test_cte.py,sha256=O5idVeBnHm9zdiG3tuCBUn4hYU_TA63-6LNnRygr8g0,6205 +sqlalchemy/testing/suite/test_ddl.py,sha256=xWimTjggpTe3S1Xfmt_IPofTXkUUcKuVSVCIfIyGMbA,11785 +sqlalchemy/testing/suite/test_deprecations.py,sha256=XI8ZU1NxC-6uvPDImaaq9O7Ov6MF5gmy-yk3TfesLAo,5082 +sqlalchemy/testing/suite/test_dialect.py,sha256=HUpHZb7pnHbsoRpDLONpsCO_oWhBgjglU9pBO-EOUw4,22673 +sqlalchemy/testing/suite/test_insert.py,sha256=Wm_pW0qqUNV1Fs7mXoxtmaTHMQGmaVDgDsYgZs1jlxM,18308 +sqlalchemy/testing/suite/test_reflection.py,sha256=Nd4Ao_J3Sr-VeAeWbUe3gs6STPvik9DC37WkyJc-PVg,106205 +sqlalchemy/testing/suite/test_results.py,sha256=Hd6R4jhBNNQSp0xGa8wwTgpw-XUrCEZ3dWXpoZ4_DKs,15687 +sqlalchemy/testing/suite/test_rowcount.py,sha256=zhKVv0ibFSQmnE5luLwgHAn840zOJ6HxtkR3oL995cs,7652 +sqlalchemy/testing/suite/test_select.py,sha256=QHsBX16EZpxlEZZLM0pMNcwayPU0dig39McKwiiith0,58325 +sqlalchemy/testing/suite/test_sequence.py,sha256=c80CBWrU930GPnPfr9TCRbTTuITR7BpIactncLIj2XU,9672 +sqlalchemy/testing/suite/test_types.py,sha256=QjV48MqR7dB8UVzt56UL2z7Nt28-IhywX3DKuQeLYsY,65429 +sqlalchemy/testing/suite/test_unicode_ddl.py,sha256=7obItCpFt4qlWaDqe25HWgQT6FoUhgz1W7_Xycfz9Xk,5887 +sqlalchemy/testing/suite/test_update_delete.py,sha256=1hT0BTxB4SNipd6hnVlMnq25dLtQQoXov7z7UR0Sgi8,3658 +sqlalchemy/testing/util.py,sha256=Wsu4GZgCW6wX9mmxfiffhDz1cZm3778OB3LtiWNgb3Y,14080 +sqlalchemy/testing/warnings.py,sha256=pmfT33PF1q1PI7DdHOsup3LxHq1AC4-aYl1oL8HmrYo,1546 +sqlalchemy/types.py,sha256=DgBpPaT-vtsn6_glx5wocrIhR2A1vy56SQNRY3NiPUw,3168 +sqlalchemy/util/__init__.py,sha256=Bh0SkfkeCsz6-rbDmC41lAWOuCvKCiXVZthN2cWJEXk,8245 +sqlalchemy/util/__pycache__/__init__.cpython-312.pyc,, +sqlalchemy/util/__pycache__/_collections.cpython-312.pyc,, +sqlalchemy/util/__pycache__/_concurrency_py3k.cpython-312.pyc,, +sqlalchemy/util/__pycache__/_has_cy.cpython-312.pyc,, +sqlalchemy/util/__pycache__/_py_collections.cpython-312.pyc,, +sqlalchemy/util/__pycache__/compat.cpython-312.pyc,, +sqlalchemy/util/__pycache__/concurrency.cpython-312.pyc,, +sqlalchemy/util/__pycache__/deprecations.cpython-312.pyc,, +sqlalchemy/util/__pycache__/langhelpers.cpython-312.pyc,, +sqlalchemy/util/__pycache__/preloaded.cpython-312.pyc,, +sqlalchemy/util/__pycache__/queue.cpython-312.pyc,, +sqlalchemy/util/__pycache__/tool_support.cpython-312.pyc,, +sqlalchemy/util/__pycache__/topological.cpython-312.pyc,, +sqlalchemy/util/__pycache__/typing.cpython-312.pyc,, +sqlalchemy/util/_collections.py,sha256=FYqVQg3CaqiEd21OFN1pNCfFbQ8gvlchW_TMtihSFNE,20169 +sqlalchemy/util/_concurrency_py3k.py,sha256=31vs1oXaLzeTRgmOXRrWToRQskWmJk-CBs3-JxSTcck,8223 +sqlalchemy/util/_has_cy.py,sha256=XMkeqCDGmhkd0uuzpCdyELz7gOjHxyFQ1AIlc5NneoY,1229 +sqlalchemy/util/_py_collections.py,sha256=cYjsYLCLBy5jdGBJATLJCmtfzr_AaJ-HKTUN8OdAzxY,16630 +sqlalchemy/util/compat.py,sha256=FkeHnW9asJYJvNmxVltee8jQNwQSdVRdKJlVRRInJI4,9388 +sqlalchemy/util/concurrency.py,sha256=ZxcQYOKy-GBsQkPmCrBO5MzMpqW3JZme2Hiyqpbt9uc,2284 +sqlalchemy/util/deprecations.py,sha256=pr9DSAf1ECqDk7X7F6TNc1jrhOeFihL33uEb5Wt2_T0,11971 +sqlalchemy/util/langhelpers.py,sha256=CQQP2Q9c68nL5mcWL-Q38-INrtoDHDnBmq7QhnWyEDM,64980 +sqlalchemy/util/preloaded.py,sha256=KKNLJEqChDW1TNUsM_TzKu7JYEA3kkuh2N-quM_2_Y4,5905 +sqlalchemy/util/queue.py,sha256=ITejs6KS4Hz_ojrss2oFeUO9MoIeR3qWmZQ8J7yyrNU,10205 +sqlalchemy/util/tool_support.py,sha256=epm8MzDZpVmhE6LIjrjJrP8BUf12Wab2m28A9lGq95s,5969 +sqlalchemy/util/topological.py,sha256=hjJWL3C_B7Rpv9s7jj7wcTckcZUSkxc6xRDhiN1xyec,3458 +sqlalchemy/util/typing.py,sha256=ESYm4oQtt-SarN04YTXCgovXT8tFupMiPmuGCDCMEIc,15831 diff --git a/venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/WHEEL b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/WHEEL similarity index 78% rename from venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/WHEEL index 3e81182..c5825c5 100644 --- a/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 -Generator: setuptools (75.1.0) +Generator: bdist_wheel (0.41.3) Root-Is-Purelib: false Tag: cp312-cp312-manylinux_2_17_x86_64 Tag: cp312-cp312-manylinux2014_x86_64 diff --git a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/top_level.txt similarity index 100% rename from venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/top_level.txt rename to venv/lib/python3.12/site-packages/SQLAlchemy-2.0.23.dist-info/top_level.txt diff --git a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/METADATA b/venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/METADATA similarity index 87% rename from venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/METADATA rename to venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/METADATA index 942d74c..61b6e3e 100644 --- a/venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/METADATA @@ -1,6 +1,6 @@ -Metadata-Version: 2.3 +Metadata-Version: 2.1 Name: aiofiles -Version: 24.1.0 +Version: 23.2.1 Summary: File support for asyncio. Project-URL: Changelog, https://github.com/Tinche/aiofiles#history Project-URL: Bug Tracker, https://github.com/Tinche/aiofiles/issues @@ -13,15 +13,15 @@ Classifier: Development Status :: 5 - Production/Stable Classifier: Framework :: AsyncIO Classifier: License :: OSI Approved :: Apache Software License Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy -Requires-Python: >=3.8 +Requires-Python: >=3.7 Description-Content-Type: text/markdown # aiofiles: file support for asyncio @@ -135,8 +135,6 @@ several useful `os` functions that deal with files: - `listdir` - `scandir` - `access` -- `getcwd` -- `path.abspath` - `path.exists` - `path.isfile` - `path.isdir` @@ -178,50 +176,25 @@ as desired. The return type also needs to be registered with the ```python aiofiles.threadpool.wrap.register(mock.MagicMock)( - lambda *args, **kwargs: aiofiles.threadpool.AsyncBufferedIOBase(*args, **kwargs) -) + lambda *args, **kwargs: threadpool.AsyncBufferedIOBase(*args, **kwargs)) async def test_stuff(): - write_data = 'data' - read_file_chunks = [ - b'file chunks 1', - b'file chunks 2', - b'file chunks 3', - b'', - ] - file_chunks_iter = iter(read_file_chunks) + data = 'data' + mock_file = mock.MagicMock() - mock_file_stream = mock.MagicMock( - read=lambda *args, **kwargs: next(file_chunks_iter) - ) - - with mock.patch('aiofiles.threadpool.sync_open', return_value=mock_file_stream) as mock_open: + with mock.patch('aiofiles.threadpool.sync_open', return_value=mock_file) as mock_open: async with aiofiles.open('filename', 'w') as f: - await f.write(write_data) - assert f.read() == b'file chunks 1' + await f.write(data) - mock_file_stream.write.assert_called_once_with(write_data) + mock_file.write.assert_called_once_with(data) ``` ### History -#### 24.1.0 (2024-06-24) - -- Import `os.link` conditionally to fix importing on android. - [#175](https://github.com/Tinche/aiofiles/issues/175) -- Remove spurious items from `aiofiles.os.__all__` when running on Windows. -- Switch to more modern async idioms: Remove types.coroutine and make AiofilesContextManager an awaitable instead a coroutine. -- Add `aiofiles.os.path.abspath` and `aiofiles.os.getcwd`. - [#174](https://github.com/Tinche/aiofiles/issues/181) -- _aiofiles_ is now tested on Python 3.13 too. - [#184](https://github.com/Tinche/aiofiles/pull/184) -- Dropped Python 3.7 support. If you require it, use version 23.2.1. - #### 23.2.1 (2023-08-09) - Import `os.statvfs` conditionally to fix importing on non-UNIX systems. [#171](https://github.com/Tinche/aiofiles/issues/171) [#172](https://github.com/Tinche/aiofiles/pull/172) -- aiofiles is now also tested on Windows. #### 23.2.0 (2023-08-09) diff --git a/venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/RECORD b/venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/RECORD similarity index 59% rename from venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/RECORD rename to venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/RECORD index 7a9df6a..5a1d8d0 100644 --- a/venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/RECORD +++ b/venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/RECORD @@ -1,23 +1,23 @@ -aiofiles-24.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -aiofiles-24.1.0.dist-info/METADATA,sha256=CvUJx21XclgI1Lp5Bt_4AyJesRYg0xCSx4exJZVmaSA,10708 -aiofiles-24.1.0.dist-info/RECORD,, -aiofiles-24.1.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -aiofiles-24.1.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87 -aiofiles-24.1.0.dist-info/licenses/LICENSE,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325 -aiofiles-24.1.0.dist-info/licenses/NOTICE,sha256=EExY0dRQvWR0wJ2LZLwBgnM6YKw9jCU-M0zegpRSD_E,55 +aiofiles-23.2.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +aiofiles-23.2.1.dist-info/METADATA,sha256=cot28p_PNjdl_MK--l9Qu2e6QOv9OxdHrKbjLmYf9Uw,9673 +aiofiles-23.2.1.dist-info/RECORD,, +aiofiles-23.2.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +aiofiles-23.2.1.dist-info/WHEEL,sha256=KGYbc1zXlYddvwxnNty23BeaKzh7YuoSIvIMO4jEhvw,87 +aiofiles-23.2.1.dist-info/licenses/LICENSE,sha256=y16Ofl9KOYjhBjwULGDcLfdWBfTEZRXnduOspt-XbhQ,11325 +aiofiles-23.2.1.dist-info/licenses/NOTICE,sha256=EExY0dRQvWR0wJ2LZLwBgnM6YKw9jCU-M0zegpRSD_E,55 aiofiles/__init__.py,sha256=1iAMJQyJtX3LGIS0AoFTJeO1aJ_RK2jpBSBhg0VoIrE,344 aiofiles/__pycache__/__init__.cpython-312.pyc,, aiofiles/__pycache__/base.cpython-312.pyc,, aiofiles/__pycache__/os.cpython-312.pyc,, aiofiles/__pycache__/ospath.cpython-312.pyc,, -aiofiles/base.py,sha256=zo0FgkCqZ5aosjvxqIvDf2t-RFg1Lc6X8P6rZ56p6fQ,1784 -aiofiles/os.py,sha256=0DrsG-eH4h7xRzglv9pIWsQuzqe7ZhVYw5FQS18fIys,1153 -aiofiles/ospath.py,sha256=WaYelz_k6ykAFRLStr4bqYIfCVQ-5GGzIqIizykbY2Q,794 +aiofiles/base.py,sha256=rZwA151Ji8XlBkzvDmcF1CgDTY2iKNuJMfvNlM0s0E0,2684 +aiofiles/os.py,sha256=zuFGaIyGCGUuFb7trFFEm6SLdCRqTFsSV0mY6SO8z3M,970 +aiofiles/ospath.py,sha256=zqG2VFzRb6yYiIOWipqsdgvZmoMTFvZmBdkxkAl1FT4,764 aiofiles/tempfile/__init__.py,sha256=hFSNTOjOUv371Ozdfy6FIxeln46Nm3xOVh4ZR3Q94V0,10244 aiofiles/tempfile/__pycache__/__init__.cpython-312.pyc,, aiofiles/tempfile/__pycache__/temptypes.cpython-312.pyc,, aiofiles/tempfile/temptypes.py,sha256=ddEvNjMLVlr7WUILCe6ypTqw77yREeIonTk16Uw_NVs,2093 -aiofiles/threadpool/__init__.py,sha256=kt0hwwx3bLiYtnA1SORhW8mJ6z4W9Xr7MbY80UIJJrI,3133 +aiofiles/threadpool/__init__.py,sha256=c_aexl1t193iKdPZaolPEEbHDrQ0RrsH_HTAToMPQBo,3171 aiofiles/threadpool/__pycache__/__init__.cpython-312.pyc,, aiofiles/threadpool/__pycache__/binary.cpython-312.pyc,, aiofiles/threadpool/__pycache__/text.cpython-312.pyc,, diff --git a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/WHEEL b/venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/WHEEL similarity index 67% rename from venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/WHEEL index cdd68a4..9a7c9d3 100644 --- a/venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/WHEEL @@ -1,4 +1,4 @@ Wheel-Version: 1.0 -Generator: hatchling 1.25.0 +Generator: hatchling 1.17.1 Root-Is-Purelib: true Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/licenses/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/licenses/LICENSE diff --git a/venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/licenses/NOTICE b/venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/licenses/NOTICE similarity index 100% rename from venv/lib/python3.12/site-packages/aiofiles-24.1.0.dist-info/licenses/NOTICE rename to venv/lib/python3.12/site-packages/aiofiles-23.2.1.dist-info/licenses/NOTICE diff --git a/venv/lib/python3.12/site-packages/aiofiles/base.py b/venv/lib/python3.12/site-packages/aiofiles/base.py index 64f7d6b..07f2c2e 100644 --- a/venv/lib/python3.12/site-packages/aiofiles/base.py +++ b/venv/lib/python3.12/site-packages/aiofiles/base.py @@ -1,6 +1,6 @@ """Various base classes.""" -from collections.abc import Awaitable -from contextlib import AbstractAsyncContextManager +from types import coroutine +from collections.abc import Coroutine from asyncio import get_running_loop @@ -45,22 +45,66 @@ class AsyncIndirectBase(AsyncBase): pass # discard writes -class AiofilesContextManager(Awaitable, AbstractAsyncContextManager): - """An adjusted async context manager for aiofiles.""" - +class _ContextManager(Coroutine): __slots__ = ("_coro", "_obj") def __init__(self, coro): self._coro = coro self._obj = None + def send(self, value): + return self._coro.send(value) + + def throw(self, typ, val=None, tb=None): + if val is None: + return self._coro.throw(typ) + elif tb is None: + return self._coro.throw(typ, val) + else: + return self._coro.throw(typ, val, tb) + + def close(self): + return self._coro.close() + + @property + def gi_frame(self): + return self._coro.gi_frame + + @property + def gi_running(self): + return self._coro.gi_running + + @property + def gi_code(self): + return self._coro.gi_code + + def __next__(self): + return self.send(None) + + @coroutine + def __iter__(self): + resp = yield from self._coro + return resp + def __await__(self): - if self._obj is None: - self._obj = yield from self._coro.__await__() - return self._obj + resp = yield from self._coro + return resp + + async def __anext__(self): + resp = await self._coro + return resp async def __aenter__(self): - return await self + self._obj = await self._coro + return self._obj + + async def __aexit__(self, exc_type, exc, tb): + self._obj.close() + self._obj = None + + +class AiofilesContextManager(_ContextManager): + """An adjusted async context manager for aiofiles.""" async def __aexit__(self, exc_type, exc_val, exc_tb): await get_running_loop().run_in_executor( diff --git a/venv/lib/python3.12/site-packages/aiofiles/os.py b/venv/lib/python3.12/site-packages/aiofiles/os.py index 92243fa..29bc748 100644 --- a/venv/lib/python3.12/site-packages/aiofiles/os.py +++ b/venv/lib/python3.12/site-packages/aiofiles/os.py @@ -1,5 +1,4 @@ """Async executor versions of file functions from the os module.""" - import os from . import ospath as path @@ -8,6 +7,7 @@ from .ospath import wrap __all__ = [ "path", "stat", + "statvfs", "rename", "renames", "replace", @@ -17,20 +17,15 @@ __all__ = [ "makedirs", "rmdir", "removedirs", + "link", "symlink", "readlink", "listdir", "scandir", "access", + "sendfile", "wrap", - "getcwd", ] -if hasattr(os, "link"): - __all__ += ["link"] -if hasattr(os, "sendfile"): - __all__ += ["sendfile"] -if hasattr(os, "statvfs"): - __all__ += ["statvfs"] stat = wrap(os.stat) @@ -43,15 +38,13 @@ mkdir = wrap(os.mkdir) makedirs = wrap(os.makedirs) rmdir = wrap(os.rmdir) removedirs = wrap(os.removedirs) +link = wrap(os.link) symlink = wrap(os.symlink) readlink = wrap(os.readlink) listdir = wrap(os.listdir) scandir = wrap(os.scandir) access = wrap(os.access) -getcwd = wrap(os.getcwd) -if hasattr(os, "link"): - link = wrap(os.link) if hasattr(os, "sendfile"): sendfile = wrap(os.sendfile) if hasattr(os, "statvfs"): diff --git a/venv/lib/python3.12/site-packages/aiofiles/ospath.py b/venv/lib/python3.12/site-packages/aiofiles/ospath.py index 387d68d..5f32a43 100644 --- a/venv/lib/python3.12/site-packages/aiofiles/ospath.py +++ b/venv/lib/python3.12/site-packages/aiofiles/ospath.py @@ -1,5 +1,4 @@ """Async executor versions of file functions from the os.path module.""" - import asyncio from functools import partial, wraps from os import path @@ -27,4 +26,3 @@ getatime = wrap(path.getatime) getctime = wrap(path.getctime) samefile = wrap(path.samefile) sameopenfile = wrap(path.sameopenfile) -abspath = wrap(path.abspath) diff --git a/venv/lib/python3.12/site-packages/aiofiles/threadpool/__init__.py b/venv/lib/python3.12/site-packages/aiofiles/threadpool/__init__.py index e543283..a1cc673 100644 --- a/venv/lib/python3.12/site-packages/aiofiles/threadpool/__init__.py +++ b/venv/lib/python3.12/site-packages/aiofiles/threadpool/__init__.py @@ -10,6 +10,7 @@ from io import ( FileIO, TextIOBase, ) +from types import coroutine from ..base import AiofilesContextManager from .binary import ( @@ -62,7 +63,8 @@ def open( ) -async def _open( +@coroutine +def _open( file, mode="r", buffering=-1, @@ -89,7 +91,7 @@ async def _open( closefd=closefd, opener=opener, ) - f = await loop.run_in_executor(executor, cb) + f = yield from loop.run_in_executor(executor, cb) return wrap(f, loop=loop, executor=executor) diff --git a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/LICENSE similarity index 95% rename from venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/LICENSE index ab4bb16..74b9ce3 100644 --- a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/licenses/LICENSE +++ b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/LICENSE @@ -1,4 +1,4 @@ -Copyright 2009-2025 Michael Bayer. +Copyright 2009-2023 Michael Bayer. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in @@ -16,4 +16,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +SOFTWARE. \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/METADATA b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/METADATA similarity index 92% rename from venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/METADATA rename to venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/METADATA index c2aa6c3..0d01974 100644 --- a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/METADATA @@ -1,10 +1,11 @@ -Metadata-Version: 2.4 +Metadata-Version: 2.1 Name: alembic -Version: 1.16.5 +Version: 1.12.1 Summary: A database migration tool for SQLAlchemy. -Author-email: Mike Bayer -License-Expression: MIT -Project-URL: Homepage, https://alembic.sqlalchemy.org +Home-page: https://alembic.sqlalchemy.org +Author: Mike Bayer +Author-email: mike_mp@zzzcomputing.com +License: MIT Project-URL: Documentation, https://alembic.sqlalchemy.org/en/latest/ Project-URL: Changelog, https://alembic.sqlalchemy.org/en/latest/changelog.html Project-URL: Source, https://github.com/sqlalchemy/alembic/ @@ -12,27 +13,27 @@ Project-URL: Issue Tracker, https://github.com/sqlalchemy/alembic/issues/ Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: Environment :: Console +Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Database :: Front-Ends -Requires-Python: >=3.9 +Requires-Python: >=3.7 Description-Content-Type: text/x-rst License-File: LICENSE -Requires-Dist: SQLAlchemy>=1.4.0 +Requires-Dist: SQLAlchemy >=1.3.0 Requires-Dist: Mako -Requires-Dist: typing-extensions>=4.12 -Requires-Dist: tomli; python_version < "3.11" +Requires-Dist: typing-extensions >=4 +Requires-Dist: importlib-metadata ; python_version < "3.9" +Requires-Dist: importlib-resources ; python_version < "3.9" Provides-Extra: tz -Requires-Dist: tzdata; extra == "tz" -Dynamic: license-file +Requires-Dist: python-dateutil ; extra == 'tz' Alembic is a database migrations tool written by the author of `SQLAlchemy `_. A migrations tool diff --git a/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/RECORD b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/RECORD new file mode 100644 index 0000000..a26054d --- /dev/null +++ b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/RECORD @@ -0,0 +1,149 @@ +../../../bin/alembic,sha256=kheZTewTBSd6rruOpyoj8QhFdGKiaj38MUFgBD5whig,238 +alembic-1.12.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +alembic-1.12.1.dist-info/LICENSE,sha256=soUmiob0QW6vTQWyrjiAwVb3xZqPk1pAK8BW6vszrwg,1058 +alembic-1.12.1.dist-info/METADATA,sha256=D9-LeKL0unLPg2JKmlFMB5NAxt9N9y-8oVEGOUHbQnU,7306 +alembic-1.12.1.dist-info/RECORD,, +alembic-1.12.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +alembic-1.12.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92 +alembic-1.12.1.dist-info/entry_points.txt,sha256=aykM30soxwGN0pB7etLc1q0cHJbL9dy46RnK9VX4LLw,48 +alembic-1.12.1.dist-info/top_level.txt,sha256=FwKWd5VsPFC8iQjpu1u9Cn-JnK3-V1RhUCmWqz1cl-s,8 +alembic/__init__.py,sha256=gczqgDgBRw3aV70aNeH6WGu0WdASQf_YiChV12qCRRI,75 +alembic/__main__.py,sha256=373m7-TBh72JqrSMYviGrxCHZo-cnweM8AGF8A22PmY,78 +alembic/__pycache__/__init__.cpython-312.pyc,, +alembic/__pycache__/__main__.cpython-312.pyc,, +alembic/__pycache__/command.cpython-312.pyc,, +alembic/__pycache__/config.cpython-312.pyc,, +alembic/__pycache__/context.cpython-312.pyc,, +alembic/__pycache__/environment.cpython-312.pyc,, +alembic/__pycache__/migration.cpython-312.pyc,, +alembic/__pycache__/op.cpython-312.pyc,, +alembic/autogenerate/__init__.py,sha256=4IHgWH89pForRq-yCDZhGjjVtsfGX5ECWNPuUs8nGUk,351 +alembic/autogenerate/__pycache__/__init__.cpython-312.pyc,, +alembic/autogenerate/__pycache__/api.cpython-312.pyc,, +alembic/autogenerate/__pycache__/compare.cpython-312.pyc,, +alembic/autogenerate/__pycache__/render.cpython-312.pyc,, +alembic/autogenerate/__pycache__/rewriter.cpython-312.pyc,, +alembic/autogenerate/api.py,sha256=MNn0Xtmj44aMFjfiR0LMkbxOynHyiyaRBnrj5EkImm4,21967 +alembic/autogenerate/compare.py,sha256=gSCjxrkQAl0rJD6o9Ln8wNxGVNU6FrWzKZYVkH5Tmac,47042 +alembic/autogenerate/render.py,sha256=Fik2aPZEIxOlTCrBd0UiPxnX5SFG__CvfXqMWoJr6lw,34475 +alembic/autogenerate/rewriter.py,sha256=Osba8GFVeqiX1ypGJW7Axt0ui2EROlaFtVZdMFbhzZ0,7384 +alembic/command.py,sha256=ze4pYvKpB-FtF8rduY6F6n3XHqeA-15iXaaEDeNHVzI,21588 +alembic/config.py,sha256=68e1nmYU5Nfh0bNRqRWUygSilDl1p0G_U1zZ8ifgmD8,21931 +alembic/context.py,sha256=hK1AJOQXJ29Bhn276GYcosxeG7pC5aZRT5E8c4bMJ4Q,195 +alembic/context.pyi,sha256=FLsT0be_vO_ozlC05EJkWR5olDPoTVq-7tgtoM5wSAw,31463 +alembic/ddl/__init__.py,sha256=xXr1W6PePe0gCLwR42ude0E6iru9miUFc1fCeQN4YP8,137 +alembic/ddl/__pycache__/__init__.cpython-312.pyc,, +alembic/ddl/__pycache__/base.cpython-312.pyc,, +alembic/ddl/__pycache__/impl.cpython-312.pyc,, +alembic/ddl/__pycache__/mssql.cpython-312.pyc,, +alembic/ddl/__pycache__/mysql.cpython-312.pyc,, +alembic/ddl/__pycache__/oracle.cpython-312.pyc,, +alembic/ddl/__pycache__/postgresql.cpython-312.pyc,, +alembic/ddl/__pycache__/sqlite.cpython-312.pyc,, +alembic/ddl/base.py,sha256=cCY3NldMRggrKd9bZ0mFRBE9GNDaAy0UJcM3ey4Utgw,9638 +alembic/ddl/impl.py,sha256=Z3GpNM2KwBpfl1UCam1YsYbSd0mQzRigOKQhUCLIPgE,25564 +alembic/ddl/mssql.py,sha256=0k26xnUSZNj3qCHEMzRFbaWgUzKcV07I3_-Ns47VhO0,14105 +alembic/ddl/mysql.py,sha256=ff8OE0zQ8YYjAgltBbtjQkDR-g9z65DNeFjEMm4sX6c,16675 +alembic/ddl/oracle.py,sha256=E0VaZaUM_5mwqNiJVA3zOAK-cuHVVIv_-NmUbH1JuGQ,6097 +alembic/ddl/postgresql.py,sha256=aO8pcVN5ycw1wG2m1RRt8dQUD1KgRa6T4rSzg9FPCkU,26457 +alembic/ddl/sqlite.py,sha256=9q7NAxyeFwn9kWwQSc9RLeMFSos8waM7x9lnXdByh44,7613 +alembic/environment.py,sha256=MM5lPayGT04H3aeng1H7GQ8HEAs3VGX5yy6mDLCPLT4,43 +alembic/migration.py,sha256=MV6Fju6rZtn2fTREKzXrCZM6aIBGII4OMZFix0X-GLs,41 +alembic/op.py,sha256=flHtcsVqOD-ZgZKK2pv-CJ5Cwh-KJ7puMUNXzishxLw,167 +alembic/op.pyi,sha256=ldQBwAfzm_-ZsC3nizMuGoD34hjMKb4V_-Q1rR8q8LI,48591 +alembic/operations/__init__.py,sha256=e0KQSZAgLpTWvyvreB7DWg7RJV_MWSOPVDgCqsd2FzY,318 +alembic/operations/__pycache__/__init__.cpython-312.pyc,, +alembic/operations/__pycache__/base.cpython-312.pyc,, +alembic/operations/__pycache__/batch.cpython-312.pyc,, +alembic/operations/__pycache__/ops.cpython-312.pyc,, +alembic/operations/__pycache__/schemaobj.cpython-312.pyc,, +alembic/operations/__pycache__/toimpl.cpython-312.pyc,, +alembic/operations/base.py,sha256=2so4KisDNuOLw0CRiZqorIHrhuenpVoFbn3B0sNvDic,72471 +alembic/operations/batch.py,sha256=uMvGJDlcTs0GSHasg4Gsdv1YcXeLOK_1lkRl3jk1ezY,26954 +alembic/operations/ops.py,sha256=aP9Uz36k98O_Y-njKIAifyvyhi0g2zU6_igKMos91_s,93539 +alembic/operations/schemaobj.py,sha256=-tWad8pgWUNWucbpTnPuFK_EEl913C0RADJhlBnrjhc,9393 +alembic/operations/toimpl.py,sha256=K8nUmojtL94tyLSWdDD-e94IbghZ19k55iBIMvzMm5E,6993 +alembic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +alembic/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +alembic/runtime/__pycache__/__init__.cpython-312.pyc,, +alembic/runtime/__pycache__/environment.cpython-312.pyc,, +alembic/runtime/__pycache__/migration.cpython-312.pyc,, +alembic/runtime/environment.py,sha256=qaerrw5jB7zYliNnCvIziaju4-tvQ451MuGW8PHnfvw,41019 +alembic/runtime/migration.py,sha256=5UtTI_T0JtYzt6ZpeUhannMZOvXWiEymKFOpeCefaPY,49407 +alembic/script/__init__.py,sha256=lSj06O391Iy5avWAiq8SPs6N8RBgxkSPjP8wpXcNDGg,100 +alembic/script/__pycache__/__init__.cpython-312.pyc,, +alembic/script/__pycache__/base.cpython-312.pyc,, +alembic/script/__pycache__/revision.cpython-312.pyc,, +alembic/script/__pycache__/write_hooks.cpython-312.pyc,, +alembic/script/base.py,sha256=90SpT8wyTMTUuS0Svsy5YIoqJSrR-6CtYSzStmRvFT0,37174 +alembic/script/revision.py,sha256=DE0nwvDOzdFo843brvnhs1DfP0jRC5EVQHrNihC7PUQ,61471 +alembic/script/write_hooks.py,sha256=Nqj4zz3sm97kAPOpK1m-i2znJchiybO_TWT50oljlJw,4917 +alembic/templates/async/README,sha256=ISVtAOvqvKk_5ThM5ioJE-lMkvf9IbknFUFVU_vPma4,58 +alembic/templates/async/__pycache__/env.cpython-312.pyc,, +alembic/templates/async/alembic.ini.mako,sha256=k3IyGDG15Rp1JDweC0TiDauaKYNvj3clrGfhw6oV6MI,3505 +alembic/templates/async/env.py,sha256=zbOCf3Y7w2lg92hxSwmG1MM_7y56i_oRH4AKp0pQBYo,2389 +alembic/templates/async/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635 +alembic/templates/generic/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38 +alembic/templates/generic/__pycache__/env.cpython-312.pyc,, +alembic/templates/generic/alembic.ini.mako,sha256=gZWFmH2A9sP0i7cxEDhJFkjGtTKUXaVna8QAbIaRqxk,3614 +alembic/templates/generic/env.py,sha256=TLRWOVW3Xpt_Tpf8JFzlnoPn_qoUu8UV77Y4o9XD6yI,2103 +alembic/templates/generic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635 +alembic/templates/multidb/README,sha256=dWLDhnBgphA4Nzb7sNlMfCS3_06YqVbHhz-9O5JNqyI,606 +alembic/templates/multidb/__pycache__/env.cpython-312.pyc,, +alembic/templates/multidb/alembic.ini.mako,sha256=j_Y0yuZVoHy7sTPgSPd8DmbT2ItvAdWs7trYZSOmFnw,3708 +alembic/templates/multidb/env.py,sha256=6zNjnW8mXGUk7erTsAvrfhvqoczJ-gagjVq1Ypg2YIQ,4230 +alembic/templates/multidb/script.py.mako,sha256=N06nMtNSwHkgl0EBXDyMt8njp9tlOesR583gfq21nbY,1090 +alembic/testing/__init__.py,sha256=kOxOh5nwmui9d-_CCq9WA4Udwy7ITjm453w74CTLZDo,1159 +alembic/testing/__pycache__/__init__.cpython-312.pyc,, +alembic/testing/__pycache__/assertions.cpython-312.pyc,, +alembic/testing/__pycache__/env.cpython-312.pyc,, +alembic/testing/__pycache__/fixtures.cpython-312.pyc,, +alembic/testing/__pycache__/requirements.cpython-312.pyc,, +alembic/testing/__pycache__/schemacompare.cpython-312.pyc,, +alembic/testing/__pycache__/util.cpython-312.pyc,, +alembic/testing/__pycache__/warnings.cpython-312.pyc,, +alembic/testing/assertions.py,sha256=1CbJk8c8-WO9eJ0XJ0jJvMsNRLUrXV41NOeIJUAlOBk,5015 +alembic/testing/env.py,sha256=zJacVb_z6uLs2U1TtkmnFH9P3_F-3IfYbVv4UEPOvfo,10754 +alembic/testing/fixtures.py,sha256=NyP4wE_dFN9ZzSGiBagRu1cdzkka03nwJYJYHYrrkSY,9112 +alembic/testing/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +alembic/testing/plugin/__pycache__/__init__.cpython-312.pyc,, +alembic/testing/plugin/__pycache__/bootstrap.cpython-312.pyc,, +alembic/testing/plugin/bootstrap.py,sha256=9C6wtjGrIVztZ928w27hsQE0KcjDLIUtUN3dvZKsMVk,50 +alembic/testing/requirements.py,sha256=WByOiJxn2crazIXPq6-0cfqV95cfd9vP_ZQ1Cf2l8hY,4841 +alembic/testing/schemacompare.py,sha256=7_4_0Y4UvuMiZ66pz1RC_P8Z1kYOP-R4Y5qUcNmcMKA,4535 +alembic/testing/suite/__init__.py,sha256=MvE7-hwbaVN1q3NM-ztGxORU9dnIelUCINKqNxewn7Y,288 +alembic/testing/suite/__pycache__/__init__.cpython-312.pyc,, +alembic/testing/suite/__pycache__/_autogen_fixtures.cpython-312.pyc,, +alembic/testing/suite/__pycache__/test_autogen_comments.cpython-312.pyc,, +alembic/testing/suite/__pycache__/test_autogen_computed.cpython-312.pyc,, +alembic/testing/suite/__pycache__/test_autogen_diffs.cpython-312.pyc,, +alembic/testing/suite/__pycache__/test_autogen_fks.cpython-312.pyc,, +alembic/testing/suite/__pycache__/test_autogen_identity.cpython-312.pyc,, +alembic/testing/suite/__pycache__/test_environment.cpython-312.pyc,, +alembic/testing/suite/__pycache__/test_op.cpython-312.pyc,, +alembic/testing/suite/_autogen_fixtures.py,sha256=cDq1pmzHe15S6dZPGNC6sqFaCQ3hLT_oPV2IDigUGQ0,9880 +alembic/testing/suite/test_autogen_comments.py,sha256=aEGqKUDw4kHjnDk298aoGcQvXJWmZXcIX_2FxH4cJK8,6283 +alembic/testing/suite/test_autogen_computed.py,sha256=qJeBpc8urnwTFvbwWrSTIbHVkRUuCXP-dKaNbUK2U2U,6077 +alembic/testing/suite/test_autogen_diffs.py,sha256=T4SR1n_kmcOKYhR4W1-dA0e5sddJ69DSVL2HW96kAkE,8394 +alembic/testing/suite/test_autogen_fks.py,sha256=AqFmb26Buex167HYa9dZWOk8x-JlB1OK3bwcvvjDFaU,32927 +alembic/testing/suite/test_autogen_identity.py,sha256=kcuqngG7qXAKPJDX4U8sRzPKHEJECHuZ0DtuaS6tVkk,5824 +alembic/testing/suite/test_environment.py,sha256=w9F0xnLEbALeR8k6_-Tz6JHvy91IqiTSypNasVzXfZQ,11877 +alembic/testing/suite/test_op.py,sha256=2XQCdm_NmnPxHGuGj7hmxMzIhKxXNotUsKdACXzE1mM,1343 +alembic/testing/util.py,sha256=CQrcQDA8fs_7ME85z5ydb-Bt70soIIID-qNY1vbR2dg,3350 +alembic/testing/warnings.py,sha256=RxA7x_8GseANgw07Us8JN_1iGbANxaw6_VitX2ZGQH4,1078 +alembic/util/__init__.py,sha256=cPF_jjFx7YRBByHHDqW3wxCIHsqnGfncEr_i238aduY,1202 +alembic/util/__pycache__/__init__.cpython-312.pyc,, +alembic/util/__pycache__/compat.cpython-312.pyc,, +alembic/util/__pycache__/editor.cpython-312.pyc,, +alembic/util/__pycache__/exc.cpython-312.pyc,, +alembic/util/__pycache__/langhelpers.cpython-312.pyc,, +alembic/util/__pycache__/messaging.cpython-312.pyc,, +alembic/util/__pycache__/pyfiles.cpython-312.pyc,, +alembic/util/__pycache__/sqla_compat.cpython-312.pyc,, +alembic/util/compat.py,sha256=WN8jPPFB9ri_uuEM1HEaN1ak3RJc_H3x8NqvtFkoXuM,2279 +alembic/util/editor.py,sha256=JIz6_BdgV8_oKtnheR6DZoB7qnrHrlRgWjx09AsTsUw,2546 +alembic/util/exc.py,sha256=KQTru4zcgAmN4IxLMwLFS56XToUewaXB7oOLcPNjPwg,98 +alembic/util/langhelpers.py,sha256=ZFGyGygHRbztOeajpajppyhd-Gp4PB5slMuvCFVrnmg,8591 +alembic/util/messaging.py,sha256=B6T-loMhIOY3OTbG47Ywp1Df9LZn18PgjwpwLrD1VNg,3042 +alembic/util/pyfiles.py,sha256=95J01FChN0j2uP3p72mjaOQvh5wC6XbdGtTDK8oEzsQ,3373 +alembic/util/sqla_compat.py,sha256=94MHlkj43y-QQySz5dCUiJUNOPr3BF9TQ_BrP6ey-8w,18906 diff --git a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/WHEEL b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/WHEEL similarity index 65% rename from venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/WHEEL index e7fa31b..7e68873 100644 --- a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 -Generator: setuptools (80.9.0) +Generator: bdist_wheel (0.41.2) Root-Is-Purelib: true Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/entry_points.txt b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/entry_points.txt similarity index 100% rename from venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/entry_points.txt rename to venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/entry_points.txt diff --git a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/top_level.txt similarity index 100% rename from venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/top_level.txt rename to venv/lib/python3.12/site-packages/alembic-1.12.1.dist-info/top_level.txt diff --git a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/RECORD b/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/RECORD deleted file mode 100644 index 5108e5d..0000000 --- a/venv/lib/python3.12/site-packages/alembic-1.16.5.dist-info/RECORD +++ /dev/null @@ -1,163 +0,0 @@ -../../../bin/alembic,sha256=_J6yD4KtWGrilKk3GrsJKTd-33Dqp4ejOp_LNh0fQNs,234 -alembic-1.16.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -alembic-1.16.5.dist-info/METADATA,sha256=_hKTp0jnKI77a2esxmoCXgv5t2U8hDZS7yZDRkDBl0k,7265 -alembic-1.16.5.dist-info/RECORD,, -alembic-1.16.5.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -alembic-1.16.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91 -alembic-1.16.5.dist-info/entry_points.txt,sha256=aykM30soxwGN0pB7etLc1q0cHJbL9dy46RnK9VX4LLw,48 -alembic-1.16.5.dist-info/licenses/LICENSE,sha256=NeqcNBmyYfrxvkSMT0fZJVKBv2s2tf_qVQUiJ9S6VN4,1059 -alembic-1.16.5.dist-info/top_level.txt,sha256=FwKWd5VsPFC8iQjpu1u9Cn-JnK3-V1RhUCmWqz1cl-s,8 -alembic/__init__.py,sha256=H_hItDeyDOrQAHc1AFoYXIRN3O3FSxw4zSNiVzz2JlM,63 -alembic/__main__.py,sha256=373m7-TBh72JqrSMYviGrxCHZo-cnweM8AGF8A22PmY,78 -alembic/__pycache__/__init__.cpython-312.pyc,, -alembic/__pycache__/__main__.cpython-312.pyc,, -alembic/__pycache__/command.cpython-312.pyc,, -alembic/__pycache__/config.cpython-312.pyc,, -alembic/__pycache__/context.cpython-312.pyc,, -alembic/__pycache__/environment.cpython-312.pyc,, -alembic/__pycache__/migration.cpython-312.pyc,, -alembic/__pycache__/op.cpython-312.pyc,, -alembic/autogenerate/__init__.py,sha256=ntmUTXhjLm4_zmqIwyVaECdpPDn6_u1yM9vYk6-553E,543 -alembic/autogenerate/__pycache__/__init__.cpython-312.pyc,, -alembic/autogenerate/__pycache__/api.cpython-312.pyc,, -alembic/autogenerate/__pycache__/compare.cpython-312.pyc,, -alembic/autogenerate/__pycache__/render.cpython-312.pyc,, -alembic/autogenerate/__pycache__/rewriter.cpython-312.pyc,, -alembic/autogenerate/api.py,sha256=L4qkapSJO1Ypymx8HsjLl0vFFt202agwMYsQbIe6ZtI,22219 -alembic/autogenerate/compare.py,sha256=LRTxNijEBvcTauuUXuJjC6Sg_gUn33FCYBTF0neZFwE,45979 -alembic/autogenerate/render.py,sha256=ceQL8nk8m2kBtQq5gtxtDLR9iR0Sck8xG_61Oez-Sqs,37270 -alembic/autogenerate/rewriter.py,sha256=NIASSS-KaNKPmbm1k4pE45aawwjSh1Acf6eZrOwnUGM,7814 -alembic/command.py,sha256=pZPQUGSxCjFu7qy0HMe02HJmByM0LOqoiK2AXKfRO3A,24855 -alembic/config.py,sha256=nfwN_OOFPpee-OY4o10DANh7VG_E4O7bdW00Wx8NNKY,34237 -alembic/context.py,sha256=hK1AJOQXJ29Bhn276GYcosxeG7pC5aZRT5E8c4bMJ4Q,195 -alembic/context.pyi,sha256=fdeFNTRc0bUgi7n2eZWVFh6NG-TzIv_0gAcapbfHnKY,31773 -alembic/ddl/__init__.py,sha256=Df8fy4Vn_abP8B7q3x8gyFwEwnLw6hs2Ljt_bV3EZWE,152 -alembic/ddl/__pycache__/__init__.cpython-312.pyc,, -alembic/ddl/__pycache__/_autogen.cpython-312.pyc,, -alembic/ddl/__pycache__/base.cpython-312.pyc,, -alembic/ddl/__pycache__/impl.cpython-312.pyc,, -alembic/ddl/__pycache__/mssql.cpython-312.pyc,, -alembic/ddl/__pycache__/mysql.cpython-312.pyc,, -alembic/ddl/__pycache__/oracle.cpython-312.pyc,, -alembic/ddl/__pycache__/postgresql.cpython-312.pyc,, -alembic/ddl/__pycache__/sqlite.cpython-312.pyc,, -alembic/ddl/_autogen.py,sha256=Blv2RrHNyF4cE6znCQXNXG5T9aO-YmiwD4Fz-qfoaWA,9275 -alembic/ddl/base.py,sha256=A1f89-rCZvqw-hgWmBbIszRqx94lL6gKLFXE9kHettA,10478 -alembic/ddl/impl.py,sha256=UL8-iza7CJk_T73lr5fjDLdhxEL56uD-AEjtmESAbLk,30439 -alembic/ddl/mssql.py,sha256=NzORSIDHUll_g6iH4IyMTXZU1qjKzXrpespKrjWnfLY,14216 -alembic/ddl/mysql.py,sha256=LSfwiABdT54sKY_uQ-h6RvjbGiG-1vCSDkO3ECeq3qM,18383 -alembic/ddl/oracle.py,sha256=669YlkcZihlXFbnXhH2krdrvDry8q5pcUGfoqkg_R6Y,6243 -alembic/ddl/postgresql.py,sha256=S7uye2NDSHLwV3w8SJ2Q9DLbcvQIxQfJ3EEK6JqyNag,29950 -alembic/ddl/sqlite.py,sha256=u5tJgRUiY6bzVltl_NWlI6cy23v8XNagk_9gPI6Lnns,8006 -alembic/environment.py,sha256=MM5lPayGT04H3aeng1H7GQ8HEAs3VGX5yy6mDLCPLT4,43 -alembic/migration.py,sha256=MV6Fju6rZtn2fTREKzXrCZM6aIBGII4OMZFix0X-GLs,41 -alembic/op.py,sha256=flHtcsVqOD-ZgZKK2pv-CJ5Cwh-KJ7puMUNXzishxLw,167 -alembic/op.pyi,sha256=PQ4mKNp7EXrjVdIWQRoGiBSVke4PPxTc9I6qF8ZGGZE,50711 -alembic/operations/__init__.py,sha256=e0KQSZAgLpTWvyvreB7DWg7RJV_MWSOPVDgCqsd2FzY,318 -alembic/operations/__pycache__/__init__.cpython-312.pyc,, -alembic/operations/__pycache__/base.cpython-312.pyc,, -alembic/operations/__pycache__/batch.cpython-312.pyc,, -alembic/operations/__pycache__/ops.cpython-312.pyc,, -alembic/operations/__pycache__/schemaobj.cpython-312.pyc,, -alembic/operations/__pycache__/toimpl.cpython-312.pyc,, -alembic/operations/base.py,sha256=npw1iFboTlEsaQS0b7mb2SEHsRDV4GLQqnjhcfma6Nk,75157 -alembic/operations/batch.py,sha256=1UmCFcsFWObinQWFRWoGZkjynl54HKpldbPs67aR4wg,26923 -alembic/operations/ops.py,sha256=ftsFgcZIctxRDiuGgkQsaFHsMlRP7cLq7Dj_seKVBnQ,96276 -alembic/operations/schemaobj.py,sha256=Wp-bBe4a8lXPTvIHJttBY0ejtpVR5Jvtb2kI-U2PztQ,9468 -alembic/operations/toimpl.py,sha256=rgufuSUNwpgrOYzzY3Q3ELW1rQv2fQbQVokXgnIYIrs,7503 -alembic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -alembic/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -alembic/runtime/__pycache__/__init__.cpython-312.pyc,, -alembic/runtime/__pycache__/environment.cpython-312.pyc,, -alembic/runtime/__pycache__/migration.cpython-312.pyc,, -alembic/runtime/environment.py,sha256=L6bDW1dvw8L4zwxlTG8KnT0xcCgLXxUfdRpzqlJoFjo,41479 -alembic/runtime/migration.py,sha256=lu9_z_qyWmNzSM52_FgdXP_G52PTmTTeOeMBQAkQTFg,49997 -alembic/script/__init__.py,sha256=lSj06O391Iy5avWAiq8SPs6N8RBgxkSPjP8wpXcNDGg,100 -alembic/script/__pycache__/__init__.cpython-312.pyc,, -alembic/script/__pycache__/base.cpython-312.pyc,, -alembic/script/__pycache__/revision.cpython-312.pyc,, -alembic/script/__pycache__/write_hooks.cpython-312.pyc,, -alembic/script/base.py,sha256=4jINClsNNwQIvnf4Kwp9JPAMrANLXdLItylXmcMqAkI,36896 -alembic/script/revision.py,sha256=BQcJoMCIXtSJRLCvdasgLOtCx9O7A8wsSym1FsqLW4s,62307 -alembic/script/write_hooks.py,sha256=uQWAtguSCrxU_k9d87NX19y6EzyjJRRQ5HS9cyPnK9o,5092 -alembic/templates/async/README,sha256=ISVtAOvqvKk_5ThM5ioJE-lMkvf9IbknFUFVU_vPma4,58 -alembic/templates/async/__pycache__/env.cpython-312.pyc,, -alembic/templates/async/alembic.ini.mako,sha256=Bgi4WkaHYsT7xvsX-4WOGkcXKFroNoQLaUvZA23ZwGs,4864 -alembic/templates/async/env.py,sha256=zbOCf3Y7w2lg92hxSwmG1MM_7y56i_oRH4AKp0pQBYo,2389 -alembic/templates/async/script.py.mako,sha256=04kgeBtNMa4cCnG8CfQcKt6P6rnloIfj8wy0u_DBydM,704 -alembic/templates/generic/README,sha256=MVlc9TYmr57RbhXET6QxgyCcwWP7w-vLkEsirENqiIQ,38 -alembic/templates/generic/__pycache__/env.cpython-312.pyc,, -alembic/templates/generic/alembic.ini.mako,sha256=LCpLL02bi9Qr3KRTEj9NbQqAu0ckUmYBwPtrMtQkv-Y,4864 -alembic/templates/generic/env.py,sha256=TLRWOVW3Xpt_Tpf8JFzlnoPn_qoUu8UV77Y4o9XD6yI,2103 -alembic/templates/generic/script.py.mako,sha256=04kgeBtNMa4cCnG8CfQcKt6P6rnloIfj8wy0u_DBydM,704 -alembic/templates/multidb/README,sha256=dWLDhnBgphA4Nzb7sNlMfCS3_06YqVbHhz-9O5JNqyI,606 -alembic/templates/multidb/__pycache__/env.cpython-312.pyc,, -alembic/templates/multidb/alembic.ini.mako,sha256=rIp1LTdE1xcoFT2G7X72KshzYjUTRrHTvnkvFL___-8,5190 -alembic/templates/multidb/env.py,sha256=6zNjnW8mXGUk7erTsAvrfhvqoczJ-gagjVq1Ypg2YIQ,4230 -alembic/templates/multidb/script.py.mako,sha256=ZbCXMkI5Wj2dwNKcxuVGkKZ7Iav93BNx_bM4zbGi3c8,1235 -alembic/templates/pyproject/README,sha256=dMhIiFoeM7EdeaOXBs3mVQ6zXACMyGXDb_UBB6sGRA0,60 -alembic/templates/pyproject/__pycache__/env.cpython-312.pyc,, -alembic/templates/pyproject/alembic.ini.mako,sha256=bQnEoydnLOUgg9vNbTOys4r5MaW8lmwYFXSrlfdEEkw,782 -alembic/templates/pyproject/env.py,sha256=TLRWOVW3Xpt_Tpf8JFzlnoPn_qoUu8UV77Y4o9XD6yI,2103 -alembic/templates/pyproject/pyproject.toml.mako,sha256=Gf16ZR9OMG9zDlFO5PVQlfiL1DTKwSA--sTNzK7Lba0,2852 -alembic/templates/pyproject/script.py.mako,sha256=04kgeBtNMa4cCnG8CfQcKt6P6rnloIfj8wy0u_DBydM,704 -alembic/templates/pyproject_async/README,sha256=2Q5XcEouiqQ-TJssO9805LROkVUd0F6d74rTnuLrifA,45 -alembic/templates/pyproject_async/__pycache__/env.cpython-312.pyc,, -alembic/templates/pyproject_async/alembic.ini.mako,sha256=bQnEoydnLOUgg9vNbTOys4r5MaW8lmwYFXSrlfdEEkw,782 -alembic/templates/pyproject_async/env.py,sha256=zbOCf3Y7w2lg92hxSwmG1MM_7y56i_oRH4AKp0pQBYo,2389 -alembic/templates/pyproject_async/pyproject.toml.mako,sha256=Gf16ZR9OMG9zDlFO5PVQlfiL1DTKwSA--sTNzK7Lba0,2852 -alembic/templates/pyproject_async/script.py.mako,sha256=04kgeBtNMa4cCnG8CfQcKt6P6rnloIfj8wy0u_DBydM,704 -alembic/testing/__init__.py,sha256=PTMhi_2PZ1T_3atQS2CIr0V4YRZzx_doKI-DxKdQS44,1297 -alembic/testing/__pycache__/__init__.cpython-312.pyc,, -alembic/testing/__pycache__/assertions.cpython-312.pyc,, -alembic/testing/__pycache__/env.cpython-312.pyc,, -alembic/testing/__pycache__/fixtures.cpython-312.pyc,, -alembic/testing/__pycache__/requirements.cpython-312.pyc,, -alembic/testing/__pycache__/schemacompare.cpython-312.pyc,, -alembic/testing/__pycache__/util.cpython-312.pyc,, -alembic/testing/__pycache__/warnings.cpython-312.pyc,, -alembic/testing/assertions.py,sha256=qcqf3tRAUe-A12NzuK_yxlksuX9OZKRC5E8pKIdBnPg,5302 -alembic/testing/env.py,sha256=pka7fjwOC8hYL6X0XE4oPkJpy_1WX01bL7iP7gpO_4I,11551 -alembic/testing/fixtures.py,sha256=fOzsRF8SW6CWpAH0sZpUHcgsJjun9EHnp4k2S3Lq5eU,9920 -alembic/testing/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -alembic/testing/plugin/__pycache__/__init__.cpython-312.pyc,, -alembic/testing/plugin/__pycache__/bootstrap.cpython-312.pyc,, -alembic/testing/plugin/bootstrap.py,sha256=9C6wtjGrIVztZ928w27hsQE0KcjDLIUtUN3dvZKsMVk,50 -alembic/testing/requirements.py,sha256=gNnnvgPCuiqKeHmiNymdQuYIjQ0BrxiPxu_in4eHEsc,4180 -alembic/testing/schemacompare.py,sha256=N5UqSNCOJetIKC4vKhpYzQEpj08XkdgIoqBmEPQ3tlc,4838 -alembic/testing/suite/__init__.py,sha256=MvE7-hwbaVN1q3NM-ztGxORU9dnIelUCINKqNxewn7Y,288 -alembic/testing/suite/__pycache__/__init__.cpython-312.pyc,, -alembic/testing/suite/__pycache__/_autogen_fixtures.cpython-312.pyc,, -alembic/testing/suite/__pycache__/test_autogen_comments.cpython-312.pyc,, -alembic/testing/suite/__pycache__/test_autogen_computed.cpython-312.pyc,, -alembic/testing/suite/__pycache__/test_autogen_diffs.cpython-312.pyc,, -alembic/testing/suite/__pycache__/test_autogen_fks.cpython-312.pyc,, -alembic/testing/suite/__pycache__/test_autogen_identity.cpython-312.pyc,, -alembic/testing/suite/__pycache__/test_environment.cpython-312.pyc,, -alembic/testing/suite/__pycache__/test_op.cpython-312.pyc,, -alembic/testing/suite/_autogen_fixtures.py,sha256=Drrz_FKb9KDjq8hkwxtPkJVY1sCY7Biw-Muzb8kANp8,13480 -alembic/testing/suite/test_autogen_comments.py,sha256=aEGqKUDw4kHjnDk298aoGcQvXJWmZXcIX_2FxH4cJK8,6283 -alembic/testing/suite/test_autogen_computed.py,sha256=-5wran56qXo3afAbSk8cuSDDpbQweyJ61RF-GaVuZbA,4126 -alembic/testing/suite/test_autogen_diffs.py,sha256=T4SR1n_kmcOKYhR4W1-dA0e5sddJ69DSVL2HW96kAkE,8394 -alembic/testing/suite/test_autogen_fks.py,sha256=AqFmb26Buex167HYa9dZWOk8x-JlB1OK3bwcvvjDFaU,32927 -alembic/testing/suite/test_autogen_identity.py,sha256=kcuqngG7qXAKPJDX4U8sRzPKHEJECHuZ0DtuaS6tVkk,5824 -alembic/testing/suite/test_environment.py,sha256=OwD-kpESdLoc4byBrGrXbZHvqtPbzhFCG4W9hJOJXPQ,11877 -alembic/testing/suite/test_op.py,sha256=2XQCdm_NmnPxHGuGj7hmxMzIhKxXNotUsKdACXzE1mM,1343 -alembic/testing/util.py,sha256=CQrcQDA8fs_7ME85z5ydb-Bt70soIIID-qNY1vbR2dg,3350 -alembic/testing/warnings.py,sha256=cDDWzvxNZE6x9dME2ACTXSv01G81JcIbE1GIE_s1kvg,831 -alembic/util/__init__.py,sha256=_Zj_xp6ssKLyoLHUFzmKhnc8mhwXW8D8h7qyX-wO56M,1519 -alembic/util/__pycache__/__init__.cpython-312.pyc,, -alembic/util/__pycache__/compat.cpython-312.pyc,, -alembic/util/__pycache__/editor.cpython-312.pyc,, -alembic/util/__pycache__/exc.cpython-312.pyc,, -alembic/util/__pycache__/langhelpers.cpython-312.pyc,, -alembic/util/__pycache__/messaging.cpython-312.pyc,, -alembic/util/__pycache__/pyfiles.cpython-312.pyc,, -alembic/util/__pycache__/sqla_compat.cpython-312.pyc,, -alembic/util/compat.py,sha256=Vt5xCn5Y675jI4seKNBV4IVnCl9V4wyH3OBI2w7U0EY,4248 -alembic/util/editor.py,sha256=JIz6_BdgV8_oKtnheR6DZoB7qnrHrlRgWjx09AsTsUw,2546 -alembic/util/exc.py,sha256=ZBlTQ8g-Jkb1iYFhFHs9djilRz0SSQ0Foc5SSoENs5o,564 -alembic/util/langhelpers.py,sha256=LpOcovnhMnP45kTt8zNJ4BHpyQrlF40OL6yDXjqKtsE,10026 -alembic/util/messaging.py,sha256=3bEBoDy4EAXETXAvArlYjeMITXDTgPTu6ZoE3ytnzSw,3294 -alembic/util/pyfiles.py,sha256=kOBjZEytRkBKsQl0LAj2sbKJMQazjwQ_5UeMKSIvVFo,4730 -alembic/util/sqla_compat.py,sha256=9OYPTf-GCultAIuv1PoiaqYXAApZQxUOqjrOaeJDAik,14790 diff --git a/venv/lib/python3.12/site-packages/alembic/__init__.py b/venv/lib/python3.12/site-packages/alembic/__init__.py index 302a806..c5870fb 100644 --- a/venv/lib/python3.12/site-packages/alembic/__init__.py +++ b/venv/lib/python3.12/site-packages/alembic/__init__.py @@ -1,4 +1,6 @@ +import sys + from . import context from . import op -__version__ = "1.16.5" +__version__ = "1.12.1" diff --git a/venv/lib/python3.12/site-packages/alembic/autogenerate/__init__.py b/venv/lib/python3.12/site-packages/alembic/autogenerate/__init__.py index 445ddb2..cd2ed1c 100644 --- a/venv/lib/python3.12/site-packages/alembic/autogenerate/__init__.py +++ b/venv/lib/python3.12/site-packages/alembic/autogenerate/__init__.py @@ -1,10 +1,10 @@ -from .api import _render_migration_diffs as _render_migration_diffs -from .api import compare_metadata as compare_metadata -from .api import produce_migrations as produce_migrations -from .api import render_python_code as render_python_code -from .api import RevisionContext as RevisionContext -from .compare import _produce_net_changes as _produce_net_changes -from .compare import comparators as comparators -from .render import render_op_text as render_op_text -from .render import renderers as renderers -from .rewriter import Rewriter as Rewriter +from .api import _render_migration_diffs +from .api import compare_metadata +from .api import produce_migrations +from .api import render_python_code +from .api import RevisionContext +from .compare import _produce_net_changes +from .compare import comparators +from .render import render_op_text +from .render import renderers +from .rewriter import Rewriter diff --git a/venv/lib/python3.12/site-packages/alembic/autogenerate/api.py b/venv/lib/python3.12/site-packages/alembic/autogenerate/api.py index 811462e..7282487 100644 --- a/venv/lib/python3.12/site-packages/alembic/autogenerate/api.py +++ b/venv/lib/python3.12/site-packages/alembic/autogenerate/api.py @@ -17,7 +17,6 @@ from . import compare from . import render from .. import util from ..operations import ops -from ..util import sqla_compat """Provide the 'autogenerate' feature which can produce migration operations automatically.""" @@ -28,7 +27,6 @@ if TYPE_CHECKING: from sqlalchemy.engine import Inspector from sqlalchemy.sql.schema import MetaData from sqlalchemy.sql.schema import SchemaItem - from sqlalchemy.sql.schema import Table from ..config import Config from ..operations.ops import DowngradeOps @@ -166,7 +164,6 @@ def compare_metadata(context: MigrationContext, metadata: MetaData) -> Any: """ migration_script = produce_migrations(context, metadata) - assert migration_script.upgrade_ops is not None return migration_script.upgrade_ops.as_diffs() @@ -277,7 +274,7 @@ class AutogenContext: """Maintains configuration and state that's specific to an autogenerate operation.""" - metadata: Union[MetaData, Sequence[MetaData], None] = None + metadata: Optional[MetaData] = None """The :class:`~sqlalchemy.schema.MetaData` object representing the destination. @@ -332,8 +329,8 @@ class AutogenContext: def __init__( self, migration_context: MigrationContext, - metadata: Union[MetaData, Sequence[MetaData], None] = None, - opts: Optional[Dict[str, Any]] = None, + metadata: Optional[MetaData] = None, + opts: Optional[dict] = None, autogenerate: bool = True, ) -> None: if ( @@ -443,7 +440,7 @@ class AutogenContext: def run_object_filters( self, object_: SchemaItem, - name: sqla_compat._ConstraintName, + name: Optional[str], type_: NameFilterType, reflected: bool, compare_to: Optional[SchemaItem], @@ -467,7 +464,7 @@ class AutogenContext: run_filters = run_object_filters @util.memoized_property - def sorted_tables(self) -> List[Table]: + def sorted_tables(self): """Return an aggregate of the :attr:`.MetaData.sorted_tables` collection(s). @@ -483,7 +480,7 @@ class AutogenContext: return result @util.memoized_property - def table_key_to_table(self) -> Dict[str, Table]: + def table_key_to_table(self): """Return an aggregate of the :attr:`.MetaData.tables` dictionaries. The :attr:`.MetaData.tables` collection is a dictionary of table key @@ -494,7 +491,7 @@ class AutogenContext: objects contain the same table key, an exception is raised. """ - result: Dict[str, Table] = {} + result = {} for m in util.to_list(self.metadata): intersect = set(result).intersection(set(m.tables)) if intersect: @@ -596,9 +593,9 @@ class RevisionContext: migration_script = self.generated_revisions[-1] if not getattr(migration_script, "_needs_render", False): migration_script.upgrade_ops_list[-1].upgrade_token = upgrade_token - migration_script.downgrade_ops_list[-1].downgrade_token = ( - downgrade_token - ) + migration_script.downgrade_ops_list[ + -1 + ].downgrade_token = downgrade_token migration_script._needs_render = True else: migration_script._upgrade_ops.append( diff --git a/venv/lib/python3.12/site-packages/alembic/autogenerate/compare.py b/venv/lib/python3.12/site-packages/alembic/autogenerate/compare.py index a9adda1..a24a75d 100644 --- a/venv/lib/python3.12/site-packages/alembic/autogenerate/compare.py +++ b/venv/lib/python3.12/site-packages/alembic/autogenerate/compare.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations import contextlib @@ -10,12 +7,12 @@ from typing import Any from typing import cast from typing import Dict from typing import Iterator +from typing import List from typing import Mapping from typing import Optional from typing import Set from typing import Tuple from typing import TYPE_CHECKING -from typing import TypeVar from typing import Union from sqlalchemy import event @@ -24,15 +21,10 @@ from sqlalchemy import schema as sa_schema from sqlalchemy import text from sqlalchemy import types as sqltypes from sqlalchemy.sql import expression -from sqlalchemy.sql.elements import conv -from sqlalchemy.sql.schema import ForeignKeyConstraint -from sqlalchemy.sql.schema import Index -from sqlalchemy.sql.schema import UniqueConstraint from sqlalchemy.util import OrderedSet +from alembic.ddl.base import _fk_spec from .. import util -from ..ddl._autogen import is_index_sig -from ..ddl._autogen import is_uq_sig from ..operations import ops from ..util import sqla_compat @@ -43,7 +35,10 @@ if TYPE_CHECKING: from sqlalchemy.sql.elements import quoted_name from sqlalchemy.sql.elements import TextClause from sqlalchemy.sql.schema import Column + from sqlalchemy.sql.schema import ForeignKeyConstraint + from sqlalchemy.sql.schema import Index from sqlalchemy.sql.schema import Table + from sqlalchemy.sql.schema import UniqueConstraint from alembic.autogenerate.api import AutogenContext from alembic.ddl.impl import DefaultImpl @@ -51,8 +46,6 @@ if TYPE_CHECKING: from alembic.operations.ops import MigrationScript from alembic.operations.ops import ModifyTableOps from alembic.operations.ops import UpgradeOps - from ..ddl._autogen import _constraint_sig - log = logging.getLogger(__name__) @@ -217,7 +210,7 @@ def _compare_tables( (inspector), # fmt: on ) - _InspectorConv(inspector).reflect_table(t, include_columns=None) + sqla_compat._reflect_table(inspector, t) if autogen_context.run_object_filters(t, tname, "table", True, None): modify_table_ops = ops.ModifyTableOps(tname, [], schema=s) @@ -247,8 +240,7 @@ def _compare_tables( _compat_autogen_column_reflect(inspector), # fmt: on ) - _InspectorConv(inspector).reflect_table(t, include_columns=None) - + sqla_compat._reflect_table(inspector, t) conn_column_info[(s, tname)] = t for s, tname in sorted(existing_tables, key=lambda x: (x[0] or "", x[1])): @@ -437,56 +429,102 @@ def _compare_columns( log.info("Detected removed column '%s.%s'", name, cname) -_C = TypeVar("_C", bound=Union[UniqueConstraint, ForeignKeyConstraint, Index]) +class _constraint_sig: + const: Union[UniqueConstraint, ForeignKeyConstraint, Index] - -class _InspectorConv: - __slots__ = ("inspector",) - - def __init__(self, inspector): - self.inspector = inspector - - def _apply_reflectinfo_conv(self, consts): - if not consts: - return consts - for const in consts: - if const["name"] is not None and not isinstance( - const["name"], conv - ): - const["name"] = conv(const["name"]) - return consts - - def _apply_constraint_conv(self, consts): - if not consts: - return consts - for const in consts: - if const.name is not None and not isinstance(const.name, conv): - const.name = conv(const.name) - return consts - - def get_indexes(self, *args, **kw): - return self._apply_reflectinfo_conv( - self.inspector.get_indexes(*args, **kw) + def md_name_to_sql_name(self, context: AutogenContext) -> Optional[str]: + return sqla_compat._get_constraint_final_name( + self.const, context.dialect ) - def get_unique_constraints(self, *args, **kw): - return self._apply_reflectinfo_conv( - self.inspector.get_unique_constraints(*args, **kw) + def __eq__(self, other): + return self.const == other.const + + def __ne__(self, other): + return self.const != other.const + + def __hash__(self) -> int: + return hash(self.const) + + +class _uq_constraint_sig(_constraint_sig): + is_index = False + is_unique = True + + def __init__(self, const: UniqueConstraint, impl: DefaultImpl) -> None: + self.const = const + self.name = const.name + self.sig = ("UNIQUE_CONSTRAINT",) + impl.create_unique_constraint_sig( + const ) - def get_foreign_keys(self, *args, **kw): - return self._apply_reflectinfo_conv( - self.inspector.get_foreign_keys(*args, **kw) + @property + def column_names(self) -> List[str]: + return [col.name for col in self.const.columns] + + +class _ix_constraint_sig(_constraint_sig): + is_index = True + + def __init__(self, const: Index, impl: DefaultImpl) -> None: + self.const = const + self.name = const.name + self.sig = ("INDEX",) + impl.create_index_sig(const) + self.is_unique = bool(const.unique) + + def md_name_to_sql_name(self, context: AutogenContext) -> Optional[str]: + return sqla_compat._get_constraint_final_name( + self.const, context.dialect ) - def reflect_table(self, table, *, include_columns): - self.inspector.reflect_table(table, include_columns=include_columns) + @property + def column_names(self) -> Union[List[quoted_name], List[None]]: + return sqla_compat._get_index_column_names(self.const) - # I had a cool version of this using _ReflectInfo, however that doesn't - # work in 1.4 and it's not public API in 2.x. Then this is just a two - # liner. So there's no competition... - self._apply_constraint_conv(table.constraints) - self._apply_constraint_conv(table.indexes) + +class _fk_constraint_sig(_constraint_sig): + def __init__( + self, const: ForeignKeyConstraint, include_options: bool = False + ) -> None: + self.const = const + self.name = const.name + + ( + self.source_schema, + self.source_table, + self.source_columns, + self.target_schema, + self.target_table, + self.target_columns, + onupdate, + ondelete, + deferrable, + initially, + ) = _fk_spec(const) + + self.sig: Tuple[Any, ...] = ( + self.source_schema, + self.source_table, + tuple(self.source_columns), + self.target_schema, + self.target_table, + tuple(self.target_columns), + ) + if include_options: + self.sig += ( + (None if onupdate.lower() == "no action" else onupdate.lower()) + if onupdate + else None, + (None if ondelete.lower() == "no action" else ondelete.lower()) + if ondelete + else None, + # convert initially + deferrable into one three-state value + "initially_deferrable" + if initially and initially.lower() == "deferred" + else "deferrable" + if deferrable + else "not deferrable", + ) @comparators.dispatch_for("table") @@ -523,34 +561,34 @@ def _compare_indexes_and_uniques( if conn_table is not None: # 1b. ... and from connection, if the table exists - try: - conn_uniques = _InspectorConv(inspector).get_unique_constraints( - tname, schema=schema - ) - - supports_unique_constraints = True - except NotImplementedError: - pass - except TypeError: - # number of arguments is off for the base - # method in SQLAlchemy due to the cache decorator - # not being present - pass - else: - conn_uniques = [ # type:ignore[assignment] - uq - for uq in conn_uniques - if autogen_context.run_name_filters( - uq["name"], - "unique_constraint", - {"table_name": tname, "schema_name": schema}, + if hasattr(inspector, "get_unique_constraints"): + try: + conn_uniques = inspector.get_unique_constraints( # type:ignore[assignment] # noqa + tname, schema=schema ) - ] - for uq in conn_uniques: - if uq.get("duplicates_index"): - unique_constraints_duplicate_unique_indexes = True + supports_unique_constraints = True + except NotImplementedError: + pass + except TypeError: + # number of arguments is off for the base + # method in SQLAlchemy due to the cache decorator + # not being present + pass + else: + conn_uniques = [ # type:ignore[assignment] + uq + for uq in conn_uniques + if autogen_context.run_name_filters( + uq["name"], + "unique_constraint", + {"table_name": tname, "schema_name": schema}, + ) + ] + for uq in conn_uniques: + if uq.get("duplicates_index"): + unique_constraints_duplicate_unique_indexes = True try: - conn_indexes = _InspectorConv(inspector).get_indexes( + conn_indexes = inspector.get_indexes( # type:ignore[assignment] tname, schema=schema ) except NotImplementedError: @@ -601,7 +639,7 @@ def _compare_indexes_and_uniques( # 3. give the dialect a chance to omit indexes and constraints that # we know are either added implicitly by the DB or that the DB # can't accurately report on - impl.correct_for_autogen_constraints( + autogen_context.migration_context.impl.correct_for_autogen_constraints( conn_uniques, # type: ignore[arg-type] conn_indexes, # type: ignore[arg-type] metadata_unique_constraints, @@ -613,31 +651,31 @@ def _compare_indexes_and_uniques( # Index and UniqueConstraint so we can easily work with them # interchangeably metadata_unique_constraints_sig = { - impl._create_metadata_constraint_sig(uq) - for uq in metadata_unique_constraints + _uq_constraint_sig(uq, impl) for uq in metadata_unique_constraints } metadata_indexes_sig = { - impl._create_metadata_constraint_sig(ix) for ix in metadata_indexes + _ix_constraint_sig(ix, impl) for ix in metadata_indexes } conn_unique_constraints = { - impl._create_reflected_constraint_sig(uq) for uq in conn_uniques + _uq_constraint_sig(uq, impl) for uq in conn_uniques } - conn_indexes_sig = { - impl._create_reflected_constraint_sig(ix) for ix in conn_indexes - } + conn_indexes_sig = {_ix_constraint_sig(ix, impl) for ix in conn_indexes} # 5. index things by name, for those objects that have names metadata_names = { cast(str, c.md_name_to_sql_name(autogen_context)): c - for c in metadata_unique_constraints_sig.union(metadata_indexes_sig) - if c.is_named + for c in metadata_unique_constraints_sig.union( + metadata_indexes_sig # type:ignore[arg-type] + ) + if isinstance(c, _ix_constraint_sig) + or sqla_compat._constraint_is_named(c.const, autogen_context.dialect) } - conn_uniques_by_name: Dict[sqla_compat._ConstraintName, _constraint_sig] - conn_indexes_by_name: Dict[sqla_compat._ConstraintName, _constraint_sig] + conn_uniques_by_name: Dict[sqla_compat._ConstraintName, _uq_constraint_sig] + conn_indexes_by_name: Dict[sqla_compat._ConstraintName, _ix_constraint_sig] conn_uniques_by_name = {c.name: c for c in conn_unique_constraints} conn_indexes_by_name = {c.name: c for c in conn_indexes_sig} @@ -656,12 +694,13 @@ def _compare_indexes_and_uniques( # 6. index things by "column signature", to help with unnamed unique # constraints. - conn_uniques_by_sig = {uq.unnamed: uq for uq in conn_unique_constraints} + conn_uniques_by_sig = {uq.sig: uq for uq in conn_unique_constraints} metadata_uniques_by_sig = { - uq.unnamed: uq for uq in metadata_unique_constraints_sig + uq.sig: uq for uq in metadata_unique_constraints_sig } + metadata_indexes_by_sig = {ix.sig: ix for ix in metadata_indexes_sig} unnamed_metadata_uniques = { - uq.unnamed: uq + uq.sig: uq for uq in metadata_unique_constraints_sig if not sqla_compat._constraint_is_named( uq.const, autogen_context.dialect @@ -676,18 +715,18 @@ def _compare_indexes_and_uniques( # 4. The backend may double up indexes as unique constraints and # vice versa (e.g. MySQL, Postgresql) - def obj_added(obj: _constraint_sig): - if is_index_sig(obj): + def obj_added(obj): + if obj.is_index: if autogen_context.run_object_filters( obj.const, obj.name, "index", False, None ): modify_ops.ops.append(ops.CreateIndexOp.from_index(obj.const)) log.info( - "Detected added index %r on '%s'", + "Detected added index '%s' on %s", obj.name, - obj.column_names, + ", ".join(["'%s'" % obj.column_names]), ) - elif is_uq_sig(obj): + else: if not supports_unique_constraints: # can't report unique indexes as added if we don't # detect them @@ -702,15 +741,13 @@ def _compare_indexes_and_uniques( ops.AddConstraintOp.from_constraint(obj.const) ) log.info( - "Detected added unique constraint %r on '%s'", + "Detected added unique constraint '%s' on %s", obj.name, - obj.column_names, + ", ".join(["'%s'" % obj.column_names]), ) - else: - assert False - def obj_removed(obj: _constraint_sig): - if is_index_sig(obj): + def obj_removed(obj): + if obj.is_index: if obj.is_unique and not supports_unique_constraints: # many databases double up unique constraints # as unique indexes. without that list we can't @@ -721,8 +758,10 @@ def _compare_indexes_and_uniques( obj.const, obj.name, "index", True, None ): modify_ops.ops.append(ops.DropIndexOp.from_index(obj.const)) - log.info("Detected removed index %r on %r", obj.name, tname) - elif is_uq_sig(obj): + log.info( + "Detected removed index '%s' on '%s'", obj.name, tname + ) + else: if is_create_table or is_drop_table: # if the whole table is being dropped, we don't need to # consider unique constraint separately @@ -734,40 +773,33 @@ def _compare_indexes_and_uniques( ops.DropConstraintOp.from_constraint(obj.const) ) log.info( - "Detected removed unique constraint %r on %r", + "Detected removed unique constraint '%s' on '%s'", obj.name, tname, ) - else: - assert False - - def obj_changed( - old: _constraint_sig, - new: _constraint_sig, - msg: str, - ): - if is_index_sig(old): - assert is_index_sig(new) + def obj_changed(old, new, msg): + if old.is_index: if autogen_context.run_object_filters( new.const, new.name, "index", False, old.const ): log.info( - "Detected changed index %r on %r: %s", old.name, tname, msg + "Detected changed index '%s' on '%s':%s", + old.name, + tname, + ", ".join(msg), ) modify_ops.ops.append(ops.DropIndexOp.from_index(old.const)) modify_ops.ops.append(ops.CreateIndexOp.from_index(new.const)) - elif is_uq_sig(old): - assert is_uq_sig(new) - + else: if autogen_context.run_object_filters( new.const, new.name, "unique_constraint", False, old.const ): log.info( - "Detected changed unique constraint %r on %r: %s", + "Detected changed unique constraint '%s' on '%s':%s", old.name, tname, - msg, + ", ".join(msg), ) modify_ops.ops.append( ops.DropConstraintOp.from_constraint(old.const) @@ -775,24 +807,18 @@ def _compare_indexes_and_uniques( modify_ops.ops.append( ops.AddConstraintOp.from_constraint(new.const) ) - else: - assert False for removed_name in sorted(set(conn_names).difference(metadata_names)): - conn_obj = conn_names[removed_name] - if ( - is_uq_sig(conn_obj) - and conn_obj.unnamed in unnamed_metadata_uniques - ): + conn_obj: Union[_ix_constraint_sig, _uq_constraint_sig] = conn_names[ + removed_name + ] + if not conn_obj.is_index and conn_obj.sig in unnamed_metadata_uniques: continue elif removed_name in doubled_constraints: conn_uq, conn_idx = doubled_constraints[removed_name] if ( - all( - conn_idx.unnamed != meta_idx.unnamed - for meta_idx in metadata_indexes_sig - ) - and conn_uq.unnamed not in metadata_uniques_by_sig + conn_idx.sig not in metadata_indexes_by_sig + and conn_uq.sig not in metadata_uniques_by_sig ): obj_removed(conn_uq) obj_removed(conn_idx) @@ -804,36 +830,30 @@ def _compare_indexes_and_uniques( if existing_name in doubled_constraints: conn_uq, conn_idx = doubled_constraints[existing_name] - if is_index_sig(metadata_obj): + if metadata_obj.is_index: conn_obj = conn_idx else: conn_obj = conn_uq else: conn_obj = conn_names[existing_name] - if type(conn_obj) != type(metadata_obj): + if conn_obj.is_index != metadata_obj.is_index: obj_removed(conn_obj) obj_added(metadata_obj) else: - comparison = metadata_obj.compare_to_reflected(conn_obj) + msg = [] + if conn_obj.is_unique != metadata_obj.is_unique: + msg.append( + " unique=%r to unique=%r" + % (conn_obj.is_unique, metadata_obj.is_unique) + ) + if conn_obj.sig != metadata_obj.sig: + msg.append( + " expression %r to %r" % (conn_obj.sig, metadata_obj.sig) + ) - if comparison.is_different: - # constraint are different - obj_changed(conn_obj, metadata_obj, comparison.message) - elif comparison.is_skip: - # constraint cannot be compared, skip them - thing = ( - "index" if is_index_sig(conn_obj) else "unique constraint" - ) - log.info( - "Cannot compare %s %r, assuming equal and skipping. %s", - thing, - conn_obj.name, - comparison.message, - ) - else: - # constraint are equal - assert comparison.is_equal + if msg: + obj_changed(conn_obj, metadata_obj, msg) for added_name in sorted(set(metadata_names).difference(conn_names)): obj = metadata_names[added_name] @@ -873,7 +893,7 @@ def _correct_for_uq_duplicates_uix( } unnamed_metadata_uqs = { - impl._create_metadata_constraint_sig(cons).unnamed + _uq_constraint_sig(cons, impl).sig for name, cons in metadata_cons_names if name is None } @@ -897,9 +917,7 @@ def _correct_for_uq_duplicates_uix( for overlap in uqs_dupe_indexes: if overlap not in metadata_uq_names: if ( - impl._create_reflected_constraint_sig( - uqs_dupe_indexes[overlap] - ).unnamed + _uq_constraint_sig(uqs_dupe_indexes[overlap], impl).sig not in unnamed_metadata_uqs ): conn_unique_constraints.discard(uqs_dupe_indexes[overlap]) @@ -1035,7 +1053,7 @@ def _normalize_computed_default(sqltext: str) -> str: """ - return re.sub(r"[ \(\)'\"`\[\]\t\r\n]", "", sqltext).lower() + return re.sub(r"[ \(\)'\"`\[\]]", "", sqltext).lower() def _compare_computed_default( @@ -1119,15 +1137,27 @@ def _compare_server_default( return False if sqla_compat._server_default_is_computed(metadata_default): - return _compare_computed_default( # type:ignore[func-returns-value] - autogen_context, - alter_column_op, - schema, - tname, - cname, - conn_col, - metadata_col, - ) + # return False in case of a computed column as the server + # default. Note that DDL for adding or removing "GENERATED AS" from + # an existing column is not currently known for any backend. + # Once SQLAlchemy can reflect "GENERATED" as the "computed" element, + # we would also want to ignore and/or warn for changes vs. the + # metadata (or support backend specific DDL if applicable). + if not sqla_compat.has_computed_reflection: + return False + + else: + return ( + _compare_computed_default( # type:ignore[func-returns-value] + autogen_context, + alter_column_op, + schema, + tname, + cname, + conn_col, + metadata_col, + ) + ) if sqla_compat._server_default_is_computed(conn_col_default): _warn_computed_not_supported(tname, cname) return False @@ -1213,8 +1243,8 @@ def _compare_foreign_keys( modify_table_ops: ModifyTableOps, schema: Optional[str], tname: Union[quoted_name, str], - conn_table: Table, - metadata_table: Table, + conn_table: Optional[Table], + metadata_table: Optional[Table], ) -> None: # if we're doing CREATE TABLE, all FKs are created # inline within the table def @@ -1230,9 +1260,7 @@ def _compare_foreign_keys( conn_fks_list = [ fk - for fk in _InspectorConv(inspector).get_foreign_keys( - tname, schema=schema - ) + for fk in inspector.get_foreign_keys(tname, schema=schema) if autogen_context.run_name_filters( fk["name"], "foreign_key_constraint", @@ -1240,11 +1268,14 @@ def _compare_foreign_keys( ) ] - conn_fks = { - _make_foreign_key(const, conn_table) for const in conn_fks_list - } + backend_reflects_fk_options = bool( + conn_fks_list and "options" in conn_fks_list[0] + ) - impl = autogen_context.migration_context.impl + conn_fks = { + _make_foreign_key(const, conn_table) # type: ignore[arg-type] + for const in conn_fks_list + } # give the dialect a chance to correct the FKs to match more # closely @@ -1253,24 +1284,17 @@ def _compare_foreign_keys( ) metadata_fks_sig = { - impl._create_metadata_constraint_sig(fk) for fk in metadata_fks + _fk_constraint_sig(fk, include_options=backend_reflects_fk_options) + for fk in metadata_fks } conn_fks_sig = { - impl._create_reflected_constraint_sig(fk) for fk in conn_fks + _fk_constraint_sig(fk, include_options=backend_reflects_fk_options) + for fk in conn_fks } - # check if reflected FKs include options, indicating the backend - # can reflect FK options - if conn_fks_list and "options" in conn_fks_list[0]: - conn_fks_by_sig = {c.unnamed: c for c in conn_fks_sig} - metadata_fks_by_sig = {c.unnamed: c for c in metadata_fks_sig} - else: - # otherwise compare by sig without options added - conn_fks_by_sig = {c.unnamed_no_options: c for c in conn_fks_sig} - metadata_fks_by_sig = { - c.unnamed_no_options: c for c in metadata_fks_sig - } + conn_fks_by_sig = {c.sig: c for c in conn_fks_sig} + metadata_fks_by_sig = {c.sig: c for c in metadata_fks_sig} metadata_fks_by_name = { c.name: c for c in metadata_fks_sig if c.name is not None diff --git a/venv/lib/python3.12/site-packages/alembic/autogenerate/render.py b/venv/lib/python3.12/site-packages/alembic/autogenerate/render.py index 7f32838..9c84cd6 100644 --- a/venv/lib/python3.12/site-packages/alembic/autogenerate/render.py +++ b/venv/lib/python3.12/site-packages/alembic/autogenerate/render.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations from io import StringIO @@ -18,9 +15,7 @@ from mako.pygen import PythonPrinter from sqlalchemy import schema as sa_schema from sqlalchemy import sql from sqlalchemy import types as sqltypes -from sqlalchemy.sql.base import _DialectArgView from sqlalchemy.sql.elements import conv -from sqlalchemy.sql.elements import Label from sqlalchemy.sql.elements import quoted_name from .. import util @@ -30,8 +25,7 @@ from ..util import sqla_compat if TYPE_CHECKING: from typing import Literal - from sqlalchemy import Computed - from sqlalchemy import Identity + from sqlalchemy.sql.base import DialectKWArgs from sqlalchemy.sql.elements import ColumnElement from sqlalchemy.sql.elements import TextClause from sqlalchemy.sql.schema import CheckConstraint @@ -51,6 +45,8 @@ if TYPE_CHECKING: from alembic.config import Config from alembic.operations.ops import MigrationScript from alembic.operations.ops import ModifyTableOps + from alembic.util.sqla_compat import Computed + from alembic.util.sqla_compat import Identity MAX_PYTHON_ARGS = 255 @@ -168,31 +164,21 @@ def _render_modify_table( def _render_create_table_comment( autogen_context: AutogenContext, op: ops.CreateTableCommentOp ) -> str: - if autogen_context._has_batch: - templ = ( - "{prefix}create_table_comment(\n" - "{indent}{comment},\n" - "{indent}existing_comment={existing}\n" - ")" - ) - else: - templ = ( - "{prefix}create_table_comment(\n" - "{indent}'{tname}',\n" - "{indent}{comment},\n" - "{indent}existing_comment={existing},\n" - "{indent}schema={schema}\n" - ")" - ) + templ = ( + "{prefix}create_table_comment(\n" + "{indent}'{tname}',\n" + "{indent}{comment},\n" + "{indent}existing_comment={existing},\n" + "{indent}schema={schema}\n" + ")" + ) return templ.format( prefix=_alembic_autogenerate_prefix(autogen_context), tname=op.table_name, comment="%r" % op.comment if op.comment is not None else None, - existing=( - "%r" % op.existing_comment - if op.existing_comment is not None - else None - ), + existing="%r" % op.existing_comment + if op.existing_comment is not None + else None, schema="'%s'" % op.schema if op.schema is not None else None, indent=" ", ) @@ -202,28 +188,19 @@ def _render_create_table_comment( def _render_drop_table_comment( autogen_context: AutogenContext, op: ops.DropTableCommentOp ) -> str: - if autogen_context._has_batch: - templ = ( - "{prefix}drop_table_comment(\n" - "{indent}existing_comment={existing}\n" - ")" - ) - else: - templ = ( - "{prefix}drop_table_comment(\n" - "{indent}'{tname}',\n" - "{indent}existing_comment={existing},\n" - "{indent}schema={schema}\n" - ")" - ) + templ = ( + "{prefix}drop_table_comment(\n" + "{indent}'{tname}',\n" + "{indent}existing_comment={existing},\n" + "{indent}schema={schema}\n" + ")" + ) return templ.format( prefix=_alembic_autogenerate_prefix(autogen_context), tname=op.table_name, - existing=( - "%r" % op.existing_comment - if op.existing_comment is not None - else None - ), + existing="%r" % op.existing_comment + if op.existing_comment is not None + else None, schema="'%s'" % op.schema if op.schema is not None else None, indent=" ", ) @@ -280,9 +257,6 @@ def _add_table(autogen_context: AutogenContext, op: ops.CreateTableOp) -> str: prefixes = ", ".join("'%s'" % p for p in table._prefixes) text += ",\nprefixes=[%s]" % prefixes - if op.if_not_exists is not None: - text += ",\nif_not_exists=%r" % bool(op.if_not_exists) - text += "\n)" return text @@ -295,20 +269,16 @@ def _drop_table(autogen_context: AutogenContext, op: ops.DropTableOp) -> str: } if op.schema: text += ", schema=%r" % _ident(op.schema) - - if op.if_exists is not None: - text += ", if_exists=%r" % bool(op.if_exists) - text += ")" return text def _render_dialect_kwargs_items( - autogen_context: AutogenContext, dialect_kwargs: _DialectArgView + autogen_context: AutogenContext, item: DialectKWArgs ) -> list[str]: return [ f"{key}={_render_potential_expr(val, autogen_context)}" - for key, val in dialect_kwargs.items() + for key, val in item.dialect_kwargs.items() ] @@ -331,9 +301,7 @@ def _add_index(autogen_context: AutogenContext, op: ops.CreateIndexOp) -> str: assert index.table is not None - opts = _render_dialect_kwargs_items(autogen_context, index.dialect_kwargs) - if op.if_not_exists is not None: - opts.append("if_not_exists=%r" % bool(op.if_not_exists)) + opts = _render_dialect_kwargs_items(autogen_context, index) text = tmpl % { "prefix": _alembic_autogenerate_prefix(autogen_context), "name": _render_gen_name(autogen_context, index.name), @@ -342,11 +310,9 @@ def _add_index(autogen_context: AutogenContext, op: ops.CreateIndexOp) -> str: _get_index_rendered_expressions(index, autogen_context) ), "unique": index.unique or False, - "schema": ( - (", schema=%r" % _ident(index.table.schema)) - if index.table.schema - else "" - ), + "schema": (", schema=%r" % _ident(index.table.schema)) + if index.table.schema + else "", "kwargs": ", " + ", ".join(opts) if opts else "", } return text @@ -365,9 +331,7 @@ def _drop_index(autogen_context: AutogenContext, op: ops.DropIndexOp) -> str: "%(prefix)sdrop_index(%(name)r, " "table_name=%(table_name)r%(schema)s%(kwargs)s)" ) - opts = _render_dialect_kwargs_items(autogen_context, index.dialect_kwargs) - if op.if_exists is not None: - opts.append("if_exists=%r" % bool(op.if_exists)) + opts = _render_dialect_kwargs_items(autogen_context, index) text = tmpl % { "prefix": _alembic_autogenerate_prefix(autogen_context), "name": _render_gen_name(autogen_context, op.index_name), @@ -389,7 +353,6 @@ def _add_unique_constraint( def _add_fk_constraint( autogen_context: AutogenContext, op: ops.CreateForeignKeyOp ) -> str: - constraint = op.to_constraint() args = [repr(_render_gen_name(autogen_context, op.constraint_name))] if not autogen_context._has_batch: args.append(repr(_ident(op.source_table))) @@ -419,16 +382,9 @@ def _add_fk_constraint( if value is not None: args.append("%s=%r" % (k, value)) - dialect_kwargs = _render_dialect_kwargs_items( - autogen_context, constraint.dialect_kwargs - ) - - return "%(prefix)screate_foreign_key(%(args)s%(dialect_kwargs)s)" % { + return "%(prefix)screate_foreign_key(%(args)s)" % { "prefix": _alembic_autogenerate_prefix(autogen_context), "args": ", ".join(args), - "dialect_kwargs": ( - ", " + ", ".join(dialect_kwargs) if dialect_kwargs else "" - ), } @@ -450,7 +406,7 @@ def _drop_constraint( name = _render_gen_name(autogen_context, op.constraint_name) schema = _ident(op.schema) if op.schema else None type_ = _ident(op.constraint_type) if op.constraint_type else None - if_exists = op.if_exists + params_strs = [] params_strs.append(repr(name)) if not autogen_context._has_batch: @@ -459,47 +415,32 @@ def _drop_constraint( params_strs.append(f"schema={schema!r}") if type_ is not None: params_strs.append(f"type_={type_!r}") - if if_exists is not None: - params_strs.append(f"if_exists={if_exists}") return f"{prefix}drop_constraint({', '.join(params_strs)})" @renderers.dispatch_for(ops.AddColumnOp) def _add_column(autogen_context: AutogenContext, op: ops.AddColumnOp) -> str: - schema, tname, column, if_not_exists = ( - op.schema, - op.table_name, - op.column, - op.if_not_exists, - ) + schema, tname, column = op.schema, op.table_name, op.column if autogen_context._has_batch: template = "%(prefix)sadd_column(%(column)s)" else: template = "%(prefix)sadd_column(%(tname)r, %(column)s" if schema: template += ", schema=%(schema)r" - if if_not_exists is not None: - template += ", if_not_exists=%(if_not_exists)r" template += ")" text = template % { "prefix": _alembic_autogenerate_prefix(autogen_context), "tname": tname, "column": _render_column(column, autogen_context), "schema": schema, - "if_not_exists": if_not_exists, } return text @renderers.dispatch_for(ops.DropColumnOp) def _drop_column(autogen_context: AutogenContext, op: ops.DropColumnOp) -> str: - schema, tname, column_name, if_exists = ( - op.schema, - op.table_name, - op.column_name, - op.if_exists, - ) + schema, tname, column_name = op.schema, op.table_name, op.column_name if autogen_context._has_batch: template = "%(prefix)sdrop_column(%(cname)r)" @@ -507,8 +448,6 @@ def _drop_column(autogen_context: AutogenContext, op: ops.DropColumnOp) -> str: template = "%(prefix)sdrop_column(%(tname)r, %(cname)r" if schema: template += ", schema=%(schema)r" - if if_exists is not None: - template += ", if_exists=%(if_exists)r" template += ")" text = template % { @@ -516,7 +455,6 @@ def _drop_column(autogen_context: AutogenContext, op: ops.DropColumnOp) -> str: "tname": _ident(tname), "cname": _ident(column_name), "schema": _ident(schema), - "if_exists": if_exists, } return text @@ -531,7 +469,6 @@ def _alter_column( type_ = op.modify_type nullable = op.modify_nullable comment = op.modify_comment - newname = op.modify_name autoincrement = op.kw.get("autoincrement", None) existing_type = op.existing_type existing_nullable = op.existing_nullable @@ -560,8 +497,6 @@ def _alter_column( rendered = _render_server_default(server_default, autogen_context) text += ",\n%sserver_default=%s" % (indent, rendered) - if newname is not None: - text += ",\n%snew_column_name=%r" % (indent, newname) if type_ is not None: text += ",\n%stype_=%s" % (indent, _repr_type(type_, autogen_context)) if nullable is not None: @@ -614,28 +549,23 @@ def _render_potential_expr( value: Any, autogen_context: AutogenContext, *, - wrap_in_element: bool = True, + wrap_in_text: bool = True, is_server_default: bool = False, is_index: bool = False, ) -> str: if isinstance(value, sql.ClauseElement): - sql_text = autogen_context.migration_context.impl.render_ddl_sql_expr( - value, is_server_default=is_server_default, is_index=is_index - ) - if wrap_in_element: - prefix = _sqlalchemy_autogenerate_prefix(autogen_context) - element = "literal_column" if is_index else "text" - value_str = f"{prefix}{element}({sql_text!r})" - if ( - is_index - and isinstance(value, Label) - and type(value.name) is str - ): - return value_str + f".label({value.name!r})" - else: - return value_str + if wrap_in_text: + template = "%(prefix)stext(%(sql)r)" else: - return repr(sql_text) + template = "%(sql)r" + + return template % { + "prefix": _sqlalchemy_autogenerate_prefix(autogen_context), + "sql": autogen_context.migration_context.impl.render_ddl_sql_expr( + value, is_server_default=is_server_default, is_index=is_index + ), + } + else: return repr(value) @@ -644,11 +574,9 @@ def _get_index_rendered_expressions( idx: Index, autogen_context: AutogenContext ) -> List[str]: return [ - ( - repr(_ident(getattr(exp, "name", None))) - if isinstance(exp, sa_schema.Column) - else _render_potential_expr(exp, autogen_context, is_index=True) - ) + repr(_ident(getattr(exp, "name", None))) + if isinstance(exp, sa_schema.Column) + else _render_potential_expr(exp, autogen_context, is_index=True) for exp in idx.expressions ] @@ -663,18 +591,16 @@ def _uq_constraint( has_batch = autogen_context._has_batch if constraint.deferrable: - opts.append(("deferrable", constraint.deferrable)) + opts.append(("deferrable", str(constraint.deferrable))) if constraint.initially: - opts.append(("initially", constraint.initially)) + opts.append(("initially", str(constraint.initially))) if not has_batch and alter and constraint.table.schema: opts.append(("schema", _ident(constraint.table.schema))) if not alter and constraint.name: opts.append( ("name", _render_gen_name(autogen_context, constraint.name)) ) - dialect_options = _render_dialect_kwargs_items( - autogen_context, constraint.dialect_kwargs - ) + dialect_options = _render_dialect_kwargs_items(autogen_context, constraint) if alter: args = [repr(_render_gen_name(autogen_context, constraint.name))] @@ -778,7 +704,7 @@ def _render_column( + [ "%s=%s" % (key, _render_potential_expr(val, autogen_context)) - for key, val in column.kwargs.items() + for key, val in sqla_compat._column_kwargs(column).items() ] ) ), @@ -813,8 +739,6 @@ def _render_server_default( return _render_potential_expr( default.arg, autogen_context, is_server_default=True ) - elif isinstance(default, sa_schema.FetchedValue): - return _render_fetched_value(autogen_context) if isinstance(default, str) and repr_: default = repr(re.sub(r"^'|'$", "", default)) @@ -826,7 +750,7 @@ def _render_computed( computed: Computed, autogen_context: AutogenContext ) -> str: text = _render_potential_expr( - computed.sqltext, autogen_context, wrap_in_element=False + computed.sqltext, autogen_context, wrap_in_text=False ) kwargs = {} @@ -852,12 +776,6 @@ def _render_identity( } -def _render_fetched_value(autogen_context: AutogenContext) -> str: - return "%(prefix)sFetchedValue()" % { - "prefix": _sqlalchemy_autogenerate_prefix(autogen_context), - } - - def _repr_type( type_: TypeEngine, autogen_context: AutogenContext, @@ -876,10 +794,7 @@ def _repr_type( mod = type(type_).__module__ imports = autogen_context.imports - - if not _skip_variants and sqla_compat._type_has_variants(type_): - return _render_Variant_type(type_, autogen_context) - elif mod.startswith("sqlalchemy.dialects"): + if mod.startswith("sqlalchemy.dialects"): match = re.match(r"sqlalchemy\.dialects\.(\w+)", mod) assert match is not None dname = match.group(1) @@ -891,6 +806,8 @@ def _repr_type( return "%s.%r" % (dname, type_) elif impl_rt: return impl_rt + elif not _skip_variants and sqla_compat._type_has_variants(type_): + return _render_Variant_type(type_, autogen_context) elif mod.startswith("sqlalchemy."): if "_render_%s_type" % type_.__visit_name__ in globals(): fn = globals()["_render_%s_type" % type_.__visit_name__] @@ -917,7 +834,7 @@ def _render_Variant_type( ) -> str: base_type, variant_mapping = sqla_compat._get_variant_mapping(type_) base = _repr_type(base_type, autogen_context, _skip_variants=True) - assert base is not None and base is not False # type: ignore[comparison-overlap] # noqa:E501 + assert base is not None and base is not False for dialect in sorted(variant_mapping): typ = variant_mapping[dialect] base += ".with_variant(%s, %r)" % ( @@ -1008,13 +925,13 @@ def _render_primary_key( def _fk_colspec( fk: ForeignKey, metadata_schema: Optional[str], - namespace_metadata: Optional[MetaData], + namespace_metadata: MetaData, ) -> str: """Implement a 'safe' version of ForeignKey._get_colspec() that won't fail if the remote table can't be resolved. """ - colspec = fk._get_colspec() + colspec = fk._get_colspec() # type:ignore[attr-defined] tokens = colspec.split(".") tname, colname = tokens[-2:] @@ -1032,10 +949,7 @@ def _fk_colspec( # the FK constraint needs to be rendered in terms of the column # name. - if ( - namespace_metadata is not None - and table_fullname in namespace_metadata.tables - ): + if table_fullname in namespace_metadata.tables: col = namespace_metadata.tables[table_fullname].c.get(colname) if col is not None: colname = _ident(col.name) # type: ignore[assignment] @@ -1066,7 +980,7 @@ def _populate_render_fk_opts( def _render_foreign_key( constraint: ForeignKeyConstraint, autogen_context: AutogenContext, - namespace_metadata: Optional[MetaData], + namespace_metadata: MetaData, ) -> Optional[str]: rendered = _user_defined_render("foreign_key", constraint, autogen_context) if rendered is not False: @@ -1080,16 +994,15 @@ def _render_foreign_key( _populate_render_fk_opts(constraint, opts) - apply_metadata_schema = ( - namespace_metadata.schema if namespace_metadata is not None else None - ) + apply_metadata_schema = namespace_metadata.schema return ( "%(prefix)sForeignKeyConstraint([%(cols)s], " "[%(refcols)s], %(args)s)" % { "prefix": _sqlalchemy_autogenerate_prefix(autogen_context), "cols": ", ".join( - repr(_ident(f.parent.name)) for f in constraint.elements + "%r" % _ident(cast("Column", f.parent).name) + for f in constraint.elements ), "refcols": ", ".join( repr(_fk_colspec(f, apply_metadata_schema, namespace_metadata)) @@ -1130,10 +1043,12 @@ def _render_check_constraint( # ideally SQLAlchemy would give us more of a first class # way to detect this. if ( - constraint._create_rule - and hasattr(constraint._create_rule, "target") + constraint._create_rule # type:ignore[attr-defined] + and hasattr( + constraint._create_rule, "target" # type:ignore[attr-defined] + ) and isinstance( - constraint._create_rule.target, + constraint._create_rule.target, # type:ignore[attr-defined] sqltypes.TypeEngine, ) ): @@ -1145,13 +1060,11 @@ def _render_check_constraint( ) return "%(prefix)sCheckConstraint(%(sqltext)s%(opts)s)" % { "prefix": _sqlalchemy_autogenerate_prefix(autogen_context), - "opts": ( - ", " + (", ".join("%s=%s" % (k, v) for k, v in opts)) - if opts - else "" - ), + "opts": ", " + (", ".join("%s=%s" % (k, v) for k, v in opts)) + if opts + else "", "sqltext": _render_potential_expr( - constraint.sqltext, autogen_context, wrap_in_element=False + constraint.sqltext, autogen_context, wrap_in_text=False ), } @@ -1163,10 +1076,7 @@ def _execute_sql(autogen_context: AutogenContext, op: ops.ExecuteSQLOp) -> str: "Autogenerate rendering of SQL Expression language constructs " "not supported here; please use a plain SQL string" ) - return "{prefix}execute({sqltext!r})".format( - prefix=_alembic_autogenerate_prefix(autogen_context), - sqltext=op.sqltext, - ) + return "op.execute(%r)" % op.sqltext renderers = default_renderers.branch() diff --git a/venv/lib/python3.12/site-packages/alembic/autogenerate/rewriter.py b/venv/lib/python3.12/site-packages/alembic/autogenerate/rewriter.py index 1d44b5c..68a93dd 100644 --- a/venv/lib/python3.12/site-packages/alembic/autogenerate/rewriter.py +++ b/venv/lib/python3.12/site-packages/alembic/autogenerate/rewriter.py @@ -4,7 +4,7 @@ from typing import Any from typing import Callable from typing import Iterator from typing import List -from typing import Tuple +from typing import Optional from typing import Type from typing import TYPE_CHECKING from typing import Union @@ -16,18 +16,12 @@ if TYPE_CHECKING: from ..operations.ops import AddColumnOp from ..operations.ops import AlterColumnOp from ..operations.ops import CreateTableOp - from ..operations.ops import DowngradeOps from ..operations.ops import MigrateOperation from ..operations.ops import MigrationScript from ..operations.ops import ModifyTableOps from ..operations.ops import OpContainer - from ..operations.ops import UpgradeOps + from ..runtime.environment import _GetRevArg from ..runtime.migration import MigrationContext - from ..script.revision import _GetRevArg - -ProcessRevisionDirectiveFn = Callable[ - ["MigrationContext", "_GetRevArg", List["MigrationScript"]], None -] class Rewriter: @@ -58,21 +52,15 @@ class Rewriter: _traverse = util.Dispatcher() - _chained: Tuple[Union[ProcessRevisionDirectiveFn, Rewriter], ...] = () + _chained: Optional[Rewriter] = None def __init__(self) -> None: self.dispatch = util.Dispatcher() - def chain( - self, - other: Union[ - ProcessRevisionDirectiveFn, - Rewriter, - ], - ) -> Rewriter: + def chain(self, other: Rewriter) -> Rewriter: """Produce a "chain" of this :class:`.Rewriter` to another. - This allows two or more rewriters to operate serially on a stream, + This allows two rewriters to operate serially on a stream, e.g.:: writer1 = autogenerate.Rewriter() @@ -101,7 +89,7 @@ class Rewriter: """ wr = self.__class__.__new__(self.__class__) wr.__dict__.update(self.__dict__) - wr._chained += (other,) + wr._chained = other return wr def rewrites( @@ -113,7 +101,7 @@ class Rewriter: Type[CreateTableOp], Type[ModifyTableOps], ], - ) -> Callable[..., Any]: + ) -> Callable: """Register a function as rewriter for a given type. The function should receive three arguments, which are @@ -158,8 +146,8 @@ class Rewriter: directives: List[MigrationScript], ) -> None: self.process_revision_directives(context, revision, directives) - for process_revision_directives in self._chained: - process_revision_directives(context, revision, directives) + if self._chained: + self._chained(context, revision, directives) @_traverse.dispatch_for(ops.MigrationScript) def _traverse_script( @@ -168,7 +156,7 @@ class Rewriter: revision: _GetRevArg, directive: MigrationScript, ) -> None: - upgrade_ops_list: List[UpgradeOps] = [] + upgrade_ops_list = [] for upgrade_ops in directive.upgrade_ops_list: ret = self._traverse_for(context, revision, upgrade_ops) if len(ret) != 1: @@ -176,10 +164,9 @@ class Rewriter: "Can only return single object for UpgradeOps traverse" ) upgrade_ops_list.append(ret[0]) - directive.upgrade_ops = upgrade_ops_list - downgrade_ops_list: List[DowngradeOps] = [] + downgrade_ops_list = [] for downgrade_ops in directive.downgrade_ops_list: ret = self._traverse_for(context, revision, downgrade_ops) if len(ret) != 1: diff --git a/venv/lib/python3.12/site-packages/alembic/command.py b/venv/lib/python3.12/site-packages/alembic/command.py index 8e48547..dbaa9cf 100644 --- a/venv/lib/python3.12/site-packages/alembic/command.py +++ b/venv/lib/python3.12/site-packages/alembic/command.py @@ -1,9 +1,6 @@ -# mypy: allow-untyped-defs, allow-untyped-calls - from __future__ import annotations import os -import pathlib from typing import List from typing import Optional from typing import TYPE_CHECKING @@ -13,7 +10,6 @@ from . import autogenerate as autogen from . import util from .runtime.environment import EnvironmentContext from .script import ScriptDirectory -from .util import compat if TYPE_CHECKING: from alembic.config import Config @@ -22,7 +18,7 @@ if TYPE_CHECKING: from .runtime.environment import ProcessRevisionDirectiveFn -def list_templates(config: Config) -> None: +def list_templates(config: Config): """List available templates. :param config: a :class:`.Config` object. @@ -30,10 +26,12 @@ def list_templates(config: Config) -> None: """ config.print_stdout("Available templates:\n") - for tempname in config._get_template_path().iterdir(): - with (tempname / "README").open() as readme: + for tempname in os.listdir(config.get_template_directory()): + with open( + os.path.join(config.get_template_directory(), tempname, "README") + ) as readme: synopsis = next(readme).rstrip() - config.print_stdout("%s - %s", tempname.name, synopsis) + config.print_stdout("%s - %s", tempname, synopsis) config.print_stdout("\nTemplates are used via the 'init' command, e.g.:") config.print_stdout("\n alembic init --template generic ./scripts") @@ -49,7 +47,7 @@ def init( :param config: a :class:`.Config` object. - :param directory: string path of the target directory. + :param directory: string path of the target directory :param template: string name of the migration environment template to use. @@ -59,136 +57,65 @@ def init( """ - directory_path = pathlib.Path(directory) - if directory_path.exists() and list(directory_path.iterdir()): + if os.access(directory, os.F_OK) and os.listdir(directory): raise util.CommandError( - "Directory %s already exists and is not empty" % directory_path + "Directory %s already exists and is not empty" % directory ) - template_path = config._get_template_path() / template + template_dir = os.path.join(config.get_template_directory(), template) + if not os.access(template_dir, os.F_OK): + raise util.CommandError("No such template %r" % template) - if not template_path.exists(): - raise util.CommandError(f"No such template {template_path}") - - # left as os.access() to suit unit test mocking - if not os.access(directory_path, os.F_OK): + if not os.access(directory, os.F_OK): with util.status( - f"Creating directory {directory_path.absolute()}", + f"Creating directory {os.path.abspath(directory)!r}", **config.messaging_opts, ): - os.makedirs(directory_path) + os.makedirs(directory) - versions = directory_path / "versions" + versions = os.path.join(directory, "versions") with util.status( - f"Creating directory {versions.absolute()}", + f"Creating directory {os.path.abspath(versions)!r}", **config.messaging_opts, ): os.makedirs(versions) - if not directory_path.is_absolute(): - # for non-absolute path, state config file in .ini / pyproject - # as relative to the %(here)s token, which is where the config - # file itself would be + script = ScriptDirectory(directory) - if config._config_file_path is not None: - rel_dir = compat.path_relative_to( - directory_path.absolute(), - config._config_file_path.absolute().parent, - walk_up=True, - ) - ini_script_location_directory = ("%(here)s" / rel_dir).as_posix() - if config._toml_file_path is not None: - rel_dir = compat.path_relative_to( - directory_path.absolute(), - config._toml_file_path.absolute().parent, - walk_up=True, - ) - toml_script_location_directory = ("%(here)s" / rel_dir).as_posix() - - else: - ini_script_location_directory = directory_path.as_posix() - toml_script_location_directory = directory_path.as_posix() - - script = ScriptDirectory(directory_path) - - has_toml = False - - config_file: pathlib.Path | None = None - - for file_path in template_path.iterdir(): - file_ = file_path.name + config_file: str | None = None + for file_ in os.listdir(template_dir): + file_path = os.path.join(template_dir, file_) if file_ == "alembic.ini.mako": assert config.config_file_name is not None - config_file = pathlib.Path(config.config_file_name).absolute() - if config_file.exists(): + config_file = os.path.abspath(config.config_file_name) + if os.access(config_file, os.F_OK): util.msg( - f"File {config_file} already exists, skipping", + f"File {config_file!r} already exists, skipping", **config.messaging_opts, ) else: script._generate_template( - file_path, - config_file, - script_location=ini_script_location_directory, + file_path, config_file, script_location=directory ) - elif file_ == "pyproject.toml.mako": - has_toml = True - assert config._toml_file_path is not None - toml_path = config._toml_file_path.absolute() - - if toml_path.exists(): - # left as open() to suit unit test mocking - with open(toml_path, "rb") as f: - toml_data = compat.tomllib.load(f) - if "tool" in toml_data and "alembic" in toml_data["tool"]: - - util.msg( - f"File {toml_path} already exists " - "and already has a [tool.alembic] section, " - "skipping", - ) - continue - script._append_template( - file_path, - toml_path, - script_location=toml_script_location_directory, - ) - else: - script._generate_template( - file_path, - toml_path, - script_location=toml_script_location_directory, - ) - - elif file_path.is_file(): - output_file = directory_path / file_ + elif os.path.isfile(file_path): + output_file = os.path.join(directory, file_) script._copy_file(file_path, output_file) if package: for path in [ - directory_path.absolute() / "__init__.py", - versions.absolute() / "__init__.py", + os.path.join(os.path.abspath(directory), "__init__.py"), + os.path.join(os.path.abspath(versions), "__init__.py"), ]: - with util.status(f"Adding {path!s}", **config.messaging_opts): - # left as open() to suit unit test mocking + with util.status(f"Adding {path!r}", **config.messaging_opts): with open(path, "w"): pass assert config_file is not None - - if has_toml: - util.msg( - f"Please edit configuration settings in {toml_path} and " - "configuration/connection/logging " - f"settings in {config_file} before proceeding.", - **config.messaging_opts, - ) - else: - util.msg( - "Please edit configuration/connection/logging " - f"settings in {config_file} before proceeding.", - **config.messaging_opts, - ) + util.msg( + "Please edit configuration/connection/logging " + f"settings in {config_file!r} before proceeding.", + **config.messaging_opts, + ) def revision( @@ -199,7 +126,7 @@ def revision( head: str = "head", splice: bool = False, branch_label: Optional[_RevIdType] = None, - version_path: Union[str, os.PathLike[str], None] = None, + version_path: Optional[str] = None, rev_id: Optional[str] = None, depends_on: Optional[str] = None, process_revision_directives: Optional[ProcessRevisionDirectiveFn] = None, @@ -245,7 +172,7 @@ def revision( will be applied to the structure generated by the revision process where it can be altered programmatically. Note that unlike all the other parameters, this option is only available via programmatic - use of :func:`.command.revision`. + use of :func:`.command.revision` """ @@ -269,9 +196,7 @@ def revision( process_revision_directives=process_revision_directives, ) - environment = util.asbool( - config.get_alembic_option("revision_environment") - ) + environment = util.asbool(config.get_main_option("revision_environment")) if autogenerate: environment = True @@ -365,15 +290,10 @@ def check(config: "Config") -> None: # the revision_context now has MigrationScript structure(s) present. migration_script = revision_context.generated_revisions[-1] - diffs = [] - for upgrade_ops in migration_script.upgrade_ops_list: - diffs.extend(upgrade_ops.as_diffs()) - + diffs = migration_script.upgrade_ops.as_diffs() if diffs: raise util.AutogenerateDiffsDetected( - f"New upgrade operations detected: {diffs}", - revision_context=revision_context, - diffs=diffs, + f"New upgrade operations detected: {diffs}" ) else: config.print_stdout("No new upgrade operations detected.") @@ -390,11 +310,9 @@ def merge( :param config: a :class:`.Config` instance - :param revisions: The revisions to merge. + :param message: string message to apply to the revision - :param message: string message to apply to the revision. - - :param branch_label: string label name to apply to the new revision. + :param branch_label: string label name to apply to the new revision :param rev_id: hardcoded revision identifier instead of generating a new one. @@ -411,9 +329,7 @@ def merge( # e.g. multiple databases } - environment = util.asbool( - config.get_alembic_option("revision_environment") - ) + environment = util.asbool(config.get_main_option("revision_environment")) if environment: @@ -449,10 +365,9 @@ def upgrade( :param config: a :class:`.Config` instance. - :param revision: string revision target or range for --sql mode. May be - ``"heads"`` to target the most recent revision(s). + :param revision: string revision target or range for --sql mode - :param sql: if True, use ``--sql`` mode. + :param sql: if True, use ``--sql`` mode :param tag: an arbitrary "tag" that can be intercepted by custom ``env.py`` scripts via the :meth:`.EnvironmentContext.get_tag_argument` @@ -493,10 +408,9 @@ def downgrade( :param config: a :class:`.Config` instance. - :param revision: string revision target or range for --sql mode. May - be ``"base"`` to target the first revision. + :param revision: string revision target or range for --sql mode - :param sql: if True, use ``--sql`` mode. + :param sql: if True, use ``--sql`` mode :param tag: an arbitrary "tag" that can be intercepted by custom ``env.py`` scripts via the :meth:`.EnvironmentContext.get_tag_argument` @@ -530,13 +444,12 @@ def downgrade( script.run_env() -def show(config: Config, rev: str) -> None: +def show(config, rev): """Show the revision(s) denoted by the given symbol. :param config: a :class:`.Config` instance. - :param rev: string revision target. May be ``"current"`` to show the - revision(s) currently applied in the database. + :param revision: string revision target """ @@ -566,7 +479,7 @@ def history( :param config: a :class:`.Config` instance. - :param rev_range: string revision range. + :param rev_range: string revision range :param verbose: output in verbose mode. @@ -586,7 +499,7 @@ def history( base = head = None environment = ( - util.asbool(config.get_alembic_option("revision_environment")) + util.asbool(config.get_main_option("revision_environment")) or indicate_current ) @@ -625,9 +538,7 @@ def history( _display_history(config, script, base, head) -def heads( - config: Config, verbose: bool = False, resolve_dependencies: bool = False -) -> None: +def heads(config, verbose=False, resolve_dependencies=False): """Show current available heads in the script directory. :param config: a :class:`.Config` instance. @@ -652,7 +563,7 @@ def heads( ) -def branches(config: Config, verbose: bool = False) -> None: +def branches(config, verbose=False): """Show current branch points. :param config: a :class:`.Config` instance. @@ -722,9 +633,7 @@ def stamp( :param config: a :class:`.Config` instance. :param revision: target revision or list of revisions. May be a list - to indicate stamping of multiple branch heads; may be ``"base"`` - to remove all revisions from the table or ``"heads"`` to stamp the - most recent revision(s). + to indicate stamping of multiple branch heads. .. note:: this parameter is called "revisions" in the command line interface. @@ -814,7 +723,7 @@ def ensure_version(config: Config, sql: bool = False) -> None: :param config: a :class:`.Config` instance. - :param sql: use ``--sql`` mode. + :param sql: use ``--sql`` mode .. versionadded:: 1.7.6 diff --git a/venv/lib/python3.12/site-packages/alembic/config.py b/venv/lib/python3.12/site-packages/alembic/config.py index b8c60a4..55b5811 100644 --- a/venv/lib/python3.12/site-packages/alembic/config.py +++ b/venv/lib/python3.12/site-packages/alembic/config.py @@ -5,8 +5,6 @@ from argparse import Namespace from configparser import ConfigParser import inspect import os -from pathlib import Path -import re import sys from typing import Any from typing import cast @@ -14,8 +12,6 @@ from typing import Dict from typing import Mapping from typing import Optional from typing import overload -from typing import Protocol -from typing import Sequence from typing import TextIO from typing import Union @@ -25,7 +21,6 @@ from . import __version__ from . import command from . import util from .util import compat -from .util.pyfiles import _preserving_path_as_str class Config: @@ -75,20 +70,7 @@ class Config: alembic_cfg.attributes['connection'] = connection command.upgrade(alembic_cfg, "head") - :param file\_: name of the .ini file to open if an ``alembic.ini`` is - to be used. This should refer to the ``alembic.ini`` file, either as - a filename or a full path to the file. This filename if passed must refer - to an **ini file in ConfigParser format** only. - - :param toml\_file: name of the pyproject.toml file to open if a - ``pyproject.toml`` file is to be used. This should refer to the - ``pyproject.toml`` file, either as a filename or a full path to the file. - This file must be in toml format. Both :paramref:`.Config.file\_` and - :paramref:`.Config.toml\_file` may be passed simultaneously, or - exclusively. - - .. versionadded:: 1.16.0 - + :param file\_: name of the .ini file to open. :param ini_section: name of the main Alembic section within the .ini file :param output_buffer: optional file-like input buffer which @@ -98,13 +80,12 @@ class Config: Defaults to ``sys.stdout``. :param config_args: A dictionary of keys and values that will be used - for substitution in the alembic config file, as well as the pyproject.toml - file, depending on which / both are used. The dictionary as given is - **copied** to two new, independent dictionaries, stored locally under the - attributes ``.config_args`` and ``.toml_args``. Both of these - dictionaries will also be populated with the replacement variable - ``%(here)s``, which refers to the location of the .ini and/or .toml file - as appropriate. + for substitution in the alembic config file. The dictionary as given + is **copied** to a new one, stored locally as the attribute + ``.config_args``. When the :attr:`.Config.file_config` attribute is + first invoked, the replacement variable ``here`` will be added to this + dictionary before the dictionary is passed to ``ConfigParser()`` + to parse the .ini file. :param attributes: optional dictionary of arbitrary Python keys/values, which will be populated into the :attr:`.Config.attributes` dictionary. @@ -118,27 +99,20 @@ class Config: def __init__( self, file_: Union[str, os.PathLike[str], None] = None, - toml_file: Union[str, os.PathLike[str], None] = None, ini_section: str = "alembic", output_buffer: Optional[TextIO] = None, stdout: TextIO = sys.stdout, cmd_opts: Optional[Namespace] = None, config_args: Mapping[str, Any] = util.immutabledict(), - attributes: Optional[Dict[str, Any]] = None, + attributes: Optional[dict] = None, ) -> None: """Construct a new :class:`.Config`""" - self.config_file_name = ( - _preserving_path_as_str(file_) if file_ else None - ) - self.toml_file_name = ( - _preserving_path_as_str(toml_file) if toml_file else None - ) + self.config_file_name = file_ self.config_ini_section = ini_section self.output_buffer = output_buffer self.stdout = stdout self.cmd_opts = cmd_opts self.config_args = dict(config_args) - self.toml_args = dict(config_args) if attributes: self.attributes.update(attributes) @@ -154,28 +128,9 @@ class Config: """ - config_file_name: Optional[str] = None + config_file_name: Union[str, os.PathLike[str], None] = None """Filesystem path to the .ini file in use.""" - toml_file_name: Optional[str] = None - """Filesystem path to the pyproject.toml file in use. - - .. versionadded:: 1.16.0 - - """ - - @property - def _config_file_path(self) -> Optional[Path]: - if self.config_file_name is None: - return None - return Path(self.config_file_name) - - @property - def _toml_file_path(self) -> Optional[Path]: - if self.toml_file_name is None: - return None - return Path(self.toml_file_name) - config_ini_section: str = None # type:ignore[assignment] """Name of the config file section to read basic configuration from. Defaults to ``alembic``, that is the ``[alembic]`` section @@ -185,7 +140,7 @@ class Config: """ @util.memoized_property - def attributes(self) -> Dict[str, Any]: + def attributes(self): """A Python dictionary for storage of additional state. @@ -204,7 +159,7 @@ class Config: """ return {} - def print_stdout(self, text: str, *arg: Any) -> None: + def print_stdout(self, text: str, *arg) -> None: """Render a message to standard out. When :meth:`.Config.print_stdout` is called with additional args @@ -228,48 +183,28 @@ class Config: util.write_outstream(self.stdout, output, "\n", **self.messaging_opts) @util.memoized_property - def file_config(self) -> ConfigParser: + def file_config(self): """Return the underlying ``ConfigParser`` object. - Dir*-ect access to the .ini file is available here, + Direct access to the .ini file is available here, though the :meth:`.Config.get_section` and :meth:`.Config.get_main_option` methods provide a possibly simpler interface. """ - if self._config_file_path: - here = self._config_file_path.absolute().parent + if self.config_file_name: + here = os.path.abspath(os.path.dirname(self.config_file_name)) else: - here = Path() - self.config_args["here"] = here.as_posix() + here = "" + self.config_args["here"] = here file_config = ConfigParser(self.config_args) - if self._config_file_path: - compat.read_config_parser(file_config, [self._config_file_path]) + if self.config_file_name: + compat.read_config_parser(file_config, [self.config_file_name]) else: file_config.add_section(self.config_ini_section) return file_config - @util.memoized_property - def toml_alembic_config(self) -> Mapping[str, Any]: - """Return a dictionary of the [tool.alembic] section from - pyproject.toml""" - - if self._toml_file_path and self._toml_file_path.exists(): - - here = self._toml_file_path.absolute().parent - self.toml_args["here"] = here.as_posix() - - with open(self._toml_file_path, "rb") as f: - toml_data = compat.tomllib.load(f) - data = toml_data.get("tool", {}).get("alembic", {}) - if not isinstance(data, dict): - raise util.CommandError("Incorrect TOML format") - return data - - else: - return {} - def get_template_directory(self) -> str: """Return the directory where Alembic setup templates are found. @@ -279,24 +214,14 @@ class Config: """ import alembic - package_dir = Path(alembic.__file__).absolute().parent - return str(package_dir / "templates") - - def _get_template_path(self) -> Path: - """Return the directory where Alembic setup templates are found. - - This method is used by the alembic ``init`` and ``list_templates`` - commands. - - .. versionadded:: 1.16.0 - - """ - return Path(self.get_template_directory()) + package_dir = os.path.abspath(os.path.dirname(alembic.__file__)) + return os.path.join(package_dir, "templates") @overload def get_section( self, name: str, default: None = ... - ) -> Optional[Dict[str, str]]: ... + ) -> Optional[Dict[str, str]]: + ... # "default" here could also be a TypeVar # _MT = TypeVar("_MT", bound=Mapping[str, str]), @@ -304,12 +229,14 @@ class Config: @overload def get_section( self, name: str, default: Dict[str, str] - ) -> Dict[str, str]: ... + ) -> Dict[str, str]: + ... @overload def get_section( self, name: str, default: Mapping[str, str] - ) -> Union[Dict[str, str], Mapping[str, str]]: ... + ) -> Union[Dict[str, str], Mapping[str, str]]: + ... def get_section( self, name: str, default: Optional[Mapping[str, str]] = None @@ -353,12 +280,6 @@ class Config: The value here will override whatever was in the .ini file. - Does **NOT** consume from the pyproject.toml file. - - .. seealso:: - - :meth:`.Config.get_alembic_option` - includes pyproject support - :param section: name of the section :param name: name of the value @@ -391,122 +312,25 @@ class Config: return default @overload - def get_main_option(self, name: str, default: str) -> str: ... + def get_main_option(self, name: str, default: str) -> str: + ... @overload - def get_main_option( - self, name: str, default: Optional[str] = None - ) -> Optional[str]: ... - def get_main_option( self, name: str, default: Optional[str] = None ) -> Optional[str]: + ... + + def get_main_option(self, name, default=None): """Return an option from the 'main' section of the .ini file. This defaults to being a key from the ``[alembic]`` section, unless the ``-n/--name`` flag were used to indicate a different section. - Does **NOT** consume from the pyproject.toml file. - - .. seealso:: - - :meth:`.Config.get_alembic_option` - includes pyproject support - """ return self.get_section_option(self.config_ini_section, name, default) - @overload - def get_alembic_option(self, name: str, default: str) -> str: ... - - @overload - def get_alembic_option( - self, name: str, default: Optional[str] = None - ) -> Optional[str]: ... - - def get_alembic_option( - self, name: str, default: Optional[str] = None - ) -> Union[ - None, str, list[str], dict[str, str], list[dict[str, str]], int - ]: - """Return an option from the "[alembic]" or "[tool.alembic]" section - of the configparser-parsed .ini file (e.g. ``alembic.ini``) or - toml-parsed ``pyproject.toml`` file. - - The value returned is expected to be None, string, list of strings, - or dictionary of strings. Within each type of string value, the - ``%(here)s`` token is substituted out with the absolute path of the - ``pyproject.toml`` file, as are other tokens which are extracted from - the :paramref:`.Config.config_args` dictionary. - - Searches always prioritize the configparser namespace first, before - searching in the toml namespace. - - If Alembic was run using the ``-n/--name`` flag to indicate an - alternate main section name, this is taken into account **only** for - the configparser-parsed .ini file. The section name in toml is always - ``[tool.alembic]``. - - - .. versionadded:: 1.16.0 - - """ - - if self.file_config.has_option(self.config_ini_section, name): - return self.file_config.get(self.config_ini_section, name) - else: - return self._get_toml_config_value(name, default=default) - - def get_alembic_boolean_option(self, name: str) -> bool: - if self.file_config.has_option(self.config_ini_section, name): - return ( - self.file_config.get(self.config_ini_section, name) == "true" - ) - else: - value = self.toml_alembic_config.get(name, False) - if not isinstance(value, bool): - raise util.CommandError( - f"boolean value expected for TOML parameter {name!r}" - ) - return value - - def _get_toml_config_value( - self, name: str, default: Optional[Any] = None - ) -> Union[ - None, str, list[str], dict[str, str], list[dict[str, str]], int - ]: - USE_DEFAULT = object() - value: Union[None, str, list[str], dict[str, str], int] = ( - self.toml_alembic_config.get(name, USE_DEFAULT) - ) - if value is USE_DEFAULT: - return default - if value is not None: - if isinstance(value, str): - value = value % (self.toml_args) - elif isinstance(value, list): - if value and isinstance(value[0], dict): - value = [ - {k: v % (self.toml_args) for k, v in dv.items()} - for dv in value - ] - else: - value = cast( - "list[str]", [v % (self.toml_args) for v in value] - ) - elif isinstance(value, dict): - value = cast( - "dict[str, str]", - {k: v % (self.toml_args) for k, v in value.items()}, - ) - elif isinstance(value, int): - return value - else: - raise util.CommandError( - f"unsupported TOML value type for key: {name!r}" - ) - return value - @util.memoized_property def messaging_opts(self) -> MessagingOptions: """The messaging options.""" @@ -517,313 +341,179 @@ class Config: ), ) - def _get_file_separator_char(self, *names: str) -> Optional[str]: - for name in names: - separator = self.get_main_option(name) - if separator is not None: - break - else: - return None - - split_on_path = { - "space": " ", - "newline": "\n", - "os": os.pathsep, - ":": ":", - ";": ";", - } - - try: - sep = split_on_path[separator] - except KeyError as ke: - raise ValueError( - "'%s' is not a valid value for %s; " - "expected 'space', 'newline', 'os', ':', ';'" - % (separator, name) - ) from ke - else: - if name == "version_path_separator": - util.warn_deprecated( - "The version_path_separator configuration parameter " - "is deprecated; please use path_separator" - ) - return sep - - def get_version_locations_list(self) -> Optional[list[str]]: - - version_locations_str = self.file_config.get( - self.config_ini_section, "version_locations", fallback=None - ) - - if version_locations_str: - split_char = self._get_file_separator_char( - "path_separator", "version_path_separator" - ) - - if split_char is None: - - # legacy behaviour for backwards compatibility - util.warn_deprecated( - "No path_separator found in configuration; " - "falling back to legacy splitting on spaces/commas " - "for version_locations. Consider adding " - "path_separator=os to Alembic config." - ) - - _split_on_space_comma = re.compile(r", *|(?: +)") - return _split_on_space_comma.split(version_locations_str) - else: - return [ - x.strip() - for x in version_locations_str.split(split_char) - if x - ] - else: - return cast( - "list[str]", - self._get_toml_config_value("version_locations", None), - ) - - def get_prepend_sys_paths_list(self) -> Optional[list[str]]: - prepend_sys_path_str = self.file_config.get( - self.config_ini_section, "prepend_sys_path", fallback=None - ) - - if prepend_sys_path_str: - split_char = self._get_file_separator_char("path_separator") - - if split_char is None: - - # legacy behaviour for backwards compatibility - util.warn_deprecated( - "No path_separator found in configuration; " - "falling back to legacy splitting on spaces, commas, " - "and colons for prepend_sys_path. Consider adding " - "path_separator=os to Alembic config." - ) - - _split_on_space_comma_colon = re.compile(r", *|(?: +)|\:") - return _split_on_space_comma_colon.split(prepend_sys_path_str) - else: - return [ - x.strip() - for x in prepend_sys_path_str.split(split_char) - if x - ] - else: - return cast( - "list[str]", - self._get_toml_config_value("prepend_sys_path", None), - ) - - def get_hooks_list(self) -> list[PostWriteHookConfig]: - - hooks: list[PostWriteHookConfig] = [] - - if not self.file_config.has_section("post_write_hooks"): - toml_hook_config = cast( - "list[dict[str, str]]", - self._get_toml_config_value("post_write_hooks", []), - ) - for cfg in toml_hook_config: - opts = dict(cfg) - opts["_hook_name"] = opts.pop("name") - hooks.append(opts) - - else: - _split_on_space_comma = re.compile(r", *|(?: +)") - ini_hook_config = self.get_section("post_write_hooks", {}) - names = _split_on_space_comma.split( - ini_hook_config.get("hooks", "") - ) - - for name in names: - if not name: - continue - opts = { - key[len(name) + 1 :]: ini_hook_config[key] - for key in ini_hook_config - if key.startswith(name + ".") - } - - opts["_hook_name"] = name - hooks.append(opts) - - return hooks - - -PostWriteHookConfig = Mapping[str, str] - class MessagingOptions(TypedDict, total=False): quiet: bool -class CommandFunction(Protocol): - """A function that may be registered in the CLI as an alembic command. - It must be a named function and it must accept a :class:`.Config` object - as the first argument. - - .. versionadded:: 1.15.3 - - """ - - __name__: str - - def __call__(self, config: Config, *args: Any, **kwargs: Any) -> Any: ... - - class CommandLine: - """Provides the command line interface to Alembic.""" - def __init__(self, prog: Optional[str] = None) -> None: self._generate_args(prog) - _KWARGS_OPTS = { - "template": ( - "-t", - "--template", - dict( - default="generic", - type=str, - help="Setup template for use with 'init'", - ), - ), - "message": ( - "-m", - "--message", - dict(type=str, help="Message string to use with 'revision'"), - ), - "sql": ( - "--sql", - dict( - action="store_true", - help="Don't emit SQL to database - dump to " - "standard output/file instead. See docs on " - "offline mode.", - ), - ), - "tag": ( - "--tag", - dict( - type=str, - help="Arbitrary 'tag' name - can be used by " - "custom env.py scripts.", - ), - ), - "head": ( - "--head", - dict( - type=str, - help="Specify head revision or @head " - "to base new revision on.", - ), - ), - "splice": ( - "--splice", - dict( - action="store_true", - help="Allow a non-head revision as the 'head' to splice onto", - ), - ), - "depends_on": ( - "--depends-on", - dict( - action="append", - help="Specify one or more revision identifiers " - "which this revision should depend on.", - ), - ), - "rev_id": ( - "--rev-id", - dict( - type=str, - help="Specify a hardcoded revision id instead of " - "generating one", - ), - ), - "version_path": ( - "--version-path", - dict( - type=str, - help="Specify specific path from config for version file", - ), - ), - "branch_label": ( - "--branch-label", - dict( - type=str, - help="Specify a branch label to apply to the new revision", - ), - ), - "verbose": ( - "-v", - "--verbose", - dict(action="store_true", help="Use more verbose output"), - ), - "resolve_dependencies": ( - "--resolve-dependencies", - dict( - action="store_true", - help="Treat dependency versions as down revisions", - ), - ), - "autogenerate": ( - "--autogenerate", - dict( - action="store_true", - help="Populate revision script with candidate " - "migration operations, based on comparison " - "of database to model.", - ), - ), - "rev_range": ( - "-r", - "--rev-range", - dict( - action="store", - help="Specify a revision range; format is [start]:[end]", - ), - ), - "indicate_current": ( - "-i", - "--indicate-current", - dict( - action="store_true", - help="Indicate the current revision", - ), - ), - "purge": ( - "--purge", - dict( - action="store_true", - help="Unconditionally erase the version table before stamping", - ), - ), - "package": ( - "--package", - dict( - action="store_true", - help="Write empty __init__.py files to the " - "environment and version locations", - ), - ), - } - _POSITIONAL_OPTS = { - "directory": dict(help="location of scripts directory"), - "revision": dict( - help="revision identifier", - ), - "revisions": dict( - nargs="+", - help="one or more revisions, or 'heads' for all heads", - ), - } - _POSITIONAL_TRANSLATIONS: dict[Any, dict[str, str]] = { - command.stamp: {"revision": "revisions"} - } - def _generate_args(self, prog: Optional[str]) -> None: + def add_options(fn, parser, positional, kwargs): + kwargs_opts = { + "template": ( + "-t", + "--template", + dict( + default="generic", + type=str, + help="Setup template for use with 'init'", + ), + ), + "message": ( + "-m", + "--message", + dict( + type=str, help="Message string to use with 'revision'" + ), + ), + "sql": ( + "--sql", + dict( + action="store_true", + help="Don't emit SQL to database - dump to " + "standard output/file instead. See docs on " + "offline mode.", + ), + ), + "tag": ( + "--tag", + dict( + type=str, + help="Arbitrary 'tag' name - can be used by " + "custom env.py scripts.", + ), + ), + "head": ( + "--head", + dict( + type=str, + help="Specify head revision or @head " + "to base new revision on.", + ), + ), + "splice": ( + "--splice", + dict( + action="store_true", + help="Allow a non-head revision as the " + "'head' to splice onto", + ), + ), + "depends_on": ( + "--depends-on", + dict( + action="append", + help="Specify one or more revision identifiers " + "which this revision should depend on.", + ), + ), + "rev_id": ( + "--rev-id", + dict( + type=str, + help="Specify a hardcoded revision id instead of " + "generating one", + ), + ), + "version_path": ( + "--version-path", + dict( + type=str, + help="Specify specific path from config for " + "version file", + ), + ), + "branch_label": ( + "--branch-label", + dict( + type=str, + help="Specify a branch label to apply to the " + "new revision", + ), + ), + "verbose": ( + "-v", + "--verbose", + dict(action="store_true", help="Use more verbose output"), + ), + "resolve_dependencies": ( + "--resolve-dependencies", + dict( + action="store_true", + help="Treat dependency versions as down revisions", + ), + ), + "autogenerate": ( + "--autogenerate", + dict( + action="store_true", + help="Populate revision script with candidate " + "migration operations, based on comparison " + "of database to model.", + ), + ), + "rev_range": ( + "-r", + "--rev-range", + dict( + action="store", + help="Specify a revision range; " + "format is [start]:[end]", + ), + ), + "indicate_current": ( + "-i", + "--indicate-current", + dict( + action="store_true", + help="Indicate the current revision", + ), + ), + "purge": ( + "--purge", + dict( + action="store_true", + help="Unconditionally erase the version table " + "before stamping", + ), + ), + "package": ( + "--package", + dict( + action="store_true", + help="Write empty __init__.py files to the " + "environment and version locations", + ), + ), + } + positional_help = { + "directory": "location of scripts directory", + "revision": "revision identifier", + "revisions": "one or more revisions, or 'heads' for all heads", + } + for arg in kwargs: + if arg in kwargs_opts: + args = kwargs_opts[arg] + args, kw = args[0:-1], args[-1] + parser.add_argument(*args, **kw) + + for arg in positional: + if ( + arg == "revisions" + or fn in positional_translations + and positional_translations[fn][arg] == "revisions" + ): + subparser.add_argument( + "revisions", + nargs="+", + help=positional_help.get("revisions"), + ) + else: + subparser.add_argument(arg, help=positional_help.get(arg)) + parser = ArgumentParser(prog=prog) parser.add_argument( @@ -832,19 +522,17 @@ class CommandLine: parser.add_argument( "-c", "--config", - action="append", + type=str, + default=os.environ.get("ALEMBIC_CONFIG", "alembic.ini"), help="Alternate config file; defaults to value of " - 'ALEMBIC_CONFIG environment variable, or "alembic.ini". ' - "May also refer to pyproject.toml file. May be specified twice " - "to reference both files separately", + 'ALEMBIC_CONFIG environment variable, or "alembic.ini"', ) parser.add_argument( "-n", "--name", type=str, default="alembic", - help="Name of section in .ini file to use for Alembic config " - "(only applies to configparser config, not toml)", + help="Name of section in .ini file to " "use for Alembic config", ) parser.add_argument( "-x", @@ -864,80 +552,47 @@ class CommandLine: action="store_true", help="Do not log to std output.", ) + subparsers = parser.add_subparsers() - self.subparsers = parser.add_subparsers() - alembic_commands = ( - cast(CommandFunction, fn) - for fn in (getattr(command, name) for name in dir(command)) + positional_translations = {command.stamp: {"revision": "revisions"}} + + for fn in [getattr(command, n) for n in dir(command)]: if ( inspect.isfunction(fn) and fn.__name__[0] != "_" and fn.__module__ == "alembic.command" - ) - ) - - for fn in alembic_commands: - self.register_command(fn) - - self.parser = parser - - def register_command(self, fn: CommandFunction) -> None: - """Registers a function as a CLI subcommand. The subcommand name - matches the function name, the arguments are extracted from the - signature and the help text is read from the docstring. - - .. versionadded:: 1.15.3 - - .. seealso:: - - :ref:`custom_commandline` - """ - - positional, kwarg, help_text = self._inspect_function(fn) - - subparser = self.subparsers.add_parser(fn.__name__, help=help_text) - subparser.set_defaults(cmd=(fn, positional, kwarg)) - - for arg in kwarg: - if arg in self._KWARGS_OPTS: - kwarg_opt = self._KWARGS_OPTS[arg] - args, opts = kwarg_opt[0:-1], kwarg_opt[-1] - subparser.add_argument(*args, **opts) # type:ignore - - for arg in positional: - opts = self._POSITIONAL_OPTS.get(arg, {}) - subparser.add_argument(arg, **opts) # type:ignore - - def _inspect_function(self, fn: CommandFunction) -> tuple[Any, Any, str]: - spec = compat.inspect_getfullargspec(fn) - if spec[3] is not None: - positional = spec[0][1 : -len(spec[3])] - kwarg = spec[0][-len(spec[3]) :] - else: - positional = spec[0][1:] - kwarg = [] - - if fn in self._POSITIONAL_TRANSLATIONS: - positional = [ - self._POSITIONAL_TRANSLATIONS[fn].get(name, name) - for name in positional - ] - - # parse first line(s) of helptext without a line break - help_ = fn.__doc__ - if help_: - help_lines = [] - for line in help_.split("\n"): - if not line.strip(): - break + ): + spec = compat.inspect_getfullargspec(fn) + if spec[3] is not None: + positional = spec[0][1 : -len(spec[3])] + kwarg = spec[0][-len(spec[3]) :] else: - help_lines.append(line.strip()) - else: - help_lines = [] + positional = spec[0][1:] + kwarg = [] - help_text = " ".join(help_lines) + if fn in positional_translations: + positional = [ + positional_translations[fn].get(name, name) + for name in positional + ] - return positional, kwarg, help_text + # parse first line(s) of helptext without a line break + help_ = fn.__doc__ + if help_: + help_text = [] + for line in help_.split("\n"): + if not line.strip(): + break + else: + help_text.append(line.strip()) + else: + help_text = [] + subparser = subparsers.add_parser( + fn.__name__, help=" ".join(help_text) + ) + add_options(fn, subparser, positional, kwarg) + subparser.set_defaults(cmd=(fn, positional, kwarg)) + self.parser = parser def run_cmd(self, config: Config, options: Namespace) -> None: fn, positional, kwarg = options.cmd @@ -954,69 +609,22 @@ class CommandLine: else: util.err(str(e), **config.messaging_opts) - def _inis_from_config(self, options: Namespace) -> tuple[str, str]: - names = options.config - - alembic_config_env = os.environ.get("ALEMBIC_CONFIG") - if ( - alembic_config_env - and os.path.basename(alembic_config_env) == "pyproject.toml" - ): - default_pyproject_toml = alembic_config_env - default_alembic_config = "alembic.ini" - elif alembic_config_env: - default_pyproject_toml = "pyproject.toml" - default_alembic_config = alembic_config_env - else: - default_alembic_config = "alembic.ini" - default_pyproject_toml = "pyproject.toml" - - if not names: - return default_pyproject_toml, default_alembic_config - - toml = ini = None - - for name in names: - if os.path.basename(name) == "pyproject.toml": - if toml is not None: - raise util.CommandError( - "pyproject.toml indicated more than once" - ) - toml = name - else: - if ini is not None: - raise util.CommandError( - "only one ini file may be indicated" - ) - ini = name - - return toml if toml else default_pyproject_toml, ( - ini if ini else default_alembic_config - ) - - def main(self, argv: Optional[Sequence[str]] = None) -> None: - """Executes the command line with the provided arguments.""" + def main(self, argv=None): options = self.parser.parse_args(argv) if not hasattr(options, "cmd"): # see http://bugs.python.org/issue9253, argparse # behavior changed incompatibly in py3.3 self.parser.error("too few arguments") else: - toml, ini = self._inis_from_config(options) cfg = Config( - file_=ini, - toml_file=toml, + file_=options.config, ini_section=options.name, cmd_opts=options, ) self.run_cmd(cfg, options) -def main( - argv: Optional[Sequence[str]] = None, - prog: Optional[str] = None, - **kwargs: Any, -) -> None: +def main(argv=None, prog=None, **kwargs): """The console runner function for Alembic.""" CommandLine(prog=prog).main(argv=argv) diff --git a/venv/lib/python3.12/site-packages/alembic/context.pyi b/venv/lib/python3.12/site-packages/alembic/context.pyi index 9117c31..f37f246 100644 --- a/venv/lib/python3.12/site-packages/alembic/context.pyi +++ b/venv/lib/python3.12/site-packages/alembic/context.pyi @@ -5,6 +5,7 @@ from __future__ import annotations from typing import Any from typing import Callable from typing import Collection +from typing import ContextManager from typing import Dict from typing import Iterable from typing import List @@ -13,14 +14,11 @@ from typing import Mapping from typing import MutableMapping from typing import Optional from typing import overload -from typing import Sequence from typing import TextIO from typing import Tuple from typing import TYPE_CHECKING from typing import Union -from typing_extensions import ContextManager - if TYPE_CHECKING: from sqlalchemy.engine.base import Connection from sqlalchemy.engine.url import URL @@ -41,9 +39,7 @@ if TYPE_CHECKING: ### end imports ### -def begin_transaction() -> ( - Union[_ProxyTransaction, ContextManager[None, Optional[bool]]] -): +def begin_transaction() -> Union[_ProxyTransaction, ContextManager[None]]: """Return a context manager that will enclose an operation within a "transaction", as defined by the environment's offline @@ -101,7 +97,7 @@ def configure( tag: Optional[str] = None, template_args: Optional[Dict[str, Any]] = None, render_as_batch: bool = False, - target_metadata: Union[MetaData, Sequence[MetaData], None] = None, + target_metadata: Optional[MetaData] = None, include_name: Optional[ Callable[ [ @@ -163,8 +159,8 @@ def configure( MigrationContext, Column[Any], Column[Any], - TypeEngine[Any], - TypeEngine[Any], + TypeEngine, + TypeEngine, ], Optional[bool], ], @@ -639,8 +635,7 @@ def configure( """ def execute( - sql: Union[Executable, str], - execution_options: Optional[Dict[str, Any]] = None, + sql: Union[Executable, str], execution_options: Optional[dict] = None ) -> None: """Execute the given SQL using the current change context. @@ -763,11 +758,7 @@ def get_x_argument( The return value is a list, returned directly from the ``argparse`` structure. If ``as_dictionary=True`` is passed, the ``x`` arguments are parsed using ``key=value`` format into a dictionary that is - then returned. If there is no ``=`` in the argument, value is an empty - string. - - .. versionchanged:: 1.13.1 Support ``as_dictionary=True`` when - arguments are passed without the ``=`` symbol. + then returned. For example, to support passing a database URL on the command line, the standard ``env.py`` script can be modified like this:: @@ -809,7 +800,7 @@ def is_offline_mode() -> bool: """ -def is_transactional_ddl() -> bool: +def is_transactional_ddl(): """Return True if the context is configured to expect a transactional DDL capable backend. diff --git a/venv/lib/python3.12/site-packages/alembic/ddl/__init__.py b/venv/lib/python3.12/site-packages/alembic/ddl/__init__.py index f2f72b3..cfcc47e 100644 --- a/venv/lib/python3.12/site-packages/alembic/ddl/__init__.py +++ b/venv/lib/python3.12/site-packages/alembic/ddl/__init__.py @@ -3,4 +3,4 @@ from . import mysql from . import oracle from . import postgresql from . import sqlite -from .impl import DefaultImpl as DefaultImpl +from .impl import DefaultImpl diff --git a/venv/lib/python3.12/site-packages/alembic/ddl/_autogen.py b/venv/lib/python3.12/site-packages/alembic/ddl/_autogen.py deleted file mode 100644 index 74715b1..0000000 --- a/venv/lib/python3.12/site-packages/alembic/ddl/_autogen.py +++ /dev/null @@ -1,329 +0,0 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - -from __future__ import annotations - -from typing import Any -from typing import ClassVar -from typing import Dict -from typing import Generic -from typing import NamedTuple -from typing import Optional -from typing import Sequence -from typing import Tuple -from typing import Type -from typing import TYPE_CHECKING -from typing import TypeVar -from typing import Union - -from sqlalchemy.sql.schema import Constraint -from sqlalchemy.sql.schema import ForeignKeyConstraint -from sqlalchemy.sql.schema import Index -from sqlalchemy.sql.schema import UniqueConstraint -from typing_extensions import TypeGuard - -from .. import util -from ..util import sqla_compat - -if TYPE_CHECKING: - from typing import Literal - - from alembic.autogenerate.api import AutogenContext - from alembic.ddl.impl import DefaultImpl - -CompareConstraintType = Union[Constraint, Index] - -_C = TypeVar("_C", bound=CompareConstraintType) - -_clsreg: Dict[str, Type[_constraint_sig]] = {} - - -class ComparisonResult(NamedTuple): - status: Literal["equal", "different", "skip"] - message: str - - @property - def is_equal(self) -> bool: - return self.status == "equal" - - @property - def is_different(self) -> bool: - return self.status == "different" - - @property - def is_skip(self) -> bool: - return self.status == "skip" - - @classmethod - def Equal(cls) -> ComparisonResult: - """the constraints are equal.""" - return cls("equal", "The two constraints are equal") - - @classmethod - def Different(cls, reason: Union[str, Sequence[str]]) -> ComparisonResult: - """the constraints are different for the provided reason(s).""" - return cls("different", ", ".join(util.to_list(reason))) - - @classmethod - def Skip(cls, reason: Union[str, Sequence[str]]) -> ComparisonResult: - """the constraint cannot be compared for the provided reason(s). - - The message is logged, but the constraints will be otherwise - considered equal, meaning that no migration command will be - generated. - """ - return cls("skip", ", ".join(util.to_list(reason))) - - -class _constraint_sig(Generic[_C]): - const: _C - - _sig: Tuple[Any, ...] - name: Optional[sqla_compat._ConstraintNameDefined] - - impl: DefaultImpl - - _is_index: ClassVar[bool] = False - _is_fk: ClassVar[bool] = False - _is_uq: ClassVar[bool] = False - - _is_metadata: bool - - def __init_subclass__(cls) -> None: - cls._register() - - @classmethod - def _register(cls): - raise NotImplementedError() - - def __init__( - self, is_metadata: bool, impl: DefaultImpl, const: _C - ) -> None: - raise NotImplementedError() - - def compare_to_reflected( - self, other: _constraint_sig[Any] - ) -> ComparisonResult: - assert self.impl is other.impl - assert self._is_metadata - assert not other._is_metadata - - return self._compare_to_reflected(other) - - def _compare_to_reflected( - self, other: _constraint_sig[_C] - ) -> ComparisonResult: - raise NotImplementedError() - - @classmethod - def from_constraint( - cls, is_metadata: bool, impl: DefaultImpl, constraint: _C - ) -> _constraint_sig[_C]: - # these could be cached by constraint/impl, however, if the - # constraint is modified in place, then the sig is wrong. the mysql - # impl currently does this, and if we fixed that we can't be sure - # someone else might do it too, so play it safe. - sig = _clsreg[constraint.__visit_name__](is_metadata, impl, constraint) - return sig - - def md_name_to_sql_name(self, context: AutogenContext) -> Optional[str]: - return sqla_compat._get_constraint_final_name( - self.const, context.dialect - ) - - @util.memoized_property - def is_named(self): - return sqla_compat._constraint_is_named(self.const, self.impl.dialect) - - @util.memoized_property - def unnamed(self) -> Tuple[Any, ...]: - return self._sig - - @util.memoized_property - def unnamed_no_options(self) -> Tuple[Any, ...]: - raise NotImplementedError() - - @util.memoized_property - def _full_sig(self) -> Tuple[Any, ...]: - return (self.name,) + self.unnamed - - def __eq__(self, other) -> bool: - return self._full_sig == other._full_sig - - def __ne__(self, other) -> bool: - return self._full_sig != other._full_sig - - def __hash__(self) -> int: - return hash(self._full_sig) - - -class _uq_constraint_sig(_constraint_sig[UniqueConstraint]): - _is_uq = True - - @classmethod - def _register(cls) -> None: - _clsreg["unique_constraint"] = cls - - is_unique = True - - def __init__( - self, - is_metadata: bool, - impl: DefaultImpl, - const: UniqueConstraint, - ) -> None: - self.impl = impl - self.const = const - self.name = sqla_compat.constraint_name_or_none(const.name) - self._sig = tuple(sorted([col.name for col in const.columns])) - self._is_metadata = is_metadata - - @property - def column_names(self) -> Tuple[str, ...]: - return tuple([col.name for col in self.const.columns]) - - def _compare_to_reflected( - self, other: _constraint_sig[_C] - ) -> ComparisonResult: - assert self._is_metadata - metadata_obj = self - conn_obj = other - - assert is_uq_sig(conn_obj) - return self.impl.compare_unique_constraint( - metadata_obj.const, conn_obj.const - ) - - -class _ix_constraint_sig(_constraint_sig[Index]): - _is_index = True - - name: sqla_compat._ConstraintName - - @classmethod - def _register(cls) -> None: - _clsreg["index"] = cls - - def __init__( - self, is_metadata: bool, impl: DefaultImpl, const: Index - ) -> None: - self.impl = impl - self.const = const - self.name = const.name - self.is_unique = bool(const.unique) - self._is_metadata = is_metadata - - def _compare_to_reflected( - self, other: _constraint_sig[_C] - ) -> ComparisonResult: - assert self._is_metadata - metadata_obj = self - conn_obj = other - - assert is_index_sig(conn_obj) - return self.impl.compare_indexes(metadata_obj.const, conn_obj.const) - - @util.memoized_property - def has_expressions(self): - return sqla_compat.is_expression_index(self.const) - - @util.memoized_property - def column_names(self) -> Tuple[str, ...]: - return tuple([col.name for col in self.const.columns]) - - @util.memoized_property - def column_names_optional(self) -> Tuple[Optional[str], ...]: - return tuple( - [getattr(col, "name", None) for col in self.const.expressions] - ) - - @util.memoized_property - def is_named(self): - return True - - @util.memoized_property - def unnamed(self): - return (self.is_unique,) + self.column_names_optional - - -class _fk_constraint_sig(_constraint_sig[ForeignKeyConstraint]): - _is_fk = True - - @classmethod - def _register(cls) -> None: - _clsreg["foreign_key_constraint"] = cls - - def __init__( - self, - is_metadata: bool, - impl: DefaultImpl, - const: ForeignKeyConstraint, - ) -> None: - self._is_metadata = is_metadata - - self.impl = impl - self.const = const - - self.name = sqla_compat.constraint_name_or_none(const.name) - - ( - self.source_schema, - self.source_table, - self.source_columns, - self.target_schema, - self.target_table, - self.target_columns, - onupdate, - ondelete, - deferrable, - initially, - ) = sqla_compat._fk_spec(const) - - self._sig: Tuple[Any, ...] = ( - self.source_schema, - self.source_table, - tuple(self.source_columns), - self.target_schema, - self.target_table, - tuple(self.target_columns), - ) + ( - ( - (None if onupdate.lower() == "no action" else onupdate.lower()) - if onupdate - else None - ), - ( - (None if ondelete.lower() == "no action" else ondelete.lower()) - if ondelete - else None - ), - # convert initially + deferrable into one three-state value - ( - "initially_deferrable" - if initially and initially.lower() == "deferred" - else "deferrable" if deferrable else "not deferrable" - ), - ) - - @util.memoized_property - def unnamed_no_options(self): - return ( - self.source_schema, - self.source_table, - tuple(self.source_columns), - self.target_schema, - self.target_table, - tuple(self.target_columns), - ) - - -def is_index_sig(sig: _constraint_sig) -> TypeGuard[_ix_constraint_sig]: - return sig._is_index - - -def is_uq_sig(sig: _constraint_sig) -> TypeGuard[_uq_constraint_sig]: - return sig._is_uq - - -def is_fk_sig(sig: _constraint_sig) -> TypeGuard[_fk_constraint_sig]: - return sig._is_fk diff --git a/venv/lib/python3.12/site-packages/alembic/ddl/base.py b/venv/lib/python3.12/site-packages/alembic/ddl/base.py index ad2847e..339db0c 100644 --- a/venv/lib/python3.12/site-packages/alembic/ddl/base.py +++ b/venv/lib/python3.12/site-packages/alembic/ddl/base.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations import functools @@ -25,8 +22,6 @@ from ..util.sqla_compat import _table_for_constraint # noqa if TYPE_CHECKING: from typing import Any - from sqlalchemy import Computed - from sqlalchemy import Identity from sqlalchemy.sql.compiler import Compiled from sqlalchemy.sql.compiler import DDLCompiler from sqlalchemy.sql.elements import TextClause @@ -35,11 +30,14 @@ if TYPE_CHECKING: from sqlalchemy.sql.type_api import TypeEngine from .impl import DefaultImpl + from ..util.sqla_compat import Computed + from ..util.sqla_compat import Identity _ServerDefault = Union["TextClause", "FetchedValue", "Function[Any]", str] class AlterTable(DDLElement): + """Represent an ALTER TABLE statement. Only the string name and optional schema name of the table @@ -154,24 +152,17 @@ class AddColumn(AlterTable): name: str, column: Column[Any], schema: Optional[Union[quoted_name, str]] = None, - if_not_exists: Optional[bool] = None, ) -> None: super().__init__(name, schema=schema) self.column = column - self.if_not_exists = if_not_exists class DropColumn(AlterTable): def __init__( - self, - name: str, - column: Column[Any], - schema: Optional[str] = None, - if_exists: Optional[bool] = None, + self, name: str, column: Column[Any], schema: Optional[str] = None ) -> None: super().__init__(name, schema=schema) self.column = column - self.if_exists = if_exists class ColumnComment(AlterColumn): @@ -196,9 +187,7 @@ def visit_rename_table( def visit_add_column(element: AddColumn, compiler: DDLCompiler, **kw) -> str: return "%s %s" % ( alter_table(compiler, element.table_name, element.schema), - add_column( - compiler, element.column, if_not_exists=element.if_not_exists, **kw - ), + add_column(compiler, element.column, **kw), ) @@ -206,9 +195,7 @@ def visit_add_column(element: AddColumn, compiler: DDLCompiler, **kw) -> str: def visit_drop_column(element: DropColumn, compiler: DDLCompiler, **kw) -> str: return "%s %s" % ( alter_table(compiler, element.table_name, element.schema), - drop_column( - compiler, element.column.name, if_exists=element.if_exists, **kw - ), + drop_column(compiler, element.column.name, **kw), ) @@ -248,11 +235,9 @@ def visit_column_default( return "%s %s %s" % ( alter_table(compiler, element.table_name, element.schema), alter_column(compiler, element.column_name), - ( - "SET DEFAULT %s" % format_server_default(compiler, element.default) - if element.default is not None - else "DROP DEFAULT" - ), + "SET DEFAULT %s" % format_server_default(compiler, element.default) + if element.default is not None + else "DROP DEFAULT", ) @@ -310,13 +295,9 @@ def format_server_default( compiler: DDLCompiler, default: Optional[_ServerDefault], ) -> str: - # this can be updated to use compiler.render_default_string - # for SQLAlchemy 2.0 and above; not in 1.4 - default_str = compiler.get_column_default_string( + return compiler.get_column_default_string( Column("x", Integer, server_default=default) ) - assert default_str is not None - return default_str def format_type(compiler: DDLCompiler, type_: TypeEngine) -> str: @@ -331,29 +312,16 @@ def alter_table( return "ALTER TABLE %s" % format_table_name(compiler, name, schema) -def drop_column( - compiler: DDLCompiler, name: str, if_exists: Optional[bool] = None, **kw -) -> str: - return "DROP COLUMN %s%s" % ( - "IF EXISTS " if if_exists else "", - format_column_name(compiler, name), - ) +def drop_column(compiler: DDLCompiler, name: str, **kw) -> str: + return "DROP COLUMN %s" % format_column_name(compiler, name) def alter_column(compiler: DDLCompiler, name: str) -> str: return "ALTER COLUMN %s" % format_column_name(compiler, name) -def add_column( - compiler: DDLCompiler, - column: Column[Any], - if_not_exists: Optional[bool] = None, - **kw, -) -> str: - text = "ADD COLUMN %s%s" % ( - "IF NOT EXISTS " if if_not_exists else "", - compiler.get_column_specification(column, **kw), - ) +def add_column(compiler: DDLCompiler, column: Column[Any], **kw) -> str: + text = "ADD COLUMN %s" % compiler.get_column_specification(column, **kw) const = " ".join( compiler.process(constraint) for constraint in column.constraints diff --git a/venv/lib/python3.12/site-packages/alembic/ddl/impl.py b/venv/lib/python3.12/site-packages/alembic/ddl/impl.py index d352f12..8a7c75d 100644 --- a/venv/lib/python3.12/site-packages/alembic/ddl/impl.py +++ b/venv/lib/python3.12/site-packages/alembic/ddl/impl.py @@ -1,9 +1,6 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations -import logging +from collections import namedtuple import re from typing import Any from typing import Callable @@ -11,7 +8,6 @@ from typing import Dict from typing import Iterable from typing import List from typing import Mapping -from typing import NamedTuple from typing import Optional from typing import Sequence from typing import Set @@ -21,18 +17,10 @@ from typing import TYPE_CHECKING from typing import Union from sqlalchemy import cast -from sqlalchemy import Column -from sqlalchemy import MetaData -from sqlalchemy import PrimaryKeyConstraint from sqlalchemy import schema -from sqlalchemy import String -from sqlalchemy import Table from sqlalchemy import text -from . import _autogen from . import base -from ._autogen import _constraint_sig as _constraint_sig -from ._autogen import ComparisonResult as ComparisonResult from .. import util from ..util import sqla_compat @@ -46,10 +34,13 @@ if TYPE_CHECKING: from sqlalchemy.engine.reflection import Inspector from sqlalchemy.sql import ClauseElement from sqlalchemy.sql import Executable + from sqlalchemy.sql.elements import ColumnElement from sqlalchemy.sql.elements import quoted_name + from sqlalchemy.sql.schema import Column from sqlalchemy.sql.schema import Constraint from sqlalchemy.sql.schema import ForeignKeyConstraint from sqlalchemy.sql.schema import Index + from sqlalchemy.sql.schema import Table from sqlalchemy.sql.schema import UniqueConstraint from sqlalchemy.sql.selectable import TableClause from sqlalchemy.sql.type_api import TypeEngine @@ -59,8 +50,6 @@ if TYPE_CHECKING: from ..operations.batch import ApplyBatchImpl from ..operations.batch import BatchOperationsImpl -log = logging.getLogger(__name__) - class ImplMeta(type): def __init__( @@ -77,8 +66,11 @@ class ImplMeta(type): _impls: Dict[str, Type[DefaultImpl]] = {} +Params = namedtuple("Params", ["token0", "tokens", "args", "kwargs"]) + class DefaultImpl(metaclass=ImplMeta): + """Provide the entrypoint for major migration operations, including database-specific behavioral variances. @@ -138,40 +130,6 @@ class DefaultImpl(metaclass=ImplMeta): self.output_buffer.write(text + "\n\n") self.output_buffer.flush() - def version_table_impl( - self, - *, - version_table: str, - version_table_schema: Optional[str], - version_table_pk: bool, - **kw: Any, - ) -> Table: - """Generate a :class:`.Table` object which will be used as the - structure for the Alembic version table. - - Third party dialects may override this hook to provide an alternate - structure for this :class:`.Table`; requirements are only that it - be named based on the ``version_table`` parameter and contains - at least a single string-holding column named ``version_num``. - - .. versionadded:: 1.14 - - """ - vt = Table( - version_table, - MetaData(), - Column("version_num", String(32), nullable=False), - schema=version_table_schema, - ) - if version_table_pk: - vt.append_constraint( - PrimaryKeyConstraint( - "version_num", name=f"{version_table}_pkc" - ) - ) - - return vt - def requires_recreate_in_batch( self, batch_op: BatchOperationsImpl ) -> bool: @@ -203,15 +161,16 @@ class DefaultImpl(metaclass=ImplMeta): def _exec( self, construct: Union[Executable, str], - execution_options: Optional[Mapping[str, Any]] = None, - multiparams: Optional[Sequence[Mapping[str, Any]]] = None, - params: Mapping[str, Any] = util.immutabledict(), + execution_options: Optional[dict[str, Any]] = None, + multiparams: Sequence[dict] = (), + params: Dict[str, Any] = util.immutabledict(), ) -> Optional[CursorResult]: if isinstance(construct, str): construct = text(construct) if self.as_sql: - if multiparams is not None or params: - raise TypeError("SQL parameters not allowed with as_sql") + if multiparams or params: + # TODO: coverage + raise Exception("Execution arguments not allowed with as_sql") compile_kw: dict[str, Any] if self.literal_binds and not isinstance( @@ -234,16 +193,11 @@ class DefaultImpl(metaclass=ImplMeta): assert conn is not None if execution_options: conn = conn.execution_options(**execution_options) + if params: + assert isinstance(multiparams, tuple) + multiparams += (params,) - if params and multiparams is not None: - raise TypeError( - "Can't send params and multiparams at the same time" - ) - - if multiparams: - return conn.execute(construct, multiparams) - else: - return conn.execute(construct, params) + return conn.execute(construct, multiparams) def execute( self, @@ -256,11 +210,8 @@ class DefaultImpl(metaclass=ImplMeta): self, table_name: str, column_name: str, - *, nullable: Optional[bool] = None, - server_default: Optional[ - Union[_ServerDefault, Literal[False]] - ] = False, + server_default: Union[_ServerDefault, Literal[False]] = False, name: Optional[str] = None, type_: Optional[TypeEngine] = None, schema: Optional[str] = None, @@ -371,40 +322,25 @@ class DefaultImpl(metaclass=ImplMeta): self, table_name: str, column: Column[Any], - *, schema: Optional[Union[str, quoted_name]] = None, - if_not_exists: Optional[bool] = None, ) -> None: - self._exec( - base.AddColumn( - table_name, - column, - schema=schema, - if_not_exists=if_not_exists, - ) - ) + self._exec(base.AddColumn(table_name, column, schema=schema)) def drop_column( self, table_name: str, column: Column[Any], - *, schema: Optional[str] = None, - if_exists: Optional[bool] = None, **kw, ) -> None: - self._exec( - base.DropColumn( - table_name, column, schema=schema, if_exists=if_exists - ) - ) + self._exec(base.DropColumn(table_name, column, schema=schema)) def add_constraint(self, const: Any) -> None: if const._create_rule is None or const._create_rule(self): self._exec(schema.AddConstraint(const)) - def drop_constraint(self, const: Constraint, **kw: Any) -> None: - self._exec(schema.DropConstraint(const, **kw)) + def drop_constraint(self, const: Constraint) -> None: + self._exec(schema.DropConstraint(const)) def rename_table( self, @@ -416,11 +352,11 @@ class DefaultImpl(metaclass=ImplMeta): base.RenameTable(old_table_name, new_table_name, schema=schema) ) - def create_table(self, table: Table, **kw: Any) -> None: + def create_table(self, table: Table) -> None: table.dispatch.before_create( table, self.connection, checkfirst=False, _ddl_runner=self ) - self._exec(schema.CreateTable(table, **kw)) + self._exec(schema.CreateTable(table)) table.dispatch.after_create( table, self.connection, checkfirst=False, _ddl_runner=self ) @@ -439,11 +375,11 @@ class DefaultImpl(metaclass=ImplMeta): if comment and with_comment: self.create_column_comment(column) - def drop_table(self, table: Table, **kw: Any) -> None: + def drop_table(self, table: Table) -> None: table.dispatch.before_drop( table, self.connection, checkfirst=False, _ddl_runner=self ) - self._exec(schema.DropTable(table, **kw)) + self._exec(schema.DropTable(table)) table.dispatch.after_drop( table, self.connection, checkfirst=False, _ddl_runner=self ) @@ -457,7 +393,7 @@ class DefaultImpl(metaclass=ImplMeta): def drop_table_comment(self, table: Table) -> None: self._exec(schema.DropTableComment(table)) - def create_column_comment(self, column: Column[Any]) -> None: + def create_column_comment(self, column: ColumnElement[Any]) -> None: self._exec(schema.SetColumnComment(column)) def drop_index(self, index: Index, **kw: Any) -> None: @@ -476,19 +412,15 @@ class DefaultImpl(metaclass=ImplMeta): if self.as_sql: for row in rows: self._exec( - table.insert() - .inline() - .values( + sqla_compat._insert_inline(table).values( **{ - k: ( - sqla_compat._literal_bindparam( - k, v, type_=table.c[k].type - ) - if not isinstance( - v, sqla_compat._literal_bindparam - ) - else v + k: sqla_compat._literal_bindparam( + k, v, type_=table.c[k].type ) + if not isinstance( + v, sqla_compat._literal_bindparam + ) + else v for k, v in row.items() } ) @@ -496,13 +428,16 @@ class DefaultImpl(metaclass=ImplMeta): else: if rows: if multiinsert: - self._exec(table.insert().inline(), multiparams=rows) + self._exec( + sqla_compat._insert_inline(table), multiparams=rows + ) else: for row in rows: - self._exec(table.insert().inline().values(**row)) + self._exec( + sqla_compat._insert_inline(table).values(**row) + ) def _tokenize_column_type(self, column: Column) -> Params: - definition: str definition = self.dialect.type_compiler.process(column.type).lower() # tokenize the SQLAlchemy-generated version of a type, so that @@ -517,9 +452,9 @@ class DefaultImpl(metaclass=ImplMeta): # varchar character set utf8 # - tokens: List[str] = re.findall(r"[\w\-_]+|\(.+?\)", definition) + tokens = re.findall(r"[\w\-_]+|\(.+?\)", definition) - term_tokens: List[str] = [] + term_tokens = [] paren_term = None for token in tokens: @@ -531,7 +466,6 @@ class DefaultImpl(metaclass=ImplMeta): params = Params(term_tokens[0], term_tokens[1:], [], {}) if paren_term: - term: str for term in re.findall("[^(),]+", paren_term): if "=" in term: key, val = term.split("=") @@ -708,7 +642,7 @@ class DefaultImpl(metaclass=ImplMeta): diff, ignored = _compare_identity_options( metadata_identity, inspector_identity, - schema.Identity(), + sqla_compat.Identity(), skip={"always"}, ) @@ -730,96 +664,15 @@ class DefaultImpl(metaclass=ImplMeta): bool(diff) or bool(metadata_identity) != bool(inspector_identity), ) - def _compare_index_unique( - self, metadata_index: Index, reflected_index: Index - ) -> Optional[str]: - conn_unique = bool(reflected_index.unique) - meta_unique = bool(metadata_index.unique) - if conn_unique != meta_unique: - return f"unique={conn_unique} to unique={meta_unique}" - else: - return None + def create_index_sig(self, index: Index) -> Tuple[Any, ...]: + # order of col matters in an index + return tuple(col.name for col in index.columns) - def _create_metadata_constraint_sig( - self, constraint: _autogen._C, **opts: Any - ) -> _constraint_sig[_autogen._C]: - return _constraint_sig.from_constraint(True, self, constraint, **opts) - - def _create_reflected_constraint_sig( - self, constraint: _autogen._C, **opts: Any - ) -> _constraint_sig[_autogen._C]: - return _constraint_sig.from_constraint(False, self, constraint, **opts) - - def compare_indexes( - self, - metadata_index: Index, - reflected_index: Index, - ) -> ComparisonResult: - """Compare two indexes by comparing the signature generated by - ``create_index_sig``. - - This method returns a ``ComparisonResult``. - """ - msg: List[str] = [] - unique_msg = self._compare_index_unique( - metadata_index, reflected_index - ) - if unique_msg: - msg.append(unique_msg) - m_sig = self._create_metadata_constraint_sig(metadata_index) - r_sig = self._create_reflected_constraint_sig(reflected_index) - - assert _autogen.is_index_sig(m_sig) - assert _autogen.is_index_sig(r_sig) - - # The assumption is that the index have no expression - for sig in m_sig, r_sig: - if sig.has_expressions: - log.warning( - "Generating approximate signature for index %s. " - "The dialect " - "implementation should either skip expression indexes " - "or provide a custom implementation.", - sig.const, - ) - - if m_sig.column_names != r_sig.column_names: - msg.append( - f"expression {r_sig.column_names} to {m_sig.column_names}" - ) - - if msg: - return ComparisonResult.Different(msg) - else: - return ComparisonResult.Equal() - - def compare_unique_constraint( - self, - metadata_constraint: UniqueConstraint, - reflected_constraint: UniqueConstraint, - ) -> ComparisonResult: - """Compare two unique constraints by comparing the two signatures. - - The arguments are two tuples that contain the unique constraint and - the signatures generated by ``create_unique_constraint_sig``. - - This method returns a ``ComparisonResult``. - """ - metadata_tup = self._create_metadata_constraint_sig( - metadata_constraint - ) - reflected_tup = self._create_reflected_constraint_sig( - reflected_constraint - ) - - meta_sig = metadata_tup.unnamed - conn_sig = reflected_tup.unnamed - if conn_sig != meta_sig: - return ComparisonResult.Different( - f"expression {conn_sig} to {meta_sig}" - ) - else: - return ComparisonResult.Equal() + def create_unique_constraint_sig( + self, const: UniqueConstraint + ) -> Tuple[Any, ...]: + # order of col does not matters in an unique constraint + return tuple(sorted([col.name for col in const.columns])) def _skip_functional_indexes(self, metadata_indexes, conn_indexes): conn_indexes_by_name = {c.name: c for c in conn_indexes} @@ -844,13 +697,6 @@ class DefaultImpl(metaclass=ImplMeta): return reflected_object.get("dialect_options", {}) -class Params(NamedTuple): - token0: str - tokens: List[str] - args: List[str] - kwargs: Dict[str, str] - - def _compare_identity_options( metadata_io: Union[schema.Identity, schema.Sequence, None], inspector_io: Union[schema.Identity, schema.Sequence, None], @@ -889,13 +735,12 @@ def _compare_identity_options( set(meta_d).union(insp_d), ) if sqla_compat.identity_has_dialect_kwargs: - assert hasattr(default_io, "dialect_kwargs") # use only the dialect kwargs in inspector_io since metadata_io # can have options for many backends check_dicts( getattr(metadata_io, "dialect_kwargs", {}), getattr(inspector_io, "dialect_kwargs", {}), - default_io.dialect_kwargs, + default_io.dialect_kwargs, # type: ignore[union-attr] getattr(inspector_io, "dialect_kwargs", {}), ) diff --git a/venv/lib/python3.12/site-packages/alembic/ddl/mssql.py b/venv/lib/python3.12/site-packages/alembic/ddl/mssql.py index 5376da5..9b0fff8 100644 --- a/venv/lib/python3.12/site-packages/alembic/ddl/mssql.py +++ b/venv/lib/python3.12/site-packages/alembic/ddl/mssql.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations import re @@ -12,6 +9,7 @@ from typing import TYPE_CHECKING from typing import Union from sqlalchemy import types as sqltypes +from sqlalchemy.ext.compiler import compiles from sqlalchemy.schema import Column from sqlalchemy.schema import CreateIndex from sqlalchemy.sql.base import Executable @@ -32,7 +30,6 @@ from .base import RenameTable from .impl import DefaultImpl from .. import util from ..util import sqla_compat -from ..util.sqla_compat import compiles if TYPE_CHECKING: from typing import Literal @@ -83,11 +80,10 @@ class MSSQLImpl(DefaultImpl): if self.as_sql and self.batch_separator: self.static_output(self.batch_separator) - def alter_column( + def alter_column( # type:ignore[override] self, table_name: str, column_name: str, - *, nullable: Optional[bool] = None, server_default: Optional[ Union[_ServerDefault, Literal[False]] @@ -203,7 +199,6 @@ class MSSQLImpl(DefaultImpl): self, table_name: str, column: Column[Any], - *, schema: Optional[str] = None, **kw, ) -> None: diff --git a/venv/lib/python3.12/site-packages/alembic/ddl/mysql.py b/venv/lib/python3.12/site-packages/alembic/ddl/mysql.py index 3d7cf21..32ced49 100644 --- a/venv/lib/python3.12/site-packages/alembic/ddl/mysql.py +++ b/venv/lib/python3.12/site-packages/alembic/ddl/mysql.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations import re @@ -11,9 +8,7 @@ from typing import Union from sqlalchemy import schema from sqlalchemy import types as sqltypes -from sqlalchemy.sql import elements -from sqlalchemy.sql import functions -from sqlalchemy.sql import operators +from sqlalchemy.ext.compiler import compiles from .base import alter_table from .base import AlterColumn @@ -25,16 +20,16 @@ from .base import format_column_name from .base import format_server_default from .impl import DefaultImpl from .. import util +from ..autogenerate import compare from ..util import sqla_compat +from ..util.sqla_compat import _is_mariadb from ..util.sqla_compat import _is_type_bound -from ..util.sqla_compat import compiles if TYPE_CHECKING: from typing import Literal from sqlalchemy.dialects.mysql.base import MySQLDDLCompiler from sqlalchemy.sql.ddl import DropConstraint - from sqlalchemy.sql.elements import ClauseElement from sqlalchemy.sql.schema import Constraint from sqlalchemy.sql.type_api import TypeEngine @@ -51,40 +46,12 @@ class MySQLImpl(DefaultImpl): ) type_arg_extract = [r"character set ([\w\-_]+)", r"collate ([\w\-_]+)"] - def render_ddl_sql_expr( - self, - expr: ClauseElement, - is_server_default: bool = False, - is_index: bool = False, - **kw: Any, - ) -> str: - # apply Grouping to index expressions; - # see https://github.com/sqlalchemy/sqlalchemy/blob/ - # 36da2eaf3e23269f2cf28420ae73674beafd0661/ - # lib/sqlalchemy/dialects/mysql/base.py#L2191 - if is_index and ( - isinstance(expr, elements.BinaryExpression) - or ( - isinstance(expr, elements.UnaryExpression) - and expr.modifier not in (operators.desc_op, operators.asc_op) - ) - or isinstance(expr, functions.FunctionElement) - ): - expr = elements.Grouping(expr) - - return super().render_ddl_sql_expr( - expr, is_server_default=is_server_default, is_index=is_index, **kw - ) - - def alter_column( + def alter_column( # type:ignore[override] self, table_name: str, column_name: str, - *, nullable: Optional[bool] = None, - server_default: Optional[ - Union[_ServerDefault, Literal[False]] - ] = False, + server_default: Union[_ServerDefault, Literal[False]] = False, name: Optional[str] = None, type_: Optional[TypeEngine] = None, schema: Optional[str] = None, @@ -125,29 +92,21 @@ class MySQLImpl(DefaultImpl): column_name, schema=schema, newname=name if name is not None else column_name, - nullable=( - nullable - if nullable is not None - else ( - existing_nullable - if existing_nullable is not None - else True - ) - ), + nullable=nullable + if nullable is not None + else existing_nullable + if existing_nullable is not None + else True, type_=type_ if type_ is not None else existing_type, - default=( - server_default - if server_default is not False - else existing_server_default - ), - autoincrement=( - autoincrement - if autoincrement is not None - else existing_autoincrement - ), - comment=( - comment if comment is not False else existing_comment - ), + default=server_default + if server_default is not False + else existing_server_default, + autoincrement=autoincrement + if autoincrement is not None + else existing_autoincrement, + comment=comment + if comment is not False + else existing_comment, ) ) elif ( @@ -162,29 +121,21 @@ class MySQLImpl(DefaultImpl): column_name, schema=schema, newname=name if name is not None else column_name, - nullable=( - nullable - if nullable is not None - else ( - existing_nullable - if existing_nullable is not None - else True - ) - ), + nullable=nullable + if nullable is not None + else existing_nullable + if existing_nullable is not None + else True, type_=type_ if type_ is not None else existing_type, - default=( - server_default - if server_default is not False - else existing_server_default - ), - autoincrement=( - autoincrement - if autoincrement is not None - else existing_autoincrement - ), - comment=( - comment if comment is not False else existing_comment - ), + default=server_default + if server_default is not False + else existing_server_default, + autoincrement=autoincrement + if autoincrement is not None + else existing_autoincrement, + comment=comment + if comment is not False + else existing_comment, ) ) elif server_default is not False: @@ -197,7 +148,6 @@ class MySQLImpl(DefaultImpl): def drop_constraint( self, const: Constraint, - **kw: Any, ) -> None: if isinstance(const, schema.CheckConstraint) and _is_type_bound(const): return @@ -207,11 +157,12 @@ class MySQLImpl(DefaultImpl): def _is_mysql_allowed_functional_default( self, type_: Optional[TypeEngine], - server_default: Optional[Union[_ServerDefault, Literal[False]]], + server_default: Union[_ServerDefault, Literal[False]], ) -> bool: return ( type_ is not None - and type_._type_affinity is sqltypes.DateTime + and type_._type_affinity # type:ignore[attr-defined] + is sqltypes.DateTime and server_default is not None ) @@ -321,12 +272,10 @@ class MySQLImpl(DefaultImpl): def correct_for_autogen_foreignkeys(self, conn_fks, metadata_fks): conn_fk_by_sig = { - self._create_reflected_constraint_sig(fk).unnamed_no_options: fk - for fk in conn_fks + compare._fk_constraint_sig(fk).sig: fk for fk in conn_fks } metadata_fk_by_sig = { - self._create_metadata_constraint_sig(fk).unnamed_no_options: fk - for fk in metadata_fks + compare._fk_constraint_sig(fk).sig: fk for fk in metadata_fks } for sig in set(conn_fk_by_sig).intersection(metadata_fk_by_sig): @@ -358,7 +307,7 @@ class MySQLAlterDefault(AlterColumn): self, name: str, column_name: str, - default: Optional[_ServerDefault], + default: _ServerDefault, schema: Optional[str] = None, ) -> None: super(AlterColumn, self).__init__(name, schema=schema) @@ -416,11 +365,9 @@ def _mysql_alter_default( return "%s ALTER COLUMN %s %s" % ( alter_table(compiler, element.table_name, element.schema), format_column_name(compiler, element.column_name), - ( - "SET DEFAULT %s" % format_server_default(compiler, element.default) - if element.default is not None - else "DROP DEFAULT" - ), + "SET DEFAULT %s" % format_server_default(compiler, element.default) + if element.default is not None + else "DROP DEFAULT", ) @@ -507,7 +454,7 @@ def _mysql_drop_constraint( # note that SQLAlchemy as of 1.2 does not yet support # DROP CONSTRAINT for MySQL/MariaDB, so we implement fully # here. - if compiler.dialect.is_mariadb: + if _is_mariadb(compiler.dialect): return "ALTER TABLE %s DROP CONSTRAINT %s" % ( compiler.preparer.format_table(constraint.table), compiler.preparer.format_constraint(constraint), diff --git a/venv/lib/python3.12/site-packages/alembic/ddl/oracle.py b/venv/lib/python3.12/site-packages/alembic/ddl/oracle.py index eac9912..e56bb21 100644 --- a/venv/lib/python3.12/site-packages/alembic/ddl/oracle.py +++ b/venv/lib/python3.12/site-packages/alembic/ddl/oracle.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations import re @@ -8,6 +5,7 @@ from typing import Any from typing import Optional from typing import TYPE_CHECKING +from sqlalchemy.ext.compiler import compiles from sqlalchemy.sql import sqltypes from .base import AddColumn @@ -24,7 +22,6 @@ from .base import format_type from .base import IdentityColumnDefault from .base import RenameTable from .impl import DefaultImpl -from ..util.sqla_compat import compiles if TYPE_CHECKING: from sqlalchemy.dialects.oracle.base import OracleDDLCompiler @@ -141,11 +138,9 @@ def visit_column_default( return "%s %s %s" % ( alter_table(compiler, element.table_name, element.schema), alter_column(compiler, element.column_name), - ( - "DEFAULT %s" % format_server_default(compiler, element.default) - if element.default is not None - else "DEFAULT NULL" - ), + "DEFAULT %s" % format_server_default(compiler, element.default) + if element.default is not None + else "DEFAULT NULL", ) diff --git a/venv/lib/python3.12/site-packages/alembic/ddl/postgresql.py b/venv/lib/python3.12/site-packages/alembic/ddl/postgresql.py index 90ecf70..949e256 100644 --- a/venv/lib/python3.12/site-packages/alembic/ddl/postgresql.py +++ b/venv/lib/python3.12/site-packages/alembic/ddl/postgresql.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations import logging @@ -16,19 +13,18 @@ from typing import TYPE_CHECKING from typing import Union from sqlalchemy import Column -from sqlalchemy import Float -from sqlalchemy import Identity from sqlalchemy import literal_column from sqlalchemy import Numeric -from sqlalchemy import select from sqlalchemy import text from sqlalchemy import types as sqltypes from sqlalchemy.dialects.postgresql import BIGINT from sqlalchemy.dialects.postgresql import ExcludeConstraint from sqlalchemy.dialects.postgresql import INTEGER from sqlalchemy.schema import CreateIndex +from sqlalchemy.sql import operators from sqlalchemy.sql.elements import ColumnClause from sqlalchemy.sql.elements import TextClause +from sqlalchemy.sql.elements import UnaryExpression from sqlalchemy.sql.functions import FunctionElement from sqlalchemy.types import NULLTYPE @@ -36,12 +32,12 @@ from .base import alter_column from .base import alter_table from .base import AlterColumn from .base import ColumnComment +from .base import compiles from .base import format_column_name from .base import format_table_name from .base import format_type from .base import IdentityColumnDefault from .base import RenameTable -from .impl import ComparisonResult from .impl import DefaultImpl from .. import util from ..autogenerate import render @@ -50,8 +46,6 @@ from ..operations import schemaobj from ..operations.base import BatchOperations from ..operations.base import Operations from ..util import sqla_compat -from ..util.sqla_compat import compiles - if TYPE_CHECKING: from typing import Literal @@ -136,28 +130,25 @@ class PostgresqlImpl(DefaultImpl): metadata_default = metadata_column.server_default.arg if isinstance(metadata_default, str): - if not isinstance(inspector_column.type, (Numeric, Float)): + if not isinstance(inspector_column.type, Numeric): metadata_default = re.sub(r"^'|'$", "", metadata_default) metadata_default = f"'{metadata_default}'" metadata_default = literal_column(metadata_default) # run a real compare against the server - conn = self.connection - assert conn is not None - return not conn.scalar( - select(literal_column(conn_col_default) == metadata_default) + return not self.connection.scalar( + sqla_compat._select( + literal_column(conn_col_default) == metadata_default + ) ) - def alter_column( + def alter_column( # type:ignore[override] self, table_name: str, column_name: str, - *, nullable: Optional[bool] = None, - server_default: Optional[ - Union[_ServerDefault, Literal[False]] - ] = False, + server_default: Union[_ServerDefault, Literal[False]] = False, name: Optional[str] = None, type_: Optional[TypeEngine] = None, schema: Optional[str] = None, @@ -223,8 +214,7 @@ class PostgresqlImpl(DefaultImpl): "join pg_class t on t.oid=d.refobjid " "join pg_attribute a on a.attrelid=t.oid and " "a.attnum=d.refobjsubid " - "where c.relkind='S' and " - "c.oid=cast(:seqname as regclass)" + "where c.relkind='S' and c.relname=:seqname" ), seqname=seq_match.group(1), ).first() @@ -262,60 +252,62 @@ class PostgresqlImpl(DefaultImpl): if not sqla_compat.sqla_2: self._skip_functional_indexes(metadata_indexes, conn_indexes) - # pg behavior regarding modifiers - # | # | compiled sql | returned sql | regexp. group is removed | - # | - | ---------------- | -----------------| ------------------------ | - # | 1 | nulls first | nulls first | - | - # | 2 | nulls last | | (? str: + def _cleanup_index_expr( + self, index: Index, expr: str, remove_suffix: str + ) -> str: + # start = expr expr = expr.lower().replace('"', "").replace("'", "") if index.table is not None: # should not be needed, since include_table=False is in compile expr = expr.replace(f"{index.table.name.lower()}.", "") + while expr and expr[0] == "(" and expr[-1] == ")": + expr = expr[1:-1] if "::" in expr: # strip :: cast. types can have spaces in them expr = re.sub(r"(::[\w ]+\w)", "", expr) - while expr and expr[0] == "(" and expr[-1] == ")": - expr = expr[1:-1] + if remove_suffix and expr.endswith(remove_suffix): + expr = expr[: -len(remove_suffix)] - # NOTE: when parsing the connection expression this cleanup could - # be skipped - for rs in self._default_modifiers_re: - if match := rs.search(expr): - start, end = match.span(1) - expr = expr[:start] + expr[end:] - break - - while expr and expr[0] == "(" and expr[-1] == ")": - expr = expr[1:-1] - - # strip casts - cast_re = re.compile(r"cast\s*\(") - if cast_re.match(expr): - expr = cast_re.sub("", expr) - # remove the as type - expr = re.sub(r"as\s+[^)]+\)", "", expr) - # remove spaces - expr = expr.replace(" ", "") + # print(f"START: {start} END: {expr}") return expr - def _dialect_options( + def _default_modifiers(self, exp: ClauseElement) -> str: + to_remove = "" + while isinstance(exp, UnaryExpression): + if exp.modifier is None: + exp = exp.element + else: + op = exp.modifier + if isinstance(exp.element, UnaryExpression): + inner_op = exp.element.modifier + else: + inner_op = None + if inner_op is None: + if op == operators.asc_op: + # default is asc + to_remove = " asc" + elif op == operators.nullslast_op: + # default is nulls last + to_remove = " nulls last" + else: + if ( + inner_op == operators.asc_op + and op == operators.nullslast_op + ): + # default is asc nulls last + to_remove = " asc nulls last" + elif ( + inner_op == operators.desc_op + and op == operators.nullsfirst_op + ): + # default for desc is nulls first + to_remove = " nulls first" + break + return to_remove + + def _dialect_sig( self, item: Union[Index, UniqueConstraint] ) -> Tuple[Any, ...]: # only the positive case is returned by sqlalchemy reflection so @@ -324,93 +316,25 @@ class PostgresqlImpl(DefaultImpl): return ("nulls_not_distinct",) return () - def compare_indexes( - self, - metadata_index: Index, - reflected_index: Index, - ) -> ComparisonResult: - msg = [] - unique_msg = self._compare_index_unique( - metadata_index, reflected_index - ) - if unique_msg: - msg.append(unique_msg) - m_exprs = metadata_index.expressions - r_exprs = reflected_index.expressions - if len(m_exprs) != len(r_exprs): - msg.append(f"expression number {len(r_exprs)} to {len(m_exprs)}") - if msg: - # no point going further, return early - return ComparisonResult.Different(msg) - skip = [] - for pos, (m_e, r_e) in enumerate(zip(m_exprs, r_exprs), 1): - m_compile = self._compile_element(m_e) - m_text = self._cleanup_index_expr(metadata_index, m_compile) - # print(f"META ORIG: {m_compile!r} CLEANUP: {m_text!r}") - r_compile = self._compile_element(r_e) - r_text = self._cleanup_index_expr(metadata_index, r_compile) - # print(f"CONN ORIG: {r_compile!r} CLEANUP: {r_text!r}") - if m_text == r_text: - continue # expressions these are equal - elif m_compile.strip().endswith("_ops") and ( - " " in m_compile or ")" in m_compile # is an expression - ): - skip.append( - f"expression #{pos} {m_compile!r} detected " - "as including operator clause." - ) - util.warn( - f"Expression #{pos} {m_compile!r} in index " - f"{reflected_index.name!r} detected to include " - "an operator clause. Expression compare cannot proceed. " - "Please move the operator clause to the " - "``postgresql_ops`` dict to enable proper compare " - "of the index expressions: " - "https://docs.sqlalchemy.org/en/latest/dialects/postgresql.html#operator-classes", # noqa: E501 - ) - else: - msg.append(f"expression #{pos} {r_compile!r} to {m_compile!r}") - - m_options = self._dialect_options(metadata_index) - r_options = self._dialect_options(reflected_index) - if m_options != r_options: - msg.extend(f"options {r_options} to {m_options}") - - if msg: - return ComparisonResult.Different(msg) - elif skip: - # if there are other changes detected don't skip the index - return ComparisonResult.Skip(skip) - else: - return ComparisonResult.Equal() - - def compare_unique_constraint( - self, - metadata_constraint: UniqueConstraint, - reflected_constraint: UniqueConstraint, - ) -> ComparisonResult: - metadata_tup = self._create_metadata_constraint_sig( - metadata_constraint - ) - reflected_tup = self._create_reflected_constraint_sig( - reflected_constraint - ) - - meta_sig = metadata_tup.unnamed - conn_sig = reflected_tup.unnamed - if conn_sig != meta_sig: - return ComparisonResult.Different( - f"expression {conn_sig} to {meta_sig}" + def create_index_sig(self, index: Index) -> Tuple[Any, ...]: + return tuple( + self._cleanup_index_expr( + index, + *( + (e, "") + if isinstance(e, str) + else (self._compile_element(e), self._default_modifiers(e)) + ), ) + for e in index.expressions + ) + self._dialect_sig(index) - metadata_do = self._dialect_options(metadata_tup.const) - conn_do = self._dialect_options(reflected_tup.const) - if metadata_do != conn_do: - return ComparisonResult.Different( - f"expression {conn_do} to {metadata_do}" - ) - - return ComparisonResult.Equal() + def create_unique_constraint_sig( + self, const: UniqueConstraint + ) -> Tuple[Any, ...]: + return tuple( + sorted([col.name for col in const.columns]) + ) + self._dialect_sig(const) def adjust_reflected_dialect_options( self, reflected_options: Dict[str, Any], kind: str @@ -421,9 +345,7 @@ class PostgresqlImpl(DefaultImpl): options.pop("postgresql_include", None) return options - def _compile_element(self, element: Union[ClauseElement, str]) -> str: - if isinstance(element, str): - return element + def _compile_element(self, element: ClauseElement) -> str: return element.compile( dialect=self.dialect, compile_kwargs={"literal_binds": True, "include_table": False}, @@ -590,7 +512,7 @@ def visit_identity_column( ) else: text += "SET %s " % compiler.get_identity_options( - Identity(**{attr: getattr(identity, attr)}) + sqla_compat.Identity(**{attr: getattr(identity, attr)}) ) return text @@ -634,8 +556,9 @@ class CreateExcludeConstraintOp(ops.AddConstraintOp): return cls( constraint.name, constraint_table.name, - [ # type: ignore - (expr, op) for expr, name, op in constraint._render_exprs + [ + (expr, op) + for expr, name, op in constraint._render_exprs # type:ignore[attr-defined] # noqa ], where=cast("ColumnElement[bool] | None", constraint.where), schema=constraint_table.schema, @@ -662,7 +585,7 @@ class CreateExcludeConstraintOp(ops.AddConstraintOp): expr, name, oper, - ) in excl._render_exprs: + ) in excl._render_exprs: # type:ignore[attr-defined] t.append_column(Column(name, NULLTYPE)) t.append_constraint(excl) return excl @@ -720,7 +643,7 @@ class CreateExcludeConstraintOp(ops.AddConstraintOp): constraint_name: str, *elements: Any, **kw: Any, - ) -> Optional[Table]: + ): """Issue a "create exclude constraint" instruction using the current batch migration context. @@ -792,13 +715,10 @@ def _exclude_constraint( args = [ "(%s, %r)" % ( - _render_potential_column( - sqltext, # type:ignore[arg-type] - autogen_context, - ), + _render_potential_column(sqltext, autogen_context), opstring, ) - for sqltext, name, opstring in constraint._render_exprs + for sqltext, name, opstring in constraint._render_exprs # type:ignore[attr-defined] # noqa ] if constraint.where is not None: args.append( @@ -850,5 +770,5 @@ def _render_potential_column( return render._render_potential_expr( value, autogen_context, - wrap_in_element=isinstance(value, (TextClause, FunctionElement)), + wrap_in_text=isinstance(value, (TextClause, FunctionElement)), ) diff --git a/venv/lib/python3.12/site-packages/alembic/ddl/sqlite.py b/venv/lib/python3.12/site-packages/alembic/ddl/sqlite.py index 5f14133..c6186c6 100644 --- a/venv/lib/python3.12/site-packages/alembic/ddl/sqlite.py +++ b/venv/lib/python3.12/site-packages/alembic/ddl/sqlite.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations import re @@ -11,19 +8,16 @@ from typing import TYPE_CHECKING from typing import Union from sqlalchemy import cast -from sqlalchemy import Computed from sqlalchemy import JSON from sqlalchemy import schema from sqlalchemy import sql +from sqlalchemy.ext.compiler import compiles from .base import alter_table -from .base import ColumnName -from .base import format_column_name from .base import format_table_name from .base import RenameTable from .impl import DefaultImpl from .. import util -from ..util.sqla_compat import compiles if TYPE_CHECKING: from sqlalchemy.engine.reflection import Inspector @@ -65,7 +59,7 @@ class SQLiteImpl(DefaultImpl): ) and isinstance(col.server_default.arg, sql.ClauseElement): return True elif ( - isinstance(col.server_default, Computed) + isinstance(col.server_default, util.sqla_compat.Computed) and col.server_default.persisted ): return True @@ -77,13 +71,13 @@ class SQLiteImpl(DefaultImpl): def add_constraint(self, const: Constraint): # attempt to distinguish between an # auto-gen constraint and an explicit one - if const._create_rule is None: + if const._create_rule is None: # type:ignore[attr-defined] raise NotImplementedError( "No support for ALTER of constraints in SQLite dialect. " "Please refer to the batch mode feature which allows for " "SQLite migrations using a copy-and-move strategy." ) - elif const._create_rule(self): + elif const._create_rule(self): # type:ignore[attr-defined] util.warn( "Skipping unsupported ALTER for " "creation of implicit constraint. " @@ -91,8 +85,8 @@ class SQLiteImpl(DefaultImpl): "SQLite migrations using a copy-and-move strategy." ) - def drop_constraint(self, const: Constraint, **kw: Any): - if const._create_rule is None: + def drop_constraint(self, const: Constraint): + if const._create_rule is None: # type:ignore[attr-defined] raise NotImplementedError( "No support for ALTER of constraints in SQLite dialect. " "Please refer to the batch mode feature which allows for " @@ -183,7 +177,8 @@ class SQLiteImpl(DefaultImpl): new_type: TypeEngine, ) -> None: if ( - existing.type._type_affinity is not new_type._type_affinity + existing.type._type_affinity # type:ignore[attr-defined] + is not new_type._type_affinity # type:ignore[attr-defined] and not isinstance(new_type, JSON) ): existing_transfer["expr"] = cast( @@ -210,15 +205,6 @@ def visit_rename_table( ) -@compiles(ColumnName, "sqlite") -def visit_column_name(element: ColumnName, compiler: DDLCompiler, **kw) -> str: - return "%s RENAME COLUMN %s TO %s" % ( - alter_table(compiler, element.table_name, element.schema), - format_column_name(compiler, element.column_name), - format_column_name(compiler, element.newname), - ) - - # @compiles(AddColumn, 'sqlite') # def visit_add_column(element, compiler, **kw): # return "%s %s" % ( diff --git a/venv/lib/python3.12/site-packages/alembic/op.pyi b/venv/lib/python3.12/site-packages/alembic/op.pyi index 8cdf759..944b5ae 100644 --- a/venv/lib/python3.12/site-packages/alembic/op.pyi +++ b/venv/lib/python3.12/site-packages/alembic/op.pyi @@ -12,7 +12,6 @@ from typing import List from typing import Literal from typing import Mapping from typing import Optional -from typing import overload from typing import Sequence from typing import Tuple from typing import Type @@ -27,6 +26,7 @@ if TYPE_CHECKING: from sqlalchemy.sql.elements import conv from sqlalchemy.sql.elements import TextClause from sqlalchemy.sql.expression import TableClause + from sqlalchemy.sql.functions import Function from sqlalchemy.sql.schema import Column from sqlalchemy.sql.schema import Computed from sqlalchemy.sql.schema import Identity @@ -35,36 +35,16 @@ if TYPE_CHECKING: from sqlalchemy.sql.type_api import TypeEngine from sqlalchemy.util import immutabledict - from .operations.base import BatchOperations - from .operations.ops import AddColumnOp - from .operations.ops import AddConstraintOp - from .operations.ops import AlterColumnOp - from .operations.ops import AlterTableOp - from .operations.ops import BulkInsertOp - from .operations.ops import CreateIndexOp - from .operations.ops import CreateTableCommentOp - from .operations.ops import CreateTableOp - from .operations.ops import DropColumnOp - from .operations.ops import DropConstraintOp - from .operations.ops import DropIndexOp - from .operations.ops import DropTableCommentOp - from .operations.ops import DropTableOp - from .operations.ops import ExecuteSQLOp + from .operations.ops import BatchOperations from .operations.ops import MigrateOperation from .runtime.migration import MigrationContext from .util.sqla_compat import _literal_bindparam _T = TypeVar("_T") -_C = TypeVar("_C", bound=Callable[..., Any]) - ### end imports ### def add_column( - table_name: str, - column: Column[Any], - *, - schema: Optional[str] = None, - if_not_exists: Optional[bool] = None, + table_name: str, column: Column[Any], *, schema: Optional[str] = None ) -> None: """Issue an "add column" instruction using the current migration context. @@ -141,10 +121,6 @@ def add_column( quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_not_exists: If True, adds IF NOT EXISTS operator - when creating the new column for compatible dialects - - .. versionadded:: 1.16.0 """ @@ -154,14 +130,12 @@ def alter_column( *, nullable: Optional[bool] = None, comment: Union[str, Literal[False], None] = False, - server_default: Union[ - str, bool, Identity, Computed, TextClause, None - ] = False, + server_default: Any = False, new_column_name: Optional[str] = None, - type_: Union[TypeEngine[Any], Type[TypeEngine[Any]], None] = None, - existing_type: Union[TypeEngine[Any], Type[TypeEngine[Any]], None] = None, + type_: Union[TypeEngine, Type[TypeEngine], None] = None, + existing_type: Union[TypeEngine, Type[TypeEngine], None] = None, existing_server_default: Union[ - str, bool, Identity, Computed, TextClause, None + str, bool, Identity, Computed, None ] = False, existing_nullable: Optional[bool] = None, existing_comment: Optional[str] = None, @@ -256,7 +230,7 @@ def batch_alter_table( table_name: str, schema: Optional[str] = None, recreate: Literal["auto", "always", "never"] = "auto", - partial_reordering: Optional[Tuple[Any, ...]] = None, + partial_reordering: Optional[tuple] = None, copy_from: Optional[Table] = None, table_args: Tuple[Any, ...] = (), table_kwargs: Mapping[str, Any] = immutabledict({}), @@ -403,7 +377,7 @@ def batch_alter_table( def bulk_insert( table: Union[Table, TableClause], - rows: List[Dict[str, Any]], + rows: List[dict], *, multiinsert: bool = True, ) -> None: @@ -659,7 +633,7 @@ def create_foreign_key( def create_index( index_name: Optional[str], table_name: str, - columns: Sequence[Union[str, TextClause, ColumnElement[Any]]], + columns: Sequence[Union[str, TextClause, Function[Any]]], *, schema: Optional[str] = None, unique: bool = False, @@ -756,12 +730,7 @@ def create_primary_key( """ -def create_table( - table_name: str, - *columns: SchemaItem, - if_not_exists: Optional[bool] = None, - **kw: Any, -) -> Table: +def create_table(table_name: str, *columns: SchemaItem, **kw: Any) -> Table: r"""Issue a "create table" instruction using the current migration context. @@ -832,10 +801,6 @@ def create_table( quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_not_exists: If True, adds IF NOT EXISTS operator when - creating the new table. - - .. versionadded:: 1.13.3 :param \**kw: Other keyword arguments are passed to the underlying :class:`sqlalchemy.schema.Table` object created for the command. @@ -935,11 +900,6 @@ def drop_column( quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_exists: If True, adds IF EXISTS operator when - dropping the new column for compatible dialects - - .. versionadded:: 1.16.0 - :param mssql_drop_check: Optional boolean. When ``True``, on Microsoft SQL Server only, first drop the CHECK constraint on the column using a @@ -961,6 +921,7 @@ def drop_column( then exec's a separate DROP CONSTRAINT for that default. Only works if the column has exactly one FK constraint which refers to it, at the moment. + """ def drop_constraint( @@ -969,7 +930,6 @@ def drop_constraint( type_: Optional[str] = None, *, schema: Optional[str] = None, - if_exists: Optional[bool] = None, ) -> None: r"""Drop a constraint of the given name, typically via DROP CONSTRAINT. @@ -981,10 +941,6 @@ def drop_constraint( quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_exists: If True, adds IF EXISTS operator when - dropping the constraint - - .. versionadded:: 1.16.0 """ @@ -1025,11 +981,7 @@ def drop_index( """ def drop_table( - table_name: str, - *, - schema: Optional[str] = None, - if_exists: Optional[bool] = None, - **kw: Any, + table_name: str, *, schema: Optional[str] = None, **kw: Any ) -> None: r"""Issue a "drop table" instruction using the current migration context. @@ -1044,10 +996,6 @@ def drop_table( quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_exists: If True, adds IF EXISTS operator when - dropping the table. - - .. versionadded:: 1.13.3 :param \**kw: Other keyword arguments are passed to the underlying :class:`sqlalchemy.schema.Table` object created for the command. @@ -1184,7 +1132,7 @@ def f(name: str) -> conv: names will be converted along conventions. If the ``target_metadata`` contains the naming convention ``{"ck": "ck_bool_%(table_name)s_%(constraint_name)s"}``, then the - output of the following:: + output of the following: op.add_column("t", "x", Boolean(name="x")) @@ -1214,7 +1162,7 @@ def get_context() -> MigrationContext: """ -def implementation_for(op_cls: Any) -> Callable[[_C], _C]: +def implementation_for(op_cls: Any) -> Callable[..., Any]: """Register an implementation for a given :class:`.MigrateOperation`. This is part of the operation extensibility API. @@ -1226,7 +1174,7 @@ def implementation_for(op_cls: Any) -> Callable[[_C], _C]: """ def inline_literal( - value: Union[str, int], type_: Optional[TypeEngine[Any]] = None + value: Union[str, int], type_: Optional[TypeEngine] = None ) -> _literal_bindparam: r"""Produce an 'inline literal' expression, suitable for using in an INSERT, UPDATE, or DELETE statement. @@ -1270,27 +1218,6 @@ def inline_literal( """ -@overload -def invoke(operation: CreateTableOp) -> Table: ... -@overload -def invoke( - operation: Union[ - AddConstraintOp, - DropConstraintOp, - CreateIndexOp, - DropIndexOp, - AddColumnOp, - AlterColumnOp, - AlterTableOp, - CreateTableCommentOp, - DropTableCommentOp, - DropColumnOp, - BulkInsertOp, - DropTableOp, - ExecuteSQLOp, - ], -) -> None: ... -@overload def invoke(operation: MigrateOperation) -> Any: """Given a :class:`.MigrateOperation`, invoke it in terms of this :class:`.Operations` instance. @@ -1299,7 +1226,7 @@ def invoke(operation: MigrateOperation) -> Any: def register_operation( name: str, sourcename: Optional[str] = None -) -> Callable[[Type[_T]], Type[_T]]: +) -> Callable[[_T], _T]: """Register a new operation for this class. This method is normally used to add new operations diff --git a/venv/lib/python3.12/site-packages/alembic/operations/base.py b/venv/lib/python3.12/site-packages/alembic/operations/base.py index 26c3272..e3207be 100644 --- a/venv/lib/python3.12/site-packages/alembic/operations/base.py +++ b/venv/lib/python3.12/site-packages/alembic/operations/base.py @@ -1,5 +1,3 @@ -# mypy: allow-untyped-calls - from __future__ import annotations from contextlib import contextmanager @@ -12,9 +10,7 @@ from typing import Dict from typing import Iterator from typing import List # noqa from typing import Mapping -from typing import NoReturn from typing import Optional -from typing import overload from typing import Sequence # noqa from typing import Tuple from typing import Type # noqa @@ -43,6 +39,7 @@ if TYPE_CHECKING: from sqlalchemy.sql.expression import ColumnElement from sqlalchemy.sql.expression import TableClause from sqlalchemy.sql.expression import TextClause + from sqlalchemy.sql.functions import Function from sqlalchemy.sql.schema import Column from sqlalchemy.sql.schema import Computed from sqlalchemy.sql.schema import Identity @@ -50,28 +47,12 @@ if TYPE_CHECKING: from sqlalchemy.types import TypeEngine from .batch import BatchOperationsImpl - from .ops import AddColumnOp - from .ops import AddConstraintOp - from .ops import AlterColumnOp - from .ops import AlterTableOp - from .ops import BulkInsertOp - from .ops import CreateIndexOp - from .ops import CreateTableCommentOp - from .ops import CreateTableOp - from .ops import DropColumnOp - from .ops import DropConstraintOp - from .ops import DropIndexOp - from .ops import DropTableCommentOp - from .ops import DropTableOp - from .ops import ExecuteSQLOp from .ops import MigrateOperation from ..ddl import DefaultImpl from ..runtime.migration import MigrationContext __all__ = ("Operations", "BatchOperations") _T = TypeVar("_T") -_C = TypeVar("_C", bound=Callable[..., Any]) - class AbstractOperations(util.ModuleClsProxy): """Base class for Operations and BatchOperations. @@ -105,7 +86,7 @@ class AbstractOperations(util.ModuleClsProxy): @classmethod def register_operation( cls, name: str, sourcename: Optional[str] = None - ) -> Callable[[Type[_T]], Type[_T]]: + ) -> Callable[[_T], _T]: """Register a new operation for this class. This method is normally used to add new operations @@ -122,7 +103,7 @@ class AbstractOperations(util.ModuleClsProxy): """ - def register(op_cls: Type[_T]) -> Type[_T]: + def register(op_cls): if sourcename is None: fn = getattr(op_cls, name) source_name = fn.__name__ @@ -141,11 +122,8 @@ class AbstractOperations(util.ModuleClsProxy): *spec, formatannotation=formatannotation_fwdref ) num_defaults = len(spec[3]) if spec[3] else 0 - - defaulted_vals: Tuple[Any, ...] - if num_defaults: - defaulted_vals = tuple(name_args[0 - num_defaults :]) + defaulted_vals = name_args[0 - num_defaults :] else: defaulted_vals = () @@ -186,7 +164,7 @@ class AbstractOperations(util.ModuleClsProxy): globals_ = dict(globals()) globals_.update({"op_cls": op_cls}) - lcl: Dict[str, Any] = {} + lcl = {} exec(func_text, globals_, lcl) setattr(cls, name, lcl[name]) @@ -202,7 +180,7 @@ class AbstractOperations(util.ModuleClsProxy): return register @classmethod - def implementation_for(cls, op_cls: Any) -> Callable[[_C], _C]: + def implementation_for(cls, op_cls: Any) -> Callable[..., Any]: """Register an implementation for a given :class:`.MigrateOperation`. This is part of the operation extensibility API. @@ -213,7 +191,7 @@ class AbstractOperations(util.ModuleClsProxy): """ - def decorate(fn: _C) -> _C: + def decorate(fn): cls._to_impl.dispatch_for(op_cls)(fn) return fn @@ -235,7 +213,7 @@ class AbstractOperations(util.ModuleClsProxy): table_name: str, schema: Optional[str] = None, recreate: Literal["auto", "always", "never"] = "auto", - partial_reordering: Optional[Tuple[Any, ...]] = None, + partial_reordering: Optional[tuple] = None, copy_from: Optional[Table] = None, table_args: Tuple[Any, ...] = (), table_kwargs: Mapping[str, Any] = util.immutabledict(), @@ -404,32 +382,6 @@ class AbstractOperations(util.ModuleClsProxy): return self.migration_context - @overload - def invoke(self, operation: CreateTableOp) -> Table: ... - - @overload - def invoke( - self, - operation: Union[ - AddConstraintOp, - DropConstraintOp, - CreateIndexOp, - DropIndexOp, - AddColumnOp, - AlterColumnOp, - AlterTableOp, - CreateTableCommentOp, - DropTableCommentOp, - DropColumnOp, - BulkInsertOp, - DropTableOp, - ExecuteSQLOp, - ], - ) -> None: ... - - @overload - def invoke(self, operation: MigrateOperation) -> Any: ... - def invoke(self, operation: MigrateOperation) -> Any: """Given a :class:`.MigrateOperation`, invoke it in terms of this :class:`.Operations` instance. @@ -464,7 +416,7 @@ class AbstractOperations(util.ModuleClsProxy): names will be converted along conventions. If the ``target_metadata`` contains the naming convention ``{"ck": "ck_bool_%(table_name)s_%(constraint_name)s"}``, then the - output of the following:: + output of the following: op.add_column("t", "x", Boolean(name="x")) @@ -618,7 +570,6 @@ class Operations(AbstractOperations): column: Column[Any], *, schema: Optional[str] = None, - if_not_exists: Optional[bool] = None, ) -> None: """Issue an "add column" instruction using the current migration context. @@ -695,10 +646,6 @@ class Operations(AbstractOperations): quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_not_exists: If True, adds IF NOT EXISTS operator - when creating the new column for compatible dialects - - .. versionadded:: 1.16.0 """ # noqa: E501 ... @@ -710,16 +657,12 @@ class Operations(AbstractOperations): *, nullable: Optional[bool] = None, comment: Union[str, Literal[False], None] = False, - server_default: Union[ - str, bool, Identity, Computed, TextClause, None - ] = False, + server_default: Any = False, new_column_name: Optional[str] = None, - type_: Union[TypeEngine[Any], Type[TypeEngine[Any]], None] = None, - existing_type: Union[ - TypeEngine[Any], Type[TypeEngine[Any]], None - ] = None, + type_: Union[TypeEngine, Type[TypeEngine], None] = None, + existing_type: Union[TypeEngine, Type[TypeEngine], None] = None, existing_server_default: Union[ - str, bool, Identity, Computed, TextClause, None + str, bool, Identity, Computed, None ] = False, existing_nullable: Optional[bool] = None, existing_comment: Optional[str] = None, @@ -813,7 +756,7 @@ class Operations(AbstractOperations): def bulk_insert( self, table: Union[Table, TableClause], - rows: List[Dict[str, Any]], + rows: List[dict], *, multiinsert: bool = True, ) -> None: @@ -1080,7 +1023,7 @@ class Operations(AbstractOperations): self, index_name: Optional[str], table_name: str, - columns: Sequence[Union[str, TextClause, ColumnElement[Any]]], + columns: Sequence[Union[str, TextClause, Function[Any]]], *, schema: Optional[str] = None, unique: bool = False, @@ -1181,11 +1124,7 @@ class Operations(AbstractOperations): ... def create_table( - self, - table_name: str, - *columns: SchemaItem, - if_not_exists: Optional[bool] = None, - **kw: Any, + self, table_name: str, *columns: SchemaItem, **kw: Any ) -> Table: r"""Issue a "create table" instruction using the current migration context. @@ -1257,10 +1196,6 @@ class Operations(AbstractOperations): quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_not_exists: If True, adds IF NOT EXISTS operator when - creating the new table. - - .. versionadded:: 1.13.3 :param \**kw: Other keyword arguments are passed to the underlying :class:`sqlalchemy.schema.Table` object created for the command. @@ -1366,11 +1301,6 @@ class Operations(AbstractOperations): quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_exists: If True, adds IF EXISTS operator when - dropping the new column for compatible dialects - - .. versionadded:: 1.16.0 - :param mssql_drop_check: Optional boolean. When ``True``, on Microsoft SQL Server only, first drop the CHECK constraint on the column using a @@ -1392,6 +1322,7 @@ class Operations(AbstractOperations): then exec's a separate DROP CONSTRAINT for that default. Only works if the column has exactly one FK constraint which refers to it, at the moment. + """ # noqa: E501 ... @@ -1402,7 +1333,6 @@ class Operations(AbstractOperations): type_: Optional[str] = None, *, schema: Optional[str] = None, - if_exists: Optional[bool] = None, ) -> None: r"""Drop a constraint of the given name, typically via DROP CONSTRAINT. @@ -1414,10 +1344,6 @@ class Operations(AbstractOperations): quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_exists: If True, adds IF EXISTS operator when - dropping the constraint - - .. versionadded:: 1.16.0 """ # noqa: E501 ... @@ -1461,12 +1387,7 @@ class Operations(AbstractOperations): ... def drop_table( - self, - table_name: str, - *, - schema: Optional[str] = None, - if_exists: Optional[bool] = None, - **kw: Any, + self, table_name: str, *, schema: Optional[str] = None, **kw: Any ) -> None: r"""Issue a "drop table" instruction using the current migration context. @@ -1481,10 +1402,6 @@ class Operations(AbstractOperations): quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_exists: If True, adds IF EXISTS operator when - dropping the table. - - .. versionadded:: 1.13.3 :param \**kw: Other keyword arguments are passed to the underlying :class:`sqlalchemy.schema.Table` object created for the command. @@ -1643,7 +1560,7 @@ class BatchOperations(AbstractOperations): impl: BatchOperationsImpl - def _noop(self, operation: Any) -> NoReturn: + def _noop(self, operation): raise NotImplementedError( "The %s method does not apply to a batch table alter operation." % operation @@ -1660,7 +1577,6 @@ class BatchOperations(AbstractOperations): *, insert_before: Optional[str] = None, insert_after: Optional[str] = None, - if_not_exists: Optional[bool] = None, ) -> None: """Issue an "add column" instruction using the current batch migration context. @@ -1680,10 +1596,8 @@ class BatchOperations(AbstractOperations): comment: Union[str, Literal[False], None] = False, server_default: Any = False, new_column_name: Optional[str] = None, - type_: Union[TypeEngine[Any], Type[TypeEngine[Any]], None] = None, - existing_type: Union[ - TypeEngine[Any], Type[TypeEngine[Any]], None - ] = None, + type_: Union[TypeEngine, Type[TypeEngine], None] = None, + existing_type: Union[TypeEngine, Type[TypeEngine], None] = None, existing_server_default: Union[ str, bool, Identity, Computed, None ] = False, @@ -1738,7 +1652,7 @@ class BatchOperations(AbstractOperations): def create_exclude_constraint( self, constraint_name: str, *elements: Any, **kw: Any - ) -> Optional[Table]: + ): """Issue a "create exclude constraint" instruction using the current batch migration context. @@ -1754,7 +1668,7 @@ class BatchOperations(AbstractOperations): def create_foreign_key( self, - constraint_name: Optional[str], + constraint_name: str, referent_table: str, local_cols: List[str], remote_cols: List[str], @@ -1804,7 +1718,7 @@ class BatchOperations(AbstractOperations): ... def create_primary_key( - self, constraint_name: Optional[str], columns: List[str] + self, constraint_name: str, columns: List[str] ) -> None: """Issue a "create primary key" instruction using the current batch migration context. diff --git a/venv/lib/python3.12/site-packages/alembic/operations/batch.py b/venv/lib/python3.12/site-packages/alembic/operations/batch.py index fe183e9..8c88e88 100644 --- a/venv/lib/python3.12/site-packages/alembic/operations/batch.py +++ b/venv/lib/python3.12/site-packages/alembic/operations/batch.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations from typing import Any @@ -18,10 +15,9 @@ from sqlalchemy import Index from sqlalchemy import MetaData from sqlalchemy import PrimaryKeyConstraint from sqlalchemy import schema as sql_schema -from sqlalchemy import select from sqlalchemy import Table from sqlalchemy import types as sqltypes -from sqlalchemy.sql.schema import SchemaEventTarget +from sqlalchemy.events import SchemaEventTarget from sqlalchemy.util import OrderedDict from sqlalchemy.util import topological @@ -32,9 +28,11 @@ from ..util.sqla_compat import _copy_expression from ..util.sqla_compat import _ensure_scope_for_ddl from ..util.sqla_compat import _fk_is_self_referential from ..util.sqla_compat import _idx_table_bound_expressions +from ..util.sqla_compat import _insert_inline from ..util.sqla_compat import _is_type_bound from ..util.sqla_compat import _remove_column_from_collection from ..util.sqla_compat import _resolve_for_variant +from ..util.sqla_compat import _select from ..util.sqla_compat import constraint_name_defined from ..util.sqla_compat import constraint_name_string @@ -376,7 +374,7 @@ class ApplyBatchImpl: for idx_existing in self.indexes.values(): # this is a lift-and-move from Table.to_metadata - if idx_existing._column_flag: + if idx_existing._column_flag: # type: ignore continue idx_copy = Index( @@ -405,7 +403,9 @@ class ApplyBatchImpl: def _setup_referent( self, metadata: MetaData, constraint: ForeignKeyConstraint ) -> None: - spec = constraint.elements[0]._get_colspec() + spec = constraint.elements[ + 0 + ]._get_colspec() # type:ignore[attr-defined] parts = spec.split(".") tname = parts[-2] if len(parts) == 3: @@ -448,15 +448,13 @@ class ApplyBatchImpl: try: op_impl._exec( - self.new_table.insert() - .inline() - .from_select( + _insert_inline(self.new_table).from_select( list( k for k, transfer in self.column_transfers.items() if "expr" in transfer ), - select( + _select( *[ transfer["expr"] for transfer in self.column_transfers.values() @@ -548,7 +546,9 @@ class ApplyBatchImpl: else: sql_schema.DefaultClause( server_default # type: ignore[arg-type] - )._set_parent(existing) + )._set_parent( # type:ignore[attr-defined] + existing + ) if autoincrement is not None: existing.autoincrement = bool(autoincrement) diff --git a/venv/lib/python3.12/site-packages/alembic/operations/ops.py b/venv/lib/python3.12/site-packages/alembic/operations/ops.py index c9b1526..711d7ab 100644 --- a/venv/lib/python3.12/site-packages/alembic/operations/ops.py +++ b/venv/lib/python3.12/site-packages/alembic/operations/ops.py @@ -1,13 +1,10 @@ from __future__ import annotations from abc import abstractmethod -import os -import pathlib import re from typing import Any from typing import Callable from typing import cast -from typing import Dict from typing import FrozenSet from typing import Iterator from typing import List @@ -18,7 +15,6 @@ from typing import Set from typing import Tuple from typing import Type from typing import TYPE_CHECKING -from typing import TypeVar from typing import Union from sqlalchemy.types import NULLTYPE @@ -37,6 +33,7 @@ if TYPE_CHECKING: from sqlalchemy.sql.elements import conv from sqlalchemy.sql.elements import quoted_name from sqlalchemy.sql.elements import TextClause + from sqlalchemy.sql.functions import Function from sqlalchemy.sql.schema import CheckConstraint from sqlalchemy.sql.schema import Column from sqlalchemy.sql.schema import Computed @@ -56,9 +53,6 @@ if TYPE_CHECKING: from ..runtime.migration import MigrationContext from ..script.revision import _RevIdType -_T = TypeVar("_T", bound=Any) -_AC = TypeVar("_AC", bound="AddConstraintOp") - class MigrateOperation: """base class for migration command and organization objects. @@ -76,7 +70,7 @@ class MigrateOperation: """ @util.memoized_property - def info(self) -> Dict[Any, Any]: + def info(self): """A dictionary that may be used to store arbitrary information along with this :class:`.MigrateOperation` object. @@ -98,14 +92,12 @@ class AddConstraintOp(MigrateOperation): add_constraint_ops = util.Dispatcher() @property - def constraint_type(self) -> str: + def constraint_type(self): raise NotImplementedError() @classmethod - def register_add_constraint( - cls, type_: str - ) -> Callable[[Type[_AC]], Type[_AC]]: - def go(klass: Type[_AC]) -> Type[_AC]: + def register_add_constraint(cls, type_: str) -> Callable: + def go(klass): cls.add_constraint_ops.dispatch_for(type_)(klass.from_constraint) return klass @@ -113,7 +105,7 @@ class AddConstraintOp(MigrateOperation): @classmethod def from_constraint(cls, constraint: Constraint) -> AddConstraintOp: - return cls.add_constraint_ops.dispatch(constraint.__visit_name__)( # type: ignore[no-any-return] # noqa: E501 + return cls.add_constraint_ops.dispatch(constraint.__visit_name__)( constraint ) @@ -142,14 +134,12 @@ class DropConstraintOp(MigrateOperation): type_: Optional[str] = None, *, schema: Optional[str] = None, - if_exists: Optional[bool] = None, _reverse: Optional[AddConstraintOp] = None, ) -> None: self.constraint_name = constraint_name self.table_name = table_name self.constraint_type = type_ self.schema = schema - self.if_exists = if_exists self._reverse = _reverse def reverse(self) -> AddConstraintOp: @@ -207,7 +197,6 @@ class DropConstraintOp(MigrateOperation): type_: Optional[str] = None, *, schema: Optional[str] = None, - if_exists: Optional[bool] = None, ) -> None: r"""Drop a constraint of the given name, typically via DROP CONSTRAINT. @@ -219,20 +208,10 @@ class DropConstraintOp(MigrateOperation): quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_exists: If True, adds IF EXISTS operator when - dropping the constraint - - .. versionadded:: 1.16.0 """ - op = cls( - constraint_name, - table_name, - type_=type_, - schema=schema, - if_exists=if_exists, - ) + op = cls(constraint_name, table_name, type_=type_, schema=schema) return operations.invoke(op) @classmethod @@ -363,7 +342,7 @@ class CreatePrimaryKeyOp(AddConstraintOp): def batch_create_primary_key( cls, operations: BatchOperations, - constraint_name: Optional[str], + constraint_name: str, columns: List[str], ) -> None: """Issue a "create primary key" instruction using the @@ -419,7 +398,7 @@ class CreateUniqueConstraintOp(AddConstraintOp): uq_constraint = cast("UniqueConstraint", constraint) - kw: Dict[str, Any] = {} + kw: dict = {} if uq_constraint.deferrable: kw["deferrable"] = uq_constraint.deferrable if uq_constraint.initially: @@ -553,7 +532,7 @@ class CreateForeignKeyOp(AddConstraintOp): @classmethod def from_constraint(cls, constraint: Constraint) -> CreateForeignKeyOp: fk_constraint = cast("ForeignKeyConstraint", constraint) - kw: Dict[str, Any] = {} + kw: dict = {} if fk_constraint.onupdate: kw["onupdate"] = fk_constraint.onupdate if fk_constraint.ondelete: @@ -695,7 +674,7 @@ class CreateForeignKeyOp(AddConstraintOp): def batch_create_foreign_key( cls, operations: BatchOperations, - constraint_name: Optional[str], + constraint_name: str, referent_table: str, local_cols: List[str], remote_cols: List[str], @@ -918,9 +897,9 @@ class CreateIndexOp(MigrateOperation): def from_index(cls, index: Index) -> CreateIndexOp: assert index.table is not None return cls( - index.name, + index.name, # type: ignore[arg-type] index.table.name, - index.expressions, + sqla_compat._get_index_expressions(index), schema=index.table.schema, unique=index.unique, **index.kwargs, @@ -947,7 +926,7 @@ class CreateIndexOp(MigrateOperation): operations: Operations, index_name: Optional[str], table_name: str, - columns: Sequence[Union[str, TextClause, ColumnElement[Any]]], + columns: Sequence[Union[str, TextClause, Function[Any]]], *, schema: Optional[str] = None, unique: bool = False, @@ -1075,7 +1054,6 @@ class DropIndexOp(MigrateOperation): table_name=index.table.name, schema=index.table.schema, _reverse=CreateIndexOp.from_index(index), - unique=index.unique, **index.kwargs, ) @@ -1173,7 +1151,6 @@ class CreateTableOp(MigrateOperation): columns: Sequence[SchemaItem], *, schema: Optional[str] = None, - if_not_exists: Optional[bool] = None, _namespace_metadata: Optional[MetaData] = None, _constraints_included: bool = False, **kw: Any, @@ -1181,7 +1158,6 @@ class CreateTableOp(MigrateOperation): self.table_name = table_name self.columns = columns self.schema = schema - self.if_not_exists = if_not_exists self.info = kw.pop("info", {}) self.comment = kw.pop("comment", None) self.prefixes = kw.pop("prefixes", None) @@ -1206,7 +1182,7 @@ class CreateTableOp(MigrateOperation): return cls( table.name, - list(table.c) + list(table.constraints), + list(table.c) + list(table.constraints), # type:ignore[arg-type] schema=table.schema, _namespace_metadata=_namespace_metadata, # given a Table() object, this Table will contain full Index() @@ -1244,7 +1220,6 @@ class CreateTableOp(MigrateOperation): operations: Operations, table_name: str, *columns: SchemaItem, - if_not_exists: Optional[bool] = None, **kw: Any, ) -> Table: r"""Issue a "create table" instruction using the current migration @@ -1317,10 +1292,6 @@ class CreateTableOp(MigrateOperation): quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_not_exists: If True, adds IF NOT EXISTS operator when - creating the new table. - - .. versionadded:: 1.13.3 :param \**kw: Other keyword arguments are passed to the underlying :class:`sqlalchemy.schema.Table` object created for the command. @@ -1328,7 +1299,7 @@ class CreateTableOp(MigrateOperation): to the parameters given. """ - op = cls(table_name, columns, if_not_exists=if_not_exists, **kw) + op = cls(table_name, columns, **kw) return operations.invoke(op) @@ -1341,13 +1312,11 @@ class DropTableOp(MigrateOperation): table_name: str, *, schema: Optional[str] = None, - if_exists: Optional[bool] = None, table_kw: Optional[MutableMapping[Any, Any]] = None, _reverse: Optional[CreateTableOp] = None, ) -> None: self.table_name = table_name self.schema = schema - self.if_exists = if_exists self.table_kw = table_kw or {} self.comment = self.table_kw.pop("comment", None) self.info = self.table_kw.pop("info", None) @@ -1394,9 +1363,9 @@ class DropTableOp(MigrateOperation): info=self.info.copy() if self.info else {}, prefixes=list(self.prefixes) if self.prefixes else [], schema=self.schema, - _constraints_included=( - self._reverse._constraints_included if self._reverse else False - ), + _constraints_included=self._reverse._constraints_included + if self._reverse + else False, **self.table_kw, ) return t @@ -1408,7 +1377,6 @@ class DropTableOp(MigrateOperation): table_name: str, *, schema: Optional[str] = None, - if_exists: Optional[bool] = None, **kw: Any, ) -> None: r"""Issue a "drop table" instruction using the current @@ -1424,15 +1392,11 @@ class DropTableOp(MigrateOperation): quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_exists: If True, adds IF EXISTS operator when - dropping the table. - - .. versionadded:: 1.13.3 :param \**kw: Other keyword arguments are passed to the underlying :class:`sqlalchemy.schema.Table` object created for the command. """ - op = cls(table_name, schema=schema, if_exists=if_exists, table_kw=kw) + op = cls(table_name, schema=schema, table_kw=kw) operations.invoke(op) @@ -1570,7 +1534,7 @@ class CreateTableCommentOp(AlterTableOp): ) return operations.invoke(op) - def reverse(self) -> Union[CreateTableCommentOp, DropTableCommentOp]: + def reverse(self): """Reverses the COMMENT ON operation against a table.""" if self.existing_comment is None: return DropTableCommentOp( @@ -1586,16 +1550,14 @@ class CreateTableCommentOp(AlterTableOp): schema=self.schema, ) - def to_table( - self, migration_context: Optional[MigrationContext] = None - ) -> Table: + def to_table(self, migration_context=None): schema_obj = schemaobj.SchemaObjects(migration_context) return schema_obj.table( self.table_name, schema=self.schema, comment=self.comment ) - def to_diff_tuple(self) -> Tuple[Any, ...]: + def to_diff_tuple(self): return ("add_table_comment", self.to_table(), self.existing_comment) @@ -1667,20 +1629,18 @@ class DropTableCommentOp(AlterTableOp): ) return operations.invoke(op) - def reverse(self) -> CreateTableCommentOp: + def reverse(self): """Reverses the COMMENT ON operation against a table.""" return CreateTableCommentOp( self.table_name, self.existing_comment, schema=self.schema ) - def to_table( - self, migration_context: Optional[MigrationContext] = None - ) -> Table: + def to_table(self, migration_context=None): schema_obj = schemaobj.SchemaObjects(migration_context) return schema_obj.table(self.table_name, schema=self.schema) - def to_diff_tuple(self) -> Tuple[Any, ...]: + def to_diff_tuple(self): return ("remove_table_comment", self.to_table()) @@ -1855,16 +1815,12 @@ class AlterColumnOp(AlterTableOp): *, nullable: Optional[bool] = None, comment: Optional[Union[str, Literal[False]]] = False, - server_default: Union[ - str, bool, Identity, Computed, TextClause, None - ] = False, + server_default: Any = False, new_column_name: Optional[str] = None, - type_: Optional[Union[TypeEngine[Any], Type[TypeEngine[Any]]]] = None, - existing_type: Optional[ - Union[TypeEngine[Any], Type[TypeEngine[Any]]] - ] = None, - existing_server_default: Union[ - str, bool, Identity, Computed, TextClause, None + type_: Optional[Union[TypeEngine, Type[TypeEngine]]] = None, + existing_type: Optional[Union[TypeEngine, Type[TypeEngine]]] = None, + existing_server_default: Optional[ + Union[str, bool, Identity, Computed] ] = False, existing_nullable: Optional[bool] = None, existing_comment: Optional[str] = None, @@ -1982,10 +1938,8 @@ class AlterColumnOp(AlterTableOp): comment: Optional[Union[str, Literal[False]]] = False, server_default: Any = False, new_column_name: Optional[str] = None, - type_: Optional[Union[TypeEngine[Any], Type[TypeEngine[Any]]]] = None, - existing_type: Optional[ - Union[TypeEngine[Any], Type[TypeEngine[Any]]] - ] = None, + type_: Optional[Union[TypeEngine, Type[TypeEngine]]] = None, + existing_type: Optional[Union[TypeEngine, Type[TypeEngine]]] = None, existing_server_default: Optional[ Union[str, bool, Identity, Computed] ] = False, @@ -2049,31 +2003,27 @@ class AddColumnOp(AlterTableOp): column: Column[Any], *, schema: Optional[str] = None, - if_not_exists: Optional[bool] = None, **kw: Any, ) -> None: super().__init__(table_name, schema=schema) self.column = column - self.if_not_exists = if_not_exists self.kw = kw def reverse(self) -> DropColumnOp: - op = DropColumnOp.from_column_and_tablename( + return DropColumnOp.from_column_and_tablename( self.schema, self.table_name, self.column ) - op.if_exists = self.if_not_exists - return op def to_diff_tuple( self, ) -> Tuple[str, Optional[str], str, Column[Any]]: return ("add_column", self.schema, self.table_name, self.column) - def to_column(self) -> Column[Any]: + def to_column(self) -> Column: return self.column @classmethod - def from_column(cls, col: Column[Any]) -> AddColumnOp: + def from_column(cls, col: Column) -> AddColumnOp: return cls(col.table.name, col, schema=col.table.schema) @classmethod @@ -2093,7 +2043,6 @@ class AddColumnOp(AlterTableOp): column: Column[Any], *, schema: Optional[str] = None, - if_not_exists: Optional[bool] = None, ) -> None: """Issue an "add column" instruction using the current migration context. @@ -2170,19 +2119,10 @@ class AddColumnOp(AlterTableOp): quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_not_exists: If True, adds IF NOT EXISTS operator - when creating the new column for compatible dialects - - .. versionadded:: 1.16.0 """ - op = cls( - table_name, - column, - schema=schema, - if_not_exists=if_not_exists, - ) + op = cls(table_name, column, schema=schema) return operations.invoke(op) @classmethod @@ -2193,7 +2133,6 @@ class AddColumnOp(AlterTableOp): *, insert_before: Optional[str] = None, insert_after: Optional[str] = None, - if_not_exists: Optional[bool] = None, ) -> None: """Issue an "add column" instruction using the current batch migration context. @@ -2214,7 +2153,6 @@ class AddColumnOp(AlterTableOp): operations.impl.table_name, column, schema=operations.impl.schema, - if_not_exists=if_not_exists, **kw, ) return operations.invoke(op) @@ -2231,14 +2169,12 @@ class DropColumnOp(AlterTableOp): column_name: str, *, schema: Optional[str] = None, - if_exists: Optional[bool] = None, _reverse: Optional[AddColumnOp] = None, **kw: Any, ) -> None: super().__init__(table_name, schema=schema) self.column_name = column_name self.kw = kw - self.if_exists = if_exists self._reverse = _reverse def to_diff_tuple( @@ -2258,11 +2194,9 @@ class DropColumnOp(AlterTableOp): "original column is not present" ) - op = AddColumnOp.from_column_and_tablename( + return AddColumnOp.from_column_and_tablename( self.schema, self.table_name, self._reverse.column ) - op.if_not_exists = self.if_exists - return op @classmethod def from_column_and_tablename( @@ -2280,7 +2214,7 @@ class DropColumnOp(AlterTableOp): def to_column( self, migration_context: Optional[MigrationContext] = None - ) -> Column[Any]: + ) -> Column: if self._reverse is not None: return self._reverse.column schema_obj = schemaobj.SchemaObjects(migration_context) @@ -2309,11 +2243,6 @@ class DropColumnOp(AlterTableOp): quoting of the schema outside of the default behavior, use the SQLAlchemy construct :class:`~sqlalchemy.sql.elements.quoted_name`. - :param if_exists: If True, adds IF EXISTS operator when - dropping the new column for compatible dialects - - .. versionadded:: 1.16.0 - :param mssql_drop_check: Optional boolean. When ``True``, on Microsoft SQL Server only, first drop the CHECK constraint on the column using a @@ -2335,6 +2264,7 @@ class DropColumnOp(AlterTableOp): then exec's a separate DROP CONSTRAINT for that default. Only works if the column has exactly one FK constraint which refers to it, at the moment. + """ op = cls(table_name, column_name, schema=schema, **kw) @@ -2368,7 +2298,7 @@ class BulkInsertOp(MigrateOperation): def __init__( self, table: Union[Table, TableClause], - rows: List[Dict[str, Any]], + rows: List[dict], *, multiinsert: bool = True, ) -> None: @@ -2381,7 +2311,7 @@ class BulkInsertOp(MigrateOperation): cls, operations: Operations, table: Union[Table, TableClause], - rows: List[Dict[str, Any]], + rows: List[dict], *, multiinsert: bool = True, ) -> None: @@ -2677,7 +2607,7 @@ class UpgradeOps(OpContainer): self.upgrade_token = upgrade_token def reverse_into(self, downgrade_ops: DowngradeOps) -> DowngradeOps: - downgrade_ops.ops[:] = list( + downgrade_ops.ops[:] = list( # type:ignore[index] reversed([op.reverse() for op in self.ops]) ) return downgrade_ops @@ -2704,7 +2634,7 @@ class DowngradeOps(OpContainer): super().__init__(ops=ops) self.downgrade_token = downgrade_token - def reverse(self) -> UpgradeOps: + def reverse(self): return UpgradeOps( ops=list(reversed([op.reverse() for op in self.ops])) ) @@ -2735,8 +2665,6 @@ class MigrationScript(MigrateOperation): """ _needs_render: Optional[bool] - _upgrade_ops: List[UpgradeOps] - _downgrade_ops: List[DowngradeOps] def __init__( self, @@ -2749,7 +2677,7 @@ class MigrationScript(MigrateOperation): head: Optional[str] = None, splice: Optional[bool] = None, branch_label: Optional[_RevIdType] = None, - version_path: Union[str, os.PathLike[str], None] = None, + version_path: Optional[str] = None, depends_on: Optional[_RevIdType] = None, ) -> None: self.rev_id = rev_id @@ -2758,15 +2686,13 @@ class MigrationScript(MigrateOperation): self.head = head self.splice = splice self.branch_label = branch_label - self.version_path = ( - pathlib.Path(version_path).as_posix() if version_path else None - ) + self.version_path = version_path self.depends_on = depends_on self.upgrade_ops = upgrade_ops self.downgrade_ops = downgrade_ops @property - def upgrade_ops(self) -> Optional[UpgradeOps]: + def upgrade_ops(self): """An instance of :class:`.UpgradeOps`. .. seealso:: @@ -2785,15 +2711,13 @@ class MigrationScript(MigrateOperation): return self._upgrade_ops[0] @upgrade_ops.setter - def upgrade_ops( - self, upgrade_ops: Union[UpgradeOps, List[UpgradeOps]] - ) -> None: + def upgrade_ops(self, upgrade_ops): self._upgrade_ops = util.to_list(upgrade_ops) for elem in self._upgrade_ops: assert isinstance(elem, UpgradeOps) @property - def downgrade_ops(self) -> Optional[DowngradeOps]: + def downgrade_ops(self): """An instance of :class:`.DowngradeOps`. .. seealso:: @@ -2812,9 +2736,7 @@ class MigrationScript(MigrateOperation): return self._downgrade_ops[0] @downgrade_ops.setter - def downgrade_ops( - self, downgrade_ops: Union[DowngradeOps, List[DowngradeOps]] - ) -> None: + def downgrade_ops(self, downgrade_ops): self._downgrade_ops = util.to_list(downgrade_ops) for elem in self._downgrade_ops: assert isinstance(elem, DowngradeOps) diff --git a/venv/lib/python3.12/site-packages/alembic/operations/schemaobj.py b/venv/lib/python3.12/site-packages/alembic/operations/schemaobj.py index 59c1002..799f113 100644 --- a/venv/lib/python3.12/site-packages/alembic/operations/schemaobj.py +++ b/venv/lib/python3.12/site-packages/alembic/operations/schemaobj.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations from typing import Any @@ -223,12 +220,10 @@ class SchemaObjects: t = sa_schema.Table(name, m, *cols, **kw) constraints = [ - ( - sqla_compat._copy(elem, target_table=t) - if getattr(elem, "parent", None) is not t - and getattr(elem, "parent", None) is not None - else elem - ) + sqla_compat._copy(elem, target_table=t) + if getattr(elem, "parent", None) is not t + and getattr(elem, "parent", None) is not None + else elem for elem in columns if isinstance(elem, (Constraint, Index)) ] @@ -279,8 +274,10 @@ class SchemaObjects: ForeignKey. """ - if isinstance(fk._colspec, str): - table_key, cname = fk._colspec.rsplit(".", 1) + if isinstance(fk._colspec, str): # type:ignore[attr-defined] + table_key, cname = fk._colspec.rsplit( # type:ignore[attr-defined] + ".", 1 + ) sname, tname = self._parse_table_key(table_key) if table_key not in metadata.tables: rel_t = sa_schema.Table(tname, metadata, schema=sname) diff --git a/venv/lib/python3.12/site-packages/alembic/operations/toimpl.py b/venv/lib/python3.12/site-packages/alembic/operations/toimpl.py index c18ec79..ba974b6 100644 --- a/venv/lib/python3.12/site-packages/alembic/operations/toimpl.py +++ b/venv/lib/python3.12/site-packages/alembic/operations/toimpl.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from typing import TYPE_CHECKING from sqlalchemy import schema as sa_schema @@ -79,11 +76,8 @@ def alter_column( @Operations.implementation_for(ops.DropTableOp) def drop_table(operations: "Operations", operation: "ops.DropTableOp") -> None: - kw = {} - if operation.if_exists is not None: - kw["if_exists"] = operation.if_exists operations.impl.drop_table( - operation.to_table(operations.migration_context), **kw + operation.to_table(operations.migration_context) ) @@ -93,11 +87,7 @@ def drop_column( ) -> None: column = operation.to_column(operations.migration_context) operations.impl.drop_column( - operation.table_name, - column, - schema=operation.schema, - if_exists=operation.if_exists, - **operation.kw, + operation.table_name, column, schema=operation.schema, **operation.kw ) @@ -108,6 +98,9 @@ def create_index( idx = operation.to_index(operations.migration_context) kw = {} if operation.if_not_exists is not None: + if not sqla_2: + raise NotImplementedError("SQLAlchemy 2.0+ required") + kw["if_not_exists"] = operation.if_not_exists operations.impl.create_index(idx, **kw) @@ -116,6 +109,9 @@ def create_index( def drop_index(operations: "Operations", operation: "ops.DropIndexOp") -> None: kw = {} if operation.if_exists is not None: + if not sqla_2: + raise NotImplementedError("SQLAlchemy 2.0+ required") + kw["if_exists"] = operation.if_exists operations.impl.drop_index( @@ -128,11 +124,8 @@ def drop_index(operations: "Operations", operation: "ops.DropIndexOp") -> None: def create_table( operations: "Operations", operation: "ops.CreateTableOp" ) -> "Table": - kw = {} - if operation.if_not_exists is not None: - kw["if_not_exists"] = operation.if_not_exists table = operation.to_table(operations.migration_context) - operations.impl.create_table(table, **kw) + operations.impl.create_table(table) return table @@ -172,13 +165,7 @@ def add_column(operations: "Operations", operation: "ops.AddColumnOp") -> None: column = _copy(column) t = operations.schema_obj.table(table_name, column, schema=schema) - operations.impl.add_column( - table_name, - column, - schema=schema, - if_not_exists=operation.if_not_exists, - **kw, - ) + operations.impl.add_column(table_name, column, schema=schema, **kw) for constraint in t.constraints: if not isinstance(constraint, sa_schema.PrimaryKeyConstraint): @@ -208,19 +195,13 @@ def create_constraint( def drop_constraint( operations: "Operations", operation: "ops.DropConstraintOp" ) -> None: - kw = {} - if operation.if_exists is not None: - if not sqla_2: - raise NotImplementedError("SQLAlchemy 2.0 required") - kw["if_exists"] = operation.if_exists operations.impl.drop_constraint( operations.schema_obj.generic_constraint( operation.constraint_name, operation.table_name, operation.constraint_type, schema=operation.schema, - ), - **kw, + ) ) diff --git a/venv/lib/python3.12/site-packages/alembic/runtime/environment.py b/venv/lib/python3.12/site-packages/alembic/runtime/environment.py index 80ca2b6..7640f56 100644 --- a/venv/lib/python3.12/site-packages/alembic/runtime/environment.py +++ b/venv/lib/python3.12/site-packages/alembic/runtime/environment.py @@ -3,13 +3,13 @@ from __future__ import annotations from typing import Any from typing import Callable from typing import Collection +from typing import ContextManager from typing import Dict from typing import List from typing import Mapping from typing import MutableMapping from typing import Optional from typing import overload -from typing import Sequence from typing import TextIO from typing import Tuple from typing import TYPE_CHECKING @@ -17,7 +17,6 @@ from typing import Union from sqlalchemy.sql.schema import Column from sqlalchemy.sql.schema import FetchedValue -from typing_extensions import ContextManager from typing_extensions import Literal from .migration import _ProxyTransaction @@ -108,6 +107,7 @@ CompareType = Callable[ class EnvironmentContext(util.ModuleClsProxy): + """A configurational facade made available in an ``env.py`` script. The :class:`.EnvironmentContext` acts as a *facade* to the more @@ -227,9 +227,9 @@ class EnvironmentContext(util.ModuleClsProxy): has been configured. """ - return self.context_opts.get("as_sql", False) # type: ignore[no-any-return] # noqa: E501 + return self.context_opts.get("as_sql", False) - def is_transactional_ddl(self) -> bool: + def is_transactional_ddl(self): """Return True if the context is configured to expect a transactional DDL capable backend. @@ -341,17 +341,18 @@ class EnvironmentContext(util.ModuleClsProxy): return self.context_opts.get("tag", None) @overload - def get_x_argument(self, as_dictionary: Literal[False]) -> List[str]: ... + def get_x_argument(self, as_dictionary: Literal[False]) -> List[str]: + ... @overload - def get_x_argument( - self, as_dictionary: Literal[True] - ) -> Dict[str, str]: ... + def get_x_argument(self, as_dictionary: Literal[True]) -> Dict[str, str]: + ... @overload def get_x_argument( self, as_dictionary: bool = ... - ) -> Union[List[str], Dict[str, str]]: ... + ) -> Union[List[str], Dict[str, str]]: + ... def get_x_argument( self, as_dictionary: bool = False @@ -365,11 +366,7 @@ class EnvironmentContext(util.ModuleClsProxy): The return value is a list, returned directly from the ``argparse`` structure. If ``as_dictionary=True`` is passed, the ``x`` arguments are parsed using ``key=value`` format into a dictionary that is - then returned. If there is no ``=`` in the argument, value is an empty - string. - - .. versionchanged:: 1.13.1 Support ``as_dictionary=True`` when - arguments are passed without the ``=`` symbol. + then returned. For example, to support passing a database URL on the command line, the standard ``env.py`` script can be modified like this:: @@ -403,12 +400,7 @@ class EnvironmentContext(util.ModuleClsProxy): else: value = [] if as_dictionary: - dict_value = {} - for arg in value: - x_key, _, x_value = arg.partition("=") - dict_value[x_key] = x_value - value = dict_value - + value = dict(arg.split("=", 1) for arg in value) return value def configure( @@ -424,7 +416,7 @@ class EnvironmentContext(util.ModuleClsProxy): tag: Optional[str] = None, template_args: Optional[Dict[str, Any]] = None, render_as_batch: bool = False, - target_metadata: Union[MetaData, Sequence[MetaData], None] = None, + target_metadata: Optional[MetaData] = None, include_name: Optional[IncludeNameFn] = None, include_object: Optional[IncludeObjectFn] = None, include_schemas: bool = False, @@ -948,7 +940,7 @@ class EnvironmentContext(util.ModuleClsProxy): def execute( self, sql: Union[Executable, str], - execution_options: Optional[Dict[str, Any]] = None, + execution_options: Optional[dict] = None, ) -> None: """Execute the given SQL using the current change context. @@ -976,7 +968,7 @@ class EnvironmentContext(util.ModuleClsProxy): def begin_transaction( self, - ) -> Union[_ProxyTransaction, ContextManager[None, Optional[bool]]]: + ) -> Union[_ProxyTransaction, ContextManager[None]]: """Return a context manager that will enclose an operation within a "transaction", as defined by the environment's offline diff --git a/venv/lib/python3.12/site-packages/alembic/runtime/migration.py b/venv/lib/python3.12/site-packages/alembic/runtime/migration.py index c1c7b0f..24e3d64 100644 --- a/venv/lib/python3.12/site-packages/alembic/runtime/migration.py +++ b/venv/lib/python3.12/site-packages/alembic/runtime/migration.py @@ -1,6 +1,3 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations from contextlib import contextmanager @@ -11,6 +8,7 @@ from typing import Any from typing import Callable from typing import cast from typing import Collection +from typing import ContextManager from typing import Dict from typing import Iterable from typing import Iterator @@ -23,11 +21,13 @@ from typing import Union from sqlalchemy import Column from sqlalchemy import literal_column -from sqlalchemy import select +from sqlalchemy import MetaData +from sqlalchemy import PrimaryKeyConstraint +from sqlalchemy import String +from sqlalchemy import Table from sqlalchemy.engine import Engine from sqlalchemy.engine import url as sqla_url from sqlalchemy.engine.strategies import MockEngineStrategy -from typing_extensions import ContextManager from .. import ddl from .. import util @@ -83,6 +83,7 @@ class _ProxyTransaction: class MigrationContext: + """Represent the database state made available to a migration script. @@ -175,11 +176,7 @@ class MigrationContext: opts["output_encoding"], ) else: - self.output_buffer = opts.get( - "output_buffer", sys.stdout - ) # type:ignore[assignment] # noqa: E501 - - self.transactional_ddl = transactional_ddl + self.output_buffer = opts.get("output_buffer", sys.stdout) self._user_compare_type = opts.get("compare_type", True) self._user_compare_server_default = opts.get( @@ -191,6 +188,18 @@ class MigrationContext: self.version_table_schema = version_table_schema = opts.get( "version_table_schema", None ) + self._version = Table( + version_table, + MetaData(), + Column("version_num", String(32), nullable=False), + schema=version_table_schema, + ) + if opts.get("version_table_pk", True): + self._version.append_constraint( + PrimaryKeyConstraint( + "version_num", name="%s_pkc" % version_table + ) + ) self._start_from_rev: Optional[str] = opts.get("starting_rev") self.impl = ddl.DefaultImpl.get_by_dialect(dialect)( @@ -201,23 +210,14 @@ class MigrationContext: self.output_buffer, opts, ) - - self._version = self.impl.version_table_impl( - version_table=version_table, - version_table_schema=version_table_schema, - version_table_pk=opts.get("version_table_pk", True), - ) - log.info("Context impl %s.", self.impl.__class__.__name__) if self.as_sql: log.info("Generating static SQL") log.info( "Will assume %s DDL.", - ( - "transactional" - if self.impl.transactional_ddl - else "non-transactional" - ), + "transactional" + if self.impl.transactional_ddl + else "non-transactional", ) @classmethod @@ -342,9 +342,9 @@ class MigrationContext: # except that it will not know it's in "autocommit" and will # emit deprecation warnings when an autocommit action takes # place. - self.connection = self.impl.connection = ( - base_connection.execution_options(isolation_level="AUTOCOMMIT") - ) + self.connection = ( + self.impl.connection + ) = base_connection.execution_options(isolation_level="AUTOCOMMIT") # sqlalchemy future mode will "autobegin" in any case, so take # control of that "transaction" here @@ -372,7 +372,7 @@ class MigrationContext: def begin_transaction( self, _per_migration: bool = False - ) -> Union[_ProxyTransaction, ContextManager[None, Optional[bool]]]: + ) -> Union[_ProxyTransaction, ContextManager[None]]: """Begin a logical transaction for migration operations. This method is used within an ``env.py`` script to demarcate where @@ -521,7 +521,7 @@ class MigrationContext: start_from_rev = None elif start_from_rev is not None and self.script: start_from_rev = [ - self.script.get_revision(sfr).revision + cast("Script", self.script.get_revision(sfr)).revision for sfr in util.to_list(start_from_rev) if sfr not in (None, "base") ] @@ -536,10 +536,7 @@ class MigrationContext: return () assert self.connection is not None return tuple( - row[0] - for row in self.connection.execute( - select(self._version.c.version_num) - ) + row[0] for row in self.connection.execute(self._version.select()) ) def _ensure_version_table(self, purge: bool = False) -> None: @@ -655,7 +652,7 @@ class MigrationContext: def execute( self, sql: Union[Executable, str], - execution_options: Optional[Dict[str, Any]] = None, + execution_options: Optional[dict] = None, ) -> None: """Execute a SQL construct or string statement. @@ -1003,11 +1000,6 @@ class MigrationStep: is_upgrade: bool migration_fn: Any - if TYPE_CHECKING: - - @property - def doc(self) -> Optional[str]: ... - @property def name(self) -> str: return self.migration_fn.__name__ @@ -1056,9 +1048,13 @@ class RevisionStep(MigrationStep): self.revision = revision self.is_upgrade = is_upgrade if is_upgrade: - self.migration_fn = revision.module.upgrade + self.migration_fn = ( + revision.module.upgrade # type:ignore[attr-defined] + ) else: - self.migration_fn = revision.module.downgrade + self.migration_fn = ( + revision.module.downgrade # type:ignore[attr-defined] + ) def __repr__(self): return "RevisionStep(%r, is_upgrade=%r)" % ( @@ -1074,7 +1070,7 @@ class RevisionStep(MigrationStep): ) @property - def doc(self) -> Optional[str]: + def doc(self) -> str: return self.revision.doc @property @@ -1172,18 +1168,7 @@ class RevisionStep(MigrationStep): } return tuple(set(self.to_revisions).difference(ancestors)) else: - # for each revision we plan to return, compute its ancestors - # (excluding self), and remove those from the final output since - # they are already accounted for. - ancestors = { - r.revision - for to_revision in self.to_revisions - for r in self.revision_map._get_ancestor_nodes( - self.revision_map.get_revisions(to_revision), check=False - ) - if r.revision != to_revision - } - return tuple(set(self.to_revisions).difference(ancestors)) + return self.to_revisions def unmerge_branch_idents( self, heads: Set[str] @@ -1298,7 +1283,7 @@ class StampStep(MigrationStep): def __eq__(self, other): return ( isinstance(other, StampStep) - and other.from_revisions == self.from_revisions + and other.from_revisions == self.revisions and other.to_revisions == self.to_revisions and other.branch_move == self.branch_move and self.is_upgrade == other.is_upgrade diff --git a/venv/lib/python3.12/site-packages/alembic/script/base.py b/venv/lib/python3.12/site-packages/alembic/script/base.py index 9429231..d0f9abb 100644 --- a/venv/lib/python3.12/site-packages/alembic/script/base.py +++ b/venv/lib/python3.12/site-packages/alembic/script/base.py @@ -3,7 +3,6 @@ from __future__ import annotations from contextlib import contextmanager import datetime import os -from pathlib import Path import re import shutil import sys @@ -12,6 +11,7 @@ from typing import Any from typing import cast from typing import Iterator from typing import List +from typing import Mapping from typing import Optional from typing import Sequence from typing import Set @@ -23,9 +23,7 @@ from . import revision from . import write_hooks from .. import util from ..runtime import migration -from ..util import compat from ..util import not_none -from ..util.pyfiles import _preserving_path_as_str if TYPE_CHECKING: from .revision import _GetRevArg @@ -33,28 +31,26 @@ if TYPE_CHECKING: from .revision import Revision from ..config import Config from ..config import MessagingOptions - from ..config import PostWriteHookConfig from ..runtime.migration import RevisionStep from ..runtime.migration import StampStep try: - if compat.py39: - from zoneinfo import ZoneInfo - from zoneinfo import ZoneInfoNotFoundError - else: - from backports.zoneinfo import ZoneInfo # type: ignore[import-not-found,no-redef] # noqa: E501 - from backports.zoneinfo import ZoneInfoNotFoundError # type: ignore[no-redef] # noqa: E501 + from dateutil import tz except ImportError: - ZoneInfo = None # type: ignore[assignment, misc] + tz = None # type: ignore[assignment] _sourceless_rev_file = re.compile(r"(?!\.\#|__init__)(.*\.py)(c|o)?$") _only_source_rev_file = re.compile(r"(?!\.\#|__init__)(.*\.py)$") _legacy_rev = re.compile(r"([a-f0-9]+)\.py$") _slug_re = re.compile(r"\w+") _default_file_template = "%(rev)s_%(slug)s" +_split_on_space_comma = re.compile(r", *|(?: +)") + +_split_on_space_comma_colon = re.compile(r", *|(?: +)|\:") class ScriptDirectory: + """Provides operations upon an Alembic script directory. This object is useful to get information as to current revisions, @@ -76,55 +72,40 @@ class ScriptDirectory: def __init__( self, - dir: Union[str, os.PathLike[str]], # noqa: A002 + dir: str, # noqa file_template: str = _default_file_template, truncate_slug_length: Optional[int] = 40, - version_locations: Optional[ - Sequence[Union[str, os.PathLike[str]]] - ] = None, + version_locations: Optional[List[str]] = None, sourceless: bool = False, output_encoding: str = "utf-8", timezone: Optional[str] = None, - hooks: list[PostWriteHookConfig] = [], + hook_config: Optional[Mapping[str, str]] = None, recursive_version_locations: bool = False, messaging_opts: MessagingOptions = cast( "MessagingOptions", util.EMPTY_DICT ), ) -> None: - self.dir = _preserving_path_as_str(dir) - self.version_locations = [ - _preserving_path_as_str(p) for p in version_locations or () - ] + self.dir = dir self.file_template = file_template + self.version_locations = version_locations self.truncate_slug_length = truncate_slug_length or 40 self.sourceless = sourceless self.output_encoding = output_encoding self.revision_map = revision.RevisionMap(self._load_revisions) self.timezone = timezone - self.hooks = hooks + self.hook_config = hook_config self.recursive_version_locations = recursive_version_locations self.messaging_opts = messaging_opts if not os.access(dir, os.F_OK): raise util.CommandError( - f"Path doesn't exist: {dir}. Please use " + "Path doesn't exist: %r. Please use " "the 'init' command to create a new " - "scripts folder." + "scripts folder." % os.path.abspath(dir) ) @property def versions(self) -> str: - """return a single version location based on the sole path passed - within version_locations. - - If multiple version locations are configured, an error is raised. - - - """ - return str(self._singular_version_location) - - @util.memoized_property - def _singular_version_location(self) -> Path: loc = self._version_locations if len(loc) > 1: raise util.CommandError("Multiple version_locations present") @@ -132,31 +113,40 @@ class ScriptDirectory: return loc[0] @util.memoized_property - def _version_locations(self) -> Sequence[Path]: + def _version_locations(self): if self.version_locations: return [ - util.coerce_resource_to_filename(location).absolute() + os.path.abspath(util.coerce_resource_to_filename(location)) for location in self.version_locations ] else: - return [Path(self.dir, "versions").absolute()] + return (os.path.abspath(os.path.join(self.dir, "versions")),) def _load_revisions(self) -> Iterator[Script]: - paths = [vers for vers in self._version_locations if vers.exists()] + if self.version_locations: + paths = [ + vers + for vers in self._version_locations + if os.path.exists(vers) + ] + else: + paths = [self.versions] dupes = set() for vers in paths: for file_path in Script._list_py_dir(self, vers): - real_path = file_path.resolve() + real_path = os.path.realpath(file_path) if real_path in dupes: util.warn( - f"File {real_path} loaded twice! ignoring. " - "Please ensure version_locations is unique." + "File %s loaded twice! ignoring. Please ensure " + "version_locations is unique." % real_path ) continue dupes.add(real_path) - script = Script._from_path(self, real_path) + filename = os.path.basename(real_path) + dir_name = os.path.dirname(real_path) + script = Script._from_filename(self, dir_name, filename) if script is None: continue yield script @@ -170,36 +160,74 @@ class ScriptDirectory: present. """ - script_location = config.get_alembic_option("script_location") + script_location = config.get_main_option("script_location") if script_location is None: raise util.CommandError( - "No 'script_location' key found in configuration." + "No 'script_location' key " "found in configuration." ) truncate_slug_length: Optional[int] - tsl = config.get_alembic_option("truncate_slug_length") + tsl = config.get_main_option("truncate_slug_length") if tsl is not None: truncate_slug_length = int(tsl) else: truncate_slug_length = None - prepend_sys_path = config.get_prepend_sys_paths_list() - if prepend_sys_path: - sys.path[:0] = prepend_sys_path + version_locations_str = config.get_main_option("version_locations") + version_locations: Optional[List[str]] + if version_locations_str: + version_path_separator = config.get_main_option( + "version_path_separator" + ) - rvl = config.get_alembic_boolean_option("recursive_version_locations") + split_on_path = { + None: None, + "space": " ", + "os": os.pathsep, + ":": ":", + ";": ";", + } + + try: + split_char: Optional[str] = split_on_path[ + version_path_separator + ] + except KeyError as ke: + raise ValueError( + "'%s' is not a valid value for " + "version_path_separator; " + "expected 'space', 'os', ':', ';'" % version_path_separator + ) from ke + else: + if split_char is None: + # legacy behaviour for backwards compatibility + version_locations = _split_on_space_comma.split( + version_locations_str + ) + else: + version_locations = [ + x for x in version_locations_str.split(split_char) if x + ] + else: + version_locations = None + + prepend_sys_path = config.get_main_option("prepend_sys_path") + if prepend_sys_path: + sys.path[:0] = list( + _split_on_space_comma_colon.split(prepend_sys_path) + ) + + rvl = config.get_main_option("recursive_version_locations") == "true" return ScriptDirectory( util.coerce_resource_to_filename(script_location), - file_template=config.get_alembic_option( + file_template=config.get_main_option( "file_template", _default_file_template ), truncate_slug_length=truncate_slug_length, - sourceless=config.get_alembic_boolean_option("sourceless"), - output_encoding=config.get_alembic_option( - "output_encoding", "utf-8" - ), - version_locations=config.get_version_locations_list(), - timezone=config.get_alembic_option("timezone"), - hooks=config.get_hooks_list(), + sourceless=config.get_main_option("sourceless") == "true", + output_encoding=config.get_main_option("output_encoding", "utf-8"), + version_locations=version_locations, + timezone=config.get_main_option("timezone"), + hook_config=config.get_section("post_write_hooks", {}), recursive_version_locations=rvl, messaging_opts=config.messaging_opts, ) @@ -269,22 +297,24 @@ class ScriptDirectory: ): yield cast(Script, rev) - def get_revisions(self, id_: _GetRevArg) -> Tuple[Script, ...]: + def get_revisions(self, id_: _GetRevArg) -> Tuple[Optional[Script], ...]: """Return the :class:`.Script` instance with the given rev identifier, symbolic name, or sequence of identifiers. """ with self._catch_revision_errors(): return cast( - Tuple[Script, ...], + Tuple[Optional[Script], ...], self.revision_map.get_revisions(id_), ) - def get_all_current(self, id_: Tuple[str, ...]) -> Set[Script]: + def get_all_current(self, id_: Tuple[str, ...]) -> Set[Optional[Script]]: with self._catch_revision_errors(): - return cast(Set[Script], self.revision_map._get_all_current(id_)) + return cast( + Set[Optional[Script]], self.revision_map._get_all_current(id_) + ) - def get_revision(self, id_: str) -> Script: + def get_revision(self, id_: str) -> Optional[Script]: """Return the :class:`.Script` instance with the given rev id. .. seealso:: @@ -294,7 +324,7 @@ class ScriptDirectory: """ with self._catch_revision_errors(): - return cast(Script, self.revision_map.get_revision(id_)) + return cast(Optional[Script], self.revision_map.get_revision(id_)) def as_revision_number( self, id_: Optional[str] @@ -549,37 +579,24 @@ class ScriptDirectory: util.load_python_file(self.dir, "env.py") @property - def env_py_location(self) -> str: - return str(Path(self.dir, "env.py")) + def env_py_location(self): + return os.path.abspath(os.path.join(self.dir, "env.py")) - def _append_template(self, src: Path, dest: Path, **kw: Any) -> None: + def _generate_template(self, src: str, dest: str, **kw: Any) -> None: with util.status( - f"Appending to existing {dest.absolute()}", - **self.messaging_opts, - ): - util.template_to_file( - src, - dest, - self.output_encoding, - append_with_newlines=True, - **kw, - ) - - def _generate_template(self, src: Path, dest: Path, **kw: Any) -> None: - with util.status( - f"Generating {dest.absolute()}", **self.messaging_opts + f"Generating {os.path.abspath(dest)}", **self.messaging_opts ): util.template_to_file(src, dest, self.output_encoding, **kw) - def _copy_file(self, src: Path, dest: Path) -> None: + def _copy_file(self, src: str, dest: str) -> None: with util.status( - f"Generating {dest.absolute()}", **self.messaging_opts + f"Generating {os.path.abspath(dest)}", **self.messaging_opts ): shutil.copy(src, dest) - def _ensure_directory(self, path: Path) -> None: - path = path.absolute() - if not path.exists(): + def _ensure_directory(self, path: str) -> None: + path = os.path.abspath(path) + if not os.path.exists(path): with util.status( f"Creating directory {path}", **self.messaging_opts ): @@ -587,27 +604,25 @@ class ScriptDirectory: def _generate_create_date(self) -> datetime.datetime: if self.timezone is not None: - if ZoneInfo is None: + if tz is None: raise util.CommandError( - "Python >= 3.9 is required for timezone support or " - "the 'backports.zoneinfo' package must be installed." + "The library 'python-dateutil' is required " + "for timezone support" ) # First, assume correct capitalization - try: - tzinfo = ZoneInfo(self.timezone) - except ZoneInfoNotFoundError: - tzinfo = None + tzinfo = tz.gettz(self.timezone) if tzinfo is None: - try: - tzinfo = ZoneInfo(self.timezone.upper()) - except ZoneInfoNotFoundError: - raise util.CommandError( - "Can't locate timezone: %s" % self.timezone - ) from None - - create_date = datetime.datetime.now( - tz=datetime.timezone.utc - ).astimezone(tzinfo) + # Fall back to uppercase + tzinfo = tz.gettz(self.timezone.upper()) + if tzinfo is None: + raise util.CommandError( + "Can't locate timezone: %s" % self.timezone + ) + create_date = ( + datetime.datetime.utcnow() + .replace(tzinfo=tz.tzutc()) + .astimezone(tzinfo) + ) else: create_date = datetime.datetime.now() return create_date @@ -619,8 +634,7 @@ class ScriptDirectory: head: Optional[_RevIdType] = None, splice: Optional[bool] = False, branch_labels: Optional[_RevIdType] = None, - version_path: Union[str, os.PathLike[str], None] = None, - file_template: Optional[str] = None, + version_path: Optional[str] = None, depends_on: Optional[_RevIdType] = None, **kw: Any, ) -> Optional[Script]: @@ -661,7 +675,7 @@ class ScriptDirectory: self.revision_map.get_revisions(head), ) for h in heads: - assert h != "base" # type: ignore[comparison-overlap] + assert h != "base" if len(set(heads)) != len(heads): raise util.CommandError("Duplicate head revisions specified") @@ -673,7 +687,7 @@ class ScriptDirectory: for head_ in heads: if head_ is not None: assert isinstance(head_, Script) - version_path = head_._script_path.parent + version_path = os.path.dirname(head_.path) break else: raise util.CommandError( @@ -681,19 +695,16 @@ class ScriptDirectory: "please specify --version-path" ) else: - version_path = self._singular_version_location - else: - version_path = Path(version_path) + version_path = self.versions - assert isinstance(version_path, Path) - norm_path = version_path.absolute() + norm_path = os.path.normpath(os.path.abspath(version_path)) for vers_path in self._version_locations: - if vers_path.absolute() == norm_path: + if os.path.normpath(vers_path) == norm_path: break else: raise util.CommandError( - f"Path {version_path} is not represented in current " - "version locations" + "Path %s is not represented in current " + "version locations" % version_path ) if self.version_locations: @@ -714,11 +725,9 @@ class ScriptDirectory: if depends_on: with self._catch_revision_errors(): resolved_depends_on = [ - ( - dep - if dep in rev.branch_labels # maintain branch labels - else rev.revision - ) # resolve partial revision identifiers + dep + if dep in rev.branch_labels # maintain branch labels + else rev.revision # resolve partial revision identifiers for rev, dep in [ (not_none(self.revision_map.get_revision(dep)), dep) for dep in util.to_list(depends_on) @@ -728,7 +737,7 @@ class ScriptDirectory: resolved_depends_on = None self._generate_template( - Path(self.dir, "script.py.mako"), + os.path.join(self.dir, "script.py.mako"), path, up_revision=str(revid), down_revision=revision.tuple_rev_as_scalar( @@ -742,7 +751,7 @@ class ScriptDirectory: **kw, ) - post_write_hooks = self.hooks + post_write_hooks = self.hook_config if post_write_hooks: write_hooks._run_hooks(path, post_write_hooks) @@ -765,11 +774,11 @@ class ScriptDirectory: def _rev_path( self, - path: Union[str, os.PathLike[str]], + path: str, rev_id: str, message: Optional[str], create_date: datetime.datetime, - ) -> Path: + ) -> str: epoch = int(create_date.timestamp()) slug = "_".join(_slug_re.findall(message or "")).lower() if len(slug) > self.truncate_slug_length: @@ -788,10 +797,11 @@ class ScriptDirectory: "second": create_date.second, } ) - return Path(path) / filename + return os.path.join(path, filename) class Script(revision.Revision): + """Represent a single revision file in a ``versions/`` directory. The :class:`.Script` instance is returned by methods @@ -799,17 +809,12 @@ class Script(revision.Revision): """ - def __init__( - self, - module: ModuleType, - rev_id: str, - path: Union[str, os.PathLike[str]], - ): + def __init__(self, module: ModuleType, rev_id: str, path: str): self.module = module - self.path = _preserving_path_as_str(path) + self.path = path super().__init__( rev_id, - module.down_revision, + module.down_revision, # type: ignore[attr-defined] branch_labels=util.to_tuple( getattr(module, "branch_labels", None), default=() ), @@ -824,10 +829,6 @@ class Script(revision.Revision): path: str """Filesystem path of the script.""" - @property - def _script_path(self) -> Path: - return Path(self.path) - _db_current_indicator: Optional[bool] = None """Utility variable which when set will cause string output to indicate this is a "current" version in some database""" @@ -846,9 +847,9 @@ class Script(revision.Revision): if doc: if hasattr(self.module, "_alembic_source_encoding"): doc = doc.decode( # type: ignore[attr-defined] - self.module._alembic_source_encoding + self.module._alembic_source_encoding # type: ignore[attr-defined] # noqa ) - return doc.strip() + return doc.strip() # type: ignore[union-attr] else: return "" @@ -888,7 +889,7 @@ class Script(revision.Revision): ) return entry - def __str__(self) -> str: + def __str__(self): return "%s -> %s%s%s%s, %s" % ( self._format_down_revision(), self.revision, @@ -922,11 +923,9 @@ class Script(revision.Revision): if head_indicators or tree_indicators: text += "%s%s%s" % ( " (head)" if self._is_real_head else "", - ( - " (effective head)" - if self.is_head and not self._is_real_head - else "" - ), + " (effective head)" + if self.is_head and not self._is_real_head + else "", " (current)" if self._db_current_indicator else "", ) if tree_indicators: @@ -960,33 +959,36 @@ class Script(revision.Revision): return util.format_as_comma(self._versioned_down_revisions) @classmethod - def _list_py_dir( - cls, scriptdir: ScriptDirectory, path: Path - ) -> List[Path]: + def _from_path( + cls, scriptdir: ScriptDirectory, path: str + ) -> Optional[Script]: + dir_, filename = os.path.split(path) + return cls._from_filename(scriptdir, dir_, filename) + + @classmethod + def _list_py_dir(cls, scriptdir: ScriptDirectory, path: str) -> List[str]: paths = [] - for root, dirs, files in compat.path_walk(path, top_down=True): - if root.name.endswith("__pycache__"): + for root, dirs, files in os.walk(path, topdown=True): + if root.endswith("__pycache__"): # a special case - we may include these files # if a `sourceless` option is specified continue for filename in sorted(files): - paths.append(root / filename) + paths.append(os.path.join(root, filename)) if scriptdir.sourceless: # look for __pycache__ - py_cache_path = root / "__pycache__" - if py_cache_path.exists(): + py_cache_path = os.path.join(root, "__pycache__") + if os.path.exists(py_cache_path): # add all files from __pycache__ whose filename is not # already in the names we got from the version directory. # add as relative paths including __pycache__ token - names = { - Path(filename).name.split(".")[0] for filename in files - } + names = {filename.split(".")[0] for filename in files} paths.extend( - py_cache_path / pyc - for pyc in py_cache_path.iterdir() - if pyc.name.split(".")[0] not in names + os.path.join(py_cache_path, pyc) + for pyc in os.listdir(py_cache_path) + if pyc.split(".")[0] not in names ) if not scriptdir.recursive_version_locations: @@ -1001,13 +1003,9 @@ class Script(revision.Revision): return paths @classmethod - def _from_path( - cls, scriptdir: ScriptDirectory, path: Union[str, os.PathLike[str]] + def _from_filename( + cls, scriptdir: ScriptDirectory, dir_: str, filename: str ) -> Optional[Script]: - - path = Path(path) - dir_, filename = path.parent, path.name - if scriptdir.sourceless: py_match = _sourceless_rev_file.match(filename) else: @@ -1025,8 +1023,8 @@ class Script(revision.Revision): is_c = is_o = False if is_o or is_c: - py_exists = (dir_ / py_filename).exists() - pyc_exists = (dir_ / (py_filename + "c")).exists() + py_exists = os.path.exists(os.path.join(dir_, py_filename)) + pyc_exists = os.path.exists(os.path.join(dir_, py_filename + "c")) # prefer .py over .pyc because we'd like to get the # source encoding; prefer .pyc over .pyo because we'd like to @@ -1042,14 +1040,14 @@ class Script(revision.Revision): m = _legacy_rev.match(filename) if not m: raise util.CommandError( - "Could not determine revision id from " - f"filename {filename}. " + "Could not determine revision id from filename %s. " "Be sure the 'revision' variable is " "declared inside the script (please see 'Upgrading " "from Alembic 0.1 to 0.2' in the documentation)." + % filename ) else: revision = m.group(1) else: revision = module.revision - return Script(module, revision, dir_ / filename) + return Script(module, revision, os.path.join(dir_, filename)) diff --git a/venv/lib/python3.12/site-packages/alembic/script/revision.py b/venv/lib/python3.12/site-packages/alembic/script/revision.py index 587e904..0350264 100644 --- a/venv/lib/python3.12/site-packages/alembic/script/revision.py +++ b/venv/lib/python3.12/site-packages/alembic/script/revision.py @@ -14,7 +14,6 @@ from typing import Iterator from typing import List from typing import Optional from typing import overload -from typing import Protocol from typing import Sequence from typing import Set from typing import Tuple @@ -48,17 +47,6 @@ _relative_destination = re.compile(r"(?:(.+?)@)?(\w+)?((?:\+|-)\d+)") _revision_illegal_chars = ["@", "-", "+"] -class _CollectRevisionsProtocol(Protocol): - def __call__( - self, - upper: _RevisionIdentifierType, - lower: _RevisionIdentifierType, - inclusive: bool, - implicit_base: bool, - assert_relative_length: bool, - ) -> Tuple[Set[Revision], Tuple[Optional[_RevisionOrBase], ...]]: ... - - class RevisionError(Exception): pass @@ -408,7 +396,7 @@ class RevisionMap: for rev in self._get_ancestor_nodes( [revision], include_dependencies=False, - map_=map_, + map_=cast(_RevisionMapType, map_), ): if rev is revision: continue @@ -719,11 +707,9 @@ class RevisionMap: resolved_target = target resolved_test_against_revs = [ - ( - self._revision_for_ident(test_against_rev) - if not isinstance(test_against_rev, Revision) - else test_against_rev - ) + self._revision_for_ident(test_against_rev) + if not isinstance(test_against_rev, Revision) + else test_against_rev for test_against_rev in util.to_tuple( test_against_revs, default=() ) @@ -805,7 +791,7 @@ class RevisionMap: The iterator yields :class:`.Revision` objects. """ - fn: _CollectRevisionsProtocol + fn: Callable if select_for_downgrade: fn = self._collect_downgrade_revisions else: @@ -832,7 +818,7 @@ class RevisionMap: ) -> Iterator[Any]: if omit_immediate_dependencies: - def fn(rev: Revision) -> Iterable[str]: + def fn(rev): if rev not in targets: return rev._all_nextrev else: @@ -840,12 +826,12 @@ class RevisionMap: elif include_dependencies: - def fn(rev: Revision) -> Iterable[str]: + def fn(rev): return rev._all_nextrev else: - def fn(rev: Revision) -> Iterable[str]: + def fn(rev): return rev.nextrev return self._iterate_related_revisions( @@ -861,12 +847,12 @@ class RevisionMap: ) -> Iterator[Revision]: if include_dependencies: - def fn(rev: Revision) -> Iterable[str]: + def fn(rev): return rev._normalized_down_revisions else: - def fn(rev: Revision) -> Iterable[str]: + def fn(rev): return rev._versioned_down_revisions return self._iterate_related_revisions( @@ -875,7 +861,7 @@ class RevisionMap: def _iterate_related_revisions( self, - fn: Callable[[Revision], Iterable[str]], + fn: Callable, targets: Collection[Optional[_RevisionOrBase]], map_: Optional[_RevisionMapType], check: bool = False, @@ -937,7 +923,7 @@ class RevisionMap: id_to_rev = self._revision_map - def get_ancestors(rev_id: str) -> Set[str]: + def get_ancestors(rev_id): return { r.revision for r in self._get_ancestor_nodes([id_to_rev[rev_id]]) @@ -1017,9 +1003,9 @@ class RevisionMap: # each time but it was getting complicated current_heads[current_candidate_idx] = heads_to_add[0] current_heads.extend(heads_to_add[1:]) - ancestors_by_idx[current_candidate_idx] = ( - get_ancestors(heads_to_add[0]) - ) + ancestors_by_idx[ + current_candidate_idx + ] = get_ancestors(heads_to_add[0]) ancestors_by_idx.extend( get_ancestors(head) for head in heads_to_add[1:] ) @@ -1055,7 +1041,7 @@ class RevisionMap: children: Sequence[Optional[_RevisionOrBase]] for _ in range(abs(steps)): if steps > 0: - assert initial != "base" # type: ignore[comparison-overlap] + assert initial != "base" # Walk up walk_up = [ is_revision(rev) @@ -1069,7 +1055,7 @@ class RevisionMap: children = walk_up else: # Walk down - if initial == "base": # type: ignore[comparison-overlap] + if initial == "base": children = () else: children = self.get_revisions( @@ -1184,13 +1170,9 @@ class RevisionMap: branch_label = symbol # Walk down the tree to find downgrade target. rev = self._walk( - start=( - self.get_revision(symbol) - if branch_label is None - else self.get_revision( - "%s@%s" % (branch_label, symbol) - ) - ), + start=self.get_revision(symbol) + if branch_label is None + else self.get_revision("%s@%s" % (branch_label, symbol)), steps=rel_int, no_overwalk=assert_relative_length, ) @@ -1207,7 +1189,7 @@ class RevisionMap: # No relative destination given, revision specified is absolute. branch_label, _, symbol = target.rpartition("@") if not branch_label: - branch_label = None + branch_label = None # type:ignore[assignment] return branch_label, self.get_revision(symbol) def _parse_upgrade_target( @@ -1308,13 +1290,9 @@ class RevisionMap: ) return ( self._walk( - start=( - self.get_revision(symbol) - if branch_label is None - else self.get_revision( - "%s@%s" % (branch_label, symbol) - ) - ), + start=self.get_revision(symbol) + if branch_label is None + else self.get_revision("%s@%s" % (branch_label, symbol)), steps=relative, no_overwalk=assert_relative_length, ), @@ -1323,11 +1301,11 @@ class RevisionMap: def _collect_downgrade_revisions( self, upper: _RevisionIdentifierType, - lower: _RevisionIdentifierType, + target: _RevisionIdentifierType, inclusive: bool, implicit_base: bool, assert_relative_length: bool, - ) -> Tuple[Set[Revision], Tuple[Optional[_RevisionOrBase], ...]]: + ) -> Any: """ Compute the set of current revisions specified by :upper, and the downgrade target specified by :target. Return all dependents of target @@ -1338,7 +1316,7 @@ class RevisionMap: branch_label, target_revision = self._parse_downgrade_target( current_revisions=upper, - target=lower, + target=target, assert_relative_length=assert_relative_length, ) if target_revision == "base": @@ -1430,7 +1408,7 @@ class RevisionMap: inclusive: bool, implicit_base: bool, assert_relative_length: bool, - ) -> Tuple[Set[Revision], Tuple[Revision, ...]]: + ) -> Tuple[Set[Revision], Tuple[Optional[_RevisionOrBase]]]: """ Compute the set of required revisions specified by :upper, and the current set of active revisions specified by :lower. Find the @@ -1522,7 +1500,7 @@ class RevisionMap: ) needs.intersection_update(lower_descendents) - return needs, tuple(targets) + return needs, tuple(targets) # type:ignore[return-value] def _get_all_current( self, id_: Tuple[str, ...] @@ -1703,13 +1681,15 @@ class Revision: @overload -def tuple_rev_as_scalar(rev: None) -> None: ... +def tuple_rev_as_scalar(rev: None) -> None: + ... @overload def tuple_rev_as_scalar( - rev: Union[Tuple[_T, ...], List[_T]], -) -> Union[_T, Tuple[_T, ...], List[_T]]: ... + rev: Union[Tuple[_T, ...], List[_T]] +) -> Union[_T, Tuple[_T, ...], List[_T]]: + ... def tuple_rev_as_scalar( diff --git a/venv/lib/python3.12/site-packages/alembic/script/write_hooks.py b/venv/lib/python3.12/site-packages/alembic/script/write_hooks.py index f40bb35..b44ce64 100644 --- a/venv/lib/python3.12/site-packages/alembic/script/write_hooks.py +++ b/venv/lib/python3.12/site-packages/alembic/script/write_hooks.py @@ -1,10 +1,5 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations -import importlib.util -import os import shlex import subprocess import sys @@ -12,16 +7,13 @@ from typing import Any from typing import Callable from typing import Dict from typing import List +from typing import Mapping from typing import Optional -from typing import TYPE_CHECKING from typing import Union from .. import util from ..util import compat -from ..util.pyfiles import _preserving_path_as_str -if TYPE_CHECKING: - from ..config import PostWriteHookConfig REVISION_SCRIPT_TOKEN = "REVISION_SCRIPT_FILENAME" @@ -48,19 +40,16 @@ def register(name: str) -> Callable: def _invoke( - name: str, - revision_path: Union[str, os.PathLike[str]], - options: PostWriteHookConfig, + name: str, revision: str, options: Mapping[str, Union[str, int]] ) -> Any: """Invokes the formatter registered for the given name. :param name: The name of a formatter in the registry - :param revision: string path to the revision file + :param revision: A :class:`.MigrationRevision` instance :param options: A dict containing kwargs passed to the specified formatter. :raises: :class:`alembic.util.CommandError` """ - revision_path = _preserving_path_as_str(revision_path) try: hook = _registry[name] except KeyError as ke: @@ -68,28 +57,36 @@ def _invoke( f"No formatter with name '{name}' registered" ) from ke else: - return hook(revision_path, options) + return hook(revision, options) -def _run_hooks( - path: Union[str, os.PathLike[str]], hooks: list[PostWriteHookConfig] -) -> None: +def _run_hooks(path: str, hook_config: Mapping[str, str]) -> None: """Invoke hooks for a generated revision.""" - for hook in hooks: - name = hook["_hook_name"] + from .base import _split_on_space_comma + + names = _split_on_space_comma.split(hook_config.get("hooks", "")) + + for name in names: + if not name: + continue + opts = { + key[len(name) + 1 :]: hook_config[key] + for key in hook_config + if key.startswith(name + ".") + } + opts["_hook_name"] = name try: - type_ = hook["type"] + type_ = opts["type"] except KeyError as ke: raise util.CommandError( - f"Key '{name}.type' (or 'type' in toml) is required " - f"for post write hook {name!r}" + f"Key {name}.type is required for post write hook {name!r}" ) from ke else: with util.status( f"Running post write hook {name!r}", newline=True ): - _invoke(type_, path, hook) + _invoke(type_, path, opts) def _parse_cmdline_options(cmdline_options_str: str, path: str) -> List[str]: @@ -113,35 +110,17 @@ def _parse_cmdline_options(cmdline_options_str: str, path: str) -> List[str]: return cmdline_options_list -def _get_required_option(options: dict, name: str) -> str: - try: - return options[name] - except KeyError as ke: - raise util.CommandError( - f"Key {options['_hook_name']}.{name} is required for post " - f"write hook {options['_hook_name']!r}" - ) from ke - - -def _run_hook( - path: str, options: dict, ignore_output: bool, command: List[str] -) -> None: - cwd: Optional[str] = options.get("cwd", None) - cmdline_options_str = options.get("options", "") - cmdline_options_list = _parse_cmdline_options(cmdline_options_str, path) - - kw: Dict[str, Any] = {} - if ignore_output: - kw["stdout"] = kw["stderr"] = subprocess.DEVNULL - - subprocess.run([*command, *cmdline_options_list], cwd=cwd, **kw) - - @register("console_scripts") def console_scripts( path: str, options: dict, ignore_output: bool = False ) -> None: - entrypoint_name = _get_required_option(options, "entrypoint") + try: + entrypoint_name = options["entrypoint"] + except KeyError as ke: + raise util.CommandError( + f"Key {options['_hook_name']}.entrypoint is required for post " + f"write hook {options['_hook_name']!r}" + ) from ke for entry in compat.importlib_metadata_get("console_scripts"): if entry.name == entrypoint_name: impl: Any = entry @@ -150,27 +129,48 @@ def console_scripts( raise util.CommandError( f"Could not find entrypoint console_scripts.{entrypoint_name}" ) + cwd: Optional[str] = options.get("cwd", None) + cmdline_options_str = options.get("options", "") + cmdline_options_list = _parse_cmdline_options(cmdline_options_str, path) - command = [ - sys.executable, - "-c", - f"import {impl.module}; {impl.module}.{impl.attr}()", - ] - _run_hook(path, options, ignore_output, command) + kw: Dict[str, Any] = {} + if ignore_output: + kw["stdout"] = kw["stderr"] = subprocess.DEVNULL + + subprocess.run( + [ + sys.executable, + "-c", + f"import {impl.module}; {impl.module}.{impl.attr}()", + ] + + cmdline_options_list, + cwd=cwd, + **kw, + ) @register("exec") def exec_(path: str, options: dict, ignore_output: bool = False) -> None: - executable = _get_required_option(options, "executable") - _run_hook(path, options, ignore_output, command=[executable]) + try: + executable = options["executable"] + except KeyError as ke: + raise util.CommandError( + f"Key {options['_hook_name']}.executable is required for post " + f"write hook {options['_hook_name']!r}" + ) from ke + cwd: Optional[str] = options.get("cwd", None) + cmdline_options_str = options.get("options", "") + cmdline_options_list = _parse_cmdline_options(cmdline_options_str, path) + kw: Dict[str, Any] = {} + if ignore_output: + kw["stdout"] = kw["stderr"] = subprocess.DEVNULL -@register("module") -def module(path: str, options: dict, ignore_output: bool = False) -> None: - module_name = _get_required_option(options, "module") - - if importlib.util.find_spec(module_name) is None: - raise util.CommandError(f"Could not find module {module_name}") - - command = [sys.executable, "-m", module_name] - _run_hook(path, options, ignore_output, command) + subprocess.run( + [ + executable, + *cmdline_options_list, + ], + cwd=cwd, + **kw, + ) diff --git a/venv/lib/python3.12/site-packages/alembic/templates/async/alembic.ini.mako b/venv/lib/python3.12/site-packages/alembic/templates/async/alembic.ini.mako index 67acc6d..bc9f2d5 100644 --- a/venv/lib/python3.12/site-packages/alembic/templates/async/alembic.ini.mako +++ b/venv/lib/python3.12/site-packages/alembic/templates/async/alembic.ini.mako @@ -1,32 +1,27 @@ # A generic, single database configuration. [alembic] -# path to migration scripts. -# this is typically a path given in POSIX (e.g. forward slashes) -# format, relative to the token %(here)s which refers to the location of this -# ini file +# path to migration scripts script_location = ${script_location} # template used to generate migration file names; The default value is %%(rev)s_%%(slug)s # Uncomment the line below if you want the files to be prepended with date and time -# see https://alembic.sqlalchemy.org/en/latest/tutorial.html#editing-the-ini-file -# for all available tokens # file_template = %%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d-%%(rev)s_%%(slug)s # sys.path path, will be prepended to sys.path if present. -# defaults to the current working directory. for multiple paths, the path separator -# is defined by "path_separator" below. +# defaults to the current working directory. prepend_sys_path = . # timezone to use when rendering the date within the migration file # as well as the filename. -# If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library. -# Any required deps can installed by adding `alembic[tz]` to the pip requirements -# string value is passed to ZoneInfo() +# If specified, requires the python-dateutil library that can be +# installed by adding `alembic[tz]` to the pip requirements +# string value is passed to dateutil.tz.gettz() # leave blank for localtime # timezone = -# max length of characters to apply to the "slug" field +# max length of characters to apply to the +# "slug" field # truncate_slug_length = 40 # set to 'true' to run the environment during @@ -39,38 +34,20 @@ prepend_sys_path = . # sourceless = false # version location specification; This defaults -# to /versions. When using multiple version +# to ${script_location}/versions. When using multiple version # directories, initial revisions must be specified with --version-path. -# The path separator used here should be the separator specified by "path_separator" -# below. -# version_locations = %(here)s/bar:%(here)s/bat:%(here)s/alembic/versions +# The path separator used here should be the separator specified by "version_path_separator" below. +# version_locations = %(here)s/bar:%(here)s/bat:${script_location}/versions -# path_separator; This indicates what character is used to split lists of file -# paths, including version_locations and prepend_sys_path within configparser -# files such as alembic.ini. -# The default rendered in new alembic.ini files is "os", which uses os.pathsep -# to provide os-dependent path splitting. +# version path separator; As mentioned above, this is the character used to split +# version_locations. The default within new alembic.ini files is "os", which uses os.pathsep. +# If this key is omitted entirely, it falls back to the legacy behavior of splitting on spaces and/or commas. +# Valid values for version_path_separator are: # -# Note that in order to support legacy alembic.ini files, this default does NOT -# take place if path_separator is not present in alembic.ini. If this -# option is omitted entirely, fallback logic is as follows: -# -# 1. Parsing of the version_locations option falls back to using the legacy -# "version_path_separator" key, which if absent then falls back to the legacy -# behavior of splitting on spaces and/or commas. -# 2. Parsing of the prepend_sys_path option falls back to the legacy -# behavior of splitting on spaces, commas, or colons. -# -# Valid values for path_separator are: -# -# path_separator = : -# path_separator = ; -# path_separator = space -# path_separator = newline -# -# Use os.pathsep. Default configuration used for new projects. -path_separator = os - +# version_path_separator = : +# version_path_separator = ; +# version_path_separator = space +version_path_separator = os # Use os.pathsep. Default configuration used for new projects. # set to 'true' to search source files recursively # in each "version_locations" directory @@ -81,9 +58,6 @@ path_separator = os # are written from script.py.mako # output_encoding = utf-8 -# database URL. This is consumed by the user-maintained env.py script only. -# other means of configuring database URLs may be customized within the env.py -# file. sqlalchemy.url = driver://user:pass@localhost/dbname @@ -98,20 +72,13 @@ sqlalchemy.url = driver://user:pass@localhost/dbname # black.entrypoint = black # black.options = -l 79 REVISION_SCRIPT_FILENAME -# lint with attempts to fix using "ruff" - use the module runner, against the "ruff" module -# hooks = ruff -# ruff.type = module -# ruff.module = ruff -# ruff.options = check --fix REVISION_SCRIPT_FILENAME - -# Alternatively, use the exec runner to execute a binary found on your PATH +# lint with attempts to fix using "ruff" - use the exec runner, execute a binary # hooks = ruff # ruff.type = exec -# ruff.executable = ruff -# ruff.options = check --fix REVISION_SCRIPT_FILENAME +# ruff.executable = %(here)s/.venv/bin/ruff +# ruff.options = --fix REVISION_SCRIPT_FILENAME -# Logging configuration. This is also consumed by the user-maintained -# env.py script only. +# Logging configuration [loggers] keys = root,sqlalchemy,alembic @@ -122,12 +89,12 @@ keys = console keys = generic [logger_root] -level = WARNING +level = WARN handlers = console qualname = [logger_sqlalchemy] -level = WARNING +level = WARN handlers = qualname = sqlalchemy.engine diff --git a/venv/lib/python3.12/site-packages/alembic/templates/async/script.py.mako b/venv/lib/python3.12/site-packages/alembic/templates/async/script.py.mako index 1101630..fbc4b07 100644 --- a/venv/lib/python3.12/site-packages/alembic/templates/async/script.py.mako +++ b/venv/lib/python3.12/site-packages/alembic/templates/async/script.py.mako @@ -13,16 +13,14 @@ ${imports if imports else ""} # revision identifiers, used by Alembic. revision: str = ${repr(up_revision)} -down_revision: Union[str, Sequence[str], None] = ${repr(down_revision)} +down_revision: Union[str, None] = ${repr(down_revision)} branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)} depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)} def upgrade() -> None: - """Upgrade schema.""" ${upgrades if upgrades else "pass"} def downgrade() -> None: - """Downgrade schema.""" ${downgrades if downgrades else "pass"} diff --git a/venv/lib/python3.12/site-packages/alembic/templates/generic/alembic.ini.mako b/venv/lib/python3.12/site-packages/alembic/templates/generic/alembic.ini.mako index bb93d0e..c18ddb4 100644 --- a/venv/lib/python3.12/site-packages/alembic/templates/generic/alembic.ini.mako +++ b/venv/lib/python3.12/site-packages/alembic/templates/generic/alembic.ini.mako @@ -1,10 +1,7 @@ # A generic, single database configuration. [alembic] -# path to migration scripts. -# this is typically a path given in POSIX (e.g. forward slashes) -# format, relative to the token %(here)s which refers to the location of this -# ini file +# path to migration scripts script_location = ${script_location} # template used to generate migration file names; The default value is %%(rev)s_%%(slug)s @@ -14,20 +11,19 @@ script_location = ${script_location} # file_template = %%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d-%%(rev)s_%%(slug)s # sys.path path, will be prepended to sys.path if present. -# defaults to the current working directory. for multiple paths, the path separator -# is defined by "path_separator" below. +# defaults to the current working directory. prepend_sys_path = . - # timezone to use when rendering the date within the migration file # as well as the filename. -# If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library. -# Any required deps can installed by adding `alembic[tz]` to the pip requirements -# string value is passed to ZoneInfo() +# If specified, requires the python-dateutil library that can be +# installed by adding `alembic[tz]` to the pip requirements +# string value is passed to dateutil.tz.gettz() # leave blank for localtime # timezone = -# max length of characters to apply to the "slug" field +# max length of characters to apply to the +# "slug" field # truncate_slug_length = 40 # set to 'true' to run the environment during @@ -40,37 +36,20 @@ prepend_sys_path = . # sourceless = false # version location specification; This defaults -# to /versions. When using multiple version +# to ${script_location}/versions. When using multiple version # directories, initial revisions must be specified with --version-path. -# The path separator used here should be the separator specified by "path_separator" -# below. -# version_locations = %(here)s/bar:%(here)s/bat:%(here)s/alembic/versions +# The path separator used here should be the separator specified by "version_path_separator" below. +# version_locations = %(here)s/bar:%(here)s/bat:${script_location}/versions -# path_separator; This indicates what character is used to split lists of file -# paths, including version_locations and prepend_sys_path within configparser -# files such as alembic.ini. -# The default rendered in new alembic.ini files is "os", which uses os.pathsep -# to provide os-dependent path splitting. +# version path separator; As mentioned above, this is the character used to split +# version_locations. The default within new alembic.ini files is "os", which uses os.pathsep. +# If this key is omitted entirely, it falls back to the legacy behavior of splitting on spaces and/or commas. +# Valid values for version_path_separator are: # -# Note that in order to support legacy alembic.ini files, this default does NOT -# take place if path_separator is not present in alembic.ini. If this -# option is omitted entirely, fallback logic is as follows: -# -# 1. Parsing of the version_locations option falls back to using the legacy -# "version_path_separator" key, which if absent then falls back to the legacy -# behavior of splitting on spaces and/or commas. -# 2. Parsing of the prepend_sys_path option falls back to the legacy -# behavior of splitting on spaces, commas, or colons. -# -# Valid values for path_separator are: -# -# path_separator = : -# path_separator = ; -# path_separator = space -# path_separator = newline -# -# Use os.pathsep. Default configuration used for new projects. -path_separator = os +# version_path_separator = : +# version_path_separator = ; +# version_path_separator = space +version_path_separator = os # Use os.pathsep. Default configuration used for new projects. # set to 'true' to search source files recursively # in each "version_locations" directory @@ -81,9 +60,6 @@ path_separator = os # are written from script.py.mako # output_encoding = utf-8 -# database URL. This is consumed by the user-maintained env.py script only. -# other means of configuring database URLs may be customized within the env.py -# file. sqlalchemy.url = driver://user:pass@localhost/dbname @@ -98,20 +74,13 @@ sqlalchemy.url = driver://user:pass@localhost/dbname # black.entrypoint = black # black.options = -l 79 REVISION_SCRIPT_FILENAME -# lint with attempts to fix using "ruff" - use the module runner, against the "ruff" module -# hooks = ruff -# ruff.type = module -# ruff.module = ruff -# ruff.options = check --fix REVISION_SCRIPT_FILENAME - -# Alternatively, use the exec runner to execute a binary found on your PATH +# lint with attempts to fix using "ruff" - use the exec runner, execute a binary # hooks = ruff # ruff.type = exec -# ruff.executable = ruff -# ruff.options = check --fix REVISION_SCRIPT_FILENAME +# ruff.executable = %(here)s/.venv/bin/ruff +# ruff.options = --fix REVISION_SCRIPT_FILENAME -# Logging configuration. This is also consumed by the user-maintained -# env.py script only. +# Logging configuration [loggers] keys = root,sqlalchemy,alembic @@ -122,12 +91,12 @@ keys = console keys = generic [logger_root] -level = WARNING +level = WARN handlers = console qualname = [logger_sqlalchemy] -level = WARNING +level = WARN handlers = qualname = sqlalchemy.engine diff --git a/venv/lib/python3.12/site-packages/alembic/templates/generic/script.py.mako b/venv/lib/python3.12/site-packages/alembic/templates/generic/script.py.mako index 1101630..fbc4b07 100644 --- a/venv/lib/python3.12/site-packages/alembic/templates/generic/script.py.mako +++ b/venv/lib/python3.12/site-packages/alembic/templates/generic/script.py.mako @@ -13,16 +13,14 @@ ${imports if imports else ""} # revision identifiers, used by Alembic. revision: str = ${repr(up_revision)} -down_revision: Union[str, Sequence[str], None] = ${repr(down_revision)} +down_revision: Union[str, None] = ${repr(down_revision)} branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)} depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)} def upgrade() -> None: - """Upgrade schema.""" ${upgrades if upgrades else "pass"} def downgrade() -> None: - """Downgrade schema.""" ${downgrades if downgrades else "pass"} diff --git a/venv/lib/python3.12/site-packages/alembic/templates/multidb/alembic.ini.mako b/venv/lib/python3.12/site-packages/alembic/templates/multidb/alembic.ini.mako index a662983..a9ea075 100644 --- a/venv/lib/python3.12/site-packages/alembic/templates/multidb/alembic.ini.mako +++ b/venv/lib/python3.12/site-packages/alembic/templates/multidb/alembic.ini.mako @@ -1,10 +1,7 @@ # a multi-database configuration. [alembic] -# path to migration scripts. -# this is typically a path given in POSIX (e.g. forward slashes) -# format, relative to the token %(here)s which refers to the location of this -# ini file +# path to migration scripts script_location = ${script_location} # template used to generate migration file names; The default value is %%(rev)s_%%(slug)s @@ -14,19 +11,19 @@ script_location = ${script_location} # file_template = %%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d-%%(rev)s_%%(slug)s # sys.path path, will be prepended to sys.path if present. -# defaults to the current working directory. for multiple paths, the path separator -# is defined by "path_separator" below. +# defaults to the current working directory. prepend_sys_path = . # timezone to use when rendering the date within the migration file # as well as the filename. -# If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library. -# Any required deps can installed by adding `alembic[tz]` to the pip requirements -# string value is passed to ZoneInfo() +# If specified, requires the python-dateutil library that can be +# installed by adding `alembic[tz]` to the pip requirements +# string value is passed to dateutil.tz.gettz() # leave blank for localtime # timezone = -# max length of characters to apply to the "slug" field +# max length of characters to apply to the +# "slug" field # truncate_slug_length = 40 # set to 'true' to run the environment during @@ -39,37 +36,20 @@ prepend_sys_path = . # sourceless = false # version location specification; This defaults -# to /versions. When using multiple version +# to ${script_location}/versions. When using multiple version # directories, initial revisions must be specified with --version-path. -# The path separator used here should be the separator specified by "path_separator" -# below. -# version_locations = %(here)s/bar:%(here)s/bat:%(here)s/alembic/versions +# The path separator used here should be the separator specified by "version_path_separator" below. +# version_locations = %(here)s/bar:%(here)s/bat:${script_location}/versions -# path_separator; This indicates what character is used to split lists of file -# paths, including version_locations and prepend_sys_path within configparser -# files such as alembic.ini. -# The default rendered in new alembic.ini files is "os", which uses os.pathsep -# to provide os-dependent path splitting. +# version path separator; As mentioned above, this is the character used to split +# version_locations. The default within new alembic.ini files is "os", which uses os.pathsep. +# If this key is omitted entirely, it falls back to the legacy behavior of splitting on spaces and/or commas. +# Valid values for version_path_separator are: # -# Note that in order to support legacy alembic.ini files, this default does NOT -# take place if path_separator is not present in alembic.ini. If this -# option is omitted entirely, fallback logic is as follows: -# -# 1. Parsing of the version_locations option falls back to using the legacy -# "version_path_separator" key, which if absent then falls back to the legacy -# behavior of splitting on spaces and/or commas. -# 2. Parsing of the prepend_sys_path option falls back to the legacy -# behavior of splitting on spaces, commas, or colons. -# -# Valid values for path_separator are: -# -# path_separator = : -# path_separator = ; -# path_separator = space -# path_separator = newline -# -# Use os.pathsep. Default configuration used for new projects. -path_separator = os +# version_path_separator = : +# version_path_separator = ; +# version_path_separator = space +version_path_separator = os # Use os.pathsep. Default configuration used for new projects. # set to 'true' to search source files recursively # in each "version_locations" directory @@ -80,13 +60,6 @@ path_separator = os # are written from script.py.mako # output_encoding = utf-8 -# for multiple database configuration, new named sections are added -# which each include a distinct ``sqlalchemy.url`` entry. A custom value -# ``databases`` is added which indicates a listing of the per-database sections. -# The ``databases`` entry as well as the URLs present in the ``[engine1]`` -# and ``[engine2]`` sections continue to be consumed by the user-maintained env.py -# script only. - databases = engine1, engine2 [engine1] @@ -106,20 +79,13 @@ sqlalchemy.url = driver://user:pass@localhost/dbname2 # black.entrypoint = black # black.options = -l 79 REVISION_SCRIPT_FILENAME -# lint with attempts to fix using "ruff" - use the module runner, against the "ruff" module -# hooks = ruff -# ruff.type = module -# ruff.module = ruff -# ruff.options = check --fix REVISION_SCRIPT_FILENAME - -# Alternatively, use the exec runner to execute a binary found on your PATH +# lint with attempts to fix using "ruff" - use the exec runner, execute a binary # hooks = ruff # ruff.type = exec -# ruff.executable = ruff -# ruff.options = check --fix REVISION_SCRIPT_FILENAME +# ruff.executable = %(here)s/.venv/bin/ruff +# ruff.options = --fix REVISION_SCRIPT_FILENAME -# Logging configuration. This is also consumed by the user-maintained -# env.py script only. +# Logging configuration [loggers] keys = root,sqlalchemy,alembic @@ -130,12 +96,12 @@ keys = console keys = generic [logger_root] -level = WARNING +level = WARN handlers = console qualname = [logger_sqlalchemy] -level = WARNING +level = WARN handlers = qualname = sqlalchemy.engine diff --git a/venv/lib/python3.12/site-packages/alembic/templates/multidb/script.py.mako b/venv/lib/python3.12/site-packages/alembic/templates/multidb/script.py.mako index 8e667d8..6108b8a 100644 --- a/venv/lib/python3.12/site-packages/alembic/templates/multidb/script.py.mako +++ b/venv/lib/python3.12/site-packages/alembic/templates/multidb/script.py.mako @@ -16,18 +16,16 @@ ${imports if imports else ""} # revision identifiers, used by Alembic. revision: str = ${repr(up_revision)} -down_revision: Union[str, Sequence[str], None] = ${repr(down_revision)} +down_revision: Union[str, None] = ${repr(down_revision)} branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)} depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)} def upgrade(engine_name: str) -> None: - """Upgrade schema.""" globals()["upgrade_%s" % engine_name]() def downgrade(engine_name: str) -> None: - """Downgrade schema.""" globals()["downgrade_%s" % engine_name]() <% @@ -40,12 +38,10 @@ def downgrade(engine_name: str) -> None: % for db_name in re.split(r',\s*', db_names): def upgrade_${db_name}() -> None: - """Upgrade ${db_name} schema.""" ${context.get("%s_upgrades" % db_name, "pass")} def downgrade_${db_name}() -> None: - """Downgrade ${db_name} schema.""" ${context.get("%s_downgrades" % db_name, "pass")} % endfor diff --git a/venv/lib/python3.12/site-packages/alembic/templates/pyproject/README b/venv/lib/python3.12/site-packages/alembic/templates/pyproject/README deleted file mode 100644 index fdacc05..0000000 --- a/venv/lib/python3.12/site-packages/alembic/templates/pyproject/README +++ /dev/null @@ -1 +0,0 @@ -pyproject configuration, based on the generic configuration. \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/alembic/templates/pyproject/alembic.ini.mako b/venv/lib/python3.12/site-packages/alembic/templates/pyproject/alembic.ini.mako deleted file mode 100644 index 3d10f0e..0000000 --- a/venv/lib/python3.12/site-packages/alembic/templates/pyproject/alembic.ini.mako +++ /dev/null @@ -1,44 +0,0 @@ -# A generic, single database configuration. - -[alembic] - -# database URL. This is consumed by the user-maintained env.py script only. -# other means of configuring database URLs may be customized within the env.py -# file. -sqlalchemy.url = driver://user:pass@localhost/dbname - - -# Logging configuration -[loggers] -keys = root,sqlalchemy,alembic - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = WARNING -handlers = console -qualname = - -[logger_sqlalchemy] -level = WARNING -handlers = -qualname = sqlalchemy.engine - -[logger_alembic] -level = INFO -handlers = -qualname = alembic - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(levelname)-5.5s [%(name)s] %(message)s -datefmt = %H:%M:%S diff --git a/venv/lib/python3.12/site-packages/alembic/templates/pyproject/env.py b/venv/lib/python3.12/site-packages/alembic/templates/pyproject/env.py deleted file mode 100644 index 36112a3..0000000 --- a/venv/lib/python3.12/site-packages/alembic/templates/pyproject/env.py +++ /dev/null @@ -1,78 +0,0 @@ -from logging.config import fileConfig - -from sqlalchemy import engine_from_config -from sqlalchemy import pool - -from alembic import context - -# this is the Alembic Config object, which provides -# access to the values within the .ini file in use. -config = context.config - -# Interpret the config file for Python logging. -# This line sets up loggers basically. -if config.config_file_name is not None: - fileConfig(config.config_file_name) - -# add your model's MetaData object here -# for 'autogenerate' support -# from myapp import mymodel -# target_metadata = mymodel.Base.metadata -target_metadata = None - -# other values from the config, defined by the needs of env.py, -# can be acquired: -# my_important_option = config.get_main_option("my_important_option") -# ... etc. - - -def run_migrations_offline() -> None: - """Run migrations in 'offline' mode. - - This configures the context with just a URL - and not an Engine, though an Engine is acceptable - here as well. By skipping the Engine creation - we don't even need a DBAPI to be available. - - Calls to context.execute() here emit the given string to the - script output. - - """ - url = config.get_main_option("sqlalchemy.url") - context.configure( - url=url, - target_metadata=target_metadata, - literal_binds=True, - dialect_opts={"paramstyle": "named"}, - ) - - with context.begin_transaction(): - context.run_migrations() - - -def run_migrations_online() -> None: - """Run migrations in 'online' mode. - - In this scenario we need to create an Engine - and associate a connection with the context. - - """ - connectable = engine_from_config( - config.get_section(config.config_ini_section, {}), - prefix="sqlalchemy.", - poolclass=pool.NullPool, - ) - - with connectable.connect() as connection: - context.configure( - connection=connection, target_metadata=target_metadata - ) - - with context.begin_transaction(): - context.run_migrations() - - -if context.is_offline_mode(): - run_migrations_offline() -else: - run_migrations_online() diff --git a/venv/lib/python3.12/site-packages/alembic/templates/pyproject/pyproject.toml.mako b/venv/lib/python3.12/site-packages/alembic/templates/pyproject/pyproject.toml.mako deleted file mode 100644 index e68cef3..0000000 --- a/venv/lib/python3.12/site-packages/alembic/templates/pyproject/pyproject.toml.mako +++ /dev/null @@ -1,82 +0,0 @@ -[tool.alembic] - -# path to migration scripts. -# this is typically a path given in POSIX (e.g. forward slashes) -# format, relative to the token %(here)s which refers to the location of this -# ini file -script_location = "${script_location}" - -# template used to generate migration file names; The default value is %%(rev)s_%%(slug)s -# Uncomment the line below if you want the files to be prepended with date and time -# see https://alembic.sqlalchemy.org/en/latest/tutorial.html#editing-the-ini-file -# for all available tokens -# file_template = "%%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d-%%(rev)s_%%(slug)s" - -# additional paths to be prepended to sys.path. defaults to the current working directory. -prepend_sys_path = [ - "." -] - -# timezone to use when rendering the date within the migration file -# as well as the filename. -# If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library. -# Any required deps can installed by adding `alembic[tz]` to the pip requirements -# string value is passed to ZoneInfo() -# leave blank for localtime -# timezone = - -# max length of characters to apply to the "slug" field -# truncate_slug_length = 40 - -# set to 'true' to run the environment during -# the 'revision' command, regardless of autogenerate -# revision_environment = false - -# set to 'true' to allow .pyc and .pyo files without -# a source .py file to be detected as revisions in the -# versions/ directory -# sourceless = false - -# version location specification; This defaults -# to /versions. When using multiple version -# directories, initial revisions must be specified with --version-path. -# version_locations = [ -# "%(here)s/alembic/versions", -# "%(here)s/foo/bar" -# ] - - -# set to 'true' to search source files recursively -# in each "version_locations" directory -# new in Alembic version 1.10 -# recursive_version_locations = false - -# the output encoding used when revision files -# are written from script.py.mako -# output_encoding = "utf-8" - -# This section defines scripts or Python functions that are run -# on newly generated revision scripts. See the documentation for further -# detail and examples -# [[tool.alembic.post_write_hooks]] -# format using "black" - use the console_scripts runner, -# against the "black" entrypoint -# name = "black" -# type = "console_scripts" -# entrypoint = "black" -# options = "-l 79 REVISION_SCRIPT_FILENAME" -# -# [[tool.alembic.post_write_hooks]] -# lint with attempts to fix using "ruff" - use the module runner, against the "ruff" module -# name = "ruff" -# type = "module" -# module = "ruff" -# options = "check --fix REVISION_SCRIPT_FILENAME" -# -# [[tool.alembic.post_write_hooks]] -# Alternatively, use the exec runner to execute a binary found on your PATH -# name = "ruff" -# type = "exec" -# executable = "ruff" -# options = "check --fix REVISION_SCRIPT_FILENAME" - diff --git a/venv/lib/python3.12/site-packages/alembic/templates/pyproject/script.py.mako b/venv/lib/python3.12/site-packages/alembic/templates/pyproject/script.py.mako deleted file mode 100644 index 1101630..0000000 --- a/venv/lib/python3.12/site-packages/alembic/templates/pyproject/script.py.mako +++ /dev/null @@ -1,28 +0,0 @@ -"""${message} - -Revision ID: ${up_revision} -Revises: ${down_revision | comma,n} -Create Date: ${create_date} - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa -${imports if imports else ""} - -# revision identifiers, used by Alembic. -revision: str = ${repr(up_revision)} -down_revision: Union[str, Sequence[str], None] = ${repr(down_revision)} -branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)} -depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)} - - -def upgrade() -> None: - """Upgrade schema.""" - ${upgrades if upgrades else "pass"} - - -def downgrade() -> None: - """Downgrade schema.""" - ${downgrades if downgrades else "pass"} diff --git a/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/README b/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/README deleted file mode 100644 index dfd718d..0000000 --- a/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/README +++ /dev/null @@ -1 +0,0 @@ -pyproject configuration, with an async dbapi. \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/alembic.ini.mako b/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/alembic.ini.mako deleted file mode 100644 index 3d10f0e..0000000 --- a/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/alembic.ini.mako +++ /dev/null @@ -1,44 +0,0 @@ -# A generic, single database configuration. - -[alembic] - -# database URL. This is consumed by the user-maintained env.py script only. -# other means of configuring database URLs may be customized within the env.py -# file. -sqlalchemy.url = driver://user:pass@localhost/dbname - - -# Logging configuration -[loggers] -keys = root,sqlalchemy,alembic - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = WARNING -handlers = console -qualname = - -[logger_sqlalchemy] -level = WARNING -handlers = -qualname = sqlalchemy.engine - -[logger_alembic] -level = INFO -handlers = -qualname = alembic - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(levelname)-5.5s [%(name)s] %(message)s -datefmt = %H:%M:%S diff --git a/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/env.py b/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/env.py deleted file mode 100644 index 9f2d519..0000000 --- a/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/env.py +++ /dev/null @@ -1,89 +0,0 @@ -import asyncio -from logging.config import fileConfig - -from sqlalchemy import pool -from sqlalchemy.engine import Connection -from sqlalchemy.ext.asyncio import async_engine_from_config - -from alembic import context - -# this is the Alembic Config object, which provides -# access to the values within the .ini file in use. -config = context.config - -# Interpret the config file for Python logging. -# This line sets up loggers basically. -if config.config_file_name is not None: - fileConfig(config.config_file_name) - -# add your model's MetaData object here -# for 'autogenerate' support -# from myapp import mymodel -# target_metadata = mymodel.Base.metadata -target_metadata = None - -# other values from the config, defined by the needs of env.py, -# can be acquired: -# my_important_option = config.get_main_option("my_important_option") -# ... etc. - - -def run_migrations_offline() -> None: - """Run migrations in 'offline' mode. - - This configures the context with just a URL - and not an Engine, though an Engine is acceptable - here as well. By skipping the Engine creation - we don't even need a DBAPI to be available. - - Calls to context.execute() here emit the given string to the - script output. - - """ - url = config.get_main_option("sqlalchemy.url") - context.configure( - url=url, - target_metadata=target_metadata, - literal_binds=True, - dialect_opts={"paramstyle": "named"}, - ) - - with context.begin_transaction(): - context.run_migrations() - - -def do_run_migrations(connection: Connection) -> None: - context.configure(connection=connection, target_metadata=target_metadata) - - with context.begin_transaction(): - context.run_migrations() - - -async def run_async_migrations() -> None: - """In this scenario we need to create an Engine - and associate a connection with the context. - - """ - - connectable = async_engine_from_config( - config.get_section(config.config_ini_section, {}), - prefix="sqlalchemy.", - poolclass=pool.NullPool, - ) - - async with connectable.connect() as connection: - await connection.run_sync(do_run_migrations) - - await connectable.dispose() - - -def run_migrations_online() -> None: - """Run migrations in 'online' mode.""" - - asyncio.run(run_async_migrations()) - - -if context.is_offline_mode(): - run_migrations_offline() -else: - run_migrations_online() diff --git a/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/pyproject.toml.mako b/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/pyproject.toml.mako deleted file mode 100644 index e68cef3..0000000 --- a/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/pyproject.toml.mako +++ /dev/null @@ -1,82 +0,0 @@ -[tool.alembic] - -# path to migration scripts. -# this is typically a path given in POSIX (e.g. forward slashes) -# format, relative to the token %(here)s which refers to the location of this -# ini file -script_location = "${script_location}" - -# template used to generate migration file names; The default value is %%(rev)s_%%(slug)s -# Uncomment the line below if you want the files to be prepended with date and time -# see https://alembic.sqlalchemy.org/en/latest/tutorial.html#editing-the-ini-file -# for all available tokens -# file_template = "%%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d-%%(rev)s_%%(slug)s" - -# additional paths to be prepended to sys.path. defaults to the current working directory. -prepend_sys_path = [ - "." -] - -# timezone to use when rendering the date within the migration file -# as well as the filename. -# If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library. -# Any required deps can installed by adding `alembic[tz]` to the pip requirements -# string value is passed to ZoneInfo() -# leave blank for localtime -# timezone = - -# max length of characters to apply to the "slug" field -# truncate_slug_length = 40 - -# set to 'true' to run the environment during -# the 'revision' command, regardless of autogenerate -# revision_environment = false - -# set to 'true' to allow .pyc and .pyo files without -# a source .py file to be detected as revisions in the -# versions/ directory -# sourceless = false - -# version location specification; This defaults -# to /versions. When using multiple version -# directories, initial revisions must be specified with --version-path. -# version_locations = [ -# "%(here)s/alembic/versions", -# "%(here)s/foo/bar" -# ] - - -# set to 'true' to search source files recursively -# in each "version_locations" directory -# new in Alembic version 1.10 -# recursive_version_locations = false - -# the output encoding used when revision files -# are written from script.py.mako -# output_encoding = "utf-8" - -# This section defines scripts or Python functions that are run -# on newly generated revision scripts. See the documentation for further -# detail and examples -# [[tool.alembic.post_write_hooks]] -# format using "black" - use the console_scripts runner, -# against the "black" entrypoint -# name = "black" -# type = "console_scripts" -# entrypoint = "black" -# options = "-l 79 REVISION_SCRIPT_FILENAME" -# -# [[tool.alembic.post_write_hooks]] -# lint with attempts to fix using "ruff" - use the module runner, against the "ruff" module -# name = "ruff" -# type = "module" -# module = "ruff" -# options = "check --fix REVISION_SCRIPT_FILENAME" -# -# [[tool.alembic.post_write_hooks]] -# Alternatively, use the exec runner to execute a binary found on your PATH -# name = "ruff" -# type = "exec" -# executable = "ruff" -# options = "check --fix REVISION_SCRIPT_FILENAME" - diff --git a/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/script.py.mako b/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/script.py.mako deleted file mode 100644 index 1101630..0000000 --- a/venv/lib/python3.12/site-packages/alembic/templates/pyproject_async/script.py.mako +++ /dev/null @@ -1,28 +0,0 @@ -"""${message} - -Revision ID: ${up_revision} -Revises: ${down_revision | comma,n} -Create Date: ${create_date} - -""" -from typing import Sequence, Union - -from alembic import op -import sqlalchemy as sa -${imports if imports else ""} - -# revision identifiers, used by Alembic. -revision: str = ${repr(up_revision)} -down_revision: Union[str, Sequence[str], None] = ${repr(down_revision)} -branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)} -depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)} - - -def upgrade() -> None: - """Upgrade schema.""" - ${upgrades if upgrades else "pass"} - - -def downgrade() -> None: - """Downgrade schema.""" - ${downgrades if downgrades else "pass"} diff --git a/venv/lib/python3.12/site-packages/alembic/testing/__init__.py b/venv/lib/python3.12/site-packages/alembic/testing/__init__.py index 3291508..0407adf 100644 --- a/venv/lib/python3.12/site-packages/alembic/testing/__init__.py +++ b/venv/lib/python3.12/site-packages/alembic/testing/__init__.py @@ -9,15 +9,12 @@ from sqlalchemy.testing import uses_deprecated from sqlalchemy.testing.config import combinations from sqlalchemy.testing.config import fixture from sqlalchemy.testing.config import requirements as requires -from sqlalchemy.testing.config import Variation -from sqlalchemy.testing.config import variation from .assertions import assert_raises from .assertions import assert_raises_message from .assertions import emits_python_deprecation_warning from .assertions import eq_ from .assertions import eq_ignore_whitespace -from .assertions import expect_deprecated from .assertions import expect_raises from .assertions import expect_raises_message from .assertions import expect_sqlalchemy_deprecated diff --git a/venv/lib/python3.12/site-packages/alembic/testing/assertions.py b/venv/lib/python3.12/site-packages/alembic/testing/assertions.py index 898fbd1..ec9593b 100644 --- a/venv/lib/python3.12/site-packages/alembic/testing/assertions.py +++ b/venv/lib/python3.12/site-packages/alembic/testing/assertions.py @@ -8,7 +8,6 @@ from typing import Dict from sqlalchemy import exc as sa_exc from sqlalchemy.engine import default -from sqlalchemy.engine import URL from sqlalchemy.testing.assertions import _expect_warnings from sqlalchemy.testing.assertions import eq_ # noqa from sqlalchemy.testing.assertions import is_ # noqa @@ -18,6 +17,8 @@ from sqlalchemy.testing.assertions import is_true # noqa from sqlalchemy.testing.assertions import ne_ # noqa from sqlalchemy.util import decorator +from ..util import sqla_compat + def _assert_proper_exception_context(exception): """assert that any exception we're catching does not have a __context__ @@ -73,9 +74,7 @@ class _ErrorContainer: @contextlib.contextmanager -def _expect_raises( - except_cls, msg=None, check_context=False, text_exact=False -): +def _expect_raises(except_cls, msg=None, check_context=False): ec = _ErrorContainer() if check_context: are_we_already_in_a_traceback = sys.exc_info()[0] @@ -86,10 +85,7 @@ def _expect_raises( ec.error = err success = True if msg is not None: - if text_exact: - assert str(err) == msg, f"{msg} != {err}" - else: - assert re.search(msg, str(err), re.UNICODE), f"{msg} !~ {err}" + assert re.search(msg, str(err), re.UNICODE), f"{msg} !~ {err}" if check_context and not are_we_already_in_a_traceback: _assert_proper_exception_context(err) print(str(err).encode("utf-8")) @@ -102,12 +98,8 @@ def expect_raises(except_cls, check_context=True): return _expect_raises(except_cls, check_context=check_context) -def expect_raises_message( - except_cls, msg, check_context=True, text_exact=False -): - return _expect_raises( - except_cls, msg=msg, check_context=check_context, text_exact=text_exact - ) +def expect_raises_message(except_cls, msg, check_context=True): + return _expect_raises(except_cls, msg=msg, check_context=check_context) def eq_ignore_whitespace(a, b, msg=None): @@ -126,7 +118,7 @@ def _get_dialect(name): if name is None or name == "default": return default.DefaultDialect() else: - d = URL.create(name).get_dialect()() + d = sqla_compat._create_url(name).get_dialect()() if name == "postgresql": d.implicit_returning = True @@ -167,10 +159,6 @@ def emits_python_deprecation_warning(*messages): return decorate -def expect_deprecated(*messages, **kw): - return _expect_warnings(DeprecationWarning, messages, **kw) - - def expect_sqlalchemy_deprecated(*messages, **kw): return _expect_warnings(sa_exc.SADeprecationWarning, messages, **kw) diff --git a/venv/lib/python3.12/site-packages/alembic/testing/env.py b/venv/lib/python3.12/site-packages/alembic/testing/env.py index 72a5e42..5df7ef8 100644 --- a/venv/lib/python3.12/site-packages/alembic/testing/env.py +++ b/venv/lib/python3.12/site-packages/alembic/testing/env.py @@ -1,6 +1,5 @@ import importlib.machinery import os -from pathlib import Path import shutil import textwrap @@ -17,7 +16,7 @@ from ..script import ScriptDirectory def _get_staging_directory(): if provision.FOLLOWER_IDENT: - return f"scratch_{provision.FOLLOWER_IDENT}" + return "scratch_%s" % provision.FOLLOWER_IDENT else: return "scratch" @@ -25,7 +24,7 @@ def _get_staging_directory(): def staging_env(create=True, template="generic", sourceless=False): cfg = _testing_config() if create: - path = _join_path(_get_staging_directory(), "scripts") + path = os.path.join(_get_staging_directory(), "scripts") assert not os.path.exists(path), ( "staging directory %s already exists; poor cleanup?" % path ) @@ -48,7 +47,7 @@ def staging_env(create=True, template="generic", sourceless=False): "pep3147_everything", ), sourceless make_sourceless( - _join_path(path, "env.py"), + os.path.join(path, "env.py"), "pep3147" if "pep3147" in sourceless else "simple", ) @@ -64,14 +63,14 @@ def clear_staging_env(): def script_file_fixture(txt): - dir_ = _join_path(_get_staging_directory(), "scripts") - path = _join_path(dir_, "script.py.mako") + dir_ = os.path.join(_get_staging_directory(), "scripts") + path = os.path.join(dir_, "script.py.mako") with open(path, "w") as f: f.write(txt) def env_file_fixture(txt): - dir_ = _join_path(_get_staging_directory(), "scripts") + dir_ = os.path.join(_get_staging_directory(), "scripts") txt = ( """ from alembic import context @@ -81,7 +80,7 @@ config = context.config + txt ) - path = _join_path(dir_, "env.py") + path = os.path.join(dir_, "env.py") pyc_path = util.pyc_file_from_path(path) if pyc_path: os.unlink(pyc_path) @@ -91,26 +90,26 @@ config = context.config def _sqlite_file_db(tempname="foo.db", future=False, scope=None, **options): - dir_ = _join_path(_get_staging_directory(), "scripts") + dir_ = os.path.join(_get_staging_directory(), "scripts") url = "sqlite:///%s/%s" % (dir_, tempname) - if scope: + if scope and util.sqla_14: options["scope"] = scope return testing_util.testing_engine(url=url, future=future, options=options) def _sqlite_testing_config(sourceless=False, future=False): - dir_ = _join_path(_get_staging_directory(), "scripts") - url = f"sqlite:///{dir_}/foo.db" + dir_ = os.path.join(_get_staging_directory(), "scripts") + url = "sqlite:///%s/foo.db" % dir_ sqlalchemy_future = future or ("future" in config.db.__class__.__module__) return _write_config_file( - f""" + """ [alembic] -script_location = {dir_} -sqlalchemy.url = {url} -sourceless = {"true" if sourceless else "false"} -{"sqlalchemy.future = true" if sqlalchemy_future else ""} +script_location = %s +sqlalchemy.url = %s +sourceless = %s +%s [loggers] keys = root,sqlalchemy @@ -119,7 +118,7 @@ keys = root,sqlalchemy keys = console [logger_root] -level = WARNING +level = WARN handlers = console qualname = @@ -141,25 +140,29 @@ keys = generic format = %%(levelname)-5.5s [%%(name)s] %%(message)s datefmt = %%H:%%M:%%S """ + % ( + dir_, + url, + "true" if sourceless else "false", + "sqlalchemy.future = true" if sqlalchemy_future else "", + ) ) def _multi_dir_testing_config(sourceless=False, extra_version_location=""): - dir_ = _join_path(_get_staging_directory(), "scripts") + dir_ = os.path.join(_get_staging_directory(), "scripts") sqlalchemy_future = "future" in config.db.__class__.__module__ url = "sqlite:///%s/foo.db" % dir_ return _write_config_file( - f""" + """ [alembic] -script_location = {dir_} -sqlalchemy.url = {url} -sqlalchemy.future = {"true" if sqlalchemy_future else "false"} -sourceless = {"true" if sourceless else "false"} -path_separator = space -version_locations = %(here)s/model1/ %(here)s/model2/ %(here)s/model3/ \ -{extra_version_location} +script_location = %s +sqlalchemy.url = %s +sqlalchemy.future = %s +sourceless = %s +version_locations = %%(here)s/model1/ %%(here)s/model2/ %%(here)s/model3/ %s [loggers] keys = root @@ -168,7 +171,7 @@ keys = root keys = console [logger_root] -level = WARNING +level = WARN handlers = console qualname = @@ -185,63 +188,26 @@ keys = generic format = %%(levelname)-5.5s [%%(name)s] %%(message)s datefmt = %%H:%%M:%%S """ - ) - - -def _no_sql_pyproject_config(dialect="postgresql", directives=""): - """use a postgresql url with no host so that - connections guaranteed to fail""" - dir_ = _join_path(_get_staging_directory(), "scripts") - - return _write_toml_config( - f""" -[tool.alembic] -script_location ="{dir_}" -{textwrap.dedent(directives)} - - """, - f""" -[alembic] -sqlalchemy.url = {dialect}:// - -[loggers] -keys = root - -[handlers] -keys = console - -[logger_root] -level = WARNING -handlers = console -qualname = - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatters] -keys = generic - -[formatter_generic] -format = %%(levelname)-5.5s [%%(name)s] %%(message)s -datefmt = %%H:%%M:%%S - -""", + % ( + dir_, + url, + "true" if sqlalchemy_future else "false", + "true" if sourceless else "false", + extra_version_location, + ) ) def _no_sql_testing_config(dialect="postgresql", directives=""): """use a postgresql url with no host so that connections guaranteed to fail""" - dir_ = _join_path(_get_staging_directory(), "scripts") + dir_ = os.path.join(_get_staging_directory(), "scripts") return _write_config_file( - f""" + """ [alembic] -script_location ={dir_} -sqlalchemy.url = {dialect}:// -{directives} +script_location = %s +sqlalchemy.url = %s:// +%s [loggers] keys = root @@ -250,7 +216,7 @@ keys = root keys = console [logger_root] -level = WARNING +level = WARN handlers = console qualname = @@ -268,16 +234,10 @@ format = %%(levelname)-5.5s [%%(name)s] %%(message)s datefmt = %%H:%%M:%%S """ + % (dir_, dialect, directives) ) -def _write_toml_config(tomltext, initext): - cfg = _write_config_file(initext) - with open(cfg.toml_file_name, "w") as f: - f.write(tomltext) - return cfg - - def _write_config_file(text): cfg = _testing_config() with open(cfg.config_file_name, "w") as f: @@ -290,10 +250,7 @@ def _testing_config(): if not os.access(_get_staging_directory(), os.F_OK): os.mkdir(_get_staging_directory()) - return Config( - _join_path(_get_staging_directory(), "test_alembic.ini"), - _join_path(_get_staging_directory(), "pyproject.toml"), - ) + return Config(os.path.join(_get_staging_directory(), "test_alembic.ini")) def write_script( @@ -313,7 +270,9 @@ def write_script( script = Script._from_path(scriptdir, path) old = scriptdir.revision_map.get_revision(script.revision) if old.down_revision != script.down_revision: - raise Exception("Can't change down_revision on a refresh operation.") + raise Exception( + "Can't change down_revision " "on a refresh operation." + ) scriptdir.revision_map.add_revision(script, _replace=True) if sourceless: @@ -353,9 +312,9 @@ def three_rev_fixture(cfg): write_script( script, a, - f"""\ + """\ "Rev A" -revision = '{a}' +revision = '%s' down_revision = None from alembic import op @@ -368,7 +327,8 @@ def upgrade(): def downgrade(): op.execute("DROP STEP 1") -""", +""" + % a, ) script.generate_revision(b, "revision b", refresh=True, head=a) @@ -398,10 +358,10 @@ def downgrade(): write_script( script, c, - f"""\ + """\ "Rev C" -revision = '{c}' -down_revision = '{b}' +revision = '%s' +down_revision = '%s' from alembic import op @@ -413,7 +373,8 @@ def upgrade(): def downgrade(): op.execute("DROP STEP 3") -""", +""" + % (c, b), ) return a, b, c @@ -435,10 +396,10 @@ def multi_heads_fixture(cfg, a, b, c): write_script( script, d, - f"""\ + """\ "Rev D" -revision = '{d}' -down_revision = '{b}' +revision = '%s' +down_revision = '%s' from alembic import op @@ -450,7 +411,8 @@ def upgrade(): def downgrade(): op.execute("DROP STEP 4") -""", +""" + % (d, b), ) script.generate_revision( @@ -459,10 +421,10 @@ def downgrade(): write_script( script, e, - f"""\ + """\ "Rev E" -revision = '{e}' -down_revision = '{d}' +revision = '%s' +down_revision = '%s' from alembic import op @@ -474,7 +436,8 @@ def upgrade(): def downgrade(): op.execute("DROP STEP 5") -""", +""" + % (e, d), ) script.generate_revision( @@ -483,10 +446,10 @@ def downgrade(): write_script( script, f, - f"""\ + """\ "Rev F" -revision = '{f}' -down_revision = '{b}' +revision = '%s' +down_revision = '%s' from alembic import op @@ -498,7 +461,8 @@ def upgrade(): def downgrade(): op.execute("DROP STEP 6") -""", +""" + % (f, b), ) return d, e, f @@ -507,25 +471,25 @@ def downgrade(): def _multidb_testing_config(engines): """alembic.ini fixture to work exactly with the 'multidb' template""" - dir_ = _join_path(_get_staging_directory(), "scripts") + dir_ = os.path.join(_get_staging_directory(), "scripts") sqlalchemy_future = "future" in config.db.__class__.__module__ databases = ", ".join(engines.keys()) engines = "\n\n".join( - f"[{key}]\nsqlalchemy.url = {value.url}" + "[%s]\n" "sqlalchemy.url = %s" % (key, value.url) for key, value in engines.items() ) return _write_config_file( - f""" + """ [alembic] -script_location = {dir_} +script_location = %s sourceless = false -sqlalchemy.future = {"true" if sqlalchemy_future else "false"} -databases = {databases} +sqlalchemy.future = %s +databases = %s -{engines} +%s [loggers] keys = root @@ -533,7 +497,7 @@ keys = root keys = console [logger_root] -level = WARNING +level = WARN handlers = console qualname = @@ -550,8 +514,5 @@ keys = generic format = %%(levelname)-5.5s [%%(name)s] %%(message)s datefmt = %%H:%%M:%%S """ + % (dir_, "true" if sqlalchemy_future else "false", databases, engines) ) - - -def _join_path(base: str, *more: str): - return str(Path(base).joinpath(*more).as_posix()) diff --git a/venv/lib/python3.12/site-packages/alembic/testing/fixtures.py b/venv/lib/python3.12/site-packages/alembic/testing/fixtures.py index 61bcd7e..4b83a74 100644 --- a/venv/lib/python3.12/site-packages/alembic/testing/fixtures.py +++ b/venv/lib/python3.12/site-packages/alembic/testing/fixtures.py @@ -3,14 +3,11 @@ from __future__ import annotations import configparser from contextlib import contextmanager import io -import os import re -import shutil from typing import Any from typing import Dict from sqlalchemy import Column -from sqlalchemy import create_mock_engine from sqlalchemy import inspect from sqlalchemy import MetaData from sqlalchemy import String @@ -20,19 +17,20 @@ from sqlalchemy import text from sqlalchemy.testing import config from sqlalchemy.testing import mock from sqlalchemy.testing.assertions import eq_ -from sqlalchemy.testing.fixtures import FutureEngineMixin from sqlalchemy.testing.fixtures import TablesTest as SQLAlchemyTablesTest from sqlalchemy.testing.fixtures import TestBase as SQLAlchemyTestBase import alembic from .assertions import _get_dialect -from .env import _get_staging_directory from ..environment import EnvironmentContext from ..migration import MigrationContext from ..operations import Operations from ..util import sqla_compat +from ..util.sqla_compat import create_mock_engine +from ..util.sqla_compat import sqla_14 from ..util.sqla_compat import sqla_2 + testing_config = configparser.ConfigParser() testing_config.read(["test.cfg"]) @@ -40,31 +38,6 @@ testing_config.read(["test.cfg"]) class TestBase(SQLAlchemyTestBase): is_sqlalchemy_future = sqla_2 - @testing.fixture() - def clear_staging_dir(self): - yield - location = _get_staging_directory() - for filename in os.listdir(location): - file_path = os.path.join(location, filename) - if os.path.isfile(file_path) or os.path.islink(file_path): - os.unlink(file_path) - elif os.path.isdir(file_path): - shutil.rmtree(file_path) - - @contextmanager - def pushd(self, dirname): - current_dir = os.getcwd() - try: - os.chdir(dirname) - yield - finally: - os.chdir(current_dir) - - @testing.fixture() - def pop_alembic_config_env(self): - yield - os.environ.pop("ALEMBIC_CONFIG", None) - @testing.fixture() def ops_context(self, migration_context): with migration_context.begin_transaction(_per_migration=True): @@ -76,12 +49,6 @@ class TestBase(SQLAlchemyTestBase): connection, opts=dict(transaction_per_migration=True) ) - @testing.fixture - def as_sql_migration_context(self, connection): - return MigrationContext.configure( - connection, opts=dict(transaction_per_migration=True, as_sql=True) - ) - @testing.fixture def connection(self): with config.db.connect() as conn: @@ -92,6 +59,14 @@ class TablesTest(TestBase, SQLAlchemyTablesTest): pass +if sqla_14: + from sqlalchemy.testing.fixtures import FutureEngineMixin +else: + + class FutureEngineMixin: # type:ignore[no-redef] + __requires__ = ("sqlalchemy_14",) + + FutureEngineMixin.is_sqlalchemy_future = True @@ -209,8 +184,12 @@ def op_fixture( opts["as_sql"] = as_sql if literal_binds: opts["literal_binds"] = literal_binds + if not sqla_14 and dialect == "mariadb": + ctx_dialect = _get_dialect("mysql") + ctx_dialect.server_version_info = (10, 4, 0, "MariaDB") - ctx_dialect = _get_dialect(dialect) + else: + ctx_dialect = _get_dialect(dialect) if native_boolean is not None: ctx_dialect.supports_native_boolean = native_boolean # this is new as of SQLAlchemy 1.2.7 and is used by SQL Server, @@ -289,11 +268,9 @@ class AlterColRoundTripFixture: "x", column.name, existing_type=column.type, - existing_server_default=( - column.server_default - if column.server_default is not None - else False - ), + existing_server_default=column.server_default + if column.server_default is not None + else False, existing_nullable=True if column.nullable else False, # existing_comment=column.comment, nullable=to_.get("nullable", None), @@ -321,13 +298,9 @@ class AlterColRoundTripFixture: new_col["type"], new_col.get("default", None), compare.get("type", old_col["type"]), - ( - compare["server_default"].text - if "server_default" in compare - else ( - column.server_default.arg.text - if column.server_default is not None - else None - ) - ), + compare["server_default"].text + if "server_default" in compare + else column.server_default.arg.text + if column.server_default is not None + else None, ) diff --git a/venv/lib/python3.12/site-packages/alembic/testing/requirements.py b/venv/lib/python3.12/site-packages/alembic/testing/requirements.py index 8b63c16..2107da4 100644 --- a/venv/lib/python3.12/site-packages/alembic/testing/requirements.py +++ b/venv/lib/python3.12/site-packages/alembic/testing/requirements.py @@ -1,6 +1,7 @@ from sqlalchemy.testing.requirements import Requirements from alembic import util +from alembic.util import sqla_compat from ..testing import exclusions @@ -73,6 +74,13 @@ class SuiteRequirements(Requirements): def reflects_fk_options(self): return exclusions.closed() + @property + def sqlalchemy_14(self): + return exclusions.skip_if( + lambda config: not util.sqla_14, + "SQLAlchemy 1.4 or greater required", + ) + @property def sqlalchemy_1x(self): return exclusions.skip_if( @@ -87,18 +95,6 @@ class SuiteRequirements(Requirements): "SQLAlchemy 2.x test", ) - @property - def asyncio(self): - def go(config): - try: - import greenlet # noqa: F401 - except ImportError: - return False - else: - return True - - return exclusions.only_if(go) - @property def comments(self): return exclusions.only_if( @@ -113,6 +109,26 @@ class SuiteRequirements(Requirements): def computed_columns(self): return exclusions.closed() + @property + def computed_columns_api(self): + return exclusions.only_if( + exclusions.BooleanPredicate(sqla_compat.has_computed) + ) + + @property + def computed_reflects_normally(self): + return exclusions.only_if( + exclusions.BooleanPredicate(sqla_compat.has_computed_reflection) + ) + + @property + def computed_reflects_as_server_default(self): + return exclusions.closed() + + @property + def computed_doesnt_reflect_as_server_default(self): + return exclusions.closed() + @property def autoincrement_on_composite_pk(self): return exclusions.closed() @@ -174,3 +190,9 @@ class SuiteRequirements(Requirements): @property def identity_columns_alter(self): return exclusions.closed() + + @property + def identity_columns_api(self): + return exclusions.only_if( + exclusions.BooleanPredicate(sqla_compat.has_identity) + ) diff --git a/venv/lib/python3.12/site-packages/alembic/testing/schemacompare.py b/venv/lib/python3.12/site-packages/alembic/testing/schemacompare.py index 204cc4d..c063499 100644 --- a/venv/lib/python3.12/site-packages/alembic/testing/schemacompare.py +++ b/venv/lib/python3.12/site-packages/alembic/testing/schemacompare.py @@ -1,7 +1,6 @@ from itertools import zip_longest from sqlalchemy import schema -from sqlalchemy.sql.elements import ClauseList class CompareTable: @@ -61,14 +60,6 @@ class CompareIndex: def __ne__(self, other): return not self.__eq__(other) - def __repr__(self): - expr = ClauseList(*self.index.expressions) - try: - expr_str = expr.compile().string - except Exception: - expr_str = str(expr) - return f"" - class CompareCheckConstraint: def __init__(self, constraint): diff --git a/venv/lib/python3.12/site-packages/alembic/testing/suite/_autogen_fixtures.py b/venv/lib/python3.12/site-packages/alembic/testing/suite/_autogen_fixtures.py index ed4acb2..d838ebe 100644 --- a/venv/lib/python3.12/site-packages/alembic/testing/suite/_autogen_fixtures.py +++ b/venv/lib/python3.12/site-packages/alembic/testing/suite/_autogen_fixtures.py @@ -14,7 +14,6 @@ from sqlalchemy import inspect from sqlalchemy import Integer from sqlalchemy import MetaData from sqlalchemy import Numeric -from sqlalchemy import PrimaryKeyConstraint from sqlalchemy import String from sqlalchemy import Table from sqlalchemy import Text @@ -150,118 +149,6 @@ class ModelOne: return m -class NamingConvModel: - __requires__ = ("unique_constraint_reflection",) - configure_opts = {"conv_all_constraint_names": True} - naming_convention = { - "ix": "ix_%(column_0_label)s", - "uq": "uq_%(table_name)s_%(constraint_name)s", - "ck": "ck_%(table_name)s_%(constraint_name)s", - "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s", - "pk": "pk_%(table_name)s", - } - - @classmethod - def _get_db_schema(cls): - # database side - assume all constraints have a name that - # we would assume here is a "db generated" name. need to make - # sure these all render with op.f(). - m = MetaData() - Table( - "x1", - m, - Column("q", Integer), - Index("db_x1_index_q", "q"), - PrimaryKeyConstraint("q", name="db_x1_primary_q"), - ) - Table( - "x2", - m, - Column("q", Integer), - Column("p", ForeignKey("x1.q", name="db_x2_foreign_q")), - CheckConstraint("q > 5", name="db_x2_check_q"), - ) - Table( - "x3", - m, - Column("q", Integer), - Column("r", Integer), - Column("s", Integer), - UniqueConstraint("q", name="db_x3_unique_q"), - ) - Table( - "x4", - m, - Column("q", Integer), - PrimaryKeyConstraint("q", name="db_x4_primary_q"), - ) - Table( - "x5", - m, - Column("q", Integer), - Column("p", ForeignKey("x4.q", name="db_x5_foreign_q")), - Column("r", Integer), - Column("s", Integer), - PrimaryKeyConstraint("q", name="db_x5_primary_q"), - UniqueConstraint("r", name="db_x5_unique_r"), - CheckConstraint("s > 5", name="db_x5_check_s"), - ) - # SQLite and it's "no names needed" thing. bleh. - # we can't have a name for these so you'll see "None" for the name. - Table( - "unnamed_sqlite", - m, - Column("q", Integer), - Column("r", Integer), - PrimaryKeyConstraint("q"), - UniqueConstraint("r"), - ) - return m - - @classmethod - def _get_model_schema(cls): - from sqlalchemy.sql.naming import conv - - m = MetaData(naming_convention=cls.naming_convention) - Table( - "x1", m, Column("q", Integer, primary_key=True), Index(None, "q") - ) - Table( - "x2", - m, - Column("q", Integer), - Column("p", ForeignKey("x1.q")), - CheckConstraint("q > 5", name="token_x2check1"), - ) - Table( - "x3", - m, - Column("q", Integer), - Column("r", Integer), - Column("s", Integer), - UniqueConstraint("r", name="token_x3r"), - UniqueConstraint("s", name=conv("userdef_x3_unique_s")), - ) - Table( - "x4", - m, - Column("q", Integer, primary_key=True), - Index("userdef_x4_idx_q", "q"), - ) - Table( - "x6", - m, - Column("q", Integer, primary_key=True), - Column("p", ForeignKey("x4.q")), - Column("r", Integer), - Column("s", Integer), - UniqueConstraint("r", name="token_x6r"), - CheckConstraint("s > 5", "token_x6check1"), - CheckConstraint("s < 20", conv("userdef_x6_check_s")), - ) - return m - - class _ComparesFKs: def _assert_fk_diff( self, diff --git a/venv/lib/python3.12/site-packages/alembic/testing/suite/test_autogen_computed.py b/venv/lib/python3.12/site-packages/alembic/testing/suite/test_autogen_computed.py index fe7eb7a..01a89a1 100644 --- a/venv/lib/python3.12/site-packages/alembic/testing/suite/test_autogen_computed.py +++ b/venv/lib/python3.12/site-packages/alembic/testing/suite/test_autogen_computed.py @@ -6,7 +6,9 @@ from sqlalchemy import Table from ._autogen_fixtures import AutogenFixtureTest from ... import testing +from ...testing import config from ...testing import eq_ +from ...testing import exclusions from ...testing import is_ from ...testing import is_true from ...testing import mock @@ -61,8 +63,18 @@ class AutogenerateComputedTest(AutogenFixtureTest, TestBase): c = diffs[0][3] eq_(c.name, "foo") - is_true(isinstance(c.computed, sa.Computed)) - is_true(isinstance(c.server_default, sa.Computed)) + if config.requirements.computed_reflects_normally.enabled: + is_true(isinstance(c.computed, sa.Computed)) + else: + is_(c.computed, None) + + if config.requirements.computed_reflects_as_server_default.enabled: + is_true(isinstance(c.server_default, sa.DefaultClause)) + eq_(str(c.server_default.arg.text), "5") + elif config.requirements.computed_reflects_normally.enabled: + is_true(isinstance(c.computed, sa.Computed)) + else: + is_(c.computed, None) @testing.combinations( lambda: (None, sa.Computed("bar*5")), @@ -73,6 +85,7 @@ class AutogenerateComputedTest(AutogenFixtureTest, TestBase): ), lambda: (sa.Computed("bar*5"), sa.Computed("bar * 42")), ) + @config.requirements.computed_reflects_normally def test_cant_change_computed_warning(self, test_case): arg_before, arg_after = testing.resolve_lambda(test_case, **locals()) m1 = MetaData() @@ -111,7 +124,10 @@ class AutogenerateComputedTest(AutogenFixtureTest, TestBase): lambda: (None, None), lambda: (sa.Computed("5"), sa.Computed("5")), lambda: (sa.Computed("bar*5"), sa.Computed("bar*5")), - lambda: (sa.Computed("bar*5"), sa.Computed("bar * \r\n\t5")), + ( + lambda: (sa.Computed("bar*5"), None), + config.requirements.computed_doesnt_reflect_as_server_default, + ), ) def test_computed_unchanged(self, test_case): arg_before, arg_after = testing.resolve_lambda(test_case, **locals()) @@ -142,3 +158,46 @@ class AutogenerateComputedTest(AutogenFixtureTest, TestBase): eq_(mock_warn.mock_calls, []) eq_(list(diffs), []) + + @config.requirements.computed_reflects_as_server_default + def test_remove_computed_default_on_computed(self): + """Asserts the current behavior which is that on PG and Oracle, + the GENERATED ALWAYS AS is reflected as a server default which we can't + tell is actually "computed", so these come out as a modification to + the server default. + + """ + m1 = MetaData() + m2 = MetaData() + + Table( + "user", + m1, + Column("id", Integer, primary_key=True), + Column("bar", Integer), + Column("foo", Integer, sa.Computed("bar + 42")), + ) + + Table( + "user", + m2, + Column("id", Integer, primary_key=True), + Column("bar", Integer), + Column("foo", Integer), + ) + + diffs = self._fixture(m1, m2) + + eq_(diffs[0][0][0], "modify_default") + eq_(diffs[0][0][2], "user") + eq_(diffs[0][0][3], "foo") + old = diffs[0][0][-2] + new = diffs[0][0][-1] + + is_(new, None) + is_true(isinstance(old, sa.DefaultClause)) + + if exclusions.against(config, "postgresql"): + eq_(str(old.arg.text), "(bar + 42)") + elif exclusions.against(config, "oracle"): + eq_(str(old.arg.text), '"BAR"+42') diff --git a/venv/lib/python3.12/site-packages/alembic/testing/suite/test_environment.py b/venv/lib/python3.12/site-packages/alembic/testing/suite/test_environment.py index df2d9af..8c86859 100644 --- a/venv/lib/python3.12/site-packages/alembic/testing/suite/test_environment.py +++ b/venv/lib/python3.12/site-packages/alembic/testing/suite/test_environment.py @@ -24,9 +24,9 @@ class MigrationTransactionTest(TestBase): self.context = MigrationContext.configure( dialect=conn.dialect, opts=opts ) - self.context.output_buffer = self.context.impl.output_buffer = ( - io.StringIO() - ) + self.context.output_buffer = ( + self.context.impl.output_buffer + ) = io.StringIO() else: self.context = MigrationContext.configure( connection=conn, opts=opts diff --git a/venv/lib/python3.12/site-packages/alembic/testing/warnings.py b/venv/lib/python3.12/site-packages/alembic/testing/warnings.py index 86d45a0..e87136b 100644 --- a/venv/lib/python3.12/site-packages/alembic/testing/warnings.py +++ b/venv/lib/python3.12/site-packages/alembic/testing/warnings.py @@ -10,6 +10,8 @@ import warnings from sqlalchemy import exc as sa_exc +from ..util import sqla_14 + def setup_filters(): """Set global warning behavior for the test suite.""" @@ -21,6 +23,13 @@ def setup_filters(): # some selected deprecations... warnings.filterwarnings("error", category=DeprecationWarning) + if not sqla_14: + # 1.3 uses pkg_resources in PluginLoader + warnings.filterwarnings( + "ignore", + "pkg_resources is deprecated as an API", + DeprecationWarning, + ) try: import pytest except ImportError: diff --git a/venv/lib/python3.12/site-packages/alembic/util/__init__.py b/venv/lib/python3.12/site-packages/alembic/util/__init__.py index 1d3a217..3c1e27c 100644 --- a/venv/lib/python3.12/site-packages/alembic/util/__init__.py +++ b/venv/lib/python3.12/site-packages/alembic/util/__init__.py @@ -1,29 +1,35 @@ -from .editor import open_in_editor as open_in_editor -from .exc import AutogenerateDiffsDetected as AutogenerateDiffsDetected -from .exc import CommandError as CommandError -from .langhelpers import _with_legacy_names as _with_legacy_names -from .langhelpers import asbool as asbool -from .langhelpers import dedupe_tuple as dedupe_tuple -from .langhelpers import Dispatcher as Dispatcher -from .langhelpers import EMPTY_DICT as EMPTY_DICT -from .langhelpers import immutabledict as immutabledict -from .langhelpers import memoized_property as memoized_property -from .langhelpers import ModuleClsProxy as ModuleClsProxy -from .langhelpers import not_none as not_none -from .langhelpers import rev_id as rev_id -from .langhelpers import to_list as to_list -from .langhelpers import to_tuple as to_tuple -from .langhelpers import unique_list as unique_list -from .messaging import err as err -from .messaging import format_as_comma as format_as_comma -from .messaging import msg as msg -from .messaging import obfuscate_url_pw as obfuscate_url_pw -from .messaging import status as status -from .messaging import warn as warn -from .messaging import warn_deprecated as warn_deprecated -from .messaging import write_outstream as write_outstream -from .pyfiles import coerce_resource_to_filename as coerce_resource_to_filename -from .pyfiles import load_python_file as load_python_file -from .pyfiles import pyc_file_from_path as pyc_file_from_path -from .pyfiles import template_to_file as template_to_file -from .sqla_compat import sqla_2 as sqla_2 +from .editor import open_in_editor +from .exc import AutogenerateDiffsDetected +from .exc import CommandError +from .langhelpers import _with_legacy_names +from .langhelpers import asbool +from .langhelpers import dedupe_tuple +from .langhelpers import Dispatcher +from .langhelpers import EMPTY_DICT +from .langhelpers import immutabledict +from .langhelpers import memoized_property +from .langhelpers import ModuleClsProxy +from .langhelpers import not_none +from .langhelpers import rev_id +from .langhelpers import to_list +from .langhelpers import to_tuple +from .langhelpers import unique_list +from .messaging import err +from .messaging import format_as_comma +from .messaging import msg +from .messaging import obfuscate_url_pw +from .messaging import status +from .messaging import warn +from .messaging import write_outstream +from .pyfiles import coerce_resource_to_filename +from .pyfiles import load_python_file +from .pyfiles import pyc_file_from_path +from .pyfiles import template_to_file +from .sqla_compat import has_computed +from .sqla_compat import sqla_13 +from .sqla_compat import sqla_14 +from .sqla_compat import sqla_2 + + +if not sqla_13: + raise CommandError("SQLAlchemy 1.3.0 or greater is required.") diff --git a/venv/lib/python3.12/site-packages/alembic/util/compat.py b/venv/lib/python3.12/site-packages/alembic/util/compat.py index 131f16a..31e0208 100644 --- a/venv/lib/python3.12/site-packages/alembic/util/compat.py +++ b/venv/lib/python3.12/site-packages/alembic/util/compat.py @@ -1,37 +1,22 @@ -# mypy: no-warn-unused-ignores - from __future__ import annotations from configparser import ConfigParser import io import os -from pathlib import Path import sys import typing -from typing import Any -from typing import Iterator -from typing import List -from typing import Optional from typing import Sequence from typing import Union -if True: - # zimports hack for too-long names - from sqlalchemy.util import ( # noqa: F401 - inspect_getfullargspec as inspect_getfullargspec, - ) - from sqlalchemy.util.compat import ( # noqa: F401 - inspect_formatargspec as inspect_formatargspec, - ) +from sqlalchemy.util import inspect_getfullargspec # noqa +from sqlalchemy.util.compat import inspect_formatargspec # noqa is_posix = os.name == "posix" -py314 = sys.version_info >= (3, 14) -py313 = sys.version_info >= (3, 13) -py312 = sys.version_info >= (3, 12) py311 = sys.version_info >= (3, 11) py310 = sys.version_info >= (3, 10) py39 = sys.version_info >= (3, 9) +py38 = sys.version_info >= (3, 8) # produce a wrapper that allows encoded text to stream @@ -43,82 +28,24 @@ class EncodedIO(io.TextIOWrapper): if py39: - from importlib import resources as _resources - - importlib_resources = _resources - from importlib import metadata as _metadata - - importlib_metadata = _metadata - from importlib.metadata import EntryPoint as EntryPoint + from importlib import resources as importlib_resources + from importlib import metadata as importlib_metadata + from importlib.metadata import EntryPoint else: import importlib_resources # type:ignore # noqa import importlib_metadata # type:ignore # noqa from importlib_metadata import EntryPoint # type:ignore # noqa -if py311: - import tomllib as tomllib -else: - import tomli as tomllib # type: ignore # noqa - - -if py312: - - def path_walk( - path: Path, *, top_down: bool = True - ) -> Iterator[tuple[Path, list[str], list[str]]]: - return Path.walk(path) - - def path_relative_to( - path: Path, other: Path, *, walk_up: bool = False - ) -> Path: - return path.relative_to(other, walk_up=walk_up) - -else: - - def path_walk( - path: Path, *, top_down: bool = True - ) -> Iterator[tuple[Path, list[str], list[str]]]: - for root, dirs, files in os.walk(path, topdown=top_down): - yield Path(root), dirs, files - - def path_relative_to( - path: Path, other: Path, *, walk_up: bool = False - ) -> Path: - """ - Calculate the relative path of 'path' with respect to 'other', - optionally allowing 'path' to be outside the subtree of 'other'. - - OK I used AI for this, sorry - - """ - try: - return path.relative_to(other) - except ValueError: - if walk_up: - other_ancestors = list(other.parents) + [other] - for ancestor in other_ancestors: - try: - return path.relative_to(ancestor) - except ValueError: - continue - raise ValueError( - f"{path} is not in the same subtree as {other}" - ) - else: - raise - def importlib_metadata_get(group: str) -> Sequence[EntryPoint]: ep = importlib_metadata.entry_points() if hasattr(ep, "select"): - return ep.select(group=group) + return ep.select(group=group) # type: ignore else: return ep.get(group, ()) # type: ignore -def formatannotation_fwdref( - annotation: Any, base_module: Optional[Any] = None -) -> str: +def formatannotation_fwdref(annotation, base_module=None): """vendored from python 3.7""" # copied over _formatannotation from sqlalchemy 2.0 @@ -139,7 +66,7 @@ def formatannotation_fwdref( def read_config_parser( file_config: ConfigParser, file_argument: Sequence[Union[str, os.PathLike[str]]], -) -> List[str]: +) -> list[str]: if py310: return file_config.read(file_argument, encoding="locale") else: diff --git a/venv/lib/python3.12/site-packages/alembic/util/exc.py b/venv/lib/python3.12/site-packages/alembic/util/exc.py index c790e18..0d0496b 100644 --- a/venv/lib/python3.12/site-packages/alembic/util/exc.py +++ b/venv/lib/python3.12/site-packages/alembic/util/exc.py @@ -1,25 +1,6 @@ -from __future__ import annotations - -from typing import Any -from typing import List -from typing import Tuple -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from alembic.autogenerate import RevisionContext - - class CommandError(Exception): pass class AutogenerateDiffsDetected(CommandError): - def __init__( - self, - message: str, - revision_context: RevisionContext, - diffs: List[Tuple[Any, ...]], - ) -> None: - super().__init__(message) - self.revision_context = revision_context - self.diffs = diffs + pass diff --git a/venv/lib/python3.12/site-packages/alembic/util/langhelpers.py b/venv/lib/python3.12/site-packages/alembic/util/langhelpers.py index 80d88cb..34d48bc 100644 --- a/venv/lib/python3.12/site-packages/alembic/util/langhelpers.py +++ b/venv/lib/python3.12/site-packages/alembic/util/langhelpers.py @@ -5,46 +5,33 @@ from collections.abc import Iterable import textwrap from typing import Any from typing import Callable -from typing import cast from typing import Dict from typing import List from typing import Mapping -from typing import MutableMapping -from typing import NoReturn from typing import Optional from typing import overload from typing import Sequence -from typing import Set from typing import Tuple -from typing import Type -from typing import TYPE_CHECKING from typing import TypeVar from typing import Union import uuid import warnings -from sqlalchemy.util import asbool as asbool # noqa: F401 -from sqlalchemy.util import immutabledict as immutabledict # noqa: F401 -from sqlalchemy.util import to_list as to_list # noqa: F401 -from sqlalchemy.util import unique_list as unique_list +from sqlalchemy.util import asbool # noqa +from sqlalchemy.util import immutabledict # noqa +from sqlalchemy.util import memoized_property # noqa +from sqlalchemy.util import to_list # noqa +from sqlalchemy.util import unique_list # noqa from .compat import inspect_getfullargspec -if True: - # zimports workaround :( - from sqlalchemy.util import ( # noqa: F401 - memoized_property as memoized_property, - ) - EMPTY_DICT: Mapping[Any, Any] = immutabledict() -_T = TypeVar("_T", bound=Any) - -_C = TypeVar("_C", bound=Callable[..., Any]) +_T = TypeVar("_T") class _ModuleClsMeta(type): - def __setattr__(cls, key: str, value: Callable[..., Any]) -> None: + def __setattr__(cls, key: str, value: Callable) -> None: super().__setattr__(key, value) cls._update_module_proxies(key) # type: ignore @@ -58,13 +45,9 @@ class ModuleClsProxy(metaclass=_ModuleClsMeta): """ - _setups: Dict[ - Type[Any], - Tuple[ - Set[str], - List[Tuple[MutableMapping[str, Any], MutableMapping[str, Any]]], - ], - ] = collections.defaultdict(lambda: (set(), [])) + _setups: Dict[type, Tuple[set, list]] = collections.defaultdict( + lambda: (set(), []) + ) @classmethod def _update_module_proxies(cls, name: str) -> None: @@ -87,33 +70,18 @@ class ModuleClsProxy(metaclass=_ModuleClsMeta): del globals_[attr_name] @classmethod - def create_module_class_proxy( - cls, - globals_: MutableMapping[str, Any], - locals_: MutableMapping[str, Any], - ) -> None: + def create_module_class_proxy(cls, globals_, locals_): attr_names, modules = cls._setups[cls] modules.append((globals_, locals_)) cls._setup_proxy(globals_, locals_, attr_names) @classmethod - def _setup_proxy( - cls, - globals_: MutableMapping[str, Any], - locals_: MutableMapping[str, Any], - attr_names: Set[str], - ) -> None: + def _setup_proxy(cls, globals_, locals_, attr_names): for methname in dir(cls): cls._add_proxied_attribute(methname, globals_, locals_, attr_names) @classmethod - def _add_proxied_attribute( - cls, - methname: str, - globals_: MutableMapping[str, Any], - locals_: MutableMapping[str, Any], - attr_names: Set[str], - ) -> None: + def _add_proxied_attribute(cls, methname, globals_, locals_, attr_names): if not methname.startswith("_"): meth = getattr(cls, methname) if callable(meth): @@ -124,15 +92,10 @@ class ModuleClsProxy(metaclass=_ModuleClsMeta): attr_names.add(methname) @classmethod - def _create_method_proxy( - cls, - name: str, - globals_: MutableMapping[str, Any], - locals_: MutableMapping[str, Any], - ) -> Callable[..., Any]: + def _create_method_proxy(cls, name, globals_, locals_): fn = getattr(cls, name) - def _name_error(name: str, from_: Exception) -> NoReturn: + def _name_error(name, from_): raise NameError( "Can't invoke function '%s', as the proxy object has " "not yet been " @@ -156,9 +119,7 @@ class ModuleClsProxy(metaclass=_ModuleClsMeta): translations, ) - def translate( - fn_name: str, spec: Any, translations: Any, args: Any, kw: Any - ) -> Any: + def translate(fn_name, spec, translations, args, kw): return_kw = {} return_args = [] @@ -215,15 +176,15 @@ class ModuleClsProxy(metaclass=_ModuleClsMeta): "doc": fn.__doc__, } ) - lcl: MutableMapping[str, Any] = {} + lcl = {} - exec(func_text, cast("Dict[str, Any]", globals_), lcl) - return cast("Callable[..., Any]", lcl[name]) + exec(func_text, globals_, lcl) + return lcl[name] -def _with_legacy_names(translations: Any) -> Any: - def decorate(fn: _C) -> _C: - fn._legacy_translations = translations # type: ignore[attr-defined] +def _with_legacy_names(translations): + def decorate(fn): + fn._legacy_translations = translations return fn return decorate @@ -234,22 +195,21 @@ def rev_id() -> str: @overload -def to_tuple(x: Any, default: Tuple[Any, ...]) -> Tuple[Any, ...]: ... +def to_tuple(x: Any, default: tuple) -> tuple: + ... @overload -def to_tuple(x: None, default: Optional[_T] = ...) -> _T: ... +def to_tuple(x: None, default: Optional[_T] = None) -> _T: + ... @overload -def to_tuple( - x: Any, default: Optional[Tuple[Any, ...]] = None -) -> Tuple[Any, ...]: ... +def to_tuple(x: Any, default: Optional[tuple] = None) -> tuple: + ... -def to_tuple( - x: Any, default: Optional[Tuple[Any, ...]] = None -) -> Optional[Tuple[Any, ...]]: +def to_tuple(x, default=None): if x is None: return default elif isinstance(x, str): @@ -266,13 +226,13 @@ def dedupe_tuple(tup: Tuple[str, ...]) -> Tuple[str, ...]: class Dispatcher: def __init__(self, uselist: bool = False) -> None: - self._registry: Dict[Tuple[Any, ...], Any] = {} + self._registry: Dict[tuple, Any] = {} self.uselist = uselist def dispatch_for( self, target: Any, qualifier: str = "default" - ) -> Callable[[_C], _C]: - def decorate(fn: _C) -> _C: + ) -> Callable: + def decorate(fn): if self.uselist: self._registry.setdefault((target, qualifier), []).append(fn) else: @@ -284,7 +244,7 @@ class Dispatcher: def dispatch(self, obj: Any, qualifier: str = "default") -> Any: if isinstance(obj, str): - targets: Sequence[Any] = [obj] + targets: Sequence = [obj] elif isinstance(obj, type): targets = obj.__mro__ else: @@ -299,13 +259,11 @@ class Dispatcher: raise ValueError("no dispatch function for object: %s" % obj) def _fn_or_list( - self, fn_or_list: Union[List[Callable[..., Any]], Callable[..., Any]] - ) -> Callable[..., Any]: + self, fn_or_list: Union[List[Callable], Callable] + ) -> Callable: if self.uselist: - def go(*arg: Any, **kw: Any) -> None: - if TYPE_CHECKING: - assert isinstance(fn_or_list, Sequence) + def go(*arg, **kw): for fn in fn_or_list: fn(*arg, **kw) diff --git a/venv/lib/python3.12/site-packages/alembic/util/messaging.py b/venv/lib/python3.12/site-packages/alembic/util/messaging.py index 4c08f16..35592c0 100644 --- a/venv/lib/python3.12/site-packages/alembic/util/messaging.py +++ b/venv/lib/python3.12/site-packages/alembic/util/messaging.py @@ -5,7 +5,6 @@ from contextlib import contextmanager import logging import sys import textwrap -from typing import Iterator from typing import Optional from typing import TextIO from typing import Union @@ -13,6 +12,8 @@ import warnings from sqlalchemy.engine import url +from . import sqla_compat + log = logging.getLogger(__name__) # disable "no handler found" errors @@ -52,9 +53,7 @@ def write_outstream( @contextmanager -def status( - status_msg: str, newline: bool = False, quiet: bool = False -) -> Iterator[None]: +def status(status_msg: str, newline: bool = False, quiet: bool = False): msg(status_msg + " ...", newline, flush=True, quiet=quiet) try: yield @@ -67,24 +66,21 @@ def status( write_outstream(sys.stdout, " done\n") -def err(message: str, quiet: bool = False) -> None: +def err(message: str, quiet: bool = False): log.error(message) msg(f"FAILED: {message}", quiet=quiet) sys.exit(-1) def obfuscate_url_pw(input_url: str) -> str: - return url.make_url(input_url).render_as_string(hide_password=True) + u = url.make_url(input_url) + return sqla_compat.url_render_as_string(u, hide_password=True) def warn(msg: str, stacklevel: int = 2) -> None: warnings.warn(msg, UserWarning, stacklevel=stacklevel) -def warn_deprecated(msg: str, stacklevel: int = 2) -> None: - warnings.warn(msg, DeprecationWarning, stacklevel=stacklevel) - - def msg( msg: str, newline: bool = True, flush: bool = False, quiet: bool = False ) -> None: @@ -96,17 +92,11 @@ def msg( write_outstream(sys.stdout, "\n") else: # left indent output lines - indent = " " - lines = textwrap.wrap( - msg, - TERMWIDTH, - initial_indent=indent, - subsequent_indent=indent, - ) + lines = textwrap.wrap(msg, TERMWIDTH) if len(lines) > 1: for line in lines[0:-1]: - write_outstream(sys.stdout, line, "\n") - write_outstream(sys.stdout, lines[-1], ("\n" if newline else "")) + write_outstream(sys.stdout, " ", line, "\n") + write_outstream(sys.stdout, " ", lines[-1], ("\n" if newline else "")) if flush: sys.stdout.flush() diff --git a/venv/lib/python3.12/site-packages/alembic/util/pyfiles.py b/venv/lib/python3.12/site-packages/alembic/util/pyfiles.py index 6b75d57..e757673 100644 --- a/venv/lib/python3.12/site-packages/alembic/util/pyfiles.py +++ b/venv/lib/python3.12/site-packages/alembic/util/pyfiles.py @@ -6,13 +6,9 @@ import importlib import importlib.machinery import importlib.util import os -import pathlib import re import tempfile -from types import ModuleType -from typing import Any from typing import Optional -from typing import Union from mako import exceptions from mako.template import Template @@ -22,14 +18,9 @@ from .exc import CommandError def template_to_file( - template_file: Union[str, os.PathLike[str]], - dest: Union[str, os.PathLike[str]], - output_encoding: str, - *, - append_with_newlines: bool = False, - **kw: Any, + template_file: str, dest: str, output_encoding: str, **kw ) -> None: - template = Template(filename=_preserving_path_as_str(template_file)) + template = Template(filename=template_file) try: output = template.render_unicode(**kw).encode(output_encoding) except: @@ -45,13 +36,11 @@ def template_to_file( "template-oriented traceback." % fname ) else: - with open(dest, "ab" if append_with_newlines else "wb") as f: - if append_with_newlines: - f.write("\n\n".encode(output_encoding)) + with open(dest, "wb") as f: f.write(output) -def coerce_resource_to_filename(fname_or_resource: str) -> pathlib.Path: +def coerce_resource_to_filename(fname: str) -> str: """Interpret a filename as either a filesystem location or as a package resource. @@ -59,9 +48,8 @@ def coerce_resource_to_filename(fname_or_resource: str) -> pathlib.Path: are interpreted as resources and coerced to a file location. """ - # TODO: there seem to be zero tests for the package resource codepath - if not os.path.isabs(fname_or_resource) and ":" in fname_or_resource: - tokens = fname_or_resource.split(":") + if not os.path.isabs(fname) and ":" in fname: + tokens = fname.split(":") # from https://importlib-resources.readthedocs.io/en/latest/migration.html#pkg-resources-resource-filename # noqa E501 @@ -71,48 +59,37 @@ def coerce_resource_to_filename(fname_or_resource: str) -> pathlib.Path: ref = compat.importlib_resources.files(tokens[0]) for tok in tokens[1:]: ref = ref / tok - fname_or_resource = file_manager.enter_context( # type: ignore[assignment] # noqa: E501 + fname = file_manager.enter_context( # type: ignore[assignment] compat.importlib_resources.as_file(ref) ) - return pathlib.Path(fname_or_resource) + return fname -def pyc_file_from_path( - path: Union[str, os.PathLike[str]], -) -> Optional[pathlib.Path]: +def pyc_file_from_path(path: str) -> Optional[str]: """Given a python source path, locate the .pyc.""" - pathpath = pathlib.Path(path) - candidate = pathlib.Path( - importlib.util.cache_from_source(pathpath.as_posix()) - ) - if candidate.exists(): + candidate = importlib.util.cache_from_source(path) + if os.path.exists(candidate): return candidate # even for pep3147, fall back to the old way of finding .pyc files, # to support sourceless operation - ext = pathpath.suffix + filepath, ext = os.path.splitext(path) for ext in importlib.machinery.BYTECODE_SUFFIXES: - if pathpath.with_suffix(ext).exists(): - return pathpath.with_suffix(ext) + if os.path.exists(filepath + ext): + return filepath + ext else: return None -def load_python_file( - dir_: Union[str, os.PathLike[str]], filename: Union[str, os.PathLike[str]] -) -> ModuleType: +def load_python_file(dir_: str, filename: str): """Load a file from the given path as a Python module.""" - dir_ = pathlib.Path(dir_) - filename_as_path = pathlib.Path(filename) - filename = filename_as_path.name - module_id = re.sub(r"\W", "_", filename) - path = dir_ / filename - ext = path.suffix + path = os.path.join(dir_, filename) + _, ext = os.path.splitext(filename) if ext == ".py": - if path.exists(): + if os.path.exists(path): module = load_module_py(module_id, path) else: pyc_path = pyc_file_from_path(path) @@ -122,32 +99,12 @@ def load_python_file( module = load_module_py(module_id, pyc_path) elif ext in (".pyc", ".pyo"): module = load_module_py(module_id, path) - else: - assert False return module -def load_module_py( - module_id: str, path: Union[str, os.PathLike[str]] -) -> ModuleType: +def load_module_py(module_id: str, path: str): spec = importlib.util.spec_from_file_location(module_id, path) assert spec module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) # type: ignore return module - - -def _preserving_path_as_str(path: Union[str, os.PathLike[str]]) -> str: - """receive str/pathlike and return a string. - - Does not convert an incoming string path to a Path first, to help with - unit tests that are doing string path round trips without OS-specific - processing if not necessary. - - """ - if isinstance(path, str): - return path - elif isinstance(path, pathlib.PurePath): - return str(path) - else: - return str(pathlib.Path(path)) diff --git a/venv/lib/python3.12/site-packages/alembic/util/sqla_compat.py b/venv/lib/python3.12/site-packages/alembic/util/sqla_compat.py index a909ead..3f175cf 100644 --- a/venv/lib/python3.12/site-packages/alembic/util/sqla_compat.py +++ b/venv/lib/python3.12/site-packages/alembic/util/sqla_compat.py @@ -1,27 +1,24 @@ -# mypy: allow-untyped-defs, allow-incomplete-defs, allow-untyped-calls -# mypy: no-warn-return-any, allow-any-generics - from __future__ import annotations import contextlib import re from typing import Any -from typing import Callable from typing import Dict from typing import Iterable from typing import Iterator +from typing import Mapping from typing import Optional -from typing import Protocol -from typing import Set -from typing import Type from typing import TYPE_CHECKING from typing import TypeVar from typing import Union from sqlalchemy import __version__ +from sqlalchemy import inspect from sqlalchemy import schema from sqlalchemy import sql from sqlalchemy import types as sqltypes +from sqlalchemy.engine import url +from sqlalchemy.ext.compiler import compiles from sqlalchemy.schema import CheckConstraint from sqlalchemy.schema import Column from sqlalchemy.schema import ForeignKeyConstraint @@ -29,33 +26,31 @@ from sqlalchemy.sql import visitors from sqlalchemy.sql.base import DialectKWArgs from sqlalchemy.sql.elements import BindParameter from sqlalchemy.sql.elements import ColumnClause +from sqlalchemy.sql.elements import quoted_name from sqlalchemy.sql.elements import TextClause from sqlalchemy.sql.elements import UnaryExpression -from sqlalchemy.sql.naming import _NONE_NAME as _NONE_NAME # type: ignore[attr-defined] # noqa: E501 from sqlalchemy.sql.visitors import traverse from typing_extensions import TypeGuard if TYPE_CHECKING: - from sqlalchemy import ClauseElement - from sqlalchemy import Identity from sqlalchemy import Index from sqlalchemy import Table from sqlalchemy.engine import Connection from sqlalchemy.engine import Dialect from sqlalchemy.engine import Transaction + from sqlalchemy.engine.reflection import Inspector from sqlalchemy.sql.base import ColumnCollection from sqlalchemy.sql.compiler import SQLCompiler + from sqlalchemy.sql.dml import Insert from sqlalchemy.sql.elements import ColumnElement from sqlalchemy.sql.schema import Constraint from sqlalchemy.sql.schema import SchemaItem + from sqlalchemy.sql.selectable import Select + from sqlalchemy.sql.selectable import TableClause _CE = TypeVar("_CE", bound=Union["ColumnElement[Any]", "SchemaItem"]) -class _CompilerProtocol(Protocol): - def __call__(self, element: Any, compiler: Any, **kw: Any) -> str: ... - - def _safe_int(value: str) -> Union[int, str]: try: return int(value) @@ -66,65 +61,90 @@ def _safe_int(value: str) -> Union[int, str]: _vers = tuple( [_safe_int(x) for x in re.findall(r"(\d+|[abc]\d)", __version__)] ) +sqla_13 = _vers >= (1, 3) +sqla_14 = _vers >= (1, 4) # https://docs.sqlalchemy.org/en/latest/changelog/changelog_14.html#change-0c6e0cc67dfe6fac5164720e57ef307d sqla_14_18 = _vers >= (1, 4, 18) sqla_14_26 = _vers >= (1, 4, 26) sqla_2 = _vers >= (2,) sqlalchemy_version = __version__ -if TYPE_CHECKING: +try: + from sqlalchemy.sql.naming import _NONE_NAME as _NONE_NAME +except ImportError: + from sqlalchemy.sql.elements import _NONE_NAME as _NONE_NAME # type: ignore # noqa: E501 - def compiles( - element: Type[ClauseElement], *dialects: str - ) -> Callable[[_CompilerProtocol], _CompilerProtocol]: ... +class _Unsupported: + "Placeholder for unsupported SQLAlchemy classes" + + +try: + from sqlalchemy import Computed +except ImportError: + if not TYPE_CHECKING: + + class Computed(_Unsupported): + pass + + has_computed = False + has_computed_reflection = False else: - from sqlalchemy.ext.compiler import compiles # noqa: I100,I202 + has_computed = True + has_computed_reflection = _vers >= (1, 3, 16) +try: + from sqlalchemy import Identity +except ImportError: + if not TYPE_CHECKING: -identity_has_dialect_kwargs = issubclass(schema.Identity, DialectKWArgs) + class Identity(_Unsupported): + pass + has_identity = False +else: + identity_has_dialect_kwargs = issubclass(Identity, DialectKWArgs) -def _get_identity_options_dict( - identity: Union[Identity, schema.Sequence, None], - dialect_kwargs: bool = False, -) -> Dict[str, Any]: - if identity is None: - return {} - elif identity_has_dialect_kwargs: - assert hasattr(identity, "_as_dict") - as_dict = identity._as_dict() - if dialect_kwargs: - assert isinstance(identity, DialectKWArgs) - as_dict.update(identity.dialect_kwargs) - else: - as_dict = {} - if isinstance(identity, schema.Identity): - # always=None means something different than always=False - as_dict["always"] = identity.always - if identity.on_null is not None: - as_dict["on_null"] = identity.on_null - # attributes common to Identity and Sequence - attrs = ( - "start", - "increment", - "minvalue", - "maxvalue", - "nominvalue", - "nomaxvalue", - "cycle", - "cache", - "order", - ) - as_dict.update( - { - key: getattr(identity, key, None) - for key in attrs - if getattr(identity, key, None) is not None - } - ) - return as_dict + def _get_identity_options_dict( + identity: Union[Identity, schema.Sequence, None], + dialect_kwargs: bool = False, + ) -> Dict[str, Any]: + if identity is None: + return {} + elif identity_has_dialect_kwargs: + as_dict = identity._as_dict() # type: ignore + if dialect_kwargs: + assert isinstance(identity, DialectKWArgs) + as_dict.update(identity.dialect_kwargs) + else: + as_dict = {} + if isinstance(identity, Identity): + # always=None means something different than always=False + as_dict["always"] = identity.always + if identity.on_null is not None: + as_dict["on_null"] = identity.on_null + # attributes common to Identity and Sequence + attrs = ( + "start", + "increment", + "minvalue", + "maxvalue", + "nominvalue", + "nomaxvalue", + "cycle", + "cache", + "order", + ) + as_dict.update( + { + key: getattr(identity, key, None) + for key in attrs + if getattr(identity, key, None) is not None + } + ) + return as_dict + has_identity = True if sqla_2: from sqlalchemy.sql.base import _NoneName @@ -133,6 +153,7 @@ else: _ConstraintName = Union[None, str, _NoneName] + _ConstraintNameDefined = Union[str, _NoneName] @@ -142,11 +163,15 @@ def constraint_name_defined( return name is _NONE_NAME or isinstance(name, (str, _NoneName)) -def constraint_name_string(name: _ConstraintName) -> TypeGuard[str]: +def constraint_name_string( + name: _ConstraintName, +) -> TypeGuard[str]: return isinstance(name, str) -def constraint_name_or_none(name: _ConstraintName) -> Optional[str]: +def constraint_name_or_none( + name: _ConstraintName, +) -> Optional[str]: return name if constraint_name_string(name) else None @@ -176,10 +201,17 @@ def _ensure_scope_for_ddl( yield +def url_render_as_string(url, hide_password=True): + if sqla_14: + return url.render_as_string(hide_password=hide_password) + else: + return url.__to_string__(hide_password=hide_password) + + def _safe_begin_connection_transaction( connection: Connection, ) -> Transaction: - transaction = connection.get_transaction() + transaction = _get_connection_transaction(connection) if transaction: return transaction else: @@ -189,7 +221,7 @@ def _safe_begin_connection_transaction( def _safe_commit_connection_transaction( connection: Connection, ) -> None: - transaction = connection.get_transaction() + transaction = _get_connection_transaction(connection) if transaction: transaction.commit() @@ -197,7 +229,7 @@ def _safe_commit_connection_transaction( def _safe_rollback_connection_transaction( connection: Connection, ) -> None: - transaction = connection.get_transaction() + transaction = _get_connection_transaction(connection) if transaction: transaction.rollback() @@ -218,34 +250,70 @@ def _idx_table_bound_expressions(idx: Index) -> Iterable[ColumnElement[Any]]: def _copy(schema_item: _CE, **kw) -> _CE: if hasattr(schema_item, "_copy"): - return schema_item._copy(**kw) + return schema_item._copy(**kw) # type: ignore[union-attr] else: return schema_item.copy(**kw) # type: ignore[union-attr] +def _get_connection_transaction( + connection: Connection, +) -> Optional[Transaction]: + if sqla_14: + return connection.get_transaction() + else: + r = connection._root # type: ignore[attr-defined] + return r._Connection__transaction + + +def _create_url(*arg, **kw) -> url.URL: + if hasattr(url.URL, "create"): + return url.URL.create(*arg, **kw) + else: + return url.URL(*arg, **kw) + + def _connectable_has_table( connectable: Connection, tablename: str, schemaname: Union[str, None] ) -> bool: - return connectable.dialect.has_table(connectable, tablename, schemaname) + if sqla_14: + return inspect(connectable).has_table(tablename, schemaname) + else: + return connectable.dialect.has_table( + connectable, tablename, schemaname + ) def _exec_on_inspector(inspector, statement, **params): - with inspector._operation_context() as conn: - return conn.execute(statement, params) + if sqla_14: + with inspector._operation_context() as conn: + return conn.execute(statement, params) + else: + return inspector.bind.execute(statement, params) def _nullability_might_be_unset(metadata_column): - from sqlalchemy.sql import schema + if not sqla_14: + return metadata_column.nullable + else: + from sqlalchemy.sql import schema - return metadata_column._user_defined_nullable is schema.NULL_UNSPECIFIED + return ( + metadata_column._user_defined_nullable is schema.NULL_UNSPECIFIED + ) def _server_default_is_computed(*server_default) -> bool: - return any(isinstance(sd, schema.Computed) for sd in server_default) + if not has_computed: + return False + else: + return any(isinstance(sd, Computed) for sd in server_default) def _server_default_is_identity(*server_default) -> bool: - return any(isinstance(sd, schema.Identity) for sd in server_default) + if not sqla_14: + return False + else: + return any(isinstance(sd, Identity) for sd in server_default) def _table_for_constraint(constraint: Constraint) -> Table: @@ -266,6 +334,15 @@ def _columns_for_constraint(constraint): return list(constraint.columns) +def _reflect_table(inspector: Inspector, table: Table) -> None: + if sqla_14: + return inspector.reflect_table(table, None) + else: + return inspector.reflecttable( # type: ignore[attr-defined] + table, None + ) + + def _resolve_for_variant(type_, dialect): if _type_has_variants(type_): base_type, mapping = _get_variant_mapping(type_) @@ -274,7 +351,7 @@ def _resolve_for_variant(type_, dialect): return type_ -if hasattr(sqltypes.TypeEngine, "_variant_mapping"): # 2.0 +if hasattr(sqltypes.TypeEngine, "_variant_mapping"): def _type_has_variants(type_): return bool(type_._variant_mapping) @@ -291,12 +368,7 @@ else: return type_.impl, type_.mapping -def _fk_spec(constraint: ForeignKeyConstraint) -> Any: - if TYPE_CHECKING: - assert constraint.columns is not None - assert constraint.elements is not None - assert isinstance(constraint.parent, Table) - +def _fk_spec(constraint): source_columns = [ constraint.columns[key].name for key in constraint.column_keys ] @@ -325,7 +397,7 @@ def _fk_spec(constraint: ForeignKeyConstraint) -> Any: def _fk_is_self_referential(constraint: ForeignKeyConstraint) -> bool: - spec = constraint.elements[0]._get_colspec() + spec = constraint.elements[0]._get_colspec() # type: ignore[attr-defined] tokens = spec.split(".") tokens.pop(-1) # colname tablekey = ".".join(tokens) @@ -337,13 +409,13 @@ def _is_type_bound(constraint: Constraint) -> bool: # this deals with SQLAlchemy #3260, don't copy CHECK constraints # that will be generated by the type. # new feature added for #3260 - return constraint._type_bound + return constraint._type_bound # type: ignore[attr-defined] def _find_columns(clause): """locate Column objects within the given expression.""" - cols: Set[ColumnElement[Any]] = set() + cols = set() traverse(clause, {}, {"column": cols.add}) return cols @@ -430,7 +502,7 @@ class _textual_index_element(sql.ColumnElement): self.fake_column = schema.Column(self.text.text, sqltypes.NULLTYPE) table.append_column(self.fake_column) - def get_children(self, **kw): + def get_children(self): return [self.fake_column] @@ -452,44 +524,116 @@ def _render_literal_bindparam( return compiler.render_literal_bindparam(element, **kw) +def _get_index_expressions(idx): + return list(idx.expressions) + + +def _get_index_column_names(idx): + return [getattr(exp, "name", None) for exp in _get_index_expressions(idx)] + + +def _column_kwargs(col: Column) -> Mapping: + if sqla_13: + return col.kwargs + else: + return {} + + def _get_constraint_final_name( constraint: Union[Index, Constraint], dialect: Optional[Dialect] ) -> Optional[str]: if constraint.name is None: return None assert dialect is not None - # for SQLAlchemy 1.4 we would like to have the option to expand - # the use of "deferred" names for constraints as well as to have - # some flexibility with "None" name and similar; make use of new - # SQLAlchemy API to return what would be the final compiled form of - # the name for this dialect. - return dialect.identifier_preparer.format_constraint( - constraint, _alembic_quote=False - ) + if sqla_14: + # for SQLAlchemy 1.4 we would like to have the option to expand + # the use of "deferred" names for constraints as well as to have + # some flexibility with "None" name and similar; make use of new + # SQLAlchemy API to return what would be the final compiled form of + # the name for this dialect. + return dialect.identifier_preparer.format_constraint( + constraint, _alembic_quote=False + ) + else: + # prior to SQLAlchemy 1.4, work around quoting logic to get at the + # final compiled name without quotes. + if hasattr(constraint.name, "quote"): + # might be quoted_name, might be truncated_name, keep it the + # same + quoted_name_cls: type = type(constraint.name) + else: + quoted_name_cls = quoted_name + + new_name = quoted_name_cls(str(constraint.name), quote=False) + constraint = constraint.__class__(name=new_name) + + if isinstance(constraint, schema.Index): + # name should not be quoted. + d = dialect.ddl_compiler(dialect, None) # type: ignore[arg-type] + return d._prepared_index_name( # type: ignore[attr-defined] + constraint + ) + else: + # name should not be quoted. + return dialect.identifier_preparer.format_constraint(constraint) def _constraint_is_named( constraint: Union[Constraint, Index], dialect: Optional[Dialect] ) -> bool: - if constraint.name is None: - return False - assert dialect is not None - name = dialect.identifier_preparer.format_constraint( - constraint, _alembic_quote=False - ) - return name is not None + if sqla_14: + if constraint.name is None: + return False + assert dialect is not None + name = dialect.identifier_preparer.format_constraint( + constraint, _alembic_quote=False + ) + return name is not None + else: + return constraint.name is not None + + +def _is_mariadb(mysql_dialect: Dialect) -> bool: + if sqla_14: + return mysql_dialect.is_mariadb # type: ignore[attr-defined] + else: + return bool( + mysql_dialect.server_version_info + and mysql_dialect._is_mariadb # type: ignore[attr-defined] + ) + + +def _mariadb_normalized_version_info(mysql_dialect): + return mysql_dialect._mariadb_normalized_version_info + + +def _insert_inline(table: Union[TableClause, Table]) -> Insert: + if sqla_14: + return table.insert().inline() + else: + return table.insert(inline=True) # type: ignore[call-arg] + + +if sqla_14: + from sqlalchemy import create_mock_engine + from sqlalchemy import select as _select +else: + from sqlalchemy import create_engine + + def create_mock_engine(url, executor, **kw): # type: ignore[misc] + return create_engine( + "postgresql://", strategy="mock", executor=executor + ) + + def _select(*columns, **kw) -> Select: # type: ignore[no-redef] + return sql.select(list(columns), **kw) # type: ignore[call-overload] def is_expression_index(index: Index) -> bool: + expr: Any for expr in index.expressions: - if is_expression(expr): + while isinstance(expr, UnaryExpression): + expr = expr.element + if not isinstance(expr, ColumnClause) or expr.is_literal: return True return False - - -def is_expression(expr: Any) -> bool: - while isinstance(expr, UnaryExpression): - expr = expr.element - if not isinstance(expr, ColumnClause) or expr.is_literal: - return True - return False diff --git a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/AUTHORS b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/AUTHORS similarity index 100% rename from venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/AUTHORS rename to venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/AUTHORS diff --git a/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/LICENSE b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/LICENSE rename to venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/LICENSE diff --git a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/METADATA b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/METADATA similarity index 72% rename from venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/METADATA rename to venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/METADATA index d9f971e..08124ba 100644 --- a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/METADATA @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: asyncpg -Version: 0.30.0 +Version: 0.29.0 Summary: An asyncio PostgreSQL driver Author-email: MagicStack Inc License: Apache License, Version 2.0 @@ -25,22 +25,14 @@ Requires-Python: >=3.8.0 Description-Content-Type: text/x-rst License-File: LICENSE License-File: AUTHORS -Requires-Dist: async-timeout>=4.0.3; python_version < "3.11.0" +Requires-Dist: async-timeout >=4.0.3 ; python_version < "3.12.0" Provides-Extra: docs -Requires-Dist: Sphinx~=8.1.3; extra == "docs" -Requires-Dist: sphinx-rtd-theme>=1.2.2; extra == "docs" -Provides-Extra: gssauth -Requires-Dist: gssapi; platform_system != "Windows" and extra == "gssauth" -Requires-Dist: sspilib; platform_system == "Windows" and extra == "gssauth" +Requires-Dist: Sphinx ~=5.3.0 ; extra == 'docs' +Requires-Dist: sphinxcontrib-asyncio ~=0.3.0 ; extra == 'docs' +Requires-Dist: sphinx-rtd-theme >=1.2.2 ; extra == 'docs' Provides-Extra: test -Requires-Dist: flake8~=6.1; extra == "test" -Requires-Dist: flake8-pyi~=24.1.0; extra == "test" -Requires-Dist: distro~=1.9.0; extra == "test" -Requires-Dist: mypy~=1.8.0; extra == "test" -Requires-Dist: uvloop>=0.15.3; (platform_system != "Windows" and python_version < "3.14.0") and extra == "test" -Requires-Dist: gssapi; platform_system == "Linux" and extra == "test" -Requires-Dist: k5test; platform_system == "Linux" and extra == "test" -Requires-Dist: sspilib; platform_system == "Windows" and extra == "test" +Requires-Dist: flake8 ~=6.1 ; extra == 'test' +Requires-Dist: uvloop >=0.15.3 ; (platform_system != "Windows" and python_version < "3.12.0") and extra == 'test' asyncpg -- A fast PostgreSQL Database Client Library for Python/asyncio ======================================================================= @@ -58,9 +50,8 @@ framework. You can read more about asyncpg in an introductory `blog post `_. asyncpg requires Python 3.8 or later and is supported for PostgreSQL -versions 9.5 to 17. Other PostgreSQL versions or other databases -implementing the PostgreSQL protocol *may* work, but are not being -actively tested. +versions 9.5 to 16. Older PostgreSQL versions or other databases implementing +the PostgreSQL protocol *may* work, but are not being actively tested. Documentation @@ -103,18 +94,11 @@ This enables asyncpg to have easy-to-use support for: Installation ------------ -asyncpg is available on PyPI. When not using GSSAPI/SSPI authentication it -has no dependencies. Use pip to install:: +asyncpg is available on PyPI and has no dependencies. +Use pip to install:: $ pip install asyncpg -If you need GSSAPI/SSPI authentication, use:: - - $ pip install 'asyncpg[gssauth]' - -For more details, please `see the documentation -`_. - Basic Usage ----------- @@ -133,7 +117,8 @@ Basic Usage ) await conn.close() - asyncio.run(run()) + loop = asyncio.get_event_loop() + loop.run_until_complete(run()) License diff --git a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/RECORD b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/RECORD similarity index 68% rename from venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/RECORD rename to venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/RECORD index 4a1e719..0346fde 100644 --- a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/RECORD +++ b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/RECORD @@ -1,12 +1,12 @@ -asyncpg-0.30.0.dist-info/AUTHORS,sha256=gIYYcUuWiSZS93lstwQtCT56St1NtKg-fikn8ourw64,130 -asyncpg-0.30.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -asyncpg-0.30.0.dist-info/LICENSE,sha256=2SItc_2sUJkhdAdu-gT0T2-82dVhVafHCS6YdXBCpvY,11466 -asyncpg-0.30.0.dist-info/METADATA,sha256=60MN0tXDvcPtxahUC1vxSP8-dS5hYDtir_YIbY2NCkQ,5010 -asyncpg-0.30.0.dist-info/RECORD,, -asyncpg-0.30.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -asyncpg-0.30.0.dist-info/WHEEL,sha256=OVgtqZzfzIXXtylXP90gxCZ6CKBCwKYyHM8PpMEjN1M,151 -asyncpg-0.30.0.dist-info/top_level.txt,sha256=DdhVhpzCq49mykkHNag6i9zuJx05_tx4CMZymM1F8dU,8 -asyncpg/__init__.py,sha256=bzD31aMekbKR9waMXuAxIYFbmrQ-S1Mttjmru_sSjo8,647 +asyncpg-0.29.0.dist-info/AUTHORS,sha256=gIYYcUuWiSZS93lstwQtCT56St1NtKg-fikn8ourw64,130 +asyncpg-0.29.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +asyncpg-0.29.0.dist-info/LICENSE,sha256=2SItc_2sUJkhdAdu-gT0T2-82dVhVafHCS6YdXBCpvY,11466 +asyncpg-0.29.0.dist-info/METADATA,sha256=_xxlp3Q6M3HJGWcW4cnzhtcswIBd0n7IztyBiZe4Pj0,4356 +asyncpg-0.29.0.dist-info/RECORD,, +asyncpg-0.29.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +asyncpg-0.29.0.dist-info/WHEEL,sha256=JmQLNqDEfvnYMfsIaVeSP3fmUcYDwmF12m3QYW0c7QQ,152 +asyncpg-0.29.0.dist-info/top_level.txt,sha256=DdhVhpzCq49mykkHNag6i9zuJx05_tx4CMZymM1F8dU,8 +asyncpg/__init__.py,sha256=jOW3EoH2dDw1bsrd4qipodmPJsEN6D5genWdyqhB7e8,563 asyncpg/__pycache__/__init__.cpython-312.pyc,, asyncpg/__pycache__/_asyncio_compat.cpython-312.pyc,, asyncpg/__pycache__/_version.cpython-312.pyc,, @@ -23,23 +23,23 @@ asyncpg/__pycache__/serverversion.cpython-312.pyc,, asyncpg/__pycache__/transaction.cpython-312.pyc,, asyncpg/__pycache__/types.cpython-312.pyc,, asyncpg/__pycache__/utils.cpython-312.pyc,, -asyncpg/_asyncio_compat.py,sha256=pXF_aF4o_AqxNql0sPnuGdoe5sSSwQxHpKWF6ShZTbo,2540 -asyncpg/_testbase/__init__.py,sha256=IzMqfgI5gtOxajneoeWyoI4NtmE5sp7S5dXmU0gwwB8,16499 +asyncpg/_asyncio_compat.py,sha256=VgUVf12ztecdiiAMjpS53R_XizOQMKXJBRK-9iCG6cI,2299 +asyncpg/_testbase/__init__.py,sha256=Sj6bhG3a8k5hqp1eFv7I6IkfulcvCXbd1y4tvfz5WQk,16066 asyncpg/_testbase/__pycache__/__init__.cpython-312.pyc,, asyncpg/_testbase/__pycache__/fuzzer.cpython-312.pyc,, asyncpg/_testbase/fuzzer.py,sha256=3Uxdu0YXei-7JZMCuCI3bxKMdnbuossV-KC68GG-AS4,9804 -asyncpg/_version.py,sha256=MLgciqpbfndZJPsc0fi_WNdVVcsn3Wobpaw0WiaRvEo,641 -asyncpg/cluster.py,sha256=s_HmtiEGJqJ6GQWa6_zmfe11fZ29OpOtMT6Ufcu-g0g,24476 -asyncpg/compat.py,sha256=ebs2IeJw82rY9m0ZCmOYUqry_2nF3zqTi3tsWP5FT2o,2459 -asyncpg/connect_utils.py,sha256=vaVSrnmko33wPjw1X5wlbooF0FTeFlN5b50burZuUWc,36923 -asyncpg/connection.py,sha256=EFlI_1VIkSFzSszsUCCl0eFJITT-5McSuAVmWJyCy-Y,98545 +asyncpg/_version.py,sha256=vGtvByhKF_7cyfQ46GVcrEyZ0o87ts1ofOzkmLgbmFg,576 +asyncpg/cluster.py,sha256=Bna0wFKj9tACcD4Uxjv9eeo5EwAEeJi4t5YVbN434ao,23283 +asyncpg/compat.py,sha256=mQmQgtRgu1clS-Aqiz76g1tHH9qXIRK_xJ7sokx-Y2U,1769 +asyncpg/connect_utils.py,sha256=xZE61cj1Afwm_VyKSDmWHcYwDCwIIk66OXq9MBHyH8M,34979 +asyncpg/connection.py,sha256=f30Jo8XllatqjavvlrkNCcgnIaKnNTQvf32NVJB3ExM,95227 asyncpg/connresource.py,sha256=tBAidNpEhbDvrMOKQbwn3ZNgIVAtsVxARxTnwj5fk-Q,1384 asyncpg/cursor.py,sha256=rKeSIJMW5mUpvsian6a1MLrLoEwbkYTZsmZtEgwFT6s,9160 -asyncpg/exceptions/__init__.py,sha256=FXUYDFQw9gxE3mVz99FmsldYxivLUMtTIhXzu5tZ7Pk,29157 +asyncpg/exceptions/__init__.py,sha256=yZXt3k0lHuF-5czqfBcsMfhxgI5fXAT31hSTn7_fiMM,28826 asyncpg/exceptions/__pycache__/__init__.cpython-312.pyc,, asyncpg/exceptions/__pycache__/_base.cpython-312.pyc,, asyncpg/exceptions/_base.py,sha256=u62xv69n4AHO1xr35FjdgZhYvqdeb_mkQKyp-ip_AyQ,9260 -asyncpg/introspection.py,sha256=biiHj5yQMB8RGch2TiH2TPocN3OO6_GasyijFYxgUOM,9215 +asyncpg/introspection.py,sha256=0oyQXJF6WHpVMq7K_8VIOMVTlGde71cFCA_9NkuDgcQ,8957 asyncpg/pgproto/__init__.pxd,sha256=uUIkKuI6IGnQ5tZXtrjOC_13qjp9MZOwewKlrxKFzPY,213 asyncpg/pgproto/__init__.py,sha256=uUIkKuI6IGnQ5tZXtrjOC_13qjp9MZOwewKlrxKFzPY,213 asyncpg/pgproto/__pycache__/__init__.cpython-312.pyc,, @@ -70,44 +70,42 @@ asyncpg/pgproto/debug.pxd,sha256=SuLG2tteWe3cXnS0czRTTNnnm2QGgG02icp_6G_X9Yw,263 asyncpg/pgproto/frb.pxd,sha256=B2s2dw-SkzfKWeLEWzVLTkjjYYW53pazPcVNH3vPxAk,1212 asyncpg/pgproto/frb.pyx,sha256=7bipWSBXebweq3JBFlCvSwa03fIZGLkKPqWbJ8VFWFI,409 asyncpg/pgproto/hton.pxd,sha256=Swx5ry82iWYO9Ok4fRa_b7cLSrIPyxNYlyXm-ncYweo,953 -asyncpg/pgproto/pgproto.cpython-312-x86_64-linux-gnu.so,sha256=pq0nrGmFE6y2VQgcWlKcFODTl9h9We00i1xQT55RYdE,3131904 +asyncpg/pgproto/pgproto.cpython-312-x86_64-linux-gnu.so,sha256=niR6XwwgUbpcrq6BrfQXz0NgIq2fn9xyMgzPq2yrACY,2849672 asyncpg/pgproto/pgproto.pxd,sha256=QUUxWiHKdKfFxdDT0czSvOFsA4b59MJRR6WlUbJFgPg,430 -asyncpg/pgproto/pgproto.pyi,sha256=W5nuATmpHFfhRF7Hnjt5Vuvr1lBJ-xkJ8nIvEYE1N1E,275 asyncpg/pgproto/pgproto.pyx,sha256=bK75qfRQlofzO8dDzJ2mHUE0wLeXSsc5SLeAGvyXSeE,1249 asyncpg/pgproto/tohex.pxd,sha256=fQVaxBu6dBw2P_ROR8MSPVDlVep0McKi69fdQBLhifI,361 asyncpg/pgproto/types.py,sha256=wzJgyDJ63Eu2TJym0EhhEr6-D9iIV3cdlzab11sgRS0,13014 asyncpg/pgproto/uuid.pyx,sha256=PrQIvQKJJItsYFpwZtDCcR9Z_DIbEi_MUt6tQjnVaYI,9943 -asyncpg/pool.py,sha256=oZh4JC01xizpa3MQSJ4mcOW71Nb_jYWluY_Dm2549fg,41296 -asyncpg/prepared_stmt.py,sha256=YfOSeQavN1c1o5SajD9ylTCLHpNV5plGBEw9ku8KyBk,9752 -asyncpg/protocol/__init__.py,sha256=c-b07Si_DGN9rqiCUAmR9RaCUCy_LiJ4lqHCb0yMBRI,340 +asyncpg/pool.py,sha256=VilAdZmMrodLmu7xeYk2ExoJRFUzk4ORT4kdxMMVE64,38168 +asyncpg/prepared_stmt.py,sha256=jay1C7UISpmXmotWkUXgdRidgtSdvmaCxlGZ6xlNGEM,8992 +asyncpg/protocol/__init__.py,sha256=6mxFfJskIjmKjSxxOybsuHY68wa2BlqY3z0VWG1BT4g,304 asyncpg/protocol/__pycache__/__init__.cpython-312.pyc,, asyncpg/protocol/codecs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 asyncpg/protocol/codecs/__pycache__/__init__.cpython-312.pyc,, asyncpg/protocol/codecs/array.pyx,sha256=1S_6xdgxllG8_1Lb68XdPkH1QgF63gAAmjh091Q7Dyk,29486 asyncpg/protocol/codecs/base.pxd,sha256=NfDsh60UZX-gVThlj8rzGmLRqMbXAYqSJsAwKTcZ1Cg,6224 -asyncpg/protocol/codecs/base.pyx,sha256=C1SPRtSdYbshnvZOHJVj9Gp30VSj5z6nQRBUoPgj2IU,33464 +asyncpg/protocol/codecs/base.pyx,sha256=V8-mmRPV3eFn2jUmdFILFNNsjUaFH8_x4S5IJ7OjtCM,33475 asyncpg/protocol/codecs/pgproto.pyx,sha256=5PDv1JT_nXbDbHtYVrGCcZN3CxzQdgwqlXT8GpyMamk,17175 asyncpg/protocol/codecs/range.pyx,sha256=-P-acyY2e5TlEtjqbkeH28PYk-DGLxqbmzKDFGL5BbI,6359 asyncpg/protocol/codecs/record.pyx,sha256=l17HPv3ZeZzvDMXmh-FTdOQ0LxqaQsge_4hlmnGaf6s,2362 asyncpg/protocol/codecs/textutils.pyx,sha256=UmTt1Zs5N2oLVDMTSlSe1zAFt5q4_4akbXZoS6HSPO8,2011 asyncpg/protocol/consts.pxi,sha256=VT7NLBpLgPUvcUbPflrX84I79JZiFg4zFzBK28nCRZo,381 -asyncpg/protocol/coreproto.pxd,sha256=77yJqaBMGWHmxyihZIFfyVgfzICF9jLwKSvtuCoE8rM,6215 -asyncpg/protocol/coreproto.pyx,sha256=sMvXqxnppthc_LJYibMAJts0IfEPgYVs4nwXmY3v-IY,41037 +asyncpg/protocol/coreproto.pxd,sha256=ozuSON07EOnWmJI4v3gtTjD18APpZfk1WfnoWLZ53as,6149 +asyncpg/protocol/coreproto.pyx,sha256=UprN-4_PaJFN82fCCA2tE0t_i_dShyTdtsbymOYGnfE,38015 asyncpg/protocol/cpythonx.pxd,sha256=VX71g4PiwXWGTY-BzBPm7S-AiX5ySRrY40qAggH-BIA,613 asyncpg/protocol/encodings.pyx,sha256=QegnSON5y-a0aQFD9zFbhAzhYTbKYj-vl3VGiyqIU3I,1644 asyncpg/protocol/pgtypes.pxi,sha256=w8Mb6N7Z58gxPYWZkj5lwk0PRW7oBTIf9fo0MvPzm4c,6924 asyncpg/protocol/prepared_stmt.pxd,sha256=GhHzJgQMehpWg0i3XSmbkJH6G5nnnmdNCf2EU_gXhDY,1115 -asyncpg/protocol/prepared_stmt.pyx,sha256=wfo57hwGrghO3-0o7OxABV2heL2Fb0teENUZNmMj6aI,13058 -asyncpg/protocol/protocol.cpython-312-x86_64-linux-gnu.so,sha256=mIYQ9YlP2JuiyV4448aKNqyUZgEVjBiVXlsSzKxM41k,9439904 -asyncpg/protocol/protocol.pxd,sha256=yOVFbkD7mA8VK5IGIJ4dGTyvHKWZTQOFfCFNfdeUdK8,1927 -asyncpg/protocol/protocol.pyi,sha256=Dg0-ZTvLCXc3g3aCvEHvSKVzRp63Q-9iceiqTSQMr2g,9732 -asyncpg/protocol/protocol.pyx,sha256=V99Dm45e8vgV3qSa-jmS2YypntSymrznLtyxoveU7jI,34850 +asyncpg/protocol/prepared_stmt.pyx,sha256=fbhQpVuDFEQ1GOw--sZdrD-iOkTvU5JXFOlxKpTe36c,13052 +asyncpg/protocol/protocol.cpython-312-x86_64-linux-gnu.so,sha256=92ZeyBjeYWIwDLtGqPCzTYw-94N8V-3BiTguwL6iNu4,8713328 +asyncpg/protocol/protocol.pxd,sha256=0Y1NFvnR3N0rmvBMUAocYi4U9RbAyg-6qkoqOgy53Fg,1950 +asyncpg/protocol/protocol.pyx,sha256=2EN1Aq45eR3pGQjQciafqFQzi4ilLqDLP2LpLWM3wVE,34824 asyncpg/protocol/record/__init__.pxd,sha256=KJyCfN_ST2yyEDnUS3PfipeIEYmY8CVTeOwFPcUcVNc,495 asyncpg/protocol/scram.pxd,sha256=t_nkicIS_4AzxyHoq-aYUNrFNv8O0W7E090HfMAIuno,1299 asyncpg/protocol/scram.pyx,sha256=nT_Rawg6h3OrRWDBwWN7lju5_hnOmXpwWFWVrb3l_dQ,14594 asyncpg/protocol/settings.pxd,sha256=8DTwZ5mi0aAUJRWE6SUIRDhWFGFis1mj8lcA8hNFTL0,1066 -asyncpg/protocol/settings.pyx,sha256=yICjZF5FXwfmdxQBg-1qO0XbpLvZL11-c3aMbiwM7oo,3777 -asyncpg/serverversion.py,sha256=WwlqBJkXZHvvnFluubCjPoaX_7OqjR8QgiOe90w6C9E,2133 +asyncpg/protocol/settings.pyx,sha256=Z_GsQoRKzqBeztO8AJMTbv_xpT-mk8LgLfvQ2l-W7cY,3795 +asyncpg/serverversion.py,sha256=xdxEy45U9QGhpfTp3c4g6jSJ3NEb4lsDcTe3qvFNDQg,1790 asyncpg/transaction.py,sha256=uAJok6Shx7-Kdt5l4NX-GJtLxVJSPXTOJUryGdbIVG8,8497 -asyncpg/types.py,sha256=2x-nAVdfk41PA83DyYcWxkUNXsiGLotGkMX0gVpuFoY,5520 -asyncpg/utils.py,sha256=Y0vATexoIHFkpWURlqnlUZUacc4F1iZJ9rWJ3654OnM,1495 +asyncpg/types.py,sha256=msRSL9mXKPWjVXMi0yrk5vhVwQp9Sdwyfcp_zz8ZkNU,4653 +asyncpg/utils.py,sha256=NWmcsmYORwc4rjJvwrUqJrv1lP2Qq5c-v139LBv2ZVQ,1367 diff --git a/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/WHEEL b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/WHEEL similarity index 78% rename from venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/WHEEL index 057fef6..c5825c5 100644 --- a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 -Generator: setuptools (75.2.0) +Generator: bdist_wheel (0.41.3) Root-Is-Purelib: false Tag: cp312-cp312-manylinux_2_17_x86_64 Tag: cp312-cp312-manylinux2014_x86_64 diff --git a/venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/top_level.txt similarity index 100% rename from venv/lib/python3.12/site-packages/asyncpg-0.30.0.dist-info/top_level.txt rename to venv/lib/python3.12/site-packages/asyncpg-0.29.0.dist-info/top_level.txt diff --git a/venv/lib/python3.12/site-packages/asyncpg/__init__.py b/venv/lib/python3.12/site-packages/asyncpg/__init__.py index e8811a9..e8cd11e 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/__init__.py +++ b/venv/lib/python3.12/site-packages/asyncpg/__init__.py @@ -4,7 +4,6 @@ # This module is part of asyncpg and is released under # the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0 -from __future__ import annotations from .connection import connect, Connection # NOQA from .exceptions import * # NOQA @@ -15,10 +14,6 @@ from .types import * # NOQA from ._version import __version__ # NOQA -from . import exceptions - -__all__: tuple[str, ...] = ( - 'connect', 'create_pool', 'Pool', 'Record', 'Connection' -) +__all__ = ('connect', 'create_pool', 'Pool', 'Record', 'Connection') __all__ += exceptions.__all__ # NOQA diff --git a/venv/lib/python3.12/site-packages/asyncpg/_asyncio_compat.py b/venv/lib/python3.12/site-packages/asyncpg/_asyncio_compat.py index a211d0a..ad7dfd8 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/_asyncio_compat.py +++ b/venv/lib/python3.12/site-packages/asyncpg/_asyncio_compat.py @@ -4,25 +4,18 @@ # # SPDX-License-Identifier: PSF-2.0 -from __future__ import annotations import asyncio import functools import sys -import typing - -if typing.TYPE_CHECKING: - from . import compat if sys.version_info < (3, 11): from async_timeout import timeout as timeout_ctx else: from asyncio import timeout as timeout_ctx -_T = typing.TypeVar('_T') - -async def wait_for(fut: compat.Awaitable[_T], timeout: float | None) -> _T: +async def wait_for(fut, timeout): """Wait for the single Future or coroutine to complete, with timeout. Coroutine will be wrapped in Task. @@ -72,7 +65,7 @@ async def wait_for(fut: compat.Awaitable[_T], timeout: float | None) -> _T: return await fut -async def _cancel_and_wait(fut: asyncio.Future[_T]) -> None: +async def _cancel_and_wait(fut): """Cancel the *fut* future or task and wait until it completes.""" loop = asyncio.get_running_loop() @@ -89,6 +82,6 @@ async def _cancel_and_wait(fut: asyncio.Future[_T]) -> None: fut.remove_done_callback(cb) -def _release_waiter(waiter: asyncio.Future[typing.Any], *args: object) -> None: +def _release_waiter(waiter, *args): if not waiter.done(): waiter.set_result(None) diff --git a/venv/lib/python3.12/site-packages/asyncpg/_testbase/__init__.py b/venv/lib/python3.12/site-packages/asyncpg/_testbase/__init__.py index 95775e1..7aca834 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/_testbase/__init__.py +++ b/venv/lib/python3.12/site-packages/asyncpg/_testbase/__init__.py @@ -117,22 +117,10 @@ class TestCase(unittest.TestCase, metaclass=TestCaseMeta): self.__unhandled_exceptions = [] def tearDown(self): - excs = [] - for exc in self.__unhandled_exceptions: - if isinstance(exc, ConnectionResetError): - texc = traceback.TracebackException.from_exception( - exc, lookup_lines=False) - if texc.stack[-1].name == "_call_connection_lost": - # On Windows calling socket.shutdown may raise - # ConnectionResetError, which happens in the - # finally block of _call_connection_lost. - continue - excs.append(exc) - - if excs: + if self.__unhandled_exceptions: formatted = [] - for i, context in enumerate(excs): + for i, context in enumerate(self.__unhandled_exceptions): formatted.append(self._format_loop_exception(context, i + 1)) self.fail( @@ -226,6 +214,13 @@ def _init_cluster(ClusterCls, cluster_kwargs, initdb_options=None): return cluster +def _start_cluster(ClusterCls, cluster_kwargs, server_settings, + initdb_options=None): + cluster = _init_cluster(ClusterCls, cluster_kwargs, initdb_options) + cluster.start(port='dynamic', server_settings=server_settings) + return cluster + + def _get_initdb_options(initdb_options=None): if not initdb_options: initdb_options = {} @@ -249,12 +244,8 @@ def _init_default_cluster(initdb_options=None): _default_cluster = pg_cluster.RunningCluster() else: _default_cluster = _init_cluster( - pg_cluster.TempCluster, - cluster_kwargs={ - "data_dir_suffix": ".apgtest", - }, - initdb_options=_get_initdb_options(initdb_options), - ) + pg_cluster.TempCluster, cluster_kwargs={}, + initdb_options=_get_initdb_options(initdb_options)) return _default_cluster @@ -271,7 +262,6 @@ def create_pool(dsn=None, *, max_size=10, max_queries=50000, max_inactive_connection_lifetime=60.0, - connect=None, setup=None, init=None, loop=None, @@ -281,18 +271,12 @@ def create_pool(dsn=None, *, **connect_kwargs): return pool_class( dsn, - min_size=min_size, - max_size=max_size, - max_queries=max_queries, - loop=loop, - connect=connect, - setup=setup, - init=init, + min_size=min_size, max_size=max_size, + max_queries=max_queries, loop=loop, setup=setup, init=init, max_inactive_connection_lifetime=max_inactive_connection_lifetime, connection_class=connection_class, record_class=record_class, - **connect_kwargs, - ) + **connect_kwargs) class ClusterTestCase(TestCase): diff --git a/venv/lib/python3.12/site-packages/asyncpg/_version.py b/venv/lib/python3.12/site-packages/asyncpg/_version.py index 245eee7..64da11d 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/_version.py +++ b/venv/lib/python3.12/site-packages/asyncpg/_version.py @@ -10,8 +10,4 @@ # supported platforms, publish the packages on PyPI, merge the PR # to the target branch, create a Git tag pointing to the commit. -from __future__ import annotations - -import typing - -__version__: typing.Final = '0.30.0' +__version__ = '0.29.0' diff --git a/venv/lib/python3.12/site-packages/asyncpg/cluster.py b/venv/lib/python3.12/site-packages/asyncpg/cluster.py index 606c2ea..4467cc2 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/cluster.py +++ b/venv/lib/python3.12/site-packages/asyncpg/cluster.py @@ -9,11 +9,9 @@ import asyncio import os import os.path import platform -import random import re import shutil import socket -import string import subprocess import sys import tempfile @@ -47,29 +45,6 @@ def find_available_port(): sock.close() -def _world_readable_mkdtemp(suffix=None, prefix=None, dir=None): - name = "".join(random.choices(string.ascii_lowercase, k=8)) - if dir is None: - dir = tempfile.gettempdir() - if prefix is None: - prefix = tempfile.gettempprefix() - if suffix is None: - suffix = "" - fn = os.path.join(dir, prefix + name + suffix) - os.mkdir(fn, 0o755) - return fn - - -def _mkdtemp(suffix=None, prefix=None, dir=None): - if _system == 'Windows' and os.environ.get("GITHUB_ACTIONS"): - # Due to mitigations introduced in python/cpython#118486 - # when Python runs in a session created via an SSH connection - # tempfile.mkdtemp creates directories that are not accessible. - return _world_readable_mkdtemp(suffix, prefix, dir) - else: - return tempfile.mkdtemp(suffix, prefix, dir) - - class ClusterError(Exception): pass @@ -147,13 +122,9 @@ class Cluster: else: extra_args = [] - os.makedirs(self._data_dir, exist_ok=True) process = subprocess.run( [self._pg_ctl, 'init', '-D', self._data_dir] + extra_args, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - cwd=self._data_dir, - ) + stdout=subprocess.PIPE, stderr=subprocess.STDOUT) output = process.stdout @@ -228,10 +199,7 @@ class Cluster: process = subprocess.run( [self._pg_ctl, 'start', '-D', self._data_dir, '-o', ' '.join(extra_args)], - stdout=stdout, - stderr=subprocess.STDOUT, - cwd=self._data_dir, - ) + stdout=stdout, stderr=subprocess.STDOUT) if process.returncode != 0: if process.stderr: @@ -250,10 +218,7 @@ class Cluster: self._daemon_process = \ subprocess.Popen( [self._postgres, '-D', self._data_dir, *extra_args], - stdout=stdout, - stderr=subprocess.STDOUT, - cwd=self._data_dir, - ) + stdout=stdout, stderr=subprocess.STDOUT) self._daemon_pid = self._daemon_process.pid @@ -267,10 +232,7 @@ class Cluster: process = subprocess.run( [self._pg_ctl, 'reload', '-D', self._data_dir], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - cwd=self._data_dir, - ) + stdout=subprocess.PIPE, stderr=subprocess.PIPE) stderr = process.stderr @@ -283,10 +245,7 @@ class Cluster: process = subprocess.run( [self._pg_ctl, 'stop', '-D', self._data_dir, '-t', str(wait), '-m', 'fast'], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - cwd=self._data_dir, - ) + stdout=subprocess.PIPE, stderr=subprocess.PIPE) stderr = process.stderr @@ -624,9 +583,9 @@ class TempCluster(Cluster): def __init__(self, *, data_dir_suffix=None, data_dir_prefix=None, data_dir_parent=None, pg_config_path=None): - self._data_dir = _mkdtemp(suffix=data_dir_suffix, - prefix=data_dir_prefix, - dir=data_dir_parent) + self._data_dir = tempfile.mkdtemp(suffix=data_dir_suffix, + prefix=data_dir_prefix, + dir=data_dir_parent) super().__init__(self._data_dir, pg_config_path=pg_config_path) diff --git a/venv/lib/python3.12/site-packages/asyncpg/compat.py b/venv/lib/python3.12/site-packages/asyncpg/compat.py index 57eec65..3eec9eb 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/compat.py +++ b/venv/lib/python3.12/site-packages/asyncpg/compat.py @@ -4,26 +4,22 @@ # This module is part of asyncpg and is released under # the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0 -from __future__ import annotations -import enum import pathlib import platform import typing import sys -if typing.TYPE_CHECKING: - import asyncio -SYSTEM: typing.Final = platform.uname().system +SYSTEM = platform.uname().system -if sys.platform == 'win32': +if SYSTEM == 'Windows': import ctypes.wintypes - CSIDL_APPDATA: typing.Final = 0x001a + CSIDL_APPDATA = 0x001a - def get_pg_home_directory() -> pathlib.Path | None: + def get_pg_home_directory() -> typing.Optional[pathlib.Path]: # We cannot simply use expanduser() as that returns the user's # home directory, whereas Postgres stores its config in # %AppData% on Windows. @@ -35,14 +31,14 @@ if sys.platform == 'win32': return pathlib.Path(buf.value) / 'postgresql' else: - def get_pg_home_directory() -> pathlib.Path | None: + def get_pg_home_directory() -> typing.Optional[pathlib.Path]: try: return pathlib.Path.home() except (RuntimeError, KeyError): return None -async def wait_closed(stream: asyncio.StreamWriter) -> None: +async def wait_closed(stream): # Not all asyncio versions have StreamWriter.wait_closed(). if hasattr(stream, 'wait_closed'): try: @@ -53,13 +49,6 @@ async def wait_closed(stream: asyncio.StreamWriter) -> None: pass -if sys.version_info < (3, 12): - def markcoroutinefunction(c): # type: ignore - pass -else: - from inspect import markcoroutinefunction # noqa: F401 - - if sys.version_info < (3, 12): from ._asyncio_compat import wait_for as wait_for # noqa: F401 else: @@ -70,19 +59,3 @@ if sys.version_info < (3, 11): from ._asyncio_compat import timeout_ctx as timeout # noqa: F401 else: from asyncio import timeout as timeout # noqa: F401 - -if sys.version_info < (3, 9): - from typing import ( # noqa: F401 - Awaitable as Awaitable, - ) -else: - from collections.abc import ( # noqa: F401 - Awaitable as Awaitable, - ) - -if sys.version_info < (3, 11): - class StrEnum(str, enum.Enum): - __str__ = str.__str__ - __repr__ = enum.Enum.__repr__ -else: - from enum import StrEnum as StrEnum # noqa: F401 diff --git a/venv/lib/python3.12/site-packages/asyncpg/connect_utils.py b/venv/lib/python3.12/site-packages/asyncpg/connect_utils.py index 4890d00..414231f 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/connect_utils.py +++ b/venv/lib/python3.12/site-packages/asyncpg/connect_utils.py @@ -45,11 +45,6 @@ class SSLMode(enum.IntEnum): return getattr(cls, sslmode.replace('-', '_')) -class SSLNegotiation(compat.StrEnum): - postgres = "postgres" - direct = "direct" - - _ConnectionParameters = collections.namedtuple( 'ConnectionParameters', [ @@ -58,11 +53,9 @@ _ConnectionParameters = collections.namedtuple( 'database', 'ssl', 'sslmode', - 'ssl_negotiation', + 'direct_tls', 'server_settings', 'target_session_attrs', - 'krbsrvname', - 'gsslib', ]) @@ -268,13 +261,12 @@ def _dot_postgresql_path(filename) -> typing.Optional[pathlib.Path]: def _parse_connect_dsn_and_args(*, dsn, host, port, user, password, passfile, database, ssl, direct_tls, server_settings, - target_session_attrs, krbsrvname, gsslib): + target_session_attrs): # `auth_hosts` is the version of host information for the purposes # of reading the pgpass file. auth_hosts = None sslcert = sslkey = sslrootcert = sslcrl = sslpassword = None ssl_min_protocol_version = ssl_max_protocol_version = None - sslnegotiation = None if dsn: parsed = urllib.parse.urlparse(dsn) @@ -368,9 +360,6 @@ def _parse_connect_dsn_and_args(*, dsn, host, port, user, if 'sslrootcert' in query: sslrootcert = query.pop('sslrootcert') - if 'sslnegotiation' in query: - sslnegotiation = query.pop('sslnegotiation') - if 'sslcrl' in query: sslcrl = query.pop('sslcrl') @@ -394,16 +383,6 @@ def _parse_connect_dsn_and_args(*, dsn, host, port, user, if target_session_attrs is None: target_session_attrs = dsn_target_session_attrs - if 'krbsrvname' in query: - val = query.pop('krbsrvname') - if krbsrvname is None: - krbsrvname = val - - if 'gsslib' in query: - val = query.pop('gsslib') - if gsslib is None: - gsslib = val - if query: if server_settings is None: server_settings = query @@ -512,36 +491,13 @@ def _parse_connect_dsn_and_args(*, dsn, host, port, user, if ssl is None and have_tcp_addrs: ssl = 'prefer' - if direct_tls is not None: - sslneg = ( - SSLNegotiation.direct if direct_tls else SSLNegotiation.postgres - ) - else: - if sslnegotiation is None: - sslnegotiation = os.environ.get("PGSSLNEGOTIATION") - - if sslnegotiation is not None: - try: - sslneg = SSLNegotiation(sslnegotiation) - except ValueError: - modes = ', '.join( - m.name.replace('_', '-') - for m in SSLNegotiation - ) - raise exceptions.ClientConfigurationError( - f'`sslnegotiation` parameter must be one of: {modes}' - ) from None - else: - sslneg = SSLNegotiation.postgres - if isinstance(ssl, (str, SSLMode)): try: sslmode = SSLMode.parse(ssl) except AttributeError: modes = ', '.join(m.name.replace('_', '-') for m in SSLMode) raise exceptions.ClientConfigurationError( - '`sslmode` parameter must be one of: {}'.format(modes) - ) from None + '`sslmode` parameter must be one of: {}'.format(modes)) # docs at https://www.postgresql.org/docs/10/static/libpq-connect.html if sslmode < SSLMode.allow: @@ -694,24 +650,11 @@ def _parse_connect_dsn_and_args(*, dsn, host, port, user, ) ) from None - if krbsrvname is None: - krbsrvname = os.getenv('PGKRBSRVNAME') - - if gsslib is None: - gsslib = os.getenv('PGGSSLIB') - if gsslib is None: - gsslib = 'sspi' if _system == 'Windows' else 'gssapi' - if gsslib not in {'gssapi', 'sspi'}: - raise exceptions.ClientConfigurationError( - "gsslib parameter must be either 'gssapi' or 'sspi'" - ", got {!r}".format(gsslib)) - params = _ConnectionParameters( user=user, password=password, database=database, ssl=ssl, - sslmode=sslmode, ssl_negotiation=sslneg, + sslmode=sslmode, direct_tls=direct_tls, server_settings=server_settings, - target_session_attrs=target_session_attrs, - krbsrvname=krbsrvname, gsslib=gsslib) + target_session_attrs=target_session_attrs) return addrs, params @@ -722,7 +665,7 @@ def _parse_connect_arguments(*, dsn, host, port, user, password, passfile, max_cached_statement_lifetime, max_cacheable_statement_size, ssl, direct_tls, server_settings, - target_session_attrs, krbsrvname, gsslib): + target_session_attrs): local_vars = locals() for var_name in {'max_cacheable_statement_size', 'max_cached_statement_lifetime', @@ -751,8 +694,7 @@ def _parse_connect_arguments(*, dsn, host, port, user, password, passfile, password=password, passfile=passfile, ssl=ssl, direct_tls=direct_tls, database=database, server_settings=server_settings, - target_session_attrs=target_session_attrs, - krbsrvname=krbsrvname, gsslib=gsslib) + target_session_attrs=target_session_attrs) config = _ClientConfiguration( command_timeout=command_timeout, @@ -914,9 +856,9 @@ async def __connect_addr( # UNIX socket connector = loop.create_unix_connection(proto_factory, addr) - elif params.ssl and params.ssl_negotiation is SSLNegotiation.direct: - # if ssl and ssl_negotiation is `direct`, skip STARTTLS and perform - # direct SSL connection + elif params.ssl and params.direct_tls: + # if ssl and direct_tls are given, skip STARTTLS and perform direct + # SSL connection connector = loop.create_connection( proto_factory, *addr, ssl=params.ssl ) diff --git a/venv/lib/python3.12/site-packages/asyncpg/connection.py b/venv/lib/python3.12/site-packages/asyncpg/connection.py index 3a86466..0367e36 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/connection.py +++ b/venv/lib/python3.12/site-packages/asyncpg/connection.py @@ -231,8 +231,9 @@ class Connection(metaclass=ConnectionMeta): :param callable callback: A callable or a coroutine function receiving one argument: - **record**, a LoggedQuery containing `query`, `args`, `timeout`, - `elapsed`, `exception`, `conn_addr`, and `conn_params`. + **record**: a LoggedQuery containing `query`, `args`, `timeout`, + `elapsed`, `exception`, `conn_addr`, and + `conn_params`. .. versionadded:: 0.29.0 """ @@ -756,44 +757,6 @@ class Connection(metaclass=ConnectionMeta): return None return data[0] - async def fetchmany( - self, query, args, *, timeout: float=None, record_class=None - ): - """Run a query for each sequence of arguments in *args* - and return the results as a list of :class:`Record`. - - :param query: - Query to execute. - :param args: - An iterable containing sequences of arguments for the query. - :param float timeout: - Optional timeout value in seconds. - :param type record_class: - If specified, the class to use for records returned by this method. - Must be a subclass of :class:`~asyncpg.Record`. If not specified, - a per-connection *record_class* is used. - - :return list: - A list of :class:`~asyncpg.Record` instances. If specified, the - actual type of list elements would be *record_class*. - - Example: - - .. code-block:: pycon - - >>> rows = await con.fetchmany(''' - ... INSERT INTO mytab (a, b) VALUES ($1, $2) RETURNING a; - ... ''', [('x', 1), ('y', 2), ('z', 3)]) - >>> rows - [, , ] - - .. versionadded:: 0.30.0 - """ - self._check_open() - return await self._executemany( - query, args, timeout, return_rows=True, record_class=record_class - ) - async def copy_from_table(self, table_name, *, output, columns=None, schema_name=None, timeout=None, format=None, oids=None, delimiter=None, @@ -837,7 +800,7 @@ class Connection(metaclass=ConnectionMeta): ... output='file.csv', format='csv') ... print(result) ... - >>> asyncio.run(run()) + >>> asyncio.get_event_loop().run_until_complete(run()) 'COPY 100' .. _`COPY statement documentation`: @@ -906,7 +869,7 @@ class Connection(metaclass=ConnectionMeta): ... output='file.csv', format='csv') ... print(result) ... - >>> asyncio.run(run()) + >>> asyncio.get_event_loop().run_until_complete(run()) 'COPY 10' .. _`COPY statement documentation`: @@ -982,7 +945,7 @@ class Connection(metaclass=ConnectionMeta): ... 'mytable', source='datafile.tbl') ... print(result) ... - >>> asyncio.run(run()) + >>> asyncio.get_event_loop().run_until_complete(run()) 'COPY 140000' .. _`COPY statement documentation`: @@ -1064,7 +1027,7 @@ class Connection(metaclass=ConnectionMeta): ... (2, 'ham', 'spam')]) ... print(result) ... - >>> asyncio.run(run()) + >>> asyncio.get_event_loop().run_until_complete(run()) 'COPY 2' Asynchronous record iterables are also supported: @@ -1082,7 +1045,7 @@ class Connection(metaclass=ConnectionMeta): ... 'mytable', records=record_gen(100)) ... print(result) ... - >>> asyncio.run(run()) + >>> asyncio.get_event_loop().run_until_complete(run()) 'COPY 100' .. versionadded:: 0.11.0 @@ -1342,7 +1305,7 @@ class Connection(metaclass=ConnectionMeta): ... print(result) ... print(datetime.datetime(2002, 1, 1) + result) ... - >>> asyncio.run(run()) + >>> asyncio.get_event_loop().run_until_complete(run()) relativedelta(years=+2, months=+3, days=+1) 2004-04-02 00:00:00 @@ -1515,10 +1478,11 @@ class Connection(metaclass=ConnectionMeta): self._abort() self._cleanup() - async def _reset(self): + async def reset(self, *, timeout=None): self._check_open() self._listeners.clear() self._log_listeners.clear() + reset_query = self._get_reset_query() if self._protocol.is_in_transaction() or self._top_xact is not None: if self._top_xact is None or not self._top_xact._managed: @@ -1530,36 +1494,10 @@ class Connection(metaclass=ConnectionMeta): }) self._top_xact = None - await self.execute("ROLLBACK") + reset_query = 'ROLLBACK;\n' + reset_query - async def reset(self, *, timeout=None): - """Reset the connection state. - - Calling this will reset the connection session state to a state - resembling that of a newly obtained connection. Namely, an open - transaction (if any) is rolled back, open cursors are closed, - all `LISTEN `_ - registrations are removed, all session configuration - variables are reset to their default values, and all advisory locks - are released. - - Note that the above describes the default query returned by - :meth:`Connection.get_reset_query`. If one overloads the method - by subclassing ``Connection``, then this method will do whatever - the overloaded method returns, except open transactions are always - terminated and any callbacks registered by - :meth:`Connection.add_listener` or :meth:`Connection.add_log_listener` - are removed. - - :param float timeout: - A timeout for resetting the connection. If not specified, defaults - to no timeout. - """ - async with compat.timeout(timeout): - await self._reset() - reset_query = self.get_reset_query() - if reset_query: - await self.execute(reset_query) + if reset_query: + await self.execute(reset_query, timeout=timeout) def _abort(self): # Put the connection into the aborted state. @@ -1720,15 +1658,7 @@ class Connection(metaclass=ConnectionMeta): con_ref = self._proxy return con_ref - def get_reset_query(self): - """Return the query sent to server on connection release. - - The query returned by this method is used by :meth:`Connection.reset`, - which is, in turn, used by :class:`~asyncpg.pool.Pool` before making - the connection available to another acquirer. - - .. versionadded:: 0.30.0 - """ + def _get_reset_query(self): if self._reset_query is not None: return self._reset_query @@ -1842,7 +1772,7 @@ class Connection(metaclass=ConnectionMeta): ... await con.execute('LOCK TABLE tbl') ... await change_type(con) ... - >>> asyncio.run(run()) + >>> asyncio.get_event_loop().run_until_complete(run()) .. versionadded:: 0.14.0 """ @@ -1879,8 +1809,9 @@ class Connection(metaclass=ConnectionMeta): :param callable callback: A callable or a coroutine function receiving one argument: - **record**, a LoggedQuery containing `query`, `args`, `timeout`, - `elapsed`, `exception`, `conn_addr`, and `conn_params`. + **record**: a LoggedQuery containing `query`, `args`, `timeout`, + `elapsed`, `exception`, `conn_addr`, and + `conn_params`. Example: @@ -1967,27 +1898,17 @@ class Connection(metaclass=ConnectionMeta): ) return result, stmt - async def _executemany( - self, - query, - args, - timeout, - return_rows=False, - record_class=None, - ): + async def _executemany(self, query, args, timeout): executor = lambda stmt, timeout: self._protocol.bind_execute_many( state=stmt, args=args, portal_name='', timeout=timeout, - return_rows=return_rows, ) timeout = self._protocol._get_timeout(timeout) with self._stmt_exclusive_section: with self._time_and_log(query, args, timeout): - result, _ = await self._do_execute( - query, executor, timeout, record_class=record_class - ) + result, _ = await self._do_execute(query, executor, timeout) return result async def _do_execute( @@ -2082,13 +2003,11 @@ async def connect(dsn=None, *, max_cacheable_statement_size=1024 * 15, command_timeout=None, ssl=None, - direct_tls=None, + direct_tls=False, connection_class=Connection, record_class=protocol.Record, server_settings=None, - target_session_attrs=None, - krbsrvname=None, - gsslib=None): + target_session_attrs=None): r"""A coroutine to establish a connection to a PostgreSQL server. The connection parameters may be specified either as a connection @@ -2113,7 +2032,7 @@ async def connect(dsn=None, *, .. note:: The URI must be *valid*, which means that all components must - be properly quoted with :py:func:`urllib.parse.quote_plus`, and + be properly quoted with :py:func:`urllib.parse.quote`, and any literal IPv6 addresses must be enclosed in square brackets. For example: @@ -2316,14 +2235,6 @@ async def connect(dsn=None, *, or the value of the ``PGTARGETSESSIONATTRS`` environment variable, or ``"any"`` if neither is specified. - :param str krbsrvname: - Kerberos service name to use when authenticating with GSSAPI. This - must match the server configuration. Defaults to 'postgres'. - - :param str gsslib: - GSS library to use for GSSAPI/SSPI authentication. Can be 'gssapi' - or 'sspi'. Defaults to 'sspi' on Windows and 'gssapi' otherwise. - :return: A :class:`~asyncpg.connection.Connection` instance. Example: @@ -2337,7 +2248,7 @@ async def connect(dsn=None, *, ... types = await con.fetch('SELECT * FROM pg_type') ... print(types) ... - >>> asyncio.run(run()) + >>> asyncio.get_event_loop().run_until_complete(run()) [ bool: +def is_scalar_type(typeinfo) -> bool: return ( typeinfo['kind'] in SCALAR_TYPE_KINDS and not typeinfo['elemtype'] ) -def is_domain_type(typeinfo: protocol.Record) -> bool: - return typeinfo['kind'] == b'd' # type: ignore[no-any-return] +def is_domain_type(typeinfo) -> bool: + return typeinfo['kind'] == b'd' -def is_composite_type(typeinfo: protocol.Record) -> bool: - return typeinfo['kind'] == b'c' # type: ignore[no-any-return] +def is_composite_type(typeinfo) -> bool: + return typeinfo['kind'] == b'c' diff --git a/venv/lib/python3.12/site-packages/asyncpg/pgproto/pgproto.cpython-312-x86_64-linux-gnu.so b/venv/lib/python3.12/site-packages/asyncpg/pgproto/pgproto.cpython-312-x86_64-linux-gnu.so index f4b4c5a40e919b329dca2d986d8e89de3169b0bb..23777465e88a99c0e90e29bd3232f9c79349ce8b 100755 GIT binary patch literal 2849672 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

P&3D|=Gd^*OA7|kC%AaHdcPM^} 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

dw-26@S_>s=pgx^A7rZ#UD(6pTQq*u{Kxa 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

pDnvQRx{J37Q_6Rx5BuGN`tLF7)NZZXAn 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�orq;pM_2S`4PQ~i!%0XocbE^8&Dtrno;ja`o| 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μ+pluY54kU`YJE$fD$ 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

    Mt&TFbQjf+m;MaVZD})bOh0!W5)rj+BAp)9 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

    *cvu3mrp#2AxZeo;Z2~Z!gwa4J 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 z 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

    %fU)z2BAZcanv{ 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ũU*~DKY4ehCoCkk~ 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

    Mqv0hb{EAy2U*8gb_iY~WZ;xJXKd<1Q0n;b( ze22c@FY$c?zk|O)_e)>e^7dzaILyL&HcD;YIKYsC|jQoEGwnm!BTix4?=s!nzw= z(0c#fd`Ho*;;*6~udjWHx~`?T3D-Xhb8sZ{5WQY3Z!Dk3-_5>s9cP~s=G%q(`@;+@ zz!ta<=PCoAVJ0Bw!^XGYPi_=(F zo*BMp+Rh40Mh0ebfu|ZTWL*!hgXPxyn!3uLjl|2BMEdi3tKxI6f&MG(q_gO?_KfULKFw7=(eqzRo*3Q#6n=3$`@92IGq)Y#Ah-+6z~OKTY=bwP9qt3?&FB+g z6I^$6@NWXW-~Xxp{=5BXKBD$N)%LIaz8}qfI@jSNsOPY*!z8YUp0lE!H=?eC&V4uL znzlJlWc?^C7~f(&9k#*0+P|*zf4cs&%uVyUn|XOX?eq1>e%2>W+=TTO(D%PD`fym! zb#H?1mv0n)`SKCJuKOGKYxth1g?)$OL$U%tiI zPZiWYRY&)i$A3?~SiJkU;=2D6rg+Zujy!MV7q=m9$H@7K`Tid9?}uJ)KNsO2W4s}f zzm|Q8Ls-8Ir@{B&$8g1S!gDwcSBEXe#`A*j4%h_qaA;lle3Wq_Yrj6~Q&hh<(O0?o zZ&<+mXOLh0j)=s|S0Cxe_wy3IQuAJcxq7_jzAm3{2DgOU!d+l3yZ~Md>!DviuNRAZ zg7~K+d6d`l&A?xAZa4=O%ymCF=YpUwd10W(FSmgH9{4vdGr#&;lKz&5ePEtE1?c_B zw?6*AXjx-McYUo77J^8HM`YU-)3>Ns^D zdcKdz6U*m*`Bvb0R7rjH;dMR!59-C@-7nv|)Jv$Rx~1y%ATAc~_2k=;xS3YBRJ{%H z$Kt)7d%&)lJ@b3v@e)sJk@gI&}Za>%JztNbF%C;nw4(*JU&~(pQ8`w4d|-V6safQBlzVj;6I)FT=ag&6Bmnj zzkCJaRA*+H^`20iNSxxmp6Yys|4*OoE4IHkiHpU1J^4Co-qfiqvtAqZV)0&2zTVVR zoocJ6=f0jRy&}(-rN|S@=k?{=mN?ZNNPYLOgRflwuJkzsX08bLQxQ+MV9 z*6&Gv-=FF`)sOqXvHnW+ z@+p2w#4q0pk@}v$FFxm1=Re|c=dpSL{rls09*pk&e2DJ+G~)jiy$9zb%XPRgay=4! z<@%fOJKseg&YVWW26!#(!gY4mpieSxN#D*r(bLz5>s<}cgkxYHPJupO?PEdvSHJ4( zKi$uRHqYa1e#YlYatv_1yLOYmSYPd^5-s%U5pv$K;X!iby@x zsibf9tLKPc-=mn*sqh?lDRjT|Mm}$5uFe_g<;KVS1@Bsxe;d7pk-f&}>|BcY&<(rIO`)+6d+SfbuEB?e|efzBK>&& zm+?6Z=q<)3=Fl9OM}oeMK4%U(*VU{C8TV(Mfk(n);BnCVSG``;Q~sKWU%m|^{dxYK z@HuN0ZvjKlPlLLT)tA|mBNouF^C;?E-X7^k*GtrO%SZg}=;Fo9(Rl-U1?N!Dm19|p zzF*~u#k*hEU3{Iodd~cvdg6uLM|n66PLJGQ>SH2#b>Ako4?TChzwyMy;@y85eK@`E zmm>YPqKiMW{ypMfa(sBMIG05id$IO@cSRqf&uZ4@N%_9tux~d9GU_a{c5RiN6kxgSsx7yVsA!E06pCP2L#Yzb@C$ zxefY2&RGVIH~zrB#b@sh*F}ugi{*E}e23Cciu%>oM>A{nA*zoS`ttm{kvEp#{qmhb z+)U1$`chrdsPj&yS6WQM=;$rb$PriqU(|xSE?!OUVxqkTy#OXTf zoO%Ao@RjS|ndeZ9o_`qraj^G2;rwm{V}8XQOWX-C=6B!e5&t>p<@WP1{+E=GzL$#h z|2n=epnN?e{?2?4^c3-FPQKsO@b!n9<2I4}x8M`+WPKm>{L;ny@jV>zPecD4w(*>( zh&-?5`xU=@l@Y&uY3@tCx2TTyzbQVa-b38KCHM7FP;)#cGEe!%t%=(%@_dN-c8d7- zMlZLY>+#=YY>wn_WM5(v>o<(4d&7MyZp69)-feu1wYboIAzoaLb-C=1zXmoKUtsOm z)AymZ_VNFE|2|h=`+g@ecX40lG8#^Tv3bca?vMXq==Ea0BO?Ce(97*d=STGGuC?~% z{VDEE=JGE59O^vn6zMk>uRLDwTk`6hSCd!g*Zt+5f93Ib-G}|DyS35%bLhvpY*V;D z#a^t%ZCNMx2cNSFU94rDg9XJ|L*9qhomJ2L>c{zKf9Cf-wO%RGk96%r)P6j@`>V-Y zu7Bea{+*e_k#O6IVgCEW94x@D4~5T%L+^Jt^6UW*vHb4$dUsg8n12U+^54zc{g;@p zRR5RZzY^YL@t*&0%wa2dXo>l(&FAaFeo*nA|2XD%KGb#3M9x$(--ch* zK19tye4hHhN9J=M_n-4=bnz9|;`gkZ9uDW(*@7-6j|5*e%t7Cu_o4NJ)N{Z3ajHM} zd!JfQrC;|;*FHq;rS?)2=N=3C%8v(nzjMg9 zF!`2&%I|)!x1ZIE`DfFo{09=}{w>kvE7kut__v3p>G;M#`E*}-KeNdbqx+ZVI_&^!+3!Ix=2u*I;#Pz) zzx&pR_}51-x1S;SPl74>PDlDb3*VJczUqkoHhg!&kB#?n{+yH03$O+Hd_2GM{MC5n z@p=>K|2bI0zIEN*|FZ2@b5fl98`-C*eTbTacrx|xiOj#6`&HbWbq-cN5uS7XVF7+& zTy)a>pNGmTD*ry@SH4#A`F`a)I?|8(FTm%#1l|48U*hvd`e=fc>}zl1P}Z&RQy9yC zJNcEbD&m*#@kl?O|8;!M7W5hLW9acQ-)9lO&Vh3e=2g$WoOhy&_eJ)vyq-^SVyXBo zte-0*^;BnsU3Z;Joog{?`%^!n&v!6+WBEOw$G1^W{FQahli_}w3EN@)Q$fGO_&n=! z^LMj+jgffy){gY!^>)K|G0c!R3tM2JIIADt8Da?GcexjK(V7ylWVzw&xM#fhcjf1`i(u~(#?>h!07og>`` zI`?9Y?N9xPe*G%R8_VzcJpO&^eFq0V8_xBv(Eai`7kN6wiOaDT`>|GD=Md_NXR~gN zFqs_c)xiQRx8K?9*Za_V_Y(W}_?Tb&cWNHqulDa88RM z=DIs~K^OO9EuP6*`*Mzck<(Dr;vnP|u`z};oofr4d z!ng1<;oNASdhWP?V|+Wq0)4ke`j;<8&p(X3qu`%;BjdF6+>R5jDB|c1l;-7t~KUf3Tc{}vIExaPao6xO%qWq=u zm5T3d{Zv~YS4ZmCGN+?p>q}ujqUIp#x`~Bp!T&aVAASUDUJsv(Ls^R%u8VjsYw>p0 zqUInz&%VU3Sc^-wg!-b-e{b7=sr`8TNaE{Yi_PzM))hQo9_M_02D=tQe`)v|bE|kQ z=m*)n>R8vqoXzWIo7W4hr^2UgUZ2^#Dr{bBvtA$i{u|kMjP8FM|2MF}d^9)rr};ca z_vi4(=>Ao?F8)2B?}K&tynp2T;s190we)oZ91rh`^!pgf?jSvzvEw*`~F<|);_!+`Nf5ZTLi}Z?pr$I?~Yz>KL_Ez1nN3zAKs7r;t=8v zhcUnVj*a+FK`*zT&zbk~+)t;$b0YVb{Nh){e;YY(F<*PczYulH?I*{3m3SHJD_{e> z5&C@ZMR!g_7xR($_t3wEO&^BmZXSBQ)!zx9ZwgyK4eK`Oe))#t&$kBuzo7f&I}87x zc|Qwr?td9y0Uk)-L*X!Z20W5J>tUL_RdB~yq0Y|G>m9y;`AfyCpQ9u5)4rUav0v?@ zArimzyJ0`h<~(J)LRPnfJefS@JHCME%^Ps zF7jT`7l$cW1>3$Pj=6cfeCy!f7!FXpotJXsmB;u{J-$cfHm9~x}V%H-^cjBgq?Z*RB&!}{yjcr&#f%=bicY^ z&$k%ezdiX+fO=kudR}FDUd7^-X8?J2fib`P_KNrqLRWvK`l-Wz3Doo5c?+NGxh$r+ zKdN<~*al+xmG8eBe+B(mxkPy<@p*>puXEu3=kdJ@{dw+w`98q^Df}I_b3XMv^?3Ob zz8@F2?@^tb`pEf-#Ve23)Aw_X?(a`OL!qv#zHjyYD#qfKXLIsw4P$=y4T$*nLXY+5 z`Sm{HtS67ZCwTmI`1Bs5_Ya+0_rHYy75FCn2I~9s5xy@yUcT?}{{mCIFO}<8ocs0u z6{Guirtaxb?;Ew8^O#?8eiwxT@;)G6jK1G*$=`|h zSLJPsE$aPO^!#fR zAIs-{|2;!%&0TZVd$9jrq4gNftN$LMwSJ$_^%3=Z{K34}>wW#-ytl{tE!Cg*qx%2d zdjHmYAp1PW_Ipg^{?qSG+ON)~zUO^^!a5?TT-Dfes;*KTmco_4$@3e@2G2Nvv*59$bpY!ou5A}Dhev$o7!Z!_SE~6s;ckt=F%XewSe<m0fNNqlcWog2O1xqoTy?=_&#!L^a|ur~??S&f!2fOk*Ywei`nexNKhxmdv%~sP=>1)|fd0$y-&1CO^|d1Xtp+!PDf&uB z`jc-f`~%>AQ0Ha}=g0RKi&q}^EAK(%KMbA$GxV8_^ebNu{{>LzM18hI`i;dakN2y* zqR!zR)OG&@=rOv#fPZ27t>!+`eHHU7?hWEwBK^dCA4dGM7OEiPz&_v<+<-b(#PV48aU zp~vU&i3Qf5L&en+ujiQP`Q9uM?|#)4Rre3_sP51*>wisLEZ*yDPTIHjCF(i2DbJU! zpq@K*tm`AspC{-?`TtY-o+7XEiN3!AeTna}o@uQ3DSR(g!dr~Lu$}`u{X6(mFk@V= zJ$&x{cwMdkpdZgyZoKliU;9~!zE_8v!#4U(BK_`$Z%^p^)cSPgu?AxC3+h)LOP~04 z(s~m8HqzIh`?Lh|$7uGXnmLKvv;GGh@oTv5O|bg+u->=?_uzA{r@SYVf5I;z-#yU% z^1X|{;^*M+3LA*?Jb85Wou_}#e+7A!-}9Aj3Ig3Cj8Ct zN$7L^3H=Y)nSG{U8tSN<$))AzQ<9Zg9GP;>%BLO`4x8>ac7mt@4oXR{(AIs`q<{IvPWTop;dfsu;_rc8 zZaCf|d`=7o}Zk@Y+ozI=0qNkG(R|PXhPpUkzc=y+lFGlx2 zf&Ud)y-?_{2D<+(d^6!U@ZT^^obq_Qe9pzKZf&IgaP)ET5%_cozv7O=cXA28`$k6m zb?D{x^E3Wc7Y=i7GWxuh;`4I-^7Xg81=ek_9eO>*uVL{MBYxG{+Vggr|NSA~{`j4@ zTHS;^T_X9mw>+i%Y4V6`u^s^XcMg4LVH13)1YhHGpQrL3pt|_hjQHid2Y(*E08_-J zEsyt|i{#IeNBKRU_8p5qlXx-5`W)!{kNL*pFSnl8iPd|Qyy7RUKZjpMxDfNY-st;@ zFUim$r_8p7gl6bL(_4d&B6Z7qjzubCWCsyxd@`~eG-v%c{_$2y4 z%uV$D#PTV=T)+Boeilo}XEBe=V&Q&hUOcb>y`L5EmFr&>zqkhLD(LxRzD@C$ z>Ms@_t2dRrA42WBHL`#CcB|ldf-kj1So?k!!B?(-Is9T*);*x-kNMWd-(I4>SbVHr z9eHE){+`1BCfu4i?Gl;S`}lr<8{$)(=Rb`7T?x;^e^DgA{NhmJj)AfK?mH>sKMTFw ze%_|f!Ck`nsfQ~s8P+il;B)U+`DT;1iF~cFvP53h+ZbOB+#ym=brvUoBUD}QuP2|c z1GQhpx&Hv_ibGkq!|J8Noc?4gtZU%}_z-M{Z$htkmgmR!-_19MeB)t_<@5Rv;(G~J z<5!&f-^4cqehI&Y?q7j#5%WzlX`P#K9`)^>(G6b9Z$2pM*Zb zm}9*G{XPR*=~Hvkb;{CbmcGWpCiqYZ&fs(JZwss6_J67Vf%M_^%iZ70?5_pBAK9II}00a$PSs-pg9&av$cbbG9!1#<){tKgv6q{5t1T$nX7q zgzqOPUrWR<-|zT4F^3hQ=a>Iy{L7c{E0692^`ZN~^Pfte&N1k^ul1bNb5V@ti^aQt z@8!aC;wYHu7S>tl{v5t5p?tZBU%t%pA@78)fsev^;%wn2-|&e4Wb|_Tc@F<!G|m zt1iB-5x;!b<8OkGz=XJzj3Iv^46y~*T_(ffM~zj!j&@mBZ|{5o=db=MNykk388^6p9gCh|5z z_sh2r{{7&cumInJ>eKT+PW~rhTcqAF%kTN#C=ow`c=2@BBcbmv=BvkFZauFPtM>zW zon6>hp6m8b2sU!soq9a8Ew>`CLUmcS6ta{^|H;z|UY$+fPCLm*`7Sih_%;~|7i1H7x63aXg*h7 zoiop0$9!UR|HJqngTF+mb9pq^^~A{ajph5R@#@R_e~Nym!Gq{aeY*c0d|yG`M~ZWQ zJ^7x1@4$~?%&)jB@imn2yYHrm|4#IB`)R{3F0@v7zU&Aq)(PuM*tA|)KW}`S_51J> z_$B-n`aD!uRQ+DmSG`G*c=p`-FHsXUdIN9{0aZ{utfgnflI3 z^bF@R3w581I_ILUyQt@$IE-^3#`=lXcfWl7=(mH(f^(m@P(d%zc-B^A1%Xd6+)%2^r)n_ZZ`qXnleKvC6sZUXT z>N#;K=i{2l^I|Z4#QO36<-3TuG<|9xTXEkGjNHGc5EqO0dbi`B0#npeUH9L&fPUru zn7D-e70~m)jIUh(0KWIcU0Lq|J^w$^N5dR_=zHG%@?DKTi(hf>m+t}mI!Agha{qPs z%Jome{|tN%PJy2PaL$Q%B zJ|6&mf9L(h_)Cbtqs)2_l&I(ZX`dgn-!I|98-#tekgpATynKt|Uk0uUTVWe4H(q(% zzcG1YbpKxXkM=$y`;qTn{MGojg89B-E(Q2IOh>N2^5n^vkf$P2U%mo<`O+o)&ziqW z#IJqS^105jxG?(>w`9FPyc|9XtJrt7-3Nz7=Hc~A<=1^xD&My3NBOp~ey?Kf=Rnx69{fzW} z;eN@%R`|1ViA{np1y_Q;U)2#+?>g!!e;fHdUcRPCf9`(`-#c(R`~%j~=e6)Aco(eR zH0*0j==l%+i}8mOKdQ`n7nZ2!{b`>IZyffqI9wIBkuT{VKKFR}*2KRatbsZg^^xlp zi&q}6w-bo)0|2TY)z*>CSh=1Y&`lsRl92Ur{`@r|R z5TAF4d8jz|%hv~Alf}7TzAf=-E{b!%?sHN1jX0h2CF=T!x=y{gUO89~Up0FDQt|F@ zrXS}t^tY|wd#LYJUkT5JMIz4!)hU&KLGvlE`nsP!eZQK!?(@F*vak<*>pAD~x-K54 z>!f(m<5#CnEZ+S!^ds)hx&dZ456`I_OtuW`9>%pbTcD_b>_+tE> z&&AW3!|2F7elWk{()hK{U+G`0*ecBV9@q>g!Iz--f3M~7e5K+aB7Pby<$t$CJ?~HZ zUW5Jjf!jgtJ001dd;{>;LY+&Uv+H&LSp%_nfKl3)GA=>0U2=P{VxHuNpJzw-$9^(m@PQF*S3^f#Hl z#5UH+z!&>zIMpIYyJ-_?44^jIN>vjnBMCE;eI;}=s2T}K_sC|pt zcj~{n|F!-e`V)6%Ee>Zbj$tj{&suzowdnJ@f&FU#-oN`-u;<%^?Lxm#!fwnr4M*6# zZ)M#CU$J@r&boqgGz@0pL+~;9F4Q^Sm-{0Ft2uA|;f~Bh^Bl@r^SqF?=6N@3&2t)S z&GQG=?a=4t^YMAOe=X)KY9FHeH^sjd+|HO~4ms%YH{yQ*PGC+`;7q9J@Ne9&%S84& zo;R zi}8Y--&tmfU}s7=H&iW@#+0d&k@DB ze+RDP39yB8@M+{c$S)2gZkNb;i23%4_zyxax1XChC)40ce9!59%=at5cnfh8BIhmU zYl`?EM=!UZf8$@1dFy*x`|$qd7k?rCk4Qf;-=dN0y9|1{{WR_t?o;u0)^|bg|3UQU zU;(}b|6UvN9SA+X9bYMSCtmctH~)w8uR*>e;kA+c>L*6u?~mlE*gedpuy0@sbpJ~D z(y%w&8s-iR@%7N-2jYv-{YT)x3Z@2!{An2TEAD9Gj)gJ5`%a1Y&qgn|pJx11m5;u) z5ASE8J;MIFLhZ9Uvfq919Sz%b-6H;__YC=0g98r^>%q|b8H8`J@i^8snGke)1iJzkpA1K0o=+#ovqP-`Q~2Bf{J=(Bp>?cNjblD&IfIb4;1}E+_srsC`yM z?$@XAy$&n!RYm->@TK+%`?`zonHOMgzo0k3iM$8o^*+EnD_{e4{v^-GCODk?QLN>h z9RMdY*B2x6^?sX5^xI(dy`En`<^P_!DE~z2DBpGD_4q307^C}N#{VJg&;0Z~?*26I z0~}*>3=9Z16Hx0f$((t7dPa2Cce$u*@k`#{fj#H(<0};R6o8S z^*xsU)wiz8m)ysq&XK6=BwbzMbWS5enh)O8g#C(-viihaiR>wZ1w zJ|M1=>#FPAV9zr>w?xl3l{~S0?w9We;wq@0f~v3gG}Rr!oIT&iQ03N=7 zc;4q=1^cgzJYN+5vc(T2-s^3Mz9ZCo#%A2-TiE^Y@z)afDs198mXAEo-p2P8Y-MhG zkM#VN2Za4QS3-CH=G;HK!Dsnie;K-8zC-apj8Ady|Ax7*!gF&R{@Ww@T(5)`$1rE;{zvis3`hJk`18iMSbMztw2t`~IV$Au0n^8Zbv5+-8{s<ZfBmVX9Z42eob@lvv z;By|0e(iCgzVmMM2jHXdDL5H=z2nI1yafGS;$|;kyz+TH<*g_GHSkWjE_F7G)QiO{ zkJo#Wysts!9T3U?6}~x8zTG4KO0N4lP`(2q{sH(7fXCoFIpRMV--Ymee3wQ15~KSM$A2}DE^6Gm<`xMWho><3P)N@Ys{0p5Bo}V$gzc>CGSbtK89}C^T&I0=P#Xk&Y z$a{DszkFHzr@+(T#qcIrb6V)P7J9!g;Cl~dshfj`5_fEg_?L*6|A>hH6MWyoQ}ESA z{PO*X|5v#DiD6%gYly_JiqE+wy3b>C^zGr!uomtK_kkXN0{Z!|kvZNPxt{g-Zi7wu z@)7?;d{bd7zP5(?J;Qt<~k3uB>2Mg#=$kPKVulC{dTx0?Lo8TV=bFdDs&N*2> za$ZWsdw*k3=6MjI`={Xh0QNsU#1Dk-U-Fdj`D#$U!T3j?5k9{X#^O`N%YS~v|02E^ z3w-_t^m^Nl2>t8>^YmGW>`%U9@XOa4@xO*|4y-&i)LR*PKk|!j5Z3}@e)r9Y_`gIi zw;%bxA@2MCP`vW^env5uaj=zh-xfLl=PjWBM*Pk2&%BZAcgq6$C*gk!=IOf->HnDp z^egXo#3`@lyJ-__o%EYZ2c^<@k zYe)Qj(aY^;XZkz|W^F*u*0eqM|g%bJN$t(Y35x?rLNc~vdw#d8`w+iup zgIj4o)NPH_AAqkOs?MUEzc%9fpB?6-bKH~jELO9A2u_Kd_rcUT&FZPHUtjsupVu!{ zPyIR7uh$z#Urn%@In+e%NBJJa|2TXd)-tyY^m^0rwZhNg9N0kIgh;%6oj4y$!d_5) z*GBq}#Ve2ZtGqF;N!_)e$M20k80xt%Udld2?K_YDFZen#FZjpSOH<_;n5x=l-kkO@L|gSHTb9On4p7hY9d2u8Y3+ zX0xwf;JW98=ZLsB>;2(ra3oyN{@kx~B_2b6PMtSh57G0r(${P_qAu*G4!Zw0d`q1h zeBzF*+u&?CfjrHy{(=xU7PgNG>p5_-`mkOat^ikp-jC`#*NW8l_zm%?fA7!zL-5Dw z{!#dw#LL3|@-XIC+&RQu0AqglT^8|=Qy*f9emb8Q`i-#*pDzQaaGhg(mCs*?z8|ks zDu1bb$I@4fUSGcBi965e{u}xHX4SbQ%qs`oKLMZfZglrQivDk?`$+Shz$fUgC<2mgQfP2H%IR za3=f;{sh(k*7WK9KOE`*E35DMwEtNAg8H?;vGgt8#@hS$`NiUu$NkFtEcwNkS&QY) z+w-?^eikR6&d&;wdCRvF{{3MF9t*Qjc{G>j$s0S5|LJ_{bA9>|RmbO{`!IEWILBF@ zTRG_d-*~>1>zA(&`7`8I9naqtU%CDv_)mfr{TkJXO`&<2g zC|_^uXI1*~`di@J6V}5<=>BaM(678hEpJmK|6ufT{qmhjobonD@()KZ*FOt?-;2U^ z_wN;-&+_;x;fioAi$6Z{d{mu5_%G)CjE7!NzP<6sIE>FvFxK#W@7xuAPk4lJ80#z? z0lmKqsCOgOJ|2tg=NWu&LHS;c_Oz-_9IGkMBfWEZ+U{twUT6HbK?V_qNBcgfABFe)+bsI+~07 zH^5h}|2XD!KGb#6d#>l7#eFtALiaCz71yr>SLE|@<758y$+H8TaCNBP3_ZVmL+}qC z7yR|m{U_nO2rBQCNPhWl$6p}t;@48=y1+*0_1;}T|1A99!`c6#_;&Jmf7;ix?5~wM z)HH;Bt;#+(g=1mDet&_f>x19(-$mYg;p0&C-2WZ*yHbBa>&+(qH@G-?l+Wwk$$s91 zrS>xs-y?9c#e06$jmUb-G3f^iVt5C&go9;?{w&{O;Q*;@=Xz+-7FJ*qWz`7g4{2QSAU&r?aly5@Bzc6|?C|`5Lzb^WgP`)V5#X*O_zq zr!TVKZuok_J&hx&8-)S(u0A_S1*o92_||ZpV|4$X_(#F& z+e3T}jQJI}4{`g$nBRT>i1>%0m)phqLRc$!^H<{+2eYn++Lx%gh@P*J zzGA$O&tHHOCWPzbd=B07EACt3+wlEjOx+Rk4uo}Z5-dQ^|1a{s0^ftNdZqGtUs|g_ zum3aky0D)SunxL^HS`V5S0C{YLf;R{H#Xvz?^BfLy_k?vl^!(@Iy9UbF81dhS?^!5cQ^fx+zFAPde8gXMcj$K=*ca{$bN8|z z==+gxH~fR)v9Mgf;@tlfd1k_I=wtEwLSMb$0q|&e8uWb6lIMB&dL;i3)G3uO&0L-9 zq4$OTVHW0K7wU-Kukx0g&*Oi#IvMI^q5H?7J710XA7#!ldj9wD&w!u7KVZc};ks5r zkC$)Zrr_%WSBCiqf?j~-#w(Be`;vDMRNj_I{`>Gf3zLbVpA_``@8J6e%9oD#yWAi0 ztpeq%j`(Zw?FA2jC%{(b+!mSl)%fm#IehgI{}g;N`u;z|U&%b1$vY*IUw-jR;%C8F ze)s)5;$N6P%I#+}{IzfbeQO`y&*Auvg2%vfVI6FMdpsPj_fS|WpZxno{K_j{N1aAE z9!`K>&*S71-TwgRavFROw!$yrx9~^!GxU51J{aa9PG{}ZbHwAf;QBa+M$TI!a}@8_ z^>`%ovB+cdGRry#`#&B&-`#i;>(k&!=>4j$sQN$AN4fQmUBLWP$*=wgM&jjbjr8OD zQ6J^*e<*Xl+vZ)xe8pPUEpR5(TKNZZW5^8RDuokC9=Ba$Ikx%iB5x;z&Me6%JmS9dR!0vDZxEb6Tdi<{FyTiSW z?$7f1iSTrI1x!B?u3t6uc=@iz-v}RonsZfTKCyV^@p?K(;ycv&5W2tfqoMyws6KSx zyMIS~`$OGl?c6W!ufum8luzf({ko4uowHWva|Cm4h|F8h-3#ew416-uUmkrjd>+08 zUom>WZS>__l>Ro4aCh`J*bZa)J>P=Ht3UO#b)=r^h^li0e$D*>){npf)IP+_q;S5D zfWE&4&0lW5y{+HtSbO~}eTk!3Z}4R3JO9+YY-63|gPwt>8n0)46TA(UTmLEgD7W5K z3z+{p@~i)BBwoIzNI$-xnfTUVetqD2(ETxA%&&cxJKsUn{X5(n4u?(8aDAcoC*N`S zPlNTaT)*PnUm#D6?oV|7V4CaZ+z`E%ePts1^L!QL?FE%bY)qi#(C4ALqU!&X z`sLQ!aRKx1LVoq1j>OBCiS*<9X~6ded=GvA-5>MC{Mu)^^Zl8+f51ha3)gF9n0b-w z3%x)2R>i+ItbyhF73cmOd17>b6MnJ4Idp!6p0KY}WPi#dHk1Dqs61k3N|;v;dVd~Y z%C9N1W|2m!%;tj0FN1h+j#oO@R74biX{yNmTO-HVWe4pc&uR7wF zFGd?rvMh7!4VAYhlK)=x_u#mf!u@g|^!)ORO~gG^BES2di1?pFFSnnc@&9hDjP$=H z`jNKJM@#q>SA%c+5`OpX67lbiUT#18{3~3a82x$;#V;N+HN;;F--I)u$ICDN6W@s? z{O&s=;=cgB+!W;pB6| zS{(aUSc^BY4r+P-*(q5l>A&!Q^>#`YPBQb=J0%VC)jKCG%g-;*BFWVB{PabWn$_l~ zFP3EIt5+mL51OBU@g&L4PhTQQ&sXn~=z9L2QJs<{lh*m1hfc{-Nm2;+|GfUCle*P9 z|DV#_|GQJNOj5V@{Pa}PcEdPg`ne+26pH$3OUm^v=cmbD^Yrl6@y+*1ozG^^UsL?*!vO{5#_xX#P?7bNFw^KUR6(4T7%F zedx95>T@P~9(_&n{D7|eaToMuinm)w{}W!DxBp&6y`%p&@?4C6NA%o#K^TvI2)drz z7oeYtuIKhA=$97tj=J?WhpX`GxqdMI+weC`o43!7|L3B)bDkcII~A`}$Itip+a3@8 z@SjOiRs26X>LyR1aKR2LE<5t%-VgDb|E2gVtk380>-(nTJazoE%=Q2O_q)!+Ed13U z1m7hA$$G_u+EF);J|2BX^z4iv%tAjHUEgcFqK`z^_uGTT>)r8lc~S4!Z~N=T28uuG z=T`KL&GS+8tm!YI4>kQG^!}#LMz1z~nMK2X^}VYH#YX6v*12saPX{DNpjUqwgbe$- z6utiApr6D1o6ysr23=p%uc0TO1zqR=XY^Y1C&I_cDvO0a^Y=NHoJgoKn z8HrwvK9qj$D(VXrzt>t95A%O9ge8yRZ=4x~EdE!~Q(w-Tf4Sm?n|sdDb>22dZ~7|u zHz3cR=xtvIUC)Ox=$UVVequm!OHuDQCpkOkcjIrxKLY6qCMQ*k^W;azKXvedd=)0aO{%Z(W^VYn2J9-SHsZT&^KdW4f3}K ze+K=2^!lHJekA&2^n}JM(5IuPehdDqi}zv2&$mUrV{RjC4xNi%%pLmRH^bZ*Te2#8 zHU3mclWbVjJFZvLLZP6(7mmcAw*2Gp*DM_Ty6;{^uSegO{+C=bI-m%}-MMHuui+y+e?2mu$ z1HVHc|M|*e&)XZ(GuG!s^eJ!5TX#Boo%J&teQ04`f7hi$|MlkYjo$Fey#9XZ71rkv z^n&$sVNvgxLwdQe(E~g7T>Nv3 z=c?xQFID{2uH(97&EK=A&z-|s^ZNJ0KiK?7pr=efnLIUp=FM|2{(V){+w zN$ngG@Nx1b{$_h#{fypd@6YMt3ui~&#Lme^MZIIrZM)5z|1|s)EYA)23ws6sM(p=P z{3C2`or)zp@~8F={$22If}TNNCVZTXK+ocvLQ!8R>6Wze_dw-;9DnxA;Qx*H_V4HVyC(%ZKdIs$f;!Gs*5=b2y~X@H zpbs_wVDwh=pNyU}e?9sL)9)$jbMLRwq5nrY&$IC-Hs^HlPl_G>>hpqsP3AlVJ%i5U zBe@E5s^-nIde+Y8cIbm`{(Bbnj{Z~QLczz$e>VP%`7g&` zxN% z8Xxb!FVbD&5I9;j{ND4KgbtuB`sD?#50eH?ne5cE};!;3|| zV-Br$U4F#h`g-uM6p*a`w@^2EGYEI0?~mT}RuH~GzXZLpB?t#D68fB^JRb!8mLMl{ zln4D1`roW~s9W=4@E?PIPEqgZKW*1#JpQJSgZ~%ue=Yr!dF!rK74m034f?|Y$&u*k z&x0_gb4YYcQSYcb!p>&_J!kr_=vmWyuNCSxeHHRQ$-WLP>T~nk^I;7B?5yA)#e2vk z{E40Cndoiye$tLU)AWk9IS-~+7WIzvmi!#*{=pn}!JoIf`=hs6|L37+?7ZDQSMQeO zc^@eLdOr8(siHo&?jNCUVX>gMktb*GZwvJa{r5M$Yf0qKG@FlW9W^hzm48*-xr^u7wmoVH}qQ5Q|pE~54HQN z7kZ0557$GlwmjRR*O`A$^k(xPgWhENh3FGZzZpGi`+Wty-kux3pjTQyUDpfyt+M-i zbM&<7hoD!QJ{rBk^a&$-udVli|L(iH28uV)O z-+^9b`lIMgmgjBswD~_*9=l$PR)>96n!g)*yIrsT=ris59)wp_b=L^cJgo3wpifc@@22{u$_b)4!E& zbMCxh=)YikFZ7h@{fc_W_h5eY@IA=aRB|YK>!LyblJ}6y(Hl1l!sqBuqZe)tFOo0v zMfekXQ@>yw!1rvQzM*dG%|U-^iSYe+2)h1z3U@CW^efN{9sj_i_;WY!jW46?ACM{k zV#Pn)b?htG68x>jzl(MJY>BS_9;Wi2fL=Q~_@`3$X61Qk-nwtgziH4_cgc-I-SmY) z|ARbRO20nLr-}YgL~olE{7(fWccJTlkD)-G56}x^L!RAu|LNY3dDesk{MRFsTJ#*h zNG*qdBzmST_z$I@d(jIU2mSRhw&Z>E`Za>Sb(io#mrdC3WkJ7@Je#3c9~|@x(T_sU zpAq!4*;fO4O>NM}aDJvp=NIKS$kUFl|NX3S_3<4({gy%BK5RSr z6+N|U(0ikAxOwQOsWu3!b_<1vp;vQ1ZcjhApx3?-^2|tu4_f7aJm|VFmfj-duRb&6 z*ZJQPJ=rbjyO94F^xW}5znACCwdl3xe+j+q$l$*af3jt$Tev>-vn1!RUs3P)y)5CN z<*9r0T)nvY=5R0@dG1|D9{uk!a@ms4(Q8%=`R^dl8e4_@RrVgW8G6FM_n3))_*}hM z_u+Z#-hjW>et&tbsCPUkYqFv4t|2U0a_gYy4-NV?t zqUV+m!YRyQv6_%S=^FHZq7Oo^ZV&qUoWpa_3;er#$|qCN+tT5B9ZCPoZ^QLkIp`|| zB)g)g5T2xN9eQi$V3htWdb-oR`XA_-!$O~L@I2gN+fcWDiQwn>C#Rw}pkpMSf5A;U;du-0b!RUGG=UDV+t9u4|h55&zH`sZ&9=*xt*@RwW`jhBs%m1=;+tFBkle}`Ue`a(N*%%NLS!+n=#Ujxw7 zre8Q$@19iHeSJ+)?|7~j77x$KFBS=jrsB`roTsC=+I{g2dYk2+gFeu%W1r#+SV!G9 z-e(r4?mvop$M;CP{r&Ak{K=}J&-(+C3HY0BK5w88wtl`KPaD6_HZZrYyN0?0?L4fG zUT^2TFM7uA$NkVNY;GqO^^X0f`JO7aG56tHS)< z&_~#H+!j4&`Y`l?mj7z>tX;3i&}UlR0(!goXQ00AK`{-4sFTQ8!r`q&>=qa1?_UQH2XBItU`ejAE zqyM(5(D)sTh3C?<`0FhHo9KYAWWSvu6+p{RE} z|LZJI7CmEg7>Pc@{CAK;+lJNj=uV%|BQiNDRBKV#6Vt0eR~>uzI#ws#{VOF^-4is2EEI^9s6A>sa_@MOQ5fezMth^ z3%zOO;9nB|mgs#~4LY}PvWxQLUkd*a^!)O{zaIL9=zCF@*RkX(^u~1X>;3sQ^kMk< z+DV$wGvqJ+x-s|X9rP4=7DxXQy{1>luQ~jV{u}#JKT8Y_b8ECY^g?g2KG#F9H+?JV zmS+$2qikOXqSxAW8H%2^>pN0<&#f;y-thzgxKOYcPlO z{$b8(?u#|i2cZunkM6I%(R_b_@5{e-9_ zc?Laa=j46#wiSa@=V~_kvE~uhwL+f(EzYhJZgWiZV}@NIc$KQ?-BaxO8Ivy}!*Z zgZ`n_9X?kt{`*OLZ@C74hPr*|=NbGn%|8o&8o$m@_k+W}a`xQojh?0-eLwb-&i8ei zx(A{srk{;Ilsr1m_2@0=dcIwc-oxtNJy$RO?*`bu-o~Hr8m^jq`{f?=*V&ieHy%UpV*7nj`R#c- z9X(~=YqQX6?S5Z)2=}A;S3s{}zsn}!XI=EP={usQc+TiO^C0vl^6NeDSoBwHzo(-l`vT)p^x z^jgTH^Kd!-0)6Vb--2Gl-1PfbGkUAd`DOI4n2+W#{r_w2Yk(w4s`DBQK9EkQ@YKXhaAYYHQhBcO?OxIbyx51oB*!~Y+YcGFbbKo z9I}=OhaiL`BZ!j&h>+HD_z!UCEQjG7fgBqO*~A4XBtl3+#&G^#=6hM0*_GARdz!f0 z>ip`xmzghLzWmQ({Mgg;S49rvQjXtb{Gz9ymnT|p-|y+?e#Va&e=+Ol)r^1K)5DK2 zev11o-^cWiFn*KU!B;Y#GTvZ2d=ujzV*HAiua7W(oBfsa4}X{Od%g63j`3UH^%5m{ zf#rXl@f(~@jLg;FeTP~PS3G={@n7ZqzLe>Iobg-Szj_VhO~!97;mtDlkwnJ89(;?;fs&hKY0G|0mjdH`F)7-w|a7R82_A? zo`~^=SMKi;IbJ#b9OJjV`g@b{hnZgL#m5=n@a*CD->ofbljD7k@ms7-nowjDNt>&phMjyz)KI z_-`|Q7pLbfj4yliG2=HpJq#GX$>l3{{$9pE?A6B)F@BrvQ0PC&_y;_{@j1qCu^z-8 zZZrNA%YQki|4$gd!tKH-#_xZ-*4qcY^gPJ;4KLn@81Hj_MgAjQN~f6Dm#J-d2}@he_?`WeP=a(;h+ zUsm|{Hg0@O<1#PtNye}I2GhStGki|)-_rOwmh;yl=QlO}40mW=mr{PQ|KXDw zzryra1b2r$yd&lnc{0oI+lz+pO|DF9tL(0fbBi*A~ zhR+4?9}D1b4&ZMK;ExCJcL(sF3*a9K;7Qz<)h}e=30ghXDR;0RM6T|EmCg@335-4+ikX0KOH#4}jlSa_-X)uO8`F#;6D?y8*lv!1Dn9!2tf@0REW({vQMQ7X$d82JmkN@Ow_m_4Y#nd^Uie58(eG zfOi7;wE#}{u-{wK{yqi#71)<}gU4kuD)~)uRz~2+Ve-`8NGQGVwK>sfS_{ReHrvmtA1Na{W@IMdWjh`-0|J?!nfdIZ7z&C-H zwIj^{{j~u8{s8{30{CwP@ZSmGUkKn|27VvrH{?4mcXJ*2%K-gd?g&z zVj+k1Wek#GlGkFJ-A&>a#~dBD)AsN<>LtTre3aDTznZmMQ7dU?ty<)Bc63KcE>T7K zN&kfj=qBk=e#}YE`%ylKuO@?GQl+yZ>&$o19wyB^qTEE;!Q1hBSV&Bh%0i5y%a=FT zc9VWLZYEojnWWdxPojL(?+SvnO^~#T=$orqnkUz#46o+#K|hCWgpJ7K+JV*WoLo|w zh*sln7a4J|3rW6`=Yzd`P-L-{fG}&;j%Md1dh6Qy>hAgmONZ5s`Y_+tsF_6VVU)(b zq{Z^nNQX^Awnx1K*!yOhUm9G@(xb-)_-8j6j=K52HV2(xpN<7Iv;Ijm>?h4A&!S$| z8YvYM%lh?xHpn+dX)|wUDM#O9w!I{O6xuZ9LCNZaiBxPr6jBXcjM>lOAVF0arFoSG zOS!u3;dD&(Qb;Dr`G+0$D{Di!0ryX!+Ne25;yh{e;&vLfVVHydAi=*;yEQY*@~gd* zUGGshPhcZ)D>^vI6RKgloM8yj$}k!sf~CcXOn(etn742??!u6_v-QCsBYP%B+ZH*E zRMzl1!<;gsJu^XUugUc>Yz&B+C;73lDPl%6zC3{nVoJ|ukF1g`JDQE=&qfPNGtDd= z=4dJUMvFB)7niHjPYf@2sZW+3cOOYku4RMP(34DbP}63f^hn7Y@h~r;P>s;#bP%_P zR251ncJV4%85}8pwwYdyyD$JZ6BO0zankH?Qs7_O=}}pNc23A;Mcc_WPedOgs;z0> zc6Q`vR11W7qPGuK;V8wNTu$3fieh7s^ik9JlzclV+>vSpX` z%~@L<$dpM+Qp7!$Bp7IPp?x(;*RMAdRcKpr-aJl*GyQmwD>KjuD2#hEZ5hj~SL?@X zGRcGioFBEjc{|;PS7ysT;2dk?BtYNiKDqt41s9GHETa-|C|E@=K9lu}7^wahcSla9l!Q@g^w2zxVfE-MdCF)W3!)m+C^};& zL62sl-Uz+Ig9QKO*ODZS(EV9hikdRa@l)HyxUDp`m4!%%uaw}rh*xJBhHt5ANdQy5aC4y8(N1421?awW+w4+3I z$f^u%k*ZBJ8i-@iMLtMX9h_E73Lj`?1T6)J@GF{Mo?AS#c=pWFnYr1e)2FAE-GmG3 zpo99j6@kH`<92j49<*a8#wF1MMZa9i*UiN9*4CBRAW%?6j{$lyK%*EJXU|G5RnSg> z;_9_!I7#mp=B*T}_ji!ELL&t;37>xf3NKgg>7{8)Fs!MiMV3WLg>5W|-li&)$kiwA zfz>X1Iw7v!&Q6`n!*WM<_dCt-Vp_*ZlnL%{_2JPl?GwWd#Q8~!BTKvjJbeOm7 zwo;n#?JP%^zMJ$COae$vtdr)`5w#YPB)AUCJb1{sr{Pg^r~M)x<(jQLtFZBF)v1_6 z{KRUe^rAVVc<$>;(p1~mZi?%sAQ{yt?YEnqF3ipq#0H|A%>4Y~+}XKBvC9cbatFRD zx5^Mo(&Hq+9xrq3mCf^<8xcm>W;i>_55+5&TSe_Io--L-^s^_Zz!?Rgh)^@VdGgwI z71BOwtz$_qGg{BuXY%5f?o(C%qSA=e2 z6r;IGBe8<&YT+b+CNrj3D$&iG@d2DNZkC ztO6^$Qn72h(D4z(+4=c}g){TB3rowV7tfqIy*w+;1r^`!`ri8Pqw8zY_Uax-PtD-s z(%jtA^3v?w^5XoNh2=A6XQg|qm^N0U#kqM&oN6~0W=}6KF3irJou6A+I=gW8w7hj< z*|@xad3W6^Y7_s~=IZXHy-OSW{Iaru-33~0LTUvgOS>nQpfpTW8vO)~p@t=PN6;NHAuxt(2IrM|AlvY4Ni;6QflB@`yLjA6c2-D4a|~?C zl|#aIO4~!Qn}K>IYGT4v?n=HiIf`>EdBN!KOaNy7C_1bOkBO?2?t)zsP^aQTxyb+v zoUYkW* z!7`t#+*=)HMd8O`rTF2DWVmnYJ8!dtNz2q~><2riEv3ly%OeI-uA;1)Yc5P+_$?GAo<6DrCri5iKS;Ercs~-O8IbIC; zsIfIuMAQVd)4r`<^j>H|GD7-jYBkea{fb1|w6q$lh_5A>A1-LjGMF_6lw?<0CAC@k z6RyfAjrkL3WHXMMfKlGe4i7PW1-66nk+ZvDJJXvRXyBwbnkCn377?-DL1nK^jk7Wzh!(+zonZ?zoo;i=%rv)KuS>s zY?gVOY~B{UV8?h``gSTB=^N{KYzcF-vvzRa4W3nhRtD$imzU>HFX4-EddyD(=P{B# zJ$q(Zx`TwF3uP2Q<+CEXw1*usBq@DKT(l98Bck9|(#r-Xwgf``^?t&NWp4`g;g`uU zsQf8Bwwg}hAWn_Hrf}&R#P|z8HD$vqRB~Eu!b0?6j9sUgr}>=X#tkqXY$_A2^xL#zht%X?Ymog4{Yr?>;Lfr`m@dYYSlPGpsUmZzpeR)0i8K@C z(4b=?5oplcu8xeiX^s)GH`dNHT1%R3vnl|Rp4x(#tj+lVb;@Ad-SNwwFwJdoRi(bm3(zGLS7qviG#fd3asTJt3 z(uQu>G|n&35}}&=%Gin6vQ^|gfv`tv%cUIb$%V` z8K!Z6cnqz%DjzHN1u1t{#e%qSazW(CaP|VegyR!%d@>uF!}62f9gCq}vsRb%aB!e! zA6a~58%^VMw}qZeUVjIVCEYpSP&bbHOw`xF^n9;BMP>?~`Z+3i*mc8)9TMKPHRYLu6U8Y zmLpN*_47mXq*Is<&Cb>ruC@njMb)WnihK&`G_hQtTrFBm;b=7d6!NE=nNj_UDWuaR ze0}m}d(gz9X?@)@L;V=I8&f|9W~d(nYRvo;SqAyy6y($;nT8(Z%TtPuX0b zOcR5i3alT2nQg4kBJ-M>BeIS;RyKOV#xC`soyLQcIu1h^IldRjh}n}mkRBhztITADj)s#o=# ziC;bOS;q{@M4=OJj%d*MU_3vQb+BtrZF4FnsbGwu#$l&1o@%YxQ?-W)#+?`<)S7&C zHUgp=sN*k(?ExKrFq*0#cQm}##+f=beM83#?nH*#ut9T>dRHR_7 zw|AtJwdS6cv8<}88%zgGt?xYUB(m7?f|%=Xdax5uXSwMFFxD#XI2A9HpKHq<$B#*0 z?EJvR54=h>z0rF)m|np2H*YxBXKh7|a0CF$BWw!PzU=yK#pLFtWY6ZL2Bw5%;?~fy zlvUSqcatmjD5}1rx~@YmTA5Y=bziwBB`Uik5xV0eB1r2c`k17`^6i-<%sGd^MLS8F zwJSkHnE7)8h+hnq!e%Xu0&+)g=C*nW9MWIQ=$8qMqJt1w8Yai z+7lT*s!^;!VY$)@kpwG9$7^xB0tOzk&MndC1FGZiD27(jHQgYhN6$CuXXu}p^cB&Y zi9IXUF?w244ZXK;D9%aiq+KkO9L(L*S}oR;rSDOT%iCC0izl>~i&V6=^46bRU)i-X zBQcaIZEJJeqaKr8#^#9Rs47$LFjy+06qm{*PU%MZ- zT3Cv(t4F&Zm4SpgoU~4dy{I^>@4)Rbgmz-#z7e?rfKt)!17o%x)>W&9W%ahFPm)sO z%mO70eOXD@EMGgx}Nt%t0RCSMOOrkoO z@H+Nx?E3rdog=f9Dt8BdrM}JTQOTC|Ho9qUJNEZrKRXe@Is8Bj3N8cP_4ftr6`axTE zEfC47nk=@8@ggRQigG(}I}qs5N|D26@N%&r#l{J`{Yi#AdcPU@kzsW07(4mQJ#K7m zHZ7ZEhRyPpRVhL<=YS(!W@{AvhzEoCB$BRyqP1-7&3l)&&(le;;=%yRF6C}7Iih83 zE6>zGTS4?{=(;xx(ff35uX}>{Z30~ECKotRJlIamZ&kv~b`o64fCic3Q$J{%7XeHQ z7gpnfvhkTE6~~&~PC~mPS)rIRIga8yw{Bxmw5CU**UNa45|fqcq7SnR$j}DJu<6Jg zu~W3Ok`pqt?ReYP!KQ2!pEr6N;h2}+J#HY{xg%Q>Ns+kJYP>&pzMb#cn^K98Y~9{Y zR$c3KZJ9?aa~$JtL^<-SGC`Xx%DlTRT@hATt-Vz-lc6+cveL0S13-Hgpv1c$#%Hx3=N0vqk;@BvweisZoKys zfQ@Z-0_XzJ;(if|zmMyx%)JE!jCWx5HgaUvieI$n_nvW(3s>sd&fX5Q7J2i4-Y&$w z72`gofmO81*$3z%oXz4CDOxpJ3(;y{>uYD(QI4BKOdGBj`t=y-Y6GgXB><0*sj`6WZFr)%`D#%3u5QC4p+OS+hL=f z!n1Xvl09o~XWes+o#J$_bMDr{{ZqHrtKvW~K=;5e0DlUz@D_d=wwq|2VJBo@ zXlq?BOn}!9B1m67T|Ph8aputwGTnaqEgK@eU9fni4>@iA54_wsH(w&OrH`UD-HU65A?Aa8Q zHC}>za}-lIinucU2)CH?$}!!hj?Ks=&ZAY6kZw8DwEDQEF?vgCkuoK;7NOe!>B?cr zp*aEC@{N94;6^_vMqRqDs4yvAeoG-y6?0Yy6?YU-fO}C&(JH5U)tTB-Ij==09MoVP z{f#1lwdkmO)yiaQ1MwBVDKb9RW1nQ}l!67ZU9cuGT2A>Zx`MZ`9Q&9XJ1;&G=p0?c zh|Zjnt2_?p5Q@S|4jCd_aw}%_pxz>+=AgKwP`$7_&K(Q^>W%24y0ap5`G3*KIMX4B zO4YiBu*t-!8+@JH6J1jx6}qas9ed1IH5Y23R-OoPtJFAcdZ6iK8V6@?N2 zl->wePEo!=M8~8z^%y>HH$}%i&FL+`gobje=T~Ey2IA-%N)tJsqSY7u`KZ}HjWl@+ ziG5vX

    M4|Xw53BgxQ-_bR6pBozX7|Q%GQ)$04-# z)BbT1qSV0Hzm-{#f@T>-4Ev>kTgRp-xL5_FsV!{=iJ{-N?Q0{=w0 zOHg($eVn31hJAxMa^_6=cOq-?6%v{uDrnzx5bY?EH!m=vn)3|eK^`V)!YE|8$ z#u_~Np_8jK~A<~6v+CQP(ixRn@RRIVY?W@--b#UzaT@pZfwt|K|Zr>`(k zllN%$D^>gXT3K|YzB&`Na0(tvyQAw3y5zHqk51_?PL)uouh&I-tshHFI2&|0KnD{y zIrMt8#BPN!jKI96O&UcTyDMAk(fan9THkl*O z!)v>M_P17r>B7ZJ=T|O9mo_%`*7u|RmGc+ZBkVo2ze2R3cNv&VQ1$XFB6I*s0T zljaD^dRG(mQ9GnU6|&YGR!s1*r-UN8h=cp;!%vq}YWtHG0rY>7fX#G=HgBw8ZXJ2o zv)Q})%ZnmlWf*4He8qQ~_-lH!Ey`9UtAvVC$05b2zl}s+($P5umzWBo-QQR?WlQBU zRGHDxO4`~}#bb1LAxY_~Fc<)(;xX*ypyKCr=$lv&;IzU9oU~HuJQfe|NvZ}`RAo&K z^g3N+m6{U}(QapYWr~9k=e@>Gnl92;d`rlb`O3jC>(V`T2HC=03GIFt6%I)y* zLkvUDox5;x^ZaTwKQljbnsZzF@h*M`O_(y{6l@MR@rk!MMd#S)ABm+ev2mgbEe%sO z{uqxINw*fJbY9jH3|{boA*^px*=ehzOp?7x4mYX7fDZre(dE+WBXDc*S}J>E5$(}r zF_Mb4)-=ZsKdOaP;5#%df_3z;)}7?OR;bdU#h~vU6?)i)pFpVaC@Vvw8WL%8&7VI5 z?WH}OBh(r|NO`IAD7)xk_#Xf!aZukLeawMaiqBha(5`G4-CzS#mAoumP{6PdFg{^V ze+Ukc_F;-g-*1br(%~Kud`ptQ*9RKXs9Hogv1KS<0*y3#eP1Ig9%R_WGH$@~%KU-7dRrQjYS3c*`bv33E|}Z=jF&t>V*{tMXwXDkY|bV^H;I17BlHxccCRe9XmQ z%tN=OQ+uR6wbRtN?t^HKY3OHc1_+s!yJpNy%v#b_)=aACpA@Q?TO>K8I`)9-H)?4c zpZg$>%SvHyL{T8?mzwbI7(OD%T2y*A6MUT+U{10Q77PzB}2|fVp zHx@Rzu}4V=xzs|>YifOk{4l#FYzGvFq^)LUxF$BkA~uKn1KJ|Y8NZliolze$*-P1p zznEN2x|$6Hq+Rc_Eu$dLkhBfr0ZpOrN;_IqHnL}(J*%mJD;yPB5OGBM2xk64xJJh{ zS*6-MC|T!Ff7uR~rdVgu?OBV5p}$7IYP%`ktvQj+;3r`2kjm ztWYSxA`TcnMIcnl-KGw$wp425H5Vm^l&V%9M61dwQ4hFPFrH4;ROX--yM2JBQG3HK&HY(QDSbXtQZDK$6jexNeZhE0DUFCapn>kEF%T;+w&+WI`lU!Jnl-eT zNGiKaW!eZ91xi{5pgUaBWEH7fm2V1*ty9mm%v_|KZ_;R-4QUBQ4V|#Vr{;4@x1O-y zvKAZ3KE##`tzl~HS<6w>ydG0WNHu(g=cUey8sQWIJb?OxU8^Z=hcM*kYug-Q`qF4d5)_?#>xs4Auo=Xc;Oj@|ML0gGvU9&KjgW{^nZ(=FZ1}9 z5&lm6FZ@sO4|$$@g=V05UxfdK|NAxEIEN?67XD|yN57EgpWm&+@-NA-{~ku*c`N;& zKc(Nwv(F5Yeu+n(mqGq*i~rn%nqQu?I@s{j&v2uKAM{S-^_gFu-*`w(AHUO}r!hN&HW~f%*A);~ZXEe^Pz|{ThDUga1WKfA$W| z|7TtO^ywum&)){`cU%15VE%8^xw9{@dOQ;S>1f0DO$zWgpY&f5$JlHPENMKfwQ$pCGGlG=@@8Dl{I~YXkiM@Pg*w zfBj3DQ$PIp-^BdB{yvfEhGgrr4!g;#$ayFb|MO@6j$-`qcW{HmVuVkmt_S#UuDwo? zTzOb5Lv#526c*nhGS&0_Z%~h&BaOZWj}JkVs8iZcDjhclO~3PX&HtKr>ahIl$4||3 S8UN#tzfrO5c?@2#@&5tMh<4)u literal 3131904 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 >P0)(0@3Uu~G7v4p+xCpi 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 LztI4i+9!H6QxBMHN$`UT~P)(Ww?`M>jW( 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

    EmGhDI5yE z;Sve_*)TVL%ZH9YL^9|amb0UjGrypC(~e{yW)2~<6KDqS@8*+;K(l`TJMJlg6w&b| zm;QVB%mhf6+|nhN$W9LZtaToG5bL)W6mM_`)|1y6^FGq=0`D*6vi9=d#DRARW(dSU zkRm#MCbCQ67K7ZfFy8Hrp0sAG!-j3AwX_}Xv+ze=U8}noQ)x2OTmrEZ?d`xXfGP7m zx8{Jq0p>M`Ss?K^i_i(ya3rKO>Js>?3(~$5-;-F>mDvlh>)xkwuBMth_BwQ1+g1Ckc&LYk^KX10=+srIX~2}EkZ|*`l2Hv z$Mwix2TU}VS&sZ<NCvXv$dOZq(|ZWHh)!Q6D1PeuTL7R(Wd?}S+ZGye#Wx&eO$OqHWNrVet~!uS(k9pP_* z7|)r<2GXhf~?{&6K#vtS!AkZC`CvGwdeI) zS$ark3NO?9=TM#uf|)}}E6Rt;EfvPO|H{}$q9hlUl_;zLdOi6bVz)4IsVnWh}dkHP-=!+ku)J4e^jLV(tTo)xadm23&P(&JQWBY5Ma9u8j2;bK4N} zj`5~3O5Ue16=5m>uK=bw#5KU*3)2sx4+usi7d!qVjFh8Bswx8{fzuiVmx}~nd3v^#Qnpglt)Iv4Pkg3b-pXlgDYcqbhY_s9OnuH zG=C?V5NgMdPpw2p@~?^f<-o-D*i3XTm3+JH2J$5EFoYRiViQjcj}ABGYE&@EvutwZ zp~gHLBqvI;NxsRNd2ldK00$}IvjBzT(g@ap=k#0ev!hpng%VTlt*j);cBK_rqZ z+xW;s$3^Ipc%*VB*4(D(6UZIo#PZ_BqW9aBZ~{MRaySmQyucO+t6U+OYqjxYCnW#r zmBuV*?@@j`?VQJ(wzfOrdxfMACU?xF4CCukA zZ$m5>=0liW5IcpL2a|LXLNFcXMu@h;OoX`~Vu&!KU|xin0a7GW{~%{}!EFb6Bc?s3G$g^HI*Ip-M0nfi=`6G}KTGHC`Qg z%o(}~sT)9wq^O~%;hqF)=yQk-fF3GaoxQ9fKconp{=BPKM`BWC5|QjvL_;8@=o4n{ zsBnaEx2EbMTN`Npogg|0BN2HFVid3=#H}4|ZpKmP1}BWyd39`zn++7$p@W!?_kO$>iLU) zp+ne&zd0d4Z`zTbWd1%$8K+r#0`D`JHV`d@*$MM9#0+5$z#NA-4E(f1#$5Y17k7|b z8pfaa=y1O>#6r%@0sa**Y5y>x23d_^`gaPlt>?pd^^RjNIU-x;t2+h>yt`P8luzC% zk|ch$B(mwNQ_Hq{h_a_9$b4?EO2_5wl5Zd)l(tyk7BJPgf;mm@9#9Jvrf| zP%W%I`w8^!h;{?~6PU*&4@StZ@8+vv<6)lW{8->mfjJFv45Ysd<1gee)6X!^0smc? zB8eF$0r(%o%!hadMC6X1D+y7-xHo56dMz^0|C`f0l3{v*6iLy4p7Rvk1i*M9W6w+* z1v0Z#IN^GES>~f+N9S*7tN=Rxd=If(7@faGi3BitTk&g=HIfw6irF9~-9|zuL~aNE z_b@L)%m6KyTXEY~jcGF4p82Z}7V>^W*vW{?^1Fk2_J1egcPtzhlmEa}Ps%V=fnUV) zOgo4hK%(3jb^3lt1$Ky3^7719(rR)M8;$%Uz%=>9y6|{E1RKq;+y^)mx|!dq2upRF zvc}r;ruDoRW1UG_j-k20yBDTQa)xOKya!;?V-O(gC74RpgGO9$GK{JBm>jhUI@7GL zrACh|ja9uTz6pMah4+CrK_{FPdgKb|c0Ugw`XitTzD^zm*t`u_{rNCiMKVlL;J*bk z5n`+`AHeK{*dfeDm{>}N`3ENbYnb%?91^AJ9kMa-LaKy|#;K+0@8GmH!;xqY2igMX zLc9cm2AFGOz`q2rRM-GdF3pTdM5O_GMaf?*$Q_zWFcp9{z&jy20h4zOuNqn-?W`Lu zrJTn}n1jeH(eYClB2qKVNtl+staw!PILZN3HFbtVu3MY1H-uOJnEviLdR< zvzXQA+dSdiNO1mZ(sWVks$Bg13^llK;0CFc@Dez)t9%`7SB+az>B zsNKweC#P$EDU2m&VdDS$KzIBAQPEt#v1y z6nbJE32S{BqDujh$tRCt*5UG2ZZfw08YFy!%vT`2K1}*G9Q?K%&dXv<0_mOP^gSGE z-Ou4{GyX_U-i+K0z<&Z}CB)mH$yA%8hSD^7#j*{ErOCg5=Ux}tGw%m=#+9|!AYzzH zQt|8zK5#?W>cG@0nPJKR?*^Do=Mr5|uOp0CuL;K>e9jv8Q6+ra7H2l@A0NK#^D;~c zp#K%b3G1?$QoTrCP)sh|mU5GN@0Z1?C-7A#;`@-_3rfhN1WwWqscG)~ST`4ylG!}eh;92H(0_byJ=k#aq< zp8y>xk3jq?jEt1$UVs(AuTpO;&y=Fj;rxCuH<8c|bbb7K{tKrBdi&z5`ccr-shmiW zGwHLTp7mt6Uf5XqqN%bk&ri$0I4r-TBuReWSBrC&VoJ;Z0GSL0TK*RyW&%@d7(Ohw z7Tf~WAI`~jB(DKl{?%dm9YvGTpZB#b|If(&1ho9=Wire;K+9hX;xfQ5y5Aa-uHw3h z$-lWQz1g_4q_6> zeG{gLKi_UFy-;reycb<(a|?IibGn8LFuU6n3zb-173WqBw`qR!+CWt09%oiYf_L*J z{wZtM|KQm`|KDe?lpd+>_&;DJVme@o4bInV3W&b zm?%gQFeqy7+#$~w9&8f`?Y(lz+d5Mmrj{aD>uN$sh31;RQC#n6ynyUJCj#&dI zy&i9*zv(%A@NW^6cwLH6KG1mG25}2W5iyO|D7c3KSAk1yZqlU6 zQ>QGPWB#Ls%}Vb4B)7LhvKQMzh2%3TvObq>R(aGW*yoHs8fQ%{bv)CO$(KizCw2+~ z_(|}GPLuEejvppz8D1>{UOJEPCRbp|3cP%nTOisB(*Wjmh}pti3v&wMgfQ)3YF?OO zE(I+*!X!*IE$-I8$t{NH-?SE^^l!-)PwC&B7BA@EO8)Eo9e`pV;J*#C0Ae1fcM*(V zuM|g9FRI7C@HDvG8&xdQ6X8+4;z_<%w~6zT%K;0%Kp0?2X~V{h7}!DxA7@P{nF7)cNg zle7}4w?S?N9>ee_E*jzIK_phnFvmIT*N2$}^8(0i4ii1PgHNxpo`U{_lWT#0Crq)6 z$qr=qgE9UHj&H)g0sL_=iIwSDFde4AjL4oXQrS!7STCDn*Lp=b=F~flPo|PQr_zuo zhPw=>-Mk0$DB7ceiR^}Z&z6U4CPH4(g+(z zm<6d>;!J0fMj0uq#aUi>)-9J^M5i$(ynuHcuihmKKrc>%bF>#~^+KYS|OZ zWvWpEV4|PfEGF~`MmBjgfs97rZbIzAokA=S_R_5ppa}()F0T z3V3B;_CV|ax>fI#c%m#DmEoIWiyuTuw(6TyrxgL6VmP_PFqgOSdpMmCq+UAb$aaRpF& zogg{@wKp2#5nv(@JYr0{u-v&)?va}^uaZXcDoG0wdJT9}VGcm-6J|Wj#rYYgEGU{Y zs?b8BX($%DY)bR$ar#Np#{w@OW&^|;kRl>}GtShgkzuNXO6_3!a5j@{{TpF=bG8TY zJHfmP@iNePXgBL?f^k%0P;&m!#imr9hwespmnh2n&52u1a^8r_bo%SF;k?U7Oa*?+KfcH|_Lja=D45=w)o# zVaw|RGZkhc@cO`%x|{_)(AIp^TJVgctSLTP@(8cToi1EV6V*V|NrGU%yFoIxs>|-*q@`uBm;Qa5PsN5aPsuRSNVHz24 z#;S-u<(^-Ykpt*cx95j49gzv2a=)AO?m(w=PR2KdR1jOaCp=o}Nv3lzBmW{Wv1Zn& zOy~HOkP2=UX5^^SfeqtLTIFd)e~R)tpcS25i`;=$^wkhof@n8uC7j!}y3#C(PQ{Gh@^2C7%mncfvH|Q!(0Tsi7>MuCIWvt%nfxi%=N&Z2lE8PW5DYP zvj*Y=kSdIRkK^I6P!lA=7cYzaHHO^eU4kPB{sJ`0kA`vu@ln2{E=~ZAvXk*mAr%xt zqWrVil_+;Xz7sI9{nls@W%cJddy3Dyia(W?MV@-p`tvwCqk;M}J@hB1R9vlpNO}QK zf1HeO9OWV{{yZRd#h+8i{|QX=M4Ue|J!k#G6i6E4!qBZ&WanM7ENF-q*JE=Rs7p&j zmuAMhG@JApKwWY&zHwB%OXo;Mi%UuMnE(LO=-V@0V!UZ1PUU~`J;%C1?-(p+_<7T= z9gBeKq^zyeD`PXn9l3rULH<_|j5toz z50w%F9pj<&izvy6lf@QBCeRV5K15xhBTiR{&LFsnl4WydJIGRQB=MrFB6T0foZLhi zkHR>yAU9E#K)fN0j3!@0Yy;d#+sAe-vEPf5p9*vSm8>R!*5O5AMmcm`FUbxj?MQDe zGV(}Tl~AS?GT~tIBt%QTg$hg6z837n+1qz!;?G&pcTpX4rQXl!cz{ECLqppca-E9vua#YwvcGE)ZWb>}{Y6QdSQQj118rh$A=&_KVnZPY0~3+uS&h(#!{Tg-`Nh4b zFj0o2xd=@Mx>n1-mZ=9Q8m~m<=AiVzrt?%`0O{RNJkos&xn{c;hJCCcTZBVoJ+`Su`K*Eppjp_1!#;ksr7!oz?@V-CbCK%=n% z;!|Lw+t`MKks+i47sTn$#Q}-#A7~r{YOhQSCig(?HHK&ef^xSGqgx>5W@&Ww1Y7Q2 z2=xHEG;?x^#!>O*)+{F=J0573Z$T^rn&mEtoxm31w$SlH$`*nACrSQN1phj033|g^ z0&y`=d#xZ^f?#RZBP_yUDFREgpC)2LmS#f`8VGc0wgh6KFtRlJ1>zvkrJ1upt(3)r zTbgCIWC;LtY1RVbT96_lx-{z#cQ443rP)C1M0p#Q6}X_wwE0NP1-eZ80pfe0%QUBw z5GuP?5iZkGu4kJU=rS!Aq8iX;np2MaOW7^c+97%a;HS&9Mb<-Nq(ASBW!g|A2M5xo zQOSm$ipaVuTuPau=P?~pB~+&auPn@Ah@U}9lQ>|5osR;Zg zFi%2^1&Pv8w})-PQ9Lvh`1kkgsjs@8z7F{{Ks)Xsh@U|8N2@Fwp3DmUiS2oSU1RIq zjD!w{vHj!qm@a`YYRyvH|}?QD7%)NE}n|8khuqsN-gv zoo6}{V{h7`5~-G2qXF zX%2C048q**-o-b7h2is&){|e3H1=E3j7T)-c5|VqNCf#yQ~iVrX1C@eo=b6$#^8& z$5RoU2z2|{$@#`n&LP=89!E~PeVox=_NJv2vVFWiH0~%@^df8@ZxkijKCX?z{+&-Rxz;i&ikDUxJ<6CJqq4XDSA0I*XAkgh&Clv|h!=l*j zGwZtqtpwzE3>COKC*Lw zM#)JV9TvoJk?}SzN?j#U+D+1hx3bs;-WHfa5PgMN3$qrY z00btAhxOesFmahj-%}G6Zp$zi05x$RL?2K-I*Bsuv%L$pVrE$~mmOo4b3L`n_gO_0#70KqT;WJTh&M^b_ZP$ zq)3Wii!-;v-2|fBt=4Q-P{AELvees(Q*BCuaa7g7SyteSV&!FAmfMQcu`(6ty1+^D z9aXFCnu+X46cZg;7rc*r0Wi_Gt(dF}T=vm>?a7tuQ)@4ueDk|;GpS*tpbeRXz!PuU zH#0CffTYuy+XuV{Vb1NCVgBeqkmkTV+9|`_2eOvJw7DvQB6rKxn>?4Mf7NqqOLo!#s63Kd?sN8yRa*6zxb%Nw>UEELlAdo8ax)e#$OjdAe zIgngL`z04L{&9Mc%Tnj=F~p7lb@#HaOu+#EINe&h7p@mzQMr;Zu@~-_+fM+$NO#y%1j@{0Y#A z{ce?#Ov8#4;k*S|KR9o$?#7KQpx*R`=mkyKImo{v#-pZj(2?55bzCj=Wj4nIb)1$*wU zAVR?dIk>CayKa2p-=RsoZ(R`SDI=6@vh={cEDIB%p z>*Q9kD|K=R`JaJl($^M1>IC)~+mvKyB-t6enXo*AYGGK|1io{F)s)l)nyUYvz}$H( zE@54uCQrVZMx|{$L?c|>VaVSPOhoeDWbC)RE%7cwPadh?p-942By3(#4U8d_2n8;@-5_dSHIBY_a9D{j&_g1wg+fm2)>+ zMj%DR^b1mtz&!-Y@3QVBqe#GmX9k0NYO&KcO+N-@N_<3)$<2buC4`h*`Q+yfpC9wL zBJw(BUj>PGqz}jkBurjYtX8rq8{`bX6EAT&X-2{==(PcP?OP8Y)Be5LlW6@o#6f0WsZP1GJ8<5jsx6Hj6=6s-C+{yXIQSn{8zUW97zX|zv zz(f~Y!)FY;GW+Wt=IAI|qyD`6R;14rOEME2j+LQ6CxOc#mV)S1tL!F$a)nI3)t;1o z^&a{XEvfc*?RjYt!6?EYE*r=1g)TViT<5~b6|uI2Qv!470dFwO^AOL0 z6cI~*iZkgia41@mS8bh*#K1@Y1Vk5{I45JscYN5-E#O1WNA}z&bxu6|K@OPm9G1JK<8b`Ux4=--# z_scNn0u8;BiiYy>p|2@83m!N~}Y2WsLJ#0iihBEG0zK7dE<(c^7(B<}0(=cakZjP94+l z;~9LQQ^#5mmw~{{SD_h4g=XGa75g1CIujj)!a%VgH>GAkJTHviw}jXROhi89`-3&- zn~s#pdv{gr+Bul$Mbf#0n8^XJ15AC0y27-D=?c*qq==3`h%-;XjR9DdUY}%x#U7Yg zU9&3ou2_}%?GB{20&Q+i&JQ)>o7)`Gk>*x>FniU&L?>9ouDMCe(P_a2VU7ioCOGf4*{n9 zNx@JoQ&UFj*qb&bm`P|@8i!6E7AHSi6RLM{u0CK5`|CWnwE>_rsMq~OBm)CrVxtdq- zwboa|Qf(4%KVMZ;`^*7E_JI^Rs~(rXpS>rb9(RDa73eR&9ha2?>*@~Y>a?S;6P>$A zdIP~(qB#Jj^8>sv3Uo5O*(w>6#yrv+J-_5*q9l{yw~?6-bTWM9unbcNq=;DIY(uBsblPRD)%OWWuVDCD;BSLz_8{*c1HF)~u}VDGWvOs4Dt&XpkZ)>EcLipOuy}G&*S+i5Y{h zE`b>tSK8B0-=m9QrWzD?B=1PJY7w;jO}>_v;y$ztZ=WLRd$QRMycb{wKg?tGz0#j`iH~E3L8>Sb;T_E=t82PAJ?w?BV9kHY`a)$4SWkS4(%uB#8 z3-i!uY7qF>~tp0=ktPHUXW09<=4))mBSYwN}Fk=!K6m3ILrEI4M7rw{@kL!M7z3xeQ*5 zd^5l&6>J3LGH88!!}`W%f%sNxajg9!>sw!RdIR072zVNiVn(g$6*kD|#$V7=q<@Q@1p^Li}KxK{evesLrw*JY`%#^^Kz>d)TLpR_CD;xnA| zp+Nm{GQKIK3jO)h`Lhi9rGUMPGyF-OW9vZP^1T8tWKpNDSjiQfb|#m0b}sZYizfMQ z>yfm`J5>727l(sZ866)d#vC{1$Gs738*cusFD03dw+69!CHTVx<hu}<*xv^cS_`8io{;e;$61|r=T=;C1^#A_f$#B}j+ z0B#@9d5bfXU>p_HHzseJU-IYWn3QWp`R90F37GOzT)yNc)!Uyr<43mzA(s`0J;x9z zpFdr0rTO%grNXPq(&kD1#AEsVX){bW0s8sV-VnWnkExyu|g`S9Pi!c zNei6q!6@7Z)b@0UslrI?K7e=+sO|j_KY(Bcx<3pTaAcK5$u`7eveB@sP+-JSLa1fK`a-Wn+cV;WuhQudz z#I5zs{hiLOFHqeC)Ga5+2lC?GDmIN;fVXxNX$PSF0cuS`$~!Y?|8P>ZjObY6_H2;AAGmgm^Ow~ z5GL=L=4CcZl;p$Ui^zF_xFWAFZiCnYbe8Ybm_nXqz|HcDzrczD&=%%d5&0AgRV%OX z=%vSbT}-|?!mgjmmwzce(>CZ9fkRw*=B&h@ERt$r?=s+*hq(`;pD?*FOCaV8Qx7I# zW`_A&m}_C`!_)@;O)w8Z3{dQ&@G7_WDQ9#5z7Oep zfDXXlLTm#J8M0eGJT$Od474d9*^2?)7H;>NU zFr!~#eh0iGFlA;lFaYmwm`@;90YBxpBy-msZpVV`k}xK*JL#Qm4s5|%iuSHQujf^% z(+bFKC}O=|<#G-DF)+_SJT1&5n3WK33o{GmB*Zac7Qob-%c2Bit$-P5ttUG|o{zo@ z^Tp&*HZQlBJl95Fi#}xq!>~8JH!kcWuaZWeuTg&}jC$g>Zb@dQRb-dUQp|vZlJvc) z_`LUMa0d`eJuZi|yZ9o9&tVu24g%?=VbUve(2>-cVD0}T4ersKf{}DRlAiz_NsmJu z7Dh(WtLO2A70{71WMm}m#n~PpMJ(w^ItA`opd;yf5Gz6SOY8N2kE9cAVYTG{2P5h3 zFdBuFjYf~F%9N5;BqM3kYjjbdBWX2=%0Nd_r{)_+*=QO!lJ-FKF2G3or_Jr`k<@uz zIFc58k!;eQIlEPtT7y5ENqP=@p zKLBU7YG;C(*MzuMJrK$MAebLOOc6%s2M|9Cqw@pD==|Uf<_91}ECurexP~B@A3$^i z(Pymx|8H9L%rF{-lxx+OlsQT?g82bCFA!IBegLrrXsdQ=+=UBG1qNKJF20!g0iadC zV@3Y|TlKziY@|FNv}*Sxmp5(nNBHvxNmpX;GSDI63I5qy_Bk9)b}2dPBfL(N&qh8= zwG3V#8zKEc)-@Z^S})${(}pW-7HqazD)2o}+9*o0efJv*M}ThMoxg;K7l3ZxHH4@S zOkyuO|3}tHLP)vEv$tw}s=pR<4rWq#pcc5_- z*HL`=PkDbJ^D9V^6#aL39pB_;CD4DDHxuG{VdUTCB`)JhX&8M;=U!`*O?I)#|CSqz z&BB*-x**&M=u0|I*f)-{g$iHNc@)vnfaUpJ*78j3xd}t^d-kOKJGnJM0*fx4(1!n1 zF1E!A$tG#^sAa-8Pz(RVTySe*tQGK#qb{;udBfJnbowK z$}l6cuMp|%#vDEEX-*S!Q#kkK#@GRIN_yHkZ*kWL1U;>&&B8N|vISSAnjfPiJ?&By z@`3iW+aPWM+S49{7y(SB`Q)BUZaq=*7sD*#^lVUfHB3WN{0||jz0Dp0pa+y2!@)X` zZS$Qd+82><12U~eu2M_5KB&(oDfb2#ua(Igi>dZj*Uf!5i0%Xu2BUYM=td-ruUauY zl3=XbSZ22i<1B=xf)q(fmsqAtDAOg9Ij!Z;nM2)P97MwJ191fTUw}Uhrpi0q4F=k| zTt@iwJQ;1mY&$fOak?>>Ee9+H`NgrM;VBiUB&;YHRrv_UK%)agm%eJ!opux60ysaQ>{m zm2ZW#Z?(3}fAuYW=x}#f07uEqZTWdSHpV`d0LfD?m*G?mp#959GAFazu3t$1S}Hoy zzivUky%Z*zWW9**Us0zkZNL_gT%(h%$;}Zgg{%$XAtXzkzx3n)oknm?eorNvY9D1`A?GR*A@Ga0jA1lZ(NkIF2HHa!8*n}JsnsZdR3CVvdy8!I4W!? z_La}bd*lLW@Yh?*zhKX{huA24PTF$vE0&SgUxxbluht*^*b0TsC+=br8S(;m;;aC# zKux0n9oC+6hqRxuBvr$aN+3m2{K=dd1~&-!FTrevSTD>XmCap;3GX2o(15BlVW^&ahyGuV~a7>)V1%cDgfV>(oY1UacwMY}G znk0OQ#1=77D;+M!ij}l2#n0ko`UgCk2pGh7z%H_ca96@*N*)*W-x+=s) zfH}W+yUoE2$$gAD%8NnSRt0~k=q_7{Oe2z}qVO>2a2?Eu>{~dR?7KJy6Go?*Xm(Ti z-X|Mk=WRh#E*{fAVvYoY%3Wo%@QkA{q(4#WAxcuY@1sxvv~quf*blUF&-s}7Cop+G zllynpTv=;m2?qQlB-BOZQc&w}n1fczO%i>dcb8ryb*30Hd7WU>UJ45BWOj(9ZX~Qj zW{t>I8Y5yec@X>ylE%Rt;`C3T?i84Yr1&!+Dt$t80hCyRdX+WIqZO9otwjBKOE#1l zhAjufn8$$__iwsm3B}jklyw@YZiQcm0>RER)jfkhuz^ zNQzE1K89NZbgB_s4^*DI$EOhpur7p4#c%N+u zM&7Iq?2iE*d7Tu`omqKT5i;`TNr#e=w+`~PfQhDB56&2Qqm!+2=-2+RmWQ-tbn0WZ z76t{Tuim=@(;Z2=2eWs84!vMTWDn+OvPa2LCwfkk7fdAjt=7cWic`{8D{N#P0fN4I zzs-Vg?_0_iT$M^}LrMDTH7GO%+E@ER+zYg?PKKBSf`Rx^Yb3!q$_2)oye9QpF((7@ zN)%RzQl-Pw8Io{uAxZu*nEjmI4e}CZ&=c*W4LR1Su_Bd3LhH}?dLS^hD!{d}V&Oo1 zF((I;JU~QD-lwo{S@F8iD( zUV(P1DG(EZcB*HsO`hixn{=wp+v7Xc2?UP=?NmT3B))kxJc8lBx6zVlz2?-PZ(fGR#BUnEilc^J?JBhl3b& zNVOC7TT0vWHG^|;ugY?(Ms8@8oLi{qX7~D3PE)JN<;qg7^j^ZE)Q7OAW7h_9{}h=K1sqxBt8Lt;wb)w>sNF{pf~89NF8R7zj zSBXMX3F6GNr5nY9P;uFSq{kD!!!> zomYP^Ol?nPX{{F7L7M_Wt*)@5p2>NIibU|_uJ~HbL$WH+TD=$IE|4O!TC1PKZ2(%U z-&%BcQeFR1%D%LZ7MCYcQa-+5`E!#DLsZ84ocIXstT6 z$iED@T3v$Z8^G4;Ve8}>wYr`3ttz9n+H79XapG%rx`ZYCxb$g+{}KhQ)$V7@|L<_y?PRAf}S2Dz(&jznW19t5c}66rv-3vMe& z5yf;FlZqzrGDa0^kePrOthy-8tH$XozhSHbURjtC5JQB?gxLmW6-HJip}5Z*3d=5c&53Z|z&L#~9rHBAIb2=C|);TS41f zZ8A?wm8RI?b<(|>V`5#b#Df@!m9Q0|n@3kzMh5vCRhfr72RqY^cG_h5>IHU#;Zyz@ ztNapQB3xU-A~>pEP!{9)i!z&hM`7Ma>;MJ%5qNLH6#JHE$bkPDObv)UVRpjY0&$}- z2VkCpm;fTHuH(Hyn-6_(HZ}6)!lDtey@{md$h-+m@*yiEfvQ0AnSm<*k4>%_B+1id zu_RkU2~ALIKudHH#DySNO61+9WoZF_ zEl8BIObv5zRQLiC<@&~zt1t5R0uxekbbM&v^ zkh6yeih$o3W&p%J!nB6j2=NinM~!w^H`p{-D79EEYcErV;5AD*quZ<%_GXw;K(|?+ zfEWen>GG&iba7CQ1k+FqyjLyKQpzEF@h6cw26X1;6#0=T0KYuUtq|>m$%T0nVj+k~n{dvhm{zNa;~6G8(s&+6{!z&&Hq>SkG@f>rlg1NUYZ-aPGP>6?|Ff19)YfJj z59ZxcTkqv%jQ!Ep))JhU4^kvWYb)Vr?%{AoYwJdsmOyK(0AiUi(v7e9g|Qd-(wiTH zco-CR>Tlq_lw|4DO%GAcKrQ*=?y&A!6$HKX_aAJaOaICP4?qL$ zC7ZQH5h^wX8aXsIZv~#l~O|+`oaCAx4w8 zSrbxUH=rOF(Eg0N)Bo>kOPk$a)@IB&>O9x%M&|h^#Vu)e8U-hj63V*yos3oAi>yS! zL`%e#UYwNs@j9&5w+RvYH1R%>msOi#CKy)bj1H@NDC{m*`U?&-UIVPYb9OOLgu@$; z1;;%+dGJbx{4GI0t!`cPrcFIcEuAK*59V$JevwAW=7}R*Er6d5vku||VJg669wk@c z=fU*)joBIS>%;v1JC8E~zd20zW4v$;{Pr-nAI~t&fqy4Vg+Ew90>2;3V2D1#jDXnz z@r5wsVDe9JyASwNV5UJ#23fOV9{JLaHOpbL3OKy`MQ}!|u7)jQf^k#{!X!VhNbShV z1GXU_#oQsFRp=xWL!J1Byijzc3M-%FP8#4JW!Ox#AxDPO^4uBUjND3A8MV{zIf&YH zX_Tm32fPU|uRy#2Qba6$9%uaJ9FB785b!^Q$@`PBpz71jvFp)CI4Y5Y}=BaqyAUEqA2~;jg zB~E9U3=q7bFwzPpn4E10Hq4FaP+uQ`nn1r);biz612WRzZWCitS!0oTOpL{bZ4H`- zR+c!fgIopMXcEi>F+aX`1wh+|lS?#?iffEcum{5L`+EAcom`9BB(br`&dDq zC=)@~HaG0=#FSN;J*j+B*a)i$>poi$E^3Y$Tn6^OvT416X+Y0-eyUr!& z+T7%RgTa*`p_r`kWgoAOO^*M3n0ndOCh#_~c-gRa(ipVW%l_ncuk+H$`NmQ4SK)r5 zBVN9S{9N@idX|^0CQagA_9_1ib99umx?Ev@DQlIY7mu$kxtnQ;x1t7 zeobjwNuE0)=5uNe&>mRUX2NG4#M}JZDOx9|NIwp=J<& z4n6A}+Kv1!V4~Y?=5pz9P1z)0WUoxJ3R{Dcr1Z!A#rC{z&6Kn~T7-Uz6ME5}7opgf z@yt(_k*|^@yH+gEyw^P%%5s7X>6GH(aGt6`FoGtFP(O&b`$1Bc0+c?$S%2iaViVM*I7SLXuFq->0V7-;sLAZ`LFBH~N7Tj4eV&HkbyndU;E*|&sf zA&g`{3F1+pUijk01u2>4JTO$exhEl4+$j=H;a?akj@?!#XB~fXw#(r=4!RfM9A)hI z8b@!dlm5ps!Xx`bcVMtBNRbp>U2cKf0CaVEVbM%e2I%T?BE%?RWOaF7Dp!1g8n$WqlUtm7oCPU18)(a2nzyFo`mC zf5#f}L&`>+e~?}$bE}w>sal=1Oj8R4^K7S-WD2BsJ?li8{bB2-GeUO&ts5s-m`(iH zTtjrEn9n2soEVSRj4Q5;z{7ARQ3k7R*3E>FD(PCrkUHt5WZaN}Yc*C@0v)(?q5D1D z9yuf9mo9Kq(lbpG&|yp$woT!#0=lq$7-EDZhl83fWLI-)g~-U*_7}t-!pIPJMe$5i z1L#8bSLQC190{>2!1rVd)O;j#M8sdrI$2L#_7D`A!7njI}?8T-vKxd~#T#jKa^i(_&!SXWeVVK4`4;H9!U-oCN7=H5>x$^P#04w79sZPSPe(mmzmCstbTFA)Q>JIgFf4T35JienMuy zW^=+CbJ@r^lzfLhDa)Nd(FrDx+;K>l*i2qW%nMgOPg^fVG8o2Gs-eEL=%fO-9||Lz za{{;b)rmY!@YU_~^D<2;&`3Es9@n-S@k8lw(UC}9gM3q9qWjM(g0vs4%lBSL9CfZV$ebBrc=;YhUrJ0V%h4nX&^w}Vqd{$LRjDpoxO`GBwM>$`;&2=&=pC&h1 zZSBFzZeS|?PUoIUCSw`Y{F5+A=Tln(S#4b%n%g7}e^KXx-eN*lTUC&$41(2G3oFP2 z^CuDfvQBK7=0(X`BXm7TkreIGL*WJh?a`k=tOXQ6R$FbYAwQ(TYwXrKv4{-4GD0Ml z$}|Z;?Og(KkuY+N?GDiun7UDVQLf~f1TmXaF9VHlC!0xB)4gqVf~TD}kp3~yT6Z$Z z#!)Vk(r^ceBU0;;(&P(F^aE?uHQf88QcSXIGqUnnhL$wS|6X}S-5?uIds^KW(11eGuu5fi^ZHzA_YJo1yegsTB+vjUcIH*-VoOQY6J6 zC&F+ofjw2?0P`ZmG?29c<_DWw&Q_S@4wkzTrw;uS zHvsVIlju>K7{+aP7&pFtQ1vG1`%N@>yL-DzG>H*Dx3P8|js z$Gq}vGXM?UJrF&Gk)Y0pm;=%!j_DFVeLvr2l3+$k+|IY}=bu9IPf?v()-x3=aJ2=V zyvaNeqQ5ZmCUeNho6J)=I|ZbOC4H0mW4Lud-()@l@e7E)V$1d4Z!)j>AHJWzD2!4e z6@MLy@t#jkRmBMW%?2BJD>w%8)wrvDt^k8C01lWytHzr z$ptzf_JQarj0}kHL9775l&MwmAYMEiWU2TmQ(xy)<|RzJKrm%$XGL|&)Y&p;OqrTk zFaJGdy3M9UOo5dA=W?-qWKuX~szokW0G%>9;UwcIty~UnEA|dVZv$Mqt|8)wvDr3K z#N=KJIbna243LO~el*!34Y_YW~ zSDr&In?}eq1SXn$RyI0inrw5BiBMH+|F5S^Ut9J6gDKNHVPtb#qq_>B`7N8=jRx;go5lP2vAVSjze8{ZcODcF9eqOtrC86PQXD(bN`^$*Lp< znkq0IIDI?NDbo|7x!vOMujMY7DJEpf^awH!i3z<;J;@64^iKr@50{G_(7b4+a}k;Y zQY1xt^k%sAKznq#YMJH&V5dyetRdexDx5MMDHp4WmpVe+hQ=*G?L7=JLKqn#3LxGE zrfw}t(@^rP4e>XpP63VYT$@Q$)4ikRf+^F5)iX_5ptbH~l8vKWB&F8ph$B+#wt) zn^l5wRQLdUiSk*WkZs}KT$NnrYCvnG2gIGgG`iZFkU3p3xvbb-+zW>D?ZwhT_zGu! zyHhAhE=fyJeg$~-U~b7{E(W}7VSa3ZJ)t6?P1|ag< zuq2ajGvc2E@-;`VbGy_FijdJtlAb|kB1n-G{}ax92KOoOx51oq89P3}{~o44L~mh^ zz^s8-EzI9AWiHP&=Yp&hvR-R*%gKaEZeY0)F#BV1ku@V^2&mdL`a}wsOx|wDRh}3{7XEWk$i|W+kl{coAN+qMK zNxHZmQ$Ua+DSjKybb;#t{0=ZLK};3qZkVL{WDEQuFgHWoAk1i(B@pvL*3&S{Y;HNz zV3Mm_E~!5&qM~QD{`YNS*!s;-H~7)|Ti+0i~LmkL(*B!R*~C*#|PS<+e54cMP=R7 zl|(1Wi1yDSah_yE`=g9#|1zH53M7P*YX4j0-T+klvkqdGC*x1Ft*Kl4KmL>2KRuFC zI%T!L$MHMgBT^FWKaARY0jm9DNt_O-_J_qd#T1dMuKl-ydNY9bUujWlYJbReTKjW) zFu}A7w7*O6hgJVeh49mgSFc0wdBEM1O!uAzP8Y!JOXgk@cLVu{k}*f~>kD#k%Im>o zo;{c$0GQEa&Nzf!Yrsq*^BReVBr}W5tA|1#FjZuB>4h%>n1y7d_ zIbkYvH{7p^yl#1rldF7(P+%~i*U`=*ah_!4I@)Cf_m;~hD2k$BG&> z(Z9o-*!T?efuL^}@oJ0sJ-R!^($$OG+%7m8S+QwOEEKq`-j-HFsd?1K4`+wSfmsnb zFgPvW+3DJGI?IgL!?r)YZo95A9U(K`QwZoWz?B&F8J+PCBy#{@WX79B;%uOa z%zRG1OnLb-)iseR&S@fZo6|%lH4d=IZ=JMy*=n<#Fcq!gy0mV587!pNaJN8wiPR>> z_Y)Ey0{k~^OG5lpr}O$lnJDd(tL->&uUpZSwtU8`e;iTZ>;kyok-3A!BEXnl*svox z5(t<)G80IQl}t-A50JQ3GVRG6b5wzI6kxiNnM~p=$s9uFJ`#6H<|r~hk@ybqM7AM6 z^_|tC5@2K?BSQWcE0To&n5A zGJ{SoaE=E|8JRaotdz_QGReX8I$$m%v(G67&SuG6OQ!Kqd}zSjOy(UDFG%KIGOLDh z;s7v@lPMd?Tn?BQ$((Rnf%6Z*yhG-S)8POxpOHEBOe8dp%y(qmvkRQrXOS_3j8inF zz`5^SGI?Z9nobV_rX`sbGuV9sOnWk$NPHrhu4MXFfCiXD$h4YS;Cv&QqsVMKufTa7 zFoVbx&gQ7@EL_mj$rP3Gt8qEMW<4GV*WDdnUcG>wFu*&0IA_SM*jb}*K`joL+pxSj zVn2;n+rar5NXQ#Aktc^=$k|H3RFIiNVkXe|ax(w1WUST5c_gThlN~k{eTXw_ZoTKE z261(7x(L4uP}l8Q5^E(R*5hjuTY%u)K@&?P+gUA4UNSe{zC~sbz0<`7P6t4P=pnN2 zgehxfq9FS5pdJgrtQ^tZ!%}ynRCw0fy>xDJFg0le^ju0zl2YwvAXpcj+5 zfyeU!jevHI$Q7|A>Rvv#)eS;IBA{=9^M;Vn2)LpNZNDe#`lLymG)hfSRo{2Veux3*Civ;ZhR@*9e`7E zHLaO0b^e>g@jN;jP=D%ZTM2iM3Ac0S1`*Io-d_T!?FeyVPM8XZxHvku2qR)U)`0&s z;Q0A#t553cTRH7+rt%fkvbiN&8_UU2QfIXkETJCHT>LbfZkH`>}7*{zTom(BGK+u7DQ zh>|A&T4RW3oG_JHoA8jr!#wTfTD&)wu`G zGiMc9wjQGBt$?z1Kxp~-Zz&mURm@?10w`M{j&Z_NCR?WnT@ltw@E-si|BV`K1xq4P z%8)I_E!DX_=9%2qmMwQK3lxegTgOLio$^fvTjy5cq5{fRh=U=r*qLMa`;e`>!M_u5 z{7-AJ#p!d@M%X$z>cmQ_a}SwkZVcJ_iK6QOW$TpHp+c|bz+=>jXI?=V98k7G9KI5> z*qPG0Oz4WVZUKKO;P?;JU`w}obn-nj8b4d9&V6)l!>^>cOujEs^f@3QZ*=nA=}P8W zKqud^Bu)p4Wb$>KVM+cJeFu#eRSk=GVQy^0gM>UWok=|l>RKTGKr)T{^6PwCH3E_^ zhBn(QjZ!M};+F`O=!>DP6y6Nz3>zZ*Q85v;{Dj-og;y0gNr1`n&cOt~p?T1*=)_%Q zB3s@g681|{=RfAvD*#8W$NrSv7f^wRc-c-mrM0PL-3Fg3@WJ4pEOq*)JXL$t#CEr} ziDliJdc?ApJE3KbceSrYTY{C(qxOm8gel(WkNf`IdX>Ve_%P>DWd)$K>MbOeN=9bY zmq|Pi1hf79&jd_C;d@&9;oN#}h9nwZ&2c**A#apU7jm5erE?OA6kxmRIm=hJ(@_Y0 zIyc^Rx6H1(2Gpwo?Wz#jcfwTAgmhOu3hKj3U7ewKEp^ukQ=xXdpUq8f073lU z-1rY#7ZN@Vq!BUA@q9qyUBGtRkCu>e!c?>!{KedOZ@AQMYjF)*Zh+G3 zNus-Cq}!&EI2UkAo~JcirOp>fJj$b0fZ7TFv7j@3eeZ6z&d`s%{}xcS4RJV#ZLu@W z*L}i>*ojWp;=2NTS(-5g(VBMeQftuu_-a^?ddt(G^I0K8rJI-x1H}jz}JPKOzsm%6my_63^!}2oD3a2SU7T zC!I?7z$z&tJ+Kh``GDhB)sT()A>wPjXlrzx9#Uhh%In$A*7yu1p9pIV@k~@A9Kg~W zdr29oaU1x*YK;qP)EN0%k4AI!IH~dSD({}K#@(-HH3DcGLp;WaEs|1DhM_#svh4E-27PDC^Z!(BDq6@asY% zz&t|cP7+H2|2IqQt+O$E?s2gRPONCRSkdm*Viei=na`bUDysFCs(O>8Rx$K#7qC_U z)ME4}Q7Rd+7#EY64Fp>vds-rF^F*nj%iY_m60Zw6*>hM+foA{>^lv8dKgmd-zhEJ% z3TTYK8;Pz!uyN2KqPS4HWO-F$&-Rwy1t84=l-_a@w@F6my-MO`AR%Rx=r82H1E4CC ze@{!*cU}^zcU2`Wglc;7@4bj+KcF*8h#ZTG1&vG3D5F9B7vMOZdNbc2WvLIgcnkK# zob|PifL^jN#$seSVXCRcbswvW?*YCJtU1uU98jeTF|(sGnbx&H%7~iZ2mU?6i$BX& z5-OcIhlj|(3SWdu>poc(Kb`XW%~bEJAyN}V22${qloK0j$%@&!h*CAoR>)?i*;0=* z^z4~OenRHm=b3%}0nf6m_yB(21azjkz*=MuEP@w#q&;t7#sX9pA&zmvRM-~bv`FZR zEGC104nVZOhM8B7R7YU!$zWp3a>7(J7T&8$E)!BR0vAB$dO%0ub0i*@jEuk|7NaYG zj=<+hJOTK5mh5&$VCSgTFcsDMVO71KrB)e%2j7Ut0O$z(7l{#)krB9*#9|;Af!!>* zY$u%x6w2LLl^C!W8&O4jAUd4ZXxjnkdQJ;wCPQZalnqiV=YzRSs_$EuSz6}Ge_W1P=^3I z0z>4O6Q=BFiQMlCK%J%3J56Dr4Ykxyws@^OFal>}j=<>_gZ*Bcibmj1Rq@;4MMvOr zXx;{>)`ghaQJKsUc%_sPt$PLhmxLGpYD+pCffBsX5g5J*wbuQ$D*lDEU#3$Xfi*EQ zN8m(DRz_eBEvqpCLpH+^D1jZdI!U`qaGfyK+{(v2dakzsO4{b{;r-jN%^@aHWLrAq zSva~#%1E1cTFR%lfaC8~V<{pdO@sVn?F+{VQ_(_w{3?d zd86XlOzu-a#nb&(J`e5-T<7E zEXMN&snd{Xbz6bc6woQ;P)nL!ZsGQzsvvTE2Jc4#I+#NoKA5!FnTkCWaj9ZI0RDXd z-FqLUm zz6d#KvJ8C%9RIKyoQPS`8t;f|Tqrg6tEyKP*4Ukr`vcnc5Dy={j4aa zTwbF_8Pu_JZCNoxRg@7kbXF8!@WaMbGedHQ;;E?4Fcqy|22|y@>O$?Zez}&K{|)H+ zWi^RMfb{xhb4KkuvVQr=;&Y|G$Yx-bS1C1#!QBGk&jFQ9h?ni8Q?!;JF?i=n8Ieuf z<@m;c6Q(jX@r$s=S>T_iHLk5u zqncQ;4o$6>lNF^xO72ecl3k^Cu@1LEa7&So#(}$(7KRq2axsx67ohzbBf&2fR5&yN!$on z>(Ip#GESI^B2Y#1;*H=^=ZFs}u|Y_PQIFpNyMWT`MWQF*lq{k(tEJ8xNL;|93P7zx zH(QCX@7>n(0_(7z_b&t5Cm~ME2~(jYMGIyKBccVntRNr>IPtHa4a~mo30q@*%721q z-0oykArbd~RfSJ$Yv_*N5I9tbv^xP-x59JLzI4Z6GGloBFF?EFjEG#(Z%BD_RZ+aF z?T(wkxlu@{u`aWSY*Gl~ma4?jf+(}=vmmVn67ojH_YJwtfQs*sJNd)}u-!4m5;9Jh zin?QKRbo*{bSfpL07`EOiA9nTWBnnC_W-A4G_9E~b)G?Dx4Sq|2WWSkZ!2M&O}PEC zD!2(}0`JcNv^zqa82?HmoL*%}27@vWacOrv0{%mQ6VH9Fc6Tg~#1f{W?zp?E@HinN zqvIn8d>};HwSm1HEz~a1TB`Cr~dM}obkw- zMk_ePw9vkBVvFn!gEaE4%sN1IVh`B24LQg4l6|Y63Cr8~hxV;pdJtc11H8(480`|y z3l9jLe-T|R&OI9i63+Vvs5Ll`R|)5_V{3389-febv+5|AHI=s3(c*;}VW&kwIgilO zw&qUk9{cL^8~Ep@mTf$!_$K>YFKsHYp#?eH_HKaWc6Q>w*vE>qyIuU~`L_~nKRB^> z?PFni|KM?rwsz89iXB>`t-soWa_{+3T2LGB2x9ebyj^$ zP<3gIs;|!|xVg@PX9orQ)hPIQM#1LYR0f%i&D6s9M;2F=Cv-5RRYwN}x7Vs8t@k3W zy0~^7sQpQ*Jhjw*Vn)Fy>nu1X(7Karv?|Ze%TnXk+6Ak%>I{pk_i)X$bFUQKr+Y1N z!0PTnjRR}cc#JhmQgCdY1=|K4a7c}U6Eh0lTxY>cf*Mb$QShpaf*;gbuw_tV&l&|E z%qZCWz`EL)3<@4py`cYIMnTMMrk)^}v2}KZ(|MP*^_;CQ1as(RzRt9Kad6JDSoSWw zT7p$C2i$|mr0(ZdF2LEDZy&GUAlIgXQ84~agUsKOX zz8F-*_cl(J<4*0B`@+#wbRw_r0cS3dkT>Quo^*SNPXYilk<9Fe*%Ss$1(~}a;V>p( zE+;eiQI@%YxsJ@itJ!V@%q?U_JYL|O0+{>Ayhq|L$vi>ku_uY~0p=w#y`Sbo6~Mep zrq?stTHlPPj&O;Ma*8sunho8mZODq7xN+snM#Bb=hwGDQQy6iuR= zWORxqF&S{YWi9we3=z2%E|OW&tKpA_5KMTDSMFMVtp;-?;66eo|36I8KtgcM`#c#- z?hGLKzYCTY|92sxYCE?7-SJ}&f;IVXRP(@}3k3g-Dn#|8Lg7sBQfRRhlK)2aAO-FR z^uJMkK;nHs{~J}kXX#|X@hUK|-E7U=-;+gqj<`E_^1+Z;#H+nQ>HxU&$ecl96p#?K z{M&hAR`F{oj}`;ko{$zX&zkKydwJ8{dfN7U0RH=clPwHveJM~iER0PZ7RbPH$1N{9 zA!NpXj!FP!W=|4(07m#YnnZsfU--#hBfnk_wKq(42}w>}9zPV4W*umkQ0M|6do@c4lTWnN6U43Yg_&8a|J%1Mx1l4q1OY@wm-B z%3{&q*=EkTH10Hbon+hr(p0<4zzZ}%HXS6HQn%PDAgX) zt-bFq+Eh(VyTDIpK-F|0i2*=Da8*sGlbZr~pQE$iM6@b})_}WPy(YANj_nIb%mSSFkG7H88x3t0)qBJ7 zKeb3F2b*}>9ZtNPty5+`yDqrKc2SlSrXr*Ba4+w$LlK5BbPrYECA`S0`E3&GB_l?s z>5F`l2?U!7ODwr;Crm{##z%X_ZxnK}nQ%M>js-OMe=dnhl9Ay5A`%M#jr;$H#FIb} zp?WN0waCy{kN5H#_kx~8VVb6ECK!_lvMX!FYn*IX@=Yg(x0NGKtkT=jUX41I}gxFrI8(% zt`nvh(fZ?ZiCR0MBK^A_{8s_(-{dQp0YLkA7>PlEqnD^vS{AvQ#HJ$S!zF4nL#FPh zz`a0lBghpNRc{2j!Dg!62;y5VtKA5qmihquCd&y^(IoOyFYg7ZP-dQYsO&A}QtpL1 zFluy|iW*I!mWSC!yRQ~F+bE=sZbxP}KpQ=r#1J4*>ccEK-w9I@55M$^PZDyX)Qc&w z2vDV7L*i-4h*EDR@jpP7y2)$E1qk}*7)#r6!c@fSuf4oAA*-iS;1obvy^zHDl9BQE zG>ON7V8iVsOD@}4A&RoCSG?8Xmc8uP`SK4?_VysrRx-lg5hVHn2`QsIomMS4nl&dGee+*ErJ}2>6KtR4GoEEWFlnsHb-tpx^K%}PZG+9S{ z8c=q+kvITI2(Gd-g4`*9?T;%XcEVKDAAaw6ywo=MPD_p(lT9H`181w?V0R}8EwQ_?x2RCS-}p)}`G$5^HX8$0F12s6oE|=`^y_VQ?`v5Z zP0?Y1vhtW^neQ>ci}w4USm<}S5h1j9C2wQnVSJ=vao8bXC{yjC=k`TG07c&jF z^Cx$13R}DN_KNyZT+HyE6m1J6VfwT=1DR#%#SB?BoLV4yw^jgDNJRW;rby{w@_dyVDGZDh13l1Vl$x`mPY#LSl&W2 ztSwhFywtwQa>7(7M7LdU?>MPY%!fa?BA5)Vj5bbkYh_W;%Xdhd|{ zg8o@;Y16Yd6|uT!Z|?}9Evz0$fo@Vz+@KL8PL+)G&teh_fWV5ZwM4kQQWRyc-ti?N zdmn)GKA`OR@1q}pviA=X?SX`pQ67&WcLV@ck>|^nDw~G&pjzD9+Z-}>F<2K$S$U(} ztsr+hpxmt^@fu(y`DVmkn2IFXv3I=m2rEf<0}4nfWp#Hly8+5-UlOH&ayfy-SRm-7 zFC!+yRHP|gddF`HY2QYHTL7i~5{VZiBfaz;iEjX<-Qoido&tebzm51lQUtJ1@Axkv zy&fQS2bA7$5kjjmOMA1cS5wVtq)xUqH# zVwMrEe}xr-;KFq#|xI%yQ_*Twej`%`8zyZe}^1 zr=x&`P|}-O{!Q*GKyPMwjKsr$-_LSg_suMG{^ZRpr&wx^lTI=A`Ekp8?c87Dl5#Uk zy-ye{fZohfOrkxYH?xGrIJzH^3J8Sv5{&|NB!Ie3wkS1kW(m1Y-^?OCHQi3b={V^F zqu@t+=N{-?0=UvkBR}ODG(bDb`K-YCN;1-Q%g8JQjP%;!n>hap80o#^K4A~W%8rUby8PUZ^|k4fenGB170H@kp2pUm;!7dSltGndS9 zKX6_VFbl{W^&=B4P_&Fp(Y^BP5q_yJb*pWP|*eP28l#;4cD#IBAILM}n=Ku*oOUFs?O?S!eQ zJ;X`-4zTUn3jSswh?7oVA3CRDDl<-65i(QwD=`~Dnc1JjzJSI_hmbfKNXJR%S(2_3 zrn*>0T;il>KvLtR*HY*zK;xu$M`glPZYn z>A~=G5TI&$8i^4=LU2`0FDG{~pmEakB3e!YTEt0z8HmbjoK&7@oOCVNPe}=hlP|Y zrXr)Wc7QjIu27@%1XVvKyvPD!6NyhGBSxpKQ|Rmp1YYt#Es<;|Ohq2}vjgJK2{~EI z45z?QK)u?FNL(Np@oHC)xE)Z3_DvG60zsVgsEE}{>8lq8c->Egp2SIacMF|e0QJN| zylf|(3PzPUhe~XF}O1T^$15=UN|o$ zyu66>AbkAB`=0>iBgBb0VJb6DdS}STK3RoM7l0dn{Do>QFSHOP>P_BL=@k2mB z;-n3&;mLL?g+PN;{Blk2f>eBVNbfk1jscY3WD@5{ zM(8ahF&{`s872A@xhDWCz)lgzTZL+2%6mzu%E;RU)~8Zd-l!lO#tWTXKn3|v5_H9_OrBl4)$8C~||Kk+f^iwD?2vAnfCoxkp!s=}#ZUL0bmq@$-1o47ymNvKh<-%kt zW$qVx5-->W($|36z7Q|R*#KS?FSxWmIs@p!Jj7|>oYEjzm@g7qVt1P)3Y~_4H!Me2Lxt# zi7ljN_%53X&9KHvW0tqj45#CyUG1AJCrpJxbi1Uya;Z?v@Viv@wsI+E%%IZWCXG%s`y^F-{ zKww1%S|VJeAd0eID*k-P-d2z{1Ik`uUZIl&l)VE;><1*IjPiIYxj}%nB10@yu2K-H z`=`9d!z^RhfOWN$l{d=WqvRe2l)H~fd<0lYj*8d|Q;{S~Qt|OZR3w>~j{*Y9>OV>B zEg6yIi6jOB%4G$KsX)+6Ga@F#RHP|AQt=l;+AAsW0HCzrC-JUigtpfRx&j}OX-}dZ z5Qz2si0{=RfS#%NZo@6FM}X81P5QzRafj0E4Z8W%dhNk-zQ2a!1d zs1ZL6N#hjK*-`v-4w#n%8b4h{;$F!}{4~)7uM5!lX_S%pX(yg`01`q;zU}QljGvC4&e_tlfD-52`txH$%8JeyJE6=O{oZ27c@5z4uJc=W z?9_ShF8|!8>%RL9Id$l;;Um)dgL)o($f3QQ(Nh~cP8m>wZ|FIll37je@7aVX`$ZL; zWNSL7CxHjkCH*|RrQ0cawEI9$FW+rcFO?YR4M@02Ol0)@xF+eR{)H8;n@SjwqYh2!K3%eV!?ZKtGi+c2|m7VPJF z&f(zXODh=eUIrhIlg!N8wio1PpzMnsFN|tVH=2LCT_1w^>^n6P$~zGdX)26LTbfx4 z32E%UylGB!z_wmWv`A+iXQu>DTGp&0F@R#NiruhS+h&I+i&WG*CtRtcNUGEXmu{OnW({g7rH`9UUrG-qj72a|4g8dLGgX8qS!jRX6lXfCOxmMw(s`~tL7^S z%bn^nSEObVIvj1U&|pG~%Gl&JBw6 z3_9_Op3S894-RsC8!sJ^)=nvWXcFbgq}D4KVYX=R>LncKut;LcW6&Rm?}iR^PnZUd zQ<}+aB9WWONr-Cq$>i~H<)KH@D+2}Ws}_ZR%8qV_UWho4i5f>INNbM`h*tG%D!Jo|otoO^IBX?^OvoS{kl7=Fa8tHE?O3UA zpk+@Vh%q@K;$5maF;gUtb5bU|j&m~j&Yy6)^q4k!t`)R|P%G$*BvidEvt+FfvZ?mosqz4SaXPcx21J+-P%21 zMPB8$#BA1ZGx&y(5_VWy`qc)*6*w?;(*ln(>e?repcDo zv7;vpFWakA#}4DijxFmjal-fxqeq?EVdT)E9nRTzpTYZd*=zjpVW$l#+iUcwF%!?} z0G{Q|QQVNxQ%99esQzTar0Ng;d;>z^IF1!s@lX-v*i-*Cd}vwmX?&UFluaBrdU*7J zy^m8Tl?|Ve`C!PY6UxR9QG8wx8#S~n^X=%dV@6WV_~GNmLlA@!qsI=ZjxlONwfw{} zqlS(hR;|vmv8N3`hvIbm(9uICRIC29vaw@=R};#H;X{+g7?e#KH+%v~Jn%4C4^ve( z3|@GQB^Wnp+}QD9BS)PvoTp%*4wQt96sGxSj2$*Hqy6$^IBGO3Y9ddD4WBS{eCC5F zO>?CwkRmm1($KNvhYubxeu!2^XlmS~31vgdqSvQR95G_JNC}!Exp=nKp!qDMo4Y3@bJ!JeC5Uub_PMtVvblF~`#&pMAu^_vF&!4k8^6iiO zm^VARo=KXxoAh!_LegG+-}T%+-cr{$^;g#UvYS`M%S#H@2>O8q{7!ngO+5n{Z-3t{ z^NM^^1`$8$%?I&kzfutQ01=GrEHB?TFF!DiiNtGW?s^Nere%eHiAM@Q2p67S++JWWyhxk&wxo_@&hV^MtQYw)8Zlb>b?yL3fomt=0+ono^ zwr1sY_>=ld;YAqU-8W;Tx|n%%+tdnh_A;+dcT1F$ijb4bDW1VeNnM=0Hr>tSWD}e` zdaXNOIO_l_g(0n{KPtDh5JWzd&f0F{uD>oTljKO>EZb?Fh&$%Gs3Ncao}Rm?sHm8}?Y`3U zl1c4_pD!q_Kr1*%02mq+cHRZ7d|+O8FJM=UG7=&yxQiJgckT;MvMFf2BTdmt=R~nGW(;saNQq=*1Cw z-h40DpQxqRRHNv1%=bEhP>7y^Sn1^ydTs}F#2fCL-;4+|NixriolxSnlcL4mUh=2J zYb1Y4y@Y?Zmp98xLZpG;!7Jcz!td(E`=G9_*QV6Vt%Pz1YzDa!FQ>xG9RS8&s9gP0 z(5dhCGH;jilsAVCT=>v5hGw#f=Y#I~bEF}aBu?|%@*rMTR$S>_=K7ep)vc_F`;?)} zkZB^%%_K&}QDMPi2Km2~lJQSSG8)DHELS_?fx1juysmhJ*UvXkbe~UCy@p!rL^VfH zIavqD)3d_?tG8L&C_Z!7dvjL+M%%Tu7YGE08Q zDu(n~b&=-ziDCeYBf`GfF!d|#1nEY4G-T>s9WK$RO*1t@%U;g7FlP%(RbDenHc643 zqg+vk*1cT{5dm+IZ=N2sjOr=S(rmj)%?!GjFZ}c=NJ_J?`X$s9J5nsk^GrMW=I&{wC3NxgP6_`^j$9EW zCeH`Sv`#4#x&GX2<25%6r>ks4P|eK?OcXRY>FwgXrErn!o4LOsE|F2bzo4M87{XHM z?&f+e%t@M}0+K~#LVKWFjrN0oK>NpEq1}whF>f!as(vc=mJUNGwM)eYN^5f6vLc~; z$F$;rv>E{~NB+cgAjgWlT*;Z8E5gUpQ^m2O*qiAh=Dum`!q-}sQoi|T%3tQkdT6Co zcGEOQY=IVX5A$-mSEjt%(VgK7q&y$bIlSG&_Ex3@>qEpH3g4_Q<+{E&Gr1bSTxtGuc(Gn&mV+d zG8$uI!TMPPyndj*bO%)wm3pm2(ahuuuZ1KkJa>?nXU>vAQ@^CBRHiL6jzQ|1JS-KmXhh)L z2dZ)jlcx9uGDpc&nd>jm`B@#6K4M8$K2+wFVhgb)NfLEevh8;(`2wE*xRRm1Id6BV z1-4t7Pu~-@NFofLU%AML3>%nD?@cKZ#)s-7ub>;P>5Gy0uVB|OL@~4cT9iqq+g#t> zIKRxx839fbp)q-s`SbnxCEh>qnzY6?=FShL#_Ii3T3aJ!PAo7FUk_>5w; zqMHT2dFXmm;q}7QS72)jl8v=BYl7COd6gkj&0_X4j|-!$m1Mm$S9|U44}_UI+zK&# zuDNGE1z263TmiOco`O8jsr7aw#e>{Zd7CIzr;CkZd~45_KhpgJlWHZ6zmN6qPJ&3% zthGG0G($x4YW!m6H6h3lU&A>Xt;zGhl%nJmPP z^7D(}p!-1ARo7qq44vfQ@X2!F)u=UjWmQ(N9FTUj(MR7rBbHf`bcH@q10ktG`2`2E z6me@>ib_kAcAv)t1d5TBi_w(+s>#XnOio^{&B@n)pOf=ldt|hC$n~p zliM;mdA&9#U;cegX73m$w`Ov(t~MuI{~{+cOhx(7lM5^-;u45w!K1lBt$ieCHm}Mm zIxS3gdcx_#sF}x}ttu?&vgPXrH zyfVc0IL(N}u>Ik+C6kjmwK=)>?{o4*$cd+H_}zk@-I-2fN_+Up^7%Sz(yzj^M6SR{ zzul;BpTHiU_m(4aPO<>mn-~}Is-)@Qdh+TZvCIcD#bTe!f~ggHZAK)$HZmESVWoHy zJC(3{VVPm(Oe1<`e!yc1mau)qu9>@TtQKI47KsqGp2nSTJ8pKiS7(NW;&E%i3ps81f&%uUPn@0G-1xxg`h_1 z)NQIK&1Au;>!N+!iV=Y<=ifLDMO_EUhGyMcP((7nEX=B4q7bp>d3&3qOT9*>qXZB8 zXM2o+McZTwE08%)SfS?kryDwNbo}D>^?FROKi>aM+YmI ziC)g((yI?lTc!^@f3P5^U(qQn)(x>Iy#|8VCppERKfi?eoyeQ44GCEOHbq>e>Wf1i z$1Tix+ZdbROl0L}a$G;wsKh@@Vxg?7&W^GHo#or6(1pK4=UCrtomU>j3xYWqo@P^ix$4~_t)&JWX(RR!rQYgMa#TB zsWyiYkbi^Eo5o|uK3_1uTKhVPaA|52dI+4EWAYBqgZN=p# zbg}H`tUwfg0oev#i`c(F?W5h>$iEmFG;jlD(9Ud`@`_9;qDeMU<&hPJbg((1RQ$J2 z^huCL85$9?E|5+!FRQlI)hD2RAgg}VzqBMJYSv9VBaSeL1V|Jid|+}aC2&NLlxHgD zch3`ZnI33TvaV%{N@?NGR6}(GW2MT|yW8a{&%7io?O!S({O2aq#|0`5SsF32-e5tU zXKtQcS|U-8H@sr`(I>?zoX;mcwYdw(}XE{lO^^B>6%0nU!8UzZ@yzX`5RWoi5&~6h9nRM0fKErpd~{EB0E8m)Du} zKT@bssn=3pivhtb4CK#zwR(g)8qSEydxZXEOgBEk%N_1Di0#aqKFFAHCW-rC-%&n8%1vD+EnHV1g11ByEDA%vRwEN~pc-PRQ#O+RIR1Ngv z2k=V*ZD2Q$=+_W)Nw1X5v4Jrga^`&R6Zb%Grp(+l`UCx|VYkOS5I;bLi@62ZH;)`i zq$dkP#+r=uP7FdyF~!NNKiF+KQ6lL~sCRWhfWZRu$~oHIqMLSh-LzSJ1UBd5v2I=> zpT?)W1}ujsc&!(D`NG;9)#QXffswRoN=#?Jq$v~uC(XO_0)lq^6cUb^)t}R|6vn$K zpi9&e$Nhe2dp(iunkvR0odtXM{}0Sue}emFf@B=~dGt zUed-qca_v!d)Nfw@Jl|+!UTeT)wEJNv(P+_JJ3Ao?MKU66Q-rZ8@r9OV_su3TiCNh znF2q-U}1r`8}33uot zF>*U1{rbvCq{3|^(jR$lMan)#eu>wh#7oZf^2NXM&9j1vQDiiprlY>!2$?4b%P1&e zpN<8!>lO2!rYxAID^~OUHNPjS*FUzRT8yah7jejNcydu>k=n|%)TquJR#D(JOX|Ms zaV1{Q67QH&qRHJrolqh#_MrIjCEmd$-m#@#3m);Vk@-B>mPnfVF7h-JRCd0(=-=g7 z*JKUhRsC0mms^+cP7L+&Q+nU(<5eQ;P#-s|R_NrRQfhmEh%bMp%5I%vO8A~}(@ka% zVaN*W=4oH4Uj6Ud?FcIfYOLR=wV7qpD*jklU;PzfeVP`Qs@S*xuB~D*bMq(g5%<>y z%9Yfuq+Eo3w08a13W9b=+`WwK^DkO!?n`q*l3s zx$wI3WnzBv&Cfhyj(Lefp1GDn!9YdVW{O?UslxcT$q^e)^h!1U0h!ha6Qm+JyS(^MGdZ3R#ZS4Qqw;OdIIq? zJeRPmD(-x+C}5VP;e_Co#3c*2+Y7Nq5bJF26`^-v%n@o}8&?v+MsFceTVz<`HExFI z*3OJ0&et4kRfb&=e}c$&1)nbl4P*lgR3(6jPlm&e+*rJc)huV?|}l z)_LwZ$hXS#n(!wV78B;OCFNhiNkjAfTe2?kXQEC_g8r4fZE3Dj8HfQz`qd(wG4sn? zu+AJ9IO{K7uVbQ)g%}<5k+f2DH}2o=-D5;iSG%Ysuu z%%bTdHkgS=xer@Bb~>tvNpml=OC@WgLAcqbU<9er(rNveGn+I{HU>#tROywt^sEek zy?D^5ySLY2UX$2*Z?6NqCS?d|EwBG6>XKW6SArKOsJNaI8Ez|^vLn3uCP!!o3nTtg zLUdNvC%H+h`6In}f2cJ8??~)IKdaS?n3cYi*0aRV@tb&g$9TJN-ryifcz$<%D%Euh zM?rRd=D6ugw96RU$MQ1iwZ|=Ep5Ie2`|+N0PU0NcCiaoF3w&QBV-dz6(a~JHq&yW9 zAElvhwurvTx+Ly@&C3FFkebH{Lx@*35a72rX zL1l{mX>mDAl>*q2rF#-)Pm;fs$TPdKq=5_yT=@=li|gy2n8NMM>y2ylxpg}VNSkxq zm0t2{Z$EQRv6noWnu3*<=dTizN>%O6F!vCGZzYM@!=~sCYuaHTw#4EyA$0Z+% zgd|1V^?|hdW9b}`1d*2ls%dUMx4iBeIM|T6A|xzJZ*_!6fPMla1cGAFyJ;g|t*eo; z4jZt2*>4O)zbdRjd@NMF)EiXd{ja=2RtlDVAxN!k(+5PFryOEL2zUL9Y&BPO=U zRbGtQ?FuZ%)URZc?M?$}ZPL8BBhrbP2O{Y__Q@2^#Dvm`nfpXKOqNRRh2NuQ0}i*# zP)FeRQ!o(t>QAPySrL*9-dKST{(o8Em30ZcjJ@~CYEa)1+4|->JRymeq@{m6(w9Z^ zMmiuDM-HTyz$G%Kj;vo!%RKY;22`)cPH)mY80gbPS*qD%PcQ9jeepX^3DjzDmjA@o z8<`iJbdY+chUhYb)W6yw_01ZG52MuTItuGB2xl6e77GTG3#aK3B*j=4VN{Dm<7**& zF~-w4H^FcKEtfMqrSr=)%1nda;~$gHm4QqoRL({aLT_N!Z<{hgW&zh+Is=txbQjP$as3d2Pm-#A-0UPS@$PgIKzG_#V ze-G2<3OQy3-@z`xIN1eglos%#wFLZ_74R_OKa?*GNbdqPt;TKOD-TjFa7Wr*fa8N> zUv?8f8^CGPpmVwf=LhK}b^z97ZUCIW?f;_<0K~F>a%TKLIO@0b4}zDR9w5-}mWtIZ zFfVKTFdZ1);WIOVK3oK;;IMYXW9%gI(}m>{ZG^j-yrh!2A)ZQ9JScHtRD!7e8dvsa z=+{Abo_T!{{~Hu&X`awHqRa-6sbTUPnpeKng~1itfN%7~OMxsZ+L(7jhq!v&R{S-T z_v#;LcbTwRV1Bj5LWlFuv^&SVADo=QMLv63u{4qBPDaSK^;Q z(_|Sv78eRtY~eTb8a@j<-QP00pD_{o9Y5&bb^B+UC8BO%AEff8q_qyCbu0FIQ{Z zg4%8KPGob$k>;^9DZM4PTr4|6+KW}a9X93(bMf=xX9Hq$g}*U5FZYwK)TJJk*>p?X&3zRqaZ zHGivJk5_NkBRklxyKA+Jp?Tf3pkXq<#^g|~oQ7{{9tyUr>XcB-ycwvZ*kR)Nf7qi} zNz3iD^WEQS`6rnQi4g5z^UYhl&`}mFjX54I!*SA@^fUG_H=K+m)?*lA{F}2k?2p#g zzPeNwzE~!(ZhAwFRRi=8(Eml5JCn1;jDF8aLQs+ zHr`#+iai1|THxC1M1Yl++4{R7lqIiwijFAn0R68;buji9Lp>-H$~I>?6EXFB)_2jXSzA&0b& zFZK%A6F5MB%c&W*n}1NB>SF(kX?Dt?(6V1vV8O!mO-Lf3I}qe>>2mfGYtiXFLxT6QKFe6lxLMXe%L%q)}AK%VMIy+=#eEwx)72-}(iv1)B!CwLp^_m`|6KSMY(F*~GDy zg0m)6;Mx@2X8|bGVBr0%aCAuQD&Q# z=CSPxq0qb{b>-WAqStShhDLsjEVb2j7Tt&Fwd=u^LlL<|zD41#yhZT;P~qgr3&pwL zHsGGKVq!>JntKDrL>v-YiPn57hdlEhyy2jT8kwZK+!RPV3(RV*)vo>O_|~INmFMJx z>cDlh0V;8`@#gX(d1QD}qKg)JRIFQ&o8iQyZ$K4z z+_74>s7#;#fg7s%NLM(P@9(<#HBZRTo~b&mVQcf_FSQO6KR-)UOXAq5m;4Dn=8@DN zp4FFP?0((G`7TK{mS39EUo|A%+Mou~gkCwJ`_C)+AA^khbDPM-SvoZP)*ocxx_Nkwf=p8Wfq+_Phx z{F=$h%-Wnh@%K5ocgHySC6kl$YIE}V-{<5$IME#w)6}zHM+8~?Q29*VV1#5t#rSeu zLPwanUf1LDkmx~(gA2Z+;XZLbFl>)gHPHwN1osDsH_%3M=Dy!)m;D+^Yz-6ic0VYx zMoQ`s4r>g^x+=Z*|E$s{cD&Mi{?96Xa>pyZ`|nk%F=r8~Z=MP(_3G;b97OqBigOxW zo6wQVO>ppeBiejdzu!)O%UbKEGpHJ&^P>KRyNl!ok_*)NqHP$=K>BJ zuDWYhIiI91BQ*L~f5|+|!udzO^19<2}4G26BzE}niS)tpCKU{-7hVc!ysm7NU0OpL~=v;R2`o=*dT5}kC@Yi5eZ6g z7W{CQlGI)1aY|P9%UbZ&zBDPBY^n(7PgEIYrQ)pmJi7#|d%V zEj@AE#@wXFB6521%rd`XeU9CO7$2#g1e;9*slj0LO0TtfV0VrOi-*|8{8zRP#c{@A zl8To{I}xLJ(!guigYIZy{_}%Is)OU^3#!*kseW=oGYFAOwbD8>yaNB8vojn}U^7|w zAY~~n`<4hpE5ENgAwnAIh&KldsTn%ALy!|_uGx&qR#|d(i&u@z)xTz?c+=c`T2Ve< zJbkcv#w)GkW3A(Bt>X_peK{FU@mW+BvWPOwJ6UQ}Evoy1iM&2ue7N*Vq!S?Ln0ZTe z?%&zG{<8*U1Gxpk)-)?{S?dEO%g2RjKIVDeiBX?cQexmRB7ikZ3@=&ft zDfDA<65L=gWZ;VFc|;BZ5;1Vm{|22scVDl;tYxy!=x*atf%dLhB>ET)KQ#xs=nMwJ zBkwT~ilzN0jzA?i`77(+hPqziTO%x{Y}>lsFc^EKyi4_35~q)~Uzen0gklzWE)fhq zOTN@K=Tvz04)G-R#$m@&sMX^P*;!t_{dus8$VgUuU9ofY|Dy0lnN?K%-&t%k>PH4$ zIiDAtHhl77u{?Dgk&%02n0~%k?XV2@sY9=)$!R78g!hc zrXN@|H8EGto~rj(#aHTnp`fnR{vefDDe*TX(nI(m$!VbdF6Cf$*EBmrJ=1Bri zJS{K}E!Jyu8kzsSlf{ShhUix_;aRQ*lD?J?c>?3{cyP8;TAYp*h)t9MOZ#4tSXNwc z3(WKzg!KYmprKcxL=tcvS*hWR;QUL0*`}%&PKAHYJ>*Q^J3@6AxRDu93^J#V0=4)~ zPovjRi_ls;^dZHV^5qN>QB@75w&cr}K1ge_oT)z9##d$X!qUjaZbX(qIHZ! zWE*_|wUUUOV&7aHTl%ZoHmlHH1+v*m@LQVig2U?YnAv&Zd9DTTV&RkiT4c~rVx{Ix zWMmq0_Xn(!&L7ADV+~$&_sI470Roho%lTJE0KGiKyr^>Ja~ciI%1o@GG5$HDrPRJD z&&=c$1p}f@IOBOjPQH)> z2#qm;1S(xF&yW@um>(C)uJvD2FSPliK+*-~hrdCG`%xgHCURg=35QKJ0(9NN@-^y_ zqQ!65)?(8H|4U~7JVtZeG^#iOeU*>=_#DA2LjA^g?N9RdG-WBCb56Ih9j9h7pD0%! zf7aB``J<)R`5Crkj$g5c9xV!j?JZO5um_D~$P5flPvhPp9t7W1Zh|S~QkHc8;L4+S zgq?E>=^P?vxn@*W8+wNiL1Pc`eUSNA%4!`3mgR1b_6n9n}uwwllj zomu^JC5TkJ@kT_wfp3tUVhxeLGasZUK8(+L@&?E4$`r5qysQTBewfCDl(kDmaH$U8+L*_xm1#Enh>(tgl~1>;M^9xa#Aq`P_z> zIId=4$!ia8+!0yVp$XRH{1EopN7vLGG&`nImd=kMoe%#8ov`n5&j(7s(?FDU)-_x> zRl%M@t;h!I@-ObM3+^RJlFsw;&%!evs19^uF3IbI`-K|&qCRcR&rjI3gEdc!ftf_JxwKTwzZN4eK7lW%gWFA2Q8qAz~hnCrfg(vcgMxtiYxmYbPp zE@p|atK65XOn;#G)tz(#S>{EK^~SowdNd%#T)@HAl&2)$>E1?Bo;5bFU(E7>S9-jK zb6UT{f_hucXoqmITg1g{b#hT_VQyJiB8BDCJnH1QgnpSsjy28E(VFJ|6)qpkXVCz; zI)@25;NJEp-ShQo4G-j)OCM!M+kPKP_n9Sz4wC?_BtwSw?=$q z&qcpa4~iC2kBI91@j^;0W_`0tG|QC(q70X(o-F4snPnmGi!UZB7QA^k=)8l?yW4_G zFp}QEenYNNXjw(?Z)N)2O|vm53eu7nn7= zsh&BjR5$&?coYYq11o=n06UdDmX90ZZUTSic&*Kf;Mg#pAmc=-8b8*?7TIS+`4{OJJgv$iB)>a7&@!IJ z&Bfb@4z@7!j#G83pf?-|~15XEyk5kpwu?Q|F!wm*FF z17c?8486*=mHFj2-DT(&xCdKQ6(j3hDdPb)Hw&9G1Lwq6c}-^UDBM&SDb-eZIh^Es zCVK4oW2^#DSB}~6%amnQ`5zx67HlnJ7=jWAsgf zQn6)R3?k}DNMJuU8SpZ`72E&2!E`(KiRsGRp@KMfe*VersEkN@nHbyamvhC94lA9Z z#PfT*5?EB(m02qct}Kz_H?@wQn=V53Rg=YqB;tF~@5p+YZ6)D#gJSgt(LHSZ~>EZx@(52VWM(Z-0Wnd~5a4RJ}iJ*%NHD{_fVD zs)q*ZnO+BQ@bDoF-w8CgIr_o%lHykG%qPLp^5*np3tcf7RQG>!tG}2?oH}tS2jb^n zMeXd6*i!SOQo7V>X%=tNBEj*=Holq1T$Oe_WkiJ&Vi2!B81c_ll3{~yfC3*kyXML2 zmCs;QT`jez`P*2VziTXia=#fgPUPBodZ2R!!YnW^Aj?1L&4@R)pZQK?51po|*hHn< zS8Q1qIpWv1Shg=Z%B>Ju$BTch4v1fh95UIInh_vXb9b9>sM3?8g}LUUXW^#yswTFw ztfZ{WJCwNeJ{}l(>+u5N;=LJema#sz`B;bJDFuyfZQ8*Gi#arD)SEcf5>|i zIIXH9@1KX`edrbtp&J+C0wz6gR?H+ZYa26pGfU9q&15DsjS~~2hQuTjClTZ5Xafx@ zAWO5j0XCbWNUNwI(tx0#EGmLv;|8+3f{NeX0|_{#O}WL+&XpY z)TyddRi}=A)NvsM!99SjUW)C`0;sDC{@@;mhrktf9J{-Aj~Q2tU_{Xo__p=5WmH$V z$JVriD`6wCeDHrf#|KxWRaxO^M>^s?h=4x995#epsM1$039I(yJ4aX-Y z@yq@i-LaFTk&)o3f3j_|lkQbBh}H$7^@m+*sDv(j$yayoa;tlPQ34Z!R7Q!wJru%N z@|je+N#dKcFUk5N_W}2YW7WOyAHR(iMh*1h_mW`UQECkT--x69@BqF|2xXo>-xQIlw^?>nXO zLJ=g3ZvWZ1AYuu2LPcs*rrh<*+ND(3wIClnD@sLYy(7w< zTpx{YIHw6b!xtHy_Bt$k9Z7(2=hg))nKa`5T^%>UTm+N+5$Go{>!vrV+)e{nOwVO4 z1#p@nxZ&kdt)dcR;#bew2M09ZTI8v7GX-ZDnDt9=D5t+e4xO_&TEEFQ|?`v6$6cr*nho>lpYf^LKzS=sIB80rR@;FP1XzgBBA1uVPKGV{*W-iBIxPw6%kTMf*h#?^Eu!#}j4 zdb)8dIGq4Y@xTi>`DRAB@+y~WFlfmg` zDIMr5Ao3#uUAF9oZ^VgKaLZeyPxw$XQ#M$>fZj0g?c$#@_wMF)W!>zWg}dm)Ml!uk zBY8R;Nu((2W&R@I0K&Q$thcbjBC$eOw=`sh1#M;p%>9SO3NrUkz}&|@tnl%-DDoD3 zJAP*Pk1q{>(4r0?JVJHxZ9+2y*(XgV!Vj`Rj%ho{ogO3@Rk*cqn!qP(fOd6{i|f9a zCbLw&YCk9&z^E2`i#LKn`DE&q)mT+MrgxwgUZ~CPeqJ5QlFU=A7s_EOWq@8?*gj?H zQcTd=rB~M5_FWWV)vWc?YWTFo+EhvWtMndR;sL0st%B z1{+|ToUwLGR&i%+KU<^yV21Mau~GPRn%p}qLw1Wuy4xa2ckv#{`f9DDO82x!1swlC zIS~d;LAta%G+$eUybM5KHEJuf@)5`@`;>8gO*T&(N0peukOx6%2m~@X%^syF3^Nm? zlBjAqQ8&L|v-~aKjbRiIv{4vs)<8?Z3HklCuOJf3;x0VhGS<9!3FO4enFqIPlo;6^g?Z8v~kNNBJeJBD;KZ{ zH08QyyOD--rMb#AQmxVEea4HS0rC74BY%Y(WNRvW5nt$rFM-FpxUoC93>4jzcJFPh zB_vm57l(d)dn(H`bXNRrdb=fs%2{C(R^=9M0>h%wyV!zdT!`?6?faP-=AK=uK(}S- zq}*)_+hZ=l2-9|8zlV%a&v;teFcwf7^4|W!H5tCLVj|LviAeJ%qzT;!&rM)d9o>u_ z*dZy$U%h)mmHHjE4K+jxt1+5V!8u_T)XGh@IuHCCH+3PwM4Ok{CC|(2QRmmuxnlUU zC-Sr0?I#+ z`uW+o6i;b1KhvZ6*}Oe7Kh1|XKRW>D6*PA;eUt1vVv^0& zq2rpEseP;bObwgcrkUzT&|?)ST$nvm-vqZq< z>BV5eHgEF6_H_-!fCr}Bo^7?-*16uX__;aatL@^ej^x!liu5zCl-ndOhph)6?|s&d z+_3hR*aczunb@%@0Bsb7Dr4ZU?E{qu84g6Mbdx+Fa6XTugUKmMo!YutuIDW%J~{Rh zif^*6yA-J|b5lhr1~6!@ZkCYgVj6vdWc}HC0y!D8^9l-{DEKUnujiKaJba>w{5BaBJJulcNaul z?-%C}v^cdNPcZpT7y;r&u~YsgZWB3CX8$5NCoXK?;Cpn|q4tN`?EQzEY<*DP zw_OuXfP|ME%CO_nOXuIVac9Um1UK1Pp2%?D2zpEnWfMIh$tYJhnbJafcp!xCBju&11=G=F^G;si zwCbAx2BXbKT(u;hC4%qHLQ>)E{_bu-C=?fshrsa=8~ak zW`nf-1#Y0<8?rDr*EWS4?aemPeoNXCHlec6x`!-fZZRP6_dy?(NNquVi9GQ}M2z0w ztrT&==fZ}jkj9P0Y0MXAxtpSH@1a|5WBWTTv!>u;?u(lw$D=8sDMgh~?uKnBEdk@) z`(j_9EYZ($cg^wrk;wB`dUNxU``cu0Vii9CujgzGK&}tzS!Q`X$0k>E@dGzw8vP}9 zat)$DVkcKffQFXWb5ffbjZ|&!r-VkDm;I!MkB5xS%!V9+;%2*G(K$%V|-ERLqB)9-mS2XACF*z=8FJpe7LGo+LZSW#y!&Vb9 zGjH}8!B2x$5@vDc&sRkn`vvZK5t0SE;{FsDi<{?%DZDS5!f0bNYYRaO$zD)>z34zZ z4QJApmY2IR@h0eb4OzbVR=o&oBc`0K0bibWR|!G#^o%LrT;Z8=)V#Jbz#ZLK&y>4ErmT;cGKAT7rW`A{Fy)weNv3=?n!<=F_a>Nf zdeMP+rrhJ1@)9>PX3FbJX37cd;l=yzC0Xg0P{&&cmb=l$l(&UUxuMNWIU^cT#&F$^ zw=@)#uZKKY?Z)Tu-I)WbMV_qB@Z?)d zsn|;PN9aKt9r5JKEg3;MNUo2z^W^iOY(j0I{~pT!11CB}`Vs`?7SEGUY%xK3UxOEv zkAYSaW?Omk*KVZ<2~R$k#gkK`8H{*x(bh~(%yUHt;(2nxRuh!Jcf(?yw4GE*f^u8L zlMN!w@9{m!iYa&Fj3+lO_kwcD18o(Q8<*z^$^=i&#mgZ%S?wOv#ycS=-_K#B7I^ZI zO=WSOd?yD~i#$0Z!;|~6dGgwbCx;|>a@FDSq%3^npOs0ToKhlB&d}6!bVEH)z8CW3 z)e%pIFx$?P14Evi{yGg#FJNV%kbowq66_fIb>VNlUKz&Ia*tZl6Z0^PHB^q z&&aI=Pp&mK!Ro5i62m7E7ES1R)J|O1FJNL^3-9d z9AtqTh>anLwz^_MIENxQFO&kOKn7ZPs&gQ+$nbgoqrn*z!FleZ!KsVjJX;E!0@2ox zK7)Z1i8P^P3g|XT*HdBUlsn|5>mV;(`Kz~iq$bDG6^S)Tyf2B>e~-@jxb5?CTlru@ zXE&0UU*HP8{;pD%dAVD%y|%1IA&5TFe`@wbzlG000x*dzg9r?M#qK)k<~GmQb>mrm zD0*{}C0sZ2lCnn@&G26m>Nwe6t>=}$cc{89_&0Z#FuySEW=`SompOoLSkIGOE#NbG z!(=$dd7)c13wG!z=70A=-7Z~OA-j$n^d7wqXGlll@lCJR*3|ST{|ow-{Ii;1gSEf& z`{_OvC45+&Zmgp)M%<5(aF1M<+HN>30EcuR0Lr6a&l?lZIcRQ6Z5jFN5ewY%X2=2? zN3*8oy8joFL4Rhf@bE0s4V`;(eQlF=ae3*{5sYyWjNQP<&5;HY3hYeL*nn<^kil;` z(Ij($bi~Kk7NEZ+a>wL{i{OB(-VQN6Fv3H)?k;|w=3ZNi;_cE$X#h2r20&?oyA1IU z)?$-z<3&-#_wETnjvQGGaSl3$h|f}YAkLMlApYC*=tgBQccL&@H}@(RTk^Cb&~2Ce z$jYgt0#|qg=85i}oiq%q{2=t6ya||L)^bny+b53tDs8vCqNZ`OzK;1s2SR=fpr5V0z-?wVsg@KY$g2cF@EW0{QZrVNaswm_Z>cj*3c*tUY zc6A4q5cXqM>lU|U>l89e$g;MZKfjzjyn@|JW43?UP9|~+HtIm@5eoErl z&&V-JWADR3H-~4uAACuaEr~Lu?lmcoF--qnRQi{k3F7EG)!C@h)C7wRRMJ%`EOMR6 zcNUAE;@1$(#aLvhq0=&pJTLT%u*mAthl6kA4nfLik(nU4yNZXLksyDzL2UDZ{QceBi^}aRg>e=e$}!_Sr0FUmTkd69w=J%u)PaUSCUM_}Jv z>=|cNo58|3ZwPE2SIPWat zXID4;Vb3^w7aa!U411VyWlJ332<(W5J>%?YGguhsT7k`DoJc8UGtO|+*MByNvkqED z5=UJbjxYlw*l=t0trf^HtRrfWSCY^cKdM@(@3}y3G%I#%Xxy zFc{~>2lE&QI0C!%LC-jo+6)%P*&?tdGR_<$&7X~NW-==gn<=ce`$A+^ubq=D$a(mtiT{4$IGwOplvCa!q#go8O6=zw3>;;aZ7t z^DV;?%`b4b@1sN#R`zLerfi8E$T%Vcnw+l5Y06QEnK*JocaW>n-RD`ErzDBYzK*Ih zS^eB-_G+t~PCv0GQ7UWP&r+yh{oLRIsdx7>-9*f*4(#D8kT){LE^w33RauCXD65MO z_$FrC5P8T8eLvvGZ=kGyc1I=dUy640BJ64%?e`lY-_e8D=Tf#rtEFf^YyD!cbi=&) z=R6!gyuiH>w!9^3i5KSrw>oTkZ`9PD zz8dy_ebm1_9Umg_dW3*Iy;@c$oqZ6E%AUR#4r^#Mtm>NW`Uh3YeTrv;L}P*fKr5K| zAxVPJ&0perQUYdMlKq(EUbKoOWY*^}dn;EG(xD;y^b;j$J-H4|~x)u)u=3JC}L8 z?#2ZznTy6m{oy5lp^VN=?O4Wo=6DKMAGm+Dm3`lWFoQv_H;1q3mdh772UXPHy(&U) z9_STz)SJKChJ7_0{=uKNGj5HPf5GQtM|R*gQx?`nI+Y^vf!h8~ELT~>@9uXxD#x!U zH=YKvD-7A8yk)!U-Z`3*$o_<{+l4^AypD|`F3#RKe2-R%@r!Ti$i>c z4xl;;IUK1?Q)vvmRi+fgmTNRBs!U&{a7&}C=_acRUano&5?ANaTmA$t+rjD@cnn%P1gBVsk zPfJ9mljC_><9z~gtecsq8iKQYx^iK%u3nz};Wr1@X5$P3#UD6HkHOB7)LfgAp8i9Yrmc`w62m z^yKddxntdyGbpJTR@)x&oumZHukwp{*l>nM#7W3+T2xJSm+&z(tf&sIRl%H5Y?Q=o z9kDDrsafbY=;$tCTS|1ysy|DV)~Ev3*I7JX`ps0=t+G2Bz*mo;*!OBMQ8fTY_xH`Z z2)-|1b)z$dWON+*5~)1y`=u6``(s&SJda!*;VQWPK&1`SeZXR6gu~tWI21^Q00+wT zNos(^iVz7(!`yiwMNtXkyKB}V$_uH+yfb_cy%lPVB@_);Nt$Ot6ufU+$1WdoJ-k|K z(U*nkU&mO_4$EaOfIF&OYh_`cktG01SeyqR;nyy%uF31$1CO+%Zwo~!zs~{5Ca|>w z7~{Op>nyixENVP)Xkr6KL~0C#TZ zpwymn5& z13e1PQah^s*Sn!DUE{5_eofQzQl4|IGF=@L^hBw_^3cCCERL2s6X($dr{V3`wNR;L*u)-rfD2 zBn*YeU4gUb|U69&C0$Jc0u{JJ8L#Yg4HIlcN~x_@wn zRD5UmIMW?;sv!`J?CwUVEBMOId5&xXmGDb`$y*?-Gzh92E2iq4K2=P>+U@Kf5vZfm z;{_&QchFnaV9O}6D$F}^N7{r`9m)eQ=YS@jo+0LhcQb`o&kp_anZm2VY1n!_%1({7 zjH$kawE$!m*UyOPHk(U;`B{yw<7Xh}|(eZ%A8O&phMm~s!^QrlZRi?i>2 z(s>Fp?FnumJew@Z$#l1`_H{XJcn|)ltmY%GN*um9s}gr+M1;~;<#1gX@$s!nd9U+VwAX%@@PD{u@2KjaVsOy4TCyBaI|Wfn znD$g>H526+6nll6=5P6ns;V(#Y&{X9ZvQquIWoP*G%X+|($H_@I#U~Dy97n%}}s&u0V$jo}HT|e%& z(qFw*wA`JO;=W~}eTo}1$*#EU)^#?l*clVM8hjjV=1{??KCNcf1OdgFy1%Y1AIZea=rT zI`Gy3xJ^KF?vRCVWa`p_uoD;rTSeG&L&TeJ=fawa29MDVDYU_~Raq=q** z>_y#heH>1Y4wx{V_6A2)uvg^}e|7K;PQvSYtfSnBO;<>9+T!EJbNBw~{Vg$k%>RWv z)MIX8;Tj9ZtM>QB38F~I*2!0v$*&YvzPk(jv}mdc4KbbjzAJ8HCae&kuG8T%P|tDJ z%W-a)#7Vhs>n@|h-!U=|*C4Dqx#JP}RPg5GA5;h5tPaj(6xERSOKuWCPpxK=`|CKn zvNBZESa(EHYoDsi$M=y#>lC*efuZ9G-HDb>A7#w>H zS40|eOLm!TuIm$h=>x%v?^R(L*Fk_X+N=Y&(w{8TZ4bp3%!?#l=JV(5q zEn7ReJ>zK8nL80AddJ!8ShiMY30EY`OEkutL(4l@iadCxb_Hvo+hjsO#Hw0g@kl8ZuVMcJIG-av#UXmYm!L#_pv_xB`>AQZ73`xlKoAP44&H(93fs_v-D@4U<+_x#sEiLg2-NP=vTRC-cx7Ah#KeL_;AmNVfIzI+xN~D^@{e$ zzT%2_9*gImyqx=##dCDBM-NzF_V*r+KuO3C?m_PmuQM0&I+gJ}B5JZlt3P;X?!M^3NL&bKcYai_Lnj()W|jP339FH5%dk zhz>WAZNo##>1JlBhT96-mA5~4av0K@avfSf5%x+PrHTU3y5Haz+DM$-$Q+*;s%uwX z&n9xy5bUB>c9BH;M8Ct_KW5uF)yQUQ1ju#Q0Arq~lnrjtu}#zK3wY7RjSu7gueKQX zFBFIP37H2`a6fUD|1)X1zVTunqVj{7@$+twaBysRCAOB?A+yX1gT?X!6R?^OFA<%% zPss{6>m>S;wd^=roVgQq@lG^A&ay2WGU^*;=gk*f-4?|p$)ViK&HGQDoo`|gtH22x z#^Box!Ra-@!{6Pt-5=dFc9MlDX-Pu#sXc~0wDL$;yajuUinbBDBFk-eD; z+$ror7zLM`)aUN2s)=s6k^9+tIye5R_Bzj~xwiE8 z>@G!XfHD=406e5Ec9~9RPsHew4U+nm)JuJBS+%UK2Rks;AJMq3KkS{8-F({c?~%3T zoglBg(vo42?LH`ATu%fX<`}9h|Ij_%$*sETOPET*HDcmc_)Yxnc2%S=`XmEn7GMTRn9|fC>Kalq-8{ z1A_Q`5l?XVNLPj06Zs?0p)yN~HEfLW!LD>(`sN;>)@E75P=Zo^xF}yz}==3*1YPQ~V`m7e|j}2o4)QRNOOl3!n zw<_GFAmv_=12ghFA78KgkK|4A-e-T6FFs}E5B6}+yy&GCuzI-2cOC`U=&4z-x@(() z$4c7flF)^3xvGq%>?DxT&P<_APDi-KTur6{d+av;=V3=29kWfwr>LqpN-lOr(ienZ z&NM)20wO)#4|(IhjLVtg0+*9QakLwZi-OSh{>w#U`Ti;BFhibuALZ!kRzJ&BXKqNo z-YBI#TKX!puF3c4t5_597I%=_%1y|=fho$FZ`yK;7e70uNgF+fUruo+>!~|ud*Sz; z-19>JOWT7}iS^@^m)98leu$y2klObNF@at+*)tbpL{D-X*x7zU=at8#%bIalENfR+7@yYh-H?rMPvyuNsv5uUf6hV==Qwi_<9F1e zpzL$O(SwDGTMJUGm7&bY(eAy=wOWP-by^hqll3y+XG-1?ZYw|7B{MflWv&SR(&sW) zs2w*T_ok!n4Q|Ah%^1L(nQ8`;1uO=3l3uue*|%p6X093R9o>eMeYYP-|4EZ9220+I zw^O(HMJbhx_dK%9SWi5$+^Q<~sNKbw*|&)s3T&|?f!MX(i#>qh&c5nsyJPNTcPUv~ z{Mw*0Q}&zc@4&tLn(ThSj_&$L+F=Q}OBBO#9UCL`pW!{05SKYwbV{=y%9eQoAbEPE z+qsH4)GaY-lkbTDc08n;Vgcw^!x4Sb3WC)6)3=@uh{@TXY(d>0#^r` z@)|w_iaaQH+ZGHk7Z>yM0`08PKx@QQ58?^Cy*Q0o`La(LYNV9=WAbIo^j|h%F*z%|3}KOEX0bwWC3Lteh+!PnK1=pQwEx-xWSMr)zq}a=vH2WrC zj)k}Rh!hWdx+(urt@e!N4%+js%1t+tE|&32ty^8C@D)I}o_(5o()2&9iry341ed5Ha}TY~{Vc`-sJ} zK0;TPA>zN4PF_D6e$1y#!47?@>xp0KprT}^aM0fs!PmUfv3I`}y}IkPUKO6>891pj z5<8z0ksohA1Jut8CofF*P4}xNc}E~2;TLFyC$yI>n`zUsRu)Qe(?;GaJElXpvL^Z_ z1y>eayo2_}{4dWCs1{ZhjrW71HGV0(F{g6kmF1TqjStW`T3L79Cg9o3R$%g#0>c>A zh!S1V6kV3{=LRV;e#(i53(j)NvSeabjfu?4iX#(>z~g#(N>DAOAGPu##N~0BoB9H3 zC7~Cm=U__Ld1^&yvMYZYfV_5T%~zG1n)785t)h=vP#c7eSp#?qunE5EE;To1c^_$m zD)(q>6ehxS^RvMCOl*!^dz+Xno5)4T0lV!M0?H=}oxO4Y(%oo ze)+iu*j->^XdkfF**FxLXow&dQ9;a%*ZO^1DB0f^AHzW3Eh=Lv{X*Dd-J)mP$yzf1 zwRdH^@;X0~N!cTTrT#@n-}xDjW4S1*ECZK*=ZGWNRIQn63rqldIE4qy`VA9{zr@03 zIr0vUy2*3YY3?O)ROH&pD%g;6b9qK9f&7%7K`75F)xX=i7{4zz0kar}OsBF^0ih@@3z_ts4u&{Wn};)W^e z<`{1z+F!HJIDiPN{j;aQirWU%l&p{ZMPHWv6v`0a3loXnQLG{~lYB=k>FdFdjw+p( zsIqDK@|_Lss9^bX_b8~{j_O!>B^&#U?yw|nZC2dDc8MKJLp0wLO}I!pL$N~FzWea& z^IA|y(4W;=C)@B6c6B#n++Kiz@GEdmT#f#20eMwmsmTIkgoMXGP5tI&& z?gF=8GrLB$Ip21TCpKv~r*RLN45M=~jLru};+W7o*X8S~0(6m9VUg6m%6LLKE{_#Eb9zC^}!cg^+cP)YOjXnw8^;T)0VLG|4x(RXp@7vm)T7a$L&Z zpm60iQdMN4RO{<<@^Wc<3MLueFSAvHaNAwsPBl4d8`o3ou!70s#a%$#G0Hx6??E+b z968`buzPjgRL1(qBN%0&pAX5keR45!f$YT1A-Uc&fEh(XUwPzW*u*|1BhluEBs2nz z4|Vbhx%7T1F{)91k&nM(zeq{zSs&jHhYV9z9h#%Gx)hp{;`Sf>O5hR`OiMc4=s-Q= z=(_8T$IIQJSLjh`J!hqxga5}*Tq2HCU-aU?a$L_$+&q{Fou!(!&=#+9H;*S4nxR~5 ziYa_q;r71PjtC2UbbdHEY^grl6YqP4J-Jy!C%Qu!pBOHV*uB&UeWHuk{~p)P^+=O{ z1R-xNndJTkse;wjfACBg+dg*$mhDqkS8;grYy(wERt|k=zpA>zhEc z>@A_%!>_ApZ>)1@To&uZx{ry9w}jgvgEc;w-8kP62l5UY^UvBpGG4$lY{cvoa`9;4 zF^2hkX>_T$B zGXkHhoQ%k>4(Z2D(43bh1}F2>BduqR@m<1+f!ttoT+*B|kS(tp9is`qzQD&tsKA78 zs1z$C>@t6EgrGwvxj~QJo4QO{-KMkM`&0KAoIWd5{$Cku&N2J`e zSKBq1l$!N#O`dc}kFl)y!ouSQvXRXQY`Shh83){D1?E_PJe8>if{h4V6_yU~{#}ni zP1n`&g>nVXahpUp1k3(*{#@rEBb=+PibghlIuTLPMZKVsx zn^vM3llFpCf9zykAY(D8*uWdVdyd5o*E=@H&OtQVI&=|f)!!ux@2_FyEU)fnBWbQY zU&IhNU_UV^J3}4g+toH*g6~`WJ=s=lhrU6D{yIJAg*NnxFu~`e(1f|dwE*R`V`ibg zDikGQLND&MrGE{ZKJO{sDl--I{zOE^$fkh&dg3pr0a9NscN@nm`wj5U?^0TsI-vX8 zi3`l2c3r=9D>Z@tQ1+*w7wHA`)_sqDDmS9|f1rvTvyCcd+tJ;Swe+F6)jhb)fY)z( zg1^*{V}dX0hs-U1Sg8fMt!2+D(z;J?_+@&q-v_bV`cQ&EJLF1Rsh*u_c~I--iYX$` zhuJ~`$N4P-YHXj$y4t|hJ@d$PqiJ91J)f1Msw z5li&7n@$0ANAIavUO)j9Ss0(fGKPNiP#!IeWi5W~Wi7g6?yh!n36#0V#tvxE8atd- zQb-hua{at@i(vSmosWhl6#387+i^9us>dgkZbKj*Hi_FhkXY;ux0_1;7$jfhW7FfB zs?Vx&NOzg~yg`Lao2LTP=ASLD%^_vrgfgS=;9deCPpaJOHW~3w(9S^F5jBnoF=y@# zWB#=J3werLl}=d>?MNyK5SV`WGF>X%GBUKkGvSuEcSD<`ZGE+GqUleDTRcw88SM@G zb=mvaq-`BXQ0fsW*7&LH#(8@cVQpk< zkb!8_LKbo=Au6XGHSogxT)NAc zSC$_x3pgCZ^)0A{o6Vn-Z7+3l1KF>l79RbAroT&dtQ3BkQ3|+2lUe};u;#A;8bm$H zy{~;^LP1JC4nIOG*XL)I} znV4E5Y-YPqx}wLXbahtH$|foqpNnOogpB4%rT~3TV&ob&c>?)s0o(H>J`NCd2McY{~Bm((DmIBa3-k6BzVh0Z!Ik?)w& zvdIeD7BflCbxp6q$;Y}*+iQX+q0Op`sL@Cd8zP^vJ^fQE=uNT>r#sE7YaYR*r}9<{ z%f_>xCpz(lDkdby?uG{2CBg@+<1EK6JFeTegdFmk0c?34%fE!5WTXXuWsS&3`?vB% zp2-R2uE7@_Ma#+}Uw2 z`XBOH%sIlplb_T7k93S{IUH9sVqtVrwo&ZRXnUwZqh!L1hZ-1f!Ava+rY17AE}%ZQ zC`SDxZ%|Lpp|J#B?y3qnh^=L`-JBwPPL$#xAqM|1N|`Zl9@Cc-l z-q4qGgA_@Apmn*$1Ws;_dd?0eMKjz_SsL)d)tkWGcq@nF%g(eRDIgK~+q$}X@(MrU zUJ5eI%Q1UD;%boG!ij@c88{It8{-}1Rqo>mm6>}k%R7%y$YtDf2`Q2xnMpBxz~&_* z9Exaa7}uW;gJdf--69!$Q10%YHlPu=9n^#au7{eQJ7y8r)}(&bZ4!k$y5mH-pC<^H z!yxZXkt~bFUKVGh+yQ{})HAo}vVP*A!w>_p>Ft%7Oqc(x6}SbO*TN`lExr-fx(}Rk zYs7@^MF<)NoIeqyzFaN57G2geTQG37D5Qk~ham*QX}=s49$~Fa>%KyZEJ`ej(uykV zyCc}zby@RvGG=_Y*wZ?9WJe5WXD`-BE}a*=3qyyp1DCv7q8!pymc6R;WP+&)4) z(JFI>8874ChS8FdQdpFf=}rBFIb%)64hbKIF~h+=X2`*){~j^JP!kW7bKK;Ta=4lG z7Q=)ls`|^B-baKbM?Lb-Q~mjoV^hJ!0QsYKEk0nV2@}j36JPp`n4O!|Nt6n{OwBjH zx-nB%9I_&v|HnNr5QPRiSZGp|B~$MAso)E)o1LrfSQp9L(R@*8A=9DXCvpa1{Xh)C z2t}B4%Eh>ZDRAhO>Aj^*yU8S(;f(l2kt+h2J7%|pbDWCxbiyBIjZk#-mUiPWAkz7< zNRwuix-wIpQvyN*dgv2gK298=q}3X!n}X8jBQ9$#m~QSValVKL6GJ@VftiSH5!}Uc zzlZRzmV30`ed+=g-EFb-bo;U6imq(|U~tNZzvD6)t!dYqZjDV=#S99s^X1G&W}T0= zB&h6lp0S?d-M^Lw84<5Yp&06?xN&6t=Pm9q!OES=VNuHq_;0_)S!jow5x_0+^`uq& z5rY1qzyd#_z1skF*=XG%vMGeZt-E$1P|AHs43v3Yd0AQig2BC9*zR+rYJ|f6*>(-~ ztAt1Y;8fu1H)4~DufinX?q~TI-=Vzs|K&-T@h7>Woy%xDaaaj=*yfG)@9h9R?SuXV zdY8ptz|&RkCdSm%_{lDTup(11mYQszd`a zfvmRi4cdTM##!LDzbHCkxuu#+d~A&{&iA*4}G0jQKD&dzo;rEouA)b7YO*&TgFV>!Ib%c8dmB4eC7wpcawVgiV$UYJO<;t^zc8J{cK|+V3cCIzIPwh5R3|NNJdl?J6@!9L{!37CK2Q5v#G|}#@X6DI?icXj z^x%{Dttl=>Qy*5hwfdxytC&!XxlfXZY|@#Kgzq~RT&LyV$NJYnV>`* zRA^z|HXC< zb>_GE#CB7EH{_|mS8~-~eUADIwV&l2OGic8Z=+GOW$kyhXUZz~LU!YLm%%uE&NGm& zp>d@Brk5sG`&mr!XKoyy!Zl^b*&tV&fog$Mi7P*0D>7JO}mO6umly5yjb0+voM*JcUfIo^Ch)&GIDRFMc%g zBs2{qPKjX8_9U1%U3{okp2RP>bpzRP(xxQ0f}j0dx5Ce;(?a#P%r0}^Fxd>*q$*&y zgogRxcbM+b4-&Yw!$UiE_P%gdryI1Gbz@shv(KLQIs4qgT&{_a+nCHJ-A5g3fYgO) zjxP-3j6--vdT)fpf?-*?*+RnSe$N!Cc6ut(VlXx(TSdVxlMcN z$bu^n^PQ`W`bWCq?-Qa&9h0#d}>?K!e1lEC&bek zxQC5Y#411$t}SDhs~k{bUuqPrF~6BkZ`E8Cp7*_2Y&N+?GhX&?#~v zCsByEe~+^%j)*92>f!pHt|}=Gt>iPWvgKcko>YWwSICzgo8&=J$;Y9zgyd@+m`~vh zEn<^LdD*xm9zO(yld-#Ji+FTH_ufqdGl$eZq$i*_Hv}NYRYl!qUn}n z*O2ims3>rnLiLp&f;Xjh@KZznO|^{`u2<+WiB4f%p04q$6PsEBCbWtN4+^n9c+jvW zrzd)HD0(s|dNL4<5@~XQD~eXSALU?twZX?ni!{U#i2w z)4SgbG7a}&nr7go`%azxu>`?r76CYJ5xHYU5ln{VH~iYR50Q-!Wcl*HDd+xRKc7fqoP6S_lp+~vlEqD6cvW=_&=OicBE zN@%DLi5i#6X7s{E8)LiOC~<=97wo8s^XQn%1%>>@omoO}SvFoJzhOXeyOiyrs*jgx z1L#pov+Cr&7%rbm*JSgc4JdQI95O2k?PmS~VJK%Xt9Y!WpadmJ; zA{U*KWjUwVOdjbGLTNvJavmZJBeIJr(aC!^dq8w~$6X#d_{7$Bj9fvTKyP{G0?Pvz zDPzHAn5qMGNcYf}EA=z%j}~T2o>>VE#)~Eu_5&$1i!7`&w z6QW}X_d&KOI@WhF(b4#CAD8HOkjlfEy}*q(wncPoekmh5CjC*E=Y*60ej`!stcHUg)uzo7HCFDj z(+Ammy8`yE>`@c-Ct*D51cT*UoZ{|PX`O;gTo{C*QVjU2|MBtV0``KG9N8eGl29l) zE0yGYtl4fUJ4@P6Hil0n(L#kRr_~2v=eN&T5rA$iVC{&$;@)j1R}WF)aD#M0KdXqM z-4Ap`LvRCeNB3J*>+4=)g*G-|x7+GZx!bWCy10#3>h1LQz3uhh+6H-^>IzN!9hMj0 z>a>R$Hmf-=9?ke&zxm%b<9S&_#irWKnF3S2ucF{oi#zH~uwG?ZIysWwr0HkfK=a*?v=Zja5uY_0-)WqrZGz!Tv~mSkY|NVkU5DTMc7_E#X(+{tB5?~&doR^^r$U1IlW z(qj}my{AW|M;2!{F6i{Wg~pM`$e%82o#@qNvdurq8FDD>|3L)iVSUD95l(}1dp$Ol zZn$C7rnA>_RzO>Np+|Gh2}LDYM0)lLw_LM4IORHqdk2)%p73xyUti%KqyOM%ZsGu) zf?-l7jLACLM4NHQ%U!$LS?*?B6RsloVwlJ!5er|eX&>^1CAl^6&5+^)O8;lC5Y>>kwN|3lmAO0J&n(O-&Vqwb=wbIJ&{l58DMXpw|4ib5V>>ygO- ze9lhFWKVDb1s+QB1|7695tBSeG1Oqh9GK^Z{=+$bBV$vl>plR~;Au3l!K%B?Pd zM1iHPxrbtRL`bNnr&rV zEMFA|{+v(Mf;-4tVYFPz!2A(MtMlA)^QZwUlIQJput19P+tv13I527b%jMI7boB4W5M*E=o1pp zWNYz58pH*;D%>OH-;U2yMzzwvc*INWt6_cFTEs7&SFy_i56fXA{Y z4l20u=~=Rv3kcen3b{D`A?;>xLME!0b%J~K>}D(fG?{ooPq(_Sz_lWIKVr%~>uv9+ zl9G3;kvLoO77%(NQ(Z5Yds6a-8F#_Ir%66gm8!(9?1=)PiwpHx5ol(f;M8b7hLOWO z^sa6`y8^LRwcWMsf9vUHTAoal!45M1e;;eE`ZUroGn#64fk73amskZMnkQsF9vv&! zNlS+-O46}KFh_ipq+??oz{TQ%AD52Jm0`i>VJ)3a^t;bHTi3IuTydhbF28bCC9}4i zTd`$X{2iIeXY!Lr?17YQUuQxMSH&U38c(X+`Z)YzyVyR7QkgR9+Ll?YYjJzR^{{uO z&olL$5-Y1sK4YDrSJq#9N+)e%y(pQly(+r2m$vmUcHXQjs`a~@xV61+-57kvUQ#;7 zKB@4Zkp1DmX=-hp3d+VUr&4Q5UhXHWo*R5CqYONnb5cz$Ze}qIHHQU7_-OW@Q_9CL{{KGe(INcE;OuTVYR<$!f=6i6iEni*}|?5U{tEmBdr zCbb+c!}9!C4MHiXD;Ui0-M0zOW01Ub@g5uZr!?$K@&+0%;ECF&gU>r>=T-u3gMq3- zv4f6RB~^E*U!y{9l~tkAkGy z3?i+^s6H=iuscaIUY4~}J zP&dkhdpiR6bJ8eO`z&FjY?_djCE6$6V$+*BW4S9{$<3!DAi^~KZI;pzZ;8z!DsxQ= zYqG{WvAK(DKyENkbBAANnB81WAPO#v}DtM1AcNU-J^zPR-6pZZZUoRalUN| z2Bl<^T9E6*n-M3rAi_mK683Z&ag>R$RFug+)2wHcE(++eGB?PWOG=k%z6nsXrHk4l z12)m#IO+{M-`lcu+3QDG<#uN`E+}30(U^Y*d~WFz#~4;>oJBI(Lw;+UbRltZh4D1| z(HUEPoG|tuqy4@aE@5Tn{aQ=-I0}{ZC4I)P;mKKRICIkfq<%P~m)T~ph%t(X+X9HK z6@ZBe82a`LR3|z}=pbW)K4Yf=GmEImO3*rD^EyTHEHpu1U=#Ge(FEnPh}=6Oa!t_R zv2MBB`rlZ>7Zo-^r@+_9%q@}}GC{vjk%qJQnR4H#H;-5IpPCXTXr|hGHt5I%9qPfo zAA!4&5X`%SdU~e$BCs(Pb)EIE$UGG~J_SL=3Oa%v^TJxoBmnaIZhF$g z%~mVBTQze(l9-&51>B3<(+yoGALcReu0LZCq{qVQ9Q!;vja2_7?wi5Xqxp4=jxE#) zrSX+Ys#DuRVP-HI3VWfW*89=k$!HB0_B?zYOBCrJJA4TcZRyFCCP$Fk*(uGLbWXX0* z)helEdwlEWXcM_5t#~x&D}NFn-Lx?yOiZoc8RwbuwbbX8AWPK8nf0)!aAND z7GQ>UyBQh`n(Tc5X#iV^#K5%s4^Us8^{w?sEsX|Uaa~{mO7~+=m|V)TCq`M`adNk^ zM~souSB`%}HKw*InL{1tYnH@w@puHd2Go^C6aL2UTP=@P9JU{r{k zS!>M&6~_nVizFgfK>r_Bb;2;tvvMPoXwm5WT8?1%C%hI#-Xc!RRn+vqO{GVv98fM? zsnk?+YqX^9=N76CW=fRqn_3bx!AifPx`31n2p{8a0sZxh!r{gL1HNHBpVe9#YHKLy zmkpEkn=aaY`3AQkq^%!Cl#JgwWUTkgo@1@>}s7gF6aOwZ0%RxVU#%yWnQw< zY6LB}*lMSWLQLGveO`htF)P7s(DrpEhG#6-2d+&d)`<#sTbV-AO*=b{;`9{-~GdZQX0^SAy={mGUR rI1BB6~UE2fg_l`$+cHxo-= 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 codecs.CodecInfo: ... - -class ReadBuffer: ... -class WriteBuffer: ... -class BufferError(Exception): ... - -class UUID(uuid.UUID): - def __init__(self, inp: typing.AnyStr) -> None: ... diff --git a/venv/lib/python3.12/site-packages/asyncpg/pool.py b/venv/lib/python3.12/site-packages/asyncpg/pool.py index e3898d5..06e698d 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/pool.py +++ b/venv/lib/python3.12/site-packages/asyncpg/pool.py @@ -33,8 +33,7 @@ class PoolConnectionProxyMeta(type): if not inspect.isfunction(meth): continue - iscoroutine = inspect.iscoroutinefunction(meth) - wrapper = mcls._wrap_connection_method(attrname, iscoroutine) + wrapper = mcls._wrap_connection_method(attrname) wrapper = functools.update_wrapper(wrapper, meth) dct[attrname] = wrapper @@ -44,7 +43,7 @@ class PoolConnectionProxyMeta(type): return super().__new__(mcls, name, bases, dct) @staticmethod - def _wrap_connection_method(meth_name, iscoroutine): + def _wrap_connection_method(meth_name): def call_con_method(self, *args, **kwargs): # This method will be owned by PoolConnectionProxy class. if self._con is None: @@ -56,9 +55,6 @@ class PoolConnectionProxyMeta(type): meth = getattr(self._con.__class__, meth_name) return meth(self._con, *args, **kwargs) - if iscoroutine: - compat.markcoroutinefunction(call_con_method) - return call_con_method @@ -210,12 +206,7 @@ class PoolConnectionHolder: if budget is not None: budget -= time.monotonic() - started - if self._pool._reset is not None: - async with compat.timeout(budget): - await self._con._reset() - await self._pool._reset(self._con) - else: - await self._con.reset(timeout=budget) + await self._con.reset(timeout=budget) except (Exception, asyncio.CancelledError) as ex: # If the `reset` call failed, terminate the connection. # A new one will be created when `acquire` is called @@ -318,7 +309,7 @@ class Pool: __slots__ = ( '_queue', '_loop', '_minsize', '_maxsize', - '_init', '_connect', '_reset', '_connect_args', '_connect_kwargs', + '_init', '_connect_args', '_connect_kwargs', '_holders', '_initialized', '_initializing', '_closing', '_closed', '_connection_class', '_record_class', '_generation', '_setup', '_max_queries', '_max_inactive_connection_lifetime' @@ -329,10 +320,8 @@ class Pool: max_size, max_queries, max_inactive_connection_lifetime, - connect=None, - setup=None, - init=None, - reset=None, + setup, + init, loop, connection_class, record_class, @@ -392,22 +381,18 @@ class Pool: self._closing = False self._closed = False self._generation = 0 - - self._connect = connect if connect is not None else connection.connect + self._init = init self._connect_args = connect_args self._connect_kwargs = connect_kwargs self._setup = setup - self._init = init - self._reset = reset - self._max_queries = max_queries self._max_inactive_connection_lifetime = \ max_inactive_connection_lifetime async def _async__init__(self): if self._initialized: - return self + return if self._initializing: raise exceptions.InterfaceError( 'pool is being initialized in another task') @@ -514,25 +499,13 @@ class Pool: self._connect_kwargs = connect_kwargs async def _get_new_connection(self): - con = await self._connect( + con = await connection.connect( *self._connect_args, loop=self._loop, connection_class=self._connection_class, record_class=self._record_class, **self._connect_kwargs, ) - if not isinstance(con, self._connection_class): - good = self._connection_class - good_n = f'{good.__module__}.{good.__name__}' - bad = type(con) - if bad.__module__ == "builtins": - bad_n = bad.__name__ - else: - bad_n = f'{bad.__module__}.{bad.__name__}' - raise exceptions.InterfaceError( - "expected pool connect callback to return an instance of " - f"'{good_n}', got " f"'{bad_n}'" - ) if self._init is not None: try: @@ -632,22 +605,6 @@ class Pool: record_class=record_class ) - async def fetchmany(self, query, args, *, timeout=None, record_class=None): - """Run a query for each sequence of arguments in *args* - and return the results as a list of :class:`Record`. - - Pool performs this operation using one of its connections. Other than - that, it behaves identically to - :meth:`Connection.fetchmany() - `. - - .. versionadded:: 0.30.0 - """ - async with self.acquire() as con: - return await con.fetchmany( - query, args, timeout=timeout, record_class=record_class - ) - async def copy_from_table( self, table_name, @@ -1040,10 +997,8 @@ def create_pool(dsn=None, *, max_size=10, max_queries=50000, max_inactive_connection_lifetime=300.0, - connect=None, setup=None, init=None, - reset=None, loop=None, connection_class=connection.Connection, record_class=protocol.Record, @@ -1124,16 +1079,9 @@ def create_pool(dsn=None, *, Number of seconds after which inactive connections in the pool will be closed. Pass ``0`` to disable this mechanism. - :param coroutine connect: - A coroutine that is called instead of - :func:`~asyncpg.connection.connect` whenever the pool needs to make a - new connection. Must return an instance of type specified by - *connection_class* or :class:`~asyncpg.connection.Connection` if - *connection_class* was not specified. - :param coroutine setup: A coroutine to prepare a connection right before it is returned - from :meth:`Pool.acquire()`. An example use + from :meth:`Pool.acquire() `. An example use case would be to automatically set up notifications listeners for all connections of a pool. @@ -1145,25 +1093,6 @@ def create_pool(dsn=None, *, or :meth:`Connection.set_type_codec() <\ asyncpg.connection.Connection.set_type_codec>`. - :param coroutine reset: - A coroutine to reset a connection before it is returned to the pool by - :meth:`Pool.release()`. The function is supposed - to reset any changes made to the database session so that the next - acquirer gets the connection in a well-defined state. - - The default implementation calls :meth:`Connection.reset() <\ - asyncpg.connection.Connection.reset>`, which runs the following:: - - SELECT pg_advisory_unlock_all(); - CLOSE ALL; - UNLISTEN *; - RESET ALL; - - The exact reset query is determined by detected server capabilities, - and a custom *reset* implementation can obtain the default query - by calling :meth:`Connection.get_reset_query() <\ - asyncpg.connection.Connection.get_reset_query>`. - :param loop: An asyncio event loop instance. If ``None``, the default event loop will be used. @@ -1190,22 +1119,12 @@ def create_pool(dsn=None, *, .. versionchanged:: 0.22.0 Added the *record_class* parameter. - - .. versionchanged:: 0.30.0 - Added the *connect* and *reset* parameters. """ return Pool( dsn, connection_class=connection_class, record_class=record_class, - min_size=min_size, - max_size=max_size, - max_queries=max_queries, - loop=loop, - connect=connect, - setup=setup, - init=init, - reset=reset, + min_size=min_size, max_size=max_size, + max_queries=max_queries, loop=loop, setup=setup, init=init, max_inactive_connection_lifetime=max_inactive_connection_lifetime, - **connect_kwargs, - ) + **connect_kwargs) diff --git a/venv/lib/python3.12/site-packages/asyncpg/prepared_stmt.py b/venv/lib/python3.12/site-packages/asyncpg/prepared_stmt.py index d66a5ad..8e241d6 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/prepared_stmt.py +++ b/venv/lib/python3.12/site-packages/asyncpg/prepared_stmt.py @@ -147,8 +147,8 @@ class PreparedStatement(connresource.ConnectionResource): # will discard any output that a SELECT would return, other # side effects of the statement will happen as usual. If you # wish to use EXPLAIN ANALYZE on an INSERT, UPDATE, DELETE, - # MERGE, CREATE TABLE AS, or EXECUTE statement without letting - # the command affect your data, use this approach: + # CREATE TABLE AS, or EXECUTE statement without letting the + # command affect your data, use this approach: # BEGIN; # EXPLAIN ANALYZE ...; # ROLLBACK; @@ -210,27 +210,6 @@ class PreparedStatement(connresource.ConnectionResource): return None return data[0] - @connresource.guarded - async def fetchmany(self, args, *, timeout=None): - """Execute the statement and return a list of :class:`Record` objects. - - :param args: Query arguments. - :param float timeout: Optional timeout value in seconds. - - :return: A list of :class:`Record` instances. - - .. versionadded:: 0.30.0 - """ - return await self.__do_execute( - lambda protocol: protocol.bind_execute_many( - self._state, - args, - portal_name='', - timeout=timeout, - return_rows=True, - ) - ) - @connresource.guarded async def executemany(self, args, *, timeout: float=None): """Execute the statement for each sequence of arguments in *args*. @@ -243,12 +222,7 @@ class PreparedStatement(connresource.ConnectionResource): """ return await self.__do_execute( lambda protocol: protocol.bind_execute_many( - self._state, - args, - portal_name='', - timeout=timeout, - return_rows=False, - )) + self._state, args, '', timeout)) async def __do_execute(self, executor): protocol = self._connection._protocol diff --git a/venv/lib/python3.12/site-packages/asyncpg/protocol/__init__.py b/venv/lib/python3.12/site-packages/asyncpg/protocol/__init__.py index af9287b..8b3e06a 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/protocol/__init__.py +++ b/venv/lib/python3.12/site-packages/asyncpg/protocol/__init__.py @@ -6,6 +6,4 @@ # flake8: NOQA -from __future__ import annotations - from .protocol import Protocol, Record, NO_TIMEOUT, BUILTIN_TYPE_NAME_MAP diff --git a/venv/lib/python3.12/site-packages/asyncpg/protocol/codecs/base.pyx b/venv/lib/python3.12/site-packages/asyncpg/protocol/codecs/base.pyx index e8b44c7..c269e37 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/protocol/codecs/base.pyx +++ b/venv/lib/python3.12/site-packages/asyncpg/protocol/codecs/base.pyx @@ -483,7 +483,7 @@ cdef uint32_t pylong_as_oid(val) except? 0xFFFFFFFFl: cdef class DataCodecConfig: - def __init__(self): + def __init__(self, cache_key): # Codec instance cache for derived types: # composites, arrays, ranges, domains and their combinations. self._derived_type_codecs = {} diff --git a/venv/lib/python3.12/site-packages/asyncpg/protocol/coreproto.pxd b/venv/lib/python3.12/site-packages/asyncpg/protocol/coreproto.pxd index 34c7c71..7ce4f57 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/protocol/coreproto.pxd +++ b/venv/lib/python3.12/site-packages/asyncpg/protocol/coreproto.pxd @@ -51,6 +51,16 @@ cdef enum AuthenticationMessage: AUTH_SASL_FINAL = 12 +AUTH_METHOD_NAME = { + AUTH_REQUIRED_KERBEROS: 'kerberosv5', + AUTH_REQUIRED_PASSWORD: 'password', + AUTH_REQUIRED_PASSWORDMD5: 'md5', + AUTH_REQUIRED_GSS: 'gss', + AUTH_REQUIRED_SASL: 'scram-sha-256', + AUTH_REQUIRED_SSPI: 'sspi', +} + + cdef enum ResultType: RESULT_OK = 1 RESULT_FAILED = 2 @@ -86,13 +96,10 @@ cdef class CoreProtocol: object transport - object address # Instance of _ConnectionParameters object con_params # Instance of SCRAMAuthentication SCRAMAuthentication scram - # Instance of gssapi.SecurityContext or sspilib.SecurityContext - object gss_ctx readonly int32_t backend_pid readonly int32_t backend_secret @@ -138,10 +145,6 @@ cdef class CoreProtocol: cdef _auth_password_message_md5(self, bytes salt) cdef _auth_password_message_sasl_initial(self, list sasl_auth_methods) cdef _auth_password_message_sasl_continue(self, bytes server_response) - cdef _auth_gss_init_gssapi(self) - cdef _auth_gss_init_sspi(self, bint negotiate) - cdef _auth_gss_get_service(self) - cdef _auth_gss_step(self, bytes server_response) cdef _write(self, buf) cdef _writelines(self, list buffers) @@ -171,7 +174,7 @@ cdef class CoreProtocol: cdef _bind_execute(self, str portal_name, str stmt_name, WriteBuffer bind_data, int32_t limit) cdef bint _bind_execute_many(self, str portal_name, str stmt_name, - object bind_data, bint return_rows) + object bind_data) cdef bint _bind_execute_many_more(self, bint first=*) cdef _bind_execute_many_fail(self, object error, bint first=*) cdef _bind(self, str portal_name, str stmt_name, diff --git a/venv/lib/python3.12/site-packages/asyncpg/protocol/coreproto.pyx b/venv/lib/python3.12/site-packages/asyncpg/protocol/coreproto.pyx index 1985787..64afe93 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/protocol/coreproto.pyx +++ b/venv/lib/python3.12/site-packages/asyncpg/protocol/coreproto.pyx @@ -11,20 +11,9 @@ import hashlib include "scram.pyx" -cdef dict AUTH_METHOD_NAME = { - AUTH_REQUIRED_KERBEROS: 'kerberosv5', - AUTH_REQUIRED_PASSWORD: 'password', - AUTH_REQUIRED_PASSWORDMD5: 'md5', - AUTH_REQUIRED_GSS: 'gss', - AUTH_REQUIRED_SASL: 'scram-sha-256', - AUTH_REQUIRED_SSPI: 'sspi', -} - - cdef class CoreProtocol: - def __init__(self, addr, con_params): - self.address = addr + def __init__(self, con_params): # type of `con_params` is `_ConnectionParameters` self.buffer = ReadBuffer() self.user = con_params.user @@ -37,9 +26,6 @@ cdef class CoreProtocol: self.encoding = 'utf-8' # type of `scram` is `SCRAMAuthentcation` self.scram = None - # type of `gss_ctx` is `gssapi.SecurityContext` or - # `sspilib.SecurityContext` - self.gss_ctx = None self._reset_result() @@ -633,35 +619,22 @@ cdef class CoreProtocol: 'could not verify server signature for ' 'SCRAM authentciation: scram-sha-256', ) - self.scram = None - elif status in (AUTH_REQUIRED_GSS, AUTH_REQUIRED_SSPI): - # AUTH_REQUIRED_SSPI is the same as AUTH_REQUIRED_GSS, except that - # it uses protocol negotiation with SSPI clients. Both methods use - # AUTH_REQUIRED_GSS_CONTINUE for subsequent authentication steps. - if self.gss_ctx is not None: - self.result_type = RESULT_FAILED - self.result = apg_exc.InterfaceError( - 'duplicate GSSAPI/SSPI authentication request') - else: - if self.con_params.gsslib == 'gssapi': - self._auth_gss_init_gssapi() - else: - self._auth_gss_init_sspi(status == AUTH_REQUIRED_SSPI) - self.auth_msg = self._auth_gss_step(None) - - elif status == AUTH_REQUIRED_GSS_CONTINUE: - server_response = self.buffer.consume_message() - self.auth_msg = self._auth_gss_step(server_response) + elif status in (AUTH_REQUIRED_KERBEROS, AUTH_REQUIRED_SCMCRED, + AUTH_REQUIRED_GSS, AUTH_REQUIRED_GSS_CONTINUE, + AUTH_REQUIRED_SSPI): + self.result_type = RESULT_FAILED + self.result = apg_exc.InterfaceError( + 'unsupported authentication method requested by the ' + 'server: {!r}'.format(AUTH_METHOD_NAME[status])) else: self.result_type = RESULT_FAILED self.result = apg_exc.InterfaceError( 'unsupported authentication method requested by the ' - 'server: {!r}'.format(AUTH_METHOD_NAME.get(status, status))) + 'server: {}'.format(status)) - if status not in (AUTH_SASL_CONTINUE, AUTH_SASL_FINAL, - AUTH_REQUIRED_GSS_CONTINUE): + if status not in [AUTH_SASL_CONTINUE, AUTH_SASL_FINAL]: self.buffer.discard_message() cdef _auth_password_message_cleartext(self): @@ -718,59 +691,6 @@ cdef class CoreProtocol: return msg - cdef _auth_gss_init_gssapi(self): - try: - import gssapi - except ModuleNotFoundError: - raise apg_exc.InterfaceError( - 'gssapi module not found; please install asyncpg[gssauth] to ' - 'use asyncpg with Kerberos/GSSAPI/SSPI authentication' - ) from None - - service_name, host = self._auth_gss_get_service() - self.gss_ctx = gssapi.SecurityContext( - name=gssapi.Name( - f'{service_name}@{host}', gssapi.NameType.hostbased_service), - usage='initiate') - - cdef _auth_gss_init_sspi(self, bint negotiate): - try: - import sspilib - except ModuleNotFoundError: - raise apg_exc.InterfaceError( - 'sspilib module not found; please install asyncpg[gssauth] to ' - 'use asyncpg with Kerberos/GSSAPI/SSPI authentication' - ) from None - - service_name, host = self._auth_gss_get_service() - self.gss_ctx = sspilib.ClientSecurityContext( - target_name=f'{service_name}/{host}', - credential=sspilib.UserCredential( - protocol='Negotiate' if negotiate else 'Kerberos')) - - cdef _auth_gss_get_service(self): - service_name = self.con_params.krbsrvname or 'postgres' - if isinstance(self.address, str): - raise apg_exc.InternalClientError( - 'GSSAPI/SSPI authentication is only supported for TCP/IP ' - 'connections') - - return service_name, self.address[0] - - cdef _auth_gss_step(self, bytes server_response): - cdef: - WriteBuffer msg - - token = self.gss_ctx.step(server_response) - if not token: - self.gss_ctx = None - return None - msg = WriteBuffer.new_message(b'p') - msg.write_bytes(token) - msg.end_message() - - return msg - cdef _parse_msg_ready_for_query(self): cdef char status = self.buffer.read_byte() @@ -1020,12 +940,12 @@ cdef class CoreProtocol: self._send_bind_message(portal_name, stmt_name, bind_data, limit) cdef bint _bind_execute_many(self, str portal_name, str stmt_name, - object bind_data, bint return_rows): + object bind_data): self._ensure_connected() self._set_state(PROTOCOL_BIND_EXECUTE_MANY) - self.result = [] if return_rows else None - self._discard_data = not return_rows + self.result = None + self._discard_data = True self._execute_iter = bind_data self._execute_portal_name = portal_name self._execute_stmt_name = stmt_name diff --git a/venv/lib/python3.12/site-packages/asyncpg/protocol/prepared_stmt.pyx b/venv/lib/python3.12/site-packages/asyncpg/protocol/prepared_stmt.pyx index cb0afa2..7335825 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/protocol/prepared_stmt.pyx +++ b/venv/lib/python3.12/site-packages/asyncpg/protocol/prepared_stmt.pyx @@ -142,7 +142,7 @@ cdef class PreparedStatementState: # that the user tried to parametrize a statement that does # not support parameters. hint += (r' Note that parameters are supported only in' - r' SELECT, INSERT, UPDATE, DELETE, MERGE and VALUES' + r' SELECT, INSERT, UPDATE, DELETE, and VALUES' r' statements, and will *not* work in statements ' r' like CREATE VIEW or DECLARE CURSOR.') diff --git a/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.cpython-312-x86_64-linux-gnu.so b/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.cpython-312-x86_64-linux-gnu.so index 1d84afb798099fb3e941f950f2b6c6c8de61765d..da7e65ef6c5e1134d250c5f70cd90e56a7a2a5d2 100755 GIT binary patch literal 8713328 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Μz67av^t#SggOg(?kzQ)x~ONPRI<4qxCH2# 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.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

    f0h@0Ws4SR%8LTug6VuL=9T=__a6vC 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

    s(@y5i77!l`* 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

    wS>*38fa{Sn$%li$^~o9JnX|wR$m!%S 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

    !pYd6L8T60^0XKEy4UVEkTy;W;vu~tT^ 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

      geSV))%OL3@ohQlj2*Q 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 z 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

      rX-;f*<9NR1Meou0c` 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

      &z6Rt*`rdsYn@xO-L& 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

      lAK#~HId`nSK7f- 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

      R?&M6?D!gRwT0T^N!#AMgKu;CcX|$7 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

      ZBfL|+&bJsYk27^}X z3==}QcZE_`*5WQ>?(Ys&`J`T3l9-`c{DH>h&P;P(sNp!mL^SO*f;?JR=1j=8f)!bBp9E%Oiv zovGWl7JlRlZnEp)s>%LIL#(K|x8f0mYc_YXfCzza($Y?rz`nCU5JM)1uDCd{U!j+e+@@g&Hj%3d(fHwh->Fkgd#JBnCeAm&t=

      ~%hNVUm3 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≧7yX$2MtkVP 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°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%0DBwHZn>%RFRGBAHi^uSFG5C7Iv;0y0i6 zvnnN-%SmRPhs@h3!Bi8G87;{?LNZP+vqwrYl_c|nhs@<9vwcf~+FUEioJBHDF7q{@ zCs%>rlgwTZnIE12nL87axmA)`3nVv}IXoqqJ4xn!%yw*>R!uU;B_cChlBpyaCzrY7 z(^R#&mt-0}WKJZRzaw9ZDxgU+2mS|SoLuIdlw=+znH?T7Z=wXVED@PMOEM3VjFZdk zmXge0NyhY$sUVpzKS@xVrzM$wB;({VUjce@6?mCse(;bn7lO=;L}ZpoGOK{(<}%fk zWZohf44#e(Tt_n5iOAGRG8d7Ilgr%xajM#^CK+eB6*m6x;~?__^0lY}YbBX2Kyq`L zccvuMNHR?xp}kHrgQN4sE-?OE64OZRfSuRugiJ=qMTeWs8`GPc!}UrvjwfKJQVU0R zpIs<6NbSa6BkWFEHq6>`bZfrYax@cLeV4uEC~%Iw&!`?-YlB@p`;2aQ zQfw-UOt&@}tz97DYdi`QTL(kdVfACE!(pcm{*NeM@17*C=YL5dv7%^(hmk>aezO;F zlh(5SaZ$_8vX+fQtyqCwUk-#$x1Fm*&VwvBl6ef}uNbg-5Ku9P(*FR@Lyu=0B#bsRXeGUd1Ufk5R2zgvKG6J`O4J8~AatR{x#Q_jd zwY|m#LQ`f2#I0V6h7hG`{^r%@8N7S~jCYlX|CI1%?7ia^Tjn}Ekhw1(mZ$Wjx=)4n zs0{UeE#F;>LL<0vBy)Nrbf#v&Wz!KbS}!y%hKMafDmmemF<4n@F4$%CK9idu&VhD9 zXSv0NpULa8!H(_DEPWW(zx0D6s2^%VmwJRgC!5&2{6)K!`|lAoF5QLbM&q(ZRId;G zzFhl2)xKn;q-^6AbQi{4%7(lzE!W=XRYD6z7YddM4ty)lW7i->FurWFV7y_PWc&eC zNc1JS85DgdAKXYQ^y>RZ5O`yw+PvDYeP&LF;6S`wDed$T%J4COyb@jwZhcz1xg5Vq z41XFpK-up-1e3_lAPH1}Kzv7TMQ(|N3=5G#;^w8qz16{O`d8FIA3F+ll+0X2W@s=Z zfp?K9o*A!IImRLIXmSEMlE9Y_f`Bv3o7c8T;CR-SNT}^g$RL?HKbk-bi!gnd&#Oh# zkl8%)UecPMCK)RuV@_Ukeez7F%S_qPnI2A_iTaKjZG9k$(nMs6m+?N1fgC82;YDPS zA~=@>Xt~=e)qnpD;jdv@zIhOi&XWSzZA`9(X|Xm&>qsl8_ZK1R*uFyy!CJlwy=64^ zM0Z^21Uqc5k9=X5_!F>L;sY#k2LPDDPPE#3<}L7y(7{B=8FVY|+=O@6;g{YZ#))jc3rhId4kTC{}-waR!jpF`CSQ4J-$ zi~Us}a6AgcFtd0N%l+E;5W|sWOO*KsfMQjzn-Ck=>ck!96Ksy;g^BXUx3&y7Xw`e5 zi;!;Ja^~04d0o{9MlRm9=t;B{nL16oRy0Bna3prbSM(x>oj!wSfhPJI3GThyF86^qKAD=vcDMVU_Z}dzuY4B zbRuF~g<^FYC5i1SwutTMDTuv9k45h~lEhvWF(T#ZfsiD2z9jZ0a#2>>#5k$Ue;VSG?O%UHzVV{;Xzx{^j{rK5o(Gbf z%RD0`nb9QE*F$D9$^5b=-qZ>*<0Kg$$vC;p)j&^Pn@W;#CevVayAConiO5_l$@~*Y zZZ7lclw@v>C37dqoSKNtEt1UWXfpd(r>f2Ev1E=TnRk#cc6<^-n<>fscwba)YEzP_ ziY2oFC79z9k-1xvc_x}n-)J(f`kv3yopBsZax+UmxC)-6_O1EmuNc+tT9uDB8$ZE! zm2ZOYYTv|n3+l~(*R@H*Pv)?;{JH-s@$<{~;^)~1vY5E%5AFE#;HTne;m_jd+U)jB ztoft(Is2LRP}f0Aw&8;EL)u{szvhDU4rxm75+=9ni~d@Z*@{0!O@Xc$ywLI;Mt?q(4g;t1;h3&<|j3Su3Xg-ty7sR* z3oj?1rSuMytF&6Zd+6Yq0Y5Y$bg*Brtv)tG4Xw@aYfT09k>ix!X*C&D{!o2JO=(*H zzMFh{cFo0`LI>L2Zj=|T4VgK&I$TBtsqx4>e^!E1*hyuTyG`zunsFG}&gN3!?6QGV^C(W>_A<*If_)#r^< ztD6IzRPB@Ik71&#pMcC%eO9GN#bi#V-YZk5FtweP8Vmw&T2#s;Rj;cesuyh}66ePz z79p`VHZc#03y_HGicmne@nSA%K;5Auj{K?8xp$qzD;1DPxfmE#ESvM9UW!Ce4}| zRWj-)!YFy&0Samqg&UAk5tT9;DbckVf|O|93y>1cX>UsnB&VID zIfYyWpXgt)@`ao3X-^-@&57dXY^3ByrSw8dz9e(3myEPCvGPEBV_J~7z40D1kHqhj z^Gi8I^9woH8rj9moozp2`Ac3t^*iT3((nII%5(bzuMo6lfC-0XPZXId+RaTp;ORSV z>NhgAKik+%{g+HFj7~+AGEysvPW`J)6?*NKpv%-~-KPGJi_#|Qe{@f!{zq#&^?zDa zu9o$`3MBt4{deWrsYQA2mvxDe=XRMIBO|W=f!`Pzy&+R$Wb~v=6*6)qr^(c4In9WZ z)Aez3x;#!!?9Vf!B!~VSKZYD1Wjs21`^{1H7gv6dv?#xMGBrkiH_FufXl=S&rpD+a zuf9ZGVq|@qOpTFWXPGMG=SuaEl&a7*H}zYYD)h}w{XnJ)opVzWh><)9dAg}ji&RIZ z?h9@NwB#Dq0vOlh$L2~Ta%_&m9FD|Av5B}cv+nuWM2=HSkSMi3;W*{7|A(P0w9G#X ziX6{B#G>dmsy-*j;ejcaAVsvB7)hBj2q~h?oRoe@5$)xq;A6?0LdncA!p+!1J%XQ6 z`ycAludJzM<6Y5ilc_QKv|gshXbyt5v4j}SvHY+S*3~W7^2046!>8= zR_s!wR625lrx&~kDMG89TxTLhXq1!E6Dc#Ll(M~jj`IQ`Cr^9X{$#e`*zqU7khK%- z;nrhqi;{S?MM*4_sWFnMmZ{N__yhQjmIU-AMiS7M7)d~1Vk7~5iID{K#g@b|UP=7N z`eNDH7|pQkY>bpFJKI01-Dqcpt~jkkJ1eB)q|nYrONMqfS~B#T#zmD(zo}BTb|Swi zb$eUmvgo63dt2jjOs)Sa+c2iq*0>y9YmUp&wdS}SU2BfZ(Y5Bd99?UU%h9!_KW5eX zzxT)7@ny8M?J@PgNT$ZrzpqSwhQ z?~^idQ~xA!E2H#d4suV4N|}n3X;CRxAZ2D$$}m{|Di%jK-kv(1gT%NwA@t8Pmr=ak z40?Bz_U0L}#3+4kPkm%+jQsDAsWI~B_B_-gM*bsYs?b5V+zVuC2`lHOo+MLaB;7%# z3hi@of0eB*!8ZU-0&CG@Cu%yDxC}0AFy-j}}gbe6cLfh|6W_nqm{rMPfGV<<;>Mk(h(T|F!Y+ z|2OuuWq%KTON_qiPe$N_Fk9O0+pvB3r3z z@wE_7Ytgc7@cKX>RiBxqcUQIFg;u5qT4{*iRFbc1>0)_Q&z6bVSUi&JgR%4P9HBJ! zdKJfMVPhQCiB!eq!*9@oOKZ`rbOQ(MVYHQFHj zz_yAT`#zDWF&4RArdCFm@S;qOvC|LBRMBEC4|7Fo{B#M6e(}?#QAo6nq0__{mFrVy zVh2g!JUvu}(yHs{o?ce4kMi(< zr)>)Tm_GArb6^IZjdq33kSf;2v#_GRtyT^F zfKXfi;p4_9l3 zrmHn$)3La&rhnkar2wRHH$Fdn8aPo|dQQ#A#;OAs+&)Bw;+D+sPc*Ey<8AQkGR$pG zUE}gKaH8@^y|NVL>`_-Zg=J}pbzjHLWfLn|fB zH6JUXf2g6g5?>8!8;5_D_%{Xrrs3aAh>f1@T&@(U}nqvDn4iB+}3pe{s{ch%_|E18y1}711JLH;sM@8YM8xqS++itiWv+ zoQ68FNp7@YdMj*|%FxOVkPr1MO3JRq$J=@oh9B~bAF_!ba)uu=gCEkz56R+()bK+h z_+jC;)TKNv{SFSXb(vXeomEZE!Iv0K&4qyrWQA6?Qc6F; zy{y8J2>XMkxI*L_u;F;O{UR^9?R)PMa779y$RVkdmhJf-XWK8>Ev)m;&dV|`4v1}z z{LTqb#~PF&3n(7!P}*9W@G!n06#lwEYo-3uEiic~e3rJXZG%0gv*g#8?r zg%7CajWnJW*!-0F{tFZgR;-MF1|3T(@rwr)z1T5LdAMFJ9<&o^%EK$ORtDPv>WuVY zTi8C1>*l++9d5?2Z?s?gm;>%F_y`E6%ODQ4$;u{jBXV135=wGZe-jL`n&8#TII zTa6E!A4;hQ^0LbHKwgFM9Llu!%GR@*xIr?D_e19Ru?aXEdr<=&e0p2!i)~xqn$o;L znhzU=rvW+5kB370p~Qa3wIA~BhyHxvsNIQ|c(5>W=K^=%V#wGP=wPL`#uijR64epa z`$)HqMYqieEszIqWNVRroE#qh+$*J5@NQd~ZH$cZ+9Gl}HaUK4-RLYR!Oklcn!*=Ts>$ zx<&8SvY>}lZVAlD<8888#)VV3+Y1m>B?~&Hgr{K(L8PzrZ=z6@IMj22YO!^W!&a`t z)-hnqoW~srjy>{{e&>c*(#MeW%c35lt}pGk>$>q7yRL7chnc4XQTR{#j0#md2oI=c z&@b0x%gCY0hnqbCzvBwo4pbS)K7b~=H+0Icag9@1$=e#vh|6;pbhr1K}GTxLj`ww>8k+uVd2OmQt`a!>^?U(%&uD)|y+OvUdN# z{1W!KK7iv1$S^EBHb+~r5d-!C0~hid|AV~N%tG)(ZEAj0v<^za`T@pIZLQu))gH22 zycMSL`q*5Nwg}}@Mj|arY1_bFV7xMl1%b%VmVPgTB%1NU=GQk0oWLYL$C5ZKo=DMq z#SYi?DQvKpz%OF-hJ(`Ymcz|H zIP01rreYJUc_Om3Ll&IoP_>_6o&WA+_?`orJfP8DT8y%^049^%+J$z;#?NKfv5g}? z5~kN;3-KXn(mO~MaY#pyf|A6NgH_VFI3ymg0TRr%Q__?;Bp$Z`(o7H1%s8ZX z1k&>P{6S$o)wR`p=3k7#z`$OHX5NiO&#Dqs*BQ5s;z_U%+Z}y3`T;io=Jao)C*ikT zxC3Dv@UZQ}p=$vnpp6Yj2sgR#R>GZJ`?8Vn$u3++_yPx(?JrbDt_)gYjBo$jj;8%5 zNThs^81pHfC{0o&QhyIp|2U*`B~o%tI#D8F#^5wQ7KXW!Nu zi}7oYa`j;$Vb|X z<`6J}V*va=@D+L8?cW>^xKlWYDhmoVndA6aG`PP~UCAf#H)f(h3ReJz2jEr*^GWGX z*!5AWFQ#T9&uwtDY@u03-4>dwa9;>@Nn!cdNu*qg-zq5=NzvV1?z@p+jx3~j%g?1a zySrNr+21P3X~;pAoEr~HITr?dQqJ9koR>4Prt2sC5ps@`@7D2}AnZUk)hfZU}0 zGU^DQ<-&^z4{_mzgxLZX{zBMaw$BStVXJ-S^HH?V!+e6Qm!eTQ)1{qG)js#}!!`0W z!V62;KFisd);GI^BlGhTDS7)mB$1MvE$wQb+{cl^ z5jB1cd*SPSZae$w4;RxY3 zU3e>DoDa3>Z6u74cs5)|c%KJ`d8B^dc-YZzm5)NdNAU@|`pK12ze@q9((mu_MVEQ@ zqT{60?_C*3q2F61QgZ!%S0W|X@0TS~a{YcxA|==FutZ9(-we|L5hPdLDfiI4bYv4T)-d zH}sjJy&JdIk4w}=s4442R6g@B)@Pb0QJ?243zg6Oi$%RoqAuYp3zg6Oi$(QI)Mb2S zq4Jr3v8ZQB)OxN>u%Q2ETiSkxx56>9k=zOqpH%)eOFFC^*~zOqpH z%)eOFl@j$UzOqpH%)eMv#$`am8hmA;@|l0Js0^b9)IEGj^ z!kEw6_zMYFyRc4pkqgfvT<3wu%JH+^0cZR)n(XoO7d~Mu{4*Mn{^1V5sm9OG+3}I* zHH^6_$Iq99HmC647f7UBc8!GoyF3A(!hgR-mXv(_yh0)+A3sYaQi+GB686EUC4{pj zlIlTH$FnmzE|MevN2N&)@c)klC8UYwFd~Ey(;n!SvE8(>+ zypiy~UAT_$PcFQea2wYjUP!p73+sgYyYMW+WiC9G@Rcq+o^a5GhZC;#z|s^{_khW= z=95jZuF~JmU?TedWEd#gi(l|2mA$a%lXs6f3VZQ?=ab?8GxN!C1RVscMp5(0TbWqX zbv}O*%_lnykDgB+x)}Q8nNLOtd*+i{347*~8wq>nlXZkW^U1}8J@d(hggx^~ov>#< zIg7AoJ~@@JXFfT#LXL+?=acu8OZ`5Y`J}DiPod+a91s7me*YiR?+mjA{oZW|{m$aM zMEczis}0`ulAeIQ`rU!BN52mZ1MJc72w{(YZzb%}?~Q~#`dvrZqu+}Od-QuDVUK?6 zggyGr@gU`T$+H;XXupp}zYo$ifz4luj+0WqJ4rt#xhvNs9gE~kA>T-(DOV|h}gLNlW0lZT*F-tPwy zz^3W?Gg}ECap8@Gk8}NxI>PxbyqNGH7hXvCG8fhfbHlDRpPEH@whK=s{D2FOC;Y4n z4<}sb!o`F)d0>nm>`w<=e`pII#roq8%O4suRQ9Kj0H^YYPPgVyx1pn^>`!OP{*>d< zlN_tz+!dyrqv>?5B~tQE_oLL4GO@J(|Nupbz*u=*Hif;Ivp%=bbr%*=x=X9 z`NPx;>=y-Wu6O&_RKj1n@OZ*MyYO(rSsr~S+{=ag5kAL-dlDYz!W{@-<-&(b08e+} z2;qBNcq`$BF1(TO5*Mx`jHp?5f3A~Vt9rfL|DJdH-|JTY`(&`}e}6lQ{wM4+#^3;1JMa*puPdUfta)T>&fAAZdPZhQ13%x$Zdz3o8Q{T^-{ z`W@gx_kD!$2oDVVN_%<-inQjJ2-WU+q8jF(LdpL|5Wz$aefOxo|EB-rEJeZ zV%0iDd*(}|T#wPswFK-MUAg|9qCJmDqno@vO^GDh(^4P1Jza7iNu=bal98ezf(j4g z6>*HeD3Qi_kjBL!JtC2ko60JQl-yKKl}O1=rCc9RvAfMDN;;~grc)*AeAJ88Otz&( zp3^?6k3Mq!&DqkD?4!@e!uBs;S-kR@f3c`fO4KEMWi5;G znSU|MVmP-fmc?qmKp%%Qw+txW{UAZ6*L1y~Kb8rQ<42qw=vNFo@Txn$^aO0a1v_i^ zf5Pv(@SzIuE1q{^L1Aj>6v6$ljNH{F*6|ay=FympTxmNgPj#L`rTH4@x&Ixl#O9A|*G9n+#BG(t2?1J=lj1M6Pfk9%Xt>*CqTB z*2CTK6=y#p=fi%y;@Xd`fXy4-{}M>E?8ZXA12W1|M`3r z{?2)PV*f9c{XY+IDu3rDyZ^(mr1W`+qx$ zl)V4{B9%XR|Ce!7QtZ##AWKT#|KE^E$@~8ziIlwm>k=t>|G!-#CGY>TzozK_<)S2~ z|Fct9v03mJ;}SUQJD3J^tvuA&32f*fIZvQ%T4&awv zI70Yc7v4&Eiwkcgyvv2_2)A~rB+gvYq>RKinTcs$`M7amU7 z(_f1Tzv#X%mR+-2bNlZUr~d}5{yPRA@Ht<(?kM`NI1hw5kqoaYTM;5^T@&&7o2dtmrt!hT^2XWK76O8dnp z)MX5mfc4JyL|a&>U!g zIEr@tt!ZDj)x7SsuZGAebYM0RgzdJJB-bj%Sqwm2G%*>d{7@=Me()rY0QZfUmkr3t-B>PrR_QTJ1! zWR%x0cyqM+G8i4vme>Dse|dv<0LAu~MdD(hu5a-tVSnj)R4<``!BI z^D(NwoC+m7I(@PB|DzM8s=H&~t*S-s|L-HK_B&7263q9C&qRGZ_Ptnk?G*d}p#-eY z(d_>}o+B3ZA05lCQ$qb;?$Lh>$+m%RC*gG2?gJK*-3MHxha{5lUo7>p{THXB47NJT zSYEUQ?I`h%kAubSOI^qFC&~DDs2}9_rfWYVfXyOkfYo2N5+3Qo8wpSHz_M#pf5uKD z=Znjn{nABrTHYs1O75ElCDKffH#`#x7CmLI6i7$4v{WWh7f?y9MIb)& zFLn_~?hjeMh_5VEKJzaYmFL+#OG|VP*;n`%;~b(##GS#aBA(H&FZ9`S9<(Q5^E209 z>p=KN7e15^xHa_B()S4A92ee7_)HhxNO-Ud*Ae!tpDZSPv-^G_;k#T|C;Vp@o<;ao z7oJMk^Zk50Vb6K?@vz_MO4Xma{@pUizguPbcekHz^|zz&?;dCGKp%Y&9T~!3Mqyj+ z#Ap7+wiBbv0kxj5EL1-8FBbLh5_KJ4S*U#GUo5IzKRBvw*K$6xd<#plO64>EVoR0Z z$Bt?*b&2G44@gD|{RCX0UyQt0}(Upz+?Wt&7p5FW8K^d3BXpNM}j#}eTAL!TFuKq;`U+ltL347KL zHWK#CN9qWBzK<;?ywuIVknm;~)(QXM!m|jsb;pybggxi0r((RJzF&bZYmF~(tStWo z-)6-4a?fc}-?=Y2xql}8lV{P1?6JifTyrQo?^Ff;Npd%}<#V8m^B~u6-SKoGVUK^Z zPf4_PRss@vUFIkZ&@>Vtv6bQzG{ouHi2V9O|6jDoSlaM($Y$m()vd zvC#_=mcrPwuo)o`R#U1%*WCzzZjeB!Uv>2$M6GpS$T+<%ggbqTsCo0jgHCd7Ma-O1R{`G2lWSjknSW`3L<|TGuio2m0PNWdHb9ZE? z1s*_HirauLai=-BV}KiJl<{>kFLe-l^cEq75anV35ng4S9+sno889XCntQ-CgrR2;9|N#&)MRCMy_VUIcONZKwIk(v-b$a+nbB)@;un#q#Q(YC|Nh1` zy%8MPDxSbUy(OZ2MJY7K!G&_I=|K)_nz)xkX9`ZUQ#KS^p9vO*7Mi9dJV%Q@D7z!HFeq8OaEC2I00O401bj zA?>yA(EdX9?NF|~EHdy9Ra*nRZC6RWcYudtXl5R>Lx}|cMEe|M3Ds;L#@sURISFU1 zh5TgHuU1-Hgh9n2XpkE=j`5CC$IqH6Jm=oV@vw~ujU;kKMbWbLQ3H1})Z6!3cH}#c zut3i@mch&X+OKvHR1uSH3OYxBhI_1j7y;E#-?Bg)D)E@ICCZZ^swF$AfUEQq=nVqMWBmP?c#Wg4FQEPBVw2BaI2r-FEcyWociU>GbWQ2B@7wf6Wi3o0pk5!u2 zKQhE>=TelSS7fQDJpMe}%#Qp^hR5lhW#B9*HDU^0td;J@s0h9;);b#g(CTztbu60U zM|Q}*XfbT`#oQzond`l;Q&P zx}q!C>qbL%15SL|wz4PCz1RRZ!Hx%p3g;T%^+f9HNTnK>C!o-G5LnIFh9~nnm`>wY zJV8~=S~?ue0>D_pT>KOSV(*O;Ht4k;GN{`#V9e}{oaAFYZL9ZMGpN)=1hQF1A>mo! zeXfjXwyk*+1Pi+ub7j=&ND&JG&NzqWnPpuN(#ac%UfvHP?F2sEcA7&LP-dsdi$6aLMn(z z2$?8he#b4!nE`Tp(q1G;8sHaYBF!IvqjcI@65}EDS5t&G$mJ}80&6i5r53DW#k1^I69H1 z(9c=V{^Tz5M``D4GK+8-r(nXo9cp6hX-(!y*%ou=)owZ&ZR!q#_p;PK&uIS}uDC=H zJADS6=>5jIuxOT7GaUT|hFt{ErTyxOS^{UU@U?eavAr$-&l6LWSO~jjy?5iTT{DWI z+AuB_8h;@tpL#ryTFze(2@+8twf$gcoT?86>8aVy1+vl~%L+_J%sh_xw9G2zLE>+o zTC_TNo?0^tsXL5KkYshePkDG1qo9J9oyM8nL>rAOjg1ov%@vKVDypFteLSa*0$<1Y z6yFsz8f_p9pSCL0)EsC~_45$@aa10H?A@G~6$yE`7k2oPEVa1P1hgqG^$cR19G3lj zdazIpH7PR&hrVhpyhgR}S|0+~smd!&YWk;UcQ9(VTXCoK%i!nUVLsRuK4Gnl#@Y&f zK-)uq(62Sf5*m!wh!5Vnyzd7nWi5(7f{?|S7~=9w-B*cFgevZw{;Jle&pbhpYS?+A z+HP&6)}n(nq{C-y_zLMw>i#VVOK9E-DRNSb%@WuD6EL!G)6BR}O*+^O%SsMieh?JnMULb3iX>gQWV$6B>2IHK=5zw%1G zs2~FPqJkY+!RB14zxv!0NX)9;{k8hg6ZE+;wPI)>Z>@%Ao7GS}(SL*i6h1Dz8AKK= z&O8=XQ^I0CT%0+l0z8jb^>J8k-KvDecoLeG1%wcJL_g_=lI&Q%7m1;ezH9U4S$@4s zUUlQlOE@9)YhCh!W$1gt>oaCR1R~~dq#*Qlx~gB2t%Mh{yqb(-Fd3?CjvFP|H<`_U!)0<0fMvCwHbL31^UjnY7P2qj4jCs3|2$)IBVvRf!2Wk z-Vt3q(-=uZ^)>v-rO(>_MVXNorMy5I3lCKsNkm78rbBxz!)0Ht51R%%$-$ZTF2Ob_VcvgZ zJeG}FM$Ob*T5o*_=PLok%flrgc!1HGhU)D$b|`Gap-}oV%-puw9_f($a_#q1)(i=x zH(!o-vvTnWxv`*pRRikUA^EH>y{=MY_p#0x0S6rROouywH}nTE_)wTpF-$MCCc|!A zP2S_?j1Z#!;B8#z!_Bej#t&DAYxC-9IfCBWWS7j}9D* zu6(P2Gb?$Wv{JSQ;_r&Q95A3#dr_cCe_7Z8OdHW&D5WUVk6gI2w>Yyu9)g(PX1-D` z%B?^-R^~UDxdfR3V-BN)&l6l^)}VYAUJc2Zxk$rMwvqL+;?A}!FV1WSoZx9#Sb}HO z9Q;mQ3vU9VvTt(1=P+D9YwH#6HYwLyS&k59mlauz6Wh)5pBQoWCa|Jvt(gPsFC4@RP``T}+Mdu$QZf|DcM+ zy1Bh28XKI{a;z}J7Wvo1)0YFoeyq5?$sg9zwF&#^RN2T%3t%jWOTgB zr6Cjt#v8tejo9Sh{}mPy{aT|M`uaCN(#q2t%e7C{nl2CGDxFqp-%Z-e^m>>15#W9~ zxIfs=X8b2GcmRR(85%#()#1_L5=dxOK6pgC{LUzp{0Z1zKRm2zpF&wMx5S;P;0$aV zn~2Bp>M-hx^{TrL^Sg#}Zx%)^XvDBw%x$_LC5@-h)BOKLOYv_Wwdo8b`SoFibf9wl zHKkv`67Lhz;aJ66C!l8Iyxz=nfItF80`j=SH$|^6$xUYnH;hJB# zI#*(#+8Wpa4O07VDKFYHd#JMX;#_T={K~SgAvf@nT5}sDduL&2J2aRVZlyC9D)LU^HXkAzldKvv<8 zphNzeu~7R76G$9_6B9dIPw5xtcBD_Sntn!q%P;(*J(E`X&ZxvS%`HR-gK225-WQCZ^Q>uwF&MGk%dviqiJV{i3Ee}vpTUU{`ukWgO(r?sa+!B! zp!pWN&J^=q{u;mO^1#aJWH!s^M3H-hs+1L5?`QuPkUI%f8 zs!xY@?wfl#C}rF8LSgsT1TIpGN0CnC&(`>@)yr|;Uf5fyglD2@(FmwVao6`s=`2k~ zio{n#Yr*e9rFtroP`{SHeYN9fFJE(IRxM0b;5b!xK5H>i=(+SWRu8d1R@G$KKE?|$ z;I@xZE6W$()gVK^who^QpkEzJw>!lCFli>SaFS^;|#P>ZIzSH=54;BS$7Gj>ndh>n| zd_R_zk9=myIdk)1(6qnj1s)c?9G`(+gAIuNp7&R{Vow2Ge$QLv;NC-fVSmrN%R%tB zwq5oJSst%q#uU*x_vy|#y)M3r= z*96YQI)X zq?JHytyI^7Oc?V|1}omHWM`I7>5w+?%;1xJ&c}1)5vfmA2X74gt?J+{!K;}sIF5yj zf=33+@hpk>f+ftCEy_^BW6>yt_uPPH^D>OYP9Gw1vT{~~qVE8&AR_Gr*WXk$E>V^+ z9~NpjByIx|(s+RymavuihlC#>?kiEMe+00XA7rzPff*t%9z{@ccn_z|y&R)dx^Ye? znp*L3?Qt;|72nX#cmTFQdsoo-nc|Zo=L+BEHvEpe-zxaSR!+fOMJ@+kt|(?VMpNV4 zTDKT(7W5QzABqth+))rbI=Qpf_@%8VjxHXnmx(-+mHY40e^grD#=vE&elaZX`nl6#d5^K?Q}j0* z@cpJZu+p~gv=Z)mX5Zh5@&0t{Zo$V}N7(_bDcU}-3H+0`c{e7q{V&2q(^`jxp}2$P zaL!gUpxXjkm9ZEwc*oW_45DC2lm5jpdkB&4%)Wc&FakTpl~Qp-9luXh1p@o-k*}tz zMf;=biSJ9Yp1!zxp6#tC@5j>LkspkX1b*OjbvI00@qpXGD*7AVi|bEH)6&d`pg-vE zB%KlX$z0WBt^Y`Q%lnupbHBD3R`n*bgnK(2(PRBUvQz<A!7&>Np5^ z-_?)OkiU`>@v-6?1#WBM9WmLsBgXwwofc>f;ZWZ=OAn_xrFdo^lyBDqpoj9ZMS0oQ z%sy3l=Oro+y4}xNG)A%GRBgt%mP+di?nr;Y9iSh1&+#)PzaKUKX4g83UuSQ?Z=;PR znZlnB;NqqMt8nQZY#Xk=EZ0na7t>Z7X?V|d!r04HIylZF=)?9;0WBxV;sgHR1f=oa zQ16xojPqEeMAx zwv^@UbB7h1Q`K5Y zY8LN$;|d*y8D~bKVn#w1#Aj%2YHl(-+>*8mcj4gXGOL}8#fN|6Tt+71exikdJ?F7) zdwYr7Oxc0Ko@T=JrP_>&mSon^>2;_V>s`X4zqkB9J=0$#+U4$tWIsI_QV{JzZopm` z?M`<=+WY?<^y`0%qQAaS&~IhYe+u0FH}qB1ALiP2Vr+zxJS2|NqzN*B^?m z{{^D{=UDWg0(bHCN7t}#b}mZ6{R)YH9Q&lY1P0%T>FK;6otRMKb-&15#+afGs=oJ68Yk@LNgT zcz$0+vdwQVi{D2MM)SK!@+*Fl^E(weTjV!a@O$0)Ldew?zk_1=r9D1u-=9e%1plQm z&|WRNIA5veHXAckF9iPSbC6R1Ci6B(AU3du3 zktboVb{g~f$Sd7wPq6^Sg(~bTFqZ6x>A;uNER&wJ^*+A8<_2!^+KUqOmy)CEFWIE) z+KV0ogeV(pWz+A)+jxD2iu`n*!28_7+hF5G{tA2Vv9FmGyaJKl?Wb&QU0h5HIFN}C zD$Sc(3)q@LBskZ&(RydQMWW2m~j zALe`d-}>DG9a~~{u#9SkGV{bUgS}|tjuiXSRQ)1VKUUSC)y?oTiU+-SE(U&lM;eRo zAeO5H7R9%%c6t`pdT@0f>`OOQD^@wyVc8T`!K1Iy<6d?_eL-_UW8`19Jj54A3vy}>OoTDkhmKP&&^lSt!;1Wy~c zcnuk6Avq@%@Xe}rym`~Fzj^K#GR6Zm-+@v{dteMF%oR-wE+*{RFV&B*XTMZW!k+z7 z9SHM;qm}>AFMtQRaD?z>4$Se&m;qNp4bAC~d;jR47XA$5UN#M`{Rsp$l*r$7^b~Z7 zUVJWN4*Y(>rE#9S_z1<)pN#TeX+PZYrB_-3&BMGxy|t=M5WN{U>{4J|q<3cRm&D!X zjE@K`-ub6Z;FO4W@wSNB(Z+;ZHK8II=3X?1C=)Y;3FDGsZm}_^0CP$*OfKDsGG_vF zW-?6b2Qg*1ZS9HqfIaxJ{%O45c`h2IC41Hr=^lGxbRbO2W4Hfaz&z(`!4bkIy6{%Q zg)Y32aI}8N9qxLslCwqo<)9wggd7j|aqY)=d_peyz!dg9QTy>bhrmqPD#zNGl_=Ai zhPJE|v=5@pl0_KmmE+d%pS17R+p+Wr4Wz@GSk z5yEFV?QLu&?4EzNzkkEc=6&wgiaVAN8v~`P-fK`l?(_RdE&4n#5U%4Vr$a+(27GW2 zT+E`uS=f<>^?#=6*Z^o>G%pTE1i+SD&+Byn2w3hIfsL1b{T>QSE&4(U^S)5AWm&1d z#Coj4J}Nx=tTjJ;*8v1)T?s#ehjKk=7a;NlP8(6QUkQKCS2)~*RnU1Dx#)8>GaC=o zy32(bO1J^3@Gkw@k8B(|mIe4;EWV`PE`~hoB!(E4a1uiaKgV)N{&6y`kI340msoLB z!i-llLObHuc5~}xxt|r<4kUaC^ir(~9OK(pE%Q`&Mjlz=@OMCsy0jkOBlzX=M2xCd zT_)}Nt(nsoEGB)&SCb;plNRSKxDnYadMpi;T5OB!0c!?SRJTtPA$u`C7wocRUJ8{k z?{)MBt@;Ad`XNQM8_L8$Z-1k}ahIolfFHy2CFUi_YWs@?&4wQq1q<^yETV*`v(#rq z8DZ3sQp>z6UntFeD4tt~u0+LzK@xn*V>0_h5&W{MRR4tB=COhV>H!IZ;-fB~+K*!Y z1D1`aqtQS&a*tfs+Ha(RL$h2Em-)D7ta?1l<7s{=7tDW7<5C{?4c!_RETOEAIf^n0 zIM;16)uK;>ZRD3u&JX1380o4_FE&TXkeszn zeNYKs3*o>y!uQXjl~|=#mSUmPZVz&Bu3uNhGXLXZty$Jv5N^P}PGt5MkE+iJ{vfVB zwAV#F<@2^zS-zfmGkA$S>X~0~&mm{Gsx~msm`kP92Vxf>Qb4)A5E}F`2etden26VC z(nrW*#1wounRoO3H~I*Uu@&k zsso=t$?zFJN|e7z;`1jN{!|-(i^S(oGW_8-z9I4XlMKI~jlW0Y^Cua82OGah;`1jN zegyADeZ^-G?Fs%Q!{2D*i({$U6a4Yu#}0OJ^YrmX^msQMu&_GT_*G1JIC`Q5_ap3y zAJvnv?!NCpc(Dr~+6j203r7e?TzD&CZsE1c-$=Nh17i%drohuU|FEW;(@^Q?Dex$4 zYQ!Wl*MpQBhjfudD)Atd#37w7k&@3zyGo?wbJ8@4B<7?Ry2HoB`a-_7zOdzMfLJ_OB%^suFds!8d)x`l%gxm@pP7$6 z!^0u*Ve4G?ZaeDxo_g23-1%q&J@d7D zN`mCjVjmHXqgY=QC+|j;|2A899G3g&h37CpS|Z?mKxgGr1m{47LSy>&&&j(1d`1u5U|-eSW#?zvO4U z#ZO3RFg{RAJC%?hw9gd8UjR8WQwiZ*C53Yik}PK0reLNL0=6|b)G);r&ih|T;p`LY zOJ-vD!1rT8zpN^b{$)tA=%0qi#L8NlmyrHQi~j9N>BD~YfhKtE*8rgzR{RM(C(uu0 z*S}>2yE+7HyO>BHrM(=DmiE%SUbMWVSA^$8^yXOfo)Nu3wr-V>eiC~5u+OCDiLdd7 zho0u8$Mc)HED%-@JuV|pbh~UL!yOuY$RFyWTfCH2W9Zj z;fIB~{CxYls9@gOOx0(;bihmA+qXv2l;k`$YY%P|qAaD_S3}2W;Ep zB0M|#=bYz_)(2^rjUPXg)$Zodi_-_xH%HH`zB5|i9|3IByAjV(^s*^vo1Sr>MdLN0 zfwHMf65D%8F9?g_?O)Zxn8^Nhg|H@8JQ>z6n%?miy}?ICkN%SQs_m>ZAbbS(fw~7r z^)h@NXi{!JPt_XacX=Eg#nD)`?*<%=#Xe9Rjh!h@j$TVI>rV8rNH2Rm0Ebrb=~7P1 z`)=aV0A|rgr{U-(w&7sMtTvjb!T9MLmL44^S6y2VFS*&g6#tRSngM_Rw0)Yf5hpLLQomrSkyo*Ta!faLs`6I=_m@yf7_+Ez=)!dG2d_|+E_qigfZq<2^x0TUz?;X0AQHzVX zBKKPDjb^I?T&|1iM_#b^N%Vss0rKW-6hr;ulI^XqeVAs8q?ULR=h7fXJ3 z1F2M5IyM*ojm#}T^svokIQn9?^6~h~_O?C*8Y?Yq2u|?rTZywb{GPz?l)ilpfcV`> z)o(9UmNp<5nG!x8Fpgy_;ms^nZ(FJ#Q&3-4)DY}#Eq392Qx|3FdUUMK#vo`KR=mWb z9GYHyo0sF7-s`91SkZ04HU;(J^}+3G(U;<}G5E>bn7F4I+dmaeizZXTud$lNneQVD z3R8>EoGqSKW~~fjb@GcKxU08%@dCRS2k%F_XF{n|D) z6iF{H`etsP$bW*J|6Dxy^nrh2{tdY0CX8fxy!$#ud`SDd8rhjL@1e(}c<92LT+!%E&X;Z$t;wd2G5K8_JaMYM_;C zA2?gou?OAw7P?c;NJQAAP8;-r@y&<7aT7jHXvyNC9Otg+!`zpo4N;a3Jk@jG zB~A|wJkb-MbBOZhz{#HVcbp>{c(u6}jV<*j)P!>j7m2Fy+`<4pVYj{zoB=?z)eWEx z@vQLavsYwm9)|i~ieE6FIroANX`usW;xq-U2NOmk z!5kn=iPW!9(~W^}sOc7^`fYX@aVBC3pK1n6Cg#{oFvurN_B}qm^qveHeFz=&VSD`= z$xd({4n_s;B#C1!n&J0RNhbVszBvBim7KdCUXG)Qxw6sNVmRQlzZ|FQjV>EFEb&}I zAWt-&eJB4Ot(#fMwIgS~ ziT3X}*~Xvz0`|ZQ+h*%LPL+)@aX_LOdQ;jh9skenhA@uX28sqYj|YSD4byz$u@$9m zRtwg%JN4IT6ba&}#z_ZH+Qi)1LcOj~s(G&o^tl@0#+%I^g1x1IZmorw zGUTBU7QIFu_u%;u910O{qmPA%q&E0}R5$O@kduy_v?ubAT65k-sPRBnd(`=sL@d@P zySzgtsMb!%#HkLG+Q=lAe-@HuUMTuliHNr;R>Xzl!rjKk6(32DYzF)gXAdh}n(3V| zzG0&X4?H3IO{Uoqa}<3}T61j`B-_$P`N4F)`Wx%s=fH=pvL#d0P+?l2n7Q!T)0nsk zzC*01^Lx5fmUAY@vn-&Akff#j0Q-A>Cef21^*WZI3JJT7$C}npX1Uq|MCI8fr@nFAv{J_*U~xLX{`AdfQ7WD{GR@)Z;W3% z;u}4(=8TnAEDH!u<)=iPixtPh^##vECX9QB&`RZq%7 zSb#1O>G@1&4dPbW#eGIj5sc&_<8h-bf6>rv<$hjY=hp*ka>U9tq{D&>xfw8D)n@1Q z_v<52RfA`taeAeDq|lx}h!A_Bda)tk6t(Ca#{0uCQ{K19Wmy}TUVuC9p)sC#KA!oD zeSQH^V2;3?fkHqn*Tl*?#_JJTIM0Xj*Ymtg5%x1@!yC*FerGhmrok7QKOK3LFu$HV z$PCj*M&GX;QM5aFs(CkF%675yE8!7H^M}@EjVL;-gn5?>4k>e=Lec)<=g`hbJ7_CD zTjFcxPnas4aD)9Rc*DogMufxzffgjq!JTjWxA>NWKGa1Xa`ue0u01uzLseYSp{c4z z!!Ce%Ii69v2>XOX{T$y5xvN2watL29NVDdoZ~AG-1Sf0|97<%HgyxVv(W(RCEqzHG zewSZP`^Pww%KX=aDdfq!HcIs~1VCf;d$Q8~#nn$3KaArxBZaOg_Xvm&XhwgGRhV>4 z6aW=2hZrPNnFO=yzH6LymYrkHYtN@%51Vc*XZ}`Hi%d zv5=BR=fg2LDjymd&5iF1#)F`(hGtc!$^9@CGIrtaL!4f)lWk1G1*~j7`mN5pcFx9e zB4w%i@F^nBC5S8GyTFUyT?WGJE}HU5rr3cp{n{KDW%!3$5C!&CH3Vv+2;E(o6(j`? zU~U+U(t3e?F{g$ZX{%;f$_S|35k8q9i-aZ-)P5jxK zKyS|Eyb?3#>TPTn8c-}3Dfjk(&ByYO2sWYiT`gml8EObVT$uMKaFKzFFzIbD&yw-E ziZgG{Ag~7Vwt|8MMnEaEuuj04=tD!QkJ(k&Oy5vXh zlkc^UtzY=-&_i1q+_xsBVXR-r7Ul|@qWyq2Hh;x`wtYA1C_);yR-Pu93#kXfXp3E~ z(3X+~rTR|fbJ$K_ZTi3%jrBUX9#$NRC734|Tc}c86JjK0Wj>v5xh_-&Thb8_Cl}wW zff6>u+*|cbxR$7dxqij<#NcK67#V%;YsApQs-Xx%)z}&=LJDE-1Odwzf@P)peUxl2 z5EZRLIxwtt#HpYw))B=e73jbFjeNpu>Ntbcj zo&-phZA2T)?5d_S@>hihkx&5&6z4CKfI@%(T3l!H5$p=^NP!v@^A*T@zU#~Vu zIem^_@O6Mcg0IF2LQXxw*SLcEE1mdYhz}p2d_Ev1bxsYOmGJ9jx~1Yw>ZJd4)2V0+H(C? z?7giPOUlKW%||+*%Rk0BMQAx!C^&wI;Q&^9x3LAiMn-B-!vBM08H}ERZvEmcGk45m zIqg;a;3S#RgMA!^E6j}%<*0)-l*6y$X%DQ>W5DWyC!d^CpddK%_y{5Q%)Uqi!|e3& zomTYg-SLH^2gf77);*Ywg*~yD_U{H7l#D#FTb04y{dzYT>iHU(5y;(?>e&G7)wjh~ zhR99Q?ptAE={S+->k`$-tN*PTUR_7@L>!{oW|Y!kz?3Pd5Gzo95sWwOfX=~^Ue}kP zfR%ZY=e_advs(Zgyy^ppTHfis->?Q$q#~x%_hgdfFuK{El^aiKgmzw@wGPeIW{$Pi zOKA`7YU}`iq#OB*ZU46!i_lJ_*9AOM*dQc?E!Id_a2!dTf3AC%b8^Q~M7Sp-(sqM{B8YLpnGiGto}qPPbUWLy~)MNI@Zz~M%@ zUL&aEzK)K&4Cs~IkKehRDCGEOOZpohC?tE@)2LJ(wbA&{!;@52 zDk93>j*QCRjwW)n1<%QEqdPeAmKE9n)B-!6bg5z3P)NwyS}vL~jvycLCvInF;0pnj zon2&`RfVto=b%!+uVv*YNtr42BO%2nGf7~tAAS~lJs(dhA5J1Yqh5bB&${qK$r^|w zj$bm4u?!6JFC8+EIOccaNxT25{Ka^3GkwFdrlx#W<6>X2=9E-=-#BUE977MW7Vy1;gRy1VF|1MPdzYK>ZW5; zR??s5vTJ~X3h-7v1?LSga#X>W&jkH&=TvjYF>Teq8^Z!yV1n;vgkp6q zK5V(q>ye@VOq%bg?KTw}UiIFQQgd7Jvq^3;ZwxaQ0d|zNr4&ofdtg&#o|mx4%Hz~< zx~laykc47Is8iCvJqqqI!Ift>!`L2mLR-yP;CLqM;EbBo2fnm}^WP?B($h~RQFqs` z$K>?dNxz;NxUl7M{=Y5jA80pTVk$^S!WG}SR^w4x`<^*a*|jYsg1kFrRX_G%-g~dx z1RH-aySfcJuEa``gRGk%WWlTQepNS_x0S;7D8&VL0BT14QOwxIpP9Lrgbr5unV4hLA!OAyxiNV>P(p zdMZg(TL-1f9;6eHV^1a)Yp@29W0*MfQrIf|tlN_0x8<+{TPce}2e7xxw2|y|x^B7Wjxhudu%O8edan9Wa1bfWx z%YwaUWmH$D-fHeD*)3-;DzKpV9Bu zNAl=5;34RDz|cbaeW)3gPrny~MZLTW$lsmXAfhBlzrpO23Z;@;{^Brw`@PZ|sB6Zz|_t^XFe5 zW>NwDx(AO!`c41ZhO;98!ufaM!~d7`JBSuY-}_ zL%)sO$4B$A=yxrj{ZHw)sX+c`^xJ%T9{nD;ANswe8FO7a@ z03f8_Ji-1ylb;XL0qH-OCXarXG9lMMzbjpz29NWU%&>Hm&?-?TXW2m15q z_d0@Y4fK15Ptbp@wYl^=5RCjD`d#Bb-ncH%e|+{ooqsn9tf#Cy|2OGX?#8w&?vpIN9tKVSU3zV! zX8v<}ZF^51y=L4Az1|&CNU!6VLAmrQ`rPPs3AIJ9r2_KbrPumuvCaJY5H|ncrdMjI zjqQs>F1%3Ila!gE011X?|@!gk!&M>em%kj%B9zcB{rsy+?`3@&Uc6O z!YkI#yHK^$CB^DddWS^$@_5rfCF7>v!E*voEtUj##yoSKd5I4-XXODSMuGc%gGZ9}%UypD?dom< znB>m2xWgV*L5O?$Fg#(GDHd+UGyFrHhxijDc8(`+w^pV(@AMnm7v5JV0h(TzSln`z zledaxBY$-&$e$d=t4Db?+|0&5Y?e8dVlAQB(wj>eXmmv!f)e9@8jDPqg_9W zP{-QTf;z6}=vI?HM?`9L`8|ut7YCWQ7EVRx6^*BdK}I#{P7v`ux2@kvaq5e_p7g9` zZggHSa>gZa#`QyHulfWysc#YTUG_Heu-EdX<|j@q7o=k60dTf@b8i=e@kocK9$d#gjTz;&P$PZd~S$4Om9_Fbm1A z@uYlG!i}i5l%dop_FeH5Ew6!ZuM?w3F>ry!@F)}uoW_$6QYDDCL5~J>neVNCgZYOq z_wV9;mjCTM5FV2to(8-rvTMjF21Ou7;Ko&mq=*<#zQW_$^Z{L~(_HgI*qx%f*pKYU z76xu(s&?9%ho%1y6e0rz8wdJqIo9-3d^r`X{*|+$J3L@9)1fnq2cEZi)tjASE zUO$oA)`Hpk1>r`*%g_IWE0%)nq=wMJYoV+gjeED;Av-~Nh8L(xl$X6^*vCCOWRp#% z)+dfY$xPk%HRGDw=~0jfJ$}j0 z6liO`+<6>$8Z8(7GD$NR9A~j|-dOr=;cdbucd@af1)sd3Q7%FJ%UpTR8aPsyS02l) z)Vje^_uzD|tvH5!vFBQk&tnFT7zH`o#?cO@f)YCQ3NCaZp2=P45>G1bPCj~G+0m=u zRp-8NDz6+5kA=5tQ_n*O%r-?{*q)o+ofgQSKP*Q6Bqd)GT+5W2U8`iVUwb8YwYJI; zyFCB`J8}&%X8X6t37n@Bhql94@svg8yurq$!Sxp20`ccZ^z~j+IZJPyNx1V?hs<*| z8nKQ+x8o)L-t=62Bqwm^25v-u&3pVB%}F*uyotc_b?<@Ks9)0!8{|J%LB^?FsLFop z&6FD`gQx8LWBX^)#0F;9303hXog)F;?quEEeHuC{4oa8THE_RR1KIUsll9{-{5VlR z>Jt^QfgcIA3&jByv6m^ZTTxMVjy?TBv`AMTf1HlZF3}B2efuWt*cH_$*|rm#9o}|G zb~amDHi+<}VM$x?bncJ_*QeD2HaX{duDtxKeY(-2!X}U7gjd5Tnga%#Gu}XlR=Zu9 z#1eg5?qmEo0=i8#@Y>B=qSWWE4|xda7>zXE zOdvtaby<1lHhN>n)v=?~T=w&g!A*fftQ_ld6N#^djF=`J#C81q$B9()gAEO8O@oJ9<4Yg)nk@R)yQ>nsR?c+96-7 zculYx*C{%)q_K;)CtRWUf*X-n+M=E3jrvJ;3{zbjhu$a6D(%)+n|2b#FT+44I^$Dj z>t|r!G(Akg`vElick>I}w@zD3V|?cC%7gG+;+v{rG3&v6i#^CVg^s&GM{pcY_>TDt z-SbQJT)S3~)RzKt^q5%e?_#rS60LA3S^jrv{nAP2Y4{W2=6Sr(;Ex6)MA>R9K6cN3 zue+zj{BC*dK|R@?A6M(gmaf}|Lm3;lI;Ja?sL$iKvTFd~;UwY49qm__rPSZa zb4m?us_x%$adzC=32M13;&1qA81-wL5tmYPY=D0POLnrWWDGrrQ<&Cs@OhWs=)h-EahYm_zykP5=PSM4 zQ0wlI>AEaKDcaDG5h-PH7D#oOjv|iAejyR%oqWC6X{p$$=Sne*_Joa}E=#NEq-;E? zVBCaahT>DM)K3dE*)X_<9L3(%yX6M;j9Y^!f*8{QB7J#?rvV(SWYleLdueMc; z7sPFwHD=V)0njcy*F&FH@m+8Zq#`!h3QiuC?Qx*Ek0=15d1SO%IKDUVJz0D~oC<_q zV?cm~40uO>0NKHn)fDr^r_3=YLdry8^?%_qD5A zf2bs41>O0|h&(nBcH1>7&q#_ILVlS8%#)Wyy zV>9-qL*4js6F(aJbBLv?L*vfE?0wPzGKUGLRwP&_k`>gXPVOrvvI)tcIB9BOmVGvo zmCeElZ_u@M#9!90XB*;)igTaiJ}Cbf6If#AebWs~kkp*tR{~I}u_!U7ZXl1aGTPqe zuL~OX4Up4Nor9P|qUGVl4SakgiU)Cci6?c)*RAQ7`HQlAO5RK}J%jb34Sx^@lucWI zwb(JWGS~RNRgVJW`=+-*Thl_G_!k?1!e;b|w{NSq22 zwiBmgF%6Tb-ND-ng(=f(uGR5p6BmN`}1~DK4 zm*%naVqU;Q)A&=9`d;y76|o*~2q$Gva`ANI(E+}_{e?D*xQQok(MJ|?MxajHsI%G> z7MAzR+hSGAzLIlR#^ePSo13eFoPtPltpq;*FB@<5ZoWKZDYR7Vr`H{kwn4;0q%EmqTSGRgU!&fG;ov8k7K2Vy=hLnYh=OvUbsEX{hFzV=5J~s15 zFRi2AP-*VebN)ypm7`y9^i|T8Y2$sV*2Hg;kH%b89PH?yQLE{)`|HKdhUeOH&n5SW zSow2rxyEbQB`#WaXS%FJnm*?X#kB-qNMB_5!kvsEI8^j-A!zGGc7-^=TR<)EJNPxr zEQ*>YJPEsOldG-A4KeTasK$zcKf*Su<9~3u(=)6qY+P$2D?$>*n+^jL-l|K1U^8E2 zI@pFfz#~bC$aG-=naG39H^DmQ1pN%xF|eNMMoCa++OwH5vE zc+J!SzYeuuN)y6O?ENQFY8*kT5WZ|$l*LCjB#&!B-Ju~l*3`6auZ=h9+^8a^@4JlY z`MO?F_y+}7{j9hBCwVA*S-ihQ)%9LAW{}vy901=>b4U<1(y{&Nhy=<6OmL8}wO!g1 zdf6gz5}#5V^dh0Cat$spfu__&FVwv~DET|^59`I3Ob$HfYXE`Q#)hYXXysB6gSfqO z-^8cPz?2dfkTm&4&7fLAA8<91%c zJpN+FoZ!>Wefh?`m(CEL^12AvHfPW=vQV48oV!;8*8~53PW1{bj4vBYnH9xE(b*g) zKK^S@Cp?0Ac%T`zhSLSnq%sfIWDz{)%V3=?q>kp59dR5Cob-fZ&+uUryYc?&Ct>kc zovxc?y*55?I3?6g@urP=?cH`s$WGEvtuH%v+WyDish=8l21bJg5B31gH61kh2 zU+R(HiD0FMY)eu@_>X-|9T~>6MV4D~=rju?)8GdjH;wF1?;akS5g6F5&U+E#enQm7 zbr*;0e_h4L`k!*R{(mv@FO3F~VL$Bp*Sx${S}>Kz9yS1FOSUtB<*~mzfIm!SH8nRfg%@#BJK1|H_E()xNU zoA8r_AAb{7%Z@*N_*nS_q-UxRi=35S$;INw`cayS^QuPaOABt6|G74O2KxhRn|q%# zPqpcj`pKtUl$YU4eD;7iBgpe|h~}7GubFjV-0Yy@y)Hiq@AZLHah4b%?xVy^#ZJXX z8H|tSv`xbXE)Ltk*ewP=VAO$)0`X`@8`8`~eNu8mQ{6P+@zY?GNjxEk2KNCqY)b-U z?xD}QFT%Tyk&_TUpp*_Ylk4P734a}bNU`!u|s(x2(r(JzQRbwfF%wom`=9WsnU z?8jnwEY=e=nleRC_@EfNv@tc~$&m)!7UTptXBDJe(P7X1&UC}+qZQuDG+pY>TiK)g zNiK;KeQxPd?FIjv^~ z<5x7oJ}sE+RjL%*Uz4lTR)yWg3shNtsz$- zFKo?GLt4VXk0!|TC52eqISCWNV#o-If19Sz_i;)w{7t-3pxwE1xy-;`RH|%%Cj_oeFJ&Ho5^e5IeRkG~3s* zje31Gjl~Yn!;hgLTBB?I8Y+pc{8Ka}x9DAzm`N5t{WmFMr&@e*Q4Nex1vB z>lsPN%HC>N*xy@YyG4{%5A2Xcx@7unM%P^S?D~itAz9q8X@uwX^-25!K0bwCBH~&q zXsgv*36@O8sEc6sE4+x_t=KUkLTzWrdtKGO1nW8Ke%hgrYY;9ZFo+6hE{o}&7-&6t z*#HgAj&><`Q>jX&8uCz`=_eChEl+!UcQEmf7>54bOzC`ZSsc>0xF)rL31UGO-W@0a zWG378+@J08rG$Fd{QWw28R+3q|5T^GKlI?#n{=U{`TPY$KnZaR*9W+{+cn>r6*vObP24IE_LZs+ObN!X0buKY+bI*7A=zhiisNzV+e!1 zYDQI)dd8mDb=LFP(plOXe5RqKwxZ-u(2L{Fsdv2vP=djC!n&40(!H+y6wH@x);7i( zRhw!wrXyu#hb{L%cX>jUQZv^{y)#bC}m(1Z6NrPuE?wshja&YQtzEo|sgZ>UXik~tTA+35I%xfZ;!-*W^tb4h zV$c?E+7+Q-Y^lxF)cfA9SW?>Shhuf>FrIu|5V0SjV;yw72$ai-QJbP=k;@sOS+n&o z;$%#j_84zS zxgWnoNhE5H`5`fTDMb8raQOsww5sXd;EJMdd=VrKXs&4;oO&^F%nOOxA5(9YTgQAC zKec1xm}j)jH`y;1ACNe+OLh6%=Ps${mes+j2}J%DWnN#`mQ%Hl)^2hshLV!k_FUq$gQ{S|OhZHkWWN79+iDTl){zeBQ!DEQR zYz630qm@B?${69roHXc;QKm0&OCSi=K3^ZK)7LJ}F}uzTcQzQ&Y*rpzUi8C!aMJVy z)Ev@$T2;+4KMHZ)J;u>G+!;@<%g8_|7=MnsiBxQ^{!nXhs_ZfS>^OHw`77~@b*R_$ zCH{JS*BLU&2?i809X!B5yzd#lG?f-e_qnrgyQ(^TsXe8HtP{@nY+1?pf`2k#h@ zWhH-qQZ>t(u{X`tP&xe1ID3yzBB~!i*Kq&X3tEs=s;9PG+B85&V+o;6hKyAc9Wrd( zV#Lkeis%on=Gu+xbHLPUz82Lq2B)5RHaKtZ9AS+;&3pjCw*@t)F^}TOoxrN`aD2+v z{8V)UVZ_Q!8_AT|&9FWRd4iq6dV-Jr!|1)%Bg0iFq2TyXr(P3!w26DKfSN%nFEbc? z@4DKTXGUQTX$g+?KOR0ri3aePMq6)-z{=YsIN%8x8wWzQz?0-%A@T%E&-2AqY@`%> ze}s+9cGLcFmw1!>G~q-wmz*w_f}CH^gh=JF0S0y>w5#8fe+=JGcVGfKdq|w|B+nDp zXce&FsD@X?SVhP2XK-pfyAz?jjW=B^KxqRc`wYu$g*WD0P%#&E8Opz!*-JX_+q~2E z{$U{=UJYqfO~`6A{A%z3jbso<8H3?7iN8f2+4U zGd^(2uF8e7jDmMHU-+N!t2SNoXQ3h;`|$A|9a`@8c1QDpR{#5m9-;oWT?W)>pB8Eo zy%SG%m(ZI$p_uOc!Y%{*)FuT_=?xQ_l(x`7MO%E>P{iWoeLlntq!QlK(n6toG1FSf zE{pNtjwy{_(AVmn+_$t4T1D(q0BO7RL$WqGX!I-6xJKvw1r2nd1IBQyRwr>cSMNAp zF|iMslu`@Ayd0DBvW{5%$wsV|v~F{|gCy(d2TN$32cg2%lX&AS9!F9m`K;huH*$6? zwu7Yl5{d9Eca0YS=xqQ(U--8+7OT4p+hhfGSM%2V^qS)q51~BYFt_au$Q9D4{&`QH zLyN-WTJZ}!zNuqhykCJy5ZnGS(U1U&rl&v@_fit}Ns`3}DB$?1O`lgBsM)o1EUv&J z2u7z!3FVVcq?TG38gihPj4RqD>gv7w1oA}=+bHdxIdbM3RSKgIZ($s!`7bpDM1(Zc z={)a3aM_?rDK0l)R$#t2w)lUr{)sgA?$zV1Qn~VCM zWm@j1P0(^9eh|zyiD{7MX9%vAe-5s9jLLULWi>sNM=jU8_spSTkAl_avVDPD{iKr7 zR6n&9?aK7r5~}#;U=>f}zR7FE6fA`0p9)g09mad}aOWdT_lkv=+tUf@xVe|6MZj6zaaeu;E~ zSr3{z0(Z!6W!}7^~+PasS7S5&a8t=(fVUdOXej(~Uzy zdWy=QyRvtkNcA2P*wIz`ZM5E>2?&jw?$)c^$(8keLgmea_vzSy4;vqxxRLn4VendHzIKewv9w z{t`G+J65n3E(Ux7bG@JGoLOMmjU?Mz8YtVi>1)2Oe(GrJp6I0M0-aLzV8eeA7O74B zQvK98-nWqN>1%JqI57WQ&Vn;^Dl7R3j^?SmnN0YFBM$MV@%rtgUuBhKs_m4T#no)p zzK(VtlYh_F{fAuV`J(m$-rA0egpe8aigaeK=SU;PQNxi3PuG%;^>(~zk|YZu)JV54 z-F>}sVb{smBl*UDJ44Poy4&|GNWcLHd5j_R=e}AoyIrYo9~JWkSqoi9oJU&D1w@|- z=?@K`%8w?p@(_5x%y>+L)muJE3uCKkTRX)O%^KrO4BhB>Uc5KAtCJo&?%={9W z%!;7bhRDi+%R^Zib`N-bpY_y#&1f^*^0_W6ar|xbQ{Ix#>xg0ulbl9K{MRFf#O!$o z?Ye`Jq6fpgb*G)~^2A-sUnI?$XYj}J#9g+o<%wH}=&L`%juAv?(>zt4!FW>fDhQ@3 zeT8K@fkY&*chm7a#<6m#&G||6+U9i?c9EvoNj42#|1%pf9Oq>*dE;$DCFYYa*O%dw z`QHFOJ3D-eUV~JA#L1K2IY0WaoBDg_M>pBW|DWf_j`#l`&5t)8`mfE8arF5&=Ew7= zgYTUAF@th@^W$cF9@{#E7S4|;`aWlVj8}Qh^W(-tZGQYbmih68n;+Y4!2IZm8`Iem zzd1i1;`84?wS2#ZoJk`yQv-!*Xm`tzS{5ZXb&5tKgIsbNk)afhc$He*8>(1@oidY2Y(we)Lv3oF9j??fNtv9ZnQ;TFOsI9!1tOZf*vy z%6?YT3bqVEm1yqF&ehA#xvKEtL3%j(CswiU+#QzeX?XR4BJ+0YW+)LmRs(Oy*>5{} zg!1#49RG60ge%I!^}Ap*b8~xUAL2-BowhQk{?vBrcd}=(C+`he_Y_O;o4>79MSo4+ z^`RQnd-D_#vFx#K-8&pij@8L;VnWOS5D$y48Do^itnyI8^_dPJ{s^9*!8bEMbA0$w zPxvtPg@hZNnBP_)kHJslMYZWIEuPE&#-!9>A?7sB995QWvko3-&^0mczd*Yd&sbZ& zykT5j#kq5cr?l+(iFD`LhF8<&3J9s0{8dL^f#+VusSx)~emTA5ZL9KkQ8}{{-JZGB zx?40uLu#(*n4UunLWrQ`eBM#sMC z&YrITB-d_c54H0-?X+Ae|4hV8-cOPOTEEF}kXg>gwf`u;0z21v5_KjOhqp{9!m{y- z7nRdhZ_$l5JyMS%`!hf2%X2lb>~10Uv-tTaE**FLtYBfn(ElwzZy|1hpUKgl{{|0^@nevZ|=`1mHyy*vHz_Kehl$laFuQynJ z!z)$XvaL2;TwfwZ#?wwRt=CGCy>408*0MgO`k>@KGwJ=>bkUzT;z4uSZDV7IoY+S@ z7`zhz>mB{;uWUNm%-qn}vEYtB%*@>T$QYVAqhC5v%3k|x?sYhiom_qHcGHuzcuZ&X zBoleF(V|(=e)=OjvgEwKnx4EIu`u!|XGgNH71^)Oj9AlEJgV9Qe!oIJPu%Lj#Iy1-hF?L*6n^2zflHR33ntUXc1)5dn^MPx|1 zyxzo9-4;Ill05RhYbVf4O}umYzWw8!ow1%S8fh*W8RD<3dnd!+!6^0mf;`sTl!rhD z`2$oNy#0Ep!&^O%nJAp!4*iRG5RLWv<=hC-XCkfFlz$LU9uGqhb~{zfldfF3fiC7b zlv(tZck&psNsMjezY20Sv$6`XnX^LF{!LB!vUqYI{V<-Xi0$}K+>*(+MT&~p-ZY56 z&lOIy!ok}1tBCDn)h4*YAFc2g_7=6g+IqAtx^0np1J8nWWQkkz>42@SVhi}P25;!m zxC0y5^9tM?-fCq& zSN$HU zldj%*fWkk})z@`%W;XzDwBT2`^_|w=^(qJPRi;nzD|27Pm-L%-Ji26+thLT;+gkT& zp`6Lf^KBx&%`ER;$1J{1HQTWTB_8Qd1zB0l7l zkb6s(VZrIJ4R4d%(Cr>?V!Fr#bB-vv4Z37E0mn6JKdsQQeJOS7Qp>8J{zyce2@!?A z=Avhg?ylWnNVy0*$$S4JWf}i6o;(E%Lsfq$e~-mJ z&U3#l%!wzfCVgt;xrf!wiH{^Kj7KcR(l<8)TmpVccn}S%IBfj^1$PUQdhxZ-W!;_C47JOr|9J zuR%MCFUXvucJAUC_t%_ctmp6M{HRQb%pSb0ep(&!U$m!#ajkA{^_~m&L8<4eWcH+X zfT|;MQKgW7P-S9e%cBFaGAJBx^^dG+tK!K|0(K-k>vQjGrhx_9P>}ET{^88;4MAXb zej7e&AYQ3HxI`61pom|%B#rB)bVQ6t^jq@q&c8sc{oQ=!E60#f!<)(rV@&@z-g=9f z*CvYe(Oxf#2`ra#6YI^^hjKs{IoJXp)e*_<^=Jbo` z>%P3v;;lqo8V?LxFWt1I)=PHhoSkQ~^-{eUvJ~_%hQXYeq?E9d*8f+C84A}+v!Iw; z|LatXt(X34>;F>Cuc@1Ll@W2Si+buOQ0#6A>;MDHk3srjvxX}gus2$-@6mw^+L)Ta z^FAI4dSr7Z(xXR*_7@q@<&bXZR)=BH)XUl(1J8ZgxMbi$W^;`;vMXY511X-YK|)cO zb)5>Qt8PW?O?xv!U9X7!YK42cSYftRYogb@xz`F?naR=WJ$jUwmgF0?eH9rKZ<6a{ z<|_cHe*Ek`pui@yfu{AD zb$}!P!uotO^Lh2Jx$=~?bS${l+wy(MggN!Ksg-$Qx>bgM`4`xL2GfCu6+SG`L*zBd z5l~`}y+#SU&-yRHA;`%(MJuv3j?sY{Saqu!r*2}Sn+m1yFqg225$$o z`}S_$vKVN4mg5(YSjXM+gwU-;mjfH0oR>v{*Iab_Fxf`0B5FGQ+O30^d0Vy-w%t_p zFjE!TgP?q#Fn~K-ls#XSsymfN!bux7M~N_B-sak_Uy;RYEi*$xq;k*UO|(rwt2$H_L}}Fatu+^43SXyABp`j!qU-KmNLU_ZqMqH~96| zzj6Kiu1Fh6^HMeM{lYvn!hXg{&dh4|JN=Cagv#<$g*R4#!kqG{tC| zdUORJccexC1He@OxQ{HkN5p5sw76^wX*1BNf-Jcu2f{~9u$e5vP~bSx(4DU4iw6IF zI?wn;B1xvM-qORZPO)ZhSN|!!A~Hf~$%thTiVP)if4rg>bc zhSy8Od6b9Mk6$gszY600MNAXDTm_E(Yj~+x>OTX_|J)7S#j9=16C`Krg-JST)`(}osli|<{lyA#@6-8eW{k`rII4rf;%jc`MG|PgQ%Au^DvYr`JRf|_zb7q6`0%zxd?3-}KVm)jB%cNTBV7fVxg2cytIVW!@V()N-Z}p5yr%!~Q$u8S zoG7ZCeK3o{EA-uLz5^;EdmZmso?DUh!2Y$4s@3g{5pGwphuB)XKnE7>~|H%TY zoCC_DtO}P{w^QEf_>;f;GO(1!5kKR2`45$;h%lr9J#zMr}^sq2jkA_7|0hB|md+bT6Ad}|Vm z27c{Fkl!->azflfzxG_Sm;PzZ#~w+CW?h<|W5!|D!I~2&V8?N&DKzWW$~$dcXdp@7 zO5>Fp62V_>Y6D_#*{aUs@SthT-t-1!AH=gRV|xS5^P1FJjXk88FF(NY-OPMM_*|RG zY=l%?UfaC_$@@e_{|*q}?Md9nFl;txdx<#gN8#NzHTszP7nz)Ucc<4MK0I7aDC z<1L$;z9#-zfIf42WTrOXGHK>zphugF-sb`VH171}P9}Xj58ZVFCRU_pi}n2?_r2MH z8}#*7*UAFips(M@Jr4%>fExx&8CA$6?Lf}qV+bH;!k8 zk{PNGi}*0WFPeJ(ezbpV(EhV3>;rnk_w&35^r)+0ocY<}i**f87}d6QQfi|J-DTbfX{da7&iI0M`-bgSI5_mj zD;C_Lj?S_?I;gzZ5FFBj$2F-h+o4AT?I_I53+UnW!WHWG`9O42r9?K00yVwkFkeKz zt*PENUgv3Upbz79-cr2I&zN<;8Goic+J*K-M`;~}SMAltw)oYwrzHw~!dU}%001le zh6{Qi_;UnCUFs_t2BBRU<2{ySIhRvnOx^TpHxjsDV4nD|9K&FeOJ0v*`PzXp47yb~ z!{CSnhQS?7OD5qMEKfXF-k3R(2y-wDmOH~UxNO&T{Gvp9cb%jnOP=dy(=hA=XBd=i zqkGeH^xGF`G}#9(lhbFosqtIBos`LQ9%AxMhRiumw?8$Pg6&Ub#bhw(PPRXl-ClD- z>;mB{5|S{1ox#q|#xqmx3d#HVZ04O3M2CU{6Ov=)K5rw?euPxD69oLVn zuk3bT;ZEdDe2_J_44s`Z7jmO2z0L7$)FK#avNsji=%(U(^zFUE>2z>vg6t34pU5$~ z5(Kt5*Hod=)r*f4Y2zi9qn@pd^R3Kf0T;Q=)>q9+>T}c2a6RXsbyHyaU}DY;rhsT7b@3hP7QOwdI7*7+IZ;PbW|3Jx4Gj0mrH#bQ@(E?-!1H z3QO!%)T%eQ`Cn`ou7U~z;+2DhEb+Fb^dAxLZXmh2zz+?v7CG*SM;@Ji-ibk%Y$sgn zxxlFkN#r_ozF~W&-G}5RK$-b3{>gl8a|GvVZM!3ozq`JL4kHiMWfNMg#S>E)8bNJ?hzpdf0xUeXvVpAN=X$z&?=e=lmF3XJ*3OqL>;=l8N!ptloMH^LeI$2{{+MsCPX zxZ6llrTODsy(j(sg(j@O+=rs_TM-?+@hZzRXzv-n%41ypNIZbf_Uw`m{^snGMyp;G zOtq)gp9AU7G;iU)u0!iMK9U{TRqzKp_}=injhz}dP-Ii)ZnHYgud)FjxQRO(XrYO} znr;vLGBolVd%;I61J_CI)Yp5k8tZtczW5;5v9;anRCNL{KIJ+6j?UpdrjqSA*@xq^ zANtqx%IzOYsl-zjlkD^YjY%`uD6xdyIV;jNhJMoM`+t8viVRw8L*5 z=lyJF<9y2OY}BMjhbyU$c{(j$vPqZ}7zpbi6v<$cmDLBHFIkOvQLZWyHjti?HXN#0 zbM8Sw8^jkeL;M}AH}H?}>PE4EQE0^4uJq>^cZZqBj+d^j*k7#k*8rK#zRlD#3q1dWPN9|#FRcIM01xs`?GM}*&yA(9CWcl=4s$? zaaQ^*n<&=7!;pV&cLbl!lrtgoSb5-DxU#dbTWIOMWlx<`rSKH@^SlcOSChKe94|S8 zbfa58cXVt2hoifl7Jh4V>$X3-seCr`5{+(QIJz0A+P0(X6^!nAv1=AZ38e?^Ztv`j z`n`Qs0Vc_hyqv^n2>m$gY>d+6NvORb472L{Hm1%iRF&oEoK1I7a@dLKS9&B~IxLly z5GCCyBt0?Oze#!7y*25ib^lpnM%eSnjI*HEy%-6)8Uz1^IpVIiUpq`vLy8g*=HIvEJI z@S}MLp6ldaO}b~8Q>`Y|6T8ij-Yfg8S3LO~&t_gJitP`@Yz#{oeOuS+97At$_;Er@ zgqsbZ1xA%U{FR00<(lCS($6e!rYSkzeBC|^cvEnHKX2X+FXYWz$CHswcGx-X^5sPF z<@FlnsR3U$jYcU4^R{nY>TCRw@{x9F+z>-2RHUPKjTGrL?f;jXy?M|_>?HMh1o0;i z_%}dRVwY=xCw(dZ#sI$a|A+dRt+#RxVeS@=2 zuKT+fc*c|Ne?AM=0*17isT6bwF60yJFI+0}W0!EF(kEfd63M@3@9w-|t85`#q;D zjBgb;q?K-d1@1)DM8T`rA6YxcbSPteyg|{Z%%}qH#XIGw^P-XBwSb z|M1NEv8C&W8#z56reLppl#?3`9L^U)Lo57XqsM5Qt zbd)MN>D#b{Gea-beHvcJ?7#`@k2jq~k1Sn>WZug=G0Ze+Q_gxjTg^X=Dgl0U9&?YM z@UmL=W9(-6cmM5q%;TU(!Iyey(1bGZXllqb`t3$briE~4AJ_&i{oR#0Zs%?TP0HbRuCI{WxoKzTcK(#-GmjB2 znk$cg7wWG1*Y7ybxv5=ZWFZH(?hpJ(O)Ehl{<|M1uJ0=kH2qWjEBk$uDMkBzL`5;# zbIv5s<*hl9jyCaE1ycGCWK5ZR=_UA?%w;@XbskS;n0LFJPCxh#ogPf519LHZw!x*D z$VFJ2^PT%d{-igC1^%R+4AZvZG#rPL;nY2;^WG2aB&A+D^m{9(16jvackR=qH`J1?SKFBsS4w%Pz- ztR3qJXbl&>xyh~Cx*6@hx+wPxN&){BG+{ddTmQ$glHxkCmi4zP-cnqb?qV@g-|;*9 zlJy?vHhEdN0upKiBVSt~q`+mo(OTM8G~#=zBvL2Uhc5m^ZtPI7g_EQjU3+4Cl-$)K zv&|##9+j1B!IfofU9Cri!J0lsuXUBaB0tOLZS%7fxqHhvntf_2W5^v%) z8EoyPYd>$u+cUVCqo7Qt$W60({UuK-C%(xH`-Ce)6#$iYV0xPO^LBKu2#8^S$$z6q zI?8AMxK?k0$`6L+&%NhW9_q@0{Ced?v&)#-NB`NK``wzqNVJ~Ynbbn49rU~zW!Evi zju;jm-_6Nw>c$h;V=K{&eDkLIk3F{YCe9v{!X=N)SZjNd@IP~;hWlw5b8Q_4F>U5i zDu1Q&YHH#CqCGhz_jdM*L(eL`*KsP_Z(Z4+@i>oD2Rq-prwcJ`JUg68{rPyrR&gp5;uXOA$(ep3pude>J_Dm1O zqW)gHjqC4U_)C9}jQV@gT>Kmj+>fKxuVe+zsRAp%* zwi2pp=I1Yv^s=8G4-nPmi%VXrA2~5+vJ{d>N-j*3Wi_yj;jcT!}e=ZZjfE@wGfdt_$mz>Xb`;`KQoV&<*_-&{FzJ`?KF z+XFqD$kFI(yYbRQdehqUDO?_e=f-kcBU6voHHPJ9bX9W3J|%P{-gJPVrOO_$>;5WV zrvk>yzWYP+z<5z!MU0o;ZH<@GzPys(Wk^${kyBM=Cf3uQ9_DL%R6K^h*ou%)Nt^X9$m{`bSR zqgc`KVeiH-0VQx~b6jku`KR!O-34t&dUj{*+5QAWN~Eh@ONrF%mP@nos@m^bAGt|y zu$x-kJhaa&(4e+$-OSn0v}oVlFO`6`|~m|A@N1G}<| zysw7Z$DGe0@B(bw$IC6uBCT(N^OH3xg|M8zY>F5Z7OG0b*cr8-iA4XE7%+M| zG!YvRJgoX{j`Ld=XGcWhRkD%;lOLt}F@PWNnxt)dZ)5RNelVfN zSRtCzHIrAz#vKFfGl3leMxXkumUdqj%)Li&y)ySU%JPGof2=1oa_%aqID|RKH|laQ z2?yCEoXn@1eJqt4%#1a^`G);3%$5)eSI%usVgKm^wp7 z2SqA&sZE_XC@9(v4?=l-B$REvIaWp61yDS}Z8y_EPyzX4Qv0a))y2+(3 zuoIBTr$E<{rM2nf$xor2D!5$gH?n5uz=g+hRZ2R#08GpI}XEy}8+bINjBIE#M zuRxB4{BHNmw-1jKe=IjEjEoMRKLfcF_P6C9W`_$WXM%3SiS`d@q$mDy(`U@5HTSpF z;9r*uf2EOeuzcvPfxg-Yef2YOy`T+07Aof##K5}=#eI(3S4w~zVP-YF8=vyAFt7Q_ z5__f3e!tcUxo{M$ojj%;INRsJsWt+IaFnu4d=MBJ$NtF~8Fq-M0KWCJJ@~KH+ej{L0cr_fcf& z@|~lL*#qcCWJ1(=XZ|rq@X110fCCRD{t_xM;M;Wn(?(z?yhNt7T>p*AVCfXF z6rv%8HSHy@Q&*gwpmYRTJ3*K6%1*ef)a-=OGyy#`O90gJ$TVp%7uWMfU*~selIuI5 z)R{*br8b;tlzOL6ca(iZsg)F=)F&dC+3QtUBGn@^Gayy5t(UHzf%Oi-of89f`9Xtt6PU>UIzRK|G{9s z2!1I5J9uws#)}s($ihFzOAKNH7# zcWSXEmGGD(bQx+t$u zt9QsBqz__W*2{D7fx~mBR5AB!aO2DZX05xiEI#FBi5u3fc57J^Yg=52BzHm0c*O=o zhGsraMMpAx`7B3FQhA%;55kq}^wA=30cByrf{ESAyh%x5^quuJKBdxRmThInn+8y* z&fLEr|2}n^VX@WwJ22R|ZZEgR*1`^9m9x6B*ZRfa6dSFT%@n)=WZXn3<3q_^f5!fC zc)(~}Si~Gn6}K6VP?k)}Se? z$#iC1%R1GW2O~TLxcbQ`6yVCEVCi$hcGIzL+40%QrDA^*qlN1ijFn)P`Y##*Xg_u- zeM)x_g=J26!`z?9lN8yRHstLY{FXoC0~?9>V#9dTYZTxr#}=zL5^M3fKZD2Feylpw zgxd~JyAzdf(CSPZUUSjhOt%i1%QXDv%1`+1HT~U4C7I*&=gcueM03&gsyS9Q)j_I1 zr0R!J-8I>VFT_W={NjJ5zNTY~53vq>+)Fq71^CWIvbTp2;Vzb28TC83Kkk`$atmN1 zM|6K&$y*F2o?M?Nei@jH)?bf4$P5%7cjz5{@oME zzaz5pkEt#BcX@<|-z)#J<6DFLE6JCC^r=Ap@g$Oe{QfucZ-X_+zoAb4VSHoGdT-F` zOdB5Z4@)=Gpy4-H?#g?wX=s2>PKBYzd@dr zd7aIRAb)k_N3ipd;8tqlQG{4H*YjkD{U2=0#RihS

      {Ck>B^m-mZQ+SX-CK$Y{l$F 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�eVJ;&=YtBX!rSN3lGZiAM}*6(=ksw{i1i?^|n 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

      pJ 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

      5tK@(ZD>PbQ_q>o0hsJzy{{B?W0aB=cJu6 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 z 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%0D9b)nY$)5rK^bnKF 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%0An~ZHT`boYV13T0qS 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

      1CQ{&{!>6 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%0DyT+a0-)F~_)@z~&z>QXos5SQF?KW_! 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 z zz;ZjV1cDC2;hUi3YXcc&DId$Of@uEalXfvaA=$wvr{nqL1fDqpE5-AP`Xz8QSKFaq z;vaf1pG1d#sLLmd{e`_Y;wV$S?BSChLG%E^Fj2dFQarUa!FXuH4Jd_MrtAQpG%0Ax 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�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

      (ep_XeiXM)serzXaSB?1JI957d>29ZFH+Km?oWx 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 UpQkQh-|z1>k7=ZI4tOxLdGbm2Q3mv7lwpR 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Ⓢ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 IAQklf4}?YM3;+NC diff --git a/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pxd b/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pxd index cd221fb..a9ac8d5 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pxd +++ b/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pxd @@ -31,6 +31,7 @@ cdef class BaseProtocol(CoreProtocol): cdef: object loop + object address ConnectionSettings settings object cancel_sent_waiter object cancel_waiter diff --git a/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pyi b/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pyi deleted file mode 100644 index b81d13c..0000000 --- a/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pyi +++ /dev/null @@ -1,300 +0,0 @@ -import asyncio -import asyncio.protocols -import hmac -from codecs import CodecInfo -from collections.abc import Callable, Iterable, Iterator, Sequence -from hashlib import md5, sha256 -from typing import ( - Any, - ClassVar, - Final, - Generic, - Literal, - NewType, - TypeVar, - final, - overload, -) -from typing_extensions import TypeAlias - -import asyncpg.pgproto.pgproto - -from ..connect_utils import _ConnectionParameters -from ..pgproto.pgproto import WriteBuffer -from ..types import Attribute, Type - -_T = TypeVar('_T') -_Record = TypeVar('_Record', bound=Record) -_OtherRecord = TypeVar('_OtherRecord', bound=Record) -_PreparedStatementState = TypeVar( - '_PreparedStatementState', bound=PreparedStatementState[Any] -) - -_NoTimeoutType = NewType('_NoTimeoutType', object) -_TimeoutType: TypeAlias = float | None | _NoTimeoutType - -BUILTIN_TYPE_NAME_MAP: Final[dict[str, int]] -BUILTIN_TYPE_OID_MAP: Final[dict[int, str]] -NO_TIMEOUT: Final[_NoTimeoutType] - -hashlib_md5 = md5 - -@final -class ConnectionSettings(asyncpg.pgproto.pgproto.CodecContext): - __pyx_vtable__: Any - def __init__(self, conn_key: object) -> None: ... - def add_python_codec( - self, - typeoid: int, - typename: str, - typeschema: str, - typeinfos: Iterable[object], - typekind: str, - encoder: Callable[[Any], Any], - decoder: Callable[[Any], Any], - format: object, - ) -> Any: ... - def clear_type_cache(self) -> None: ... - def get_data_codec( - self, oid: int, format: object = ..., ignore_custom_codec: bool = ... - ) -> Any: ... - def get_text_codec(self) -> CodecInfo: ... - def register_data_types(self, types: Iterable[object]) -> None: ... - def remove_python_codec( - self, typeoid: int, typename: str, typeschema: str - ) -> None: ... - def set_builtin_type_codec( - self, - typeoid: int, - typename: str, - typeschema: str, - typekind: str, - alias_to: str, - format: object = ..., - ) -> Any: ... - def __getattr__(self, name: str) -> Any: ... - def __reduce__(self) -> Any: ... - -@final -class PreparedStatementState(Generic[_Record]): - closed: bool - prepared: bool - name: str - query: str - refs: int - record_class: type[_Record] - ignore_custom_codec: bool - __pyx_vtable__: Any - def __init__( - self, - name: str, - query: str, - protocol: BaseProtocol[Any], - record_class: type[_Record], - ignore_custom_codec: bool, - ) -> None: ... - def _get_parameters(self) -> tuple[Type, ...]: ... - def _get_attributes(self) -> tuple[Attribute, ...]: ... - def _init_types(self) -> set[int]: ... - def _init_codecs(self) -> None: ... - def attach(self) -> None: ... - def detach(self) -> None: ... - def mark_closed(self) -> None: ... - def mark_unprepared(self) -> None: ... - def __reduce__(self) -> Any: ... - -class CoreProtocol: - backend_pid: Any - backend_secret: Any - __pyx_vtable__: Any - def __init__(self, addr: object, con_params: _ConnectionParameters) -> None: ... - def is_in_transaction(self) -> bool: ... - def __reduce__(self) -> Any: ... - -class BaseProtocol(CoreProtocol, Generic[_Record]): - queries_count: Any - is_ssl: bool - __pyx_vtable__: Any - def __init__( - self, - addr: object, - connected_fut: object, - con_params: _ConnectionParameters, - record_class: type[_Record], - loop: object, - ) -> None: ... - def set_connection(self, connection: object) -> None: ... - def get_server_pid(self, *args: object, **kwargs: object) -> int: ... - def get_settings(self, *args: object, **kwargs: object) -> ConnectionSettings: ... - def get_record_class(self) -> type[_Record]: ... - def abort(self) -> None: ... - async def bind( - self, - state: PreparedStatementState[_OtherRecord], - args: Sequence[object], - portal_name: str, - timeout: _TimeoutType, - ) -> Any: ... - @overload - async def bind_execute( - self, - state: PreparedStatementState[_OtherRecord], - args: Sequence[object], - portal_name: str, - limit: int, - return_extra: Literal[False], - timeout: _TimeoutType, - ) -> list[_OtherRecord]: ... - @overload - async def bind_execute( - self, - state: PreparedStatementState[_OtherRecord], - args: Sequence[object], - portal_name: str, - limit: int, - return_extra: Literal[True], - timeout: _TimeoutType, - ) -> tuple[list[_OtherRecord], bytes, bool]: ... - @overload - async def bind_execute( - self, - state: PreparedStatementState[_OtherRecord], - args: Sequence[object], - portal_name: str, - limit: int, - return_extra: bool, - timeout: _TimeoutType, - ) -> list[_OtherRecord] | tuple[list[_OtherRecord], bytes, bool]: ... - async def bind_execute_many( - self, - state: PreparedStatementState[_OtherRecord], - args: Iterable[Sequence[object]], - portal_name: str, - timeout: _TimeoutType, - ) -> None: ... - async def close(self, timeout: _TimeoutType) -> None: ... - def _get_timeout(self, timeout: _TimeoutType) -> float | None: ... - def _is_cancelling(self) -> bool: ... - async def _wait_for_cancellation(self) -> None: ... - async def close_statement( - self, state: PreparedStatementState[_OtherRecord], timeout: _TimeoutType - ) -> Any: ... - async def copy_in(self, *args: object, **kwargs: object) -> str: ... - async def copy_out(self, *args: object, **kwargs: object) -> str: ... - async def execute(self, *args: object, **kwargs: object) -> Any: ... - def is_closed(self, *args: object, **kwargs: object) -> Any: ... - def is_connected(self, *args: object, **kwargs: object) -> Any: ... - def data_received(self, data: object) -> None: ... - def connection_made(self, transport: object) -> None: ... - def connection_lost(self, exc: Exception | None) -> None: ... - def pause_writing(self, *args: object, **kwargs: object) -> Any: ... - @overload - async def prepare( - self, - stmt_name: str, - query: str, - timeout: float | None = ..., - *, - state: _PreparedStatementState, - ignore_custom_codec: bool = ..., - record_class: None, - ) -> _PreparedStatementState: ... - @overload - async def prepare( - self, - stmt_name: str, - query: str, - timeout: float | None = ..., - *, - state: None = ..., - ignore_custom_codec: bool = ..., - record_class: type[_OtherRecord], - ) -> PreparedStatementState[_OtherRecord]: ... - async def close_portal(self, portal_name: str, timeout: _TimeoutType) -> None: ... - async def query(self, *args: object, **kwargs: object) -> str: ... - def resume_writing(self, *args: object, **kwargs: object) -> Any: ... - def __reduce__(self) -> Any: ... - -@final -class Codec: - __pyx_vtable__: Any - def __reduce__(self) -> Any: ... - -class DataCodecConfig: - __pyx_vtable__: Any - def __init__(self) -> None: ... - def add_python_codec( - self, - typeoid: int, - typename: str, - typeschema: str, - typekind: str, - typeinfos: Iterable[object], - encoder: Callable[[ConnectionSettings, WriteBuffer, object], object], - decoder: Callable[..., object], - format: object, - xformat: object, - ) -> Any: ... - def add_types(self, types: Iterable[object]) -> Any: ... - def clear_type_cache(self) -> None: ... - def declare_fallback_codec(self, oid: int, name: str, schema: str) -> Codec: ... - def remove_python_codec( - self, typeoid: int, typename: str, typeschema: str - ) -> Any: ... - def set_builtin_type_codec( - self, - typeoid: int, - typename: str, - typeschema: str, - typekind: str, - alias_to: str, - format: object = ..., - ) -> Any: ... - def __reduce__(self) -> Any: ... - -class Protocol(BaseProtocol[_Record], asyncio.protocols.Protocol): ... - -class Record: - @overload - def get(self, key: str) -> Any | None: ... - @overload - def get(self, key: str, default: _T) -> Any | _T: ... - def items(self) -> Iterator[tuple[str, Any]]: ... - def keys(self) -> Iterator[str]: ... - def values(self) -> Iterator[Any]: ... - @overload - def __getitem__(self, index: str) -> Any: ... - @overload - def __getitem__(self, index: int) -> Any: ... - @overload - def __getitem__(self, index: slice) -> tuple[Any, ...]: ... - def __iter__(self) -> Iterator[Any]: ... - def __contains__(self, x: object) -> bool: ... - def __len__(self) -> int: ... - -class Timer: - def __init__(self, budget: float | None) -> None: ... - def __enter__(self) -> None: ... - def __exit__(self, et: object, e: object, tb: object) -> None: ... - def get_remaining_budget(self) -> float: ... - def has_budget_greater_than(self, amount: float) -> bool: ... - -@final -class SCRAMAuthentication: - AUTHENTICATION_METHODS: ClassVar[list[str]] - DEFAULT_CLIENT_NONCE_BYTES: ClassVar[int] - DIGEST = sha256 - REQUIREMENTS_CLIENT_FINAL_MESSAGE: ClassVar[list[str]] - REQUIREMENTS_CLIENT_PROOF: ClassVar[list[str]] - SASLPREP_PROHIBITED: ClassVar[tuple[Callable[[str], bool], ...]] - authentication_method: bytes - authorization_message: bytes | None - client_channel_binding: bytes - client_first_message_bare: bytes | None - client_nonce: bytes | None - client_proof: bytes | None - password_salt: bytes | None - password_iterations: int - server_first_message: bytes | None - server_key: hmac.HMAC | None - server_nonce: bytes | None diff --git a/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pyx b/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pyx index bd2ad05..b43b0e9 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pyx +++ b/venv/lib/python3.12/site-packages/asyncpg/protocol/protocol.pyx @@ -75,7 +75,7 @@ NO_TIMEOUT = object() cdef class BaseProtocol(CoreProtocol): def __init__(self, addr, connected_fut, con_params, record_class: type, loop): # type of `con_params` is `_ConnectionParameters` - CoreProtocol.__init__(self, addr, con_params) + CoreProtocol.__init__(self, con_params) self.loop = loop self.transport = None @@ -83,7 +83,8 @@ cdef class BaseProtocol(CoreProtocol): self.cancel_waiter = None self.cancel_sent_waiter = None - self.settings = ConnectionSettings((addr, con_params.database)) + self.address = addr + self.settings = ConnectionSettings((self.address, con_params.database)) self.record_class = record_class self.statement = None @@ -212,7 +213,6 @@ cdef class BaseProtocol(CoreProtocol): args, portal_name: str, timeout, - return_rows: bool, ): if self.cancel_waiter is not None: await self.cancel_waiter @@ -238,8 +238,7 @@ cdef class BaseProtocol(CoreProtocol): more = self._bind_execute_many( portal_name, state.name, - arg_bufs, - return_rows) # network op + arg_bufs) # network op self.last_query = state.query self.statement = state diff --git a/venv/lib/python3.12/site-packages/asyncpg/protocol/settings.pyx b/venv/lib/python3.12/site-packages/asyncpg/protocol/settings.pyx index 2b53566..8e6591b 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/protocol/settings.pyx +++ b/venv/lib/python3.12/site-packages/asyncpg/protocol/settings.pyx @@ -11,12 +11,12 @@ from asyncpg import exceptions @cython.final cdef class ConnectionSettings(pgproto.CodecContext): - def __cinit__(self): + def __cinit__(self, conn_key): self._encoding = 'utf-8' self._is_utf8 = True self._settings = {} self._codec = codecs.lookup('utf-8') - self._data_codecs = DataCodecConfig() + self._data_codecs = DataCodecConfig(conn_key) cdef add_setting(self, str name, str val): self._settings[name] = val diff --git a/venv/lib/python3.12/site-packages/asyncpg/serverversion.py b/venv/lib/python3.12/site-packages/asyncpg/serverversion.py index ee9647b..31568a2 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/serverversion.py +++ b/venv/lib/python3.12/site-packages/asyncpg/serverversion.py @@ -4,14 +4,12 @@ # This module is part of asyncpg and is released under # the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0 -from __future__ import annotations import re -import typing from .types import ServerVersion -version_regex: typing.Final = re.compile( +version_regex = re.compile( r"(Postgre[^\s]*)?\s*" r"(?P[0-9]+)\.?" r"((?P[0-9]+)\.?)?" @@ -21,15 +19,7 @@ version_regex: typing.Final = re.compile( ) -class _VersionDict(typing.TypedDict): - major: int - minor: int | None - micro: int | None - releaselevel: str | None - serial: int | None - - -def split_server_version_string(version_string: str) -> ServerVersion: +def split_server_version_string(version_string): version_match = version_regex.search(version_string) if version_match is None: @@ -38,17 +28,17 @@ def split_server_version_string(version_string: str) -> ServerVersion: f'version from "{version_string}"' ) - version: _VersionDict = version_match.groupdict() # type: ignore[assignment] # noqa: E501 + version = version_match.groupdict() for ver_key, ver_value in version.items(): # Cast all possible versions parts to int try: - version[ver_key] = int(ver_value) # type: ignore[literal-required, call-overload] # noqa: E501 + version[ver_key] = int(ver_value) except (TypeError, ValueError): pass - if version["major"] < 10: + if version.get("major") < 10: return ServerVersion( - version["major"], + version.get("major"), version.get("minor") or 0, version.get("micro") or 0, version.get("releaselevel") or "final", @@ -62,7 +52,7 @@ def split_server_version_string(version_string: str) -> ServerVersion: # want to keep that behaviour consistent, i.e not fail # a major version check due to a bugfix release. return ServerVersion( - version["major"], + version.get("major"), 0, version.get("minor") or 0, version.get("releaselevel") or "final", diff --git a/venv/lib/python3.12/site-packages/asyncpg/types.py b/venv/lib/python3.12/site-packages/asyncpg/types.py index 7a24e24..bd5813f 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/types.py +++ b/venv/lib/python3.12/site-packages/asyncpg/types.py @@ -4,18 +4,14 @@ # This module is part of asyncpg and is released under # the Apache 2.0 License: http://www.apache.org/licenses/LICENSE-2.0 -from __future__ import annotations -import typing +import collections from asyncpg.pgproto.types import ( BitString, Point, Path, Polygon, Box, Line, LineSegment, Circle, ) -if typing.TYPE_CHECKING: - from typing_extensions import Self - __all__ = ( 'Type', 'Attribute', 'Range', 'BitString', 'Point', 'Path', 'Polygon', @@ -23,13 +19,7 @@ __all__ = ( ) -class Type(typing.NamedTuple): - oid: int - name: str - kind: str - schema: str - - +Type = collections.namedtuple('Type', ['oid', 'name', 'kind', 'schema']) Type.__doc__ = 'Database data type.' Type.oid.__doc__ = 'OID of the type.' Type.name.__doc__ = 'Type name. For example "int2".' @@ -38,61 +28,25 @@ Type.kind.__doc__ = \ Type.schema.__doc__ = 'Name of the database schema that defines the type.' -class Attribute(typing.NamedTuple): - name: str - type: Type - - +Attribute = collections.namedtuple('Attribute', ['name', 'type']) Attribute.__doc__ = 'Database relation attribute.' Attribute.name.__doc__ = 'Attribute name.' Attribute.type.__doc__ = 'Attribute data type :class:`asyncpg.types.Type`.' -class ServerVersion(typing.NamedTuple): - major: int - minor: int - micro: int - releaselevel: str - serial: int - - +ServerVersion = collections.namedtuple( + 'ServerVersion', ['major', 'minor', 'micro', 'releaselevel', 'serial']) ServerVersion.__doc__ = 'PostgreSQL server version tuple.' -class _RangeValue(typing.Protocol): - def __eq__(self, __value: object) -> bool: - ... - - def __lt__(self, __other: _RangeValue) -> bool: - ... - - def __gt__(self, __other: _RangeValue) -> bool: - ... - - -_RV = typing.TypeVar('_RV', bound=_RangeValue) - - -class Range(typing.Generic[_RV]): +class Range: """Immutable representation of PostgreSQL `range` type.""" - __slots__ = ('_lower', '_upper', '_lower_inc', '_upper_inc', '_empty') + __slots__ = '_lower', '_upper', '_lower_inc', '_upper_inc', '_empty' - _lower: _RV | None - _upper: _RV | None - _lower_inc: bool - _upper_inc: bool - _empty: bool - - def __init__( - self, - lower: _RV | None = None, - upper: _RV | None = None, - *, - lower_inc: bool = True, - upper_inc: bool = False, - empty: bool = False - ) -> None: + def __init__(self, lower=None, upper=None, *, + lower_inc=True, upper_inc=False, + empty=False): self._empty = empty if empty: self._lower = self._upper = None @@ -104,34 +58,34 @@ class Range(typing.Generic[_RV]): self._upper_inc = upper is not None and upper_inc @property - def lower(self) -> _RV | None: + def lower(self): return self._lower @property - def lower_inc(self) -> bool: + def lower_inc(self): return self._lower_inc @property - def lower_inf(self) -> bool: + def lower_inf(self): return self._lower is None and not self._empty @property - def upper(self) -> _RV | None: + def upper(self): return self._upper @property - def upper_inc(self) -> bool: + def upper_inc(self): return self._upper_inc @property - def upper_inf(self) -> bool: + def upper_inf(self): return self._upper is None and not self._empty @property - def isempty(self) -> bool: + def isempty(self): return self._empty - def _issubset_lower(self, other: Self) -> bool: + def _issubset_lower(self, other): if other._lower is None: return True if self._lower is None: @@ -142,7 +96,7 @@ class Range(typing.Generic[_RV]): and (other._lower_inc or not self._lower_inc) ) - def _issubset_upper(self, other: Self) -> bool: + def _issubset_upper(self, other): if other._upper is None: return True if self._upper is None: @@ -153,7 +107,7 @@ class Range(typing.Generic[_RV]): and (other._upper_inc or not self._upper_inc) ) - def issubset(self, other: Self) -> bool: + def issubset(self, other): if self._empty: return True if other._empty: @@ -161,13 +115,13 @@ class Range(typing.Generic[_RV]): return self._issubset_lower(other) and self._issubset_upper(other) - def issuperset(self, other: Self) -> bool: + def issuperset(self, other): return other.issubset(self) - def __bool__(self) -> bool: + def __bool__(self): return not self._empty - def __eq__(self, other: object) -> bool: + def __eq__(self, other): if not isinstance(other, Range): return NotImplemented @@ -178,14 +132,14 @@ class Range(typing.Generic[_RV]): self._upper_inc, self._empty ) == ( - other._lower, # pyright: ignore [reportUnknownMemberType] - other._upper, # pyright: ignore [reportUnknownMemberType] + other._lower, + other._upper, other._lower_inc, other._upper_inc, other._empty ) - def __hash__(self) -> int: + def __hash__(self): return hash(( self._lower, self._upper, @@ -194,7 +148,7 @@ class Range(typing.Generic[_RV]): self._empty )) - def __repr__(self) -> str: + def __repr__(self): if self._empty: desc = 'empty' else: diff --git a/venv/lib/python3.12/site-packages/asyncpg/utils.py b/venv/lib/python3.12/site-packages/asyncpg/utils.py index 5c1ca69..3940e04 100644 --- a/venv/lib/python3.12/site-packages/asyncpg/utils.py +++ b/venv/lib/python3.12/site-packages/asyncpg/utils.py @@ -42,11 +42,4 @@ async def _mogrify(conn, query, args): # Finally, replace $n references with text values. return re.sub( - r"\$(\d+)\b", - lambda m: ( - textified[int(m.group(1)) - 1] - if textified[int(m.group(1)) - 1] is not None - else "NULL" - ), - query, - ) + r'\$(\d+)\b', lambda m: textified[int(m.group(1)) - 1], query) diff --git a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/LICENSE diff --git a/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/METADATA b/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/METADATA similarity index 79% rename from venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/METADATA rename to venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/METADATA index 629a992..789f784 100644 --- a/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/METADATA @@ -1,32 +1,30 @@ -Metadata-Version: 2.4 +Metadata-Version: 2.1 Name: bcrypt -Version: 5.0.0 +Version: 4.0.1 Summary: Modern password hashing for your software and your servers -Author-email: The Python Cryptographic Authority developers -License: Apache-2.0 -Project-URL: homepage, https://github.com/pyca/bcrypt/ +Home-page: https://github.com/pyca/bcrypt/ +Author: The Python Cryptographic Authority developers +Author-email: cryptography-dev@python.org +License: Apache License, Version 2.0 +Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: License :: OSI Approved :: Apache Software License Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 -Classifier: Programming Language :: Python :: 3.14 -Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable -Requires-Python: >=3.8 +Requires-Python: >=3.6 Description-Content-Type: text/x-rst License-File: LICENSE Provides-Extra: tests -Requires-Dist: pytest!=3.3.0,>=3.2.1; extra == "tests" +Requires-Dist: pytest (!=3.3.0,>=3.2.1) ; extra == 'tests' Provides-Extra: typecheck -Requires-Dist: mypy; extra == "typecheck" -Dynamic: license-file +Requires-Dist: mypy ; extra == 'typecheck' bcrypt ====== @@ -47,7 +45,7 @@ Installation To install bcrypt, simply: -.. code:: console +.. code:: bash $ pip install bcrypt @@ -56,19 +54,19 @@ compiler and a Rust compiler (the minimum supported Rust version is 1.56.0). For Debian and Ubuntu, the following command will ensure that the required dependencies are installed: -.. code:: console +.. code:: bash $ sudo apt-get install build-essential cargo For Fedora and RHEL-derivatives, the following command will ensure that the required dependencies are installed: -.. code:: console +.. code:: bash $ sudo yum install gcc cargo For Alpine, the following command will ensure that the required dependencies are installed: -.. code:: console +.. code:: bash $ apk add --update musl-dev gcc cargo @@ -81,62 +79,6 @@ While bcrypt remains an acceptable choice for password storage, depending on you Changelog ========= -5.0.0 ------ - -* Bumped MSRV to 1.74. -* Added support for Python 3.14 and free-threaded Python 3.14. -* Added support for Windows on ARM. -* Passing ``hashpw`` a password longer than 72 bytes now raises a - ``ValueError``. Previously the password was silently truncated, following the - behavior of the original OpenBSD ``bcrypt`` implementation. - -4.3.0 ------ - -* Dropped support for Python 3.7. -* We now support free-threaded Python 3.13. -* We now support PyPy 3.11. -* We now publish wheels for free-threaded Python 3.13, for PyPy 3.11 on - ``manylinux``, and for ARMv7l on ``manylinux``. - -4.2.1 ------ - -* Bump Rust dependency versions - this should resolve crashes on Python 3.13 - free-threaded builds. -* We no longer build ``manylinux`` wheels for PyPy 3.9. - -4.2.0 ------ - -* Bump Rust dependency versions -* Removed the ``BCRYPT_ALLOW_RUST_163`` environment variable. - -4.1.3 ------ - -* Bump Rust dependency versions - -4.1.2 ------ - -* Publish both ``py37`` and ``py39`` wheels. This should resolve some errors - relating to initializing a module multiple times per process. - -4.1.1 ------ - -* Fixed the type signature on the ``kdf`` method. -* Fixed packaging bug on Windows. -* Fixed incompatibility with passlib package detection assumptions. - -4.1.0 ------ - -* Dropped support for Python 3.6. -* Bumped MSRV to 1.64. (Note: Rust 1.63 can be used by setting the ``BCRYPT_ALLOW_RUST_163`` environment variable) - 4.0.1 ----- @@ -329,7 +271,12 @@ Compatibility ------------- This library should be compatible with py-bcrypt and it will run on Python -3.8+ (including free-threaded builds), and PyPy 3. +3.6+, and PyPy 3. + +C Code +------ + +This library uses code from OpenBSD. Security -------- @@ -341,3 +288,5 @@ identify a vulnerability, we ask you to contact us privately. .. _`standard library`: https://docs.python.org/3/library/hashlib.html#hashlib.scrypt .. _`argon2_cffi`: https://argon2-cffi.readthedocs.io .. _`cryptography`: https://cryptography.io/en/latest/hazmat/primitives/key-derivation-functions/#cryptography.hazmat.primitives.kdf.scrypt.Scrypt + + diff --git a/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/RECORD b/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/RECORD new file mode 100644 index 0000000..217979e --- /dev/null +++ b/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/RECORD @@ -0,0 +1,14 @@ +bcrypt-4.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +bcrypt-4.0.1.dist-info/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850 +bcrypt-4.0.1.dist-info/METADATA,sha256=peZwWFa95xnpp4NiIE7gJkV01CTkbVXIzoEN66SXd3c,8972 +bcrypt-4.0.1.dist-info/RECORD,, +bcrypt-4.0.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +bcrypt-4.0.1.dist-info/WHEEL,sha256=ZXaM-AC_dnzk1sUAdQV_bMrIMG6zI-GthFaEkNkWsgU,112 +bcrypt-4.0.1.dist-info/top_level.txt,sha256=BkR_qBzDbSuycMzHWE1vzXrfYecAzUVmQs6G2CukqNI,7 +bcrypt/__about__.py,sha256=F7i0CQOa8G3Yjw1T71jQv8yi__Z_4TzLyZJv1GFqVx0,1320 +bcrypt/__init__.py,sha256=EpUdbfHaiHlSoaM-SSUB6MOgNpWOIkS0ZrjxogPIRLM,3781 +bcrypt/__pycache__/__about__.cpython-312.pyc,, +bcrypt/__pycache__/__init__.cpython-312.pyc,, +bcrypt/_bcrypt.abi3.so,sha256=_T-y5IrekziUzkYio4hWH7Xzw92XBKewSLd8kmERhGU,1959696 +bcrypt/_bcrypt.pyi,sha256=O-vvHdooGyAxIkdKemVqOzBF5aMhh0evPSaDMgETgEk,214 +bcrypt/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/WHEEL b/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/WHEEL new file mode 100644 index 0000000..dc50279 --- /dev/null +++ b/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.37.1) +Root-Is-Purelib: false +Tag: cp36-abi3-manylinux_2_28_x86_64 + diff --git a/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/top_level.txt similarity index 100% rename from venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/top_level.txt rename to venv/lib/python3.12/site-packages/bcrypt-4.0.1.dist-info/top_level.txt diff --git a/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/RECORD b/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/RECORD deleted file mode 100644 index 2692cc7..0000000 --- a/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/RECORD +++ /dev/null @@ -1,12 +0,0 @@ -bcrypt-5.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -bcrypt-5.0.0.dist-info/METADATA,sha256=yV1BfLlI6udlVy23eNbzDa62DSEbUrlWvlLBCI6UAdI,10524 -bcrypt-5.0.0.dist-info/RECORD,, -bcrypt-5.0.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -bcrypt-5.0.0.dist-info/WHEEL,sha256=WieEZvWpc0Erab6-NfTu9412g-GcE58js6gvBn3Q7B4,111 -bcrypt-5.0.0.dist-info/licenses/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850 -bcrypt-5.0.0.dist-info/top_level.txt,sha256=BkR_qBzDbSuycMzHWE1vzXrfYecAzUVmQs6G2CukqNI,7 -bcrypt/__init__.py,sha256=cv-NupIX6P7o6A4PK_F0ur6IZoDr3GnvyzFO9k16wKQ,1000 -bcrypt/__init__.pyi,sha256=ITUCB9mPVU8sKUbJQMDUH5YfQXZb1O55F9qvKZR_o8I,333 -bcrypt/__pycache__/__init__.cpython-312.pyc,, -bcrypt/_bcrypt.abi3.so,sha256=oFwJu4Gq44FqJDttx_oWpypfuUQ30BkCWzD2FhojdYw,631768 -bcrypt/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/WHEEL b/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/WHEEL deleted file mode 100644 index eb203c1..0000000 --- a/venv/lib/python3.12/site-packages/bcrypt-5.0.0.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: setuptools (80.9.0) -Root-Is-Purelib: false -Tag: cp39-abi3-manylinux_2_34_x86_64 - diff --git a/venv/lib/python3.12/site-packages/bcrypt/__about__.py b/venv/lib/python3.12/site-packages/bcrypt/__about__.py new file mode 100644 index 0000000..020b748 --- /dev/null +++ b/venv/lib/python3.12/site-packages/bcrypt/__about__.py @@ -0,0 +1,41 @@ +# Author:: Donald Stufft () +# Copyright:: Copyright (c) 2013 Donald Stufft +# License:: Apache License, Version 2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from __future__ import absolute_import +from __future__ import division +from __future__ import unicode_literals + +__all__ = [ + "__title__", + "__summary__", + "__uri__", + "__version__", + "__author__", + "__email__", + "__license__", + "__copyright__", +] + +__title__ = "bcrypt" +__summary__ = "Modern password hashing for your software and your servers" +__uri__ = "https://github.com/pyca/bcrypt/" + +__version__ = "4.0.1" + +__author__ = "The Python Cryptographic Authority developers" +__email__ = "cryptography-dev@python.org" + +__license__ = "Apache License, Version 2.0" +__copyright__ = "Copyright 2013-2022 {0}".format(__author__) diff --git a/venv/lib/python3.12/site-packages/bcrypt/__init__.py b/venv/lib/python3.12/site-packages/bcrypt/__init__.py index 81a92fd..1f2886f 100644 --- a/venv/lib/python3.12/site-packages/bcrypt/__init__.py +++ b/venv/lib/python3.12/site-packages/bcrypt/__init__.py @@ -1,3 +1,7 @@ +# Author:: Donald Stufft () +# Copyright:: Copyright (c) 2013 Donald Stufft +# License:: Apache License, Version 2.0 +# # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -9,8 +13,14 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +from __future__ import absolute_import +from __future__ import division -from ._bcrypt import ( +import hmac +import os +import warnings + +from .__about__ import ( __author__, __copyright__, __email__, @@ -18,26 +28,100 @@ from ._bcrypt import ( __summary__, __title__, __uri__, - checkpw, - gensalt, - hashpw, - kdf, -) -from ._bcrypt import ( - __version_ex__ as __version__, + __version__, ) +from . import _bcrypt # noqa: I100 + __all__ = [ - "__author__", - "__copyright__", - "__email__", - "__license__", - "__summary__", "__title__", + "__summary__", "__uri__", "__version__", - "checkpw", + "__author__", + "__email__", + "__license__", + "__copyright__", "gensalt", "hashpw", "kdf", + "checkpw", ] + + +def gensalt(rounds: int = 12, prefix: bytes = b"2b") -> bytes: + if prefix not in (b"2a", b"2b"): + raise ValueError("Supported prefixes are b'2a' or b'2b'") + + if rounds < 4 or rounds > 31: + raise ValueError("Invalid rounds") + + salt = os.urandom(16) + output = _bcrypt.encode_base64(salt) + + return ( + b"$" + + prefix + + b"$" + + ("%2.2u" % rounds).encode("ascii") + + b"$" + + output + ) + + +def hashpw(password: bytes, salt: bytes) -> bytes: + if isinstance(password, str) or isinstance(salt, str): + raise TypeError("Strings must be encoded before hashing") + + # bcrypt originally suffered from a wraparound bug: + # http://www.openwall.com/lists/oss-security/2012/01/02/4 + # This bug was corrected in the OpenBSD source by truncating inputs to 72 + # bytes on the updated prefix $2b$, but leaving $2a$ unchanged for + # compatibility. However, pyca/bcrypt 2.0.0 *did* correctly truncate inputs + # on $2a$, so we do it here to preserve compatibility with 2.0.0 + password = password[:72] + + return _bcrypt.hashpass(password, salt) + + +def checkpw(password: bytes, hashed_password: bytes) -> bool: + if isinstance(password, str) or isinstance(hashed_password, str): + raise TypeError("Strings must be encoded before checking") + + ret = hashpw(password, hashed_password) + return hmac.compare_digest(ret, hashed_password) + + +def kdf( + password: bytes, + salt: bytes, + desired_key_bytes: int, + rounds: int, + ignore_few_rounds: bool = False, +) -> bytes: + if isinstance(password, str) or isinstance(salt, str): + raise TypeError("Strings must be encoded before hashing") + + if len(password) == 0 or len(salt) == 0: + raise ValueError("password and salt must not be empty") + + if desired_key_bytes <= 0 or desired_key_bytes > 512: + raise ValueError("desired_key_bytes must be 1-512") + + if rounds < 1: + raise ValueError("rounds must be 1 or more") + + if rounds < 50 and not ignore_few_rounds: + # They probably think bcrypt.kdf()'s rounds parameter is logarithmic, + # expecting this value to be slow enough (it probably would be if this + # were bcrypt). Emit a warning. + warnings.warn( + ( + "Warning: bcrypt.kdf() called with only {0} round(s). " + "This few is not secure: the parameter is linear, like PBKDF2." + ).format(rounds), + UserWarning, + stacklevel=2, + ) + + return _bcrypt.pbkdf(password, salt, rounds, desired_key_bytes) diff --git a/venv/lib/python3.12/site-packages/bcrypt/__init__.pyi b/venv/lib/python3.12/site-packages/bcrypt/__init__.pyi deleted file mode 100644 index 12e4a2e..0000000 --- a/venv/lib/python3.12/site-packages/bcrypt/__init__.pyi +++ /dev/null @@ -1,10 +0,0 @@ -def gensalt(rounds: int = 12, prefix: bytes = b"2b") -> bytes: ... -def hashpw(password: bytes, salt: bytes) -> bytes: ... -def checkpw(password: bytes, hashed_password: bytes) -> bool: ... -def kdf( - password: bytes, - salt: bytes, - desired_key_bytes: int, - rounds: int, - ignore_few_rounds: bool = False, -) -> bytes: ... diff --git a/venv/lib/python3.12/site-packages/bcrypt/_bcrypt.abi3.so b/venv/lib/python3.12/site-packages/bcrypt/_bcrypt.abi3.so index 4806fec6e5b4f0348f075a3294093d75464adc8e..5651953d8f327c0ed1e68bd8202d9ec97b0a5800 100755 GIT binary patch literal 1959696 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

      A`Y~J0i(U2G+rsLH*tB&I1xQMnump2gn00So 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

      F16vR_694(AJBVMp9 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

      h zHLM#oXoTe?>uJeu3u|LWSR1s3eNGB+HVNJokb|lg*1<$r8_NlcD9p{6CAOlaYuEb2 zGWUV-eu&+Q#}R5z#%H$I-iPs&DNgYR6tBGvDcXE*%3o9Ed|zf2t|y*~J~?|H?$m** zJylk5CD-HDBk?M(4%b}86<>x_ZM^YB?`*0Lhj(tk^?^90$+zjuld7>o_a2Oh13?VEQ?52h`7jYml9ZdGg-|t>?fW!8~lG zaKJUCc~;j3^|QKZzSHPhNj(gyCtU6KQ{Q`cK>bc52ZRpP+k85qPs(1*hu}+Y1W`Ar zco^0@HMoYX*|E58{t1a%Nod*bl-g;zMm8JFlkGN1PhA+B3Wj{MqYZ_+6Coki>xEm5{OGW)NLrb|J2(;d;W8 zcySB8z*ld*@jM2#Cbat%$_pG&dw~OL4K<@IV*za>!~!~Ttu3JB7Rv%^NN5d|OYPLD z(SQx+X`oorI~uS-tpR1-zn0YKPQ3~DLbl&RU+0s84bLnWT5gU)+YL>cPlvHd&TNC5H@CBD&T++ zS-l3r1}Qp9j^9VOtJK9P@xTj{%LZxGn+w;8G8jvoI8_YS z294orkVbDtfDTHe#q&1j#H+%!7O#%iTD%q#TD+^Jc1JuL%oFblE4}IAZ7>!u^A@7V zo2+IgzYuu0+i~g163nC;F;K`Vozv;{M1K!0R~M6)Q#Lu!L=5;NJvju zaYs%I(|E15&`d&W;aOpc6KB)Q+hCp+9+vbOq&HfyLDR@e;x}!Hn?zy<)DqjEk=OyX z#BJc;NZd(6Brdr#Cvgq0wZx4iw8Y=`B(V+VN&HDq65F7WIP)YnGGE*;ZsP>o_{hYL zUOD$GTEW4@r^b|XpQ1xuW43c9=F{F?m?)p^4=*meAE6}>Q*KUW3ckS`4zR<*e{_y1 z^Ap1|0|9OnkfDz$ixY!0f5TXFK{`%3k>F{Gq1nS=YRz|}sNZ7m?;sHEASMnjEK#on z_U-}kn^ZgD*V{c_)oq3tWl4>>3BDP{4c!(7IT!8qNX`#rbeZgqCp%m z3{t6;-?-r9txWHwn^D3wQbG-YDW~H}w3ASR2FdWm8NmQAdoGezw8Nx-pBPm(5&`Zy z5EJhx$dtVU4`?CrL_t-$2FsX9*;p@J=S_UPU|`{8Sm@Xw=Pu{vW9TZoa{*5I^ec;# zl7%UECI%|7#Rl6G1G8VOMK41AKad!q_HLh$6wEw+%0Ts<#;2`Z;}1?1zlBWA_u|aR zA$`>nzvez%7lfm;T->yP;L<*OIf!-=n5V_v1_|BSSKJ?W_UdJz!+OWO@~@ti+8A4w z%UTCR%c`%tIv`pWWyEi_9Vw+2vsC?pPaD)7yc({rz>YZosrjZ}mOG#xt{qUzGfm`C z%kpLtGI+J&T2ER!d94Spk_W88>w2l3yqe+K28|`gvRy6dX$VF(8`QGJ@78XY5@}noL9H(}fi3M9+X71;Um6ZpD=!-~6Icg? z4wPbTP{z3|-xpYe79U?0?x5b++z7&qsI4TlDRqD_s@qvuQL!a?uceJ?)j60}odass zY0y!f4dzq_@zZ?~!>bi0_N6|ChC|W}Y1rU|EfU(8At}+1dM32tfO^&DfLe6#!B}+V zMO7rki|TN#y{LuP+KbvrXwiNxwMVGkScMJdL{oE@xssmak?|rMG*-dD-Ev8d?VsGL z%>i`};ecAUE{dZk^c4@~WSfR-En73MwQOx9v}`R>J1x`5W`lXMohs?+@I}Y=)C|Ln-zhv$>A(h!4jd3VP@RDWRZorP zSBBTCf84?JvN^Cp&4KDSI$;OntHNQb-za(5>NjdgXaj2mVYIxb)WCXlmuq8M%MPZs z?0{O!4yfObYJ)i~qt5I|^c$_GGc1)CP5% zDyuqEQgg*Oe!p;#vML)iR^@=&sx;_W)jBEDad{im9Au`Vac-B?lyCe2n7uK6U-1Z3 ze_*(sQt&ho=A#>LNOD`jHl`KqU|PWrs1@vh+MsMOr(iGh6gI9t6&5%}8$Ti3F7qnD zegk4xVs|qBXW~f*ajJXNWYI3x=~Ud0{+HN4NEg$0(?|J znv;4(%HCM_yeuGho7It>OkYG^{yHdb;VR}oEF7c47(WR3OM<@$2dFTH4Vo}U7qp?n z7!{9Ooyjy3a46LWHG^Ouq+I!k!EufJYX%4#)Q+UW7b7IK314I%x(r*WC~*AYVc+bZ zKy-mnXEi%F!a|;i&+4QLFUOI1$;{4Ay^Xg85e)~#+j!BgiIdSUBIEcY!X3*d!ggCp z+#L1JjD(8PLt=)xd>DUA)F<%yVwlTpPU0`9~@kHKPN0C=w!a5TW7mjy$- zGB&OEB)Dk`$0$#JK$0j={-tq4qmM0%EEas4ZbDlg6 zNswH5ax<=tC%1vnp4^FR*ON;+P`~!%8W6^l*Go0FC)=2IG6&O6=78GClqWZ`LhZ@- zOC63U+n}z*!E_}Ks4G#P{D#H*_yyw0HmE$AA5{5=qd$nm}T1^h7)#QMp zCeiV77dQK z)iO+q`4u0hVZOkdyHlK?iD6TnOJo!pN|hTADYBl=9focr$rnm&^+=Pnr$ zH{y{<8NbzvhVg-*vzdRXj9fNoMy^(PzaF_d*c0e!u=g|wNEOeXK^SSON5)n1uW1e& z)Y7PtD=n!-#TaHda@C>0@ylf7Y6W3Nu1*p-WvWK56{F&+I0ZE$mjlKl*Y@cBOP)cI z%fsPn`O822Hctpfsx*;wzp7j~_(kvAOo$PBg_n zd%2kF?ivJ>=3Vkf3wSL-4)JNeE8#G)k?nzwKLgJ#^IZwkPz6uOW%-VTW+BpiH^PyU zoZ_ovfP6PXoq%jYeGJgX%*i+#l#_8;K48{{D$IjrOQkgS#QH>>gUN|F8_S)DOY?0P zYx9NT+b%k_P<+cp$#b!UX};a!^n9WCc8jxm5X#1kP&Q}_Rf8&wP*?OIl!J*-Hf9OM z_mynQ7mDvIX%soKd{0TM7K-mDxhY>LzMtgw9)z+nBa{u=LUq_eJ=ud$4kkj`m?acj z>NP21cWr)bDerkPKekkr5UQo#k>ot?ZQefgaSuY-m=VebZK3K=g=wi?((iGVtElo@=4(XtW{) z-7n48b9Do$HVx8im7`K^?Y7#wY_%yhcVoTkfFO=$vv{0%mdeQ2N9?BPrUD0Db2xVhNC>ykeszDXTz&m>o%E3e^8?%Js zpz&_LP#iQGMGiG+v}&O^XndS66bFsZdJxLSj8Hac3)Nu@RZt##oNay%CPLX*PAIrV z_Tu{zp7%F+;}ePD*{eWQk?7~|k^SgPSRRR9_?lY*rg$mYZDN(vM#P(_MS^j?~!nWW#|C8VLt;p_H%?V_f|$5xA~wBOy|}^nck-SCiy04`_OkCy-YX6V zmizJjVk%#U18q<*104*@K(!a^fLI2m8U1uX9mlmn6GZWfM}yyHva@%p_yF?G>rErn zig}5!wkugLMUDKTmkpYwp$6@x;qNTL^wQAA%+k;Sbt7reag}qVNcI`VP;D^RNa<-1 z=59&P0e*5{zjyHj7)r$}knoe<*~Jj14%ZXTlP|LA)LauBSQmfZ(Z&qJ4yYNnL9YH# zNa{{h{HVqAfwKpyWnPD1N?o%@skqD6f>GcD8{*n+%+&6Hx^^41Yxfhebx~sn&h4#g z?Yqe0sf%D7beIY8vtZWflG8!s74I9+vpc>*(NzG{8fsH(bojnRRQU{qP_wxtGC+tXk(_5*b zosw%cbdi9vRlUbcNltHNgQ{K?4;vlC`sei5XwCs;Ys|*9<{V6G&H=UN98hb{26LJN zBlsi>1h04vvi8UJ-)FZcyk-);{E93+q@Bducvyul;=K;Z;UY>uH6Y*`NF z0{T%~D&8BGnd~7Nu+7BAw6G4Qqg)OsQ7-VW+H)VPVC`7@38vau9P8&+6KKb>G2>Vc z$hPM8kPVs!JW`6}L|mJ`jcJ)2OgEqd>IT#xwPbe8ZO~~zC4apwzqs~X!ED#AL2GE& zZp5`|vsMzi%{uHhJG%$@Y)s4NU|K#0)bgEgF>B8WZG4VwC&r*v`h}B+us3o`)km# zZyU_DKg3n`{bON*S@h7gzhJg~x1)izeRr|3b)Qu6re)vLKp6Sn=|Mgl)ABi(md^pT zeD7P#8vC}voP5f@U$i;ULzfNa?Audcs%{4VlRx##)R(H;D4G6Jb(d`u@}=rtQao1) z2g;YKZOqt&1HvX$SYCt91i93b(0HT`<~UB%2}{D*ESH0Y$?xKAFLXv5G)}2O+bM0# zFzbNYfNjt;a9^pMENG{+G2Orprk&CO^PF;^6l^=?5W#GxtP+glzII9*Gcq}#mdOT< zOnXa_wo}@emdU}i(K?_uS`9i*X@fbVg&4{yeh`$ zq>LY?uLSspfF>w*1He{Ds)Ay*2#R$Gk$xIauD>VAxtvy!z6A)id?X;-TF2*Y%!FEO z&@%ZdUi0;tc^LE^|BvO4_md! zkYSo8d<5c}K`5)Z47@*L3nU*yu`$ED4GQn-g?dj*0gRLz8D0?3whjjq8Eh;kLweX! z&wEvhcug86Jz{*K8(98pv{oDB8GUEJ^4*Z2Q(b2ZM`1_)7xL`a9F#En&Qy90(%M+X zt9Xmq1Z1*7WpOXz(V{aXH)5LJ=oL}l^qZG@4!GR`_{bZL%T8JFMxso)u??y+>Bg5z znU1lQykog>jS$L>FPG$wv0Wu#Kz&Pt*_dfC8?=qB5mlImx=Bj2jm^QNp=>PIP+-CS zmmY@4;NFs;7dLHdFZ4&Ix83G~Q@%{#AvuiZcFKu6B@o@n{^@q?UxB~ci~Uh5Tr^Zp zfE|U>CLWlI!$me|!bRgGr5Z7RK1Rhq4i=0%FgjdhV`jv3Ks{yA;6UW&h@$%Qxl*K> z1?c|V26O$ndcbX$9pZj+0|oe5Dt^FCgS@35aI>-818&nKdoxqY18y3lhRp+R3nk$! zg8BhB4Ne58A8>OpdB9C$G&KEy+i#>m&Y<)IZZ>8faBGo-Je!z%!0mQHDWZPB&Bk&M zxZQ78BoDaRn0dg>2F(L*HkfP;bSlA0PckJC7y-u!St&4C6T4mL}fFx(smHmEtk^Qdjud3Zq5 zGlWTXJqs(fu^K-ZkoxCEc?rMT4#{!klJ8u7>nE|HGf1r*ub<^erdggcs^_%vugyzgeE>h zgx#x2Xu&S#d_EYRW(8X+WBnq%SNjrPVaJMI5O6L*RG4Ok4yY^sm!zaRO~v83xXitB z6|1`D3SQ4*Uy-^R1)OQu<$$`bb&}GlYlDD1->l9_;s5N(c#Uwy-y!9b{;2E}oV%X} zLcMA2nP$&x27y+_(a=LN9Av9vX4x1_pYpCi2^NSq>v`E0l-R}+pZ2S=(@|olF7diG zI9vF>l$gD$)$?jVFGt3&wftA-lx}zf>@17_vca@D8R8-T}42JD@gr8_XGe zY5=;N9mdCUb0P$`yi6^u@KWK6pVFgH+22CK4odi(|0DGdg^CaGUh1qLze8af2=xwy zKO$K(@09t)nI|@4&20&INVT8Ia^t>(DaQLn>hYcxKZ@(8TFlP910rmwcJ3WeM=DA_ zj3X85Imj9k@*HF%uAx2klCM@?Lu=|KUmYa0wtg?Qv)?z72pi04OU+z=Bk7$%$p-b1 zpw0xGFR7`<3HnTc1L`vY4ya}GKC)!1BB7u0#I=^Kh1XiPb`n~)tEG18*T`mrd9rQn zNj4iavT?}2O;U4KH9_z7JD?u&9Z<{GMRBkmQ0-RnkDP4NaIIx)=Czisjf9r%(Vk?p z!93X>veKK$gbfkPEt@_`;edKF;ecAUPKu*tEBQDlTMe$YY>m9uvbB=XvVCds zYTC^P^JLp*r8lzKpq9-mdmawofx75@$`z|V0dbJuPd!c84uUSIb`iTsn23E>92`_p z=zVvMJ(e5dW=S_qK*up`P&1+4a5s(R!6DQe?wU!!5!9;>+U%Mdq)=y8c2Z9@*`TS3 zP1(uv(1hwG3nia|K+~z3YDl2TluR3Xs%f);6xS%$22D+Lh(?wNN67NfODhRDfU2p( zuIbgDYWk|Dnru+lyn&W{lDX^Nezaq<8GW2DL=W9x6Tur`jH-kwRmRdfNoY$e`O=c11_WhLM>X!V zvDyqQjCWf)F*a_4Mn+}hl*HIL31j27jNVt4 zj6d`sqm5}99ZbvUfLcZkIx^Z|o{Zo2B%=*#8RHJJ3f$AXRBzcx0v#k~d7Njrf~@e^=Dh!G!n(N*N!y^}Ypx7n^&k zz5}G-J}j7DHn|k+ekts7$4GtIgoV5*Ap3iM*(Afl9FT>2=`&8k>z^ep&yc7OlWf5< z%?A0J@jLP{ewZZNoR_c}Co88`8#JHaXh$~l`He0R#x5(q*LIoq;fse#kq4tletskU`Fa=R zXE>Ba>Xc)UlAq(if3awz_Oe97cQ%x04yZ)qXELUta`TytGxm=2nVy}W$+$#7x~b}m zluBBdkDtk)N;*NP&t%ZYtA0>-ijYbHNlaR@qL8&o@eM^)rf2243RIViJcs0+p)uTWA*p-N}*$14aw z{^PhE`I-dv@e1}8?+M7poym_^u&=N|)mNxiE3c08^Y2W2uR__60~$T@>)!=b{PPnM ztjYn^CnU(#HKG-6L90(lFsTj3TrufQl2nz-Pe?GS4aS|Va*uX4JwG8q_wamti3oi= zyYUTDh>E=IhrXR9JD~2yZ7?nw-px-){Ai!Jbr{MtpODZXZ<$X>*q|yxeL`Xn$*;Uz ze?sC&0oCN>h7cc7TZYL+4LF~vKOxZw!h9N{l`@%6NOUlr{)B{=u+mk5Q0desBxdg$ zvp$ln>rY6`6Oh)boPeK@=mzo=5*jpTQ}_vqC6YZrcD<=>V`hZ1LHiWKGASU-0^acZ z7Cwz}Yo&l3~zxK=2L{x*y z);JL@+k(k{9gL!uN#48yk7`OjPK#>4!CNn>yWh!Fm%6JB5@DLUJ6pgCfJS%SK_*=^m~n9-dL+PYgW1vt9#WaZ;hO?U+fjTYhn4VkuwC`SqsZ= zjdTO~tq~2f3sz@y_^pwPCA%%GjTvEW&=&SmDS%_4F_h~Bv>$DCFcH?q@`Sx!^krI> z!rm@mg)MA1kiu%vv@C_aU$Wc6+L#g625n&^Ep*(8S0>9)Do9uww zu|NbdamU1vbOwY@J{rj7 z5OOpDO`%45$mN*MH$} zpXKW`>H^4t<3CwGE!GCYygtKACd}(I>Tqo$i0vd0eN(T`s0b4(a-}vx{wOt4=_YPu zgF2?7o@}~aQnOLjd#kg2Z*?OIG{<=+vU%{2fAw)58&k)5iraChtPR=pF`kPg7rnq7 zCZ$9S@QBXuWLjpIAzd=qs^1O@U9)S0=rBc5al zM_Vc5`=@J=r2b!iX_jYrnuRDn5JOfch|Kvz%a>s)U(yTLNACb*<2i*IQ1##Y#p;FB z%^>1)2`yLQ-2@Y3x!5n&_f8b3iXRiBU>{1)^Ab0eCcWek{HepQex&c0HvTNmcrCoh zuRRiedkuZ}3uWDHtT2hwakTEYB;_2GW)8X8pgH6gOp41CV^oLSMhM2`l|JNVW9E>X z1M1xa4YJo{Y*%^6?ouQxGah1t+C!i|dP65QrVqExvNCILu(90Xwr3>exu`~ag~lAO z_*4=$AffRJ4Ne89y~4r7D>P<%Makq?kG5CXnDL5%lF&Wec7UKPM0 z*)hik$`fN71*JBbU!54UL49J(#^MuWUiR<@1Fwb^7mD|^k!TX{=@deFPfaH0J&n9J z-qQ-IeyMm*Cy1E2ORw_0(+`OainFEq7JqPt1B?yEZ}vZSv*$e}Nk=p3**Fc&{Bx#S z`F}6@Z7}y`fJ-H5G4r2+tqdMwEhz$P_!yu%#CqPexUg!ZFo#&L6p)6e4zXr=h;S=6n$v*d%@UP=6IY9>a8>f(_3i{sJGG_P@fjE z!Q57wI<(pbzV)Hiem{@d=5k9PTCEU_d9Z;VuaX`(11|1I0lrpiWl;gk#H3xD?wMEh^!;(X)Hf9c~+Tc_XY z)cQ;P?aKJhxJD2YU%}c--D>5ni~Z5+R)@ZoxfX8siNz;#D{x;KM#wz#WtuP{-F-%E zS9BkGtpX1ekjAFG@6ag;?})?Wl&2B=6P8&21Mm+5@|N0NycILmvjsemAm7-QU4}D% zUNP9c4*P&S*;)g_oNWC_(sOxZPPRIrIoaBbeCA|p8wh=}wUgI!vi0sGVon{`wL$F{ z4yOIW0kvN^p!N$J%=txpvh_jXft=`*tu`hnTc3ntN=l#$o@`yf&YT2Kw*Cs*Z3I#O zR~+>{9>nLCR7%wkK-FIfxSdwDoNR4nF+ADI3Z_dU&UVzvR#x;Y0jCh;$yQcqgQntj zJym?MfQb9+)26DfJ8EOybB?P{wz96r1>DcB%LYwdUr90kT1U2FUZG*_%Rd z^uJK`6@K#mmqKsA%b{1lua5xEU$78N-i1Hv_OXQiFc!O6ZBGSWa%%si_faySo-vay zs+bw8ehvt~)_XqkcE_*&K0k9S`k%ezZZ9g~6@N_jq#Mzq<*4*k9H~ET8e%h&f~C|( ziQ@DFt327nRsP;qT0F(`ZNi8yos zLhUEK-VAkuQ2PXN6zIoC#zOIL{Tu#vitP@v{S2lqWcwgE1)OBFZG(pGPps^Q zZ3nd2_WD?CSAj5W*MYFu&f080?~n8n=N=z=(WUsKT5=yhdik2r+wNL4^r>i6tbgN1 zjV@Rf#*KOm;8nOE{SJRrGoOZrO=L{U{cach4WzvImC#FGk3TBqBpQU5=#@nFV*Htk zU+rCfl$jEGQ}C;O-cN48|DC+v)Ayt5LqcyYemF)W%=}^z^3K7ZNAN>9J~^Z@^nUqy zfXE^XPh8!G3h&0By+#7tIY7Q^rvYz26EUpT8)8Ok_YC~xi#JIj6OhPD_*;=NjXyKK zfie?GWc=3($8-jVkme(U!1qbbKn-c#doJq9&LNSrLkpXtms zCgCR^`Xcm7zXY)>i0Qbvgv9qB})zny+7i&?qaBXD=Pc-S0JtfaS<*?eGTG9 z5D$!qys0Bm$88|KA02tW8v|kkh+m%&d5M)E?o-XQe*$D%@5oEufj|Gmuk}ISPmb#s zdCTx?eHO%>xaid%#5*7k#l=M=-Urc%i&7H*0P*ku5CcK{3KGx8#YPf;1aa=5$a@CA z)?pw%7!rA7hl1D>#8O<`L*f(=11ci#DEwN#UqB>g(vHR-%5mAwe)QV@k+(|?u9y4KiD*T(INXo^2{tNM$M}5wzmeC!@}oL1a~^&d?&L=o;r|zTJ=OQ3 zBf-~pcO&z2qPwW!z|eaizl(q2N0a-&)bZo>+ruNTVMKg=z@Cx!5PrlzSrd7SAuq3Q zI0<7GO2jpqxeUrW6n~-__;WFS>-YAfP5A#^UQhI+ozR%a;kO=H`wx!18ThR~8g7dJ zKjifSKPnyu<>JTmXXF1Td5z+|#7S6%MEk)5Zo%*3IzQU5PvrIcvAULa=nr34d_qlc zt%zc|W-{|3yMwQv$tEI_Y-s-J{8C0^zq_P5bnxLSdw z!qxqF*Yis;%jz8l*^+*PvNw$%Q0gDf4smZkz^W;z^cH4=>^|uqhx-qxK-@WLfHcW4 zN5=P~N|aX?)%4fdaMo^!zf14K`%O>J2y2n0V2HO%Z>9l|CXh1s6bk<3w==A>JVqhMKay@TQrKgLdxc_S#JL-z%Nak^X zVnR#rO3_h%Q}r@xR@PBqNTv0Zl{{|heBN;$AeSXJsEkg-hA1+3Av-0@=5eW{FLs-< z#MqZ=*-}F)9?DE&MfSF2RLRSA4Xi)Eaa9ZS)hTp~;{%zRX$`Sa`saaQ|KGHz>q4kR z*#sKZZ70D8=hrXzki7KT;)dqqs`O!brNmaygXN$r?V)#IV|42qy2*jw$I`D-crVK+ zl)?+F6bk5WHf{^{z+=xnnD7`YkjSVP1t)pHYl7 ztfMEpS=D`|IJSiz7<%aVb+@kcWGhaU@PFy{rN1aK9SFREa`dRU9_+TamY3S@*7MW7 z|5t6g&TG4i>K${&D6GL8ZH-%fYs`9q%~H=!BI;GzvWL-b`s~pVVKG_LrYeOp!rVX$ zZ8}0BL%u$t;#?1_$}oee(xlt__Q@+S?u7D(PUR2%wDfKl+e6dkce1)4#K>uT!ysLt z235B>IG-caxk^piLsjabx{MrC(z)g-iUw1WpI9XwE?kMhdfN~eOL~_h^5Xmcx7i~8 z$9Wrm{``5zES|l1#kl%Ki|346vbcU+!-6KS8`#*ixEt6F7`Lc#Nq2C;oCV#%CG+Ri z&-pj-xOq);y4R-AakGz|-H5xnYG%)$zo=gEy=+dsDbSz>S<-Z@O0{Igl5tBH&O1K; zhM|of>W`b<0~ZUI=A^O9tY5TX!J>tx6vF`YI)DD0`lfk{7A_fgOw-~yIjM7L8XD%A zoTh$iVO-PV+4Gum(wdt~&>r4`MaNb`6=+3pC0F&Rr)d_Ni!|1P^AQllBM%iiL5^683D+Kr3;l>n2NQ>H^B1Z*~@34F^OY^ zp|r$n^aAEOV_hT7f;mmcEjm`!hr<`p&Af$kCHqn+U{;P#EJv0!&Z(a@=lG^M3zhc3 z$)ZL!4>N#4QwO#mVY);SZeF*MypwTOuUV8LvqTj)zUgJi{0CQ)@Wd=vkI+sgcKLSa*w3LainolJz~!REycNgwp1 zMU|ij1-C7(4o3%{u4%x%$Ni?T&vD_7IgU4$s|&~UfhI~6~Si<3MM5(+_)=I znT*1ngTV!5!Mon{;NlY}A;HLC!)ip4qTnBEHYIz7sVL|Qs#W^qc)L9KcGaY0LAYD+ zb}FVXT{a!1Zt;35wAvKf8W;M}e_v=6{N=<-$oPvWxV9tRiv4iEs5%kF z_xMs7>t4_5XOXu0`vtfAYop-eHCw_yQSf)aU{g4>V9LH>pMrfAqj#20iZ&rnzbLqS z;S11b@6F-RxnZAudv32j!E*~+!txbipVlQ%^F=4NNZVEGwnJGXgIiW@3Euan$L+TH zzihWAr`_@kgjIYHm-x|||GLEg&}iSl4rz~1`&&(mCBikDI%p7Ci<|9#7K-sZH< zHntqi^@5D zaAvY092HFpI!~Amsx_=kW}~1D|M|fm5|!aEf>*$zQc_`ci^!@?ki zLz*)Z3EnQj?KXY;E1$P35(T_diaYK4&bxsh`h`AXD{`m9x|1vmw=WD%U*m_Fs5;r3 z(%rtMGFck>!CgT^E>Gvb$uk{Ez2GclQF(W)cCvyE52rNvFF8%ZmHiSE$8ukvJSUCxKQ^7kP?-d0dIK|fwjrHovEy&Y5cocdq4(cj#S%F+= ziLz)e{+|>UN5SlZG6>KR_Kt!PmFi}1+{9cxEUGl=dPfC)KvWa6Zd;d9B9xLrGcMf< zMg|7gBqt^NgQ3&FP#GA!Xhk(xzxBlGDCk^W$%c-Czo7$T57<$>Hd!2;y0Qh`K@|LP zNfUAu1uuDBH0bmGwxSyN_EGSuubQJe+$jn+_?2O4@b@*y z_uDmq;UC)o^$ym4=>67G}+*JjCM7_=^#9*&s78rH2^ z%Q8O*rpIXU27^Eu_%AR*=b`|G-0Tjtj$RwmZb&_dcc;yJ6IL zXU(Me?ogI}MWPzXLU>726#QaaQou>!*ctG(g392P)tlmU)5GyI!_iT}+HgPvt)yrR zSj8wFYz23Nf?HP>tdD~G*02b+cVca#n98G|CHF{k{tbenCn*e8Y=#&W!TIRq*txA; zH3{}MubOTjoSmu^uW!K3?Sp5aXbcmSRz(7E&8m zSLbwQEb)2voQ225W>W!e*0hT@J8`Ff;X7*b@psHWIVae%8twS;nu4{#IsOaD;hd_y zTAJ9)PmTx&2lp&cP;hVAB%!ycOz(JVB2iF5GzxZx5;*1jGlm|Pxfwk~VVIhQ>N3H3 zFc=WQM-bkJN-qFC67(q;j7fjzb8r|Ke2`iT8dANtSo-Hb`zcRq$>&B5DXuTe&{mF8Bt6803h8)>YFn;+F((!J}wyZL2DKVskTn zk8C1wd2oLKAOGP5^rQWw;9p5KKRtQnq?mUsL&}0L*5GDtz^1KUmY5EEfy#QV4?a&$ zM`!x$COwd=ZW05z9xXZEeumMKQ-HQ!?l=qo#T39U@$}4=;Ea{i)rk9P3bkOwg|hmE zdj+p8Yf+W{B?&EZvS98v>HGBRrf@7P!35-j)$!<_U#l7mV)nO@ePtqlSsGW`Q9Mb8 z`NH6%#cP#9Kf^dpG0uaf^e9GHG*_{9dIpw9t-iZ#JzJZTk)^QW6SksbIwzc-7@!-~ zIK{eRKkQfd7u8_rEN=Rb4Hny#j6zUK@af8}Vf2@rt2I9$rgADKJADe5!3VJNi_U~z z61$YCDUmX%4xR2i3>#r#>kL>{DtIu}qNe4iH9_M9{+@jyv14ywnc&jJ1eXZDs;8(|&+#!kEaU`fx<%6dP2{WRXp>6Zb3Ckjz^KP4 zQseA}^Kx-9!4cySzG$%T$^wRrZzxhhVR%Y`VGJt9{0ME#=nbysEj)J4@w`S|ZsZL&XD?hK$?E6KpD&kotSlEE12bTC*__2HqC`pu zom8~T3OYewvvu?e5i-@>v*s;qSj6%*@GFUjfr(r&4n*8+ObIPD&Tc{jt1wtD@`pqc z1B66#VC4*KDGeh8SHEcKLLDg-9V7f^+5oXOI}nC=TEo2g5=LYIPe;XYW7+Ka^Nv+= zs30EO%n4Jn9AQ(!W+*^|;H(i5zoyy8%-1nGiHB05c|lDw7zZj*f-sFho@iUwK7Y}Y zC91K&$-+eoXDwVBHyCEX_45}koTDO#C;<0Pn6p^v8b+a{m<3VhDlMWaW2GoZd|?*k zoK0B}RXipRw8GrLK6F2Oz7?v3>gUg1v1qB%Fd~PH3|1VCwD=d;kpULD z5O-U2zOxE^#IbOD17b`e*m=jt#O$Nx4RHwTM$D2zOxfSVoML#8sZT!et2+{J2Xc_n8&e?SnfAQ*)S!BflEVmgE2`_%;MxneaV zL_0^p_g=x;WCmrHGh|Q{+|X-FvM4wM5vf8jfyd2vf8>F!?D8Ze7(RC9dtcL@pLn!RC+>76tor zL>m~K8pIWSyQ)$#dDHP~;leN$s(7GatKl^hoR4L`FvVHrozNuYiZIP>;e=Q6ypBnZ z%~gXENay_~Y>;}D6o~lhdZFl#*C=Kv8Z>zM@&Zoo{b&YiO$2WjY>t9UmKRK?*3ZL$ zjHVC1JV8yA!{GEVv5PE983XH>B{tkWc*fhE|M_;8eS5G9y@e5%$S23~Hx^M+_it;6 zaJxd^e%a$<^$~De99)=b2?s=o_9XTyOGZ)f{*s0;Iyg*S63>|#)M(ZD9>YW^Dr}9{ z9KCU;P2c$*3vy-lulMp318MfW-Jx$^6w2-U^=+=ijn90Gm3VPs(0U@{RBw4$9+!gP zoW9fB6pjft;<|KSkgs|TV7YA#$e=&g09bBg^*b`S8^|8?nMsJw!P@WhHX~+H9@K0N z`y7c>clm3PV>41k!9&PV8r-6;A63^ksOu+j-6yzLUEkwRiiPBo!La$dT8|eL29F?m zO7Af%>i%j)-K4AB(1JK@NyH#6Gy zK?2eA3s!SI8N8W*3vXE6gp28Mn1cLtX|0}$`DS5ZP$-d6hu14HO++m9P^>+I-6n<6 z+<3m4MgFQ&Vu^x|Ea$7kkPbYRmcu1MZ9%ab^WU`|v4hbd)+PPj- zX4N~4md46+Zg%RMlY6-NJ#JK@c~!MH@BzSFGlJOuHJ3#sl@a9;ww2aCCTbz%=c4neV)7G2|$NQ`oJRjF@Dpf_ad zM^$Q5Y00V5#;`B3RoMCpN@=h^j~DM4K?)QW)HX z7#nlE;w5&l80ysAKaTdv78YC)4tn=2>T}bYrZA1M$XDIsq~I!S(v`xM)qY4SxYmbU zC=e;XT$R}04~Is<3-C|S*RH{WQ)Oj`Itk&VxmaE&b||B)*q87VQ|+9&_*{o(`aEUQ z1$QXreBPAU&QA`8cFsssmr6V3&}Hkf(j-HDj=P1yc?gP>qi6XCLr8TT1yJ3!5zcWY zhhXGmEPx|#v#-YK;QiIrI(b+!H!PhCw=O97TKa^o!TEj*ke!0HYt~DbFe&UaA9jc! zTO8p*D5e7Ql9A9sh5`M8;32H)hoSvXi&WI$E{tpa!vmsVzs;(M_Zg>?A~+~^>6MZww> zD~Z99;KvPN>ZmXsES{7sfza&<6#4C{7M9QP6k)uNu^R0k?id9xdfQaB9scy-LxgNN zh@Tm4g=`hUxd>jBqAxCw<|6)56kN5s3HV^lKv3Qzh@uRLf=dxpDF=&ZGAwm?Q?geS zY=wDH*Tc{P|3YY>oMZjC>57%heP{~}6@Xu+>GI<2udQCI?q7?Ei`))_j%1}u^wLVq zIf9WG!e3s!4aLEQcWc0%KEd5^)Dm!3UJ$RBleCGFxndKiz?}ObFa*QFb~848%Y$2% zRR(>~iB4f>fw(SId>TdzSnM}z8e-e*%+e%Ef~yd9P2%Z%p6(h=NW1&4r!2qtkNETc#`r z5nGx#yy2W>h~Y;+&$VvJFSSQto&k>-9(x4q32r&QGAM&bOhzDg)fVLtfzt6eSeGd6 z8i#07+WiKO5AB>C#Et*BaB(xZ2utx;6c$0NV4<*ZN%6d-*c9^#3s(Zd!jBgVkF;WY zv~b8&8l1X9EB2|>*2M5`ihT`|r3xp9(ad;yBgRvn_6-B|*Cn#CoI6?gQ zwM=z9*$rTvRd|Ge|ALKhhMfwBV~J4^JeJ1pa4;-3sSBDAV4MrQckofV62nao`^T~J z&S`?XtE9!jlSul%?Iy>${$O(T4!%IH|7v$xH5P)DtS|O73R5y)gxL&X1{R(Te^K$* z0+~lL%`}}Ro-Ovqw|6)h!<{;PC*Ecsj-l{>xQ6UWAHhg2#;~LQ-)JOGTpVorKk7tR z^6dW$tsrksFEtB9FaL3;Tq(hHj(8>ucJxRX6<`6ORb=jV!ndQsU~zR&(v-X1qU$*u z^LR`RF$80YhGl&eogJGh_1vLTZAh_-;Hl#|e+q8yl^BCLVzi0-aapw>4my{kYs6X> z138Ts`#)C|6l_zY=0BIKt}FNr7F2!4Av~}?>@z8NXxXN4SM+PCN$4VrC!x6M7}h7_ ze-7{b9}|-35X>Hm*P}=J?TSrYwqTqag7GfFi1wu5Ty(hTXrE0@4+m^O%IyD^@;Rj3 z`ARj{`UD%t>_5+oSob8(AnW1<)^mty1aR)ZNDSjy#s84td>nM)T z1f|@;MFmiflKZ!+hb|Ak?v;~!dN@21=r^$*JHJ@ z4d+cpz&{>YieYSyT3vF^g}G4NW|Q#$dhm}y@$o{`8=RM%q_SbF>pFD!(DK`bNPX$j z^_*0Ggfs)8G{9#j*CM3y^-47VnMk+`_NTD(iT?Jar4Ty`UP-IdZ&x<0Wya1l3TbWH zMs@$AaC5J0z5Iz)+)u}5>@u^mlj~g`)>*_ zP|Zm3Fm7TZybU>b0{>~`*(+)YE=4y9#@|h2(l;#JEx6`HT#SN^y{=56DEMatC0*16 zTN_1bK%BI63ps91R~Kvm)Ku^SOZX0RUKVgJwt?gPG#u>OBHlxjIDa`<84a6wwG^f^ z2I9Q6V105s%vF!Z?1?wHBdT%I>&tLM18%~#`FIo@2ELICLY5^)_;P=(semlJ?)uE(#7||Ivrj;8Vr`8##;Dkv4YxoZK-TxlA_n+mQDLnVoSfLK)=cUsPAmH*NE#qA8Lkb>&Ql%BE13S#;J%6vfo!5*<9Het zb^n7_#vL-)W=(j)H)I+uQK43_F```HsTAW(!Y}aWdEEWGnzP8r-;IARz;iu=5#cvFD>V5R`C;FIB)XsW}K&W&xj!NFez-_+oLM{e*p z*HM{VfDs1^);&t zxZGg!cxn4$mTT`!@YluYq2N;PmUqwVLQb~-?YfXWAfQ`Z9UlvGn7A)y;^Nf>4CmyS zz}7oLLSzFw?<&&t->|{e;s3(MQ(!|KXL8thutd$q)~$LW*(-Q~dLuKR;Fu)!_or+@ zMQ*BWTJecE(^;#qEMu-sR;E;NT^5ra3h@81_a5+d6=&YRbVuj2=D>m5}0}?o~B_mz;A|qoURM9a3+4LsBv;>Q0OcO1b05Uxg1f~RH z1SBK`_fQJtUfXb_SVr(OPOZl-jQY2xLGZphXJMktnM0;s7)MX=XH9M^=SAa^K$ddCYLg= z#d(R={s&`KsfF-`a~*D4*Jr`@xT0*hc?r=3(eria9DfnLW?z_lS`tZ)CO#Q)GZa4Q zq^W6=2!)je2wEODV^Jq^Kg7*pQcs#fZi1h|vyDk|15T937R0?e2%z=2*H!cIzv{Wm z)3*lKhr2bZ``sD^uxsW@gK`#i)w~}5Omy-G*L>W39PbTw!{FDJw+o|v3QJHR6!=k_ z)Le0MU2be27+SLvTxym};yC<&c-b|;%MRR)xV7vJ`UqTyQ0DA>P5!JnhP^YVwrUEO zl_92=o8Q8J;2dhMlh(LregatCklW57!9_S2lekF67XgyHvULFz5s8m*io)0gR@K&= zl#fbpVf_qdU5h7+_*pK)56Wr*2MaoFDzwAjL|SXHxu~W0>>z(pP>kb@{-x2uu^n^i zml19 z@oqePTXoNxTN)GXS)qjb7lSMJ>?5>`N0Q;zFFL?vIv#xA=5s`gE7HcuZR~)FSNC z7NQI=aKU651gkPL3ru70&9Z4yx;+mcVx4a9GvJn@>^i!bEgIoF- zHLEbAo{PO+cGn{F4sKcnaEuqA#?n?TZb@JW<%0@+o6Pc8h0qEf&u!R9^A=zB=?VSg zJa}2QByK8!#lQ1^yMh?0oypu6ZoTxz#D0-$_NZnv!Uc38L!DT{ZBS(16f^SCl+-J_ zWu`p4K|b3;E99|6Qzlwj92H7(8e?Az<>{5J9@1wG%@vziV9r0bf^7z6x^ckcoSZWh zCJmOi4gL3r;Ha?EJU83wXOh9t=TiEZBxhaz{L}dtEe-zsUBcK5cmC=$kEi^I&mABhpbZ9eGv47)3Klq&TLACN7#u9E+lv^!wr& zFntO?x4qf0MKbnO$w{>7@x?{93kQABwoxgnM<^6;+Al^vtNJX9## zKvp}3KhsbPXSet^R*fFZjlP9`JiApRZtiGFipo|9e-B6G9*0vk)(&UPkbNa(%;@mO zjP%27#tb{)X$!zHiPGMT;RM0exivCl=#6z4Mg$(juUBTtW`c14Y>w;@MdpTBn`3~i=CZrcpHmi&TkofXwa!5r^FGr<}BEV1d9p{|5EUu&&{)>B=Lr-i*>2+QbYJb9}0 zpLxjH`>Jd=_lDivliAI}u$!l?CDl8%+u4Nu$mlQoqwVL0u%F+h`$;gJwy>Y`M#Io048sK20^jHx36>OZaRHi_jw`BE#Y4E~P?M zFyi~X91CqIGM9oRBNP7(?w4|Xmn-PtKd|aDM;#ORz~5bOhsZmKYgNT(Xv* z4ZPUm4lt?>JMi&zuq$1a_2f-3r?%kGae0d+^DpQ0h&?syb)LYk^HL_vO@^yINAxp|z#qMUTh@&UHv$EK5mT z-w6dGo`pIF=^VCox`6(=2}pDHb{Q%NN^JqQ>%`lrw>?8eM3?;;>0Dys>pAwcav`o? zFX41+=q2o_(mFa*>p0-6S%=e%Y~niX;?b|vXBQ&V%cx~P#O^_PMmcrkUvn%F%!w_v zP8Z{}jEW2sK>sn1*-2p)%*R7H5bPB#5?`_Ye3sLOLZd#|4MCt<=ZUKtoy;~&?1Gt6 zHU5O)Rr4=;QfLman!aVAq4ylC&fA&CR~P6tn0`;P9ujo`;W;t-(0RWpNapQ~kClT& zrPU7zYukZRr*^xQFX6@RX^HKU8w@hrqQZ-#e<*`Nwz`wU`TIwDfgXW3ZT5}TfgH}? z2iP}X*Bk5)W$pS%pVkJ0x>1)`*hjSih9(}tD)LQWD%v?uhtouncYHWND>TNmvP6Gh z@k}V$>fL0Y%t`cW;3Qu&9-TYwa=p65aMc*81J^a>=y|e z(W&Z^eNqz<2;F3UNTe_QmrAqW+jqUwwB8b}gxg;oR61>;U&w2CO683+A7Sa+hCVLB zG?+0-m;?KfUVqI@sa+qY6q%!Ig4n;}MBdU78!4_zbk5yyTtc|OtFHo62rDnQx@|-g zPs(-92?bWqsfdyTznU}ug=klJ=HZpI>QqyQUW+j^U<^K9P~p7Z6xvmCqFcRrDs-Xw zbu5Vh5tv8k6FKATqzYqN*5)sRb%VS+$*S3$pRG7r_r%dbo{ld+7oMyKTOoctQ~*Qs zCN^iz>IZ`o413xvogVP};zDc_$K&ue+xa!DK#%G^sSZYs=kyCv*Km8*;1;u6Fl;=S zkstdyTk=e^gszJV6W#0oyd<6&6O8EdX)h5C=7NH1F3V~N0AZ`=&uV4hT``Tc@u1M0 zAP>x^=G&0g8wpoITr|JJ$wf^3nOMHH*2nU@gPqM-X}t2y3v;bCSV5SejdY6+^92GH z`dA^e#z22_Gl5ySR^o$LY$gMj70qoj+H@gXkK(+QSM%#k{=_v8;$?or>vHoj>eSNs zVG%gQ&5g|x&TU_ukxOZ3he@<;)+i+mZlRSiK(}4uBeSgsh?Zz!cB7p2o}8cZm$6qO zWY3;;YX-o~P|y0u;_sW(Es4jdz^vaj{=cXK)S{o0+=g$XO$u{;a z8{+lxOgIzxW*jqO?9PvGz^q1mn^{djoAt%oElOgDC{M++>BTGO`eRjPogZ{(Au!hD z?FOzP!pF@Igd?ccq=q;XRuM_98a2eZ3hOI5*j~<$z+~>mA-PLz|7|S@rrwaJNHK1_ z8*y#kO%vQx*0irz2iskOjNO77KoaAVeBH0v7G^ky@h;ZHJvwl+QDzJEW(slfd^i}D zxLa*;7)|xqni_ZuvnxF=whi9M-e7n7GRM%>Qk2(icoxl|%X0h0U$TF(o$XTR^p7!} z;RDRm_@3pEZsL;$|KiLE z?kPsS-GY+u*mtd^mHa3*pEo$4q!&v$MXggMeaO?@Zsxy8gs@&Dus_)6c4LxPH((1h zGZJM^Aux!k9v+hK-y!!D75p34^W&V1rnk#3@C$jBw*;Op&6V2Wb55^!{d4#2IrCt7 zR^g4dDNhH9g1$~FiCq#$2Z@h@p%?PkKKd&^u|p7iOW0Zu-pUw>fc~pk?1#EH0`t0L zF`?y|2p}x@tsJYXKA(M{-8(rlwwa|dc_j`quZE4!r7_5g3uQm$)gXZK#2k*ti3lOI zIWC4uPm8pS;v@7ICxG~qIUN?0-b64fI?NKBZ=t!?M9xny-FY&eGmqW?2$PEeu=CM2 zdC<7qH2PjX{rTozl!_u08~FyR_@5{&5l{}1qtn6QY8IvDGR)}Z=;3Hl>s+zBtQTUr z`3Q@Q3~x*4B-*jO(bEvq%@Gl+env~T*VxJ%d?Jh{S4YmW!o$|kc7=GA0PFdTgn{Ooj#r_;x2}O5Em7w z`{Cw_CN}$M3=MI-GVLaQfZwMEISE-vEuSxP0#y(3o_fAY0oxFfLu~7HIaZ~Tx~S=~`r*z{KP+yk94~>`TTTn75T1&qehRCsrev|* zt@Evupf!J4$2PNOh-^zTXi2vL6tkO>@|e#D)8%S6%v^)puoTV;;_PEm;x}E`5Kg{` zqbG2>=?e?x8QAxgGmY=TTwe+2ihZUW$IG(U-8zbdK>j~-ucdrLo!UZSNU1k#Lr(S4 z**d^qYQT|YZ0}E?W>7?tw9$&vQMM!-I;2G@c*yf8Rudux9`=tV1jeh?19K(HDuxJx zL=2G(3F%0mzXtB@VuHcdx?i*ojiJA>Zu|DHL93#6x-x@yAPOh6bh$JR0|7>HMHVo) zQ4m%&2K$Vait|mDfGpaUm?!hBWQ~VnDqu^iO$B8^kbF>4>@QW@Xw!phrJg=dPA!q-XAn#RNZpfzEGK*MOq;;rZQP-l z^?9@Kzc+6WYIjiDHHtp(fmmCSJx56WF4wutn-7Tb)B{YF!d;mvx%la6V{C%X@U$_u z%Di1US@=h`x;To;=)9KTX;)D&-HLn4_C>6l&-PVs6LU#N9?AB#ar$vM$B2HsHq?&; zoJu@|MatgJb?LQ8;Tkz(8#9?mmazYo$*`C{R)fxsv>JTLP)SWBl7j22fygpXeRKL?YS6Hf|!Bc9buQC;ca~$q?DZiL`|fxgDOK1B@xBCiN4Vv2_jQRE2w zZOKUbwsG4MChN=IAu`G)!`Gp{*uQ&oZJxe+7PQK9T?yZ`HYI$Eu1yKwG`bSLRrX8x z=K8UOl75_lO>|`Wr5;f?aa*`8(z*D)qHXDmq+eiL!d!fATl#jGnTv1ZHrk>6SG_GM z7V13wwzn^^;V#2m2FmfuXeb1TAUC$dDe&Po_Q7XyR10Ns3{gZ7P!`7sY78;OKIfXf zQeL^-qk_g9Td*kDVxM4ao&I-(IRtxEYQM#i_B)5N=-PAG#gUFCU+gngnx)U-G0h0q z==(CzIz4AK9RRJ}+?7$%&b{Kw$lNWwNCVb~dc?N-(xzRvdDB*!J3H+|ugX5{=;`_= zo3{M67GCYAEwu)e{FA{x8e1=yg)cL+t2#>WcsFHNb(Fq3OLo=%2;;M>3WX!YI+b1Z zi}70+Xq8>Hf2S_Hsyh9me3R*uU3C-BCCseNuIjtdt;nM=yQ=kBF1gn4fCF+n4EK2R z$g$N}g9f)*{`d(SSN4x%n0*pYF5AoJw7VE6>#cZQ#zb8rSd0JmZ74%(86Xnzd}+tk zlK!72(>_lXnQv?I_QbmX_o>x+dk_LiAU?mpY3@UFkslX85PI(^l8`Z zGV%UL_eQibilNw!d6hL>8#zN8lb##g9pkM+V4vZ>D9DHw|wCpCnte<-0%1k8@c1kV_>#)JN`G4 z{^aF!F{}Przm(qIrR=VnwbvdwRZY{IlSfuf+I{z91%IewEiRpBBlHd(+uLzjh?~hZ@m5%+m&xOadBt?d ze)%Vk)nI}magP$MqO>F;}dGs;!C#A(wTW|G29g(CXrri&&6OqFg(HH+4QSZ{ra zz5`VqHFHu^eX5@@1z*1;ct;;;D>slPcgslS0noh|P`3OWColF3DD zL~vC7;iKy#8fUrOW^|a&6sHQdy8r&}51~swrjxiA%60iBq;lu4%+_XAq>becSBI@! z{;(w2Tu2hxZjKt5`pX5bLKAbJ(q;cxVL3RA&}F7JkK3=uXXeB`wZ zsh73bR^}Ggk_R2RHRiJu$?Cd1Y>fFBE6-&ZH5b&AEk#L0>VvJZg_7lDdt#xX2V}5L zASs@Jv%chxYkYR^XQ5JqxG6uyHaa|BZ(hYQfp++%ay8v|-ugMKBL-Fkd4bT8`{%kG~x>`OI z&*b78D85kH@F->GW{B_d_66GqKZwh9{xGQ99G@gatt!G+x5GW|Md;_2@p^|pdOJRR zyCU1${ld2w@wTME{F_p3oV%b6+DDqCVC)^ikcWekl|lKMVDy^9SSps6d|>i|iR~*J zYrK}q%;?yj zig9Am0XS`%HPc*=WgpYo)7TC5y0=)C`_blf_qKz#+|1ATx9{7xUo&S+gA!b4{Xlhc zz|oDF6q?@Wm{dtzv6VCVm&z>IiHH>)gl6d-4txym|6&ELpFrvtczRNyC60esE(bVk zgZ90;gHI0&#B^q>9N+Rf%5 zZ4TGw#_3H*)-`WFKk72vZuX>f-|8aX?2eS$ce6VY^Sjxd*d)K3+so!pBa&5kb0>q? z@g+zw!oSU5mI{|`_Im75NF_$z#O^kKc$XJ>6Nl|5n7UeNJ}L8Nccx^}IrUAAQzzEj zytZ7eVd`BjzP`-ljPVi;;UA;*z2HgvEr9)0< z3btaW&%n&oQkjU!gY3CqCH-}Ex5&=xpV89)Fpmtn!JRT|#<520J`N zKvq8_7@f|iO#?qW@GO-lI~!8jCAkmnu?_3SZFu?VY}y01_5G$&ZD(r;1+VIJs zi|Q{`CNNu@GzH?VmK$ybnYvS?#ObOs5zA-xR$WPDyH92K&Nhfg^)OF7O{Ue={US_V zZjmJ;?|b94$xb3q(<>zSqZ+4^?0h064Bbm+=&_Jo=KWyg7VqjSW}8zu|BNi^*&5o8 zpj=^MdfG@au(B${>FNEko-@&x;o6%oroCG>240xY$+n=C zd_+K80s4KSnGg?^HK*2PMbN_d{=t}nS~~gO3Xd3QqInV!e1VU=ZYf+wo&>qMm5~s% zmDZ$aMuLi_Ot8)H&nMB2rf`C?n6Dr?GTwMkNCMPy1o^o6aIl-*iPPJ0c609Tg7-D# zR}IV?K>Hs7=yJ1#+*}I@wy({LnQn@J2xRM@l+q7;HM?JK9#b|}bCkkn{+VZnKu?|- zuuAU9WaUcZl__iu3NMgY{aqW=v)*h>oRT@hlo7bet932On9&H4ni(9dMROXDQ=tgq zzOzMDZ;)u8B&7p=-$+IUnTl?T;Wj?XjOTwx{~n*weDq3W*T_Sp{&&(?xC&#%9R0&j z^+(?u)3L(2Vx>wuu41M7EpvLgb)2duhe7{xr6WKMIg5;>tvsQIWBRt`N=NZR2KCV? z2S!(}bU3<+hy&x-BquAtU+oF-AI{h+SGt7{@YnBjxzhffI)l18jTqE7vQy_3S=`5< z&WH*#KtpgaDbAgvOSn3XFGrW*DIX|+1MICy-FKw?B0Nf&)CKC*r)7Y;n!=aflB>7t zGT+uv+$!Jv3O!C9>Y&r4|2U8bijreH|I<8K+D;2Q1OXaSXw^7JQuTG{>3*b32u8{; z*vIKd6$m*ke3Mc5LEkJ4-`t6%{D1;wJAzbWuiO?rm`zM0TA8ZJxt*eosL83Qg)-BP z_Hx^Rnw)B*nwFgeBi0cIZQPzA2%!_#=sf;qH7R zS+A?|6Y>m8~ag`$;ZXP7d#8?rH zK{dh1XHk-oyKFq6p#=cW4Xzx7slk)#N-6miNk+B-^qcDCbCUR|mxc85bwb3()C9xY z%$vy$^rfW42jSnry}JT?0>7xG@U`i|h=Xh$u1=!6i%#KBn_hcI@@FfiLrKqVjE%Z2 zF~3YeAL(TAbQG&@dWs?vXi~Ea#x+POCsdtWuFm;+UjIyL>?1Wj;)z zlJ+fn{gSX2u7!@X9^z8TPdO%D?^Z*+q%B6)Ez9Gz9GTwvh&Etcm>Ej3 z^jenPDNk3(1-{2!V?HlLTOb6B< z!YbjWn{3naPZ2<^G2%l!H!Os^UBtIac8ovQpTjDpS*k8Dq{!cir5vKviIMbyI|)iQ zePBIB4w>Er1^$jSujEt^T%?qmvG3>FD55_o<3uGIYbCBwSP`iv!k=oX9GiMfJ2^^b zYv=M<(3nVwvU)t!eI5&aMji|IQCHv2HJvbzh5bnRHEZl$sr;JiMfo-L^)RD_&Ko_8Do=Gi!9(lW_@) zn7|@VnePb5M=?1|>T=h^Bgt4y0qxVJmI zQnJMFii};O3KIK5)$rzNiS4e;_TcAB@cz5g@k>hB2#qn%RLGs;E9S9x%J>1p z$q^$$XS$uzwfJybib&*Ogd%cFnvwPPu-`wQTYS0>JB;SfblCaVrGbN_q{SN^x-@Y0 zw6#Hn5t$~zt(*=j?3Q@PHffR){1nZzyR30U=t}T=HDPT(nJ+~3)`GX$NceN)e%pid ze;J+`=J}aPBADv=SHa~#X9;0xdw^clm11i3^{l~_jPlV*y?J}u0It3KRQ6yB)P53O zRGB4?mvB`@AM*d2>WG)m@e)!qg_OUWZ(Yu5<>g^jC+a$KB-UkiL^%5C=+0sEni?ND|CRd$9 z5OuCp6Y9Lych0oc`Cw7!9guiU9kOcaNx~AFEKs4R8A7nI#D<<~EBa!|HyPsZC0wTW z5f<%HL{>s8GXfy0p@xrTi%UPQ==Yc@u|s@OA!53tbC|gr?r8%O=r@7Rb0jtrIeNNL zkySohZj}YlQvgn^-D?Dc?ao@-lgMy#aKEg?#<`oj8XY9JQEr`lb3NRw+XjE4bV~8N zgH#fH&xd#um3CR8a93j+T@Ev2f$8TE4hRNx6}s6U`qjQqO)p_y(xx5O%Ew#4af1$; z;0rk6?hehqlI+p;p#K)%!N@@mrot@VUnc|=-dl}F?pJZ1> z{OEM#`9<;W$Npnz8ln4GES~v{z{?cZVgHW&R`Rb%efa z5$vY$>4_X*pJk13Alkq4NNwo$(@6uLP*+>na1H1hH-DqLjh!hKiCNE1(A3|%iEzA` zNMGC#eioWv&Id8CZ|TKCujHN=&|wA6L5f00lq1u)!*iGO;7p9<8gO5xxt3)7OA!8< znDh>9_@6O17~U3eteq(C-IbPQDRa@`TUx@xS2eVmyG!jUjB^a_t>u$egX+5L>=#nY z1*Bsji+d)@^~+D1NpjL$C_|=5j!uy47M62CJ2UFyUm&`t&H#zcta9?&e4gx%=kV<_ z;l{r~28g`sU{8u0lb9plRtAF3%H>$TJ&#ST^)AO+<&NgJfKC?&PCz@FtKfFV#m}^d z|CSa~KL}uZ_S)ayue87Ra=#9AzxH;&4sgG|>3)6B{rZ;s^D`?XImJTYkl zYyyxMxB^5VS_^v_fWnya0jJ#UWIs&cjl-8>v+vI39#|!xiE8JaEYFj2 zb7vq1@2|5-*p@He?Qi=9kXFzn(H)DpvTs&9C`9PMjCulcb0E?3m+~r=#2) zC}1;V$}%yJa?^_@H&KzOXv4o=Z!%tVIzie-&R^jfv32-$jVR!%Bw6(~W}7a1U(ArI zjb23)6TIby9$FM}u994?hRp7|cuGQjv$C{rCQa4& zuPM2}i;+78uATjPk|W39I@M5xR%pMUlYOkG7E^vdxSnP>yi8BP>7M{O^W3|%<-^P$ zJwp8+;U7(-xfH#$5bR~E|1UR}siuM+yyOi6S4{7*zhAJww=~yG2O4Uyra+2$;By&C z4MBll#@On=NMXqwZzt1y9APv@mK^r|4kZ#qf+aI~uRf6gyRWX(?RhR3z6)hy6Ud>Y zG!bRyQ_K>11ZJ#NYO;Hkn(Q9@a25rX@lK@7Ltr3An{Kj~=OK_>M}9c{UW%W+wDGS} zL1Ng^!L~nvmyi!JeBG0%CA8Wb$zQFezbX*WO3m9eWjePwH^1LnPuVxL z)5X~6fiR<#-`rI<;~V%}d;@Pr&iWT|Qcoi<@b)#Pe^U#x@m7hUjLF5?3sxN$6#Y!M zO&2M1ExN@2-7gd{3YShy;@qG32|z;%8XEuapy;Y#_$B&Tqo44@E@|bPxor;zLl4w+ zmrxlHCifj2l4ypjSlk>4>>po%dKjYpfocjMahwVY`Mn2-?{VRwFGg3A+Zz-mE^|6# z9h01E{V_QQZ?+KyYv3aC&3OUIXU*etln1T|f3Fh}g6uu;2zP_rLrJ;}o#NgO(Mv-} zMSyhlHvp*%?N9+G-Beg|2`X=v@ca2a?uK~;HL=B_U(bU!Kvvpg^47BwCe{-~jI_>O z8Lrt6&}%hmVm)hUso@RtGcFZm8cz+abL0k+UP~|kqUhIaq?hg6y|_~0j2$$CjZHo6 z3a1j3->sH?tYo4t)=CzXALH@>3FynO^FY7V_>@I=7jQYr%kcrQPOQih&aOVav=Eox zDqfKUX*xvyWK>4;I?W2Bi~YX@%`WmVdlmt<(d-1T^dC`P#jyzRDjWf8vf`U741z#Qkk@>S&0w-3G0iN2)`;txRVkIkdyixf^u@R>ec%RZ(|2Ga$1>3E5 zI(oNFm!N@^7inj4@l`Z(cDi!*9f|9`K*KU#L09RPkp{|s*L$G6iYP_lEo1}-nP*+<*y-8voYZ3c{fl7fw0OfXUn((`%GC|Gi~Jy=T| zqr5VZX;)Wbf7!oilWGjgd}&B*zef-?{1SOiufB!At?71wU8owMAiKP>9@ zA3=*xu%LO8x`%4!P;v(fDLIt!GH8(0&>{NzwrocVha4We&+eqy zU7qLV(@5IQBy=#JIr z?a!L;x4GU&a?y10yBsZ_7=>>U##Up0-;WTXd64+2=)V4BO4=dIWN{I&&#UKR8L+bl zqaOu~Xhh} zEL;;M7RM_>4EZ%X)Sn3ffh5O2(7$Oq?2vn4I-DY1G7pIOB6VFw@?0SM9Oc_tCXz&1 zjI`Ba`p#*>jPl+b%T-Px03UXL6RKvth7HxyrUf3)>)_rrj z^1ds1X{T7Nf?#B$w)}SA9(tJr_P@JxyQ#9VFzS31tCSFI>wIWRhw}WW?YKRh%tx*SWMEdJ!#|=(5tnoh z!t^k66;3^xJ;Tjr(QylTI@ zg!s_mqL**vBI;g<=*eYEBBc(b+JpBA%Bep+l8=-~sm(RKy8-phg$wW}u&IWEt&R@L z_fg83{$51UJTCTi7lsUV=bVgO?iRV@C?%0|$7v6W_GRMi7w$OqX-===E)Tf3!0)XK zp69w;fq_~Ja`$DSxn>$lI>{%h5s_lpQa2@PimHJ*Z?4R`py+6S=_G9rh!MKJY?#os zc}`+^C^z|YJL)g3@~FssY{7UkrwX;lCqbg^Ao>_iaH1~pQgbalkSu;@lWsCJ_-S8G z$*pGzH>Q>#eM7nVqzM!|kwfWOPo+pmt;9-5;{W6@@J@_?MYtCS0H>`ux48pX&cJlC zr#kRmj44LsWXrD=6ZXU^DUOOl87Or|`_>2cidJ7<;5zmj+zDq%laZ7McE9YU$cVIwAF3F^-Z4V7LX9+^{;$_4=X&xPET*^ygPD|rEw0y{jrX+#T3 z7YF%^9ZFd#Hc=t&^M7}L5vu33iK4T!&J9nzk zn|vxNIoDC(lyY(RJJ%8@@(I+|G1IZ&2B1)}=D8$Z57M16zt^R3(`-xb`)X$!Jr!AJ z+m{OUn`~Elvdh2X$@T*+#R5K{exYF2wMk$-{Qmx6)m@$V8L8v7}IpO(yC^f|WEUq2(57~~~99E=rbeAhm znz5|fCvFF6pG3?g@=1>rihpZ3h+PAVf1=J(!#TZtU&0znlmI!K9%*MRQIw*jv|fo> z%*aJ&vev&*9a%r4_t6-0#f(J7BDU)NdHuGkn&#)VI2OlUUt`RrGf=VbOr?nubAoCZ znkxxn<|4QSy`hI5?h|=nz-2S)(NWJ}hWOl>cAoq-=!zAFY}@#U{8nE`+LQbO^!@bG zGn+06JT|JDQFuLn!>n07S&r)-xORJ&eL~?kMep?$xvyZZAwH zI)6}9gQn?BCTF!`l-NWk_UdeQS9tU!Y2w50+$Ed3ST}GFu)*+a<~GYjJi_Ry8N#gm zfjO!cauu_G0BcA39c(5Dwum-l)z#uppWUN~?n@{Z!>`{9zggB>@z}pnQ<;48C8~9h z(ZRdI&=PZJpE3WWel3A`78ROUrmJUI8_ikR?O{ol2FfOwkJ71wJN*pyrZjP|Z7&9q z4~8L#2;A#1p}GlcOUq5C#`_xg$pf=H%pLfH5~E=~uJ51Sf%I}G7fX)0UlZ34RWeCD z!WxoN2w~fwqrSIbc;|rds`cl$zZpxVD$`@3D|Ksonyd;tn(K3gx=$^T41}`7qLg!2 zdUj5|3^F&!HJ5zotpj7^XtSKsAzw4igs{{yb1F%YfW{g8;CB%72peKqn<%>*mmm&eLR3P7b-XIkywU*nX?WKlPWl%?@- zl(`R3BN3U`VPMnGOUyM*%7-4Zu5{EowbQY*h%5cJ!EN#_q_@&0pW`?AkA9Q+%?Ph# zAk>!T5x2>|x0`&a-Q<`1Zt|Aq63f`XoWgP;<0$jE`}V~JoZ{!^;DjYQ!ziQ7<+l9` z>Go-=GwrvY>ijL_GG1R$V=A0Ux-}Ob!(1UZ&-Jn08O8_5TNSd&Gxi>l+p+_grf9_{ zXwv%n>chepRheh$sSsliS;5zHsnM{Tf{ro-eH3@5u9ur-{npThL0pKdajzywk{dA+FSP(8WQ)u-ED4lMD$)=5Y~qXpuDIX=Ko8 zvcCGFCM76tvCi=pYGCEUQgf+hHB4Wgkh&&>Mf%VyQNpHY)6|k{dE07hAIc_wW^gEI zgx@h8g7Lev+`aP2px7ZeJUgZpEEjfMEOU=6s;jWMm2`Drb8i!UX=~y#!AhX_v zorAQfcj1(xo!q7+ZRxr>3xBLU=+%4NL^u|dnBElJ)K|H=9k}uM{rTbjnHmBXK#W#z z_LCIe?K+jhIop;~c{EqsV|mbqQ)jiC56M$FEN<`6o3WgvCs}Sjw)?decCM~qmnc=8Q5IXmZ0AYsqV8g?H%Q?hb8t`7tFGN$C#;1eu-2?XgyBG1(J*sqo+{P;dX~+dgQnQ2{ zUglz=a`S?1<7Or3TY?`Ce8qqa_qJwL5>20Zb1rx?lsi!HXbrZm54M6B@+N-09pO{> ze~q}1noznv?ts(FC*KdK1mn|E&!3(yIbCRXvNIU7h)GGg8{3ooVprnWou@F}X9l(R zc`lclm-9F)#fQ;p2TOb-C_P@SaX5olzit+ki>~74d4e-WE_dx{@8Ho2JQjI)IPaH* zIInnku(rvHaj3OxB1@szz;I38sh2frtW)yDz5Xs^J4TsjAxDH3QUA^^(204Y%yY>e zq9i9fpYIPSnj-e)big1hW-smz?zirdH!y^zX~&l4er-K8;qF-^;KnI_5Rhk@t@FFx zJV9pOn_Fc?h8WfGm%0bg81B-57P=8uW2blJtX6`&h!_*Xf?V)wX@{3XU-0zh)P$!m zPtETMxtEJ^I*G4kpcCgho$Y{n!~P7+Rw{JC0?VVc5jXJZw!G#{5Xg$U*-vHkXk}1f zvo24ao}px8X|Ul9Zo6GO(~>>J5vvDIiTE~-1?8uT%zU-V&k^Qln0UWLYp{GQHf#;f zV8>F{;7w%594Ykb^o_6vBX_(vr^cKW$ls0B_6kVJ@Y>003$Bmaf=43!v|}hck#KHZ zL>+^ziMYr-Hj{Jp-b}8ftBK($3MKsgUiR2}2{D)>k?`$Tm)Va-nwQWVb97!J1cb{E zzaVVQ6*|6fs$g=7`4A5bk2O{{OYt+Ch#BzbrRFnXVw`CnmvMyQA0d+>e5aN!oj5jU`TSmgd5T6t4X;m#bpH*RB7Fiz znj5D>IP`cu8WgqS)_H2Cwc+2Mz@Fbl)kWNCy}QHVuY}wN@bw(@12aPodgqXXcBS~7 zdl&%M?ItndgQD6DZ3wYWg%7h4p~B@#TnkFf+w($-$5mwR0VrmuWZ31DT?*AE&a&fu z*F-MEt5Z6U&wX^pnj+n0<>ooTm1$f9QGpIF4eXsJO~f$sT%b}&h32_gZi-pEEGI9j zlmR~g9=FeIGhK;R{VTcQhJ2Bm3tKQ@M&F=Qc@fKOqPjgOXHA%K=TXYqZ3j&e`(>Kk zCT{-VsCoNLyeMhbm53e6bw^jC*Wr#!9ch{Qum`)WPp4y6EHNGPLJnBXO3eu~?BmP& zJU-PuzPQihbKT=}`aFJLeQ#qhoYvaCB+k=$%cAc9c>(5yoTXCp22MT|aVtnInb{*r zW<@>{Kc?pyJz7tiadBJmnYLos_kxi>VCL6GHyRmw;S64uAFSRN&g^xchd|TkrRGFh zIHX@W$aw;6Ba`OSeGnq)0Q%!dMGTCvE1~4LNs_s%1k>o#kV+& zaC7SgHpi>U=^Q`s`4)>>AI=Srao?r67^yYZ4jfgSsJBsOsdTKC(Y<<*)FbdB7F55? zSR|vR6f7zE!*y_Bs)Or&2T#rNg;phZtX}IWL1(@w0lHL_-mn^OMWJddA%~@ue=Ix# zNA1h^kCkVb^^YwvkDI7aIn>KYSDM*d`L^HGC)w0ux2aF3HdR+X zLbL4iqULugrGRsM=8t|mD__^p^BKqWT`c535MQ<)PiME2Y|#(7dd(*}$|Q>m-QX_E zpyr77f+~!bx~(DzQe8ur-c^UBdwo`+%OF!UQVRc_WMi8Ya2jfZz|2FMCB0 z`lMrwz39#fttR~3N=1?I_kqJxaf35HmK@|Q#k zs}t4-cRBpQ*8G4g85Tc;ZNeLSJanPJ`Y@96p_L9&2`TD%AyWZ&>ky93=Y(0<#?BQy znja$HOp$;@ptMqA1Vu~bp>aaWJ!33FS(c<2aZ*Hdsil%$a3>D|+18u&0$+pci4^>A z7iSom0K|TJhd}dif=j$K4wmf@e;pByXvEoQtF8HN>;{&~HLI0kVa~EvrM9qu0dxIY zGg4sm_{H{1fswR{F6`UmP^rjs<_E|pbGF?^}4 zVp$^e6rESY1lZDtb6`F4f`pj_aTMfs741lvAGD=^6`LP&IsGR>%=k|GbSHgMY<>i= z%ebC?jh_{(j)a-hRExIT^FoddMN%iWbtj1)vbLrxIfg;`vc85)$Iadx+XFc3J}Stv zr(2m055|QmoV}_+D?kTxKWUruV|$DsJI+gkl4hBeuArZtjrM}q){A;C#({Y#$wqRJ zc5RBa`|-)ok4=btr*C|iaW~&&i!%=M##q1a3b28FJC#tVSOVurszs<^GI}dwJ}tIU zD4RBbnP;D&hV+n1^03hCXv1U8LpZ$KkZ#FW4+Yps38;p}vpH74;6toDQ%2w=_QXE1 znVBK3k=V>gh-)W<0n$6<3W)ucKRW!s-He;V-yL#b+R-JKIvaN`fcJp4BigbO#X{`` zt>zITJMDfP2sL@niqD+N)g*ySrE@?*$3kyKZ|g&y*tpb7FzB86isc_oe4Z0;o`(BV z4u~F75Gg?GN08{v4t`XK{xC4}IuHndN4|Lq=8f(fX$7^)Raaur7M_{jj(zohFId1kQ^!(G~h7iNmSucj2SD^cM3^;!mKtu z?g6~Tn5DWsK)LYxNF_~zfI?@X8QsL~XQHtS;(}gT!Uq=C+VDPtEEVBUsMFNv3(XIS zGz_r!6wZHzy`xWL-5Aa9HAZB)Ldb@F#v>(8gQ91I{)P{nlfUII zY#vN9VO~iDaB;!)Ff?VR74oZ%`dk`}U4z(+pzzcn7TadHGlpb*cN5>`7m$2sQ7kuP zS=v7FEXxPBQzRC2(9p9g%Pp=YEOrd*Sb`L0AG}@I#e*_)esgWG^M421Cw>}~?@A7^ z(dNz;mZ-L?asYy!+|3h}U2v-#2j3KNp=8;06gUn> zO~yrmyq8uRwJ=^|u0)$W%>0IE74?4`5rz8ZQ9C!z4t3FC#>~0#&NL@h@u^?dOR#3N zCTnPcE7Nz+j9d~(KSFBQ{<-e^CO7S$?Nn*N`?j)$mij$ZV)%X!mF>FULz}gAfX6m# zZ~u20`EvWewq;=YKeid-!{Ni4GLsuq4bzXR>YADwn^G?}qasb%XY=gliAOe0o!Z!t z>NWkUAxlM^=Gl>_sR@w$cgmEyBa@TKa9wpovZ<~v)m>QJ#+H%_SDAWfdq}lS_cx<1 zJ$5*u#^$Q}qq4NEub-TH8n$I!O3gc~YD(jgzew+R_}Z1vI%3k1zaU%kk#!lxf7a8c zs(JR*BO0eno>NzK^yH~i(!-|Kqty8Q7Adso|J0>@4;zQ0YT|xFs*ar0baW#buaBNg zx3e`#hD{zb{fJ6h?6Pa!kw@+^Veh?**f@wCddm^f`x(=W1tH5)cW zpQX0S9#)quyWcFb;73&oTQ;h73R6<8`xb%PWcUG-BelJiyH41{?yp1e$qmzIO`J0M z7j={b;LpwOHZ|cCq&BwL+$Q2{;}JiHWN1ZuR8B}CY*pQq`b}O#_O3R+n@#Rv>g0yW zb0#*Y`{^wUJ z$v-L7`{wf}Ww}qg9;w`*`U@^2xc*8d-6yxW&s$God+6mPk#Xg2r}RQ3eL9Kk{nzQz z3e2LZZd%jCBPJ)OK}_q8(q|;qw}f1OlfgXoH<`mze{;__Hmd;-?WLx_>9^kYz(YS2 ze^H#RZkAp%X{f~HM*mr~)&vkp9Z$U`H+nj=I}m7^G;<}IHjnk9*QO>j*o9v&g;K;fu zQ}k5Z(vWPNC@Q4i!&6J4Qg6tD|BJ~DN2?_( z^P9JoHmu1%2JX$%>W-XPH!DdBdo^UC4U=X}KAMx^M`#Kmp02?_Zz-hNT6yjpY~u>h zrs1f`lNu&kHcj92XiD7?yH40kKgOia)iyRczMg?|x?3E)X$=tUuJEV3as7w()J$>0HU*b7!t_L6SS1!Bn_PmXA83<(Ikt>th;l9Q)e@H6l5PdbIbM9Qjy6X1=jcB#+C zr8Xe_*Vl7$EMu$p{7w7jiAPPbM2ZcbIPDmR$&igS*cixfBu6cS5-=Ob^n}yrLh&Un zce0&p82*CIwa^qC{6bjM%(_XI7N`5)nUPYr)-G(WuSr{(lXDDf^{_~x0w<<9IjPxh zC^NRy$Cfmzo8o911PEqBpXs#|U-YXA+K`-Vp*$WOn>+yi_v)HO_mQXJLfs1zgF`k~)r>HKFNMUN3LSY|aGm}FKC@O-7ryb;2v9*hg!;l@Xi+VK7{4DWlIs0y=60%Ux=I8i%nH@xOIu7MvB$CmD)v~_ zLNS=!-Jmq)Lp#$!#{r5Kl`c?2MHL&gA5S-6*_j=bFKZ?R;*yp&6qzbxpyZ;vm@QCr z8hq$}J+I5Wg+3b1)4MJfmIT%|GSrqZ(3DleARi0JYgi)m`{Ef%I_yGWmc7G7nKDzT z$3Jd-k4o<*W95Hh{VKzi9P{8*IXw=u(bdHBmN~6>WPL9;xFsoS+N6pYXk1&u!1pCE z^C(rqz}CS0zQ=%U`$M4+yFZnDsQn>Wc30N>Qqb5Y*yn~aqH%zPcG>mZOFn)x=Dst>N%u0{C6qi@lmy`Af$MD^*y z=*t60r#A%no=i!I7^a$=1}ks>D7;>=h?Hsj9|-E5zm&c$IVfY!#0QuMa(uZ7Ro@+- zdXMsseJd~z6$$%w&^C1=!P`wf318Jt217{1kgFtg;O;#OTAhcUATs`750T5DUON?h zfd2G-169P=2oEDpQU2n}@nDyk2tg6VRT9b+^ zqij`iW!jd20j3*s;)ny-MLf-tSUR4!ZRyz-M|N$NX zuiikLEp*}!_5D!YJ8w%;LXifulceUwrjs0+c#-6hdF(;bl5HX29UyeFD581?JCfr; ze$Up6ii-pb(H7WreyfTACz0Rxgyzsaw{&^Gx92(+mE_hnb}pYTe04(&iba5H?M?mGD_I!&AP}ND$ppOTYhfd zc9{772+r^TAMaZGdnvh3wq=WsZ_c%QfA5S|XRc8)R0PFxKX|1K zwU}z|nbw^K#`wrLTE%SyFz1>_XV;{g>=$j4TafGVNtraO%^9GQo$8Vz#S7S}iim~N zv^0!rXn}+=TmCpwTYUx)-Q&}HGZo^rLtp{HCWyPVmZLJ z#oJORMnQGiKZ>HFGW}~y>itmvyk98~SBTrAWM#I;=0|BH2{)kAZh$*u+JLr1b!S&c zqN5l8GfzzhUS%JE$}5j#q4q$1t1Qu(s7)j2@*hXWrsD$06gdsD1Kl}e!m~Qn!jPxxf9sEoN_a+^8F$&1?Z4yXq+6&IM^NkdKTkA71b3@I?r zBFGjYRaiQ6yQl7Hx)H)X(#N6EKC0Bmlk;sKXa^3mZ1xA`l{nnzjb|rMnamw~HQev6 zQuh2Fb*kock|Eurb-A;|Fw&twk>0~)ecpHyZ-cGrC`x#;fOut}uaT-fAGK)*F*4P4 zkuJl7=on`QD91S0ZZ6}z(dV!&HabNW|0j)5l;|re;I4L9b=inozZaF-hKX6WU}fZE zi;bJfIK2|-5ASMZ(FZ&uf$ws9=hsD>c{!vblMVJ;PFM*S;Xt>|rqi$Lw4}Z8XA!{p zt4#np_v$X zEg|5P79hLO)km;s%X4GeQfs;99-`sJyL5_oX^ZU~BI7F)BQW(F+ef~!_k5cd0oSSi zwkUrasTCdNPjfnsiiJ}h7)E`jNk4VSCJ+~ZIK?n7`sCfyZ}Jh$LjBf7`U^?bKjdtMDAHqr zDGW)UwYEv=ePEH6)ki>6TG@y?v){F~JoB>d`_idw5%=6*aNpAqwOiksexQ z#0tz!fIlyMT@rb1!LQ8p&%$pDD>v$19G}@kYnl%Vk2mpKS;Oz13W6J~ROOhQ zzhFsqBnAilfoM)9z*!B{qAZc!ZNUVY*ycgZD2kr4gy1XXsc6{&J&s3>Y?RADRjMnzDPB^*Qf3DifW zJF=7SWc3ryCmgZ%hv=WUni!anG`hBiL)Z-5XlYAd6Y1dp?x;cR~HJa z)Tf`rujCG}phvbeS{Gk?WXLfjWb}cWZ z4)j5+b8Gt=EF&Dp^}sW-pl0oy1-wrnw2sfYWD6@X1+r*vXC5^*X9i`*^@o6q`MP5& zA;AEQ_^F_V$f=rOq#w0|fF8woJxxHnj8K0i^^)Y(zmt4G(_dX2&K?+sM@h^1v#oSH z%)E>RP0u@QiK~2b#t<61_4fJ?{BEi8JuejPOswhq6w+e=1UGD2b~m4$(g9)k0jWAj zaj!X@PEkE3eNa16>h6BN&vT#a-Iad6SCO*S%~t`d8S^bmfm_qL6v=EH2X^^%2LIQ3 zy~9x_4|k8V=fW5Iskn__JF_SJRuedzG{oV=BYlWTWEYY_%nVZ)=XT~^(~}sJ#;cX} zo_s$Ya3>cK)Sir!uY*1OV-VY)+wGh=9Ymj#wX@V*-cmpPAlCJ@nqZ5c2UXlATaczP zZWVec70?Cg+&PHX0>D*8cec$6( zuodx~caVA)SAz!wi0N3f8|s3ef&(LoF!l%Kds6u1n?D)upbE(Dtt7BpV>|mS52V$Z zd3m;CLJQ2xIhFKL$$k4%l0Z;+gPEO#&jVF9w!ofQ>T&-Ba_?!Q|2D@a5&8?6G(6f` z65l2gUuI9k@@b5q(T@*m`2-xkd?v|33BJCII^jAFzl+mUB7plu@(KMM+H2xhO%w>g)V#cC3ln>nrD2uk-jIw+iC zMz_)Qdvpi^A~!~!1@K+)LpI*^T_qJfo9S&&0toME_^8!>Y2yWqubZ1yc*lWU=?cC< z)N}aT-A@q$UlS5N8djPsR0B(2KA2N$7qllp@E<>jHq&E)ZTrVYKZ-(#_3@p);r)?@ zLc6syY3NX2bDyguc=kpJ??wPFdaN?9`lBs;A08O@zMc0SyzdqT7iSkIeKWVVYWx0~ z1hN|HA#xIE`VY@?&)4B6mHFJAgx?Gj`&3S<5C@nxk{5_qq~?k1uHR=s!`>dye$BR) zNeFugG=70}v3&-qPPeuzZqw4jDfieR&LYdaW_BGba5Hv8pGtmi_uS3w;aQn8e#X!E zL-yRySk3Pmly0sSs2g?rA&ChD`pC4qnZ72ZO=J3hA*4HVBJOTKSLGmpHmwp+J_7?% zd?{{qlxm8b- zHCK@!U@*{nF2`|RcMYl4EbEzNFZnHg)$DTExYN&>IfrC*`K*gPAh03!ht`l|)--#U z!Dn$S3JIimrZx(C6djgWPDZ%dN)^qaQNoH}QP+!I7hmQOgggk^?$qt#kL&}-G7s?U zQtk$!+kLaztXCaaIgX2OiH#orhUvgBRiiykrCCVZ#atLrXJw(&b9)t~wkIS(trjug zhfi1ff)tzRI5u&ZA~tuFxw|^#&Lq^?4wdl0FF->SnV08u!<2oi11V_|*E3`Oh3m`T zD#Bu(oIBS(;hK>+%1wSb89YccLRs*w^!_0oW!wz$J}l(AU(-wym2n8(=KQ=4XU~-A zu<#-;I{XF`2gSFxawl{}ey3d#Q*`+lEQz{+RG;IR)7A6geHO_ZRaZ)`&DP@y-NSsS zEB-e#*n-XlmGbF&R8DudE$HEo>R`LJU{qVMEtwSTNQC-Z!Gkgg)S6)0x7osz_C9I_ zeR{zjEqF_FK?6M8>vrST#FYJGJKQ6cu4g#@&aBNnpjs-bg~*Mo4jkvSq(QrL&jM~~ z=3LJy+2}dfZq}UH%B{LdZ7{{+(`}RmMBd3Ioi~eZ=Xv;d(mi+l_f~9<+Zw_X7U82- zOb!NRS%}9c1mz1|?P@h@o9>zPevN+Y+!DV@qjl|mo3CY?D+^3PH<*xUbADuMu;0=? z4NwW#7M0Qn$i;SLIL;r2Dj|f_4F^^q1X|yMb0n^+uuJ(>dARvaQ&zCEGB)vVeq#oSRI2;TV0muItb(*D?Y8r zT+-N?_LE*d!$ar+7N1|R)H(-W1FhJZY5qBfl&VXET^7S-i2)NM_Bt00ngp{N`cq9f z!He)y#k_xnM@p33H!N#CSY@lm5 zG@dBu2Q^jcB>g(_r*DZa5AxPJy@!d6HrK%Pl1#;%$b`0Lf=l3e3(ap@IGnHGjq2|T z7xS^YxHWHQvlvy1+^2ulEE7i&M7cxyZF6#AciPYYm6;iU8S31hwAt$he3LWFfAg>f z=0VKvSSgvThp*C}rG0!4-T0=2}nE&d?bP5kW(Mh%W5BEgx>Enss`Q><`-|s!q zS8do6y;}P=*Tbl@R1p&9W-g$7^TYxlHnKfU7KTlZE0T_b<5~1r-oD&mk0#|#gje$* z?)@F`U%qp8Czy6&9xUT;sfYo4_CO2?L;mPDP$fCvTu(sN4#7_58ZtEPc^s){=l3dT z>1=pPY07(WULQs?`3dezJke4Ld6(l$?r= z>Lv8r@e{2l|0lD0;&2js>OfyKhty2R);e#rZ9$Zr7LQAhlfB(qz%PRx?QdwQ$@>@X zqaL#5$v^)S3ew3*g(JrgpVR42c3Mio$y9EQG=Z~kmFPU=tRWWGyr&4F2QbQaqeQ4H9Q_9jpiZ02GG2bl9Ma~Kz*bXUz=s)iCy|LQ8Cff|iog`hR9A zEC25-W#OX#GrO|i@&9L*lC${#%u-fH*z67je zvk2J26aLR^%6=#IUrPI?T`OhwTH%`c!q-Yq`dV3({aTR#xxs7Yr2b3!|LG06GRsnu z(OnTYl>M@|o}BN)(CA|K$6}!CJcK*u&dq@PvQWQue#n_TnxC4i=4sxsN?7qEw$R?Q z7^%J>PlABhmnR7q!I4faVmfT?^_VuqlUz%Qfej*=-~#hv4(#XUEnTuA5c3aH zJ32VPJdMcrZ3N3zwibE5=_->7uFx!MfYhr_ZYp|s7_B~P(hRnw@&FcAxZIs3GdzH} zyuUcp&*!w$9P8lk4ATF1U}mXBq%74`0Dz_4T~1hAp<#?y$M+9P_F~+^d+j7vQMkuV zLKPj{B))^deC5qsm+FC@XK0_X$)?N7BcR|b_CmA*PFIw)xxb5um z&T;bw8Ed|y>0Q`_7)v)OCoth@@zHVZ_Z|Aa4#s=}sfID~6vodaqkg}BItT8?O<(;K zng^!hv^1HH+5r^9{<*M6vrv6JvlcJ6p=R~mT2d|Cf*#NU@I1ha4g`6=0026rZkKy? zPLsDloIy>D{ptLISlcBu#rVD-#Z^rQ#iA&Ij5bx@Uq|4O-x4zJATJdWnT<$ACtgh# z`jWe7_U}oF&;|2;@iobE;Ml_>ZHG>Zb9 zelPi6=_cO8&N2{2?~l%ZH9l4cfLsqL(et+jj(af@T5PD^Ul$WG8q)0szxLQo9^6k>2cR1q?g{_Z>`4^A-t`xm z59V+R&Hq$0JjrO9FaZ~$+IdDxc@L@m+rhZF*{9V$d>hZZ@+rKfV6l74vETsPI!OK2 ziVop&vNZVR&&Zx$$`!I)b0G=(M1Gi1tvT;{kJ)8*Y^oZ_SM47kLA&tx$oUm z(T}!b)C2Xf=V1u?a!}7v)Qv?w!QNv3=1n04pWPdfFkBS6o-ewpuuFG>2i{EE|FcsR z`J$U_g9mnhknl3Jf%d!Gj%8yu;lr!ucCyRY5aVV)KdGs8Q@*|qje20NXkp{|k}mAX z)VA5ENuxdH>$_wvv&ha}ao-S~+}ltP3rfG6&e0v{)Hs}%iK`lN!?%xlty92OsmWKCl}L_cQDgP|SPi^*ypm6Ex7F#~Nn8{{DIvyT7@oNXPK7 z)CejE<@Yy*oAz4lE>TVJYa7Lm(BKqe-h~+#6=4Ak%nv<~xsK2mK3HNQ0G*&X7{Bmk zpl;ay%A)i7e4G-VIksDOSUk4vP~BhVnUYrCa*yb4^t)Vd-~6q(Cwzm)UEEwYM5F!4 zaa>m>*+0*6K{IZ`%2VVmDmM|wV0-)%9%@oo4nZ%i-FrXj7?y0@n$~l^h1m))M37|! zaVVm~?Rooile%MdHZ~$XC0<~Ev$U|6DSg+v+Mm=EqrS8quiAyr9LSwJ{ycx@-dmiD zOMPqtbpAKfy26$A4v5W`lWGIt!S`9;E*v65oh*02?KP3XbVgfyz6*0P74*JMKA8c( za%`3c5u4TO*sOZf*3z!q*;XRFwS^UC=Q^X;v-;5egv!-qI2y|wipVDc& z`>VQJ?7I7Vq`Sqb?tt(l7+uG`0J${xQscQ7B2_ZD7f%X2xq#y=V~>R!_+|AINfNu; zLzI>coCjG~S#Li~$%OboWUY;L*&X7bLkVs7|o=)2?bX|dlu-N=oxk!LUyBM{Cz;-lEJta5W= zRGQIDQ?M^ceEhPlbffWfn|^^~;h0Q+5#o2b0g}h5z|l)z+MgK_m_t74%#T(f@u@o{h*;XM5Hc9iMf_pusx}& z#k(L70GSE&vPF2~L5B|@ORBKWf@==X34o-;O${ygcH zd17O&Zr}?PPG@)X&4zF{?TyXV-K*tud!vrC7g3^1@OiC4o?+(Gk}f7+0SPNL2kXyo zunvLd`lf-TvNrL}h}cftupqdMigb4L^QU=HZR3dOjTXKS0$)5em$lf5-KTpx+^3ZE zw0>Ovc%Js@Q|;40a~IjUO75QKyxjCw^(Ea3j>{&a=rS)gzp>NZH~o26xYH@xl_7q# zLj%CKQ{)w)?~gCWrMJkO&IGgp?R^E1dMkiXe72hAsNsHy`0*B}({3BZPZQ&{bFVhg z3vBx(rA|t?rfERnh(VO{-ikTWZK`9bL@4HsPM}1|IPl~a+_diFjum%ewZc|JQ4Fqg z`nricK5BtJ&&v{8&pm`8(&Q0+&yJaUI3H@Yid3+!pQK&)am796>#ejr%Yojt3}L3J zoLMRziYc^sI14;X%o}hgLm|L^|Lhd`vBF+u*%Wue2j0^CaLZmA9={cRkKcyA^VdH& zm;{%QMYdl_MJ)zhkaQ5ZrI@mU=Hy&er`C1v(WDZ+YZG}r#u^L~n(l|_HwVJNaJqv0 z$plr<;bXwl<;IZcR&uo$-JU~TI;_B~A<}jTK0i+!Ys+E3Sd?gmCNx!;7xC=f7A19Hy7yZO*F2|_L5(&segz^35wy(EsU+3Ar9;dHT^AWx>96N)$u7r4EYJHk@1kA~9 zreXguPs1LE4XxDt5;8{QLJXqFeC&^RV|-U?Zn8g~a6i`AAJ@1a&)XkY#+XtmQDy4j zV)y1tu*PlOVs=G1vsk8me$PWC-|l;d1rfN-SZ zdXJ5dJ8XO{f{pB9J4z0gf^wK%{{WVi7_`3OgV*eXU!))O*atsPf3nsgW{IgooAcVS zm72opqRKRmwuR$A<;H(0bNs8__&2n4GX9IUcY-^J|FaKXvJa-GAG~ZIP@Ot#@oG4J zBjZ2k#_#_B*n1D?s>*!-J2}tUha@DVKp;{yI*R3D(9v<`?_?auajs6}>df4G$LQ31 z)hLR95?W|_D2k#4Q0zevmC;}?7%X57ii$1RMU7%b4A|TI`Tm~0&pBzJ^S|$1>s{+z zt|dA9+54%#=hsU#{xH^`bwjxR5AXpG10&r0sV!2tZ>H4iuaVBKV*m5qwqc0+js!KA8tDzrOYj| z0k4ck{cfTi8q-a$x&Eeb&Cl4HPsH4pq4J8jfhy>+v(wD;((9T z*)7F{ahQU9u5~RSCyGFa{4_>Cav*TfFqX|lN%0*#;$}ATA*a1A#6(}hz;(@rXj}8S z9iCm;6cgyfQbWA*M@O9-x7i5oC*VHes2OjQx{eYW^eNs5?WXqp9K!3gdrL+ORTR3f z3E<`!WK__DmZEw+(AgM>2@+s&kL25L zr&Rjj}UudQ|4PA>LtpfcV3_pjHdolm>eek+z<9r zoh4E+N_CjK1&0m5<{H9D_?U>=B6Q?O>Cs)IQ0NI1Nb86FD+3m6>tu6K%D*Rxc46v* z25&vGyZp1DU_y}puf8XtjPRB2y@w3j>cIRtbc>w96H%`z6xV&P8JlKog^swjyRGi3 z>xypS+jkved(I?9cDp&qu6p0@#93;tdtUxa*gEclkI4ncRs=h^Tc=e9r6<`sX4B+kBIg8PfRlS0M)4@hFCjLRb)C+=s!Kw5F|j<2|sRkgS9qqB$0PX2T!^0^|it|v1%y+ zPKVE*3{TgS=`?O`x3P_Y*pP(#7;-fj9D6%iO$4@!@T1W0*NLdt?<*&f49)xzoHHhadqUnKRxN&(+ApKO&vg|`V#v$$fYXU{?Pj+bv%h<46xjN# zDJgYs?f1e6;Se6RPao5^ogqB7eRB%*^!s3h4!r}F+g^dld|&rO0nUk9(k*z%u_W_R zGeTAoj;g9gU1=l@-=n_r#3F+NZSR8=$%3>?Za7MsiU!h+2;;bB0yo8fY*vObqa)Xi zLgj#EFwXnmPHNSu8a-Csx*7;`PEvnpwxS{3sUoB4RtYU(=v6U|l!s_n{!Cc9BHKy? ztW~-x(ms1SC-^fu#|ec{*KGKYdqCj=*afH?cu-&nzo7Y6`=`6v_2wa1^dl&z8Jr-8 z9ass^$iPbIiZ^FqhZGN!LkDt8g(*;Un%~;nPWAbi)|MDpb4JmYw;J1}(f`4%BOl+t^ZZH(vuSQ%Pya(~ zDtgqMV^E%)Kn{^Qyij*0!I=A-yc*H9;nrm;<2}*ByQ9el;)cra>i6g=(YVnD;0{#| z&2smA54L{ecnU4#fM)wAhK&@SJoOn-Qh1}5gj7^SHD{S zh=rEA=j)Pwzop^3^1*PwZ|;#DG=RXXZJe3znh-_sq_0o_5Amp-~X|mAKCf&PxSnV z_RqI7+q{IUEO&>tA3Nbzp$N=#2e@- z*wf3crL|*koa!QLdA(x`yu=b~d9`B;Gq~DXUh2?-naZB8?>IhaW4X0F)1k#H-Hrxj z-SkL^vaXM->|@R^!1=WVfbElTPmw^!NC0M4qAA?P5|7bT{Z?o3`D6$s0SfM|9<`t7 zk-Kh!d`biNQV;Uy{o2jsr*hYP2dMy=K26>Wg-bkgs(cr6nu)0)T-=9`qa4bN9(R}c z^{s<;STO$b?3$n#oQ_4}V~?mrExV57mHl1}iq`8ah=&)6=mod!qjD4jVv|m|hlt9F zyK8&3#fP}fNumyA2y-d?>QmGh$u{`+X*%O&&=na+93BJJ8W?>XOhfS zo79lGN!9;bo1}~Z=}kHsC7&i1vXJr@m(}I{5eNn{^E}ZD4Ja^LNdAPRTXdR&uAr&c z<>xf#95Z7q64^L8rIfjQQIQ=2D!F1}>|dpASngs=V2tQL;hvTA@gY2H?1|nQLUuAP zkUP4*wY-0F(*IT9mX3=Zlbv&7kb500&Amaa3d4kZmprHi?oXH%+`XiXC~#-SaPe^K zrzk0>6pgo_K$0`^H$lV7>9jnFT$X;G@1BSZ7MGCjDU=c-@lG;_xf>W`EMLn*=;2Fr zT7%rqxc9Q|g2ZCdB1~?T+#q#Eo8$&|Nt@7BXj!+q1TJu>(O}Sg*UPwRd)RGHVn@T& zsLOiSgr9qXf_NUuW#sq?mq3t7&YY0HR}>be1WBncV4eFpI#(r)K+HH>e6{sp%F4** zg!hdYjoS~`ibi`|p)W`5i} zshK2+&*^Vq1i;ve`@o)L;jA!Az?&0^KXVOm)A{c0EY=}C#`2i&a~8Q2wK17%CVTlk20+iE({P)`VHVZ%C;m~JJSl00%9)XEz?@%EY}jIa{U@^eO#N4LAP1C!u_$L$j3j3oT}RbyLCVUh^>(LAI-IWs*y?~& zlS2g+cT^k#`w@ux5BC!Di$u=itrV-*w&Lq+gOuFrAy7U1e*V`B$s z^T}H^t_jWA#uyG%1IGqCPY-@HGsvB12;hwg#J2EKu3L;eneUG40tX03KS|Od^6-%L z>}Wv!A#7JYxq_cyNR;7jD+%Gn)U{>n_aK5^8+mVccQF@O%GUMSZOiS!4H%1gGuLea zw08ucWK5`bx01Xy3Zy3Ao^f|)ja7aj&Ugc9u6yHSg9IQOV4-^|XakcOu0s1muKy6g z)Cc4>7yaAGEJJ8fC`{9T)~0_m(+;PPFH5hQVDR*ye0s3QbesG~V9#H=+bKbyr9C-P z?+$eHV>z`$gF(j}aRe`+KBDFn8738)+-#xAe$PeQ{hmwHb;0RP+IPUS2bgoqgr+#h z^BH~~eONge;}Y(VHFQ1%-vd;}>h`)^aJHRl&H@CA)5VYKL|KLsZZ0PElajwZNFJ(i zmk~|!D@ASe4aC=z zkBFYs@cLl4@g?BHsMq!7G5^sVX27C7e!T&|I4Q3|1 z0P~FC{Vs_UT)Aw#d@{vAw+z=8#_#Fw2xRtOJU;f@Z1Eh`xsThvs@p`BoId9$56UlFO zxApcMa&fd9y5!VosEukgl;`xecPP>jZ5bC{85EC|ukt5Sh@U$i@l4p}?E*i>OtBPu zCSpTMf&sSU(EV`umkC@gq^6O+A_%g-uuM}7(ffEhEO7Ud`PHU(|3pDVj(aeUH>r-l z0r2>mIxuAhPD}yB<)MQa%peb92py6a0S z1fZU%Z{&TTX*#hRIV9tNpGmmKds=Y`6}Ir(d~Lio*d?}iUxUXvq~x{rDe~6dU)DQ( zZ+$J|*_jhsQja|ey9xWIPHV1Gu3j<$%Cif4${u_qG_n*9>DXWw_c9JDVyEuuX<6Ad zdP(@1-L6X}NF~0pN4@U?#Q2X~RfDN?>&G>U_+SKZqGsEpS}8>95qrHAlC&~r?z<7b z)N~rLM~HrVcwNj)*CZ%Cocj*@`ypU}8^}h&^v5ap6`Q{$9#ZA=Kv$L(8|Kf`X}p{v z?A+Nm$PTY`h^;+It-;l38YMr8hl?7_)e6CkV@tFeOkdgq{3R}>HcX%*G{1@5^`4E8 z?Q)2_J^^IYv%8E?V%>z9x!}faePv3L*0CH4`(_MEMK}HXi`7E+rS9u-$UBE~^RSAt zbP`bllSPYyfqycv{FKTO#*o}d5P*;)4&CK?f`7Lh!)$i|6njV8bF?fr8!;(qGhXYN z14?Wf)g*rE5faqW>aMKSHsnjoh-O5*=Rh}ee8_u}FkY-K%qLFwly8eTPk?40w_se2 z9=H#4eWuRsv!P_LMEt=m7IU0?H6KJRCTP(ZB!^2T*8`6*Q-CA-=&1^W=~!eH{P{=i zJ}=A$9WQ1{&vP|c1*6+b11x!i?| zFnNyLO!5X%4od$es8&>xXl#@g6b@{5b~5Mi__6LDWpxssxF0{!f(7=~XH%)ql27JW z*BImCEwmEBY{B{Pt1M-F1An!#DTq58CN~q1j}c>tWcp2{y5Q&O4gA%>zcN-JYkt=Q zwXNt_Eq^v<{!1s!<)e5b&K*?kI94?0w%oQvgIhaJ*wh*u63x{#SMy#{|N7V?8CEuI z4h<`}Qig4(yx6W~Z1Apb>*OX5qB+Q|iT@?x`ZhwRDdi|B8Z!AM+?zC!ALY zuT$xEY*4fN!edKoCiLyZU}uk3Z$|c&+_xk@M6c(aE{U3xydG!ad?2ZhCi^A^mkd2S ztn5C*x$dfhHh13y0T>{@x%gpk!(_|8o$j>J&y&6p)v{9*Q za?ug|MPy+xL=HOGIE9csG;=7y_*)c!b*-kD+Fy7~Nh-r}3(y`&{(fLGi}<55?O}{u z(gRXvMD5iH)qZN=W62+=M4+bmcB1aP32e9~`X#kCGAC*nVxE;{P|7bMh*U9pIkgnI zD~eiv$ix}+QBB;P(|OuVG~X=?nlNY5$=zDBMqT zso=EUwt^s^pS>^VaX2*h-J-RM5P#R=ws08 z96SrXk;gUWw}djRFQN4VL|DWR*m&w}Xoy#cXk!*B5%wjpPuxA8S8bf<#_=iXE0Q(J zFv8-YE?MIYFTnDFz#%QbMg_to=ajiy%oiW0kFoM98th&xB$oumkmX#8TnoR$ws$Ak znmxO-U<<6mBc^SdIRMjots`aB)HUgxYEaUw_<56N+f150SkkO+{DPohjhA7|koxQd z`XCGd@hKTLsUeVI@xx8auqp_~rrZ?@k&kRshSe_Cpi`>hU(Q`Z7hI-fU*ys@$)&r6 zaw%Qj7IwLI3MBW!@gx?KPzzst?)at%X3#ymv&I{zqVfkyamb8US3tH85J|ypU0-J@3pnf!LT?zfwkhy}Scc470#>yeeE2O8V-OIeynKJLbDVY~{+5{opk-!Z zjY;TA=shSq(O^<-B=nlsANW2k^fuV0UMpwLGbhCMGK+;UfR3Zkt*>necFFm(-Tup= z%C_#;)3UH8VsEt*g{w`Oo0f#>8%el4l!QGlxh<50*LISGeV=m?(mAzELD)ncyJuVo zW%1DUEZm4V1Yb*;3VDuiep+*{*cA;oe4k(x(Zfl~YYDb1)!h>VAgO@&uPNyNOxNy8it{kZxxvA6l|`KhXZnF_J; z?!)(IckI8Kj|$zK>?WJXtjP_DdK)7&yQTZ~OAzPsJ^J)>h70L>QPnmWaav)!FWQ$G z_a*M->wEyDX;ignH3<{4p|=sW-r3FKsKg^A3C)%%mRCQ52MHY!h-iu*0S@0V1?^7D zR9Tj=XvvvgwM08O(|0s!aoD%O)zblpX}&_?+@su8g`yp+@QdICM%){;t(3G!DC$=R zH=w+pfH77sqoI#nI~E53y`Gr~&1ays&y<_YK1+GLdv&;?oDO9SGR|s2?iDQDJ`he8 z?%wV|vAH#VerF(j3CdO|Q-X>hKSKhL9bBGK#;>Nt&QKI$I42oYYt*A`eBt3dO9cz- z{9*#jn5-pv12t=H7JKOH6euFw&1QQu@qbBrZi@@4tzKRl`JF8>Ff%rRY^%=Tu6dhWAWBS_BY)jc%dd@|eW+klbx5I5;;3{ zBnnN0Kts?YyjvOKU6ID~33~M;4}B^M8=Nz)M!SB5J5PvY7)!dt;cH*~1Ze~ENg@DN z`YZnE7;1)b=4Z!ci&$ca>ek7zKWFo_%-!zlY3n1y7g*%G z4~t=czZ{WbJh5kl9t=X)U3tU=1%DPS{xT?d(R#Qq5!=ObkGziXjAms)@2ZtX?q`l{ z4Tr#)%PkshC+Qj}Cwc@&_DXG4P`1dF3{MkFxf|GZ*G7ta{gDEYE%CoG*H`c}kW0<& z_-CN*AeQ`Z?8ANIWawD}T2T2h#D2<&{|!U_+_2K)l?D<&arc7uL|o@gwJbh@|9YjR zO1Og%{gf4ET}l0PrjqAg8X2n$FUdlrci??JNVKQBzfPI2v`b4!TGhuDVKy5U>_ho; zUU`%niG}VCvd$v>R=HbQY(xUm(cl{9X7V%cu!R%p=T?rvk#JxFoSHyGQ=CY;t<=H} zhH+s7PPd$nfYdoieTxy}B|L;Qoo+$sJ6 z&WJ7UqCiext`1tTtGXY;X_Znal|R|W5*?ildq{(ZHC4@Yc%flv>t>O^{?MWRvjZF0 zx#_kSv-5!w!R)J}lI=HVpBX`)GumwtWi&IlNXAnXE5%r^0ioV*rc4(zDJJ(U6=R3N zSS*^}z^O*2EFF_MSPFkwZmI!rxUj)jx z=y*-}_5;xF|Ke9D#Ecn#AV3M`a$|QZ?Sxx1xi$Ei8^a-pFFaS)3+SKQHb0dPxE1LXm7oTXPRTxVTny|g@2CxNc%5;YH3IAKiAx>=_+YHx8Ii6pmjZMPg%Zil2;YZv_)P=OYMef#Ig4Q$| zW^TA~$tXV2N!QG_moVm=7DS${9g#gG{thTEohbe<37nykR=&m%OGHk+A{v?N@D6O> zjDuZ%X>2n135r^jRGQ1pT3d#Ttyc%n7!SYp>{!?(^O22$JN?=$y!SsWI{iODY2ECD zX4!cP=Mws~(=;2ok!;8j|9J>Axrjh7Zp>=t_cOdw@^p~7?ul`J&yE1GXqpi^6ep*o z7vdp+Cv&{cC%g$tqzA80(2@%%_1I?Ue$6vFexN^F0j(7>I^4Lln1H`6KeZmzpcu0is4>`1!J*^y83 zzep!VO(*LWk^8Jz8vI;${b{-}gWa3*1ChkIC6M_vrW$^_k)!ER2SPy%4ET)Ea6 zTmI$^=4e@MqCoKuvmaQR`myc+^`vT>?4&|jWazd3!V@q5i0yXX{{8c(C z$)Jj=G=ef>;pr*^%$m~vA?O@US$x$LAlLiqa3M8Wz!)RG^WJy@Y`24~9)<1yD7EknePL>^Yvv>8sO_adm8qLGK~$6HKS?4%rmBJK;TQ zcX#}I>ANHIQXdF;C0l~iW(W_=gt+BSuqb$taQu+F9WCWE5s>?#t}~8 zvK#_O`e`oLVa4gOzh_4n2s<>d>vn=`9t&~JSF&Flt~ms(S0E@S0qo(j8QS9@bdyXI-%%RRXa&q>;^rQKX?W+o*6fdA19_AvbDCddr*y+Hgr zlw#U=5TrNSy{fv`+IhM=7Y`lad=s@WV|%68O8ME~P+HMhD&%6ASlHGWD5k0u6gE>RJO2Yb2O3sof>49MvX zBoSkn$XOWdo5*Q$&m+wT2NI;_gqA0OM#vnCys|Sw8k8S^Zkz^1x_S!FSlLp!HoT0d zk*W)jq$4}G zFEbfDjFyA_%yqx7_xUQ`#U)}e0y)kKOyeJj=Y#oy^@G2SpAvT+N^l>cI0y-%vN{b$ zd6H!8z}?NOa+1J-ftAxw;{&yG4fRjM_cG> zYl9u9qXDQ)9A%cH>+pSn)_P#mM4TnzUl@0&Y`A=B?QV*PGG#bPYTeBQ^+#=Q`$4+h45 zRAgg+Lp5nIiAMj#Y+##^TD&Ksj8_G29XUme700{4-_Cv7;(0nRsl@&+1^dHTRP07J zO+`Z-js@qii5Hk4Y!L3e|HXR07^|}y=B`5G76`1CYYl>HI(Mk}fk#me$rEBR1=S9A z^NKj2A#d3fo*pe9iG25o3IetvGFa~y_C%{-&#xWN^9Ol8L{^md3KWUzkw-cbN1D%E z*B+oGX)GVp6!ope(YrL9tECmbj~*k2$Y)8spDQMEkQR#VJ|Pr$XWR1rU*F*HLr$>_*t=V$tlUeVH#TTCv8NXwIK8}ADWlBbKs z7owh%&1UGn%*#Utu7a+aLW9Oz@LCBiiCf`KL7V7mlt7Npk;a7*A?*P&0Hd9dn_e2gO`e2Ln#jZe2Pag=pGKrAe!U zP=qce-!IalF^aUPS#O&|phYs=EqOB(qF_gG!>z&;17>6|myx}NMzH1k-lJvD?;B~+ znBiffJ0~B;$it+`LqG#O#@EDo*ldg zp%p%>Rz_%rcN|K2lvFc>53Mi^s1qiR*t?Vfa{PrayKZ$#nCmjMFKwhVwRb!Dt;-L( zvNqO)2v;2UHK&TZ8K3}Gp|o6gW6az>Rn^&CJ-=j$dhue^Z%2b7K7jWq$ayQa3xT8` zY3A-^8NJ$1yt8k%=8=*k%{e+mYON-MwIT}2%z8O_DZxHB@H6z2Zc60T=2U@ZB^MFkc7E^sqQBq)#ZSH>Z>eFME?Y2e?xVl6r2a?X#Ow6z|*KZ-a8V|bMD z4ob5b?I*9J=WfV3J!e?X>79JEkLmm*XP9)1R@ipB_xKLIy%_|IyRZ;svtkq#A2eVx z+&}~Z|4Y7=*tK}ESw(VJjH=cj{974*ploQ(ysIr&a^N<&|1tnLF7$=#FJ=l!Pl$6< z;r=E6zYgNpgGJ*Z;L#ge)_17aV2D4!!yKcW*hN1sgRfu`3|y^0D!_{D;HHAue`dR} zu*6ru4u*rGS-50U1EX7R90a-qQr%XNa@a1tQqbusL^%9P|FRIT(nw@mx*sS%4Mxocbd?}klzjY6o zI{j)vC?8GbWy(H8FKa08;_hFK4OBk4<8U}G|4rNqfV=mcjHWmoAED?+v`k2dNPHMW zuzb7CSq)^SGJe`!L$JDp@a74jT=tL2wQzd$Ome{E5M^HHPQ&@RcW@%+0T)imx>4Lg z6hd+G#S-AutMWJ*6-eOoj8rGQdr)MuwyXGMAuGCWR3jY&+#4v9stfvQVQgR4p&_oL zhD;2_FBeoY!hSlKZRp0fFS0^x!Q|qNuKr$fUJ0E~r zCK2~I1e3R^dnncLS6Pi-yU`qKH`+p@cck55)J&^4!uhtf8?t22o#=JFj8@KQgM|cj z7VeU1RVXIdRJV*^U@va zGbj3;mG0Ml3FPi5>VI7vCDC!PKg00=9ZIS8NlYR?;VvToRB$r-u^Pl^L=xa)R4)iZGA!|_w z$ikI(C>znw-8qU#Iy`S}g(rZAQvh~2@OoP@pwdJpZ&T=P0o#}o4Q4tOPT3rQNBHh69CE0!t2vo!V3Vx0TQp^f`!v!I;ggp`ChnnhY+w!2#(Bm z5y?G(jUi1$l}v7nZVjlDlqyQ6;$e#VI@a&=S-!xBAYA>{`+l#3-xp+kn3e9BQiIh7 zewXv@ag5Z8|Dfjd4!Ex~cEpqP2MNDeIMM$qtvD+CC% zLOYN5vdILc$+u)qUg+#Vc~saeze~+>kh?#cC8bn&X^?w5oaL7?hx=*zW%yfkpuM1J z`d&0m-wU|_Q4vOZ611(F|BdL%c8~p~H`>H1!bz0;%HJtn?}6@Z(#lkvC8n zUZ5&hKzrYAZeW(s(Z5C&_4MX#`a35mY5~HQ< zFy4uv0Gz(SVqCKlIG@gF3?TGqOnUxyXv{kZY|koC)16fSwy>^7s0;_OE=&Wy*3dG1 zgp5Z}nVcW%puP5gDgI&7{#Tp!|2R0ymvya$9yYKbw$NRX&2F)Isw-zfG)iJ~UM~@W zrco_iw0ix^t2+Yb81s>?-Rit1;+BKGV|$dEx>g>NQYcE7D|Kn?P^qhm+(weQ*tC{U zXcTNhw;)%R@A+NaOb2J^&-v9^f8OTd6Xh`g)dSRvzM0r;>9%13Z=q9WBT0~7my$$* zz|6IYq0Ug0%6KfKaA3KJ+3&8!vUSwDHQ` z;I;Ac)AZeiYsEt6webpml{Q}93R1?K$|S9f*Mw7|D>QSxk|gQP%@a8RwBnY1;gufE zY}{!O^IJ$e)W!19W90l>m&-G$r**7E03!$Hk05kuf(R^;stV9C!iktLP6OXfknW?C z<;oF$Brwp4*Kl5-qgzV=7g)gv(wmN;uEUz0?lV+~Uj}4it)%cC&TzJ^ zcQ7Xm!8$UVDmUIb!Zyu2RosljI#RAaXP(-ixnlkZcARHsl3yY2mstkU&`bjTIaSOw zO!~WocJ1d*G+F$n$x_e#6wvG4)K&N9vy|EWG280i1g%*hgu#E6gwGy`5blMc$Ra1G zt)fjJXPb;sSd_^96n=tyn)ykE`!M|E9Q&lyed0e^Lft)E0%SuY%$`~S8TKXNjz^%X z|5Lc3pA*3ulR(v)n;q*fX10cA6SnvtS-G;~Ck6xa+*OmZV~MEwrs(UJa!eVU=WbD0 z*pEOY=j7T}yfaQQv4H30xXRU_T6qM!r!L)HP`F+3Df*zGIld2Q=;D*O@iOTd)!Xo(}4#cr-2 zc;*|Nd8LBr;!76nuE)&Iu*L4YAhw^E*s-fZ7rvOtQt%x`M=YnGH*i%0Vn2}5_yYds z`MW}_7mW{Nu7|T`i&>4J?@F~`VIl%0Y?B}Tf@zJ41%TehT8^Nh z5-C$Pa+$$!LFcs~8wKRgu#zhH&y@2L=weBBGPa{&Oa!-mqs-(RO(uaeTZ}tqgY?I>?#C&DWw*o0yqF_@!d%^fM6M? ze8aQ~c;6%$c7_{xzS^&nH}E7p2`s-qANO@nx@PmZ>Z!hp-8dP1AR-76eR=V6pE`Iw zHWLmp;m)>X1A8zewn6rX6T{ljITD_nig5Q#4vZHE3$~D&HRQn5F^aR(S`iQ?HF{9~ zs9!bnDs>+*uY5EJ>zPt7_X61&3lK{!)xru;m3IGDBoVgRy`$O+o4~St1;;la24`a@ zPLPrVh`upihMz38{|v!_(rcIDSpL z9nZ5eHybaEe!;HpQxf>>?XH8>=?k1Zf)+FP$2NsWVr@J+h?u!%KA@1HR0uLw-56`- z8l!UraO7{JaIDbLr&f!=-=>PQErC;qvuNbgy_xyb+=)!CcPL5PnqaH$Cgky%rb^o=|(bgzwT;Maf3TcyU$#9}tU zeT4x&w<6e`E-O-xxObV4KtUJus0M_p@qu?I*7CW3m&-G|2XDI5asJj*U8mk0b{nR5 zX35##M@YUlUUxs>Nj451Zyv+!iVh=UKjM zt&1IGa^^y^kLM#QSMo*{Vsj16vZ+~`NA9lmL4{Q+IEW-{CD8cD| z+n7qnrB~?Ixur}+w+>$FX%ty36%~Fy(>p-}5dx(=Wo&4*ZA)8TeY(M(yprFbx3uy0 zo_Xs1j;YCaPY6481I--LFMwLi>=C;a=+L%4A1?f%v3AOPxHmyNTAF)z66BF75RuBS zO)>5AF}BOE_t0jc`{B~?!aO`6xNe)l$Leu&&t_W5@kT-_{r)hwg5Ra?0?J6*gAWK7 z(dY9?rN*J7WskG?tz^L50mDj$w09|AN`Yr(455Bn}0Jt>3TRm&z zBe`;mr9#XlzMT^W`BL<#A5Rw&R{|?qJe_wzJb@G>JK({U8#|zc7qWmwBXd|-L8o18 zo1GG<5zU7bH2vi4b#af_Tynqcfp&vlQDy|_Su=V~Kzi#y{%=h%acg0;s8K9x!>Qq- zma?eay!F7qZz_#wt|Rl+Q1Ift=t_5i2sfCFeJ}jojx6&V@;448?=ZCHB_jJ^@t}ca z)gg~pYdy^AS3?iQ?wR4u@lkwpEk@`fJoH`<8iL)|GgESdWx3DsVx{ry0)!QQRO$5Q z6c`+D#St<@{Ngxz3fV!_lDehRBYYoXqRcEq!HaGMccTDYU6eS&X1ArZ!tGoivY1*b zz_Sc$2d|0h0J(S+z|c%$6kaKCU*cIM7Gre)d2S$EL26O!NSJtahmoPgz=K)~2w# zTqnCg??q^>H|BX?rwb_o8-9wM!+P|2nQr1G#FXrS-uoFW1#%L&ggmVB9DWGPhunys zgpX`DXvoZ0*e*~<3Gq?Hi$g%XB2Xe=Ct-VTrz&<&_gEH410~r^Jf}wK@m;u9$HuZ3`@}}GI+)#+;S$t>a_RuM{@m&DK zZ}7YmH+OGoMf9AN9Ik^Zb;|>8n_EZ?PK*c8?%2L1h7hyrVTpFA=7UmqZ(Tj~b1b)# z0}{zx7AT#4?xJ`M=NI|7k5cMd#XQWGlN|H>TpEnC2}b1En?0zXs-rAo&h@8>0iyb;5%*pD@2+ZLaACm~w? z-YbW`WxM#k_nvuzz*{J6+v{Y5#pF0{?w1Pnh)@b_p}llTZZg&@I@oo!>HP`%<*h`Y zU}y&7I!-iFNJx`0R^f+Frr%*fuTvB5Ym_qGPGdCib;j6m8dqap3i5XL9F$t>qm~8) zB<=$TSXvz)jaYEw$uMmfB6trM=$@y1JW`n~2!voEG9`(j@zXeqTZl?4xSvn(eUh;7 zBs3NA?4B6V^uUy){?Na?3+8x9n%S!{QXzarR4J8_sv$GHSfcA6@Q~vw7a4}7R7UQl|sa#EMR-U-#>i8Jl#>Ue@?ydzV<3Im`mq?P(&s{SW zEWngkL(T;@FC%)4;lmH(AjdE98{Ls~z`c?@D|N~7=*F+8t8i};$a)3Au+o`=hjH=< zO2ew)GOlPi7WSqv?-hi#z8O^Wue1;D4Z;=ki03qrttau9$C34XQJk8?`9ufncN@9N z3jbZxFn0G%65QzZjYuooc|DpKG1XnoOQkF?!6_}@J;<`PPm6Q4?EdcVai(8;lOR>N zy@k>ezE@YHG8b1+yexM*uWpr->86SG(vU1b9LJo3<*|{^i)2I!_8QLOdb^9!F=>|X z5SaFJH)|RwbGdyDJZzc>>tdf91a{i8DLQFPS92l@cTbu)CQlCgu^xs|01XU^vx6_Yc$o5IS6VsqG5A&TatzljA-ymWx|Uf+}Ud-Iwam zweB{hTY-2J`lf9{hcqvoNprM2=zS=jz8BgaMELgGq?}F#Q2I8C801vN`b4l@UKhgl zGr%@wpljLw6?F~h5^Dr~MapKfbP9>*+@(rU@g7IVB+iA=)xn~WK$k<@8#-CR^))p6 z<e^J-V8+e;gK#t+O z9*KKP$6Xl6$LRG<1k>8bHMZPkQz|_Ft6N+&DO~9nth8UATS7!sF4yH%66OmyubN!R z!B8y;_Q|3EE{%yM!;{!bb<+W^u2#wy1g!(W!_XAIhC_!a#@Tj{nA2Byf}3ydqoG&U zqG>q|?muSZ!@P9zoU}Be(fjD+hMG;e={ka>l<)yqh77E0Np_-7_2v zKGd;VcLs^k3gJ&dBnkIxp!kY9)dT<|s8Y{P*cGMhP9)w!ary8hc_;|T{HfgIfh;@~ z<9uY+Y)G`GH*dq_aPz)Ix-H5haHF4c!7+z3ByW)LT0WZm3mn4=uFZ}ek)7^V37u|X zCZ$dp+&?3UB5eNGOsL>Qo)xwRWn&@pC<@@h=TUZHr<^|{rA?4c2WCA%JZuDBH6FZL zWShFI2ijs`)o*bb9fM4rq{knTjK^M@TZi5)#GqB(ASyekB^;E;lTF$__lyIe-z1>H zkSs6>at-(Y1nqwtn_44(mfi{!L_n`WUvm0n2B`cFP3yFzOS1`l+Gf z9o#vnFXbk##0~o7V|4B1M=+P(T=}B{kU=Rb+VY@$n3hlS#iUTtq8@~^xLT@oUSPd# z3csEo_I6hI`wQRO4(=ux$c&jp*d^mSVrIdYP{ujY3`0l+(QNx0e}x6-se0g*wvj6+ z(=m{P{l?-qK|f|JhaCa%;bf%g=h02ER!~x_tnT6SG}INH8A9E16IpZCFtZ6Y?#3Q9 z{0pnxUxXtElh2z_5diG;Nc!zSb^OG z9_&_ep?3PQ~@!Yl8Bh2Nkisd$aJ~?rT)n0=F3f7aAh>8Oo_KAcAuo_i3%dWbYC4uIbsz zg!M@qtp!n`gYK69pzd_zZtS6><@RySR;fPds;F}quSX`d`FEmC`zOY*eQgPL`h)hd z%}%!mU9X!U|0TP}{Mvwr8?=I35N>frcyvSU=;||P@lUMOdb_(vO)&5%9hnjB+k3#O z#P--B7(5J9wIU<{^pETOWt$tY*Y{7rx`mKP`qT6q?}cwHifWxP zE4%_5xB~fkIU`Uxp+Zs`d~}zNS`Ofm_sQ%jA~gq8BYFTWNYe)4Xs83!OFR1vDhRzI z)cwp9`L+1h{VO6Mu(FS#YslX#C^|qqv^2PSEQPL((ne41xL#Jb1+P(Y?Qg~_kCaEy zNGjIGcJF8J&&t#2Vb>`xx#=(V8ant~H>aN|lH3llzh%b@cyP_}vH!}ZX@GlWfZ)H% zC6BL>ci0&N<(sHi79TG=m|l5fK$2JFJa$shC$@Vj6g;+niO%3yZF!L!+-P51a(q?T zrQWwL^*rHrHdi1wJI=whV7eHiqxrN4SNQ1&DSsD#%8JYl#_ zD~LoKn>dsQ0Ut*lBlS;ft9z)( zOL(SR*qN3q=Y-qzcnqyxUOAE?&UDyDNl|JOd6y*oT3(LM=zRv?8Dqn%*ixjSy318~ z$xB^rhz6<0k=BI8>-)q8ORrMkot7V%9vKK9^4A z%?qaL%kj#nyQ5d|UD2;TK7qNl46lt(-Rk)ULro!yIBQgTtgPilZc?k)+&|NJiE)Y^U%Yqq(Gyvr>vsfnM&aj!nf zn`2jD+4nI6UURUhAhkyc;+nw-rcRz+*2ZT=Zuv<%Qve&)y~bW!0Aso@{cSwS-}k4u z(ZZ+uiaI>T-6#Zb+v1aXF9(Cugi3r@7AZ5`gu z?A_+E=zRqSTlzHe@j!RUDL4|oI@#p^3&i$*Fxe8DEW=UpN3R5fe;btM+{*@)I7-_} z1v%O$tlPhVU$`NPb18LKp~&7@&}4dL^rdJfIV3eTS?Ud`P#=!zwt5vRIsFiIV-;~3 z9PZD8^HblwzooqROhGqB&)^d`t+Cb)be5)H+&Hwp`Ic$RKck?HQ z&JBh$BJ}e)&Nl^l3$Shq?wHln*wJ+xZXO|mMCMD*mJ~cYbA7*&iuhBsGZ@LyJ&7Cj zkA2|kQ`FYbhTVkIgD%@VmXRc2f+(egn`@@I?sJ?Dz30nR5M;{pWj@-pY0~6AkR?@lfjfU% zBQ{c=?M942MSLn<-HXef!0C3df(&C)`y%6jV~}mRr51KT^-Wfxj(% z&Et${*uC9|3qi?nb$PBOp`pv%)^YVCgZ!cKGtelL!9K~uKJL3(_{qJ4U548XuIJDN z7i(hG9?7@saTPsIlRL`#sfs?84f0({Bi~^LX8th4NYJu;--iKD3tBz3J{E{N4-!E- zFC;s}Z4Xv~=5o@(StpOlab}h&KR>0CNB}SL11vCfff4q33Udx(U3VxJ2s4$tJ0E=H ztyDiNp^51{GNwLG0(dt*$?x7SA1~B-JQ(2qRLz4@w|ix<$D;U|kV`iJlW%+wB|AkO zv)!5a1@_^~2MDmhvRKdSkot-W`-cLb#oTCrG8p?TeNEj*N3|X;omWDtU+~CT)KlA_5Cop;*WhUy~$@pudl}b z4Lf?G&G6_-CYbN`tRz+t)t&(9fcwVISl6OfP zp{}{d=Wx3^_BgM7Pngn-eoO*xv1b2un!~qSPp6<*KbIKdBZq_?x(ZoDNbvkt;NVt4B!0M}{c#S#aj=%2TE2 z$aRkqayJM>`1GhIU>zqoS^>>R*eUJ)aB~Y-M`^M$$}h`?ybe9@Ap3h@0@EIw`9M$9 z8sU{c0MbuvBAu{_`^ib*AUCU|iN0d)+mWpaw+0m`mZ$8{QL0X`w=moa&K;%=14hsY zYgXu9uLJ6!;;>+-dYcS;^lw1VdIj}M!xw_`lj8rv9r_T{Yn`+i*qB8EZ_a^m>A{oZ zqX*UeCYLDHtMtJKP#t-^y_i+cg;RA>_}O$`-9{UY;-5w+=cQR}&l8HpY__JWVR%#Q z;yi|c(a?bhZhUB)o}e{e6s~b0hgzQJ2DPxN-W01xQeFdcRvgmSRXQ=*-N^FD+H#4|*M(E=8QvZ63jA|`0BFqlF)F#Bw zpRtfqcQ`UQu6c6c2;BzEtkd3DtM%1i8m{jpv-P2Lf4z@9=}6%*vNm1{kWdge2$l~` zZ^=#3CtLZXk1P@wqq@WMe}H=u&PLJBk6{5}LC;TAY%*-!>tOUE)H6ybUMe=>YgsC0 zOsU|Hidan7UXw|&O5a+~T!ZVUgigZknrFg=*uejo0!Fft_XZ(!JMtQ1eaZd88z7H_ zITYVRD0b)<2~l=QkO5P3@5Gv7`JEF6&oG2&5uN;z$z^qm)$adF{(a5YMKbf)O z(U*rSekdzk@`KTm?@29r)el+n%5ce7MoZohE%`3O=>CV+Jjk#4%G8=))0&$YAiP`Q zqHhfsy}aF`H(U`edKN%^JeC=E2gUrfO=a$J1>WZ_j?cyq!hHhe;b|W?7Y>Fea`o>4&yFX!XaM3w1^$7&roX`gHDf@Ry7p6Pw~{PM5Q#Z2+i1wR1QG3g2MQv~0e+hhQeO z)U*4fWyOwyAfIKsg<~bXm$_R@{hp+CG*Qk1n{rGqvW6P3;(2w7ek>vQ*|ZXGbH_3Q z84yd>xL!>nke+tEsOUDN8F$STwjkktXY^S?3Env_Bb*`IovmtiX`hnRR&aO{NbZpr z?j@$615H2KuL2;s4W5bB^l{fhM77l$u$S^+5ZU*n_5>K7OZ!VlZgcWj>7sWn$t^~w z^}o0xP1eY%GSix>L;0?xBfBYviWVRv-Bt)En5MjUomXBcT;uo_b--(P$C60f58|(K zcTE3=GMPu-A+2)rp$vAb_bS(CySk&Bg2Zx9)9lTImxWr`XL$1*3pV;7R0j+Q{=fPCM)9+x(z-o zbPu_z;GknT5eSYsM%zq^mWH1-f;y1lsaK_|F85ZxV#mIsDqKo@qgY>(CYe#=w)z+_fx&V^70PKIJ5Go=@FU+;({3CydYBSOe5I< zsC=s|D~;hvkkNt{cH)WQK)nASA-2wl!o?J5-N#O>z^!oA?hoK}Yj}8abE=_9`Oa=r z60lx~G_so9IH@@UC|5-LqvL3L{{sD7c*n7*Y@Jub%q4^~9MJ9s_u_$k2cfl65`z#!J&AT_YUl$B_5+kqNd%I$|Q&`XTufKaP8)t}Je&I(wGaB^_ zdEnk(XS;xA6SV3BWSE8p$k-md!psA-Llyqxjdg}K3fw1h?}Rbv?_TSHlGM+$E5YD< z&NGw@7)SUzLo}%A65)Cm@vD@-1B`NS41`TpUhCvebaWxsi;%W_ol{6V?d!|}4S$LT zyXyiKD{kTANRrq++x;D~ao!lXApDV|9}I}TFW}*Q81VUfeh?}p{hhu(yc_ExkUO_T zETlo4M|>+i;w!~MB6r^gccomh=m~#roGDZ#@2Pfu)<=D|&?l%f&&_bz7_q`jdJo_k z%T8gHo1(X0421uB2YF*NT31D_Z_}Eam-D9}c-zQd144%88MrrMu|te;#bYGn840H% zk#V{h`zss6l|BJJo1xB-FI$6OodOaoq*AmgSO&T4O}|nI5K8M(X*w2s6cKm_6I#9j z1cMF<;+Kl~!2vcBL006R zweH<%CiJYFYU#(`hQpNF;{2Y<36?}p`I8c_9{RkN;0BzIyjo*cPcpab4d1w>R;FEj zcwSHZkNuaw48Ppc?#pv~qFN2VRLp_YBd}FUslZ|}ZPx_o&Uz=_!ox838?kh>ew#<2 ziysYL(TuT5g09iNCJDKJY+cbY$nrDY-M!Nve-nPpU|ti5-(Gc~vN=t{~(C zJstbYrYe@K$Q>Yc;B=C6D(MiZ;ryyM=7p$C(3ROU%OZ4!8R!;E!wyGGaA1|Bo+R?2m?Z z&cfZYobN-_p|R@k3dgE1gbU5Pl06~eG%Tnhm@JS-4{jhk0Z;N>gTg%k|M}+N+BuMi zrkloE#N1{wU+B~C6~ZIu$=hN%N$>bEM;HBfP2t40pfS$N>+iA22wMIgwXEbg5Own0 z86>#1s6mUqp=^NA(`w*{h z*LMm49s$L9KuNe|S-NsOdXbzz@Q}q`fGx?mx{Had8Nmkq7(99h*=%=`PH}MzQlWBL z3wuZw#Ye2#`kEiF4!gogmFh{aGGMx=_z-I4`m*!S;4Y|5kIDAbH78-JSDJKiV8?Q?=ej2XYOSj!1^RGkeW5L4FVknILfA? z=+qIYSg$8!OuGJe$9Y|U8&AQW&*eeXuOCaU>F4sQy$)Ijb;jM{5q=vT)ICa^sqoGp zc2EV_y&HnvUI72LdcD%h+**b%aqGrOo1pLsx8arN2o;Km$TgGzHr&SL$l`#GFI)Yj~9%q!EOof*g_5z9fh~O z`paRCZy)AXhbGcS|H&fCBw{lKTW8@Y|BJ|GTF*nXner_H4L9ihtg2uaxsjC0y`z-C ze)D&c7eNbMWqJ{a(0A}6Xzs#`Ac+0d4t~5ucU_VnXaw#nz+M$@#%6F+@4TG-gZx+} z?pYL$sftcci2yKHlk??ZeBP*0yPTV|hkJo2zU@Vrw?(H^gFeUCQ}4^=yB#PIMm-yc z1I3!RO;HYdtk-V6&`ZBWLu_}EtpUt1rR`mXHV~w8AKu;yCCkG`RU6-dm@kjS%5=F= z-U>C|Sy&SvfE4-RD092`Tl@X-_rkX~d5dVffgbb&twal5hCw~gEz52S3jPmc{jyC+ zP9xnHj&yxE(iT6`G2M-{WmH!qJ;|mg^7_P_7CWBBZdjdyO{E*5*n`BTE6|;Vh7-&c za&Hnh{y*j3)P{3Y%&j^-Nsl-P$~lPo>E4m*2YCmDSpSE62T8t1+gasB!_`@oAGnCm_dhI6G<1VKe0sb?q%0t$K&1un2Ql^O}z761Rg?f1bm zLE67n(f(b9?W`9OX6B(Hs=F>~Npd|*{jj1hfH?v{-9R#yxVx%%Tl{<-+s7kfCqv(! zqS_4F={s;w6!xybl@&rdS0{Z*nfRoix!X>x)q^7UWLfQU@N5H=_!s=EO5FMvmYd3g z;(!ixP0_n+x_(!r4&&|G6BTcwNK0`k?zl$gH>euB{_#9=11SmVPS9Ti6i-!y$CB$$ zHWD{nF24Op`Rz_tYhTI&x>NL5slFYdzxq^@5(y97Tt`KZ9o#7WRjg;D^;eOeou(MW&`343T@n{EoXX@4jt+aw<1)ea6tqPa8e z^@ps7{n4EW--9R^2(Ihf zfT9OS%2Om7j)X~m2FKTM{@&27o;tqL82mEfKF(^QlOMVJEz3)>yZ0o#tKDx+#zb{d zPcj%Bd(dgPqr}_)!sPQA@DHr;OwxDi+oW|~Mh+R2w+{ZWfEoqNjPvZ<*lF0*%seIW zGb?g!C-a>n9hFwVaBt!VBZB-Txq}aY3~!l|LUG!K(bt8$u+dPQTQOBKz#7GDUPO=% zfg_*DZTehzYo-W?TIM%k%Ww}J?+__{0AH*=S!_)&w+fxc0m8D2W&h{%8LAWUHCYNX zJ}+|hC)e|OF1CMt&g&N|e@pmE3y+Fi@?;bRN)4nFysxy%x<7Ncba6%QI;jzeHIotP z51})%C82sG#Mm2H&JKA;na=D?NjUP~yBz(Zdiwx%KzIIp$3r9^sBQ47(laIGt&946 z6`Ec`p99(8d$U{OXG$~wC<>LtS)BFAYLDJb160%;&f`3!<1)o!{d_n+x5riy=Q0>~ zA@?Ww7gHfOG0{$EP7$Drwx`&AG79!=fqLFb1f4xPpJ0J~hY}Hiw{#RQTCJv@1jrdP zegQ^lkXt=k|04HSgN?K7RRqzEA7*Ukr>8;+`<^ruSYfU)YGG>tX zqVa&|qcuwLfLk~w`Fb_rB>^I=B=MA30*?3X0-)p4)06yxqjloMVDB3t`JFwjIoqyNMGi z%Zu$=CJ;Jz8tFAqu*rBR=TT+$BNXVSItU9&xH7j}eRr?zh*Y6^hW6U7GISKW>jQLA zz85ILEp;S7vF0CjYUb-(>+lA)=3P29L{;UAVlf(yIsmtW39u>&s{_$57^%uVfb*oJLqq zI{tSs=^@*|lAf(Y+=x9FqxV@Pv?_I9!qAl`Vt+H&7SgL*AWP@7v_mR) zd#6T{ZAwS&&(IF3+zsi}oN^@-S_JpE+7(uy=Rxc7eSnx@( z%Rjci4HOM?CrS~+GS4nV>8$#n+y^k+%xu(CUrnv$k81u+c?L)I77QD2cm5#ybPdCf zpVoN)zDuYID81RMiX&I`2+G`{4=?gHp>}YejgB2mS*4kI@PY=?6 zQ8x2vO2WBSa28t7tU{hrc9o~B=fP~2cek8yeecbB*?pnDZJ!oRLp9$Wz{rC?+ttTZ zo3PodMjya~*HW4OQCI}`a`K|ivMJuAnF|SENjOovxs$6Og`I*&u_MS0msqKdH5ilw zRL5PZ=yF%gM;2yxCdL{Gu@A_BSsn!SIsBm~o5xql)0XkFuwJ(T@vQp!Y@#)maf;7p zHzrO)-w5B7GP#j((>*_hZCOoSINPE|HxWD91H3d+-@+;Jt-6#>H@hte)f~kc^)Ni;F0QO;?p_P66c5jJiGa=Ms3$gWb0{3>Tk_Mx!SlLtT2v zY%_VD-LV$31Io`(Bm9d0Xi!t&wxE`j+`VM|l} zD!D>fI!^kF0=I#Zf9h{7oD$nzDht1U|IQe{^U-CLxi+kM|1G(%l^88GR#q98bp}$h z#`75%n322CJAYSVxAy7a#}juyf-l~JZ&y~=4ahMJgJ)Wnxk2xO%A+d2P!R&qWTjNe zb*~l!sOODr)mdyUu4brQcl&8=V&vYL+^CoP$A*;I-Fz9D7T1wlyP9fnSB;E~%?@_| z#G0SURdc0jX9wy^d=4(*wLYZvOa?!H3n?$Q4;s*FcLIzj$w&wK;HJl%N}i^PL(_H< zBexF3Xdtnr7^%VYApqNhqgl)vV(GCSlh+L6Lfkd<6gxG5wHOUIV?-O{Gr8FyRq4i>iAiSYomeQK{oNGH3z3W=`+bW$ zj!VWW`NLO!W~a6irQ+t0DT7Z~RWhb)pX;89^X>KI$zh*{vV)}i5{Lg%j*>h5-rY=n zSRwQ8MtC^B9{)m4cxUoLH&E_5c1AW1yo!>sv-yH#XiOiq#ZHN#tmkQ%`)EB$e%m%^ zak6M}jql8@Z9j&b*{aP;0_ecaTLGoWDFU0!WUl7^MR-L-3^WSTPM2UL`h#)FL*6}T zMfPXES5shz@Ee=-W5wLF5TaldA0Msf74Eh|JEH+^?P#4*QO-E#T8e|rsp-;kb7X{##$}v)fJTDch z`Y-O~T8`~#@<&w!dp^cme(GK*Rcm7C^BCqVBg7kge7ZdP3{bUN38$QFjq?A-Q zQ{uu7_)5}9>wImjkI|$HR+oOleVC2ywk#VZ$yQg07XU1!TDl_h^5<;f}MgP^;0;e=&RXn4DP{(TJ zP|$;df+O|KFR3Uti{7mm5LlyA`4$x^DRQsWLV%W&fh4mq5H4Cn?a^jx16lg?LoDm% zYK&a~$$c2d!U7^uK^Ik2>As$e>L1AOp<@-7>ULFJPzWxW3eM}cD6-Au>hTR72j@5;uX_cRSslr79k|TFH{qmnmXmdzha`yY7P#|IW#yp=Wyhv zTsJcYM!y>ONse!6heF7z0<1#FpiIhyFy3zfB$a_Dkgc4yy-+$3EvOO%uj4L~->EQ% z0g`(hS8&c_yM;L_m6dBjHAB+pkfXV%<#Y-zdHR0q$78?bl~)`@)gow!fI=xBVI*Umpzy(7PH^ z?HbZ|;)k?OthfXe1S8P|6<2|vXH=F*3a4$mGBdP&n07Ox{7FkU#UQGK-C{rOZ4^+I zmc1xv#9oYoRR@-Qq zY8Of|s%jVdh9b%MwfaxmI5t(YRQ-re6PxE_qngmHoE)#frDRl9PK^FG9&)G?=VS6JpjFZFSoikZ&ir%GIBt1r(({-cgYqyEw#LW9uYce2op zX`=#aagcbs8Sp}H_XVQ8%8M?*JdnRA z=$|fWi*KfTWD;x>$^U2*F9OnA3dsvaFa@lp^a)<TZ18H-=RJ@mJ@A7gQE5YxbkSrJ|t3@ zB~r21pBQ!Q;a26*?fcm{zBQ`4i^oJawR$Te!+)w&Z$HE9a> za`6DCJ>WxD;lw-GCGkYs!+krpCB75#k72Nk+P$@KDAewi5uuG8L%DT#sCWhffV78P z4T3Tn!ebF&?+7fijheiNswQtEC$j*$cSILOc)6vQ5nck1_BI?FJ3%$xB$WDXj0t=2 zyj2T8v%$7eDc5ybjn`L9ewB1);@v({aZ%hF+-*~G($#ot!VO^q7Lao!th(C-y9+Nv zK%$MZG#usSDd4LM#~X|Ei4|rV4_9I7kD5^Y=O54a*c%coR~CSD?cG*?mJN8zeGPpo zQ#cy4Ux3GW*M|-GaMsGGx4-M|sI_uZSx^3d*n1OrPtU5(^QQh)MFE8*1l({bB$G)r z`RCo2YjuVI2?oP5Ngxr2zP@YKHMj09?ota9#3;5~Yd~dOrXx0}2&ICejR9OxG}_=c z1Guy!Xhgeh7lI6;L(|`Lp6A{E%U!A}iOw`1O;!Eh_kGs$oaZdRa}G=O5en&8Bu=x{ z4SCG3ziUXetG~->q!6))pvv6H*!Dxp+$`e}-ewC&s|;!wrz{z}Gq3vY19}YZ2jTq^ zuKYjU60RcE{M0z`TQC2hauQULKZHTbfuZ=WRIH}OZ(ey&#$k)^BDBF8-$)JM%K)T) z-of*$zWevsw@}&cJn;GF4p8*-&au$z9Y&je2&q!LrUvJ3itj$-l7sii4j?UmA#D4tC!6xU%2K}nj5xLa z;xYHpM4NUNw!a&8r@T`1s%>AMV$O19eUQK;k;Q-dfGC?l2gT_4Gu)+Ux6B4Z=NBJv z)Vd(*?q5^C^K#z)H&`yeSjgeSs2>0p4~`tUp}V>#*T}W?b}&fN$0yI+^KtFuZ3igb zebM^>$E@LT%I!IIzp#0)jQv+0Z|;yco?(Ly;_2V}or7~+uc`M_#?Ra=rn<}P4xroo z(#to6lYRgbrfBb?1mOaC0~d+tc<+0{rs{Ys0Lsv};B4jR&%x@ToVwHJ4t$XGnIwug)k^;e+8)R>F;TcwSk8$HCDKi8;6UG3F#Git9g z_#b~oJ^Ik7=FfXYJ|@j00~D3(br`~)%?=a(a88Q7Nj@$f_v))2eCB~m6VZ)61vh=p z=snoOL~M8uSGlr^Cq2~Ht;F^VzxX7wuU$dzW-U1(Kh}dEZvuw-RR=%QT-*;Z(=QqQ z{-z|4`ux$4KmMFj*r(3|X=i}ndkI_pma|C5cSvEjw;m9e2v#)KAN6AaTJI^@Ut-br@mJA=pBclb@XsPV2|E`jb66sR}atMqPI$@({RBXjx2h zO$y6+-7CfUVf7plxxRGtMJfm5&+004{vnFWfh$K(q2qUAXjM_<$48RRQpit7Bccz* zazD#dWnp{ON`=Y5mIjxL`TyP&!Iix{ec$Lmay3$B7XbhRnqE<_mpYpE+BI^-$6ls# zNngstNG)QNTwmYEbuSG08FFb-vt*>{55DOv0s&%yh~TvTAf|Qc`u`x|A;k1eXEz%G zP|Th0dz=LAi%bBuiC`(xjhu#e0)e&<8W~TtflEgpCnuT63BPy%KJgK;dD{BY#z^)< z8xpv&S9Z?8Ud%0SW%cKt@AuYvE(3jvV6C1?wEt7?8U5BP;ohhNZ|B6zQF|LjIf?@> z82$FC`}z4Hvi9GJwdg^yJ^i%!dL-ZHKad-~U{Sw^3<%zJFerw{u_OTPi4xAD$5KEl zzjo;&m$G^#lCv zUSSh|Dr3EmzjJ;584}o&Z(&-Oj{ZrCBMND}`Z45vB=Sst{6}u&mbi`hEvb!#XG5I- zct*s@r;ffEbU#b_1Bk*Rl0TQfwQ?gP_ONSj0^}o{Q6W1Oc}*Qp7Oo$GVSG@?uDFmCfAeNty0iR?eNtXU!KQ7jz$OArI_!pO5fhU@af=nV&1 z_fMa;O}*)I*&~tPMN&iLZ;QD}cE`RTZu|$W1TVI0;7h{X?%wI#M5_$eT z`_EU@28qJa;~dI8{JXfnAyV;T7=hjh+w?@5wM!l}V*M{)tiGV|L1!Wff}-UZ{KBTB z+~n{OvZ!zdbtmx)rXmD@PPC*3t$hy?5NHOEhzjGVzLk;q07@hDAiKqJxt@U*I z=qK(b{1acv=-0cno*2!fq&<$2S|z%3T5k193Wnbckmqhu_YnNWNdwyXi{2^s!ND8& zg!&z8F!EEVRd>TCe|z7Zr&PTA@k_xTi-&Gg1ehyF|9K5>-Zu)1AT;z`qvhXe*^pZ8 zU$-vVjg)6Rz>8uc6~a$Of3vBjcLB&6?c+zD2*Y~K2{|#m{U_v76UzM*3DfQXCHqm9 zMK16k<1)r!b@}KXQIUlEfB)V4z8TLv?i`NeA+2-!Y1m%Fh3{#S71Wyh>f?e7WIUta z7 zqwhT=;iH1&QAzx5n3S#+EF+~JIeg+U|Lp_&uDwL_vb_KCY}j`rd)^^z_kU+IMDqPj zi5(>oHo}xtwqTa9Sf(e@a34Z2Co2mn7O2<7f4&RkCAZWkTcu9kKQj7+Fzb(;7EBFm z_Opke32FJJ4der^sHj* zYajc7g%9-oenz+cmBV9k<9^QQTecYW&nmozj@G+dD_Z)coa}Q8!57#tA?23c`J{cc6 z?F$v)Gx{DZj@H+`dBCS;*uhP4Za-iB`&VM0lu8l@_kG2aM&y)|HB};FV?T{il!6ykYj&3!`i*=bc}|i#)@A#tT2mqLA64K(Z-m^t{$vXD7P=c)+5W{*2U~&1{hq@$7R6zY0IHe@bR96GCac=Mo0}{{jGF z=RSnkbLByd0{gCc63%xZ?LP_zKuGW)gvSLTh4lu6C+>|e82#YBa{?+jJo;N=PgbC8NScV6=f2v)EUd~yvE2=pvJA4Spp1F?v{ zmi*>V5rYmtcHorzAfiLh<{tKBZXqa7)z(4r~ z;}3toSBjA0l6az#Y4f2VJS3Y;bb&&>FBRd@;d4KzGU<^ z>;yPdinjo+Lc;O-8$qdrb{FPFG1Y!99IV>{#V@Dsy?ZO`X z2Qiv|nB7Jw|6%OQa_(ODnEOY6zn>01@G>iF{XXgCL=^j-Cw@?Q`DcKN$gTU$9H1|v z#>YMTw{SZCC1Sa-kne*%iXZz^S`0z+qwn7u{Sr*VOqm|Zp)Qj1I{_NWV1AOspw+LoylQo7C=*n~YvJjD(S+H=mHJ&}58+ z3eC$icX#xgQWI3D?9k|^DgCIU_%XbpP}u0_4s#fU=HG$pf7wrt-i-n53sK$*Vf*Mc z1g_nUB)1|R|2*Cq(+U|T51i0ROZfJ@C7j+)6&2Y|9ClFaXTZ44-p&ok;b*8o`tWTM z%Q>}4X3IC=6~Fg&#&rJ{46$aUT!3b%IJ{<1o9Xq!% zdMhS7hDwibSj9hu%*~C3E-5m%{66}r)57AufLrvjQeBO}9WfROKmHVUt09}&ezWaC zRW@@z6#QH>=L=vn4FwCA`6HD3mdogw`{0~2_b;4<%2q$P10mnnP@(d%!=$%W`3I0O zcbU$DoFgpt;S#Xh}$zAXNVB z>%j5BiTOxSU*t;pl0)lopPnf$u`AYothwm9}evtpt^*OLVV!1=={?Gf7rAXio(2WxU8k7Wm$Y%fWicS7@ zjz2}bL`3;c&J+62=)tqt*}fATefR6=&*is&E59K^JwfaOuf>asOvm~B^?ibdKQKCu z4)wbna9(-UvyA}vh!ucnv3KSPWEZP?2v$DRXC{k~ITBjd}DV{dGsS02z9#Ss=Hxnv(l?{FVRb@}KAzuw4uzXr_vNq??Kutg&4z(0TV zMeME|!e3P+__+>2E3jA^A%ETKzO$DYiS@G$NOcY{xA71tDEBF&zqwR_m{*NHwssFx zXmKMykDM%7AU=2*-1>>54Ur|WK!ZP*yYBMQe>i=Q0!oaj{4=1hjGaX4;7kKmO(aAI zRK1UP_6Acug5^h#;cr|5muHmf=J;W7T}=LIqn{!j1VYKa?^GPF|0IxoE#&wC9lDLG zc#poUN!kgtC~o~ z@;?wG$h2zm9D)Px+yCz*iR*`qhA<+E(B>VVAuS6-#VJN;L@OD5w2={!4DK_}(Nc^M z+0#;lv{0B2BXz%uY{GmGy8(5eB#!37hCmHarF%DZOo0z zdLiE*9dR8BXMO)?3DxyDtL41!S;eV;=+8lq-ZQ#c@(mNp|2+gNu&hF`MPgs?cdKCdGQfBp`15cC6jQhUhlFRAp($Q~_))EKz=+mSRz7(5#Z7K*$o@>7P zg3%H~67%y3+}37_^MEqDrVeFJqk4&#`GC%+E^l!+Zy)`TJOXlOTW0{ zc}fWHhxXqm^B=tjua6AiU1tFX%cpqYZOPg1!-`_2aVNjG(?AX${S#3H`uW@UTOH|L zuYetY1QklJ?AKoM;Qk+$6anu5yRO6eTXvRTDA$Dt^6=;#xIOgua|BO30XwcSyS-DA zIlSuS*p6StnZvj9{VV|lL1BBEmn>JddDzE!ECbv6PD#(r#=hzxg5X754g(c=JF6;7 zHn|#{vkP7hMr%Ekze!PWC5H#@=7tf&BoqMR8e7@FXLCpY7by(iAT;nt>?o^u+33Ge zKS0*&{g>)JbJ^%;)(pAG4~&db;_LU0Uiv|~stAk|FPhv`54IPdb%vbV|3+!<+wheN zIsVrL_{JUwP!IaMhJ*a;mtop{&)16PqqactxX6{HZd)qgL1EXBS>`Q|$MA^@Wb?VB z*N|rLjhB$j4|!SM{r1PQz+#Ad;55hP8^m#RwHWJvmP9%S99aUC9zl^Ex>_h1Ps6R3 zSn{3NFSsH6>=NN#Qh8_Jl@dRxTrP4oa=R z#K3K-Rq#%frMy&X%l;|xV78RJ-aUs2&R`e+fLJ>C-7kvM4Gpcc0dh7L z@|#w;J@f$03Xp3gPxlf+-}Gc*wA{}L60WL}D1ZMBlD0D5S>bUoF*Guu;{Pkd2Geot z=y#}Cb{og=^^lg#_yMAt?qTQEw69ZU4*eMmSx7pyMuvVsKYNX+VcQK`dC~v5pCB}> z@AqoG&_4uy&kjC$^nnGgo!@!on3O@H+dhXbC~YL}uygz%rA0{`(!2^~(9dCV?6Q^b zqeL}>{He#>+h>W``1uqYzwqpPFyuFrdDklyUq)QGt`NuB#FZY#v3HNTj=n}Ei^HQM zoBMx6?O&{fG$YAsg$PE!Z$7z#C{=dwz3oE%5f(0HBflHl@dM_E%b_L+^e4=yKeg=Ly55ZL zP0fVt=sth+ueeE%?f)?u@%O>18QJGhn&)1)z<+Pxe{YxbM$%lmXe?1EV(?T}^ zr=#-)o3URm>2Hwq1WZ)GpW=hjJHiM9`pXCG4JG^jW;xV0M5(IL2 z@rY0pvBJNgEto2xx#o95`hE}Op!D&3QpbT)!87C)T>9U4$>_C2VLW5>;|I^l2TvaT z#aY-1dwPIWe`XoS_n0TY%$a3$@8W)c^5|Dl7kCS+;%g8!4lq(ZMPox$q>YjBT}sDX zU2nbwV}-aXE~6-vj`vc25E?!_x|8xWKPqeex%j-m;Kv7R!OII#VfB$^X;L>9r|Xd0;LZP z6e};6=I5xpOwGIpo^UH>|Gk}|0xp9_loPW3yRhtqDrLVdl6PG&{|;$ z*wdcN3BE=|8~DU$5F(lj#b_npcKH6$chKbLj(*B&I`2Ujwf14wo9zDJnGcO{ZeAnw z!*v5mtP_8P7DuSlwXc?4VZUETsZ?$qjp$_vQlwRW5RiZ#&C3D6NJEcTNEi)iJ1RJ9 zJ6}EBj+jpR?XZ%gmvbxrz%g@?Jl%)_(|WVBUf)03ym$Xw#6s~GY%OX%NK6P5#4oA%#1VR2#RceExs*;t1lH18|3taInYr(`IR|ub^}+8vka8f^FD}+f zQkYpdm6$MigRXv`Fq5mXm_9UkRfVI!dAy{0rb@uNtYmwZ)evF@8`_jC5Qvuig$(&Z zn?DKs?k6r8eR9jBa`+5LnP;Hx{_Xw;rOT^FKlbtm2Ytz~T1koRmIiqdM(T}6r-gMK z9=-bsVkv&YJ2`~*6o}6A!=PZK$6h=ha74b{H~NirkzoM_swgIkExbc^e@s4sSM#@@ zlCnr&i%mk*-M=CFg3m4)y=nbU&AL~tWUI%H+;Yo{pLgV{^{tJ~;>f9LePelT^@ux; zg0XYtsw@o4GIq=Gi063TwN84in_hkO!pd^Ko~@s~E?ZeyE3VsEFRtU4@%qMf&oDoY z;~-44I`pnBj%|&dh3mBS>)O`p+^LE%i!wh;tEBMa+;jO)7Nl-bh2BE3wq7mVw6=aC z+uW?y7nWY~{6K#4>l2%4`?DLCRlap>X=UwnwZ3$`I^)L2qd0W)zz@B`cauExZ(Nvo zXJK{g#KPAtpE$Yl^dz`@(6Y~?AYHoRmfNq8=T~fb&K1(@cucqB@w25f{jpwK*FU$C zE1q-v6*4G#_WUrY^D>How#`&#(5P4u9NzH+Kjq=rx~#suo)x0 z%LucL$$>HrM!URmawR)^^XjIIG1^>P+KK`hX5^=-=agPh*G?IhH!he*wg-25NqiO~ zbmuRN>1h7KB$1QnrQXR`Rh9^LAa5wYuJ@bmzP>jHA#E>pF6yq_}Zmd3AGr zd39sC*l0J=b-Ev2Iy!lFX?1ONjq|dSojkd`dQ8^V_2aP2V<#%Y#Bs748SvD5N4Jve z?eK&C_?e@uMd%Gj-Xp+UgwDUBIx|@6_+yX z9D5}Uf3-SIpMI1jL0x3ISY9E-n8;9;SbRDz zgUSoayiQ{`4BP_pZyxTU_vcir)%tRAYgR6wX{RlmN@&dW`j7SGLELnmg?Sd0xf6P6 zT7_9)P9D!}&wRhQNCS(D4J}@CM96vV-n#USD;aihwuBd0DaE{Gd#qn;P;rO{if6WZu{b%I7CH;)q7a+uS0k;OMI@O#s6 zqV2|pXY>vnGaZkcnd-5a!)*J@DV>Jp^08%E&@_z0Jc*Os%eWc}IgoVQKPd~ngVJpj zZ@FIoHP7k2*OF>@nnkbZC(mLh&gj7j3OAGK=@aEOLqeQG^sakyy;>@(VyRly6X&}z zyv!-`u=4W+O6Wb`109;1)=kV3bGs=)m^IczI35dikH`lUbc)CiV=r*S zwD8R6?Z9;<7Z;_4#YI^FnBDH@bp3*eI~&bu@OqbO!PT!1!-)&k>>!WF;}>S@o6FhC zjW5#)4rL>+dKqI6!=&)*1R19;f~*Q}T&P}Vdkba=9NS!hFA||?+bb~P28^mIs_Qy+ ztB|Xrq5mDZU*S1f#s!zBPMOsKQkcjcv$$U~48#2ljeCaW&EX==7t=&QALFrdnz>xW zPm&_@iz4w$4td$1(_SvqsFipsWb-0PT*oQnuuiz!%p5}IU}a;=z-6DCh1+IdX2`}H z%P+5#0W(2pzzeyzlcLUouy(oDn=V~L0HI@UiYVA_h2{yhxgTdD^yg_3d3oS8jmJGw zW*CjEx!pu&NwW-!^K0e&ET}WziOYcNIm*1e=_{I{P0T(uy5oaur8zXqgPsz%f}z(A zHweOd0#n~LDW_TPM@bmRT;@?8LoswZla!lrK*~|j2&QgqnLs#ySGKvp)5v$-*o_=N z@rwX?nsJ}c28W`WB+C4ds;h)`2m`;0V1D|f;aFBKP+ILcmXSS#dnrln%(2Yk8S*+X~Ei?a}o9XvLv<5E)S0V>|G8**Y`aq%#y+>{eZK$>s>Aq_8CH~g48cc zk5A|Aax)IQ%l#fYeL7W{VQFJ?UCt}YbLAz0SErfhCNRVH=|aA>yi(dbu+__x=2thc zD)%zFnvtb5j%N}&o}Ywhf;Hqgd}T1@Za}Wny~dDgG&C>IgSg1NG%vWoyT=VFMCQbs zi@7gk&sLS6tvY>oxa-Vui!yT}KZ$}k;ih6mdm5W>G`7f`3$=cX$ET`dJbrOi7}@1n zSKKiBwx^}Wh|qPIhFP4JX%y5!O~25Y>F}B(+W6w4{o^?+Yk9WPp3lT^&D3achP0=| zsa?xb+e;p`lUJy;WzC{vR)KSiNTQ3P%XbU=JlMdN64Lg0T!}_qZLo`#gJH%m;?nig zB*;0-_Sw-Zw~}j)$Xpf|rv#b{&>_2P&yCVL_M*Vak}}Ftu8HO#^c6y11gLiH+~DLI zbiBM;a4?W`m_c4)Wh%THp}s_}K|vY5(k;zx)tr?{bY*xP%H+?|XjxPRJQIl}%7aXd z9{Qvmq1-+*7B;F;w>OXuk2_vem%is0c@$^0!{pYhjjffp66pm{3)YF~2d&YrnXX$aQx8fX0n*Z1)_&X}J{D(2SS(3Y4dv(rnQ-Gy7T)0|#e=}=EwY#*>h`lMMRJ=bnf zY^|@eH%sVfYr1uAg=$(mL0LoDK?$oIz5+dLf1G`zf5v**TBc&hfC@1^hG`K=FXM83 z4RQS0{8#oekbkl!K^lf`T)|8I0PmpA~V+Rt#D?YWbR-=HjB6=KNvxXoPVE(V(^7xcba^FrXp~g2J!dEXs=_ zthg)(O*8}I`^81bVY`uRY?ccfXEzqGb*XX1=Ler30{OwvP%>d#Gc4M!-7#h6+Q&D@5F6!H zE^z%lQ!7PS)!25txXK&{%NCa4?lFdu&EsojXK)RQ;~Az(^J}tFtuAeC)*=ihd6<+X zT11+qu3vK>H4j^6Ir!F_w5ZaqGP~w8+QfX~mRT4DX_Wh(E@;CIBIF^=yU}g>M{sgW zxoyEol9j5X2;;pNcC378&T?o35W6O(1@=;#m|i-V-gtb6m~!;+I7ZTv`7<;wnY{8c zKZ(=GaVzwV?s2!FK6L9w(CvU(HKUC(^v8*`ySs)4W`F29*@l=S#nvwL=0sKC zI4}{tyOHR-$MX+LyB*3&bkwvJ`caxPpsL_v!Nl5K!h>CNxfzSK5`!|kz66`#)5Q03 zkBy3hG{95D#XIp%+vA|Ac?96Pz0YYrEn~z2CkUbx=T)p%a65!O+vF)~{-#We<3>|rvp!pUl!f<}DE!u~AuvkK=Jq zr^wc2=BMc5#^EEbhDJKsjX$o&U=~GQSk!O~Y}q$1D3fj55ScpEpRDT3znQX=CT>>N z=>A@o=Axk(j?2?VN-!LKanW#e9hEt^!`mW}+rlc;oV2utBw&1L;d;pD%|qRr3%D=_ zdOM31RcVTq%FPkGjPYd`^%FNIrT4yc0!J4h0s*4?-; zd}SNzTsx_%zzfVD4OK_uVbrKFEjSlaN0fIYITlX^}(~3N+It^|y@2 zOhUM71ngtA5Op)E@e5&k@|*#RH3nN$e5J3ZD-VoPh=;Ts&zTNaS%uBSOSD0!gfz{_Svqe)|jSrffg5U z5Ix6QKI~81o%)vMTZPxyLiC!QFo?K!H`k19*wBr^P|Vl@H^^3&kFCOBPv{3sG{;i} z2t{l-QSAk=so^V++-4fmXGmEHh$F?050)a##DUo(sHj*wabj)NzRYgwM3!p)u-;qv zTj1e6#0=?HnXA(D@THa*b|V_V#v|A!I0rw*%#TI-hV^4xDi^oyhXG1!c7yTu8vs64B@qA2r&ivgVC@=STQ0*;RH`T z>U=dhUIyE^IXt6LrUS$1jtZqQwTVw-JZ{h;_P~wDlM1EP79*pd$p(VH$`E!lzx1lS zM4~c}=C0v2N3K+IURYs-5j0!n#C~ji5D%*#C&4?hEW)nz zo_K`|o+tBQp;5rrH4k-u1Lunwxq|zc*TfywH`>pd>5iuQFsqylOiRioRaOz}U<_!+ z@w}Up7mIjmg)$5gSs}VxSjAQD0NX>!7nJ}{@#I@`cXHPvr$5A!IST}1$H)|T?MGsrWIJtZzd4|}QOu)evQA#hK= zw3`mMUB}3b9}+@=&M~VwT=faMD#jc0=z_a&{lOa16-+eqSwIBbGR*~tb209E(jfvO`tpDn*Fn|=qnM|dJ6kqd$3k8?1yCnPTP;Fz(Y#g&6J2&4`4g-WY48`%M)Y>=Z6ZRL3AP(D!XAPhq|mE5%xEe>U8H>ox@ zmkH+JOgF*{-E?GEVIz(*cUJX1WoQ3cdFGVPq2lKF-W+g%Dh^e=6 zw966$2C?8%0o$L{|13#M)8v1p47+V&&=N`w?~Bs#^Z=Lq^omclHXMVQEMqAO0fO6> z5}Ml3e-B;zc9JuP|GezvPHSKUlD!Z4dj2Pr<2uF}(U%FEMI4V=#POI>h%M}9d; ziEG*xCWG%pN%@y-?gUJ?*=i(5&o2`$bNp?Q0Pke02RkqgZc!p@mU-{9Z8zF1ms#w8 zDf_gbgw(i@3{E_Z4DL{!9aG4y;eP1nc#F0S+#e$3#07O+#j%@)T!5%^Nb&sssL^73 z)ojl$d^2`#TBpuxi9X5mL^O~`aqO0~jA(p8yRxH3fSJLmW7l;OB(R`DH|c?Q9=*MT zNhp&YZer4K5e)YyljfZr=ZF<6#%7OHmf~BfFsJnA_&>PzP-Z%hK(#Q!%tWxEUjXs* ztZhO?-T8vj42U0ChZO%~S=332j>TJ2VLQlA$@0chb>ifvp#5-|0Q-%q2u}~; zuQ=YDhnCRw5@>9XFLt|iG1J&XS4EZk1e3X-1#(OpqC44fOp0uX4BiB6iJ#<7><=BU zmmB7^8PIAL^oHJ^5W(5ccU%uVjVHFm3sU2rz$oICZk;AYfsESsH1f_an{GXgrdez) zVxf%*`N{EyGWEt2X`3`E`p{=PZLkVKs(|xJV?ZmOBbUj*q}7gXJ0}DNChV|cp{PqY zt+0VRxMu+iGFS6xCaUs!#0Lq2Zu{8t_GcO1W|!!ZIL2j_B9OG(FNU_`#70TuHY9?G z#4e;*Et})9#ahUly8jW>CI~;-349!|)liUFU<$_^wD*|7d(QR*&HKMI+jF8d! z7$K2`R|y|~mi!^>73vQxmtRBeShWF-X2fALAbqm^Y8fy7UUf;&(;#G)V=7)bPeIXT znTx?XuZan=@yb)LGOWfV8%%`Mw2)*sDm54%j?i6=rZ`;RGjDih?)!QcKvX zFy7Qe`~yMkw^lD#E2W3&$zq-H;bpZ)L_rJ-iV{@N`L8cLTUxqJhc)P}8@k(jr2|xl z0nvh~i}{2|Y7Gb5jn$+Np-u?pt#b~Y7Z82w!+$OeLhbJvLha6&+Kxg>SQc4^u1dTl zrhboMHxnOjQkt!x3#}RlN)>>r4e_RtT7WoIm}L8O@cHajPhm;~m~QIj2t@+GLxlo; zQYnO`eQMQ�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%0DPop{QL}r; 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�U46dWGp(_}Tq4BB!NW5+v-LK>R88 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%0Df1L7)V)oUzOze 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

      JSN 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

      yjbbR*Q7 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 R>gRv&r_Coee|q-p{|C~O$fy7S diff --git a/venv/lib/python3.12/site-packages/bcrypt/_bcrypt.pyi b/venv/lib/python3.12/site-packages/bcrypt/_bcrypt.pyi new file mode 100644 index 0000000..640e913 --- /dev/null +++ b/venv/lib/python3.12/site-packages/bcrypt/_bcrypt.pyi @@ -0,0 +1,7 @@ +import typing + +def encode_base64(data: bytes) -> bytes: ... +def hashpass(password: bytes, salt: bytes) -> bytes: ... +def pbkdf( + password: bytes, salt: bytes, rounds: int, desired_key_bytes: int +) -> bytes: ... diff --git a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/LICENSE diff --git a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/METADATA b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/METADATA similarity index 74% rename from venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/METADATA rename to venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/METADATA index 6322f88..cab80e6 100644 --- a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/METADATA @@ -1,6 +1,6 @@ -Metadata-Version: 2.4 +Metadata-Version: 2.1 Name: celery -Version: 5.5.3 +Version: 5.3.4 Summary: Distributed Task Queue. Home-page: https://docs.celeryq.dev/ Author: Ask Solem @@ -24,136 +24,110 @@ Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Operating System :: OS Independent Requires-Python: >=3.8 License-File: LICENSE -Requires-Dist: billiard<5.0,>=4.2.1 -Requires-Dist: kombu<5.6,>=5.5.2 -Requires-Dist: vine<6.0,>=5.1.0 -Requires-Dist: click<9.0,>=8.1.2 -Requires-Dist: click-didyoumean>=0.3.0 -Requires-Dist: click-repl>=0.2.0 -Requires-Dist: click-plugins>=1.1.1 -Requires-Dist: backports.zoneinfo[tzdata]>=0.2.1; python_version < "3.9" -Requires-Dist: python-dateutil>=2.8.2 +Requires-Dist: billiard (<5.0,>=4.1.0) +Requires-Dist: kombu (<6.0,>=5.3.2) +Requires-Dist: vine (<6.0,>=5.0.0) +Requires-Dist: click (<9.0,>=8.1.2) +Requires-Dist: click-didyoumean (>=0.3.0) +Requires-Dist: click-repl (>=0.2.0) +Requires-Dist: click-plugins (>=1.1.1) +Requires-Dist: tzdata (>=2022.7) +Requires-Dist: python-dateutil (>=2.8.2) +Requires-Dist: importlib-metadata (>=3.6) ; python_version < "3.8" +Requires-Dist: backports.zoneinfo (>=0.2.1) ; python_version < "3.9" Provides-Extra: arangodb -Requires-Dist: pyArango>=2.0.2; extra == "arangodb" +Requires-Dist: pyArango (>=2.0.2) ; extra == 'arangodb' Provides-Extra: auth -Requires-Dist: cryptography==44.0.2; extra == "auth" +Requires-Dist: cryptography (==41.0.3) ; extra == 'auth' Provides-Extra: azureblockblob -Requires-Dist: azure-storage-blob>=12.15.0; extra == "azureblockblob" -Requires-Dist: azure-identity>=1.19.0; extra == "azureblockblob" +Requires-Dist: azure-storage-blob (>=12.15.0) ; extra == 'azureblockblob' Provides-Extra: brotli -Requires-Dist: brotlipy>=0.7.0; platform_python_implementation == "PyPy" and extra == "brotli" -Requires-Dist: brotli>=1.0.0; platform_python_implementation == "CPython" and extra == "brotli" +Requires-Dist: brotli (>=1.0.0) ; (platform_python_implementation == "CPython") and extra == 'brotli' +Requires-Dist: brotlipy (>=0.7.0) ; (platform_python_implementation == "PyPy") and extra == 'brotli' Provides-Extra: cassandra -Requires-Dist: cassandra-driver<4,>=3.25.0; extra == "cassandra" +Requires-Dist: cassandra-driver (<4,>=3.25.0) ; extra == 'cassandra' Provides-Extra: consul -Requires-Dist: python-consul2==0.1.5; extra == "consul" +Requires-Dist: python-consul2 (==0.1.5) ; extra == 'consul' Provides-Extra: cosmosdbsql -Requires-Dist: pydocumentdb==2.3.5; extra == "cosmosdbsql" +Requires-Dist: pydocumentdb (==2.3.5) ; extra == 'cosmosdbsql' Provides-Extra: couchbase -Requires-Dist: couchbase>=3.0.0; (platform_python_implementation != "PyPy" and (platform_system != "Windows" or python_version < "3.10")) and extra == "couchbase" +Requires-Dist: couchbase (>=3.0.0) ; (platform_python_implementation != "PyPy" and (platform_system != "Windows" or python_version < "3.10")) and extra == 'couchbase' Provides-Extra: couchdb -Requires-Dist: pycouchdb==1.16.0; extra == "couchdb" +Requires-Dist: pycouchdb (==1.14.2) ; extra == 'couchdb' Provides-Extra: django -Requires-Dist: Django>=2.2.28; extra == "django" +Requires-Dist: Django (>=2.2.28) ; extra == 'django' Provides-Extra: dynamodb -Requires-Dist: boto3>=1.26.143; extra == "dynamodb" +Requires-Dist: boto3 (>=1.26.143) ; extra == 'dynamodb' Provides-Extra: elasticsearch -Requires-Dist: elasticsearch<=8.17.2; extra == "elasticsearch" -Requires-Dist: elastic-transport<=8.17.1; extra == "elasticsearch" +Requires-Dist: elasticsearch (<8.0) ; extra == 'elasticsearch' Provides-Extra: eventlet -Requires-Dist: eventlet>=0.32.0; python_version < "3.10" and extra == "eventlet" +Requires-Dist: eventlet (>=0.32.0) ; (python_version < "3.10") and extra == 'eventlet' Provides-Extra: gevent -Requires-Dist: gevent>=1.5.0; extra == "gevent" -Provides-Extra: gcs -Requires-Dist: google-cloud-storage>=2.10.0; extra == "gcs" -Requires-Dist: google-cloud-firestore==2.20.1; extra == "gcs" -Requires-Dist: grpcio==1.67.0; extra == "gcs" +Requires-Dist: gevent (>=1.5.0) ; extra == 'gevent' Provides-Extra: librabbitmq -Requires-Dist: librabbitmq>=2.0.0; python_version < "3.11" and extra == "librabbitmq" +Requires-Dist: librabbitmq (>=2.0.0) ; (python_version < "3.11") and extra == 'librabbitmq' Provides-Extra: memcache -Requires-Dist: pylibmc==1.6.3; platform_system != "Windows" and extra == "memcache" +Requires-Dist: pylibmc (==1.6.3) ; (platform_system != "Windows") and extra == 'memcache' Provides-Extra: mongodb -Requires-Dist: kombu[mongodb]; extra == "mongodb" +Requires-Dist: pymongo[srv] (>=4.0.2) ; extra == 'mongodb' Provides-Extra: msgpack -Requires-Dist: kombu[msgpack]; extra == "msgpack" +Requires-Dist: msgpack (==1.0.5) ; extra == 'msgpack' Provides-Extra: pymemcache -Requires-Dist: python-memcached>=1.61; extra == "pymemcache" -Provides-Extra: pydantic -Requires-Dist: pydantic>=2.4; extra == "pydantic" +Requires-Dist: python-memcached (==1.59) ; extra == 'pymemcache' Provides-Extra: pyro -Requires-Dist: pyro4==4.82; python_version < "3.11" and extra == "pyro" +Requires-Dist: pyro4 (==4.82) ; (python_version < "3.11") and extra == 'pyro' Provides-Extra: pytest -Requires-Dist: pytest-celery[all]<1.3.0,>=1.2.0; extra == "pytest" +Requires-Dist: pytest-celery (==0.0.0) ; extra == 'pytest' Provides-Extra: redis -Requires-Dist: kombu[redis]; extra == "redis" +Requires-Dist: redis (!=4.5.5,<5.0.0,>=4.5.2) ; extra == 'redis' Provides-Extra: s3 -Requires-Dist: boto3>=1.26.143; extra == "s3" +Requires-Dist: boto3 (>=1.26.143) ; extra == 's3' Provides-Extra: slmq -Requires-Dist: softlayer_messaging>=1.0.3; extra == "slmq" +Requires-Dist: softlayer-messaging (>=1.0.3) ; extra == 'slmq' Provides-Extra: solar -Requires-Dist: ephem==4.2; platform_python_implementation != "PyPy" and extra == "solar" +Requires-Dist: ephem (==4.1.4) ; (platform_python_implementation != "PyPy") and extra == 'solar' Provides-Extra: sqlalchemy -Requires-Dist: kombu[sqlalchemy]; extra == "sqlalchemy" +Requires-Dist: sqlalchemy (<2.1,>=1.4.48) ; extra == 'sqlalchemy' Provides-Extra: sqs -Requires-Dist: boto3>=1.26.143; extra == "sqs" -Requires-Dist: urllib3>=1.26.16; extra == "sqs" -Requires-Dist: kombu[sqs]>=5.5.0; extra == "sqs" +Requires-Dist: boto3 (>=1.26.143) ; extra == 'sqs' +Requires-Dist: urllib3 (>=1.26.16) ; extra == 'sqs' +Requires-Dist: kombu[sqs] (>=5.3.0) ; extra == 'sqs' +Requires-Dist: pycurl (>=7.43.0.5) ; (sys_platform != "win32" and platform_python_implementation == "CPython") and extra == 'sqs' Provides-Extra: tblib -Requires-Dist: tblib>=1.5.0; python_version >= "3.8.0" and extra == "tblib" -Requires-Dist: tblib>=1.3.0; python_version < "3.8.0" and extra == "tblib" +Requires-Dist: tblib (>=1.3.0) ; (python_version < "3.8.0") and extra == 'tblib' +Requires-Dist: tblib (>=1.5.0) ; (python_version >= "3.8.0") and extra == 'tblib' Provides-Extra: yaml -Requires-Dist: kombu[yaml]; extra == "yaml" +Requires-Dist: PyYAML (>=3.10) ; extra == 'yaml' Provides-Extra: zookeeper -Requires-Dist: kazoo>=1.3.1; extra == "zookeeper" +Requires-Dist: kazoo (>=1.3.1) ; extra == 'zookeeper' Provides-Extra: zstd -Requires-Dist: zstandard==0.23.0; extra == "zstd" -Dynamic: author -Dynamic: author-email -Dynamic: classifier -Dynamic: description -Dynamic: home-page -Dynamic: keywords -Dynamic: license -Dynamic: license-file -Dynamic: platform -Dynamic: project-url -Dynamic: provides-extra -Dynamic: requires-dist -Dynamic: requires-python -Dynamic: summary +Requires-Dist: zstandard (==0.21.0) ; extra == 'zstd' .. image:: https://docs.celeryq.dev/en/latest/_images/celery-banner-small.png |build-status| |coverage| |license| |wheel| |semgrep| |pyversion| |pyimp| |ocbackerbadge| |ocsponsorbadge| -:Version: 5.5.3 (immunity) +:Version: 5.3.4 (emerald-rush) :Web: https://docs.celeryq.dev/en/stable/index.html :Download: https://pypi.org/project/celery/ :Source: https://github.com/celery/celery/ -:DeepWiki: |deepwiki| :Keywords: task, queue, job, async, rabbitmq, amqp, redis, python, distributed, actors Donations ========= -Open Collective ---------------- +This project relies on your generous donations. -.. image:: https://opencollective.com/static/images/opencollectivelogo-footer-n.svg - :alt: Open Collective logo - :width: 200px +If you are using Celery to create a commercial product, please consider becoming our `backer`_ or our `sponsor`_ to ensure Celery's future. -`Open Collective `_ is our community-powered funding platform that fuels Celery's -ongoing development. Your sponsorship directly supports improvements, maintenance, and innovative features that keep -Celery robust and reliable. +.. _`backer`: https://opencollective.com/celery#backer +.. _`sponsor`: https://opencollective.com/celery#sponsor For enterprise ============== @@ -162,47 +136,6 @@ Available as part of the Tidelift Subscription. The maintainers of ``celery`` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. `Learn more. `_ -Sponsors -======== - -Blacksmith ----------- - -.. image:: ./docs/images/blacksmith-logo-white-on-black.svg - :alt: Blacksmith logo - :width: 240px - -`Official Announcement `_ - -Upstash -------- - -.. image:: https://upstash.com/logo/upstash-dark-bg.svg - :alt: Upstash logo - :width: 200px - -`Upstash `_ offers a serverless Redis database service, -providing a seamless solution for Celery users looking to leverage -serverless architectures. Upstash's serverless Redis service is designed -with an eventual consistency model and durable storage, facilitated -through a multi-tier storage architecture. - -Dragonfly ---------- - -.. image:: https://github.com/celery/celery/raw/main/docs/images/dragonfly.svg - :alt: Dragonfly logo - :width: 150px - -`Dragonfly `_ is a drop-in Redis replacement that cuts costs and boosts performance. -Designed to fully utilize the power of modern cloud hardware and deliver on the data demands of modern applications, -Dragonfly frees developers from the limits of traditional in-memory data stores. - - - -.. |oc-sponsor-1| image:: https://opencollective.com/celery/sponsor/0/avatar.svg - :target: https://opencollective.com/celery/sponsor/0/website - What's a Task Queue? ==================== @@ -235,10 +168,10 @@ in such a way that the client enqueues an URL to be requested by a worker. What do I need? =============== -Celery version 5.5.x runs on: +Celery version 5.3.4 runs on: -- Python (3.8, 3.9, 3.10, 3.11, 3.12, 3.13) -- PyPy3.9+ (v7.3.12+) +- Python (3.8, 3.9, 3.10, 3.11) +- PyPy3.8+ (v7.3.11+) This is the version of celery which will support Python 3.8 or newer. @@ -269,7 +202,7 @@ Get Started =========== If this is the first time you're trying to use Celery, or you're -new to Celery v5.5.x coming from previous versions then you should read our +new to Celery v5.3.4 coming from previous versions then you should read our getting started tutorials: - `First steps with Celery`_ @@ -333,7 +266,7 @@ It supports... - **Message Transports** - - RabbitMQ_, Redis_, Amazon SQS, Google Pub/Sub + - RabbitMQ_, Redis_, Amazon SQS - **Concurrency** @@ -345,7 +278,6 @@ It supports... - memcached - SQLAlchemy, Django ORM - Apache Cassandra, IronCache, Elasticsearch - - Google Cloud Storage - **Serialization** @@ -379,8 +311,6 @@ integration packages: +--------------------+------------------------+ | `Tornado`_ | `tornado-celery`_ | +--------------------+------------------------+ - | `FastAPI`_ | not needed | - +--------------------+------------------------+ The integration packages aren't strictly necessary, but they can make development easier, and sometimes they add important hooks like closing @@ -397,7 +327,6 @@ database connections at ``fork``. .. _`web2py-celery`: https://code.google.com/p/web2py-celery/ .. _`Tornado`: https://www.tornadoweb.org/ .. _`tornado-celery`: https://github.com/mher/tornado-celery/ -.. _`FastAPI`: https://fastapi.tiangolo.com/ .. _celery-documentation: @@ -407,6 +336,8 @@ Documentation The `latest documentation`_ is hosted at Read The Docs, containing user guides, tutorials, and an API reference. +最新的中文文档托管在 https://www.celerycn.io/ 中,包含用户指南、教程、API接口等。 + .. _`latest documentation`: https://docs.celeryq.dev/en/latest/ .. _celery-installation: @@ -496,9 +427,6 @@ Transports and Backends :``celery[s3]``: for using S3 Storage as a result backend. -:``celery[gcs]``: - for using Google Cloud Storage as a result backend. - :``celery[couchbase]``: for using Couchbase as a result backend. @@ -535,10 +463,6 @@ Transports and Backends You should probably not use this in your requirements, it's here for informational purposes only. -:``celery[gcpubsub]``: - for using Google Pub/Sub as a message transport. - - .. _celery-installing-from-source: @@ -668,6 +592,19 @@ Thank you to all our backers! 🙏 [`Become a backer`_] .. |oc-backers| image:: https://opencollective.com/celery/backers.svg?width=890 :target: https://opencollective.com/celery#backers +Sponsors +-------- + +Support this project by becoming a sponsor. Your logo will show up here with a +link to your website. [`Become a sponsor`_] + +.. _`Become a sponsor`: https://opencollective.com/celery#sponsor + +|oc-sponsors| + +.. |oc-sponsors| image:: https://opencollective.com/celery/sponsor/0/avatar.svg + :target: https://opencollective.com/celery/sponsor/0/website + .. _license: License @@ -716,8 +653,3 @@ file in the top distribution directory for the full license text. .. |downloads| image:: https://pepy.tech/badge/celery :alt: Downloads :target: https://pepy.tech/project/celery - -.. |deepwiki| image:: https://devin.ai/assets/deepwiki-badge.png - :alt: Ask http://DeepWiki.com - :target: https://deepwiki.com/celery/celery - :width: 125px diff --git a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/RECORD b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/RECORD similarity index 71% rename from venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/RECORD rename to venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/RECORD index cd077eb..3ee987c 100644 --- a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/RECORD +++ b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/RECORD @@ -1,13 +1,13 @@ -../../../bin/celery,sha256=lKonuVsJ65W3NAxVZLFxKbSmaI38YHsNYMByAh7uwuw,235 -celery-5.5.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -celery-5.5.3.dist-info/METADATA,sha256=0LXMLl9irDLbUsh7Ot_bnv4HOw8PZlC-Ow3BYsuN8zY,22953 -celery-5.5.3.dist-info/RECORD,, -celery-5.5.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -celery-5.5.3.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91 -celery-5.5.3.dist-info/entry_points.txt,sha256=FkfFPVffdhqvYOPHkpE85ki09ni0e906oNdWLdN7z_Q,48 -celery-5.5.3.dist-info/licenses/LICENSE,sha256=w1jN938ou6tQ1KdU4SMRgznBUjA0noK_Zkic7OOsCTo,2717 -celery-5.5.3.dist-info/top_level.txt,sha256=sQQ-a5HNsZIi2A8DiKQnB1HODFMfmrzIAZIE8t_XiOA,7 -celery/__init__.py,sha256=W4mGD3BD5qK5bwfyMUd9RqkMyE41_4BALYzmnEnPD_M,5945 +../../../bin/celery,sha256=0OpNT6_Y6Sx11-WiH9_RMtvjbzkIK39w-IsUCkdOmRA,239 +celery-5.3.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +celery-5.3.4.dist-info/LICENSE,sha256=w1jN938ou6tQ1KdU4SMRgznBUjA0noK_Zkic7OOsCTo,2717 +celery-5.3.4.dist-info/METADATA,sha256=VwAVQZ0Kl2NxLaXXqYf8PcnptX9fakvtAmI2xHeTqdo,21051 +celery-5.3.4.dist-info/RECORD,, +celery-5.3.4.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +celery-5.3.4.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92 +celery-5.3.4.dist-info/entry_points.txt,sha256=FkfFPVffdhqvYOPHkpE85ki09ni0e906oNdWLdN7z_Q,48 +celery-5.3.4.dist-info/top_level.txt,sha256=sQQ-a5HNsZIi2A8DiKQnB1HODFMfmrzIAZIE8t_XiOA,7 +celery/__init__.py,sha256=N18V32hIC7cyR2Wp-uucng-ZXRTBlbBqrANrslxVudE,5949 celery/__main__.py,sha256=0iT3WCc80mA88XhdAxTpt_g6TFRgmwHSc9GG-HiPzkE,409 celery/__pycache__/__init__.cpython-312.pyc,, celery/__pycache__/__main__.cpython-312.pyc,, @@ -40,21 +40,21 @@ celery/app/__pycache__/routes.cpython-312.pyc,, celery/app/__pycache__/task.cpython-312.pyc,, celery/app/__pycache__/trace.cpython-312.pyc,, celery/app/__pycache__/utils.cpython-312.pyc,, -celery/app/amqp.py,sha256=jlXBDiFRZqJqu4r2YlSQVzTQM_TkpST82WPBPshZ-nE,23582 +celery/app/amqp.py,sha256=SWV-lr5zv1PJjGMyWQZlbJ0ToaQrzfIpZdOYEaGWgqs,23151 celery/app/annotations.py,sha256=93zuKNCE7pcMD3K5tM5HMeVCQ5lfJR_0htFpottgOeU,1445 celery/app/autoretry.py,sha256=PfSi8sb77jJ57ler-Y5ffdqDWvHMKFgQ_bpVD5937tc,2506 -celery/app/backends.py,sha256=lOQJcKva66fNqfYBuDAcCZIpbHGNKbqsE_hLlB_XdnA,2746 -celery/app/base.py,sha256=nn54l1hjtlXQBqIhHKSBNTZqKhIO961xSklMyyV4Xfw,55932 +celery/app/backends.py,sha256=__GqdylFJSa9G_JDSdXdsygfe7FjK7fgn4fZgetdUMw,2702 +celery/app/base.py,sha256=o68aTkvYf8JoYQWl7j3vtXAP5CiPK4Iwh-5MKgVXRmo,50088 celery/app/builtins.py,sha256=gnOyE07M8zgxatTmb0D0vKztx1sQZaRi_hO_d-FLNUs,6673 -celery/app/control.py,sha256=iWy_E2l1BWX8WtxA5OoW2QtHOrJIJL7OIukkEh85CTo,29231 -celery/app/defaults.py,sha256=Hbcck1I99lT8cLdh-JACZQUDCeYrbV_gPIj9sClEaWg,15647 +celery/app/control.py,sha256=La-b_hQGnyWxoM5PIMr-aIzeyasRKkfNJXRvznMHjjk,29170 +celery/app/defaults.py,sha256=XzImSLArwDREJWJbgt1bDz-Cgdxtq9cBfSixa85IQ0Y,15014 celery/app/events.py,sha256=9ZyjdhUVvrt6xLdOMOVTPN7gjydLWQGNr4hvFoProuA,1326 -celery/app/log.py,sha256=pSW4hbrH6M_e1CNXYQ8Dxkst7XM5JzfBJvM8R9QnlJQ,9102 +celery/app/log.py,sha256=uAlmoLQH347P1WroX13J2XolenmcyBIi2a-aD6kMnZk,9067 celery/app/registry.py,sha256=imdGUFb9CS4iiZ1pxAwcQAbe1JKKjyv9WTy94qHHQvk,2001 -celery/app/routes.py,sha256=phoACykZ3ESCNXh5X1oAwQwilGu-0wp5TUi_cahogx8,4551 -celery/app/task.py,sha256=ySJ9-7mkb8PSkFw3JMQBL3W12vzYSvR5utCW_JGdIBE,44274 -celery/app/trace.py,sha256=w0qM9MGHeJzOFJREq5m4obPJ6D5hCMHAJwmGdB6n8PM,27551 -celery/app/utils.py,sha256=eZG28T4SMQNUOWpNVQHFozOzvVmYvU9ST9etbhCQXrg,13171 +celery/app/routes.py,sha256=DMdr5nmEnqJWXkLFIzWWxM2sz9ZYeA--8FeSaxKcBCg,4527 +celery/app/task.py,sha256=4bknTqa3yZ_0VFVb_aX9glA3YwCmpAP1KzCOV2x7p6A,43278 +celery/app/trace.py,sha256=cblXI8oJIU_CmJYvvES6BzcRsW9t6NguQuzDmOzdKWY,28434 +celery/app/utils.py,sha256=52e5u-PUJbwEHtNr_XdpJNnuHdC9c2q6FPkiBu_1SmY,13160 celery/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 celery/apps/__pycache__/__init__.cpython-312.pyc,, celery/apps/__pycache__/beat.cpython-312.pyc,, @@ -62,7 +62,7 @@ celery/apps/__pycache__/multi.cpython-312.pyc,, celery/apps/__pycache__/worker.cpython-312.pyc,, celery/apps/beat.py,sha256=BX7NfHO_BYy9OuVTcSnyrOTVS1eshFctHDpYGfgKT5A,5724 celery/apps/multi.py,sha256=1pujkm0isInjAR9IHno5JucuWcwZAJ1mtqJU1DVkJQo,16360 -celery/apps/worker.py,sha256=o2nJ53_rmgYtlzgW7dTL63InMqaOQjTAZwLT1YGzh0U,20297 +celery/apps/worker.py,sha256=B1_uXLtclcrQAVHupd9B8pXubk4TCOIytGbWIsEioeQ,13208 celery/backends/__init__.py,sha256=1kN92df1jDp3gC6mrGEZI2eE-kOEUIKdOOHRAdry2a0,23 celery/backends/__pycache__/__init__.cpython-312.pyc,, celery/backends/__pycache__/arangodb.cpython-312.pyc,, @@ -78,36 +78,34 @@ celery/backends/__pycache__/couchdb.cpython-312.pyc,, celery/backends/__pycache__/dynamodb.cpython-312.pyc,, celery/backends/__pycache__/elasticsearch.cpython-312.pyc,, celery/backends/__pycache__/filesystem.cpython-312.pyc,, -celery/backends/__pycache__/gcs.cpython-312.pyc,, celery/backends/__pycache__/mongodb.cpython-312.pyc,, celery/backends/__pycache__/redis.cpython-312.pyc,, celery/backends/__pycache__/rpc.cpython-312.pyc,, celery/backends/__pycache__/s3.cpython-312.pyc,, celery/backends/arangodb.py,sha256=aMwuBglVJxigWN8L9NWh-q2NjPQegw__xgRcTMLf5eU,5937 celery/backends/asynchronous.py,sha256=1_tCrURDVg0FvZhRzlRGYwTmsdWK14nBzvPulhwJeR4,10309 -celery/backends/azureblockblob.py,sha256=vMg80FGC1hRQhYYGHIjlFi_Qa8Fb3ktt0xP_vkH5LzQ,6071 -celery/backends/base.py,sha256=w2UPVsGasypjCd4rdGkOo9blIsoTZWrhuPuaWg_nfYQ,44038 +celery/backends/azureblockblob.py,sha256=7jbjTmChq_uJlvzg06dp9q9-sMHKuS0Z3LyjXjgycdk,5127 +celery/backends/base.py,sha256=A4rgCmGvCjlLqfJGuQydE4Dft9WGUfKTqa79FAIUAsk,43970 celery/backends/cache.py,sha256=_o9EBmBByNsbI_UF-PJ5W0u-qwcJ37Q5jaIrApPO4q8,4831 -celery/backends/cassandra.py,sha256=QkXkaYShcf34jBrXe_JJfzx1cj8uXoSRTOAc49cw3Jk,9014 +celery/backends/cassandra.py,sha256=xB5z3JtNqmnaQY8bjst-PR1dnNgZrX8lKwEQpYiRhv8,9006 celery/backends/consul.py,sha256=oAB_94ftS95mjycQ4YL4zIdA-tGmwFyq3B0OreyBPNQ,3816 celery/backends/cosmosdbsql.py,sha256=XdCVCjxO71XhsgiM9DueJngmKx_tE0erexHf37-JhqE,6777 celery/backends/couchbase.py,sha256=fyyihfJNW6hWgVlHKuTCHkzWlDjkzWQAWhgW3GJzAds,3393 celery/backends/couchdb.py,sha256=M_z0zgNFPwFw89paa5kIQ9x9o7VRPwuKCLZgoFhFDpA,2935 -celery/backends/database/__init__.py,sha256=NBdfiaYwWxpGlcP-baWnr18r3leH_b4OW_QsbJMYpSo,8133 +celery/backends/database/__init__.py,sha256=GMBZQy0B1igxHOXP-YoYKkr0FOuxAwesYi6MFz8wRdQ,7751 celery/backends/database/__pycache__/__init__.cpython-312.pyc,, celery/backends/database/__pycache__/models.cpython-312.pyc,, celery/backends/database/__pycache__/session.cpython-312.pyc,, -celery/backends/database/models.py,sha256=j9e_XbXgLfUcRofbhGkVjrVgYQg5UY08vDQ6jmWIk7M,3394 +celery/backends/database/models.py,sha256=_6WZMv53x8I1iBRCa4hY35LaBUeLIZJzDusjvS-8aAg,3351 celery/backends/database/session.py,sha256=3zu7XwYoE52aS6dsSmJanqlvS6ssjet7hSNUbliwnLo,3011 -celery/backends/dynamodb.py,sha256=DGMQ3LbwgZDIm7bp-8_B4QzgvBSR9KS1VNi6piSrLJM,19580 -celery/backends/elasticsearch.py,sha256=26c6z6X08p69cue6-WoQHJNY71Xmq6voaAx3GQ79Vgw,9582 -celery/backends/filesystem.py,sha256=dmxlaTUZP62r2QDCi2n6-7EaPBBSwJWhUPpd2IRmqf0,3777 -celery/backends/gcs.py,sha256=U_ayh1uIR8J_v5nGR9wEeq-80OesKjoeOW4YBrXpJiU,12411 -celery/backends/mongodb.py,sha256=iCeU6WusM7tDm0LHf_3nU7Xn_FQ7r4Xm0FGRzyIqFu0,11438 -celery/backends/redis.py,sha256=d5lTIivhaPqi2ZFX9WQx0YVR4MKx01mWcKNK5BqwBHI,26531 -celery/backends/rpc.py,sha256=3hFLwM_-uAXwZfzDRP5nGVWX4v-w9D0KvyWASdbcbBI,12077 +celery/backends/dynamodb.py,sha256=sEb4TOcrEFOvFU19zRSmXZ-taNDJgbb0_R-4KpNRgcg,17179 +celery/backends/elasticsearch.py,sha256=nseWGjMB49OkHn4LbZLjlo2GLSoHCZOFObklrFsWNW4,8319 +celery/backends/filesystem.py,sha256=Q-8RCPG7TaDVJEOnwMfS8Ggygc8BYcKuBljwzwOegec,3776 +celery/backends/mongodb.py,sha256=XIL1oYEao-YpbmE0CB_sGYP_FJnSP8_CZNouBicxcrg,11419 +celery/backends/redis.py,sha256=wnl45aMLf4SSmX2JDEiFIlnNaKY3I6PBjJeL7adEuCA,26389 +celery/backends/rpc.py,sha256=Pfzjpz7znOfmHRERuQfOlTW-entAsl803oc1-EWpnTY,12077 celery/backends/s3.py,sha256=MUL4-bEHCcTL53XXyb020zyLYTr44DDjOh6BXtkp9lQ,2752 -celery/beat.py,sha256=sIXY81GRrSMcwfgvWCxE4pxandh-XBhReCXvjKOk42o,24544 +celery/beat.py,sha256=j_ZEA73B7NWvlGVbXVcLeOq_tFk0JNT4HiAVdvH7HG4,24455 celery/bin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 celery/bin/__pycache__/__init__.cpython-312.pyc,, celery/bin/__pycache__/amqp.cpython-312.pyc,, @@ -128,11 +126,11 @@ celery/bin/__pycache__/shell.cpython-312.pyc,, celery/bin/__pycache__/upgrade.cpython-312.pyc,, celery/bin/__pycache__/worker.cpython-312.pyc,, celery/bin/amqp.py,sha256=LTO0FZzKs2Z0MBxkccaDG-dQEsmbaLLhKp-0gR4HdQA,10023 -celery/bin/base.py,sha256=yK_iZpyKbwZQ9ciLRzcrkasw9I-GRa_YB_2EVxK11To,9174 +celery/bin/base.py,sha256=mmF-aIFRXOBdjczGFePXORK2YdxLI-cpsnVrDcNSmAw,8525 celery/bin/beat.py,sha256=qijjERLGEHITaVSGkFgxTxtPYOwl0LUANkC2s2UmNAk,2592 celery/bin/call.py,sha256=_4co_yn2gM5uGP77FjeVqfa7w6VmrEDGSCLPSXYRp-w,2370 -celery/bin/celery.py,sha256=80j70fqa-1TcAYwMN4eysk7fevTqbDy2kx5GNApDxoU,7595 -celery/bin/control.py,sha256=grohiNzi7AQ9l1T9Eed36eU7TKwF2llAs0Cl8VnI8aU,8645 +celery/bin/celery.py,sha256=UW5KmKDphrt7SpyGLnZY16fc6_XI6BdSVdrxb_Vvi3U,7440 +celery/bin/control.py,sha256=nr_kFxalRvKqC2pgJmQVNmRxktnqfStlpRM51I9pXS4,7058 celery/bin/events.py,sha256=fDemvULNVhgG7WiGC-nRnX3yDy4eXTaq8he7T4mD6Jk,2794 celery/bin/graph.py,sha256=Ld2dKSxIdWHxFXrjsTXAUBj6jb02AVGyTPXDUZA_gvo,5796 celery/bin/list.py,sha256=2OKPiXn6sgum_02RH1d_TBoXcpNcNsooT98Ht9pWuaY,1058 @@ -145,7 +143,7 @@ celery/bin/shell.py,sha256=D4Oiw9lEyF-xHJ3fJ5_XckgALDrsDTYlsycT1p4156E,4839 celery/bin/upgrade.py,sha256=EBzSm8hb0n6DXMzG5sW5vC4j6WHYbfrN2Fx83s30i1M,3064 celery/bin/worker.py,sha256=cdYBrO2P3HoNzuPwXIJH4GAMu1KlLTEYF40EkVu0veo,12886 celery/bootsteps.py,sha256=49bMT6CB0LPOK6-i8dLp7Hpko_WaLJ9yWlCWF3Ai2XI,12277 -celery/canvas.py,sha256=2pCVzN6OaLSRQXfm6LmcwDHn2ecCrl6fdd7pkTcSFxk,96992 +celery/canvas.py,sha256=O3S3p0p8K8m4kcy47h4n-hM92Ye9kg870aQEPzJYfXQ,95808 celery/concurrency/__init__.py,sha256=CivIIzjLWHEJf9Ed0QFSTCOxNaWpunFDTzC2jzw3yE0,1457 celery/concurrency/__pycache__/__init__.cpython-312.pyc,, celery/concurrency/__pycache__/asynpool.cpython-312.pyc,, @@ -155,10 +153,10 @@ celery/concurrency/__pycache__/gevent.cpython-312.pyc,, celery/concurrency/__pycache__/prefork.cpython-312.pyc,, celery/concurrency/__pycache__/solo.cpython-312.pyc,, celery/concurrency/__pycache__/thread.cpython-312.pyc,, -celery/concurrency/asynpool.py,sha256=xACoE2WAc05gSxJpljzoxnu-xjR_wBrys3rmCvpT1pk,51822 +celery/concurrency/asynpool.py,sha256=3hlvqZ99tHXzqZZglwoBAOHNbHZ8zVBWd9soWYQrro8,51471 celery/concurrency/base.py,sha256=atOLC90FY7who__TonZbpd2awbOinkgWSx3m15Mg1WI,4706 celery/concurrency/eventlet.py,sha256=i4Xn3Kqg0cxbMyw7_aCTVCi7EOA5aLEiRdkb1xMTpvM,5126 -celery/concurrency/gevent.py,sha256=fiPNf6a380aJOmarkcYSG9FJsSH0DGZS8EjWfIuAhz8,4953 +celery/concurrency/gevent.py,sha256=oExJqOLAWSlV2JlzNnDL22GPlwEpg7ExPJBZMNP4CC8,3387 celery/concurrency/prefork.py,sha256=vdnfeiUtnxa2ZcPSBB-pI6Mwqb2jm8dl-fH_XHPEo6M,5850 celery/concurrency/solo.py,sha256=H9ZaV-RxC30M1YUCjQvLnbDQCTLafwGyC4g4nwqz3uM,754 celery/concurrency/thread.py,sha256=rMpruen--ePsdPoqz9mDwswu5GY3avji_eG-7AAY53I,1807 @@ -170,10 +168,6 @@ celery/contrib/__pycache__/pytest.cpython-312.pyc,, celery/contrib/__pycache__/rdb.cpython-312.pyc,, celery/contrib/__pycache__/sphinx.cpython-312.pyc,, celery/contrib/abortable.py,sha256=ffr47ovGoIUO2gMMSrJwWPP6MSyk3_S1XuS02KxRMu4,5003 -celery/contrib/django/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -celery/contrib/django/__pycache__/__init__.cpython-312.pyc,, -celery/contrib/django/__pycache__/task.cpython-312.pyc,, -celery/contrib/django/task.py,sha256=2-CeHXNq4VRMgUoRMsRLnMFJ-yj2C2WB8nfSNNw58-o,727 celery/contrib/migrate.py,sha256=EvvNWhrykV3lTkZHOghofwemZ-_sixKG97XUyQbS9Dc,14361 celery/contrib/pytest.py,sha256=ztbqIZ0MuWRLTA-RT6k5BKVvuuk2-HPoFD9-q3uHo-s,6754 celery/contrib/rdb.py,sha256=BKorafe3KkOj-tt-bEL39R74u2njv-_7rRHfRajr3Ss,5005 @@ -189,7 +183,7 @@ celery/contrib/testing/app.py,sha256=lvW-YY2H18B60mA5SQetO3CzTI7jKQRsZXGthR27hxE celery/contrib/testing/manager.py,sha256=WnvWLdVJQfSap5rVSKO8NV2gBzWsczmi5Fr3Hp-85-4,8605 celery/contrib/testing/mocks.py,sha256=mcWdsxpTvaWkG-QBGnETLcdevl-bzaq3eSOSsGo2y6w,4182 celery/contrib/testing/tasks.py,sha256=pJM3aabw7udcppz4QNeUg1-6nlnbklrT-hP5JXmL-gM,208 -celery/contrib/testing/worker.py,sha256=RUDXaEaRng6_WD-rydaGziolGEBZ1zhiUiHdCR9DmLA,7217 +celery/contrib/testing/worker.py,sha256=91V-7MfPw7FZC5pBLwvNgJ_ykA5h1QO0DRV1Bu_nI7Q,7051 celery/events/__init__.py,sha256=9d2cviCw5zIsZ3AvQJkx77HPTlxmVIahRR7Qa54nQnU,477 celery/events/__pycache__/__init__.cpython-312.pyc,, celery/events/__pycache__/cursesmon.cpython-312.pyc,, @@ -202,7 +196,7 @@ celery/events/__pycache__/state.cpython-312.pyc,, celery/events/cursesmon.py,sha256=GfQQSJwaMKtZawPsvvQ6qGv7f613hMhAJspDa1hz9OM,17961 celery/events/dispatcher.py,sha256=7b3-3d_6ukvRNajyfiHMX1YvoWNIzaB6zS3-zEUQhG4,8987 celery/events/dumper.py,sha256=7zOVmAVfG2HXW79Fuvpo_0C2cjztTzgIXnaiUc4NL8c,3116 -celery/events/event.py,sha256=JiIqTm_if7OixGHw_RMCJZM3XkIVmmOXa0pdEA2gulA,1750 +celery/events/event.py,sha256=nt1yRUzDrYp9YLbsIJD3eo_AoMhT5sQtZAX-vEkq4Q8,1736 celery/events/receiver.py,sha256=7dVvezYkBQOtyI-rH77-5QDJztPLB933VF7NgmezSuU,4998 celery/events/snapshot.py,sha256=OLQuxx1af29LKnYKDoTesnPfK_5dFx3zCZ7JSdg9t7A,3294 celery/events/state.py,sha256=DdYeAw7hGGFTMc4HRMb0MkizlkJryaysV3t8lXbxhD4,25648 @@ -210,35 +204,34 @@ celery/exceptions.py,sha256=FrlxQiodRtx0RrJfgQo5ZMYTJ8BShrJkteSH29TCUKM,9086 celery/fixups/__init__.py,sha256=7ctNaKHiOa2fVePcdKPU9J-_bQ0k1jFHaoZlCHXY0vU,14 celery/fixups/__pycache__/__init__.cpython-312.pyc,, celery/fixups/__pycache__/django.cpython-312.pyc,, -celery/fixups/django.py,sha256=hdjdpvdZ6v7sx52ri0oS7rIzxC7kMGIX9zOXPK1Lrd4,7427 +celery/fixups/django.py,sha256=Px_oC0wTednDePOV-B9ZokMJJbYAsKhgs0zSH5tKRXA,7161 celery/loaders/__init__.py,sha256=LnRTWk8pz2r7BUj2VUJiBstPjSBwCP0gUDRkbchGW24,490 celery/loaders/__pycache__/__init__.cpython-312.pyc,, celery/loaders/__pycache__/app.cpython-312.pyc,, celery/loaders/__pycache__/base.cpython-312.pyc,, celery/loaders/__pycache__/default.cpython-312.pyc,, celery/loaders/app.py,sha256=xqRpRDJkGmTW21N_7zx5F4Na-GCTbNs6Q6tGfInnZnU,199 -celery/loaders/base.py,sha256=bZ-SwMNLIwhPNxigNJTOukd21QoKNfM8sSRb2C_NWL8,9147 +celery/loaders/base.py,sha256=l2V-9ObaY-TQHSmmouLizOeqrTGtSq7Wvzl0CrPgVZs,8825 celery/loaders/default.py,sha256=TZq6zR4tg_20sVJAuSwSBLVRHRyfevHkHhUYrNRYkTU,1520 -celery/local.py,sha256=aTPsyEVONXA9g2Wt30j66HnlkFiIyud8RKusIQnZJ5I,16039 -celery/platforms.py,sha256=DDCGCp8yt6f_DrZPSiCjWbju2HJCsFWfk0ytSf-BDxA,25610 -celery/result.py,sha256=fBtnxntU8Qzsd8nk3ODIEyR3vtXDXO_SFCY8VimuIMI,35612 -celery/schedules.py,sha256=ATDKxf_yzojN5awmjpS1YkFk-wWCDCc60uBt7GBJO5s,33030 +celery/local.py,sha256=8iy7CIvQRZMw4958J0SjMHcVwW7AIbkaIpBztdS5wiQ,16087 +celery/platforms.py,sha256=CIpGvQoOTrtJluX3BThBvC0iZdj0vwXgCNiOuWVqar8,25290 +celery/result.py,sha256=r4mdMl2Bts3v-1ukZTKvYd1J1SzC6-7ug12SGi9_Gek,35529 +celery/schedules.py,sha256=g40h0m5_0JfM6Rc0CH7TjyK1MC3Cf6M2rDRmGkS8hxs,32003 celery/security/__init__.py,sha256=I1px-x5-19O-FcCQm1AHHfVB6Pp-bauwbZ-C1fxGJyc,2363 celery/security/__pycache__/__init__.cpython-312.pyc,, celery/security/__pycache__/certificate.cpython-312.pyc,, celery/security/__pycache__/key.cpython-312.pyc,, celery/security/__pycache__/serialization.cpython-312.pyc,, celery/security/__pycache__/utils.cpython-312.pyc,, -celery/security/certificate.py,sha256=lopB0DY2fn8uEWz780bqTXPtbEcJTL_OEcO_yeQZWRs,4030 +celery/security/certificate.py,sha256=Jm-XWVQpzJxB52n4V-zHKO3YsNrlkyFpXiYhzB3QJsk,4008 celery/security/key.py,sha256=NbocdV_aJjQMZs9DJZrStpTnkFZw_K8SICEMwalsPqI,1189 -celery/security/serialization.py,sha256=ZGK6MFpphQgue7Rl3XA0n14f91o-JvAXJBbJuTaANgc,3832 +celery/security/serialization.py,sha256=yyCQV8YzHwXr0Ht1KJ9-neUSAZJf2tuzKkpndKpvXqs,4248 celery/security/utils.py,sha256=VJuWxLZFKXQXzlBczuxo94wXWSULnXwbO_5ul_hwse0,845 celery/signals.py,sha256=z2T4UqrODczbaRFAyoNzO0th4lt_jMWzlxnrBh_MUCI,4384 celery/states.py,sha256=CYEkbmDJmMHf2RzTFtafPcu8EBG5wAYz8mt4NduYc7U,3324 celery/utils/__init__.py,sha256=lIJjBxvXCspC-ib-XasdEPlB0xAQc16P0eOPb0gWsL0,935 celery/utils/__pycache__/__init__.cpython-312.pyc,, celery/utils/__pycache__/abstract.cpython-312.pyc,, -celery/utils/__pycache__/annotations.cpython-312.pyc,, celery/utils/__pycache__/collections.cpython-312.pyc,, celery/utils/__pycache__/debug.cpython-312.pyc,, celery/utils/__pycache__/deprecated.cpython-312.pyc,, @@ -249,7 +242,6 @@ celery/utils/__pycache__/iso8601.cpython-312.pyc,, celery/utils/__pycache__/log.cpython-312.pyc,, celery/utils/__pycache__/nodenames.cpython-312.pyc,, celery/utils/__pycache__/objects.cpython-312.pyc,, -celery/utils/__pycache__/quorum_queues.cpython-312.pyc,, celery/utils/__pycache__/saferepr.cpython-312.pyc,, celery/utils/__pycache__/serialization.cpython-312.pyc,, celery/utils/__pycache__/sysinfo.cpython-312.pyc,, @@ -259,33 +251,31 @@ celery/utils/__pycache__/threads.cpython-312.pyc,, celery/utils/__pycache__/time.cpython-312.pyc,, celery/utils/__pycache__/timer2.cpython-312.pyc,, celery/utils/abstract.py,sha256=xN2Qr-TEp12P8AYO6WigxFr5p8kJPUUb0f5UX3FtHjI,2874 -celery/utils/annotations.py,sha256=04zURyjqjDIeLp6ui_I_HdC259Ww6UVAZLmAiUjR3vQ,2084 -celery/utils/collections.py,sha256=KsRWWGePZQelCUHMEvA_pVexh6HpZo1Y1JfCG-rM1f8,25432 +celery/utils/collections.py,sha256=IQH-QPk2en-C04TA_3zH-6bCPdC93eTscGGx-UT_bEw,25454 celery/utils/debug.py,sha256=9g5U0NlTvlP9OFwjxfyXgihfzD-Kk_fcy7QDjhkqapw,4709 celery/utils/deprecated.py,sha256=4asPe222TWJh8mcL53Ob6Y7XROPgqv23nCR-EUHJoBo,3620 celery/utils/dispatch/__init__.py,sha256=s0_ZpvFWXw1cecEue1vj-MpOPQUPE41g5s-YsjnX6mo,74 celery/utils/dispatch/__pycache__/__init__.cpython-312.pyc,, celery/utils/dispatch/__pycache__/signal.cpython-312.pyc,, -celery/utils/dispatch/signal.py,sha256=P1feenrOM5u9OtWV-MCIZTNgjglRJMBH2MgrxHuZ2Bg,13859 +celery/utils/dispatch/signal.py,sha256=LcmfBabnRAOR-wiADWQfBT-gN3Lzi29JpAcCvMLNNX4,13603 celery/utils/functional.py,sha256=TimJEByjq8NtocfSwfEUHoic6G5kCYim3Cl_V84Nnyk,12017 celery/utils/graph.py,sha256=oP25YXsQfND-VwF-MGolOGX0GbReIzVc9SJfIP1rUIc,9041 -celery/utils/imports.py,sha256=K02ZiqLZwGVCYEMnjdIilkuq7n4EnqzFArN6yqEBbC0,5126 -celery/utils/iso8601.py,sha256=0T7k3yiD4AfnUs9GsE2jMk-mDIn5d5011GS0kleUrVo,2916 -celery/utils/log.py,sha256=QCdpoulAOKEZ9TeGRFdrJhbOzLYyhLYcoZd3LUYwUuI,8756 -celery/utils/nodenames.py,sha256=t1qv6YYEkFfGg4j3dvz1IyzvTzV66NZNygSWVhOokiY,3163 +celery/utils/imports.py,sha256=SlTvyvy_91RU-XMgDogLEZiPQytdblura6TLfI34CkA,5032 +celery/utils/iso8601.py,sha256=BIjBHQDYhRWgUPO2PJuQIZr6v1M7bOek8Q7VMbYcQvE,2871 +celery/utils/log.py,sha256=vCbO8Jk0oPdiXCSHTM4plJ83xdfF1qJgg-JUyqbUXXE,8757 +celery/utils/nodenames.py,sha256=URBwdtWR_CF8Ldf6tjxE4y7rl0KxFFD36HjjZcrwQ5Y,2858 celery/utils/objects.py,sha256=NZ_Nx0ehrJut91sruAI2kVGyjhaDQR_ntTmF9Om_SI8,4215 -celery/utils/quorum_queues.py,sha256=HVc01iGI8-g4Esuc6h5hI__JelZLX9ZEKmLsmWsMMEs,705 -celery/utils/saferepr.py,sha256=_5DeQi5UuvPLVEJPpPS-EwtHoISgHYxeKO0NwQ4GGL0,9022 +celery/utils/saferepr.py,sha256=3S99diwXefbcJS5UwRHzn7ZoPuiY9LlZg9ph_Sb872Y,8945 celery/utils/serialization.py,sha256=5e1Blvm8GtkNn3LoDObRN9THJRRVVgmp4OFt0eh1AJM,8209 celery/utils/static/__init__.py,sha256=KwDq8hA-Xd721HldwJJ34ExwrIEyngEoSIzeAnqc5CA,299 celery/utils/static/__pycache__/__init__.cpython-312.pyc,, celery/utils/static/celery_128.png,sha256=8NmZxCALQPp3KVOsOPfJVaNLvwwLYqiS5ViOc6x0SGU,2556 -celery/utils/sysinfo.py,sha256=TbRElxGr1HWDhZB3gvFVJXb2NKFX48RDLFDRqFx26VI,1264 -celery/utils/term.py,sha256=UejfpiJxJd8Lu-wgcsuo_u_01xhmvw6d8sSkXMdk-Ek,5209 +celery/utils/sysinfo.py,sha256=LYdGzxbF357PrYNw31_9f8CEvrldtb0VAWIFclBtCnA,1085 +celery/utils/term.py,sha256=xUQR7vXr_f1-X-TG5o4eAnPGmrh5RM6ffXsdKEaMo6Y,4534 celery/utils/text.py,sha256=e9d5mDgGmyG6xc7PKfmFVnGoGj9DAocJ13uTSZ4Xyqw,5844 celery/utils/threads.py,sha256=_SVLpXSiQQNd2INSaMNC2rGFZHjNDs-lV-NnlWLLz1k,9552 -celery/utils/time.py,sha256=phv7idn7QgGUJedtlBzuRqdKj_b5bruBrv4cfUcmioI,15770 -celery/utils/timer2.py,sha256=hwSESQR33EzeqWtZbNdpqj7mTbSKKIi5ZvUrv_3Lov4,5541 +celery/utils/time.py,sha256=vE2m8q54MQ39-1MPUK5sNyWy0AyN4pyNOR6jhMleXEE,14987 +celery/utils/timer2.py,sha256=xv_7x_bDtILx4regqEm1ppQNenozSwOXi-21qQ4EJG4,4813 celery/worker/__init__.py,sha256=EKUgWOMq_1DfWb-OaAWv4rNLd7gi91aidefMjHMoxzI,95 celery/worker/__pycache__/__init__.cpython-312.pyc,, celery/worker/__pycache__/autoscale.cpython-312.pyc,, @@ -306,7 +296,6 @@ celery/worker/consumer/__pycache__/agent.cpython-312.pyc,, celery/worker/consumer/__pycache__/connection.cpython-312.pyc,, celery/worker/consumer/__pycache__/consumer.cpython-312.pyc,, celery/worker/consumer/__pycache__/control.cpython-312.pyc,, -celery/worker/consumer/__pycache__/delayed_delivery.cpython-312.pyc,, celery/worker/consumer/__pycache__/events.cpython-312.pyc,, celery/worker/consumer/__pycache__/gossip.cpython-312.pyc,, celery/worker/consumer/__pycache__/heart.cpython-312.pyc,, @@ -314,19 +303,18 @@ celery/worker/consumer/__pycache__/mingle.cpython-312.pyc,, celery/worker/consumer/__pycache__/tasks.cpython-312.pyc,, celery/worker/consumer/agent.py,sha256=bThS8ZVeuybAyqNe8jmdN6RgaJhDq0llewosGrO85-c,525 celery/worker/consumer/connection.py,sha256=a7g23wmzevkEiMjjjD8Kt4scihf_NgkpR4gcuksys9M,1026 -celery/worker/consumer/consumer.py,sha256=7lFbFwgbSFGM1Bw-Nj-5NG0ZcC3cIUJRw9ocqyKt-XY,30164 +celery/worker/consumer/consumer.py,sha256=j88iy-6bT5aZNv2NZDjUoHegPHP3cKT4HXZLxI82H4c,28866 celery/worker/consumer/control.py,sha256=0NiJ9P-AHdv134mXkgRgU9hfhdJ_P7HKb7z9A4Xqa2Q,946 -celery/worker/consumer/delayed_delivery.py,sha256=OO3OOq6jkaR2W5o_hdRrWqJ82y5kILAt-JdeadmtnjM,8666 celery/worker/consumer/events.py,sha256=FgDwbV0Jbj9aWPbV3KAUtsXZq4JvZEfrWfnrYgvkMgo,2054 -celery/worker/consumer/gossip.py,sha256=LI8FsUFbNaUQyn600CHcksNbS_jFWzFhgU4fYEt7HhI,6863 +celery/worker/consumer/gossip.py,sha256=g-WJL2rr_q9aM_SaTUrQlPj2ONf8vHs2LvmyRQtDMEU,6833 celery/worker/consumer/heart.py,sha256=IenkkliKk6sAk2a1NfYyh-doNDlmFWGRiaJd5e8ALpI,930 -celery/worker/consumer/mingle.py,sha256=TtQDjAcrJLTDOT14v_QPsV8x_LNo7ZFzkL06LaIazd4,2531 -celery/worker/consumer/tasks.py,sha256=H0NDWrE_VP6zGGBXC02uS3Sf0Lx7Rt0NCSLDRRYC5oY,2703 -celery/worker/control.py,sha256=bcVf7t8RjMpHSBc-LlAw3eu-Dn1fdq4B24OVCW5IY5E,19921 +celery/worker/consumer/mingle.py,sha256=UG8K6sXF1KUJXNiJ4eMHUMIg4_7K1tDWqYRNfd9Nz9k,2519 +celery/worker/consumer/tasks.py,sha256=PwNqAZHJGQakiymFa4q6wbpmDCp3UtSN_7fd5jgATRk,1960 +celery/worker/control.py,sha256=30azpxShUHNuKevEsJG47zQ11ldrEaaq5yatUvQT23U,19884 celery/worker/heartbeat.py,sha256=sTV_d0RB9M6zsXIvLZ7VU6teUfX3IK1ITynDpxMS298,2107 -celery/worker/loops.py,sha256=qGlz-rWkmfUQCZ2TYM3Gpc_f2ihCUAuC1ENZeWDutwM,4599 +celery/worker/loops.py,sha256=W9ayCwYXOA0aCxPPotXc49uA_n7CnMsDRPJVUNb8bZM,4433 celery/worker/pidbox.py,sha256=LcQsKDkd8Z93nQxk0SOLulB8GLEfIjPkN-J0pGk7dfM,3630 -celery/worker/request.py,sha256=IHVVP7zJMEPNvFqLKLXR6wJebS3aLmXjzk9KdR9Esaw,27333 +celery/worker/request.py,sha256=MF7RsVmm4JrybOhnQZguxDcIpEuefdOTMxADDoJvg70,27229 celery/worker/state.py,sha256=_nQgvGeoahKz_TJCx7Tr20kKrNtDgaBA78eA17hA-8s,8583 celery/worker/strategy.py,sha256=MSznfZXkqD6WZRSaanIRZvg-f41DSAc2WgTVUIljh0c,7324 -celery/worker/worker.py,sha256=ivruJ2WK5JyvF7rLYuuMHfVklifOrrQl71lx6g4WUmM,15755 +celery/worker/worker.py,sha256=rNopjWdAzb9Ksszjw9WozvCA5nkDQnbp0n11MeLAitc,14460 diff --git a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/WHEEL b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/WHEEL similarity index 65% rename from venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/WHEEL index da097d6..1f37c02 100644 --- a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 -Generator: setuptools (80.4.0) +Generator: bdist_wheel (0.40.0) Root-Is-Purelib: true Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/entry_points.txt b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/entry_points.txt similarity index 100% rename from venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/entry_points.txt rename to venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/entry_points.txt diff --git a/venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/top_level.txt similarity index 100% rename from venv/lib/python3.12/site-packages/celery-5.5.3.dist-info/top_level.txt rename to venv/lib/python3.12/site-packages/celery-5.3.4.dist-info/top_level.txt diff --git a/venv/lib/python3.12/site-packages/celery/__init__.py b/venv/lib/python3.12/site-packages/celery/__init__.py index d291dec..e11a18c 100644 --- a/venv/lib/python3.12/site-packages/celery/__init__.py +++ b/venv/lib/python3.12/site-packages/celery/__init__.py @@ -15,9 +15,9 @@ from collections import namedtuple # Lazy loading from . import local -SERIES = 'immunity' +SERIES = 'emerald-rush' -__version__ = '5.5.3' +__version__ = '5.3.4' __author__ = 'Ask Solem' __contact__ = 'auvipy@gmail.com' __homepage__ = 'https://docs.celeryq.dev/' diff --git a/venv/lib/python3.12/site-packages/celery/app/amqp.py b/venv/lib/python3.12/site-packages/celery/app/amqp.py index 8dcec36..9e52af4 100644 --- a/venv/lib/python3.12/site-packages/celery/app/amqp.py +++ b/venv/lib/python3.12/site-packages/celery/app/amqp.py @@ -249,13 +249,9 @@ class AMQP: if max_priority is None: max_priority = conf.task_queue_max_priority if not queues and conf.task_default_queue: - queue_arguments = None - if conf.task_default_queue_type == 'quorum': - queue_arguments = {'x-queue-type': 'quorum'} queues = (Queue(conf.task_default_queue, exchange=self.default_exchange, - routing_key=default_routing_key, - queue_arguments=queue_arguments),) + routing_key=default_routing_key),) autoexchange = (self.autoexchange if autoexchange is None else autoexchange) return self.queues_cls( @@ -289,7 +285,7 @@ class AMQP: create_sent_event=False, root_id=None, parent_id=None, shadow=None, chain=None, now=None, timezone=None, origin=None, ignore_result=False, argsrepr=None, kwargsrepr=None, stamped_headers=None, - replaced_task_nesting=0, **options): + **options): args = args or () kwargs = kwargs or {} @@ -343,7 +339,6 @@ class AMQP: 'kwargsrepr': kwargsrepr, 'origin': origin or anon_nodename(), 'ignore_result': ignore_result, - 'replaced_task_nesting': replaced_task_nesting, 'stamped_headers': stamped_headers, 'stamps': stamps, } @@ -467,8 +462,7 @@ class AMQP: retry=None, retry_policy=None, serializer=None, delivery_mode=None, compression=None, declare=None, - headers=None, exchange_type=None, - timeout=None, confirm_timeout=None, **kwargs): + headers=None, exchange_type=None, **kwargs): retry = default_retry if retry is None else retry headers2, properties, body, sent_event = message if headers: @@ -529,7 +523,6 @@ class AMQP: retry=retry, retry_policy=_rp, delivery_mode=delivery_mode, declare=declare, headers=headers2, - timeout=timeout, confirm_timeout=confirm_timeout, **properties ) if after_receivers: diff --git a/venv/lib/python3.12/site-packages/celery/app/backends.py b/venv/lib/python3.12/site-packages/celery/app/backends.py index a274b85..5481528 100644 --- a/venv/lib/python3.12/site-packages/celery/app/backends.py +++ b/venv/lib/python3.12/site-packages/celery/app/backends.py @@ -34,7 +34,6 @@ BACKEND_ALIASES = { 'azureblockblob': 'celery.backends.azureblockblob:AzureBlockBlobBackend', 'arangodb': 'celery.backends.arangodb:ArangoDbBackend', 's3': 'celery.backends.s3:S3Backend', - 'gs': 'celery.backends.gcs:GCSBackend', } diff --git a/venv/lib/python3.12/site-packages/celery/app/base.py b/venv/lib/python3.12/site-packages/celery/app/base.py index a4d1c4c..cfd71c6 100644 --- a/venv/lib/python3.12/site-packages/celery/app/base.py +++ b/venv/lib/python3.12/site-packages/celery/app/base.py @@ -1,23 +1,17 @@ """Actual App instance implementation.""" -import functools -import importlib import inspect import os import sys import threading -import typing import warnings from collections import UserDict, defaultdict, deque from datetime import datetime -from datetime import timezone as datetime_timezone from operator import attrgetter from click.exceptions import Exit -from dateutil.parser import isoparse -from kombu import Exchange, pools +from kombu import pools from kombu.clocks import LamportClock from kombu.common import oid_from -from kombu.transport.native_delayed_delivery import calculate_routing_key from kombu.utils.compat import register_after_fork from kombu.utils.objects import cached_property from kombu.utils.uuid import uuid @@ -38,8 +32,6 @@ from celery.utils.log import get_logger from celery.utils.objects import FallbackContext, mro_lookup from celery.utils.time import maybe_make_aware, timezone, to_utc -from ..utils.annotations import annotation_is_class, annotation_issubclass, get_optional_arg -from ..utils.quorum_queues import detect_quorum_queues # Load all builtin tasks from . import backends, builtins # noqa from .annotations import prepare as prepare_annotations @@ -49,10 +41,6 @@ from .registry import TaskRegistry from .utils import (AppPickler, Settings, _new_key_to_old, _old_key_to_new, _unpickle_app, _unpickle_app_v2, appstr, bugreport, detect_settings) -if typing.TYPE_CHECKING: # pragma: no cover # codecov does not capture this - # flake8 marks the BaseModel import as unused, because the actual typehint is quoted. - from pydantic import BaseModel # noqa: F401 - __all__ = ('Celery',) logger = get_logger(__name__) @@ -102,70 +90,6 @@ def _after_fork_cleanup_app(app): logger.info('after forker raised exception: %r', exc, exc_info=1) -def pydantic_wrapper( - app: "Celery", - task_fun: typing.Callable[..., typing.Any], - task_name: str, - strict: bool = True, - context: typing.Optional[typing.Dict[str, typing.Any]] = None, - dump_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None -): - """Wrapper to validate arguments and serialize return values using Pydantic.""" - try: - pydantic = importlib.import_module('pydantic') - except ModuleNotFoundError as ex: - raise ImproperlyConfigured('You need to install pydantic to use pydantic model serialization.') from ex - - BaseModel: typing.Type['BaseModel'] = pydantic.BaseModel # noqa: F811 # only defined when type checking - - if context is None: - context = {} - if dump_kwargs is None: - dump_kwargs = {} - dump_kwargs.setdefault('mode', 'json') - - task_signature = inspect.signature(task_fun) - - @functools.wraps(task_fun) - def wrapper(*task_args, **task_kwargs): - # Validate task parameters if type hinted as BaseModel - bound_args = task_signature.bind(*task_args, **task_kwargs) - for arg_name, arg_value in bound_args.arguments.items(): - arg_annotation = task_signature.parameters[arg_name].annotation - - optional_arg = get_optional_arg(arg_annotation) - if optional_arg is not None and arg_value is not None: - arg_annotation = optional_arg - - if annotation_issubclass(arg_annotation, BaseModel): - bound_args.arguments[arg_name] = arg_annotation.model_validate( - arg_value, - strict=strict, - context={**context, 'celery_app': app, 'celery_task_name': task_name}, - ) - - # Call the task with (potentially) converted arguments - returned_value = task_fun(*bound_args.args, **bound_args.kwargs) - - # Dump Pydantic model if the returned value is an instance of pydantic.BaseModel *and* its - # class matches the typehint - return_annotation = task_signature.return_annotation - optional_return_annotation = get_optional_arg(return_annotation) - if optional_return_annotation is not None: - return_annotation = optional_return_annotation - - if ( - annotation_is_class(return_annotation) - and isinstance(returned_value, BaseModel) - and isinstance(returned_value, return_annotation) - ): - return returned_value.model_dump(**dump_kwargs) - - return returned_value - - return wrapper - - class PendingConfiguration(UserDict, AttributeDictMixin): # `app.conf` will be of this type before being explicitly configured, # meaning the app can keep any configuration set directly @@ -314,12 +238,6 @@ class Celery: self.loader_cls = loader or self._get_default_loader() self.log_cls = log or self.log_cls self.control_cls = control or self.control_cls - self._custom_task_cls_used = ( - # Custom task class provided as argument - bool(task_cls) - # subclass of Celery with a task_cls attribute - or self.__class__ is not Celery and hasattr(self.__class__, 'task_cls') - ) self.task_cls = task_cls or self.task_cls self.set_as_current = set_as_current self.registry_cls = symbol_by_name(self.registry_cls) @@ -515,7 +433,6 @@ class Celery: if shared: def cons(app): return app._task_from_fun(fun, **opts) - cons.__name__ = fun.__name__ connect_on_app_finalize(cons) if not lazy or self.finalized: @@ -544,27 +461,13 @@ class Celery: def type_checker(self, fun, bound=False): return staticmethod(head_from_fun(fun, bound=bound)) - def _task_from_fun( - self, - fun, - name=None, - base=None, - bind=False, - pydantic: bool = False, - pydantic_strict: bool = False, - pydantic_context: typing.Optional[typing.Dict[str, typing.Any]] = None, - pydantic_dump_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None, - **options, - ): + def _task_from_fun(self, fun, name=None, base=None, bind=False, **options): if not self.finalized and not self.autofinalize: raise RuntimeError('Contract breach: app not finalized') name = name or self.gen_task_name(fun.__name__, fun.__module__) base = base or self.Task if name not in self._tasks: - if pydantic is True: - fun = pydantic_wrapper(self, fun, name, pydantic_strict, pydantic_context, pydantic_dump_kwargs) - run = fun if bind else staticmethod(fun) task = type(fun.__name__, (base,), dict({ 'app': self, @@ -808,7 +711,7 @@ class Celery: retries=0, chord=None, reply_to=None, time_limit=None, soft_time_limit=None, root_id=None, parent_id=None, route_name=None, - shadow=None, chain=None, task_type=None, replaced_task_nesting=0, **options): + shadow=None, chain=None, task_type=None, **options): """Send task by name. Supports the same arguments as :meth:`@-Task.apply_async`. @@ -831,48 +734,13 @@ class Celery: ignore_result = options.pop('ignore_result', False) options = router.route( options, route_name or name, args, kwargs, task_type) - - driver_type = self.producer_pool.connections.connection.transport.driver_type - - if (eta or countdown) and detect_quorum_queues(self, driver_type)[0]: - - queue = options.get("queue") - exchange_type = queue.exchange.type if queue else options["exchange_type"] - routing_key = queue.routing_key if queue else options["routing_key"] - exchange_name = queue.exchange.name if queue else options["exchange"] - - if exchange_type != 'direct': - if eta: - if isinstance(eta, str): - eta = isoparse(eta) - countdown = (maybe_make_aware(eta) - self.now()).total_seconds() - - if countdown: - if countdown > 0: - routing_key = calculate_routing_key(int(countdown), routing_key) - exchange = Exchange( - 'celery_delayed_27', - type='topic', - ) - options.pop("queue", None) - options['routing_key'] = routing_key - options['exchange'] = exchange - - else: - logger.warning( - 'Direct exchanges are not supported with native delayed delivery.\n' - f'{exchange_name} is a direct exchange but should be a topic exchange or ' - 'a fanout exchange in order for native delayed delivery to work properly.\n' - 'If quorum queues are used, this task may block the worker process until the ETA arrives.' - ) - if expires is not None: if isinstance(expires, datetime): expires_s = (maybe_make_aware( expires) - self.now()).total_seconds() elif isinstance(expires, str): expires_s = (maybe_make_aware( - isoparse(expires)) - self.now()).total_seconds() + datetime.fromisoformat(expires)) - self.now()).total_seconds() else: expires_s = expires @@ -913,7 +781,7 @@ class Celery: self.conf.task_send_sent_event, root_id, parent_id, shadow, chain, ignore_result=ignore_result, - replaced_task_nesting=replaced_task_nesting, **options + **options ) stamped_headers = options.pop('stamped_headers', []) @@ -1026,7 +894,6 @@ class Celery: 'broker_connection_timeout', connect_timeout ), ) - broker_connection = connection def _acquire_connection(self, pool=True): @@ -1046,7 +913,6 @@ class Celery: will be acquired from the connection pool. """ return FallbackContext(connection, self._acquire_connection, pool=pool) - default_connection = connection_or_acquire # XXX compat def producer_or_acquire(self, producer=None): @@ -1062,7 +928,6 @@ class Celery: return FallbackContext( producer, self.producer_pool.acquire, block=True, ) - default_producer = producer_or_acquire # XXX compat def prepare_config(self, c): @@ -1071,7 +936,7 @@ class Celery: def now(self): """Return the current time and date as a datetime.""" - now_in_utc = to_utc(datetime.now(datetime_timezone.utc)) + now_in_utc = to_utc(datetime.utcnow()) return now_in_utc.astimezone(self.timezone) def select_queues(self, queues=None): @@ -1109,14 +974,7 @@ class Celery: This is used by PendingConfiguration: as soon as you access a key the configuration is read. """ - try: - conf = self._conf = self._load_config() - except AttributeError as err: - # AttributeError is not propagated, it is "handled" by - # PendingConfiguration parent class. This causes - # confusing RecursionError. - raise ModuleNotFoundError(*err.args) from err - + conf = self._conf = self._load_config() return conf def _load_config(self): diff --git a/venv/lib/python3.12/site-packages/celery/app/control.py b/venv/lib/python3.12/site-packages/celery/app/control.py index 603d930..52763e8 100644 --- a/venv/lib/python3.12/site-packages/celery/app/control.py +++ b/venv/lib/python3.12/site-packages/celery/app/control.py @@ -360,7 +360,7 @@ class Inspect: * ``routing_key`` - Routing key used when task was published * ``priority`` - Priority used when task was published * ``redelivered`` - True if the task was redelivered - * ``worker_pid`` - PID of worker processing the task + * ``worker_pid`` - PID of worker processin the task """ # signature used be unary: query_task(ids=[id1, id2]) @@ -527,8 +527,7 @@ class Control: if result: for host in result: for response in host.values(): - if isinstance(response['ok'], set): - task_ids.update(response['ok']) + task_ids.update(response['ok']) if task_ids: return self.revoke(list(task_ids), destination=destination, terminate=terminate, signal=signal, **kwargs) diff --git a/venv/lib/python3.12/site-packages/celery/app/defaults.py b/venv/lib/python3.12/site-packages/celery/app/defaults.py index f8e2511..a9f6868 100644 --- a/venv/lib/python3.12/site-packages/celery/app/defaults.py +++ b/venv/lib/python3.12/site-packages/celery/app/defaults.py @@ -95,7 +95,6 @@ NAMESPACES = Namespace( heartbeat=Option(120, type='int'), heartbeat_checkrate=Option(3.0, type='int'), login_method=Option(None, type='string'), - native_delayed_delivery_queue_type=Option(default='quorum', type='string'), pool_limit=Option(10, type='int'), use_ssl=Option(False, type='bool'), @@ -141,12 +140,6 @@ NAMESPACES = Namespace( connection_timeout=Option(20, type='int'), read_timeout=Option(120, type='int'), ), - gcs=Namespace( - bucket=Option(type='string'), - project=Option(type='string'), - base_path=Option('', type='string'), - ttl=Option(0, type='float'), - ), control=Namespace( queue_ttl=Option(300.0, type='float'), queue_expires=Option(10.0, type='float'), @@ -250,7 +243,6 @@ NAMESPACES = Namespace( ), table_schemas=Option(type='dict'), table_names=Option(type='dict', old={'celery_result_db_tablenames'}), - create_tables_at_setup=Option(True, type='bool'), ), task=Namespace( __old__=OLD_NS, @@ -263,7 +255,6 @@ NAMESPACES = Namespace( inherit_parent_priority=Option(False, type='bool'), default_delivery_mode=Option(2, type='string'), default_queue=Option('celery'), - default_queue_type=Option('classic', type='string'), default_exchange=Option(None, type='string'), # taken from queue default_exchange_type=Option('direct'), default_routing_key=Option(None, type='string'), # taken from queue @@ -311,8 +302,6 @@ NAMESPACES = Namespace( cancel_long_running_tasks_on_connection_loss=Option( False, type='bool' ), - soft_shutdown_timeout=Option(0.0, type='float'), - enable_soft_shutdown_on_idle=Option(False, type='bool'), concurrency=Option(None, type='int'), consumer=Option('celery.worker.consumer:Consumer', type='string'), direct=Option(False, type='bool', old={'celery_worker_direct'}), @@ -336,7 +325,6 @@ NAMESPACES = Namespace( pool_restarts=Option(False, type='bool'), proc_alive_timeout=Option(4.0, type='float'), prefetch_multiplier=Option(4, type='int'), - enable_prefetch_count_reduction=Option(True, type='bool'), redirect_stdouts=Option( True, type='bool', old={'celery_redirect_stdouts'}, ), @@ -350,7 +338,6 @@ NAMESPACES = Namespace( task_log_format=Option(DEFAULT_TASK_LOG_FMT), timer=Option(type='string'), timer_precision=Option(1.0, type='float'), - detect_quorum_queues=Option(True, type='bool'), ), ) diff --git a/venv/lib/python3.12/site-packages/celery/app/log.py b/venv/lib/python3.12/site-packages/celery/app/log.py index a4db105..4c807f4 100644 --- a/venv/lib/python3.12/site-packages/celery/app/log.py +++ b/venv/lib/python3.12/site-packages/celery/app/log.py @@ -18,7 +18,6 @@ from celery import signals from celery._state import get_current_task from celery.exceptions import CDeprecationWarning, CPendingDeprecationWarning from celery.local import class_property -from celery.platforms import isatty from celery.utils.log import (ColorFormatter, LoggingProxy, get_logger, get_multiprocessing_logger, mlevel, reset_multiprocessing_logger) from celery.utils.nodenames import node_format @@ -204,7 +203,7 @@ class Logging: if colorize or colorize is None: # Only use color if there's no active log file # and stderr is an actual terminal. - return logfile is None and isatty(sys.stderr) + return logfile is None and sys.stderr.isatty() return colorize def colored(self, logfile=None, enabled=None): diff --git a/venv/lib/python3.12/site-packages/celery/app/routes.py b/venv/lib/python3.12/site-packages/celery/app/routes.py index bed2c07..a56ce59 100644 --- a/venv/lib/python3.12/site-packages/celery/app/routes.py +++ b/venv/lib/python3.12/site-packages/celery/app/routes.py @@ -20,7 +20,7 @@ except AttributeError: # pragma: no cover # for support Python 3.7 Pattern = re.Pattern -__all__ = ('MapRoute', 'Router', 'expand_router_string', 'prepare') +__all__ = ('MapRoute', 'Router', 'prepare') class MapRoute: diff --git a/venv/lib/python3.12/site-packages/celery/app/task.py b/venv/lib/python3.12/site-packages/celery/app/task.py index 90ba855..7998d60 100644 --- a/venv/lib/python3.12/site-packages/celery/app/task.py +++ b/venv/lib/python3.12/site-packages/celery/app/task.py @@ -104,7 +104,7 @@ class Context: def _get_custom_headers(self, *args, **kwargs): headers = {} headers.update(*args, **kwargs) - celery_keys = {*Context.__dict__.keys(), 'lang', 'task', 'argsrepr', 'kwargsrepr', 'compression'} + celery_keys = {*Context.__dict__.keys(), 'lang', 'task', 'argsrepr', 'kwargsrepr'} for key in celery_keys: headers.pop(key, None) if not headers: @@ -466,7 +466,7 @@ class Task: shadow (str): Override task name used in logs/monitoring. Default is retrieved from :meth:`shadow_name`. - connection (kombu.Connection): Reuse existing broker connection + connection (kombu.Connection): Re-use existing broker connection instead of acquiring one from the connection pool. retry (bool): If enabled sending of the task message will be @@ -535,8 +535,6 @@ class Task: publisher (kombu.Producer): Deprecated alias to ``producer``. headers (Dict): Message headers to be included in the message. - The headers can be used as an overlay for custom labeling - using the :ref:`canvas-stamping` feature. Returns: celery.result.AsyncResult: Promise of future evaluation. @@ -545,8 +543,6 @@ class Task: TypeError: If not enough arguments are passed, or too many arguments are passed. Note that signature checks may be disabled by specifying ``@task(typing=False)``. - ValueError: If soft_time_limit and time_limit both are set - but soft_time_limit is greater than time_limit kombu.exceptions.OperationalError: If a connection to the transport cannot be made, or if the connection is lost. @@ -554,9 +550,6 @@ class Task: Also supports all keyword arguments supported by :meth:`kombu.Producer.publish`. """ - if self.soft_time_limit and self.time_limit and self.soft_time_limit > self.time_limit: - raise ValueError('soft_time_limit must be less than or equal to time_limit') - if self.typing: try: check_arguments = self.__header__ @@ -795,7 +788,6 @@ class Task: request = { 'id': task_id, - 'task': self.name, 'retries': retries, 'is_eager': True, 'logfile': logfile, @@ -832,7 +824,7 @@ class Task: if isinstance(retval, Retry) and retval.sig is not None: return retval.sig.apply(retries=retries + 1) state = states.SUCCESS if ret.info is None else ret.info.state - return EagerResult(task_id, retval, state, traceback=tb, name=self.name) + return EagerResult(task_id, retval, state, traceback=tb) def AsyncResult(self, task_id, **kwargs): """Get AsyncResult instance for the specified task. @@ -962,20 +954,11 @@ class Task: root_id=self.request.root_id, replaced_task_nesting=replaced_task_nesting ) - - # If the replaced task is a chain, we want to set all of the chain tasks - # with the same replaced_task_nesting value to mark their replacement nesting level - if isinstance(sig, _chain): - for chain_task in maybe_list(sig.tasks) or []: - chain_task.set(replaced_task_nesting=replaced_task_nesting) - # If the task being replaced is part of a chain, we need to re-create # it with the replacement signature - these subsequent tasks will # retain their original task IDs as well for t in reversed(self.request.chain or []): - chain_task = signature(t, app=self.app) - chain_task.set(replaced_task_nesting=replaced_task_nesting) - sig |= chain_task + sig |= signature(t, app=self.app) return self.on_replace(sig) def add_to_chord(self, sig, lazy=False): @@ -1116,7 +1099,7 @@ class Task: return result def push_request(self, *args, **kwargs): - self.request_stack.push(Context(*args, **{**self.request.__dict__, **kwargs})) + self.request_stack.push(Context(*args, **kwargs)) def pop_request(self): self.request_stack.pop() diff --git a/venv/lib/python3.12/site-packages/celery/app/trace.py b/venv/lib/python3.12/site-packages/celery/app/trace.py index 2e8cf8a..3933d01 100644 --- a/venv/lib/python3.12/site-packages/celery/app/trace.py +++ b/venv/lib/python3.12/site-packages/celery/app/trace.py @@ -8,6 +8,7 @@ import os import sys import time from collections import namedtuple +from typing import Any, Callable, Dict, FrozenSet, Optional, Sequence, Tuple, Type, Union from warnings import warn from billiard.einfo import ExceptionInfo, ExceptionWithTraceback @@ -16,6 +17,8 @@ from kombu.serialization import loads as loads_message from kombu.serialization import prepare_accept_content from kombu.utils.encoding import safe_repr, safe_str +import celery +import celery.loaders.app from celery import current_app, group, signals, states from celery._state import _task_stack from celery.app.task import Context @@ -291,10 +294,20 @@ def traceback_clear(exc=None): tb = tb.tb_next -def build_tracer(name, task, loader=None, hostname=None, store_errors=True, - Info=TraceInfo, eager=False, propagate=False, app=None, - monotonic=time.monotonic, trace_ok_t=trace_ok_t, - IGNORE_STATES=IGNORE_STATES): +def build_tracer( + name: str, + task: Union[celery.Task, celery.local.PromiseProxy], + loader: Optional[celery.loaders.app.AppLoader] = None, + hostname: Optional[str] = None, + store_errors: bool = True, + Info: Type[TraceInfo] = TraceInfo, + eager: bool = False, + propagate: bool = False, + app: Optional[celery.Celery] = None, + monotonic: Callable[[], int] = time.monotonic, + trace_ok_t: Type[trace_ok_t] = trace_ok_t, + IGNORE_STATES: FrozenSet[str] = IGNORE_STATES) -> \ + Callable[[str, Tuple[Any, ...], Dict[str, Any], Any], trace_ok_t]: """Return a function that traces task execution. Catches all exceptions and updates result backend with the @@ -374,7 +387,12 @@ def build_tracer(name, task, loader=None, hostname=None, store_errors=True, from celery import canvas signature = canvas.maybe_signature # maybe_ does not clone if already - def on_error(request, exc, state=FAILURE, call_errbacks=True): + def on_error( + request: celery.app.task.Context, + exc: Union[Exception, Type[Exception]], + state: str = FAILURE, + call_errbacks: bool = True) -> Tuple[Info, Any, Any, Any]: + """Handle any errors raised by a `Task`'s execution.""" if propagate: raise I = Info(state, exc) @@ -383,7 +401,13 @@ def build_tracer(name, task, loader=None, hostname=None, store_errors=True, ) return I, R, I.state, I.retval - def trace_task(uuid, args, kwargs, request=None): + def trace_task( + uuid: str, + args: Sequence[Any], + kwargs: Dict[str, Any], + request: Optional[Dict[str, Any]] = None) -> trace_ok_t: + """Execute and trace a `Task`.""" + # R - is the possibly prepared return value. # I - is the Info object. # T - runtime diff --git a/venv/lib/python3.12/site-packages/celery/app/utils.py b/venv/lib/python3.12/site-packages/celery/app/utils.py index da2ee66..0dd3409 100644 --- a/venv/lib/python3.12/site-packages/celery/app/utils.py +++ b/venv/lib/python3.12/site-packages/celery/app/utils.py @@ -35,7 +35,7 @@ settings -> transport:{transport} results:{results} """ HIDDEN_SETTINGS = re.compile( - 'API|TOKEN|KEY|SECRET|PASS|PROFANITIES_LIST|SIGNATURE|DATABASE|BEAT_DBURI', + 'API|TOKEN|KEY|SECRET|PASS|PROFANITIES_LIST|SIGNATURE|DATABASE', re.IGNORECASE, ) diff --git a/venv/lib/python3.12/site-packages/celery/apps/worker.py b/venv/lib/python3.12/site-packages/celery/apps/worker.py index 5558dab..dcc04da 100644 --- a/venv/lib/python3.12/site-packages/celery/apps/worker.py +++ b/venv/lib/python3.12/site-packages/celery/apps/worker.py @@ -20,7 +20,7 @@ from kombu.utils.encoding import safe_str from celery import VERSION_BANNER, platforms, signals from celery.app import trace from celery.loaders.app import AppLoader -from celery.platforms import EX_FAILURE, EX_OK, check_privileges, isatty +from celery.platforms import EX_FAILURE, EX_OK, check_privileges from celery.utils import static, term from celery.utils.debug import cry from celery.utils.imports import qualname @@ -77,9 +77,8 @@ def active_thread_count(): if not t.name.startswith('Dummy-')) -def safe_say(msg, f=sys.__stderr__): - if hasattr(f, 'fileno') and f.fileno() is not None: - os.write(f.fileno(), f'\n{msg}\n'.encode()) +def safe_say(msg): + print(f'\n{msg}', file=sys.__stderr__, flush=True) class Worker(WorkController): @@ -107,7 +106,7 @@ class Worker(WorkController): super().setup_defaults(**kwargs) self.purge = purge self.no_color = no_color - self._isatty = isatty(sys.stdout) + self._isatty = sys.stdout.isatty() self.colored = self.app.log.colored( self.logfile, enabled=not no_color if no_color is not None else no_color @@ -279,27 +278,15 @@ class Worker(WorkController): ) -def _shutdown_handler(worker: Worker, sig='SIGTERM', how='Warm', callback=None, exitcode=EX_OK, verbose=True): - """Install signal handler for warm/cold shutdown. - - The handler will run from the MainProcess. - - Args: - worker (Worker): The worker that received the signal. - sig (str, optional): The signal that was received. Defaults to 'TERM'. - how (str, optional): The type of shutdown to perform. Defaults to 'Warm'. - callback (Callable, optional): Signal handler. Defaults to None. - exitcode (int, optional): The exit code to use. Defaults to EX_OK. - verbose (bool, optional): Whether to print the type of shutdown. Defaults to True. - """ +def _shutdown_handler(worker, sig='TERM', how='Warm', + callback=None, exitcode=EX_OK): def _handle_request(*args): with in_sighandler(): from celery.worker import state if current_process()._name == 'MainProcess': if callback: callback(worker) - if verbose: - safe_say(f'worker: {how} shutdown (MainProcess)', sys.__stdout__) + safe_say(f'worker: {how} shutdown (MainProcess)') signals.worker_shutting_down.send( sender=worker.hostname, sig=sig, how=how, exitcode=exitcode, @@ -310,126 +297,19 @@ def _shutdown_handler(worker: Worker, sig='SIGTERM', how='Warm', callback=None, platforms.signals[sig] = _handle_request -def on_hard_shutdown(worker: Worker): - """Signal handler for hard shutdown. - - The handler will terminate the worker immediately by force using the exit code ``EX_FAILURE``. - - In practice, you should never get here, as the standard shutdown process should be enough. - This handler is only for the worst-case scenario, where the worker is stuck and cannot be - terminated gracefully (e.g., spamming the Ctrl+C in the terminal to force the worker to terminate). - - Args: - worker (Worker): The worker that received the signal. - - Raises: - WorkerTerminate: This exception will be raised in the MainProcess to terminate the worker immediately. - """ - from celery.exceptions import WorkerTerminate - raise WorkerTerminate(EX_FAILURE) - - -def during_soft_shutdown(worker: Worker): - """This signal handler is called when the worker is in the middle of the soft shutdown process. - - When the worker is in the soft shutdown process, it is waiting for tasks to finish. If the worker - receives a SIGINT (Ctrl+C) or SIGQUIT signal (or possibly SIGTERM if REMAP_SIGTERM is set to "SIGQUIT"), - the handler will cancels all unacked requests to allow the worker to terminate gracefully and replace the - signal handler for SIGINT and SIGQUIT with the hard shutdown handler ``on_hard_shutdown`` to terminate - the worker immediately by force next time the signal is received. - - It will give the worker once last chance to gracefully terminate (the cold shutdown), after canceling all - unacked requests, before using the hard shutdown handler to terminate the worker forcefully. - - Args: - worker (Worker): The worker that received the signal. - """ - # Replace the signal handler for SIGINT (Ctrl+C) and SIGQUIT (and possibly SIGTERM) - # with the hard shutdown handler to terminate the worker immediately by force - install_worker_term_hard_handler(worker, sig='SIGINT', callback=on_hard_shutdown, verbose=False) - install_worker_term_hard_handler(worker, sig='SIGQUIT', callback=on_hard_shutdown) - - # Cancel all unacked requests and allow the worker to terminate naturally - worker.consumer.cancel_all_unacked_requests() - - # We get here if the worker was in the middle of the soft (cold) shutdown process, - # and the matching signal was received. This can typically happen when the worker is - # waiting for tasks to finish, and the user decides to still cancel the running tasks. - # We give the worker the last chance to gracefully terminate by letting the soft shutdown - # waiting time to finish, which is running in the MainProcess from the previous signal handler call. - safe_say('Waiting gracefully for cold shutdown to complete...', sys.__stdout__) - - -def on_cold_shutdown(worker: Worker): - """Signal handler for cold shutdown. - - Registered for SIGQUIT and SIGINT (Ctrl+C) signals. If REMAP_SIGTERM is set to "SIGQUIT", this handler will also - be registered for SIGTERM. - - This handler will initiate the cold (and soft if enabled) shutdown procesdure for the worker. - - Worker running with N tasks: - - SIGTERM: - -The worker will initiate the warm shutdown process until all tasks are finished. Additional. - SIGTERM signals will be ignored. SIGQUIT will transition to the cold shutdown process described below. - - SIGQUIT: - - The worker will initiate the cold shutdown process. - - If the soft shutdown is enabled, the worker will wait for the tasks to finish up to the soft - shutdown timeout (practically having a limited warm shutdown just before the cold shutdown). - - Cancel all tasks (from the MainProcess) and allow the worker to complete the cold shutdown - process gracefully. - - Caveats: - - SIGINT (Ctrl+C) signal is defined to replace itself with the cold shutdown (SIGQUIT) after first use, - and to emit a message to the user to hit Ctrl+C again to initiate the cold shutdown process. But, most - important, it will also be caught in WorkController.start() to initiate the warm shutdown process. - - SIGTERM will also be handled in WorkController.start() to initiate the warm shutdown process (the same). - - If REMAP_SIGTERM is set to "SIGQUIT", the SIGTERM signal will be remapped to SIGQUIT, and the cold - shutdown process will be initiated instead of the warm shutdown process using SIGTERM. - - If SIGQUIT is received (also via SIGINT) during the cold/soft shutdown process, the handler will cancel all - unacked requests but still wait for the soft shutdown process to finish before terminating the worker - gracefully. The next time the signal is received though, the worker will terminate immediately by force. - - So, the purpose of this handler is to allow waiting for the soft shutdown timeout, then cancel all tasks from - the MainProcess and let the WorkController.terminate() to terminate the worker naturally. If the soft shutdown - is disabled, it will immediately cancel all tasks let the cold shutdown finish normally. - - Args: - worker (Worker): The worker that received the signal. - """ - safe_say('worker: Hitting Ctrl+C again will terminate all running tasks!', sys.__stdout__) - - # Replace the signal handler for SIGINT (Ctrl+C) and SIGQUIT (and possibly SIGTERM) - install_worker_term_hard_handler(worker, sig='SIGINT', callback=during_soft_shutdown) - install_worker_term_hard_handler(worker, sig='SIGQUIT', callback=during_soft_shutdown) - if REMAP_SIGTERM == "SIGQUIT": - install_worker_term_hard_handler(worker, sig='SIGTERM', callback=during_soft_shutdown) - # else, SIGTERM will print the _shutdown_handler's message and do nothing, every time it is received.. - - # Initiate soft shutdown process (if enabled and tasks are running) - worker.wait_for_soft_shutdown() - - # Cancel all unacked requests and allow the worker to terminate naturally - worker.consumer.cancel_all_unacked_requests() - - # Stop the pool to allow successful tasks call on_success() - worker.consumer.pool.stop() - - -# Allow SIGTERM to be remapped to SIGQUIT to initiate cold shutdown instead of warm shutdown using SIGTERM if REMAP_SIGTERM == "SIGQUIT": install_worker_term_handler = partial( - _shutdown_handler, sig='SIGTERM', how='Cold', callback=on_cold_shutdown, exitcode=EX_FAILURE, + _shutdown_handler, sig='SIGTERM', how='Cold', exitcode=EX_FAILURE, ) else: install_worker_term_handler = partial( _shutdown_handler, sig='SIGTERM', how='Warm', ) - if not is_jython: # pragma: no cover install_worker_term_hard_handler = partial( - _shutdown_handler, sig='SIGQUIT', how='Cold', callback=on_cold_shutdown, exitcode=EX_FAILURE, + _shutdown_handler, sig='SIGQUIT', how='Cold', + exitcode=EX_FAILURE, ) else: # pragma: no cover install_worker_term_handler = \ @@ -437,9 +317,8 @@ else: # pragma: no cover def on_SIGINT(worker): - safe_say('worker: Hitting Ctrl+C again will initiate cold shutdown, terminating all running tasks!', - sys.__stdout__) - install_worker_term_hard_handler(worker, sig='SIGINT', verbose=False) + safe_say('worker: Hitting Ctrl+C again will terminate all running tasks!') + install_worker_term_hard_handler(worker, sig='SIGINT') if not is_jython: # pragma: no cover @@ -464,8 +343,7 @@ def install_worker_restart_handler(worker, sig='SIGHUP'): def restart_worker_sig_handler(*args): """Signal handler restarting the current python program.""" set_in_sighandler(True) - safe_say(f"Restarting celery worker ({' '.join(sys.argv)})", - sys.__stdout__) + safe_say(f"Restarting celery worker ({' '.join(sys.argv)})") import atexit atexit.register(_reload_current_worker) from celery.worker import state diff --git a/venv/lib/python3.12/site-packages/celery/backends/azureblockblob.py b/venv/lib/python3.12/site-packages/celery/backends/azureblockblob.py index 3648cbe..862777b 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/azureblockblob.py +++ b/venv/lib/python3.12/site-packages/celery/backends/azureblockblob.py @@ -1,5 +1,4 @@ """The Azure Storage Block Blob backend for Celery.""" -from kombu.transport.azurestoragequeues import Transport as AzureStorageQueuesTransport from kombu.utils import cached_property from kombu.utils.encoding import bytes_to_str @@ -29,13 +28,6 @@ class AzureBlockBlobBackend(KeyValueStoreBackend): container_name=None, *args, **kwargs): - """ - Supported URL formats: - - azureblockblob://CONNECTION_STRING - azureblockblob://DefaultAzureCredential@STORAGE_ACCOUNT_URL - azureblockblob://ManagedIdentityCredential@STORAGE_ACCOUNT_URL - """ super().__init__(*args, **kwargs) if azurestorage is None or azurestorage.__version__ < '12': @@ -73,26 +65,11 @@ class AzureBlockBlobBackend(KeyValueStoreBackend): the container is created if it doesn't yet exist. """ - if ( - "DefaultAzureCredential" in self._connection_string or - "ManagedIdentityCredential" in self._connection_string - ): - # Leveraging the work that Kombu already did for us - credential_, url = AzureStorageQueuesTransport.parse_uri( - self._connection_string - ) - client = BlobServiceClient( - account_url=url, - credential=credential_, - connection_timeout=self._connection_timeout, - read_timeout=self._read_timeout, - ) - else: - client = BlobServiceClient.from_connection_string( - self._connection_string, - connection_timeout=self._connection_timeout, - read_timeout=self._read_timeout, - ) + client = BlobServiceClient.from_connection_string( + self._connection_string, + connection_timeout=self._connection_timeout, + read_timeout=self._read_timeout + ) try: client.create_container(name=self._container_name) diff --git a/venv/lib/python3.12/site-packages/celery/backends/base.py b/venv/lib/python3.12/site-packages/celery/backends/base.py index dc79f4e..4216c3b 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/base.py +++ b/venv/lib/python3.12/site-packages/celery/backends/base.py @@ -9,7 +9,7 @@ import sys import time import warnings from collections import namedtuple -from datetime import timedelta +from datetime import datetime, timedelta from functools import partial from weakref import WeakValueDictionary @@ -460,7 +460,7 @@ class Backend: state, traceback, request, format_date=True, encode=False): if state in self.READY_STATES: - date_done = self.app.now() + date_done = datetime.utcnow() if format_date: date_done = date_done.isoformat() else: @@ -833,11 +833,9 @@ class BaseKeyValueStoreBackend(Backend): """ global_keyprefix = self.app.conf.get('result_backend_transport_options', {}).get("global_keyprefix", None) if global_keyprefix: - if global_keyprefix[-1] not in ':_-.': - global_keyprefix += '_' - self.task_keyprefix = f"{global_keyprefix}{self.task_keyprefix}" - self.group_keyprefix = f"{global_keyprefix}{self.group_keyprefix}" - self.chord_keyprefix = f"{global_keyprefix}{self.chord_keyprefix}" + self.task_keyprefix = f"{global_keyprefix}_{self.task_keyprefix}" + self.group_keyprefix = f"{global_keyprefix}_{self.group_keyprefix}" + self.chord_keyprefix = f"{global_keyprefix}_{self.chord_keyprefix}" def _encode_prefixes(self): self.task_keyprefix = self.key_t(self.task_keyprefix) @@ -1082,7 +1080,7 @@ class BaseKeyValueStoreBackend(Backend): ) finally: deps.delete() - self.delete(key) + self.client.delete(key) else: self.expire(key, self.expires) diff --git a/venv/lib/python3.12/site-packages/celery/backends/cassandra.py b/venv/lib/python3.12/site-packages/celery/backends/cassandra.py index 4ca071d..0eb37f3 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/cassandra.py +++ b/venv/lib/python3.12/site-packages/celery/backends/cassandra.py @@ -86,7 +86,7 @@ class CassandraBackend(BaseBackend): supports_autoexpire = True # autoexpire supported via entry_ttl def __init__(self, servers=None, keyspace=None, table=None, entry_ttl=None, - port=None, bundle_path=None, **kwargs): + port=9042, bundle_path=None, **kwargs): super().__init__(**kwargs) if not cassandra: @@ -96,7 +96,7 @@ class CassandraBackend(BaseBackend): self.servers = servers or conf.get('cassandra_servers', None) self.bundle_path = bundle_path or conf.get( 'cassandra_secure_bundle_path', None) - self.port = port or conf.get('cassandra_port', None) or 9042 + self.port = port or conf.get('cassandra_port', None) self.keyspace = keyspace or conf.get('cassandra_keyspace', None) self.table = table or conf.get('cassandra_table', None) self.cassandra_options = conf.get('cassandra_options', {}) diff --git a/venv/lib/python3.12/site-packages/celery/backends/database/__init__.py b/venv/lib/python3.12/site-packages/celery/backends/database/__init__.py index df03db5..91080ad 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/database/__init__.py +++ b/venv/lib/python3.12/site-packages/celery/backends/database/__init__.py @@ -98,23 +98,11 @@ class DatabaseBackend(BaseBackend): 'Missing connection string! Do you have the' ' database_url setting set to a real value?') - self.session_manager = SessionManager() - - create_tables_at_setup = conf.database_create_tables_at_setup - if create_tables_at_setup is True: - self._create_tables() - @property def extended_result(self): return self.app.conf.find_value_for_key('extended', 'result') - def _create_tables(self): - """Create the task and taskset tables.""" - self.ResultSession() - - def ResultSession(self, session_manager=None): - if session_manager is None: - session_manager = self.session_manager + def ResultSession(self, session_manager=SessionManager()): return session_manager.session_factory( dburi=self.url, short_lived_sessions=self.short_lived_sessions, diff --git a/venv/lib/python3.12/site-packages/celery/backends/database/models.py b/venv/lib/python3.12/site-packages/celery/backends/database/models.py index a5df8f4..1c766b5 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/database/models.py +++ b/venv/lib/python3.12/site-packages/celery/backends/database/models.py @@ -1,5 +1,5 @@ """Database models used by the SQLAlchemy result store backend.""" -from datetime import datetime, timezone +from datetime import datetime import sqlalchemy as sa from sqlalchemy.types import PickleType @@ -22,8 +22,8 @@ class Task(ResultModelBase): task_id = sa.Column(sa.String(155), unique=True) status = sa.Column(sa.String(50), default=states.PENDING) result = sa.Column(PickleType, nullable=True) - date_done = sa.Column(sa.DateTime, default=datetime.now(timezone.utc), - onupdate=datetime.now(timezone.utc), nullable=True) + date_done = sa.Column(sa.DateTime, default=datetime.utcnow, + onupdate=datetime.utcnow, nullable=True) traceback = sa.Column(sa.Text, nullable=True) def __init__(self, task_id): @@ -84,7 +84,7 @@ class TaskSet(ResultModelBase): autoincrement=True, primary_key=True) taskset_id = sa.Column(sa.String(155), unique=True) result = sa.Column(PickleType, nullable=True) - date_done = sa.Column(sa.DateTime, default=datetime.now(timezone.utc), + date_done = sa.Column(sa.DateTime, default=datetime.utcnow, nullable=True) def __init__(self, taskset_id, result): diff --git a/venv/lib/python3.12/site-packages/celery/backends/dynamodb.py b/venv/lib/python3.12/site-packages/celery/backends/dynamodb.py index 0423a46..90fbae0 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/dynamodb.py +++ b/venv/lib/python3.12/site-packages/celery/backends/dynamodb.py @@ -1,8 +1,6 @@ """AWS DynamoDB result store backend.""" from collections import namedtuple -from ipaddress import ip_address from time import sleep, time -from typing import Any, Dict from kombu.utils.url import _parse_url as parse_url @@ -56,15 +54,11 @@ class DynamoDBBackend(KeyValueStoreBackend): supports_autoexpire = True _key_field = DynamoDBAttribute(name='id', data_type='S') - # Each record has either a value field or count field _value_field = DynamoDBAttribute(name='result', data_type='B') - _count_filed = DynamoDBAttribute(name="chord_count", data_type='N') _timestamp_field = DynamoDBAttribute(name='timestamp', data_type='N') _ttl_field = DynamoDBAttribute(name='ttl', data_type='N') _available_fields = None - implements_incr = True - def __init__(self, url=None, table_name=None, *args, **kwargs): super().__init__(*args, **kwargs) @@ -97,9 +91,9 @@ class DynamoDBBackend(KeyValueStoreBackend): aws_credentials_given = access_key_given - if region == 'localhost' or DynamoDBBackend._is_valid_ip(region): + if region == 'localhost': # We are using the downloadable, local version of DynamoDB - self.endpoint_url = f'http://{region}:{port}' + self.endpoint_url = f'http://localhost:{port}' self.aws_region = 'us-east-1' logger.warning( 'Using local-only DynamoDB endpoint URL: {}'.format( @@ -154,14 +148,6 @@ class DynamoDBBackend(KeyValueStoreBackend): secret_access_key=aws_secret_access_key ) - @staticmethod - def _is_valid_ip(ip): - try: - ip_address(ip) - return True - except ValueError: - return False - def _get_client(self, access_key_id=None, secret_access_key=None): """Get client connection.""" if self._client is None: @@ -473,40 +459,6 @@ class DynamoDBBackend(KeyValueStoreBackend): }) return put_request - def _prepare_init_count_request(self, key: str) -> Dict[str, Any]: - """Construct the counter initialization request parameters""" - timestamp = time() - return { - 'TableName': self.table_name, - 'Item': { - self._key_field.name: { - self._key_field.data_type: key - }, - self._count_filed.name: { - self._count_filed.data_type: "0" - }, - self._timestamp_field.name: { - self._timestamp_field.data_type: str(timestamp) - } - } - } - - def _prepare_inc_count_request(self, key: str) -> Dict[str, Any]: - """Construct the counter increment request parameters""" - return { - 'TableName': self.table_name, - 'Key': { - self._key_field.name: { - self._key_field.data_type: key - } - }, - 'UpdateExpression': f"set {self._count_filed.name} = {self._count_filed.name} + :num", - "ExpressionAttributeValues": { - ":num": {"N": "1"}, - }, - "ReturnValues": "UPDATED_NEW", - } - def _item_to_dict(self, raw_response): """Convert get_item() response to field-value pairs.""" if 'Item' not in raw_response: @@ -539,18 +491,3 @@ class DynamoDBBackend(KeyValueStoreBackend): key = str(key) request_parameters = self._prepare_get_request(key) self.client.delete_item(**request_parameters) - - def incr(self, key: bytes) -> int: - """Atomically increase the chord_count and return the new count""" - key = str(key) - request_parameters = self._prepare_inc_count_request(key) - item_response = self.client.update_item(**request_parameters) - new_count: str = item_response["Attributes"][self._count_filed.name][self._count_filed.data_type] - return int(new_count) - - def _apply_chord_incr(self, header_result_args, body, **kwargs): - chord_key = self.get_key_for_chord(header_result_args[0]) - init_count_request = self._prepare_init_count_request(str(chord_key)) - self.client.put_item(**init_count_request) - return super()._apply_chord_incr( - header_result_args, body, **kwargs) diff --git a/venv/lib/python3.12/site-packages/celery/backends/elasticsearch.py b/venv/lib/python3.12/site-packages/celery/backends/elasticsearch.py index 9e6f265..5448129 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/elasticsearch.py +++ b/venv/lib/python3.12/site-packages/celery/backends/elasticsearch.py @@ -1,5 +1,5 @@ """Elasticsearch result store backend.""" -from datetime import datetime, timezone +from datetime import datetime from kombu.utils.encoding import bytes_to_str from kombu.utils.url import _parse_url @@ -14,11 +14,6 @@ try: except ImportError: elasticsearch = None -try: - import elastic_transport -except ImportError: - elastic_transport = None - __all__ = ('ElasticsearchBackend',) E_LIB_MISSING = """\ @@ -36,7 +31,7 @@ class ElasticsearchBackend(KeyValueStoreBackend): """ index = 'celery' - doc_type = None + doc_type = 'backend' scheme = 'http' host = 'localhost' port = 9200 @@ -88,17 +83,17 @@ class ElasticsearchBackend(KeyValueStoreBackend): self._server = None def exception_safe_to_retry(self, exc): - if isinstance(exc, elasticsearch.exceptions.ApiError): + if isinstance(exc, (elasticsearch.exceptions.TransportError)): # 401: Unauthorized # 409: Conflict + # 429: Too Many Requests # 500: Internal Server Error # 502: Bad Gateway + # 503: Service Unavailable # 504: Gateway Timeout # N/A: Low level exception (i.e. socket exception) - if exc.status_code in {401, 409, 500, 502, 504, 'N/A'}: + if exc.status_code in {401, 409, 429, 500, 502, 503, 504, 'N/A'}: return True - if isinstance(exc, elasticsearch.exceptions.TransportError): - return True return False def get(self, key): @@ -113,23 +108,17 @@ class ElasticsearchBackend(KeyValueStoreBackend): pass def _get(self, key): - if self.doc_type: - return self.server.get( - index=self.index, - id=key, - doc_type=self.doc_type, - ) - else: - return self.server.get( - index=self.index, - id=key, - ) + return self.server.get( + index=self.index, + doc_type=self.doc_type, + id=key, + ) def _set_with_state(self, key, value, state): body = { 'result': value, '@timestamp': '{}Z'.format( - datetime.now(timezone.utc).isoformat()[:-9] + datetime.utcnow().isoformat()[:-3] ), } try: @@ -146,23 +135,14 @@ class ElasticsearchBackend(KeyValueStoreBackend): def _index(self, id, body, **kwargs): body = {bytes_to_str(k): v for k, v in body.items()} - if self.doc_type: - return self.server.index( - id=bytes_to_str(id), - index=self.index, - doc_type=self.doc_type, - body=body, - params={'op_type': 'create'}, - **kwargs - ) - else: - return self.server.index( - id=bytes_to_str(id), - index=self.index, - body=body, - params={'op_type': 'create'}, - **kwargs - ) + return self.server.index( + id=bytes_to_str(id), + index=self.index, + doc_type=self.doc_type, + body=body, + params={'op_type': 'create'}, + **kwargs + ) def _update(self, id, body, state, **kwargs): """Update state in a conflict free manner. @@ -202,32 +182,19 @@ class ElasticsearchBackend(KeyValueStoreBackend): prim_term = res_get.get('_primary_term', 1) # try to update document with current seq_no and primary_term - if self.doc_type: - res = self.server.update( - id=bytes_to_str(id), - index=self.index, - doc_type=self.doc_type, - body={'doc': body}, - params={'if_primary_term': prim_term, 'if_seq_no': seq_no}, - **kwargs - ) - else: - res = self.server.update( - id=bytes_to_str(id), - index=self.index, - body={'doc': body}, - params={'if_primary_term': prim_term, 'if_seq_no': seq_no}, - **kwargs - ) + res = self.server.update( + id=bytes_to_str(id), + index=self.index, + doc_type=self.doc_type, + body={'doc': body}, + params={'if_primary_term': prim_term, 'if_seq_no': seq_no}, + **kwargs + ) # result is elastic search update query result # noop = query did not update any document # updated = at least one document got updated if res['result'] == 'noop': - raise elasticsearch.exceptions.ConflictError( - "conflicting update occurred concurrently", - elastic_transport.ApiResponseMeta(409, "HTTP/1.1", - elastic_transport.HttpHeaders(), 0, elastic_transport.NodeConfig( - self.scheme, self.host, self.port)), None) + raise elasticsearch.exceptions.ConflictError(409, 'conflicting update occurred concurrently', {}) return res def encode(self, data): @@ -258,10 +225,7 @@ class ElasticsearchBackend(KeyValueStoreBackend): return [self.get(key) for key in keys] def delete(self, key): - if self.doc_type: - self.server.delete(index=self.index, id=key, doc_type=self.doc_type) - else: - self.server.delete(index=self.index, id=key) + self.server.delete(index=self.index, doc_type=self.doc_type, id=key) def _get_server(self): """Connect to the Elasticsearch server.""" @@ -269,10 +233,11 @@ class ElasticsearchBackend(KeyValueStoreBackend): if self.username and self.password: http_auth = (self.username, self.password) return elasticsearch.Elasticsearch( - f'{self.scheme}://{self.host}:{self.port}', + f'{self.host}:{self.port}', retry_on_timeout=self.es_retry_on_timeout, max_retries=self.es_max_retries, timeout=self.es_timeout, + scheme=self.scheme, http_auth=http_auth, ) diff --git a/venv/lib/python3.12/site-packages/celery/backends/filesystem.py b/venv/lib/python3.12/site-packages/celery/backends/filesystem.py index 1a624f3..22fd5dc 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/filesystem.py +++ b/venv/lib/python3.12/site-packages/celery/backends/filesystem.py @@ -50,7 +50,7 @@ class FilesystemBackend(KeyValueStoreBackend): self.open = open self.unlink = unlink - # Let's verify that we've everything setup right + # Lets verify that we've everything setup right self._do_directory_test(b'.fs-backend-' + uuid().encode(encoding)) def __reduce__(self, args=(), kwargs=None): diff --git a/venv/lib/python3.12/site-packages/celery/backends/gcs.py b/venv/lib/python3.12/site-packages/celery/backends/gcs.py deleted file mode 100644 index d667a9c..0000000 --- a/venv/lib/python3.12/site-packages/celery/backends/gcs.py +++ /dev/null @@ -1,352 +0,0 @@ -"""Google Cloud Storage result store backend for Celery.""" -from concurrent.futures import ThreadPoolExecutor -from datetime import datetime, timedelta -from os import getpid -from threading import RLock - -from kombu.utils.encoding import bytes_to_str -from kombu.utils.functional import dictfilter -from kombu.utils.url import url_to_parts - -from celery.canvas import maybe_signature -from celery.exceptions import ChordError, ImproperlyConfigured -from celery.result import GroupResult, allow_join_result -from celery.utils.log import get_logger - -from .base import KeyValueStoreBackend - -try: - import requests - from google.api_core import retry - from google.api_core.exceptions import Conflict - from google.api_core.retry import if_exception_type - from google.cloud import storage - from google.cloud.storage import Client - from google.cloud.storage.retry import DEFAULT_RETRY -except ImportError: - storage = None - -try: - from google.cloud import firestore, firestore_admin_v1 -except ImportError: - firestore = None - firestore_admin_v1 = None - - -__all__ = ('GCSBackend',) - - -logger = get_logger(__name__) - - -class GCSBackendBase(KeyValueStoreBackend): - """Google Cloud Storage task result backend.""" - - def __init__(self, **kwargs): - if not storage: - raise ImproperlyConfigured( - 'You must install google-cloud-storage to use gcs backend' - ) - super().__init__(**kwargs) - self._client_lock = RLock() - self._pid = getpid() - self._retry_policy = DEFAULT_RETRY - self._client = None - - conf = self.app.conf - if self.url: - url_params = self._params_from_url() - conf.update(**dictfilter(url_params)) - - self.bucket_name = conf.get('gcs_bucket') - if not self.bucket_name: - raise ImproperlyConfigured( - 'Missing bucket name: specify gcs_bucket to use gcs backend' - ) - self.project = conf.get('gcs_project') - if not self.project: - raise ImproperlyConfigured( - 'Missing project:specify gcs_project to use gcs backend' - ) - self.base_path = conf.get('gcs_base_path', '').strip('/') - self._threadpool_maxsize = int(conf.get('gcs_threadpool_maxsize', 10)) - self.ttl = float(conf.get('gcs_ttl') or 0) - if self.ttl < 0: - raise ImproperlyConfigured( - f'Invalid ttl: {self.ttl} must be greater than or equal to 0' - ) - elif self.ttl: - if not self._is_bucket_lifecycle_rule_exists(): - raise ImproperlyConfigured( - f'Missing lifecycle rule to use gcs backend with ttl on ' - f'bucket: {self.bucket_name}' - ) - - def get(self, key): - key = bytes_to_str(key) - blob = self._get_blob(key) - try: - return blob.download_as_bytes(retry=self._retry_policy) - except storage.blob.NotFound: - return None - - def set(self, key, value): - key = bytes_to_str(key) - blob = self._get_blob(key) - if self.ttl: - blob.custom_time = datetime.utcnow() + timedelta(seconds=self.ttl) - blob.upload_from_string(value, retry=self._retry_policy) - - def delete(self, key): - key = bytes_to_str(key) - blob = self._get_blob(key) - if blob.exists(): - blob.delete(retry=self._retry_policy) - - def mget(self, keys): - with ThreadPoolExecutor() as pool: - return list(pool.map(self.get, keys)) - - @property - def client(self): - """Returns a storage client.""" - - # make sure it's thread-safe, as creating a new client is expensive - with self._client_lock: - if self._client and self._pid == getpid(): - return self._client - # make sure each process gets its own connection after a fork - self._client = Client(project=self.project) - self._pid = getpid() - - # config the number of connections to the server - adapter = requests.adapters.HTTPAdapter( - pool_connections=self._threadpool_maxsize, - pool_maxsize=self._threadpool_maxsize, - max_retries=3, - ) - client_http = self._client._http - client_http.mount("https://", adapter) - client_http._auth_request.session.mount("https://", adapter) - - return self._client - - @property - def bucket(self): - return self.client.bucket(self.bucket_name) - - def _get_blob(self, key): - key_bucket_path = f'{self.base_path}/{key}' if self.base_path else key - return self.bucket.blob(key_bucket_path) - - def _is_bucket_lifecycle_rule_exists(self): - bucket = self.bucket - bucket.reload() - for rule in bucket.lifecycle_rules: - if rule['action']['type'] == 'Delete': - return True - return False - - def _params_from_url(self): - url_parts = url_to_parts(self.url) - - return { - 'gcs_bucket': url_parts.hostname, - 'gcs_base_path': url_parts.path, - **url_parts.query, - } - - -class GCSBackend(GCSBackendBase): - """Google Cloud Storage task result backend. - - Uses Firestore for chord ref count. - """ - - implements_incr = True - supports_native_join = True - - # Firestore parameters - _collection_name = 'celery' - _field_count = 'chord_count' - _field_expires = 'expires_at' - - def __init__(self, **kwargs): - if not (firestore and firestore_admin_v1): - raise ImproperlyConfigured( - 'You must install google-cloud-firestore to use gcs backend' - ) - super().__init__(**kwargs) - - self._firestore_lock = RLock() - self._firestore_client = None - - self.firestore_project = self.app.conf.get( - 'firestore_project', self.project - ) - if not self._is_firestore_ttl_policy_enabled(): - raise ImproperlyConfigured( - f'Missing TTL policy to use gcs backend with ttl on ' - f'Firestore collection: {self._collection_name} ' - f'project: {self.firestore_project}' - ) - - @property - def firestore_client(self): - """Returns a firestore client.""" - - # make sure it's thread-safe, as creating a new client is expensive - with self._firestore_lock: - if self._firestore_client and self._pid == getpid(): - return self._firestore_client - # make sure each process gets its own connection after a fork - self._firestore_client = firestore.Client( - project=self.firestore_project - ) - self._pid = getpid() - return self._firestore_client - - def _is_firestore_ttl_policy_enabled(self): - client = firestore_admin_v1.FirestoreAdminClient() - - name = ( - f"projects/{self.firestore_project}" - f"/databases/(default)/collectionGroups/{self._collection_name}" - f"/fields/{self._field_expires}" - ) - request = firestore_admin_v1.GetFieldRequest(name=name) - field = client.get_field(request=request) - - ttl_config = field.ttl_config - return ttl_config and ttl_config.state in { - firestore_admin_v1.Field.TtlConfig.State.ACTIVE, - firestore_admin_v1.Field.TtlConfig.State.CREATING, - } - - def _apply_chord_incr(self, header_result_args, body, **kwargs): - key = self.get_key_for_chord(header_result_args[0]).decode() - self._expire_chord_key(key, 86400) - return super()._apply_chord_incr(header_result_args, body, **kwargs) - - def incr(self, key: bytes) -> int: - doc = self._firestore_document(key) - resp = doc.set( - {self._field_count: firestore.Increment(1)}, - merge=True, - retry=retry.Retry( - predicate=if_exception_type(Conflict), - initial=1.0, - maximum=180.0, - multiplier=2.0, - timeout=180.0, - ), - ) - return resp.transform_results[0].integer_value - - def on_chord_part_return(self, request, state, result, **kwargs): - """Chord part return callback. - - Called for each task in the chord. - Increments the counter stored in Firestore. - If the counter reaches the number of tasks in the chord, the callback - is called. - If the callback raises an exception, the chord is marked as errored. - If the callback returns a value, the chord is marked as successful. - """ - app = self.app - gid = request.group - if not gid: - return - key = self.get_key_for_chord(gid) - val = self.incr(key) - size = request.chord.get("chord_size") - if size is None: - deps = self._restore_deps(gid, request) - if deps is None: - return - size = len(deps) - if val > size: # pragma: no cover - logger.warning( - 'Chord counter incremented too many times for %r', gid - ) - elif val == size: - # Read the deps once, to reduce the number of reads from GCS ($$) - deps = self._restore_deps(gid, request) - if deps is None: - return - callback = maybe_signature(request.chord, app=app) - j = deps.join_native - try: - with allow_join_result(): - ret = j( - timeout=app.conf.result_chord_join_timeout, - propagate=True, - ) - except Exception as exc: # pylint: disable=broad-except - try: - culprit = next(deps._failed_join_report()) - reason = 'Dependency {0.id} raised {1!r}'.format( - culprit, - exc, - ) - except StopIteration: - reason = repr(exc) - - logger.exception('Chord %r raised: %r', gid, reason) - self.chord_error_from_stack(callback, ChordError(reason)) - else: - try: - callback.delay(ret) - except Exception as exc: # pylint: disable=broad-except - logger.exception('Chord %r raised: %r', gid, exc) - self.chord_error_from_stack( - callback, - ChordError(f'Callback error: {exc!r}'), - ) - finally: - deps.delete() - # Firestore doesn't have an exact ttl policy, so delete the key. - self._delete_chord_key(key) - - def _restore_deps(self, gid, request): - app = self.app - try: - deps = GroupResult.restore(gid, backend=self) - except Exception as exc: # pylint: disable=broad-except - callback = maybe_signature(request.chord, app=app) - logger.exception('Chord %r raised: %r', gid, exc) - self.chord_error_from_stack( - callback, - ChordError(f'Cannot restore group: {exc!r}'), - ) - return - if deps is None: - try: - raise ValueError(gid) - except ValueError as exc: - callback = maybe_signature(request.chord, app=app) - logger.exception('Chord callback %r raised: %r', gid, exc) - self.chord_error_from_stack( - callback, - ChordError(f'GroupResult {gid} no longer exists'), - ) - return deps - - def _delete_chord_key(self, key): - doc = self._firestore_document(key) - doc.delete() - - def _expire_chord_key(self, key, expires): - """Set TTL policy for a Firestore document. - - Firestore ttl data is typically deleted within 24 hours after its - expiration date. - """ - val_expires = datetime.utcnow() + timedelta(seconds=expires) - doc = self._firestore_document(key) - doc.set({self._field_expires: val_expires}, merge=True) - - def _firestore_document(self, key): - return self.firestore_client.collection( - self._collection_name - ).document(bytes_to_str(key)) diff --git a/venv/lib/python3.12/site-packages/celery/backends/mongodb.py b/venv/lib/python3.12/site-packages/celery/backends/mongodb.py index 1789f6c..c64fe38 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/mongodb.py +++ b/venv/lib/python3.12/site-packages/celery/backends/mongodb.py @@ -1,5 +1,5 @@ """MongoDB result store backend.""" -from datetime import datetime, timedelta, timezone +from datetime import datetime, timedelta from kombu.exceptions import EncodeError from kombu.utils.objects import cached_property @@ -228,7 +228,7 @@ class MongoBackend(BaseBackend): meta = { '_id': group_id, 'result': self.encode([i.id for i in result]), - 'date_done': datetime.now(timezone.utc), + 'date_done': datetime.utcnow(), } self.group_collection.replace_one({'_id': group_id}, meta, upsert=True) return result diff --git a/venv/lib/python3.12/site-packages/celery/backends/redis.py b/venv/lib/python3.12/site-packages/celery/backends/redis.py index 3e3ef73..8acc608 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/redis.py +++ b/venv/lib/python3.12/site-packages/celery/backends/redis.py @@ -359,11 +359,6 @@ class RedisBackend(BaseKeyValueStoreBackend, AsyncBackendMixin): connparams.update(query) return connparams - def exception_safe_to_retry(self, exc): - if isinstance(exc, self.connection_errors): - return True - return False - @cached_property def retry_policy(self): retry_policy = super().retry_policy diff --git a/venv/lib/python3.12/site-packages/celery/backends/rpc.py b/venv/lib/python3.12/site-packages/celery/backends/rpc.py index 927c7f5..399c1dc 100644 --- a/venv/lib/python3.12/site-packages/celery/backends/rpc.py +++ b/venv/lib/python3.12/site-packages/celery/backends/rpc.py @@ -222,7 +222,7 @@ class RPCBackend(base.Backend, AsyncBackendMixin): def on_out_of_band_result(self, task_id, message): # Callback called when a reply for a task is received, - # but we have no idea what to do with it. + # but we have no idea what do do with it. # Since the result is not pending, we put it in a separate # buffer: probably it will become pending later. if self.result_consumer: diff --git a/venv/lib/python3.12/site-packages/celery/beat.py b/venv/lib/python3.12/site-packages/celery/beat.py index 86ad837..76e4472 100644 --- a/venv/lib/python3.12/site-packages/celery/beat.py +++ b/venv/lib/python3.12/site-packages/celery/beat.py @@ -1,7 +1,6 @@ """The periodic task scheduler.""" import copy -import dbm import errno import heapq import os @@ -569,11 +568,11 @@ class PersistentScheduler(Scheduler): for _ in (1, 2): try: self._store['entries'] - except (KeyError, UnicodeDecodeError, TypeError): + except KeyError: # new schedule db try: self._store['entries'] = {} - except (KeyError, UnicodeDecodeError, TypeError) + dbm.error as exc: + except KeyError as exc: self._store = self._destroy_open_corrupted_schedule(exc) continue else: diff --git a/venv/lib/python3.12/site-packages/celery/bin/base.py b/venv/lib/python3.12/site-packages/celery/bin/base.py index 61cc37a..63a2895 100644 --- a/venv/lib/python3.12/site-packages/celery/bin/base.py +++ b/venv/lib/python3.12/site-packages/celery/bin/base.py @@ -4,10 +4,9 @@ import numbers from collections import OrderedDict from functools import update_wrapper from pprint import pformat -from typing import Any import click -from click import Context, ParamType +from click import ParamType from kombu.utils.objects import cached_property from celery._state import get_current_app @@ -171,37 +170,19 @@ class CeleryCommand(click.Command): formatter.write_dl(opts_group) -class DaemonOption(CeleryOption): - """Common daemonization option""" - - def __init__(self, *args, **kwargs): - super().__init__(args, - help_group=kwargs.pop("help_group", "Daemonization Options"), - callback=kwargs.pop("callback", self.daemon_setting), - **kwargs) - - def daemon_setting(self, ctx: Context, opt: CeleryOption, value: Any) -> Any: - """ - Try to fetch daemonization option from applications settings. - Use the daemon command name as prefix (eg. `worker` -> `worker_pidfile`) - """ - return value or getattr(ctx.obj.app.conf, f"{ctx.command.name}_{self.name}", None) - - class CeleryDaemonCommand(CeleryCommand): """Daemon commands.""" def __init__(self, *args, **kwargs): """Initialize a Celery command with common daemon options.""" super().__init__(*args, **kwargs) - self.params.extend(( - DaemonOption("--logfile", "-f", help="Log destination; defaults to stderr"), - DaemonOption("--pidfile", help="PID file path; defaults to no PID file"), - DaemonOption("--uid", help="Drops privileges to this user ID"), - DaemonOption("--gid", help="Drops privileges to this group ID"), - DaemonOption("--umask", help="Create files and directories with this umask"), - DaemonOption("--executable", help="Override path to the Python executable"), - )) + self.params.append(CeleryOption(('-f', '--logfile'), help_group="Daemonization Options", + help="Log destination; defaults to stderr")) + self.params.append(CeleryOption(('--pidfile',), help_group="Daemonization Options")) + self.params.append(CeleryOption(('--uid',), help_group="Daemonization Options")) + self.params.append(CeleryOption(('--gid',), help_group="Daemonization Options")) + self.params.append(CeleryOption(('--umask',), help_group="Daemonization Options")) + self.params.append(CeleryOption(('--executable',), help_group="Daemonization Options")) class CommaSeparatedList(ParamType): diff --git a/venv/lib/python3.12/site-packages/celery/bin/celery.py b/venv/lib/python3.12/site-packages/celery/bin/celery.py index 4ddf9c7..4aeed42 100644 --- a/venv/lib/python3.12/site-packages/celery/bin/celery.py +++ b/venv/lib/python3.12/site-packages/celery/bin/celery.py @@ -11,6 +11,7 @@ except ImportError: import click import click.exceptions +from click.types import ParamType from click_didyoumean import DYMGroup from click_plugins import with_plugins @@ -47,6 +48,34 @@ Unable to load celery application. {0}""") +class App(ParamType): + """Application option.""" + + name = "application" + + def convert(self, value, param, ctx): + try: + return find_app(value) + except ModuleNotFoundError as e: + if e.name != value: + exc = traceback.format_exc() + self.fail( + UNABLE_TO_LOAD_APP_ERROR_OCCURRED.format(value, exc) + ) + self.fail(UNABLE_TO_LOAD_APP_MODULE_NOT_FOUND.format(e.name)) + except AttributeError as e: + attribute_name = e.args[0].capitalize() + self.fail(UNABLE_TO_LOAD_APP_APP_MISSING.format(attribute_name)) + except Exception: + exc = traceback.format_exc() + self.fail( + UNABLE_TO_LOAD_APP_ERROR_OCCURRED.format(value, exc) + ) + + +APP = App() + + if sys.version_info >= (3, 10): _PLUGINS = entry_points(group='celery.commands') else: @@ -62,11 +91,7 @@ else: '--app', envvar='APP', cls=CeleryOption, - # May take either: a str when invoked from command line (Click), - # or a Celery object when invoked from inside Celery; hence the - # need to prevent Click from "processing" the Celery object and - # converting it into its str representation. - type=click.UNPROCESSED, + type=APP, help_group="Global Options") @click.option('-b', '--broker', @@ -135,26 +160,6 @@ def celery(ctx, app, broker, result_backend, loader, config, workdir, os.environ['CELERY_CONFIG_MODULE'] = config if skip_checks: os.environ['CELERY_SKIP_CHECKS'] = 'true' - - if isinstance(app, str): - try: - app = find_app(app) - except ModuleNotFoundError as e: - if e.name != app: - exc = traceback.format_exc() - ctx.fail( - UNABLE_TO_LOAD_APP_ERROR_OCCURRED.format(app, exc) - ) - ctx.fail(UNABLE_TO_LOAD_APP_MODULE_NOT_FOUND.format(e.name)) - except AttributeError as e: - attribute_name = e.args[0].capitalize() - ctx.fail(UNABLE_TO_LOAD_APP_APP_MISSING.format(attribute_name)) - except Exception: - exc = traceback.format_exc() - ctx.fail( - UNABLE_TO_LOAD_APP_ERROR_OCCURRED.format(app, exc) - ) - ctx.obj = CLIContext(app=app, no_color=no_color, workdir=workdir, quiet=quiet) diff --git a/venv/lib/python3.12/site-packages/celery/bin/control.py b/venv/lib/python3.12/site-packages/celery/bin/control.py index 38a917e..f7bba96 100644 --- a/venv/lib/python3.12/site-packages/celery/bin/control.py +++ b/venv/lib/python3.12/site-packages/celery/bin/control.py @@ -1,6 +1,5 @@ """The ``celery control``, ``. inspect`` and ``. status`` programs.""" from functools import partial -from typing import Literal import click from kombu.utils.json import dumps @@ -40,69 +39,18 @@ def _consume_arguments(meta, method, args): args[:] = args[i:] -def _compile_arguments(command, args): - meta = Panel.meta[command] +def _compile_arguments(action, args): + meta = Panel.meta[action] arguments = {} if meta.args: arguments.update({ - k: v for k, v in _consume_arguments(meta, command, args) + k: v for k, v in _consume_arguments(meta, action, args) }) if meta.variadic: arguments.update({meta.variadic: args}) return arguments -_RemoteControlType = Literal['inspect', 'control'] - - -def _verify_command_name(type_: _RemoteControlType, command: str) -> None: - choices = _get_commands_of_type(type_) - - if command not in choices: - command_listing = ", ".join(choices) - raise click.UsageError( - message=f'Command {command} not recognized. Available {type_} commands: {command_listing}', - ) - - -def _list_option(type_: _RemoteControlType): - def callback(ctx: click.Context, param, value) -> None: - if not value: - return - choices = _get_commands_of_type(type_) - - formatter = click.HelpFormatter() - - with formatter.section(f'{type_.capitalize()} Commands'): - command_list = [] - for command_name, info in choices.items(): - if info.signature: - command_preview = f'{command_name} {info.signature}' - else: - command_preview = command_name - command_list.append((command_preview, info.help)) - formatter.write_dl(command_list) - ctx.obj.echo(formatter.getvalue(), nl=False) - ctx.exit() - - return click.option( - '--list', - is_flag=True, - help=f'List available {type_} commands and exit.', - expose_value=False, - is_eager=True, - callback=callback, - ) - - -def _get_commands_of_type(type_: _RemoteControlType) -> dict: - command_name_info_pairs = [ - (name, info) for name, info in Panel.meta.items() - if info.type == type_ and info.visible - ] - return dict(sorted(command_name_info_pairs)) - - @click.command(cls=CeleryCommand) @click.option('-t', '--timeout', @@ -148,8 +96,10 @@ def status(ctx, timeout, destination, json, **kwargs): @click.command(cls=CeleryCommand, context_settings={'allow_extra_args': True}) -@click.argument('command') -@_list_option('inspect') +@click.argument("action", type=click.Choice([ + name for name, info in Panel.meta.items() + if info.type == 'inspect' and info.visible +])) @click.option('-t', '--timeout', cls=CeleryOption, @@ -171,19 +121,19 @@ def status(ctx, timeout, destination, json, **kwargs): help='Use json as output format.') @click.pass_context @handle_preload_options -def inspect(ctx, command, timeout, destination, json, **kwargs): - """Inspect the workers by sending them the COMMAND inspect command. +def inspect(ctx, action, timeout, destination, json, **kwargs): + """Inspect the worker at runtime. Availability: RabbitMQ (AMQP) and Redis transports. """ - _verify_command_name('inspect', command) callback = None if json else partial(_say_remote_command_reply, ctx, show_reply=True) - arguments = _compile_arguments(command, ctx.args) + arguments = _compile_arguments(action, ctx.args) inspect = ctx.obj.app.control.inspect(timeout=timeout, destination=destination, callback=callback) - replies = inspect._request(command, **arguments) + replies = inspect._request(action, + **arguments) if not replies: raise CeleryCommandException( @@ -203,8 +153,10 @@ def inspect(ctx, command, timeout, destination, json, **kwargs): @click.command(cls=CeleryCommand, context_settings={'allow_extra_args': True}) -@click.argument('command') -@_list_option('control') +@click.argument("action", type=click.Choice([ + name for name, info in Panel.meta.items() + if info.type == 'control' and info.visible +])) @click.option('-t', '--timeout', cls=CeleryOption, @@ -226,17 +178,16 @@ def inspect(ctx, command, timeout, destination, json, **kwargs): help='Use json as output format.') @click.pass_context @handle_preload_options -def control(ctx, command, timeout, destination, json): - """Send the COMMAND control command to the workers. +def control(ctx, action, timeout, destination, json): + """Workers remote control. Availability: RabbitMQ (AMQP), Redis, and MongoDB transports. """ - _verify_command_name('control', command) callback = None if json else partial(_say_remote_command_reply, ctx, show_reply=True) args = ctx.args - arguments = _compile_arguments(command, args) - replies = ctx.obj.app.control.broadcast(command, timeout=timeout, + arguments = _compile_arguments(action, args) + replies = ctx.obj.app.control.broadcast(action, timeout=timeout, destination=destination, callback=callback, reply=True, diff --git a/venv/lib/python3.12/site-packages/celery/canvas.py b/venv/lib/python3.12/site-packages/celery/canvas.py index da395c1..a4007f0 100644 --- a/venv/lib/python3.12/site-packages/celery/canvas.py +++ b/venv/lib/python3.12/site-packages/celery/canvas.py @@ -396,7 +396,7 @@ class Signature(dict): else: args, kwargs, options = self.args, self.kwargs, self.options # pylint: disable=too-many-function-args - # Works on this, as it's a property + # Borks on this, as it's a property return _apply(args, kwargs, **options) def _merge(self, args=None, kwargs=None, options=None, force=False): @@ -515,7 +515,7 @@ class Signature(dict): if group_index is not None: opts['group_index'] = group_index # pylint: disable=too-many-function-args - # Works on this, as it's a property. + # Borks on this, as it's a property. return self.AsyncResult(tid) _freeze = freeze @@ -958,8 +958,6 @@ class _chain(Signature): if isinstance(other, group): # unroll group with one member other = maybe_unroll_group(other) - if not isinstance(other, group): - return self.__or__(other) # chain | group() -> chain tasks = self.unchain_tasks() if not tasks: @@ -974,20 +972,15 @@ class _chain(Signature): tasks, other), app=self._app) elif isinstance(other, _chain): # chain | chain -> chain - return reduce(operator.or_, other.unchain_tasks(), self) + # use type(self) for _chain subclasses + return type(self)(seq_concat_seq( + self.unchain_tasks(), other.unchain_tasks()), app=self._app) elif isinstance(other, Signature): if self.tasks and isinstance(self.tasks[-1], group): # CHAIN [last item is group] | TASK -> chord sig = self.clone() sig.tasks[-1] = chord( sig.tasks[-1], other, app=self._app) - # In the scenario where the second-to-last item in a chain is a chord, - # it leads to a situation where two consecutive chords are formed. - # In such cases, a further upgrade can be considered. - # This would involve chaining the body of the second-to-last chord with the last chord." - if len(sig.tasks) > 1 and isinstance(sig.tasks[-2], chord): - sig.tasks[-2].body = sig.tasks[-2].body | sig.tasks[-1] - sig.tasks = sig.tasks[:-1] return sig elif self.tasks and isinstance(self.tasks[-1], chord): # CHAIN [last item is chord] -> chain with chord body. @@ -1223,12 +1216,6 @@ class _chain(Signature): task, body=prev_task, root_id=root_id, app=app, ) - if tasks: - prev_task = tasks[-1] - prev_res = results[-1] - else: - prev_task = None - prev_res = None if is_last_task: # chain(task_id=id) means task id is set for the last task @@ -1274,7 +1261,6 @@ class _chain(Signature): while node.parent: node = node.parent prev_res = node - self.id = last_task_id return tasks, results def apply(self, args=None, kwargs=None, **options): @@ -1686,8 +1672,6 @@ class group(Signature): # # We return a concretised tuple of the signatures actually applied to # each child task signature, of which there might be none! - sig = maybe_signature(sig) - return tuple(child_task.link_error(sig.clone(immutable=True)) for child_task in self.tasks) def _prepared(self, tasks, partial_args, group_id, root_id, app, @@ -2287,8 +2271,6 @@ class _chord(Signature): ``False`` (the current default), then the error callback will only be applied to the body. """ - errback = maybe_signature(errback) - if self.app.conf.task_allow_error_cb_on_chord_header: for task in maybe_list(self.tasks) or []: task.link_error(errback.clone(immutable=True)) @@ -2307,13 +2289,6 @@ class _chord(Signature): CPendingDeprecationWarning ) - # Edge case for nested chords in the header - for task in maybe_list(self.tasks) or []: - if isinstance(task, chord): - # Let the nested chord do the error linking itself on its - # header and body where needed, based on the current configuration - task.link_error(errback) - self.body.link_error(errback) return errback diff --git a/venv/lib/python3.12/site-packages/celery/concurrency/asynpool.py b/venv/lib/python3.12/site-packages/celery/concurrency/asynpool.py index dd2f068..c024e68 100644 --- a/venv/lib/python3.12/site-packages/celery/concurrency/asynpool.py +++ b/venv/lib/python3.12/site-packages/celery/concurrency/asynpool.py @@ -103,35 +103,26 @@ def _get_job_writer(job): return writer() # is a weakref -def _ensure_integral_fd(fd): - return fd if isinstance(fd, Integral) else fd.fileno() - - if hasattr(select, 'poll'): def _select_imp(readers=None, writers=None, err=None, timeout=0, poll=select.poll, POLLIN=select.POLLIN, POLLOUT=select.POLLOUT, POLLERR=select.POLLERR): poller = poll() register = poller.register - fd_to_mask = {} if readers: - for fd in map(_ensure_integral_fd, readers): - fd_to_mask[fd] = fd_to_mask.get(fd, 0) | POLLIN + [register(fd, POLLIN) for fd in readers] if writers: - for fd in map(_ensure_integral_fd, writers): - fd_to_mask[fd] = fd_to_mask.get(fd, 0) | POLLOUT + [register(fd, POLLOUT) for fd in writers] if err: - for fd in map(_ensure_integral_fd, err): - fd_to_mask[fd] = fd_to_mask.get(fd, 0) | POLLERR - - for fd, event_mask in fd_to_mask.items(): - register(fd, event_mask) + [register(fd, POLLERR) for fd in err] R, W = set(), set() timeout = 0 if timeout and timeout < 0 else round(timeout * 1e3) events = poller.poll(timeout) for fd, event in events: + if not isinstance(fd, Integral): + fd = fd.fileno() if event & POLLIN: R.add(fd) if event & POLLOUT: @@ -203,7 +194,7 @@ def iterate_file_descriptors_safely(fds_iter, source_data, or possibly other reasons, so safely manage our lists of FDs. :param fds_iter: the file descriptors to iterate and apply hub_method :param source_data: data source to remove FD if it renders OSError - :param hub_method: the method to call with each fd and kwargs + :param hub_method: the method to call with with each fd and kwargs :*args to pass through to the hub_method; with a special syntax string '*fd*' represents a substitution for the current fd object in the iteration (for some callers). @@ -781,7 +772,7 @@ class AsynPool(_pool.Pool): None, WRITE | ERR, consolidate=True) else: iterate_file_descriptors_safely( - inactive, all_inqueues, hub.remove_writer) + inactive, all_inqueues, hub_remove) self.on_poll_start = on_poll_start def on_inqueue_close(fd, proc): @@ -827,7 +818,7 @@ class AsynPool(_pool.Pool): # worker is already busy with another task continue if ready_fd not in all_inqueues: - hub.remove_writer(ready_fd) + hub_remove(ready_fd) continue try: job = pop_message() @@ -838,7 +829,7 @@ class AsynPool(_pool.Pool): # this may create a spinloop where the event loop # always wakes up. for inqfd in diff(active_writes): - hub.remove_writer(inqfd) + hub_remove(inqfd) break else: @@ -936,7 +927,7 @@ class AsynPool(_pool.Pool): else: errors = 0 finally: - hub.remove_writer(fd) + hub_remove(fd) write_stats[proc.index] += 1 # message written, so this fd is now available active_writes.discard(fd) diff --git a/venv/lib/python3.12/site-packages/celery/concurrency/gevent.py b/venv/lib/python3.12/site-packages/celery/concurrency/gevent.py index fd58e91..b0ea7e6 100644 --- a/venv/lib/python3.12/site-packages/celery/concurrency/gevent.py +++ b/venv/lib/python3.12/site-packages/celery/concurrency/gevent.py @@ -1,6 +1,4 @@ """Gevent execution pool.""" -import functools -import types from time import monotonic from kombu.asynchronous import timer as _timer @@ -18,22 +16,15 @@ __all__ = ('TaskPool',) # We cache globals and attribute lookups, so disable this warning. -def apply_target(target, args=(), kwargs=None, callback=None, - accept_callback=None, getpid=None, **_): - kwargs = {} if not kwargs else kwargs - return base.apply_target(target, args, kwargs, callback, accept_callback, - pid=getpid(), **_) - - def apply_timeout(target, args=(), kwargs=None, callback=None, - accept_callback=None, getpid=None, timeout=None, + accept_callback=None, pid=None, timeout=None, timeout_callback=None, Timeout=Timeout, apply_target=base.apply_target, **rest): kwargs = {} if not kwargs else kwargs try: with Timeout(timeout): return apply_target(target, args, kwargs, callback, - accept_callback, getpid(), + accept_callback, pid, propagate=(Timeout,), **rest) except Timeout: return timeout_callback(False, timeout) @@ -91,22 +82,18 @@ class TaskPool(base.BasePool): is_green = True task_join_will_block = False _pool = None - _pool_map = None _quick_put = None def __init__(self, *args, **kwargs): - from gevent import getcurrent, spawn_raw + from gevent import spawn_raw from gevent.pool import Pool self.Pool = Pool - self.getcurrent = getcurrent - self.getpid = lambda: id(getcurrent()) self.spawn_n = spawn_raw self.timeout = kwargs.get('timeout') super().__init__(*args, **kwargs) def on_start(self): self._pool = self.Pool(self.limit) - self._pool_map = {} self._quick_put = self._pool.spawn def on_stop(self): @@ -115,15 +102,12 @@ class TaskPool(base.BasePool): def on_apply(self, target, args=None, kwargs=None, callback=None, accept_callback=None, timeout=None, - timeout_callback=None, apply_target=apply_target, **_): + timeout_callback=None, apply_target=base.apply_target, **_): timeout = self.timeout if timeout is None else timeout - target = self._make_killable_target(target) - greenlet = self._quick_put(apply_timeout if timeout else apply_target, - target, args, kwargs, callback, accept_callback, - self.getpid, timeout=timeout, timeout_callback=timeout_callback) - self._add_to_pool_map(id(greenlet), greenlet) - greenlet.terminate = types.MethodType(_terminate, greenlet) - return greenlet + return self._quick_put(apply_timeout if timeout else apply_target, + target, args, kwargs, callback, accept_callback, + timeout=timeout, + timeout_callback=timeout_callback) def grow(self, n=1): self._pool._semaphore.counter += n @@ -133,39 +117,6 @@ class TaskPool(base.BasePool): self._pool._semaphore.counter -= n self._pool.size -= n - def terminate_job(self, pid, signal=None): - import gevent - - if pid in self._pool_map: - greenlet = self._pool_map[pid] - gevent.kill(greenlet) - @property def num_processes(self): return len(self._pool) - - @staticmethod - def _make_killable_target(target): - def killable_target(*args, **kwargs): - from greenlet import GreenletExit - try: - return target(*args, **kwargs) - except GreenletExit: - return (False, None, None) - - return killable_target - - def _add_to_pool_map(self, pid, greenlet): - self._pool_map[pid] = greenlet - greenlet.link( - functools.partial(self._cleanup_after_job_finish, pid=pid, pool_map=self._pool_map), - ) - - @staticmethod - def _cleanup_after_job_finish(greenlet, pool_map, pid): - del pool_map[pid] - - -def _terminate(self, signal): - # Done in `TaskPool.terminate_job` - pass diff --git a/venv/lib/python3.12/site-packages/celery/contrib/django/task.py b/venv/lib/python3.12/site-packages/celery/contrib/django/task.py deleted file mode 100644 index b0dc667..0000000 --- a/venv/lib/python3.12/site-packages/celery/contrib/django/task.py +++ /dev/null @@ -1,21 +0,0 @@ -import functools - -from django.db import transaction - -from celery.app.task import Task - - -class DjangoTask(Task): - """ - Extend the base :class:`~celery.app.task.Task` for Django. - - Provide a nicer API to trigger tasks at the end of the DB transaction. - """ - - def delay_on_commit(self, *args, **kwargs) -> None: - """Call :meth:`~celery.app.task.Task.delay` with Django's ``on_commit()``.""" - transaction.on_commit(functools.partial(self.delay, *args, **kwargs)) - - def apply_async_on_commit(self, *args, **kwargs) -> None: - """Call :meth:`~celery.app.task.Task.apply_async` with Django's ``on_commit()``.""" - transaction.on_commit(functools.partial(self.apply_async, *args, **kwargs)) diff --git a/venv/lib/python3.12/site-packages/celery/contrib/testing/worker.py b/venv/lib/python3.12/site-packages/celery/contrib/testing/worker.py index 46eac75..fa8f688 100644 --- a/venv/lib/python3.12/site-packages/celery/contrib/testing/worker.py +++ b/venv/lib/python3.12/site-packages/celery/contrib/testing/worker.py @@ -3,10 +3,10 @@ import logging import os import threading from contextlib import contextmanager -from typing import Any, Iterable, Optional, Union +from typing import Any, Iterable, Union # noqa import celery.worker.consumer # noqa -from celery import Celery, worker +from celery import Celery, worker # noqa from celery.result import _set_task_join_will_block, allow_join_result from celery.utils.dispatch import Signal from celery.utils.nodenames import anon_nodename @@ -30,10 +30,6 @@ test_worker_stopped = Signal( class TestWorkController(worker.WorkController): """Worker that can synchronize on being fully started.""" - # When this class is imported in pytest files, prevent pytest from thinking - # this is a test class - __test__ = False - logger_queue = None def __init__(self, *args, **kwargs): @@ -135,15 +131,16 @@ def start_worker( @contextmanager -def _start_worker_thread(app: Celery, - concurrency: int = 1, - pool: str = 'solo', - loglevel: Union[str, int] = WORKER_LOGLEVEL, - logfile: Optional[str] = None, - WorkController: Any = TestWorkController, - perform_ping_check: bool = True, - shutdown_timeout: float = 10.0, - **kwargs) -> Iterable[worker.WorkController]: +def _start_worker_thread(app, + concurrency=1, + pool='solo', + loglevel=WORKER_LOGLEVEL, + logfile=None, + WorkController=TestWorkController, + perform_ping_check=True, + shutdown_timeout=10.0, + **kwargs): + # type: (Celery, int, str, Union[str, int], str, Any, **Any) -> Iterable """Start Celery worker in a thread. Yields: @@ -159,7 +156,7 @@ def _start_worker_thread(app: Celery, worker = WorkController( app=app, concurrency=concurrency, - hostname=kwargs.pop("hostname", anon_nodename()), + hostname=anon_nodename(), pool=pool, loglevel=loglevel, logfile=logfile, @@ -214,7 +211,8 @@ def _start_worker_process(app, cluster.stopwait() -def setup_app_for_worker(app: Celery, loglevel: Union[str, int], logfile: str) -> None: +def setup_app_for_worker(app, loglevel, logfile) -> None: + # type: (Celery, Union[str, int], str) -> None """Setup the app to be used for starting an embedded worker.""" app.finalize() app.set_current() diff --git a/venv/lib/python3.12/site-packages/celery/events/event.py b/venv/lib/python3.12/site-packages/celery/events/event.py index fd2ee1e..a05ed70 100644 --- a/venv/lib/python3.12/site-packages/celery/events/event.py +++ b/venv/lib/python3.12/site-packages/celery/events/event.py @@ -55,7 +55,7 @@ def get_exchange(conn, name=EVENT_EXCHANGE_NAME): (from topic -> fanout). """ ex = copy(event_exchange) - if conn.transport.driver_type in {'redis', 'gcpubsub'}: + if conn.transport.driver_type == 'redis': # quick hack for Issue #436 ex.type = 'fanout' if name != ex.name: diff --git a/venv/lib/python3.12/site-packages/celery/fixups/django.py b/venv/lib/python3.12/site-packages/celery/fixups/django.py index b354994..473c3b6 100644 --- a/venv/lib/python3.12/site-packages/celery/fixups/django.py +++ b/venv/lib/python3.12/site-packages/celery/fixups/django.py @@ -2,7 +2,7 @@ import os import sys import warnings -from datetime import datetime, timezone +from datetime import datetime from importlib import import_module from typing import IO, TYPE_CHECKING, Any, List, Optional, cast @@ -16,7 +16,6 @@ if TYPE_CHECKING: from types import ModuleType from typing import Protocol - from django.db.backends.base.base import BaseDatabaseWrapper from django.db.utils import ConnectionHandler from celery.app.base import Celery @@ -79,9 +78,6 @@ class DjangoFixup: self._settings = symbol_by_name('django.conf:settings') self.app.loader.now = self.now - if not self.app._custom_task_cls_used: - self.app.task_cls = 'celery.contrib.django.task:DjangoTask' - signals.import_modules.connect(self.on_import_modules) signals.worker_init.connect(self.on_worker_init) return self @@ -104,7 +100,7 @@ class DjangoFixup: self.worker_fixup.install() def now(self, utc: bool = False) -> datetime: - return datetime.now(timezone.utc) if utc else self._now() + return datetime.utcnow() if utc else self._now() def autodiscover_tasks(self) -> List[str]: from django.apps import apps @@ -165,16 +161,15 @@ class DjangoWorkerFixup: # network IO that close() might cause. for c in self._db.connections.all(): if c and c.connection: - self._maybe_close_db_fd(c) + self._maybe_close_db_fd(c.connection) # use the _ version to avoid DB_REUSE preventing the conn.close() call self._close_database(force=True) self.close_cache() - def _maybe_close_db_fd(self, c: "BaseDatabaseWrapper") -> None: + def _maybe_close_db_fd(self, fd: IO) -> None: try: - with c.wrap_database_errors: - _maybe_close_fd(c.connection) + _maybe_close_fd(fd) except self.interface_errors: pass diff --git a/venv/lib/python3.12/site-packages/celery/loaders/base.py b/venv/lib/python3.12/site-packages/celery/loaders/base.py index 01e8425..aa7139c 100644 --- a/venv/lib/python3.12/site-packages/celery/loaders/base.py +++ b/venv/lib/python3.12/site-packages/celery/loaders/base.py @@ -3,7 +3,7 @@ import importlib import os import re import sys -from datetime import datetime, timezone +from datetime import datetime from kombu.utils import json from kombu.utils.objects import cached_property @@ -62,7 +62,7 @@ class BaseLoader: def now(self, utc=True): if utc: - return datetime.now(timezone.utc) + return datetime.utcnow() return datetime.now() def on_task_init(self, task_id, task): @@ -253,12 +253,10 @@ def find_related_module(package, related_name): # Django 1.7 allows for specifying a class name in INSTALLED_APPS. # (Issue #2248). try: - # Return package itself when no related_name. module = importlib.import_module(package) if not related_name and module: return module - except ModuleNotFoundError: - # On import error, try to walk package up one level. + except ImportError: package, _, _ = package.rpartition('.') if not package: raise @@ -266,13 +264,9 @@ def find_related_module(package, related_name): module_name = f'{package}.{related_name}' try: - # Try to find related_name under package. return importlib.import_module(module_name) - except ModuleNotFoundError as e: - import_exc_name = getattr(e, 'name', None) - # If candidate does not exist, then return None. - if import_exc_name and module_name == import_exc_name: - return - - # Otherwise, raise because error probably originated from a nested import. - raise e + except ImportError as e: + import_exc_name = getattr(e, 'name', module_name) + if import_exc_name is not None and import_exc_name != module_name: + raise e + return diff --git a/venv/lib/python3.12/site-packages/celery/local.py b/venv/lib/python3.12/site-packages/celery/local.py index 34eafff..7bbe615 100644 --- a/venv/lib/python3.12/site-packages/celery/local.py +++ b/venv/lib/python3.12/site-packages/celery/local.py @@ -397,6 +397,7 @@ COMPAT_MODULES = { }, 'log': { 'get_default_logger': 'log.get_default_logger', + 'setup_logger': 'log.setup_logger', 'setup_logging_subsystem': 'log.setup_logging_subsystem', 'redirect_stdouts_to_logger': 'log.redirect_stdouts_to_logger', }, diff --git a/venv/lib/python3.12/site-packages/celery/platforms.py b/venv/lib/python3.12/site-packages/celery/platforms.py index c0d0438..f424ac3 100644 --- a/venv/lib/python3.12/site-packages/celery/platforms.py +++ b/venv/lib/python3.12/site-packages/celery/platforms.py @@ -42,7 +42,7 @@ __all__ = ( 'DaemonContext', 'detached', 'parse_uid', 'parse_gid', 'setgroups', 'initgroups', 'setgid', 'setuid', 'maybe_drop_privileges', 'signals', 'signal_name', 'set_process_title', 'set_mp_process_title', - 'get_errno_name', 'ignore_errno', 'fd_by_path', 'isatty', + 'get_errno_name', 'ignore_errno', 'fd_by_path', ) # exitcodes @@ -95,14 +95,6 @@ SIGNAMES = { SIGMAP = {getattr(_signal, name): name for name in SIGNAMES} -def isatty(fh): - """Return true if the process has a controlling terminal.""" - try: - return fh.isatty() - except AttributeError: - pass - - def pyimplementation(): """Return string identifying the current Python implementation.""" if hasattr(_platform, 'python_implementation'): @@ -194,14 +186,10 @@ class Pidfile: if not pid: self.remove() return True - if pid == os.getpid(): - # this can be common in k8s pod with PID of 1 - don't kill - self.remove() - return True try: os.kill(pid, 0) - except OSError as exc: + except os.error as exc: if exc.errno == errno.ESRCH or exc.errno == errno.EPERM: print('Stale pidfile exists - Removing it.', file=sys.stderr) self.remove() diff --git a/venv/lib/python3.12/site-packages/celery/result.py b/venv/lib/python3.12/site-packages/celery/result.py index 75512c5..0c9e0a3 100644 --- a/venv/lib/python3.12/site-packages/celery/result.py +++ b/venv/lib/python3.12/site-packages/celery/result.py @@ -6,7 +6,6 @@ from collections import deque from contextlib import contextmanager from weakref import proxy -from dateutil.parser import isoparse from kombu.utils.objects import cached_property from vine import Thenable, barrier, promise @@ -533,7 +532,7 @@ class AsyncResult(ResultBase): """UTC date and time.""" date_done = self._get_task_meta().get('date_done') if date_done and not isinstance(date_done, datetime.datetime): - return isoparse(date_done) + return datetime.datetime.fromisoformat(date_done) return date_done @property @@ -984,14 +983,13 @@ class GroupResult(ResultSet): class EagerResult(AsyncResult): """Result that we know has already been executed.""" - def __init__(self, id, ret_value, state, traceback=None, name=None): + def __init__(self, id, ret_value, state, traceback=None): # pylint: disable=super-init-not-called # XXX should really not be inheriting from AsyncResult self.id = id self._result = ret_value self._state = state self._traceback = traceback - self._name = name self.on_ready = promise() self.on_ready(self) @@ -1044,7 +1042,6 @@ class EagerResult(AsyncResult): 'result': self._result, 'status': self._state, 'traceback': self._traceback, - 'name': self._name, } @property diff --git a/venv/lib/python3.12/site-packages/celery/schedules.py b/venv/lib/python3.12/site-packages/celery/schedules.py index 010b339..b35436a 100644 --- a/venv/lib/python3.12/site-packages/celery/schedules.py +++ b/venv/lib/python3.12/site-packages/celery/schedules.py @@ -4,8 +4,9 @@ from __future__ import annotations import re from bisect import bisect, bisect_left from collections import namedtuple +from collections.abc import Iterable from datetime import datetime, timedelta, tzinfo -from typing import Any, Callable, Iterable, Mapping, Sequence, Union +from typing import Any, Callable, Mapping, Sequence from kombu.utils.objects import cached_property @@ -14,7 +15,7 @@ from celery import Celery from . import current_app from .utils.collections import AttributeDict from .utils.time import (ffwd, humanize_seconds, localize, maybe_make_aware, maybe_timedelta, remaining, timezone, - weekday, yearmonth) + weekday) __all__ = ( 'ParseException', 'schedule', 'crontab', 'crontab_parser', @@ -51,10 +52,7 @@ Argument event "{event}" is invalid, must be one of {all_events}.\ """ -Cronspec = Union[int, str, Iterable[int]] - - -def cronfield(s: Cronspec | None) -> Cronspec: +def cronfield(s: str) -> str: return '*' if s is None else s @@ -302,12 +300,9 @@ class crontab_parser: i = int(s) except ValueError: try: - i = yearmonth(s) + i = weekday(s) except KeyError: - try: - i = weekday(s) - except KeyError: - raise ValueError(f'Invalid weekday literal {s!r}.') + raise ValueError(f'Invalid weekday literal {s!r}.') max_val = self.min_ + self.max_ - 1 if i > max_val: @@ -398,8 +393,8 @@ class crontab(BaseSchedule): present in ``month_of_year``. """ - def __init__(self, minute: Cronspec = '*', hour: Cronspec = '*', day_of_week: Cronspec = '*', - day_of_month: Cronspec = '*', month_of_year: Cronspec = '*', **kwargs: Any) -> None: + def __init__(self, minute: str = '*', hour: str = '*', day_of_week: str = '*', + day_of_month: str = '*', month_of_year: str = '*', **kwargs: Any) -> None: self._orig_minute = cronfield(minute) self._orig_hour = cronfield(hour) self._orig_day_of_week = cronfield(day_of_week) @@ -413,26 +408,9 @@ class crontab(BaseSchedule): self.month_of_year = self._expand_cronspec(month_of_year, 12, 1) super().__init__(**kwargs) - @classmethod - def from_string(cls, crontab: str) -> crontab: - """ - Create a Crontab from a cron expression string. For example ``crontab.from_string('* * * * *')``. - - .. code-block:: text - - ┌───────────── minute (0–59) - │ ┌───────────── hour (0–23) - │ │ ┌───────────── day of the month (1–31) - │ │ │ ┌───────────── month (1–12) - │ │ │ │ ┌───────────── day of the week (0–6) (Sunday to Saturday) - * * * * * - """ - minute, hour, day_of_month, month_of_year, day_of_week = crontab.split(" ") - return cls(minute, hour, day_of_week, day_of_month, month_of_year) - @staticmethod def _expand_cronspec( - cronspec: Cronspec, + cronspec: int | str | Iterable, max_: int, min_: int = 0) -> set[Any]: """Expand cron specification. @@ -557,7 +535,7 @@ class crontab(BaseSchedule): def __repr__(self) -> str: return CRON_REPR.format(self) - def __reduce__(self) -> tuple[type, tuple[Cronspec, Cronspec, Cronspec, Cronspec, Cronspec], Any]: + def __reduce__(self) -> tuple[type, tuple[str, str, str, str, str], Any]: return (self.__class__, (self._orig_minute, self._orig_hour, self._orig_day_of_week, diff --git a/venv/lib/python3.12/site-packages/celery/security/certificate.py b/venv/lib/python3.12/site-packages/celery/security/certificate.py index edaa764..80398b3 100644 --- a/venv/lib/python3.12/site-packages/celery/security/certificate.py +++ b/venv/lib/python3.12/site-packages/celery/security/certificate.py @@ -43,7 +43,7 @@ class Certificate: def has_expired(self) -> bool: """Check if the certificate has expired.""" - return datetime.datetime.now(datetime.timezone.utc) >= self._cert.not_valid_after_utc + return datetime.datetime.utcnow() >= self._cert.not_valid_after def get_pubkey(self) -> ( DSAPublicKey | EllipticCurvePublicKey | Ed448PublicKey | Ed25519PublicKey | RSAPublicKey diff --git a/venv/lib/python3.12/site-packages/celery/security/serialization.py b/venv/lib/python3.12/site-packages/celery/security/serialization.py index 7b7dc12..c58ef90 100644 --- a/venv/lib/python3.12/site-packages/celery/security/serialization.py +++ b/venv/lib/python3.12/site-packages/celery/security/serialization.py @@ -11,11 +11,6 @@ from .utils import get_digest_algorithm, reraise_errors __all__ = ('SecureSerializer', 'register_auth') -# Note: we guarantee that this value won't appear in the serialized data, -# so we can use it as a separator. -# If you change this value, make sure it's not present in the serialized data. -DEFAULT_SEPARATOR = str_to_bytes("\x00\x01") - class SecureSerializer: """Signed serializer.""" @@ -34,8 +29,7 @@ class SecureSerializer: assert self._cert is not None with reraise_errors('Unable to serialize: {0!r}', (Exception,)): content_type, content_encoding, body = dumps( - data, serializer=self._serializer) - + bytes_to_str(data), serializer=self._serializer) # What we sign is the serialized body, not the body itself. # this way the receiver doesn't have to decode the contents # to verify the signature (and thus avoiding potential flaws @@ -54,26 +48,43 @@ class SecureSerializer: payload['signer'], payload['body']) self._cert_store[signer].verify(body, signature, self._digest) - return loads(body, payload['content_type'], + return loads(bytes_to_str(body), payload['content_type'], payload['content_encoding'], force=True) def _pack(self, body, content_type, content_encoding, signer, signature, - sep=DEFAULT_SEPARATOR): + sep=str_to_bytes('\x00\x01')): fields = sep.join( - ensure_bytes(s) for s in [b64encode(signer), b64encode(signature), - content_type, content_encoding, body] + ensure_bytes(s) for s in [signer, signature, content_type, + content_encoding, body] ) return b64encode(fields) - def _unpack(self, payload, sep=DEFAULT_SEPARATOR): + def _unpack(self, payload, sep=str_to_bytes('\x00\x01')): raw_payload = b64decode(ensure_bytes(payload)) - v = raw_payload.split(sep, maxsplit=4) + first_sep = raw_payload.find(sep) + + signer = raw_payload[:first_sep] + signer_cert = self._cert_store[signer] + + # shift 3 bits right to get signature length + # 2048bit rsa key has a signature length of 256 + # 4096bit rsa key has a signature length of 512 + sig_len = signer_cert.get_pubkey().key_size >> 3 + sep_len = len(sep) + signature_start_position = first_sep + sep_len + signature_end_position = signature_start_position + sig_len + signature = raw_payload[ + signature_start_position:signature_end_position + ] + + v = raw_payload[signature_end_position + sep_len:].split(sep) + return { - 'signer': b64decode(v[0]), - 'signature': b64decode(v[1]), - 'content_type': bytes_to_str(v[2]), - 'content_encoding': bytes_to_str(v[3]), - 'body': v[4], + 'signer': signer, + 'signature': signature, + 'content_type': bytes_to_str(v[0]), + 'content_encoding': bytes_to_str(v[1]), + 'body': bytes_to_str(v[2]), } diff --git a/venv/lib/python3.12/site-packages/celery/utils/annotations.py b/venv/lib/python3.12/site-packages/celery/utils/annotations.py deleted file mode 100644 index 38a549c..0000000 --- a/venv/lib/python3.12/site-packages/celery/utils/annotations.py +++ /dev/null @@ -1,49 +0,0 @@ -"""Code related to handling annotations.""" - -import sys -import types -import typing -from inspect import isclass - - -def is_none_type(value: typing.Any) -> bool: - """Check if the given value is a NoneType.""" - if sys.version_info < (3, 10): - # raise Exception('below 3.10', value, type(None)) - return value is type(None) - return value == types.NoneType # type: ignore[no-any-return] - - -def get_optional_arg(annotation: typing.Any) -> typing.Any: - """Get the argument from an Optional[...] annotation, or None if it is no such annotation.""" - origin = typing.get_origin(annotation) - if origin != typing.Union and (sys.version_info >= (3, 10) and origin != types.UnionType): - return None - - union_args = typing.get_args(annotation) - if len(union_args) != 2: # Union does _not_ have two members, so it's not an Optional - return None - - has_none_arg = any(is_none_type(arg) for arg in union_args) - # There will always be at least one type arg, as we have already established that this is a Union with exactly - # two members, and both cannot be None (`Union[None, None]` does not work). - type_arg = next(arg for arg in union_args if not is_none_type(arg)) # pragma: no branch - - if has_none_arg: - return type_arg - return None - - -def annotation_is_class(annotation: typing.Any) -> bool: - """Test if a given annotation is a class that can be used in isinstance()/issubclass().""" - # isclass() returns True for generic type hints (e.g. `list[str]`) until Python 3.10. - # NOTE: The guard for Python 3.9 is because types.GenericAlias is only added in Python 3.9. This is not a problem - # as the syntax is added in the same version in the first place. - if (3, 9) <= sys.version_info < (3, 11) and isinstance(annotation, types.GenericAlias): - return False - return isclass(annotation) - - -def annotation_issubclass(annotation: typing.Any, cls: type) -> bool: - """Test if a given annotation is of the given subclass.""" - return annotation_is_class(annotation) and issubclass(annotation, cls) diff --git a/venv/lib/python3.12/site-packages/celery/utils/collections.py b/venv/lib/python3.12/site-packages/celery/utils/collections.py index 396ed81..6fb559a 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/collections.py +++ b/venv/lib/python3.12/site-packages/celery/utils/collections.py @@ -595,7 +595,8 @@ class LimitedSet: break # oldest item hasn't expired yet self.pop() - def pop(self, default: Any = None) -> Any: + def pop(self, default=None) -> Any: + # type: (Any) -> Any """Remove and return the oldest item, or :const:`None` when empty.""" while self._heap: _, item = heappop(self._heap) diff --git a/venv/lib/python3.12/site-packages/celery/utils/dispatch/signal.py b/venv/lib/python3.12/site-packages/celery/utils/dispatch/signal.py index ad8047e..0cfa612 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/dispatch/signal.py +++ b/venv/lib/python3.12/site-packages/celery/utils/dispatch/signal.py @@ -54,9 +54,6 @@ def _boundmethod_safe_weakref(obj): def _make_lookup_key(receiver, sender, dispatch_uid): if dispatch_uid: return (dispatch_uid, _make_id(sender)) - # Issue #9119 - retry-wrapped functions use the underlying function for dispatch_uid - elif hasattr(receiver, '_dispatch_uid'): - return (receiver._dispatch_uid, _make_id(sender)) else: return (_make_id(receiver), _make_id(sender)) @@ -173,7 +170,6 @@ class Signal: # pragma: no cover # it up later with the original func id options['dispatch_uid'] = _make_id(fun) fun = _retry_receiver(fun) - fun._dispatch_uid = options['dispatch_uid'] self._connect_signal(fun, sender, options['weak'], options['dispatch_uid']) diff --git a/venv/lib/python3.12/site-packages/celery/utils/imports.py b/venv/lib/python3.12/site-packages/celery/utils/imports.py index 676a451..390b22c 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/imports.py +++ b/venv/lib/python3.12/site-packages/celery/utils/imports.py @@ -51,13 +51,8 @@ def instantiate(name, *args, **kwargs): @contextmanager def cwd_in_path(): """Context adding the current working directory to sys.path.""" - try: - cwd = os.getcwd() - except FileNotFoundError: - cwd = None - if not cwd: - yield - elif cwd in sys.path: + cwd = os.getcwd() + if cwd in sys.path: yield else: sys.path.insert(0, cwd) diff --git a/venv/lib/python3.12/site-packages/celery/utils/iso8601.py b/venv/lib/python3.12/site-packages/celery/utils/iso8601.py index f878bec..ffe342b 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/iso8601.py +++ b/venv/lib/python3.12/site-packages/celery/utils/iso8601.py @@ -50,9 +50,9 @@ TIMEZONE_REGEX = re.compile( ) -def parse_iso8601(datestring: str) -> datetime: +def parse_iso8601(datestring): """Parse and convert ISO-8601 string to datetime.""" - warn("parse_iso8601", "v5.3", "v6", "datetime.datetime.fromisoformat or dateutil.parser.isoparse") + warn("parse_iso8601", "v5.3", "v6", "datetime.datetime.fromisoformat") m = ISO8601_REGEX.match(datestring) if not m: raise ValueError('unable to parse date string %r' % datestring) diff --git a/venv/lib/python3.12/site-packages/celery/utils/log.py b/venv/lib/python3.12/site-packages/celery/utils/log.py index f67a3dd..4e8fc11 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/log.py +++ b/venv/lib/python3.12/site-packages/celery/utils/log.py @@ -37,7 +37,7 @@ base_logger = logger = _get_logger('celery') def set_in_sighandler(value): - """Set flag signifying that we're inside a signal handler.""" + """Set flag signifiying that we're inside a signal handler.""" global _in_sighandler _in_sighandler = value diff --git a/venv/lib/python3.12/site-packages/celery/utils/nodenames.py b/venv/lib/python3.12/site-packages/celery/utils/nodenames.py index 91509a4..b3d1a52 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/nodenames.py +++ b/venv/lib/python3.12/site-packages/celery/utils/nodenames.py @@ -1,6 +1,4 @@ """Worker name utilities.""" -from __future__ import annotations - import os import socket from functools import partial @@ -24,18 +22,13 @@ NODENAME_DEFAULT = 'celery' gethostname = memoize(1, Cache=dict)(socket.gethostname) __all__ = ( - 'worker_direct', - 'gethostname', - 'nodename', - 'anon_nodename', - 'nodesplit', - 'default_nodename', - 'node_format', - 'host_format', + 'worker_direct', 'gethostname', 'nodename', + 'anon_nodename', 'nodesplit', 'default_nodename', + 'node_format', 'host_format', ) -def worker_direct(hostname: str | Queue) -> Queue: +def worker_direct(hostname): """Return the :class:`kombu.Queue` being a direct route to a worker. Arguments: @@ -53,20 +46,21 @@ def worker_direct(hostname: str | Queue) -> Queue: ) -def nodename(name: str, hostname: str) -> str: +def nodename(name, hostname): """Create node name from name/hostname pair.""" return NODENAME_SEP.join((name, hostname)) -def anon_nodename(hostname: str | None = None, prefix: str = 'gen') -> str: +def anon_nodename(hostname=None, prefix='gen'): """Return the nodename for this process (not a worker). This is used for e.g. the origin task message field. """ - return nodename(''.join([prefix, str(os.getpid())]), hostname or gethostname()) + return nodename(''.join([prefix, str(os.getpid())]), + hostname or gethostname()) -def nodesplit(name: str) -> tuple[None, str] | list[str]: +def nodesplit(name): """Split node name into tuple of name/hostname.""" parts = name.split(NODENAME_SEP, 1) if len(parts) == 1: @@ -74,21 +68,21 @@ def nodesplit(name: str) -> tuple[None, str] | list[str]: return parts -def default_nodename(hostname: str) -> str: +def default_nodename(hostname): """Return the default nodename for this process.""" name, host = nodesplit(hostname or '') return nodename(name or NODENAME_DEFAULT, host or gethostname()) -def node_format(s: str, name: str, **extra: dict) -> str: +def node_format(s, name, **extra): """Format worker node name (name@host.com).""" shortname, host = nodesplit(name) - return host_format(s, host, shortname or NODENAME_DEFAULT, p=name, **extra) + return host_format( + s, host, shortname or NODENAME_DEFAULT, p=name, **extra) -def _fmt_process_index(prefix: str = '', default: str = '0') -> str: +def _fmt_process_index(prefix='', default='0'): from .log import current_process_index - index = current_process_index() return f'{prefix}{index}' if index else default @@ -96,19 +90,13 @@ def _fmt_process_index(prefix: str = '', default: str = '0') -> str: _fmt_process_index_with_prefix = partial(_fmt_process_index, '-', '') -def host_format(s: str, host: str | None = None, name: str | None = None, **extra: dict) -> str: +def host_format(s, host=None, name=None, **extra): """Format host %x abbreviations.""" host = host or gethostname() hname, _, domain = host.partition('.') name = name or hname - keys = dict( - { - 'h': host, - 'n': name, - 'd': domain, - 'i': _fmt_process_index, - 'I': _fmt_process_index_with_prefix, - }, - **extra, - ) + keys = dict({ + 'h': host, 'n': name, 'd': domain, + 'i': _fmt_process_index, 'I': _fmt_process_index_with_prefix, + }, **extra) return simple_format(s, keys) diff --git a/venv/lib/python3.12/site-packages/celery/utils/quorum_queues.py b/venv/lib/python3.12/site-packages/celery/utils/quorum_queues.py deleted file mode 100644 index 0eb058f..0000000 --- a/venv/lib/python3.12/site-packages/celery/utils/quorum_queues.py +++ /dev/null @@ -1,20 +0,0 @@ -from __future__ import annotations - - -def detect_quorum_queues(app, driver_type: str) -> tuple[bool, str]: - """Detect if any of the queues are quorum queues. - - Returns: - tuple[bool, str]: A tuple containing a boolean indicating if any of the queues are quorum queues - and the name of the first quorum queue found or an empty string if no quorum queues were found. - """ - is_rabbitmq_broker = driver_type == 'amqp' - - if is_rabbitmq_broker: - queues = app.amqp.queues - for qname in queues: - qarguments = queues[qname].queue_arguments or {} - if qarguments.get("x-queue-type") == "quorum": - return True, qname - - return False, "" diff --git a/venv/lib/python3.12/site-packages/celery/utils/saferepr.py b/venv/lib/python3.12/site-packages/celery/utils/saferepr.py index 9b37bc9..feddd41 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/saferepr.py +++ b/venv/lib/python3.12/site-packages/celery/utils/saferepr.py @@ -15,7 +15,7 @@ from decimal import Decimal from itertools import chain from numbers import Number from pprint import _recursion -from typing import Any, AnyStr, Callable, Dict, Iterator, List, Optional, Sequence, Set, Tuple # noqa +from typing import Any, AnyStr, Callable, Dict, Iterator, List, Sequence, Set, Tuple # noqa from .text import truncate @@ -41,7 +41,7 @@ _quoted = namedtuple('_quoted', ('value',)) #: Recursion protection. _dirty = namedtuple('_dirty', ('objid',)) -#: Types that are represented as chars. +#: Types that are repsented as chars. chars_t = (bytes, str) #: Types that are regarded as safe to call repr on. @@ -194,12 +194,9 @@ def _reprseq(val, lit_start, lit_end, builtin_type, chainer): ) -def reprstream(stack: deque, - seen: Optional[Set] = None, - maxlevels: int = 3, - level: int = 0, - isinstance: Callable = isinstance) -> Iterator[Any]: +def reprstream(stack, seen=None, maxlevels=3, level=0, isinstance=isinstance): """Streaming repr, yielding tokens.""" + # type: (deque, Set, int, int, Callable) -> Iterator[Any] seen = seen or set() append = stack.append popleft = stack.popleft diff --git a/venv/lib/python3.12/site-packages/celery/utils/sysinfo.py b/venv/lib/python3.12/site-packages/celery/utils/sysinfo.py index 52fc45e..57425dd 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/sysinfo.py +++ b/venv/lib/python3.12/site-packages/celery/utils/sysinfo.py @@ -1,6 +1,4 @@ """System information utilities.""" -from __future__ import annotations - import os from math import ceil @@ -11,16 +9,16 @@ __all__ = ('load_average', 'df') if hasattr(os, 'getloadavg'): - def _load_average() -> tuple[float, ...]: + def _load_average(): return tuple(ceil(l * 1e2) / 1e2 for l in os.getloadavg()) else: # pragma: no cover # Windows doesn't have getloadavg - def _load_average() -> tuple[float, ...]: - return 0.0, 0.0, 0.0, + def _load_average(): + return (0.0, 0.0, 0.0) -def load_average() -> tuple[float, ...]: +def load_average(): """Return system load average as a triple.""" return _load_average() @@ -28,23 +26,23 @@ def load_average() -> tuple[float, ...]: class df: """Disk information.""" - def __init__(self, path: str | bytes | os.PathLike) -> None: + def __init__(self, path): self.path = path @property - def total_blocks(self) -> float: + def total_blocks(self): return self.stat.f_blocks * self.stat.f_frsize / 1024 @property - def available(self) -> float: + def available(self): return self.stat.f_bavail * self.stat.f_frsize / 1024 @property - def capacity(self) -> int: + def capacity(self): avail = self.stat.f_bavail used = self.stat.f_blocks - self.stat.f_bfree return int(ceil(used * 100.0 / (used + avail) + 0.5)) @cached_property - def stat(self) -> os.statvfs_result: + def stat(self): return os.statvfs(os.path.abspath(self.path)) diff --git a/venv/lib/python3.12/site-packages/celery/utils/term.py b/venv/lib/python3.12/site-packages/celery/utils/term.py index ba6a321..a2eff99 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/term.py +++ b/venv/lib/python3.12/site-packages/celery/utils/term.py @@ -1,7 +1,6 @@ """Terminals and colors.""" -from __future__ import annotations - import base64 +import codecs import os import platform import sys @@ -9,8 +8,6 @@ from functools import reduce __all__ = ('colored',) -from typing import Any - BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8) OP_SEQ = '\033[%dm' RESET_SEQ = '\033[0m' @@ -29,7 +26,7 @@ _IMG_PRE = '\033Ptmux;\033\033]' if TERM_IS_SCREEN else '\033]' _IMG_POST = '\a\033\\' if TERM_IS_SCREEN else '\a' -def fg(s: int) -> str: +def fg(s): return COLOR_SEQ % s @@ -44,11 +41,11 @@ class colored: ... c.green('dog '))) """ - def __init__(self, *s: object, **kwargs: Any) -> None: - self.s: tuple[object, ...] = s - self.enabled: bool = not IS_WINDOWS and kwargs.get('enabled', True) - self.op: str = kwargs.get('op', '') - self.names: dict[str, Any] = { + def __init__(self, *s, **kwargs): + self.s = s + self.enabled = not IS_WINDOWS and kwargs.get('enabled', True) + self.op = kwargs.get('op', '') + self.names = { 'black': self.black, 'red': self.red, 'green': self.green, @@ -59,10 +56,10 @@ class colored: 'white': self.white, } - def _add(self, a: object, b: object) -> str: - return f"{a}{b}" + def _add(self, a, b): + return str(a) + str(b) - def _fold_no_color(self, a: Any, b: Any) -> str: + def _fold_no_color(self, a, b): try: A = a.no_color() except AttributeError: @@ -72,113 +69,109 @@ class colored: except AttributeError: B = str(b) - return f"{A}{B}" + return ''.join((str(A), str(B))) - def no_color(self) -> str: + def no_color(self): if self.s: return str(reduce(self._fold_no_color, self.s)) return '' - def embed(self) -> str: + def embed(self): prefix = '' if self.enabled: prefix = self.op - return f"{prefix}{reduce(self._add, self.s)}" + return ''.join((str(prefix), str(reduce(self._add, self.s)))) - def __str__(self) -> str: + def __str__(self): suffix = '' if self.enabled: suffix = RESET_SEQ - return f"{self.embed()}{suffix}" + return str(''.join((self.embed(), str(suffix)))) - def node(self, s: tuple[object, ...], op: str) -> colored: + def node(self, s, op): return self.__class__(enabled=self.enabled, op=op, *s) - def black(self, *s: object) -> colored: + def black(self, *s): return self.node(s, fg(30 + BLACK)) - def red(self, *s: object) -> colored: + def red(self, *s): return self.node(s, fg(30 + RED)) - def green(self, *s: object) -> colored: + def green(self, *s): return self.node(s, fg(30 + GREEN)) - def yellow(self, *s: object) -> colored: + def yellow(self, *s): return self.node(s, fg(30 + YELLOW)) - def blue(self, *s: object) -> colored: + def blue(self, *s): return self.node(s, fg(30 + BLUE)) - def magenta(self, *s: object) -> colored: + def magenta(self, *s): return self.node(s, fg(30 + MAGENTA)) - def cyan(self, *s: object) -> colored: + def cyan(self, *s): return self.node(s, fg(30 + CYAN)) - def white(self, *s: object) -> colored: + def white(self, *s): return self.node(s, fg(30 + WHITE)) - def __repr__(self) -> str: + def __repr__(self): return repr(self.no_color()) - def bold(self, *s: object) -> colored: + def bold(self, *s): return self.node(s, OP_SEQ % 1) - def underline(self, *s: object) -> colored: + def underline(self, *s): return self.node(s, OP_SEQ % 4) - def blink(self, *s: object) -> colored: + def blink(self, *s): return self.node(s, OP_SEQ % 5) - def reverse(self, *s: object) -> colored: + def reverse(self, *s): return self.node(s, OP_SEQ % 7) - def bright(self, *s: object) -> colored: + def bright(self, *s): return self.node(s, OP_SEQ % 8) - def ired(self, *s: object) -> colored: + def ired(self, *s): return self.node(s, fg(40 + RED)) - def igreen(self, *s: object) -> colored: + def igreen(self, *s): return self.node(s, fg(40 + GREEN)) - def iyellow(self, *s: object) -> colored: + def iyellow(self, *s): return self.node(s, fg(40 + YELLOW)) - def iblue(self, *s: colored) -> colored: + def iblue(self, *s): return self.node(s, fg(40 + BLUE)) - def imagenta(self, *s: object) -> colored: + def imagenta(self, *s): return self.node(s, fg(40 + MAGENTA)) - def icyan(self, *s: object) -> colored: + def icyan(self, *s): return self.node(s, fg(40 + CYAN)) - def iwhite(self, *s: object) -> colored: + def iwhite(self, *s): return self.node(s, fg(40 + WHITE)) - def reset(self, *s: object) -> colored: - return self.node(s or ('',), RESET_SEQ) + def reset(self, *s): + return self.node(s or [''], RESET_SEQ) - def __add__(self, other: object) -> str: - return f"{self}{other}" + def __add__(self, other): + return str(self) + str(other) -def supports_images() -> bool: - - try: - return sys.stdin.isatty() and bool(os.environ.get('ITERM_PROFILE')) - except AttributeError: - return False +def supports_images(): + return sys.stdin.isatty() and ITERM_PROFILE -def _read_as_base64(path: str) -> str: - with open(path, mode='rb') as fh: +def _read_as_base64(path): + with codecs.open(path, mode='rb') as fh: encoded = base64.b64encode(fh.read()) - return encoded.decode('ascii') + return encoded if isinstance(encoded, str) else encoded.decode('ascii') -def imgcat(path: str, inline: int = 1, preserve_aspect_ratio: int = 0, **kwargs: Any) -> str: +def imgcat(path, inline=1, preserve_aspect_ratio=0, **kwargs): return '\n%s1337;File=inline=%d;preserveAspectRatio=%d:%s%s' % ( _IMG_PRE, inline, preserve_aspect_ratio, _read_as_base64(path), _IMG_POST) diff --git a/venv/lib/python3.12/site-packages/celery/utils/time.py b/venv/lib/python3.12/site-packages/celery/utils/time.py index 2376bb3..f5329a5 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/time.py +++ b/venv/lib/python3.12/site-packages/celery/utils/time.py @@ -14,7 +14,6 @@ from types import ModuleType from typing import Any, Callable from dateutil import tz as dateutil_tz -from dateutil.parser import isoparse from kombu.utils.functional import reprcall from kombu.utils.objects import cached_property @@ -41,9 +40,6 @@ C_REMDEBUG = os.environ.get('C_REMDEBUG', False) DAYNAMES = 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' WEEKDAYS = dict(zip(DAYNAMES, range(7))) -MONTHNAMES = 'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec' -YEARMONTHS = dict(zip(MONTHNAMES, range(1, 13))) - RATE_MODIFIER_MAP = { 's': lambda n: n, 'm': lambda n: n / 60.0, @@ -204,7 +200,7 @@ def delta_resolution(dt: datetime, delta: timedelta) -> datetime: def remaining( start: datetime, ends_in: timedelta, now: Callable | None = None, relative: bool = False) -> timedelta: - """Calculate the real remaining time for a start date and a timedelta. + """Calculate the remaining time for a start date and a timedelta. For example, "how many seconds left for 30 seconds after start?" @@ -215,28 +211,24 @@ def remaining( using :func:`delta_resolution` (i.e., rounded to the resolution of `ends_in`). now (Callable): Function returning the current time and date. - Defaults to :func:`datetime.now(timezone.utc)`. + Defaults to :func:`datetime.utcnow`. Returns: ~datetime.timedelta: Remaining time. """ - now = now or datetime.now(datetime_timezone.utc) + now = now or datetime.utcnow() + if str( + start.tzinfo) == str( + now.tzinfo) and now.utcoffset() != start.utcoffset(): + # DST started/ended + start = start.replace(tzinfo=now.tzinfo) end_date = start + ends_in if relative: end_date = delta_resolution(end_date, ends_in).replace(microsecond=0) - - # Using UTC to calculate real time difference. - # Python by default uses wall time in arithmetic between datetimes with - # equal non-UTC timezones. - now_utc = now.astimezone(timezone.utc) - end_date_utc = end_date.astimezone(timezone.utc) - ret = end_date_utc - now_utc + ret = end_date - now if C_REMDEBUG: # pragma: no cover - print( - 'rem: NOW:{!r} NOW_UTC:{!r} START:{!r} ENDS_IN:{!r} ' - 'END_DATE:{} END_DATE_UTC:{!r} REM:{}'.format( - now, now_utc, start, ends_in, end_date, end_date_utc, ret) - ) + print('rem: NOW:{!r} START:{!r} ENDS_IN:{!r} END_DATE:{} REM:{}'.format( + now, start, ends_in, end_date, ret)) return ret @@ -265,21 +257,6 @@ def weekday(name: str) -> int: raise KeyError(name) -def yearmonth(name: str) -> int: - """Return the position of a month: 1 - 12, where 1 is January. - - Example: - >>> yearmonth('january'), yearmonth('jan'), yearmonth('may') - (1, 1, 5) - """ - abbreviation = name[0:3].lower() - try: - return YEARMONTHS[abbreviation] - except KeyError: - # Show original day name in exception, instead of abbr. - raise KeyError(name) - - def humanize_seconds( secs: int, prefix: str = '', sep: str = '', now: str = 'now', microseconds: bool = False) -> str: @@ -311,7 +288,7 @@ def maybe_iso8601(dt: datetime | str | None) -> None | datetime: return if isinstance(dt, datetime): return dt - return isoparse(dt) + return datetime.fromisoformat(dt) def is_naive(dt: datetime) -> bool: @@ -325,7 +302,7 @@ def _can_detect_ambiguous(tz: tzinfo) -> bool: return isinstance(tz, ZoneInfo) or hasattr(tz, "is_ambiguous") -def _is_ambiguous(dt: datetime, tz: tzinfo) -> bool: +def _is_ambigious(dt: datetime, tz: tzinfo) -> bool: """Helper function to determine if a timezone is ambiguous using python's dateutil module. Returns False if the timezone cannot detect ambiguity, or if there is no ambiguity, otherwise True. @@ -342,7 +319,7 @@ def make_aware(dt: datetime, tz: tzinfo) -> datetime: """Set timezone for a :class:`~datetime.datetime` object.""" dt = dt.replace(tzinfo=tz) - if _is_ambiguous(dt, tz): + if _is_ambigious(dt, tz): dt = min(dt.replace(fold=0), dt.replace(fold=1)) return dt diff --git a/venv/lib/python3.12/site-packages/celery/utils/timer2.py b/venv/lib/python3.12/site-packages/celery/utils/timer2.py index adfdb40..88d8ffd 100644 --- a/venv/lib/python3.12/site-packages/celery/utils/timer2.py +++ b/venv/lib/python3.12/site-packages/celery/utils/timer2.py @@ -10,7 +10,6 @@ import threading from itertools import count from threading import TIMEOUT_MAX as THREAD_TIMEOUT_MAX from time import sleep -from typing import Any, Callable, Iterator, Optional, Tuple from kombu.asynchronous.timer import Entry from kombu.asynchronous.timer import Timer as Schedule @@ -31,23 +30,20 @@ class Timer(threading.Thread): Entry = Entry Schedule = Schedule - running: bool = False - on_tick: Optional[Callable[[float], None]] = None + running = False + on_tick = None - _timer_count: count = count(1) + _timer_count = count(1) if TIMER_DEBUG: # pragma: no cover - def start(self, *args: Any, **kwargs: Any) -> None: + def start(self, *args, **kwargs): import traceback print('- Timer starting') traceback.print_stack() super().start(*args, **kwargs) - def __init__(self, schedule: Optional[Schedule] = None, - on_error: Optional[Callable[[Exception], None]] = None, - on_tick: Optional[Callable[[float], None]] = None, - on_start: Optional[Callable[['Timer'], None]] = None, - max_interval: Optional[float] = None, **kwargs: Any) -> None: + def __init__(self, schedule=None, on_error=None, on_tick=None, + on_start=None, max_interval=None, **kwargs): self.schedule = schedule or self.Schedule(on_error=on_error, max_interval=max_interval) self.on_start = on_start @@ -64,10 +60,8 @@ class Timer(threading.Thread): self.daemon = True self.name = f'Timer-{next(self._timer_count)}' - def _next_entry(self) -> Optional[float]: + def _next_entry(self): with self.not_empty: - delay: Optional[float] - entry: Optional[Entry] delay, entry = next(self.scheduler) if entry is None: if delay is None: @@ -76,10 +70,10 @@ class Timer(threading.Thread): return self.schedule.apply_entry(entry) __next__ = next = _next_entry # for 2to3 - def run(self) -> None: + def run(self): try: self.running = True - self.scheduler: Iterator[Tuple[Optional[float], Optional[Entry]]] = iter(self.schedule) + self.scheduler = iter(self.schedule) while not self.__is_shutdown.is_set(): delay = self._next_entry() @@ -100,61 +94,61 @@ class Timer(threading.Thread): sys.stderr.flush() os._exit(1) - def stop(self) -> None: + def stop(self): self.__is_shutdown.set() if self.running: self.__is_stopped.wait() self.join(THREAD_TIMEOUT_MAX) self.running = False - def ensure_started(self) -> None: + def ensure_started(self): if not self.running and not self.is_alive(): if self.on_start: self.on_start(self) self.start() - def _do_enter(self, meth: str, *args: Any, **kwargs: Any) -> Entry: + def _do_enter(self, meth, *args, **kwargs): self.ensure_started() with self.mutex: entry = getattr(self.schedule, meth)(*args, **kwargs) self.not_empty.notify() return entry - def enter(self, entry: Entry, eta: float, priority: Optional[int] = None) -> Entry: + def enter(self, entry, eta, priority=None): return self._do_enter('enter_at', entry, eta, priority=priority) - def call_at(self, *args: Any, **kwargs: Any) -> Entry: + def call_at(self, *args, **kwargs): return self._do_enter('call_at', *args, **kwargs) - def enter_after(self, *args: Any, **kwargs: Any) -> Entry: + def enter_after(self, *args, **kwargs): return self._do_enter('enter_after', *args, **kwargs) - def call_after(self, *args: Any, **kwargs: Any) -> Entry: + def call_after(self, *args, **kwargs): return self._do_enter('call_after', *args, **kwargs) - def call_repeatedly(self, *args: Any, **kwargs: Any) -> Entry: + def call_repeatedly(self, *args, **kwargs): return self._do_enter('call_repeatedly', *args, **kwargs) - def exit_after(self, secs: float, priority: int = 10) -> None: + def exit_after(self, secs, priority=10): self.call_after(secs, sys.exit, priority) - def cancel(self, tref: Entry) -> None: + def cancel(self, tref): tref.cancel() - def clear(self) -> None: + def clear(self): self.schedule.clear() - def empty(self) -> bool: + def empty(self): return not len(self) - def __len__(self) -> int: + def __len__(self): return len(self.schedule) - def __bool__(self) -> bool: + def __bool__(self): """``bool(timer)``.""" return True __nonzero__ = __bool__ @property - def queue(self) -> list: + def queue(self): return self.schedule.queue diff --git a/venv/lib/python3.12/site-packages/celery/worker/consumer/consumer.py b/venv/lib/python3.12/site-packages/celery/worker/consumer/consumer.py index 3e6a66d..e072ef5 100644 --- a/venv/lib/python3.12/site-packages/celery/worker/consumer/consumer.py +++ b/venv/lib/python3.12/site-packages/celery/worker/consumer/consumer.py @@ -169,7 +169,6 @@ class Consumer: 'celery.worker.consumer.heart:Heart', 'celery.worker.consumer.control:Control', 'celery.worker.consumer.tasks:Tasks', - 'celery.worker.consumer.delayed_delivery:DelayedDelivery', 'celery.worker.consumer.consumer:Evloop', 'celery.worker.consumer.agent:Agent', ] @@ -391,20 +390,19 @@ class Consumer: else: warnings.warn(CANCEL_TASKS_BY_DEFAULT, CPendingDeprecationWarning) - if self.app.conf.worker_enable_prefetch_count_reduction: - self.initial_prefetch_count = max( - self.prefetch_multiplier, - self.max_prefetch_count - len(tuple(active_requests)) * self.prefetch_multiplier - ) + self.initial_prefetch_count = max( + self.prefetch_multiplier, + self.max_prefetch_count - len(tuple(active_requests)) * self.prefetch_multiplier + ) - self._maximum_prefetch_restored = self.initial_prefetch_count == self.max_prefetch_count - if not self._maximum_prefetch_restored: - logger.info( - f"Temporarily reducing the prefetch count to {self.initial_prefetch_count} to avoid " - f"over-fetching since {len(tuple(active_requests))} tasks are currently being processed.\n" - f"The prefetch count will be gradually restored to {self.max_prefetch_count} as the tasks " - "complete processing." - ) + self._maximum_prefetch_restored = self.initial_prefetch_count == self.max_prefetch_count + if not self._maximum_prefetch_restored: + logger.info( + f"Temporarily reducing the prefetch count to {self.initial_prefetch_count} to avoid over-fetching " + f"since {len(tuple(active_requests))} tasks are currently being processed.\n" + f"The prefetch count will be gradually restored to {self.max_prefetch_count} as the tasks " + "complete processing." + ) def register_with_event_loop(self, hub): self.blueprint.send_all( @@ -413,7 +411,6 @@ class Consumer: ) def shutdown(self): - self.perform_pending_operations() self.blueprint.shutdown(self) def stop(self): @@ -478,9 +475,9 @@ class Consumer: return self.ensure_connected( self.app.connection_for_read(heartbeat=heartbeat)) - def connection_for_write(self, url=None, heartbeat=None): + def connection_for_write(self, heartbeat=None): return self.ensure_connected( - self.app.connection_for_write(url=url, heartbeat=heartbeat)) + self.app.connection_for_write(heartbeat=heartbeat)) def ensure_connected(self, conn): # Callback called for each retry while the connection @@ -507,14 +504,13 @@ class Consumer: # to determine whether connection retries are disabled. retry_disabled = not self.app.conf.broker_connection_retry - if retry_disabled: - warnings.warn( - CPendingDeprecationWarning( - "The broker_connection_retry configuration setting will no longer determine\n" - "whether broker connection retries are made during startup in Celery 6.0 and above.\n" - "If you wish to refrain from retrying connections on startup,\n" - "you should set broker_connection_retry_on_startup to False instead.") - ) + warnings.warn( + CPendingDeprecationWarning( + f"The broker_connection_retry configuration setting will no longer determine\n" + f"whether broker connection retries are made during startup in Celery 6.0 and above.\n" + f"If you wish to retain the existing behavior for retrying connections on startup,\n" + f"you should set broker_connection_retry_on_startup to {self.app.conf.broker_connection_retry}.") + ) else: if self.first_connection_attempt: retry_disabled = not self.app.conf.broker_connection_retry_on_startup @@ -700,10 +696,7 @@ class Consumer: def _restore_prefetch_count_after_connection_restart(self, p, *args): with self.qos._mutex: - if any(( - not self.app.conf.worker_enable_prefetch_count_reduction, - self._maximum_prefetch_restored, - )): + if self._maximum_prefetch_restored: return new_prefetch_count = min(self.max_prefetch_count, self._new_prefetch_count) @@ -733,29 +726,6 @@ class Consumer: self=self, state=self.blueprint.human_state(), ) - def cancel_all_unacked_requests(self): - """Cancel all active requests that either do not require late acknowledgments or, - if they do, have not been acknowledged yet. - """ - - def should_cancel(request): - if not request.task.acks_late: - # Task does not require late acknowledgment, cancel it. - return True - - if not request.acknowledged: - # Task is late acknowledged, but it has not been acknowledged yet, cancel it. - return True - - # Task is late acknowledged, but it has already been acknowledged. - return False # Do not cancel and allow it to gracefully finish as it has already been acknowledged. - - requests_to_cancel = tuple(filter(should_cancel, active_requests)) - - if requests_to_cancel: - for request in requests_to_cancel: - request.cancel(self.pool) - class Evloop(bootsteps.StartStopStep): """Event loop service. diff --git a/venv/lib/python3.12/site-packages/celery/worker/consumer/delayed_delivery.py b/venv/lib/python3.12/site-packages/celery/worker/consumer/delayed_delivery.py deleted file mode 100644 index 66a5501..0000000 --- a/venv/lib/python3.12/site-packages/celery/worker/consumer/delayed_delivery.py +++ /dev/null @@ -1,247 +0,0 @@ -"""Native delayed delivery functionality for Celery workers. - -This module provides the DelayedDelivery bootstep which handles setup and configuration -of native delayed delivery functionality when using quorum queues. -""" -from typing import Iterator, List, Optional, Set, Union, ValuesView - -from kombu import Connection, Queue -from kombu.transport.native_delayed_delivery import (bind_queue_to_native_delayed_delivery_exchange, - declare_native_delayed_delivery_exchanges_and_queues) -from kombu.utils.functional import retry_over_time - -from celery import Celery, bootsteps -from celery.utils.log import get_logger -from celery.utils.quorum_queues import detect_quorum_queues -from celery.worker.consumer import Consumer, Tasks - -__all__ = ('DelayedDelivery',) - -logger = get_logger(__name__) - - -# Default retry settings -RETRY_INTERVAL = 1.0 # seconds between retries -MAX_RETRIES = 3 # maximum number of retries - - -# Valid queue types for delayed delivery -VALID_QUEUE_TYPES = {'classic', 'quorum'} - - -class DelayedDelivery(bootsteps.StartStopStep): - """Bootstep that sets up native delayed delivery functionality. - - This component handles the setup and configuration of native delayed delivery - for Celery workers. It is automatically included when quorum queues are - detected in the application configuration. - - Responsibilities: - - Declaring native delayed delivery exchanges and queues - - Binding all application queues to the delayed delivery exchanges - - Handling connection failures gracefully with retries - - Validating configuration settings - """ - - requires = (Tasks,) - - def include_if(self, c: Consumer) -> bool: - """Determine if this bootstep should be included. - - Args: - c: The Celery consumer instance - - Returns: - bool: True if quorum queues are detected, False otherwise - """ - return detect_quorum_queues(c.app, c.app.connection_for_write().transport.driver_type)[0] - - def start(self, c: Consumer) -> None: - """Initialize delayed delivery for all broker URLs. - - Attempts to set up delayed delivery for each broker URL in the configuration. - Failures are logged but don't prevent attempting remaining URLs. - - Args: - c: The Celery consumer instance - - Raises: - ValueError: If configuration validation fails - """ - app: Celery = c.app - - try: - self._validate_configuration(app) - except ValueError as e: - logger.critical("Configuration validation failed: %s", str(e)) - raise - - broker_urls = self._validate_broker_urls(app.conf.broker_url) - setup_errors = [] - - for broker_url in broker_urls: - try: - retry_over_time( - self._setup_delayed_delivery, - args=(c, broker_url), - catch=(ConnectionRefusedError, OSError), - errback=self._on_retry, - interval_start=RETRY_INTERVAL, - max_retries=MAX_RETRIES, - ) - except Exception as e: - logger.warning( - "Failed to setup delayed delivery for %r: %s", - broker_url, str(e) - ) - setup_errors.append((broker_url, e)) - - if len(setup_errors) == len(broker_urls): - logger.critical( - "Failed to setup delayed delivery for all broker URLs. " - "Native delayed delivery will not be available." - ) - - def _setup_delayed_delivery(self, c: Consumer, broker_url: str) -> None: - """Set up delayed delivery for a specific broker URL. - - Args: - c: The Celery consumer instance - broker_url: The broker URL to configure - - Raises: - ConnectionRefusedError: If connection to the broker fails - OSError: If there are network-related issues - Exception: For other unexpected errors during setup - """ - connection: Connection = c.app.connection_for_write(url=broker_url) - queue_type = c.app.conf.broker_native_delayed_delivery_queue_type - logger.debug( - "Setting up delayed delivery for broker %r with queue type %r", - broker_url, queue_type - ) - - try: - declare_native_delayed_delivery_exchanges_and_queues( - connection, - queue_type - ) - except Exception as e: - logger.warning( - "Failed to declare exchanges and queues for %r: %s", - broker_url, str(e) - ) - raise - - try: - self._bind_queues(c.app, connection) - except Exception as e: - logger.warning( - "Failed to bind queues for %r: %s", - broker_url, str(e) - ) - raise - - def _bind_queues(self, app: Celery, connection: Connection) -> None: - """Bind all application queues to delayed delivery exchanges. - - Args: - app: The Celery application instance - connection: The broker connection to use - - Raises: - Exception: If queue binding fails - """ - queues: ValuesView[Queue] = app.amqp.queues.values() - if not queues: - logger.warning("No queues found to bind for delayed delivery") - return - - for queue in queues: - try: - logger.debug("Binding queue %r to delayed delivery exchange", queue.name) - bind_queue_to_native_delayed_delivery_exchange(connection, queue) - except Exception as e: - logger.error( - "Failed to bind queue %r: %s", - queue.name, str(e) - ) - raise - - def _on_retry(self, exc: Exception, interval_range: Iterator[float], intervals_count: int) -> None: - """Callback for retry attempts. - - Args: - exc: The exception that triggered the retry - interval_range: An iterator which returns the time in seconds to sleep next - intervals_count: Number of retry attempts so far - """ - logger.warning( - "Retrying delayed delivery setup (attempt %d/%d) after error: %s", - intervals_count + 1, MAX_RETRIES, str(exc) - ) - - def _validate_configuration(self, app: Celery) -> None: - """Validate all required configuration settings. - - Args: - app: The Celery application instance - - Raises: - ValueError: If any configuration is invalid - """ - # Validate broker URLs - self._validate_broker_urls(app.conf.broker_url) - - # Validate queue type - self._validate_queue_type(app.conf.broker_native_delayed_delivery_queue_type) - - def _validate_broker_urls(self, broker_urls: Union[str, List[str]]) -> Set[str]: - """Validate and split broker URLs. - - Args: - broker_urls: Broker URLs, either as a semicolon-separated string - or as a list of strings - - Returns: - Set of valid broker URLs - - Raises: - ValueError: If no valid broker URLs are found or if invalid URLs are provided - """ - if not broker_urls: - raise ValueError("broker_url configuration is empty") - - if isinstance(broker_urls, str): - brokers = broker_urls.split(";") - elif isinstance(broker_urls, list): - if not all(isinstance(url, str) for url in broker_urls): - raise ValueError("All broker URLs must be strings") - brokers = broker_urls - else: - raise ValueError(f"broker_url must be a string or list, got {broker_urls!r}") - - valid_urls = {url for url in brokers} - - if not valid_urls: - raise ValueError("No valid broker URLs found in configuration") - - return valid_urls - - def _validate_queue_type(self, queue_type: Optional[str]) -> None: - """Validate the queue type configuration. - - Args: - queue_type: The configured queue type - - Raises: - ValueError: If queue type is invalid - """ - if not queue_type: - raise ValueError("broker_native_delayed_delivery_queue_type is not configured") - - if queue_type not in VALID_QUEUE_TYPES: - sorted_types = sorted(VALID_QUEUE_TYPES) - raise ValueError( - f"Invalid queue type {queue_type!r}. Must be one of: {', '.join(sorted_types)}" - ) diff --git a/venv/lib/python3.12/site-packages/celery/worker/consumer/gossip.py b/venv/lib/python3.12/site-packages/celery/worker/consumer/gossip.py index 509471c..16e1c2e 100644 --- a/venv/lib/python3.12/site-packages/celery/worker/consumer/gossip.py +++ b/venv/lib/python3.12/site-packages/celery/worker/consumer/gossip.py @@ -176,7 +176,6 @@ class Gossip(bootsteps.ConsumerStep): channel, queues=[ev.queue], on_message=partial(self.on_message, ev.event_from_message), - accept=ev.accept, no_ack=True )] diff --git a/venv/lib/python3.12/site-packages/celery/worker/consumer/mingle.py b/venv/lib/python3.12/site-packages/celery/worker/consumer/mingle.py index d3f626e..532ab75 100644 --- a/venv/lib/python3.12/site-packages/celery/worker/consumer/mingle.py +++ b/venv/lib/python3.12/site-packages/celery/worker/consumer/mingle.py @@ -22,7 +22,7 @@ class Mingle(bootsteps.StartStopStep): label = 'Mingle' requires = (Events,) - compatible_transports = {'amqp', 'redis', 'gcpubsub'} + compatible_transports = {'amqp', 'redis'} def __init__(self, c, without_mingle=False, **kwargs): self.enabled = not without_mingle and self.compatible_transport(c.app) diff --git a/venv/lib/python3.12/site-packages/celery/worker/consumer/tasks.py b/venv/lib/python3.12/site-packages/celery/worker/consumer/tasks.py index 67cbfc1..b4e4aee 100644 --- a/venv/lib/python3.12/site-packages/celery/worker/consumer/tasks.py +++ b/venv/lib/python3.12/site-packages/celery/worker/consumer/tasks.py @@ -1,18 +1,13 @@ """Worker Task Consumer Bootstep.""" - -from __future__ import annotations - from kombu.common import QoS, ignore_errors from celery import bootsteps from celery.utils.log import get_logger -from celery.utils.quorum_queues import detect_quorum_queues from .mingle import Mingle __all__ = ('Tasks',) - logger = get_logger(__name__) debug = logger.debug @@ -30,7 +25,10 @@ class Tasks(bootsteps.StartStopStep): """Start task consumer.""" c.update_strategies() - qos_global = self.qos_global(c) + # - RabbitMQ 3.3 completely redefines how basic_qos works... + # This will detect if the new qos semantics is in effect, + # and if so make sure the 'apply_global' flag is set on qos updates. + qos_global = not c.connection.qos_semantics_matches_spec # set initial prefetch count c.connection.default_channel.basic_qos( @@ -65,24 +63,3 @@ class Tasks(bootsteps.StartStopStep): def info(self, c): """Return task consumer info.""" return {'prefetch_count': c.qos.value if c.qos else 'N/A'} - - def qos_global(self, c) -> bool: - """Determine if global QoS should be applied. - - Additional information: - https://www.rabbitmq.com/docs/consumer-prefetch - https://www.rabbitmq.com/docs/quorum-queues#global-qos - """ - # - RabbitMQ 3.3 completely redefines how basic_qos works... - # This will detect if the new qos semantics is in effect, - # and if so make sure the 'apply_global' flag is set on qos updates. - qos_global = not c.connection.qos_semantics_matches_spec - - if c.app.conf.worker_detect_quorum_queues: - using_quorum_queues, qname = detect_quorum_queues(c.app, c.connection.transport.driver_type) - - if using_quorum_queues: - qos_global = False - logger.info("Global QoS is disabled. Prefetch count in now static.") - - return qos_global diff --git a/venv/lib/python3.12/site-packages/celery/worker/control.py b/venv/lib/python3.12/site-packages/celery/worker/control.py index 8f9fc4f..41d059e 100644 --- a/venv/lib/python3.12/site-packages/celery/worker/control.py +++ b/venv/lib/python3.12/site-packages/celery/worker/control.py @@ -7,7 +7,6 @@ from billiard.common import TERM_SIGNAME from kombu.utils.encoding import safe_repr from celery.exceptions import WorkerShutdown -from celery.platforms import EX_OK from celery.platforms import signals as _signals from celery.utils.functional import maybe_list from celery.utils.log import get_logger @@ -581,7 +580,7 @@ def autoscale(state, max=None, min=None): def shutdown(state, msg='Got shutdown from remote', **kwargs): """Shutdown worker(s).""" logger.warning(msg) - raise WorkerShutdown(EX_OK) + raise WorkerShutdown(msg) # -- Queues diff --git a/venv/lib/python3.12/site-packages/celery/worker/loops.py b/venv/lib/python3.12/site-packages/celery/worker/loops.py index 1f9e589..0630e67 100644 --- a/venv/lib/python3.12/site-packages/celery/worker/loops.py +++ b/venv/lib/python3.12/site-packages/celery/worker/loops.py @@ -119,10 +119,8 @@ def synloop(obj, connection, consumer, blueprint, hub, qos, obj.on_ready() - def _loop_cycle(): - """ - Perform one iteration of the blocking event loop. - """ + while blueprint.state == RUN and obj.connection: + state.maybe_shutdown() if heartbeat_error[0] is not None: raise heartbeat_error[0] if qos.prev != qos.value: @@ -135,9 +133,3 @@ def synloop(obj, connection, consumer, blueprint, hub, qos, except OSError: if blueprint.state == RUN: raise - - while blueprint.state == RUN and obj.connection: - try: - state.maybe_shutdown() - finally: - _loop_cycle() diff --git a/venv/lib/python3.12/site-packages/celery/worker/request.py b/venv/lib/python3.12/site-packages/celery/worker/request.py index df99b54..5d7c93a 100644 --- a/venv/lib/python3.12/site-packages/celery/worker/request.py +++ b/venv/lib/python3.12/site-packages/celery/worker/request.py @@ -602,8 +602,8 @@ class Request: is_worker_lost = isinstance(exc, WorkerLostError) if self.task.acks_late: reject = ( - (self.task.reject_on_worker_lost and is_worker_lost) - or (isinstance(exc, TimeLimitExceeded) and not self.task.acks_on_failure_or_timeout) + self.task.reject_on_worker_lost and + is_worker_lost ) ack = self.task.acks_on_failure_or_timeout if reject: @@ -777,7 +777,7 @@ def create_request_cls(base, task, pool, hostname, eventer, if isinstance(exc, (SystemExit, KeyboardInterrupt)): raise exc return self.on_failure(retval, return_ok=True) - task_ready(self, successful=True) + task_ready(self) if acks_late: self.acknowledge() diff --git a/venv/lib/python3.12/site-packages/celery/worker/worker.py b/venv/lib/python3.12/site-packages/celery/worker/worker.py index 2444012..04f8c30 100644 --- a/venv/lib/python3.12/site-packages/celery/worker/worker.py +++ b/venv/lib/python3.12/site-packages/celery/worker/worker.py @@ -14,8 +14,7 @@ The worker consists of several components, all managed by bootsteps import os import sys -from datetime import datetime, timezone -from time import sleep +from datetime import datetime from billiard import cpu_count from kombu.utils.compat import detect_environment @@ -90,7 +89,7 @@ class WorkController: def __init__(self, app=None, hostname=None, **kwargs): self.app = app or self.app self.hostname = default_nodename(hostname) - self.startup_time = datetime.now(timezone.utc) + self.startup_time = datetime.utcnow() self.app.loader.init_worker() self.on_before_init(**kwargs) self.setup_defaults(**kwargs) @@ -242,7 +241,7 @@ class WorkController: not self.app.IS_WINDOWS) def stop(self, in_sighandler=False, exitcode=None): - """Graceful shutdown of the worker server (Warm shutdown).""" + """Graceful shutdown of the worker server.""" if exitcode is not None: self.exitcode = exitcode if self.blueprint.state == RUN: @@ -252,7 +251,7 @@ class WorkController: self._send_worker_shutdown() def terminate(self, in_sighandler=False): - """Not so graceful shutdown of the worker server (Cold shutdown).""" + """Not so graceful shutdown of the worker server.""" if self.blueprint.state != TERMINATE: self.signal_consumer_close() if not in_sighandler or self.pool.signal_safe: @@ -294,7 +293,7 @@ class WorkController: return reload_from_cwd(sys.modules[module], reloader) def info(self): - uptime = datetime.now(timezone.utc) - self.startup_time + uptime = datetime.utcnow() - self.startup_time return {'total': self.state.total_count, 'pid': os.getpid(), 'clock': str(self.app.clock), @@ -408,28 +407,3 @@ class WorkController: 'worker_disable_rate_limits', disable_rate_limits, ) self.worker_lost_wait = either('worker_lost_wait', worker_lost_wait) - - def wait_for_soft_shutdown(self): - """Wait :setting:`worker_soft_shutdown_timeout` if soft shutdown is enabled. - - To enable soft shutdown, set the :setting:`worker_soft_shutdown_timeout` in the - configuration. Soft shutdown can be used to allow the worker to finish processing - few more tasks before initiating a cold shutdown. This mechanism allows the worker - to finish short tasks that are already in progress and requeue long-running tasks - to be picked up by another worker. - - .. warning:: - If there are no tasks in the worker, the worker will not wait for the - soft shutdown timeout even if it is set as it makes no sense to wait for - the timeout when there are no tasks to process. - """ - app = self.app - requests = tuple(state.active_requests) - - if app.conf.worker_enable_soft_shutdown_on_idle: - requests = True - - if app.conf.worker_soft_shutdown_timeout > 0 and requests: - log = f"Initiating Soft Shutdown, terminating in {app.conf.worker_soft_shutdown_timeout} seconds" - logger.warning(log) - sleep(app.conf.worker_soft_shutdown_timeout) diff --git a/venv/lib/python3.12/site-packages/dotenv/cli.py b/venv/lib/python3.12/site-packages/dotenv/cli.py index 075a7af..65ead46 100644 --- a/venv/lib/python3.12/site-packages/dotenv/cli.py +++ b/venv/lib/python3.12/site-packages/dotenv/cli.py @@ -3,10 +3,8 @@ import os import shlex import sys from contextlib import contextmanager -from typing import Any, Dict, IO, Iterator, List, Optional - -if sys.platform == 'win32': - from subprocess import Popen +from subprocess import Popen +from typing import Any, Dict, IO, Iterator, List try: import click @@ -19,7 +17,7 @@ from .main import dotenv_values, set_key, unset_key from .version import __version__ -def enumerate_env() -> Optional[str]: +def enumerate_env(): """ Return a path for the ${pwd}/.env file. @@ -163,13 +161,14 @@ def run(ctx: click.Context, override: bool, commandline: List[str]) -> None: if not commandline: click.echo('No command given.') exit(1) - run_command(commandline, dotenv_as_dict) + ret = run_command(commandline, dotenv_as_dict) + exit(ret) -def run_command(command: List[str], env: Dict[str, str]) -> None: - """Replace the current process with the specified command. +def run_command(command: List[str], env: Dict[str, str]) -> int: + """Run command in sub process. - Replaces the current process with the specified command and the variables from `env` + Runs the command in a sub process with the variables from `env` added in the current environment variables. Parameters @@ -181,8 +180,8 @@ def run_command(command: List[str], env: Dict[str, str]) -> None: Returns ------- - None - This function does not return any value. It replaces the current process with the new one. + int + The return code of the command """ # copy the current environment variables and add the vales from @@ -190,16 +189,11 @@ def run_command(command: List[str], env: Dict[str, str]) -> None: cmd_env = os.environ.copy() cmd_env.update(env) - if sys.platform == 'win32': - # execvpe on Windows returns control immediately - # rather than once the command has finished. - p = Popen(command, - universal_newlines=True, - bufsize=0, - shell=False, - env=cmd_env) - _, _ = p.communicate() + p = Popen(command, + universal_newlines=True, + bufsize=0, + shell=False, + env=cmd_env) + _, _ = p.communicate() - exit(p.returncode) - else: - os.execvpe(command[0], args=command, env=cmd_env) + return p.returncode diff --git a/venv/lib/python3.12/site-packages/dotenv/main.py b/venv/lib/python3.12/site-packages/dotenv/main.py index 8e6a7cf..f40c20e 100644 --- a/venv/lib/python3.12/site-packages/dotenv/main.py +++ b/venv/lib/python3.12/site-packages/dotenv/main.py @@ -1,13 +1,13 @@ import io import logging import os -import pathlib import shutil import sys import tempfile from collections import OrderedDict from contextlib import contextmanager -from typing import IO, Dict, Iterable, Iterator, Mapping, Optional, Tuple, Union +from typing import (IO, Dict, Iterable, Iterator, Mapping, Optional, Tuple, + Union) from .parser import Binding, parse_stream from .variables import parse_variables @@ -16,7 +16,7 @@ from .variables import parse_variables # These paths may flow to `open()` and `shutil.move()`; `shutil.move()` # only accepts string paths, not byte paths or file descriptors. See # https://github.com/python/typeshed/pull/6832. -StrPath = Union[str, "os.PathLike[str]"] +StrPath = Union[str, 'os.PathLike[str]'] logger = logging.getLogger(__name__) @@ -25,7 +25,7 @@ def with_warn_for_invalid_lines(mappings: Iterator[Binding]) -> Iterator[Binding for mapping in mappings: if mapping.error: logger.warning( - "python-dotenv could not parse statement starting at line %s", + "Python-dotenv could not parse statement starting at line %s", mapping.original.line, ) yield mapping @@ -59,10 +59,10 @@ class DotEnv: else: if self.verbose: logger.info( - "python-dotenv could not find configuration file %s.", - self.dotenv_path or ".env", + "Python-dotenv could not find configuration file %s.", + self.dotenv_path or '.env', ) - yield io.StringIO("") + yield io.StringIO('') def dict(self) -> Dict[str, Optional[str]]: """Return dotenv as dict""" @@ -72,9 +72,7 @@ class DotEnv: raw_values = self.parse() if self.interpolate: - self._dict = OrderedDict( - resolve_variables(raw_values, override=self.override) - ) + self._dict = OrderedDict(resolve_variables(raw_values, override=self.override)) else: self._dict = OrderedDict(raw_values) @@ -102,7 +100,8 @@ class DotEnv: return True def get(self, key: str) -> Optional[str]: - """ """ + """ + """ data = self.dict() if key in data: @@ -132,21 +131,17 @@ def rewrite( path: StrPath, encoding: Optional[str], ) -> Iterator[Tuple[IO[str], IO[str]]]: - pathlib.Path(path).touch() - + if not os.path.isfile(path): + with open(path, mode="w", encoding=encoding) as source: + source.write("") with tempfile.NamedTemporaryFile(mode="w", encoding=encoding, delete=False) as dest: - error = None try: with open(path, encoding=encoding) as source: yield (source, dest) - except BaseException as err: - error = err - - if error is None: - shutil.move(dest.name, path) - else: - os.unlink(dest.name) - raise error from None + except BaseException: + os.unlink(dest.name) + raise + shutil.move(dest.name, path) def set_key( @@ -166,8 +161,9 @@ def set_key( if quote_mode not in ("always", "auto", "never"): raise ValueError(f"Unknown quote_mode: {quote_mode}") - quote = quote_mode == "always" or ( - quote_mode == "auto" and not value_to_set.isalnum() + quote = ( + quote_mode == "always" + or (quote_mode == "auto" and not value_to_set.isalnum()) ) if quote: @@ -175,7 +171,7 @@ def set_key( else: value_out = value_to_set if export: - line_out = f"export {key_to_set}={value_out}\n" + line_out = f'export {key_to_set}={value_out}\n' else: line_out = f"{key_to_set}={value_out}\n" @@ -222,9 +218,7 @@ def unset_key( dest.write(mapping.original.string) if not removed: - logger.warning( - "Key %s not removed from %s - key doesn't exist.", key_to_unset, dotenv_path - ) + logger.warning("Key %s not removed from %s - key doesn't exist.", key_to_unset, dotenv_path) return None, key_to_unset return removed, key_to_unset @@ -236,7 +230,7 @@ def resolve_variables( ) -> Mapping[str, Optional[str]]: new_values: Dict[str, Optional[str]] = {} - for name, value in values: + for (name, value) in values: if value is None: result = None else: @@ -260,7 +254,7 @@ def _walk_to_root(path: str) -> Iterator[str]: Yield directories starting from the given directory up to the root """ if not os.path.exists(path): - raise IOError("Starting path not found") + raise IOError('Starting path not found') if os.path.isfile(path): path = os.path.dirname(path) @@ -274,7 +268,7 @@ def _walk_to_root(path: str) -> Iterator[str]: def find_dotenv( - filename: str = ".env", + filename: str = '.env', raise_error_if_not_found: bool = False, usecwd: bool = False, ) -> str: @@ -285,19 +279,11 @@ def find_dotenv( """ def _is_interactive(): - """Decide whether this is running in a REPL or IPython notebook""" - if hasattr(sys, "ps1") or hasattr(sys, "ps2"): - return True - try: - main = __import__("__main__", None, None, fromlist=["__file__"]) - except ModuleNotFoundError: - return False - return not hasattr(main, "__file__") + """ Decide whether this is running in a REPL or IPython notebook """ + main = __import__('__main__', None, None, fromlist=['__file__']) + return not hasattr(main, '__file__') - def _is_debugger(): - return sys.gettrace() is not None - - if usecwd or _is_interactive() or _is_debugger() or getattr(sys, "frozen", False): + if usecwd or _is_interactive() or getattr(sys, 'frozen', False): # Should work without __file__, e.g. in REPL or IPython notebook. path = os.getcwd() else: @@ -305,9 +291,7 @@ def find_dotenv( frame = sys._getframe() current_file = __file__ - while frame.f_code.co_filename == current_file or not os.path.exists( - frame.f_code.co_filename - ): + while frame.f_code.co_filename == current_file: assert frame.f_back is not None frame = frame.f_back frame_filename = frame.f_code.co_filename @@ -319,9 +303,9 @@ def find_dotenv( return check_path if raise_error_if_not_found: - raise IOError("File not found") + raise IOError('File not found') - return "" + return '' def load_dotenv( @@ -346,9 +330,7 @@ def load_dotenv( Bool: True if at least one environment variable is set else False If both `dotenv_path` and `stream` are `None`, `find_dotenv()` is used to find the - .env file with it's default parameters. If you need to change the default parameters - of `find_dotenv()`, you can explicitly call `find_dotenv()` and pass the result - to this function as `dotenv_path`. + .env file. """ if dotenv_path is None and stream is None: dotenv_path = find_dotenv() diff --git a/venv/lib/python3.12/site-packages/dotenv/version.py b/venv/lib/python3.12/site-packages/dotenv/version.py index a82b376..5becc17 100644 --- a/venv/lib/python3.12/site-packages/dotenv/version.py +++ b/venv/lib/python3.12/site-packages/dotenv/version.py @@ -1 +1 @@ -__version__ = "1.1.1" +__version__ = "1.0.0" diff --git a/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/METADATA b/venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/METADATA similarity index 63% rename from venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/METADATA rename to venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/METADATA index ac8789a..2fa535f 100644 --- a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/METADATA @@ -1,73 +1,56 @@ Metadata-Version: 2.1 Name: fastapi -Version: 0.117.1 +Version: 0.104.1 Summary: FastAPI framework, high performance, easy to learn, fast to code, ready for production -Author-Email: =?utf-8?q?Sebasti=C3=A1n_Ram=C3=ADrez?= -Classifier: Intended Audience :: Information Technology -Classifier: Intended Audience :: System Administrators -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python -Classifier: Topic :: Internet -Classifier: Topic :: Software Development :: Libraries :: Application Frameworks -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: Software Development :: Libraries -Classifier: Topic :: Software Development -Classifier: Typing :: Typed +Project-URL: Homepage, https://github.com/tiangolo/fastapi +Project-URL: Documentation, https://fastapi.tiangolo.com/ +Project-URL: Repository, https://github.com/tiangolo/fastapi +Author-email: Sebastián Ramírez +License-Expression: MIT +License-File: LICENSE Classifier: Development Status :: 4 - Beta Classifier: Environment :: Web Environment Classifier: Framework :: AsyncIO Classifier: Framework :: FastAPI Classifier: Framework :: Pydantic Classifier: Framework :: Pydantic :: 1 -Classifier: Framework :: Pydantic :: 2 Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: Information Technology +Classifier: Intended Audience :: System Administrators Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 -Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers +Classifier: Topic :: Internet Classifier: Topic :: Internet :: WWW/HTTP -Project-URL: Homepage, https://github.com/fastapi/fastapi -Project-URL: Documentation, https://fastapi.tiangolo.com/ -Project-URL: Repository, https://github.com/fastapi/fastapi -Project-URL: Issues, https://github.com/fastapi/fastapi/issues -Project-URL: Changelog, https://fastapi.tiangolo.com/release-notes/ +Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers +Classifier: Topic :: Software Development +Classifier: Topic :: Software Development :: Libraries +Classifier: Topic :: Software Development :: Libraries :: Application Frameworks +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Typing :: Typed Requires-Python: >=3.8 -Requires-Dist: starlette<0.49.0,>=0.40.0 +Requires-Dist: anyio<4.0.0,>=3.7.1 Requires-Dist: pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 +Requires-Dist: starlette<0.28.0,>=0.27.0 Requires-Dist: typing-extensions>=4.8.0 -Provides-Extra: standard -Requires-Dist: fastapi-cli[standard]>=0.0.8; extra == "standard" -Requires-Dist: httpx<1.0.0,>=0.23.0; extra == "standard" -Requires-Dist: jinja2>=3.1.5; extra == "standard" -Requires-Dist: python-multipart>=0.0.18; extra == "standard" -Requires-Dist: email-validator>=2.0.0; extra == "standard" -Requires-Dist: uvicorn[standard]>=0.12.0; extra == "standard" -Provides-Extra: standard-no-fastapi-cloud-cli -Requires-Dist: fastapi-cli[standard-no-fastapi-cloud-cli]>=0.0.8; extra == "standard-no-fastapi-cloud-cli" -Requires-Dist: httpx<1.0.0,>=0.23.0; extra == "standard-no-fastapi-cloud-cli" -Requires-Dist: jinja2>=3.1.5; extra == "standard-no-fastapi-cloud-cli" -Requires-Dist: python-multipart>=0.0.18; extra == "standard-no-fastapi-cloud-cli" -Requires-Dist: email-validator>=2.0.0; extra == "standard-no-fastapi-cloud-cli" -Requires-Dist: uvicorn[standard]>=0.12.0; extra == "standard-no-fastapi-cloud-cli" Provides-Extra: all -Requires-Dist: fastapi-cli[standard]>=0.0.8; extra == "all" -Requires-Dist: httpx<1.0.0,>=0.23.0; extra == "all" -Requires-Dist: jinja2>=3.1.5; extra == "all" -Requires-Dist: python-multipart>=0.0.18; extra == "all" -Requires-Dist: itsdangerous>=1.1.0; extra == "all" -Requires-Dist: pyyaml>=5.3.1; extra == "all" -Requires-Dist: ujson!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,>=4.0.1; extra == "all" -Requires-Dist: orjson>=3.2.1; extra == "all" -Requires-Dist: email-validator>=2.0.0; extra == "all" -Requires-Dist: uvicorn[standard]>=0.12.0; extra == "all" -Requires-Dist: pydantic-settings>=2.0.0; extra == "all" -Requires-Dist: pydantic-extra-types>=2.0.0; extra == "all" +Requires-Dist: email-validator>=2.0.0; extra == 'all' +Requires-Dist: httpx>=0.23.0; extra == 'all' +Requires-Dist: itsdangerous>=1.1.0; extra == 'all' +Requires-Dist: jinja2>=2.11.2; extra == 'all' +Requires-Dist: orjson>=3.2.1; extra == 'all' +Requires-Dist: pydantic-extra-types>=2.0.0; extra == 'all' +Requires-Dist: pydantic-settings>=2.0.0; extra == 'all' +Requires-Dist: python-multipart>=0.0.5; extra == 'all' +Requires-Dist: pyyaml>=5.3.1; extra == 'all' +Requires-Dist: ujson!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,>=4.0.1; extra == 'all' +Requires-Dist: uvicorn[standard]>=0.12.0; extra == 'all' Description-Content-Type: text/markdown

      @@ -77,11 +60,11 @@ Description-Content-Type: text/markdown FastAPI framework, high performance, easy to learn, fast to code, ready for production

      Kabir Khan - Microsoft (ref)
      +
      Kabir Khan - Microsoft (ref)
      --- @@ -161,13 +141,13 @@ The key features are: "_I’m over the moon excited about **FastAPI**. It’s so fun!_" -
      Brian Okken - Python Bytes podcast host (ref)
      +
      Brian Okken - Python Bytes podcast host (ref)
      --- "_Honestly, what you've built looks super solid and polished. In many ways, it's what I wanted **Hug** to be - it's really inspiring to see someone build that._" -
      Timothy Crosley - Hug creator (ref)
      +
      Timothy Crosley - Hug creator (ref)
      --- @@ -175,7 +155,7 @@ The key features are: "_We've switched over to **FastAPI** for our **APIs** [...] I think you'll like it [...]_" -
      Ines Montani - Matthew Honnibal - Explosion AI founders - spaCy creators (ref) - (ref)
      +
      Ines Montani - Matthew Honnibal - Explosion AI founders - spaCy creators (ref) - (ref)
      --- @@ -195,32 +175,42 @@ If you are building a CLI app to be ## Requirements +Python 3.8+ + FastAPI stands on the shoulders of giants: * Starlette for the web parts. -* Pydantic for the data parts. +* Pydantic for the data parts. ## Installation -Create and activate a virtual environment and then install FastAPI: -
      ```console -$ pip install "fastapi[standard]" +$ pip install fastapi ---> 100% ```
      -**Note**: Make sure you put `"fastapi[standard]"` in quotes to ensure it works in all terminals. +You will also need an ASGI server, for production such as Uvicorn or Hypercorn. + +
      + +```console +$ pip install "uvicorn[standard]" + +---> 100% +``` + +
      ## Example ### Create it -Create a file `main.py` with: +* Create a file `main.py` with: ```Python from typing import Union @@ -276,24 +266,11 @@ Run the server with:
      ```console -$ fastapi dev main.py +$ uvicorn main:app --reload - ╭────────── FastAPI CLI - Development mode ───────────╮ - │ │ - │ Serving at: http://127.0.0.1:8000 │ - │ │ - │ API docs: http://127.0.0.1:8000/docs │ - │ │ - │ Running in development mode, for production use: │ - │ │ - │ fastapi run │ - │ │ - ╰─────────────────────────────────────────────────────╯ - -INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp'] INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) -INFO: Started reloader process [2248755] using WatchFiles -INFO: Started server process [2248757] +INFO: Started reloader process [28720] +INFO: Started server process [28722] INFO: Waiting for application startup. INFO: Application startup complete. ``` @@ -301,13 +278,13 @@ INFO: Application startup complete.
      -About the command fastapi dev main.py... +About the command uvicorn main:app --reload... -The command `fastapi dev` reads your `main.py` file, detects the **FastAPI** app in it, and starts a server using Uvicorn. +The command `uvicorn main:app` refers to: -By default, `fastapi dev` will start with auto-reload enabled for local development. - -You can read more about it in the FastAPI CLI docs. +* `main`: the file `main.py` (the Python "module"). +* `app`: the object created inside of `main.py` with the line `app = FastAPI()`. +* `--reload`: make the server restart after code changes. Only do this for development.
      @@ -380,7 +357,7 @@ def update_item(item_id: int, item: Item): return {"item_name": item.name, "item_id": item_id} ``` -The `fastapi dev` server should reload automatically. +The server should reload automatically (because you added `--reload` to the `uvicorn` command above). ### Interactive API docs upgrade @@ -414,7 +391,7 @@ You do that with standard modern Python types. You don't have to learn a new syntax, the methods or classes of a specific library, etc. -Just standard **Python**. +Just standard **Python 3.8+**. For example, for an `int`: @@ -464,7 +441,7 @@ Coming back to the previous code example, **FastAPI** will: * Check if there is an optional query parameter named `q` (as in `http://127.0.0.1:8000/items/foo?q=somequery`) for `GET` requests. * As the `q` parameter is declared with `= None`, it is optional. * Without the `None` it would be required (as is the body in the case with `PUT`). -* For `PUT` requests to `/items/{item_id}`, read the body as JSON: +* For `PUT` requests to `/items/{item_id}`, Read the body as JSON: * Check that it has a required attribute `name` that should be a `str`. * Check that it has a required attribute `price` that has to be a `float`. * Check that it has an optional attribute `is_offer`, that should be a `bool`, if present. @@ -524,52 +501,30 @@ Independent TechEmpower benchmarks show **FastAPI** applications running under U To understand more about it, see the section Benchmarks. -## Dependencies - -FastAPI depends on Pydantic and Starlette. - -### `standard` Dependencies - -When you install FastAPI with `pip install "fastapi[standard]"` it comes with the `standard` group of optional dependencies: +## Optional Dependencies Used by Pydantic: -* email-validator - for email validation. +* email_validator - for email validation. +* pydantic-settings - for settings management. +* pydantic-extra-types - for extra types to be used with Pydantic. Used by Starlette: * httpx - Required if you want to use the `TestClient`. * jinja2 - Required if you want to use the default template configuration. -* python-multipart - Required if you want to support form "parsing", with `request.form()`. - -Used by FastAPI: - -* uvicorn - for the server that loads and serves your application. This includes `uvicorn[standard]`, which includes some dependencies (e.g. `uvloop`) needed for high performance serving. -* `fastapi-cli[standard]` - to provide the `fastapi` command. - * This includes `fastapi-cloud-cli`, which allows you to deploy your FastAPI application to FastAPI Cloud. - -### Without `standard` Dependencies - -If you don't want to include the `standard` optional dependencies, you can install with `pip install fastapi` instead of `pip install "fastapi[standard]"`. - -### Without `fastapi-cloud-cli` - -If you want to install FastAPI with the standard dependencies but without the `fastapi-cloud-cli`, you can install with `pip install "fastapi[standard-no-fastapi-cloud-cli]"`. - -### Additional Optional Dependencies - -There are some additional dependencies you might want to install. - -Additional optional Pydantic dependencies: - -* pydantic-settings - for settings management. -* pydantic-extra-types - for extra types to be used with Pydantic. - -Additional optional FastAPI dependencies: - -* orjson - Required if you want to use `ORJSONResponse`. +* python-multipart - Required if you want to support form "parsing", with `request.form()`. +* itsdangerous - Required for `SessionMiddleware` support. +* pyyaml - Required for Starlette's `SchemaGenerator` support (you probably don't need it with FastAPI). * ujson - Required if you want to use `UJSONResponse`. +Used by FastAPI / Starlette: + +* uvicorn - for the server that loads and serves your application. +* orjson - Required if you want to use `ORJSONResponse`. + +You can install all of these with `pip install "fastapi[all]"`. + ## License This project is licensed under the terms of the MIT license. diff --git a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/RECORD b/venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/RECORD similarity index 59% rename from venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/RECORD rename to venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/RECORD index c6183f7..fa93a74 100644 --- a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/RECORD +++ b/venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/RECORD @@ -1,19 +1,14 @@ -../../../bin/fastapi,sha256=OEUEr4c4P8T3MgT1IotIxN3V27TAonSeCWDRN70Vgfw,231 -fastapi-0.117.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -fastapi-0.117.1.dist-info/METADATA,sha256=CSMeNXJKTuCRib4fhSOBx_tdb_N2YOd8vfHzaDAx_X0,28135 -fastapi-0.117.1.dist-info/RECORD,, -fastapi-0.117.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -fastapi-0.117.1.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90 -fastapi-0.117.1.dist-info/entry_points.txt,sha256=GCf-WbIZxyGT4MUmrPGj1cOHYZoGsNPHAvNkT6hnGeA,61 -fastapi-0.117.1.dist-info/licenses/LICENSE,sha256=Tsif_IFIW5f-xYSy1KlhAy7v_oNEU4lP2cEnSQbMdE4,1086 -fastapi/__init__.py,sha256=71oE4uLHKzglF1IOxDbfcd-YwW2Qeu5emeUz00x0S98,1081 -fastapi/__main__.py,sha256=bKePXLdO4SsVSM6r9SVoLickJDcR2c0cTOxZRKq26YQ,37 +fastapi-0.104.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +fastapi-0.104.1.dist-info/METADATA,sha256=Zgj7yzBMm50KgBZsq5R9A29zVk7LMUvkUC6oTWuR8J0,24298 +fastapi-0.104.1.dist-info/RECORD,, +fastapi-0.104.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +fastapi-0.104.1.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87 +fastapi-0.104.1.dist-info/licenses/LICENSE,sha256=Tsif_IFIW5f-xYSy1KlhAy7v_oNEU4lP2cEnSQbMdE4,1086 +fastapi/__init__.py,sha256=n8125d7_qIsNGVM_1QL7_LpYtGH8GYrkJjgSMjP31cE,1081 fastapi/__pycache__/__init__.cpython-312.pyc,, -fastapi/__pycache__/__main__.cpython-312.pyc,, fastapi/__pycache__/_compat.cpython-312.pyc,, fastapi/__pycache__/applications.cpython-312.pyc,, fastapi/__pycache__/background.cpython-312.pyc,, -fastapi/__pycache__/cli.cpython-312.pyc,, fastapi/__pycache__/concurrency.cpython-312.pyc,, fastapi/__pycache__/datastructures.cpython-312.pyc,, fastapi/__pycache__/encoders.cpython-312.pyc,, @@ -31,29 +26,30 @@ fastapi/__pycache__/testclient.cpython-312.pyc,, fastapi/__pycache__/types.cpython-312.pyc,, fastapi/__pycache__/utils.cpython-312.pyc,, fastapi/__pycache__/websockets.cpython-312.pyc,, -fastapi/_compat.py,sha256=EQyNY-qrN3cjwI1r69JVAROc2lQCvi6W1we6_7jx_gc,24274 -fastapi/applications.py,sha256=Sr6fkAYFmuyIT4b0Rm33NQzO8oz4-DEc3PLTxp4LJgU,177570 -fastapi/background.py,sha256=rouLirxUANrcYC824MSMypXL_Qb2HYg2YZqaiEqbEKI,1768 -fastapi/cli.py,sha256=OYhZb0NR_deuT5ofyPF2NoNBzZDNOP8Salef2nk-HqA,418 -fastapi/concurrency.py,sha256=MirfowoSpkMQZ8j_g0ZxaQKpV6eB3G-dB5TgcXCrgEA,1424 -fastapi/datastructures.py,sha256=b2PEz77XGq-u3Ur1Inwk0AGjOsQZO49yF9C7IPJ15cY,5766 +fastapi/_compat.py,sha256=BlQp8ec0cFM6FLAEASdpYd7Ip9TY1FZr8PGiGRO4QLg,22798 +fastapi/applications.py,sha256=C7mT6eZh0XUO2HmLM43_gJMyqjoyy_SdgypDHRrLu34,179073 +fastapi/background.py,sha256=F1tsrJKfDZaRchNgF9ykB2PcRaPBJTbL4htN45TJAIc,1799 +fastapi/concurrency.py,sha256=NAK9SMlTCOALLjTAR6KzWUDEkVj7_EyNRz0-lDVW_W8,1467 +fastapi/datastructures.py,sha256=FF1s2g6cAQ5XxlNToB3scgV94Zf3DjdzcaI7ToaTrmg,5797 fastapi/dependencies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 fastapi/dependencies/__pycache__/__init__.cpython-312.pyc,, fastapi/dependencies/__pycache__/models.cpython-312.pyc,, fastapi/dependencies/__pycache__/utils.cpython-312.pyc,, -fastapi/dependencies/models.py,sha256=Pjl6vx-4nZ5Tta9kJa3-RfQKkXtCpS09-FhMgs9eWNs,1507 -fastapi/dependencies/utils.py,sha256=WVgX-cF_H318wOlsZSiAP2mX6-puEsx_MAQ6AHSzITE,36814 -fastapi/encoders.py,sha256=r_fOgMylrlnCDTh3W9u2W0ZsHTJqIhLpU6QipHMy0m8,11119 -fastapi/exception_handlers.py,sha256=YVcT8Zy021VYYeecgdyh5YEUjEIHKcLspbkSf4OfbJI,1275 -fastapi/exceptions.py,sha256=taNixuFEXb67lI1bnX1ubq8y8TseJ4yoPlWjyP0fTzk,4969 +fastapi/dependencies/models.py,sha256=-n-YCxzgVBkurQi49qOTooT71v_oeAhHJ-qQFonxh5o,2494 +fastapi/dependencies/utils.py,sha256=DjRdd_NVdXh_jDYKTRjUIXkwkLD0WE4oFXQC4peMr2c,29915 +fastapi/encoders.py,sha256=90lbmIW8NZjpPVzbgKhpY49B7TFqa7hrdQDQa70SM9U,11024 +fastapi/exception_handlers.py,sha256=MBrIOA-ugjJDivIi4rSsUJBdTsjuzN76q4yh0q1COKw,1332 +fastapi/exceptions.py,sha256=SQsPxq-QYBZUhq6L4K3B3W7gaSD3Gub2f17erStRagY,5000 fastapi/logger.py,sha256=I9NNi3ov8AcqbsbC9wl1X-hdItKgYt2XTrx1f99Zpl4,54 fastapi/middleware/__init__.py,sha256=oQDxiFVcc1fYJUOIFvphnK7pTT5kktmfL32QXpBFvvo,58 fastapi/middleware/__pycache__/__init__.cpython-312.pyc,, +fastapi/middleware/__pycache__/asyncexitstack.cpython-312.pyc,, fastapi/middleware/__pycache__/cors.cpython-312.pyc,, fastapi/middleware/__pycache__/gzip.cpython-312.pyc,, fastapi/middleware/__pycache__/httpsredirect.cpython-312.pyc,, fastapi/middleware/__pycache__/trustedhost.cpython-312.pyc,, fastapi/middleware/__pycache__/wsgi.cpython-312.pyc,, +fastapi/middleware/asyncexitstack.py,sha256=LvMyVI1QdmWNWYPZqx295VFavssUfVpUsonPOsMWz1E,1035 fastapi/middleware/cors.py,sha256=ynwjWQZoc_vbhzZ3_ZXceoaSrslHFHPdoM52rXr0WUU,79 fastapi/middleware/gzip.py,sha256=xM5PcsH8QlAimZw4VDvcmTnqQamslThsfe3CVN2voa0,79 fastapi/middleware/httpsredirect.py,sha256=rL8eXMnmLijwVkH7_400zHri1AekfeBd6D6qs8ix950,115 @@ -66,15 +62,15 @@ fastapi/openapi/__pycache__/docs.cpython-312.pyc,, fastapi/openapi/__pycache__/models.cpython-312.pyc,, fastapi/openapi/__pycache__/utils.cpython-312.pyc,, fastapi/openapi/constants.py,sha256=adGzmis1L1HJRTE3kJ5fmHS_Noq6tIY6pWv_SFzoFDU,153 -fastapi/openapi/docs.py,sha256=zSDv4xY6XHcKsaG4zyk1HqSnrZtfZFBB0J7ZBk5YHPE,10345 -fastapi/openapi/models.py,sha256=m1BNHxf_RiDTK1uCfMre6XZN5y7krZNA62QEP_2EV9s,15625 -fastapi/openapi/utils.py,sha256=ZI-nwdT2PtX8kaRPJylZo4LJHjYAcoVGxkd181P75x4,23997 -fastapi/param_functions.py,sha256=JHNPLIYvoAwdnZZavIVsxOat8x23fX_Kl33reh7HKl8,64019 -fastapi/params.py,sha256=g450axUBQgQJODdtM7WBxZbQj9Z64inFvadrgHikBbU,28237 +fastapi/openapi/docs.py,sha256=Fo_SGB0eEfGvlNLqP-w_jgYifmHTe-3LbO_qC-ncFVY,10387 +fastapi/openapi/models.py,sha256=DEmsWA-9sNqv2H4YneZUW86r1nMwD920EiTvan5kndI,17763 +fastapi/openapi/utils.py,sha256=PUuz_ISarHVPBRyIgfyHz8uwH0eEsDY3rJUfW__I9GI,22303 +fastapi/param_functions.py,sha256=VWEsJbkH8lJZgcJ6fI6uzquui1kgHrDv1i_wXM7cW3M,63896 +fastapi/params.py,sha256=LzjihAvODd3w7-GddraUyVtH1xfwR9smIoQn-Z_g4mg,27807 fastapi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 fastapi/requests.py,sha256=zayepKFcienBllv3snmWI20Gk0oHNVLU4DDhqXBb4LU,142 fastapi/responses.py,sha256=QNQQlwpKhQoIPZTTWkpc9d_QGeGZ_aVQPaDV3nQ8m7c,1761 -fastapi/routing.py,sha256=4zaZIdeq8VtsBLCxmmEgnfHqDD6USTc_l8BxUe1ye4M,176533 +fastapi/routing.py,sha256=VADa3-b52ahpweFCcmAKXkVKldMrfF60N5gZWobI42M,172198 fastapi/security/__init__.py,sha256=bO8pNmxqVRXUjfl2mOKiVZLn0FpBQ61VUYVjmppnbJw,881 fastapi/security/__pycache__/__init__.cpython-312.pyc,, fastapi/security/__pycache__/api_key.cpython-312.pyc,, @@ -83,15 +79,15 @@ fastapi/security/__pycache__/http.cpython-312.pyc,, fastapi/security/__pycache__/oauth2.cpython-312.pyc,, fastapi/security/__pycache__/open_id_connect_url.cpython-312.pyc,, fastapi/security/__pycache__/utils.cpython-312.pyc,, -fastapi/security/api_key.py,sha256=di-0gQ8MKugi2YfmlMoDHk-QMF_vnLGJRFOA6tcZ7fA,9016 +fastapi/security/api_key.py,sha256=bcZbUzTqeR_CI_LXuJdDq1qL322kmhgy5ApOCqgGDi4,9399 fastapi/security/base.py,sha256=dl4pvbC-RxjfbWgPtCWd8MVU-7CB2SZ22rJDXVCXO6c,141 -fastapi/security/http.py,sha256=rWR2x-5CUsjWmRucYthwRig6MG1o-boyrr4Xo-PuuxU,13606 -fastapi/security/oauth2.py,sha256=M1AFIDT7G3oQChq83poI3eg8ZDeibcvnGmya2CTS7JY,22036 -fastapi/security/open_id_connect_url.py,sha256=8vizZ2tGqEp1ur8SwtVgyHJhGAJ5AqahgcvSpaIioDI,2722 +fastapi/security/http.py,sha256=_YdhSRRUCGydVDUILygWg0VlkPA28t_gjcy_axD3eOk,13537 +fastapi/security/oauth2.py,sha256=QAUOE2f6KXbXjkrJIIYCOugI6-R0g9EECZ5t8eN9nA4,21612 +fastapi/security/open_id_connect_url.py,sha256=Mb8wFxrRh4CrsFW0RcjBEQLASPHGDtZRP6c2dCrspAg,2753 fastapi/security/utils.py,sha256=bd8T0YM7UQD5ATKucr1bNtAvz_Y3__dVNAv5UebiPvc,293 fastapi/staticfiles.py,sha256=iirGIt3sdY2QZXd36ijs3Cj-T0FuGFda3cd90kM9Ikw,69 fastapi/templating.py,sha256=4zsuTWgcjcEainMJFAlW6-gnslm6AgOS1SiiDWfmQxk,76 fastapi/testclient.py,sha256=nBvaAmX66YldReJNZXPOk1sfuo2Q6hs8bOvIaCep6LQ,66 -fastapi/types.py,sha256=nFb36sK3DSoqoyo7Miwy3meKK5UdFBgkAgLSzQlUVyI,383 -fastapi/utils.py,sha256=S59stPvKPUJ7MSkke3FaegSyig_4Uwhd32jnLiMF1jE,8032 +fastapi/types.py,sha256=WZJ1jvm1MCwIrxxRYxKwtXS9HqcGk0RnCbLzrMZh-lI,428 +fastapi/utils.py,sha256=rpSasHpgooPIfe67yU3HzOMDv7PtxiG9x6K-bhu6Z18,8193 fastapi/websockets.py,sha256=419uncYObEKZG0YcrXscfQQYLSWoE10jqxVMetGdR98,222 diff --git a/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/WHEEL b/venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/WHEEL similarity index 67% rename from venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/WHEEL index 12228d4..ba1a8af 100644 --- a/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/WHEEL @@ -1,4 +1,4 @@ Wheel-Version: 1.0 -Generator: hatchling 1.27.0 +Generator: hatchling 1.18.0 Root-Is-Purelib: true Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/licenses/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/fastapi-0.104.1.dist-info/licenses/LICENSE diff --git a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/WHEEL b/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/WHEEL deleted file mode 100644 index 045c8ac..0000000 --- a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/WHEEL +++ /dev/null @@ -1,4 +0,0 @@ -Wheel-Version: 1.0 -Generator: pdm-backend (2.4.5) -Root-Is-Purelib: true -Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/entry_points.txt b/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/entry_points.txt deleted file mode 100644 index b81849e..0000000 --- a/venv/lib/python3.12/site-packages/fastapi-0.117.1.dist-info/entry_points.txt +++ /dev/null @@ -1,5 +0,0 @@ -[console_scripts] -fastapi = fastapi.cli:main - -[gui_scripts] - diff --git a/venv/lib/python3.12/site-packages/fastapi/__init__.py b/venv/lib/python3.12/site-packages/fastapi/__init__.py index 986fd20..c81f09b 100644 --- a/venv/lib/python3.12/site-packages/fastapi/__init__.py +++ b/venv/lib/python3.12/site-packages/fastapi/__init__.py @@ -1,6 +1,6 @@ """FastAPI framework, high performance, easy to learn, fast to code, ready for production""" -__version__ = "0.117.1" +__version__ = "0.104.1" from starlette import status as status diff --git a/venv/lib/python3.12/site-packages/fastapi/__main__.py b/venv/lib/python3.12/site-packages/fastapi/__main__.py deleted file mode 100644 index fc36465..0000000 --- a/venv/lib/python3.12/site-packages/fastapi/__main__.py +++ /dev/null @@ -1,3 +0,0 @@ -from fastapi.cli import main - -main() diff --git a/venv/lib/python3.12/site-packages/fastapi/_compat.py b/venv/lib/python3.12/site-packages/fastapi/_compat.py index 26b6638..fc605d0 100644 --- a/venv/lib/python3.12/site-packages/fastapi/_compat.py +++ b/venv/lib/python3.12/site-packages/fastapi/_compat.py @@ -2,7 +2,6 @@ from collections import deque from copy import copy from dataclasses import dataclass, is_dataclass from enum import Enum -from functools import lru_cache from typing import ( Any, Callable, @@ -16,7 +15,6 @@ from typing import ( Tuple, Type, Union, - cast, ) from fastapi.exceptions import RequestErrorModel @@ -26,8 +24,7 @@ from pydantic.version import VERSION as PYDANTIC_VERSION from starlette.datastructures import UploadFile from typing_extensions import Annotated, Literal, get_args, get_origin -PYDANTIC_VERSION_MINOR_TUPLE = tuple(int(x) for x in PYDANTIC_VERSION.split(".")[:2]) -PYDANTIC_V2 = PYDANTIC_VERSION_MINOR_TUPLE[0] == 2 +PYDANTIC_V2 = PYDANTIC_VERSION.startswith("2.") sequence_annotation_to_type = { @@ -46,8 +43,6 @@ sequence_annotation_to_type = { sequence_types = tuple(sequence_annotation_to_type.keys()) -Url: Type[Any] - if PYDANTIC_V2: from pydantic import PydanticSchemaGenerationError as PydanticSchemaGenerationError from pydantic import TypeAdapter @@ -73,7 +68,7 @@ if PYDANTIC_V2: general_plain_validator_function as with_info_plain_validator_function, # noqa: F401 ) - RequiredParam = PydanticUndefined + Required = PydanticUndefined Undefined = PydanticUndefined UndefinedType = PydanticUndefinedType evaluate_forwardref = eval_type_lenient @@ -132,7 +127,7 @@ if PYDANTIC_V2: ) except ValidationError as exc: return None, _regenerate_error_with_loc( - errors=exc.errors(include_url=False), loc_prefix=loc + errors=exc.errors(), loc_prefix=loc ) def serialize( @@ -232,10 +227,6 @@ if PYDANTIC_V2: field_mapping, definitions = schema_generator.generate_definitions( inputs=inputs ) - for item_def in cast(Dict[str, Dict[str, Any]], definitions).values(): - if "description" in item_def: - item_description = cast(str, item_def["description"]).split("\f")[0] - item_def["description"] = item_description return field_mapping, definitions # type: ignore[return-value] def is_scalar_field(field: ModelField) -> bool: @@ -258,12 +249,7 @@ if PYDANTIC_V2: return is_bytes_sequence_annotation(field.type_) def copy_field_info(*, field_info: FieldInfo, annotation: Any) -> FieldInfo: - cls = type(field_info) - merged_field_info = cls.from_annotation(annotation) - new_field_info = copy(field_info) - new_field_info.metadata = merged_field_info.metadata - new_field_info.annotation = merged_field_info.annotation - return new_field_info + return type(field_info).from_annotation(annotation) def serialize_sequence_value(*, field: ModelField, value: Any) -> Sequence[Any]: origin_type = ( @@ -275,7 +261,7 @@ if PYDANTIC_V2: def get_missing_field_error(loc: Tuple[str, ...]) -> Dict[str, Any]: error = ValidationError.from_exception_data( "Field required", [{"type": "missing", "loc": loc, "input": {}}] - ).errors(include_url=False)[0] + ).errors()[0] error["input"] = None return error # type: ignore[return-value] @@ -286,12 +272,6 @@ if PYDANTIC_V2: BodyModel: Type[BaseModel] = create_model(model_name, **field_params) # type: ignore[call-overload] return BodyModel - def get_model_fields(model: Type[BaseModel]) -> List[ModelField]: - return [ - ModelField(field_info=field_info, name=name) - for name, field_info in model.model_fields.items() - ] - else: from fastapi.openapi.constants import REF_PREFIX as REF_PREFIX from pydantic import AnyUrl as Url # noqa: F401 @@ -319,10 +299,9 @@ else: from pydantic.fields import ( # type: ignore[no-redef,attr-defined] ModelField as ModelField, # noqa: F401 ) - - # Keeping old "Required" functionality from Pydantic V1, without - # shadowing typing.Required. - RequiredParam: Any = Ellipsis # type: ignore[no-redef] + from pydantic.fields import ( # type: ignore[no-redef,attr-defined] + Required as Required, # noqa: F401 + ) from pydantic.fields import ( # type: ignore[no-redef,attr-defined] Undefined as Undefined, ) @@ -393,10 +372,9 @@ else: ) definitions.update(m_definitions) model_name = model_name_map[model] - definitions[model_name] = m_schema - for m_schema in definitions.values(): if "description" in m_schema: m_schema["description"] = m_schema["description"].split("\f")[0] + definitions[model_name] = m_schema return definitions def is_pv1_scalar_field(field: ModelField) -> bool: @@ -528,9 +506,6 @@ else: BodyModel.__fields__[f.name] = f # type: ignore[index] return BodyModel - def get_model_fields(model: Type[BaseModel]) -> List[ModelField]: - return list(model.__fields__.values()) # type: ignore[attr-defined] - def _regenerate_error_with_loc( *, errors: Sequence[Any], loc_prefix: Tuple[Union[str, int], ...] @@ -550,12 +525,6 @@ def _annotation_is_sequence(annotation: Union[Type[Any], None]) -> bool: def field_annotation_is_sequence(annotation: Union[Type[Any], None]) -> bool: - origin = get_origin(annotation) - if origin is Union or origin is UnionType: - for arg in get_args(annotation): - if field_annotation_is_sequence(arg): - return True - return False return _annotation_is_sequence(annotation) or _annotation_is_sequence( get_origin(annotation) ) @@ -658,8 +627,3 @@ def is_uploadfile_sequence_annotation(annotation: Any) -> bool: is_uploadfile_or_nonable_uploadfile_annotation(sub_annotation) for sub_annotation in get_args(annotation) ) - - -@lru_cache -def get_cached_model_fields(model: Type[BaseModel]) -> List[ModelField]: - return get_model_fields(model) diff --git a/venv/lib/python3.12/site-packages/fastapi/applications.py b/venv/lib/python3.12/site-packages/fastapi/applications.py index b3424ef..3021d75 100644 --- a/venv/lib/python3.12/site-packages/fastapi/applications.py +++ b/venv/lib/python3.12/site-packages/fastapi/applications.py @@ -22,6 +22,7 @@ from fastapi.exception_handlers import ( ) from fastapi.exceptions import RequestValidationError, WebSocketRequestValidationError from fastapi.logger import logger +from fastapi.middleware.asyncexitstack import AsyncExitStackMiddleware from fastapi.openapi.docs import ( get_redoc_html, get_swagger_ui_html, @@ -36,11 +37,13 @@ from starlette.datastructures import State from starlette.exceptions import HTTPException from starlette.middleware import Middleware from starlette.middleware.base import BaseHTTPMiddleware +from starlette.middleware.errors import ServerErrorMiddleware +from starlette.middleware.exceptions import ExceptionMiddleware from starlette.requests import Request from starlette.responses import HTMLResponse, JSONResponse, Response from starlette.routing import BaseRoute from starlette.types import ASGIApp, Lifespan, Receive, Scope, Send -from typing_extensions import Annotated, Doc, deprecated +from typing_extensions import Annotated, Doc, deprecated # type: ignore [attr-defined] AppType = TypeVar("AppType", bound="FastAPI") @@ -297,7 +300,7 @@ class FastAPI(Starlette): browser tabs open). Or if you want to leave fixed the possible URLs. If the servers `list` is not provided, or is an empty `list`, the - default value would be a `dict` with a `url` value of `/`. + default value would be a a `dict` with a `url` value of `/`. Each item in the `list` is a `dict` containing: @@ -748,7 +751,7 @@ class FastAPI(Starlette): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -810,32 +813,6 @@ class FastAPI(Starlette): """ ), ] = True, - openapi_external_docs: Annotated[ - Optional[Dict[str, Any]], - Doc( - """ - This field allows you to provide additional external documentation links. - If provided, it must be a dictionary containing: - - * `description`: A brief description of the external documentation. - * `url`: The URL pointing to the external documentation. The value **MUST** - be a valid URL format. - - **Example**: - - ```python - from fastapi import FastAPI - - external_docs = { - "description": "Detailed API Reference", - "url": "https://example.com/api-docs", - } - - app = FastAPI(openapi_external_docs=external_docs) - ``` - """ - ), - ] = None, **extra: Annotated[ Any, Doc( @@ -864,7 +841,6 @@ class FastAPI(Starlette): self.swagger_ui_parameters = swagger_ui_parameters self.servers = servers or [] self.separate_input_output_schemas = separate_input_output_schemas - self.openapi_external_docs = openapi_external_docs self.extra = extra self.openapi_version: Annotated[ str, @@ -929,7 +905,7 @@ class FastAPI(Starlette): A state object for the application. This is the same object for the entire application, it doesn't change from request to request. - You normally wouldn't use this in FastAPI, for most of the cases you + You normally woudln't use this in FastAPI, for most of the cases you would instead use FastAPI dependencies. This is simply inherited from Starlette. @@ -990,6 +966,55 @@ class FastAPI(Starlette): self.middleware_stack: Union[ASGIApp, None] = None self.setup() + def build_middleware_stack(self) -> ASGIApp: + # Duplicate/override from Starlette to add AsyncExitStackMiddleware + # inside of ExceptionMiddleware, inside of custom user middlewares + debug = self.debug + error_handler = None + exception_handlers = {} + + for key, value in self.exception_handlers.items(): + if key in (500, Exception): + error_handler = value + else: + exception_handlers[key] = value + + middleware = ( + [Middleware(ServerErrorMiddleware, handler=error_handler, debug=debug)] + + self.user_middleware + + [ + Middleware( + ExceptionMiddleware, handlers=exception_handlers, debug=debug + ), + # Add FastAPI-specific AsyncExitStackMiddleware for dependencies with + # contextvars. + # This needs to happen after user middlewares because those create a + # new contextvars context copy by using a new AnyIO task group. + # The initial part of dependencies with 'yield' is executed in the + # FastAPI code, inside all the middlewares. However, the teardown part + # (after 'yield') is executed in the AsyncExitStack in this middleware. + # If the AsyncExitStack lived outside of the custom middlewares and + # contextvars were set in a dependency with 'yield' in that internal + # contextvars context, the values would not be available in the + # outer context of the AsyncExitStack. + # By placing the middleware and the AsyncExitStack here, inside all + # user middlewares, the code before and after 'yield' in dependencies + # with 'yield' is executed in the same contextvars context. Thus, all values + # set in contextvars before 'yield' are still available after 'yield,' as + # expected. + # Additionally, by having this AsyncExitStack here, after the + # ExceptionMiddleware, dependencies can now catch handled exceptions, + # e.g. HTTPException, to customize the teardown code (e.g. DB session + # rollback). + Middleware(AsyncExitStackMiddleware), + ] + ) + + app = self.router + for cls, options in reversed(middleware): + app = cls(app=app, **options) + return app + def openapi(self) -> Dict[str, Any]: """ Generate the OpenAPI schema of the application. This is called by FastAPI @@ -1019,7 +1044,6 @@ class FastAPI(Starlette): tags=self.openapi_tags, servers=self.servers, separate_input_output_schemas=self.separate_input_output_schemas, - external_docs=self.openapi_external_docs, ) return self.openapi_schema @@ -1047,7 +1071,7 @@ class FastAPI(Starlette): oauth2_redirect_url = root_path + oauth2_redirect_url return get_swagger_ui_html( openapi_url=openapi_url, - title=f"{self.title} - Swagger UI", + title=self.title + " - Swagger UI", oauth2_redirect_url=oauth2_redirect_url, init_oauth=self.swagger_ui_init_oauth, swagger_ui_parameters=self.swagger_ui_parameters, @@ -1071,7 +1095,7 @@ class FastAPI(Starlette): root_path = req.scope.get("root_path", "").rstrip("/") openapi_url = root_path + self.openapi_url return get_redoc_html( - openapi_url=openapi_url, title=f"{self.title} - ReDoc" + openapi_url=openapi_url, title=self.title + " - ReDoc" ) self.add_route(self.redoc_url, redoc_html, include_in_schema=False) @@ -1084,7 +1108,7 @@ class FastAPI(Starlette): def add_api_route( self, path: str, - endpoint: Callable[..., Any], + endpoint: Callable[..., Coroutine[Any, Any, Response]], *, response_model: Any = Default(None), status_code: Optional[int] = None, @@ -1748,7 +1772,7 @@ class FastAPI(Starlette): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -2121,7 +2145,7 @@ class FastAPI(Starlette): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -2499,7 +2523,7 @@ class FastAPI(Starlette): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -2877,7 +2901,7 @@ class FastAPI(Starlette): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -3250,7 +3274,7 @@ class FastAPI(Starlette): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -3623,7 +3647,7 @@ class FastAPI(Starlette): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -3996,7 +4020,7 @@ class FastAPI(Starlette): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -4374,7 +4398,7 @@ class FastAPI(Starlette): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -4453,7 +4477,7 @@ class FastAPI(Starlette): app = FastAPI() - @app.trace("/items/{item_id}") + @app.put("/items/{item_id}") def trace_item(item_id: str): return None ``` @@ -4543,17 +4567,14 @@ class FastAPI(Starlette): ```python import time - from typing import Awaitable, Callable - from fastapi import FastAPI, Request, Response + from fastapi import FastAPI, Request app = FastAPI() @app.middleware("http") - async def add_process_time_header( - request: Request, call_next: Callable[[Request], Awaitable[Response]] - ) -> Response: + async def add_process_time_header(request: Request, call_next): start_time = time.time() response = await call_next(request) process_time = time.time() - start_time diff --git a/venv/lib/python3.12/site-packages/fastapi/background.py b/venv/lib/python3.12/site-packages/fastapi/background.py index 203578a..35ab1b2 100644 --- a/venv/lib/python3.12/site-packages/fastapi/background.py +++ b/venv/lib/python3.12/site-packages/fastapi/background.py @@ -1,7 +1,7 @@ from typing import Any, Callable from starlette.background import BackgroundTasks as StarletteBackgroundTasks -from typing_extensions import Annotated, Doc, ParamSpec +from typing_extensions import Annotated, Doc, ParamSpec # type: ignore [attr-defined] P = ParamSpec("P") diff --git a/venv/lib/python3.12/site-packages/fastapi/cli.py b/venv/lib/python3.12/site-packages/fastapi/cli.py deleted file mode 100644 index 8d3301e..0000000 --- a/venv/lib/python3.12/site-packages/fastapi/cli.py +++ /dev/null @@ -1,13 +0,0 @@ -try: - from fastapi_cli.cli import main as cli_main - -except ImportError: # pragma: no cover - cli_main = None # type: ignore - - -def main() -> None: - if not cli_main: # type: ignore[truthy-function] - message = 'To use the fastapi command, please install "fastapi[standard]":\n\n\tpip install "fastapi[standard]"\n' - print(message) - raise RuntimeError(message) # noqa: B904 - cli_main() diff --git a/venv/lib/python3.12/site-packages/fastapi/concurrency.py b/venv/lib/python3.12/site-packages/fastapi/concurrency.py index 3202c70..754061c 100644 --- a/venv/lib/python3.12/site-packages/fastapi/concurrency.py +++ b/venv/lib/python3.12/site-packages/fastapi/concurrency.py @@ -1,7 +1,8 @@ +from contextlib import AsyncExitStack as AsyncExitStack # noqa from contextlib import asynccontextmanager as asynccontextmanager from typing import AsyncGenerator, ContextManager, TypeVar -import anyio.to_thread +import anyio from anyio import CapacityLimiter from starlette.concurrency import iterate_in_threadpool as iterate_in_threadpool # noqa from starlette.concurrency import run_in_threadpool as run_in_threadpool # noqa @@ -28,7 +29,7 @@ async def contextmanager_in_threadpool( except Exception as e: ok = bool( await anyio.to_thread.run_sync( - cm.__exit__, type(e), e, e.__traceback__, limiter=exit_limiter + cm.__exit__, type(e), e, None, limiter=exit_limiter ) ) if not ok: diff --git a/venv/lib/python3.12/site-packages/fastapi/datastructures.py b/venv/lib/python3.12/site-packages/fastapi/datastructures.py index cf8406b..ce03e3c 100644 --- a/venv/lib/python3.12/site-packages/fastapi/datastructures.py +++ b/venv/lib/python3.12/site-packages/fastapi/datastructures.py @@ -24,7 +24,7 @@ from starlette.datastructures import Headers as Headers # noqa: F401 from starlette.datastructures import QueryParams as QueryParams # noqa: F401 from starlette.datastructures import State as State # noqa: F401 from starlette.datastructures import UploadFile as StarletteUploadFile -from typing_extensions import Annotated, Doc +from typing_extensions import Annotated, Doc # type: ignore [attr-defined] class UploadFile(StarletteUploadFile): diff --git a/venv/lib/python3.12/site-packages/fastapi/dependencies/models.py b/venv/lib/python3.12/site-packages/fastapi/dependencies/models.py index 418c117..61ef006 100644 --- a/venv/lib/python3.12/site-packages/fastapi/dependencies/models.py +++ b/venv/lib/python3.12/site-packages/fastapi/dependencies/models.py @@ -1,37 +1,58 @@ -from dataclasses import dataclass, field -from typing import Any, Callable, List, Optional, Sequence, Tuple +from typing import Any, Callable, List, Optional, Sequence from fastapi._compat import ModelField from fastapi.security.base import SecurityBase -@dataclass class SecurityRequirement: - security_scheme: SecurityBase - scopes: Optional[Sequence[str]] = None + def __init__( + self, security_scheme: SecurityBase, scopes: Optional[Sequence[str]] = None + ): + self.security_scheme = security_scheme + self.scopes = scopes -@dataclass class Dependant: - path_params: List[ModelField] = field(default_factory=list) - query_params: List[ModelField] = field(default_factory=list) - header_params: List[ModelField] = field(default_factory=list) - cookie_params: List[ModelField] = field(default_factory=list) - body_params: List[ModelField] = field(default_factory=list) - dependencies: List["Dependant"] = field(default_factory=list) - security_requirements: List[SecurityRequirement] = field(default_factory=list) - name: Optional[str] = None - call: Optional[Callable[..., Any]] = None - request_param_name: Optional[str] = None - websocket_param_name: Optional[str] = None - http_connection_param_name: Optional[str] = None - response_param_name: Optional[str] = None - background_tasks_param_name: Optional[str] = None - security_scopes_param_name: Optional[str] = None - security_scopes: Optional[List[str]] = None - use_cache: bool = True - path: Optional[str] = None - cache_key: Tuple[Optional[Callable[..., Any]], Tuple[str, ...]] = field(init=False) - - def __post_init__(self) -> None: + def __init__( + self, + *, + path_params: Optional[List[ModelField]] = None, + query_params: Optional[List[ModelField]] = None, + header_params: Optional[List[ModelField]] = None, + cookie_params: Optional[List[ModelField]] = None, + body_params: Optional[List[ModelField]] = None, + dependencies: Optional[List["Dependant"]] = None, + security_schemes: Optional[List[SecurityRequirement]] = None, + name: Optional[str] = None, + call: Optional[Callable[..., Any]] = None, + request_param_name: Optional[str] = None, + websocket_param_name: Optional[str] = None, + http_connection_param_name: Optional[str] = None, + response_param_name: Optional[str] = None, + background_tasks_param_name: Optional[str] = None, + security_scopes_param_name: Optional[str] = None, + security_scopes: Optional[List[str]] = None, + use_cache: bool = True, + path: Optional[str] = None, + ) -> None: + self.path_params = path_params or [] + self.query_params = query_params or [] + self.header_params = header_params or [] + self.cookie_params = cookie_params or [] + self.body_params = body_params or [] + self.dependencies = dependencies or [] + self.security_requirements = security_schemes or [] + self.request_param_name = request_param_name + self.websocket_param_name = websocket_param_name + self.http_connection_param_name = http_connection_param_name + self.response_param_name = response_param_name + self.background_tasks_param_name = background_tasks_param_name + self.security_scopes = security_scopes + self.security_scopes_param_name = security_scopes_param_name + self.name = name + self.call = call + self.use_cache = use_cache + # Store the path to be able to re-generate a dependable from it in overrides + self.path = path + # Save the cache key at creation to optimize performance self.cache_key = (self.call, tuple(sorted(set(self.security_scopes or [])))) diff --git a/venv/lib/python3.12/site-packages/fastapi/dependencies/utils.py b/venv/lib/python3.12/site-packages/fastapi/dependencies/utils.py index e49380c..96e07a4 100644 --- a/venv/lib/python3.12/site-packages/fastapi/dependencies/utils.py +++ b/venv/lib/python3.12/site-packages/fastapi/dependencies/utils.py @@ -1,8 +1,6 @@ import inspect -import sys -from contextlib import AsyncExitStack, contextmanager -from copy import copy, deepcopy -from dataclasses import dataclass +from contextlib import contextmanager +from copy import deepcopy from typing import ( Any, Callable, @@ -25,7 +23,7 @@ from fastapi._compat import ( PYDANTIC_V2, ErrorWrapper, ModelField, - RequiredParam, + Required, Undefined, _regenerate_error_with_loc, copy_field_info, @@ -33,7 +31,6 @@ from fastapi._compat import ( evaluate_forwardref, field_annotation_is_scalar, get_annotation_from_field_info, - get_cached_model_fields, get_missing_field_error, is_bytes_field, is_bytes_sequence_field, @@ -49,6 +46,7 @@ from fastapi._compat import ( ) from fastapi.background import BackgroundTasks from fastapi.concurrency import ( + AsyncExitStack, asynccontextmanager, contextmanager_in_threadpool, ) @@ -57,28 +55,16 @@ from fastapi.logger import logger from fastapi.security.base import SecurityBase from fastapi.security.oauth2 import OAuth2, SecurityScopes from fastapi.security.open_id_connect_url import OpenIdConnect -from fastapi.utils import create_model_field, get_path_param_names -from pydantic import BaseModel +from fastapi.utils import create_response_field, get_path_param_names from pydantic.fields import FieldInfo from starlette.background import BackgroundTasks as StarletteBackgroundTasks from starlette.concurrency import run_in_threadpool -from starlette.datastructures import ( - FormData, - Headers, - ImmutableMultiDict, - QueryParams, - UploadFile, -) +from starlette.datastructures import FormData, Headers, QueryParams, UploadFile from starlette.requests import HTTPConnection, Request from starlette.responses import Response from starlette.websockets import WebSocket from typing_extensions import Annotated, get_args, get_origin -if sys.version_info >= (3, 13): # pragma: no cover - from inspect import iscoroutinefunction -else: # pragma: no cover - from asyncio import iscoroutinefunction - multipart_not_installed_error = ( 'Form data requires "python-multipart" to be installed. \n' 'You can install "python-multipart" with: \n\n' @@ -94,23 +80,17 @@ multipart_incorrect_install_error = ( ) -def ensure_multipart_is_installed() -> None: - try: - from python_multipart import __version__ - - # Import an attribute that can be mocked/deleted in testing - assert __version__ > "0.0.12" - except (ImportError, AssertionError): +def check_file_field(field: ModelField) -> None: + field_info = field.field_info + if isinstance(field_info, params.Form): try: # __version__ is available in both multiparts, and can be mocked - from multipart import __version__ # type: ignore[no-redef,import-untyped] + from multipart import __version__ # type: ignore assert __version__ try: # parse_options_header is only available in the right multipart - from multipart.multipart import ( # type: ignore[import-untyped] - parse_options_header, - ) + from multipart.multipart import parse_options_header # type: ignore assert parse_options_header except ImportError: @@ -139,9 +119,9 @@ def get_param_sub_dependant( def get_parameterless_sub_dependant(*, depends: params.Depends, path: str) -> Dependant: - assert callable(depends.dependency), ( - "A parameter-less dependency must have a callable dependency" - ) + assert callable( + depends.dependency + ), "A parameter-less dependency must have a callable dependency" return get_sub_dependant(depends=depends, dependency=depends.dependency, path=path) @@ -196,7 +176,7 @@ def get_flat_dependant( header_params=dependant.header_params.copy(), cookie_params=dependant.cookie_params.copy(), body_params=dependant.body_params.copy(), - security_requirements=dependant.security_requirements.copy(), + security_schemes=dependant.security_requirements.copy(), use_cache=dependant.use_cache, path=dependant.path, ) @@ -215,23 +195,14 @@ def get_flat_dependant( return flat_dependant -def _get_flat_fields_from_params(fields: List[ModelField]) -> List[ModelField]: - if not fields: - return fields - first_field = fields[0] - if len(fields) == 1 and lenient_issubclass(first_field.type_, BaseModel): - fields_to_extract = get_cached_model_fields(first_field.type_) - return fields_to_extract - return fields - - def get_flat_params(dependant: Dependant) -> List[ModelField]: flat_dependant = get_flat_dependant(dependant, skip_repeats=True) - path_params = _get_flat_fields_from_params(flat_dependant.path_params) - query_params = _get_flat_fields_from_params(flat_dependant.query_params) - header_params = _get_flat_fields_from_params(flat_dependant.header_params) - cookie_params = _get_flat_fields_from_params(flat_dependant.cookie_params) - return path_params + query_params + header_params + cookie_params + return ( + flat_dependant.path_params + + flat_dependant.query_params + + flat_dependant.header_params + + flat_dependant.cookie_params + ) def get_typed_signature(call: Callable[..., Any]) -> inspect.Signature: @@ -254,8 +225,6 @@ def get_typed_annotation(annotation: Any, globalns: Dict[str, Any]) -> Any: if isinstance(annotation, str): annotation = ForwardRef(annotation) annotation = evaluate_forwardref(annotation, globalns, globalns) - if annotation is type(None): - return None return annotation @@ -290,16 +259,16 @@ def get_dependant( ) for param_name, param in signature_params.items(): is_path_param = param_name in path_param_names - param_details = analyze_param( + type_annotation, depends, param_field = analyze_param( param_name=param_name, annotation=param.annotation, value=param.default, is_path_param=is_path_param, ) - if param_details.depends is not None: + if depends is not None: sub_dependant = get_param_sub_dependant( param_name=param_name, - depends=param_details.depends, + depends=depends, path=path, security_scopes=security_scopes, ) @@ -307,18 +276,18 @@ def get_dependant( continue if add_non_field_param_to_dependency( param_name=param_name, - type_annotation=param_details.type_annotation, + type_annotation=type_annotation, dependant=dependant, ): - assert param_details.field is None, ( - f"Cannot specify multiple FastAPI annotations for {param_name!r}" - ) + assert ( + param_field is None + ), f"Cannot specify multiple FastAPI annotations for {param_name!r}" continue - assert param_details.field is not None - if isinstance(param_details.field.field_info, params.Body): - dependant.body_params.append(param_details.field) + assert param_field is not None + if is_body_param(param_field=param_field, is_path_param=is_path_param): + dependant.body_params.append(param_field) else: - add_param_to_fields(field=param_details.field, dependant=dependant) + add_param_to_fields(field=param_field, dependant=dependant) return dependant @@ -346,29 +315,20 @@ def add_non_field_param_to_dependency( return None -@dataclass -class ParamDetails: - type_annotation: Any - depends: Optional[params.Depends] - field: Optional[ModelField] - - def analyze_param( *, param_name: str, annotation: Any, value: Any, is_path_param: bool, -) -> ParamDetails: +) -> Tuple[Any, Optional[params.Depends], Optional[ModelField]]: field_info = None depends = None type_annotation: Any = Any - use_annotation: Any = Any - if annotation is not inspect.Signature.empty: - use_annotation = annotation - type_annotation = annotation - # Extract Annotated info - if get_origin(use_annotation) is Annotated: + if ( + annotation is not inspect.Signature.empty + and get_origin(annotation) is Annotated + ): annotated_args = get_args(annotation) type_annotation = annotated_args[0] fastapi_annotations = [ @@ -376,26 +336,16 @@ def analyze_param( for arg in annotated_args[1:] if isinstance(arg, (FieldInfo, params.Depends)) ] - fastapi_specific_annotations = [ - arg - for arg in fastapi_annotations - if isinstance(arg, (params.Param, params.Body, params.Depends)) - ] - if fastapi_specific_annotations: - fastapi_annotation: Union[FieldInfo, params.Depends, None] = ( - fastapi_specific_annotations[-1] - ) - else: - fastapi_annotation = None - # Set default for Annotated FieldInfo + assert ( + len(fastapi_annotations) <= 1 + ), f"Cannot specify multiple `Annotated` FastAPI arguments for {param_name!r}" + fastapi_annotation = next(iter(fastapi_annotations), None) if isinstance(fastapi_annotation, FieldInfo): # Copy `field_info` because we mutate `field_info.default` below. field_info = copy_field_info( - field_info=fastapi_annotation, annotation=use_annotation + field_info=fastapi_annotation, annotation=annotation ) - assert ( - field_info.default is Undefined or field_info.default is RequiredParam - ), ( + assert field_info.default is Undefined or field_info.default is Required, ( f"`{field_info.__class__.__name__}` default value cannot be set in" f" `Annotated` for {param_name!r}. Set the default value with `=` instead." ) @@ -403,11 +353,12 @@ def analyze_param( assert not is_path_param, "Path parameters cannot have default values" field_info.default = value else: - field_info.default = RequiredParam - # Get Annotated Depends + field_info.default = Required elif isinstance(fastapi_annotation, params.Depends): depends = fastapi_annotation - # Get Depends from default value + elif annotation is not inspect.Signature.empty: + type_annotation = annotation + if isinstance(value, params.Depends): assert depends is None, ( "Cannot specify `Depends` in `Annotated` and default value" @@ -418,7 +369,6 @@ def analyze_param( f" default value together for {param_name!r}" ) depends = value - # Get FieldInfo from default value elif isinstance(value, FieldInfo): assert field_info is None, ( "Cannot specify FastAPI annotations in `Annotated` and default value" @@ -428,13 +378,9 @@ def analyze_param( if PYDANTIC_V2: field_info.annotation = type_annotation - # Get Depends from type annotation if depends is not None and depends.dependency is None: - # Copy `depends` before mutating it - depends = copy(depends) depends.dependency = type_annotation - # Handle non-param type annotations like Request if lenient_issubclass( type_annotation, ( @@ -447,30 +393,27 @@ def analyze_param( ), ): assert depends is None, f"Cannot specify `Depends` for type {type_annotation!r}" - assert field_info is None, ( - f"Cannot specify FastAPI annotation for type {type_annotation!r}" - ) - # Handle default assignations, neither field_info nor depends was not found in Annotated nor default value + assert ( + field_info is None + ), f"Cannot specify FastAPI annotation for type {type_annotation!r}" elif field_info is None and depends is None: - default_value = value if value is not inspect.Signature.empty else RequiredParam + default_value = value if value is not inspect.Signature.empty else Required if is_path_param: - # We might check here that `default_value is RequiredParam`, but the fact is that the same + # We might check here that `default_value is Required`, but the fact is that the same # parameter might sometimes be a path parameter and sometimes not. See # `tests/test_infer_param_optionality.py` for an example. - field_info = params.Path(annotation=use_annotation) + field_info = params.Path(annotation=type_annotation) elif is_uploadfile_or_nonable_uploadfile_annotation( type_annotation ) or is_uploadfile_sequence_annotation(type_annotation): - field_info = params.File(annotation=use_annotation, default=default_value) + field_info = params.File(annotation=type_annotation, default=default_value) elif not field_annotation_is_scalar(annotation=type_annotation): - field_info = params.Body(annotation=use_annotation, default=default_value) + field_info = params.Body(annotation=type_annotation, default=default_value) else: - field_info = params.Query(annotation=use_annotation, default=default_value) + field_info = params.Query(annotation=type_annotation, default=default_value) field = None - # It's a field_info, not a dependency if field_info is not None: - # Handle field_info.in_ if is_path_param: assert isinstance(field_info, params.Path), ( f"Cannot use `{field_info.__class__.__name__}` for path param" @@ -481,67 +424,69 @@ def analyze_param( and getattr(field_info, "in_", None) is None ): field_info.in_ = params.ParamTypes.query - use_annotation_from_field_info = get_annotation_from_field_info( - use_annotation, + use_annotation = get_annotation_from_field_info( + type_annotation, field_info, param_name, ) - if isinstance(field_info, params.Form): - ensure_multipart_is_installed() if not field_info.alias and getattr(field_info, "convert_underscores", None): alias = param_name.replace("_", "-") else: alias = field_info.alias or param_name field_info.alias = alias - field = create_model_field( + field = create_response_field( name=param_name, - type_=use_annotation_from_field_info, + type_=use_annotation, default=field_info.default, alias=alias, - required=field_info.default in (RequiredParam, Undefined), + required=field_info.default in (Required, Undefined), field_info=field_info, ) - if is_path_param: - assert is_scalar_field(field=field), ( - "Path params must be of one of the supported types" - ) - elif isinstance(field_info, params.Query): - assert ( - is_scalar_field(field) - or is_scalar_sequence_field(field) - or ( - lenient_issubclass(field.type_, BaseModel) - # For Pydantic v1 - and getattr(field, "shape", 1) == 1 - ) - ) - return ParamDetails(type_annotation=type_annotation, depends=depends, field=field) + return type_annotation, depends, field + + +def is_body_param(*, param_field: ModelField, is_path_param: bool) -> bool: + if is_path_param: + assert is_scalar_field( + field=param_field + ), "Path params must be of one of the supported types" + return False + elif is_scalar_field(field=param_field): + return False + elif isinstance( + param_field.field_info, (params.Query, params.Header) + ) and is_scalar_sequence_field(param_field): + return False + else: + assert isinstance( + param_field.field_info, params.Body + ), f"Param: {param_field.name} can only be a request body, using Body()" + return True def add_param_to_fields(*, field: ModelField, dependant: Dependant) -> None: - field_info = field.field_info - field_info_in = getattr(field_info, "in_", None) - if field_info_in == params.ParamTypes.path: + field_info = cast(params.Param, field.field_info) + if field_info.in_ == params.ParamTypes.path: dependant.path_params.append(field) - elif field_info_in == params.ParamTypes.query: + elif field_info.in_ == params.ParamTypes.query: dependant.query_params.append(field) - elif field_info_in == params.ParamTypes.header: + elif field_info.in_ == params.ParamTypes.header: dependant.header_params.append(field) else: - assert field_info_in == params.ParamTypes.cookie, ( - f"non-body parameters must be in path, query, header or cookie: {field.name}" - ) + assert ( + field_info.in_ == params.ParamTypes.cookie + ), f"non-body parameters must be in path, query, header or cookie: {field.name}" dependant.cookie_params.append(field) def is_coroutine_callable(call: Callable[..., Any]) -> bool: if inspect.isroutine(call): - return iscoroutinefunction(call) + return inspect.iscoroutinefunction(call) if inspect.isclass(call): return False dunder_call = getattr(call, "__call__", None) # noqa: B004 - return iscoroutinefunction(dunder_call) + return inspect.iscoroutinefunction(dunder_call) def is_async_gen_callable(call: Callable[..., Any]) -> bool: @@ -568,15 +513,6 @@ async def solve_generator( return await stack.enter_async_context(cm) -@dataclass -class SolvedDependency: - values: Dict[str, Any] - errors: List[Any] - background_tasks: Optional[StarletteBackgroundTasks] - response: Response - dependency_cache: Dict[Tuple[Callable[..., Any], Tuple[str]], Any] - - async def solve_dependencies( *, request: Union[Request, WebSocket], @@ -586,17 +522,20 @@ async def solve_dependencies( response: Optional[Response] = None, dependency_overrides_provider: Optional[Any] = None, dependency_cache: Optional[Dict[Tuple[Callable[..., Any], Tuple[str]], Any]] = None, - async_exit_stack: AsyncExitStack, - embed_body_fields: bool, -) -> SolvedDependency: +) -> Tuple[ + Dict[str, Any], + List[Any], + Optional[StarletteBackgroundTasks], + Response, + Dict[Tuple[Callable[..., Any], Tuple[str]], Any], +]: values: Dict[str, Any] = {} errors: List[Any] = [] if response is None: response = Response() del response.headers["content-length"] response.status_code = None # type: ignore - if dependency_cache is None: - dependency_cache = {} + dependency_cache = dependency_cache or {} sub_dependant: Dependant for sub_dependant in dependant.dependencies: sub_dependant.call = cast(Callable[..., Any], sub_dependant.call) @@ -629,23 +568,30 @@ async def solve_dependencies( response=response, dependency_overrides_provider=dependency_overrides_provider, dependency_cache=dependency_cache, - async_exit_stack=async_exit_stack, - embed_body_fields=embed_body_fields, ) - background_tasks = solved_result.background_tasks - if solved_result.errors: - errors.extend(solved_result.errors) + ( + sub_values, + sub_errors, + background_tasks, + _, # the subdependency returns the same response we have + sub_dependency_cache, + ) = solved_result + dependency_cache.update(sub_dependency_cache) + if sub_errors: + errors.extend(sub_errors) continue if sub_dependant.use_cache and sub_dependant.cache_key in dependency_cache: solved = dependency_cache[sub_dependant.cache_key] elif is_gen_callable(call) or is_async_gen_callable(call): + stack = request.scope.get("fastapi_astack") + assert isinstance(stack, AsyncExitStack) solved = await solve_generator( - call=call, stack=async_exit_stack, sub_values=solved_result.values + call=call, stack=stack, sub_values=sub_values ) elif is_coroutine_callable(call): - solved = await call(**solved_result.values) + solved = await call(**sub_values) else: - solved = await run_in_threadpool(call, **solved_result.values) + solved = await run_in_threadpool(call, **sub_values) if sub_dependant.name is not None: values[sub_dependant.name] = solved if sub_dependant.cache_key not in dependency_cache: @@ -672,9 +618,7 @@ async def solve_dependencies( body_values, body_errors, ) = await request_body_to_args( # body_params checked above - body_fields=dependant.body_params, - received_body=body, - embed_body_fields=embed_body_fields, + required_params=dependant.body_params, received_body=body ) values.update(body_values) errors.extend(body_errors) @@ -694,289 +638,142 @@ async def solve_dependencies( values[dependant.security_scopes_param_name] = SecurityScopes( scopes=dependant.security_scopes ) - return SolvedDependency( - values=values, - errors=errors, - background_tasks=background_tasks, - response=response, - dependency_cache=dependency_cache, - ) - - -def _validate_value_with_model_field( - *, field: ModelField, value: Any, values: Dict[str, Any], loc: Tuple[str, ...] -) -> Tuple[Any, List[Any]]: - if value is None: - if field.required: - return None, [get_missing_field_error(loc=loc)] - else: - return deepcopy(field.default), [] - v_, errors_ = field.validate(value, values, loc=loc) - if isinstance(errors_, ErrorWrapper): - return None, [errors_] - elif isinstance(errors_, list): - new_errors = _regenerate_error_with_loc(errors=errors_, loc_prefix=()) - return None, new_errors - else: - return v_, [] - - -def _get_multidict_value( - field: ModelField, values: Mapping[str, Any], alias: Union[str, None] = None -) -> Any: - alias = alias or field.alias - if is_sequence_field(field) and isinstance(values, (ImmutableMultiDict, Headers)): - value = values.getlist(alias) - else: - value = values.get(alias, None) - if ( - value is None - or ( - isinstance(field.field_info, params.Form) - and isinstance(value, str) # For type checks - and value == "" - ) - or (is_sequence_field(field) and len(value) == 0) - ): - if field.required: - return - else: - return deepcopy(field.default) - return value + return values, errors, background_tasks, response, dependency_cache def request_params_to_args( - fields: Sequence[ModelField], + required_params: Sequence[ModelField], received_params: Union[Mapping[str, Any], QueryParams, Headers], ) -> Tuple[Dict[str, Any], List[Any]]: - values: Dict[str, Any] = {} - errors: List[Dict[str, Any]] = [] - - if not fields: - return values, errors - - first_field = fields[0] - fields_to_extract = fields - single_not_embedded_field = False - default_convert_underscores = True - if len(fields) == 1 and lenient_issubclass(first_field.type_, BaseModel): - fields_to_extract = get_cached_model_fields(first_field.type_) - single_not_embedded_field = True - # If headers are in a Pydantic model, the way to disable convert_underscores - # would be with Header(convert_underscores=False) at the Pydantic model level - default_convert_underscores = getattr( - first_field.field_info, "convert_underscores", True - ) - - params_to_process: Dict[str, Any] = {} - - processed_keys = set() - - for field in fields_to_extract: - alias = None - if isinstance(received_params, Headers): - # Handle fields extracted from a Pydantic Model for a header, each field - # doesn't have a FieldInfo of type Header with the default convert_underscores=True - convert_underscores = getattr( - field.field_info, "convert_underscores", default_convert_underscores - ) - if convert_underscores: - alias = ( - field.alias - if field.alias != field.name - else field.name.replace("_", "-") - ) - value = _get_multidict_value(field, received_params, alias=alias) - if value is not None: - params_to_process[field.name] = value - processed_keys.add(alias or field.alias) - processed_keys.add(field.name) - - for key, value in received_params.items(): - if key not in processed_keys: - params_to_process[key] = value - - if single_not_embedded_field: - field_info = first_field.field_info - assert isinstance(field_info, params.Param), ( - "Params must be subclasses of Param" - ) - loc: Tuple[str, ...] = (field_info.in_.value,) - v_, errors_ = _validate_value_with_model_field( - field=first_field, value=params_to_process, values=values, loc=loc - ) - return {first_field.name: v_}, errors_ - - for field in fields: - value = _get_multidict_value(field, received_params) + values = {} + errors = [] + for field in required_params: + if is_scalar_sequence_field(field) and isinstance( + received_params, (QueryParams, Headers) + ): + value = received_params.getlist(field.alias) or field.default + else: + value = received_params.get(field.alias) field_info = field.field_info - assert isinstance(field_info, params.Param), ( - "Params must be subclasses of Param" - ) + assert isinstance( + field_info, params.Param + ), "Params must be subclasses of Param" loc = (field_info.in_.value, field.alias) - v_, errors_ = _validate_value_with_model_field( - field=field, value=value, values=values, loc=loc - ) - if errors_: - errors.extend(errors_) + if value is None: + if field.required: + errors.append(get_missing_field_error(loc=loc)) + else: + values[field.name] = deepcopy(field.default) + continue + v_, errors_ = field.validate(value, values, loc=loc) + if isinstance(errors_, ErrorWrapper): + errors.append(errors_) + elif isinstance(errors_, list): + new_errors = _regenerate_error_with_loc(errors=errors_, loc_prefix=()) + errors.extend(new_errors) else: values[field.name] = v_ return values, errors -def is_union_of_base_models(field_type: Any) -> bool: - """Check if field type is a Union where all members are BaseModel subclasses.""" - from fastapi.types import UnionType - - origin = get_origin(field_type) - - # Check if it's a Union type (covers both typing.Union and types.UnionType in Python 3.10+) - if origin is not Union and origin is not UnionType: - return False - - union_args = get_args(field_type) - - for arg in union_args: - if not lenient_issubclass(arg, BaseModel): - return False - - return True - - -def _should_embed_body_fields(fields: List[ModelField]) -> bool: - if not fields: - return False - # More than one dependency could have the same field, it would show up as multiple - # fields but it's the same one, so count them by name - body_param_names_set = {field.name for field in fields} - # A top level field has to be a single field, not multiple - if len(body_param_names_set) > 1: - return True - first_field = fields[0] - # If it explicitly specifies it is embedded, it has to be embedded - if getattr(first_field.field_info, "embed", None): - return True - # If it's a Form (or File) field, it has to be a BaseModel (or a union of BaseModels) to be top level - # otherwise it has to be embedded, so that the key value pair can be extracted - if ( - isinstance(first_field.field_info, params.Form) - and not lenient_issubclass(first_field.type_, BaseModel) - and not is_union_of_base_models(first_field.type_) - ): - return True - return False - - -async def _extract_form_body( - body_fields: List[ModelField], - received_body: FormData, -) -> Dict[str, Any]: - values = {} - - for field in body_fields: - value = _get_multidict_value(field, received_body) - field_info = field.field_info - if ( - isinstance(field_info, params.File) - and is_bytes_field(field) - and isinstance(value, UploadFile) - ): - value = await value.read() - elif ( - is_bytes_sequence_field(field) - and isinstance(field_info, params.File) - and value_is_sequence(value) - ): - # For types - assert isinstance(value, sequence_types) # type: ignore[arg-type] - results: List[Union[bytes, str]] = [] - - async def process_fn( - fn: Callable[[], Coroutine[Any, Any, Any]], - ) -> None: - result = await fn() - results.append(result) # noqa: B023 - - async with anyio.create_task_group() as tg: - for sub_value in value: - tg.start_soon(process_fn, sub_value.read) - value = serialize_sequence_value(field=field, value=results) - if value is not None: - values[field.alias] = value - for key, value in received_body.items(): - if key not in values: - values[key] = value - return values - - async def request_body_to_args( - body_fields: List[ModelField], + required_params: List[ModelField], received_body: Optional[Union[Dict[str, Any], FormData]], - embed_body_fields: bool, ) -> Tuple[Dict[str, Any], List[Dict[str, Any]]]: - values: Dict[str, Any] = {} + values = {} errors: List[Dict[str, Any]] = [] - assert body_fields, "request_body_to_args() should be called with fields" - single_not_embedded_field = len(body_fields) == 1 and not embed_body_fields - first_field = body_fields[0] - body_to_process = received_body + if required_params: + field = required_params[0] + field_info = field.field_info + embed = getattr(field_info, "embed", None) + field_alias_omitted = len(required_params) == 1 and not embed + if field_alias_omitted: + received_body = {field.alias: received_body} - fields_to_extract: List[ModelField] = body_fields + for field in required_params: + loc: Tuple[str, ...] + if field_alias_omitted: + loc = ("body",) + else: + loc = ("body", field.alias) - if ( - single_not_embedded_field - and lenient_issubclass(first_field.type_, BaseModel) - and isinstance(received_body, FormData) - ): - fields_to_extract = get_cached_model_fields(first_field.type_) - - if isinstance(received_body, FormData): - body_to_process = await _extract_form_body(fields_to_extract, received_body) - - if single_not_embedded_field: - loc: Tuple[str, ...] = ("body",) - v_, errors_ = _validate_value_with_model_field( - field=first_field, value=body_to_process, values=values, loc=loc - ) - return {first_field.name: v_}, errors_ - for field in body_fields: - loc = ("body", field.alias) - value: Optional[Any] = None - if body_to_process is not None: - try: - value = body_to_process.get(field.alias) - # If the received body is a list, not a dict - except AttributeError: - errors.append(get_missing_field_error(loc)) + value: Optional[Any] = None + if received_body is not None: + if (is_sequence_field(field)) and isinstance(received_body, FormData): + value = received_body.getlist(field.alias) + else: + try: + value = received_body.get(field.alias) + except AttributeError: + errors.append(get_missing_field_error(loc)) + continue + if ( + value is None + or (isinstance(field_info, params.Form) and value == "") + or ( + isinstance(field_info, params.Form) + and is_sequence_field(field) + and len(value) == 0 + ) + ): + if field.required: + errors.append(get_missing_field_error(loc)) + else: + values[field.name] = deepcopy(field.default) continue - v_, errors_ = _validate_value_with_model_field( - field=field, value=value, values=values, loc=loc - ) - if errors_: - errors.extend(errors_) - else: - values[field.name] = v_ + if ( + isinstance(field_info, params.File) + and is_bytes_field(field) + and isinstance(value, UploadFile) + ): + value = await value.read() + elif ( + is_bytes_sequence_field(field) + and isinstance(field_info, params.File) + and value_is_sequence(value) + ): + # For types + assert isinstance(value, sequence_types) # type: ignore[arg-type] + results: List[Union[bytes, str]] = [] + + async def process_fn( + fn: Callable[[], Coroutine[Any, Any, Any]] + ) -> None: + result = await fn() + results.append(result) # noqa: B023 + + async with anyio.create_task_group() as tg: + for sub_value in value: + tg.start_soon(process_fn, sub_value.read) + value = serialize_sequence_value(field=field, value=results) + + v_, errors_ = field.validate(value, values, loc=loc) + + if isinstance(errors_, list): + errors.extend(errors_) + elif errors_: + errors.append(errors_) + else: + values[field.name] = v_ return values, errors -def get_body_field( - *, flat_dependant: Dependant, name: str, embed_body_fields: bool -) -> Optional[ModelField]: - """ - Get a ModelField representing the request body for a path operation, combining - all body parameters into a single field if necessary. - - Used to check if it's form data (with `isinstance(body_field, params.Form)`) - or JSON and to generate the JSON Schema for a request body. - - This is **not** used to validate/parse the request body, that's done with each - individual body parameter. - """ +def get_body_field(*, dependant: Dependant, name: str) -> Optional[ModelField]: + flat_dependant = get_flat_dependant(dependant) if not flat_dependant.body_params: return None first_param = flat_dependant.body_params[0] - if not embed_body_fields: + field_info = first_param.field_info + embed = getattr(field_info, "embed", None) + body_param_names_set = {param.name for param in flat_dependant.body_params} + if len(body_param_names_set) == 1 and not embed: + check_file_field(first_param) return first_param + # If one field requires to embed, all have to be embedded + # in case a sub-dependency is evaluated with a single unique body field + # That is combined (embedded) with other body fields + for param in flat_dependant.body_params: + setattr(param.field_info, "embed", True) # noqa: B010 model_name = "Body_" + name BodyModel = create_body_model( fields=flat_dependant.body_params, model_name=model_name @@ -1002,11 +799,12 @@ def get_body_field( ] if len(set(body_param_media_types)) == 1: BodyFieldInfo_kwargs["media_type"] = body_param_media_types[0] - final_field = create_model_field( + final_field = create_response_field( name="body", type_=BodyModel, required=required, alias="body", field_info=BodyFieldInfo(**BodyFieldInfo_kwargs), ) + check_file_field(final_field) return final_field diff --git a/venv/lib/python3.12/site-packages/fastapi/encoders.py b/venv/lib/python3.12/site-packages/fastapi/encoders.py index b037f8b..e501713 100644 --- a/venv/lib/python3.12/site-packages/fastapi/encoders.py +++ b/venv/lib/python3.12/site-packages/fastapi/encoders.py @@ -22,9 +22,9 @@ from pydantic import BaseModel from pydantic.color import Color from pydantic.networks import AnyUrl, NameEmail from pydantic.types import SecretBytes, SecretStr -from typing_extensions import Annotated, Doc +from typing_extensions import Annotated, Doc # type: ignore [attr-defined] -from ._compat import PYDANTIC_V2, UndefinedType, Url, _model_dump +from ._compat import PYDANTIC_V2, Url, _model_dump # Taken from Pydantic v1 as is @@ -86,7 +86,7 @@ ENCODERS_BY_TYPE: Dict[Type[Any], Callable[[Any], Any]] = { def generate_encoders_by_class_tuples( - type_encoder_map: Dict[Any, Callable[[Any], Any]], + type_encoder_map: Dict[Any, Callable[[Any], Any]] ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]: encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict( tuple @@ -219,7 +219,7 @@ def jsonable_encoder( if not PYDANTIC_V2: encoders = getattr(obj.__config__, "json_encoders", {}) # type: ignore[attr-defined] if custom_encoder: - encoders = {**encoders, **custom_encoder} + encoders.update(custom_encoder) obj_dict = _model_dump( obj, mode="json", @@ -241,7 +241,6 @@ def jsonable_encoder( sqlalchemy_safe=sqlalchemy_safe, ) if dataclasses.is_dataclass(obj): - assert not isinstance(obj, type) obj_dict = dataclasses.asdict(obj) return jsonable_encoder( obj_dict, @@ -260,8 +259,6 @@ def jsonable_encoder( return str(obj) if isinstance(obj, (str, int, float, type(None))): return obj - if isinstance(obj, UndefinedType): - return None if isinstance(obj, dict): encoded_dict = {} allowed_keys = set(obj.keys()) diff --git a/venv/lib/python3.12/site-packages/fastapi/exception_handlers.py b/venv/lib/python3.12/site-packages/fastapi/exception_handlers.py index 475dd7b..6c2ba7f 100644 --- a/venv/lib/python3.12/site-packages/fastapi/exception_handlers.py +++ b/venv/lib/python3.12/site-packages/fastapi/exception_handlers.py @@ -5,7 +5,7 @@ from fastapi.websockets import WebSocket from starlette.exceptions import HTTPException from starlette.requests import Request from starlette.responses import JSONResponse, Response -from starlette.status import WS_1008_POLICY_VIOLATION +from starlette.status import HTTP_422_UNPROCESSABLE_ENTITY, WS_1008_POLICY_VIOLATION async def http_exception_handler(request: Request, exc: HTTPException) -> Response: @@ -21,7 +21,7 @@ async def request_validation_exception_handler( request: Request, exc: RequestValidationError ) -> JSONResponse: return JSONResponse( - status_code=422, + status_code=HTTP_422_UNPROCESSABLE_ENTITY, content={"detail": jsonable_encoder(exc.errors())}, ) diff --git a/venv/lib/python3.12/site-packages/fastapi/exceptions.py b/venv/lib/python3.12/site-packages/fastapi/exceptions.py index 44d4ada..680d288 100644 --- a/venv/lib/python3.12/site-packages/fastapi/exceptions.py +++ b/venv/lib/python3.12/site-packages/fastapi/exceptions.py @@ -3,7 +3,7 @@ from typing import Any, Dict, Optional, Sequence, Type, Union from pydantic import BaseModel, create_model from starlette.exceptions import HTTPException as StarletteHTTPException from starlette.exceptions import WebSocketException as StarletteWebSocketException -from typing_extensions import Annotated, Doc +from typing_extensions import Annotated, Doc # type: ignore [attr-defined] class HTTPException(StarletteHTTPException): diff --git a/venv/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py b/venv/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py new file mode 100644 index 0000000..30a0ae6 --- /dev/null +++ b/venv/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py @@ -0,0 +1,25 @@ +from typing import Optional + +from fastapi.concurrency import AsyncExitStack +from starlette.types import ASGIApp, Receive, Scope, Send + + +class AsyncExitStackMiddleware: + def __init__(self, app: ASGIApp, context_name: str = "fastapi_astack") -> None: + self.app = app + self.context_name = context_name + + async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: + dependency_exception: Optional[Exception] = None + async with AsyncExitStack() as stack: + scope[self.context_name] = stack + try: + await self.app(scope, receive, send) + except Exception as e: + dependency_exception = e + raise e + if dependency_exception: + # This exception was possibly handled by the dependency but it should + # still bubble up so that the ServerErrorMiddleware can return a 500 + # or the ExceptionMiddleware can catch and handle any other exceptions + raise dependency_exception diff --git a/venv/lib/python3.12/site-packages/fastapi/openapi/docs.py b/venv/lib/python3.12/site-packages/fastapi/openapi/docs.py index f181b43..69473d1 100644 --- a/venv/lib/python3.12/site-packages/fastapi/openapi/docs.py +++ b/venv/lib/python3.12/site-packages/fastapi/openapi/docs.py @@ -3,7 +3,7 @@ from typing import Any, Dict, Optional from fastapi.encoders import jsonable_encoder from starlette.responses import HTMLResponse -from typing_extensions import Annotated, Doc +from typing_extensions import Annotated, Doc # type: ignore [attr-defined] swagger_ui_default_parameters: Annotated[ Dict[str, Any], @@ -53,7 +53,7 @@ def get_swagger_ui_html( It is normally set to a CDN URL. """ ), - ] = "https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui-bundle.js", + ] = "https://cdn.jsdelivr.net/npm/swagger-ui-dist@5.9.0/swagger-ui-bundle.js", swagger_css_url: Annotated[ str, Doc( @@ -63,7 +63,7 @@ def get_swagger_ui_html( It is normally set to a CDN URL. """ ), - ] = "https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui.css", + ] = "https://cdn.jsdelivr.net/npm/swagger-ui-dist@5.9.0/swagger-ui.css", swagger_favicon_url: Annotated[ str, Doc( @@ -188,7 +188,7 @@ def get_redoc_html( It is normally set to a CDN URL. """ ), - ] = "https://cdn.jsdelivr.net/npm/redoc@2/bundles/redoc.standalone.js", + ] = "https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js", redoc_favicon_url: Annotated[ str, Doc( diff --git a/venv/lib/python3.12/site-packages/fastapi/openapi/models.py b/venv/lib/python3.12/site-packages/fastapi/openapi/models.py index 81d276a..5f3bdbb 100644 --- a/venv/lib/python3.12/site-packages/fastapi/openapi/models.py +++ b/venv/lib/python3.12/site-packages/fastapi/openapi/models.py @@ -55,7 +55,11 @@ except ImportError: # pragma: no cover return with_info_plain_validator_function(cls._validate) -class BaseModelWithConfig(BaseModel): +class Contact(BaseModel): + name: Optional[str] = None + url: Optional[AnyUrl] = None + email: Optional[EmailStr] = None + if PYDANTIC_V2: model_config = {"extra": "allow"} @@ -65,19 +69,21 @@ class BaseModelWithConfig(BaseModel): extra = "allow" -class Contact(BaseModelWithConfig): - name: Optional[str] = None - url: Optional[AnyUrl] = None - email: Optional[EmailStr] = None - - -class License(BaseModelWithConfig): +class License(BaseModel): name: str identifier: Optional[str] = None url: Optional[AnyUrl] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class Info(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class Info(BaseModel): title: str summary: Optional[str] = None description: Optional[str] = None @@ -86,18 +92,42 @@ class Info(BaseModelWithConfig): license: Optional[License] = None version: str + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class ServerVariable(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class ServerVariable(BaseModel): enum: Annotated[Optional[List[str]], Field(min_length=1)] = None default: str description: Optional[str] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class Server(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class Server(BaseModel): url: Union[AnyUrl, str] description: Optional[str] = None variables: Optional[Dict[str, ServerVariable]] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} + + else: + + class Config: + extra = "allow" + class Reference(BaseModel): ref: str = Field(alias="$ref") @@ -108,26 +138,36 @@ class Discriminator(BaseModel): mapping: Optional[Dict[str, str]] = None -class XML(BaseModelWithConfig): +class XML(BaseModel): name: Optional[str] = None namespace: Optional[str] = None prefix: Optional[str] = None attribute: Optional[bool] = None wrapped: Optional[bool] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class ExternalDocumentation(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class ExternalDocumentation(BaseModel): description: Optional[str] = None url: AnyUrl + if PYDANTIC_V2: + model_config = {"extra": "allow"} -# Ref JSON Schema 2020-12: https://json-schema.org/draft/2020-12/json-schema-validation#name-type -SchemaType = Literal[ - "array", "boolean", "integer", "null", "number", "object", "string" -] + else: + + class Config: + extra = "allow" -class Schema(BaseModelWithConfig): +class Schema(BaseModel): # Ref: JSON Schema 2020-12: https://json-schema.org/draft/2020-12/json-schema-core.html#name-the-json-schema-core-vocabu # Core Vocabulary schema_: Optional[str] = Field(default=None, alias="$schema") @@ -151,7 +191,7 @@ class Schema(BaseModelWithConfig): dependentSchemas: Optional[Dict[str, "SchemaOrBool"]] = None prefixItems: Optional[List["SchemaOrBool"]] = None # TODO: uncomment and remove below when deprecating Pydantic v1 - # It generates a list of schemas for tuples, before prefixItems was available + # It generales a list of schemas for tuples, before prefixItems was available # items: Optional["SchemaOrBool"] = None items: Optional[Union["SchemaOrBool", List["SchemaOrBool"]]] = None contains: Optional["SchemaOrBool"] = None @@ -163,7 +203,7 @@ class Schema(BaseModelWithConfig): unevaluatedProperties: Optional["SchemaOrBool"] = None # Ref: JSON Schema Validation 2020-12: https://json-schema.org/draft/2020-12/json-schema-validation.html#name-a-vocabulary-for-structural # A Vocabulary for Structural Validation - type: Optional[Union[SchemaType, List[SchemaType]]] = None + type: Optional[str] = None enum: Optional[List[Any]] = None const: Optional[Any] = None multipleOf: Optional[float] = Field(default=None, gt=0) @@ -213,6 +253,14 @@ class Schema(BaseModelWithConfig): ), ] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} + + else: + + class Config: + extra = "allow" + # Ref: https://json-schema.org/draft/2020-12/json-schema-core.html#name-json-schema-documents # A JSON Schema MUST be an object or a boolean. @@ -241,22 +289,38 @@ class ParameterInType(Enum): cookie = "cookie" -class Encoding(BaseModelWithConfig): +class Encoding(BaseModel): contentType: Optional[str] = None headers: Optional[Dict[str, Union["Header", Reference]]] = None style: Optional[str] = None explode: Optional[bool] = None allowReserved: Optional[bool] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class MediaType(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class MediaType(BaseModel): schema_: Optional[Union[Schema, Reference]] = Field(default=None, alias="schema") example: Optional[Any] = None examples: Optional[Dict[str, Union[Example, Reference]]] = None encoding: Optional[Dict[str, Encoding]] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class ParameterBase(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class ParameterBase(BaseModel): description: Optional[str] = None required: Optional[bool] = None deprecated: Optional[bool] = None @@ -270,6 +334,14 @@ class ParameterBase(BaseModelWithConfig): # Serialization rules for more complex scenarios content: Optional[Dict[str, MediaType]] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} + + else: + + class Config: + extra = "allow" + class Parameter(ParameterBase): name: str @@ -280,13 +352,21 @@ class Header(ParameterBase): pass -class RequestBody(BaseModelWithConfig): +class RequestBody(BaseModel): description: Optional[str] = None content: Dict[str, MediaType] required: Optional[bool] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class Link(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class Link(BaseModel): operationRef: Optional[str] = None operationId: Optional[str] = None parameters: Optional[Dict[str, Union[Any, str]]] = None @@ -294,15 +374,31 @@ class Link(BaseModelWithConfig): description: Optional[str] = None server: Optional[Server] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class Response(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class Response(BaseModel): description: str headers: Optional[Dict[str, Union[Header, Reference]]] = None content: Optional[Dict[str, MediaType]] = None links: Optional[Dict[str, Union[Link, Reference]]] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class Operation(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class Operation(BaseModel): tags: Optional[List[str]] = None summary: Optional[str] = None description: Optional[str] = None @@ -317,8 +413,16 @@ class Operation(BaseModelWithConfig): security: Optional[List[Dict[str, List[str]]]] = None servers: Optional[List[Server]] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class PathItem(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class PathItem(BaseModel): ref: Optional[str] = Field(default=None, alias="$ref") summary: Optional[str] = None description: Optional[str] = None @@ -333,6 +437,14 @@ class PathItem(BaseModelWithConfig): servers: Optional[List[Server]] = None parameters: Optional[List[Union[Parameter, Reference]]] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} + + else: + + class Config: + extra = "allow" + class SecuritySchemeType(Enum): apiKey = "apiKey" @@ -341,10 +453,18 @@ class SecuritySchemeType(Enum): openIdConnect = "openIdConnect" -class SecurityBase(BaseModelWithConfig): +class SecurityBase(BaseModel): type_: SecuritySchemeType = Field(alias="type") description: Optional[str] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} + + else: + + class Config: + extra = "allow" + class APIKeyIn(Enum): query = "query" @@ -368,10 +488,18 @@ class HTTPBearer(HTTPBase): bearerFormat: Optional[str] = None -class OAuthFlow(BaseModelWithConfig): +class OAuthFlow(BaseModel): refreshUrl: Optional[str] = None scopes: Dict[str, str] = {} + if PYDANTIC_V2: + model_config = {"extra": "allow"} + + else: + + class Config: + extra = "allow" + class OAuthFlowImplicit(OAuthFlow): authorizationUrl: str @@ -390,12 +518,20 @@ class OAuthFlowAuthorizationCode(OAuthFlow): tokenUrl: str -class OAuthFlows(BaseModelWithConfig): +class OAuthFlows(BaseModel): implicit: Optional[OAuthFlowImplicit] = None password: Optional[OAuthFlowPassword] = None clientCredentials: Optional[OAuthFlowClientCredentials] = None authorizationCode: Optional[OAuthFlowAuthorizationCode] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} + + else: + + class Config: + extra = "allow" + class OAuth2(SecurityBase): type_: SecuritySchemeType = Field(default=SecuritySchemeType.oauth2, alias="type") @@ -412,7 +548,7 @@ class OpenIdConnect(SecurityBase): SecurityScheme = Union[APIKey, HTTPBase, OAuth2, OpenIdConnect, HTTPBearer] -class Components(BaseModelWithConfig): +class Components(BaseModel): schemas: Optional[Dict[str, Union[Schema, Reference]]] = None responses: Optional[Dict[str, Union[Response, Reference]]] = None parameters: Optional[Dict[str, Union[Parameter, Reference]]] = None @@ -425,14 +561,30 @@ class Components(BaseModelWithConfig): callbacks: Optional[Dict[str, Union[Dict[str, PathItem], Reference, Any]]] = None pathItems: Optional[Dict[str, Union[PathItem, Reference]]] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class Tag(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class Tag(BaseModel): name: str description: Optional[str] = None externalDocs: Optional[ExternalDocumentation] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} -class OpenAPI(BaseModelWithConfig): + else: + + class Config: + extra = "allow" + + +class OpenAPI(BaseModel): openapi: str info: Info jsonSchemaDialect: Optional[str] = None @@ -445,6 +597,14 @@ class OpenAPI(BaseModelWithConfig): tags: Optional[List[Tag]] = None externalDocs: Optional[ExternalDocumentation] = None + if PYDANTIC_V2: + model_config = {"extra": "allow"} + + else: + + class Config: + extra = "allow" + _model_rebuild(Schema) _model_rebuild(Operation) diff --git a/venv/lib/python3.12/site-packages/fastapi/openapi/utils.py b/venv/lib/python3.12/site-packages/fastapi/openapi/utils.py index 21105cf..5bfb5ac 100644 --- a/venv/lib/python3.12/site-packages/fastapi/openapi/utils.py +++ b/venv/lib/python3.12/site-packages/fastapi/openapi/utils.py @@ -16,15 +16,11 @@ from fastapi._compat import ( ) from fastapi.datastructures import DefaultPlaceholder from fastapi.dependencies.models import Dependant -from fastapi.dependencies.utils import ( - _get_flat_fields_from_params, - get_flat_dependant, - get_flat_params, -) +from fastapi.dependencies.utils import get_flat_dependant, get_flat_params from fastapi.encoders import jsonable_encoder from fastapi.openapi.constants import METHODS_WITH_BODY, REF_PREFIX, REF_TEMPLATE from fastapi.openapi.models import OpenAPI -from fastapi.params import Body, ParamTypes +from fastapi.params import Body, Param from fastapi.responses import Response from fastapi.types import ModelNameMap from fastapi.utils import ( @@ -32,9 +28,9 @@ from fastapi.utils import ( generate_operation_id_for_path, is_body_allowed_for_status_code, ) -from pydantic import BaseModel from starlette.responses import JSONResponse from starlette.routing import BaseRoute +from starlette.status import HTTP_422_UNPROCESSABLE_ENTITY from typing_extensions import Literal validation_error_definition = { @@ -91,9 +87,9 @@ def get_openapi_security_definitions( return security_definitions, operation_security -def _get_openapi_operation_parameters( +def get_openapi_operation_parameters( *, - dependant: Dependant, + all_route_params: Sequence[ModelField], schema_generator: GenerateJsonSchema, model_name_map: ModelNameMap, field_mapping: Dict[ @@ -102,67 +98,33 @@ def _get_openapi_operation_parameters( separate_input_output_schemas: bool = True, ) -> List[Dict[str, Any]]: parameters = [] - flat_dependant = get_flat_dependant(dependant, skip_repeats=True) - path_params = _get_flat_fields_from_params(flat_dependant.path_params) - query_params = _get_flat_fields_from_params(flat_dependant.query_params) - header_params = _get_flat_fields_from_params(flat_dependant.header_params) - cookie_params = _get_flat_fields_from_params(flat_dependant.cookie_params) - parameter_groups = [ - (ParamTypes.path, path_params), - (ParamTypes.query, query_params), - (ParamTypes.header, header_params), - (ParamTypes.cookie, cookie_params), - ] - default_convert_underscores = True - if len(flat_dependant.header_params) == 1: - first_field = flat_dependant.header_params[0] - if lenient_issubclass(first_field.type_, BaseModel): - default_convert_underscores = getattr( - first_field.field_info, "convert_underscores", True - ) - for param_type, param_group in parameter_groups: - for param in param_group: - field_info = param.field_info - # field_info = cast(Param, field_info) - if not getattr(field_info, "include_in_schema", True): - continue - param_schema = get_schema_from_model_field( - field=param, - schema_generator=schema_generator, - model_name_map=model_name_map, - field_mapping=field_mapping, - separate_input_output_schemas=separate_input_output_schemas, - ) - name = param.alias - convert_underscores = getattr( - param.field_info, - "convert_underscores", - default_convert_underscores, - ) - if ( - param_type == ParamTypes.header - and param.alias == param.name - and convert_underscores - ): - name = param.name.replace("_", "-") - - parameter = { - "name": name, - "in": param_type.value, - "required": param.required, - "schema": param_schema, - } - if field_info.description: - parameter["description"] = field_info.description - openapi_examples = getattr(field_info, "openapi_examples", None) - example = getattr(field_info, "example", None) - if openapi_examples: - parameter["examples"] = jsonable_encoder(openapi_examples) - elif example != Undefined: - parameter["example"] = jsonable_encoder(example) - if getattr(field_info, "deprecated", None): - parameter["deprecated"] = True - parameters.append(parameter) + for param in all_route_params: + field_info = param.field_info + field_info = cast(Param, field_info) + if not field_info.include_in_schema: + continue + param_schema = get_schema_from_model_field( + field=param, + schema_generator=schema_generator, + model_name_map=model_name_map, + field_mapping=field_mapping, + separate_input_output_schemas=separate_input_output_schemas, + ) + parameter = { + "name": param.alias, + "in": field_info.in_.value, + "required": param.required, + "schema": param_schema, + } + if field_info.description: + parameter["description"] = field_info.description + if field_info.openapi_examples: + parameter["examples"] = jsonable_encoder(field_info.openapi_examples) + elif field_info.example != Undefined: + parameter["example"] = jsonable_encoder(field_info.example) + if field_info.deprecated: + parameter["deprecated"] = field_info.deprecated + parameters.append(parameter) return parameters @@ -285,8 +247,9 @@ def get_openapi_path( operation.setdefault("security", []).extend(operation_security) if security_definitions: security_schemes.update(security_definitions) - operation_parameters = _get_openapi_operation_parameters( - dependant=route.dependant, + all_route_params = get_flat_params(route.dependant) + operation_parameters = get_openapi_operation_parameters( + all_route_params=all_route_params, schema_generator=schema_generator, model_name_map=model_name_map, field_mapping=field_mapping, @@ -384,9 +347,9 @@ def get_openapi_path( openapi_response = operation_responses.setdefault( status_code_key, {} ) - assert isinstance(process_response, dict), ( - "An additional response must be a dict" - ) + assert isinstance( + process_response, dict + ), "An additional response must be a dict" field = route.response_fields.get(additional_status_code) additional_field_schema: Optional[Dict[str, Any]] = None if field: @@ -415,8 +378,7 @@ def get_openapi_path( ) deep_dict_update(openapi_response, process_response) openapi_response["description"] = description - http422 = "422" - all_route_params = get_flat_params(route.dependant) + http422 = str(HTTP_422_UNPROCESSABLE_ENTITY) if (all_route_params or route.body_field) and not any( status in operation["responses"] for status in [http422, "4XX", "default"] @@ -454,9 +416,9 @@ def get_fields_from_routes( route, routing.APIRoute ): if route.body_field: - assert isinstance(route.body_field, ModelField), ( - "A request body must be a Pydantic Field" - ) + assert isinstance( + route.body_field, ModelField + ), "A request body must be a Pydantic Field" body_fields_from_routes.append(route.body_field) if route.response_field: responses_from_routes.append(route.response_field) @@ -488,7 +450,6 @@ def get_openapi( contact: Optional[Dict[str, Union[str, Any]]] = None, license_info: Optional[Dict[str, Union[str, Any]]] = None, separate_input_output_schemas: bool = True, - external_docs: Optional[Dict[str, Any]] = None, ) -> Dict[str, Any]: info: Dict[str, Any] = {"title": title, "version": version} if summary: @@ -566,6 +527,4 @@ def get_openapi( output["webhooks"] = webhook_paths if tags: output["tags"] = tags - if external_docs: - output["externalDocs"] = external_docs return jsonable_encoder(OpenAPI(**output), by_alias=True, exclude_none=True) # type: ignore diff --git a/venv/lib/python3.12/site-packages/fastapi/param_functions.py b/venv/lib/python3.12/site-packages/fastapi/param_functions.py index b362162..3f6dbc9 100644 --- a/venv/lib/python3.12/site-packages/fastapi/param_functions.py +++ b/venv/lib/python3.12/site-packages/fastapi/param_functions.py @@ -3,7 +3,7 @@ from typing import Any, Callable, Dict, List, Optional, Sequence, Union from fastapi import params from fastapi._compat import Undefined from fastapi.openapi.models import Example -from typing_extensions import Annotated, Doc, deprecated +from typing_extensions import Annotated, Doc, deprecated # type: ignore [attr-defined] _Unset: Any = Undefined @@ -240,7 +240,7 @@ def Path( # noqa: N802 ), ] = None, deprecated: Annotated[ - Union[deprecated, str, bool, None], + Optional[bool], Doc( """ Mark this parameter field as deprecated. @@ -565,7 +565,7 @@ def Query( # noqa: N802 ), ] = None, deprecated: Annotated[ - Union[deprecated, str, bool, None], + Optional[bool], Doc( """ Mark this parameter field as deprecated. @@ -880,7 +880,7 @@ def Header( # noqa: N802 ), ] = None, deprecated: Annotated[ - Union[deprecated, str, bool, None], + Optional[bool], Doc( """ Mark this parameter field as deprecated. @@ -1185,7 +1185,7 @@ def Cookie( # noqa: N802 ), ] = None, deprecated: Annotated[ - Union[deprecated, str, bool, None], + Optional[bool], Doc( """ Mark this parameter field as deprecated. @@ -1282,7 +1282,7 @@ def Body( # noqa: N802 ), ] = _Unset, embed: Annotated[ - Union[bool, None], + bool, Doc( """ When `embed` is `True`, the parameter will be expected in a JSON body as a @@ -1294,7 +1294,7 @@ def Body( # noqa: N802 [FastAPI docs for Body - Multiple Parameters](https://fastapi.tiangolo.com/tutorial/body-multiple-params/#embed-a-single-body-parameter). """ ), - ] = None, + ] = False, media_type: Annotated[ str, Doc( @@ -1512,7 +1512,7 @@ def Body( # noqa: N802 ), ] = None, deprecated: Annotated[ - Union[deprecated, str, bool, None], + Optional[bool], Doc( """ Mark this parameter field as deprecated. @@ -1827,7 +1827,7 @@ def Form( # noqa: N802 ), ] = None, deprecated: Annotated[ - Union[deprecated, str, bool, None], + Optional[bool], Doc( """ Mark this parameter field as deprecated. @@ -2141,7 +2141,7 @@ def File( # noqa: N802 ), ] = None, deprecated: Annotated[ - Union[deprecated, str, bool, None], + Optional[bool], Doc( """ Mark this parameter field as deprecated. @@ -2298,7 +2298,7 @@ def Security( # noqa: N802 dependency. The term "scope" comes from the OAuth2 specification, it seems to be - intentionally vague and interpretable. It normally refers to permissions, + intentionaly vague and interpretable. It normally refers to permissions, in cases to roles. These scopes are integrated with OpenAPI (and the API docs at `/docs`). @@ -2343,7 +2343,7 @@ def Security( # noqa: N802 ```python from typing import Annotated - from fastapi import Security, FastAPI + from fastapi import Depends, FastAPI from .db import User from .security import get_current_active_user diff --git a/venv/lib/python3.12/site-packages/fastapi/params.py b/venv/lib/python3.12/site-packages/fastapi/params.py index 8f5601d..b40944d 100644 --- a/venv/lib/python3.12/site-packages/fastapi/params.py +++ b/venv/lib/python3.12/site-packages/fastapi/params.py @@ -6,11 +6,7 @@ from fastapi.openapi.models import Example from pydantic.fields import FieldInfo from typing_extensions import Annotated, deprecated -from ._compat import ( - PYDANTIC_V2, - PYDANTIC_VERSION_MINOR_TUPLE, - Undefined, -) +from ._compat import PYDANTIC_V2, Undefined _Unset: Any = Undefined @@ -67,11 +63,12 @@ class Param(FieldInfo): ), ] = _Unset, openapi_examples: Optional[Dict[str, Example]] = None, - deprecated: Union[deprecated, str, bool, None] = None, + deprecated: Optional[bool] = None, include_in_schema: bool = True, json_schema_extra: Union[Dict[str, Any], None] = None, **extra: Any, ): + self.deprecated = deprecated if example is not _Unset: warnings.warn( "`example` has been deprecated, please use `examples` instead", @@ -95,7 +92,7 @@ class Param(FieldInfo): max_length=max_length, discriminator=discriminator, multiple_of=multiple_of, - allow_inf_nan=allow_inf_nan, + allow_nan=allow_inf_nan, max_digits=max_digits, decimal_places=decimal_places, **extra, @@ -109,10 +106,6 @@ class Param(FieldInfo): stacklevel=4, ) current_json_schema_extra = json_schema_extra or extra - if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7): - self.deprecated = deprecated - else: - kwargs["deprecated"] = deprecated if PYDANTIC_V2: kwargs.update( { @@ -181,7 +174,7 @@ class Path(Param): ), ] = _Unset, openapi_examples: Optional[Dict[str, Example]] = None, - deprecated: Union[deprecated, str, bool, None] = None, + deprecated: Optional[bool] = None, include_in_schema: bool = True, json_schema_extra: Union[Dict[str, Any], None] = None, **extra: Any, @@ -267,7 +260,7 @@ class Query(Param): ), ] = _Unset, openapi_examples: Optional[Dict[str, Example]] = None, - deprecated: Union[deprecated, str, bool, None] = None, + deprecated: Optional[bool] = None, include_in_schema: bool = True, json_schema_extra: Union[Dict[str, Any], None] = None, **extra: Any, @@ -352,7 +345,7 @@ class Header(Param): ), ] = _Unset, openapi_examples: Optional[Dict[str, Example]] = None, - deprecated: Union[deprecated, str, bool, None] = None, + deprecated: Optional[bool] = None, include_in_schema: bool = True, json_schema_extra: Union[Dict[str, Any], None] = None, **extra: Any, @@ -437,7 +430,7 @@ class Cookie(Param): ), ] = _Unset, openapi_examples: Optional[Dict[str, Example]] = None, - deprecated: Union[deprecated, str, bool, None] = None, + deprecated: Optional[bool] = None, include_in_schema: bool = True, json_schema_extra: Union[Dict[str, Any], None] = None, **extra: Any, @@ -483,7 +476,7 @@ class Body(FieldInfo): *, default_factory: Union[Callable[[], Any], None] = _Unset, annotation: Optional[Any] = None, - embed: Union[bool, None] = None, + embed: bool = False, media_type: str = "application/json", alias: Optional[str] = None, alias_priority: Union[int, None] = _Unset, @@ -521,13 +514,14 @@ class Body(FieldInfo): ), ] = _Unset, openapi_examples: Optional[Dict[str, Example]] = None, - deprecated: Union[deprecated, str, bool, None] = None, + deprecated: Optional[bool] = None, include_in_schema: bool = True, json_schema_extra: Union[Dict[str, Any], None] = None, **extra: Any, ): self.embed = embed self.media_type = media_type + self.deprecated = deprecated if example is not _Unset: warnings.warn( "`example` has been deprecated, please use `examples` instead", @@ -551,7 +545,7 @@ class Body(FieldInfo): max_length=max_length, discriminator=discriminator, multiple_of=multiple_of, - allow_inf_nan=allow_inf_nan, + allow_nan=allow_inf_nan, max_digits=max_digits, decimal_places=decimal_places, **extra, @@ -560,15 +554,11 @@ class Body(FieldInfo): kwargs["examples"] = examples if regex is not None: warnings.warn( - "`regex` has been deprecated, please use `pattern` instead", + "`regex` has been depreacated, please use `pattern` instead", category=DeprecationWarning, stacklevel=4, ) current_json_schema_extra = json_schema_extra or extra - if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7): - self.deprecated = deprecated - else: - kwargs["deprecated"] = deprecated if PYDANTIC_V2: kwargs.update( { @@ -637,7 +627,7 @@ class Form(Body): ), ] = _Unset, openapi_examples: Optional[Dict[str, Example]] = None, - deprecated: Union[deprecated, str, bool, None] = None, + deprecated: Optional[bool] = None, include_in_schema: bool = True, json_schema_extra: Union[Dict[str, Any], None] = None, **extra: Any, @@ -646,6 +636,7 @@ class Form(Body): default=default, default_factory=default_factory, annotation=annotation, + embed=True, media_type=media_type, alias=alias, alias_priority=alias_priority, @@ -721,7 +712,7 @@ class File(Form): ), ] = _Unset, openapi_examples: Optional[Dict[str, Example]] = None, - deprecated: Union[deprecated, str, bool, None] = None, + deprecated: Optional[bool] = None, include_in_schema: bool = True, json_schema_extra: Union[Dict[str, Any], None] = None, **extra: Any, diff --git a/venv/lib/python3.12/site-packages/fastapi/routing.py b/venv/lib/python3.12/site-packages/fastapi/routing.py index f620ced..54d53bb 100644 --- a/venv/lib/python3.12/site-packages/fastapi/routing.py +++ b/venv/lib/python3.12/site-packages/fastapi/routing.py @@ -1,19 +1,16 @@ +import asyncio import dataclasses import email.message import inspect import json -import sys -from contextlib import AsyncExitStack, asynccontextmanager +from contextlib import AsyncExitStack from enum import Enum, IntEnum from typing import ( Any, - AsyncIterator, Callable, - Collection, Coroutine, Dict, List, - Mapping, Optional, Sequence, Set, @@ -34,10 +31,8 @@ from fastapi._compat import ( from fastapi.datastructures import Default, DefaultPlaceholder from fastapi.dependencies.models import Dependant from fastapi.dependencies.utils import ( - _should_embed_body_fields, get_body_field, get_dependant, - get_flat_dependant, get_parameterless_sub_dependant, get_typed_return_annotation, solve_dependencies, @@ -52,7 +47,7 @@ from fastapi.exceptions import ( from fastapi.types import DecoratedCallable, IncEx from fastapi.utils import ( create_cloned_field, - create_model_field, + create_response_field, generate_unique_id, get_value_or_default, is_body_allowed_for_status_code, @@ -72,14 +67,9 @@ from starlette.routing import ( websocket_session, ) from starlette.routing import Mount as Mount # noqa -from starlette.types import AppType, ASGIApp, Lifespan, Scope +from starlette.types import ASGIApp, Lifespan, Scope from starlette.websockets import WebSocket -from typing_extensions import Annotated, Doc, deprecated - -if sys.version_info >= (3, 13): # pragma: no cover - from inspect import iscoroutinefunction -else: # pragma: no cover - from asyncio import iscoroutinefunction +from typing_extensions import Annotated, Doc, deprecated # type: ignore [attr-defined] def _prepare_response_content( @@ -125,28 +115,10 @@ def _prepare_response_content( for k, v in res.items() } elif dataclasses.is_dataclass(res): - assert not isinstance(res, type) return dataclasses.asdict(res) return res -def _merge_lifespan_context( - original_context: Lifespan[Any], nested_context: Lifespan[Any] -) -> Lifespan[Any]: - @asynccontextmanager - async def merged_lifespan( - app: AppType, - ) -> AsyncIterator[Optional[Mapping[str, Any]]]: - async with original_context(app) as maybe_original_state: - async with nested_context(app) as maybe_nested_state: - if maybe_nested_state is None and maybe_original_state is None: - yield None # old ASGI compatibility - else: - yield {**(maybe_nested_state or {}), **(maybe_original_state or {})} - - return merged_lifespan # type: ignore[return-value] - - async def serialize_response( *, field: Optional[ModelField] = None, @@ -234,10 +206,9 @@ def get_request_handler( response_model_exclude_defaults: bool = False, response_model_exclude_none: bool = False, dependency_overrides_provider: Optional[Any] = None, - embed_body_fields: bool = False, ) -> Callable[[Request], Coroutine[Any, Any, Response]]: assert dependant.call is not None, "dependant.call must be a function" - is_coroutine = iscoroutinefunction(dependant.call) + is_coroutine = asyncio.iscoroutinefunction(dependant.call) is_body_form = body_field and isinstance(body_field.field_info, params.Form) if isinstance(response_class, DefaultPlaceholder): actual_response_class: Type[Response] = response_class.value @@ -245,149 +216,113 @@ def get_request_handler( actual_response_class = response_class async def app(request: Request) -> Response: - response: Union[Response, None] = None - async with AsyncExitStack() as file_stack: - try: - body: Any = None - if body_field: - if is_body_form: - body = await request.form() - file_stack.push_async_callback(body.close) - else: - body_bytes = await request.body() - if body_bytes: - json_body: Any = Undefined - content_type_value = request.headers.get("content-type") - if not content_type_value: - json_body = await request.json() - else: - message = email.message.Message() - message["content-type"] = content_type_value - if message.get_content_maintype() == "application": - subtype = message.get_content_subtype() - if subtype == "json" or subtype.endswith("+json"): - json_body = await request.json() - if json_body != Undefined: - body = json_body - else: - body = body_bytes - except json.JSONDecodeError as e: - validation_error = RequestValidationError( - [ - { - "type": "json_invalid", - "loc": ("body", e.pos), - "msg": "JSON decode error", - "input": {}, - "ctx": {"error": e.msg}, - } - ], - body=e.doc, - ) - raise validation_error from e - except HTTPException: - # If a middleware raises an HTTPException, it should be raised again - raise - except Exception as e: - http_error = HTTPException( - status_code=400, detail="There was an error parsing the body" - ) - raise http_error from e - errors: List[Any] = [] - async with AsyncExitStack() as async_exit_stack: - solved_result = await solve_dependencies( - request=request, - dependant=dependant, - body=body, - dependency_overrides_provider=dependency_overrides_provider, - async_exit_stack=async_exit_stack, - embed_body_fields=embed_body_fields, - ) - errors = solved_result.errors - if not errors: - raw_response = await run_endpoint_function( - dependant=dependant, - values=solved_result.values, - is_coroutine=is_coroutine, - ) - if isinstance(raw_response, Response): - if raw_response.background is None: - raw_response.background = solved_result.background_tasks - response = raw_response - else: - response_args: Dict[str, Any] = { - "background": solved_result.background_tasks - } - # If status_code was set, use it, otherwise use the default from the - # response class, in the case of redirect it's 307 - current_status_code = ( - status_code - if status_code - else solved_result.response.status_code - ) - if current_status_code is not None: - response_args["status_code"] = current_status_code - if solved_result.response.status_code: - response_args["status_code"] = ( - solved_result.response.status_code - ) - content = await serialize_response( - field=response_field, - response_content=raw_response, - include=response_model_include, - exclude=response_model_exclude, - by_alias=response_model_by_alias, - exclude_unset=response_model_exclude_unset, - exclude_defaults=response_model_exclude_defaults, - exclude_none=response_model_exclude_none, - is_coroutine=is_coroutine, - ) - response = actual_response_class(content, **response_args) - if not is_body_allowed_for_status_code(response.status_code): - response.body = b"" - response.headers.raw.extend(solved_result.response.headers.raw) - if errors: - validation_error = RequestValidationError( - _normalize_errors(errors), body=body - ) - raise validation_error - if response is None: - raise FastAPIError( - "No response object was returned. There's a high chance that the " - "application code is raising an exception and a dependency with yield " - "has a block with a bare except, or a block with except Exception, " - "and is not raising the exception again. Read more about it in the " - "docs: https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-with-yield/#dependencies-with-yield-and-except" + try: + body: Any = None + if body_field: + if is_body_form: + body = await request.form() + stack = request.scope.get("fastapi_astack") + assert isinstance(stack, AsyncExitStack) + stack.push_async_callback(body.close) + else: + body_bytes = await request.body() + if body_bytes: + json_body: Any = Undefined + content_type_value = request.headers.get("content-type") + if not content_type_value: + json_body = await request.json() + else: + message = email.message.Message() + message["content-type"] = content_type_value + if message.get_content_maintype() == "application": + subtype = message.get_content_subtype() + if subtype == "json" or subtype.endswith("+json"): + json_body = await request.json() + if json_body != Undefined: + body = json_body + else: + body = body_bytes + except json.JSONDecodeError as e: + raise RequestValidationError( + [ + { + "type": "json_invalid", + "loc": ("body", e.pos), + "msg": "JSON decode error", + "input": {}, + "ctx": {"error": e.msg}, + } + ], + body=e.doc, + ) from e + except HTTPException: + raise + except Exception as e: + raise HTTPException( + status_code=400, detail="There was an error parsing the body" + ) from e + solved_result = await solve_dependencies( + request=request, + dependant=dependant, + body=body, + dependency_overrides_provider=dependency_overrides_provider, + ) + values, errors, background_tasks, sub_response, _ = solved_result + if errors: + raise RequestValidationError(_normalize_errors(errors), body=body) + else: + raw_response = await run_endpoint_function( + dependant=dependant, values=values, is_coroutine=is_coroutine ) - return response + + if isinstance(raw_response, Response): + if raw_response.background is None: + raw_response.background = background_tasks + return raw_response + response_args: Dict[str, Any] = {"background": background_tasks} + # If status_code was set, use it, otherwise use the default from the + # response class, in the case of redirect it's 307 + current_status_code = ( + status_code if status_code else sub_response.status_code + ) + if current_status_code is not None: + response_args["status_code"] = current_status_code + if sub_response.status_code: + response_args["status_code"] = sub_response.status_code + content = await serialize_response( + field=response_field, + response_content=raw_response, + include=response_model_include, + exclude=response_model_exclude, + by_alias=response_model_by_alias, + exclude_unset=response_model_exclude_unset, + exclude_defaults=response_model_exclude_defaults, + exclude_none=response_model_exclude_none, + is_coroutine=is_coroutine, + ) + response = actual_response_class(content, **response_args) + if not is_body_allowed_for_status_code(response.status_code): + response.body = b"" + response.headers.raw.extend(sub_response.headers.raw) + return response return app def get_websocket_app( - dependant: Dependant, - dependency_overrides_provider: Optional[Any] = None, - embed_body_fields: bool = False, + dependant: Dependant, dependency_overrides_provider: Optional[Any] = None ) -> Callable[[WebSocket], Coroutine[Any, Any, Any]]: async def app(websocket: WebSocket) -> None: - async with AsyncExitStack() as async_exit_stack: - # TODO: remove this scope later, after a few releases - # This scope fastapi_astack is no longer used by FastAPI, kept for - # compatibility, just in case - websocket.scope["fastapi_astack"] = async_exit_stack - solved_result = await solve_dependencies( - request=websocket, - dependant=dependant, - dependency_overrides_provider=dependency_overrides_provider, - async_exit_stack=async_exit_stack, - embed_body_fields=embed_body_fields, - ) - if solved_result.errors: - raise WebSocketRequestValidationError( - _normalize_errors(solved_result.errors) - ) - assert dependant.call is not None, "dependant.call must be a function" - await dependant.call(**solved_result.values) + solved_result = await solve_dependencies( + request=websocket, + dependant=dependant, + dependency_overrides_provider=dependency_overrides_provider, + ) + values, errors, _, _2, _3 = solved_result + if errors: + raise WebSocketRequestValidationError(_normalize_errors(errors)) + assert dependant.call is not None, "dependant.call must be a function" + await dependant.call(**values) return app @@ -413,15 +348,11 @@ class APIWebSocketRoute(routing.WebSocketRoute): 0, get_parameterless_sub_dependant(depends=depends, path=self.path_format), ) - self._flat_dependant = get_flat_dependant(self.dependant) - self._embed_body_fields = _should_embed_body_fields( - self._flat_dependant.body_params - ) + self.app = websocket_session( get_websocket_app( dependant=self.dependant, dependency_overrides_provider=dependency_overrides_provider, - embed_body_fields=self._embed_body_fields, ) ) @@ -500,9 +431,9 @@ class APIRoute(routing.Route): methods = ["GET"] self.methods: Set[str] = {method.upper() for method in methods} if isinstance(generate_unique_id_function, DefaultPlaceholder): - current_generate_unique_id: Callable[[APIRoute], str] = ( - generate_unique_id_function.value - ) + current_generate_unique_id: Callable[ + ["APIRoute"], str + ] = generate_unique_id_function.value else: current_generate_unique_id = generate_unique_id_function self.unique_id = self.operation_id or current_generate_unique_id(self) @@ -511,11 +442,11 @@ class APIRoute(routing.Route): status_code = int(status_code) self.status_code = status_code if self.response_model: - assert is_body_allowed_for_status_code(status_code), ( - f"Status code {status_code} must not have a response body" - ) + assert is_body_allowed_for_status_code( + status_code + ), f"Status code {status_code} must not have a response body" response_name = "Response_" + self.unique_id - self.response_field = create_model_field( + self.response_field = create_response_field( name=response_name, type_=self.response_model, mode="serialization", @@ -528,9 +459,9 @@ class APIRoute(routing.Route): # By being a new field, no inheritance will be passed as is. A new model # will always be created. # TODO: remove when deprecating Pydantic v1 - self.secure_cloned_response_field: Optional[ModelField] = ( - create_cloned_field(self.response_field) - ) + self.secure_cloned_response_field: Optional[ + ModelField + ] = create_cloned_field(self.response_field) else: self.response_field = None # type: ignore self.secure_cloned_response_field = None @@ -544,13 +475,11 @@ class APIRoute(routing.Route): assert isinstance(response, dict), "An additional response must be a dict" model = response.get("model") if model: - assert is_body_allowed_for_status_code(additional_status_code), ( - f"Status code {additional_status_code} must not have a response body" - ) + assert is_body_allowed_for_status_code( + additional_status_code + ), f"Status code {additional_status_code} must not have a response body" response_name = f"Response_{additional_status_code}_{self.unique_id}" - response_field = create_model_field( - name=response_name, type_=model, mode="serialization" - ) + response_field = create_response_field(name=response_name, type_=model) response_fields[additional_status_code] = response_field if response_fields: self.response_fields: Dict[Union[int, str], ModelField] = response_fields @@ -564,15 +493,7 @@ class APIRoute(routing.Route): 0, get_parameterless_sub_dependant(depends=depends, path=self.path_format), ) - self._flat_dependant = get_flat_dependant(self.dependant) - self._embed_body_fields = _should_embed_body_fields( - self._flat_dependant.body_params - ) - self.body_field = get_body_field( - flat_dependant=self._flat_dependant, - name=self.unique_id, - embed_body_fields=self._embed_body_fields, - ) + self.body_field = get_body_field(dependant=self.dependant, name=self.unique_id) self.app = request_response(self.get_route_handler()) def get_route_handler(self) -> Callable[[Request], Coroutine[Any, Any, Response]]: @@ -589,7 +510,6 @@ class APIRoute(routing.Route): response_model_exclude_defaults=self.response_model_exclude_defaults, response_model_exclude_none=self.response_model_exclude_none, dependency_overrides_provider=self.dependency_overrides_provider, - embed_body_fields=self._embed_body_fields, ) def matches(self, scope: Scope) -> Tuple[Match, Scope]: @@ -821,7 +741,7 @@ class APIRouter(routing.Router): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -851,9 +771,9 @@ class APIRouter(routing.Router): ) if prefix: assert prefix.startswith("/"), "A path prefix must start with '/'" - assert not prefix.endswith("/"), ( - "A path prefix must not end with '/', as the routes will start with '/'" - ) + assert not prefix.endswith( + "/" + ), "A path prefix must not end with '/', as the routes will start with '/'" self.prefix = prefix self.tags: List[Union[str, Enum]] = tags or [] self.dependencies = list(dependencies or []) @@ -869,7 +789,7 @@ class APIRouter(routing.Router): def route( self, path: str, - methods: Optional[Collection[str]] = None, + methods: Optional[List[str]] = None, name: Optional[str] = None, include_in_schema: bool = True, ) -> Callable[[DecoratedCallable], DecoratedCallable]: @@ -1263,9 +1183,9 @@ class APIRouter(routing.Router): """ if prefix: assert prefix.startswith("/"), "A path prefix must start with '/'" - assert not prefix.endswith("/"), ( - "A path prefix must not end with '/', as the routes will start with '/'" - ) + assert not prefix.endswith( + "/" + ), "A path prefix must not end with '/', as the routes will start with '/'" else: for r in router.routes: path = getattr(r, "path") # noqa: B009 @@ -1365,10 +1285,6 @@ class APIRouter(routing.Router): self.add_event_handler("startup", handler) for handler in router.on_shutdown: self.add_event_handler("shutdown", handler) - self.lifespan_context = _merge_lifespan_context( - self.lifespan_context, - router.lifespan_context, - ) def get( self, @@ -1633,7 +1549,7 @@ class APIRouter(routing.Router): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -2010,7 +1926,7 @@ class APIRouter(routing.Router): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -2392,7 +2308,7 @@ class APIRouter(routing.Router): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -2774,7 +2690,7 @@ class APIRouter(routing.Router): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -3151,7 +3067,7 @@ class APIRouter(routing.Router): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -3528,7 +3444,7 @@ class APIRouter(routing.Router): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -3910,7 +3826,7 @@ class APIRouter(routing.Router): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -4292,7 +4208,7 @@ class APIRouter(routing.Router): This affects the generated OpenAPI (e.g. visible at `/docs`). Read more about it in the - [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-parameters-from-openapi). + [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). """ ), ] = True, @@ -4377,7 +4293,7 @@ class APIRouter(routing.Router): app = FastAPI() router = APIRouter() - @router.trace("/items/{item_id}") + @router.put("/items/{item_id}") def trace_item(item_id: str): return None diff --git a/venv/lib/python3.12/site-packages/fastapi/security/api_key.py b/venv/lib/python3.12/site-packages/fastapi/security/api_key.py index 6d6dd01..b1a6b4f 100644 --- a/venv/lib/python3.12/site-packages/fastapi/security/api_key.py +++ b/venv/lib/python3.12/site-packages/fastapi/security/api_key.py @@ -5,19 +5,11 @@ from fastapi.security.base import SecurityBase from starlette.exceptions import HTTPException from starlette.requests import Request from starlette.status import HTTP_403_FORBIDDEN -from typing_extensions import Annotated, Doc +from typing_extensions import Annotated, Doc # type: ignore [attr-defined] class APIKeyBase(SecurityBase): - @staticmethod - def check_api_key(api_key: Optional[str], auto_error: bool) -> Optional[str]: - if not api_key: - if auto_error: - raise HTTPException( - status_code=HTTP_403_FORBIDDEN, detail="Not authenticated" - ) - return None - return api_key + pass class APIKeyQuery(APIKeyBase): @@ -84,7 +76,7 @@ class APIKeyQuery(APIKeyBase): Doc( """ By default, if the query parameter is not provided, `APIKeyQuery` will - automatically cancel the request and send the client an error. + automatically cancel the request and sebd the client an error. If `auto_error` is set to `False`, when the query parameter is not available, instead of erroring out, the dependency result will be @@ -100,7 +92,7 @@ class APIKeyQuery(APIKeyBase): ] = True, ): self.model: APIKey = APIKey( - **{"in": APIKeyIn.query}, + **{"in": APIKeyIn.query}, # type: ignore[arg-type] name=name, description=description, ) @@ -109,7 +101,14 @@ class APIKeyQuery(APIKeyBase): async def __call__(self, request: Request) -> Optional[str]: api_key = request.query_params.get(self.model.name) - return self.check_api_key(api_key, self.auto_error) + if not api_key: + if self.auto_error: + raise HTTPException( + status_code=HTTP_403_FORBIDDEN, detail="Not authenticated" + ) + else: + return None + return api_key class APIKeyHeader(APIKeyBase): @@ -188,7 +187,7 @@ class APIKeyHeader(APIKeyBase): ] = True, ): self.model: APIKey = APIKey( - **{"in": APIKeyIn.header}, + **{"in": APIKeyIn.header}, # type: ignore[arg-type] name=name, description=description, ) @@ -197,7 +196,14 @@ class APIKeyHeader(APIKeyBase): async def __call__(self, request: Request) -> Optional[str]: api_key = request.headers.get(self.model.name) - return self.check_api_key(api_key, self.auto_error) + if not api_key: + if self.auto_error: + raise HTTPException( + status_code=HTTP_403_FORBIDDEN, detail="Not authenticated" + ) + else: + return None + return api_key class APIKeyCookie(APIKeyBase): @@ -276,7 +282,7 @@ class APIKeyCookie(APIKeyBase): ] = True, ): self.model: APIKey = APIKey( - **{"in": APIKeyIn.cookie}, + **{"in": APIKeyIn.cookie}, # type: ignore[arg-type] name=name, description=description, ) @@ -285,4 +291,11 @@ class APIKeyCookie(APIKeyBase): async def __call__(self, request: Request) -> Optional[str]: api_key = request.cookies.get(self.model.name) - return self.check_api_key(api_key, self.auto_error) + if not api_key: + if self.auto_error: + raise HTTPException( + status_code=HTTP_403_FORBIDDEN, detail="Not authenticated" + ) + else: + return None + return api_key diff --git a/venv/lib/python3.12/site-packages/fastapi/security/http.py b/venv/lib/python3.12/site-packages/fastapi/security/http.py index 9ab2df3..738455d 100644 --- a/venv/lib/python3.12/site-packages/fastapi/security/http.py +++ b/venv/lib/python3.12/site-packages/fastapi/security/http.py @@ -10,12 +10,12 @@ from fastapi.security.utils import get_authorization_scheme_param from pydantic import BaseModel from starlette.requests import Request from starlette.status import HTTP_401_UNAUTHORIZED, HTTP_403_FORBIDDEN -from typing_extensions import Annotated, Doc +from typing_extensions import Annotated, Doc # type: ignore [attr-defined] class HTTPBasicCredentials(BaseModel): """ - The HTTP Basic credentials given as the result of using `HTTPBasic` in a + The HTTP Basic credendials given as the result of using `HTTPBasic` in a dependency. Read more about it in the @@ -277,7 +277,7 @@ class HTTPBearer(HTTPBase): bool, Doc( """ - By default, if the HTTP Bearer token is not provided (in an + By default, if the HTTP Bearer token not provided (in an `Authorization` header), `HTTPBearer` will automatically cancel the request and send the client an error. @@ -380,7 +380,7 @@ class HTTPDigest(HTTPBase): bool, Doc( """ - By default, if the HTTP Digest is not provided, `HTTPDigest` will + By default, if the HTTP Digest not provided, `HTTPDigest` will automatically cancel the request and send the client an error. If `auto_error` is set to `False`, when the HTTP Digest is not @@ -413,11 +413,8 @@ class HTTPDigest(HTTPBase): else: return None if scheme.lower() != "digest": - if self.auto_error: - raise HTTPException( - status_code=HTTP_403_FORBIDDEN, - detail="Invalid authentication credentials", - ) - else: - return None + raise HTTPException( + status_code=HTTP_403_FORBIDDEN, + detail="Invalid authentication credentials", + ) return HTTPAuthorizationCredentials(scheme=scheme, credentials=credentials) diff --git a/venv/lib/python3.12/site-packages/fastapi/security/oauth2.py b/venv/lib/python3.12/site-packages/fastapi/security/oauth2.py index 88e394d..9281dfb 100644 --- a/venv/lib/python3.12/site-packages/fastapi/security/oauth2.py +++ b/venv/lib/python3.12/site-packages/fastapi/security/oauth2.py @@ -10,7 +10,7 @@ from starlette.requests import Request from starlette.status import HTTP_401_UNAUTHORIZED, HTTP_403_FORBIDDEN # TODO: import from typing when deprecating Python 3.9 -from typing_extensions import Annotated, Doc +from typing_extensions import Annotated, Doc # type: ignore [attr-defined] class OAuth2PasswordRequestForm: @@ -52,9 +52,9 @@ class OAuth2PasswordRequestForm: ``` Note that for OAuth2 the scope `items:read` is a single scope in an opaque string. - You could have custom internal logic to separate it by colon characters (`:`) or + You could have custom internal logic to separate it by colon caracters (`:`) or similar, and get the two parts `items` and `read`. Many applications do that to - group and organize permissions, you could do it as well in your application, just + group and organize permisions, you could do it as well in your application, just know that that it is application specific, it's not part of the specification. """ @@ -63,7 +63,7 @@ class OAuth2PasswordRequestForm: *, grant_type: Annotated[ Union[str, None], - Form(pattern="^password$"), + Form(pattern="password"), Doc( """ The OAuth2 spec says it is required and MUST be the fixed string @@ -85,7 +85,7 @@ class OAuth2PasswordRequestForm: ], password: Annotated[ str, - Form(json_schema_extra={"format": "password"}), + Form(), Doc( """ `password` string. The OAuth2 spec requires the exact field name @@ -130,7 +130,7 @@ class OAuth2PasswordRequestForm: ] = None, client_secret: Annotated[ Union[str, None], - Form(json_schema_extra={"format": "password"}), + Form(), Doc( """ If there's a `client_password` (and a `client_id`), they can be sent @@ -194,9 +194,9 @@ class OAuth2PasswordRequestFormStrict(OAuth2PasswordRequestForm): ``` Note that for OAuth2 the scope `items:read` is a single scope in an opaque string. - You could have custom internal logic to separate it by colon characters (`:`) or + You could have custom internal logic to separate it by colon caracters (`:`) or similar, and get the two parts `items` and `read`. Many applications do that to - group and organize permissions, you could do it as well in your application, just + group and organize permisions, you could do it as well in your application, just know that that it is application specific, it's not part of the specification. @@ -217,7 +217,7 @@ class OAuth2PasswordRequestFormStrict(OAuth2PasswordRequestForm): self, grant_type: Annotated[ str, - Form(pattern="^password$"), + Form(pattern="password"), Doc( """ The OAuth2 spec says it is required and MUST be the fixed string @@ -353,7 +353,7 @@ class OAuth2(SecurityBase): bool, Doc( """ - By default, if no HTTP Authorization header is provided, required for + By default, if no HTTP Auhtorization header is provided, required for OAuth2 authentication, it will automatically cancel the request and send the client an error. @@ -441,7 +441,7 @@ class OAuth2PasswordBearer(OAuth2): bool, Doc( """ - By default, if no HTTP Authorization header is provided, required for + By default, if no HTTP Auhtorization header is provided, required for OAuth2 authentication, it will automatically cancel the request and send the client an error. @@ -457,26 +457,11 @@ class OAuth2PasswordBearer(OAuth2): """ ), ] = True, - refreshUrl: Annotated[ - Optional[str], - Doc( - """ - The URL to refresh the token and obtain a new one. - """ - ), - ] = None, ): if not scopes: scopes = {} flows = OAuthFlowsModel( - password=cast( - Any, - { - "tokenUrl": tokenUrl, - "refreshUrl": refreshUrl, - "scopes": scopes, - }, - ) + password=cast(Any, {"tokenUrl": tokenUrl, "scopes": scopes}) ) super().__init__( flows=flows, @@ -558,7 +543,7 @@ class OAuth2AuthorizationCodeBearer(OAuth2): bool, Doc( """ - By default, if no HTTP Authorization header is provided, required for + By default, if no HTTP Auhtorization header is provided, required for OAuth2 authentication, it will automatically cancel the request and send the client an error. diff --git a/venv/lib/python3.12/site-packages/fastapi/security/open_id_connect_url.py b/venv/lib/python3.12/site-packages/fastapi/security/open_id_connect_url.py index c8cceb9..c612b47 100644 --- a/venv/lib/python3.12/site-packages/fastapi/security/open_id_connect_url.py +++ b/venv/lib/python3.12/site-packages/fastapi/security/open_id_connect_url.py @@ -5,7 +5,7 @@ from fastapi.security.base import SecurityBase from starlette.exceptions import HTTPException from starlette.requests import Request from starlette.status import HTTP_403_FORBIDDEN -from typing_extensions import Annotated, Doc +from typing_extensions import Annotated, Doc # type: ignore [attr-defined] class OpenIdConnect(SecurityBase): @@ -49,7 +49,7 @@ class OpenIdConnect(SecurityBase): bool, Doc( """ - By default, if no HTTP Authorization header is provided, required for + By default, if no HTTP Auhtorization header is provided, required for OpenID Connect authentication, it will automatically cancel the request and send the client an error. diff --git a/venv/lib/python3.12/site-packages/fastapi/types.py b/venv/lib/python3.12/site-packages/fastapi/types.py index 3205654..7adf565 100644 --- a/venv/lib/python3.12/site-packages/fastapi/types.py +++ b/venv/lib/python3.12/site-packages/fastapi/types.py @@ -6,5 +6,6 @@ from pydantic import BaseModel DecoratedCallable = TypeVar("DecoratedCallable", bound=Callable[..., Any]) UnionType = getattr(types, "UnionType", Union) +NoneType = getattr(types, "UnionType", None) ModelNameMap = Dict[Union[Type[BaseModel], Type[Enum]], str] IncEx = Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any]] diff --git a/venv/lib/python3.12/site-packages/fastapi/utils.py b/venv/lib/python3.12/site-packages/fastapi/utils.py index 98725ff..f8463dd 100644 --- a/venv/lib/python3.12/site-packages/fastapi/utils.py +++ b/venv/lib/python3.12/site-packages/fastapi/utils.py @@ -34,9 +34,9 @@ if TYPE_CHECKING: # pragma: nocover from .routing import APIRoute # Cache for `create_cloned_field` -_CLONED_TYPES_CACHE: MutableMapping[Type[BaseModel], Type[BaseModel]] = ( - WeakKeyDictionary() -) +_CLONED_TYPES_CACHE: MutableMapping[ + Type[BaseModel], Type[BaseModel] +] = WeakKeyDictionary() def is_body_allowed_for_status_code(status_code: Union[int, str, None]) -> bool: @@ -53,16 +53,16 @@ def is_body_allowed_for_status_code(status_code: Union[int, str, None]) -> bool: }: return True current_status_code = int(status_code) - return not (current_status_code < 200 or current_status_code in {204, 205, 304}) + return not (current_status_code < 200 or current_status_code in {204, 304}) def get_path_param_names(path: str) -> Set[str]: return set(re.findall("{(.*?)}", path)) -def create_model_field( +def create_response_field( name: str, - type_: Any, + type_: Type[Any], class_validators: Optional[Dict[str, Validator]] = None, default: Optional[Any] = Undefined, required: Union[bool, UndefinedType] = Undefined, @@ -71,6 +71,9 @@ def create_model_field( alias: Optional[str] = None, mode: Literal["validation", "serialization"] = "validation", ) -> ModelField: + """ + Create a new response field. Raises if type_ is invalid. + """ class_validators = class_validators or {} if PYDANTIC_V2: field_info = field_info or FieldInfo( @@ -132,12 +135,11 @@ def create_cloned_field( use_type.__fields__[f.name] = create_cloned_field( f, cloned_types=cloned_types ) - new_field = create_model_field(name=field.name, type_=use_type) + new_field = create_response_field(name=field.name, type_=use_type) new_field.has_alias = field.has_alias # type: ignore[attr-defined] new_field.alias = field.alias # type: ignore[misc] new_field.class_validators = field.class_validators # type: ignore[attr-defined] new_field.default = field.default # type: ignore[misc] - new_field.default_factory = field.default_factory # type: ignore[attr-defined] new_field.required = field.required # type: ignore[misc] new_field.model_config = field.model_config # type: ignore[attr-defined] new_field.field_info = field.field_info @@ -171,17 +173,17 @@ def generate_operation_id_for_path( DeprecationWarning, stacklevel=2, ) - operation_id = f"{name}{path}" + operation_id = name + path operation_id = re.sub(r"\W", "_", operation_id) - operation_id = f"{operation_id}_{method.lower()}" + operation_id = operation_id + "_" + method.lower() return operation_id def generate_unique_id(route: "APIRoute") -> str: - operation_id = f"{route.name}{route.path_format}" + operation_id = route.name + route.path_format operation_id = re.sub(r"\W", "_", operation_id) assert route.methods - operation_id = f"{operation_id}_{list(route.methods)[0].lower()}" + operation_id = operation_id + "_" + list(route.methods)[0].lower() return operation_id @@ -219,3 +221,9 @@ def get_value_or_default( if not isinstance(item, DefaultPlaceholder): return item return first_item + + +def match_pydantic_error_url(error_type: str) -> Any: + from dirty_equals import IsStr + + return IsStr(regex=rf"^https://errors\.pydantic\.dev/.*/v/{error_type}") diff --git a/venv/lib/python3.12/site-packages/jose/__init__.py b/venv/lib/python3.12/site-packages/jose/__init__.py index 7e53b60..054baa7 100644 --- a/venv/lib/python3.12/site-packages/jose/__init__.py +++ b/venv/lib/python3.12/site-packages/jose/__init__.py @@ -1,4 +1,4 @@ -__version__ = "3.5.0" +__version__ = "3.3.0" __author__ = "Michael Davis" __license__ = "MIT" __copyright__ = "Copyright 2016 Michael Davis" diff --git a/venv/lib/python3.12/site-packages/jose/backends/__init__.py b/venv/lib/python3.12/site-packages/jose/backends/__init__.py index 9918969..e7bba69 100644 --- a/venv/lib/python3.12/site-packages/jose/backends/__init__.py +++ b/venv/lib/python3.12/site-packages/jose/backends/__init__.py @@ -1,4 +1,10 @@ -from jose.backends.native import get_random_bytes # noqa: F401 +try: + from jose.backends.cryptography_backend import get_random_bytes # noqa: F401 +except ImportError: + try: + from jose.backends.pycrypto_backend import get_random_bytes # noqa: F401 + except ImportError: + from jose.backends.native import get_random_bytes # noqa: F401 try: from jose.backends.cryptography_backend import CryptographyRSAKey as RSAKey # noqa: F401 diff --git a/venv/lib/python3.12/site-packages/jose/backends/_asn1.py b/venv/lib/python3.12/site-packages/jose/backends/_asn1.py index 87e3df1..af5fa8b 100644 --- a/venv/lib/python3.12/site-packages/jose/backends/_asn1.py +++ b/venv/lib/python3.12/site-packages/jose/backends/_asn1.py @@ -2,7 +2,6 @@ Required by rsa_backend but not cryptography_backend. """ - from pyasn1.codec.der import decoder, encoder from pyasn1.type import namedtype, univ diff --git a/venv/lib/python3.12/site-packages/jose/backends/cryptography_backend.py b/venv/lib/python3.12/site-packages/jose/backends/cryptography_backend.py index ec836b4..abd2426 100644 --- a/venv/lib/python3.12/site-packages/jose/backends/cryptography_backend.py +++ b/venv/lib/python3.12/site-packages/jose/backends/cryptography_backend.py @@ -3,6 +3,7 @@ import warnings from cryptography.exceptions import InvalidSignature, InvalidTag from cryptography.hazmat.backends import default_backend +from cryptography.hazmat.bindings.openssl.binding import Binding from cryptography.hazmat.primitives import hashes, hmac, serialization from cryptography.hazmat.primitives.asymmetric import ec, padding, rsa from cryptography.hazmat.primitives.asymmetric.utils import decode_dss_signature, encode_dss_signature @@ -15,21 +16,35 @@ from cryptography.x509 import load_pem_x509_certificate from ..constants import ALGORITHMS from ..exceptions import JWEError, JWKError -from ..utils import ( - base64_to_long, - base64url_decode, - base64url_encode, - ensure_binary, - is_pem_format, - is_ssh_key, - long_to_base64, -) -from . import get_random_bytes +from ..utils import base64_to_long, base64url_decode, base64url_encode, ensure_binary, long_to_base64 from .base import Key _binding = None +def get_random_bytes(num_bytes): + """ + Get random bytes + + Currently, Cryptography returns OS random bytes. If you want OpenSSL + generated random bytes, you'll have to switch the RAND engine after + initializing the OpenSSL backend + Args: + num_bytes (int): Number of random bytes to generate and return + Returns: + bytes: Random bytes + """ + global _binding + + if _binding is None: + _binding = Binding() + + buf = _binding.ffi.new("char[]", num_bytes) + _binding.lib.RAND_bytes(buf, num_bytes) + rand_bytes = _binding.ffi.buffer(buf, num_bytes)[:] + return rand_bytes + + class CryptographyECKey(Key): SHA256 = hashes.SHA256 SHA384 = hashes.SHA384 @@ -228,8 +243,8 @@ class CryptographyRSAKey(Key): self.cryptography_backend = cryptography_backend - # if it conforms to RSAPublicKey or RSAPrivateKey interface - if (hasattr(key, "public_bytes") and hasattr(key, "public_numbers")) or hasattr(key, "private_bytes"): + # if it conforms to RSAPublicKey interface + if hasattr(key, "public_bytes") and hasattr(key, "public_numbers"): self.prepared_key = key return @@ -424,8 +439,6 @@ class CryptographyAESKey(Key): ALGORITHMS.A256KW: None, } - IV_BYTE_LENGTH_MODE_MAP = {"CBC": algorithms.AES.block_size // 8, "GCM": 96 // 8} - def __init__(self, key, algorithm): if algorithm not in ALGORITHMS.AES: raise JWKError("%s is not a valid AES algorithm" % algorithm) @@ -455,8 +468,7 @@ class CryptographyAESKey(Key): def encrypt(self, plain_text, aad=None): plain_text = ensure_binary(plain_text) try: - iv_byte_length = self.IV_BYTE_LENGTH_MODE_MAP.get(self._mode.name, algorithms.AES.block_size) - iv = get_random_bytes(iv_byte_length) + iv = get_random_bytes(algorithms.AES.block_size // 8) mode = self._mode(iv) if mode.name == "GCM": cipher = aead.AESGCM(self._key) @@ -540,7 +552,14 @@ class CryptographyHMACKey(Key): if isinstance(key, str): key = key.encode("utf-8") - if is_pem_format(key) or is_ssh_key(key): + invalid_strings = [ + b"-----BEGIN PUBLIC KEY-----", + b"-----BEGIN RSA PUBLIC KEY-----", + b"-----BEGIN CERTIFICATE-----", + b"ssh-rsa", + ] + + if any(string_value in key for string_value in invalid_strings): raise JWKError( "The specified key is an asymmetric key or x509 certificate and" " should not be used as an HMAC secret." diff --git a/venv/lib/python3.12/site-packages/jose/backends/native.py b/venv/lib/python3.12/site-packages/jose/backends/native.py index 8cc77da..eb3a6ae 100644 --- a/venv/lib/python3.12/site-packages/jose/backends/native.py +++ b/venv/lib/python3.12/site-packages/jose/backends/native.py @@ -5,7 +5,7 @@ import os from jose.backends.base import Key from jose.constants import ALGORITHMS from jose.exceptions import JWKError -from jose.utils import base64url_decode, base64url_encode, is_pem_format, is_ssh_key +from jose.utils import base64url_decode, base64url_encode def get_random_bytes(num_bytes): @@ -36,7 +36,14 @@ class HMACKey(Key): if isinstance(key, str): key = key.encode("utf-8") - if is_pem_format(key) or is_ssh_key(key): + invalid_strings = [ + b"-----BEGIN PUBLIC KEY-----", + b"-----BEGIN RSA PUBLIC KEY-----", + b"-----BEGIN CERTIFICATE-----", + b"ssh-rsa", + ] + + if any(string_value in key for string_value in invalid_strings): raise JWKError( "The specified key is an asymmetric key or x509 certificate and" " should not be used as an HMAC secret." diff --git a/venv/lib/python3.12/site-packages/jose/backends/rsa_backend.py b/venv/lib/python3.12/site-packages/jose/backends/rsa_backend.py index 8139d69..4e8ccf1 100644 --- a/venv/lib/python3.12/site-packages/jose/backends/rsa_backend.py +++ b/venv/lib/python3.12/site-packages/jose/backends/rsa_backend.py @@ -221,6 +221,7 @@ class RSAKey(Key): return self.__class__(pyrsa.PublicKey(n=self._prepared_key.n, e=self._prepared_key.e), self._algorithm) def to_pem(self, pem_format="PKCS8"): + if isinstance(self._prepared_key, pyrsa.PrivateKey): der = self._prepared_key.save_pkcs1(format="DER") if pem_format == "PKCS8": diff --git a/venv/lib/python3.12/site-packages/jose/constants.py b/venv/lib/python3.12/site-packages/jose/constants.py index 58787d4..ab4d74d 100644 --- a/venv/lib/python3.12/site-packages/jose/constants.py +++ b/venv/lib/python3.12/site-packages/jose/constants.py @@ -96,5 +96,3 @@ class Zips: ZIPS = Zips() - -JWE_SIZE_LIMIT = 250 * 1024 diff --git a/venv/lib/python3.12/site-packages/jose/jwe.py b/venv/lib/python3.12/site-packages/jose/jwe.py index 09e5c32..2c387ff 100644 --- a/venv/lib/python3.12/site-packages/jose/jwe.py +++ b/venv/lib/python3.12/site-packages/jose/jwe.py @@ -6,13 +6,13 @@ from struct import pack from . import jwk from .backends import get_random_bytes -from .constants import ALGORITHMS, JWE_SIZE_LIMIT, ZIPS +from .constants import ALGORITHMS, ZIPS from .exceptions import JWEError, JWEParseError from .utils import base64url_decode, base64url_encode, ensure_binary def encrypt(plaintext, key, encryption=ALGORITHMS.A256GCM, algorithm=ALGORITHMS.DIR, zip=None, cty=None, kid=None): - """Encrypts plaintext and returns a JWE compact serialization string. + """Encrypts plaintext and returns a JWE cmpact serialization string. Args: plaintext (bytes): A bytes object to encrypt @@ -76,13 +76,6 @@ def decrypt(jwe_str, key): >>> jwe.decrypt(jwe_string, 'asecret128bitkey') 'Hello, World!' """ - - # Limit the token size - if the data is compressed then decompressing the - # data could lead to large memory usage. This helps address This addresses - # CVE-2024-33664. Also see _decompress() - if len(jwe_str) > JWE_SIZE_LIMIT: - raise JWEError(f"JWE string {len(jwe_str)} bytes exceeds {JWE_SIZE_LIMIT} bytes") - header, encoded_header, encrypted_key, iv, cipher_text, auth_tag = _jwe_compact_deserialize(jwe_str) # Verify that the implementation understands and can process all @@ -431,13 +424,13 @@ def _compress(zip, plaintext): (bytes): Compressed plaintext """ if zip not in ZIPS.SUPPORTED: - raise NotImplementedError(f"ZIP {zip} is not supported!") + raise NotImplementedError("ZIP {} is not supported!") if zip is None: compressed = plaintext elif zip == ZIPS.DEF: compressed = zlib.compress(plaintext) else: - raise NotImplementedError(f"ZIP {zip} is not implemented!") + raise NotImplementedError("ZIP {} is not implemented!") return compressed @@ -453,18 +446,13 @@ def _decompress(zip, compressed): (bytes): Compressed plaintext """ if zip not in ZIPS.SUPPORTED: - raise NotImplementedError(f"ZIP {zip} is not supported!") + raise NotImplementedError("ZIP {} is not supported!") if zip is None: decompressed = compressed elif zip == ZIPS.DEF: - # If, during decompression, there is more data than expected, the - # decompression halts and raise an error. This addresses CVE-2024-33664 - decompressor = zlib.decompressobj() - decompressed = decompressor.decompress(compressed, max_length=JWE_SIZE_LIMIT) - if decompressor.unconsumed_tail: - raise JWEError(f"Decompressed JWE string exceeds {JWE_SIZE_LIMIT} bytes") + decompressed = zlib.decompress(compressed) else: - raise NotImplementedError(f"ZIP {zip} is not implemented!") + raise NotImplementedError("ZIP {} is not implemented!") return decompressed @@ -542,7 +530,7 @@ def _get_key_wrap_cek(enc, key): def _get_random_cek_bytes_for_enc(enc): """ - Get the random cek bytes based on the encryption algorithm + Get the random cek bytes based on the encryptionn algorithm Args: enc (str): Encryption algorithm diff --git a/venv/lib/python3.12/site-packages/jose/jwk.py b/venv/lib/python3.12/site-packages/jose/jwk.py index 2a31847..7afc054 100644 --- a/venv/lib/python3.12/site-packages/jose/jwk.py +++ b/venv/lib/python3.12/site-packages/jose/jwk.py @@ -71,9 +71,9 @@ def construct(key_data, algorithm=None): algorithm = key_data.get("alg", None) if not algorithm: - raise JWKError("Unable to find an algorithm for key") + raise JWKError("Unable to find an algorithm for key: %s" % key_data) key_class = get_key(algorithm) if not key_class: - raise JWKError("Unable to find an algorithm for key") + raise JWKError("Unable to find an algorithm for key: %s" % key_data) return key_class(key_data, algorithm) diff --git a/venv/lib/python3.12/site-packages/jose/jws.py b/venv/lib/python3.12/site-packages/jose/jws.py index 27f6b79..bfaf6bd 100644 --- a/venv/lib/python3.12/site-packages/jose/jws.py +++ b/venv/lib/python3.12/site-packages/jose/jws.py @@ -1,10 +1,6 @@ import binascii import json - -try: - from collections.abc import Iterable, Mapping -except ImportError: - from collections import Mapping, Iterable +from collections.abc import Iterable, Mapping from jose import jwk from jose.backends.base import Key @@ -219,6 +215,7 @@ def _sig_matches_keys(keys, signing_input, signature, alg): def _get_keys(key): + if isinstance(key, Key): return (key,) @@ -251,6 +248,7 @@ def _get_keys(key): def _verify_signature(signing_input, header, signature, key="", algorithms=None): + alg = header.get("alg") if not alg: raise JWSError("No algorithm was specified in the JWS header.") diff --git a/venv/lib/python3.12/site-packages/jose/jwt.py b/venv/lib/python3.12/site-packages/jose/jwt.py index f47e4dd..3f2142e 100644 --- a/venv/lib/python3.12/site-packages/jose/jwt.py +++ b/venv/lib/python3.12/site-packages/jose/jwt.py @@ -1,19 +1,8 @@ import json from calendar import timegm +from collections.abc import Mapping from datetime import datetime, timedelta -try: - from collections.abc import Mapping -except ImportError: - from collections import Mapping - -try: - from datetime import UTC # Preferred in Python 3.13+ -except ImportError: - from datetime import timezone - - UTC = timezone.utc # Preferred in Python 3.12 and below - from jose import jws from .constants import ALGORITHMS @@ -53,6 +42,7 @@ def encode(claims, key, algorithm=ALGORITHMS.HS256, headers=None, access_token=N """ for time_claim in ["exp", "iat", "nbf"]: + # Convert datetime to a intDate value in known time-format claims if isinstance(claims.get(time_claim), datetime): claims[time_claim] = timegm(claims[time_claim].utctimetuple()) @@ -68,15 +58,8 @@ def decode(token, key, algorithms=None, options=None, audience=None, issuer=None Args: token (str): A signed JWS to be verified. - key (str or iterable): A key to attempt to verify the payload with. - This can be simple string with an individual key (e.g. "a1234"), - a tuple or list of keys (e.g. ("a1234...", "b3579"), - a JSON string, (e.g. '["a1234", "b3579"]'), - a dict with the 'keys' key that gives a tuple or list of keys (e.g {'keys': [...]} ) or - a dict or JSON string for a JWK set as defined by RFC 7517 (e.g. - {'keys': [{'kty': 'oct', 'k': 'YTEyMzQ'}, {'kty': 'oct', 'k':'YjM1Nzk'}]} or - '{"keys": [{"kty":"oct","k":"YTEyMzQ"},{"kty":"oct","k":"YjM1Nzk"}]}' - ) in which case the keys must be base64 url safe encoded (with optional padding). + key (str or dict): A key to attempt to verify the payload with. Can be + individual JWK or JWK set. algorithms (str or list): Valid algorithms that should be used to verify the JWS. audience (str): The intended audience of the token. If the "aud" claim is included in the claim set, then the audience must be included and must equal @@ -295,7 +278,7 @@ def _validate_nbf(claims, leeway=0): except ValueError: raise JWTClaimsError("Not Before claim (nbf) must be an integer.") - now = timegm(datetime.now(UTC).utctimetuple()) + now = timegm(datetime.utcnow().utctimetuple()) if nbf > (now + leeway): raise JWTClaimsError("The token is not yet valid (nbf)") @@ -325,7 +308,7 @@ def _validate_exp(claims, leeway=0): except ValueError: raise JWTClaimsError("Expiration Time claim (exp) must be an integer.") - now = timegm(datetime.now(UTC).utctimetuple()) + now = timegm(datetime.utcnow().utctimetuple()) if exp < (now - leeway): raise ExpiredSignatureError("Signature has expired.") @@ -399,7 +382,7 @@ def _validate_sub(claims, subject=None): "sub" value is a case-sensitive string containing a StringOrURI value. Use of this claim is OPTIONAL. - Arg + Args: claims (dict): The claims dictionary to validate. subject (str): The subject of the token. """ @@ -473,6 +456,7 @@ def _validate_at_hash(claims, access_token, algorithm): def _validate_claims(claims, audience=None, issuer=None, subject=None, algorithm=None, access_token=None, options=None): + leeway = options.get("leeway", 0) if isinstance(leeway, timedelta): diff --git a/venv/lib/python3.12/site-packages/jose/utils.py b/venv/lib/python3.12/site-packages/jose/utils.py index d62cafb..fcef885 100644 --- a/venv/lib/python3.12/site-packages/jose/utils.py +++ b/venv/lib/python3.12/site-packages/jose/utils.py @@ -1,5 +1,4 @@ import base64 -import re import struct # Piggyback of the backends implementation of the function that converts a long @@ -10,6 +9,7 @@ try: def long_to_bytes(n, blocksize=0): return _long_to_bytes(n, blocksize or None) + except ImportError: from ecdsa.ecdsa import int_to_string as _long_to_bytes @@ -67,7 +67,7 @@ def base64url_decode(input): """Helper method to base64url_decode a string. Args: - input (bytes): A base64url_encoded string (bytes) to decode. + input (str): A base64url_encoded string to decode. """ rem = len(input) % 4 @@ -82,7 +82,7 @@ def base64url_encode(input): """Helper method to base64url_encode a string. Args: - input (bytes): A base64url_encoded string (bytes) to encode. + input (str): A base64url_encoded string to encode. """ return base64.urlsafe_b64encode(input).replace(b"=", b"") @@ -106,60 +106,3 @@ def ensure_binary(s): if isinstance(s, str): return s.encode("utf-8", "strict") raise TypeError(f"not expecting type '{type(s)}'") - - -# The following was copied from PyJWT: -# https://github.com/jpadilla/pyjwt/commit/9c528670c455b8d948aff95ed50e22940d1ad3fc -# Based on: -# https://github.com/hynek/pem/blob/7ad94db26b0bc21d10953f5dbad3acfdfacf57aa/src/pem/_core.py#L224-L252 -_PEMS = { - b"CERTIFICATE", - b"TRUSTED CERTIFICATE", - b"PRIVATE KEY", - b"PUBLIC KEY", - b"ENCRYPTED PRIVATE KEY", - b"OPENSSH PRIVATE KEY", - b"DSA PRIVATE KEY", - b"RSA PRIVATE KEY", - b"RSA PUBLIC KEY", - b"EC PRIVATE KEY", - b"DH PARAMETERS", - b"NEW CERTIFICATE REQUEST", - b"CERTIFICATE REQUEST", - b"SSH2 PUBLIC KEY", - b"SSH2 ENCRYPTED PRIVATE KEY", - b"X509 CRL", -} -_PEM_RE = re.compile( - b"----[- ]BEGIN (" + b"|".join(re.escape(pem) for pem in _PEMS) + b")[- ]----", -) - - -def is_pem_format(key: bytes) -> bool: - return bool(_PEM_RE.search(key)) - - -# Based on -# https://github.com/pyca/cryptography/blob/bcb70852d577b3f490f015378c75cba74986297b -# /src/cryptography/hazmat/primitives/serialization/ssh.py#L40-L46 -_CERT_SUFFIX = b"-cert-v01@openssh.com" -_SSH_PUBKEY_RC = re.compile(rb"\A(\S+)[ \t]+(\S+)") -_SSH_KEY_FORMATS = [ - b"ssh-ed25519", - b"ssh-rsa", - b"ssh-dss", - b"ecdsa-sha2-nistp256", - b"ecdsa-sha2-nistp384", - b"ecdsa-sha2-nistp521", -] - - -def is_ssh_key(key: bytes) -> bool: - if any(string_value in key for string_value in _SSH_KEY_FORMATS): - return True - ssh_pubkey_match = _SSH_PUBKEY_RC.match(key) - if ssh_pubkey_match: - key_type = ssh_pubkey_match.group(1) - if _CERT_SUFFIX == key_type[-len(_CERT_SUFFIX) :]: - return True - return False diff --git a/venv/lib/python3.12/site-packages/jwt/__init__.py b/venv/lib/python3.12/site-packages/jwt/__init__.py index 457a4e3..68d09c1 100644 --- a/venv/lib/python3.12/site-packages/jwt/__init__.py +++ b/venv/lib/python3.12/site-packages/jwt/__init__.py @@ -6,7 +6,7 @@ from .api_jws import ( register_algorithm, unregister_algorithm, ) -from .api_jwt import PyJWT, decode, decode_complete, encode +from .api_jwt import PyJWT, decode, encode from .exceptions import ( DecodeError, ExpiredSignatureError, @@ -27,7 +27,7 @@ from .exceptions import ( ) from .jwks_client import PyJWKClient -__version__ = "2.10.1" +__version__ = "2.8.0" __title__ = "PyJWT" __description__ = "JSON Web Token implementation in Python" @@ -49,7 +49,6 @@ __all__ = [ "PyJWK", "PyJWKSet", "decode", - "decode_complete", "encode", "get_unverified_header", "register_algorithm", diff --git a/venv/lib/python3.12/site-packages/jwt/algorithms.py b/venv/lib/python3.12/site-packages/jwt/algorithms.py index ccb1500..ed18715 100644 --- a/venv/lib/python3.12/site-packages/jwt/algorithms.py +++ b/venv/lib/python3.12/site-packages/jwt/algorithms.py @@ -3,8 +3,9 @@ from __future__ import annotations import hashlib import hmac import json +import sys from abc import ABC, abstractmethod -from typing import TYPE_CHECKING, Any, ClassVar, Literal, NoReturn, cast, overload +from typing import TYPE_CHECKING, Any, ClassVar, NoReturn, Union, cast, overload from .exceptions import InvalidKeyError from .types import HashlibHash, JWKDict @@ -20,8 +21,14 @@ from .utils import ( to_base64url_uint, ) +if sys.version_info >= (3, 8): + from typing import Literal +else: + from typing_extensions import Literal + + try: - from cryptography.exceptions import InvalidSignature, UnsupportedAlgorithm + from cryptography.exceptions import InvalidSignature from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.asymmetric import padding @@ -187,16 +194,18 @@ class Algorithm(ABC): @overload @staticmethod @abstractmethod - def to_jwk(key_obj, as_dict: Literal[True]) -> JWKDict: ... # pragma: no cover + def to_jwk(key_obj, as_dict: Literal[True]) -> JWKDict: + ... # pragma: no cover @overload @staticmethod @abstractmethod - def to_jwk(key_obj, as_dict: Literal[False] = False) -> str: ... # pragma: no cover + def to_jwk(key_obj, as_dict: Literal[False] = False) -> str: + ... # pragma: no cover @staticmethod @abstractmethod - def to_jwk(key_obj, as_dict: bool = False) -> JWKDict | str: + def to_jwk(key_obj, as_dict: bool = False) -> Union[JWKDict, str]: """ Serializes a given key into a JWK """ @@ -265,18 +274,16 @@ class HMACAlgorithm(Algorithm): @overload @staticmethod - def to_jwk( - key_obj: str | bytes, as_dict: Literal[True] - ) -> JWKDict: ... # pragma: no cover + def to_jwk(key_obj: str | bytes, as_dict: Literal[True]) -> JWKDict: + ... # pragma: no cover @overload @staticmethod - def to_jwk( - key_obj: str | bytes, as_dict: Literal[False] = False - ) -> str: ... # pragma: no cover + def to_jwk(key_obj: str | bytes, as_dict: Literal[False] = False) -> str: + ... # pragma: no cover @staticmethod - def to_jwk(key_obj: str | bytes, as_dict: bool = False) -> JWKDict | str: + def to_jwk(key_obj: str | bytes, as_dict: bool = False) -> Union[JWKDict, str]: jwk = { "k": base64url_encode(force_bytes(key_obj)).decode(), "kty": "oct", @@ -297,7 +304,7 @@ class HMACAlgorithm(Algorithm): else: raise ValueError except ValueError: - raise InvalidKeyError("Key is not valid JSON") from None + raise InvalidKeyError("Key is not valid JSON") if obj.get("kty") != "oct": raise InvalidKeyError("Not an HMAC key") @@ -343,27 +350,22 @@ if has_crypto: RSAPrivateKey, load_pem_private_key(key_bytes, password=None) ) except ValueError: - try: - return cast(RSAPublicKey, load_pem_public_key(key_bytes)) - except (ValueError, UnsupportedAlgorithm): - raise InvalidKeyError( - "Could not parse the provided public key." - ) from None + return cast(RSAPublicKey, load_pem_public_key(key_bytes)) @overload @staticmethod - def to_jwk( - key_obj: AllowedRSAKeys, as_dict: Literal[True] - ) -> JWKDict: ... # pragma: no cover + def to_jwk(key_obj: AllowedRSAKeys, as_dict: Literal[True]) -> JWKDict: + ... # pragma: no cover @overload @staticmethod - def to_jwk( - key_obj: AllowedRSAKeys, as_dict: Literal[False] = False - ) -> str: ... # pragma: no cover + def to_jwk(key_obj: AllowedRSAKeys, as_dict: Literal[False] = False) -> str: + ... # pragma: no cover @staticmethod - def to_jwk(key_obj: AllowedRSAKeys, as_dict: bool = False) -> JWKDict | str: + def to_jwk( + key_obj: AllowedRSAKeys, as_dict: bool = False + ) -> Union[JWKDict, str]: obj: dict[str, Any] | None = None if hasattr(key_obj, "private_numbers"): @@ -411,10 +413,10 @@ if has_crypto: else: raise ValueError except ValueError: - raise InvalidKeyError("Key is not valid JSON") from None + raise InvalidKeyError("Key is not valid JSON") if obj.get("kty") != "RSA": - raise InvalidKeyError("Not an RSA key") from None + raise InvalidKeyError("Not an RSA key") if "d" in obj and "e" in obj and "n" in obj: # Private key @@ -430,7 +432,7 @@ if has_crypto: if any_props_found and not all(props_found): raise InvalidKeyError( "RSA key must include all parameters if any are present besides d" - ) from None + ) public_numbers = RSAPublicNumbers( from_base64url_uint(obj["e"]), @@ -522,7 +524,7 @@ if has_crypto: ): raise InvalidKeyError( "Expecting a EllipticCurvePrivateKey/EllipticCurvePublicKey. Wrong key provided for ECDSA algorithms" - ) from None + ) return crypto_key @@ -531,7 +533,7 @@ if has_crypto: return der_to_raw_signature(der_sig, key.curve) - def verify(self, msg: bytes, key: AllowedECKeys, sig: bytes) -> bool: + def verify(self, msg: bytes, key: "AllowedECKeys", sig: bytes) -> bool: try: der_sig = raw_to_der_signature(sig, key.curve) except ValueError: @@ -550,18 +552,18 @@ if has_crypto: @overload @staticmethod - def to_jwk( - key_obj: AllowedECKeys, as_dict: Literal[True] - ) -> JWKDict: ... # pragma: no cover + def to_jwk(key_obj: AllowedECKeys, as_dict: Literal[True]) -> JWKDict: + ... # pragma: no cover @overload @staticmethod - def to_jwk( - key_obj: AllowedECKeys, as_dict: Literal[False] = False - ) -> str: ... # pragma: no cover + def to_jwk(key_obj: AllowedECKeys, as_dict: Literal[False] = False) -> str: + ... # pragma: no cover @staticmethod - def to_jwk(key_obj: AllowedECKeys, as_dict: bool = False) -> JWKDict | str: + def to_jwk( + key_obj: AllowedECKeys, as_dict: bool = False + ) -> Union[JWKDict, str]: if isinstance(key_obj, EllipticCurvePrivateKey): public_numbers = key_obj.public_key().public_numbers() elif isinstance(key_obj, EllipticCurvePublicKey): @@ -583,20 +585,13 @@ if has_crypto: obj: dict[str, Any] = { "kty": "EC", "crv": crv, - "x": to_base64url_uint( - public_numbers.x, - bit_length=key_obj.curve.key_size, - ).decode(), - "y": to_base64url_uint( - public_numbers.y, - bit_length=key_obj.curve.key_size, - ).decode(), + "x": to_base64url_uint(public_numbers.x).decode(), + "y": to_base64url_uint(public_numbers.y).decode(), } if isinstance(key_obj, EllipticCurvePrivateKey): obj["d"] = to_base64url_uint( - key_obj.private_numbers().private_value, - bit_length=key_obj.curve.key_size, + key_obj.private_numbers().private_value ).decode() if as_dict: @@ -614,13 +609,13 @@ if has_crypto: else: raise ValueError except ValueError: - raise InvalidKeyError("Key is not valid JSON") from None + raise InvalidKeyError("Key is not valid JSON") if obj.get("kty") != "EC": - raise InvalidKeyError("Not an Elliptic curve key") from None + raise InvalidKeyError("Not an Elliptic curve key") if "x" not in obj or "y" not in obj: - raise InvalidKeyError("Not an Elliptic curve key") from None + raise InvalidKeyError("Not an Elliptic curve key") x = base64url_decode(obj.get("x")) y = base64url_decode(obj.get("y")) @@ -632,23 +627,17 @@ if has_crypto: if len(x) == len(y) == 32: curve_obj = SECP256R1() else: - raise InvalidKeyError( - "Coords should be 32 bytes for curve P-256" - ) from None + raise InvalidKeyError("Coords should be 32 bytes for curve P-256") elif curve == "P-384": if len(x) == len(y) == 48: curve_obj = SECP384R1() else: - raise InvalidKeyError( - "Coords should be 48 bytes for curve P-384" - ) from None + raise InvalidKeyError("Coords should be 48 bytes for curve P-384") elif curve == "P-521": if len(x) == len(y) == 66: curve_obj = SECP521R1() else: - raise InvalidKeyError( - "Coords should be 66 bytes for curve P-521" - ) from None + raise InvalidKeyError("Coords should be 66 bytes for curve P-521") elif curve == "secp256k1": if len(x) == len(y) == 32: curve_obj = SECP256K1() @@ -782,18 +771,16 @@ if has_crypto: @overload @staticmethod - def to_jwk( - key: AllowedOKPKeys, as_dict: Literal[True] - ) -> JWKDict: ... # pragma: no cover + def to_jwk(key: AllowedOKPKeys, as_dict: Literal[True]) -> JWKDict: + ... # pragma: no cover @overload @staticmethod - def to_jwk( - key: AllowedOKPKeys, as_dict: Literal[False] = False - ) -> str: ... # pragma: no cover + def to_jwk(key: AllowedOKPKeys, as_dict: Literal[False] = False) -> str: + ... # pragma: no cover @staticmethod - def to_jwk(key: AllowedOKPKeys, as_dict: bool = False) -> JWKDict | str: + def to_jwk(key: AllowedOKPKeys, as_dict: bool = False) -> Union[JWKDict, str]: if isinstance(key, (Ed25519PublicKey, Ed448PublicKey)): x = key.public_bytes( encoding=Encoding.Raw, @@ -849,7 +836,7 @@ if has_crypto: else: raise ValueError except ValueError: - raise InvalidKeyError("Key is not valid JSON") from None + raise InvalidKeyError("Key is not valid JSON") if obj.get("kty") != "OKP": raise InvalidKeyError("Not an Octet Key Pair") diff --git a/venv/lib/python3.12/site-packages/jwt/api_jwk.py b/venv/lib/python3.12/site-packages/jwt/api_jwk.py index 02f4679..456c7f4 100644 --- a/venv/lib/python3.12/site-packages/jwt/api_jwk.py +++ b/venv/lib/python3.12/site-packages/jwt/api_jwk.py @@ -5,13 +5,7 @@ import time from typing import Any from .algorithms import get_default_algorithms, has_crypto, requires_cryptography -from .exceptions import ( - InvalidKeyError, - MissingCryptographyError, - PyJWKError, - PyJWKSetError, - PyJWTError, -) +from .exceptions import InvalidKeyError, PyJWKError, PyJWKSetError, PyJWTError from .types import JWKDict @@ -56,25 +50,21 @@ class PyJWK: raise InvalidKeyError(f"Unsupported kty: {kty}") if not has_crypto and algorithm in requires_cryptography: - raise MissingCryptographyError( - f"{algorithm} requires 'cryptography' to be installed." - ) + raise PyJWKError(f"{algorithm} requires 'cryptography' to be installed.") - self.algorithm_name = algorithm + self.Algorithm = self._algorithms.get(algorithm) - if algorithm in self._algorithms: - self.Algorithm = self._algorithms[algorithm] - else: + if not self.Algorithm: raise PyJWKError(f"Unable to find an algorithm for key: {self._jwk_data}") self.key = self.Algorithm.from_jwk(self._jwk_data) @staticmethod - def from_dict(obj: JWKDict, algorithm: str | None = None) -> PyJWK: + def from_dict(obj: JWKDict, algorithm: str | None = None) -> "PyJWK": return PyJWK(obj, algorithm) @staticmethod - def from_json(data: str, algorithm: None = None) -> PyJWK: + def from_json(data: str, algorithm: None = None) -> "PyJWK": obj = json.loads(data) return PyJWK.from_dict(obj, algorithm) @@ -104,9 +94,7 @@ class PyJWKSet: for key in keys: try: self.keys.append(PyJWK(key)) - except PyJWTError as error: - if isinstance(error, MissingCryptographyError): - raise error + except PyJWTError: # skip unusable keys continue @@ -116,16 +104,16 @@ class PyJWKSet: ) @staticmethod - def from_dict(obj: dict[str, Any]) -> PyJWKSet: + def from_dict(obj: dict[str, Any]) -> "PyJWKSet": keys = obj.get("keys", []) return PyJWKSet(keys) @staticmethod - def from_json(data: str) -> PyJWKSet: + def from_json(data: str) -> "PyJWKSet": obj = json.loads(data) return PyJWKSet.from_dict(obj) - def __getitem__(self, kid: str) -> PyJWK: + def __getitem__(self, kid: str) -> "PyJWK": for key in self.keys: if key.key_id == kid: return key diff --git a/venv/lib/python3.12/site-packages/jwt/api_jws.py b/venv/lib/python3.12/site-packages/jwt/api_jws.py index 654ee0b..fa6708c 100644 --- a/venv/lib/python3.12/site-packages/jwt/api_jws.py +++ b/venv/lib/python3.12/site-packages/jwt/api_jws.py @@ -3,7 +3,6 @@ from __future__ import annotations import binascii import json import warnings -from collections.abc import Sequence from typing import TYPE_CHECKING, Any from .algorithms import ( @@ -12,7 +11,6 @@ from .algorithms import ( has_crypto, requires_cryptography, ) -from .api_jwk import PyJWK from .exceptions import ( DecodeError, InvalidAlgorithmError, @@ -31,7 +29,7 @@ class PyJWS: def __init__( self, - algorithms: Sequence[str] | None = None, + algorithms: list[str] | None = None, options: dict[str, Any] | None = None, ) -> None: self._algorithms = get_default_algorithms() @@ -105,8 +103,8 @@ class PyJWS: def encode( self, payload: bytes, - key: AllowedPrivateKeys | PyJWK | str | bytes, - algorithm: str | None = None, + key: AllowedPrivateKeys | str | bytes, + algorithm: str | None = "HS256", headers: dict[str, Any] | None = None, json_encoder: type[json.JSONEncoder] | None = None, is_payload_detached: bool = False, @@ -115,13 +113,7 @@ class PyJWS: segments = [] # declare a new var to narrow the type for type checkers - if algorithm is None: - if isinstance(key, PyJWK): - algorithm_ = key.algorithm_name - else: - algorithm_ = "HS256" - else: - algorithm_ = algorithm + algorithm_: str = algorithm if algorithm is not None else "none" # Prefer headers values if present to function parameters. if headers: @@ -165,8 +157,6 @@ class PyJWS: signing_input = b".".join(segments) alg_obj = self.get_algorithm_by_name(algorithm_) - if isinstance(key, PyJWK): - key = key.key key = alg_obj.prepare_key(key) signature = alg_obj.sign(signing_input, key) @@ -182,8 +172,8 @@ class PyJWS: def decode_complete( self, jwt: str | bytes, - key: AllowedPublicKeys | PyJWK | str | bytes = "", - algorithms: Sequence[str] | None = None, + key: AllowedPublicKeys | str | bytes = "", + algorithms: list[str] | None = None, options: dict[str, Any] | None = None, detached_payload: bytes | None = None, **kwargs, @@ -194,14 +184,13 @@ class PyJWS: "and will be removed in pyjwt version 3. " f"Unsupported kwargs: {tuple(kwargs.keys())}", RemovedInPyjwt3Warning, - stacklevel=2, ) if options is None: options = {} merged_options = {**self.options, **options} verify_signature = merged_options["verify_signature"] - if verify_signature and not algorithms and not isinstance(key, PyJWK): + if verify_signature and not algorithms: raise DecodeError( 'It is required that you pass in a value for the "algorithms" argument when calling decode().' ) @@ -228,8 +217,8 @@ class PyJWS: def decode( self, jwt: str | bytes, - key: AllowedPublicKeys | PyJWK | str | bytes = "", - algorithms: Sequence[str] | None = None, + key: AllowedPublicKeys | str | bytes = "", + algorithms: list[str] | None = None, options: dict[str, Any] | None = None, detached_payload: bytes | None = None, **kwargs, @@ -240,7 +229,6 @@ class PyJWS: "and will be removed in pyjwt version 3. " f"Unsupported kwargs: {tuple(kwargs.keys())}", RemovedInPyjwt3Warning, - stacklevel=2, ) decoded = self.decode_complete( jwt, key, algorithms, options, detached_payload=detached_payload @@ -301,28 +289,22 @@ class PyJWS: signing_input: bytes, header: dict[str, Any], signature: bytes, - key: AllowedPublicKeys | PyJWK | str | bytes = "", - algorithms: Sequence[str] | None = None, + key: AllowedPublicKeys | str | bytes = "", + algorithms: list[str] | None = None, ) -> None: - if algorithms is None and isinstance(key, PyJWK): - algorithms = [key.algorithm_name] try: alg = header["alg"] except KeyError: - raise InvalidAlgorithmError("Algorithm not specified") from None + raise InvalidAlgorithmError("Algorithm not specified") if not alg or (algorithms is not None and alg not in algorithms): raise InvalidAlgorithmError("The specified alg value is not allowed") - if isinstance(key, PyJWK): - alg_obj = key.Algorithm - prepared_key = key.key - else: - try: - alg_obj = self.get_algorithm_by_name(alg) - except NotImplementedError as e: - raise InvalidAlgorithmError("Algorithm not supported") from e - prepared_key = alg_obj.prepare_key(key) + try: + alg_obj = self.get_algorithm_by_name(alg) + except NotImplementedError as e: + raise InvalidAlgorithmError("Algorithm not supported") from e + prepared_key = alg_obj.prepare_key(key) if not alg_obj.verify(signing_input, prepared_key, signature): raise InvalidSignatureError("Signature verification failed") diff --git a/venv/lib/python3.12/site-packages/jwt/api_jwt.py b/venv/lib/python3.12/site-packages/jwt/api_jwt.py index 3a20143..48d739a 100644 --- a/venv/lib/python3.12/site-packages/jwt/api_jwt.py +++ b/venv/lib/python3.12/site-packages/jwt/api_jwt.py @@ -3,7 +3,7 @@ from __future__ import annotations import json import warnings from calendar import timegm -from collections.abc import Iterable, Sequence +from collections.abc import Iterable from datetime import datetime, timedelta, timezone from typing import TYPE_CHECKING, Any @@ -15,15 +15,12 @@ from .exceptions import ( InvalidAudienceError, InvalidIssuedAtError, InvalidIssuerError, - InvalidJTIError, - InvalidSubjectError, MissingRequiredClaimError, ) from .warnings import RemovedInPyjwt3Warning if TYPE_CHECKING: from .algorithms import AllowedPrivateKeys, AllowedPublicKeys - from .api_jwk import PyJWK class PyJWT: @@ -41,16 +38,14 @@ class PyJWT: "verify_iat": True, "verify_aud": True, "verify_iss": True, - "verify_sub": True, - "verify_jti": True, "require": [], } def encode( self, payload: dict[str, Any], - key: AllowedPrivateKeys | PyJWK | str | bytes, - algorithm: str | None = None, + key: AllowedPrivateKeys | str | bytes, + algorithm: str | None = "HS256", headers: dict[str, Any] | None = None, json_encoder: type[json.JSONEncoder] | None = None, sort_headers: bool = True, @@ -105,8 +100,8 @@ class PyJWT: def decode_complete( self, jwt: str | bytes, - key: AllowedPublicKeys | PyJWK | str | bytes = "", - algorithms: Sequence[str] | None = None, + key: AllowedPublicKeys | str | bytes = "", + algorithms: list[str] | None = None, options: dict[str, Any] | None = None, # deprecated arg, remove in pyjwt3 verify: bool | None = None, @@ -115,8 +110,7 @@ class PyJWT: # passthrough arguments to _validate_claims # consider putting in options audience: str | Iterable[str] | None = None, - issuer: str | Sequence[str] | None = None, - subject: str | None = None, + issuer: str | None = None, leeway: float | timedelta = 0, # kwargs **kwargs: Any, @@ -127,7 +121,6 @@ class PyJWT: "and will be removed in pyjwt version 3. " f"Unsupported kwargs: {tuple(kwargs.keys())}", RemovedInPyjwt3Warning, - stacklevel=2, ) options = dict(options or {}) # shallow-copy or initialize an empty dict options.setdefault("verify_signature", True) @@ -141,7 +134,6 @@ class PyJWT: "The equivalent is setting `verify_signature` to False in the `options` dictionary. " "This invocation has a mismatch between the kwarg and the option entry.", category=DeprecationWarning, - stacklevel=2, ) if not options["verify_signature"]: @@ -150,8 +142,11 @@ class PyJWT: options.setdefault("verify_iat", False) options.setdefault("verify_aud", False) options.setdefault("verify_iss", False) - options.setdefault("verify_sub", False) - options.setdefault("verify_jti", False) + + if options["verify_signature"] and not algorithms: + raise DecodeError( + 'It is required that you pass in a value for the "algorithms" argument when calling decode().' + ) decoded = api_jws.decode_complete( jwt, @@ -165,12 +160,7 @@ class PyJWT: merged_options = {**self.options, **options} self._validate_claims( - payload, - merged_options, - audience=audience, - issuer=issuer, - leeway=leeway, - subject=subject, + payload, merged_options, audience=audience, issuer=issuer, leeway=leeway ) decoded["payload"] = payload @@ -187,7 +177,7 @@ class PyJWT: try: payload = json.loads(decoded["payload"]) except ValueError as e: - raise DecodeError(f"Invalid payload string: {e}") from e + raise DecodeError(f"Invalid payload string: {e}") if not isinstance(payload, dict): raise DecodeError("Invalid payload string: must be a json object") return payload @@ -195,8 +185,8 @@ class PyJWT: def decode( self, jwt: str | bytes, - key: AllowedPublicKeys | PyJWK | str | bytes = "", - algorithms: Sequence[str] | None = None, + key: AllowedPublicKeys | str | bytes = "", + algorithms: list[str] | None = None, options: dict[str, Any] | None = None, # deprecated arg, remove in pyjwt3 verify: bool | None = None, @@ -205,8 +195,7 @@ class PyJWT: # passthrough arguments to _validate_claims # consider putting in options audience: str | Iterable[str] | None = None, - subject: str | None = None, - issuer: str | Sequence[str] | None = None, + issuer: str | None = None, leeway: float | timedelta = 0, # kwargs **kwargs: Any, @@ -217,7 +206,6 @@ class PyJWT: "and will be removed in pyjwt version 3. " f"Unsupported kwargs: {tuple(kwargs.keys())}", RemovedInPyjwt3Warning, - stacklevel=2, ) decoded = self.decode_complete( jwt, @@ -227,7 +215,6 @@ class PyJWT: verify=verify, detached_payload=detached_payload, audience=audience, - subject=subject, issuer=issuer, leeway=leeway, ) @@ -239,7 +226,6 @@ class PyJWT: options: dict[str, Any], audience=None, issuer=None, - subject: str | None = None, leeway: float | timedelta = 0, ) -> None: if isinstance(leeway, timedelta): @@ -269,12 +255,6 @@ class PyJWT: payload, audience, strict=options.get("strict_aud", False) ) - if options["verify_sub"]: - self._validate_sub(payload, subject) - - if options["verify_jti"]: - self._validate_jti(payload) - def _validate_required_claims( self, payload: dict[str, Any], @@ -284,39 +264,6 @@ class PyJWT: if payload.get(claim) is None: raise MissingRequiredClaimError(claim) - def _validate_sub(self, payload: dict[str, Any], subject=None) -> None: - """ - Checks whether "sub" if in the payload is valid ot not. - This is an Optional claim - - :param payload(dict): The payload which needs to be validated - :param subject(str): The subject of the token - """ - - if "sub" not in payload: - return - - if not isinstance(payload["sub"], str): - raise InvalidSubjectError("Subject must be a string") - - if subject is not None: - if payload.get("sub") != subject: - raise InvalidSubjectError("Invalid subject") - - def _validate_jti(self, payload: dict[str, Any]) -> None: - """ - Checks whether "jti" if in the payload is valid ot not - This is an Optional claim - - :param payload(dict): The payload which needs to be validated - """ - - if "jti" not in payload: - return - - if not isinstance(payload.get("jti"), str): - raise InvalidJTIError("JWT ID must be a string") - def _validate_iat( self, payload: dict[str, Any], @@ -326,9 +273,7 @@ class PyJWT: try: iat = int(payload["iat"]) except ValueError: - raise InvalidIssuedAtError( - "Issued At claim (iat) must be an integer." - ) from None + raise InvalidIssuedAtError("Issued At claim (iat) must be an integer.") if iat > (now + leeway): raise ImmatureSignatureError("The token is not yet valid (iat)") @@ -341,7 +286,7 @@ class PyJWT: try: nbf = int(payload["nbf"]) except ValueError: - raise DecodeError("Not Before claim (nbf) must be an integer.") from None + raise DecodeError("Not Before claim (nbf) must be an integer.") if nbf > (now + leeway): raise ImmatureSignatureError("The token is not yet valid (nbf)") @@ -355,9 +300,7 @@ class PyJWT: try: exp = int(payload["exp"]) except ValueError: - raise DecodeError( - "Expiration Time claim (exp) must be an integer." - ) from None + raise DecodeError("Expiration Time claim (exp) must be an" " integer.") if exp <= (now - leeway): raise ExpiredSignatureError("Signature has expired") @@ -419,12 +362,8 @@ class PyJWT: if "iss" not in payload: raise MissingRequiredClaimError("iss") - if isinstance(issuer, str): - if payload["iss"] != issuer: - raise InvalidIssuerError("Invalid issuer") - else: - if payload["iss"] not in issuer: - raise InvalidIssuerError("Invalid issuer") + if payload["iss"] != issuer: + raise InvalidIssuerError("Invalid issuer") _jwt_global_obj = PyJWT() diff --git a/venv/lib/python3.12/site-packages/jwt/exceptions.py b/venv/lib/python3.12/site-packages/jwt/exceptions.py index 9b45ae4..8ac6ecf 100644 --- a/venv/lib/python3.12/site-packages/jwt/exceptions.py +++ b/venv/lib/python3.12/site-packages/jwt/exceptions.py @@ -58,10 +58,6 @@ class PyJWKError(PyJWTError): pass -class MissingCryptographyError(PyJWKError): - pass - - class PyJWKSetError(PyJWTError): pass @@ -72,11 +68,3 @@ class PyJWKClientError(PyJWTError): class PyJWKClientConnectionError(PyJWKClientError): pass - - -class InvalidSubjectError(InvalidTokenError): - pass - - -class InvalidJTIError(InvalidTokenError): - pass diff --git a/venv/lib/python3.12/site-packages/jwt/help.py b/venv/lib/python3.12/site-packages/jwt/help.py index 8e1c228..80b0ca5 100644 --- a/venv/lib/python3.12/site-packages/jwt/help.py +++ b/venv/lib/python3.12/site-packages/jwt/help.py @@ -39,10 +39,7 @@ def info() -> Dict[str, Dict[str, str]]: ) if pypy_version_info.releaselevel != "final": implementation_version = "".join( - [ - implementation_version, - pypy_version_info.releaselevel, - ] + [implementation_version, pypy_version_info.releaselevel] ) else: implementation_version = "Unknown" diff --git a/venv/lib/python3.12/site-packages/jwt/jwks_client.py b/venv/lib/python3.12/site-packages/jwt/jwks_client.py index 9a8992c..f19b10a 100644 --- a/venv/lib/python3.12/site-packages/jwt/jwks_client.py +++ b/venv/lib/python3.12/site-packages/jwt/jwks_client.py @@ -45,9 +45,7 @@ class PyJWKClient: if cache_keys: # Cache signing keys # Ignore mypy (https://github.com/python/mypy/issues/2427) - self.get_signing_key = lru_cache(maxsize=max_cached_keys)( - self.get_signing_key - ) # type: ignore + self.get_signing_key = lru_cache(maxsize=max_cached_keys)(self.get_signing_key) # type: ignore def fetch_data(self) -> Any: jwk_set: Any = None @@ -60,7 +58,7 @@ class PyJWKClient: except (URLError, TimeoutError) as e: raise PyJWKClientConnectionError( f'Fail to fetch data from the url, err: "{e}"' - ) from e + ) else: return jwk_set finally: diff --git a/venv/lib/python3.12/site-packages/jwt/utils.py b/venv/lib/python3.12/site-packages/jwt/utils.py index 56e89bb..81c5ee4 100644 --- a/venv/lib/python3.12/site-packages/jwt/utils.py +++ b/venv/lib/python3.12/site-packages/jwt/utils.py @@ -1,7 +1,7 @@ import base64 import binascii import re -from typing import Optional, Union +from typing import Union try: from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurve @@ -37,11 +37,11 @@ def base64url_encode(input: bytes) -> bytes: return base64.urlsafe_b64encode(input).replace(b"=", b"") -def to_base64url_uint(val: int, *, bit_length: Optional[int] = None) -> bytes: +def to_base64url_uint(val: int) -> bytes: if val < 0: raise ValueError("Must be a positive integer") - int_bytes = bytes_from_int(val, bit_length=bit_length) + int_bytes = bytes_from_int(val) if len(int_bytes) == 0: int_bytes = b"\x00" @@ -63,10 +63,13 @@ def bytes_to_number(string: bytes) -> int: return int(binascii.b2a_hex(string), 16) -def bytes_from_int(val: int, *, bit_length: Optional[int] = None) -> bytes: - if bit_length is None: - bit_length = val.bit_length() - byte_length = (bit_length + 7) // 8 +def bytes_from_int(val: int) -> bytes: + remaining = val + byte_length = 0 + + while remaining != 0: + remaining >>= 8 + byte_length += 1 return val.to_bytes(byte_length, "big", signed=False) @@ -128,15 +131,26 @@ def is_pem_format(key: bytes) -> bool: # Based on https://github.com/pyca/cryptography/blob/bcb70852d577b3f490f015378c75cba74986297b/src/cryptography/hazmat/primitives/serialization/ssh.py#L40-L46 -_SSH_KEY_FORMATS = ( +_CERT_SUFFIX = b"-cert-v01@openssh.com" +_SSH_PUBKEY_RC = re.compile(rb"\A(\S+)[ \t]+(\S+)") +_SSH_KEY_FORMATS = [ b"ssh-ed25519", b"ssh-rsa", b"ssh-dss", b"ecdsa-sha2-nistp256", b"ecdsa-sha2-nistp384", b"ecdsa-sha2-nistp521", -) +] def is_ssh_key(key: bytes) -> bool: - return key.startswith(_SSH_KEY_FORMATS) + if any(string_value in key for string_value in _SSH_KEY_FORMATS): + return True + + ssh_pubkey_match = _SSH_PUBKEY_RC.match(key) + if ssh_pubkey_match: + key_type = ssh_pubkey_match.group(1) + if _CERT_SUFFIX == key_type[-len(_CERT_SUFFIX) :]: + return True + + return False diff --git a/venv/lib/python3.12/site-packages/kafka/__init__.py b/venv/lib/python3.12/site-packages/kafka/__init__.py index 41a0140..d5e30af 100644 --- a/venv/lib/python3.12/site-packages/kafka/__init__.py +++ b/venv/lib/python3.12/site-packages/kafka/__init__.py @@ -4,7 +4,7 @@ __title__ = 'kafka' from kafka.version import __version__ __author__ = 'Dana Powers' __license__ = 'Apache License 2.0' -__copyright__ = 'Copyright 2025 Dana Powers, David Arthur, and Contributors' +__copyright__ = 'Copyright 2016 Dana Powers, David Arthur, and Contributors' # Set default logging handler to avoid "No handler found" warnings. import logging diff --git a/venv/lib/python3.12/site-packages/kafka/admin/client.py b/venv/lib/python3.12/site-packages/kafka/admin/client.py index 8490fdb..c58da0c 100644 --- a/venv/lib/python3.12/site-packages/kafka/admin/client.py +++ b/venv/lib/python3.12/site-packages/kafka/admin/client.py @@ -1,10 +1,9 @@ -from __future__ import absolute_import, division +from __future__ import absolute_import from collections import defaultdict import copy import logging import socket -import time from . import ConfigResourceType from kafka.vendor import six @@ -15,16 +14,15 @@ from kafka.client_async import KafkaClient, selectors from kafka.coordinator.protocol import ConsumerProtocolMemberMetadata, ConsumerProtocolMemberAssignment, ConsumerProtocol import kafka.errors as Errors from kafka.errors import ( - IncompatibleBrokerVersion, KafkaConfigurationError, UnknownTopicOrPartitionError, + IncompatibleBrokerVersion, KafkaConfigurationError, NotControllerError, UnrecognizedBrokerVersion, IllegalArgumentError) -from kafka.future import Future from kafka.metrics import MetricConfig, Metrics from kafka.protocol.admin import ( CreateTopicsRequest, DeleteTopicsRequest, DescribeConfigsRequest, AlterConfigsRequest, CreatePartitionsRequest, ListGroupsRequest, DescribeGroupsRequest, DescribeAclsRequest, CreateAclsRequest, DeleteAclsRequest, - DeleteGroupsRequest, DeleteRecordsRequest, DescribeLogDirsRequest, ElectLeadersRequest, ElectionType) -from kafka.protocol.commit import OffsetFetchRequest -from kafka.protocol.find_coordinator import FindCoordinatorRequest + DeleteGroupsRequest +) +from kafka.protocol.commit import GroupCoordinatorRequest, OffsetFetchRequest from kafka.protocol.metadata import MetadataRequest from kafka.protocol.types import Array from kafka.structs import TopicPartition, OffsetAndMetadata, MemberInformation, GroupInformation @@ -74,7 +72,7 @@ class KafkaAdminClient(object): reconnection attempts will continue periodically with this fixed rate. To avoid connection storms, a randomization factor of 0.2 will be applied to the backoff resulting in a random range between - 20% below and 20% above the computed value. Default: 30000. + 20% below and 20% above the computed value. Default: 1000. request_timeout_ms (int): Client request timeout in milliseconds. Default: 30000. connections_max_idle_ms: Close idle connections after the number of @@ -142,17 +140,13 @@ class KafkaAdminClient(object): Required if sasl_mechanism is PLAIN or one of the SCRAM mechanisms. sasl_plain_password (str): password for sasl PLAIN and SCRAM authentication. Required if sasl_mechanism is PLAIN or one of the SCRAM mechanisms. - sasl_kerberos_name (str or gssapi.Name): Constructed gssapi.Name for use with - sasl mechanism handshake. If provided, sasl_kerberos_service_name and - sasl_kerberos_domain name are ignored. Default: None. sasl_kerberos_service_name (str): Service name to include in GSSAPI sasl mechanism handshake. Default: 'kafka' sasl_kerberos_domain_name (str): kerberos domain name to use in GSSAPI sasl mechanism handshake. Default: one of bootstrap servers - sasl_oauth_token_provider (kafka.sasl.oauth.AbstractTokenProvider): OAuthBearer - token provider instance. Default: None - socks5_proxy (str): Socks5 proxy url. Default: None - kafka_client (callable): Custom class / callable for creating KafkaClient instances + sasl_oauth_token_provider (AbstractTokenProvider): OAuthBearer token provider + instance. (See kafka.oauth.abstract). Default: None + """ DEFAULT_CONFIG = { # client configs @@ -161,7 +155,7 @@ class KafkaAdminClient(object): 'request_timeout_ms': 30000, 'connections_max_idle_ms': 9 * 60 * 1000, 'reconnect_backoff_ms': 50, - 'reconnect_backoff_max_ms': 30000, + 'reconnect_backoff_max_ms': 1000, 'max_in_flight_requests_per_connection': 5, 'receive_buffer_bytes': None, 'send_buffer_bytes': None, @@ -184,17 +178,14 @@ class KafkaAdminClient(object): 'sasl_mechanism': None, 'sasl_plain_username': None, 'sasl_plain_password': None, - 'sasl_kerberos_name': None, 'sasl_kerberos_service_name': 'kafka', 'sasl_kerberos_domain_name': None, 'sasl_oauth_token_provider': None, - 'socks5_proxy': None, # metrics configs 'metric_reporters': [], 'metrics_num_samples': 2, 'metrics_sample_window_ms': 30000, - 'kafka_client': KafkaClient, } def __init__(self, **configs): @@ -214,14 +205,14 @@ class KafkaAdminClient(object): reporters = [reporter() for reporter in self.config['metric_reporters']] self._metrics = Metrics(metric_config, reporters) - self._client = self.config['kafka_client']( - metrics=self._metrics, - metric_group_prefix='admin', - **self.config - ) + self._client = KafkaClient(metrics=self._metrics, + metric_group_prefix='admin', + **self.config) + self._client.check_version(timeout=(self.config['api_version_auto_timeout_ms'] / 1000)) # Get auto-discovered version from client if necessary - self.config['api_version'] = self._client.config['api_version'] + if self.config['api_version'] is None: + self.config['api_version'] = self._client.config['api_version'] self._closed = False self._refresh_controller_id() @@ -238,44 +229,58 @@ class KafkaAdminClient(object): self._closed = True log.debug("KafkaAdminClient is now closed.") + def _matching_api_version(self, operation): + """Find the latest version of the protocol operation supported by both + this library and the broker. + + This resolves to the lesser of either the latest api version this + library supports, or the max version supported by the broker. + + :param operation: A list of protocol operation versions from kafka.protocol. + :return: The max matching version number between client and broker. + """ + broker_api_versions = self._client.get_api_versions() + api_key = operation[0].API_KEY + if broker_api_versions is None or api_key not in broker_api_versions: + raise IncompatibleBrokerVersion( + "Kafka broker does not support the '{}' Kafka protocol." + .format(operation[0].__name__)) + min_version, max_version = broker_api_versions[api_key] + version = min(len(operation) - 1, max_version) + if version < min_version: + # max library version is less than min broker version. Currently, + # no Kafka versions specify a min msg version. Maybe in the future? + raise IncompatibleBrokerVersion( + "No version of the '{}' Kafka protocol is supported by both the client and broker." + .format(operation[0].__name__)) + return version + def _validate_timeout(self, timeout_ms): """Validate the timeout is set or use the configuration default. - Arguments: - timeout_ms: The timeout provided by api call, in milliseconds. - - Returns: - The timeout to use for the operation. + :param timeout_ms: The timeout provided by api call, in milliseconds. + :return: The timeout to use for the operation. """ return timeout_ms or self.config['request_timeout_ms'] - def _refresh_controller_id(self, timeout_ms=30000): + def _refresh_controller_id(self): """Determine the Kafka cluster controller.""" - version = self._client.api_version(MetadataRequest, max_version=6) + version = self._matching_api_version(MetadataRequest) if 1 <= version <= 6: - timeout_at = time.time() + timeout_ms / 1000 - while time.time() < timeout_at: - request = MetadataRequest[version]() - future = self._send_request_to_node(self._client.least_loaded_node(), request) + request = MetadataRequest[version]() + future = self._send_request_to_node(self._client.least_loaded_node(), request) - self._wait_for_futures([future]) + self._wait_for_futures([future]) - response = future.value - controller_id = response.controller_id - if controller_id == -1: - log.warning("Controller ID not available, got -1") - time.sleep(1) - continue - # verify the controller is new enough to support our requests - controller_version = self._client.check_version(node_id=controller_id) - if controller_version < (0, 10, 0): - raise IncompatibleBrokerVersion( - "The controller appears to be running Kafka {}. KafkaAdminClient requires brokers >= 0.10.0.0." - .format(controller_version)) - self._controller_id = controller_id - return - else: - raise Errors.NodeNotReadyError('controller') + response = future.value + controller_id = response.controller_id + # verify the controller is new enough to support our requests + controller_version = self._client.check_version(controller_id, timeout=(self.config['api_version_auto_timeout_ms'] / 1000)) + if controller_version < (0, 10, 0): + raise IncompatibleBrokerVersion( + "The controller appears to be running Kafka {}. KafkaAdminClient requires brokers >= 0.10.0.0." + .format(controller_version)) + self._controller_id = controller_id else: raise UnrecognizedBrokerVersion( "Kafka Admin interface cannot determine the controller using MetadataRequest_v{}." @@ -284,40 +289,43 @@ class KafkaAdminClient(object): def _find_coordinator_id_send_request(self, group_id): """Send a FindCoordinatorRequest to a broker. - Arguments: - group_id: The consumer group ID. This is typically the group + :param group_id: The consumer group ID. This is typically the group name as a string. - - Returns: - A message future + :return: A message future """ - version = self._client.api_version(FindCoordinatorRequest, max_version=2) + # TODO add support for dynamically picking version of + # GroupCoordinatorRequest which was renamed to FindCoordinatorRequest. + # When I experimented with this, the coordinator value returned in + # GroupCoordinatorResponse_v1 didn't match the value returned by + # GroupCoordinatorResponse_v0 and I couldn't figure out why. + version = 0 + # version = self._matching_api_version(GroupCoordinatorRequest) if version <= 0: - request = FindCoordinatorRequest[version](group_id) - elif version <= 2: - request = FindCoordinatorRequest[version](group_id, 0) + request = GroupCoordinatorRequest[version](group_id) else: raise NotImplementedError( - "Support for FindCoordinatorRequest_v{} has not yet been added to KafkaAdminClient." + "Support for GroupCoordinatorRequest_v{} has not yet been added to KafkaAdminClient." .format(version)) return self._send_request_to_node(self._client.least_loaded_node(), request) def _find_coordinator_id_process_response(self, response): """Process a FindCoordinatorResponse. - Arguments: - response: a FindCoordinatorResponse. - - Returns: - The node_id of the broker that is the coordinator. + :param response: a FindCoordinatorResponse. + :return: The node_id of the broker that is the coordinator. """ - error_type = Errors.for_code(response.error_code) - if error_type is not Errors.NoError: - # Note: When error_type.retriable, Java will retry... see - # KafkaAdminClient's handleFindCoordinatorError method - raise error_type( - "FindCoordinatorRequest failed with response '{}'." - .format(response)) + if response.API_VERSION <= 0: + error_type = Errors.for_code(response.error_code) + if error_type is not Errors.NoError: + # Note: When error_type.retriable, Java will retry... see + # KafkaAdminClient's handleFindCoordinatorError method + raise error_type( + "FindCoordinatorRequest failed with response '{}'." + .format(response)) + else: + raise NotImplementedError( + "Support for FindCoordinatorRequest_v{} has not yet been added to KafkaAdminClient." + .format(response.API_VERSION)) return response.coordinator_id def _find_coordinator_ids(self, group_ids): @@ -327,12 +335,9 @@ class KafkaAdminClient(object): Will block until the FindCoordinatorResponse is received for all groups. Any errors are immediately raised. - Arguments: - group_ids: A list of consumer group IDs. This is typically the group + :param group_ids: A list of consumer group IDs. This is typically the group name as a string. - - Returns: - A dict of {group_id: node_id} where node_id is the id of the + :return: A dict of {group_id: node_id} where node_id is the id of the broker that is the coordinator for the corresponding group. """ groups_futures = { @@ -346,36 +351,29 @@ class KafkaAdminClient(object): } return groups_coordinators - def _send_request_to_node(self, node_id, request, wakeup=True): + def _send_request_to_node(self, node_id, request): """Send a Kafka protocol message to a specific broker. - Arguments: - node_id: The broker id to which to send the message. - request: The message to send. + Returns a future that may be polled for status and results. - - Keyword Arguments: - wakeup (bool, optional): Optional flag to disable thread-wakeup. - - Returns: - A future object that may be polled for status and results. + :param node_id: The broker id to which to send the message. + :param request: The message to send. + :return: A future object that may be polled for status and results. + :exception: The exception if the message could not be sent. """ - try: - self._client.await_ready(node_id) - except Errors.KafkaConnectionError as e: - return Future().failure(e) - return self._client.send(node_id, request, wakeup) + while not self._client.ready(node_id): + # poll until the connection to broker is ready, otherwise send() + # will fail with NodeNotReadyError + self._client.poll() + return self._client.send(node_id, request) def _send_request_to_controller(self, request): """Send a Kafka protocol message to the cluster controller. Will block until the message result is received. - Arguments: - request: The message to send. - - Returns: - The Kafka protocol response for the message. + :param request: The message to send. + :return: The Kafka protocol response for the message. """ tries = 2 # in case our cached self._controller_id is outdated while tries: @@ -391,70 +389,30 @@ class KafkaAdminClient(object): # So this is a little brittle in that it assumes all responses have # one of these attributes and that they always unpack into # (topic, error_code) tuples. - topic_error_tuples = getattr(response, 'topic_errors', getattr(response, 'topic_error_codes', None)) - if topic_error_tuples is not None: - success = self._parse_topic_request_response(topic_error_tuples, request, response, tries) - else: - # Leader Election request has a two layer error response (topic and partition) - success = self._parse_topic_partition_request_response(request, response, tries) - - if success: - return response - raise RuntimeError("This should never happen, please file a bug with full stacktrace if encountered") - - def _parse_topic_request_response(self, topic_error_tuples, request, response, tries): - # Also small py2/py3 compatibility -- py3 can ignore extra values - # during unpack via: for x, y, *rest in list_of_values. py2 cannot. - # So for now we have to map across the list and explicitly drop any - # extra values (usually the error_message) - for topic, error_code in map(lambda e: e[:2], topic_error_tuples): - error_type = Errors.for_code(error_code) - if tries and error_type is Errors.NotControllerError: - # No need to inspect the rest of the errors for - # non-retriable errors because NotControllerError should - # either be thrown for all errors or no errors. - self._refresh_controller_id() - return False - elif error_type is not Errors.NoError: - raise error_type( - "Request '{}' failed with response '{}'." - .format(request, response)) - return True - - def _parse_topic_partition_request_response(self, request, response, tries): - # Also small py2/py3 compatibility -- py3 can ignore extra values - # during unpack via: for x, y, *rest in list_of_values. py2 cannot. - # So for now we have to map across the list and explicitly drop any - # extra values (usually the error_message) - for topic, partition_results in response.replication_election_results: - for partition_id, error_code in map(lambda e: e[:2], partition_results): + topic_error_tuples = (response.topic_errors if hasattr(response, 'topic_errors') + else response.topic_error_codes) + # Also small py2/py3 compatibility -- py3 can ignore extra values + # during unpack via: for x, y, *rest in list_of_values. py2 cannot. + # So for now we have to map across the list and explicitly drop any + # extra values (usually the error_message) + for topic, error_code in map(lambda e: e[:2], topic_error_tuples): error_type = Errors.for_code(error_code) - if tries and error_type is Errors.NotControllerError: + if tries and error_type is NotControllerError: # No need to inspect the rest of the errors for # non-retriable errors because NotControllerError should # either be thrown for all errors or no errors. self._refresh_controller_id() - return False - elif error_type not in (Errors.NoError, Errors.ElectionNotNeededError): + break + elif error_type is not Errors.NoError: raise error_type( "Request '{}' failed with response '{}'." .format(request, response)) - return True + else: + return response + raise RuntimeError("This should never happen, please file a bug with full stacktrace if encountered") @staticmethod def _convert_new_topic_request(new_topic): - """ - Build the tuple required by CreateTopicsRequest from a NewTopic object. - - Arguments: - new_topic: A NewTopic instance containing name, partition count, replication factor, - replica assignments, and config entries. - - Returns: - A tuple in the form: - (topic_name, num_partitions, replication_factor, [(partition_id, [replicas])...], - [(config_key, config_value)...]) - """ return ( new_topic.name, new_topic.num_partitions, @@ -470,19 +428,14 @@ class KafkaAdminClient(object): def create_topics(self, new_topics, timeout_ms=None, validate_only=False): """Create new topics in the cluster. - Arguments: - new_topics: A list of NewTopic objects. - - Keyword Arguments: - timeout_ms (numeric, optional): Milliseconds to wait for new topics to be created - before the broker returns. - validate_only (bool, optional): If True, don't actually create new topics. - Not supported by all versions. Default: False - - Returns: - Appropriate version of CreateTopicResponse class. + :param new_topics: A list of NewTopic objects. + :param timeout_ms: Milliseconds to wait for new topics to be created + before the broker returns. + :param validate_only: If True, don't actually create new topics. + Not supported by all versions. Default: False + :return: Appropriate version of CreateTopicResponse class. """ - version = self._client.api_version(CreateTopicsRequest, max_version=3) + version = self._matching_api_version(CreateTopicsRequest) timeout_ms = self._validate_timeout(timeout_ms) if version == 0: if validate_only: @@ -510,17 +463,12 @@ class KafkaAdminClient(object): def delete_topics(self, topics, timeout_ms=None): """Delete topics from the cluster. - Arguments: - topics ([str]): A list of topic name strings. - - Keyword Arguments: - timeout_ms (numeric, optional): Milliseconds to wait for topics to be deleted - before the broker returns. - - Returns: - Appropriate version of DeleteTopicsResponse class. + :param topics: A list of topic name strings. + :param timeout_ms: Milliseconds to wait for topics to be deleted + before the broker returns. + :return: Appropriate version of DeleteTopicsResponse class. """ - version = self._client.api_version(DeleteTopicsRequest, max_version=3) + version = self._matching_api_version(DeleteTopicsRequest) timeout_ms = self._validate_timeout(timeout_ms) if version <= 3: request = DeleteTopicsRequest[version]( @@ -539,7 +487,7 @@ class KafkaAdminClient(object): """ topics == None means "get all topics" """ - version = self._client.api_version(MetadataRequest, max_version=5) + version = self._matching_api_version(MetadataRequest) if version <= 3: if auto_topic_creation: raise IncompatibleBrokerVersion( @@ -562,38 +510,16 @@ class KafkaAdminClient(object): return future.value def list_topics(self): - """Retrieve a list of all topic names in the cluster. - - Returns: - A list of topic name strings. - """ metadata = self._get_cluster_metadata(topics=None) obj = metadata.to_object() return [t['topic'] for t in obj['topics']] def describe_topics(self, topics=None): - """Fetch metadata for the specified topics or all topics if None. - - Keyword Arguments: - topics ([str], optional) A list of topic names. If None, metadata for all - topics is retrieved. - - Returns: - A list of dicts describing each topic (including partition info). - """ metadata = self._get_cluster_metadata(topics=topics) obj = metadata.to_object() return obj['topics'] def describe_cluster(self): - """ - Fetch cluster-wide metadata such as the list of brokers, the controller ID, - and the cluster ID. - - - Returns: - A dict with cluster-wide metadata, excluding topic details. - """ metadata = self._get_cluster_metadata() obj = metadata.to_object() obj.pop('topics') # We have 'describe_topics' for this @@ -601,15 +527,6 @@ class KafkaAdminClient(object): @staticmethod def _convert_describe_acls_response_to_acls(describe_response): - """Convert a DescribeAclsResponse into a list of ACL objects and a KafkaError. - - Arguments: - describe_response: The response object from the DescribeAclsRequest. - - Returns: - A tuple of (list_of_acl_objects, error) where error is an instance - of KafkaError (NoError if successful). - """ version = describe_response.API_VERSION error = Errors.for_code(describe_response.error_code) @@ -649,14 +566,11 @@ class KafkaAdminClient(object): The cluster must be configured with an authorizer for this to work, or you will get a SecurityDisabledError - Arguments: - acl_filter: an ACLFilter object - - Returns: - tuple of a list of matching ACL objects and a KafkaError (NoError if successful) + :param acl_filter: an ACLFilter object + :return: tuple of a list of matching ACL objects and a KafkaError (NoError if successful) """ - version = self._client.api_version(DescribeAclsRequest, max_version=1) + version = self._matching_api_version(DescribeAclsRequest) if version == 0: request = DescribeAclsRequest[version]( resource_type=acl_filter.resource_pattern.resource_type, @@ -698,14 +612,6 @@ class KafkaAdminClient(object): @staticmethod def _convert_create_acls_resource_request_v0(acl): - """Convert an ACL object into the CreateAclsRequest v0 format. - - Arguments: - acl: An ACL object with resource pattern and permissions. - - Returns: - A tuple: (resource_type, resource_name, principal, host, operation, permission_type). - """ return ( acl.resource_pattern.resource_type, @@ -718,14 +624,7 @@ class KafkaAdminClient(object): @staticmethod def _convert_create_acls_resource_request_v1(acl): - """Convert an ACL object into the CreateAclsRequest v1 format. - Arguments: - acl: An ACL object with resource pattern and permissions. - - Returns: - A tuple: (resource_type, resource_name, pattern_type, principal, host, operation, permission_type). - """ return ( acl.resource_pattern.resource_type, acl.resource_pattern.resource_name, @@ -738,19 +637,6 @@ class KafkaAdminClient(object): @staticmethod def _convert_create_acls_response_to_acls(acls, create_response): - """Parse CreateAclsResponse and correlate success/failure with original ACL objects. - - Arguments: - acls: A list of ACL objects that were requested for creation. - create_response: The broker's CreateAclsResponse object. - - Returns: - A dict with: - { - 'succeeded': [list of ACL objects successfully created], - 'failed': [(acl_object, KafkaError), ...] - } - """ version = create_response.API_VERSION creations_error = [] @@ -779,18 +665,15 @@ class KafkaAdminClient(object): This endpoint only accepts a list of concrete ACL objects, no ACLFilters. Throws TopicAlreadyExistsError if topic is already present. - Arguments: - acls: a list of ACL objects - - Returns: - dict of successes and failures + :param acls: a list of ACL objects + :return: dict of successes and failures """ for acl in acls: if not isinstance(acl, ACL): raise IllegalArgumentError("acls must contain ACL objects") - version = self._client.api_version(CreateAclsRequest, max_version=1) + version = self._matching_api_version(CreateAclsRequest) if version == 0: request = CreateAclsRequest[version]( creations=[self._convert_create_acls_resource_request_v0(acl) for acl in acls] @@ -813,14 +696,6 @@ class KafkaAdminClient(object): @staticmethod def _convert_delete_acls_resource_request_v0(acl): - """Convert an ACLFilter object into the DeleteAclsRequest v0 format. - - Arguments: - acl: An ACLFilter object identifying the ACLs to be deleted. - - Returns: - A tuple: (resource_type, resource_name, principal, host, operation, permission_type). - """ return ( acl.resource_pattern.resource_type, acl.resource_pattern.resource_name, @@ -832,14 +707,6 @@ class KafkaAdminClient(object): @staticmethod def _convert_delete_acls_resource_request_v1(acl): - """Convert an ACLFilter object into the DeleteAclsRequest v1 format. - - Arguments: - acl: An ACLFilter object identifying the ACLs to be deleted. - - Returns: - A tuple: (resource_type, resource_name, pattern_type, principal, host, operation, permission_type). - """ return ( acl.resource_pattern.resource_type, acl.resource_pattern.resource_name, @@ -852,16 +719,6 @@ class KafkaAdminClient(object): @staticmethod def _convert_delete_acls_response_to_matching_acls(acl_filters, delete_response): - """Parse the DeleteAclsResponse and map the results back to each input ACLFilter. - - Arguments: - acl_filters: A list of ACLFilter objects that were provided in the request. - delete_response: The response from the DeleteAclsRequest. - - Returns: - A list of tuples of the form: - (acl_filter, [(matching_acl, KafkaError), ...], filter_level_error). - """ version = delete_response.API_VERSION filter_result_list = [] for i, filter_responses in enumerate(delete_response.filter_responses): @@ -900,11 +757,8 @@ class KafkaAdminClient(object): Deletes all ACLs matching the list of input ACLFilter - Arguments: - acl_filters: a list of ACLFilter - - Returns: - a list of 3-tuples corresponding to the list of input filters. + :param acl_filters: a list of ACLFilter + :return: a list of 3-tuples corresponding to the list of input filters. The tuples hold (the input ACLFilter, list of affected ACLs, KafkaError instance) """ @@ -912,7 +766,7 @@ class KafkaAdminClient(object): if not isinstance(acl, ACLFilter): raise IllegalArgumentError("acl_filters must contain ACLFilter type objects") - version = self._client.api_version(DeleteAclsRequest, max_version=1) + version = self._matching_api_version(DeleteAclsRequest) if version == 0: request = DeleteAclsRequest[version]( @@ -936,14 +790,6 @@ class KafkaAdminClient(object): @staticmethod def _convert_describe_config_resource_request(config_resource): - """Convert a ConfigResource into the format required by DescribeConfigsRequest. - - Arguments: - config_resource: A ConfigResource with resource_type, name, and optional config keys. - - Returns: - A tuple: (resource_type, resource_name, [list_of_config_keys] or None). - """ return ( config_resource.resource_type, config_resource.name, @@ -955,18 +801,13 @@ class KafkaAdminClient(object): def describe_configs(self, config_resources, include_synonyms=False): """Fetch configuration parameters for one or more Kafka resources. - Arguments: - config_resources: An list of ConfigResource objects. - Any keys in ConfigResource.configs dict will be used to filter the - result. Setting the configs dict to None will get all values. An - empty dict will get zero values (as per Kafka protocol). - - Keyword Arguments: - include_synonyms (bool, optional): If True, return synonyms in response. Not - supported by all versions. Default: False. - - Returns: - Appropriate version of DescribeConfigsResponse class. + :param config_resources: An list of ConfigResource objects. + Any keys in ConfigResource.configs dict will be used to filter the + result. Setting the configs dict to None will get all values. An + empty dict will get zero values (as per Kafka protocol). + :param include_synonyms: If True, return synonyms in response. Not + supported by all versions. Default: False. + :return: Appropriate version of DescribeConfigsResponse class. """ # Break up requests by type - a broker config request must be sent to the specific broker. @@ -981,7 +822,7 @@ class KafkaAdminClient(object): topic_resources.append(self._convert_describe_config_resource_request(config_resource)) futures = [] - version = self._client.api_version(DescribeConfigsRequest, max_version=2) + version = self._matching_api_version(DescribeConfigsRequest) if version == 0: if include_synonyms: raise IncompatibleBrokerVersion( @@ -1035,14 +876,6 @@ class KafkaAdminClient(object): @staticmethod def _convert_alter_config_resource_request(config_resource): - """Convert a ConfigResource into the format required by AlterConfigsRequest. - - Arguments: - config_resource: A ConfigResource with resource_type, name, and config (key, value) pairs. - - Returns: - A tuple: (resource_type, resource_name, [(config_key, config_value), ...]). - """ return ( config_resource.resource_type, config_resource.name, @@ -1060,13 +893,10 @@ class KafkaAdminClient(object): least-loaded node. See the comment in the source code for details. We would happily accept a PR fixing this. - Arguments: - config_resources: A list of ConfigResource objects. - - Returns: - Appropriate version of AlterConfigsResponse class. + :param config_resources: A list of ConfigResource objects. + :return: Appropriate version of AlterConfigsResponse class. """ - version = self._client.api_version(AlterConfigsRequest, max_version=1) + version = self._matching_api_version(AlterConfigsRequest) if version <= 1: request = AlterConfigsRequest[version]( resources=[self._convert_alter_config_resource_request(config_resource) for config_resource in config_resources] @@ -1095,15 +925,6 @@ class KafkaAdminClient(object): @staticmethod def _convert_create_partitions_request(topic_name, new_partitions): - """Convert a NewPartitions object into the tuple format for CreatePartitionsRequest. - - Arguments: - topic_name: The name of the existing topic. - new_partitions: A NewPartitions instance with total_count and new_assignments. - - Returns: - A tuple: (topic_name, (total_count, [list_of_assignments])). - """ return ( topic_name, ( @@ -1115,19 +936,14 @@ class KafkaAdminClient(object): def create_partitions(self, topic_partitions, timeout_ms=None, validate_only=False): """Create additional partitions for an existing topic. - Arguments: - topic_partitions: A map of topic name strings to NewPartition objects. - - Keyword Arguments: - timeout_ms (numeric, optional): Milliseconds to wait for new partitions to be - created before the broker returns. - validate_only (bool, optional): If True, don't actually create new partitions. - Default: False - - Returns: - Appropriate version of CreatePartitionsResponse class. + :param topic_partitions: A map of topic name strings to NewPartition objects. + :param timeout_ms: Milliseconds to wait for new partitions to be + created before the broker returns. + :param validate_only: If True, don't actually create new partitions. + Default: False + :return: Appropriate version of CreatePartitionsResponse class. """ - version = self._client.api_version(CreatePartitionsRequest, max_version=1) + version = self._matching_api_version(CreatePartitionsRequest) timeout_ms = self._validate_timeout(timeout_ms) if version <= 1: request = CreatePartitionsRequest[version]( @@ -1141,118 +957,8 @@ class KafkaAdminClient(object): .format(version)) return self._send_request_to_controller(request) - def _get_leader_for_partitions(self, partitions, timeout_ms=None): - """Finds ID of the leader node for every given topic partition. - - Will raise UnknownTopicOrPartitionError if for some partition no leader can be found. - - :param partitions: ``[TopicPartition]``: partitions for which to find leaders. - :param timeout_ms: ``float``: Timeout in milliseconds, if None (default), will be read from - config. - - :return: Dictionary with ``{leader_id -> {partitions}}`` - """ - timeout_ms = self._validate_timeout(timeout_ms) - - partitions = set(partitions) - topics = set(tp.topic for tp in partitions) - - response = self._get_cluster_metadata(topics=topics).to_object() - - leader2partitions = defaultdict(list) - valid_partitions = set() - for topic in response.get("topics", ()): - for partition in topic.get("partitions", ()): - t2p = TopicPartition(topic=topic["topic"], partition=partition["partition"]) - if t2p in partitions: - leader2partitions[partition["leader"]].append(t2p) - valid_partitions.add(t2p) - - if len(partitions) != len(valid_partitions): - unknown = set(partitions) - valid_partitions - raise UnknownTopicOrPartitionError( - "The following partitions are not known: %s" - % ", ".join(str(x) for x in unknown) - ) - - return leader2partitions - - def delete_records(self, records_to_delete, timeout_ms=None, partition_leader_id=None): - """Delete records whose offset is smaller than the given offset of the corresponding partition. - - :param records_to_delete: ``{TopicPartition: int}``: The earliest available offsets for the - given partitions. - :param timeout_ms: ``float``: Timeout in milliseconds, if None (default), will be read from - config. - :param partition_leader_id: ``str``: If specified, all deletion requests will be sent to - this node. No check is performed verifying that this is indeed the leader for all - listed partitions: use with caution. - - :return: Dictionary {topicPartition -> metadata}, where metadata is returned by the broker. - See DeleteRecordsResponse for possible fields. error_code for all partitions is - guaranteed to be zero, otherwise an exception is raised. - """ - timeout_ms = self._validate_timeout(timeout_ms) - responses = [] - version = self._client.api_version(DeleteRecordsRequest, max_version=0) - if version is None: - raise IncompatibleBrokerVersion("Broker does not support DeleteGroupsRequest") - - # We want to make as few requests as possible - # If a single node serves as a partition leader for multiple partitions (and/or - # topics), we can send all of those in a single request. - # For that we store {leader -> {partitions for leader}}, and do 1 request per leader - if partition_leader_id is None: - leader2partitions = self._get_leader_for_partitions( - set(records_to_delete), timeout_ms - ) - else: - leader2partitions = {partition_leader_id: set(records_to_delete)} - - for leader, partitions in leader2partitions.items(): - topic2partitions = defaultdict(list) - for partition in partitions: - topic2partitions[partition.topic].append(partition) - - request = DeleteRecordsRequest[version]( - topics=[ - (topic, [(tp.partition, records_to_delete[tp]) for tp in partitions]) - for topic, partitions in topic2partitions.items() - ], - timeout_ms=timeout_ms - ) - future = self._send_request_to_node(leader, request) - self._wait_for_futures([future]) - - responses.append(future.value.to_object()) - - partition2result = {} - partition2error = {} - for response in responses: - for topic in response["topics"]: - for partition in topic["partitions"]: - tp = TopicPartition(topic["name"], partition["partition_index"]) - partition2result[tp] = partition - if partition["error_code"] != 0: - partition2error[tp] = partition["error_code"] - - if partition2error: - if len(partition2error) == 1: - key, error = next(iter(partition2error.items())) - raise Errors.for_code(error)( - "Error deleting records from topic %s partition %s" % (key.topic, key.partition) - ) - else: - raise Errors.BrokerResponseError( - "The following errors occured when trying to delete records: " + - ", ".join( - "%s(partition=%d): %s" % - (partition.topic, partition.partition, Errors.for_code(error).__name__) - for partition, error in partition2error.items() - ) - ) - - return partition2result + # delete records protocol not yet implemented + # Note: send the request to the partition leaders # create delegation token protocol not yet implemented # Note: send the request to the least_loaded_node() @@ -1269,14 +975,12 @@ class KafkaAdminClient(object): def _describe_consumer_groups_send_request(self, group_id, group_coordinator_id, include_authorized_operations=False): """Send a DescribeGroupsRequest to the group's coordinator. - Arguments: - group_id: The group name as a string - group_coordinator_id: The node_id of the groups' coordinator broker. - - Returns: - A message future. + :param group_id: The group name as a string + :param group_coordinator_id: The node_id of the groups' coordinator + broker. + :return: A message future. """ - version = self._client.api_version(DescribeGroupsRequest, max_version=3) + version = self._matching_api_version(DescribeGroupsRequest) if version <= 2: if include_authorized_operations: raise IncompatibleBrokerVersion( @@ -1357,23 +1061,18 @@ class KafkaAdminClient(object): Any errors are immediately raised. - Arguments: - group_ids: A list of consumer group IDs. These are typically the - group names as strings. - - Keyword Arguments: - group_coordinator_id (int, optional): The node_id of the groups' coordinator - broker. If set to None, it will query the cluster for each group to - find that group's coordinator. Explicitly specifying this can be - useful for avoiding extra network round trips if you already know - the group coordinator. This is only useful when all the group_ids - have the same coordinator, otherwise it will error. Default: None. - include_authorized_operations (bool, optional): Whether or not to include - information about the operations a group is allowed to perform. - Only supported on API version >= v3. Default: False. - - Returns: - A list of group descriptions. For now the group descriptions + :param group_ids: A list of consumer group IDs. These are typically the + group names as strings. + :param group_coordinator_id: The node_id of the groups' coordinator + broker. If set to None, it will query the cluster for each group to + find that group's coordinator. Explicitly specifying this can be + useful for avoiding extra network round trips if you already know + the group coordinator. This is only useful when all the group_ids + have the same coordinator, otherwise it will error. Default: None. + :param include_authorized_operations: Whether or not to include + information about the operations a group is allowed to perform. + Only supported on API version >= v3. Default: False. + :return: A list of group descriptions. For now the group descriptions are the raw results from the DescribeGroupsResponse. Long-term, we plan to change this to return namedtuples as well as decoding the partition assignments. @@ -1404,13 +1103,10 @@ class KafkaAdminClient(object): def _list_consumer_groups_send_request(self, broker_id): """Send a ListGroupsRequest to a broker. - Arguments: - broker_id (int): The broker's node_id. - - Returns: - A message future + :param broker_id: The broker's node_id. + :return: A message future """ - version = self._client.api_version(ListGroupsRequest, max_version=2) + version = self._matching_api_version(ListGroupsRequest) if version <= 2: request = ListGroupsRequest[version]() else: @@ -1448,20 +1144,15 @@ class KafkaAdminClient(object): As soon as any error is encountered, it is immediately raised. - Keyword Arguments: - broker_ids ([int], optional): A list of broker node_ids to query for consumer - groups. If set to None, will query all brokers in the cluster. - Explicitly specifying broker(s) can be useful for determining which - consumer groups are coordinated by those broker(s). Default: None - - Returns: - list: List of tuples of Consumer Groups. - - Raises: - CoordinatorNotAvailableError: The coordinator is not - available, so cannot process requests. - CoordinatorLoadInProgressError: The coordinator is loading and - hence can't process requests. + :param broker_ids: A list of broker node_ids to query for consumer + groups. If set to None, will query all brokers in the cluster. + Explicitly specifying broker(s) can be useful for determining which + consumer groups are coordinated by those broker(s). Default: None + :return list: List of tuples of Consumer Groups. + :exception GroupCoordinatorNotAvailableError: The coordinator is not + available, so cannot process requests. + :exception GroupLoadInProgressError: The coordinator is loading and + hence can't process requests. """ # While we return a list, internally use a set to prevent duplicates # because if a group coordinator fails after being queried, and its @@ -1481,20 +1172,13 @@ class KafkaAdminClient(object): group_coordinator_id, partitions=None): """Send an OffsetFetchRequest to a broker. - Arguments: - group_id (str): The consumer group id name for which to fetch offsets. - group_coordinator_id (int): The node_id of the group's coordinator broker. - - Keyword Arguments: - partitions: A list of TopicPartitions for which to fetch - offsets. On brokers >= 0.10.2, this can be set to None to fetch all - known offsets for the consumer group. Default: None. - - Returns: - A message future + :param group_id: The consumer group id name for which to fetch offsets. + :param group_coordinator_id: The node_id of the group's coordinator + broker. + :return: A message future """ - version = self._client.api_version(OffsetFetchRequest, max_version=5) - if version <= 5: + version = self._matching_api_version(OffsetFetchRequest) + if version <= 3: if partitions is None: if version <= 1: raise ValueError( @@ -1519,14 +1203,11 @@ class KafkaAdminClient(object): def _list_consumer_group_offsets_process_response(self, response): """Process an OffsetFetchResponse. - Arguments: - response: an OffsetFetchResponse. - - Returns: - A dictionary composed of TopicPartition keys and - OffsetAndMetadata values. + :param response: an OffsetFetchResponse. + :return: A dictionary composed of TopicPartition keys and + OffsetAndMetada values. """ - if response.API_VERSION <= 5: + if response.API_VERSION <= 3: # OffsetFetchResponse_v1 lacks a top-level error_code if response.API_VERSION > 1: @@ -1538,21 +1219,16 @@ class KafkaAdminClient(object): .format(response)) # transform response into a dictionary with TopicPartition keys and - # OffsetAndMetadata values--this is what the Java AdminClient returns + # OffsetAndMetada values--this is what the Java AdminClient returns offsets = {} for topic, partitions in response.topics: - for partition_data in partitions: - if response.API_VERSION <= 4: - partition, offset, metadata, error_code = partition_data - leader_epoch = -1 - else: - partition, offset, leader_epoch, metadata, error_code = partition_data + for partition, offset, metadata, error_code in partitions: error_type = Errors.for_code(error_code) if error_type is not Errors.NoError: raise error_type( "Unable to fetch consumer group offsets for topic {}, partition {}" .format(topic, partition)) - offsets[TopicPartition(topic, partition)] = OffsetAndMetadata(offset, metadata, leader_epoch) + offsets[TopicPartition(topic, partition)] = OffsetAndMetadata(offset, metadata) else: raise NotImplementedError( "Support for OffsetFetchResponse_v{} has not yet been added to KafkaAdminClient." @@ -1569,22 +1245,17 @@ class KafkaAdminClient(object): As soon as any error is encountered, it is immediately raised. - Arguments: - group_id (str): The consumer group id name for which to fetch offsets. - - Keyword Arguments: - group_coordinator_id (int, optional): The node_id of the group's coordinator - broker. If set to None, will query the cluster to find the group - coordinator. Explicitly specifying this can be useful to prevent - that extra network round trip if you already know the group - coordinator. Default: None. - partitions: A list of TopicPartitions for which to fetch - offsets. On brokers >= 0.10.2, this can be set to None to fetch all - known offsets for the consumer group. Default: None. - - Returns: - dictionary: A dictionary with TopicPartition keys and - OffsetAndMetadata values. Partitions that are not specified and for + :param group_id: The consumer group id name for which to fetch offsets. + :param group_coordinator_id: The node_id of the group's coordinator + broker. If set to None, will query the cluster to find the group + coordinator. Explicitly specifying this can be useful to prevent + that extra network round trip if you already know the group + coordinator. Default: None. + :param partitions: A list of TopicPartitions for which to fetch + offsets. On brokers >= 0.10.2, this can be set to None to fetch all + known offsets for the consumer group. Default: None. + :return dictionary: A dictionary with TopicPartition keys and + OffsetAndMetada values. Partitions that are not specified and for which the group_id does not have a recorded offset are omitted. An offset value of `-1` indicates the group_id has no offset for that TopicPartition. A `-1` can only happen for partitions that are @@ -1607,19 +1278,14 @@ class KafkaAdminClient(object): The result needs checking for potential errors. - Arguments: - group_ids ([str]): The consumer group ids of the groups which are to be deleted. - - Keyword Arguments: - group_coordinator_id (int, optional): The node_id of the broker which is - the coordinator for all the groups. Use only if all groups are coordinated - by the same broker. If set to None, will query the cluster to find the coordinator - for every single group. Explicitly specifying this can be useful to prevent - that extra network round trips if you already know the group coordinator. - Default: None. - - Returns: - A list of tuples (group_id, KafkaError) + :param group_ids: The consumer group ids of the groups which are to be deleted. + :param group_coordinator_id: The node_id of the broker which is the coordinator for + all the groups. Use only if all groups are coordinated by the same broker. + If set to None, will query the cluster to find the coordinator for every single group. + Explicitly specifying this can be useful to prevent + that extra network round trips if you already know the group + coordinator. Default: None. + :return: A list of tuples (group_id, KafkaError) """ if group_coordinator_id is not None: futures = [self._delete_consumer_groups_send_request(group_ids, group_coordinator_id)] @@ -1640,14 +1306,6 @@ class KafkaAdminClient(object): return results def _convert_delete_groups_response(self, response): - """Parse the DeleteGroupsResponse, mapping group IDs to their respective errors. - - Arguments: - response: A DeleteGroupsResponse object from the broker. - - Returns: - A list of (group_id, KafkaError) for each deleted group. - """ if response.API_VERSION <= 1: results = [] for group_id, error_code in response.results: @@ -1659,16 +1317,14 @@ class KafkaAdminClient(object): .format(response.API_VERSION)) def _delete_consumer_groups_send_request(self, group_ids, group_coordinator_id): - """Send a DeleteGroupsRequest to the specified broker (the group coordinator). + """Send a DeleteGroups request to a broker. - Arguments: - group_ids ([str]): A list of consumer group IDs to be deleted. - group_coordinator_id (int): The node_id of the broker coordinating these groups. - - Returns: - A future representing the in-flight DeleteGroupsRequest. + :param group_ids: The consumer group ids of the groups which are to be deleted. + :param group_coordinator_id: The node_id of the broker which is the coordinator for + all the groups. + :return: A message future """ - version = self._client.api_version(DeleteGroupsRequest, max_version=1) + version = self._matching_api_version(DeleteGroupsRequest) if version <= 1: request = DeleteGroupsRequest[version](group_ids) else: @@ -1677,80 +1333,10 @@ class KafkaAdminClient(object): .format(version)) return self._send_request_to_node(group_coordinator_id, request) - @staticmethod - def _convert_topic_partitions(topic_partitions): - return [ - ( - topic, - partition_ids - ) - for topic, partition_ids in topic_partitions.items() - ] - - def _get_all_topic_partitions(self): - return [ - ( - topic, - [partition_info.partition for partition_info in self._client.cluster._partitions[topic].values()] - ) - for topic in self._client.cluster.topics() - ] - - def _get_topic_partitions(self, topic_partitions): - if topic_partitions is None: - return self._get_all_topic_partitions() - return self._convert_topic_partitions(topic_partitions) - - def perform_leader_election(self, election_type, topic_partitions=None, timeout_ms=None): - """Perform leader election on the topic partitions. - - :param election_type: Type of election to attempt. 0 for Perferred, 1 for Unclean - :param topic_partitions: A map of topic name strings to partition ids list. - By default, will run on all topic partitions - :param timeout_ms: Milliseconds to wait for the leader election process to complete - before the broker returns. - - :return: Appropriate version of ElectLeadersResponse class. - """ - version = self._client.api_version(ElectLeadersRequest, max_version=1) - timeout_ms = self._validate_timeout(timeout_ms) - request = ElectLeadersRequest[version]( - election_type=ElectionType(election_type), - topic_partitions=self._get_topic_partitions(topic_partitions), - timeout=timeout_ms, - ) - # TODO convert structs to a more pythonic interface - return self._send_request_to_controller(request) - def _wait_for_futures(self, futures): - """Block until all futures complete. If any fail, raise the encountered exception. - - Arguments: - futures: A list of Future objects awaiting results. - - Raises: - The first encountered exception if a future fails. - """ while not all(future.succeeded() for future in futures): for future in futures: self._client.poll(future=future) if future.failed(): raise future.exception # pylint: disable-msg=raising-bad-type - - def describe_log_dirs(self): - """Send a DescribeLogDirsRequest request to a broker. - - Returns: - A message future - """ - version = self._client.api_version(DescribeLogDirsRequest, max_version=0) - if version <= 0: - request = DescribeLogDirsRequest[version]() - future = self._send_request_to_node(self._client.least_loaded_node(), request) - self._wait_for_futures([future]) - else: - raise NotImplementedError( - "Support for DescribeLogDirsRequest_v{} has not yet been added to KafkaAdminClient." - .format(version)) - return future.value diff --git a/venv/lib/python3.12/site-packages/kafka/benchmarks/consumer_performance.py b/venv/lib/python3.12/site-packages/kafka/benchmarks/consumer_performance.py deleted file mode 100644 index c35a164..0000000 --- a/venv/lib/python3.12/site-packages/kafka/benchmarks/consumer_performance.py +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/env python -# Adapted from https://github.com/mrafayaleem/kafka-jython - -from __future__ import absolute_import, print_function - -import argparse -import pprint -import sys -import threading -import time -import traceback - -from kafka import KafkaConsumer - - -class ConsumerPerformance(object): - @staticmethod - def run(args): - try: - props = {} - for prop in args.consumer_config: - k, v = prop.split('=') - try: - v = int(v) - except ValueError: - pass - if v == 'None': - v = None - elif v == 'False': - v = False - elif v == 'True': - v = True - props[k] = v - - print('Initializing Consumer...') - props['bootstrap_servers'] = args.bootstrap_servers - props['auto_offset_reset'] = 'earliest' - if 'group_id' not in props: - props['group_id'] = 'kafka-consumer-benchmark' - if 'consumer_timeout_ms' not in props: - props['consumer_timeout_ms'] = 10000 - props['metrics_sample_window_ms'] = args.stats_interval * 1000 - for k, v in props.items(): - print('---> {0}={1}'.format(k, v)) - consumer = KafkaConsumer(args.topic, **props) - print('---> group_id={0}'.format(consumer.config['group_id'])) - print('---> report stats every {0} secs'.format(args.stats_interval)) - print('---> raw metrics? {0}'.format(args.raw_metrics)) - timer_stop = threading.Event() - timer = StatsReporter(args.stats_interval, consumer, - event=timer_stop, - raw_metrics=args.raw_metrics) - timer.start() - print('-> OK!') - print() - - start_time = time.time() - records = 0 - for msg in consumer: - records += 1 - if records >= args.num_records: - break - - end_time = time.time() - timer_stop.set() - timer.join() - print('Consumed {0} records'.format(records)) - print('Execution time:', end_time - start_time, 'secs') - - except Exception: - exc_info = sys.exc_info() - traceback.print_exception(*exc_info) - sys.exit(1) - - -class StatsReporter(threading.Thread): - def __init__(self, interval, consumer, event=None, raw_metrics=False): - super(StatsReporter, self).__init__() - self.interval = interval - self.consumer = consumer - self.event = event - self.raw_metrics = raw_metrics - - def print_stats(self): - metrics = self.consumer.metrics() - if self.raw_metrics: - pprint.pprint(metrics) - else: - print('{records-consumed-rate} records/sec ({bytes-consumed-rate} B/sec),' - ' {fetch-latency-avg} latency,' - ' {fetch-rate} fetch/s,' - ' {fetch-size-avg} fetch size,' - ' {records-lag-max} max record lag,' - ' {records-per-request-avg} records/req' - .format(**metrics['consumer-fetch-manager-metrics'])) - - - def print_final(self): - self.print_stats() - - def run(self): - while self.event and not self.event.wait(self.interval): - self.print_stats() - else: - self.print_final() - - -def get_args_parser(): - parser = argparse.ArgumentParser( - description='This tool is used to verify the consumer performance.') - - parser.add_argument( - '--bootstrap-servers', type=str, nargs='+', default=(), - help='host:port for cluster bootstrap servers') - parser.add_argument( - '--topic', type=str, - help='Topic for consumer test (default: kafka-python-benchmark-test)', - default='kafka-python-benchmark-test') - parser.add_argument( - '--num-records', type=int, - help='number of messages to consume (default: 1000000)', - default=1000000) - parser.add_argument( - '--consumer-config', type=str, nargs='+', default=(), - help='kafka consumer related configuration properties like ' - 'bootstrap_servers,client_id etc..') - parser.add_argument( - '--fixture-compression', type=str, - help='specify a compression type for use with broker fixtures / producer') - parser.add_argument( - '--stats-interval', type=int, - help='Interval in seconds for stats reporting to console (default: 5)', - default=5) - parser.add_argument( - '--raw-metrics', action='store_true', - help='Enable this flag to print full metrics dict on each interval') - return parser - - -if __name__ == '__main__': - args = get_args_parser().parse_args() - ConsumerPerformance.run(args) diff --git a/venv/lib/python3.12/site-packages/kafka/benchmarks/load_example.py b/venv/lib/python3.12/site-packages/kafka/benchmarks/load_example.py deleted file mode 100644 index 29796a7..0000000 --- a/venv/lib/python3.12/site-packages/kafka/benchmarks/load_example.py +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/env python -from __future__ import print_function - -import argparse -import logging -import threading -import time - -from kafka import KafkaConsumer, KafkaProducer - - -class Producer(threading.Thread): - - def __init__(self, bootstrap_servers, topic, stop_event, msg_size): - super(Producer, self).__init__() - self.bootstrap_servers = bootstrap_servers - self.topic = topic - self.stop_event = stop_event - self.big_msg = b'1' * msg_size - - def run(self): - producer = KafkaProducer(bootstrap_servers=self.bootstrap_servers) - self.sent = 0 - - while not self.stop_event.is_set(): - producer.send(self.topic, self.big_msg) - self.sent += 1 - producer.flush() - producer.close() - - -class Consumer(threading.Thread): - def __init__(self, bootstrap_servers, topic, stop_event, msg_size): - super(Consumer, self).__init__() - self.bootstrap_servers = bootstrap_servers - self.topic = topic - self.stop_event = stop_event - self.msg_size = msg_size - - def run(self): - consumer = KafkaConsumer(bootstrap_servers=self.bootstrap_servers, - auto_offset_reset='earliest') - consumer.subscribe([self.topic]) - self.valid = 0 - self.invalid = 0 - - for message in consumer: - if len(message.value) == self.msg_size: - self.valid += 1 - else: - print('Invalid message:', len(message.value), self.msg_size) - self.invalid += 1 - - if self.stop_event.is_set(): - break - consumer.close() - - -def get_args_parser(): - parser = argparse.ArgumentParser( - description='This tool is used to demonstrate consumer and producer load.') - - parser.add_argument( - '--bootstrap-servers', type=str, nargs='+', default=('localhost:9092'), - help='host:port for cluster bootstrap servers (default: localhost:9092)') - parser.add_argument( - '--topic', type=str, - help='Topic for load test (default: kafka-python-benchmark-load-example)', - default='kafka-python-benchmark-load-example') - parser.add_argument( - '--msg-size', type=int, - help='Message size, in bytes, for load test (default: 524288)', - default=524288) - parser.add_argument( - '--load-time', type=int, - help='number of seconds to run load test (default: 10)', - default=10) - parser.add_argument( - '--log-level', type=str, - help='Optional logging level for load test: ERROR|INFO|DEBUG etc', - default=None) - return parser - - -def main(args): - if args.log_level: - logging.basicConfig( - format='%(asctime)s.%(msecs)s:%(name)s:%(thread)d:%(levelname)s:%(process)d:%(message)s', - level=getattr(logging, args.log_level)) - producer_stop = threading.Event() - consumer_stop = threading.Event() - threads = [ - Producer(args.bootstrap_servers, args.topic, producer_stop, args.msg_size), - Consumer(args.bootstrap_servers, args.topic, consumer_stop, args.msg_size) - ] - - for t in threads: - t.start() - - time.sleep(args.load_time) - producer_stop.set() - consumer_stop.set() - print('Messages sent: %d' % threads[0].sent) - print('Messages recvd: %d' % threads[1].valid) - print('Messages invalid: %d' % threads[1].invalid) - - -if __name__ == "__main__": - args = get_args_parser().parse_args() - main(args) diff --git a/venv/lib/python3.12/site-packages/kafka/benchmarks/producer_performance.py b/venv/lib/python3.12/site-packages/kafka/benchmarks/producer_performance.py deleted file mode 100644 index 1a10929..0000000 --- a/venv/lib/python3.12/site-packages/kafka/benchmarks/producer_performance.py +++ /dev/null @@ -1,153 +0,0 @@ -#!/usr/bin/env python -# Adapted from https://github.com/mrafayaleem/kafka-jython - -from __future__ import absolute_import, print_function - -import argparse -import pprint -import sys -import threading -import time -import traceback - -from kafka.vendor.six.moves import range - -from kafka import KafkaProducer - - -class ProducerPerformance(object): - @staticmethod - def run(args): - try: - props = {} - for prop in args.producer_config: - k, v = prop.split('=') - try: - v = int(v) - except ValueError: - pass - if v == 'None': - v = None - elif v == 'False': - v = False - elif v == 'True': - v = True - props[k] = v - - print('Initializing producer...') - props['bootstrap_servers'] = args.bootstrap_servers - record = bytes(bytearray(args.record_size)) - props['metrics_sample_window_ms'] = args.stats_interval * 1000 - - producer = KafkaProducer(**props) - for k, v in props.items(): - print('---> {0}={1}'.format(k, v)) - print('---> send {0} byte records'.format(args.record_size)) - print('---> report stats every {0} secs'.format(args.stats_interval)) - print('---> raw metrics? {0}'.format(args.raw_metrics)) - timer_stop = threading.Event() - timer = StatsReporter(args.stats_interval, producer, - event=timer_stop, - raw_metrics=args.raw_metrics) - timer.start() - print('-> OK!') - print() - - def _benchmark(): - results = [] - for i in range(args.num_records): - results.append(producer.send(topic=args.topic, value=record)) - print("Send complete...") - producer.flush() - producer.close() - count_success, count_failure = 0, 0 - for r in results: - if r.succeeded(): - count_success += 1 - elif r.failed(): - count_failure += 1 - else: - raise ValueError(r) - print("%d suceeded, %d failed" % (count_success, count_failure)) - - start_time = time.time() - _benchmark() - end_time = time.time() - timer_stop.set() - timer.join() - print('Execution time:', end_time - start_time, 'secs') - - except Exception: - exc_info = sys.exc_info() - traceback.print_exception(*exc_info) - sys.exit(1) - - -class StatsReporter(threading.Thread): - def __init__(self, interval, producer, event=None, raw_metrics=False): - super(StatsReporter, self).__init__() - self.interval = interval - self.producer = producer - self.event = event - self.raw_metrics = raw_metrics - - def print_stats(self): - metrics = self.producer.metrics() - if not metrics: - return - if self.raw_metrics: - pprint.pprint(metrics) - else: - print('{record-send-rate} records/sec ({byte-rate} B/sec),' - ' {request-latency-avg} latency,' - ' {record-size-avg} record size,' - ' {batch-size-avg} batch size,' - ' {records-per-request-avg} records/req' - .format(**metrics['producer-metrics'])) - - def print_final(self): - self.print_stats() - - def run(self): - while self.event and not self.event.wait(self.interval): - self.print_stats() - else: - self.print_final() - - -def get_args_parser(): - parser = argparse.ArgumentParser( - description='This tool is used to verify the producer performance.') - - parser.add_argument( - '--bootstrap-servers', type=str, nargs='+', default=(), - help='host:port for cluster bootstrap server') - parser.add_argument( - '--topic', type=str, - help='Topic name for test (default: kafka-python-benchmark-test)', - default='kafka-python-benchmark-test') - parser.add_argument( - '--num-records', type=int, - help='number of messages to produce (default: 1000000)', - default=1000000) - parser.add_argument( - '--record-size', type=int, - help='message size in bytes (default: 100)', - default=100) - parser.add_argument( - '--producer-config', type=str, nargs='+', default=(), - help='kafka producer related configuaration properties like ' - 'bootstrap_servers,client_id etc..') - parser.add_argument( - '--stats-interval', type=int, - help='Interval in seconds for stats reporting to console (default: 5)', - default=5) - parser.add_argument( - '--raw-metrics', action='store_true', - help='Enable this flag to print full metrics dict on each interval') - return parser - - -if __name__ == '__main__': - args = get_args_parser().parse_args() - ProducerPerformance.run(args) diff --git a/venv/lib/python3.12/site-packages/kafka/benchmarks/record_batch_compose.py b/venv/lib/python3.12/site-packages/kafka/benchmarks/record_batch_compose.py deleted file mode 100644 index 5b07fd5..0000000 --- a/venv/lib/python3.12/site-packages/kafka/benchmarks/record_batch_compose.py +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env python3 -from __future__ import print_function -import hashlib -import itertools -import os -import random - -import pyperf - -from kafka.record.memory_records import MemoryRecordsBuilder - - -DEFAULT_BATCH_SIZE = 1600 * 1024 -KEY_SIZE = 6 -VALUE_SIZE = 60 -TIMESTAMP_RANGE = [1505824130000, 1505824140000] - -# With values above v1 record is 100 bytes, so 10 000 bytes for 100 messages -MESSAGES_PER_BATCH = 100 - - -def random_bytes(length): - buffer = bytearray(length) - for i in range(length): - buffer[i] = random.randint(0, 255) - return bytes(buffer) - - -def prepare(): - return iter(itertools.cycle([ - (random_bytes(KEY_SIZE), - random_bytes(VALUE_SIZE), - random.randint(*TIMESTAMP_RANGE) - ) - for _ in range(int(MESSAGES_PER_BATCH * 1.94)) - ])) - - -def finalize(results): - # Just some strange code to make sure PyPy does execute the main code - # properly, without optimizing it away - hash_val = hashlib.md5() - for buf in results: - hash_val.update(buf) - print(hash_val, file=open(os.devnull, "w")) - - -def func(loops, magic): - # Jit can optimize out the whole function if the result is the same each - # time, so we need some randomized input data ) - precomputed_samples = prepare() - results = [] - - # Main benchmark code. - t0 = pyperf.perf_counter() - for _ in range(loops): - batch = MemoryRecordsBuilder( - magic, batch_size=DEFAULT_BATCH_SIZE, compression_type=0) - for _ in range(MESSAGES_PER_BATCH): - key, value, timestamp = next(precomputed_samples) - size = batch.append( - timestamp=timestamp, key=key, value=value) - assert size - batch.close() - results.append(batch.buffer()) - - res = pyperf.perf_counter() - t0 - - finalize(results) - - return res - - -if __name__ == '__main__': - runner = pyperf.Runner() - runner.bench_time_func('batch_append_v0', func, 0) - runner.bench_time_func('batch_append_v1', func, 1) - runner.bench_time_func('batch_append_v2', func, 2) diff --git a/venv/lib/python3.12/site-packages/kafka/benchmarks/record_batch_read.py b/venv/lib/python3.12/site-packages/kafka/benchmarks/record_batch_read.py deleted file mode 100644 index 2ef3229..0000000 --- a/venv/lib/python3.12/site-packages/kafka/benchmarks/record_batch_read.py +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env python -from __future__ import print_function -import hashlib -import itertools -import os -import random - -import pyperf - -from kafka.record.memory_records import MemoryRecords, MemoryRecordsBuilder - - -DEFAULT_BATCH_SIZE = 1600 * 1024 -KEY_SIZE = 6 -VALUE_SIZE = 60 -TIMESTAMP_RANGE = [1505824130000, 1505824140000] - -BATCH_SAMPLES = 5 -MESSAGES_PER_BATCH = 100 - - -def random_bytes(length): - buffer = bytearray(length) - for i in range(length): - buffer[i] = random.randint(0, 255) - return bytes(buffer) - - -def prepare(magic): - samples = [] - for _ in range(BATCH_SAMPLES): - batch = MemoryRecordsBuilder( - magic, batch_size=DEFAULT_BATCH_SIZE, compression_type=0) - for _ in range(MESSAGES_PER_BATCH): - size = batch.append( - random.randint(*TIMESTAMP_RANGE), - random_bytes(KEY_SIZE), - random_bytes(VALUE_SIZE), - headers=[]) - assert size - batch.close() - samples.append(bytes(batch.buffer())) - - return iter(itertools.cycle(samples)) - - -def finalize(results): - # Just some strange code to make sure PyPy does execute the code above - # properly - hash_val = hashlib.md5() - for buf in results: - hash_val.update(buf) - print(hash_val, file=open(os.devnull, "w")) - - -def func(loops, magic): - # Jit can optimize out the whole function if the result is the same each - # time, so we need some randomized input data ) - precomputed_samples = prepare(magic) - results = [] - - # Main benchmark code. - batch_data = next(precomputed_samples) - t0 = pyperf.perf_counter() - for _ in range(loops): - records = MemoryRecords(batch_data) - while records.has_next(): - batch = records.next_batch() - batch.validate_crc() - for record in batch: - results.append(record.value) - - res = pyperf.perf_counter() - t0 - finalize(results) - - return res - - -if __name__ == '__main__': - runner = pyperf.Runner() - runner.bench_time_func('batch_read_v0', func, 0) - runner.bench_time_func('batch_read_v1', func, 1) - runner.bench_time_func('batch_read_v2', func, 2) diff --git a/venv/lib/python3.12/site-packages/kafka/benchmarks/varint_speed.py b/venv/lib/python3.12/site-packages/kafka/benchmarks/varint_speed.py deleted file mode 100644 index b2628a1..0000000 --- a/venv/lib/python3.12/site-packages/kafka/benchmarks/varint_speed.py +++ /dev/null @@ -1,434 +0,0 @@ -#!/usr/bin/env python -from __future__ import print_function -import pyperf -from kafka.vendor import six - - -test_data = [ - (b"\x00", 0), - (b"\x01", -1), - (b"\x02", 1), - (b"\x7E", 63), - (b"\x7F", -64), - (b"\x80\x01", 64), - (b"\x81\x01", -65), - (b"\xFE\x7F", 8191), - (b"\xFF\x7F", -8192), - (b"\x80\x80\x01", 8192), - (b"\x81\x80\x01", -8193), - (b"\xFE\xFF\x7F", 1048575), - (b"\xFF\xFF\x7F", -1048576), - (b"\x80\x80\x80\x01", 1048576), - (b"\x81\x80\x80\x01", -1048577), - (b"\xFE\xFF\xFF\x7F", 134217727), - (b"\xFF\xFF\xFF\x7F", -134217728), - (b"\x80\x80\x80\x80\x01", 134217728), - (b"\x81\x80\x80\x80\x01", -134217729), - (b"\xFE\xFF\xFF\xFF\x7F", 17179869183), - (b"\xFF\xFF\xFF\xFF\x7F", -17179869184), - (b"\x80\x80\x80\x80\x80\x01", 17179869184), - (b"\x81\x80\x80\x80\x80\x01", -17179869185), - (b"\xFE\xFF\xFF\xFF\xFF\x7F", 2199023255551), - (b"\xFF\xFF\xFF\xFF\xFF\x7F", -2199023255552), - (b"\x80\x80\x80\x80\x80\x80\x01", 2199023255552), - (b"\x81\x80\x80\x80\x80\x80\x01", -2199023255553), - (b"\xFE\xFF\xFF\xFF\xFF\xFF\x7F", 281474976710655), - (b"\xFF\xFF\xFF\xFF\xFF\xFF\x7F", -281474976710656), - (b"\x80\x80\x80\x80\x80\x80\x80\x01", 281474976710656), - (b"\x81\x80\x80\x80\x80\x80\x80\x01", -281474976710657), - (b"\xFE\xFF\xFF\xFF\xFF\xFF\xFF\x7F", 36028797018963967), - (b"\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F", -36028797018963968), - (b"\x80\x80\x80\x80\x80\x80\x80\x80\x01", 36028797018963968), - (b"\x81\x80\x80\x80\x80\x80\x80\x80\x01", -36028797018963969), - (b"\xFE\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F", 4611686018427387903), - (b"\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x7F", -4611686018427387904), - (b"\x80\x80\x80\x80\x80\x80\x80\x80\x80\x01", 4611686018427387904), - (b"\x81\x80\x80\x80\x80\x80\x80\x80\x80\x01", -4611686018427387905), -] - - -BENCH_VALUES_ENC = [ - 60, # 1 byte - -8192, # 2 bytes - 1048575, # 3 bytes - 134217727, # 4 bytes - -17179869184, # 5 bytes - 2199023255551, # 6 bytes -] - -BENCH_VALUES_DEC = [ - b"\x7E", # 1 byte - b"\xFF\x7F", # 2 bytes - b"\xFE\xFF\x7F", # 3 bytes - b"\xFF\xFF\xFF\x7F", # 4 bytes - b"\x80\x80\x80\x80\x01", # 5 bytes - b"\xFE\xFF\xFF\xFF\xFF\x7F", # 6 bytes -] -BENCH_VALUES_DEC = list(map(bytearray, BENCH_VALUES_DEC)) - - -def _assert_valid_enc(enc_func): - for encoded, decoded in test_data: - assert enc_func(decoded) == encoded, decoded - - -def _assert_valid_dec(dec_func): - for encoded, decoded in test_data: - res, pos = dec_func(bytearray(encoded)) - assert res == decoded, (decoded, res) - assert pos == len(encoded), (decoded, pos) - - -def _assert_valid_size(size_func): - for encoded, decoded in test_data: - assert size_func(decoded) == len(encoded), decoded - - -def encode_varint_1(num): - """ Encode an integer to a varint presentation. See - https://developers.google.com/protocol-buffers/docs/encoding?csw=1#varints - on how those can be produced. - - Arguments: - num (int): Value to encode - - Returns: - bytearray: Encoded presentation of integer with length from 1 to 10 - bytes - """ - # Shift sign to the end of number - num = (num << 1) ^ (num >> 63) - # Max 10 bytes. We assert those are allocated - buf = bytearray(10) - - for i in range(10): - # 7 lowest bits from the number and set 8th if we still have pending - # bits left to encode - buf[i] = num & 0x7f | (0x80 if num > 0x7f else 0) - num = num >> 7 - if num == 0: - break - else: - # Max size of endcoded double is 10 bytes for unsigned values - raise ValueError("Out of double range") - return buf[:i + 1] - - -def encode_varint_2(value, int2byte=six.int2byte): - value = (value << 1) ^ (value >> 63) - - bits = value & 0x7f - value >>= 7 - res = b"" - while value: - res += int2byte(0x80 | bits) - bits = value & 0x7f - value >>= 7 - return res + int2byte(bits) - - -def encode_varint_3(value, buf): - append = buf.append - value = (value << 1) ^ (value >> 63) - - bits = value & 0x7f - value >>= 7 - while value: - append(0x80 | bits) - bits = value & 0x7f - value >>= 7 - append(bits) - return value - - -def encode_varint_4(value, int2byte=six.int2byte): - value = (value << 1) ^ (value >> 63) - - if value <= 0x7f: # 1 byte - return int2byte(value) - if value <= 0x3fff: # 2 bytes - return int2byte(0x80 | (value & 0x7f)) + int2byte(value >> 7) - if value <= 0x1fffff: # 3 bytes - return int2byte(0x80 | (value & 0x7f)) + \ - int2byte(0x80 | ((value >> 7) & 0x7f)) + \ - int2byte(value >> 14) - if value <= 0xfffffff: # 4 bytes - return int2byte(0x80 | (value & 0x7f)) + \ - int2byte(0x80 | ((value >> 7) & 0x7f)) + \ - int2byte(0x80 | ((value >> 14) & 0x7f)) + \ - int2byte(value >> 21) - if value <= 0x7ffffffff: # 5 bytes - return int2byte(0x80 | (value & 0x7f)) + \ - int2byte(0x80 | ((value >> 7) & 0x7f)) + \ - int2byte(0x80 | ((value >> 14) & 0x7f)) + \ - int2byte(0x80 | ((value >> 21) & 0x7f)) + \ - int2byte(value >> 28) - else: - # Return to general algorithm - bits = value & 0x7f - value >>= 7 - res = b"" - while value: - res += int2byte(0x80 | bits) - bits = value & 0x7f - value >>= 7 - return res + int2byte(bits) - - -def encode_varint_5(value, buf, pos=0): - value = (value << 1) ^ (value >> 63) - - bits = value & 0x7f - value >>= 7 - while value: - buf[pos] = 0x80 | bits - bits = value & 0x7f - value >>= 7 - pos += 1 - buf[pos] = bits - return pos + 1 - -def encode_varint_6(value, buf): - append = buf.append - value = (value << 1) ^ (value >> 63) - - if value <= 0x7f: # 1 byte - append(value) - return 1 - if value <= 0x3fff: # 2 bytes - append(0x80 | (value & 0x7f)) - append(value >> 7) - return 2 - if value <= 0x1fffff: # 3 bytes - append(0x80 | (value & 0x7f)) - append(0x80 | ((value >> 7) & 0x7f)) - append(value >> 14) - return 3 - if value <= 0xfffffff: # 4 bytes - append(0x80 | (value & 0x7f)) - append(0x80 | ((value >> 7) & 0x7f)) - append(0x80 | ((value >> 14) & 0x7f)) - append(value >> 21) - return 4 - if value <= 0x7ffffffff: # 5 bytes - append(0x80 | (value & 0x7f)) - append(0x80 | ((value >> 7) & 0x7f)) - append(0x80 | ((value >> 14) & 0x7f)) - append(0x80 | ((value >> 21) & 0x7f)) - append(value >> 28) - return 5 - else: - # Return to general algorithm - bits = value & 0x7f - value >>= 7 - i = 0 - while value: - append(0x80 | bits) - bits = value & 0x7f - value >>= 7 - i += 1 - append(bits) - return i - - -def size_of_varint_1(value): - """ Number of bytes needed to encode an integer in variable-length format. - """ - value = (value << 1) ^ (value >> 63) - res = 0 - while True: - res += 1 - value = value >> 7 - if value == 0: - break - return res - - -def size_of_varint_2(value): - """ Number of bytes needed to encode an integer in variable-length format. - """ - value = (value << 1) ^ (value >> 63) - if value <= 0x7f: - return 1 - if value <= 0x3fff: - return 2 - if value <= 0x1fffff: - return 3 - if value <= 0xfffffff: - return 4 - if value <= 0x7ffffffff: - return 5 - if value <= 0x3ffffffffff: - return 6 - if value <= 0x1ffffffffffff: - return 7 - if value <= 0xffffffffffffff: - return 8 - if value <= 0x7fffffffffffffff: - return 9 - return 10 - - -if six.PY3: - def _read_byte(memview, pos): - """ Read a byte from memoryview as an integer - - Raises: - IndexError: if position is out of bounds - """ - return memview[pos] -else: - def _read_byte(memview, pos): - """ Read a byte from memoryview as an integer - - Raises: - IndexError: if position is out of bounds - """ - return ord(memview[pos]) - - -def decode_varint_1(buffer, pos=0): - """ Decode an integer from a varint presentation. See - https://developers.google.com/protocol-buffers/docs/encoding?csw=1#varints - on how those can be produced. - - Arguments: - buffer (bytes-like): any object acceptable by ``memoryview`` - pos (int): optional position to read from - - Returns: - (int, int): Decoded int value and next read position - """ - value = 0 - shift = 0 - memview = memoryview(buffer) - for i in range(pos, pos + 10): - try: - byte = _read_byte(memview, i) - except IndexError: - raise ValueError("End of byte stream") - if byte & 0x80 != 0: - value |= (byte & 0x7f) << shift - shift += 7 - else: - value |= byte << shift - break - else: - # Max size of endcoded double is 10 bytes for unsigned values - raise ValueError("Out of double range") - # Normalize sign - return (value >> 1) ^ -(value & 1), i + 1 - - -def decode_varint_2(buffer, pos=0): - result = 0 - shift = 0 - while 1: - b = buffer[pos] - result |= ((b & 0x7f) << shift) - pos += 1 - if not (b & 0x80): - # result = result_type(() & mask) - return ((result >> 1) ^ -(result & 1), pos) - shift += 7 - if shift >= 64: - raise ValueError("Out of int64 range") - - -def decode_varint_3(buffer, pos=0): - result = buffer[pos] - if not (result & 0x81): - return (result >> 1), pos + 1 - if not (result & 0x80): - return (result >> 1) ^ (~0), pos + 1 - - result &= 0x7f - pos += 1 - shift = 7 - while 1: - b = buffer[pos] - result |= ((b & 0x7f) << shift) - pos += 1 - if not (b & 0x80): - return ((result >> 1) ^ -(result & 1), pos) - shift += 7 - if shift >= 64: - raise ValueError("Out of int64 range") - - -if __name__ == '__main__': - _assert_valid_enc(encode_varint_1) - _assert_valid_enc(encode_varint_2) - - for encoded, decoded in test_data: - res = bytearray() - encode_varint_3(decoded, res) - assert res == encoded - - _assert_valid_enc(encode_varint_4) - - # import dis - # dis.dis(encode_varint_4) - - for encoded, decoded in test_data: - res = bytearray(10) - written = encode_varint_5(decoded, res) - assert res[:written] == encoded - - for encoded, decoded in test_data: - res = bytearray() - encode_varint_6(decoded, res) - assert res == encoded - - _assert_valid_size(size_of_varint_1) - _assert_valid_size(size_of_varint_2) - _assert_valid_dec(decode_varint_1) - _assert_valid_dec(decode_varint_2) - _assert_valid_dec(decode_varint_3) - - # import dis - # dis.dis(decode_varint_3) - - runner = pyperf.Runner() - # Encode algorithms returning a bytes result - for bench_func in [ - encode_varint_1, - encode_varint_2, - encode_varint_4]: - for i, value in enumerate(BENCH_VALUES_ENC): - runner.bench_func( - '{}_{}byte'.format(bench_func.__name__, i + 1), - bench_func, value) - - # Encode algorithms writing to the buffer - for bench_func in [ - encode_varint_3, - encode_varint_5, - encode_varint_6]: - for i, value in enumerate(BENCH_VALUES_ENC): - fname = bench_func.__name__ - runner.timeit( - '{}_{}byte'.format(fname, i + 1), - stmt="{}({}, buffer)".format(fname, value), - setup="from __main__ import {}; buffer = bytearray(10)".format( - fname) - ) - - # Size algorithms - for bench_func in [ - size_of_varint_1, - size_of_varint_2]: - for i, value in enumerate(BENCH_VALUES_ENC): - runner.bench_func( - '{}_{}byte'.format(bench_func.__name__, i + 1), - bench_func, value) - - # Decode algorithms - for bench_func in [ - decode_varint_1, - decode_varint_2, - decode_varint_3]: - for i, value in enumerate(BENCH_VALUES_DEC): - runner.bench_func( - '{}_{}byte'.format(bench_func.__name__, i + 1), - bench_func, value) diff --git a/venv/lib/python3.12/site-packages/kafka/client_async.py b/venv/lib/python3.12/site-packages/kafka/client_async.py index 7d46657..58f22d4 100644 --- a/venv/lib/python3.12/site-packages/kafka/client_async.py +++ b/venv/lib/python3.12/site-packages/kafka/client_async.py @@ -19,18 +19,17 @@ except ImportError: from kafka.vendor import six from kafka.cluster import ClusterMetadata -from kafka.conn import BrokerConnection, ConnectionStates, get_ip_port_afi +from kafka.conn import BrokerConnection, ConnectionStates, collect_hosts, get_ip_port_afi from kafka import errors as Errors from kafka.future import Future from kafka.metrics import AnonMeasurable from kafka.metrics.stats import Avg, Count, Rate from kafka.metrics.stats.rate import TimeUnit -from kafka.protocol.broker_api_versions import BROKER_API_VERSIONS from kafka.protocol.metadata import MetadataRequest -from kafka.util import Dict, Timer, WeakMethod, ensure_valid_topic_name +from kafka.util import Dict, WeakMethod # Although this looks unused, it actually monkey-patches socket.socketpair() # and should be left in as long as we're using socket.socketpair() in this file -from kafka.vendor import socketpair # noqa: F401 +from kafka.vendor import socketpair from kafka.version import __version__ if six.PY2: @@ -76,7 +75,7 @@ class KafkaClient(object): reconnection attempts will continue periodically with this fixed rate. To avoid connection storms, a randomization factor of 0.2 will be applied to the backoff resulting in a random range between - 20% below and 20% above the computed value. Default: 30000. + 20% below and 20% above the computed value. Default: 1000. request_timeout_ms (int): Client request timeout in milliseconds. Default: 30000. connections_max_idle_ms: Close idle connections after the number of @@ -102,9 +101,6 @@ class KafkaClient(object): which we force a refresh of metadata even if we haven't seen any partition leadership changes to proactively discover any new brokers or partitions. Default: 300000 - allow_auto_create_topics (bool): Enable/disable auto topic creation - on metadata request. Only available with api_version >= (0, 11). - Default: True security_protocol (str): Protocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL. Default: PLAINTEXT. @@ -133,24 +129,12 @@ class KafkaClient(object): format. If no cipher can be selected (because compile-time options or other configuration forbids use of all the specified ciphers), an ssl.SSLError will be raised. See ssl.SSLContext.set_ciphers - api_version (tuple): Specify which Kafka API version to use. If set to - None, the client will attempt to determine the broker version via - ApiVersionsRequest API or, for brokers earlier than 0.10, probing - various known APIs. Dynamic version checking is performed eagerly - during __init__ and can raise NoBrokersAvailableError if no connection - was made before timeout (see api_version_auto_timeout_ms below). - Different versions enable different functionality. - - Examples: - (3, 9) most recent broker release, enable all supported features - (0, 10, 0) enables sasl authentication - (0, 8, 0) enables basic functionality only - - Default: None + api_version (tuple): Specify which Kafka API version to use. If set + to None, KafkaClient will attempt to infer the broker version by + probing various APIs. Example: (0, 10, 2). Default: None api_version_auto_timeout_ms (int): number of milliseconds to throw a timeout exception from the constructor when checking the broker - api version. Only applies if api_version set to None. - Default: 2000 + api version. Only applies if api_version is None selector (selectors.BaseSelector): Provide a specific selector implementation to use for I/O multiplexing. Default: selectors.DefaultSelector @@ -164,16 +148,12 @@ class KafkaClient(object): Required if sasl_mechanism is PLAIN or one of the SCRAM mechanisms. sasl_plain_password (str): password for sasl PLAIN and SCRAM authentication. Required if sasl_mechanism is PLAIN or one of the SCRAM mechanisms. - sasl_kerberos_name (str or gssapi.Name): Constructed gssapi.Name for use with - sasl mechanism handshake. If provided, sasl_kerberos_service_name and - sasl_kerberos_domain name are ignored. Default: None. sasl_kerberos_service_name (str): Service name to include in GSSAPI sasl mechanism handshake. Default: 'kafka' sasl_kerberos_domain_name (str): kerberos domain name to use in GSSAPI sasl mechanism handshake. Default: one of bootstrap servers - sasl_oauth_token_provider (kafka.sasl.oauth.AbstractTokenProvider): OAuthBearer - token provider instance. Default: None - socks5_proxy (str): Socks5 proxy URL. Default: None + sasl_oauth_token_provider (AbstractTokenProvider): OAuthBearer token provider + instance. (See kafka.oauth.abstract). Default: None """ DEFAULT_CONFIG = { @@ -184,7 +164,7 @@ class KafkaClient(object): 'wakeup_timeout_ms': 3000, 'connections_max_idle_ms': 9 * 60 * 1000, 'reconnect_backoff_ms': 50, - 'reconnect_backoff_max_ms': 30000, + 'reconnect_backoff_max_ms': 1000, 'max_in_flight_requests_per_connection': 5, 'receive_buffer_bytes': None, 'send_buffer_bytes': None, @@ -192,7 +172,6 @@ class KafkaClient(object): 'sock_chunk_bytes': 4096, # undocumented experimental option 'sock_chunk_buffer_count': 1000, # undocumented experimental option 'retry_backoff_ms': 100, - 'allow_auto_create_topics': True, 'metadata_max_age_ms': 300000, 'security_protocol': 'PLAINTEXT', 'ssl_context': None, @@ -211,11 +190,9 @@ class KafkaClient(object): 'sasl_mechanism': None, 'sasl_plain_username': None, 'sasl_plain_password': None, - 'sasl_kerberos_name': None, 'sasl_kerberos_service_name': 'kafka', 'sasl_kerberos_domain_name': None, - 'sasl_oauth_token_provider': None, - 'socks5_proxy': None, + 'sasl_oauth_token_provider': None } def __init__(self, **configs): @@ -227,9 +204,8 @@ class KafkaClient(object): # these properties need to be set on top of the initialization pipeline # because they are used when __del__ method is called self._closed = False + self._wake_r, self._wake_w = socket.socketpair() self._selector = self.config['selector']() - self._init_wakeup_socketpair() - self._wake_lock = threading.Lock() self.cluster = ClusterMetadata(**self.config) self._topics = set() # empty set will fetch all topic metadata @@ -238,10 +214,12 @@ class KafkaClient(object): self._api_versions = None self._connecting = set() self._sending = set() - - # Not currently used, but data is collected internally + self._refresh_on_disconnects = True self._last_bootstrap = 0 self._bootstrap_fails = 0 + self._wake_r.setblocking(False) + self._wake_w.settimeout(self.config['wakeup_timeout_ms'] / 1000.0) + self._wake_lock = threading.Lock() self._lock = threading.RLock() @@ -250,6 +228,7 @@ class KafkaClient(object): # lock above. self._pending_completion = collections.deque() + self._selector.register(self._wake_r, selectors.EVENT_READ) self._idle_expiry_manager = IdleConnectionManager(self.config['connections_max_idle_ms']) self._sensors = None if self.config['metrics']: @@ -257,48 +236,26 @@ class KafkaClient(object): self.config['metric_group_prefix'], weakref.proxy(self._conns)) + self._num_bootstrap_hosts = len(collect_hosts(self.config['bootstrap_servers'])) + # Check Broker Version if not set explicitly if self.config['api_version'] is None: - self.config['api_version'] = self.check_version() - elif self.config['api_version'] in BROKER_API_VERSIONS: - self._api_versions = BROKER_API_VERSIONS[self.config['api_version']] - elif (self.config['api_version'] + (0,)) in BROKER_API_VERSIONS: - log.warning('Configured api_version %s is ambiguous; using %s', - self.config['api_version'], self.config['api_version'] + (0,)) - self.config['api_version'] = self.config['api_version'] + (0,) - self._api_versions = BROKER_API_VERSIONS[self.config['api_version']] - else: - compatible_version = None - for v in sorted(BROKER_API_VERSIONS.keys(), reverse=True): - if v <= self.config['api_version']: - compatible_version = v - break - if compatible_version: - log.warning('Configured api_version %s not supported; using %s', - self.config['api_version'], compatible_version) - self.config['api_version'] = compatible_version - self._api_versions = BROKER_API_VERSIONS[compatible_version] - else: - raise Errors.UnrecognizedBrokerVersion(self.config['api_version']) + check_timeout = self.config['api_version_auto_timeout_ms'] / 1000 + self.config['api_version'] = self.check_version(timeout=check_timeout) - def _init_wakeup_socketpair(self): - self._wake_r, self._wake_w = socket.socketpair() - self._wake_r.setblocking(False) - self._wake_w.settimeout(self.config['wakeup_timeout_ms'] / 1000.0) - self._waking = False - self._selector.register(self._wake_r, selectors.EVENT_READ) + def _can_bootstrap(self): + effective_failures = self._bootstrap_fails // self._num_bootstrap_hosts + backoff_factor = 2 ** effective_failures + backoff_ms = min(self.config['reconnect_backoff_ms'] * backoff_factor, + self.config['reconnect_backoff_max_ms']) - def _close_wakeup_socketpair(self): - if self._wake_r is not None: - try: - self._selector.unregister(self._wake_r) - except (KeyError, ValueError, TypeError): - pass - self._wake_r.close() - if self._wake_w is not None: - self._wake_w.close() - self._wake_r = None - self._wake_w = None + backoff_ms *= random.uniform(0.8, 1.2) + + next_at = self._last_bootstrap + backoff_ms / 1000.0 + now = time.time() + if next_at > now: + return False + return True def _can_connect(self, node_id): if node_id not in self._conns: @@ -310,7 +267,7 @@ class KafkaClient(object): def _conn_state_change(self, node_id, sock, conn): with self._lock: - if conn.state is ConnectionStates.CONNECTING: + if conn.connecting(): # SSL connections can enter this state 2x (second during Handshake) if node_id not in self._connecting: self._connecting.add(node_id) @@ -322,19 +279,7 @@ class KafkaClient(object): if self.cluster.is_bootstrap(node_id): self._last_bootstrap = time.time() - elif conn.state is ConnectionStates.API_VERSIONS_SEND: - try: - self._selector.register(sock, selectors.EVENT_WRITE, conn) - except KeyError: - self._selector.modify(sock, selectors.EVENT_WRITE, conn) - - elif conn.state in (ConnectionStates.API_VERSIONS_RECV, ConnectionStates.AUTHENTICATING): - try: - self._selector.register(sock, selectors.EVENT_READ, conn) - except KeyError: - self._selector.modify(sock, selectors.EVENT_READ, conn) - - elif conn.state is ConnectionStates.CONNECTED: + elif conn.connected(): log.debug("Node %s connected", node_id) if node_id in self._connecting: self._connecting.remove(node_id) @@ -351,8 +296,6 @@ class KafkaClient(object): if self.cluster.is_bootstrap(node_id): self._bootstrap_fails = 0 - if self._api_versions is None: - self._api_versions = conn._api_versions else: for node_id in list(self._conns.keys()): @@ -365,7 +308,7 @@ class KafkaClient(object): self._connecting.remove(node_id) try: self._selector.unregister(sock) - except (KeyError, ValueError): + except KeyError: pass if self._sensors: @@ -384,7 +327,7 @@ class KafkaClient(object): elif self.cluster.is_bootstrap(node_id): self._bootstrap_fails += 1 - elif conn.connect_failed() and not self._closed and not idle_disconnect: + elif self._refresh_on_disconnects and not self._closed and not idle_disconnect: log.warning("Node %s connection failed -- refreshing metadata", node_id) self.cluster.request_update() @@ -400,11 +343,6 @@ class KafkaClient(object): return True return False - def connection_failed(self, node_id): - if node_id not in self._conns: - return False - return self._conns[node_id].connect_failed() - def _should_recycle_connection(self, conn): # Never recycle unless disconnected if not conn.disconnected(): @@ -415,7 +353,7 @@ class KafkaClient(object): if broker is None: return False - host, _, _ = get_ip_port_afi(broker.host) + host, _, afi = get_ip_port_afi(broker.host) if conn.host != host or conn.port != broker.port: log.info("Broker metadata change detected for node %s" " from %s:%s to %s:%s", conn.node_id, conn.host, conn.port, @@ -424,24 +362,14 @@ class KafkaClient(object): return False - def _init_connect(self, node_id): - """Idempotent non-blocking connection attempt to the given node id. - - Returns True if connection object exists and is connected / connecting - """ + def _maybe_connect(self, node_id): + """Idempotent non-blocking connection attempt to the given node id.""" with self._lock: conn = self._conns.get(node_id) - # Check if existing connection should be recreated because host/port changed - if conn is not None and self._should_recycle_connection(conn): - self._conns.pop(node_id).close() - conn = None - if conn is None: broker = self.cluster.broker_metadata(node_id) - if broker is None: - log.debug('Broker id %s not in current metadata', node_id) - return False + assert broker, 'Broker id %s not in current metadata' % (node_id,) log.debug("Initiating connection to node %s at %s:%s", node_id, broker.host, broker.port) @@ -453,9 +381,16 @@ class KafkaClient(object): **self.config) self._conns[node_id] = conn - if conn.disconnected(): - conn.connect() - return not conn.disconnected() + # Check if existing connection should be recreated because host/port changed + elif self._should_recycle_connection(conn): + self._conns.pop(node_id) + return False + + elif conn.connected(): + return True + + conn.connect() + return conn.connected() def ready(self, node_id, metadata_priority=True): """Check whether a node is connected and ok to send more requests. @@ -481,7 +416,8 @@ class KafkaClient(object): def _close(self): if not self._closed: self._closed = True - self._close_wakeup_socketpair() + self._wake_r.close() + self._wake_w.close() self._selector.close() def close(self, node_id=None): @@ -528,8 +464,9 @@ class KafkaClient(object): def connection_delay(self, node_id): """ Return the number of milliseconds to wait, based on the connection - state, before attempting to send data. When connecting or disconnected, - this respects the reconnect backoff time. When connected, returns a very large + state, before attempting to send data. When disconnected, this respects + the reconnect backoff time. When connecting, returns 0 to allow + non-blocking connect to finish. When connected, returns a very large number to handle slow/stalled connections. Arguments: @@ -543,16 +480,6 @@ class KafkaClient(object): return 0 return conn.connection_delay() - def throttle_delay(self, node_id): - """ - Return the number of milliseconds to wait until a broker is no longer throttled. - When disconnected / connecting, returns 0. - """ - conn = self._conns.get(node_id) - if conn is None: - return 0 - return conn.throttle_delay() - def is_ready(self, node_id, metadata_priority=True): """Check whether a node is ready to send more requests. @@ -585,7 +512,7 @@ class KafkaClient(object): return False return conn.connected() and conn.can_send_more() - def send(self, node_id, request, wakeup=True, request_timeout_ms=None): + def send(self, node_id, request, wakeup=True): """Send a request to a specific node. Bytes are placed on an internal per-connection send-queue. Actual network I/O will be triggered in a subsequent call to .poll() @@ -593,13 +520,7 @@ class KafkaClient(object): Arguments: node_id (int): destination node request (Struct): request object (not-encoded) - - Keyword Arguments: - wakeup (bool, optional): optional flag to disable thread-wakeup. - request_timeout_ms (int, optional): Provide custom timeout in milliseconds. - If response is not processed before timeout, client will fail the - request and close the connection. - Default: None (uses value from client configuration) + wakeup (bool): optional flag to disable thread-wakeup Raises: AssertionError: if node_id is not in current cluster metadata @@ -615,9 +536,8 @@ class KafkaClient(object): # conn.send will queue the request internally # we will need to call send_pending_requests() # to trigger network I/O - future = conn.send(request, blocking=False, request_timeout_ms=request_timeout_ms) - if not future.is_done: - self._sending.add(conn) + future = conn.send(request, blocking=False) + self._sending.add(conn) # Wakeup signal is useful in case another thread is # blocked waiting for incoming network traffic while holding @@ -643,9 +563,12 @@ class KafkaClient(object): Returns: list: responses received (can be empty) """ - if not isinstance(timeout_ms, (int, float, type(None))): + if future is not None: + timeout_ms = 100 + elif timeout_ms is None: + timeout_ms = self.config['request_timeout_ms'] + elif not isinstance(timeout_ms, (int, float)): raise TypeError('Invalid type for timeout: %s' % type(timeout_ms)) - timer = Timer(timeout_ms) # Loop for futures, break after first loop if None responses = [] @@ -656,30 +579,24 @@ class KafkaClient(object): # Attempt to complete pending connections for node_id in list(self._connecting): - # False return means no more connection progress is possible - # Connected nodes will update _connecting via state_change callback - if not self._init_connect(node_id): - # It's possible that the connection attempt triggered a state change - # but if not, make sure to remove from _connecting list - if node_id in self._connecting: - self._connecting.remove(node_id) + self._maybe_connect(node_id) - # Send a metadata request if needed (or initiate new connection) + # Send a metadata request if needed metadata_timeout_ms = self._maybe_refresh_metadata() # If we got a future that is already done, don't block in _poll if future is not None and future.is_done: timeout = 0 else: - user_timeout_ms = timer.timeout_ms if timeout_ms is not None else self.config['request_timeout_ms'] idle_connection_timeout_ms = self._idle_expiry_manager.next_check_ms() - request_timeout_ms = self._next_ifr_request_timeout_ms() - log.debug("Timeouts: user %f, metadata %f, idle connection %f, request %f", user_timeout_ms, metadata_timeout_ms, idle_connection_timeout_ms, request_timeout_ms) timeout = min( - user_timeout_ms, + timeout_ms, metadata_timeout_ms, idle_connection_timeout_ms, - request_timeout_ms) + self.config['request_timeout_ms']) + # if there are no requests in flight, do not block longer than the retry backoff + if self.in_flight_request_count() == 0: + timeout = min(timeout, self.config['retry_backoff_ms']) timeout = max(0, timeout) # avoid negative timeouts self._poll(timeout / 1000) @@ -690,11 +607,7 @@ class KafkaClient(object): # If all we had was a timeout (future is None) - only do one poll # If we do have a future, we keep looping until it is done - if future is None: - break - elif future.is_done: - break - elif timeout_ms is not None and timer.expired: + if future is None or future.is_done: break return responses @@ -702,8 +615,6 @@ class KafkaClient(object): def _register_send_sockets(self): while self._sending: conn = self._sending.pop() - if conn._sock is None: - continue try: key = self._selector.get_key(conn._sock) events = key.events | selectors.EVENT_WRITE @@ -712,11 +623,6 @@ class KafkaClient(object): self._selector.register(conn._sock, selectors.EVENT_WRITE, conn) def _poll(self, timeout): - # Python throws OverflowError if timeout is > 2147483647 milliseconds - # (though the param to selector.select is in seconds) - # so convert any too-large timeout to blocking - if timeout > 2147483: - timeout = None # This needs to be locked, but since it is only called from within the # locked section of poll(), there is no additional lock acquisition here processed = set() @@ -789,13 +695,11 @@ class KafkaClient(object): for conn in six.itervalues(self._conns): if conn.requests_timed_out(): - timed_out = conn.timed_out_ifrs() - timeout_ms = (timed_out[0][2] - timed_out[0][1]) * 1000 log.warning('%s timed out after %s ms. Closing connection.', - conn, timeout_ms) + conn, conn.config['request_timeout_ms']) conn.close(error=Errors.RequestTimedOutError( 'Request timed out after %s ms' % - timeout_ms)) + conn.config['request_timeout_ms'])) if self._sensors: self._sensors.io_time.record((time.time() - end_select) * 1000000000) @@ -833,17 +737,16 @@ class KafkaClient(object): break future.success(response) responses.append(response) - return responses def least_loaded_node(self): """Choose the node with fewest outstanding requests, with fallbacks. - This method will prefer a node with an existing connection (not throttled) - with no in-flight-requests. If no such node is found, a node will be chosen - randomly from all nodes that are not throttled or "blacked out" (i.e., + This method will prefer a node with an existing connection and no + in-flight-requests. If no such node is found, a node will be chosen + randomly from disconnected nodes that are not "blacked out" (i.e., are not subject to a reconnect backoff). If no node metadata has been - obtained, will return a bootstrap node. + obtained, will return a bootstrap node (subject to exponential backoff). Returns: node_id or None if no suitable node was found @@ -855,11 +758,11 @@ class KafkaClient(object): found = None for node_id in nodes: conn = self._conns.get(node_id) - connected = conn is not None and conn.connected() and conn.can_send_more() - blacked_out = conn is not None and (conn.blacked_out() or conn.throttled()) + connected = conn is not None and conn.connected() + blacked_out = conn is not None and conn.blacked_out() curr_inflight = len(conn.in_flight_requests) if conn is not None else 0 if connected and curr_inflight == 0: - # if we find an established connection (not throttled) + # if we find an established connection # with no in-flight requests, we can stop right away return node_id elif not blacked_out and curr_inflight < inflight: @@ -869,24 +772,6 @@ class KafkaClient(object): return found - def _refresh_delay_ms(self, node_id): - conn = self._conns.get(node_id) - if conn is not None and conn.connected(): - return self.throttle_delay(node_id) - else: - return self.connection_delay(node_id) - - def least_loaded_node_refresh_ms(self): - """Return connection or throttle delay in milliseconds for next available node. - - This method is used primarily for retry/backoff during metadata refresh - during / after a cluster outage, in which there are no available nodes. - - Returns: - float: delay_ms - """ - return min([self._refresh_delay_ms(broker.nodeId) for broker in self.cluster.brokers()]) - def set_topics(self, topics): """Set specific topics to track for metadata. @@ -911,31 +796,19 @@ class KafkaClient(object): Returns: Future: resolves after metadata request/response - - Raises: - TypeError: if topic is not a string - ValueError: if topic is invalid: must be chars (a-zA-Z0-9._-), and less than 250 length """ - ensure_valid_topic_name(topic) - if topic in self._topics: return Future().success(set(self._topics)) self._topics.add(topic) return self.cluster.request_update() - def _next_ifr_request_timeout_ms(self): - if self._conns: - return min([conn.next_ifr_request_timeout_ms() for conn in six.itervalues(self._conns)]) - else: - return float('inf') - # This method should be locked when running multi-threaded def _maybe_refresh_metadata(self, wakeup=False): """Send a metadata request if needed. Returns: - float: milliseconds until next refresh + int: milliseconds until next refresh """ ttl = self.cluster.ttl() wait_for_in_progress_ms = self.config['request_timeout_ms'] if self._metadata_refresh_in_progress else 0 @@ -949,44 +822,18 @@ class KafkaClient(object): # least_loaded_node() node_id = self.least_loaded_node() if node_id is None: - next_connect_ms = self.least_loaded_node_refresh_ms() - log.debug("Give up sending metadata request since no node is available. (reconnect delay %d ms)", next_connect_ms) - return next_connect_ms + log.debug("Give up sending metadata request since no node is available"); + return self.config['reconnect_backoff_ms'] - if not self._can_send_request(node_id): - # If there's any connection establishment underway, wait until it completes. This prevents - # the client from unnecessarily connecting to additional nodes while a previous connection - # attempt has not been completed. - if self._connecting: - return float('inf') - - elif self._can_connect(node_id): - log.debug("Initializing connection to node %s for metadata request", node_id) - self._connecting.add(node_id) - if not self._init_connect(node_id): - if node_id in self._connecting: - self._connecting.remove(node_id) - # Connection attempt failed immediately, need to retry with a different node - return self.config['reconnect_backoff_ms'] - else: - # Existing connection throttled or max in flight requests. - return self.throttle_delay(node_id) or self.config['request_timeout_ms'] - - # Recheck node_id in case we were able to connect immediately above if self._can_send_request(node_id): topics = list(self._topics) if not topics and self.cluster.is_bootstrap(node_id): topics = list(self.config['bootstrap_topics_filter']) - api_version = self.api_version(MetadataRequest, max_version=7) - if self.cluster.need_all_topic_metadata: - topics = MetadataRequest[api_version].ALL_TOPICS - elif not topics: - topics = MetadataRequest[api_version].NO_TOPICS - if api_version >= 4: - request = MetadataRequest[api_version](topics, self.config['allow_auto_create_topics']) - else: - request = MetadataRequest[api_version](topics) + if self.cluster.need_all_topic_metadata or not topics: + topics = [] if self.config['api_version'] < (0, 10) else None + api_version = 0 if self.config['api_version'] < (0, 10) else 1 + request = MetadataRequest[api_version](topics) log.debug("Sending metadata request %s to node %s", request, node_id) future = self.send(node_id, request, wakeup=wakeup) future.add_callback(self.cluster.update_metadata) @@ -999,146 +846,103 @@ class KafkaClient(object): future.add_errback(refresh_done) return self.config['request_timeout_ms'] - # Should only get here if still connecting + # If there's any connection establishment underway, wait until it completes. This prevents + # the client from unnecessarily connecting to additional nodes while a previous connection + # attempt has not been completed. if self._connecting: - return float('inf') - else: return self.config['reconnect_backoff_ms'] + if self.maybe_connect(node_id, wakeup=wakeup): + log.debug("Initializing connection to node %s for metadata request", node_id) + return self.config['reconnect_backoff_ms'] + + # connected but can't send more, OR connecting + # In either case we just need to wait for a network event + # to let us know the selected connection might be usable again. + return float('inf') + def get_api_versions(self): """Return the ApiVersions map, if available. - Note: Only available after bootstrap; requires broker version 0.10.0 or later. + Note: A call to check_version must previously have succeeded and returned + version 0.10.0 or later Returns: a map of dict mapping {api_key : (min_version, max_version)}, or None if ApiVersion is not supported by the kafka cluster. """ return self._api_versions - def check_version(self, node_id=None, timeout=None, **kwargs): + def check_version(self, node_id=None, timeout=2, strict=False): """Attempt to guess the version of a Kafka broker. - Keyword Arguments: - node_id (str, optional): Broker node id from cluster metadata. If None, attempts - to connect to any available broker until version is identified. - Default: None - timeout (num, optional): Maximum time in seconds to try to check broker version. - If unable to identify version before timeout, raise error (see below). - Default: api_version_auto_timeout_ms / 1000 + Note: It is possible that this method blocks longer than the + specified timeout. This can happen if the entire cluster + is down and the client enters a bootstrap backoff sleep. + This is only possible if node_id is None. - Returns: version tuple, i.e. (3, 9), (2, 0), (0, 10, 2) etc + Returns: version tuple, i.e. (0, 10), (0, 9), (0, 8, 2), ... Raises: NodeNotReadyError (if node_id is provided) NoBrokersAvailable (if node_id is None) + UnrecognizedBrokerVersion: please file bug if seen! + AssertionError (if strict=True): please file bug if seen! """ - timeout = timeout or (self.config['api_version_auto_timeout_ms'] / 1000) - with self._lock: - end = time.time() + timeout - while time.time() < end: - time_remaining = max(end - time.time(), 0) - if node_id is not None and self.connection_delay(node_id) > 0: - sleep_time = min(time_remaining, self.connection_delay(node_id) / 1000.0) - if sleep_time > 0: - time.sleep(sleep_time) - continue - try_node = node_id or self.least_loaded_node() - if try_node is None: - sleep_time = min(time_remaining, self.least_loaded_node_refresh_ms() / 1000.0) - if sleep_time > 0: - log.warning('No node available during check_version; sleeping %.2f secs', sleep_time) - time.sleep(sleep_time) - continue - log.debug('Attempting to check version with node %s', try_node) - if not self._init_connect(try_node): - if try_node == node_id: - raise Errors.NodeNotReadyError("Connection failed to %s" % node_id) - else: - continue - conn = self._conns[try_node] + self._lock.acquire() + end = time.time() + timeout + while time.time() < end: - while conn.connecting() and time.time() < end: - timeout_ms = min((end - time.time()) * 1000, 200) - self.poll(timeout_ms=timeout_ms) + # It is possible that least_loaded_node falls back to bootstrap, + # which can block for an increasing backoff period + try_node = node_id or self.least_loaded_node() + if try_node is None: + self._lock.release() + raise Errors.NoBrokersAvailable() + self._maybe_connect(try_node) + conn = self._conns[try_node] - if conn._api_version is not None: - return conn._api_version - else: - log.debug('Failed to identify api_version after connection attempt to %s', conn) - - # Timeout - else: + # We will intentionally cause socket failures + # These should not trigger metadata refresh + self._refresh_on_disconnects = False + try: + remaining = end - time.time() + version = conn.check_version(timeout=remaining, strict=strict, topics=list(self.config['bootstrap_topics_filter'])) + if version >= (0, 10, 0): + # cache the api versions map if it's available (starting + # in 0.10 cluster version) + self._api_versions = conn.get_api_versions() + self._lock.release() + return version + except Errors.NodeNotReadyError: + # Only raise to user if this is a node-specific request if node_id is not None: - raise Errors.NodeNotReadyError(node_id) - else: - raise Errors.NoBrokersAvailable() + self._lock.release() + raise + finally: + self._refresh_on_disconnects = True - def api_version(self, operation, max_version=None): - """Find the latest version of the protocol operation supported by both - this library and the broker. - - This resolves to the lesser of either the latest api version this - library supports, or the max version supported by the broker. - - Arguments: - operation: A list of protocol operation versions from kafka.protocol. - - Keyword Arguments: - max_version (int, optional): Provide an alternate maximum api version - to reflect limitations in user code. - - Returns: - int: The highest api version number compatible between client and broker. - - Raises: IncompatibleBrokerVersion if no matching version is found - """ - # Cap max_version at the largest available version in operation list - max_version = min(len(operation) - 1, max_version if max_version is not None else float('inf')) - broker_api_versions = self._api_versions - api_key = operation[0].API_KEY - if broker_api_versions is None or api_key not in broker_api_versions: - raise Errors.IncompatibleBrokerVersion( - "Kafka broker does not support the '{}' Kafka protocol." - .format(operation[0].__name__)) - broker_min_version, broker_max_version = broker_api_versions[api_key] - version = min(max_version, broker_max_version) - if version < broker_min_version: - # max library version is less than min broker version. Currently, - # no Kafka versions specify a min msg version. Maybe in the future? - raise Errors.IncompatibleBrokerVersion( - "No version of the '{}' Kafka protocol is supported by both the client and broker." - .format(operation[0].__name__)) - return version + # Timeout + else: + self._lock.release() + raise Errors.NoBrokersAvailable() def wakeup(self): - if self._closed or self._waking or self._wake_w is None: - return with self._wake_lock: try: self._wake_w.sendall(b'x') - self._waking = True - except socket.timeout as e: + except socket.timeout: log.warning('Timeout to send to wakeup socket!') - raise Errors.KafkaTimeoutError(e) - except socket.error as e: - log.warning('Unable to send to wakeup socket! %s', e) - raise e + raise Errors.KafkaTimeoutError() + except socket.error: + log.warning('Unable to send to wakeup socket!') def _clear_wake_fd(self): # reading from wake socket should only happen in a single thread - with self._wake_lock: - self._waking = False - while True: - try: - if not self._wake_r.recv(1024): - # Non-blocking socket returns empty on error - log.warning("Error reading wakeup socket. Rebuilding socketpair.") - self._close_wakeup_socketpair() - self._init_wakeup_socketpair() - break - except socket.error: - # Non-blocking socket raises when socket is ok but no data available to read - break + while True: + try: + self._wake_r.recv(1024) + except socket.error: + break def _maybe_close_oldest_connection(self): expired_connection = self._idle_expiry_manager.poll_expired_connection() @@ -1158,39 +962,6 @@ class KafkaClient(object): else: return False - def await_ready(self, node_id, timeout_ms=30000): - """ - Invokes `poll` to discard pending disconnects, followed by `client.ready` and 0 or more `client.poll` - invocations until the connection to `node` is ready, the timeoutMs expires or the connection fails. - - It returns `true` if the call completes normally or `false` if the timeoutMs expires. If the connection fails, - an `IOException` is thrown instead. Note that if the `NetworkClient` has been configured with a positive - connection timeoutMs, it is possible for this method to raise an `IOException` for a previous connection which - has recently disconnected. - - This method is useful for implementing blocking behaviour on top of the non-blocking `NetworkClient`, use it with - care. - """ - timer = Timer(timeout_ms) - self.poll(timeout_ms=0) - if self.is_ready(node_id): - return True - - while not self.is_ready(node_id) and not timer.expired: - if self.connection_failed(node_id): - raise Errors.KafkaConnectionError("Connection to %s failed." % (node_id,)) - self.maybe_connect(node_id) - self.poll(timeout_ms=timer.timeout_ms) - return self.is_ready(node_id) - - def send_and_receive(self, node_id, request): - future = self.send(node_id, request) - self.poll(future=future) - assert future.is_done - if future.failed(): - raise future.exception - return future.value - # OrderedDict requires python2.7+ try: @@ -1227,7 +998,7 @@ class IdleConnectionManager(object): def next_check_ms(self): now = time.time() - if not self.lru_connections or self.next_idle_close_check_time == float('inf'): + if not self.lru_connections: return float('inf') elif self.next_idle_close_check_time <= now: return 0 diff --git a/venv/lib/python3.12/site-packages/kafka/cluster.py b/venv/lib/python3.12/site-packages/kafka/cluster.py index ded8c6f..438baf2 100644 --- a/venv/lib/python3.12/site-packages/kafka/cluster.py +++ b/venv/lib/python3.12/site-packages/kafka/cluster.py @@ -3,15 +3,13 @@ from __future__ import absolute_import import collections import copy import logging -import random -import re import threading import time from kafka.vendor import six from kafka import errors as Errors -from kafka.conn import get_ip_port_afi +from kafka.conn import collect_hosts from kafka.future import Future from kafka.structs import BrokerMetadata, PartitionMetadata, TopicPartition @@ -23,7 +21,7 @@ class ClusterMetadata(object): A class to manage kafka cluster metadata. This class does not perform any IO. It simply updates internal state - given API responses (MetadataResponse, FindCoordinatorResponse). + given API responses (MetadataResponse, GroupCoordinatorResponse). Keyword Arguments: retry_backoff_ms (int): Milliseconds to backoff when retrying on @@ -49,7 +47,7 @@ class ClusterMetadata(object): self._brokers = {} # node_id -> BrokerMetadata self._partitions = {} # topic -> partition -> PartitionMetadata self._broker_partitions = collections.defaultdict(set) # node_id -> {TopicPartition...} - self._coordinators = {} # (coord_type, coord_key) -> node_id + self._groups = {} # group_name -> node_id self._last_refresh_ms = 0 self._last_successful_refresh_ms = 0 self._need_update = True @@ -60,7 +58,6 @@ class ClusterMetadata(object): self.unauthorized_topics = set() self.internal_topics = set() self.controller = None - self.cluster_id = None self.config = copy.copy(self.DEFAULT_CONFIG) for key in self.config: @@ -95,7 +92,7 @@ class ClusterMetadata(object): """Get BrokerMetadata Arguments: - broker_id (int or str): node_id for a broker to check + broker_id (int): node_id for a broker to check Returns: BrokerMetadata or None if not found @@ -114,7 +111,6 @@ class ClusterMetadata(object): Returns: set: {partition (int), ...} - None if topic not found. """ if topic not in self._partitions: return None @@ -144,14 +140,11 @@ class ClusterMetadata(object): return None return self._partitions[partition.topic][partition.partition].leader - def leader_epoch_for_partition(self, partition): - return self._partitions[partition.topic][partition.partition].leader_epoch - def partitions_for_broker(self, broker_id): """Return TopicPartitions for which the broker is a leader. Arguments: - broker_id (int or str): node id for a broker + broker_id (int): node id for a broker Returns: set: {TopicPartition, ...} @@ -166,10 +159,10 @@ class ClusterMetadata(object): group (str): name of consumer group Returns: - node_id (int or str) for group coordinator, -1 if coordinator unknown + int: node_id for group coordinator None if the group does not exist. """ - return self._coordinators.get(('group', group)) + return self._groups.get(group) def ttl(self): """Milliseconds until metadata should be refreshed""" @@ -204,10 +197,6 @@ class ClusterMetadata(object): self._future = Future() return self._future - @property - def need_update(self): - return self._need_update - def topics(self, exclude_internal_topics=True): """Get set of known topics. @@ -245,6 +234,13 @@ class ClusterMetadata(object): Returns: None """ + # In the common case where we ask for a single topic and get back an + # error, we should fail the future + if len(metadata.topics) == 1 and metadata.topics[0][0] != 0: + error_code, topic = metadata.topics[0][:2] + error = Errors.for_code(error_code)(topic) + return self.failed_update(error) + if not metadata.brokers: log.warning("No broker metadata found in MetadataResponse -- ignoring.") return self.failed_update(Errors.MetadataEmptyBrokerList(metadata)) @@ -265,11 +261,6 @@ class ClusterMetadata(object): else: _new_controller = _new_brokers.get(metadata.controller_id) - if metadata.API_VERSION < 2: - _new_cluster_id = None - else: - _new_cluster_id = metadata.cluster_id - _new_partitions = {} _new_broker_partitions = collections.defaultdict(set) _new_unauthorized_topics = set() @@ -286,21 +277,10 @@ class ClusterMetadata(object): error_type = Errors.for_code(error_code) if error_type is Errors.NoError: _new_partitions[topic] = {} - for partition_data in partitions: - leader_epoch = -1 - offline_replicas = [] - if metadata.API_VERSION >= 7: - p_error, partition, leader, leader_epoch, replicas, isr, offline_replicas = partition_data - elif metadata.API_VERSION >= 5: - p_error, partition, leader, replicas, isr, offline_replicas = partition_data - else: - p_error, partition, leader, replicas, isr = partition_data - + for p_error, partition, leader, replicas, isr in partitions: _new_partitions[topic][partition] = PartitionMetadata( - topic=topic, partition=partition, - leader=leader, leader_epoch=leader_epoch, - replicas=replicas, isr=isr, offline_replicas=offline_replicas, - error=p_error) + topic=topic, partition=partition, leader=leader, + replicas=replicas, isr=isr, error=p_error) if leader != -1: _new_broker_partitions[leader].add( TopicPartition(topic, partition)) @@ -326,7 +306,6 @@ class ClusterMetadata(object): with self._lock: self._brokers = _new_brokers self.controller = _new_controller - self.cluster_id = _new_cluster_id self._partitions = _new_partitions self._broker_partitions = _new_broker_partitions self.unauthorized_topics = _new_unauthorized_topics @@ -342,15 +321,7 @@ class ClusterMetadata(object): self._last_successful_refresh_ms = now if f: - # In the common case where we ask for a single topic and get back an - # error, we should fail the future - if len(metadata.topics) == 1 and metadata.topics[0][0] != Errors.NoError.errno: - error_code, topic = metadata.topics[0][:2] - error = Errors.for_code(error_code)(topic) - f.failure(error) - else: - f.success(self) - + f.success(self) log.debug("Updated cluster metadata to %s", self) for listener in self._listeners: @@ -371,25 +342,24 @@ class ClusterMetadata(object): """Remove a previously added listener callback""" self._listeners.remove(listener) - def add_coordinator(self, response, coord_type, coord_key): - """Update with metadata for a group or txn coordinator + def add_group_coordinator(self, group, response): + """Update with metadata for a group coordinator Arguments: - response (FindCoordinatorResponse): broker response - coord_type (str): 'group' or 'transaction' - coord_key (str): consumer_group or transactional_id + group (str): name of group from GroupCoordinatorRequest + response (GroupCoordinatorResponse): broker response Returns: string: coordinator node_id if metadata is updated, None on error """ - log.debug("Updating coordinator for %s/%s: %s", coord_type, coord_key, response) + log.debug("Updating coordinator for %s: %s", group, response) error_type = Errors.for_code(response.error_code) if error_type is not Errors.NoError: - log.error("FindCoordinatorResponse error: %s", error_type) - self._coordinators[(coord_type, coord_key)] = -1 + log.error("GroupCoordinatorResponse error: %s", error_type) + self._groups[group] = -1 return - # Use a coordinator-specific node id so that requests + # Use a coordinator-specific node id so that group requests # get a dedicated connection node_id = 'coordinator-{}'.format(response.coordinator_id) coordinator = BrokerMetadata( @@ -398,9 +368,9 @@ class ClusterMetadata(object): response.port, None) - log.info("Coordinator for %s/%s is %s", coord_type, coord_key, coordinator) + log.info("Group coordinator for %s is %s", group, coordinator) self._coordinator_brokers[node_id] = coordinator - self._coordinators[(coord_type, coord_key)] = node_id + self._groups[group] = node_id return node_id def with_partitions(self, partitions_to_add): @@ -409,7 +379,7 @@ class ClusterMetadata(object): new_metadata._brokers = copy.deepcopy(self._brokers) new_metadata._partitions = copy.deepcopy(self._partitions) new_metadata._broker_partitions = copy.deepcopy(self._broker_partitions) - new_metadata._coordinators = copy.deepcopy(self._coordinators) + new_metadata._groups = copy.deepcopy(self._groups) new_metadata.internal_topics = copy.deepcopy(self.internal_topics) new_metadata.unauthorized_topics = copy.deepcopy(self.unauthorized_topics) @@ -423,26 +393,5 @@ class ClusterMetadata(object): return new_metadata def __str__(self): - return 'ClusterMetadata(brokers: %d, topics: %d, coordinators: %d)' % \ - (len(self._brokers), len(self._partitions), len(self._coordinators)) - - -def collect_hosts(hosts, randomize=True): - """ - Collects a comma-separated set of hosts (host:port) and optionally - randomize the returned list. - """ - - if isinstance(hosts, six.string_types): - hosts = hosts.strip().split(',') - - result = [] - for host_port in hosts: - # ignore leading SECURITY_PROTOCOL:// to mimic java client - host_port = re.sub('^.*://', '', host_port) - host, port, afi = get_ip_port_afi(host_port) - result.append((host, port, afi)) - - if randomize: - random.shuffle(result) - return result + return 'ClusterMetadata(brokers: %d, topics: %d, groups: %d)' % \ + (len(self._brokers), len(self._partitions), len(self._groups)) diff --git a/venv/lib/python3.12/site-packages/kafka/codec.py b/venv/lib/python3.12/site-packages/kafka/codec.py index b73df06..917400e 100644 --- a/venv/lib/python3.12/site-packages/kafka/codec.py +++ b/venv/lib/python3.12/site-packages/kafka/codec.py @@ -187,21 +187,14 @@ def _detect_xerial_stream(payload): The version is the version of this format as written by xerial, in the wild this is currently 1 as such we only support v1. - Compat is there to claim the minimum supported version that + Compat is there to claim the miniumum supported version that can read a xerial block stream, presently in the wild this is 1. """ if len(payload) > 16: - magic = struct.unpack('!' + _XERIAL_V1_FORMAT[:8], bytes(payload)[:8]) - version, compat = struct.unpack('!' + _XERIAL_V1_FORMAT[8:], bytes(payload)[8:16]) - # Until there is more than one way to do xerial blocking, the version + compat - # fields can be ignored. Also some producers (i.e., redpanda) are known to - # incorrectly encode these as little-endian, and that causes us to fail decoding - # when we otherwise would have succeeded. - # See https://github.com/dpkp/kafka-python/issues/2414 - if magic == _XERIAL_V1_HEADER[:8]: - return True + header = struct.unpack('!' + _XERIAL_V1_FORMAT, bytes(payload)[:16]) + return header == _XERIAL_V1_HEADER return False diff --git a/venv/lib/python3.12/site-packages/kafka/conn.py b/venv/lib/python3.12/site-packages/kafka/conn.py index 64445fa..5c72875 100644 --- a/venv/lib/python3.12/site-packages/kafka/conn.py +++ b/venv/lib/python3.12/site-packages/kafka/conn.py @@ -4,7 +4,7 @@ import copy import errno import io import logging -from random import uniform +from random import shuffle, uniform # selectors in stdlib as of py3.4 try: @@ -14,6 +14,7 @@ except ImportError: from kafka.vendor import selectors34 as selectors import socket +import struct import threading import time @@ -22,21 +23,16 @@ from kafka.vendor import six import kafka.errors as Errors from kafka.future import Future from kafka.metrics.stats import Avg, Count, Max, Rate -from kafka.protocol.admin import DescribeAclsRequest, DescribeClientQuotasRequest, ListGroupsRequest -from kafka.protocol.api_versions import ApiVersionsRequest -from kafka.protocol.broker_api_versions import BROKER_API_VERSIONS +from kafka.oauth.abstract import AbstractTokenProvider +from kafka.protocol.admin import SaslHandShakeRequest, DescribeAclsRequest_v2 from kafka.protocol.commit import OffsetFetchRequest -from kafka.protocol.fetch import FetchRequest -from kafka.protocol.find_coordinator import FindCoordinatorRequest -from kafka.protocol.list_offsets import ListOffsetsRequest -from kafka.protocol.metadata import MetadataRequest -from kafka.protocol.parser import KafkaProtocol +from kafka.protocol.offset import OffsetRequest from kafka.protocol.produce import ProduceRequest -from kafka.protocol.sasl_authenticate import SaslAuthenticateRequest -from kafka.protocol.sasl_handshake import SaslHandshakeRequest -from kafka.protocol.types import Int32 -from kafka.sasl import get_sasl_mechanism -from kafka.socks5_wrapper import Socks5Wrapper +from kafka.protocol.metadata import MetadataRequest +from kafka.protocol.fetch import FetchRequest +from kafka.protocol.parser import KafkaProtocol +from kafka.protocol.types import Int32, Int8 +from kafka.scram import ScramClient from kafka.version import __version__ @@ -49,6 +45,10 @@ log = logging.getLogger(__name__) DEFAULT_KAFKA_PORT = 9092 +SASL_QOP_AUTH = 1 +SASL_QOP_AUTH_INT = 2 +SASL_QOP_AUTH_CONF = 4 + try: import ssl ssl_available = True @@ -74,6 +74,15 @@ except ImportError: class SSLWantWriteError(Exception): pass +# needed for SASL_GSSAPI authentication: +try: + import gssapi + from gssapi.raw.misc import GSSError +except ImportError: + #no gssapi available, will disable gssapi mechanism + gssapi = None + GSSError = None + AFI_NAMES = { socket.AF_UNSPEC: "unspecified", @@ -83,13 +92,12 @@ AFI_NAMES = { class ConnectionStates(object): + DISCONNECTING = '' DISCONNECTED = '' CONNECTING = '' HANDSHAKE = '' CONNECTED = '' AUTHENTICATING = '' - API_VERSIONS_SEND = '' - API_VERSIONS_RECV = '' class BrokerConnection(object): @@ -101,10 +109,6 @@ class BrokerConnection(object): server-side log entries that correspond to this client. Also submitted to GroupCoordinator for logging with respect to consumer group administration. Default: 'kafka-python-{version}' - client_software_name (str): Sent to kafka broker for KIP-511. - Default: 'kafka-python' - client_software_version (str): Sent to kafka broker for KIP-511. - Default: The kafka-python version (via kafka.version). reconnect_backoff_ms (int): The amount of time in milliseconds to wait before attempting to reconnect to a given host. Default: 50. @@ -116,7 +120,7 @@ class BrokerConnection(object): reconnection attempts will continue periodically with this fixed rate. To avoid connection storms, a randomization factor of 0.2 will be applied to the backoff resulting in a random range between - 20% below and 20% above the computed value. Default: 30000. + 20% below and 20% above the computed value. Default: 1000. request_timeout_ms (int): Client request timeout in milliseconds. Default: 30000. max_in_flight_requests_per_connection (int): Requests are pipelined @@ -161,11 +165,11 @@ class BrokerConnection(object): or other configuration forbids use of all the specified ciphers), an ssl.SSLError will be raised. See ssl.SSLContext.set_ciphers api_version (tuple): Specify which Kafka API version to use. - Must be None or >= (0, 10, 0) to enable SASL authentication. - Default: None + Accepted values are: (0, 8, 0), (0, 8, 1), (0, 8, 2), (0, 9), + (0, 10). Default: (0, 8, 2) api_version_auto_timeout_ms (int): number of milliseconds to throw a timeout exception from the constructor when checking the broker - api version. Only applies if api_version is None. Default: 2000. + api version. Only applies if api_version is None selector (selectors.BaseSelector): Provide a specific selector implementation to use for I/O multiplexing. Default: selectors.DefaultSelector @@ -181,26 +185,20 @@ class BrokerConnection(object): Required if sasl_mechanism is PLAIN or one of the SCRAM mechanisms. sasl_plain_password (str): password for sasl PLAIN and SCRAM authentication. Required if sasl_mechanism is PLAIN or one of the SCRAM mechanisms. - sasl_kerberos_name (str or gssapi.Name): Constructed gssapi.Name for use with - sasl mechanism handshake. If provided, sasl_kerberos_service_name and - sasl_kerberos_domain name are ignored. Default: None. sasl_kerberos_service_name (str): Service name to include in GSSAPI sasl mechanism handshake. Default: 'kafka' sasl_kerberos_domain_name (str): kerberos domain name to use in GSSAPI sasl mechanism handshake. Default: one of bootstrap servers - sasl_oauth_token_provider (kafka.sasl.oauth.AbstractTokenProvider): OAuthBearer - token provider instance. Default: None - socks5_proxy (str): Socks5 proxy url. Default: None + sasl_oauth_token_provider (AbstractTokenProvider): OAuthBearer token provider + instance. (See kafka.oauth.abstract). Default: None """ DEFAULT_CONFIG = { 'client_id': 'kafka-python-' + __version__, - 'client_software_name': 'kafka-python', - 'client_software_version': __version__, 'node_id': 0, 'request_timeout_ms': 30000, 'reconnect_backoff_ms': 50, - 'reconnect_backoff_max_ms': 30000, + 'reconnect_backoff_max_ms': 1000, 'max_in_flight_requests_per_connection': 5, 'receive_buffer_bytes': None, 'send_buffer_bytes': None, @@ -216,8 +214,7 @@ class BrokerConnection(object): 'ssl_crlfile': None, 'ssl_password': None, 'ssl_ciphers': None, - 'api_version': None, - 'api_version_auto_timeout_ms': 2000, + 'api_version': (0, 8, 2), # default to most restrictive 'selector': selectors.DefaultSelector, 'state_change_callback': lambda node_id, sock, conn: True, 'metrics': None, @@ -225,19 +222,12 @@ class BrokerConnection(object): 'sasl_mechanism': None, 'sasl_plain_username': None, 'sasl_plain_password': None, - 'sasl_kerberos_name': None, 'sasl_kerberos_service_name': 'kafka', 'sasl_kerberos_domain_name': None, - 'sasl_oauth_token_provider': None, - 'socks5_proxy': None, + 'sasl_oauth_token_provider': None } SECURITY_PROTOCOLS = ('PLAINTEXT', 'SSL', 'SASL_PLAINTEXT', 'SASL_SSL') - VERSION_CHECKS = ( - ((0, 9), ListGroupsRequest[0]()), - ((0, 8, 2), FindCoordinatorRequest[0]('kafka-python-default-group')), - ((0, 8, 1), OffsetFetchRequest[0]('kafka-python-default-group', [])), - ((0, 8, 0), MetadataRequest[0]([])), - ) + SASL_MECHANISMS = ('PLAIN', 'GSSAPI', 'OAUTHBEARER', "SCRAM-SHA-256", "SCRAM-SHA-512") def __init__(self, host, port, afi, **configs): self.host = host @@ -246,11 +236,6 @@ class BrokerConnection(object): self._sock_afi = afi self._sock_addr = None self._api_versions = None - self._api_version = None - self._check_version_idx = None - self._api_versions_idx = 4 # version of ApiVersionsRequest to try on first connect - self._throttle_time = None - self._socks5_proxy = None self.config = copy.copy(self.DEFAULT_CONFIG) for key in self.config: @@ -274,8 +259,23 @@ class BrokerConnection(object): if self.config['security_protocol'] in ('SSL', 'SASL_SSL'): assert ssl_available, "Python wasn't built with SSL support" - self._init_sasl_mechanism() - + if self.config['security_protocol'] in ('SASL_PLAINTEXT', 'SASL_SSL'): + assert self.config['sasl_mechanism'] in self.SASL_MECHANISMS, ( + 'sasl_mechanism must be in ' + ', '.join(self.SASL_MECHANISMS)) + if self.config['sasl_mechanism'] in ('PLAIN', 'SCRAM-SHA-256', 'SCRAM-SHA-512'): + assert self.config['sasl_plain_username'] is not None, ( + 'sasl_plain_username required for PLAIN or SCRAM sasl' + ) + assert self.config['sasl_plain_password'] is not None, ( + 'sasl_plain_password required for PLAIN or SCRAM sasl' + ) + if self.config['sasl_mechanism'] == 'GSSAPI': + assert gssapi is not None, 'GSSAPI lib not available' + assert self.config['sasl_kerberos_service_name'] is not None, 'sasl_kerberos_service_name required for GSSAPI sasl' + if self.config['sasl_mechanism'] == 'OAUTHBEARER': + token_provider = self.config['sasl_oauth_token_provider'] + assert token_provider is not None, 'sasl_oauth_token_provider required for OAUTHBEARER sasl' + assert callable(getattr(token_provider, "token", None)), 'sasl_oauth_token_provider must implement method #token()' # This is not a general lock / this class is not generally thread-safe yet # However, to avoid pushing responsibility for maintaining # per-connection locks to the upstream client, we will use this lock to @@ -300,8 +300,6 @@ class BrokerConnection(object): self._ssl_context = None if self.config['ssl_context'] is not None: self._ssl_context = self.config['ssl_context'] - self._api_versions_future = None - self._api_versions_check_timeout = self.config['api_version_auto_timeout_ms'] self._sasl_auth_future = None self.last_attempt = 0 self._gai = [] @@ -311,17 +309,11 @@ class BrokerConnection(object): self.config['metric_group_prefix'], self.node_id) - def _init_sasl_mechanism(self): - if self.config['security_protocol'] in ('SASL_PLAINTEXT', 'SASL_SSL'): - self._sasl_mechanism = get_sasl_mechanism(self.config['sasl_mechanism'])(host=self.host, **self.config) - else: - self._sasl_mechanism = None - def _dns_lookup(self): self._gai = dns_lookup(self.host, self.port, self.afi) if not self._gai: - log.error('%s: DNS lookup failed for %s:%i (%s)', - self, self.host, self.port, self.afi) + log.error('DNS lookup failed for %s:%i (%s)', + self.host, self.port, self.afi) return False return True @@ -367,7 +359,6 @@ class BrokerConnection(object): def connect(self): """Attempt to connect and return ConnectionState""" if self.state is ConnectionStates.DISCONNECTED and not self.blacked_out(): - self.state = ConnectionStates.CONNECTING self.last_attempt = time.time() next_lookup = self._next_afi_sockaddr() if not next_lookup: @@ -377,21 +368,14 @@ class BrokerConnection(object): log.debug('%s: creating new socket', self) assert self._sock is None self._sock_afi, self._sock_addr = next_lookup - try: - if self.config["socks5_proxy"] is not None: - self._socks5_proxy = Socks5Wrapper(self.config["socks5_proxy"], self.afi) - self._sock = self._socks5_proxy.socket(self._sock_afi, socket.SOCK_STREAM) - else: - self._sock = socket.socket(self._sock_afi, socket.SOCK_STREAM) - except (socket.error, OSError) as e: - self.close(e) - return self.state + self._sock = socket.socket(self._sock_afi, socket.SOCK_STREAM) for option in self.config['socket_options']: log.debug('%s: setting socket option %s', self, option) self._sock.setsockopt(*option) self._sock.setblocking(False) + self.state = ConnectionStates.CONNECTING self.config['state_change_callback'](self.node_id, self._sock, self) log.info('%s: connecting to %s:%d [%s %s]', self, self.host, self.port, self._sock_addr, AFI_NAMES[self._sock_afi]) @@ -401,10 +385,7 @@ class BrokerConnection(object): # to check connection status ret = None try: - if self._socks5_proxy: - ret = self._socks5_proxy.connect_ex(self._sock_addr) - else: - ret = self._sock.connect_ex(self._sock_addr) + ret = self._sock.connect_ex(self._sock_addr) except socket.error as err: ret = err.errno @@ -413,20 +394,28 @@ class BrokerConnection(object): log.debug('%s: established TCP connection', self) if self.config['security_protocol'] in ('SSL', 'SASL_SSL'): - self.state = ConnectionStates.HANDSHAKE log.debug('%s: initiating SSL handshake', self) + self.state = ConnectionStates.HANDSHAKE self.config['state_change_callback'](self.node_id, self._sock, self) # _wrap_ssl can alter the connection state -- disconnects on failure self._wrap_ssl() + + elif self.config['security_protocol'] == 'SASL_PLAINTEXT': + log.debug('%s: initiating SASL authentication', self) + self.state = ConnectionStates.AUTHENTICATING + self.config['state_change_callback'](self.node_id, self._sock, self) + else: - self.state = ConnectionStates.API_VERSIONS_SEND - log.debug('%s: checking broker Api Versions', self) + # security_protocol PLAINTEXT + log.info('%s: Connection complete.', self) + self.state = ConnectionStates.CONNECTED + self._reset_reconnect_backoff() self.config['state_change_callback'](self.node_id, self._sock, self) # Connection failed # WSAEINVAL == 10022, but errno.WSAEINVAL is not available on non-win systems elif ret not in (errno.EINPROGRESS, errno.EALREADY, errno.EWOULDBLOCK, 10022): - log.error('%s: Connect attempt returned error %s.' + log.error('Connect attempt to %s returned error %s.' ' Disconnecting.', self, ret) errstr = errno.errorcode.get(ret, 'UNKNOWN') self.close(Errors.KafkaConnectionError('{} {}'.format(ret, errstr))) @@ -439,32 +428,22 @@ class BrokerConnection(object): if self.state is ConnectionStates.HANDSHAKE: if self._try_handshake(): log.debug('%s: completed SSL handshake.', self) - self.state = ConnectionStates.API_VERSIONS_SEND - log.debug('%s: checking broker Api Versions', self) + if self.config['security_protocol'] == 'SASL_SSL': + log.debug('%s: initiating SASL authentication', self) + self.state = ConnectionStates.AUTHENTICATING + else: + log.info('%s: Connection complete.', self) + self.state = ConnectionStates.CONNECTED + self._reset_reconnect_backoff() self.config['state_change_callback'](self.node_id, self._sock, self) - if self.state in (ConnectionStates.API_VERSIONS_SEND, ConnectionStates.API_VERSIONS_RECV): - if self._try_api_versions_check(): - # _try_api_versions_check has side-effects: possibly disconnected on socket errors - if self.state in (ConnectionStates.API_VERSIONS_SEND, ConnectionStates.API_VERSIONS_RECV): - if self.config['security_protocol'] in ('SASL_PLAINTEXT', 'SASL_SSL'): - self.state = ConnectionStates.AUTHENTICATING - log.debug('%s: initiating SASL authentication', self) - self.config['state_change_callback'](self.node_id, self._sock, self) - else: - # security_protocol PLAINTEXT - self.state = ConnectionStates.CONNECTED - log.info('%s: Connection complete.', self) - self._reset_reconnect_backoff() - self.config['state_change_callback'](self.node_id, self._sock, self) - if self.state is ConnectionStates.AUTHENTICATING: assert self.config['security_protocol'] in ('SASL_PLAINTEXT', 'SASL_SSL') if self._try_authenticate(): # _try_authenticate has side-effects: possibly disconnected on socket errors if self.state is ConnectionStates.AUTHENTICATING: - self.state = ConnectionStates.CONNECTED log.info('%s: Connection complete.', self) + self.state = ConnectionStates.CONNECTED self._reset_reconnect_backoff() self.config['state_change_callback'](self.node_id, self._sock, self) @@ -473,7 +452,7 @@ class BrokerConnection(object): # Connection timed out request_timeout = self.config['request_timeout_ms'] / 1000.0 if time.time() > request_timeout + self.last_attempt: - log.error('%s: Connection attempt timed out', self) + log.error('Connection attempt to %s timed out', self) self.close(Errors.KafkaConnectionError('timeout')) return self.state @@ -517,7 +496,7 @@ class BrokerConnection(object): try: self._sock = self._ssl_context.wrap_socket( self._sock, - server_hostname=self.host.rstrip("."), + server_hostname=self.host, do_handshake_on_connect=False) except ssl.SSLError as e: log.exception('%s: Failed to wrap socket in SSLContext!', self) @@ -532,136 +511,20 @@ class BrokerConnection(object): except (SSLWantReadError, SSLWantWriteError): pass except (SSLZeroReturnError, ConnectionError, TimeoutError, SSLEOFError): - log.warning('%s: SSL connection closed by server during handshake.', self) + log.warning('SSL connection closed by server during handshake.') self.close(Errors.KafkaConnectionError('SSL connection closed by server during handshake')) # Other SSLErrors will be raised to user return False - def _try_api_versions_check(self): - if self._api_versions_future is None: - if self.config['api_version'] is not None: - self._api_version = self.config['api_version'] - # api_version will be normalized by KafkaClient, so this should not happen - if self._api_version not in BROKER_API_VERSIONS: - raise Errors.UnrecognizedBrokerVersion('api_version %s not found in kafka.protocol.broker_api_versions' % (self._api_version,)) - self._api_versions = BROKER_API_VERSIONS[self._api_version] - log.debug('%s: Using pre-configured api_version %s for ApiVersions', self, self._api_version) - return True - elif self._check_version_idx is None: - version = self._api_versions_idx - if version >= 3: - request = ApiVersionsRequest[version]( - client_software_name=self.config['client_software_name'], - client_software_version=self.config['client_software_version'], - _tagged_fields={}) - else: - request = ApiVersionsRequest[version]() - future = Future() - self._api_versions_check_timeout /= 2 - response = self._send(request, blocking=True, request_timeout_ms=self._api_versions_check_timeout) - response.add_callback(self._handle_api_versions_response, future) - response.add_errback(self._handle_api_versions_failure, future) - self._api_versions_future = future - self.state = ConnectionStates.API_VERSIONS_RECV - self.config['state_change_callback'](self.node_id, self._sock, self) - elif self._check_version_idx < len(self.VERSION_CHECKS): - version, request = self.VERSION_CHECKS[self._check_version_idx] - future = Future() - self._api_versions_check_timeout /= 2 - response = self._send(request, blocking=True, request_timeout_ms=self._api_versions_check_timeout) - response.add_callback(self._handle_check_version_response, future, version) - response.add_errback(self._handle_check_version_failure, future) - self._api_versions_future = future - self.state = ConnectionStates.API_VERSIONS_RECV - self.config['state_change_callback'](self.node_id, self._sock, self) - else: - self.close(Errors.KafkaConnectionError('Unable to determine broker version.')) - return False - - for r, f in self.recv(): - f.success(r) - - # A connection error during blocking send could trigger close() which will reset the future - if self._api_versions_future is None: - return False - elif self._api_versions_future.failed(): - ex = self._api_versions_future.exception - if not isinstance(ex, Errors.KafkaConnectionError): - raise ex - return self._api_versions_future.succeeded() - - def _handle_api_versions_response(self, future, response): - error_type = Errors.for_code(response.error_code) - if error_type is not Errors.NoError: - future.failure(error_type()) - if error_type is Errors.UnsupportedVersionError: - self._api_versions_idx -= 1 - for api_version_data in response.api_versions: - api_key, min_version, max_version = api_version_data[:3] - # If broker provides a lower max_version, skip to that - if api_key == response.API_KEY: - self._api_versions_idx = min(self._api_versions_idx, max_version) - break - if self._api_versions_idx >= 0: - self._api_versions_future = None - self.state = ConnectionStates.API_VERSIONS_SEND - self.config['state_change_callback'](self.node_id, self._sock, self) - else: - self.close(error=error_type()) - return - self._api_versions = dict([ - (api_version_data[0], (api_version_data[1], api_version_data[2])) - for api_version_data in response.api_versions - ]) - self._api_version = self._infer_broker_version_from_api_versions(self._api_versions) - log.info('%s: Broker version identified as %s', self, '.'.join(map(str, self._api_version))) - future.success(self._api_version) - self.connect() - - def _handle_api_versions_failure(self, future, ex): - future.failure(ex) - # Modern brokers should not disconnect on unrecognized api-versions request, - # but in case they do we always want to try v0 as a fallback - # otherwise switch to check_version probe. - if self._api_versions_idx > 0: - self._api_versions_idx = 0 - else: - self._check_version_idx = 0 - # after failure connection is closed, so state should already be DISCONNECTED - - def _handle_check_version_response(self, future, version, _response): - log.info('%s: Broker version identified as %s', self, '.'.join(map(str, version))) - log.info('Set configuration api_version=%s to skip auto' - ' check_version requests on startup', version) - self._api_versions = BROKER_API_VERSIONS[version] - self._api_version = version - future.success(version) - self.connect() - - def _handle_check_version_failure(self, future, ex): - future.failure(ex) - self._check_version_idx += 1 - # after failure connection is closed, so state should already be DISCONNECTED - - def _sasl_handshake_version(self): - if self._api_versions is None: - raise RuntimeError('_api_versions not set') - if SaslHandshakeRequest[0].API_KEY not in self._api_versions: - raise Errors.UnsupportedVersionError('SaslHandshake') - - # Build a SaslHandshakeRequest message - min_version, max_version = self._api_versions[SaslHandshakeRequest[0].API_KEY] - if min_version > 1: - raise Errors.UnsupportedVersionError('SaslHandshake %s' % min_version) - return min(max_version, 1) - def _try_authenticate(self): + assert self.config['api_version'] is None or self.config['api_version'] >= (0, 10) + if self._sasl_auth_future is None: - version = self._sasl_handshake_version() - request = SaslHandshakeRequest[version](self.config['sasl_mechanism']) + # Build a SaslHandShakeRequest message + request = SaslHandShakeRequest[0](self.config['sasl_mechanism']) future = Future() - sasl_response = self._send(request, blocking=True) + sasl_response = self._send(request) sasl_response.add_callback(self._handle_sasl_handshake_response, future) sasl_response.add_errback(lambda f, e: f.failure(e), future) self._sasl_auth_future = future @@ -686,18 +549,23 @@ class BrokerConnection(object): return future.failure(error_type(self)) if self.config['sasl_mechanism'] not in response.enabled_mechanisms: - future.failure( + return future.failure( Errors.UnsupportedSaslMechanismError( 'Kafka broker does not support %s sasl mechanism. Enabled mechanisms are: %s' % (self.config['sasl_mechanism'], response.enabled_mechanisms))) + elif self.config['sasl_mechanism'] == 'PLAIN': + return self._try_authenticate_plain(future) + elif self.config['sasl_mechanism'] == 'GSSAPI': + return self._try_authenticate_gssapi(future) + elif self.config['sasl_mechanism'] == 'OAUTHBEARER': + return self._try_authenticate_oauth(future) + elif self.config['sasl_mechanism'].startswith("SCRAM-SHA-"): + return self._try_authenticate_scram(future) else: - self._sasl_authenticate(future) - - assert future.is_done, 'SASL future not complete after mechanism processing!' - if future.failed(): - self.close(error=future.exception) - else: - self.connect() + return future.failure( + Errors.UnsupportedSaslMechanismError( + 'kafka-python does not support SASL mechanism %s' % + self.config['sasl_mechanism'])) def _send_bytes(self, data): """Send some data via non-blocking IO @@ -726,7 +594,6 @@ class BrokerConnection(object): return total_sent def _send_bytes_blocking(self, data): - self._sock.setblocking(True) self._sock.settimeout(self.config['request_timeout_ms'] / 1000) total_sent = 0 try: @@ -738,10 +605,8 @@ class BrokerConnection(object): return total_sent finally: self._sock.settimeout(0.0) - self._sock.setblocking(False) def _recv_bytes_blocking(self, n): - self._sock.setblocking(True) self._sock.settimeout(self.config['request_timeout_ms'] / 1000) try: data = b'' @@ -753,76 +618,225 @@ class BrokerConnection(object): return data finally: self._sock.settimeout(0.0) - self._sock.setblocking(False) - def _send_sasl_authenticate(self, sasl_auth_bytes): - version = self._sasl_handshake_version() - if version == 1: - request = SaslAuthenticateRequest[0](sasl_auth_bytes) - self._send(request, blocking=True) - else: - log.debug('%s: Sending %d raw sasl auth bytes to server', self, len(sasl_auth_bytes)) - try: - self._send_bytes_blocking(Int32.encode(len(sasl_auth_bytes)) + sasl_auth_bytes) - except (ConnectionError, TimeoutError) as e: - log.exception("%s: Error sending sasl auth bytes to server", self) - err = Errors.KafkaConnectionError("%s: %s" % (self, e)) - self.close(error=err) + def _try_authenticate_plain(self, future): + if self.config['security_protocol'] == 'SASL_PLAINTEXT': + log.warning('%s: Sending username and password in the clear', self) - def _recv_sasl_authenticate(self): - version = self._sasl_handshake_version() - # GSSAPI mechanism does not get a final recv in old non-framed mode - if version == 0 and self._sasl_mechanism.is_done(): - return b'' + data = b'' + # Send PLAIN credentials per RFC-4616 + msg = bytes('\0'.join([self.config['sasl_plain_username'], + self.config['sasl_plain_username'], + self.config['sasl_plain_password']]).encode('utf-8')) + size = Int32.encode(len(msg)) - try: - data = self._recv_bytes_blocking(4) - nbytes = Int32.decode(io.BytesIO(data)) - data += self._recv_bytes_blocking(nbytes) - except (ConnectionError, TimeoutError) as e: - log.exception("%s: Error receiving sasl auth bytes from server", self) - err = Errors.KafkaConnectionError("%s: %s" % (self, e)) - self.close(error=err) - return - - if version == 1: - ((correlation_id, response),) = self._protocol.receive_bytes(data) - (future, timestamp, _timeout) = self.in_flight_requests.pop(correlation_id) - latency_ms = (time.time() - timestamp) * 1000 - if self._sensors: - self._sensors.request_time.record(latency_ms) - log.debug('%s: Response %d (%s ms): %s', self, correlation_id, latency_ms, response) - - error_type = Errors.for_code(response.error_code) - if error_type is not Errors.NoError: - log.error("%s: SaslAuthenticate error: %s (%s)", - self, error_type.__name__, response.error_message) - self.close(error=error_type(response.error_message)) - return - return response.auth_bytes - else: - # unframed bytes w/ SaslHandhake v0 - log.debug('%s: Received %d raw sasl auth bytes from server', self, nbytes) - return data[4:] - - def _sasl_authenticate(self, future): - while not self._sasl_mechanism.is_done(): - send_token = self._sasl_mechanism.auth_bytes() - self._send_sasl_authenticate(send_token) + err = None + close = False + with self._lock: if not self._can_send_recv(): - return future.failure(Errors.KafkaConnectionError("%s: Connection failure during Sasl Authenticate" % self)) - - recv_token = self._recv_sasl_authenticate() - if recv_token is None: - return future.failure(Errors.KafkaConnectionError("%s: Connection failure during Sasl Authenticate" % self)) + err = Errors.NodeNotReadyError(str(self)) + close = False else: - self._sasl_mechanism.receive(recv_token) + try: + self._send_bytes_blocking(size + msg) - if self._sasl_mechanism.is_authenticated(): - log.info('%s: %s', self, self._sasl_mechanism.auth_details()) - return future.success(True) + # The server will send a zero sized message (that is Int32(0)) on success. + # The connection is closed on failure + data = self._recv_bytes_blocking(4) + + except (ConnectionError, TimeoutError) as e: + log.exception("%s: Error receiving reply from server", self) + err = Errors.KafkaConnectionError("%s: %s" % (self, e)) + close = True + + if err is not None: + if close: + self.close(error=err) + return future.failure(err) + + if data != b'\x00\x00\x00\x00': + error = Errors.AuthenticationFailedError('Unrecognized response during authentication') + return future.failure(error) + + log.info('%s: Authenticated as %s via PLAIN', self, self.config['sasl_plain_username']) + return future.success(True) + + def _try_authenticate_scram(self, future): + if self.config['security_protocol'] == 'SASL_PLAINTEXT': + log.warning('%s: Exchanging credentials in the clear', self) + + scram_client = ScramClient( + self.config['sasl_plain_username'], self.config['sasl_plain_password'], self.config['sasl_mechanism'] + ) + + err = None + close = False + with self._lock: + if not self._can_send_recv(): + err = Errors.NodeNotReadyError(str(self)) + close = False + else: + try: + client_first = scram_client.first_message().encode('utf-8') + size = Int32.encode(len(client_first)) + self._send_bytes_blocking(size + client_first) + + (data_len,) = struct.unpack('>i', self._recv_bytes_blocking(4)) + server_first = self._recv_bytes_blocking(data_len).decode('utf-8') + scram_client.process_server_first_message(server_first) + + client_final = scram_client.final_message().encode('utf-8') + size = Int32.encode(len(client_final)) + self._send_bytes_blocking(size + client_final) + + (data_len,) = struct.unpack('>i', self._recv_bytes_blocking(4)) + server_final = self._recv_bytes_blocking(data_len).decode('utf-8') + scram_client.process_server_final_message(server_final) + + except (ConnectionError, TimeoutError) as e: + log.exception("%s: Error receiving reply from server", self) + err = Errors.KafkaConnectionError("%s: %s" % (self, e)) + close = True + + if err is not None: + if close: + self.close(error=err) + return future.failure(err) + + log.info( + '%s: Authenticated as %s via %s', self, self.config['sasl_plain_username'], self.config['sasl_mechanism'] + ) + return future.success(True) + + def _try_authenticate_gssapi(self, future): + kerberos_damin_name = self.config['sasl_kerberos_domain_name'] or self.host + auth_id = self.config['sasl_kerberos_service_name'] + '@' + kerberos_damin_name + gssapi_name = gssapi.Name( + auth_id, + name_type=gssapi.NameType.hostbased_service + ).canonicalize(gssapi.MechType.kerberos) + log.debug('%s: GSSAPI name: %s', self, gssapi_name) + + err = None + close = False + with self._lock: + if not self._can_send_recv(): + err = Errors.NodeNotReadyError(str(self)) + close = False + else: + # Establish security context and negotiate protection level + # For reference RFC 2222, section 7.2.1 + try: + # Exchange tokens until authentication either succeeds or fails + client_ctx = gssapi.SecurityContext(name=gssapi_name, usage='initiate') + received_token = None + while not client_ctx.complete: + # calculate an output token from kafka token (or None if first iteration) + output_token = client_ctx.step(received_token) + + # pass output token to kafka, or send empty response if the security + # context is complete (output token is None in that case) + if output_token is None: + self._send_bytes_blocking(Int32.encode(0)) + else: + msg = output_token + size = Int32.encode(len(msg)) + self._send_bytes_blocking(size + msg) + + # The server will send a token back. Processing of this token either + # establishes a security context, or it needs further token exchange. + # The gssapi will be able to identify the needed next step. + # The connection is closed on failure. + header = self._recv_bytes_blocking(4) + (token_size,) = struct.unpack('>i', header) + received_token = self._recv_bytes_blocking(token_size) + + # Process the security layer negotiation token, sent by the server + # once the security context is established. + + # unwraps message containing supported protection levels and msg size + msg = client_ctx.unwrap(received_token).message + # Kafka currently doesn't support integrity or confidentiality security layers, so we + # simply set QoP to 'auth' only (first octet). We reuse the max message size proposed + # by the server + msg = Int8.encode(SASL_QOP_AUTH & Int8.decode(io.BytesIO(msg[0:1]))) + msg[1:] + # add authorization identity to the response, GSS-wrap and send it + msg = client_ctx.wrap(msg + auth_id.encode(), False).message + size = Int32.encode(len(msg)) + self._send_bytes_blocking(size + msg) + + except (ConnectionError, TimeoutError) as e: + log.exception("%s: Error receiving reply from server", self) + err = Errors.KafkaConnectionError("%s: %s" % (self, e)) + close = True + except Exception as e: + err = e + close = True + + if err is not None: + if close: + self.close(error=err) + return future.failure(err) + + log.info('%s: Authenticated as %s via GSSAPI', self, gssapi_name) + return future.success(True) + + def _try_authenticate_oauth(self, future): + data = b'' + + msg = bytes(self._build_oauth_client_request().encode("utf-8")) + size = Int32.encode(len(msg)) + + err = None + close = False + with self._lock: + if not self._can_send_recv(): + err = Errors.NodeNotReadyError(str(self)) + close = False + else: + try: + # Send SASL OAuthBearer request with OAuth token + self._send_bytes_blocking(size + msg) + + # The server will send a zero sized message (that is Int32(0)) on success. + # The connection is closed on failure + data = self._recv_bytes_blocking(4) + + except (ConnectionError, TimeoutError) as e: + log.exception("%s: Error receiving reply from server", self) + err = Errors.KafkaConnectionError("%s: %s" % (self, e)) + close = True + + if err is not None: + if close: + self.close(error=err) + return future.failure(err) + + if data != b'\x00\x00\x00\x00': + error = Errors.AuthenticationFailedError('Unrecognized response during authentication') + return future.failure(error) + + log.info('%s: Authenticated via OAuth', self) + return future.success(True) + + def _build_oauth_client_request(self): + token_provider = self.config['sasl_oauth_token_provider'] + return "n,,\x01auth=Bearer {}{}\x01\x01".format(token_provider.token(), self._token_extensions()) + + def _token_extensions(self): + """ + Return a string representation of the OPTIONAL key-value pairs that can be sent with an OAUTHBEARER + initial request. + """ + token_provider = self.config['sasl_oauth_token_provider'] + + # Only run if the #extensions() method is implemented by the clients Token Provider class + # Builds up a string separated by \x01 via a dict of key value pairs + if callable(getattr(token_provider, "extensions", None)) and len(token_provider.extensions()) > 0: + msg = "\x01".join(["{}={}".format(k, v) for k, v in token_provider.extensions().items()]) + return "\x01" + msg else: - return future.failure(Errors.SaslAuthenticationFailedError('Failed to authenticate via SASL %s' % self.config['sasl_mechanism'])) + return "" def blacked_out(self): """ @@ -830,43 +844,20 @@ class BrokerConnection(object): re-establish a connection yet """ if self.state is ConnectionStates.DISCONNECTED: - return self.connection_delay() > 0 + if time.time() < self.last_attempt + self._reconnect_backoff: + return True return False - def throttled(self): - """ - Return True if we are connected but currently throttled. - """ - if self.state is not ConnectionStates.CONNECTED: - return False - return self.throttle_delay() > 0 - - def throttle_delay(self): - """ - Return the number of milliseconds to wait until connection is no longer throttled. - """ - if self._throttle_time is not None: - remaining_ms = (self._throttle_time - time.time()) * 1000 - if remaining_ms > 0: - return remaining_ms - else: - self._throttle_time = None - return 0 - return 0 - def connection_delay(self): """ Return the number of milliseconds to wait, based on the connection - state, before attempting to send data. When connecting or disconnected, - this respects the reconnect backoff time. When connected, returns a very + state, before attempting to send data. When disconnected, this respects + the reconnect backoff time. When connecting or connected, returns a very large number to handle slow/stalled connections. """ - if self.disconnected() or self.connecting(): - if len(self._gai) > 0: - return 0 - else: - time_waited = time.time() - self.last_attempt - return max(self._reconnect_backoff - time_waited, 0) * 1000 + time_waited = time.time() - (self.last_attempt or 0) + if self.state is ConnectionStates.DISCONNECTED: + return max(self._reconnect_backoff - time_waited, 0) * 1000 else: # When connecting or connected, we should be able to delay # indefinitely since other events (connection or data acked) will @@ -882,33 +873,16 @@ class BrokerConnection(object): different states, such as SSL handshake, authorization, etc).""" return self.state in (ConnectionStates.CONNECTING, ConnectionStates.HANDSHAKE, - ConnectionStates.AUTHENTICATING, - ConnectionStates.API_VERSIONS_SEND, - ConnectionStates.API_VERSIONS_RECV) - - def initializing(self): - """Returns True if socket is connected but full connection is not complete. - During this time the connection may send api requests to the broker to - check api versions and perform SASL authentication.""" - return self.state in (ConnectionStates.AUTHENTICATING, - ConnectionStates.API_VERSIONS_SEND, - ConnectionStates.API_VERSIONS_RECV) + ConnectionStates.AUTHENTICATING) def disconnected(self): """Return True iff socket is closed""" return self.state is ConnectionStates.DISCONNECTED - def connect_failed(self): - """Return True iff connection attempt failed after attempting all dns records""" - return self.disconnected() and self.last_attempt >= 0 and len(self._gai) == 0 - def _reset_reconnect_backoff(self): self._failures = 0 self._reconnect_backoff = self.config['reconnect_backoff_ms'] / 1000.0 - def _reconnect_jitter_pct(self): - return uniform(0.8, 1.2) - def _update_reconnect_backoff(self): # Do not mark as failure if there are more dns entries available to try if len(self._gai) > 0: @@ -917,7 +891,7 @@ class BrokerConnection(object): self._failures += 1 self._reconnect_backoff = self.config['reconnect_backoff_ms'] * 2 ** (self._failures - 1) self._reconnect_backoff = min(self._reconnect_backoff, self.config['reconnect_backoff_max_ms']) - self._reconnect_backoff *= self._reconnect_jitter_pct() + self._reconnect_backoff *= uniform(0.8, 1.2) self._reconnect_backoff /= 1000.0 log.debug('%s: reconnect backoff %s after %s failures', self, self._reconnect_backoff, self._failures) @@ -942,12 +916,9 @@ class BrokerConnection(object): with self._lock: if self.state is ConnectionStates.DISCONNECTED: return - log.log(logging.ERROR if error else logging.INFO, '%s: Closing connection. %s', self, error or '') - if error: - self._update_reconnect_backoff() - self._api_versions_future = None + log.info('%s: Closing connection. %s', self, error or '') + self._update_reconnect_backoff() self._sasl_auth_future = None - self._init_sasl_mechanism() self._protocol = KafkaProtocol( client_id=self.config['client_id'], api_version=self.config['api_version']) @@ -967,43 +938,27 @@ class BrokerConnection(object): # drop lock before state change callback and processing futures self.config['state_change_callback'](self.node_id, sock, self) - if sock: - sock.close() - for (_correlation_id, (future, _timestamp, _timeout)) in ifrs: + sock.close() + for (_correlation_id, (future, _timestamp)) in ifrs: future.failure(error) def _can_send_recv(self): """Return True iff socket is ready for requests / responses""" - return self.connected() or self.initializing() + return self.state in (ConnectionStates.AUTHENTICATING, + ConnectionStates.CONNECTED) - def send(self, request, blocking=True, request_timeout_ms=None): - """Queue request for async network send, return Future() - - Arguments: - request (Request): kafka protocol request object to send. - - Keyword Arguments: - blocking (bool, optional): Whether to immediately send via - blocking socket I/O. Default: True. - request_timeout_ms: Custom timeout in milliseconds for request. - Default: None (uses value from connection configuration) - - Returns: future - """ + def send(self, request, blocking=True): + """Queue request for async network send, return Future()""" future = Future() if self.connecting(): return future.failure(Errors.NodeNotReadyError(str(self))) elif not self.connected(): return future.failure(Errors.KafkaConnectionError(str(self))) elif not self.can_send_more(): - # very small race here, but prefer it over breaking abstraction to check self._throttle_time - if self.throttled(): - return future.failure(Errors.ThrottlingQuotaExceededError(str(self))) return future.failure(Errors.TooManyInFlightRequests(str(self))) - return self._send(request, blocking=blocking, request_timeout_ms=request_timeout_ms) + return self._send(request, blocking=blocking) - def _send(self, request, blocking=True, request_timeout_ms=None): - request_timeout_ms = request_timeout_ms or self.config['request_timeout_ms'] + def _send(self, request, blocking=True): future = Future() with self._lock: if not self._can_send_recv(): @@ -1014,12 +969,11 @@ class BrokerConnection(object): correlation_id = self._protocol.send_request(request) - log.debug('%s: Request %d (timeout_ms %s): %s', self, correlation_id, request_timeout_ms, request) + log.debug('%s Request %d: %s', self, correlation_id, request) if request.expect_response(): - assert correlation_id not in self.in_flight_requests, 'Correlation ID already in-flight!' sent_time = time.time() - timeout_at = sent_time + (request_timeout_ms / 1000) - self.in_flight_requests[correlation_id] = (future, sent_time, timeout_at) + assert correlation_id not in self.in_flight_requests, 'Correlation ID already in-flight!' + self.in_flight_requests[correlation_id] = (future, sent_time) else: future.success(None) @@ -1048,7 +1002,7 @@ class BrokerConnection(object): return True except (ConnectionError, TimeoutError) as e: - log.exception("%s: Error sending request data", self) + log.exception("Error sending request data to %s", self) error = Errors.KafkaConnectionError("%s: %s" % (self, e)) self.close(error=error) return False @@ -1081,31 +1035,13 @@ class BrokerConnection(object): return len(self._send_buffer) == 0 except (ConnectionError, TimeoutError, Exception) as e: - log.exception("%s: Error sending request data", self) + log.exception("Error sending request data to %s", self) error = Errors.KafkaConnectionError("%s: %s" % (self, e)) self.close(error=error) return False - def _maybe_throttle(self, response): - throttle_time_ms = getattr(response, 'throttle_time_ms', 0) - if self._sensors: - self._sensors.throttle_time.record(throttle_time_ms) - if not throttle_time_ms: - if self._throttle_time is not None: - self._throttle_time = None - return - # Client side throttling enabled in v2.0 brokers - # prior to that throttling (if present) was managed broker-side - if self.config['api_version'] is not None and self.config['api_version'] >= (2, 0): - throttle_time = time.time() + throttle_time_ms / 1000 - self._throttle_time = max(throttle_time, self._throttle_time or 0) - log.warning("%s: %s throttled by broker (%d ms)", self, - response.__class__.__name__, throttle_time_ms) - def can_send_more(self): - """Check for throttling / quota violations and max in-flight-requests""" - if self.throttle_delay() > 0: - return False + """Return True unless there are max_in_flight_requests_per_connection.""" max_ifrs = self.config['max_in_flight_requests_per_connection'] return len(self.in_flight_requests) < max_ifrs @@ -1116,20 +1052,18 @@ class BrokerConnection(object): """ responses = self._recv() if not responses and self.requests_timed_out(): - timed_out = self.timed_out_ifrs() - timeout_ms = (timed_out[0][2] - timed_out[0][1]) * 1000 - log.warning('%s: timed out after %s ms. Closing connection.', - self, timeout_ms) + log.warning('%s timed out after %s ms. Closing connection.', + self, self.config['request_timeout_ms']) self.close(error=Errors.RequestTimedOutError( 'Request timed out after %s ms' % - timeout_ms)) + self.config['request_timeout_ms'])) return () # augment responses w/ correlation_id, future, and timestamp for i, (correlation_id, response) in enumerate(responses): try: with self._lock: - (future, timestamp, _timeout) = self.in_flight_requests.pop(correlation_id) + (future, timestamp) = self.in_flight_requests.pop(correlation_id) except KeyError: self.close(Errors.KafkaConnectionError('Received unrecognized correlation id')) return () @@ -1137,8 +1071,7 @@ class BrokerConnection(object): if self._sensors: self._sensors.request_time.record(latency_ms) - log.debug('%s: Response %d (%s ms): %s', self, correlation_id, latency_ms, response) - self._maybe_throttle(response) + log.debug('%s Response %d (%s ms): %s', self, correlation_id, latency_ms, response) responses[i] = (response, future) return responses @@ -1149,7 +1082,7 @@ class BrokerConnection(object): err = None with self._lock: if not self._can_send_recv(): - log.warning('%s: cannot recv: socket not connected', self) + log.warning('%s cannot recv: socket not connected', self) return () while len(recvd) < self.config['sock_chunk_buffer_count']: @@ -1199,30 +1132,36 @@ class BrokerConnection(object): return () def requests_timed_out(self): - return self.next_ifr_request_timeout_ms() == 0 - - def timed_out_ifrs(self): - now = time.time() - ifrs = sorted(self.in_flight_requests.values(), reverse=True, key=lambda ifr: ifr[2]) - return list(filter(lambda ifr: ifr[2] <= now, ifrs)) - - def next_ifr_request_timeout_ms(self): with self._lock: if self.in_flight_requests: - def get_timeout(v): - return v[2] - next_timeout = min(map(get_timeout, - self.in_flight_requests.values())) - return max(0, (next_timeout - time.time()) * 1000) - else: - return float('inf') + get_timestamp = lambda v: v[1] + oldest_at = min(map(get_timestamp, + self.in_flight_requests.values())) + timeout = self.config['request_timeout_ms'] / 1000.0 + if time.time() >= oldest_at + timeout: + return True + return False + + def _handle_api_version_response(self, response): + error_type = Errors.for_code(response.error_code) + assert error_type is Errors.NoError, "API version check failed" + self._api_versions = dict([ + (api_key, (min_version, max_version)) + for api_key, min_version, max_version in response.api_versions + ]) + return self._api_versions def get_api_versions(self): - # _api_versions is set as a side effect of first connection - # which should typically be bootstrap, but call check_version - # if that hasn't happened yet - if self._api_versions is None: - self.check_version() + if self._api_versions is not None: + return self._api_versions + + version = self.check_version() + if version < (0, 10, 0): + raise Errors.UnsupportedVersionError( + "ApiVersion not supported by cluster version {} < 0.10.0" + .format(version)) + # _api_versions is set as a side effect of check_versions() on a cluster + # that supports 0.10.0 or later return self._api_versions def _infer_broker_version_from_api_versions(self, api_versions): @@ -1230,69 +1169,139 @@ class BrokerConnection(object): # in reverse order. As soon as we find one that works, return it test_cases = [ # format (, ) - # Make sure to update consumer_integration test check when adding newer versions. - # ((3, 9), FetchRequest[17]), - # ((3, 8), ProduceRequest[11]), - # ((3, 7), FetchRequest[16]), - # ((3, 6), AddPartitionsToTxnRequest[4]), - # ((3, 5), FetchRequest[15]), - # ((3, 4), StopReplicaRequest[3]), # broker-internal api... - # ((3, 3), DescribeAclsRequest[3]), - # ((3, 2), JoinGroupRequest[9]), - # ((3, 1), FetchRequest[13]), - # ((3, 0), ListOffsetsRequest[7]), - # ((2, 8), ProduceRequest[9]), - # ((2, 7), FetchRequest[12]), - # ((2, 6), ListGroupsRequest[4]), - # ((2, 5), JoinGroupRequest[7]), - ((2, 6), DescribeClientQuotasRequest[0]), - ((2, 5), DescribeAclsRequest[2]), - ((2, 4), ProduceRequest[8]), - ((2, 3), FetchRequest[11]), - ((2, 2), ListOffsetsRequest[5]), - ((2, 1), FetchRequest[10]), - ((2, 0), FetchRequest[8]), - ((1, 1), FetchRequest[7]), - ((1, 0), MetadataRequest[5]), - ((0, 11), MetadataRequest[4]), + ((2, 5, 0), DescribeAclsRequest_v2), + ((2, 4, 0), ProduceRequest[8]), + ((2, 3, 0), FetchRequest[11]), + ((2, 2, 0), OffsetRequest[5]), + ((2, 1, 0), FetchRequest[10]), + ((2, 0, 0), FetchRequest[8]), + ((1, 1, 0), FetchRequest[7]), + ((1, 0, 0), MetadataRequest[5]), + ((0, 11, 0), MetadataRequest[4]), ((0, 10, 2), OffsetFetchRequest[2]), ((0, 10, 1), MetadataRequest[2]), ] # Get the best match of test cases - for broker_version, proto_struct in sorted(test_cases, reverse=True): - if proto_struct.API_KEY not in api_versions: + for broker_version, struct in sorted(test_cases, reverse=True): + if struct.API_KEY not in api_versions: continue - min_version, max_version = api_versions[proto_struct.API_KEY] - if min_version <= proto_struct.API_VERSION <= max_version: + min_version, max_version = api_versions[struct.API_KEY] + if min_version <= struct.API_VERSION <= max_version: return broker_version - # We know that ApiVersionsResponse is only supported in 0.10+ + # We know that ApiVersionResponse is only supported in 0.10+ # so if all else fails, choose that return (0, 10, 0) - def check_version(self, timeout=2, **kwargs): + def check_version(self, timeout=2, strict=False, topics=[]): """Attempt to guess the broker version. - Keyword Arguments: - timeout (numeric, optional): Maximum number of seconds to block attempting - to connect and check version. Default 2 - Note: This is a blocking call. - Returns: version tuple, i.e. (3, 9), (2, 4), etc ... - - Raises: NodeNotReadyError on timeout + Returns: version tuple, i.e. (0, 10), (0, 9), (0, 8, 2), ... """ timeout_at = time.time() + timeout - if not self.connect_blocking(timeout_at - time.time()): - raise Errors.NodeNotReadyError() + log.info('Probing node %s broker version', self.node_id) + # Monkeypatch some connection configurations to avoid timeouts + override_config = { + 'request_timeout_ms': timeout * 1000, + 'max_in_flight_requests_per_connection': 5 + } + stashed = {} + for key in override_config: + stashed[key] = self.config[key] + self.config[key] = override_config[key] + + def reset_override_configs(): + for key in stashed: + self.config[key] = stashed[key] + + # kafka kills the connection when it doesn't recognize an API request + # so we can send a test request and then follow immediately with a + # vanilla MetadataRequest. If the server did not recognize the first + # request, both will be failed with a ConnectionError that wraps + # socket.error (32, 54, or 104) + from kafka.protocol.admin import ApiVersionRequest, ListGroupsRequest + from kafka.protocol.commit import OffsetFetchRequest, GroupCoordinatorRequest + + test_cases = [ + # All cases starting from 0.10 will be based on ApiVersionResponse + ((0, 10), ApiVersionRequest[0]()), + ((0, 9), ListGroupsRequest[0]()), + ((0, 8, 2), GroupCoordinatorRequest[0]('kafka-python-default-group')), + ((0, 8, 1), OffsetFetchRequest[0]('kafka-python-default-group', [])), + ((0, 8, 0), MetadataRequest[0](topics)), + ] + + for version, request in test_cases: + if not self.connect_blocking(timeout_at - time.time()): + reset_override_configs() + raise Errors.NodeNotReadyError() + f = self.send(request) + # HACK: sleeping to wait for socket to send bytes + time.sleep(0.1) + # when broker receives an unrecognized request API + # it abruptly closes our socket. + # so we attempt to send a second request immediately + # that we believe it will definitely recognize (metadata) + # the attempt to write to a disconnected socket should + # immediately fail and allow us to infer that the prior + # request was unrecognized + mr = self.send(MetadataRequest[0](topics)) + + selector = self.config['selector']() + selector.register(self._sock, selectors.EVENT_READ) + while not (f.is_done and mr.is_done): + selector.select(1) + for response, future in self.recv(): + future.success(response) + selector.close() + + if f.succeeded(): + if isinstance(request, ApiVersionRequest[0]): + # Starting from 0.10 kafka broker we determine version + # by looking at ApiVersionResponse + api_versions = self._handle_api_version_response(f.value) + version = self._infer_broker_version_from_api_versions(api_versions) + log.info('Broker version identified as %s', '.'.join(map(str, version))) + log.info('Set configuration api_version=%s to skip auto' + ' check_version requests on startup', version) + break + + # Only enable strict checking to verify that we understand failure + # modes. For most users, the fact that the request failed should be + # enough to rule out a particular broker version. + if strict: + # If the socket flush hack did not work (which should force the + # connection to close and fail all pending requests), then we + # get a basic Request Timeout. This is not ideal, but we'll deal + if isinstance(f.exception, Errors.RequestTimedOutError): + pass + + # 0.9 brokers do not close the socket on unrecognized api + # requests (bug...). In this case we expect to see a correlation + # id mismatch + elif (isinstance(f.exception, Errors.CorrelationIdError) and + version == (0, 10)): + pass + elif six.PY2: + assert isinstance(f.exception.args[0], socket.error) + assert f.exception.args[0].errno in (32, 54, 104) + else: + assert isinstance(f.exception.args[0], ConnectionError) + log.info("Broker is not v%s -- it did not recognize %s", + version, request.__class__.__name__) else: - return self._api_version + reset_override_configs() + raise Errors.UnrecognizedBrokerVersion() + + reset_override_configs() + return version def __str__(self): - return "" % ( - self.config['client_id'], self.node_id, self.host, self.port, self.state, + return "" % ( + self.node_id, self.host, self.port, self.state, AFI_NAMES[self._sock_afi], self._sock_addr) @@ -1349,16 +1358,6 @@ class BrokerConnectionMetrics(object): 'The maximum request latency in ms.'), Max()) - throttle_time = metrics.sensor('throttle-time') - throttle_time.add(metrics.metric_name( - 'throttle-time-avg', metric_group_name, - 'The average throttle time in ms.'), - Avg()) - throttle_time.add(metrics.metric_name( - 'throttle-time-max', metric_group_name, - 'The maximum throttle time in ms.'), - Max()) - # if one sensor of the metrics has been registered for the connection, # then all other sensors should have been registered; and vice versa node_str = 'node-{0}'.format(node_id) @@ -1410,23 +1409,9 @@ class BrokerConnectionMetrics(object): 'The maximum request latency in ms.'), Max()) - throttle_time = metrics.sensor( - node_str + '.throttle', - parents=[metrics.get_sensor('throttle-time')]) - throttle_time.add(metrics.metric_name( - 'throttle-time-avg', metric_group_name, - 'The average throttle time in ms.'), - Avg()) - throttle_time.add(metrics.metric_name( - 'throttle-time-max', metric_group_name, - 'The maximum throttle time in ms.'), - Max()) - - self.bytes_sent = metrics.sensor(node_str + '.bytes-sent') self.bytes_received = metrics.sensor(node_str + '.bytes-received') self.request_time = metrics.sensor(node_str + '.latency') - self.throttle_time = metrics.sensor(node_str + '.throttle') def _address_family(address): @@ -1496,6 +1481,32 @@ def get_ip_port_afi(host_and_port_str): return host, port, af +def collect_hosts(hosts, randomize=True): + """ + Collects a comma-separated set of hosts (host:port) and optionally + randomize the returned list. + """ + + if isinstance(hosts, six.string_types): + hosts = hosts.strip().split(',') + + result = [] + afi = socket.AF_INET + for host_port in hosts: + + host, port, afi = get_ip_port_afi(host_port) + + if port < 0: + port = DEFAULT_KAFKA_PORT + + result.append((host, port, afi)) + + if randomize: + shuffle(result) + + return result + + def is_inet_4_or_6(gai): """Given a getaddrinfo struct, return True iff ipv4 or ipv6""" return gai[0] in (socket.AF_INET, socket.AF_INET6) diff --git a/venv/lib/python3.12/site-packages/kafka/consumer/fetcher.py b/venv/lib/python3.12/site-packages/kafka/consumer/fetcher.py index 1689b23..e4f8c18 100644 --- a/venv/lib/python3.12/site-packages/kafka/consumer/fetcher.py +++ b/venv/lib/python3.12/site-packages/kafka/consumer/fetcher.py @@ -1,9 +1,9 @@ -from __future__ import absolute_import, division +from __future__ import absolute_import import collections import copy -import itertools import logging +import random import sys import time @@ -12,14 +12,13 @@ from kafka.vendor import six import kafka.errors as Errors from kafka.future import Future from kafka.metrics.stats import Avg, Count, Max, Rate -from kafka.protocol.fetch import FetchRequest, AbortedTransaction -from kafka.protocol.list_offsets import ( - ListOffsetsRequest, OffsetResetStrategy, UNKNOWN_OFFSET +from kafka.protocol.fetch import FetchRequest +from kafka.protocol.offset import ( + OffsetRequest, OffsetResetStrategy, UNKNOWN_OFFSET ) from kafka.record import MemoryRecords from kafka.serializer import Deserializer -from kafka.structs import TopicPartition, OffsetAndMetadata, OffsetAndTimestamp -from kafka.util import Timer +from kafka.structs import TopicPartition, OffsetAndTimestamp log = logging.getLogger(__name__) @@ -28,13 +27,8 @@ log = logging.getLogger(__name__) READ_UNCOMMITTED = 0 READ_COMMITTED = 1 -ISOLATION_LEVEL_CONFIG = { - 'read_uncommitted': READ_UNCOMMITTED, - 'read_committed': READ_COMMITTED, -} - ConsumerRecord = collections.namedtuple("ConsumerRecord", - ["topic", "partition", "leader_epoch", "offset", "timestamp", "timestamp_type", + ["topic", "partition", "offset", "timestamp", "timestamp_type", "key", "value", "headers", "checksum", "serialized_key_size", "serialized_value_size", "serialized_header_size"]) @@ -43,10 +37,6 @@ CompletedFetch = collections.namedtuple("CompletedFetch", "partition_data", "metric_aggregator"]) -ExceptionMetadata = collections.namedtuple("ExceptionMetadata", - ["partition", "fetched_offset", "exception"]) - - class NoOffsetForPartitionError(Errors.KafkaError): pass @@ -65,15 +55,13 @@ class Fetcher(six.Iterator): 'max_partition_fetch_bytes': 1048576, 'max_poll_records': sys.maxsize, 'check_crcs': True, - 'metrics': None, + 'iterator_refetch_records': 1, # undocumented -- interface may change 'metric_group_prefix': 'consumer', - 'request_timeout_ms': 30000, - 'retry_backoff_ms': 100, - 'enable_incremental_fetch_sessions': True, - 'isolation_level': 'read_uncommitted', + 'api_version': (0, 8, 0), + 'retry_backoff_ms': 100 } - def __init__(self, client, subscriptions, **configs): + def __init__(self, client, subscriptions, metrics, **configs): """Initialize a Kafka Message Fetcher. Keyword Arguments: @@ -81,8 +69,6 @@ class Fetcher(six.Iterator): raw message key and returns a deserialized key. value_deserializer (callable, optional): Any callable that takes a raw message value and returns a deserialized value. - enable_incremental_fetch_sessions: (bool): Use incremental fetch sessions - when available / supported by kafka broker. See KIP-227. Default: True. fetch_min_bytes (int): Minimum amount of data the server should return for a fetch request, otherwise wait up to fetch_max_wait_ms for more data to accumulate. Default: 1. @@ -111,33 +97,20 @@ class Fetcher(six.Iterator): consumed. This ensures no on-the-wire or on-disk corruption to the messages occurred. This check adds some overhead, so it may be disabled in cases seeking extreme performance. Default: True - isolation_level (str): Configure KIP-98 transactional consumer by - setting to 'read_committed'. This will cause the consumer to - skip records from aborted tranactions. Default: 'read_uncommitted' """ self.config = copy.copy(self.DEFAULT_CONFIG) for key in self.config: if key in configs: self.config[key] = configs[key] - if self.config['isolation_level'] not in ISOLATION_LEVEL_CONFIG: - raise Errors.KafkaConfigurationError('Unrecognized isolation_level') - self._client = client self._subscriptions = subscriptions self._completed_fetches = collections.deque() # Unparsed responses self._next_partition_records = None # Holds a single PartitionRecords until fully consumed self._iterator = None self._fetch_futures = collections.deque() - if self.config['metrics']: - self._sensors = FetchManagerMetrics(self.config['metrics'], self.config['metric_group_prefix']) - else: - self._sensors = None - self._isolation_level = ISOLATION_LEVEL_CONFIG[self.config['isolation_level']] - self._session_handlers = {} - self._nodes_with_pending_fetch_requests = set() - self._cached_list_offsets_exception = None - self._next_in_line_exception_metadata = None + self._sensors = FetchManagerMetrics(metrics, self.config['metric_group_prefix']) + self._isolation_level = READ_UNCOMMITTED def send_fetches(self): """Send FetchRequests for all assigned partitions that do not already have @@ -147,18 +120,29 @@ class Fetcher(six.Iterator): List of Futures: each future resolves to a FetchResponse """ futures = [] - for node_id, (request, fetch_offsets) in six.iteritems(self._create_fetch_requests()): - log.debug("Sending FetchRequest to node %s", node_id) - self._nodes_with_pending_fetch_requests.add(node_id) - future = self._client.send(node_id, request, wakeup=False) - future.add_callback(self._handle_fetch_response, node_id, fetch_offsets, time.time()) - future.add_errback(self._handle_fetch_error, node_id) - future.add_both(self._clear_pending_fetch_request, node_id) - futures.append(future) + for node_id, request in six.iteritems(self._create_fetch_requests()): + if self._client.ready(node_id): + log.debug("Sending FetchRequest to node %s", node_id) + future = self._client.send(node_id, request, wakeup=False) + future.add_callback(self._handle_fetch_response, request, time.time()) + future.add_errback(log.error, 'Fetch to node %s failed: %s', node_id) + futures.append(future) self._fetch_futures.extend(futures) self._clean_done_fetch_futures() return futures + def reset_offsets_if_needed(self, partitions): + """Lookup and set offsets for any partitions which are awaiting an + explicit reset. + + Arguments: + partitions (set of TopicPartitions): the partitions to reset + """ + for tp in partitions: + # TODO: If there are several offsets to reset, we could submit offset requests in parallel + if self._subscriptions.is_assigned(tp) and self._subscriptions.is_offset_reset_needed(tp): + self._reset_offset(tp) + def _clean_done_fetch_futures(self): while True: if not self._fetch_futures: @@ -172,109 +156,49 @@ class Fetcher(six.Iterator): self._clean_done_fetch_futures() return bool(self._fetch_futures) - def reset_offsets_if_needed(self): - """Reset offsets for the given partitions using the offset reset strategy. + def update_fetch_positions(self, partitions): + """Update the fetch positions for the provided partitions. Arguments: - partitions ([TopicPartition]): the partitions that need offsets reset - - Returns: - bool: True if any partitions need reset; otherwise False (no reset pending) + partitions (list of TopicPartitions): partitions to update Raises: - NoOffsetForPartitionError: if no offset reset strategy is defined - KafkaTimeoutError if timeout_ms provided + NoOffsetForPartitionError: if no offset is stored for a given + partition and no reset policy is available """ - # Raise exception from previous offset fetch if there is one - exc, self._cached_list_offsets_exception = self._cached_list_offsets_exception, None - if exc: - raise exc - - partitions = self._subscriptions.partitions_needing_reset() - if not partitions: - return False - log.debug('Resetting offsets for %s', partitions) - - offset_resets = dict() + # reset the fetch position to the committed position for tp in partitions: - ts = self._subscriptions.assignment[tp].reset_strategy - if ts: - offset_resets[tp] = ts + if not self._subscriptions.is_assigned(tp): + log.warning("partition %s is not assigned - skipping offset" + " update", tp) + continue + elif self._subscriptions.is_fetchable(tp): + log.warning("partition %s is still fetchable -- skipping offset" + " update", tp) + continue - self._reset_offsets_async(offset_resets) - return True + if self._subscriptions.is_offset_reset_needed(tp): + self._reset_offset(tp) + elif self._subscriptions.assignment[tp].committed is None: + # there's no committed position, so we need to reset with the + # default strategy + self._subscriptions.need_offset_reset(tp) + self._reset_offset(tp) + else: + committed = self._subscriptions.assignment[tp].committed.offset + log.debug("Resetting offset for partition %s to the committed" + " offset %s", tp, committed) + self._subscriptions.seek(tp, committed) - def offsets_by_times(self, timestamps, timeout_ms=None): - """Fetch offset for each partition passed in ``timestamps`` map. - - Blocks until offsets are obtained, a non-retriable exception is raised - or ``timeout_ms`` passed. - - Arguments: - timestamps: {TopicPartition: int} dict with timestamps to fetch - offsets by. -1 for the latest available, -2 for the earliest - available. Otherwise timestamp is treated as epoch milliseconds. - timeout_ms (int, optional): The maximum time in milliseconds to block. - - Returns: - {TopicPartition: OffsetAndTimestamp}: Mapping of partition to - retrieved offset, timestamp, and leader_epoch. If offset does not exist for - the provided timestamp, that partition will be missing from - this mapping. - - Raises: - KafkaTimeoutError if timeout_ms provided - """ - offsets = self._fetch_offsets_by_times(timestamps, timeout_ms) + def get_offsets_by_times(self, timestamps, timeout_ms): + offsets = self._retrieve_offsets(timestamps, timeout_ms) for tp in timestamps: if tp not in offsets: offsets[tp] = None - return offsets - - def _fetch_offsets_by_times(self, timestamps, timeout_ms=None): - if not timestamps: - return {} - - timer = Timer(timeout_ms, "Failed to get offsets by timestamps in %s ms" % (timeout_ms,)) - timestamps = copy.copy(timestamps) - fetched_offsets = dict() - while True: - if not timestamps: - return {} - - future = self._send_list_offsets_requests(timestamps) - self._client.poll(future=future, timeout_ms=timer.timeout_ms) - - # Timeout w/o future completion - if not future.is_done: - break - - if future.succeeded(): - fetched_offsets.update(future.value[0]) - if not future.value[1]: - return fetched_offsets - - timestamps = {tp: timestamps[tp] for tp in future.value[1]} - - elif not future.retriable(): - raise future.exception # pylint: disable-msg=raising-bad-type - - if future.exception.invalid_metadata or self._client.cluster.need_update: - refresh_future = self._client.cluster.request_update() - self._client.poll(future=refresh_future, timeout_ms=timer.timeout_ms) - - if not future.is_done: - break else: - if timer.timeout_ms is None or timer.timeout_ms > self.config['retry_backoff_ms']: - time.sleep(self.config['retry_backoff_ms'] / 1000) - else: - time.sleep(timer.timeout_ms / 1000) - - timer.maybe_raise() - - raise Errors.KafkaTimeoutError( - "Failed to get offsets by timestamps in %s ms" % (timeout_ms,)) + offset, timestamp = offsets[tp] + offsets[tp] = OffsetAndTimestamp(offset, timestamp) + return offsets def beginning_offsets(self, partitions, timeout_ms): return self.beginning_or_end_offset( @@ -286,11 +210,103 @@ class Fetcher(six.Iterator): def beginning_or_end_offset(self, partitions, timestamp, timeout_ms): timestamps = dict([(tp, timestamp) for tp in partitions]) - offsets = self._fetch_offsets_by_times(timestamps, timeout_ms) + offsets = self._retrieve_offsets(timestamps, timeout_ms) for tp in timestamps: - offsets[tp] = offsets[tp].offset + offsets[tp] = offsets[tp][0] return offsets + def _reset_offset(self, partition): + """Reset offsets for the given partition using the offset reset strategy. + + Arguments: + partition (TopicPartition): the partition that needs reset offset + + Raises: + NoOffsetForPartitionError: if no offset reset strategy is defined + """ + timestamp = self._subscriptions.assignment[partition].reset_strategy + if timestamp is OffsetResetStrategy.EARLIEST: + strategy = 'earliest' + elif timestamp is OffsetResetStrategy.LATEST: + strategy = 'latest' + else: + raise NoOffsetForPartitionError(partition) + + log.debug("Resetting offset for partition %s to %s offset.", + partition, strategy) + offsets = self._retrieve_offsets({partition: timestamp}) + + if partition in offsets: + offset = offsets[partition][0] + + # we might lose the assignment while fetching the offset, + # so check it is still active + if self._subscriptions.is_assigned(partition): + self._subscriptions.seek(partition, offset) + else: + log.debug("Could not find offset for partition %s since it is probably deleted" % (partition,)) + + def _retrieve_offsets(self, timestamps, timeout_ms=float("inf")): + """Fetch offset for each partition passed in ``timestamps`` map. + + Blocks until offsets are obtained, a non-retriable exception is raised + or ``timeout_ms`` passed. + + Arguments: + timestamps: {TopicPartition: int} dict with timestamps to fetch + offsets by. -1 for the latest available, -2 for the earliest + available. Otherwise timestamp is treated as epoch milliseconds. + + Returns: + {TopicPartition: (int, int)}: Mapping of partition to + retrieved offset and timestamp. If offset does not exist for + the provided timestamp, that partition will be missing from + this mapping. + """ + if not timestamps: + return {} + + start_time = time.time() + remaining_ms = timeout_ms + timestamps = copy.copy(timestamps) + while remaining_ms > 0: + if not timestamps: + return {} + + future = self._send_offset_requests(timestamps) + self._client.poll(future=future, timeout_ms=remaining_ms) + + if future.succeeded(): + return future.value + if not future.retriable(): + raise future.exception # pylint: disable-msg=raising-bad-type + + elapsed_ms = (time.time() - start_time) * 1000 + remaining_ms = timeout_ms - elapsed_ms + if remaining_ms < 0: + break + + if future.exception.invalid_metadata: + refresh_future = self._client.cluster.request_update() + self._client.poll(future=refresh_future, timeout_ms=remaining_ms) + + # Issue #1780 + # Recheck partition existence after after a successful metadata refresh + if refresh_future.succeeded() and isinstance(future.exception, Errors.StaleMetadata): + log.debug("Stale metadata was raised, and we now have an updated metadata. Rechecking partition existence") + unknown_partition = future.exception.args[0] # TopicPartition from StaleMetadata + if self._client.cluster.leader_for_partition(unknown_partition) is None: + log.debug("Removed partition %s from offsets retrieval" % (unknown_partition, )) + timestamps.pop(unknown_partition) + else: + time.sleep(self.config['retry_backoff_ms'] / 1000.0) + + elapsed_ms = (time.time() - start_time) * 1000 + remaining_ms = timeout_ms - elapsed_ms + + raise Errors.KafkaTimeoutError( + "Failed to get offsets by timestamps in %s ms" % (timeout_ms,)) + def fetched_records(self, max_records=None, update_offsets=True): """Returns previously fetched records and updates consumed offsets. @@ -300,7 +316,7 @@ class Fetcher(six.Iterator): Raises: OffsetOutOfRangeError: if no subscription offset_reset_strategy - CorruptRecordError: if message crc validation fails (check_crcs + CorruptRecordException: if message crc validation fails (check_crcs must be set to True) RecordTooLargeError: if a message is larger than the currently configured max_partition_fetch_bytes @@ -317,40 +333,20 @@ class Fetcher(six.Iterator): max_records = self.config['max_poll_records'] assert max_records > 0 - if self._next_in_line_exception_metadata is not None: - exc_meta = self._next_in_line_exception_metadata - self._next_in_line_exception_metadata = None - tp = exc_meta.partition - if self._subscriptions.is_fetchable(tp) and self._subscriptions.position(tp).offset == exc_meta.fetched_offset: - raise exc_meta.exception - drained = collections.defaultdict(list) records_remaining = max_records - # Needed to construct ExceptionMetadata if any exception is found when processing completed_fetch - fetched_partition = None - fetched_offset = -1 - try: - while records_remaining > 0: - if not self._next_partition_records: - if not self._completed_fetches: - break - completion = self._completed_fetches.popleft() - fetched_partition = completion.topic_partition - fetched_offset = completion.fetched_offset - self._next_partition_records = self._parse_fetched_data(completion) - else: - fetched_partition = self._next_partition_records.topic_partition - fetched_offset = self._next_partition_records.next_fetch_offset - records_remaining -= self._append(drained, - self._next_partition_records, - records_remaining, - update_offsets) - except Exception as e: - if not drained: - raise e - # To be thrown in the next call of this method - self._next_in_line_exception_metadata = ExceptionMetadata(fetched_partition, fetched_offset, e) + while records_remaining > 0: + if not self._next_partition_records: + if not self._completed_fetches: + break + completion = self._completed_fetches.popleft() + self._next_partition_records = self._parse_fetched_data(completion) + else: + records_remaining -= self._append(drained, + self._next_partition_records, + records_remaining, + update_offsets) return dict(drained), bool(self._completed_fetches) def _append(self, drained, part, max_records, update_offsets): @@ -358,101 +354,163 @@ class Fetcher(six.Iterator): return 0 tp = part.topic_partition + fetch_offset = part.fetch_offset if not self._subscriptions.is_assigned(tp): # this can happen when a rebalance happened before # fetched records are returned to the consumer's poll call log.debug("Not returning fetched records for partition %s" " since it is no longer assigned", tp) - elif not self._subscriptions.is_fetchable(tp): - # this can happen when a partition is paused before - # fetched records are returned to the consumer's poll call - log.debug("Not returning fetched records for assigned partition" - " %s since it is no longer fetchable", tp) - else: # note that the position should always be available # as long as the partition is still assigned position = self._subscriptions.assignment[tp].position - if part.next_fetch_offset == position.offset: - log.debug("Returning fetched records at offset %d for assigned" - " partition %s", position.offset, tp) + if not self._subscriptions.is_fetchable(tp): + # this can happen when a partition is paused before + # fetched records are returned to the consumer's poll call + log.debug("Not returning fetched records for assigned partition" + " %s since it is no longer fetchable", tp) + + elif fetch_offset == position: + # we are ensured to have at least one record since we already checked for emptiness part_records = part.take(max_records) - # list.extend([]) is a noop, but because drained is a defaultdict - # we should avoid initializing the default list unless there are records - if part_records: - drained[tp].extend(part_records) - # We want to increment subscription position if (1) we're using consumer.poll(), - # or (2) we didn't return any records (consumer iterator will update position - # when each message is yielded). There may be edge cases where we re-fetch records - # that we'll end up skipping, but for now we'll live with that. - highwater = self._subscriptions.assignment[tp].highwater - if highwater is not None and self._sensors: - self._sensors.records_fetch_lag.record(highwater - part.next_fetch_offset) - if update_offsets or not part_records: - # TODO: save leader_epoch - log.debug("Updating fetch position for assigned partition %s to %s (leader epoch %s)", - tp, part.next_fetch_offset, part.leader_epoch) - self._subscriptions.assignment[tp].position = OffsetAndMetadata(part.next_fetch_offset, '', -1) + next_offset = part_records[-1].offset + 1 + + log.log(0, "Returning fetched records at offset %d for assigned" + " partition %s and update position to %s", position, + tp, next_offset) + + for record in part_records: + drained[tp].append(record) + + if update_offsets: + self._subscriptions.assignment[tp].position = next_offset return len(part_records) else: # these records aren't next in line based on the last consumed # position, ignore them they must be from an obsolete request log.debug("Ignoring fetched records for %s at offset %s since" - " the current position is %d", tp, part.next_fetch_offset, - position.offset) + " the current position is %d", tp, part.fetch_offset, + position) - part.drain() + part.discard() return 0 - def _reset_offset_if_needed(self, partition, timestamp, offset): - # we might lose the assignment while fetching the offset, or the user might seek to a different offset, - # so verify it is still assigned and still in need of the requested reset - if not self._subscriptions.is_assigned(partition): - log.debug("Skipping reset of partition %s since it is no longer assigned", partition) - elif not self._subscriptions.is_offset_reset_needed(partition): - log.debug("Skipping reset of partition %s since reset is no longer needed", partition) - elif timestamp and not timestamp == self._subscriptions.assignment[partition].reset_strategy: - log.debug("Skipping reset of partition %s since an alternative reset has been requested", partition) - else: - log.info("Resetting offset for partition %s to offset %s.", partition, offset) - self._subscriptions.seek(partition, offset) + def _message_generator(self): + """Iterate over fetched_records""" + while self._next_partition_records or self._completed_fetches: - def _reset_offsets_async(self, timestamps): - timestamps_by_node = self._group_list_offset_requests(timestamps) - - for node_id, timestamps_and_epochs in six.iteritems(timestamps_by_node): - if not self._client.ready(node_id): + if not self._next_partition_records: + completion = self._completed_fetches.popleft() + self._next_partition_records = self._parse_fetched_data(completion) continue - partitions = set(timestamps_and_epochs.keys()) - expire_at = time.time() + self.config['request_timeout_ms'] / 1000 - self._subscriptions.set_reset_pending(partitions, expire_at) - def on_success(timestamps_and_epochs, result): - fetched_offsets, partitions_to_retry = result - if partitions_to_retry: - self._subscriptions.reset_failed(partitions_to_retry, time.time() + self.config['retry_backoff_ms'] / 1000) - self._client.cluster.request_update() + # Send additional FetchRequests when the internal queue is low + # this should enable moderate pipelining + if len(self._completed_fetches) <= self.config['iterator_refetch_records']: + self.send_fetches() - for partition, offset in six.iteritems(fetched_offsets): - ts, _epoch = timestamps_and_epochs[partition] - self._reset_offset_if_needed(partition, ts, offset.offset) + tp = self._next_partition_records.topic_partition - def on_failure(partitions, error): - self._subscriptions.reset_failed(partitions, time.time() + self.config['retry_backoff_ms'] / 1000) - self._client.cluster.request_update() + # We can ignore any prior signal to drop pending message sets + # because we are starting from a fresh one where fetch_offset == position + # i.e., the user seek()'d to this position + self._subscriptions.assignment[tp].drop_pending_message_set = False - if not getattr(error, 'retriable', False): - if not self._cached_list_offsets_exception: - self._cached_list_offsets_exception = error - else: - log.error("Discarding error in ListOffsetResponse because another error is pending: %s", error) + for msg in self._next_partition_records.take(): - future = self._send_list_offsets_request(node_id, timestamps_and_epochs) - future.add_callback(on_success, timestamps_and_epochs) - future.add_errback(on_failure, partitions) + # Because we are in a generator, it is possible for + # subscription state to change between yield calls + # so we need to re-check on each loop + # this should catch assignment changes, pauses + # and resets via seek_to_beginning / seek_to_end + if not self._subscriptions.is_fetchable(tp): + log.debug("Not returning fetched records for partition %s" + " since it is no longer fetchable", tp) + self._next_partition_records = None + break - def _send_list_offsets_requests(self, timestamps): + # If there is a seek during message iteration, + # we should stop unpacking this message set and + # wait for a new fetch response that aligns with the + # new seek position + elif self._subscriptions.assignment[tp].drop_pending_message_set: + log.debug("Skipping remainder of message set for partition %s", tp) + self._subscriptions.assignment[tp].drop_pending_message_set = False + self._next_partition_records = None + break + + # Compressed messagesets may include earlier messages + elif msg.offset < self._subscriptions.assignment[tp].position: + log.debug("Skipping message offset: %s (expecting %s)", + msg.offset, + self._subscriptions.assignment[tp].position) + continue + + self._subscriptions.assignment[tp].position = msg.offset + 1 + yield msg + + self._next_partition_records = None + + def _unpack_message_set(self, tp, records): + try: + batch = records.next_batch() + while batch is not None: + + # LegacyRecordBatch cannot access either base_offset or last_offset_delta + try: + self._subscriptions.assignment[tp].last_offset_from_message_batch = batch.base_offset + \ + batch.last_offset_delta + except AttributeError: + pass + + for record in batch: + key_size = len(record.key) if record.key is not None else -1 + value_size = len(record.value) if record.value is not None else -1 + key = self._deserialize( + self.config['key_deserializer'], + tp.topic, record.key) + value = self._deserialize( + self.config['value_deserializer'], + tp.topic, record.value) + headers = record.headers + header_size = sum( + len(h_key.encode("utf-8")) + (len(h_val) if h_val is not None else 0) for h_key, h_val in + headers) if headers else -1 + yield ConsumerRecord( + tp.topic, tp.partition, record.offset, record.timestamp, + record.timestamp_type, key, value, headers, record.checksum, + key_size, value_size, header_size) + + batch = records.next_batch() + + # If unpacking raises StopIteration, it is erroneously + # caught by the generator. We want all exceptions to be raised + # back to the user. See Issue 545 + except StopIteration as e: + log.exception('StopIteration raised unpacking messageset') + raise RuntimeError('StopIteration raised unpacking messageset') + + def __iter__(self): # pylint: disable=non-iterator-returned + return self + + def __next__(self): + if not self._iterator: + self._iterator = self._message_generator() + try: + return next(self._iterator) + except StopIteration: + self._iterator = None + raise + + def _deserialize(self, f, topic, bytes_): + if not f: + return bytes_ + if isinstance(f, Deserializer): + return f.deserialize(topic, bytes_) + return f(bytes_) + + def _send_offset_requests(self, timestamps): """Fetch offsets for each partition in timestamps dict. This may send request to multiple nodes, based on who is Leader for partition. @@ -463,98 +521,80 @@ class Fetcher(six.Iterator): Returns: Future: resolves to a mapping of retrieved offsets """ - timestamps_by_node = self._group_list_offset_requests(timestamps) - if not timestamps_by_node: - return Future().failure(Errors.StaleMetadata()) + timestamps_by_node = collections.defaultdict(dict) + for partition, timestamp in six.iteritems(timestamps): + node_id = self._client.cluster.leader_for_partition(partition) + if node_id is None: + self._client.add_topic(partition.topic) + log.debug("Partition %s is unknown for fetching offset," + " wait for metadata refresh", partition) + return Future().failure(Errors.StaleMetadata(partition)) + elif node_id == -1: + log.debug("Leader for partition %s unavailable for fetching " + "offset, wait for metadata refresh", partition) + return Future().failure( + Errors.LeaderNotAvailableError(partition)) + else: + timestamps_by_node[node_id][partition] = timestamp - # Aggregate results until we have all responses + # Aggregate results until we have all list_offsets_future = Future() - fetched_offsets = dict() - partitions_to_retry = set() - remaining_responses = [len(timestamps_by_node)] # list for mutable / 2.7 hack + responses = [] + node_count = len(timestamps_by_node) - def on_success(remaining_responses, value): - remaining_responses[0] -= 1 # noqa: F823 - fetched_offsets.update(value[0]) - partitions_to_retry.update(value[1]) - if not remaining_responses[0] and not list_offsets_future.is_done: - list_offsets_future.success((fetched_offsets, partitions_to_retry)) + def on_success(value): + responses.append(value) + if len(responses) == node_count: + offsets = {} + for r in responses: + offsets.update(r) + list_offsets_future.success(offsets) def on_fail(err): if not list_offsets_future.is_done: list_offsets_future.failure(err) for node_id, timestamps in six.iteritems(timestamps_by_node): - _f = self._send_list_offsets_request(node_id, timestamps) - _f.add_callback(on_success, remaining_responses) + _f = self._send_offset_request(node_id, timestamps) + _f.add_callback(on_success) _f.add_errback(on_fail) return list_offsets_future - def _group_list_offset_requests(self, timestamps): - timestamps_by_node = collections.defaultdict(dict) - for partition, timestamp in six.iteritems(timestamps): - node_id = self._client.cluster.leader_for_partition(partition) - if node_id is None: - self._client.add_topic(partition.topic) - log.debug("Partition %s is unknown for fetching offset", partition) - self._client.cluster.request_update() - elif node_id == -1: - log.debug("Leader for partition %s unavailable for fetching " - "offset, wait for metadata refresh", partition) - self._client.cluster.request_update() - else: - leader_epoch = -1 - timestamps_by_node[node_id][partition] = (timestamp, leader_epoch) - return dict(timestamps_by_node) - - def _send_list_offsets_request(self, node_id, timestamps_and_epochs): - version = self._client.api_version(ListOffsetsRequest, max_version=4) - if self.config['isolation_level'] == 'read_committed' and version < 2: - raise Errors.UnsupportedVersionError('read_committed isolation level requires ListOffsetsRequest >= v2') + def _send_offset_request(self, node_id, timestamps): by_topic = collections.defaultdict(list) - for tp, (timestamp, leader_epoch) in six.iteritems(timestamps_and_epochs): - if version >= 4: - data = (tp.partition, leader_epoch, timestamp) - elif version >= 1: + for tp, timestamp in six.iteritems(timestamps): + if self.config['api_version'] >= (0, 10, 1): data = (tp.partition, timestamp) else: data = (tp.partition, timestamp, 1) by_topic[tp.topic].append(data) - if version <= 1: - request = ListOffsetsRequest[version]( - -1, - list(six.iteritems(by_topic))) + if self.config['api_version'] >= (0, 10, 1): + request = OffsetRequest[1](-1, list(six.iteritems(by_topic))) else: - request = ListOffsetsRequest[version]( - -1, - self._isolation_level, - list(six.iteritems(by_topic))) + request = OffsetRequest[0](-1, list(six.iteritems(by_topic))) # Client returns a future that only fails on network issues # so create a separate future and attach a callback to update it # based on response error codes future = Future() - log.debug("Sending ListOffsetRequest %s to broker %s", request, node_id) _f = self._client.send(node_id, request) - _f.add_callback(self._handle_list_offsets_response, future) + _f.add_callback(self._handle_offset_response, future) _f.add_errback(lambda e: future.failure(e)) return future - def _handle_list_offsets_response(self, future, response): - """Callback for the response of the ListOffsets api call + def _handle_offset_response(self, future, response): + """Callback for the response of the list offset call above. Arguments: future (Future): the future to update based on response - response (ListOffsetsResponse): response from the server + response (OffsetResponse): response from the server Raises: AssertionError: if response does not match partition """ - fetched_offsets = dict() - partitions_to_retry = set() - unauthorized_topics = set() + timestamp_offset_map = {} for topic, part_data in response.topics: for partition_info in part_data: partition, error_code = partition_info[:2] @@ -563,62 +603,58 @@ class Fetcher(six.Iterator): if error_type is Errors.NoError: if response.API_VERSION == 0: offsets = partition_info[2] - assert len(offsets) <= 1, 'Expected ListOffsetsResponse with one offset' + assert len(offsets) <= 1, 'Expected OffsetResponse with one offset' if not offsets: offset = UNKNOWN_OFFSET else: offset = offsets[0] - timestamp = None - leader_epoch = -1 - elif response.API_VERSION <= 3: - timestamp, offset = partition_info[2:] - leader_epoch = -1 + log.debug("Handling v0 ListOffsetResponse response for %s. " + "Fetched offset %s", partition, offset) + if offset != UNKNOWN_OFFSET: + timestamp_offset_map[partition] = (offset, None) else: - timestamp, offset, leader_epoch = partition_info[2:] - log.debug("Handling ListOffsetsResponse response for %s. " - "Fetched offset %s, timestamp %s, leader_epoch %s", - partition, offset, timestamp, leader_epoch) - if offset != UNKNOWN_OFFSET: - fetched_offsets[partition] = OffsetAndTimestamp(offset, timestamp, leader_epoch) + timestamp, offset = partition_info[2:] + log.debug("Handling ListOffsetResponse response for %s. " + "Fetched offset %s, timestamp %s", + partition, offset, timestamp) + if offset != UNKNOWN_OFFSET: + timestamp_offset_map[partition] = (offset, timestamp) elif error_type is Errors.UnsupportedForMessageFormatError: - # The message format on the broker side is before 0.10.0, which means it does not - # support timestamps. We treat this case the same as if we weren't able to find an - # offset corresponding to the requested timestamp and leave it out of the result. + # The message format on the broker side is before 0.10.0, + # we simply put None in the response. log.debug("Cannot search by timestamp for partition %s because the" " message format version is before 0.10.0", partition) - elif error_type in (Errors.NotLeaderForPartitionError, - Errors.ReplicaNotAvailableError, - Errors.KafkaStorageError): + elif error_type is Errors.NotLeaderForPartitionError: log.debug("Attempt to fetch offsets for partition %s failed due" - " to %s, retrying.", error_type.__name__, partition) - partitions_to_retry.add(partition) + " to obsolete leadership information, retrying.", + partition) + future.failure(error_type(partition)) + return elif error_type is Errors.UnknownTopicOrPartitionError: - log.warning("Received unknown topic or partition error in ListOffsets " - "request for partition %s. The topic/partition " + - "may not exist or the user may not have Describe access " - "to it.", partition) - partitions_to_retry.add(partition) - elif error_type is Errors.TopicAuthorizationFailedError: - unauthorized_topics.add(topic) + log.warning("Received unknown topic or partition error in ListOffset " + "request for partition %s. The topic/partition " + + "may not exist or the user may not have Describe access " + "to it.", partition) + future.failure(error_type(partition)) + return else: log.warning("Attempt to fetch offsets for partition %s failed due to:" - " %s", partition, error_type.__name__) - partitions_to_retry.add(partition) - if unauthorized_topics: - future.failure(Errors.TopicAuthorizationFailedError(unauthorized_topics)) - else: - future.success((fetched_offsets, partitions_to_retry)) + " %s", partition, error_type) + future.failure(error_type(partition)) + return + if not future.is_done: + future.success(timestamp_offset_map) def _fetchable_partitions(self): fetchable = self._subscriptions.fetchable_partitions() # do not fetch a partition if we have a pending fetch response to process - # use copy.copy to avoid runtimeerror on mutation from different thread - # TODO: switch to deque.copy() with py3 - discard = {fetch.topic_partition for fetch in copy.copy(self._completed_fetches)} current = self._next_partition_records + pending = copy.copy(self._completed_fetches) if current: - discard.add(current.topic_partition) - return [tp for tp in fetchable if tp not in discard] + fetchable.discard(current.topic_partition) + for fetch in pending: + fetchable.discard(fetch.topic_partition) + return fetchable def _create_fetch_requests(self): """Create fetch requests for all assigned partitions, grouped by node. @@ -626,16 +662,25 @@ class Fetcher(six.Iterator): FetchRequests skipped if no leader, or node has requests in flight Returns: - dict: {node_id: (FetchRequest, {TopicPartition: fetch_offset}), ...} (version depends on client api_versions) + dict: {node_id: FetchRequest, ...} (version depends on api_version) """ # create the fetch info as a dict of lists of partition info tuples # which can be passed to FetchRequest() via .items() - version = self._client.api_version(FetchRequest, max_version=10) - fetchable = collections.defaultdict(collections.OrderedDict) + fetchable = collections.defaultdict(lambda: collections.defaultdict(list)) for partition in self._fetchable_partitions(): node_id = self._client.cluster.leader_for_partition(partition) + # advance position for any deleted compacted messages if required + if self._subscriptions.assignment[partition].last_offset_from_message_batch: + next_offset_from_batch_header = self._subscriptions.assignment[partition].last_offset_from_message_batch + 1 + if next_offset_from_batch_header > self._subscriptions.assignment[partition].position: + log.debug( + "Advance position for partition %s from %s to %s (last message batch location plus one)" + " to correct for deleted compacted messages", + partition, self._subscriptions.assignment[partition].position, next_offset_from_batch_header) + self._subscriptions.assignment[partition].position = next_offset_from_batch_header + position = self._subscriptions.assignment[partition].position # fetch if there is a leader and no in-flight requests @@ -644,161 +689,104 @@ class Fetcher(six.Iterator): " Requesting metadata update", partition) self._client.cluster.request_update() - elif not self._client.connected(node_id) and self._client.connection_delay(node_id) > 0: - # If we try to send during the reconnect backoff window, then the request is just - # going to be failed anyway before being sent, so skip the send for now - log.debug("Skipping fetch for partition %s because node %s is awaiting reconnect backoff", - partition, node_id) - - elif self._client.throttle_delay(node_id) > 0: - # If we try to send while throttled, then the request is just - # going to be failed anyway before being sent, so skip the send for now - log.debug("Skipping fetch for partition %s because node %s is throttled", - partition, node_id) - - elif not self._client.ready(node_id): - # Until we support send request queues, any attempt to send to a not-ready node will be - # immediately failed with NodeNotReadyError. - log.debug("Skipping fetch for partition %s because connection to leader node is not ready yet") - - elif node_id in self._nodes_with_pending_fetch_requests: - log.debug("Skipping fetch for partition %s because there is a pending fetch request to node %s", - partition, node_id) - - else: - # Leader is connected and does not have a pending fetch request - if version < 5: - partition_info = ( - partition.partition, - position.offset, - self.config['max_partition_fetch_bytes'] - ) - elif version <= 8: - partition_info = ( - partition.partition, - position.offset, - -1, # log_start_offset is used internally by brokers / replicas only - self.config['max_partition_fetch_bytes'], - ) - else: - partition_info = ( - partition.partition, - position.leader_epoch, - position.offset, - -1, # log_start_offset is used internally by brokers / replicas only - self.config['max_partition_fetch_bytes'], - ) - - fetchable[node_id][partition] = partition_info + elif self._client.in_flight_request_count(node_id) == 0: + partition_info = ( + partition.partition, + position, + self.config['max_partition_fetch_bytes'] + ) + fetchable[node_id][partition.topic].append(partition_info) log.debug("Adding fetch request for partition %s at offset %d", - partition, position.offset) + partition, position) + else: + log.log(0, "Skipping fetch for partition %s because there is an inflight request to node %s", + partition, node_id) + if self.config['api_version'] >= (0, 11, 0): + version = 4 + elif self.config['api_version'] >= (0, 10, 1): + version = 3 + elif self.config['api_version'] >= (0, 10): + version = 2 + elif self.config['api_version'] == (0, 9): + version = 1 + else: + version = 0 requests = {} - for node_id, next_partitions in six.iteritems(fetchable): - if version >= 7 and self.config['enable_incremental_fetch_sessions']: - if node_id not in self._session_handlers: - self._session_handlers[node_id] = FetchSessionHandler(node_id) - session = self._session_handlers[node_id].build_next(next_partitions) + for node_id, partition_data in six.iteritems(fetchable): + if version < 3: + requests[node_id] = FetchRequest[version]( + -1, # replica_id + self.config['fetch_max_wait_ms'], + self.config['fetch_min_bytes'], + partition_data.items()) else: - # No incremental fetch support - session = FetchRequestData(next_partitions, None, FetchMetadata.LEGACY) - - if version <= 2: - request = FetchRequest[version]( - -1, # replica_id - self.config['fetch_max_wait_ms'], - self.config['fetch_min_bytes'], - session.to_send) - elif version == 3: - request = FetchRequest[version]( - -1, # replica_id - self.config['fetch_max_wait_ms'], - self.config['fetch_min_bytes'], - self.config['fetch_max_bytes'], - session.to_send) - elif version <= 6: - request = FetchRequest[version]( - -1, # replica_id - self.config['fetch_max_wait_ms'], - self.config['fetch_min_bytes'], - self.config['fetch_max_bytes'], - self._isolation_level, - session.to_send) - else: - # Through v8 - request = FetchRequest[version]( - -1, # replica_id - self.config['fetch_max_wait_ms'], - self.config['fetch_min_bytes'], - self.config['fetch_max_bytes'], - self._isolation_level, - session.id, - session.epoch, - session.to_send, - session.to_forget) - - fetch_offsets = {} - for tp, partition_data in six.iteritems(next_partitions): - if version <= 8: - offset = partition_data[1] + # As of version == 3 partitions will be returned in order as + # they are requested, so to avoid starvation with + # `fetch_max_bytes` option we need this shuffle + # NOTE: we do have partition_data in random order due to usage + # of unordered structures like dicts, but that does not + # guarantee equal distribution, and starting in Python3.6 + # dicts retain insert order. + partition_data = list(partition_data.items()) + random.shuffle(partition_data) + if version == 3: + requests[node_id] = FetchRequest[version]( + -1, # replica_id + self.config['fetch_max_wait_ms'], + self.config['fetch_min_bytes'], + self.config['fetch_max_bytes'], + partition_data) else: - offset = partition_data[2] - fetch_offsets[tp] = offset - - requests[node_id] = (request, fetch_offsets) - + requests[node_id] = FetchRequest[version]( + -1, # replica_id + self.config['fetch_max_wait_ms'], + self.config['fetch_min_bytes'], + self.config['fetch_max_bytes'], + self._isolation_level, + partition_data) return requests - def _handle_fetch_response(self, node_id, fetch_offsets, send_time, response): + def _handle_fetch_response(self, request, send_time, response): """The callback for fetch completion""" - if response.API_VERSION >= 7 and self.config['enable_incremental_fetch_sessions']: - if node_id not in self._session_handlers: - log.error("Unable to find fetch session handler for node %s. Ignoring fetch response", node_id) - return - if not self._session_handlers[node_id].handle_response(response): - return + fetch_offsets = {} + for topic, partitions in request.topics: + for partition_data in partitions: + partition, offset = partition_data[:2] + fetch_offsets[TopicPartition(topic, partition)] = offset partitions = set([TopicPartition(topic, partition_data[0]) for topic, partitions in response.topics for partition_data in partitions]) - if self._sensors: - metric_aggregator = FetchResponseMetricAggregator(self._sensors, partitions) - else: - metric_aggregator = None + metric_aggregator = FetchResponseMetricAggregator(self._sensors, partitions) + # randomized ordering should improve balance for short-lived consumers + random.shuffle(response.topics) for topic, partitions in response.topics: + random.shuffle(partitions) for partition_data in partitions: tp = TopicPartition(topic, partition_data[0]) - fetch_offset = fetch_offsets[tp] completed_fetch = CompletedFetch( - tp, fetch_offset, + tp, fetch_offsets[tp], response.API_VERSION, partition_data[1:], metric_aggregator ) self._completed_fetches.append(completed_fetch) - if self._sensors: - self._sensors.fetch_latency.record((time.time() - send_time) * 1000) - - def _handle_fetch_error(self, node_id, exception): - level = logging.INFO if isinstance(exception, Errors.Cancelled) else logging.ERROR - log.log(level, 'Fetch to node %s failed: %s', node_id, exception) - if node_id in self._session_handlers: - self._session_handlers[node_id].handle_error(exception) - - def _clear_pending_fetch_request(self, node_id, _): - try: - self._nodes_with_pending_fetch_requests.remove(node_id) - except KeyError: - pass + if response.API_VERSION >= 1: + self._sensors.fetch_throttle_time_sensor.record(response.throttle_time_ms) + self._sensors.fetch_latency.record((time.time() - send_time) * 1000) def _parse_fetched_data(self, completed_fetch): tp = completed_fetch.topic_partition fetch_offset = completed_fetch.fetched_offset + num_bytes = 0 + records_count = 0 + parsed_records = None + error_code, highwater = completed_fetch.partition_data[:2] error_type = Errors.for_code(error_code) - parsed_records = None try: if not self._subscriptions.is_fetchable(tp): @@ -808,498 +796,117 @@ class Fetcher(six.Iterator): " since it is no longer fetchable", tp) elif error_type is Errors.NoError: + self._subscriptions.assignment[tp].highwater = highwater + # we are interested in this fetch only if the beginning # offset (of the *request*) matches the current consumed position # Note that the *response* may return a messageset that starts # earlier (e.g., compressed messages) or later (e.g., compacted topic) position = self._subscriptions.assignment[tp].position - if position is None or position.offset != fetch_offset: + if position is None or position != fetch_offset: log.debug("Discarding fetch response for partition %s" " since its offset %d does not match the" " expected offset %d", tp, fetch_offset, - position.offset) + position) return None records = MemoryRecords(completed_fetch.partition_data[-1]) - aborted_transactions = None - if completed_fetch.response_version >= 11: - aborted_transactions = completed_fetch.partition_data[-3] - elif completed_fetch.response_version >= 4: - aborted_transactions = completed_fetch.partition_data[-2] - log.debug("Preparing to read %s bytes of data for partition %s with offset %d", - records.size_in_bytes(), tp, fetch_offset) - parsed_records = self.PartitionRecords(fetch_offset, tp, records, - key_deserializer=self.config['key_deserializer'], - value_deserializer=self.config['value_deserializer'], - check_crcs=self.config['check_crcs'], - isolation_level=self._isolation_level, - aborted_transactions=aborted_transactions, - metric_aggregator=completed_fetch.metric_aggregator, - on_drain=self._on_partition_records_drain) - if not records.has_next() and records.size_in_bytes() > 0: - if completed_fetch.response_version < 3: - # Implement the pre KIP-74 behavior of throwing a RecordTooLargeException. - record_too_large_partitions = {tp: fetch_offset} - raise RecordTooLargeError( - "There are some messages at [Partition=Offset]: %s " - " whose size is larger than the fetch size %s" - " and hence cannot be ever returned. Please condier upgrading your broker to 0.10.1.0 or" - " newer to avoid this issue. Alternatively, increase the fetch size on the client (using" - " max_partition_fetch_bytes)" % ( - record_too_large_partitions, - self.config['max_partition_fetch_bytes']), - record_too_large_partitions) - else: - # This should not happen with brokers that support FetchRequest/Response V3 or higher (i.e. KIP-74) - raise Errors.KafkaError("Failed to make progress reading messages at %s=%s." - " Received a non-empty fetch response from the server, but no" - " complete records were found." % (tp, fetch_offset)) - - if highwater >= 0: - self._subscriptions.assignment[tp].highwater = highwater + if records.has_next(): + log.debug("Adding fetched record for partition %s with" + " offset %d to buffered record list", tp, + position) + unpacked = list(self._unpack_message_set(tp, records)) + parsed_records = self.PartitionRecords(fetch_offset, tp, unpacked) + last_offset = unpacked[-1].offset + self._sensors.records_fetch_lag.record(highwater - last_offset) + num_bytes = records.valid_bytes() + records_count = len(unpacked) + elif records.size_in_bytes() > 0: + # we did not read a single message from a non-empty + # buffer because that message's size is larger than + # fetch size, in this case record this exception + record_too_large_partitions = {tp: fetch_offset} + raise RecordTooLargeError( + "There are some messages at [Partition=Offset]: %s " + " whose size is larger than the fetch size %s" + " and hence cannot be ever returned." + " Increase the fetch size, or decrease the maximum message" + " size the broker will allow." % ( + record_too_large_partitions, + self.config['max_partition_fetch_bytes']), + record_too_large_partitions) + self._sensors.record_topic_fetch_metrics(tp.topic, num_bytes, records_count) elif error_type in (Errors.NotLeaderForPartitionError, - Errors.ReplicaNotAvailableError, - Errors.UnknownTopicOrPartitionError, - Errors.KafkaStorageError): - log.debug("Error fetching partition %s: %s", tp, error_type.__name__) + Errors.UnknownTopicOrPartitionError): self._client.cluster.request_update() elif error_type is Errors.OffsetOutOfRangeError: position = self._subscriptions.assignment[tp].position - if position is None or position.offset != fetch_offset: + if position is None or position != fetch_offset: log.debug("Discarding stale fetch response for partition %s" " since the fetched offset %d does not match the" - " current offset %d", tp, fetch_offset, position.offset) + " current offset %d", tp, fetch_offset, position) elif self._subscriptions.has_default_offset_reset_policy(): log.info("Fetch offset %s is out of range for topic-partition %s", fetch_offset, tp) - self._subscriptions.request_offset_reset(tp) + self._subscriptions.need_offset_reset(tp) else: raise Errors.OffsetOutOfRangeError({tp: fetch_offset}) elif error_type is Errors.TopicAuthorizationFailedError: log.warning("Not authorized to read from topic %s.", tp.topic) - raise Errors.TopicAuthorizationFailedError(set([tp.topic])) - elif getattr(error_type, 'retriable', False): - log.debug("Retriable error fetching partition %s: %s", tp, error_type()) - if getattr(error_type, 'invalid_metadata', False): - self._client.cluster.request_update() + raise Errors.TopicAuthorizationFailedError(set(tp.topic)) + elif error_type is Errors.UnknownError: + log.warning("Unknown error fetching data for topic-partition %s", tp) else: raise error_type('Unexpected error while fetching data') finally: - if parsed_records is None and completed_fetch.metric_aggregator: - completed_fetch.metric_aggregator.record(tp, 0, 0) - - if error_type is not Errors.NoError: - # we move the partition to the end if there was an error. This way, it's more likely that partitions for - # the same topic can remain together (allowing for more efficient serialization). - self._subscriptions.move_partition_to_end(tp) + completed_fetch.metric_aggregator.record(tp, num_bytes, records_count) return parsed_records - def _on_partition_records_drain(self, partition_records): - # we move the partition to the end if we received some bytes. This way, it's more likely that partitions - # for the same topic can remain together (allowing for more efficient serialization). - if partition_records.bytes_read > 0: - self._subscriptions.move_partition_to_end(partition_records.topic_partition) - - def close(self): - if self._next_partition_records is not None: - self._next_partition_records.drain() - self._next_in_line_exception_metadata = None - class PartitionRecords(object): - def __init__(self, fetch_offset, tp, records, - key_deserializer=None, value_deserializer=None, - check_crcs=True, isolation_level=READ_UNCOMMITTED, - aborted_transactions=None, # raw data from response / list of (producer_id, first_offset) tuples - metric_aggregator=None, on_drain=lambda x: None): + def __init__(self, fetch_offset, tp, messages): self.fetch_offset = fetch_offset self.topic_partition = tp - self.leader_epoch = -1 - self.next_fetch_offset = fetch_offset - self.bytes_read = 0 - self.records_read = 0 - self.isolation_level = isolation_level - self.aborted_producer_ids = set() - self.aborted_transactions = collections.deque( - sorted([AbortedTransaction(*data) for data in aborted_transactions] if aborted_transactions else [], - key=lambda txn: txn.first_offset) - ) - self.metric_aggregator = metric_aggregator - self.check_crcs = check_crcs - self.record_iterator = itertools.dropwhile( - self._maybe_skip_record, - self._unpack_records(tp, records, key_deserializer, value_deserializer)) - self.on_drain = on_drain - self._next_inline_exception = None - - def _maybe_skip_record(self, record): + self.messages = messages # When fetching an offset that is in the middle of a # compressed batch, we will get all messages in the batch. # But we want to start 'take' at the fetch_offset # (or the next highest offset in case the message was compacted) - if record.offset < self.fetch_offset: - log.debug("Skipping message offset: %s (expecting %s)", - record.offset, self.fetch_offset) - return True + for i, msg in enumerate(messages): + if msg.offset < fetch_offset: + log.debug("Skipping message offset: %s (expecting %s)", + msg.offset, fetch_offset) + else: + self.message_idx = i + break + else: - return False + self.message_idx = 0 + self.messages = None - # For truthiness evaluation - def __bool__(self): - return self.record_iterator is not None + # For truthiness evaluation we need to define __len__ or __nonzero__ + def __len__(self): + if self.messages is None or self.message_idx >= len(self.messages): + return 0 + return len(self.messages) - self.message_idx - # py2 - __nonzero__ = __bool__ - - def drain(self): - if self.record_iterator is not None: - self.record_iterator = None - self._next_inline_exception = None - if self.metric_aggregator: - self.metric_aggregator.record(self.topic_partition, self.bytes_read, self.records_read) - self.on_drain(self) - - def _maybe_raise_next_inline_exception(self): - if self._next_inline_exception: - exc, self._next_inline_exception = self._next_inline_exception, None - raise exc + def discard(self): + self.messages = None def take(self, n=None): - self._maybe_raise_next_inline_exception() - records = [] - try: - # Note that records.extend(iter) will extend partially when exception raised mid-stream - records.extend(itertools.islice(self.record_iterator, 0, n)) - except Exception as e: - if not records: - raise e - # To be thrown in the next call of this method - self._next_inline_exception = e - return records - - def _unpack_records(self, tp, records, key_deserializer, value_deserializer): - try: - batch = records.next_batch() - last_batch = None - while batch is not None: - last_batch = batch - - if self.check_crcs and not batch.validate_crc(): - raise Errors.CorruptRecordError( - "Record batch for partition %s at offset %s failed crc check" % ( - self.topic_partition, batch.base_offset)) - - - # Try DefaultsRecordBatch / message log format v2 - # base_offset, last_offset_delta, aborted transactions, and control batches - if batch.magic == 2: - self.leader_epoch = batch.leader_epoch - if self.isolation_level == READ_COMMITTED and batch.has_producer_id(): - # remove from the aborted transaction queue all aborted transactions which have begun - # before the current batch's last offset and add the associated producerIds to the - # aborted producer set - self._consume_aborted_transactions_up_to(batch.last_offset) - - producer_id = batch.producer_id - if self._contains_abort_marker(batch): - try: - self.aborted_producer_ids.remove(producer_id) - except KeyError: - pass - elif self._is_batch_aborted(batch): - log.debug("Skipping aborted record batch from partition %s with producer_id %s and" - " offsets %s to %s", - self.topic_partition, producer_id, batch.base_offset, batch.last_offset) - self.next_fetch_offset = batch.next_offset - batch = records.next_batch() - continue - - # Control batches have a single record indicating whether a transaction - # was aborted or committed. These are not returned to the consumer. - if batch.is_control_batch: - self.next_fetch_offset = batch.next_offset - batch = records.next_batch() - continue - - for record in batch: - if self.check_crcs and not record.validate_crc(): - raise Errors.CorruptRecordError( - "Record for partition %s at offset %s failed crc check" % ( - self.topic_partition, record.offset)) - key_size = len(record.key) if record.key is not None else -1 - value_size = len(record.value) if record.value is not None else -1 - key = self._deserialize(key_deserializer, tp.topic, record.key) - value = self._deserialize(value_deserializer, tp.topic, record.value) - headers = record.headers - header_size = sum( - len(h_key.encode("utf-8")) + (len(h_val) if h_val is not None else 0) for h_key, h_val in - headers) if headers else -1 - self.records_read += 1 - self.bytes_read += record.size_in_bytes - self.next_fetch_offset = record.offset + 1 - yield ConsumerRecord( - tp.topic, tp.partition, self.leader_epoch, record.offset, record.timestamp, - record.timestamp_type, key, value, headers, record.checksum, - key_size, value_size, header_size) - - batch = records.next_batch() - else: - # Message format v2 preserves the last offset in a batch even if the last record is removed - # through compaction. By using the next offset computed from the last offset in the batch, - # we ensure that the offset of the next fetch will point to the next batch, which avoids - # unnecessary re-fetching of the same batch (in the worst case, the consumer could get stuck - # fetching the same batch repeatedly). - if last_batch and last_batch.magic == 2: - self.next_fetch_offset = last_batch.next_offset - self.drain() - - # If unpacking raises StopIteration, it is erroneously - # caught by the generator. We want all exceptions to be raised - # back to the user. See Issue 545 - except StopIteration: - log.exception('StopIteration raised unpacking messageset') - raise RuntimeError('StopIteration raised unpacking messageset') - - def _deserialize(self, f, topic, bytes_): - if not f: - return bytes_ - if isinstance(f, Deserializer): - return f.deserialize(topic, bytes_) - return f(bytes_) - - def _consume_aborted_transactions_up_to(self, offset): - if not self.aborted_transactions: - return - - while self.aborted_transactions and self.aborted_transactions[0].first_offset <= offset: - self.aborted_producer_ids.add(self.aborted_transactions.popleft().producer_id) - - def _is_batch_aborted(self, batch): - return batch.is_transactional and batch.producer_id in self.aborted_producer_ids - - def _contains_abort_marker(self, batch): - if not batch.is_control_batch: - return False - record = next(batch) - if not record: - return False - return record.abort - - -class FetchSessionHandler(object): - """ - FetchSessionHandler maintains the fetch session state for connecting to a broker. - - Using the protocol outlined by KIP-227, clients can create incremental fetch sessions. - These sessions allow the client to fetch information about a set of partition over - and over, without explicitly enumerating all the partitions in the request and the - response. - - FetchSessionHandler tracks the partitions which are in the session. It also - determines which partitions need to be included in each fetch request, and what - the attached fetch session metadata should be for each request. - """ - - def __init__(self, node_id): - self.node_id = node_id - self.next_metadata = FetchMetadata.INITIAL - self.session_partitions = {} - - def build_next(self, next_partitions): - """ - Arguments: - next_partitions (dict): TopicPartition -> TopicPartitionState - - Returns: - FetchRequestData - """ - if self.next_metadata.is_full: - log.debug("Built full fetch %s for node %s with %s partition(s).", - self.next_metadata, self.node_id, len(next_partitions)) - self.session_partitions = next_partitions - return FetchRequestData(next_partitions, None, self.next_metadata) - - prev_tps = set(self.session_partitions.keys()) - next_tps = set(next_partitions.keys()) - log.debug("Building incremental partitions from next: %s, previous: %s", next_tps, prev_tps) - added = next_tps - prev_tps - for tp in added: - self.session_partitions[tp] = next_partitions[tp] - removed = prev_tps - next_tps - for tp in removed: - self.session_partitions.pop(tp) - altered = set() - for tp in next_tps & prev_tps: - if next_partitions[tp] != self.session_partitions[tp]: - self.session_partitions[tp] = next_partitions[tp] - altered.add(tp) - - log.debug("Built incremental fetch %s for node %s. Added %s, altered %s, removed %s out of %s", - self.next_metadata, self.node_id, added, altered, removed, self.session_partitions.keys()) - to_send = collections.OrderedDict({tp: next_partitions[tp] for tp in next_partitions if tp in (added | altered)}) - return FetchRequestData(to_send, removed, self.next_metadata) - - def handle_response(self, response): - if response.error_code != Errors.NoError.errno: - error_type = Errors.for_code(response.error_code) - log.info("Node %s was unable to process the fetch request with %s: %s.", - self.node_id, self.next_metadata, error_type()) - if error_type is Errors.FetchSessionIdNotFoundError: - self.next_metadata = FetchMetadata.INITIAL - else: - self.next_metadata = self.next_metadata.next_close_existing() - return False - - response_tps = self._response_partitions(response) - session_tps = set(self.session_partitions.keys()) - if self.next_metadata.is_full: - if response_tps != session_tps: - log.info("Node %s sent an invalid full fetch response with extra %s / omitted %s", - self.node_id, response_tps - session_tps, session_tps - response_tps) - self.next_metadata = FetchMetadata.INITIAL - return False - elif response.session_id == FetchMetadata.INVALID_SESSION_ID: - log.debug("Node %s sent a full fetch response with %s partitions", - self.node_id, len(response_tps)) - self.next_metadata = FetchMetadata.INITIAL - return True - elif response.session_id == FetchMetadata.THROTTLED_SESSION_ID: - log.debug("Node %s sent a empty full fetch response due to a quota violation (%s partitions)", - self.node_id, len(response_tps)) - # Keep current metadata - return True - else: - # The server created a new incremental fetch session. - log.debug("Node %s sent a full fetch response that created a new incremental fetch session %s" - " with %s response partitions", - self.node_id, response.session_id, - len(response_tps)) - self.next_metadata = FetchMetadata.new_incremental(response.session_id) - return True - else: - if response_tps - session_tps: - log.info("Node %s sent an invalid incremental fetch response with extra partitions %s", - self.node_id, response_tps - session_tps) - self.next_metadata = self.next_metadata.next_close_existing() - return False - elif response.session_id == FetchMetadata.INVALID_SESSION_ID: - # The incremental fetch session was closed by the server. - log.debug("Node %s sent an incremental fetch response closing session %s" - " with %s response partitions (%s implied)", - self.node_id, self.next_metadata.session_id, - len(response_tps), len(self.session_partitions) - len(response_tps)) - self.next_metadata = FetchMetadata.INITIAL - return True - elif response.session_id == FetchMetadata.THROTTLED_SESSION_ID: - log.debug("Node %s sent a empty incremental fetch response due to a quota violation (%s partitions)", - self.node_id, len(response_tps)) - # Keep current metadata - return True - else: - # The incremental fetch session was continued by the server. - log.debug("Node %s sent an incremental fetch response for session %s" - " with %s response partitions (%s implied)", - self.node_id, response.session_id, - len(response_tps), len(self.session_partitions) - len(response_tps)) - self.next_metadata = self.next_metadata.next_incremental() - return True - - def handle_error(self, _exception): - self.next_metadata = self.next_metadata.next_close_existing() - - def _response_partitions(self, response): - return {TopicPartition(topic, partition_data[0]) - for topic, partitions in response.topics - for partition_data in partitions} - - -class FetchMetadata(object): - __slots__ = ('session_id', 'epoch') - - MAX_EPOCH = 2147483647 - INVALID_SESSION_ID = 0 # used by clients with no session. - THROTTLED_SESSION_ID = -1 # returned with empty response on quota violation - INITIAL_EPOCH = 0 # client wants to create or recreate a session. - FINAL_EPOCH = -1 # client wants to close any existing session, and not create a new one. - - def __init__(self, session_id, epoch): - self.session_id = session_id - self.epoch = epoch - - @property - def is_full(self): - return self.epoch == self.INITIAL_EPOCH or self.epoch == self.FINAL_EPOCH - - @classmethod - def next_epoch(cls, prev_epoch): - if prev_epoch < 0: - return cls.FINAL_EPOCH - elif prev_epoch == cls.MAX_EPOCH: - return 1 - else: - return prev_epoch + 1 - - def next_close_existing(self): - return self.__class__(self.session_id, self.INITIAL_EPOCH) - - @classmethod - def new_incremental(cls, session_id): - return cls(session_id, cls.next_epoch(cls.INITIAL_EPOCH)) - - def next_incremental(self): - return self.__class__(self.session_id, self.next_epoch(self.epoch)) - -FetchMetadata.INITIAL = FetchMetadata(FetchMetadata.INVALID_SESSION_ID, FetchMetadata.INITIAL_EPOCH) -FetchMetadata.LEGACY = FetchMetadata(FetchMetadata.INVALID_SESSION_ID, FetchMetadata.FINAL_EPOCH) - - -class FetchRequestData(object): - __slots__ = ('_to_send', '_to_forget', '_metadata') - - def __init__(self, to_send, to_forget, metadata): - self._to_send = to_send or dict() # {TopicPartition: (partition, ...)} - self._to_forget = to_forget or set() # {TopicPartition} - self._metadata = metadata - - @property - def metadata(self): - return self._metadata - - @property - def id(self): - return self._metadata.session_id - - @property - def epoch(self): - return self._metadata.epoch - - @property - def to_send(self): - # Return as list of [(topic, [(partition, ...), ...]), ...] - # so it can be passed directly to encoder - partition_data = collections.defaultdict(list) - for tp, partition_info in six.iteritems(self._to_send): - partition_data[tp.topic].append(partition_info) - return list(partition_data.items()) - - @property - def to_forget(self): - # Return as list of [(topic, (partiiton, ...)), ...] - # so it an be passed directly to encoder - partition_data = collections.defaultdict(list) - for tp in self._to_forget: - partition_data[tp.topic].append(tp.partition) - return list(partition_data.items()) - - -class FetchMetrics(object): - __slots__ = ('total_bytes', 'total_records') - - def __init__(self): - self.total_bytes = 0 - self.total_records = 0 + if not len(self): + return [] + if n is None or n > len(self): + n = len(self) + next_idx = self.message_idx + n + res = self.messages[self.message_idx:next_idx] + self.message_idx = next_idx + # fetch_offset should be incremented by 1 to parallel the + # subscription position (also incremented by 1) + self.fetch_offset = max(self.fetch_offset, res[-1].offset + 1) + return res class FetchResponseMetricAggregator(object): @@ -1312,8 +919,8 @@ class FetchResponseMetricAggregator(object): def __init__(self, sensors, partitions): self.sensors = sensors self.unrecorded_partitions = partitions - self.fetch_metrics = FetchMetrics() - self.topic_fetch_metrics = collections.defaultdict(FetchMetrics) + self.total_bytes = 0 + self.total_records = 0 def record(self, partition, num_bytes, num_records): """ @@ -1322,17 +929,13 @@ class FetchResponseMetricAggregator(object): have reported, we write the metric. """ self.unrecorded_partitions.remove(partition) - self.fetch_metrics.total_bytes += num_bytes - self.fetch_metrics.total_records += num_records - self.topic_fetch_metrics[partition.topic].total_bytes += num_bytes - self.topic_fetch_metrics[partition.topic].total_records += num_records + self.total_bytes += num_bytes + self.total_records += num_records # once all expected partitions from the fetch have reported in, record the metrics if not self.unrecorded_partitions: - self.sensors.bytes_fetched.record(self.fetch_metrics.total_bytes) - self.sensors.records_fetched.record(self.fetch_metrics.total_records) - for topic, metrics in six.iteritems(self.topic_fetch_metrics): - self.sensors.record_topic_fetch_metrics(topic, metrics.total_bytes, metrics.total_records) + self.sensors.bytes_fetched.record(self.total_bytes) + self.sensors.records_fetched.record(self.total_records) class FetchManagerMetrics(object): @@ -1366,6 +969,12 @@ class FetchManagerMetrics(object): self.records_fetch_lag.add(metrics.metric_name('records-lag-max', self.group_name, 'The maximum lag in terms of number of records for any partition in self window'), Max()) + self.fetch_throttle_time_sensor = metrics.sensor('fetch-throttle-time') + self.fetch_throttle_time_sensor.add(metrics.metric_name('fetch-throttle-time-avg', self.group_name, + 'The average throttle time in ms'), Avg()) + self.fetch_throttle_time_sensor.add(metrics.metric_name('fetch-throttle-time-max', self.group_name, + 'The maximum throttle time in ms'), Max()) + def record_topic_fetch_metrics(self, topic, num_bytes, num_records): # record bytes fetched name = '.'.join(['topic', topic, 'bytes-fetched']) diff --git a/venv/lib/python3.12/site-packages/kafka/consumer/group.py b/venv/lib/python3.12/site-packages/kafka/consumer/group.py index bc974ee..26408c3 100644 --- a/venv/lib/python3.12/site-packages/kafka/consumer/group.py +++ b/venv/lib/python3.12/site-packages/kafka/consumer/group.py @@ -5,7 +5,7 @@ import logging import socket import time -from kafka.errors import KafkaConfigurationError, KafkaTimeoutError, UnsupportedVersionError +from kafka.errors import KafkaConfigurationError, UnsupportedVersionError from kafka.vendor import six @@ -16,9 +16,8 @@ from kafka.coordinator.consumer import ConsumerCoordinator from kafka.coordinator.assignors.range import RangePartitionAssignor from kafka.coordinator.assignors.roundrobin import RoundRobinPartitionAssignor from kafka.metrics import MetricConfig, Metrics -from kafka.protocol.list_offsets import OffsetResetStrategy -from kafka.structs import OffsetAndMetadata, TopicPartition -from kafka.util import Timer +from kafka.protocol.offset import OffsetResetStrategy +from kafka.structs import TopicPartition from kafka.version import __version__ log = logging.getLogger(__name__) @@ -61,8 +60,6 @@ class KafkaConsumer(six.Iterator): raw message key and returns a deserialized key. value_deserializer (callable): Any callable that takes a raw message value and returns a deserialized value. - enable_incremental_fetch_sessions: (bool): Use incremental fetch sessions - when available / supported by kafka broker. See KIP-227. Default: True. fetch_min_bytes (int): Minimum amount of data the server should return for a fetch request, otherwise wait up to fetch_max_wait_ms for more data to accumulate. Default: 1. @@ -101,7 +98,7 @@ class KafkaConsumer(six.Iterator): reconnection attempts will continue periodically with this fixed rate. To avoid connection storms, a randomization factor of 0.2 will be applied to the backoff resulting in a random range between - 20% below and 20% above the computed value. Default: 30000. + 20% below and 20% above the computed value. Default: 1000. max_in_flight_requests_per_connection (int): Requests are pipelined to kafka brokers up to this number of maximum requests per broker connection. Default: 5. @@ -121,12 +118,6 @@ class KafkaConsumer(six.Iterator): consumed. This ensures no on-the-wire or on-disk corruption to the messages occurred. This check adds some overhead, so it may be disabled in cases seeking extreme performance. Default: True - isolation_level (str): Configure KIP-98 transactional consumer by - setting to 'read_committed'. This will cause the consumer to - skip records from aborted transactions. Default: 'read_uncommitted' - allow_auto_create_topics (bool): Enable/disable auto topic creation - on metadata request. Only available with api_version >= (0, 11). - Default: True metadata_max_age_ms (int): The period of time in milliseconds after which we force a refresh of metadata, even if we haven't seen any partition leadership changes to proactively discover any new @@ -204,17 +195,10 @@ class KafkaConsumer(six.Iterator): or other configuration forbids use of all the specified ciphers), an ssl.SSLError will be raised. See ssl.SSLContext.set_ciphers api_version (tuple): Specify which Kafka API version to use. If set to - None, the client will attempt to determine the broker version via - ApiVersionsRequest API or, for brokers earlier than 0.10, probing - various known APIs. Dynamic version checking is performed eagerly - during __init__ and can raise NoBrokersAvailableError if no connection - was made before timeout (see api_version_auto_timeout_ms below). - Different versions enable different functionality. + None, the client will attempt to infer the broker version by probing + various APIs. Different versions enable different functionality. Examples: - (3, 9) most recent broker release, enable all supported features - (0, 11) enables message format v2 (internal) - (0, 10, 0) enables sasl authentication and message format v1 (0, 9) enables full group coordination features with automatic partition assignment and rebalancing, (0, 8, 2) enables kafka-storage offset commits with manual @@ -228,7 +212,6 @@ class KafkaConsumer(six.Iterator): api_version_auto_timeout_ms (int): number of milliseconds to throw a timeout exception from the constructor when checking the broker api version. Only applies if api_version set to None. - Default: 2000 connections_max_idle_ms: Close idle connections after the number of milliseconds specified by this config. The broker closes idle connections after connections.max.idle.ms, so this avoids hitting @@ -237,7 +220,6 @@ class KafkaConsumer(six.Iterator): metric_reporters (list): A list of classes to use as metrics reporters. Implementing the AbstractMetricsReporter interface allows plugging in classes that will be notified of new metric creation. Default: [] - metrics_enabled (bool): Whether to track metrics on this instance. Default True. metrics_num_samples (int): The number of samples maintained to compute metrics. Default: 2 metrics_sample_window_ms (int): The maximum age in milliseconds of @@ -256,17 +238,12 @@ class KafkaConsumer(six.Iterator): Required if sasl_mechanism is PLAIN or one of the SCRAM mechanisms. sasl_plain_password (str): password for sasl PLAIN and SCRAM authentication. Required if sasl_mechanism is PLAIN or one of the SCRAM mechanisms. - sasl_kerberos_name (str or gssapi.Name): Constructed gssapi.Name for use with - sasl mechanism handshake. If provided, sasl_kerberos_service_name and - sasl_kerberos_domain name are ignored. Default: None. sasl_kerberos_service_name (str): Service name to include in GSSAPI sasl mechanism handshake. Default: 'kafka' sasl_kerberos_domain_name (str): kerberos domain name to use in GSSAPI sasl mechanism handshake. Default: one of bootstrap servers - sasl_oauth_token_provider (kafka.sasl.oauth.AbstractTokenProvider): OAuthBearer - token provider instance. Default: None - socks5_proxy (str): Socks5 proxy URL. Default: None - kafka_client (callable): Custom class / callable for creating KafkaClient instances + sasl_oauth_token_provider (AbstractTokenProvider): OAuthBearer token provider + instance. (See kafka.oauth.abstract). Default: None Note: Configuration parameters are described in more detail at @@ -278,7 +255,6 @@ class KafkaConsumer(six.Iterator): 'group_id': None, 'key_deserializer': None, 'value_deserializer': None, - 'enable_incremental_fetch_sessions': True, 'fetch_max_wait_ms': 500, 'fetch_min_bytes': 1, 'fetch_max_bytes': 52428800, @@ -286,15 +262,13 @@ class KafkaConsumer(six.Iterator): 'request_timeout_ms': 305000, # chosen to be higher than the default of max_poll_interval_ms 'retry_backoff_ms': 100, 'reconnect_backoff_ms': 50, - 'reconnect_backoff_max_ms': 30000, + 'reconnect_backoff_max_ms': 1000, 'max_in_flight_requests_per_connection': 5, 'auto_offset_reset': 'latest', 'enable_auto_commit': True, 'auto_commit_interval_ms': 5000, 'default_offset_commit_callback': lambda offsets, response: True, 'check_crcs': True, - 'isolation_level': 'read_uncommitted', - 'allow_auto_create_topics': True, 'metadata_max_age_ms': 5 * 60 * 1000, 'partition_assignment_strategy': (RangePartitionAssignor, RoundRobinPartitionAssignor), 'max_poll_records': 500, @@ -320,7 +294,6 @@ class KafkaConsumer(six.Iterator): 'api_version_auto_timeout_ms': 2000, 'connections_max_idle_ms': 9 * 60 * 1000, 'metric_reporters': [], - 'metrics_enabled': True, 'metrics_num_samples': 2, 'metrics_sample_window_ms': 30000, 'metric_group_prefix': 'consumer', @@ -329,12 +302,10 @@ class KafkaConsumer(six.Iterator): 'sasl_mechanism': None, 'sasl_plain_username': None, 'sasl_plain_password': None, - 'sasl_kerberos_name': None, 'sasl_kerberos_service_name': 'kafka', 'sasl_kerberos_domain_name': None, 'sasl_oauth_token_provider': None, - 'socks5_proxy': None, - 'kafka_client': KafkaClient, + 'legacy_iterator': False, # enable to revert to < 1.4.7 iterator } DEFAULT_SESSION_TIMEOUT_MS_0_9 = 30000 @@ -364,15 +335,13 @@ class KafkaConsumer(six.Iterator): "fetch_max_wait_ms ({})." .format(connections_max_idle_ms, request_timeout_ms, fetch_max_wait_ms)) - if self.config['metrics_enabled']: - metrics_tags = {'client-id': self.config['client_id']} - metric_config = MetricConfig(samples=self.config['metrics_num_samples'], - time_window_ms=self.config['metrics_sample_window_ms'], - tags=metrics_tags) - reporters = [reporter() for reporter in self.config['metric_reporters']] - self._metrics = Metrics(metric_config, reporters) - else: - self._metrics = None + metrics_tags = {'client-id': self.config['client_id']} + metric_config = MetricConfig(samples=self.config['metrics_num_samples'], + time_window_ms=self.config['metrics_sample_window_ms'], + tags=metrics_tags) + reporters = [reporter() for reporter in self.config['metric_reporters']] + self._metrics = Metrics(metric_config, reporters) + # TODO _metrics likely needs to be passed to KafkaClient, etc. # api_version was previously a str. Accept old format for now if isinstance(self.config['api_version'], str): @@ -384,10 +353,11 @@ class KafkaConsumer(six.Iterator): log.warning('use api_version=%s [tuple] -- "%s" as str is deprecated', str(self.config['api_version']), str_version) - self._client = self.config['kafka_client'](metrics=self._metrics, **self.config) + self._client = KafkaClient(metrics=self._metrics, **self.config) - # Get auto-discovered / normalized version from client - self.config['api_version'] = self._client.config['api_version'] + # Get auto-discovered version from client if necessary + if self.config['api_version'] is None: + self.config['api_version'] = self._client.config['api_version'] # Coordinator configurations are different for older brokers # max_poll_interval_ms is not supported directly -- it must the be @@ -410,9 +380,9 @@ class KafkaConsumer(six.Iterator): self._subscription = SubscriptionState(self.config['auto_offset_reset']) self._fetcher = Fetcher( - self._client, self._subscription, metrics=self._metrics, **self.config) + self._client, self._subscription, self._metrics, **self.config) self._coordinator = ConsumerCoordinator( - self._client, self._subscription, metrics=self._metrics, + self._client, self._subscription, self._metrics, assignors=self.config['partition_assignment_strategy'], **self.config) self._closed = False @@ -452,15 +422,8 @@ class KafkaConsumer(six.Iterator): no rebalance operation triggered when group membership or cluster and topic metadata change. """ - if not partitions: - self.unsubscribe() - else: - # make sure the offsets of topic partitions the consumer is unsubscribing from - # are committed since there will be no following rebalance - self._coordinator.maybe_auto_commit_offsets_now() - self._subscription.assign_from_user(partitions) - self._client.set_topics([tp.topic for tp in partitions]) - log.debug("Subscribed to partition(s): %s", partitions) + self._subscription.assign_from_user(partitions) + self._client.set_topics([tp.topic for tp in partitions]) def assignment(self): """Get the TopicPartitions currently assigned to this consumer. @@ -478,23 +441,20 @@ class KafkaConsumer(six.Iterator): """ return self._subscription.assigned_partitions() - def close(self, autocommit=True, timeout_ms=None): + def close(self, autocommit=True): """Close the consumer, waiting indefinitely for any needed cleanup. Keyword Arguments: autocommit (bool): If auto-commit is configured for this consumer, this optional flag causes the consumer to attempt to commit any pending consumed offsets prior to close. Default: True - timeout_ms (num, optional): Milliseconds to wait for auto-commit. - Default: None """ if self._closed: return log.debug("Closing the KafkaConsumer.") self._closed = True - self._coordinator.close(autocommit=autocommit, timeout_ms=timeout_ms) - if self._metrics: - self._metrics.close() + self._coordinator.close(autocommit=autocommit) + self._metrics.close() self._client.close() try: self.config['key_deserializer'].close() @@ -540,7 +500,7 @@ class KafkaConsumer(six.Iterator): offsets, callback=callback) return future - def commit(self, offsets=None, timeout_ms=None): + def commit(self, offsets=None): """Commit offsets to kafka, blocking until success or error. This commits offsets only to Kafka. The offsets committed using this API @@ -564,16 +524,17 @@ class KafkaConsumer(six.Iterator): assert self.config['group_id'] is not None, 'Requires group_id' if offsets is None: offsets = self._subscription.all_consumed_offsets() - self._coordinator.commit_offsets_sync(offsets, timeout_ms=timeout_ms) + self._coordinator.commit_offsets_sync(offsets) - def committed(self, partition, metadata=False, timeout_ms=None): + def committed(self, partition, metadata=False): """Get the last committed offset for the given partition. This offset will be used as the position for the consumer in the event of a failure. - This call will block to do a remote call to get the latest committed - offsets from the server. + This call may block to do a remote call if the partition in question + isn't assigned to this consumer or if the consumer hasn't yet + initialized its cache of committed offsets. Arguments: partition (TopicPartition): The partition to check. @@ -582,19 +543,28 @@ class KafkaConsumer(six.Iterator): Returns: The last committed offset (int or OffsetAndMetadata), or None if there was no prior commit. - - Raises: - KafkaTimeoutError if timeout_ms provided - BrokerResponseErrors if OffsetFetchRequest raises an error. """ assert self.config['api_version'] >= (0, 8, 1), 'Requires >= Kafka 0.8.1' assert self.config['group_id'] is not None, 'Requires group_id' if not isinstance(partition, TopicPartition): raise TypeError('partition must be a TopicPartition namedtuple') - committed = self._coordinator.fetch_committed_offsets([partition], timeout_ms=timeout_ms) - if partition not in committed: - return None - return committed[partition] if metadata else committed[partition].offset + if self._subscription.is_assigned(partition): + committed = self._subscription.assignment[partition].committed + if committed is None: + self._coordinator.refresh_committed_offsets_if_needed() + committed = self._subscription.assignment[partition].committed + else: + commit_map = self._coordinator.fetch_committed_offsets([partition]) + if partition in commit_map: + committed = commit_map[partition] + else: + committed = None + + if committed is not None: + if metadata: + return committed + else: + return committed.offset def _fetch_all_topic_metadata(self): """A blocking call that fetches topic metadata for all topics in the @@ -639,7 +609,7 @@ class KafkaConsumer(six.Iterator): if partitions is None: self._fetch_all_topic_metadata() partitions = cluster.partitions_for_topic(topic) - return partitions or set() + return partitions def poll(self, timeout_ms=0, max_records=None, update_offsets=True): """Fetch data from assigned topics / partitions. @@ -679,88 +649,82 @@ class KafkaConsumer(six.Iterator): assert not self._closed, 'KafkaConsumer is closed' # Poll for new data until the timeout expires - timer = Timer(timeout_ms) - while not self._closed: - records = self._poll_once(timer, max_records, update_offsets=update_offsets) + start = time.time() + remaining = timeout_ms + while True: + records = self._poll_once(remaining, max_records, update_offsets=update_offsets) if records: return records - elif timer.expired: - break - return {} - def _poll_once(self, timer, max_records, update_offsets=True): + elapsed_ms = (time.time() - start) * 1000 + remaining = timeout_ms - elapsed_ms + + if remaining <= 0: + return {} + + def _poll_once(self, timeout_ms, max_records, update_offsets=True): """Do one round of polling. In addition to checking for new data, this does any needed heart-beating, auto-commits, and offset updates. Arguments: - timer (Timer): The maximum time in milliseconds to block. + timeout_ms (int): The maximum time in milliseconds to block. Returns: dict: Map of topic to list of records (may be empty). """ - if not self._coordinator.poll(timeout_ms=timer.timeout_ms): - log.debug('poll: timeout during coordinator.poll(); returning early') - return {} + self._coordinator.poll() - has_all_fetch_positions = self._update_fetch_positions(timeout_ms=timer.timeout_ms) + # Fetch positions if we have partitions we're subscribed to that we + # don't know the offset for + if not self._subscription.has_all_fetch_positions(): + self._update_fetch_positions(self._subscription.missing_fetch_positions()) # If data is available already, e.g. from a previous network client # poll() call to commit, then just return it immediately records, partial = self._fetcher.fetched_records(max_records, update_offsets=update_offsets) - log.debug('poll: fetched records: %s, %s', records, partial) - # Before returning the fetched records, we can send off the - # next round of fetches and avoid block waiting for their - # responses to enable pipelining while the user is handling the - # fetched records. - if not partial: - log.debug("poll: Sending fetches") - futures = self._fetcher.send_fetches() - if len(futures): - self._client.poll(timeout_ms=0) - if records: + # Before returning the fetched records, we can send off the + # next round of fetches and avoid block waiting for their + # responses to enable pipelining while the user is handling the + # fetched records. + if not partial: + futures = self._fetcher.send_fetches() + if len(futures): + self._client.poll(timeout_ms=0) return records - # We do not want to be stuck blocking in poll if we are missing some positions - # since the offset lookup may be backing off after a failure - poll_timeout_ms = min(timer.timeout_ms, self._coordinator.time_to_next_poll() * 1000) - if not has_all_fetch_positions: - log.debug('poll: do not have all fetch positions...') - poll_timeout_ms = min(poll_timeout_ms, self.config['retry_backoff_ms']) + # Send any new fetches (won't resend pending fetches) + futures = self._fetcher.send_fetches() + if len(futures): + self._client.poll(timeout_ms=0) - self._client.poll(timeout_ms=poll_timeout_ms) + timeout_ms = min(timeout_ms, self._coordinator.time_to_next_poll() * 1000) + self._client.poll(timeout_ms=timeout_ms) # after the long poll, we should check whether the group needs to rebalance # prior to returning data so that the group can stabilize faster if self._coordinator.need_rejoin(): - log.debug('poll: coordinator needs rejoin; returning early') return {} records, _ = self._fetcher.fetched_records(max_records, update_offsets=update_offsets) return records - def position(self, partition, timeout_ms=None): + def position(self, partition): """Get the offset of the next record that will be fetched Arguments: partition (TopicPartition): Partition to check Returns: - int: Offset or None + int: Offset """ if not isinstance(partition, TopicPartition): raise TypeError('partition must be a TopicPartition namedtuple') assert self._subscription.is_assigned(partition), 'Partition is not assigned' - - timer = Timer(timeout_ms) - position = self._subscription.assignment[partition].position - while position is None: - # batch update fetch positions for any partitions without a valid position - if self._update_fetch_positions(timeout_ms=timer.timeout_ms): - position = self._subscription.assignment[partition].position - elif timer.expired: - return None - else: - return position.offset + offset = self._subscription.assignment[partition].position + if offset is None: + self._update_fetch_positions([partition]) + offset = self._subscription.assignment[partition].position + return offset def highwater(self, partition): """Last known highwater offset for a partition. @@ -854,7 +818,8 @@ class KafkaConsumer(six.Iterator): assert partition in self._subscription.assigned_partitions(), 'Unassigned partition' log.debug("Seeking to offset %s for partition %s", offset, partition) self._subscription.assignment[partition].seek(offset) - self._iterator = None + if not self.config['legacy_iterator']: + self._iterator = None def seek_to_beginning(self, *partitions): """Seek to the oldest available offset for partitions. @@ -878,8 +843,9 @@ class KafkaConsumer(six.Iterator): for tp in partitions: log.debug("Seeking to beginning of partition %s", tp) - self._subscription.request_offset_reset(tp, OffsetResetStrategy.EARLIEST) - self._iterator = None + self._subscription.need_offset_reset(tp, OffsetResetStrategy.EARLIEST) + if not self.config['legacy_iterator']: + self._iterator = None def seek_to_end(self, *partitions): """Seek to the most recent available offset for partitions. @@ -903,8 +869,9 @@ class KafkaConsumer(six.Iterator): for tp in partitions: log.debug("Seeking to end of partition %s", tp) - self._subscription.request_offset_reset(tp, OffsetResetStrategy.LATEST) - self._iterator = None + self._subscription.need_offset_reset(tp, OffsetResetStrategy.LATEST) + if not self.config['legacy_iterator']: + self._iterator = None def subscribe(self, topics=(), pattern=None, listener=None): """Subscribe to a list of topics, or a topic regex pattern. @@ -975,16 +942,13 @@ class KafkaConsumer(six.Iterator): def unsubscribe(self): """Unsubscribe from all topics and clear all assigned partitions.""" - # make sure the offsets of topic partitions the consumer is unsubscribing from - # are committed since there will be no following rebalance - self._coordinator.maybe_auto_commit_offsets_now() self._subscription.unsubscribe() - if self.config['api_version'] >= (0, 9): - self._coordinator.maybe_leave_group() + self._coordinator.close() self._client.cluster.need_all_topic_metadata = False self._client.set_topics([]) log.debug("Unsubscribed all topics or patterns and assigned partitions") - self._iterator = None + if not self.config['legacy_iterator']: + self._iterator = None def metrics(self, raw=False): """Get metrics on consumer performance. @@ -996,8 +960,6 @@ class KafkaConsumer(six.Iterator): This is an unstable interface. It may change in future releases without warning. """ - if not self._metrics: - return if raw: return self._metrics.metrics.copy() @@ -1053,7 +1015,7 @@ class KafkaConsumer(six.Iterator): raise ValueError( "The target time for partition {} is {}. The target time " "cannot be negative.".format(tp, ts)) - return self._fetcher.offsets_by_times( + return self._fetcher.get_offsets_by_times( timestamps, self.config['request_timeout_ms']) def beginning_offsets(self, partitions): @@ -1119,7 +1081,7 @@ class KafkaConsumer(six.Iterator): return False return True - def _update_fetch_positions(self, timeout_ms=None): + def _update_fetch_positions(self, partitions): """Set the fetch position to the committed position (if there is one) or reset it using the offset reset policy the user has configured. @@ -1127,36 +1089,30 @@ class KafkaConsumer(six.Iterator): partitions (List[TopicPartition]): The partitions that need updating fetch positions. - Returns True if fetch positions updated, False if timeout or async reset is pending - Raises: NoOffsetForPartitionError: If no offset is stored for a given partition and no offset reset policy is defined. """ - if self._subscription.has_all_fetch_positions(): - return True + # Lookup any positions for partitions which are awaiting reset (which may be the + # case if the user called :meth:`seek_to_beginning` or :meth:`seek_to_end`. We do + # this check first to avoid an unnecessary lookup of committed offsets (which + # typically occurs when the user is manually assigning partitions and managing + # their own offsets). + self._fetcher.reset_offsets_if_needed(partitions) - if (self.config['api_version'] >= (0, 8, 1) and - self.config['group_id'] is not None): - # If there are any partitions which do not have a valid position and are not - # awaiting reset, then we need to fetch committed offsets. We will only do a - # coordinator lookup if there are partitions which have missing positions, so - # a consumer with manually assigned partitions can avoid a coordinator dependence - # by always ensuring that assigned partitions have an initial position. - if not self._coordinator.refresh_committed_offsets_if_needed(timeout_ms=timeout_ms): - return False + if not self._subscription.has_all_fetch_positions(): + # if we still don't have offsets for all partitions, then we should either seek + # to the last committed position or reset using the auto reset policy + if (self.config['api_version'] >= (0, 8, 1) and + self.config['group_id'] is not None): + # first refresh commits for all assigned partitions + self._coordinator.refresh_committed_offsets_if_needed() - # If there are partitions still needing a position and a reset policy is defined, - # request reset using the default policy. If no reset strategy is defined and there - # are partitions with a missing position, then we will raise an exception. - self._subscription.reset_missing_positions() - - # Finally send an asynchronous request to lookup and update the positions of any - # partitions which are awaiting reset. - return not self._fetcher.reset_offsets_if_needed() + # Then, do any offset lookups in case some positions are not known + self._fetcher.update_fetch_positions(partitions) def _message_generator_v2(self): - timeout_ms = 1000 * max(0, self._consumer_timeout - time.time()) + timeout_ms = 1000 * (self._consumer_timeout - time.time()) record_map = self.poll(timeout_ms=timeout_ms, update_offsets=False) for tp, records in six.iteritems(record_map): # Generators are stateful, and it is possible that the tp / records @@ -1171,15 +1127,72 @@ class KafkaConsumer(six.Iterator): log.debug("Not returning fetched records for partition %s" " since it is no longer fetchable", tp) break - self._subscription.assignment[tp].position = OffsetAndMetadata(record.offset + 1, '', -1) + self._subscription.assignment[tp].position = record.offset + 1 yield record + def _message_generator(self): + assert self.assignment() or self.subscription() is not None, 'No topic subscription or manual partition assignment' + while time.time() < self._consumer_timeout: + + self._coordinator.poll() + + # Fetch offsets for any subscribed partitions that we arent tracking yet + if not self._subscription.has_all_fetch_positions(): + partitions = self._subscription.missing_fetch_positions() + self._update_fetch_positions(partitions) + + poll_ms = min((1000 * (self._consumer_timeout - time.time())), self.config['retry_backoff_ms']) + self._client.poll(timeout_ms=poll_ms) + + # after the long poll, we should check whether the group needs to rebalance + # prior to returning data so that the group can stabilize faster + if self._coordinator.need_rejoin(): + continue + + # We need to make sure we at least keep up with scheduled tasks, + # like heartbeats, auto-commits, and metadata refreshes + timeout_at = self._next_timeout() + + # Short-circuit the fetch iterator if we are already timed out + # to avoid any unintentional interaction with fetcher setup + if time.time() > timeout_at: + continue + + for msg in self._fetcher: + yield msg + if time.time() > timeout_at: + log.debug("internal iterator timeout - breaking for poll") + break + self._client.poll(timeout_ms=0) + + # An else block on a for loop only executes if there was no break + # so this should only be called on a StopIteration from the fetcher + # We assume that it is safe to init_fetches when fetcher is done + # i.e., there are no more records stored internally + else: + self._fetcher.send_fetches() + + def _next_timeout(self): + timeout = min(self._consumer_timeout, + self._client.cluster.ttl() / 1000.0 + time.time(), + self._coordinator.time_to_next_poll() + time.time()) + return timeout + def __iter__(self): # pylint: disable=non-iterator-returned return self def __next__(self): if self._closed: raise StopIteration('KafkaConsumer closed') + # Now that the heartbeat thread runs in the background + # there should be no reason to maintain a separate iterator + # but we'll keep it available for a few releases just in case + if self.config['legacy_iterator']: + return self.next_v1() + else: + return self.next_v2() + + def next_v2(self): self._set_consumer_timeout() while time.time() < self._consumer_timeout: if not self._iterator: @@ -1190,6 +1203,17 @@ class KafkaConsumer(six.Iterator): self._iterator = None raise StopIteration() + def next_v1(self): + if not self._iterator: + self._iterator = self._message_generator() + + self._set_consumer_timeout() + try: + return next(self._iterator) + except StopIteration: + self._iterator = None + raise + def _set_consumer_timeout(self): # consumer_timeout_ms can be used to stop iteration early if self.config['consumer_timeout_ms'] >= 0: diff --git a/venv/lib/python3.12/site-packages/kafka/consumer/subscription_state.py b/venv/lib/python3.12/site-packages/kafka/consumer/subscription_state.py index f99f016..08842d1 100644 --- a/venv/lib/python3.12/site-packages/kafka/consumer/subscription_state.py +++ b/venv/lib/python3.12/site-packages/kafka/consumer/subscription_state.py @@ -1,40 +1,18 @@ from __future__ import absolute_import import abc -from collections import OrderedDict -try: - from collections.abc import Sequence -except ImportError: - from collections import Sequence -try: - # enum in stdlib as of py3.4 - from enum import IntEnum # pylint: disable=import-error -except ImportError: - # vendored backport module - from kafka.vendor.enum34 import IntEnum import logging -import random import re -import threading -import time from kafka.vendor import six -import kafka.errors as Errors -from kafka.protocol.list_offsets import OffsetResetStrategy +from kafka.errors import IllegalStateError +from kafka.protocol.offset import OffsetResetStrategy from kafka.structs import OffsetAndMetadata -from kafka.util import ensure_valid_topic_name, synchronized log = logging.getLogger(__name__) -class SubscriptionType(IntEnum): - NONE = 0 - AUTO_TOPICS = 1 - AUTO_PATTERN = 2 - USER_ASSIGNED = 3 - - class SubscriptionState(object): """ A class for tracking the topics, partitions, and offsets for the consumer. @@ -54,6 +32,10 @@ class SubscriptionState(object): Note that pause state as well as fetch/consumed positions are not preserved when partition assignment is changed whether directly by the user or through a group rebalance. + + This class also maintains a cache of the latest commit position for each of + the assigned partitions. This is updated through committed() and can be used + to set the initial fetch position (e.g. Fetcher._reset_offset() ). """ _SUBSCRIPTION_EXCEPTION_MESSAGE = ( "You must choose only one way to configure your consumer:" @@ -61,6 +43,10 @@ class SubscriptionState(object): " (2) subscribe to topics matching a regex pattern," " (3) assign itself specific topic-partitions.") + # Taken from: https://github.com/apache/kafka/blob/39eb31feaeebfb184d98cc5d94da9148c2319d81/clients/src/main/java/org/apache/kafka/common/internals/Topic.java#L29 + _MAX_NAME_LENGTH = 249 + _TOPIC_LEGAL_CHARS = re.compile('^[a-zA-Z0-9._-]+$') + def __init__(self, offset_reset_strategy='earliest'): """Initialize a SubscriptionState instance @@ -78,24 +64,15 @@ class SubscriptionState(object): self._default_offset_reset_strategy = offset_reset_strategy self.subscription = None # set() or None - self.subscription_type = SubscriptionType.NONE self.subscribed_pattern = None # regex str or None self._group_subscription = set() self._user_assignment = set() - self.assignment = OrderedDict() - self.rebalance_listener = None - self.listeners = [] - self._lock = threading.RLock() + self.assignment = dict() + self.listener = None - def _set_subscription_type(self, subscription_type): - if not isinstance(subscription_type, SubscriptionType): - raise ValueError('SubscriptionType enum required') - if self.subscription_type == SubscriptionType.NONE: - self.subscription_type = subscription_type - elif self.subscription_type != subscription_type: - raise Errors.IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) + # initialize to true for the consumers to fetch offset upon starting up + self.needs_fetch_committed_offsets = True - @synchronized def subscribe(self, topics=(), pattern=None, listener=None): """Subscribe to a list of topics, or a topic regex pattern. @@ -131,26 +108,39 @@ class SubscriptionState(object): guaranteed, however, that the partitions revoked/assigned through this interface are from topics subscribed in this call. """ + if self._user_assignment or (topics and pattern): + raise IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) assert topics or pattern, 'Must provide topics or pattern' - if (topics and pattern): - raise Errors.IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) - elif pattern: - self._set_subscription_type(SubscriptionType.AUTO_PATTERN) + if pattern: log.info('Subscribing to pattern: /%s/', pattern) self.subscription = set() self.subscribed_pattern = re.compile(pattern) else: - if isinstance(topics, str) or not isinstance(topics, Sequence): - raise TypeError('Topics must be a list (or non-str sequence)') - self._set_subscription_type(SubscriptionType.AUTO_TOPICS) self.change_subscription(topics) if listener and not isinstance(listener, ConsumerRebalanceListener): raise TypeError('listener must be a ConsumerRebalanceListener') - self.rebalance_listener = listener + self.listener = listener + + def _ensure_valid_topic_name(self, topic): + """ Ensures that the topic name is valid according to the kafka source. """ + + # See Kafka Source: + # https://github.com/apache/kafka/blob/39eb31feaeebfb184d98cc5d94da9148c2319d81/clients/src/main/java/org/apache/kafka/common/internals/Topic.java + if topic is None: + raise TypeError('All topics must not be None') + if not isinstance(topic, six.string_types): + raise TypeError('All topics must be strings') + if len(topic) == 0: + raise ValueError('All topics must be non-empty strings') + if topic == '.' or topic == '..': + raise ValueError('Topic name cannot be "." or ".."') + if len(topic) > self._MAX_NAME_LENGTH: + raise ValueError('Topic name is illegal, it can\'t be longer than {0} characters, topic: "{1}"'.format(self._MAX_NAME_LENGTH, topic)) + if not self._TOPIC_LEGAL_CHARS.match(topic): + raise ValueError('Topic name "{0}" is illegal, it contains a character other than ASCII alphanumerics, ".", "_" and "-"'.format(topic)) - @synchronized def change_subscription(self, topics): """Change the topic subscription. @@ -164,8 +154,8 @@ class SubscriptionState(object): - a topic name is '.' or '..' or - a topic name does not consist of ASCII-characters/'-'/'_'/'.' """ - if not self.partitions_auto_assigned(): - raise Errors.IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) + if self._user_assignment: + raise IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) if isinstance(topics, six.string_types): topics = [topics] @@ -176,13 +166,17 @@ class SubscriptionState(object): return for t in topics: - ensure_valid_topic_name(t) + self._ensure_valid_topic_name(t) log.info('Updating subscribed topics to: %s', topics) self.subscription = set(topics) self._group_subscription.update(topics) - @synchronized + # Remove any assigned partitions which are no longer subscribed to + for tp in set(self.assignment.keys()): + if tp.topic not in self.subscription: + del self.assignment[tp] + def group_subscribe(self, topics): """Add topics to the current group subscription. @@ -192,19 +186,17 @@ class SubscriptionState(object): Arguments: topics (list of str): topics to add to the group subscription """ - if not self.partitions_auto_assigned(): - raise Errors.IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) + if self._user_assignment: + raise IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) self._group_subscription.update(topics) - @synchronized def reset_group_subscription(self): """Reset the group's subscription to only contain topics subscribed by this consumer.""" - if not self.partitions_auto_assigned(): - raise Errors.IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) + if self._user_assignment: + raise IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) assert self.subscription is not None, 'Subscription required' self._group_subscription.intersection_update(self.subscription) - @synchronized def assign_from_user(self, partitions): """Manually assign a list of TopicPartitions to this consumer. @@ -223,13 +215,21 @@ class SubscriptionState(object): Raises: IllegalStateError: if consumer has already called subscribe() """ - self._set_subscription_type(SubscriptionType.USER_ASSIGNED) + if self.subscription is not None: + raise IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) + if self._user_assignment != set(partitions): self._user_assignment = set(partitions) - self._set_assignment({partition: self.assignment.get(partition, TopicPartitionState()) - for partition in partitions}) - @synchronized + for partition in partitions: + if partition not in self.assignment: + self._add_assigned_partition(partition) + + for tp in set(self.assignment.keys()) - self._user_assignment: + del self.assignment[tp] + + self.needs_fetch_committed_offsets = True + def assign_from_subscribed(self, assignments): """Update the assignment to the specified partitions @@ -243,39 +243,26 @@ class SubscriptionState(object): consumer instance. """ if not self.partitions_auto_assigned(): - raise Errors.IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) + raise IllegalStateError(self._SUBSCRIPTION_EXCEPTION_MESSAGE) for tp in assignments: if tp.topic not in self.subscription: raise ValueError("Assigned partition %s for non-subscribed topic." % (tp,)) - # randomized ordering should improve balance for short-lived consumers - self._set_assignment({partition: TopicPartitionState() for partition in assignments}, randomize=True) + # after rebalancing, we always reinitialize the assignment state + self.assignment.clear() + for tp in assignments: + self._add_assigned_partition(tp) + self.needs_fetch_committed_offsets = True log.info("Updated partition assignment: %s", assignments) - def _set_assignment(self, partition_states, randomize=False): - """Batch partition assignment by topic (self.assignment is OrderedDict)""" - self.assignment.clear() - topics = [tp.topic for tp in six.iterkeys(partition_states)] - if randomize: - random.shuffle(topics) - topic_partitions = OrderedDict({topic: [] for topic in topics}) - for tp in six.iterkeys(partition_states): - topic_partitions[tp.topic].append(tp) - for topic in six.iterkeys(topic_partitions): - for tp in topic_partitions[topic]: - self.assignment[tp] = partition_states[tp] - - @synchronized def unsubscribe(self): """Clear all topic subscriptions and partition assignments""" self.subscription = None self._user_assignment.clear() self.assignment.clear() self.subscribed_pattern = None - self.subscription_type = SubscriptionType.NONE - @synchronized def group_subscription(self): """Get the topic subscription for the group. @@ -291,7 +278,6 @@ class SubscriptionState(object): """ return self._group_subscription - @synchronized def seek(self, partition, offset): """Manually specify the fetch offset for a TopicPartition. @@ -303,48 +289,40 @@ class SubscriptionState(object): Arguments: partition (TopicPartition): partition for seek operation - offset (int or OffsetAndMetadata): message offset in partition + offset (int): message offset in partition """ - if not isinstance(offset, (int, OffsetAndMetadata)): - raise TypeError("offset must be type in or OffsetAndMetadata") self.assignment[partition].seek(offset) - @synchronized def assigned_partitions(self): """Return set of TopicPartitions in current assignment.""" return set(self.assignment.keys()) - @synchronized def paused_partitions(self): """Return current set of paused TopicPartitions.""" return set(partition for partition in self.assignment if self.is_paused(partition)) - @synchronized def fetchable_partitions(self): - """Return ordered list of TopicPartitions that should be Fetched.""" - fetchable = list() + """Return set of TopicPartitions that should be Fetched.""" + fetchable = set() for partition, state in six.iteritems(self.assignment): if state.is_fetchable(): - fetchable.append(partition) + fetchable.add(partition) return fetchable - @synchronized def partitions_auto_assigned(self): """Return True unless user supplied partitions manually.""" - return self.subscription_type in (SubscriptionType.AUTO_TOPICS, SubscriptionType.AUTO_PATTERN) + return self.subscription is not None - @synchronized def all_consumed_offsets(self): """Returns consumed offsets as {TopicPartition: OffsetAndMetadata}""" all_consumed = {} for partition, state in six.iteritems(self.assignment): if state.has_valid_position: - all_consumed[partition] = state.position + all_consumed[partition] = OffsetAndMetadata(state.position, '') return all_consumed - @synchronized - def request_offset_reset(self, partition, offset_reset_strategy=None): + def need_offset_reset(self, partition, offset_reset_strategy=None): """Mark partition for offset reset using specified or default strategy. Arguments: @@ -353,113 +331,63 @@ class SubscriptionState(object): """ if offset_reset_strategy is None: offset_reset_strategy = self._default_offset_reset_strategy - self.assignment[partition].reset(offset_reset_strategy) + self.assignment[partition].await_reset(offset_reset_strategy) - @synchronized - def set_reset_pending(self, partitions, next_allowed_reset_time): - for partition in partitions: - self.assignment[partition].set_reset_pending(next_allowed_reset_time) - - @synchronized def has_default_offset_reset_policy(self): """Return True if default offset reset policy is Earliest or Latest""" return self._default_offset_reset_strategy != OffsetResetStrategy.NONE - @synchronized def is_offset_reset_needed(self, partition): return self.assignment[partition].awaiting_reset - @synchronized def has_all_fetch_positions(self): - for state in six.itervalues(self.assignment): + for state in self.assignment.values(): if not state.has_valid_position: return False return True - @synchronized def missing_fetch_positions(self): missing = set() for partition, state in six.iteritems(self.assignment): - if state.is_missing_position(): + if not state.has_valid_position: missing.add(partition) return missing - @synchronized - def has_valid_position(self, partition): - return partition in self.assignment and self.assignment[partition].has_valid_position - - @synchronized - def reset_missing_positions(self): - partitions_with_no_offsets = set() - for tp, state in six.iteritems(self.assignment): - if state.is_missing_position(): - if self._default_offset_reset_strategy == OffsetResetStrategy.NONE: - partitions_with_no_offsets.add(tp) - else: - state.reset(self._default_offset_reset_strategy) - - if partitions_with_no_offsets: - raise Errors.NoOffsetForPartitionError(partitions_with_no_offsets) - - @synchronized - def partitions_needing_reset(self): - partitions = set() - for tp, state in six.iteritems(self.assignment): - if state.awaiting_reset and state.is_reset_allowed(): - partitions.add(tp) - return partitions - - @synchronized def is_assigned(self, partition): return partition in self.assignment - @synchronized def is_paused(self, partition): return partition in self.assignment and self.assignment[partition].paused - @synchronized def is_fetchable(self, partition): return partition in self.assignment and self.assignment[partition].is_fetchable() - @synchronized def pause(self, partition): self.assignment[partition].pause() - @synchronized def resume(self, partition): self.assignment[partition].resume() - @synchronized - def reset_failed(self, partitions, next_retry_time): - for partition in partitions: - self.assignment[partition].reset_failed(next_retry_time) - - @synchronized - def move_partition_to_end(self, partition): - if partition in self.assignment: - try: - self.assignment.move_to_end(partition) - except AttributeError: - state = self.assignment.pop(partition) - self.assignment[partition] = state - - @synchronized - def position(self, partition): - return self.assignment[partition].position + def _add_assigned_partition(self, partition): + self.assignment[partition] = TopicPartitionState() class TopicPartitionState(object): def __init__(self): + self.committed = None # last committed OffsetAndMetadata + self.has_valid_position = False # whether we have valid position self.paused = False # whether this partition has been paused by the user - self.reset_strategy = None # the reset strategy if awaiting_reset is set - self._position = None # OffsetAndMetadata exposed to the user + self.awaiting_reset = False # whether we are awaiting reset + self.reset_strategy = None # the reset strategy if awaitingReset is set + self._position = None # offset exposed to the user self.highwater = None - self.drop_pending_record_batch = False - self.next_allowed_retry_time = None + self.drop_pending_message_set = False + # The last message offset hint available from a message batch with + # magic=2 which includes deleted compacted messages + self.last_offset_from_message_batch = None def _set_position(self, offset): assert self.has_valid_position, 'Valid position required' - assert isinstance(offset, OffsetAndMetadata) self._position = offset def _get_position(self): @@ -467,37 +395,20 @@ class TopicPartitionState(object): position = property(_get_position, _set_position, None, "last position") - def reset(self, strategy): - assert strategy is not None + def await_reset(self, strategy): + self.awaiting_reset = True self.reset_strategy = strategy self._position = None - self.next_allowed_retry_time = None - - def is_reset_allowed(self): - return self.next_allowed_retry_time is None or self.next_allowed_retry_time < time.time() - - @property - def awaiting_reset(self): - return self.reset_strategy is not None - - def set_reset_pending(self, next_allowed_retry_time): - self.next_allowed_retry_time = next_allowed_retry_time - - def reset_failed(self, next_allowed_retry_time): - self.next_allowed_retry_time = next_allowed_retry_time - - @property - def has_valid_position(self): - return self._position is not None - - def is_missing_position(self): - return not self.has_valid_position and not self.awaiting_reset + self.last_offset_from_message_batch = None + self.has_valid_position = False def seek(self, offset): - self._position = offset if isinstance(offset, OffsetAndMetadata) else OffsetAndMetadata(offset, '', -1) + self._position = offset + self.awaiting_reset = False self.reset_strategy = None - self.drop_pending_record_batch = True - self.next_allowed_retry_time = None + self.has_valid_position = True + self.drop_pending_message_set = True + self.last_offset_from_message_batch = None def pause(self): self.paused = True @@ -509,7 +420,6 @@ class TopicPartitionState(object): return not self.paused and self.has_valid_position -@six.add_metaclass(abc.ABCMeta) class ConsumerRebalanceListener(object): """ A callback interface that the user can implement to trigger custom actions @@ -551,6 +461,8 @@ class ConsumerRebalanceListener(object): taking over that partition has their on_partitions_assigned() callback called to load the state. """ + __metaclass__ = abc.ABCMeta + @abc.abstractmethod def on_partitions_revoked(self, revoked): """ diff --git a/venv/lib/python3.12/site-packages/kafka/coordinator/assignors/sticky/sticky_assignor.py b/venv/lib/python3.12/site-packages/kafka/coordinator/assignors/sticky/sticky_assignor.py index 69f68f5..7827086 100644 --- a/venv/lib/python3.12/site-packages/kafka/coordinator/assignors/sticky/sticky_assignor.py +++ b/venv/lib/python3.12/site-packages/kafka/coordinator/assignors/sticky/sticky_assignor.py @@ -2,6 +2,7 @@ import logging from collections import defaultdict, namedtuple from copy import deepcopy +from kafka.cluster import ClusterMetadata from kafka.coordinator.assignors.abstract import AbstractPartitionAssignor from kafka.coordinator.assignors.sticky.partition_movements import PartitionMovements from kafka.coordinator.assignors.sticky.sorted_set import SortedSet @@ -647,19 +648,15 @@ class StickyPartitionAssignor(AbstractPartitionAssignor): @classmethod def metadata(cls, topics): - return cls._metadata(topics, cls.member_assignment, cls.generation) - - @classmethod - def _metadata(cls, topics, member_assignment_partitions, generation=-1): - if member_assignment_partitions is None: + if cls.member_assignment is None: log.debug("No member assignment available") user_data = b'' else: log.debug("Member assignment is available, generating the metadata: generation {}".format(cls.generation)) partitions_by_topic = defaultdict(list) - for topic_partition in member_assignment_partitions: + for topic_partition in cls.member_assignment: # pylint: disable=not-an-iterable partitions_by_topic[topic_partition.topic].append(topic_partition.partition) - data = StickyAssignorUserDataV1(list(partitions_by_topic.items()), generation) + data = StickyAssignorUserDataV1(six.iteritems(partitions_by_topic), cls.generation) user_data = data.encode() return ConsumerProtocolMemberMetadata(cls.version, list(topics), user_data) diff --git a/venv/lib/python3.12/site-packages/kafka/coordinator/base.py b/venv/lib/python3.12/site-packages/kafka/coordinator/base.py index 5e1f726..5e41309 100644 --- a/venv/lib/python3.12/site-packages/kafka/coordinator/base.py +++ b/venv/lib/python3.12/site-packages/kafka/coordinator/base.py @@ -5,7 +5,6 @@ import copy import logging import threading import time -import warnings import weakref from kafka.vendor import six @@ -15,12 +14,11 @@ from kafka import errors as Errors from kafka.future import Future from kafka.metrics import AnonMeasurable from kafka.metrics.stats import Avg, Count, Max, Rate -from kafka.protocol.find_coordinator import FindCoordinatorRequest -from kafka.protocol.group import HeartbeatRequest, JoinGroupRequest, LeaveGroupRequest, SyncGroupRequest, DEFAULT_GENERATION_ID, UNKNOWN_MEMBER_ID -from kafka.util import Timer +from kafka.protocol.commit import GroupCoordinatorRequest, OffsetCommitRequest +from kafka.protocol.group import (HeartbeatRequest, JoinGroupRequest, + LeaveGroupRequest, SyncGroupRequest) log = logging.getLogger('kafka.coordinator') -heartbeat_log = logging.getLogger('kafka.coordinator.heartbeat') class MemberState(object): @@ -35,20 +33,10 @@ class Generation(object): self.member_id = member_id self.protocol = protocol - @property - def is_valid(self): - return self.generation_id != DEFAULT_GENERATION_ID - - def __eq__(self, other): - return (self.generation_id == other.generation_id and - self.member_id == other.member_id and - self.protocol == other.protocol) - - def __str__(self): - return "" % (self.generation_id, self.member_id, self.protocol) - - -Generation.NO_GENERATION = Generation(DEFAULT_GENERATION_ID, UNKNOWN_MEMBER_ID, None) +Generation.NO_GENERATION = Generation( + OffsetCommitRequest[2].DEFAULT_GENERATION_ID, + JoinGroupRequest[0].UNKNOWN_MEMBER_ID, + None) class UnjoinedGroupException(Errors.KafkaError): @@ -99,11 +87,10 @@ class BaseCoordinator(object): 'max_poll_interval_ms': 300000, 'retry_backoff_ms': 100, 'api_version': (0, 10, 1), - 'metrics': None, 'metric_group_prefix': '', } - def __init__(self, client, **configs): + def __init__(self, client, metrics, **configs): """ Keyword Arguments: group_id (str): name of the consumer group to join for dynamic @@ -146,11 +133,8 @@ class BaseCoordinator(object): self.coordinator_id = None self._find_coordinator_future = None self._generation = Generation.NO_GENERATION - if self.config['metrics']: - self._sensors = GroupCoordinatorMetrics(self.heartbeat, self.config['metrics'], - self.config['metric_group_prefix']) - else: - self._sensors = None + self.sensors = GroupCoordinatorMetrics(self.heartbeat, metrics, + self.config['metric_group_prefix']) @abc.abstractmethod def protocol_type(self): @@ -182,7 +166,7 @@ class BaseCoordinator(object): pass @abc.abstractmethod - def _on_join_prepare(self, generation, member_id, timeout_ms=None): + def _on_join_prepare(self, generation, member_id): """Invoked prior to each group join or rejoin. This is typically used to perform any cleanup from the previous @@ -248,27 +232,16 @@ class BaseCoordinator(object): """ if self.coordinator_id is None: return None - elif self._client.is_disconnected(self.coordinator_id) and self._client.connection_delay(self.coordinator_id) > 0: + elif self._client.is_disconnected(self.coordinator_id): self.coordinator_dead('Node Disconnected') return None else: return self.coordinator_id - def connected(self): - """Return True iff the coordinator node is connected""" - with self._lock: - return self.coordinator_id is not None and self._client.connected(self.coordinator_id) - - def ensure_coordinator_ready(self, timeout_ms=None): - """Block until the coordinator for this group is known. - - Keyword Arguments: - timeout_ms (numeric, optional): Maximum number of milliseconds to - block waiting to find coordinator. Default: None. - - Returns: True is coordinator found before timeout_ms, else False + def ensure_coordinator_ready(self): + """Block until the coordinator for this group is known + (and we have an active connection -- java client uses unsent queue). """ - timer = Timer(timeout_ms) with self._client._lock, self._lock: while self.coordinator_unknown(): @@ -276,49 +249,30 @@ class BaseCoordinator(object): # so we will just pick a node at random and treat # it as the "coordinator" if self.config['api_version'] < (0, 8, 2): - maybe_coordinator_id = self._client.least_loaded_node() - if maybe_coordinator_id is None or self._client.cluster.is_bootstrap(maybe_coordinator_id): - future = Future().failure(Errors.NoBrokersAvailable()) - else: - self.coordinator_id = maybe_coordinator_id + self.coordinator_id = self._client.least_loaded_node() + if self.coordinator_id is not None: self._client.maybe_connect(self.coordinator_id) - if timer.expired: - return False - else: - continue - else: - future = self.lookup_coordinator() + continue - self._client.poll(future=future, timeout_ms=timer.timeout_ms) - - if not future.is_done: - return False + future = self.lookup_coordinator() + self._client.poll(future=future) if future.failed(): if future.retriable(): if getattr(future.exception, 'invalid_metadata', False): log.debug('Requesting metadata for group coordinator request: %s', future.exception) metadata_update = self._client.cluster.request_update() - self._client.poll(future=metadata_update, timeout_ms=timer.timeout_ms) - if not metadata_update.is_done: - return False + self._client.poll(future=metadata_update) else: - if timeout_ms is None or timer.timeout_ms > self.config['retry_backoff_ms']: - time.sleep(self.config['retry_backoff_ms'] / 1000) - else: - time.sleep(timer.timeout_ms / 1000) + time.sleep(self.config['retry_backoff_ms'] / 1000) else: raise future.exception # pylint: disable-msg=raising-bad-type - if timer.expired: - return False - else: - return True def _reset_find_coordinator_future(self, result): self._find_coordinator_future = None def lookup_coordinator(self): - with self._client._lock, self._lock: + with self._lock: if self._find_coordinator_future is not None: return self._find_coordinator_future @@ -376,139 +330,103 @@ class BaseCoordinator(object): return float('inf') return self.heartbeat.time_to_next_heartbeat() - def _reset_join_group_future(self): - with self._lock: - self.join_future = None - - def _initiate_join_group(self): - with self._lock: - # we store the join future in case we are woken up by the user - # after beginning the rebalance in the call to poll below. - # This ensures that we do not mistakenly attempt to rejoin - # before the pending rebalance has completed. - if self.join_future is None: - self.state = MemberState.REBALANCING - self.join_future = self._send_join_group_request() - - # handle join completion in the callback so that the - # callback will be invoked even if the consumer is woken up - # before finishing the rebalance - self.join_future.add_callback(self._handle_join_success) - - # we handle failures below after the request finishes. - # If the join completes after having been woken up, the - # exception is ignored and we will rejoin - self.join_future.add_errback(self._handle_join_failure) - - return self.join_future - def _handle_join_success(self, member_assignment_bytes): - # handle join completion in the callback so that the callback - # will be invoked even if the consumer is woken up before - # finishing the rebalance with self._lock: + log.info("Successfully joined group %s with generation %s", + self.group_id, self._generation.generation_id) self.state = MemberState.STABLE + self.rejoin_needed = False if self._heartbeat_thread: self._heartbeat_thread.enable() - def _handle_join_failure(self, exception): - # we handle failures below after the request finishes. - # if the join completes after having been woken up, - # the exception is ignored and we will rejoin + def _handle_join_failure(self, _): with self._lock: - log.info("Failed to join group %s: %s", self.group_id, exception) self.state = MemberState.UNJOINED - def ensure_active_group(self, timeout_ms=None): - """Ensure that the group is active (i.e. joined and synced) + def ensure_active_group(self): + """Ensure that the group is active (i.e. joined and synced)""" + with self._client._lock, self._lock: + if self._heartbeat_thread is None: + self._start_heartbeat_thread() - Keyword Arguments: - timeout_ms (numeric, optional): Maximum number of milliseconds to - block waiting to join group. Default: None. + while self.need_rejoin() or self._rejoin_incomplete(): + self.ensure_coordinator_ready() - Returns: True if group initialized before timeout_ms, else False - """ - if self.config['api_version'] < (0, 9): - raise Errors.UnsupportedVersionError('Group Coordinator APIs require 0.9+ broker') - timer = Timer(timeout_ms) - if not self.ensure_coordinator_ready(timeout_ms=timer.timeout_ms): - return False - self._start_heartbeat_thread() - return self.join_group(timeout_ms=timer.timeout_ms) + # call on_join_prepare if needed. We set a flag + # to make sure that we do not call it a second + # time if the client is woken up before a pending + # rebalance completes. This must be called on each + # iteration of the loop because an event requiring + # a rebalance (such as a metadata refresh which + # changes the matched subscription set) can occur + # while another rebalance is still in progress. + if not self.rejoining: + self._on_join_prepare(self._generation.generation_id, + self._generation.member_id) + self.rejoining = True - def join_group(self, timeout_ms=None): - if self.config['api_version'] < (0, 9): - raise Errors.UnsupportedVersionError('Group Coordinator APIs require 0.9+ broker') - timer = Timer(timeout_ms) - while self.need_rejoin(): - if not self.ensure_coordinator_ready(timeout_ms=timer.timeout_ms): - return False - - # call on_join_prepare if needed. We set a flag - # to make sure that we do not call it a second - # time if the client is woken up before a pending - # rebalance completes. This must be called on each - # iteration of the loop because an event requiring - # a rebalance (such as a metadata refresh which - # changes the matched subscription set) can occur - # while another rebalance is still in progress. - if not self.rejoining: - self._on_join_prepare(self._generation.generation_id, - self._generation.member_id, - timeout_ms=timer.timeout_ms) - self.rejoining = True - - # fence off the heartbeat thread explicitly so that it cannot - # interfere with the join group. # Note that this must come after - # the call to onJoinPrepare since we must be able to continue - # sending heartbeats if that callback takes some time. - log.debug("Disabling heartbeat thread during join-group") - self._disable_heartbeat_thread() - - # ensure that there are no pending requests to the coordinator. - # This is important in particular to avoid resending a pending - # JoinGroup request. - while not self.coordinator_unknown(): - if not self._client.in_flight_request_count(self.coordinator_id): - break - poll_timeout_ms = 200 if timer.timeout_ms is None or timer.timeout_ms > 200 else timer.timeout_ms - self._client.poll(timeout_ms=poll_timeout_ms) - if timer.expired: - return False - else: - continue - - future = self._initiate_join_group() - self._client.poll(future=future, timeout_ms=timer.timeout_ms) - if future.is_done: - self._reset_join_group_future() - else: - return False - - if future.succeeded(): - self.rejoining = False - self.rejoin_needed = False - self._on_join_complete(self._generation.generation_id, - self._generation.member_id, - self._generation.protocol, - future.value) - return True - else: - exception = future.exception - if isinstance(exception, (Errors.UnknownMemberIdError, - Errors.RebalanceInProgressError, - Errors.IllegalGenerationError, - Errors.MemberIdRequiredError)): - continue - elif not future.retriable(): - raise exception # pylint: disable-msg=raising-bad-type - elif timer.expired: - return False + # ensure that there are no pending requests to the coordinator. + # This is important in particular to avoid resending a pending + # JoinGroup request. + while not self.coordinator_unknown(): + if not self._client.in_flight_request_count(self.coordinator_id): + break + self._client.poll() else: - if timer.timeout_ms is None or timer.timeout_ms > self.config['retry_backoff_ms']: - time.sleep(self.config['retry_backoff_ms'] / 1000) - else: - time.sleep(timer.timeout_ms / 1000) + continue + + # we store the join future in case we are woken up by the user + # after beginning the rebalance in the call to poll below. + # This ensures that we do not mistakenly attempt to rejoin + # before the pending rebalance has completed. + if self.join_future is None: + # Fence off the heartbeat thread explicitly so that it cannot + # interfere with the join group. Note that this must come after + # the call to _on_join_prepare since we must be able to continue + # sending heartbeats if that callback takes some time. + self._heartbeat_thread.disable() + + self.state = MemberState.REBALANCING + future = self._send_join_group_request() + + self.join_future = future # this should happen before adding callbacks + + # handle join completion in the callback so that the + # callback will be invoked even if the consumer is woken up + # before finishing the rebalance + future.add_callback(self._handle_join_success) + + # we handle failures below after the request finishes. + # If the join completes after having been woken up, the + # exception is ignored and we will rejoin + future.add_errback(self._handle_join_failure) + + else: + future = self.join_future + + self._client.poll(future=future) + + if future.succeeded(): + self._on_join_complete(self._generation.generation_id, + self._generation.member_id, + self._generation.protocol, + future.value) + self.join_future = None + self.rejoining = False + + else: + self.join_future = None + exception = future.exception + if isinstance(exception, (Errors.UnknownMemberIdError, + Errors.RebalanceInProgressError, + Errors.IllegalGenerationError)): + continue + elif not future.retriable(): + raise exception # pylint: disable-msg=raising-bad-type + time.sleep(self.config['retry_backoff_ms'] / 1000) + + def _rejoin_incomplete(self): + return self.join_future is not None def _send_join_group_request(self): """Join the group and return the assignment for the next generation. @@ -521,7 +439,7 @@ class BaseCoordinator(object): group leader """ if self.coordinator_unknown(): - e = Errors.CoordinatorNotAvailableError(self.coordinator_id) + e = Errors.GroupCoordinatorNotAvailableError(self.coordinator_id) return Future().failure(e) elif not self._client.ready(self.coordinator_id, metadata_priority=False): @@ -534,16 +452,25 @@ class BaseCoordinator(object): (protocol, metadata if isinstance(metadata, bytes) else metadata.encode()) for protocol, metadata in self.group_protocols() ] - version = self._client.api_version(JoinGroupRequest, max_version=4) - if version == 0: - request = JoinGroupRequest[version]( + if self.config['api_version'] < (0, 9): + raise Errors.KafkaError('JoinGroupRequest api requires 0.9+ brokers') + elif (0, 9) <= self.config['api_version'] < (0, 10, 1): + request = JoinGroupRequest[0]( self.group_id, self.config['session_timeout_ms'], self._generation.member_id, self.protocol_type(), member_metadata) + elif (0, 10, 1) <= self.config['api_version'] < (0, 11, 0): + request = JoinGroupRequest[1]( + self.group_id, + self.config['session_timeout_ms'], + self.config['max_poll_interval_ms'], + self._generation.member_id, + self.protocol_type(), + member_metadata) else: - request = JoinGroupRequest[version]( + request = JoinGroupRequest[2]( self.group_id, self.config['session_timeout_ms'], self.config['max_poll_interval_ms'], @@ -562,9 +489,8 @@ class BaseCoordinator(object): def _failed_request(self, node_id, request, future, error): # Marking coordinator dead - # unless the error is caused by internal client pipelining or throttling + # unless the error is caused by internal client pipelining if not isinstance(error, (Errors.NodeNotReadyError, - Errors.ThrottlingQuotaExceededError, Errors.TooManyInFlightRequests)): log.error('Error sending %s to node %s [%s]', request.__class__.__name__, node_id, error) @@ -575,11 +501,11 @@ class BaseCoordinator(object): future.failure(error) def _handle_join_group_response(self, future, send_time, response): - log.debug("Received JoinGroup response: %s", response) error_type = Errors.for_code(response.error_code) if error_type is Errors.NoError: - if self._sensors: - self._sensors.join_latency.record((time.time() - send_time) * 1000) + log.debug("Received successful JoinGroup response for group %s: %s", + self.group_id, response) + self.sensors.join_latency.record((time.time() - send_time) * 1000) with self._lock: if self.state is not MemberState.REBALANCING: # if the consumer was woken up before a rebalance completes, @@ -591,7 +517,6 @@ class BaseCoordinator(object): response.member_id, response.group_protocol) - log.info("Successfully joined group %s %s", self.group_id, self._generation) if response.leader_id == response.member_id: log.info("Elected group leader -- performing partition" " assignments using %s", self._generation.protocol) @@ -599,25 +524,25 @@ class BaseCoordinator(object): else: self._on_join_follower().chain(future) - elif error_type is Errors.CoordinatorLoadInProgressError: - log.info("Attempt to join group %s rejected since coordinator %s" - " is loading the group.", self.group_id, self.coordinator_id) + elif error_type is Errors.GroupLoadInProgressError: + log.debug("Attempt to join group %s rejected since coordinator %s" + " is loading the group.", self.group_id, self.coordinator_id) # backoff and retry future.failure(error_type(response)) elif error_type is Errors.UnknownMemberIdError: # reset the member id and retry immediately error = error_type(self._generation.member_id) self.reset_generation() - log.info("Attempt to join group %s failed due to unknown member id", - self.group_id) + log.debug("Attempt to join group %s failed due to unknown member id", + self.group_id) future.failure(error) - elif error_type in (Errors.CoordinatorNotAvailableError, - Errors.NotCoordinatorError): + elif error_type in (Errors.GroupCoordinatorNotAvailableError, + Errors.NotCoordinatorForGroupError): # re-discover the coordinator and retry with backoff self.coordinator_dead(error_type()) - log.info("Attempt to join group %s failed due to obsolete " - "coordinator information: %s", self.group_id, - error_type.__name__) + log.debug("Attempt to join group %s failed due to obsolete " + "coordinator information: %s", self.group_id, + error_type.__name__) future.failure(error_type()) elif error_type in (Errors.InconsistentGroupProtocolError, Errors.InvalidSessionTimeoutError, @@ -628,21 +553,7 @@ class BaseCoordinator(object): self.group_id, error) future.failure(error) elif error_type is Errors.GroupAuthorizationFailedError: - log.error("Attempt to join group %s failed due to group authorization error", - self.group_id) future.failure(error_type(self.group_id)) - elif error_type is Errors.MemberIdRequiredError: - # Broker requires a concrete member id to be allowed to join the group. Update member id - # and send another join group request in next cycle. - log.info("Received member id %s for group %s; will retry join-group", - response.member_id, self.group_id) - self.reset_generation(response.member_id) - future.failure(error_type()) - elif error_type is Errors.RebalanceInProgressError: - log.info("Attempt to join group %s failed due to RebalanceInProgressError," - " which could indicate a replication timeout on the broker. Will retry.", - self.group_id) - future.failure(error_type()) else: # unexpected error, throw the exception error = error_type() @@ -651,7 +562,7 @@ class BaseCoordinator(object): def _on_join_follower(self): # send follower's sync group with an empty assignment - version = self._client.api_version(SyncGroupRequest, max_version=2) + version = 0 if self.config['api_version'] < (0, 11, 0) else 1 request = SyncGroupRequest[version]( self.group_id, self._generation.generation_id, @@ -679,7 +590,7 @@ class BaseCoordinator(object): except Exception as e: return Future().failure(e) - version = self._client.api_version(SyncGroupRequest, max_version=2) + version = 0 if self.config['api_version'] < (0, 11, 0) else 1 request = SyncGroupRequest[version]( self.group_id, self._generation.generation_id, @@ -694,7 +605,7 @@ class BaseCoordinator(object): def _send_sync_group_request(self, request): if self.coordinator_unknown(): - e = Errors.CoordinatorNotAvailableError(self.coordinator_id) + e = Errors.GroupCoordinatorNotAvailableError(self.coordinator_id) return Future().failure(e) # We assume that coordinator is ready if we're sending SyncGroup @@ -711,11 +622,9 @@ class BaseCoordinator(object): return future def _handle_sync_group_response(self, future, send_time, response): - log.debug("Received SyncGroup response: %s", response) error_type = Errors.for_code(response.error_code) if error_type is Errors.NoError: - if self._sensors: - self._sensors.sync_latency.record((time.time() - send_time) * 1000) + self.sensors.sync_latency.record((time.time() - send_time) * 1000) future.success(response.member_assignment) return @@ -724,19 +633,19 @@ class BaseCoordinator(object): if error_type is Errors.GroupAuthorizationFailedError: future.failure(error_type(self.group_id)) elif error_type is Errors.RebalanceInProgressError: - log.info("SyncGroup for group %s failed due to coordinator" - " rebalance", self.group_id) + log.debug("SyncGroup for group %s failed due to coordinator" + " rebalance", self.group_id) future.failure(error_type(self.group_id)) elif error_type in (Errors.UnknownMemberIdError, Errors.IllegalGenerationError): error = error_type() - log.info("SyncGroup for group %s failed due to %s", self.group_id, error) + log.debug("SyncGroup for group %s failed due to %s", self.group_id, error) self.reset_generation() future.failure(error) - elif error_type in (Errors.CoordinatorNotAvailableError, - Errors.NotCoordinatorError): + elif error_type in (Errors.GroupCoordinatorNotAvailableError, + Errors.NotCoordinatorForGroupError): error = error_type() - log.info("SyncGroup for group %s failed due to %s", self.group_id, error) + log.debug("SyncGroup for group %s failed due to %s", self.group_id, error) self.coordinator_dead(error) future.failure(error) else: @@ -751,20 +660,16 @@ class BaseCoordinator(object): Future: resolves to the node id of the coordinator """ node_id = self._client.least_loaded_node() - if node_id is None or self._client.cluster.is_bootstrap(node_id): + if node_id is None: return Future().failure(Errors.NoBrokersAvailable()) elif not self._client.ready(node_id, metadata_priority=False): e = Errors.NodeNotReadyError(node_id) return Future().failure(e) - version = self._client.api_version(FindCoordinatorRequest, max_version=2) - if version == 0: - request = FindCoordinatorRequest[version](self.group_id) - else: - request = FindCoordinatorRequest[version](self.group_id, 0) - log.debug("Sending group coordinator request for group %s to broker %s: %s", - self.group_id, node_id, request) + log.debug("Sending group coordinator request for group %s to broker %s", + self.group_id, node_id) + request = GroupCoordinatorRequest[0](self.group_id) future = Future() _f = self._client.send(node_id, request) _f.add_callback(self._handle_group_coordinator_response, future) @@ -777,7 +682,7 @@ class BaseCoordinator(object): error_type = Errors.for_code(response.error_code) if error_type is Errors.NoError: with self._lock: - coordinator_id = self._client.cluster.add_coordinator(response, 'group', self.group_id) + coordinator_id = self._client.cluster.add_group_coordinator(self.group_id, response) if not coordinator_id: # This could happen if coordinator metadata is different # than broker metadata @@ -791,7 +696,7 @@ class BaseCoordinator(object): self.heartbeat.reset_timeouts() future.success(self.coordinator_id) - elif error_type is Errors.CoordinatorNotAvailableError: + elif error_type is Errors.GroupCoordinatorNotAvailableError: log.debug("Group Coordinator Not Available; retry") future.failure(error_type()) elif error_type is Errors.GroupAuthorizationFailedError: @@ -800,7 +705,7 @@ class BaseCoordinator(object): future.failure(error) else: error = error_type() - log.error("Group Coordinator lookup for group %s failed: %s", + log.error("Group coordinator lookup for group %s failed: %s", self.group_id, error) future.failure(error) @@ -811,7 +716,7 @@ class BaseCoordinator(object): self.coordinator_id, self.group_id, error) self.coordinator_id = None - def generation_if_stable(self): + def generation(self): """Get the current generation state if the group is stable. Returns: the current generation or None if the group is unjoined/rebalancing @@ -821,19 +726,10 @@ class BaseCoordinator(object): return None return self._generation - # deprecated - def generation(self): - warnings.warn("Function coordinator.generation() has been renamed to generation_if_stable()", - DeprecationWarning, stacklevel=2) - return self.generation_if_stable() - - def rebalance_in_progress(self): - return self.state is MemberState.REBALANCING - - def reset_generation(self, member_id=UNKNOWN_MEMBER_ID): - """Reset the generation and member_id because we have fallen out of the group.""" + def reset_generation(self): + """Reset the generation and memberId because we have fallen out of the group.""" with self._lock: - self._generation = Generation(DEFAULT_GENERATION_ID, member_id, None) + self._generation = Generation.NO_GENERATION self.rejoin_needed = True self.state = MemberState.UNJOINED @@ -841,90 +737,73 @@ class BaseCoordinator(object): self.rejoin_needed = True def _start_heartbeat_thread(self): - if self.config['api_version'] < (0, 9): - raise Errors.UnsupportedVersionError('Heartbeat APIs require 0.9+ broker') - with self._lock: - if self._heartbeat_thread is None: - heartbeat_log.info('Starting new heartbeat thread') - self._heartbeat_thread = HeartbeatThread(weakref.proxy(self)) - self._heartbeat_thread.daemon = True - self._heartbeat_thread.start() - heartbeat_log.debug("Started heartbeat thread %s", self._heartbeat_thread.ident) + if self._heartbeat_thread is None: + log.info('Starting new heartbeat thread') + self._heartbeat_thread = HeartbeatThread(weakref.proxy(self)) + self._heartbeat_thread.daemon = True + self._heartbeat_thread.start() - def _disable_heartbeat_thread(self): - with self._lock: - if self._heartbeat_thread is not None: - self._heartbeat_thread.disable() - - def _close_heartbeat_thread(self, timeout_ms=None): + def _close_heartbeat_thread(self): if self._heartbeat_thread is not None: + log.info('Stopping heartbeat thread') try: - self._heartbeat_thread.close(timeout_ms=timeout_ms) + self._heartbeat_thread.close() except ReferenceError: pass self._heartbeat_thread = None def __del__(self): - try: - self._close_heartbeat_thread() - except (TypeError, AttributeError): - pass + self._close_heartbeat_thread() - def close(self, timeout_ms=None): + def close(self): """Close the coordinator, leave the current group, and reset local generation / member_id""" - self._close_heartbeat_thread(timeout_ms=timeout_ms) - if self.config['api_version'] >= (0, 9): - self.maybe_leave_group(timeout_ms=timeout_ms) + self._close_heartbeat_thread() + self.maybe_leave_group() - def maybe_leave_group(self, timeout_ms=None): + def maybe_leave_group(self): """Leave the current group and reset local generation/memberId.""" - if self.config['api_version'] < (0, 9): - raise Errors.UnsupportedVersionError('Group Coordinator APIs require 0.9+ broker') with self._client._lock, self._lock: if (not self.coordinator_unknown() and self.state is not MemberState.UNJOINED - and self._generation.is_valid): + and self._generation is not Generation.NO_GENERATION): # this is a minimal effort attempt to leave the group. we do not # attempt any resending if the request fails or times out. log.info('Leaving consumer group (%s).', self.group_id) - version = self._client.api_version(LeaveGroupRequest, max_version=2) + version = 0 if self.config['api_version'] < (0, 11, 0) else 1 request = LeaveGroupRequest[version](self.group_id, self._generation.member_id) - log.debug('Sending LeaveGroupRequest to %s: %s', self.coordinator_id, request) future = self._client.send(self.coordinator_id, request) future.add_callback(self._handle_leave_group_response) future.add_errback(log.error, "LeaveGroup request failed: %s") - self._client.poll(future=future, timeout_ms=timeout_ms) + self._client.poll(future=future) self.reset_generation() def _handle_leave_group_response(self, response): - log.debug("Received LeaveGroupResponse: %s", response) error_type = Errors.for_code(response.error_code) if error_type is Errors.NoError: - log.info("LeaveGroup request for group %s returned successfully", - self.group_id) + log.debug("LeaveGroup request for group %s returned successfully", + self.group_id) else: log.error("LeaveGroup request for group %s failed with error: %s", self.group_id, error_type()) def _send_heartbeat_request(self): """Send a heartbeat request""" - # Note: acquire both client + coordinator lock before calling if self.coordinator_unknown(): - e = Errors.CoordinatorNotAvailableError(self.coordinator_id) + e = Errors.GroupCoordinatorNotAvailableError(self.coordinator_id) return Future().failure(e) elif not self._client.ready(self.coordinator_id, metadata_priority=False): e = Errors.NodeNotReadyError(self.coordinator_id) return Future().failure(e) - version = self._client.api_version(HeartbeatRequest, max_version=2) + version = 0 if self.config['api_version'] < (0, 11, 0) else 1 request = HeartbeatRequest[version](self.group_id, self._generation.generation_id, self._generation.member_id) - heartbeat_log.debug("Sending HeartbeatRequest to %s: %s", self.coordinator_id, request) + log.debug("Heartbeat: %s[%s] %s", request.group, request.generation_id, request.member_id) # pylint: disable-msg=no-member future = Future() _f = self._client.send(self.coordinator_id, request) _f.add_callback(self._handle_heartbeat_response, future, time.time()) @@ -933,42 +812,41 @@ class BaseCoordinator(object): return future def _handle_heartbeat_response(self, future, send_time, response): - if self._sensors: - self._sensors.heartbeat_latency.record((time.time() - send_time) * 1000) - heartbeat_log.debug("Received heartbeat response for group %s: %s", - self.group_id, response) + self.sensors.heartbeat_latency.record((time.time() - send_time) * 1000) error_type = Errors.for_code(response.error_code) if error_type is Errors.NoError: + log.debug("Received successful heartbeat response for group %s", + self.group_id) future.success(None) - elif error_type in (Errors.CoordinatorNotAvailableError, - Errors.NotCoordinatorError): - heartbeat_log.warning("Heartbeat failed for group %s: coordinator (node %s)" - " is either not started or not valid", self.group_id, + elif error_type in (Errors.GroupCoordinatorNotAvailableError, + Errors.NotCoordinatorForGroupError): + log.warning("Heartbeat failed for group %s: coordinator (node %s)" + " is either not started or not valid", self.group_id, self.coordinator()) self.coordinator_dead(error_type()) future.failure(error_type()) elif error_type is Errors.RebalanceInProgressError: - heartbeat_log.warning("Heartbeat failed for group %s because it is" - " rebalancing", self.group_id) + log.warning("Heartbeat failed for group %s because it is" + " rebalancing", self.group_id) self.request_rejoin() future.failure(error_type()) elif error_type is Errors.IllegalGenerationError: - heartbeat_log.warning("Heartbeat failed for group %s: generation id is not " - " current.", self.group_id) + log.warning("Heartbeat failed for group %s: generation id is not " + " current.", self.group_id) self.reset_generation() future.failure(error_type()) elif error_type is Errors.UnknownMemberIdError: - heartbeat_log.warning("Heartbeat: local member_id was not recognized;" - " this consumer needs to re-join") + log.warning("Heartbeat: local member_id was not recognized;" + " this consumer needs to re-join") self.reset_generation() future.failure(error_type) elif error_type is Errors.GroupAuthorizationFailedError: error = error_type(self.group_id) - heartbeat_log.error("Heartbeat failed: authorization error: %s", error) + log.error("Heartbeat failed: authorization error: %s", error) future.failure(error) else: error = error_type() - heartbeat_log.error("Heartbeat failed: Unhandled error: %s", error) + log.error("Heartbeat failed: Unhandled error: %s", error) future.failure(error) @@ -1034,139 +912,100 @@ class HeartbeatThread(threading.Thread): def enable(self): with self.coordinator._lock: - heartbeat_log.debug('Enabling heartbeat thread') self.enabled = True self.coordinator.heartbeat.reset_timeouts() self.coordinator._lock.notify() def disable(self): + self.enabled = False + + def close(self): + self.closed = True with self.coordinator._lock: - heartbeat_log.debug('Disabling heartbeat thread') - self.enabled = False - - def close(self, timeout_ms=None): - with self.coordinator._lock: - if self.closed: - return - - heartbeat_log.info('Stopping heartbeat thread') - self.closed = True - - # Generally this should not happen - close() is triggered - # by the coordinator. But in some cases GC may close the coordinator - # from within the heartbeat thread. - if threading.current_thread() == self: - return - - # Notify coordinator lock to wake thread from sleep/lock.wait self.coordinator._lock.notify() - if self.is_alive(): - if timeout_ms is None: - timeout_ms = self.coordinator.config['heartbeat_interval_ms'] - self.join(timeout_ms / 1000) + self.join(self.coordinator.config['heartbeat_interval_ms'] / 1000) if self.is_alive(): - heartbeat_log.warning("Heartbeat thread did not fully terminate during close") + log.warning("Heartbeat thread did not fully terminate during close") def run(self): try: - heartbeat_log.debug('Heartbeat thread started: %s', self.coordinator.heartbeat) + log.debug('Heartbeat thread started') while not self.closed: self._run_once() except ReferenceError: - heartbeat_log.debug('Heartbeat thread closed due to coordinator gc') + log.debug('Heartbeat thread closed due to coordinator gc') - except Exception as e: - heartbeat_log.exception("Heartbeat thread for group %s failed due to unexpected error: %s", - self.coordinator.group_id, e) + except RuntimeError as e: + log.error("Heartbeat thread for group %s failed due to unexpected error: %s", + self.coordinator.group_id, e) self.failed = e finally: - heartbeat_log.debug('Heartbeat thread closed') + log.debug('Heartbeat thread closed') def _run_once(self): - self.coordinator._client._lock.acquire() - self.coordinator._lock.acquire() - try: + with self.coordinator._client._lock, self.coordinator._lock: + if self.enabled and self.coordinator.state is MemberState.STABLE: + # TODO: When consumer.wakeup() is implemented, we need to + # disable here to prevent propagating an exception to this + # heartbeat thread + # must get client._lock, or maybe deadlock at heartbeat + # failure callbak in consumer poll + self.coordinator._client.poll(timeout_ms=0) + + with self.coordinator._lock: if not self.enabled: - heartbeat_log.debug('Heartbeat disabled. Waiting') - self.coordinator._client._lock.release() + log.debug('Heartbeat disabled. Waiting') self.coordinator._lock.wait() - if self.enabled: - heartbeat_log.debug('Heartbeat re-enabled.') + log.debug('Heartbeat re-enabled.') return if self.coordinator.state is not MemberState.STABLE: # the group is not stable (perhaps because we left the # group or because the coordinator kicked us out), so # disable heartbeats and wait for the main thread to rejoin. - heartbeat_log.debug('Group state is not stable, disabling heartbeats') + log.debug('Group state is not stable, disabling heartbeats') self.disable() return - # TODO: When consumer.wakeup() is implemented, we need to - # disable here to prevent propagating an exception to this - # heartbeat thread - self.coordinator._client.poll(timeout_ms=0) - if self.coordinator.coordinator_unknown(): future = self.coordinator.lookup_coordinator() if not future.is_done or future.failed(): # the immediate future check ensures that we backoff # properly in the case that no brokers are available # to connect to (and the future is automatically failed). - self.coordinator._client._lock.release() self.coordinator._lock.wait(self.coordinator.config['retry_backoff_ms'] / 1000) - elif not self.coordinator.connected(): - self.coordinator._client._lock.release() - self.coordinator._lock.wait(self.coordinator.config['retry_backoff_ms'] / 1000) - elif self.coordinator.heartbeat.session_timeout_expired(): # the session timeout has expired without seeing a # successful heartbeat, so we should probably make sure # the coordinator is still healthy. - heartbeat_log.warning('Heartbeat session expired, marking coordinator dead') + log.warning('Heartbeat session expired, marking coordinator dead') self.coordinator.coordinator_dead('Heartbeat session expired') elif self.coordinator.heartbeat.poll_timeout_expired(): # the poll timeout has expired, which means that the # foreground thread has stalled in between calls to # poll(), so we explicitly leave the group. - heartbeat_log.warning( - "Consumer poll timeout has expired. This means the time between subsequent calls to poll()" - " was longer than the configured max_poll_interval_ms, which typically implies that" - " the poll loop is spending too much time processing messages. You can address this" - " either by increasing max_poll_interval_ms or by reducing the maximum size of batches" - " returned in poll() with max_poll_records." - ) + log.warning('Heartbeat poll expired, leaving group') self.coordinator.maybe_leave_group() elif not self.coordinator.heartbeat.should_heartbeat(): - next_hb = self.coordinator.heartbeat.time_to_next_heartbeat() - heartbeat_log.debug('Waiting %0.1f secs to send next heartbeat', next_hb) - self.coordinator._client._lock.release() - self.coordinator._lock.wait(next_hb) + # poll again after waiting for the retry backoff in case + # the heartbeat failed or the coordinator disconnected + log.log(0, 'Not ready to heartbeat, waiting') + self.coordinator._lock.wait(self.coordinator.config['retry_backoff_ms'] / 1000) else: - heartbeat_log.debug('Sending heartbeat for group %s %s', self.coordinator.group_id, self.coordinator._generation) self.coordinator.heartbeat.sent_heartbeat() future = self.coordinator._send_heartbeat_request() future.add_callback(self._handle_heartbeat_success) future.add_errback(self._handle_heartbeat_failure) - finally: - self.coordinator._lock.release() - try: - # Possibly released in block above to allow coordinator lock wait() - self.coordinator._client._lock.release() - except RuntimeError: - pass - def _handle_heartbeat_success(self, result): with self.coordinator._lock: - heartbeat_log.debug('Heartbeat success') self.coordinator.heartbeat.received_heartbeat() def _handle_heartbeat_failure(self, exception): @@ -1177,10 +1016,8 @@ class HeartbeatThread(threading.Thread): # member in the group for as long as the duration of the # rebalance timeout. If we stop sending heartbeats, however, # then the session timeout may expire before we can rejoin. - heartbeat_log.debug('Treating RebalanceInProgressError as successful heartbeat') self.coordinator.heartbeat.received_heartbeat() else: - heartbeat_log.debug('Heartbeat failure: %s', exception) self.coordinator.heartbeat.fail_heartbeat() # wake up the thread if it's sleeping to reschedule the heartbeat self.coordinator._lock.notify() diff --git a/venv/lib/python3.12/site-packages/kafka/coordinator/consumer.py b/venv/lib/python3.12/site-packages/kafka/coordinator/consumer.py index dca10ae..971f5e8 100644 --- a/venv/lib/python3.12/site-packages/kafka/coordinator/consumer.py +++ b/venv/lib/python3.12/site-packages/kafka/coordinator/consumer.py @@ -19,7 +19,7 @@ from kafka.metrics import AnonMeasurable from kafka.metrics.stats import Avg, Count, Max, Rate from kafka.protocol.commit import OffsetCommitRequest, OffsetFetchRequest from kafka.structs import OffsetAndMetadata, TopicPartition -from kafka.util import Timer, WeakMethod +from kafka.util import WeakMethod log = logging.getLogger(__name__) @@ -39,11 +39,10 @@ class ConsumerCoordinator(BaseCoordinator): 'retry_backoff_ms': 100, 'api_version': (0, 10, 1), 'exclude_internal_topics': True, - 'metrics': None, 'metric_group_prefix': 'consumer' } - def __init__(self, client, subscription, **configs): + def __init__(self, client, subscription, metrics, **configs): """Initialize the coordination manager. Keyword Arguments: @@ -55,7 +54,7 @@ class ConsumerCoordinator(BaseCoordinator): auto_commit_interval_ms (int): milliseconds between automatic offset commits, if enable_auto_commit is True. Default: 5000. default_offset_commit_callback (callable): called as - callback(offsets, response) response will be either an Exception + callback(offsets, exception) response will be either an Exception or None. This callback can be used to trigger custom actions when a commit request completes. assignors (list): List of objects to use to distribute partition @@ -79,7 +78,7 @@ class ConsumerCoordinator(BaseCoordinator): True the only way to receive records from an internal topic is subscribing to it. Requires 0.10+. Default: True """ - super(ConsumerCoordinator, self).__init__(client, **configs) + super(ConsumerCoordinator, self).__init__(client, metrics, **configs) self.config = copy.copy(self.DEFAULT_CONFIG) for key in self.config: @@ -95,7 +94,6 @@ class ConsumerCoordinator(BaseCoordinator): self.auto_commit_interval = self.config['auto_commit_interval_ms'] / 1000 self.next_auto_commit_deadline = None self.completed_offset_commits = collections.deque() - self._offset_fetch_futures = dict() if self.config['default_offset_commit_callback'] is None: self.config['default_offset_commit_callback'] = self._default_offset_commit_callback @@ -122,21 +120,15 @@ class ConsumerCoordinator(BaseCoordinator): else: self.next_auto_commit_deadline = time.time() + self.auto_commit_interval - if self.config['metrics']: - self._consumer_sensors = ConsumerCoordinatorMetrics( - self.config['metrics'], self.config['metric_group_prefix'], self._subscription) - else: - self._consumer_sensors = None + self.consumer_sensors = ConsumerCoordinatorMetrics( + metrics, self.config['metric_group_prefix'], self._subscription) self._cluster.request_update() self._cluster.add_listener(WeakMethod(self._handle_metadata_update)) def __del__(self): if hasattr(self, '_cluster') and self._cluster: - try: - self._cluster.remove_listener(WeakMethod(self._handle_metadata_update)) - except TypeError: - pass + self._cluster.remove_listener(WeakMethod(self._handle_metadata_update)) super(ConsumerCoordinator, self).__del__() def protocol_type(self): @@ -208,8 +200,8 @@ class ConsumerCoordinator(BaseCoordinator): def _build_metadata_snapshot(self, subscription, cluster): metadata_snapshot = {} for topic in subscription.group_subscription(): - partitions = cluster.partitions_for_topic(topic) - metadata_snapshot[topic] = partitions or set() + partitions = cluster.partitions_for_topic(topic) or [] + metadata_snapshot[topic] = set(partitions) return metadata_snapshot def _lookup_assignor(self, name): @@ -230,6 +222,10 @@ class ConsumerCoordinator(BaseCoordinator): assignment = ConsumerProtocol.ASSIGNMENT.decode(member_assignment_bytes) + # set the flag to refresh last committed offsets + self._subscription.needs_fetch_committed_offsets = True + + # update partition assignment try: self._subscription.assign_from_subscribed(assignment.partitions()) except ValueError as e: @@ -250,16 +246,16 @@ class ConsumerCoordinator(BaseCoordinator): assigned, self.group_id) # execute the user's callback after rebalance - if self._subscription.rebalance_listener: + if self._subscription.listener: try: - self._subscription.rebalance_listener.on_partitions_assigned(assigned) + self._subscription.listener.on_partitions_assigned(assigned) except Exception: - log.exception("User provided rebalance listener %s for group %s" + log.exception("User provided listener %s for group %s" " failed on partition assignment: %s", - self._subscription.rebalance_listener, self.group_id, + self._subscription.listener, self.group_id, assigned) - def poll(self, timeout_ms=None): + def poll(self): """ Poll for coordinator events. Only applicable if group_id is set, and broker version supports GroupCoordinators. This ensures that the @@ -268,46 +264,33 @@ class ConsumerCoordinator(BaseCoordinator): periodic offset commits if they are enabled. """ if self.group_id is None: - return True + return - timer = Timer(timeout_ms) - try: - self._invoke_completed_offset_commit_callbacks() - if not self.ensure_coordinator_ready(timeout_ms=timer.timeout_ms): - log.debug('coordinator.poll: timeout in ensure_coordinator_ready; returning early') - return False + self._invoke_completed_offset_commit_callbacks() + self.ensure_coordinator_ready() - if self.config['api_version'] >= (0, 9) and self._subscription.partitions_auto_assigned(): - if self.need_rejoin(): - # due to a race condition between the initial metadata fetch and the - # initial rebalance, we need to ensure that the metadata is fresh - # before joining initially, and then request the metadata update. If - # metadata update arrives while the rebalance is still pending (for - # example, when the join group is still inflight), then we will lose - # track of the fact that we need to rebalance again to reflect the - # change to the topic subscription. Without ensuring that the - # metadata is fresh, any metadata update that changes the topic - # subscriptions and arrives while a rebalance is in progress will - # essentially be ignored. See KAFKA-3949 for the complete - # description of the problem. - if self._subscription.subscribed_pattern: - metadata_update = self._client.cluster.request_update() - self._client.poll(future=metadata_update, timeout_ms=timer.timeout_ms) - if not metadata_update.is_done: - log.debug('coordinator.poll: timeout updating metadata; returning early') - return False + if self.config['api_version'] >= (0, 9) and self._subscription.partitions_auto_assigned(): + if self.need_rejoin(): + # due to a race condition between the initial metadata fetch and the + # initial rebalance, we need to ensure that the metadata is fresh + # before joining initially, and then request the metadata update. If + # metadata update arrives while the rebalance is still pending (for + # example, when the join group is still inflight), then we will lose + # track of the fact that we need to rebalance again to reflect the + # change to the topic subscription. Without ensuring that the + # metadata is fresh, any metadata update that changes the topic + # subscriptions and arrives while a rebalance is in progress will + # essentially be ignored. See KAFKA-3949 for the complete + # description of the problem. + if self._subscription.subscribed_pattern: + metadata_update = self._client.cluster.request_update() + self._client.poll(future=metadata_update) - if not self.ensure_active_group(timeout_ms=timer.timeout_ms): - log.debug('coordinator.poll: timeout in ensure_active_group; returning early') - return False + self.ensure_active_group() - self.poll_heartbeat() + self.poll_heartbeat() - self._maybe_auto_commit_offsets_async() - return True - - except Errors.KafkaTimeoutError: - return False + self._maybe_auto_commit_offsets_async() def time_to_next_poll(self): """Return seconds (float) remaining until :meth:`.poll` should be called again""" @@ -357,21 +340,21 @@ class ConsumerCoordinator(BaseCoordinator): group_assignment[member_id] = assignment return group_assignment - def _on_join_prepare(self, generation, member_id, timeout_ms=None): + def _on_join_prepare(self, generation, member_id): # commit offsets prior to rebalance if auto-commit enabled - self._maybe_auto_commit_offsets_sync(timeout_ms=timeout_ms) + self._maybe_auto_commit_offsets_sync() # execute the user's callback before rebalance log.info("Revoking previously assigned partitions %s for group %s", self._subscription.assigned_partitions(), self.group_id) - if self._subscription.rebalance_listener: + if self._subscription.listener: try: revoked = set(self._subscription.assigned_partitions()) - self._subscription.rebalance_listener.on_partitions_revoked(revoked) + self._subscription.listener.on_partitions_revoked(revoked) except Exception: - log.exception("User provided subscription rebalance listener %s" + log.exception("User provided subscription listener %s" " for group %s failed on_partitions_revoked", - self._subscription.rebalance_listener, self.group_id) + self._subscription.listener, self.group_id) self._is_leader = False self._subscription.reset_group_subscription() @@ -400,19 +383,17 @@ class ConsumerCoordinator(BaseCoordinator): return super(ConsumerCoordinator, self).need_rejoin() - def refresh_committed_offsets_if_needed(self, timeout_ms=None): + def refresh_committed_offsets_if_needed(self): """Fetch committed offsets for assigned partitions.""" - missing_fetch_positions = set(self._subscription.missing_fetch_positions()) - try: - offsets = self.fetch_committed_offsets(missing_fetch_positions, timeout_ms=timeout_ms) - except Errors.KafkaTimeoutError: - return False - for partition, offset in six.iteritems(offsets): - log.debug("Setting offset for partition %s to the committed offset %s", partition, offset.offset) - self._subscription.seek(partition, offset.offset) - return True + if self._subscription.needs_fetch_committed_offsets: + offsets = self.fetch_committed_offsets(self._subscription.assigned_partitions()) + for partition, offset in six.iteritems(offsets): + # verify assignment is still active + if self._subscription.is_assigned(partition): + self._subscription.assignment[partition].committed = offset + self._subscription.needs_fetch_committed_offsets = False - def fetch_committed_offsets(self, partitions, timeout_ms=None): + def fetch_committed_offsets(self, partitions): """Fetch the current committed offsets for specified partitions Arguments: @@ -420,45 +401,26 @@ class ConsumerCoordinator(BaseCoordinator): Returns: dict: {TopicPartition: OffsetAndMetadata} - - Raises: - KafkaTimeoutError if timeout_ms provided """ if not partitions: return {} - future_key = frozenset(partitions) - timer = Timer(timeout_ms) while True: - if not self.ensure_coordinator_ready(timeout_ms=timer.timeout_ms): - timer.maybe_raise() + self.ensure_coordinator_ready() # contact coordinator to fetch committed offsets - if future_key in self._offset_fetch_futures: - future = self._offset_fetch_futures[future_key] - else: - future = self._send_offset_fetch_request(partitions) - self._offset_fetch_futures[future_key] = future + future = self._send_offset_fetch_request(partitions) + self._client.poll(future=future) - self._client.poll(future=future, timeout_ms=timer.timeout_ms) + if future.succeeded(): + return future.value - if future.is_done: - del self._offset_fetch_futures[future_key] + if not future.retriable(): + raise future.exception # pylint: disable-msg=raising-bad-type - if future.succeeded(): - return future.value + time.sleep(self.config['retry_backoff_ms'] / 1000) - elif not future.retriable(): - raise future.exception # pylint: disable-msg=raising-bad-type - - # future failed but is retriable, or is not done yet - if timer.timeout_ms is None or timer.timeout_ms > self.config['retry_backoff_ms']: - time.sleep(self.config['retry_backoff_ms'] / 1000) - else: - time.sleep(timer.timeout_ms / 1000) - timer.maybe_raise() - - def close(self, autocommit=True, timeout_ms=None): + def close(self, autocommit=True): """Close the coordinator, leave the current group, and reset local generation / member_id. @@ -469,14 +431,14 @@ class ConsumerCoordinator(BaseCoordinator): """ try: if autocommit: - self._maybe_auto_commit_offsets_sync(timeout_ms=timeout_ms) + self._maybe_auto_commit_offsets_sync() finally: - super(ConsumerCoordinator, self).close(timeout_ms=timeout_ms) + super(ConsumerCoordinator, self).close() def _invoke_completed_offset_commit_callbacks(self): while self.completed_offset_commits: - callback, offsets, res_or_exc = self.completed_offset_commits.popleft() - callback(offsets, res_or_exc) + callback, offsets, exception = self.completed_offset_commits.popleft() + callback(offsets, exception) def commit_offsets_async(self, offsets, callback=None): """Commit specific offsets asynchronously. @@ -516,18 +478,18 @@ class ConsumerCoordinator(BaseCoordinator): return future def _do_commit_offsets_async(self, offsets, callback=None): - if self.config['api_version'] < (0, 8, 1): - raise Errors.UnsupportedVersionError('OffsetCommitRequest requires 0.8.1+ broker') + assert self.config['api_version'] >= (0, 8, 1), 'Unsupported Broker API' assert all(map(lambda k: isinstance(k, TopicPartition), offsets)) assert all(map(lambda v: isinstance(v, OffsetAndMetadata), offsets.values())) if callback is None: callback = self.config['default_offset_commit_callback'] + self._subscription.needs_fetch_committed_offsets = True future = self._send_offset_commit_request(offsets) future.add_both(lambda res: self.completed_offset_commits.appendleft((callback, offsets, res))) return future - def commit_offsets_sync(self, offsets, timeout_ms=None): + def commit_offsets_sync(self, offsets): """Commit specific offsets synchronously. This method will retry until the commit completes successfully or an @@ -538,8 +500,7 @@ class ConsumerCoordinator(BaseCoordinator): Raises error on failure """ - if self.config['api_version'] < (0, 8, 1): - raise Errors.UnsupportedVersionError('OffsetCommitRequest requires 0.8.1+ broker') + assert self.config['api_version'] >= (0, 8, 1), 'Unsupported Broker API' assert all(map(lambda k: isinstance(k, TopicPartition), offsets)) assert all(map(lambda v: isinstance(v, OffsetAndMetadata), offsets.values())) @@ -547,31 +508,24 @@ class ConsumerCoordinator(BaseCoordinator): if not offsets: return - timer = Timer(timeout_ms) while True: - self.ensure_coordinator_ready(timeout_ms=timer.timeout_ms) + self.ensure_coordinator_ready() future = self._send_offset_commit_request(offsets) - self._client.poll(future=future, timeout_ms=timer.timeout_ms) + self._client.poll(future=future) - if future.is_done: - if future.succeeded(): - return future.value + if future.succeeded(): + return future.value - elif not future.retriable(): - raise future.exception # pylint: disable-msg=raising-bad-type + if not future.retriable(): + raise future.exception # pylint: disable-msg=raising-bad-type - # future failed but is retriable, or it is still pending - if timer.timeout_ms is None or timer.timeout_ms > self.config['retry_backoff_ms']: - time.sleep(self.config['retry_backoff_ms'] / 1000) - else: - time.sleep(timer.timeout_ms / 1000) - timer.maybe_raise() + time.sleep(self.config['retry_backoff_ms'] / 1000) - def _maybe_auto_commit_offsets_sync(self, timeout_ms=None): + def _maybe_auto_commit_offsets_sync(self): if self.config['enable_auto_commit']: try: - self.commit_offsets_sync(self._subscription.all_consumed_offsets(), timeout_ms=timeout_ms) + self.commit_offsets_sync(self._subscription.all_consumed_offsets()) # The three main group membership errors are known and should not # require a stacktrace -- just a warning @@ -599,8 +553,7 @@ class ConsumerCoordinator(BaseCoordinator): Returns: Future: indicating whether the commit was successful or not """ - if self.config['api_version'] < (0, 8, 1): - raise Errors.UnsupportedVersionError('OffsetCommitRequest requires 0.8.1+ broker') + assert self.config['api_version'] >= (0, 8, 1), 'Unsupported Broker API' assert all(map(lambda k: isinstance(k, TopicPartition), offsets)) assert all(map(lambda v: isinstance(v, OffsetAndMetadata), offsets.values())) @@ -610,46 +563,31 @@ class ConsumerCoordinator(BaseCoordinator): node_id = self.coordinator() if node_id is None: - return Future().failure(Errors.CoordinatorNotAvailableError) + return Future().failure(Errors.GroupCoordinatorNotAvailableError) - # Verify node is ready - if not self._client.ready(node_id, metadata_priority=False): - log.debug("Node %s not ready -- failing offset commit request", - node_id) - return Future().failure(Errors.NodeNotReadyError) # create the offset commit request offset_data = collections.defaultdict(dict) for tp, offset in six.iteritems(offsets): offset_data[tp.topic][tp.partition] = offset - version = self._client.api_version(OffsetCommitRequest, max_version=6) - if version > 1 and self._subscription.partitions_auto_assigned(): - generation = self.generation_if_stable() + if self._subscription.partitions_auto_assigned(): + generation = self.generation() else: generation = Generation.NO_GENERATION # if the generation is None, we are not part of an active group # (and we expect to be). The only thing we can do is fail the commit # and let the user rejoin the group in poll() - if generation is None: - log.info("Failing OffsetCommit request since the consumer is not part of an active group") - if self.rebalance_in_progress(): - # if the client knows it is already rebalancing, we can use RebalanceInProgressError instead of - # CommitFailedError to indicate this is not a fatal error - return Future().failure(Errors.RebalanceInProgressError( - "Offset commit cannot be completed since the" - " consumer is undergoing a rebalance for auto partition assignment. You can try completing the rebalance" - " by calling poll() and then retry the operation.")) - else: - return Future().failure(Errors.CommitFailedError( - "Offset commit cannot be completed since the" - " consumer is not part of an active group for auto partition assignment; it is likely that the consumer" - " was kicked out of the group.")) + if self.config['api_version'] >= (0, 9) and generation is None: + return Future().failure(Errors.CommitFailedError()) - if version == 0: - request = OffsetCommitRequest[version]( + if self.config['api_version'] >= (0, 9): + request = OffsetCommitRequest[2]( self.group_id, + generation.generation_id, + generation.member_id, + OffsetCommitRequest[2].DEFAULT_RETENTION_TIME, [( topic, [( partition, @@ -658,28 +596,21 @@ class ConsumerCoordinator(BaseCoordinator): ) for partition, offset in six.iteritems(partitions)] ) for topic, partitions in six.iteritems(offset_data)] ) - elif version == 1: - request = OffsetCommitRequest[version]( - self.group_id, - # This api version was only used in v0.8.2, prior to join group apis - # so this always ends up as NO_GENERATION - generation.generation_id, - generation.member_id, + elif self.config['api_version'] >= (0, 8, 2): + request = OffsetCommitRequest[1]( + self.group_id, -1, '', [( topic, [( partition, offset.offset, - -1, # timestamp, unused + -1, offset.metadata ) for partition, offset in six.iteritems(partitions)] ) for topic, partitions in six.iteritems(offset_data)] ) - elif version <= 4: - request = OffsetCommitRequest[version]( + elif self.config['api_version'] >= (0, 8, 1): + request = OffsetCommitRequest[0]( self.group_id, - generation.generation_id, - generation.member_id, - OffsetCommitRequest[version].DEFAULT_RETENTION_TIME, [( topic, [( partition, @@ -688,33 +619,6 @@ class ConsumerCoordinator(BaseCoordinator): ) for partition, offset in six.iteritems(partitions)] ) for topic, partitions in six.iteritems(offset_data)] ) - elif version <= 5: - request = OffsetCommitRequest[version]( - self.group_id, - generation.generation_id, - generation.member_id, - [( - topic, [( - partition, - offset.offset, - offset.metadata - ) for partition, offset in six.iteritems(partitions)] - ) for topic, partitions in six.iteritems(offset_data)] - ) - else: - request = OffsetCommitRequest[version]( - self.group_id, - generation.generation_id, - generation.member_id, - [( - topic, [( - partition, - offset.offset, - offset.leader_epoch, - offset.metadata - ) for partition, offset in six.iteritems(partitions)] - ) for topic, partitions in six.iteritems(offset_data)] - ) log.debug("Sending offset-commit request with %s for group %s to %s", offsets, self.group_id, node_id) @@ -726,10 +630,8 @@ class ConsumerCoordinator(BaseCoordinator): return future def _handle_offset_commit_response(self, offsets, future, send_time, response): - log.debug("Received OffsetCommitResponse: %s", response) # TODO look at adding request_latency_ms to response (like java kafka) - if self._consumer_sensors: - self._consumer_sensors.commit_latency.record((time.time() - send_time) * 1000) + self.consumer_sensors.commit_latency.record((time.time() - send_time) * 1000) unauthorized_topics = set() for topic, partitions in response.topics: @@ -741,6 +643,8 @@ class ConsumerCoordinator(BaseCoordinator): if error_type is Errors.NoError: log.debug("Group %s committed offset %s for partition %s", self.group_id, offset, tp) + if self._subscription.is_assigned(tp): + self._subscription.assignment[tp].committed = offset elif error_type is Errors.GroupAuthorizationFailedError: log.error("Not authorized to commit offsets for group %s", self.group_id) @@ -755,38 +659,29 @@ class ConsumerCoordinator(BaseCoordinator): " %s", self.group_id, tp, error_type.__name__) future.failure(error_type()) return - elif error_type is Errors.CoordinatorLoadInProgressError: + elif error_type is Errors.GroupLoadInProgressError: # just retry log.debug("OffsetCommit for group %s failed: %s", self.group_id, error_type.__name__) future.failure(error_type(self.group_id)) return - elif error_type in (Errors.CoordinatorNotAvailableError, - Errors.NotCoordinatorError, + elif error_type in (Errors.GroupCoordinatorNotAvailableError, + Errors.NotCoordinatorForGroupError, Errors.RequestTimedOutError): log.debug("OffsetCommit for group %s failed: %s", self.group_id, error_type.__name__) self.coordinator_dead(error_type()) future.failure(error_type(self.group_id)) return - elif error_type is Errors.RebalanceInProgressError: - # Consumer never tries to commit offset in between join-group and sync-group, - # and hence on broker-side it is not expected to see a commit offset request - # during CompletingRebalance phase; if it ever happens then broker would return - # this error. In this case we should just treat as a fatal CommitFailed exception. - # However, we do not need to reset generations and just request re-join, such that - # if the caller decides to proceed and poll, it would still try to proceed and re-join normally. - self.request_rejoin() - future.failure(Errors.CommitFailedError(error_type())) - return elif error_type in (Errors.UnknownMemberIdError, - Errors.IllegalGenerationError): - # need reset generation and re-join group + Errors.IllegalGenerationError, + Errors.RebalanceInProgressError): + # need to re-join group error = error_type(self.group_id) - log.warning("OffsetCommit for group %s failed: %s", - self.group_id, error) + log.debug("OffsetCommit for group %s failed: %s", + self.group_id, error) self.reset_generation() - future.failure(Errors.CommitFailedError(error_type())) + future.failure(Errors.CommitFailedError()) return else: log.error("Group %s failed to commit partition %s at offset" @@ -814,18 +709,17 @@ class ConsumerCoordinator(BaseCoordinator): Returns: Future: resolves to dict of offsets: {TopicPartition: OffsetAndMetadata} """ - if self.config['api_version'] < (0, 8, 1): - raise Errors.UnsupportedVersionError('OffsetFetchRequest requires 0.8.1+ broker') + assert self.config['api_version'] >= (0, 8, 1), 'Unsupported Broker API' assert all(map(lambda k: isinstance(k, TopicPartition), partitions)) if not partitions: return Future().success({}) node_id = self.coordinator() if node_id is None: - return Future().failure(Errors.CoordinatorNotAvailableError) + return Future().failure(Errors.GroupCoordinatorNotAvailableError) # Verify node is ready - if not self._client.ready(node_id, metadata_priority=False): + if not self._client.ready(node_id): log.debug("Node %s not ready -- failing offset fetch request", node_id) return Future().failure(Errors.NodeNotReadyError) @@ -837,13 +731,16 @@ class ConsumerCoordinator(BaseCoordinator): for tp in partitions: topic_partitions[tp.topic].add(tp.partition) - version = self._client.api_version(OffsetFetchRequest, max_version=5) - # Starting in version 2, the request can contain a null topics array to indicate that offsets should be fetched - # TODO: support - request = OffsetFetchRequest[version]( - self.group_id, - list(topic_partitions.items()) - ) + if self.config['api_version'] >= (0, 8, 2): + request = OffsetFetchRequest[1]( + self.group_id, + list(topic_partitions.items()) + ) + else: + request = OffsetFetchRequest[0]( + self.group_id, + list(topic_partitions.items()) + ) # send the request with a callback future = Future() @@ -853,46 +750,21 @@ class ConsumerCoordinator(BaseCoordinator): return future def _handle_offset_fetch_response(self, future, response): - log.debug("Received OffsetFetchResponse: %s", response) - if response.API_VERSION >= 2 and response.error_code != Errors.NoError.errno: - error_type = Errors.for_code(response.error_code) - log.debug("Offset fetch failed: %s", error_type.__name__) - error = error_type() - if error_type is Errors.CoordinatorLoadInProgressError: - # Retry - future.failure(error) - elif error_type is Errors.NotCoordinatorError: - # re-discover the coordinator and retry - self.coordinator_dead(error) - future.failure(error) - elif error_type is Errors.GroupAuthorizationFailedError: - future.failure(error) - else: - log.error("Unknown error fetching offsets: %s", error) - future.failure(error) - return - offsets = {} for topic, partitions in response.topics: - for partition_data in partitions: - partition, offset = partition_data[:2] - if response.API_VERSION >= 5: - leader_epoch, metadata, error_code = partition_data[2:] - else: - metadata, error_code = partition_data[2:] - leader_epoch = -1 # noqa: F841 + for partition, offset, metadata, error_code in partitions: tp = TopicPartition(topic, partition) error_type = Errors.for_code(error_code) if error_type is not Errors.NoError: error = error_type() log.debug("Group %s failed to fetch offset for partition" " %s: %s", self.group_id, tp, error) - if error_type is Errors.CoordinatorLoadInProgressError: + if error_type is Errors.GroupLoadInProgressError: # just retry future.failure(error) - elif error_type is Errors.NotCoordinatorError: + elif error_type is Errors.NotCoordinatorForGroupError: # re-discover the coordinator and retry - self.coordinator_dead(error) + self.coordinator_dead(error_type()) future.failure(error) elif error_type is Errors.UnknownTopicOrPartitionError: log.warning("OffsetFetchRequest -- unknown topic %s" @@ -907,41 +779,34 @@ class ConsumerCoordinator(BaseCoordinator): elif offset >= 0: # record the position with the offset # (-1 indicates no committed offset to fetch) - # TODO: save leader_epoch - offsets[tp] = OffsetAndMetadata(offset, metadata, -1) + offsets[tp] = OffsetAndMetadata(offset, metadata) else: log.debug("Group %s has no committed offset for partition" " %s", self.group_id, tp) future.success(offsets) - def _default_offset_commit_callback(self, offsets, res_or_exc): - if isinstance(res_or_exc, Exception): + def _default_offset_commit_callback(self, offsets, exception): + if exception is not None: + log.error("Offset commit failed: %s", exception) + + def _commit_offsets_async_on_complete(self, offsets, exception): + if exception is not None: log.warning("Auto offset commit failed for group %s: %s", - self.group_id, res_or_exc) + self.group_id, exception) + if getattr(exception, 'retriable', False): + self.next_auto_commit_deadline = min(time.time() + self.config['retry_backoff_ms'] / 1000, self.next_auto_commit_deadline) else: log.debug("Completed autocommit of offsets %s for group %s", offsets, self.group_id) - def _commit_offsets_async_on_complete(self, offsets, res_or_exc): - if isinstance(res_or_exc, Exception) and getattr(res_or_exc, 'retriable', False): - self.next_auto_commit_deadline = min(time.time() + self.config['retry_backoff_ms'] / 1000, self.next_auto_commit_deadline) - self.config['default_offset_commit_callback'](offsets, res_or_exc) - def _maybe_auto_commit_offsets_async(self): if self.config['enable_auto_commit']: if self.coordinator_unknown(): self.next_auto_commit_deadline = time.time() + self.config['retry_backoff_ms'] / 1000 elif time.time() > self.next_auto_commit_deadline: self.next_auto_commit_deadline = time.time() + self.auto_commit_interval - self._do_auto_commit_offsets_async() - - def maybe_auto_commit_offsets_now(self): - if self.config['enable_auto_commit'] and not self.coordinator_unknown(): - self._do_auto_commit_offsets_async() - - def _do_auto_commit_offsets_async(self): - self.commit_offsets_async(self._subscription.all_consumed_offsets(), - self._commit_offsets_async_on_complete) + self.commit_offsets_async(self._subscription.all_consumed_offsets(), + self._commit_offsets_async_on_complete) class ConsumerCoordinatorMetrics(object): diff --git a/venv/lib/python3.12/site-packages/kafka/coordinator/heartbeat.py b/venv/lib/python3.12/site-packages/kafka/coordinator/heartbeat.py index edc9f4a..2f5930b 100644 --- a/venv/lib/python3.12/site-packages/kafka/coordinator/heartbeat.py +++ b/venv/lib/python3.12/site-packages/kafka/coordinator/heartbeat.py @@ -1,13 +1,8 @@ from __future__ import absolute_import, division import copy -import logging import time -from kafka.errors import KafkaConfigurationError - -log = logging.getLogger(__name__) - class Heartbeat(object): DEFAULT_CONFIG = { @@ -25,13 +20,9 @@ class Heartbeat(object): self.config[key] = configs[key] if self.config['group_id'] is not None: - if self.config['heartbeat_interval_ms'] >= self.config['session_timeout_ms']: - raise KafkaConfigurationError('Heartbeat interval must be lower than the session timeout (%s v %s)' % ( - self.config['heartbeat_interval_ms'], self.config['session_timeout_ms'])) - if self.config['heartbeat_interval_ms'] > (self.config['session_timeout_ms'] / 3): - log.warning('heartbeat_interval_ms is high relative to session_timeout_ms (%s v %s).' - ' Recommend heartbeat interval less than 1/3rd of session timeout', - self.config['heartbeat_interval_ms'], self.config['session_timeout_ms']) + assert (self.config['heartbeat_interval_ms'] + <= self.config['session_timeout_ms']), ( + 'Heartbeat interval must be lower than the session timeout') self.last_send = -1 * float('inf') self.last_receive = -1 * float('inf') @@ -75,10 +66,3 @@ class Heartbeat(object): def poll_timeout_expired(self): return (time.time() - self.last_poll) > (self.config['max_poll_interval_ms'] / 1000) - - def __str__(self): - return ("").format(**self.config) diff --git a/venv/lib/python3.12/site-packages/kafka/errors.py b/venv/lib/python3.12/site-packages/kafka/errors.py index ac4eadf..b33cf51 100644 --- a/venv/lib/python3.12/site-packages/kafka/errors.py +++ b/venv/lib/python3.12/site-packages/kafka/errors.py @@ -16,39 +16,23 @@ class KafkaError(RuntimeError): super(KafkaError, self).__str__()) -class Cancelled(KafkaError): - retriable = True - - -class CommitFailedError(KafkaError): - def __init__(self, *args): - if not args: - args = ("Commit cannot be completed since the group has already" - " rebalanced and assigned the partitions to another member.",) - super(CommitFailedError, self).__init__(*args) +class IllegalStateError(KafkaError): + pass class IllegalArgumentError(KafkaError): pass -class IllegalStateError(KafkaError): - pass - - -class IncompatibleBrokerVersion(KafkaError): - pass - - -class KafkaConfigurationError(KafkaError): - pass - - -class KafkaConnectionError(KafkaError): +class NoBrokersAvailable(KafkaError): retriable = True invalid_metadata = True +class NodeNotReadyError(KafkaError): + retriable = True + + class KafkaProtocolError(KafkaError): retriable = True @@ -57,37 +41,20 @@ class CorrelationIdError(KafkaProtocolError): retriable = True -class KafkaTimeoutError(KafkaError): +class Cancelled(KafkaError): retriable = True -class MetadataEmptyBrokerList(KafkaError): +class TooManyInFlightRequests(KafkaError): retriable = True -class NoBrokersAvailable(KafkaError): - retriable = True - invalid_metadata = True - - -class NoOffsetForPartitionError(KafkaError): - pass - - -class NodeNotReadyError(KafkaError): - retriable = True - - -class QuotaViolationError(KafkaError): - pass - - class StaleMetadata(KafkaError): retriable = True invalid_metadata = True -class TooManyInFlightRequests(KafkaError): +class MetadataEmptyBrokerList(KafkaError): retriable = True @@ -95,10 +62,33 @@ class UnrecognizedBrokerVersion(KafkaError): pass -class UnsupportedCodecError(KafkaError): +class IncompatibleBrokerVersion(KafkaError): pass +class CommitFailedError(KafkaError): + def __init__(self, *args, **kwargs): + super(CommitFailedError, self).__init__( + """Commit cannot be completed since the group has already + rebalanced and assigned the partitions to another member. + This means that the time between subsequent calls to poll() + was longer than the configured max_poll_interval_ms, which + typically implies that the poll loop is spending too much + time message processing. You can address this either by + increasing the rebalance timeout with max_poll_interval_ms, + or by reducing the maximum size of batches returned in poll() + with max_poll_records. + """, *args, **kwargs) + + +class AuthenticationMethodNotSupported(KafkaError): + pass + + +class AuthenticationFailedError(KafkaError): + retriable = False + + class BrokerResponseError(KafkaError): errno = None message = None @@ -111,10 +101,6 @@ class BrokerResponseError(KafkaError): super(BrokerResponseError, self).__str__()) -class AuthorizationError(BrokerResponseError): - pass - - class NoError(BrokerResponseError): errno = 0 message = 'NO_ERROR' @@ -134,14 +120,14 @@ class OffsetOutOfRangeError(BrokerResponseError): ' maintained by the server for the given topic/partition.') -class CorruptRecordError(BrokerResponseError): +class CorruptRecordException(BrokerResponseError): errno = 2 message = 'CORRUPT_MESSAGE' description = ('This message has failed its CRC checksum, exceeds the' ' valid size, or is otherwise corrupt.') # Backward compatibility -CorruptRecordException = CorruptRecordError +InvalidMessageError = CorruptRecordException class UnknownTopicOrPartitionError(BrokerResponseError): @@ -200,8 +186,7 @@ class ReplicaNotAvailableError(BrokerResponseError): message = 'REPLICA_NOT_AVAILABLE' description = ('If replica is expected on a broker, but is not (this can be' ' safely ignored).') - retriable = True - invalid_metadata = True + class MessageSizeTooLargeError(BrokerResponseError): errno = 10 @@ -225,35 +210,39 @@ class OffsetMetadataTooLargeError(BrokerResponseError): ' offset metadata.') -class NetworkExceptionError(BrokerResponseError): +# TODO is this deprecated? https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol#AGuideToTheKafkaProtocol-ErrorCodes +class StaleLeaderEpochCodeError(BrokerResponseError): errno = 13 - message = 'NETWORK_EXCEPTION' - retriable = True - invalid_metadata = True + message = 'STALE_LEADER_EPOCH_CODE' -class CoordinatorLoadInProgressError(BrokerResponseError): +class GroupLoadInProgressError(BrokerResponseError): errno = 14 - message = 'COORDINATOR_LOAD_IN_PROGRESS' - description = ('The broker returns this error code for txn or group requests,' - ' when the coordinator is loading and hence cant process requests') + message = 'OFFSETS_LOAD_IN_PROGRESS' + description = ('The broker returns this error code for an offset fetch' + ' request if it is still loading offsets (after a leader' + ' change for that offsets topic partition), or in response' + ' to group membership requests (such as heartbeats) when' + ' group metadata is being loaded by the coordinator.') retriable = True -class CoordinatorNotAvailableError(BrokerResponseError): +class GroupCoordinatorNotAvailableError(BrokerResponseError): errno = 15 - message = 'COORDINATOR_NOT_AVAILABLE' - description = ('The broker returns this error code for consumer and transaction' + message = 'CONSUMER_COORDINATOR_NOT_AVAILABLE' + description = ('The broker returns this error code for group coordinator' + ' requests, offset commits, and most group management' ' requests if the offsets topic has not yet been created, or' - ' if the group/txn coordinator is not active.') + ' if the group coordinator is not active.') retriable = True -class NotCoordinatorError(BrokerResponseError): +class NotCoordinatorForGroupError(BrokerResponseError): errno = 16 - message = 'NOT_COORDINATOR' - description = ('The broker returns this error code if it is not the correct' - ' coordinator for the specified consumer or transaction group') + message = 'NOT_COORDINATOR_FOR_CONSUMER' + description = ('The broker returns this error code if it receives an offset' + ' fetch or commit request for a group that it is not a' + ' coordinator for.') retriable = True @@ -350,21 +339,21 @@ class InvalidCommitOffsetSizeError(BrokerResponseError): ' because of oversize metadata.') -class TopicAuthorizationFailedError(AuthorizationError): +class TopicAuthorizationFailedError(BrokerResponseError): errno = 29 message = 'TOPIC_AUTHORIZATION_FAILED' description = ('Returned by the broker when the client is not authorized to' ' access the requested topic.') -class GroupAuthorizationFailedError(AuthorizationError): +class GroupAuthorizationFailedError(BrokerResponseError): errno = 30 message = 'GROUP_AUTHORIZATION_FAILED' description = ('Returned by the broker when the client is not authorized to' ' access a particular groupId.') -class ClusterAuthorizationFailedError(AuthorizationError): +class ClusterAuthorizationFailedError(BrokerResponseError): errno = 31 message = 'CLUSTER_AUTHORIZATION_FAILED' description = ('Returned by the broker when the client is not authorized to' @@ -452,597 +441,65 @@ class PolicyViolationError(BrokerResponseError): errno = 44 message = 'POLICY_VIOLATION' description = 'Request parameters do not satisfy the configured policy.' - retriable = False - - -class OutOfOrderSequenceNumberError(BrokerResponseError): - errno = 45 - message = 'OUT_OF_ORDER_SEQUENCE_NUMBER' - description = 'The broker received an out of order sequence number.' - retriable = False - - -class DuplicateSequenceNumberError(BrokerResponseError): - errno = 46 - message = 'DUPLICATE_SEQUENCE_NUMBER' - description = 'The broker received a duplicate sequence number.' - retriable = False - - -class InvalidProducerEpochError(BrokerResponseError): - errno = 47 - message = 'INVALID_PRODUCER_EPOCH' - description = 'Producer attempted to produce with an old epoch.' - retriable = False - - -class InvalidTxnStateError(BrokerResponseError): - errno = 48 - message = 'INVALID_TXN_STATE' - description = 'The producer attempted a transactional operation in an invalid state.' - retriable = False - - -class InvalidProducerIdMappingError(BrokerResponseError): - errno = 49 - message = 'INVALID_PRODUCER_ID_MAPPING' - description = 'The producer attempted to use a producer id which is not currently assigned to its transactional id.' - retriable = False - - -class InvalidTransactionTimeoutError(BrokerResponseError): - errno = 50 - message = 'INVALID_TRANSACTION_TIMEOUT' - description = 'The transaction timeout is larger than the maximum value allowed by the broker (as configured by transaction.max.timeout.ms).' - retriable = False - - -class ConcurrentTransactionsError(BrokerResponseError): - errno = 51 - message = 'CONCURRENT_TRANSACTIONS' - description = 'The producer attempted to update a transaction while another concurrent operation on the same transaction was ongoing.' - retriable = True - - -class TransactionCoordinatorFencedError(BrokerResponseError): - errno = 52 - message = 'TRANSACTION_COORDINATOR_FENCED' - description = 'Indicates that the transaction coordinator sending a WriteTxnMarker is no longer the current coordinator for a given producer.' - retriable = False - - -class TransactionalIdAuthorizationFailedError(AuthorizationError): - errno = 53 - message = 'TRANSACTIONAL_ID_AUTHORIZATION_FAILED' - description = 'Transactional Id authorization failed.' - retriable = False class SecurityDisabledError(BrokerResponseError): errno = 54 message = 'SECURITY_DISABLED' description = 'Security features are disabled.' - retriable = False - - -class OperationNotAttemptedError(BrokerResponseError): - errno = 55 - message = 'OPERATION_NOT_ATTEMPTED' - description = 'The broker did not attempt to execute this operation. This may happen for batched RPCs where some operations in the batch failed, causing the broker to respond without trying the rest.' - retriable = False - - -class KafkaStorageError(BrokerResponseError): - errno = 56 - message = 'KAFKA_STORAGE_ERROR' - description = 'Disk error when trying to access log file on the disk.' - retriable = True - invalid_metadata = True - - -class LogDirNotFoundError(BrokerResponseError): - errno = 57 - message = 'LOG_DIR_NOT_FOUND' - description = 'The user-specified log directory is not found in the broker config.' - retriable = False - - -class SaslAuthenticationFailedError(BrokerResponseError): - errno = 58 - message = 'SASL_AUTHENTICATION_FAILED' - description = 'SASL Authentication failed.' - retriable = False - - -class UnknownProducerIdError(BrokerResponseError): - errno = 59 - message = 'UNKNOWN_PRODUCER_ID' - description = 'This exception is raised by the broker if it could not locate the producer metadata associated with the producerId in question. This could happen if, for instance, the producer\'s records were deleted because their retention time had elapsed. Once the last records of the producerId are removed, the producer\'s metadata is removed from the broker, and future appends by the producer will return this exception.' - retriable = False - - -class ReassignmentInProgressError(BrokerResponseError): - errno = 60 - message = 'REASSIGNMENT_IN_PROGRESS' - description = 'A partition reassignment is in progress.' - retriable = False - - -class DelegationTokenAuthDisabledError(BrokerResponseError): - errno = 61 - message = 'DELEGATION_TOKEN_AUTH_DISABLED' - description = 'Delegation Token feature is not enabled.' - retriable = False - - -class DelegationTokenNotFoundError(BrokerResponseError): - errno = 62 - message = 'DELEGATION_TOKEN_NOT_FOUND' - description = 'Delegation Token is not found on server.' - retriable = False - - -class DelegationTokenOwnerMismatchError(BrokerResponseError): - errno = 63 - message = 'DELEGATION_TOKEN_OWNER_MISMATCH' - description = 'Specified Principal is not valid Owner/Renewer.' - retriable = False - - -class DelegationTokenRequestNotAllowedError(BrokerResponseError): - errno = 64 - message = 'DELEGATION_TOKEN_REQUEST_NOT_ALLOWED' - description = 'Delegation Token requests are not allowed on PLAINTEXT/1-way SSL channels and on delegation token authenticated channels.' - retriable = False - - -class DelegationTokenAuthorizationFailedError(AuthorizationError): - errno = 65 - message = 'DELEGATION_TOKEN_AUTHORIZATION_FAILED' - description = 'Delegation Token authorization failed.' - retriable = False - - -class DelegationTokenExpiredError(BrokerResponseError): - errno = 66 - message = 'DELEGATION_TOKEN_EXPIRED' - description = 'Delegation Token is expired.' - retriable = False - - -class InvalidPrincipalTypeError(BrokerResponseError): - errno = 67 - message = 'INVALID_PRINCIPAL_TYPE' - description = 'Supplied principalType is not supported.' - retriable = False class NonEmptyGroupError(BrokerResponseError): errno = 68 message = 'NON_EMPTY_GROUP' description = 'The group is not empty.' - retriable = False class GroupIdNotFoundError(BrokerResponseError): errno = 69 message = 'GROUP_ID_NOT_FOUND' description = 'The group id does not exist.' - retriable = False -class FetchSessionIdNotFoundError(BrokerResponseError): - errno = 70 - message = 'FETCH_SESSION_ID_NOT_FOUND' - description = 'The fetch session ID was not found.' - retriable = True +class KafkaUnavailableError(KafkaError): + pass -class InvalidFetchSessionEpochError(BrokerResponseError): - errno = 71 - message = 'INVALID_FETCH_SESSION_EPOCH' - description = 'The fetch session epoch is invalid.' - retriable = True +class KafkaTimeoutError(KafkaError): + pass -class ListenerNotFoundError(BrokerResponseError): - errno = 72 - message = 'LISTENER_NOT_FOUND' - description = 'There is no listener on the leader broker that matches the listener on which metadata request was processed.' +class FailedPayloadsError(KafkaError): + def __init__(self, payload, *args): + super(FailedPayloadsError, self).__init__(*args) + self.payload = payload + + +class KafkaConnectionError(KafkaError): retriable = True invalid_metadata = True -class TopicDeletionDisabledError(BrokerResponseError): - errno = 73 - message = 'TOPIC_DELETION_DISABLED' - description = 'Topic deletion is disabled.' - retriable = False +class ProtocolError(KafkaError): + pass -class FencedLeaderEpochError(BrokerResponseError): - errno = 74 - message = 'FENCED_LEADER_EPOCH' - description = 'The leader epoch in the request is older than the epoch on the broker.' - retriable = True - invalid_metadata = True +class UnsupportedCodecError(KafkaError): + pass -class UnknownLeaderEpochError(BrokerResponseError): - errno = 75 - message = 'UNKNOWN_LEADER_EPOCH' - description = 'The leader epoch in the request is newer than the epoch on the broker.' - retriable = True - invalid_metadata = True +class KafkaConfigurationError(KafkaError): + pass -class UnsupportedCompressionTypeError(BrokerResponseError): - errno = 76 - message = 'UNSUPPORTED_COMPRESSION_TYPE' - description = 'The requesting client does not support the compression type of given partition.' - retriable = False +class QuotaViolationError(KafkaError): + pass -class StaleBrokerEpochError(BrokerResponseError): - errno = 77 - message = 'STALE_BROKER_EPOCH' - description = 'Broker epoch has changed.' - retriable = False - - -class OffsetNotAvailableError(BrokerResponseError): - errno = 78 - message = 'OFFSET_NOT_AVAILABLE' - description = 'The leader high watermark has not caught up from a recent leader election so the offsets cannot be guaranteed to be monotonically increasing.' - retriable = True - - -class MemberIdRequiredError(BrokerResponseError): - errno = 79 - message = 'MEMBER_ID_REQUIRED' - description = 'The group member needs to have a valid member id before actually entering a consumer group.' - retriable = False - - -class PreferredLeaderNotAvailableError(BrokerResponseError): - errno = 80 - message = 'PREFERRED_LEADER_NOT_AVAILABLE' - description = 'The preferred leader was not available.' - retriable = True - invalid_metadata = True - - -class GroupMaxSizeReachedError(BrokerResponseError): - errno = 81 - message = 'GROUP_MAX_SIZE_REACHED' - description = 'The consumer group has reached its max size.' - retriable = False - - -class FencedInstanceIdError(BrokerResponseError): - errno = 82 - message = 'FENCED_INSTANCE_ID' - description = 'The broker rejected this static consumer since another consumer with the same group.instance.id has registered with a different member.id.' - retriable = False - - -class EligibleLeadersNotAvailableError(BrokerResponseError): - errno = 83 - message = 'ELIGIBLE_LEADERS_NOT_AVAILABLE' - description = 'Eligible topic partition leaders are not available.' - retriable = True - invalid_metadata = True - - -class ElectionNotNeededError(BrokerResponseError): - errno = 84 - message = 'ELECTION_NOT_NEEDED' - description = 'Leader election not needed for topic partition.' - retriable = True - invalid_metadata = True - - -class NoReassignmentInProgressError(BrokerResponseError): - errno = 85 - message = 'NO_REASSIGNMENT_IN_PROGRESS' - description = 'No partition reassignment is in progress.' - retriable = False - - -class GroupSubscribedToTopicError(BrokerResponseError): - errno = 86 - message = 'GROUP_SUBSCRIBED_TO_TOPIC' - description = 'Deleting offsets of a topic is forbidden while the consumer group is actively subscribed to it.' - retriable = False - - -class InvalidRecordError(BrokerResponseError): - errno = 87 - message = 'INVALID_RECORD' - description = 'This record has failed the validation on broker and hence will be rejected.' - retriable = False - - -class UnstableOffsetCommitError(BrokerResponseError): - errno = 88 - message = 'UNSTABLE_OFFSET_COMMIT' - description = 'There are unstable offsets that need to be cleared.' - retriable = True - - -class ThrottlingQuotaExceededError(BrokerResponseError): - errno = 89 - message = 'THROTTLING_QUOTA_EXCEEDED' - description = 'The throttling quota has been exceeded.' - retriable = True - - -class ProducerFencedError(BrokerResponseError): - errno = 90 - message = 'PRODUCER_FENCED' - description = 'There is a newer producer with the same transactionalId which fences the current one.' - retriable = False - - -class ResourceNotFoundError(BrokerResponseError): - errno = 91 - message = 'RESOURCE_NOT_FOUND' - description = 'A request illegally referred to a resource that does not exist.' - retriable = False - - -class DuplicateResourceError(BrokerResponseError): - errno = 92 - message = 'DUPLICATE_RESOURCE' - description = 'A request illegally referred to the same resource twice.' - retriable = False - - -class UnacceptableCredentialError(BrokerResponseError): - errno = 93 - message = 'UNACCEPTABLE_CREDENTIAL' - description = 'Requested credential would not meet criteria for acceptability.' - retriable = False - - -class InconsistentVoterSetError(BrokerResponseError): - errno = 94 - message = 'INCONSISTENT_VOTER_SET' - description = 'Indicates that the either the sender or recipient of a voter-only request is not one of the expected voters.' - retriable = False - - -class InvalidUpdateVersionError(BrokerResponseError): - errno = 95 - message = 'INVALID_UPDATE_VERSION' - description = 'The given update version was invalid.' - retriable = False - - -class FeatureUpdateFailedError(BrokerResponseError): - errno = 96 - message = 'FEATURE_UPDATE_FAILED' - description = 'Unable to update finalized features due to an unexpected server error.' - retriable = False - - -class PrincipalDeserializationFailureError(BrokerResponseError): - errno = 97 - message = 'PRINCIPAL_DESERIALIZATION_FAILURE' - description = 'Request principal deserialization failed during forwarding. This indicates an internal error on the broker cluster security setup.' - retriable = False - - -class SnapshotNotFoundError(BrokerResponseError): - errno = 98 - message = 'SNAPSHOT_NOT_FOUND' - description = 'Requested snapshot was not found.' - retriable = False - - -class PositionOutOfRangeError(BrokerResponseError): - errno = 99 - message = 'POSITION_OUT_OF_RANGE' - description = 'Requested position is not greater than or equal to zero, and less than the size of the snapshot.' - retriable = False - - -class UnknownTopicIdError(BrokerResponseError): - errno = 100 - message = 'UNKNOWN_TOPIC_ID' - description = 'This server does not host this topic ID.' - retriable = True - invalid_metadata = True - - -class DuplicateBrokerRegistrationError(BrokerResponseError): - errno = 101 - message = 'DUPLICATE_BROKER_REGISTRATION' - description = 'This broker ID is already in use.' - retriable = False - - -class BrokerIdNotRegisteredError(BrokerResponseError): - errno = 102 - message = 'BROKER_ID_NOT_REGISTERED' - description = 'The given broker ID was not registered.' - retriable = False - - -class InconsistentTopicIdError(BrokerResponseError): - errno = 103 - message = 'INCONSISTENT_TOPIC_ID' - description = 'The log\'s topic ID did not match the topic ID in the request.' - retriable = True - invalid_metadata = True - - -class InconsistentClusterIdError(BrokerResponseError): - errno = 104 - message = 'INCONSISTENT_CLUSTER_ID' - description = 'The clusterId in the request does not match that found on the server.' - retriable = False - - -class TransactionalIdNotFoundError(BrokerResponseError): - errno = 105 - message = 'TRANSACTIONAL_ID_NOT_FOUND' - description = 'The transactionalId could not be found.' - retriable = False - - -class FetchSessionTopicIdError(BrokerResponseError): - errno = 106 - message = 'FETCH_SESSION_TOPIC_ID_ERROR' - description = 'The fetch session encountered inconsistent topic ID usage.' - retriable = True - - -class IneligibleReplicaError(BrokerResponseError): - errno = 107 - message = 'INELIGIBLE_REPLICA' - description = 'The new ISR contains at least one ineligible replica.' - retriable = False - - -class NewLeaderElectedError(BrokerResponseError): - errno = 108 - message = 'NEW_LEADER_ELECTED' - description = 'The AlterPartition request successfully updated the partition state but the leader has changed.' - retriable = False - - -class OffsetMovedToTieredStorageError(BrokerResponseError): - errno = 109 - message = 'OFFSET_MOVED_TO_TIERED_STORAGE' - description = 'The requested offset is moved to tiered storage.' - retriable = False - - -class FencedMemberEpochError(BrokerResponseError): - errno = 110 - message = 'FENCED_MEMBER_EPOCH' - description = 'The member epoch is fenced by the group coordinator. The member must abandon all its partitions and rejoin.' - retriable = False - - -class UnreleasedInstanceIdError(BrokerResponseError): - errno = 111 - message = 'UNRELEASED_INSTANCE_ID' - description = 'The instance ID is still used by another member in the consumer group. That member must leave first.' - retriable = False - - -class UnsupportedAssignorError(BrokerResponseError): - errno = 112 - message = 'UNSUPPORTED_ASSIGNOR' - description = 'The assignor or its version range is not supported by the consumer group.' - retriable = False - - -class StaleMemberEpochError(BrokerResponseError): - errno = 113 - message = 'STALE_MEMBER_EPOCH' - description = 'The member epoch is stale. The member must retry after receiving its updated member epoch via the ConsumerGroupHeartbeat API.' - retriable = False - - -class MismatchedEndpointTypeError(BrokerResponseError): - errno = 114 - message = 'MISMATCHED_ENDPOINT_TYPE' - description = 'The request was sent to an endpoint of the wrong type.' - retriable = False - - -class UnsupportedEndpointTypeError(BrokerResponseError): - errno = 115 - message = 'UNSUPPORTED_ENDPOINT_TYPE' - description = 'This endpoint type is not supported yet.' - retriable = False - - -class UnknownControllerIdError(BrokerResponseError): - errno = 116 - message = 'UNKNOWN_CONTROLLER_ID' - description = 'This controller ID is not known.' - retriable = False - - -class UnknownSubscriptionIdError(BrokerResponseError): - errno = 117 - message = 'UNKNOWN_SUBSCRIPTION_ID' - description = 'Client sent a push telemetry request with an invalid or outdated subscription ID.' - retriable = False - - -class TelemetryTooLargeError(BrokerResponseError): - errno = 118 - message = 'TELEMETRY_TOO_LARGE' - description = 'Client sent a push telemetry request larger than the maximum size the broker will accept.' - retriable = False - - -class InvalidRegistrationError(BrokerResponseError): - errno = 119 - message = 'INVALID_REGISTRATION' - description = 'The controller has considered the broker registration to be invalid.' - retriable = False - - -class TransactionAbortableError(BrokerResponseError): - errno = 120 - message = 'TRANSACTION_ABORTABLE' - description = 'The server encountered an error with the transaction. The client can abort the transaction to continue using this transactional ID.' - retriable = False - - -class InvalidRecordStateError(BrokerResponseError): - errno = 121 - message = 'INVALID_RECORD_STATE' - description = 'The record state is invalid. The acknowledgement of delivery could not be completed.' - retriable = False - - -class ShareSessionNotFoundError(BrokerResponseError): - errno = 122 - message = 'SHARE_SESSION_NOT_FOUND' - description = 'The share session was not found.' - retriable = True - - -class InvalidShareSessionEpochError(BrokerResponseError): - errno = 123 - message = 'INVALID_SHARE_SESSION_EPOCH' - description = 'The share session epoch is invalid.' - retriable = True - - -class FencedStateEpochError(BrokerResponseError): - errno = 124 - message = 'FENCED_STATE_EPOCH' - description = 'The share coordinator rejected the request because the share-group state epoch did not match.' - retriable = False - - -class InvalidVoterKeyError(BrokerResponseError): - errno = 125 - message = 'INVALID_VOTER_KEY' - description = 'The voter key doesn\'t match the receiving replica\'s key.' - retriable = False - - -class DuplicateVoterError(BrokerResponseError): - errno = 126 - message = 'DUPLICATE_VOTER' - description = 'The voter is already part of the set of voters.' - retriable = False - - -class VoterNotFoundError(BrokerResponseError): - errno = 127 - message = 'VOTER_NOT_FOUND' - description = 'The voter is not part of the set of voters.' - retriable = False +class AsyncProducerQueueFull(KafkaError): + def __init__(self, failed_msgs, *args): + super(AsyncProducerQueueFull, self).__init__(*args) + self.failed_msgs = failed_msgs def _iter_broker_errors(): @@ -1055,12 +512,27 @@ kafka_errors = dict([(x.errno, x) for x in _iter_broker_errors()]) def for_code(error_code): - if error_code in kafka_errors: - return kafka_errors[error_code] - else: - # The broker error code was not found in our list. This can happen when connecting - # to a newer broker (with new error codes), or simply because our error list is - # not complete. - # - # To avoid dropping the error code, create a dynamic error class w/ errno override. - return type('UnrecognizedBrokerError', (UnknownError,), {'errno': error_code}) + return kafka_errors.get(error_code, UnknownError) + + +def check_error(response): + if isinstance(response, Exception): + raise response + if response.error: + error_class = kafka_errors.get(response.error, UnknownError) + raise error_class(response) + + +RETRY_BACKOFF_ERROR_TYPES = ( + KafkaUnavailableError, LeaderNotAvailableError, + KafkaConnectionError, FailedPayloadsError +) + + +RETRY_REFRESH_ERROR_TYPES = ( + NotLeaderForPartitionError, UnknownTopicOrPartitionError, + LeaderNotAvailableError, KafkaConnectionError +) + + +RETRY_ERROR_TYPES = RETRY_BACKOFF_ERROR_TYPES + RETRY_REFRESH_ERROR_TYPES diff --git a/venv/lib/python3.12/site-packages/kafka/future.py b/venv/lib/python3.12/site-packages/kafka/future.py index 2af061e..d0f3c66 100644 --- a/venv/lib/python3.12/site-packages/kafka/future.py +++ b/venv/lib/python3.12/site-packages/kafka/future.py @@ -2,7 +2,6 @@ from __future__ import absolute_import import functools import logging -import threading log = logging.getLogger(__name__) @@ -16,7 +15,6 @@ class Future(object): self.exception = None self._callbacks = [] self._errbacks = [] - self._lock = threading.Lock() def succeeded(self): return self.is_done and not bool(self.exception) @@ -32,46 +30,37 @@ class Future(object): def success(self, value): assert not self.is_done, 'Future is already complete' - with self._lock: - self.value = value - self.is_done = True + self.value = value + self.is_done = True if self._callbacks: self._call_backs('callback', self._callbacks, self.value) return self def failure(self, e): assert not self.is_done, 'Future is already complete' - exception = e if type(e) is not type else e() - assert isinstance(exception, BaseException), ( + self.exception = e if type(e) is not type else e() + assert isinstance(self.exception, BaseException), ( 'future failed without an exception') - with self._lock: - self.exception = exception - self.is_done = True + self.is_done = True self._call_backs('errback', self._errbacks, self.exception) return self def add_callback(self, f, *args, **kwargs): if args or kwargs: f = functools.partial(f, *args, **kwargs) - with self._lock: - if not self.is_done: - self._callbacks.append(f) - elif self.succeeded(): - self._lock.release() - self._call_backs('callback', [f], self.value) - self._lock.acquire() + if self.is_done and not self.exception: + self._call_backs('callback', [f], self.value) + else: + self._callbacks.append(f) return self def add_errback(self, f, *args, **kwargs): if args or kwargs: f = functools.partial(f, *args, **kwargs) - with self._lock: - if not self.is_done: - self._errbacks.append(f) - elif self.failed(): - self._lock.release() - self._call_backs('errback', [f], self.exception) - self._lock.acquire() + if self.is_done and self.exception: + self._call_backs('errback', [f], self.exception) + else: + self._errbacks.append(f) return self def add_both(self, f, *args, **kwargs): diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/compound_stat.py b/venv/lib/python3.12/site-packages/kafka/metrics/compound_stat.py index f5b482d..ac92480 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/compound_stat.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/compound_stat.py @@ -3,16 +3,16 @@ from __future__ import absolute_import import abc from kafka.metrics.stat import AbstractStat -from kafka.vendor.six import add_metaclass -@add_metaclass(abc.ABCMeta) class AbstractCompoundStat(AbstractStat): """ A compound stat is a stat where a single measurement and associated data structure feeds many metrics. This is the example for a histogram which has many associated percentiles. """ + __metaclass__ = abc.ABCMeta + def stats(self): """ Return list of NamedMeasurable @@ -21,8 +21,6 @@ class AbstractCompoundStat(AbstractStat): class NamedMeasurable(object): - __slots__ = ('_name', '_stat') - def __init__(self, metric_name, measurable_stat): self._name = metric_name self._stat = measurable_stat diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/kafka_metric.py b/venv/lib/python3.12/site-packages/kafka/metrics/kafka_metric.py index fef6848..9fb8d89 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/kafka_metric.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/kafka_metric.py @@ -4,8 +4,6 @@ import time class KafkaMetric(object): - __slots__ = ('_metric_name', '_measurable', '_config') - # NOTE java constructor takes a lock instance def __init__(self, metric_name, measurable, config): if not metric_name: @@ -35,4 +33,4 @@ class KafkaMetric(object): def value(self, time_ms=None): if time_ms is None: time_ms = time.time() * 1000 - return self._measurable.measure(self._config, time_ms) + return self.measurable.measure(self.config, time_ms) diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/measurable_stat.py b/venv/lib/python3.12/site-packages/kafka/metrics/measurable_stat.py index 08222b1..4487adf 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/measurable_stat.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/measurable_stat.py @@ -4,10 +4,8 @@ import abc from kafka.metrics.measurable import AbstractMeasurable from kafka.metrics.stat import AbstractStat -from kafka.vendor.six import add_metaclass -@add_metaclass(abc.ABCMeta) class AbstractMeasurableStat(AbstractStat, AbstractMeasurable): """ An AbstractMeasurableStat is an AbstractStat that is also @@ -15,3 +13,4 @@ class AbstractMeasurableStat(AbstractStat, AbstractMeasurable): This is the interface used for most of the simple statistics such as Avg, Max, Count, etc. """ + __metaclass__ = abc.ABCMeta diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/metric_config.py b/venv/lib/python3.12/site-packages/kafka/metrics/metric_config.py index 7e5ead1..2e55abf 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/metric_config.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/metric_config.py @@ -5,8 +5,6 @@ import sys class MetricConfig(object): """Configuration values for metrics""" - __slots__ = ('quota', '_samples', 'event_window', 'time_window_ms', 'tags') - def __init__(self, quota=None, samples=2, event_window=sys.maxsize, time_window_ms=30 * 1000, tags=None): """ diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/metric_name.py b/venv/lib/python3.12/site-packages/kafka/metrics/metric_name.py index b8ab2a3..b5acd16 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/metric_name.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/metric_name.py @@ -38,7 +38,6 @@ class MetricName(object): # as messages are sent we record the sizes sensor.record(message_size) """ - __slots__ = ('_name', '_group', '_description', '_tags', '_hash') def __init__(self, name, group, description=None, tags=None): """ @@ -94,7 +93,7 @@ class MetricName(object): return True if other is None: return False - return (isinstance(self, type(other)) and + return (type(self) == type(other) and self.group == other.group and self.name == other.name and self.tags == other.tags) diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/metrics.py b/venv/lib/python3.12/site-packages/kafka/metrics/metrics.py index 41a37db..2c53488 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/metrics.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/metrics.py @@ -55,11 +55,10 @@ class Metrics(object): self._reporters = reporters or [] for reporter in self._reporters: reporter.init([]) - self._closed = False if enable_expiration: def expire_loop(): - while not self._closed: + while True: # delay 30 seconds time.sleep(30) self.ExpireSensorTask.run(self) @@ -260,4 +259,3 @@ class Metrics(object): reporter.close() self._metrics.clear() - self._closed = True diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/metrics_reporter.py b/venv/lib/python3.12/site-packages/kafka/metrics/metrics_reporter.py index 8df2e9e..d8bd12b 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/metrics_reporter.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/metrics_reporter.py @@ -2,15 +2,14 @@ from __future__ import absolute_import import abc -from kafka.vendor.six import add_metaclass - -@add_metaclass(abc.ABCMeta) class AbstractMetricsReporter(object): """ An abstract class to allow things to listen as new metrics are created so they can be reported. """ + __metaclass__ = abc.ABCMeta + @abc.abstractmethod def init(self, metrics): """ diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/quota.py b/venv/lib/python3.12/site-packages/kafka/metrics/quota.py index 36a30c4..4d1b0d6 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/quota.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/quota.py @@ -3,8 +3,6 @@ from __future__ import absolute_import class Quota(object): """An upper or lower bound for metrics""" - __slots__ = ('_bound', '_upper') - def __init__(self, bound, is_upper): self._bound = bound self._upper = is_upper @@ -36,7 +34,7 @@ class Quota(object): def __eq__(self, other): if self is other: return True - return (isinstance(self, type(other)) and + return (type(self) == type(other) and self.bound == other.bound and self.is_upper_bound() == other.is_upper_bound()) diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stat.py b/venv/lib/python3.12/site-packages/kafka/metrics/stat.py index 8825d27..9fd2f01 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stat.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stat.py @@ -2,15 +2,14 @@ from __future__ import absolute_import import abc -from kafka.vendor.six import add_metaclass - -@add_metaclass(abc.ABCMeta) class AbstractStat(object): """ An AbstractStat is a quantity such as average, max, etc that is computed off the stream of updates to a sensor """ + __metaclass__ = abc.ABCMeta + @abc.abstractmethod def record(self, config, value, time_ms): """ diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/avg.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/avg.py index 906d955..cfbaec3 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/avg.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/avg.py @@ -7,8 +7,6 @@ class Avg(AbstractSampledStat): """ An AbstractSampledStat that maintains a simple average over its samples. """ - __slots__ = ('_initial_value', '_samples', '_current') - def __init__(self): super(Avg, self).__init__(0.0) diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/count.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/count.py index 6cd6d2a..6e0a2d5 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/count.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/count.py @@ -7,8 +7,6 @@ class Count(AbstractSampledStat): """ An AbstractSampledStat that maintains a simple count of what it has seen. """ - __slots__ = ('_initial_value', '_samples', '_current') - def __init__(self): super(Count, self).__init__(0.0) diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/histogram.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/histogram.py index 2c8afbf..ecc6c9d 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/histogram.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/histogram.py @@ -4,8 +4,6 @@ import math class Histogram(object): - __slots__ = ('_hist', '_count', '_bin_scheme') - def __init__(self, bin_scheme): self._hist = [0.0] * bin_scheme.bins self._count = 0.0 @@ -42,8 +40,6 @@ class Histogram(object): return '{%s}' % ','.join(values) class ConstantBinScheme(object): - __slots__ = ('_min', '_max', '_bins', '_bucket_width') - def __init__(self, bins, min_val, max_val): if bins < 2: raise ValueError('Must have at least 2 bins.') @@ -73,8 +69,6 @@ class Histogram(object): return int(((x - self._min) / self._bucket_width) + 1) class LinearBinScheme(object): - __slots__ = ('_bins', '_max', '_scale') - def __init__(self, num_bins, max_val): self._bins = num_bins self._max = max_val diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/max_stat.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/max_stat.py index 9c5eeb6..08aebdd 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/max_stat.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/max_stat.py @@ -5,8 +5,6 @@ from kafka.metrics.stats.sampled_stat import AbstractSampledStat class Max(AbstractSampledStat): """An AbstractSampledStat that gives the max over its samples.""" - __slots__ = ('_initial_value', '_samples', '_current') - def __init__(self): super(Max, self).__init__(float('-inf')) diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/min_stat.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/min_stat.py index 6bebe57..072106d 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/min_stat.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/min_stat.py @@ -7,8 +7,6 @@ from kafka.metrics.stats.sampled_stat import AbstractSampledStat class Min(AbstractSampledStat): """An AbstractSampledStat that gives the min over its samples.""" - __slots__ = ('_initial_value', '_samples', '_current') - def __init__(self): super(Min, self).__init__(float(sys.maxsize)) diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/percentile.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/percentile.py index 75e64ce..3a86a84 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/percentile.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/percentile.py @@ -2,8 +2,6 @@ from __future__ import absolute_import class Percentile(object): - __slots__ = ('_metric_name', '_percentile') - def __init__(self, metric_name, percentile): self._metric_name = metric_name self._percentile = float(percentile) diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/percentiles.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/percentiles.py index 2cb2d84..6d702e8 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/percentiles.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/percentiles.py @@ -13,9 +13,6 @@ class BucketSizing(object): class Percentiles(AbstractSampledStat, AbstractCompoundStat): """A compound stat that reports one or more percentiles""" - __slots__ = ('_initial_value', '_samples', '_current', - '_percentiles', '_buckets', '_bin_scheme') - def __init__(self, size_in_bytes, bucketing, max_val, min_val=0.0, percentiles=None): super(Percentiles, self).__init__(0.0) @@ -30,7 +27,7 @@ class Percentiles(AbstractSampledStat, AbstractCompoundStat): ' to be 0.0.') self.bin_scheme = Histogram.LinearBinScheme(self._buckets, max_val) else: - raise ValueError('Unknown bucket type: %s' % (bucketing,)) + ValueError('Unknown bucket type: %s' % (bucketing,)) def stats(self): measurables = [] diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/rate.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/rate.py index 4d0ba0f..68393fb 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/rate.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/rate.py @@ -37,8 +37,6 @@ class Rate(AbstractMeasurableStat): occurrences (e.g. the count of values measured over the time interval) or other such values. """ - __slots__ = ('_stat', '_unit') - def __init__(self, time_unit=TimeUnit.SECONDS, sampled_stat=None): self._stat = sampled_stat or SampledTotal() self._unit = time_unit @@ -107,7 +105,6 @@ class Rate(AbstractMeasurableStat): class SampledTotal(AbstractSampledStat): - __slots__ = ('_initial_value', '_samples', '_current') def __init__(self, initial_value=None): if initial_value is not None: raise ValueError('initial_value cannot be set on SampledTotal') diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/sampled_stat.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/sampled_stat.py index fe8970d..c41b14b 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/sampled_stat.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/sampled_stat.py @@ -3,10 +3,8 @@ from __future__ import absolute_import import abc from kafka.metrics.measurable_stat import AbstractMeasurableStat -from kafka.vendor.six import add_metaclass -@add_metaclass(abc.ABCMeta) class AbstractSampledStat(AbstractMeasurableStat): """ An AbstractSampledStat records a single scalar value measured over @@ -22,7 +20,7 @@ class AbstractSampledStat(AbstractMeasurableStat): Subclasses of this class define different statistics measured using this basic pattern. """ - __slots__ = ('_initial_value', '_samples', '_current') + __metaclass__ = abc.ABCMeta def __init__(self, initial_value): self._initial_value = initial_value diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/sensor.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/sensor.py index 9f7ac45..571723f 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/sensor.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/sensor.py @@ -15,10 +15,6 @@ class Sensor(object): the `record(double)` api and would maintain a set of metrics about request sizes such as the average or max. """ - __slots__ = ('_lock', '_registry', '_name', '_parents', '_metrics', - '_stats', '_config', '_inactive_sensor_expiration_time_ms', - '_last_record_time') - def __init__(self, registry, name, parents, config, inactive_sensor_expiration_time_seconds): if not name: diff --git a/venv/lib/python3.12/site-packages/kafka/metrics/stats/total.py b/venv/lib/python3.12/site-packages/kafka/metrics/stats/total.py index a78e997..5b3bb87 100644 --- a/venv/lib/python3.12/site-packages/kafka/metrics/stats/total.py +++ b/venv/lib/python3.12/site-packages/kafka/metrics/stats/total.py @@ -5,8 +5,6 @@ from kafka.metrics.measurable_stat import AbstractMeasurableStat class Total(AbstractMeasurableStat): """An un-windowed cumulative total maintained over all time.""" - __slots__ = ('_total') - def __init__(self, value=0.0): self._total = value diff --git a/venv/lib/python3.12/site-packages/kafka/oauth/__init__.py b/venv/lib/python3.12/site-packages/kafka/oauth/__init__.py new file mode 100644 index 0000000..8c83495 --- /dev/null +++ b/venv/lib/python3.12/site-packages/kafka/oauth/__init__.py @@ -0,0 +1,3 @@ +from __future__ import absolute_import + +from kafka.oauth.abstract import AbstractTokenProvider diff --git a/venv/lib/python3.12/site-packages/kafka/oauth/abstract.py b/venv/lib/python3.12/site-packages/kafka/oauth/abstract.py new file mode 100644 index 0000000..8d89ff5 --- /dev/null +++ b/venv/lib/python3.12/site-packages/kafka/oauth/abstract.py @@ -0,0 +1,42 @@ +from __future__ import absolute_import + +import abc + +# This statement is compatible with both Python 2.7 & 3+ +ABC = abc.ABCMeta('ABC', (object,), {'__slots__': ()}) + +class AbstractTokenProvider(ABC): + """ + A Token Provider must be used for the SASL OAuthBearer protocol. + + The implementation should ensure token reuse so that multiple + calls at connect time do not create multiple tokens. The implementation + should also periodically refresh the token in order to guarantee + that each call returns an unexpired token. A timeout error should + be returned after a short period of inactivity so that the + broker can log debugging info and retry. + + Token Providers MUST implement the token() method + """ + + def __init__(self, **config): + pass + + @abc.abstractmethod + def token(self): + """ + Returns a (str) ID/Access Token to be sent to the Kafka + client. + """ + pass + + def extensions(self): + """ + This is an OPTIONAL method that may be implemented. + + Returns a map of key-value pairs that can + be sent with the SASL/OAUTHBEARER initial client request. If + not implemented, the values are ignored. This feature is only available + in Kafka >= 2.1.0. + """ + return {} diff --git a/venv/lib/python3.12/site-packages/kafka/producer/buffer.py b/venv/lib/python3.12/site-packages/kafka/producer/buffer.py new file mode 100644 index 0000000..1008017 --- /dev/null +++ b/venv/lib/python3.12/site-packages/kafka/producer/buffer.py @@ -0,0 +1,115 @@ +from __future__ import absolute_import, division + +import collections +import io +import threading +import time + +from kafka.metrics.stats import Rate + +import kafka.errors as Errors + + +class SimpleBufferPool(object): + """A simple pool of BytesIO objects with a weak memory ceiling.""" + def __init__(self, memory, poolable_size, metrics=None, metric_group_prefix='producer-metrics'): + """Create a new buffer pool. + + Arguments: + memory (int): maximum memory that this buffer pool can allocate + poolable_size (int): memory size per buffer to cache in the free + list rather than deallocating + """ + self._poolable_size = poolable_size + self._lock = threading.RLock() + + buffers = int(memory / poolable_size) if poolable_size else 0 + self._free = collections.deque([io.BytesIO() for _ in range(buffers)]) + + self._waiters = collections.deque() + self.wait_time = None + if metrics: + self.wait_time = metrics.sensor('bufferpool-wait-time') + self.wait_time.add(metrics.metric_name( + 'bufferpool-wait-ratio', metric_group_prefix, + 'The fraction of time an appender waits for space allocation.'), + Rate()) + + def allocate(self, size, max_time_to_block_ms): + """ + Allocate a buffer of the given size. This method blocks if there is not + enough memory and the buffer pool is configured with blocking mode. + + Arguments: + size (int): The buffer size to allocate in bytes [ignored] + max_time_to_block_ms (int): The maximum time in milliseconds to + block for buffer memory to be available + + Returns: + io.BytesIO + """ + with self._lock: + # check if we have a free buffer of the right size pooled + if self._free: + return self._free.popleft() + + elif self._poolable_size == 0: + return io.BytesIO() + + else: + # we are out of buffers and will have to block + buf = None + more_memory = threading.Condition(self._lock) + self._waiters.append(more_memory) + # loop over and over until we have a buffer or have reserved + # enough memory to allocate one + while buf is None: + start_wait = time.time() + more_memory.wait(max_time_to_block_ms / 1000.0) + end_wait = time.time() + if self.wait_time: + self.wait_time.record(end_wait - start_wait) + + if self._free: + buf = self._free.popleft() + else: + self._waiters.remove(more_memory) + raise Errors.KafkaTimeoutError( + "Failed to allocate memory within the configured" + " max blocking time") + + # remove the condition for this thread to let the next thread + # in line start getting memory + removed = self._waiters.popleft() + assert removed is more_memory, 'Wrong condition' + + # signal any additional waiters if there is more memory left + # over for them + if self._free and self._waiters: + self._waiters[0].notify() + + # unlock and return the buffer + return buf + + def deallocate(self, buf): + """ + Return buffers to the pool. If they are of the poolable size add them + to the free list, otherwise just mark the memory as free. + + Arguments: + buffer_ (io.BytesIO): The buffer to return + """ + with self._lock: + # BytesIO.truncate here makes the pool somewhat pointless + # but we stick with the BufferPool API until migrating to + # bytesarray / memoryview. The buffer we return must not + # expose any prior data on read(). + buf.truncate(0) + self._free.append(buf) + if self._waiters: + self._waiters[0].notify() + + def queued(self): + """The number of threads blocked waiting on memory.""" + with self._lock: + return len(self._waiters) diff --git a/venv/lib/python3.12/site-packages/kafka/producer/future.py b/venv/lib/python3.12/site-packages/kafka/producer/future.py index f67db09..07fa4ad 100644 --- a/venv/lib/python3.12/site-packages/kafka/producer/future.py +++ b/venv/lib/python3.12/site-packages/kafka/producer/future.py @@ -38,7 +38,7 @@ class FutureRecordMetadata(Future): produce_future.add_errback(self.failure) def _produce_success(self, offset_and_timestamp): - offset, produce_timestamp_ms = offset_and_timestamp + offset, produce_timestamp_ms, log_start_offset = offset_and_timestamp # Unpacking from args tuple is minor speed optimization (relative_offset, timestamp_ms, checksum, @@ -51,7 +51,7 @@ class FutureRecordMetadata(Future): if offset != -1 and relative_offset is not None: offset += relative_offset tp = self._produce_future.topic_partition - metadata = RecordMetadata(tp[0], tp[1], tp, offset, timestamp_ms, + metadata = RecordMetadata(tp[0], tp[1], tp, offset, timestamp_ms, log_start_offset, checksum, serialized_key_size, serialized_value_size, serialized_header_size) self.success(metadata) @@ -67,5 +67,5 @@ class FutureRecordMetadata(Future): RecordMetadata = collections.namedtuple( - 'RecordMetadata', ['topic', 'partition', 'topic_partition', 'offset', 'timestamp', + 'RecordMetadata', ['topic', 'partition', 'topic_partition', 'offset', 'timestamp', 'log_start_offset', 'checksum', 'serialized_key_size', 'serialized_value_size', 'serialized_header_size']) diff --git a/venv/lib/python3.12/site-packages/kafka/producer/kafka.py b/venv/lib/python3.12/site-packages/kafka/producer/kafka.py index 9401bd8..cde26b0 100644 --- a/venv/lib/python3.12/site-packages/kafka/producer/kafka.py +++ b/venv/lib/python3.12/site-packages/kafka/producer/kafka.py @@ -1,11 +1,11 @@ -from __future__ import absolute_import, division +from __future__ import absolute_import import atexit import copy import logging import socket import threading -import warnings +import time import weakref from kafka.vendor import six @@ -18,12 +18,10 @@ from kafka.partitioner.default import DefaultPartitioner from kafka.producer.future import FutureRecordMetadata, FutureProduceResult from kafka.producer.record_accumulator import AtomicInteger, RecordAccumulator from kafka.producer.sender import Sender -from kafka.producer.transaction_manager import TransactionManager from kafka.record.default_records import DefaultRecordBatchBuilder from kafka.record.legacy_records import LegacyRecordBatchBuilder from kafka.serializer import Serializer from kafka.structs import TopicPartition -from kafka.util import Timer, ensure_valid_topic_name log = logging.getLogger(__name__) @@ -36,8 +34,8 @@ class KafkaProducer(object): The producer is thread safe and sharing a single producer instance across threads will generally be faster than having multiple instances. - The producer consists of a RecordAccumulator which holds records that - haven't yet been transmitted to the server, and a Sender background I/O + The producer consists of a pool of buffer space that holds records that + haven't yet been transmitted to the server as well as a background I/O thread that is responsible for turning these records into requests and transmitting them to the cluster. @@ -73,50 +71,14 @@ class KafkaProducer(object): can lead to fewer, more efficient requests when not under maximal load at the cost of a small amount of latency. + The buffer_memory controls the total amount of memory available to the + producer for buffering. If records are sent faster than they can be + transmitted to the server then this buffer space will be exhausted. When + the buffer space is exhausted additional send calls will block. + The key_serializer and value_serializer instruct how to turn the key and value objects the user provides into bytes. - From Kafka 0.11, the KafkaProducer supports two additional modes: - the idempotent producer and the transactional producer. - The idempotent producer strengthens Kafka's delivery semantics from - at least once to exactly once delivery. In particular, producer retries - will no longer introduce duplicates. The transactional producer allows an - application to send messages to multiple partitions (and topics!) - atomically. - - To enable idempotence, the `enable_idempotence` configuration must be set - to True. If set, the `retries` config will default to `float('inf')` and - the `acks` config will default to 'all'. There are no API changes for the - idempotent producer, so existing applications will not need to be modified - to take advantage of this feature. - - To take advantage of the idempotent producer, it is imperative to avoid - application level re-sends since these cannot be de-duplicated. As such, if - an application enables idempotence, it is recommended to leave the - `retries` config unset, as it will be defaulted to `float('inf')`. - Additionally, if a :meth:`~kafka.KafkaProducer.send` returns an error even - with infinite retries (for instance if the message expires in the buffer - before being sent), then it is recommended to shut down the producer and - check the contents of the last produced message to ensure that it is not - duplicated. Finally, the producer can only guarantee idempotence for - messages sent within a single session. - - To use the transactional producer and the attendant APIs, you must set the - `transactional_id` configuration property. If the `transactional_id` is - set, idempotence is automatically enabled along with the producer configs - which idempotence depends on. Further, topics which are included in - transactions should be configured for durability. In particular, the - `replication.factor` should be at least `3`, and the `min.insync.replicas` - for these topics should be set to 2. Finally, in order for transactional - guarantees to be realized from end-to-end, the consumers must be - configured to read only committed messages as well. - - The purpose of the `transactional_id` is to enable transaction recovery - across multiple sessions of a single producer instance. It would typically - be derived from the shard identifier in a partitioned, stateful, - application. As such, it should be unique to each producer instance running - within a partitioned application. - Keyword Arguments: bootstrap_servers: 'host[:port]' string (or list of 'host[:port]' strings) that the producer should contact to bootstrap initial @@ -134,28 +96,6 @@ class KafkaProducer(object): value_serializer (callable): used to convert user-supplied message values to bytes. If not None, called as f(value), should return bytes. Default: None. - enable_idempotence (bool): When set to True, the producer will ensure - that exactly one copy of each message is written in the stream. - If False, producer retries due to broker failures, etc., may write - duplicates of the retried message in the stream. Default: False. - - Note that enabling idempotence requires - `max_in_flight_requests_per_connection` to be set to 1 and `retries` - cannot be zero. Additionally, `acks` must be set to 'all'. If these - values are left at their defaults, the producer will override the - defaults to be suitable. If the values are set to something - incompatible with the idempotent producer, a KafkaConfigurationError - will be raised. - delivery_timeout_ms (float): An upper bound on the time to report success - or failure after producer.send() returns. This limits the total time - that a record will be delayed prior to sending, the time to await - acknowledgement from the broker (if expected), and the time allowed - for retriable send failures. The producer may report failure to send - a record earlier than this config if either an unrecoverable error is - encountered, the retries have been exhausted, or the record is added - to a batch which reached an earlier delivery expiration deadline. - The value of this config should be greater than or equal to the - sum of (request_timeout_ms + linger_ms). Default: 120000. acks (0, 1, 'all'): The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. The @@ -183,7 +123,7 @@ class KafkaProducer(object): Compression is of full batches of data, so the efficacy of batching will also impact the compression ratio (more batching means better compression). Default: None. - retries (numeric): Setting a value greater than zero will cause the client + retries (int): Setting a value greater than zero will cause the client to resend any record whose send fails with a potentially transient error. Note that this retry is no different than if the client resent the record upon receiving the error. Allowing retries @@ -191,12 +131,8 @@ class KafkaProducer(object): potentially change the ordering of records because if two batches are sent to a single partition, and the first fails and is retried but the second succeeds, then the records in the second batch may - appear first. Note additionally that produce requests will be - failed before the number of retries has been exhausted if the timeout - configured by delivery_timeout_ms expires first before successful - acknowledgement. Users should generally prefer to leave this config - unset and instead use delivery_timeout_ms to control retry behavior. - Default: float('inf') (infinite) + appear first. + Default: 0. batch_size (int): Requests sent to brokers will contain multiple batches, one for each partition with data available to be sent. A small batch size will make batching less common and may reduce @@ -229,6 +165,12 @@ class KafkaProducer(object): messages with the same key are assigned to the same partition. When a key is None, the message is delivered to a random partition (filtered to partitions with available leaders only, if possible). + buffer_memory (int): The total bytes of memory the producer should use + to buffer records waiting to be sent to the server. If records are + sent faster than they can be delivered to the server the producer + will block up to max_block_ms, raising an exception on timeout. + In the current implementation, this setting is an approximation. + Default: 33554432 (32MB) connections_max_idle_ms: Close idle connections after the number of milliseconds specified by this config. The broker closes idle connections after connections.max.idle.ms, so this avoids hitting @@ -246,9 +188,6 @@ class KafkaProducer(object): This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests. Default: 1048576. - allow_auto_create_topics (bool): Enable/disable auto topic creation - on metadata request. Only available with api_version >= (0, 11). - Default: True metadata_max_age_ms (int): The period of time in milliseconds after which we force a refresh of metadata even if we haven't seen any partition leadership changes to proactively discover any new @@ -277,7 +216,7 @@ class KafkaProducer(object): reconnection attempts will continue periodically with this fixed rate. To avoid connection storms, a randomization factor of 0.2 will be applied to the backoff resulting in a random range between - 20% below and 20% above the computed value. Default: 30000. + 20% below and 20% above the computed value. Default: 1000. max_in_flight_requests_per_connection (int): Requests are pipelined to kafka brokers up to this number of maximum requests per broker connection. Note that if this setting is set to be greater @@ -294,7 +233,7 @@ class KafkaProducer(object): should verify that the certificate matches the brokers hostname. default: true. ssl_cafile (str): optional filename of ca file to use in certificate - verification. default: none. + veriication. default: none. ssl_certfile (str): optional filename of file in pem format containing the client certificate, as well as any ca certificates needed to establish the certificate's authenticity. default: none. @@ -313,28 +252,14 @@ class KafkaProducer(object): or other configuration forbids use of all the specified ciphers), an ssl.SSLError will be raised. See ssl.SSLContext.set_ciphers api_version (tuple): Specify which Kafka API version to use. If set to - None, the client will attempt to determine the broker version via - ApiVersionsRequest API or, for brokers earlier than 0.10, probing - various known APIs. Dynamic version checking is performed eagerly - during __init__ and can raise NoBrokersAvailableError if no connection - was made before timeout (see api_version_auto_timeout_ms below). - Different versions enable different functionality. - - Examples: - (3, 9) most recent broker release, enable all supported features - (0, 11) enables message format v2 (internal) - (0, 10, 0) enables sasl authentication and message format v1 - (0, 8, 0) enables basic functionality only - - Default: None + None, the client will attempt to infer the broker version by probing + various APIs. Example: (0, 10, 2). Default: None api_version_auto_timeout_ms (int): number of milliseconds to throw a timeout exception from the constructor when checking the broker api version. Only applies if api_version set to None. - Default: 2000 metric_reporters (list): A list of classes to use as metrics reporters. Implementing the AbstractMetricsReporter interface allows plugging in classes that will be notified of new metric creation. Default: [] - metrics_enabled (bool): Whether to track metrics on this instance. Default True. metrics_num_samples (int): The number of samples maintained to compute metrics. Default: 2 metrics_sample_window_ms (int): The maximum age in milliseconds of @@ -349,42 +274,33 @@ class KafkaProducer(object): Required if sasl_mechanism is PLAIN or one of the SCRAM mechanisms. sasl_plain_password (str): password for sasl PLAIN and SCRAM authentication. Required if sasl_mechanism is PLAIN or one of the SCRAM mechanisms. - sasl_kerberos_name (str or gssapi.Name): Constructed gssapi.Name for use with - sasl mechanism handshake. If provided, sasl_kerberos_service_name and - sasl_kerberos_domain name are ignored. Default: None. sasl_kerberos_service_name (str): Service name to include in GSSAPI sasl mechanism handshake. Default: 'kafka' sasl_kerberos_domain_name (str): kerberos domain name to use in GSSAPI sasl mechanism handshake. Default: one of bootstrap servers - sasl_oauth_token_provider (kafka.sasl.oauth.AbstractTokenProvider): OAuthBearer - token provider instance. Default: None - socks5_proxy (str): Socks5 proxy URL. Default: None - kafka_client (callable): Custom class / callable for creating KafkaClient instances + sasl_oauth_token_provider (AbstractTokenProvider): OAuthBearer token provider + instance. (See kafka.oauth.abstract). Default: None Note: Configuration parameters are described in more detail at - https://kafka.apache.org/0100/documentation/#producerconfigs + https://kafka.apache.org/0100/configuration.html#producerconfigs """ DEFAULT_CONFIG = { 'bootstrap_servers': 'localhost', 'client_id': None, 'key_serializer': None, 'value_serializer': None, - 'enable_idempotence': False, - 'transactional_id': None, - 'transaction_timeout_ms': 60000, - 'delivery_timeout_ms': 120000, 'acks': 1, 'bootstrap_topics_filter': set(), 'compression_type': None, - 'retries': float('inf'), + 'retries': 0, 'batch_size': 16384, 'linger_ms': 0, 'partitioner': DefaultPartitioner(), + 'buffer_memory': 33554432, 'connections_max_idle_ms': 9 * 60 * 1000, 'max_block_ms': 60000, 'max_request_size': 1048576, - 'allow_auto_create_topics': True, 'metadata_max_age_ms': 300000, 'retry_backoff_ms': 100, 'request_timeout_ms': 30000, @@ -394,7 +310,7 @@ class KafkaProducer(object): 'sock_chunk_bytes': 4096, # undocumented experimental option 'sock_chunk_buffer_count': 1000, # undocumented experimental option 'reconnect_backoff_ms': 50, - 'reconnect_backoff_max_ms': 30000, + 'reconnect_backoff_max_ms': 1000, 'max_in_flight_requests_per_connection': 5, 'security_protocol': 'PLAINTEXT', 'ssl_context': None, @@ -408,23 +324,17 @@ class KafkaProducer(object): 'api_version': None, 'api_version_auto_timeout_ms': 2000, 'metric_reporters': [], - 'metrics_enabled': True, 'metrics_num_samples': 2, 'metrics_sample_window_ms': 30000, 'selector': selectors.DefaultSelector, 'sasl_mechanism': None, 'sasl_plain_username': None, 'sasl_plain_password': None, - 'sasl_kerberos_name': None, 'sasl_kerberos_service_name': 'kafka', 'sasl_kerberos_domain_name': None, - 'sasl_oauth_token_provider': None, - 'socks5_proxy': None, - 'kafka_client': KafkaClient, + 'sasl_oauth_token_provider': None } - DEPRECATED_CONFIGS = ('buffer_memory',) - _COMPRESSORS = { 'gzip': (has_gzip, LegacyRecordBatchBuilder.CODEC_GZIP), 'snappy': (has_snappy, LegacyRecordBatchBuilder.CODEC_SNAPPY), @@ -434,17 +344,12 @@ class KafkaProducer(object): } def __init__(self, **configs): + log.debug("Starting the Kafka producer") # trace self.config = copy.copy(self.DEFAULT_CONFIG) - user_provided_configs = set(configs.keys()) for key in self.config: if key in configs: self.config[key] = configs.pop(key) - for key in self.DEPRECATED_CONFIGS: - if key in configs: - configs.pop(key) - warnings.warn('Deprecated Producer config: %s' % (key,), DeprecationWarning) - # Only check for extra config keys in top-level class assert not configs, 'Unrecognized configs: %s' % (configs,) @@ -462,35 +367,30 @@ class KafkaProducer(object): self.config['api_version'] = None else: self.config['api_version'] = tuple(map(int, deprecated.split('.'))) - log.warning('%s: use api_version=%s [tuple] -- "%s" as str is deprecated', - str(self), str(self.config['api_version']), deprecated) - - log.debug("%s: Starting Kafka producer", str(self)) + log.warning('use api_version=%s [tuple] -- "%s" as str is deprecated', + str(self.config['api_version']), deprecated) # Configure metrics - if self.config['metrics_enabled']: - metrics_tags = {'client-id': self.config['client_id']} - metric_config = MetricConfig(samples=self.config['metrics_num_samples'], - time_window_ms=self.config['metrics_sample_window_ms'], - tags=metrics_tags) - reporters = [reporter() for reporter in self.config['metric_reporters']] - self._metrics = Metrics(metric_config, reporters) - else: - self._metrics = None + metrics_tags = {'client-id': self.config['client_id']} + metric_config = MetricConfig(samples=self.config['metrics_num_samples'], + time_window_ms=self.config['metrics_sample_window_ms'], + tags=metrics_tags) + reporters = [reporter() for reporter in self.config['metric_reporters']] + self._metrics = Metrics(metric_config, reporters) - client = self.config['kafka_client']( - metrics=self._metrics, metric_group_prefix='producer', - wakeup_timeout_ms=self.config['max_block_ms'], - **self.config) + client = KafkaClient(metrics=self._metrics, metric_group_prefix='producer', + wakeup_timeout_ms=self.config['max_block_ms'], + **self.config) - # Get auto-discovered / normalized version from client - self.config['api_version'] = client.config['api_version'] + # Get auto-discovered version from client if necessary + if self.config['api_version'] is None: + self.config['api_version'] = client.config['api_version'] if self.config['compression_type'] == 'lz4': assert self.config['api_version'] >= (0, 8, 2), 'LZ4 Requires >= Kafka 0.8.2 Brokers' if self.config['compression_type'] == 'zstd': - assert self.config['api_version'] >= (2, 1), 'Zstd Requires >= Kafka 2.1 Brokers' + assert self.config['api_version'] >= (2, 1, 0), 'Zstd Requires >= Kafka 2.1.0 Brokers' # Check compression_type for library support ct = self.config['compression_type'] @@ -501,58 +401,12 @@ class KafkaProducer(object): assert checker(), "Libraries for {} compression codec not found".format(ct) self.config['compression_attrs'] = compression_attrs + message_version = self._max_usable_produce_magic() + self._accumulator = RecordAccumulator(message_version=message_version, metrics=self._metrics, **self.config) self._metadata = client.cluster - self._transaction_manager = None - self._init_transactions_result = None - if 'enable_idempotence' in user_provided_configs and not self.config['enable_idempotence'] and self.config['transactional_id']: - raise Errors.KafkaConfigurationError("Cannot set transactional_id without enable_idempotence.") - - if self.config['transactional_id']: - self.config['enable_idempotence'] = True - - if self.config['enable_idempotence']: - assert self.config['api_version'] >= (0, 11), "Transactional/Idempotent producer requires >= Kafka 0.11 Brokers" - - self._transaction_manager = TransactionManager( - transactional_id=self.config['transactional_id'], - transaction_timeout_ms=self.config['transaction_timeout_ms'], - retry_backoff_ms=self.config['retry_backoff_ms'], - api_version=self.config['api_version'], - metadata=self._metadata, - ) - if self._transaction_manager.is_transactional(): - log.info("%s: Instantiated a transactional producer.", str(self)) - else: - log.info("%s: Instantiated an idempotent producer.", str(self)) - - if self.config['retries'] == 0: - raise Errors.KafkaConfigurationError("Must set 'retries' to non-zero when using the idempotent producer.") - - if 'max_in_flight_requests_per_connection' not in user_provided_configs: - log.info("%s: Overriding the default 'max_in_flight_requests_per_connection' to 1 since idempontence is enabled.", str(self)) - self.config['max_in_flight_requests_per_connection'] = 1 - elif self.config['max_in_flight_requests_per_connection'] != 1: - raise Errors.KafkaConfigurationError("Must set 'max_in_flight_requests_per_connection' to 1 in order" - " to use the idempotent producer." - " Otherwise we cannot guarantee idempotence.") - - if 'acks' not in user_provided_configs: - log.info("%s: Overriding the default 'acks' config to 'all' since idempotence is enabled", str(self)) - self.config['acks'] = -1 - elif self.config['acks'] != -1: - raise Errors.KafkaConfigurationError("Must set 'acks' config to 'all' in order to use the idempotent" - " producer. Otherwise we cannot guarantee idempotence") - - message_version = self.max_usable_produce_magic(self.config['api_version']) - self._accumulator = RecordAccumulator( - transaction_manager=self._transaction_manager, - message_version=message_version, - **self.config) guarantee_message_order = bool(self.config['max_in_flight_requests_per_connection'] == 1) self._sender = Sender(client, self._metadata, - self._accumulator, - metrics=self._metrics, - transaction_manager=self._transaction_manager, + self._accumulator, self._metrics, guarantee_message_order=guarantee_message_order, **self.config) self._sender.daemon = True @@ -561,7 +415,7 @@ class KafkaProducer(object): self._cleanup = self._cleanup_factory() atexit.register(self._cleanup) - log.debug("%s: Kafka producer started", str(self)) + log.debug("Kafka producer started") def bootstrap_connected(self): """Return True if the bootstrap is connected.""" @@ -572,7 +426,7 @@ class KafkaProducer(object): _self = weakref.proxy(self) def wrapper(): try: - _self.close(timeout=0, null_logger=True) + _self.close(timeout=0) except (ReferenceError, AttributeError): pass return wrapper @@ -595,28 +449,28 @@ class KafkaProducer(object): self._cleanup = None def __del__(self): - self.close(timeout=1, null_logger=True) + # Disable logger during destruction to avoid touching dangling references + class NullLogger(object): + def __getattr__(self, name): + return lambda *args: None - def close(self, timeout=None, null_logger=False): + global log + log = NullLogger() + + self.close() + + def close(self, timeout=None): """Close this producer. Arguments: timeout (float, optional): timeout in seconds to wait for completion. """ - if null_logger: - # Disable logger during destruction to avoid touching dangling references - class NullLogger(object): - def __getattr__(self, name): - return lambda *args: None - - global log - log = NullLogger() # drop our atexit handler now to avoid leaks self._unregister_cleanup() if not hasattr(self, '_closed') or self._closed: - log.info('%s: Kafka producer closed', str(self)) + log.info('Kafka producer closed') return if timeout is None: # threading.TIMEOUT_MAX is available in Python3.3+ @@ -626,16 +480,15 @@ class KafkaProducer(object): else: assert timeout >= 0 - log.info("%s: Closing the Kafka producer with %s secs timeout.", str(self), timeout) - self.flush(timeout) + log.info("Closing the Kafka producer with %s secs timeout.", timeout) invoked_from_callback = bool(threading.current_thread() is self._sender) if timeout > 0: if invoked_from_callback: - log.warning("%s: Overriding close timeout %s secs to 0 in order to" + log.warning("Overriding close timeout %s secs to 0 in order to" " prevent useless blocking due to self-join. This" " means you have incorrectly invoked close with a" " non-zero timeout from the producer call-back.", - str(self), timeout) + timeout) else: # Try to close gracefully. if self._sender is not None: @@ -643,13 +496,12 @@ class KafkaProducer(object): self._sender.join(timeout) if self._sender is not None and self._sender.is_alive(): - log.info("%s: Proceeding to force close the producer since pending" + log.info("Proceeding to force close the producer since pending" " requests could not be completed within timeout %s.", - str(self), timeout) + timeout) self._sender.force_close() - if self._metrics: - self._metrics.close() + self._metrics.close() try: self.config['key_serializer'].close() except AttributeError: @@ -659,23 +511,23 @@ class KafkaProducer(object): except AttributeError: pass self._closed = True - log.debug("%s: The Kafka producer has closed.", str(self)) + log.debug("The Kafka producer has closed.") def partitions_for(self, topic): """Returns set of all known partitions for the topic.""" - return self._wait_on_metadata(topic, self.config['max_block_ms']) + max_wait = self.config['max_block_ms'] / 1000.0 + return self._wait_on_metadata(topic, max_wait) - @classmethod - def max_usable_produce_magic(cls, api_version): - if api_version >= (0, 11): + def _max_usable_produce_magic(self): + if self.config['api_version'] >= (0, 11): return 2 - elif api_version >= (0, 10, 0): + elif self.config['api_version'] >= (0, 10): return 1 else: return 0 def _estimate_size_in_bytes(self, key, value, headers=[]): - magic = self.max_usable_produce_magic(self.config['api_version']) + magic = self._max_usable_produce_magic() if magic == 2: return DefaultRecordBatchBuilder.estimate_size_in_bytes( key, value, headers) @@ -683,114 +535,6 @@ class KafkaProducer(object): return LegacyRecordBatchBuilder.estimate_size_in_bytes( magic, self.config['compression_type'], key, value) - def init_transactions(self): - """ - Needs to be called before any other methods when the transactional.id is set in the configuration. - - This method does the following: - 1. Ensures any transactions initiated by previous instances of the producer with the same - transactional_id are completed. If the previous instance had failed with a transaction in - progress, it will be aborted. If the last transaction had begun completion, - but not yet finished, this method awaits its completion. - 2. Gets the internal producer id and epoch, used in all future transactional - messages issued by the producer. - - Note that this method will raise KafkaTimeoutError if the transactional state cannot - be initialized before expiration of `max_block_ms`. - - Retrying after a KafkaTimeoutError will continue to wait for the prior request to succeed or fail. - Retrying after any other exception will start a new initialization attempt. - Retrying after a successful initialization will do nothing. - - Raises: - IllegalStateError: if no transactional_id has been configured - AuthorizationError: fatal error indicating that the configured - transactional_id is not authorized. - KafkaError: if the producer has encountered a previous fatal error or for any other unexpected error - KafkaTimeoutError: if the time taken for initialize the transaction has surpassed `max.block.ms`. - """ - if not self._transaction_manager: - raise Errors.IllegalStateError("Cannot call init_transactions without setting a transactional_id.") - if self._init_transactions_result is None: - self._init_transactions_result = self._transaction_manager.initialize_transactions() - self._sender.wakeup() - - try: - if not self._init_transactions_result.wait(timeout_ms=self.config['max_block_ms']): - raise Errors.KafkaTimeoutError("Timeout expired while initializing transactional state in %s ms." % (self.config['max_block_ms'],)) - finally: - if self._init_transactions_result.failed: - self._init_transactions_result = None - - def begin_transaction(self): - """ Should be called before the start of each new transaction. - - Note that prior to the first invocation of this method, - you must invoke `init_transactions()` exactly one time. - - Raises: - ProducerFencedError if another producer is with the same - transactional_id is active. - """ - # Set the transactional bit in the producer. - if not self._transaction_manager: - raise Errors.IllegalStateError("Cannot use transactional methods without enabling transactions") - self._transaction_manager.begin_transaction() - - def send_offsets_to_transaction(self, offsets, consumer_group_id): - """ - Sends a list of consumed offsets to the consumer group coordinator, and also marks - those offsets as part of the current transaction. These offsets will be considered - consumed only if the transaction is committed successfully. - - This method should be used when you need to batch consumed and produced messages - together, typically in a consume-transform-produce pattern. - - Arguments: - offsets ({TopicPartition: OffsetAndMetadata}): map of topic-partition -> offsets to commit - as part of current transaction. - consumer_group_id (str): Name of consumer group for offsets commit. - - Raises: - IllegalStateError: if no transactional_id, or transaction has not been started. - ProducerFencedError: fatal error indicating another producer with the same transactional_id is active. - UnsupportedVersionError: fatal error indicating the broker does not support transactions (i.e. if < 0.11). - UnsupportedForMessageFormatError: fatal error indicating the message format used for the offsets - topic on the broker does not support transactions. - AuthorizationError: fatal error indicating that the configured transactional_id is not authorized. - KafkaErro:r if the producer has encountered a previous fatal or abortable error, or for any - other unexpected error - """ - if not self._transaction_manager: - raise Errors.IllegalStateError("Cannot use transactional methods without enabling transactions") - result = self._transaction_manager.send_offsets_to_transaction(offsets, consumer_group_id) - self._sender.wakeup() - result.wait() - - def commit_transaction(self): - """ Commits the ongoing transaction. - - Raises: ProducerFencedError if another producer with the same - transactional_id is active. - """ - if not self._transaction_manager: - raise Errors.IllegalStateError("Cannot commit transaction since transactions are not enabled") - result = self._transaction_manager.begin_commit() - self._sender.wakeup() - result.wait() - - def abort_transaction(self): - """ Aborts the ongoing transaction. - - Raises: ProducerFencedError if another producer with the same - transactional_id is active. - """ - if not self._transaction_manager: - raise Errors.IllegalStateError("Cannot abort transaction since transactions are not enabled.") - result = self._transaction_manager.begin_abort() - self._sender.wakeup() - result.wait() - def send(self, topic, value=None, key=None, headers=None, partition=None, timestamp_ms=None): """Publish a message to a topic. @@ -823,58 +567,44 @@ class KafkaProducer(object): Raises: KafkaTimeoutError: if unable to fetch topic metadata, or unable to obtain memory buffer prior to configured max_block_ms - TypeError: if topic is not a string - ValueError: if topic is invalid: must be chars (a-zA-Z0-9._-), and less than 250 length - AssertionError: if KafkaProducer is closed, or key and value are both None """ - assert not self._closed, 'KafkaProducer already closed!' assert value is not None or self.config['api_version'] >= (0, 8, 1), ( 'Null messages require kafka >= 0.8.1') assert not (value is None and key is None), 'Need at least one: key or value' - ensure_valid_topic_name(topic) key_bytes = value_bytes = None - timer = Timer(self.config['max_block_ms'], "Failed to assign partition for message in max_block_ms.") try: - assigned_partition = None - while assigned_partition is None and not timer.expired: - self._wait_on_metadata(topic, timer.timeout_ms) + self._wait_on_metadata(topic, self.config['max_block_ms'] / 1000.0) - key_bytes = self._serialize( - self.config['key_serializer'], - topic, key) - value_bytes = self._serialize( - self.config['value_serializer'], - topic, value) - assert type(key_bytes) in (bytes, bytearray, memoryview, type(None)) - assert type(value_bytes) in (bytes, bytearray, memoryview, type(None)) + key_bytes = self._serialize( + self.config['key_serializer'], + topic, key) + value_bytes = self._serialize( + self.config['value_serializer'], + topic, value) + assert type(key_bytes) in (bytes, bytearray, memoryview, type(None)) + assert type(value_bytes) in (bytes, bytearray, memoryview, type(None)) - assigned_partition = self._partition(topic, partition, key, value, - key_bytes, value_bytes) - if assigned_partition is None: - raise Errors.KafkaTimeoutError("Failed to assign partition for message after %s secs." % timer.elapsed_ms / 1000) - else: - partition = assigned_partition + partition = self._partition(topic, partition, key, value, + key_bytes, value_bytes) if headers is None: headers = [] - assert isinstance(headers, list) - assert all(isinstance(item, tuple) and len(item) == 2 and isinstance(item[0], str) and isinstance(item[1], bytes) for item in headers) + assert type(headers) == list + assert all(type(item) == tuple and len(item) == 2 and type(item[0]) == str and type(item[1]) == bytes for item in headers) message_size = self._estimate_size_in_bytes(key_bytes, value_bytes, headers) self._ensure_valid_record_size(message_size) tp = TopicPartition(topic, partition) - log.debug("%s: Sending (key=%r value=%r headers=%r) to %s", str(self), key, value, headers, tp) - - if self._transaction_manager and self._transaction_manager.is_transactional(): - self._transaction_manager.maybe_add_partition_to_transaction(tp) - + log.debug("Sending (key=%r value=%r headers=%r) to %s", key, value, headers, tp) result = self._accumulator.append(tp, timestamp_ms, - key_bytes, value_bytes, headers) + key_bytes, value_bytes, headers, + self.config['max_block_ms'], + estimated_size=message_size) future, batch_is_full, new_batch_created = result if batch_is_full or new_batch_created: - log.debug("%s: Waking up the sender since %s is either full or" - " getting a new batch", str(self), tp) + log.debug("Waking up the sender since %s is either full or" + " getting a new batch", tp) self._sender.wakeup() return future @@ -882,7 +612,7 @@ class KafkaProducer(object): # for API exceptions return them in the future, # for other exceptions raise directly except Errors.BrokerResponseError as e: - log.error("%s: Exception occurred during message send: %s", str(self), e) + log.debug("Exception occurred during message send: %s", e) return FutureRecordMetadata( FutureProduceResult(TopicPartition(topic, partition)), -1, None, None, @@ -913,7 +643,7 @@ class KafkaProducer(object): KafkaTimeoutError: failure to flush buffered records within the provided timeout """ - log.debug("%s: Flushing accumulated records in producer.", str(self)) + log.debug("Flushing accumulated records in producer.") # trace self._accumulator.begin_flush() self._sender.wakeup() self._accumulator.await_flush_completion(timeout=timeout) @@ -925,8 +655,13 @@ class KafkaProducer(object): "The message is %d bytes when serialized which is larger than" " the maximum request size you have configured with the" " max_request_size configuration" % (size,)) + if size > self.config['buffer_memory']: + raise Errors.MessageSizeTooLargeError( + "The message is %d bytes when serialized which is larger than" + " the total memory buffer you have configured with the" + " buffer_memory configuration." % (size,)) - def _wait_on_metadata(self, topic, max_wait_ms): + def _wait_on_metadata(self, topic, max_wait): """ Wait for cluster metadata including partitions for the given topic to be available. @@ -944,31 +679,32 @@ class KafkaProducer(object): """ # add topic to metadata topic list if it is not there already. self._sender.add_topic(topic) - timer = Timer(max_wait_ms, "Failed to update metadata after %.1f secs." % (max_wait_ms / 1000,)) + begin = time.time() + elapsed = 0.0 metadata_event = None while True: partitions = self._metadata.partitions_for_topic(topic) if partitions is not None: return partitions - timer.maybe_raise() + if not metadata_event: metadata_event = threading.Event() - log.debug("%s: Requesting metadata update for topic %s", str(self), topic) + log.debug("Requesting metadata update for topic %s", topic) + metadata_event.clear() future = self._metadata.request_update() future.add_both(lambda e, *args: e.set(), metadata_event) self._sender.wakeup() - metadata_event.wait(timer.timeout_ms / 1000) - if not future.is_done: + metadata_event.wait(max_wait - elapsed) + elapsed = time.time() - begin + if not metadata_event.is_set(): raise Errors.KafkaTimeoutError( - "Failed to update metadata after %.1f secs." % (max_wait_ms / 1000,)) - elif future.failed() and not future.retriable(): - raise future.exception + "Failed to update metadata after %.1f secs." % (max_wait,)) elif topic in self._metadata.unauthorized_topics: - raise Errors.TopicAuthorizationFailedError(set([topic])) + raise Errors.TopicAuthorizationFailedError(topic) else: - log.debug("%s: _wait_on_metadata woke after %s secs.", str(self), timer.elapsed_ms / 1000) + log.debug("_wait_on_metadata woke after %s secs.", elapsed) def _serialize(self, f, topic, data): if not f: @@ -979,18 +715,16 @@ class KafkaProducer(object): def _partition(self, topic, partition, key, value, serialized_key, serialized_value): - all_partitions = self._metadata.partitions_for_topic(topic) - available = self._metadata.available_partitions_for_topic(topic) - if all_partitions is None or available is None: - return None if partition is not None: assert partition >= 0 - assert partition in all_partitions, 'Unrecognized partition' + assert partition in self._metadata.partitions_for_topic(topic), 'Unrecognized partition' return partition + all_partitions = sorted(self._metadata.partitions_for_topic(topic)) + available = list(self._metadata.available_partitions_for_topic(topic)) return self.config['partitioner'](serialized_key, - sorted(all_partitions), - list(available)) + all_partitions, + available) def metrics(self, raw=False): """Get metrics on producer performance. @@ -1002,8 +736,6 @@ class KafkaProducer(object): This is an unstable interface. It may change in future releases without warning. """ - if not self._metrics: - return if raw: return self._metrics.metrics.copy() @@ -1015,6 +747,3 @@ class KafkaProducer(object): metrics[k.group][k.name] = {} metrics[k.group][k.name] = v.value() return metrics - - def __str__(self): - return "" % (self.config['client_id'], self.config['transactional_id']) diff --git a/venv/lib/python3.12/site-packages/kafka/producer/record_accumulator.py b/venv/lib/python3.12/site-packages/kafka/producer/record_accumulator.py index 3a4e601..a2aa0e8 100644 --- a/venv/lib/python3.12/site-packages/kafka/producer/record_accumulator.py +++ b/venv/lib/python3.12/site-packages/kafka/producer/record_accumulator.py @@ -1,4 +1,4 @@ -from __future__ import absolute_import, division +from __future__ import absolute_import import collections import copy @@ -6,14 +6,8 @@ import logging import threading import time -try: - # enum in stdlib as of py3.4 - from enum import IntEnum # pylint: disable=import-error -except ImportError: - # vendored backport module - from kafka.vendor.enum34 import IntEnum - import kafka.errors as Errors +from kafka.producer.buffer import SimpleBufferPool from kafka.producer.future import FutureRecordMetadata, FutureProduceResult from kafka.record.memory_records import MemoryRecordsBuilder from kafka.structs import TopicPartition @@ -41,16 +35,10 @@ class AtomicInteger(object): return self._val -class FinalState(IntEnum): - ABORTED = 0 - FAILED = 1 - SUCCEEDED = 2 - - class ProducerBatch(object): - def __init__(self, tp, records, now=None): - now = time.time() if now is None else now + def __init__(self, tp, records, buffer): self.max_record_size = 0 + now = time.time() self.created = now self.drained = None self.attempts = 0 @@ -60,120 +48,81 @@ class ProducerBatch(object): self.topic_partition = tp self.produce_future = FutureProduceResult(tp) self._retry = False - self._final_state = None - - @property - def final_state(self): - return self._final_state + self._buffer = buffer # We only save it, we don't write to it @property def record_count(self): return self.records.next_offset() - @property - def producer_id(self): - return self.records.producer_id if self.records else None - - @property - def producer_epoch(self): - return self.records.producer_epoch if self.records else None - - @property - def has_sequence(self): - return self.records.has_sequence if self.records else False - - def try_append(self, timestamp_ms, key, value, headers, now=None): + def try_append(self, timestamp_ms, key, value, headers): metadata = self.records.append(timestamp_ms, key, value, headers) if metadata is None: return None - now = time.time() if now is None else now self.max_record_size = max(self.max_record_size, metadata.size) - self.last_append = now - future = FutureRecordMetadata( - self.produce_future, - metadata.offset, - metadata.timestamp, - metadata.crc, - len(key) if key is not None else -1, - len(value) if value is not None else -1, - sum(len(h_key.encode("utf-8")) + len(h_val) for h_key, h_val in headers) if headers else -1) + self.last_append = time.time() + future = FutureRecordMetadata(self.produce_future, metadata.offset, + metadata.timestamp, metadata.crc, + len(key) if key is not None else -1, + len(value) if value is not None else -1, + sum(len(h_key.encode("utf-8")) + len(h_val) for h_key, h_val in headers) if headers else -1) return future - def abort(self, exception): - """Abort the batch and complete the future and callbacks.""" - if self._final_state is not None: - raise Errors.IllegalStateError("Batch has already been completed in final state: %s" % self._final_state) - self._final_state = FinalState.ABORTED - - log.debug("Aborting batch for partition %s: %s", self.topic_partition, exception) - self._complete_future(-1, -1, exception) - - def done(self, base_offset=None, timestamp_ms=None, exception=None): - """ - Finalize the state of a batch. Final state, once set, is immutable. This function may be called - once or twice on a batch. It may be called twice if - 1. An inflight batch expires before a response from the broker is received. The batch's final - state is set to FAILED. But it could succeed on the broker and second time around batch.done() may - try to set SUCCEEDED final state. - - 2. If a transaction abortion happens or if the producer is closed forcefully, the final state is - ABORTED but again it could succeed if broker responds with a success. - - Attempted transitions from [FAILED | ABORTED] --> SUCCEEDED are logged. - Attempted transitions from one failure state to the same or a different failed state are ignored. - Attempted transitions from SUCCEEDED to the same or a failed state throw an exception. - """ - final_state = FinalState.SUCCEEDED if exception is None else FinalState.FAILED - if self._final_state is None: - self._final_state = final_state - if final_state is FinalState.SUCCEEDED: - log.debug("Successfully produced messages to %s with base offset %s", self.topic_partition, base_offset) - else: - log.warning("Failed to produce messages to topic-partition %s with base offset %s: %s", - self.topic_partition, base_offset, exception) - self._complete_future(base_offset, timestamp_ms, exception) - return True - - elif self._final_state is not FinalState.SUCCEEDED: - if final_state is FinalState.SUCCEEDED: - # Log if a previously unsuccessful batch succeeded later on. - log.debug("ProduceResponse returned %s for %s after batch with base offset %s had already been %s.", - final_state, self.topic_partition, base_offset, self._final_state) - else: - # FAILED --> FAILED and ABORTED --> FAILED transitions are ignored. - log.debug("Ignored state transition %s -> %s for %s batch with base offset %s", - self._final_state, final_state, self.topic_partition, base_offset) - else: - # A SUCCESSFUL batch must not attempt another state change. - raise Errors.IllegalStateError("A %s batch must not attempt another state change to %s" % (self._final_state, final_state)) - return False - - def _complete_future(self, base_offset, timestamp_ms, exception): + def done(self, base_offset=None, timestamp_ms=None, exception=None, log_start_offset=None, global_error=None): + level = logging.DEBUG if exception is None else logging.WARNING + log.log(level, "Produced messages to topic-partition %s with base offset" + " %s log start offset %s and error %s.", self.topic_partition, base_offset, + log_start_offset, global_error) # trace if self.produce_future.is_done: - raise Errors.IllegalStateError('Batch is already closed!') + log.warning('Batch is already closed -- ignoring batch.done()') + return elif exception is None: - self.produce_future.success((base_offset, timestamp_ms)) + self.produce_future.success((base_offset, timestamp_ms, log_start_offset)) else: self.produce_future.failure(exception) - def has_reached_delivery_timeout(self, delivery_timeout_ms, now=None): - now = time.time() if now is None else now - return delivery_timeout_ms / 1000 <= now - self.created + def maybe_expire(self, request_timeout_ms, retry_backoff_ms, linger_ms, is_full): + """Expire batches if metadata is not available + + A batch whose metadata is not available should be expired if one + of the following is true: + + * the batch is not in retry AND request timeout has elapsed after + it is ready (full or linger.ms has reached). + + * the batch is in retry AND request timeout has elapsed after the + backoff period ended. + """ + now = time.time() + since_append = now - self.last_append + since_ready = now - (self.created + linger_ms / 1000.0) + since_backoff = now - (self.last_attempt + retry_backoff_ms / 1000.0) + timeout = request_timeout_ms / 1000.0 + + error = None + if not self.in_retry() and is_full and timeout < since_append: + error = "%d seconds have passed since last append" % (since_append,) + elif not self.in_retry() and timeout < since_ready: + error = "%d seconds have passed since batch creation plus linger time" % (since_ready,) + elif self.in_retry() and timeout < since_backoff: + error = "%d seconds have passed since last attempt plus backoff time" % (since_backoff,) + + if error: + self.records.close() + self.done(-1, None, Errors.KafkaTimeoutError( + "Batch for %s containing %s record(s) expired: %s" % ( + self.topic_partition, self.records.next_offset(), error))) + return True + return False def in_retry(self): return self._retry - def retry(self, now=None): - now = time.time() if now is None else now + def set_retry(self): self._retry = True - self.attempts += 1 - self.last_attempt = now - self.last_append = now - @property - def is_done(self): - return self.produce_future.is_done + def buffer(self): + return self._buffer def __str__(self): return 'ProducerBatch(topic_partition=%s, record_count=%d)' % ( @@ -194,6 +143,12 @@ class RecordAccumulator(object): A small batch size will make batching less common and may reduce throughput (a batch size of zero will disable batching entirely). Default: 16384 + buffer_memory (int): The total bytes of memory the producer should use + to buffer records waiting to be sent to the server. If records are + sent faster than they can be delivered to the server the producer + will block up to max_block_ms, raising an exception on timeout. + In the current implementation, this setting is an approximation. + Default: 33554432 (32MB) compression_attrs (int): The compression type for all data generated by the producer. Valid values are gzip(1), snappy(2), lz4(3), or none(0). @@ -201,7 +156,7 @@ class RecordAccumulator(object): will also impact the compression ratio (more batching means better compression). Default: None. linger_ms (int): An artificial delay time to add before declaring a - record batch (that isn't full) ready for sending. This allows + messageset (that isn't full) ready for sending. This allows time for more records to arrive. Setting a non-zero linger_ms will trade off some latency for potentially better throughput due to more batching (and hence fewer, larger requests). @@ -211,14 +166,14 @@ class RecordAccumulator(object): all retries in a short period of time. Default: 100 """ DEFAULT_CONFIG = { + 'buffer_memory': 33554432, 'batch_size': 16384, 'compression_attrs': 0, 'linger_ms': 0, - 'request_timeout_ms': 30000, - 'delivery_timeout_ms': 120000, 'retry_backoff_ms': 100, - 'transaction_manager': None, - 'message_version': 2, + 'message_version': 0, + 'metrics': None, + 'metric_group_prefix': 'producer-metrics', } def __init__(self, **configs): @@ -228,37 +183,22 @@ class RecordAccumulator(object): self.config[key] = configs.pop(key) self._closed = False - self._transaction_manager = self.config['transaction_manager'] self._flushes_in_progress = AtomicInteger() self._appends_in_progress = AtomicInteger() self._batches = collections.defaultdict(collections.deque) # TopicPartition: [ProducerBatch] self._tp_locks = {None: threading.Lock()} # TopicPartition: Lock, plus a lock to add entries + self._free = SimpleBufferPool(self.config['buffer_memory'], + self.config['batch_size'], + metrics=self.config['metrics'], + metric_group_prefix=self.config['metric_group_prefix']) self._incomplete = IncompleteProducerBatches() # The following variables should only be accessed by the sender thread, # so we don't need to protect them w/ locking. self.muted = set() self._drain_index = 0 - self._next_batch_expiry_time_ms = float('inf') - if self.config['delivery_timeout_ms'] < self.config['linger_ms'] + self.config['request_timeout_ms']: - raise Errors.KafkaConfigurationError("Must set delivery_timeout_ms higher than linger_ms + request_timeout_ms") - - @property - def delivery_timeout_ms(self): - return self.config['delivery_timeout_ms'] - - @property - def next_expiry_time_ms(self): - return self._next_batch_expiry_time_ms - - def _tp_lock(self, tp): - if tp not in self._tp_locks: - with self._tp_locks[None]: - if tp not in self._tp_locks: - self._tp_locks[tp] = threading.Lock() - return self._tp_locks[tp] - - def append(self, tp, timestamp_ms, key, value, headers, now=None): + def append(self, tp, timestamp_ms, key, value, headers, max_time_to_block_ms, + estimated_size=0): """Add a record to the accumulator, return the append result. The append result will contain the future metadata, and flag for @@ -271,53 +211,59 @@ class RecordAccumulator(object): key (bytes): The key for the record value (bytes): The value for the record headers (List[Tuple[str, bytes]]): The header fields for the record + max_time_to_block_ms (int): The maximum time in milliseconds to + block for buffer memory to be available Returns: tuple: (future, batch_is_full, new_batch_created) """ assert isinstance(tp, TopicPartition), 'not TopicPartition' assert not self._closed, 'RecordAccumulator is closed' - now = time.time() if now is None else now # We keep track of the number of appending thread to make sure we do # not miss batches in abortIncompleteBatches(). self._appends_in_progress.increment() try: - with self._tp_lock(tp): + if tp not in self._tp_locks: + with self._tp_locks[None]: + if tp not in self._tp_locks: + self._tp_locks[tp] = threading.Lock() + + with self._tp_locks[tp]: # check if we have an in-progress batch dq = self._batches[tp] if dq: last = dq[-1] - future = last.try_append(timestamp_ms, key, value, headers, now=now) + future = last.try_append(timestamp_ms, key, value, headers) if future is not None: batch_is_full = len(dq) > 1 or last.records.is_full() return future, batch_is_full, False - with self._tp_lock(tp): + size = max(self.config['batch_size'], estimated_size) + log.debug("Allocating a new %d byte message buffer for %s", size, tp) # trace + buf = self._free.allocate(size, max_time_to_block_ms) + with self._tp_locks[tp]: # Need to check if producer is closed again after grabbing the # dequeue lock. assert not self._closed, 'RecordAccumulator is closed' if dq: last = dq[-1] - future = last.try_append(timestamp_ms, key, value, headers, now=now) + future = last.try_append(timestamp_ms, key, value, headers) if future is not None: # Somebody else found us a batch, return the one we # waited for! Hopefully this doesn't happen often... + self._free.deallocate(buf) batch_is_full = len(dq) > 1 or last.records.is_full() return future, batch_is_full, False - if self._transaction_manager and self.config['message_version'] < 2: - raise Errors.UnsupportedVersionError("Attempting to use idempotence with a broker which" - " does not support the required message format (v2)." - " The broker must be version 0.11 or later.") records = MemoryRecordsBuilder( self.config['message_version'], self.config['compression_attrs'], self.config['batch_size'] ) - batch = ProducerBatch(tp, records, now=now) - future = batch.try_append(timestamp_ms, key, value, headers, now=now) + batch = ProducerBatch(tp, records, buf) + future = batch.try_append(timestamp_ms, key, value, headers) if not future: raise Exception() @@ -328,43 +274,79 @@ class RecordAccumulator(object): finally: self._appends_in_progress.decrement() - def reset_next_batch_expiry_time(self): - self._next_batch_expiry_time_ms = float('inf') + def abort_expired_batches(self, request_timeout_ms, cluster): + """Abort the batches that have been sitting in RecordAccumulator for + more than the configured request_timeout due to metadata being + unavailable. - def maybe_update_next_batch_expiry_time(self, batch): - self._next_batch_expiry_time_ms = min(self._next_batch_expiry_time_ms, batch.created * 1000 + self.delivery_timeout_ms) + Arguments: + request_timeout_ms (int): milliseconds to timeout + cluster (ClusterMetadata): current metadata for kafka cluster - def expired_batches(self, now=None): - """Get a list of batches which have been sitting in the accumulator too long and need to be expired.""" + Returns: + list of ProducerBatch that were expired + """ expired_batches = [] + to_remove = [] + count = 0 for tp in list(self._batches.keys()): - with self._tp_lock(tp): + assert tp in self._tp_locks, 'TopicPartition not in locks dict' + + # We only check if the batch should be expired if the partition + # does not have a batch in flight. This is to avoid the later + # batches get expired when an earlier batch is still in progress. + # This protection only takes effect when user sets + # max.in.flight.request.per.connection=1. Otherwise the expiration + # order is not guranteed. + if tp in self.muted: + continue + + with self._tp_locks[tp]: # iterate over the batches and expire them if they have stayed # in accumulator for more than request_timeout_ms dq = self._batches[tp] - while dq: - batch = dq[0] - if batch.has_reached_delivery_timeout(self.delivery_timeout_ms, now=now): - dq.popleft() - batch.records.close() + for batch in dq: + is_full = bool(bool(batch != dq[-1]) or batch.records.is_full()) + # check if the batch is expired + if batch.maybe_expire(request_timeout_ms, + self.config['retry_backoff_ms'], + self.config['linger_ms'], + is_full): expired_batches.append(batch) + to_remove.append(batch) + count += 1 + self.deallocate(batch) else: # Stop at the first batch that has not expired. - self.maybe_update_next_batch_expiry_time(batch) break + + # Python does not allow us to mutate the dq during iteration + # Assuming expired batches are infrequent, this is better than + # creating a new copy of the deque for iteration on every loop + if to_remove: + for batch in to_remove: + dq.remove(batch) + to_remove = [] + + if expired_batches: + log.warning("Expired %d batches in accumulator", count) # trace + return expired_batches - def reenqueue(self, batch, now=None): - """ - Re-enqueue the given record batch in the accumulator. In Sender._complete_batch method, we check - whether the batch has reached delivery_timeout_ms or not. Hence we do not do the delivery timeout check here. - """ - batch.retry(now=now) - with self._tp_lock(batch.topic_partition): - dq = self._batches[batch.topic_partition] + def reenqueue(self, batch): + """Re-enqueue the given record batch in the accumulator to retry.""" + now = time.time() + batch.attempts += 1 + batch.last_attempt = now + batch.last_append = now + batch.set_retry() + assert batch.topic_partition in self._tp_locks, 'TopicPartition not in locks dict' + assert batch.topic_partition in self._batches, 'TopicPartition not in batches' + dq = self._batches[batch.topic_partition] + with self._tp_locks[batch.topic_partition]: dq.appendleft(batch) - def ready(self, cluster, now=None): + def ready(self, cluster): """ Get a list of nodes whose partitions are ready to be sent, and the earliest time at which any non-sendable partition will be ready; @@ -398,8 +380,9 @@ class RecordAccumulator(object): ready_nodes = set() next_ready_check = 9999999.99 unknown_leaders_exist = False - now = time.time() if now is None else now + now = time.time() + exhausted = bool(self._free.queued() > 0) # several threads are accessing self._batches -- to simplify # concurrent access, we iterate over a snapshot of partitions # and lock each partition separately as needed @@ -414,23 +397,23 @@ class RecordAccumulator(object): elif tp in self.muted: continue - with self._tp_lock(tp): + with self._tp_locks[tp]: dq = self._batches[tp] if not dq: continue batch = dq[0] - retry_backoff = self.config['retry_backoff_ms'] / 1000 - linger = self.config['linger_ms'] / 1000 - backing_off = bool(batch.attempts > 0 - and (batch.last_attempt + retry_backoff) > now) + retry_backoff = self.config['retry_backoff_ms'] / 1000.0 + linger = self.config['linger_ms'] / 1000.0 + backing_off = bool(batch.attempts > 0 and + batch.last_attempt + retry_backoff > now) waited_time = now - batch.last_attempt time_to_wait = retry_backoff if backing_off else linger time_left = max(time_to_wait - waited_time, 0) full = bool(len(dq) > 1 or batch.records.is_full()) expired = bool(waited_time >= time_to_wait) - sendable = (full or expired or self._closed or - self.flush_in_progress()) + sendable = (full or expired or exhausted or self._closed or + self._flush_in_progress()) if sendable and not backing_off: ready_nodes.add(leader) @@ -444,98 +427,16 @@ class RecordAccumulator(object): return ready_nodes, next_ready_check, unknown_leaders_exist - def has_undrained(self): - """Check whether there are any batches which haven't been drained""" + def has_unsent(self): + """Return whether there is any unsent record in the accumulator.""" for tp in list(self._batches.keys()): - with self._tp_lock(tp): + with self._tp_locks[tp]: dq = self._batches[tp] if len(dq): return True return False - def _should_stop_drain_batches_for_partition(self, first, tp): - if self._transaction_manager: - if not self._transaction_manager.is_send_to_partition_allowed(tp): - return True - if not self._transaction_manager.producer_id_and_epoch.is_valid: - # we cannot send the batch until we have refreshed the PID - log.debug("Waiting to send ready batches because transaction producer id is not valid") - return True - return False - - def drain_batches_for_one_node(self, cluster, node_id, max_size, now=None): - now = time.time() if now is None else now - size = 0 - ready = [] - partitions = list(cluster.partitions_for_broker(node_id)) - if not partitions: - return ready - # to make starvation less likely this loop doesn't start at 0 - self._drain_index %= len(partitions) - start = None - while start != self._drain_index: - tp = partitions[self._drain_index] - if start is None: - start = self._drain_index - self._drain_index += 1 - self._drain_index %= len(partitions) - - # Only proceed if the partition has no in-flight batches. - if tp in self.muted: - continue - - if tp not in self._batches: - continue - - with self._tp_lock(tp): - dq = self._batches[tp] - if len(dq) == 0: - continue - first = dq[0] - backoff = bool(first.attempts > 0 and - first.last_attempt + self.config['retry_backoff_ms'] / 1000 > now) - # Only drain the batch if it is not during backoff - if backoff: - continue - - if (size + first.records.size_in_bytes() > max_size - and len(ready) > 0): - # there is a rare case that a single batch - # size is larger than the request size due - # to compression; in this case we will - # still eventually send this batch in a - # single request - break - else: - if self._should_stop_drain_batches_for_partition(first, tp): - break - - batch = dq.popleft() - if self._transaction_manager and not batch.in_retry(): - # If the batch is in retry, then we should not change the pid and - # sequence number, since this may introduce duplicates. In particular, - # the previous attempt may actually have been accepted, and if we change - # the pid and sequence here, this attempt will also be accepted, causing - # a duplicate. - sequence_number = self._transaction_manager.sequence_number(batch.topic_partition) - log.debug("Dest: %s: %s producer_id=%s epoch=%s sequence=%s", - node_id, batch.topic_partition, - self._transaction_manager.producer_id_and_epoch.producer_id, - self._transaction_manager.producer_id_and_epoch.epoch, - sequence_number) - batch.records.set_producer_state( - self._transaction_manager.producer_id_and_epoch.producer_id, - self._transaction_manager.producer_id_and_epoch.epoch, - sequence_number, - self._transaction_manager.is_transactional() - ) - batch.records.close() - size += batch.records.size_in_bytes() - ready.append(batch) - batch.drained = now - return ready - - def drain(self, cluster, nodes, max_size, now=None): + def drain(self, cluster, nodes, max_size): """ Drain all the data for the given nodes and collate them into a list of batches that will fit within the specified size on a per-node basis. @@ -553,17 +454,59 @@ class RecordAccumulator(object): if not nodes: return {} - now = time.time() if now is None else now + now = time.time() batches = {} for node_id in nodes: - batches[node_id] = self.drain_batches_for_one_node(cluster, node_id, max_size, now=now) + size = 0 + partitions = list(cluster.partitions_for_broker(node_id)) + ready = [] + # to make starvation less likely this loop doesn't start at 0 + self._drain_index %= len(partitions) + start = self._drain_index + while True: + tp = partitions[self._drain_index] + if tp in self._batches and tp not in self.muted: + with self._tp_locks[tp]: + dq = self._batches[tp] + if dq: + first = dq[0] + backoff = ( + bool(first.attempts > 0) and + bool(first.last_attempt + + self.config['retry_backoff_ms'] / 1000.0 + > now) + ) + # Only drain the batch if it is not during backoff + if not backoff: + if (size + first.records.size_in_bytes() > max_size + and len(ready) > 0): + # there is a rare case that a single batch + # size is larger than the request size due + # to compression; in this case we will + # still eventually send this batch in a + # single request + break + else: + batch = dq.popleft() + batch.records.close() + size += batch.records.size_in_bytes() + ready.append(batch) + batch.drained = now + + self._drain_index += 1 + self._drain_index %= len(partitions) + if start == self._drain_index: + break + + batches[node_id] = ready return batches def deallocate(self, batch): """Deallocate the record batch.""" self._incomplete.remove(batch) + self._free.deallocate(batch.buffer()) - def flush_in_progress(self): + def _flush_in_progress(self): """Are there any threads currently waiting on a flush?""" return self._flushes_in_progress.get() > 0 @@ -592,10 +535,6 @@ class RecordAccumulator(object): finally: self._flushes_in_progress.decrement() - @property - def has_incomplete(self): - return bool(self._incomplete) - def abort_incomplete_batches(self): """ This function is only called when sender is closed forcefully. It will fail all the @@ -605,41 +544,27 @@ class RecordAccumulator(object): # 1. Avoid losing batches. # 2. Free up memory in case appending threads are blocked on buffer full. # This is a tight loop but should be able to get through very quickly. - error = Errors.IllegalStateError("Producer is closed forcefully.") while True: - self._abort_batches(error) + self._abort_batches() if not self._appends_in_progress.get(): break # After this point, no thread will append any messages because they will see the close # flag set. We need to do the last abort after no thread was appending in case the there was a new # batch appended by the last appending thread. - self._abort_batches(error) + self._abort_batches() self._batches.clear() - def _abort_batches(self, error): + def _abort_batches(self): """Go through incomplete batches and abort them.""" + error = Errors.IllegalStateError("Producer is closed forcefully.") for batch in self._incomplete.all(): tp = batch.topic_partition # Close the batch before aborting - with self._tp_lock(tp): + with self._tp_locks[tp]: batch.records.close() - self._batches[tp].remove(batch) - batch.abort(error) + batch.done(exception=error) self.deallocate(batch) - def abort_undrained_batches(self, error): - for batch in self._incomplete.all(): - tp = batch.topic_partition - with self._tp_lock(tp): - aborted = False - if not batch.is_done: - aborted = True - batch.records.close() - self._batches[tp].remove(batch) - if aborted: - batch.abort(error) - self.deallocate(batch) - def close(self): """Close this accumulator and force all the record buffers to be drained.""" self._closed = True @@ -654,21 +579,12 @@ class IncompleteProducerBatches(object): def add(self, batch): with self._lock: - self._incomplete.add(batch) + return self._incomplete.add(batch) def remove(self, batch): with self._lock: - try: - self._incomplete.remove(batch) - except KeyError: - pass + return self._incomplete.remove(batch) def all(self): with self._lock: return list(self._incomplete) - - def __bool__(self): - return bool(self._incomplete) - - - __nonzero__ = __bool__ diff --git a/venv/lib/python3.12/site-packages/kafka/producer/sender.py b/venv/lib/python3.12/site-packages/kafka/producer/sender.py index 7a4c557..35688d3 100644 --- a/venv/lib/python3.12/site-packages/kafka/producer/sender.py +++ b/venv/lib/python3.12/site-packages/kafka/producer/sender.py @@ -2,7 +2,6 @@ from __future__ import absolute_import, division import collections import copy -import heapq import logging import threading import time @@ -12,8 +11,6 @@ from kafka.vendor import six from kafka import errors as Errors from kafka.metrics.measurable import AnonMeasurable from kafka.metrics.stats import Avg, Max, Rate -from kafka.producer.transaction_manager import ProducerIdAndEpoch -from kafka.protocol.init_producer_id import InitProducerIdRequest from kafka.protocol.produce import ProduceRequest from kafka.structs import TopicPartition from kafka.version import __version__ @@ -30,18 +27,14 @@ class Sender(threading.Thread): DEFAULT_CONFIG = { 'max_request_size': 1048576, 'acks': 1, - 'retries': float('inf'), + 'retries': 0, 'request_timeout_ms': 30000, - 'retry_backoff_ms': 100, - 'metrics': None, 'guarantee_message_order': False, - 'transaction_manager': None, - 'transactional_id': None, - 'transaction_timeout_ms': 60000, 'client_id': 'kafka-python-' + __version__, + 'api_version': (0, 8, 0), } - def __init__(self, client, metadata, accumulator, **configs): + def __init__(self, client, metadata, accumulator, metrics, **configs): super(Sender, self).__init__() self.config = copy.copy(self.DEFAULT_CONFIG) for key in self.config: @@ -55,75 +48,32 @@ class Sender(threading.Thread): self._running = True self._force_close = False self._topics_to_add = set() - if self.config['metrics']: - self._sensors = SenderMetrics(self.config['metrics'], self._client, self._metadata) - else: - self._sensors = None - self._transaction_manager = self.config['transaction_manager'] - # A per-partition queue of batches ordered by creation time for tracking the in-flight batches - self._in_flight_batches = collections.defaultdict(list) - - def _maybe_remove_from_inflight_batches(self, batch): - try: - queue = self._in_flight_batches[batch.topic_partition] - except KeyError: - return - try: - idx = queue.index((batch.created, batch)) - except ValueError: - return - # https://stackoverflow.com/questions/10162679/python-delete-element-from-heap - queue[idx] = queue[-1] - queue.pop() - heapq.heapify(queue) - - def _get_expired_inflight_batches(self, now=None): - """Get the in-flight batches that has reached delivery timeout.""" - expired_batches = [] - to_remove = [] - for tp, queue in six.iteritems(self._in_flight_batches): - while queue: - _created_at, batch = queue[0] - if batch.has_reached_delivery_timeout(self._accumulator.delivery_timeout_ms): - heapq.heappop(queue) - if batch.final_state is None: - expired_batches.append(batch) - else: - raise Errors.IllegalStateError("%s batch created at %s gets unexpected final state %s" % (batch.topic_partition, batch.created, batch.final_state)) - else: - self._accumulator.maybe_update_next_batch_expiry_time(batch) - break - else: - # Avoid mutating in_flight_batches during iteration - to_remove.append(tp) - for tp in to_remove: - del self._in_flight_batches[tp] - return expired_batches + self._sensors = SenderMetrics(metrics, self._client, self._metadata) def run(self): """The main run loop for the sender thread.""" - log.debug("%s: Starting Kafka producer I/O thread.", str(self)) + log.debug("Starting Kafka producer I/O thread.") # main loop, runs until close is called while self._running: try: self.run_once() except Exception: - log.exception("%s: Uncaught error in kafka producer I/O thread", str(self)) + log.exception("Uncaught error in kafka producer I/O thread") - log.debug("%s: Beginning shutdown of Kafka producer I/O thread, sending" - " remaining records.", str(self)) + log.debug("Beginning shutdown of Kafka producer I/O thread, sending" + " remaining records.") # okay we stopped accepting requests but there may still be # requests in the accumulator or waiting for acknowledgment, # wait until these are completed. while (not self._force_close - and (self._accumulator.has_undrained() + and (self._accumulator.has_unsent() or self._client.in_flight_request_count() > 0)): try: self.run_once() except Exception: - log.exception("%s: Uncaught error in kafka producer I/O thread", str(self)) + log.exception("Uncaught error in kafka producer I/O thread") if self._force_close: # We need to fail all the incomplete batches and wake up the @@ -133,75 +83,38 @@ class Sender(threading.Thread): try: self._client.close() except Exception: - log.exception("%s: Failed to close network client", str(self)) + log.exception("Failed to close network client") - log.debug("%s: Shutdown of Kafka producer I/O thread has completed.", str(self)) + log.debug("Shutdown of Kafka producer I/O thread has completed.") def run_once(self): """Run a single iteration of sending.""" while self._topics_to_add: self._client.add_topic(self._topics_to_add.pop()) - if self._transaction_manager: - try: - if not self._transaction_manager.is_transactional(): - # this is an idempotent producer, so make sure we have a producer id - self._maybe_wait_for_producer_id() - elif self._transaction_manager.has_in_flight_transactional_request() or self._maybe_send_transactional_request(): - # as long as there are outstanding transactional requests, we simply wait for them to return - self._client.poll(timeout_ms=self.config['retry_backoff_ms']) - return - - # do not continue sending if the transaction manager is in a failed state or if there - # is no producer id (for the idempotent case). - if self._transaction_manager.has_fatal_error() or not self._transaction_manager.has_producer_id(): - last_error = self._transaction_manager.last_error - if last_error is not None: - self._maybe_abort_batches(last_error) - self._client.poll(timeout_ms=self.config['retry_backoff_ms']) - return - elif self._transaction_manager.has_abortable_error(): - self._accumulator.abort_undrained_batches(self._transaction_manager.last_error) - - except Errors.SaslAuthenticationFailedError as e: - # This is already logged as error, but propagated here to perform any clean ups. - log.debug("%s: Authentication exception while processing transactional request: %s", str(self), e) - self._transaction_manager.authentication_failed(e) - - poll_timeout_ms = self._send_producer_data() - self._client.poll(timeout_ms=poll_timeout_ms) - - def _send_producer_data(self, now=None): - now = time.time() if now is None else now # get the list of partitions with data ready to send - result = self._accumulator.ready(self._metadata, now=now) + result = self._accumulator.ready(self._metadata) ready_nodes, next_ready_check_delay, unknown_leaders_exist = result # if there are any partitions whose leaders are not known yet, force # metadata update if unknown_leaders_exist: - log.debug('%s: Unknown leaders exist, requesting metadata update', str(self)) + log.debug('Unknown leaders exist, requesting metadata update') self._metadata.request_update() # remove any nodes we aren't ready to send to - not_ready_timeout_ms = float('inf') + not_ready_timeout = float('inf') for node in list(ready_nodes): if not self._client.is_ready(node): - node_delay_ms = self._client.connection_delay(node) - log.debug('%s: Node %s not ready; delaying produce of accumulated batch (%f ms)', str(self), node, node_delay_ms) + log.debug('Node %s not ready; delaying produce of accumulated batch', node) self._client.maybe_connect(node, wakeup=False) ready_nodes.remove(node) - not_ready_timeout_ms = min(not_ready_timeout_ms, node_delay_ms) + not_ready_timeout = min(not_ready_timeout, + self._client.connection_delay(node)) # create produce requests batches_by_node = self._accumulator.drain( - self._metadata, ready_nodes, self.config['max_request_size'], now=now) - - for batch_list in six.itervalues(batches_by_node): - for batch in batch_list: - item = (batch.created, batch) - queue = self._in_flight_batches[batch.topic_partition] - heapq.heappush(queue, item) + self._metadata, ready_nodes, self.config['max_request_size']) if self.config['guarantee_message_order']: # Mute all the partitions drained @@ -209,130 +122,42 @@ class Sender(threading.Thread): for batch in batch_list: self._accumulator.muted.add(batch.topic_partition) - self._accumulator.reset_next_batch_expiry_time() - expired_batches = self._accumulator.expired_batches(now=now) - expired_batches.extend(self._get_expired_inflight_batches(now=now)) - - if expired_batches: - log.debug("%s: Expired %s batches in accumulator", str(self), len(expired_batches)) - - # Reset the producer_id if an expired batch has previously been sent to the broker. - # See the documentation of `TransactionState.reset_producer_id` to understand why - # we need to reset the producer id here. - if self._transaction_manager and any([batch.in_retry() for batch in expired_batches]): - needs_transaction_state_reset = True - else: - needs_transaction_state_reset = False - + expired_batches = self._accumulator.abort_expired_batches( + self.config['request_timeout_ms'], self._metadata) for expired_batch in expired_batches: - error = Errors.KafkaTimeoutError( - "Expiring %d record(s) for %s: %s ms has passed since batch creation" % ( - expired_batch.record_count, expired_batch.topic_partition, - int((time.time() - expired_batch.created) * 1000))) - self._fail_batch(expired_batch, error, base_offset=-1) - - if self._sensors: - self._sensors.update_produce_request_metrics(batches_by_node) - - if needs_transaction_state_reset: - self._transaction_manager.reset_producer_id() - return 0 + self._sensors.record_errors(expired_batch.topic_partition.topic, expired_batch.record_count) + self._sensors.update_produce_request_metrics(batches_by_node) requests = self._create_produce_requests(batches_by_node) # If we have any nodes that are ready to send + have sendable data, # poll with 0 timeout so this can immediately loop and try sending more - # data. Otherwise, the timeout will be the smaller value between next - # batch expiry time, and the delay time for checking data availability. - # Note that the nodes may have data that isn't yet sendable due to - # lingering, backing off, etc. This specifically does not include nodes with + # data. Otherwise, the timeout is determined by nodes that have + # partitions with data that isn't yet sendable (e.g. lingering, backing + # off). Note that this specifically does not include nodes with # sendable data that aren't ready to send since they would cause busy # looping. - poll_timeout_ms = min(next_ready_check_delay * 1000, - not_ready_timeout_ms, - self._accumulator.next_expiry_time_ms - now * 1000) - if poll_timeout_ms < 0: - poll_timeout_ms = 0 - + poll_timeout_ms = min(next_ready_check_delay * 1000, not_ready_timeout) if ready_nodes: - log.debug("%s: Nodes with data ready to send: %s", str(self), ready_nodes) # trace - log.debug("%s: Created %d produce requests: %s", str(self), len(requests), requests) # trace - # if some partitions are already ready to be sent, the select time - # would be 0; otherwise if some partition already has some data - # accumulated but not ready yet, the select time will be the time - # difference between now and its linger expiry time; otherwise the - # select time will be the time difference between now and the - # metadata expiry time + log.debug("Nodes with data ready to send: %s", ready_nodes) # trace + log.debug("Created %d produce requests: %s", len(requests), requests) # trace poll_timeout_ms = 0 for node_id, request in six.iteritems(requests): batches = batches_by_node[node_id] - log.debug('%s: Sending Produce Request: %r', str(self), request) + log.debug('Sending Produce Request: %r', request) (self._client.send(node_id, request, wakeup=False) .add_callback( self._handle_produce_response, node_id, time.time(), batches) .add_errback( self._failed_produce, batches, node_id)) - return poll_timeout_ms - def _maybe_send_transactional_request(self): - if self._transaction_manager.is_completing() and self._accumulator.has_incomplete: - if self._transaction_manager.is_aborting(): - self._accumulator.abort_undrained_batches(Errors.KafkaError("Failing batch since transaction was aborted")) - # There may still be requests left which are being retried. Since we do not know whether they had - # been successfully appended to the broker log, we must resend them until their final status is clear. - # If they had been appended and we did not receive the error, then our sequence number would no longer - # be correct which would lead to an OutOfSequenceNumberError. - if not self._accumulator.flush_in_progress(): - self._accumulator.begin_flush() - - next_request_handler = self._transaction_manager.next_request_handler(self._accumulator.has_incomplete) - if next_request_handler is None: - return False - - log.debug("%s: Sending transactional request %s", str(self), next_request_handler.request) - while not self._force_close: - target_node = None - try: - if next_request_handler.needs_coordinator(): - target_node = self._transaction_manager.coordinator(next_request_handler.coordinator_type) - if target_node is None: - self._transaction_manager.lookup_coordinator_for_request(next_request_handler) - break - elif not self._client.await_ready(target_node, timeout_ms=self.config['request_timeout_ms']): - self._transaction_manager.lookup_coordinator_for_request(next_request_handler) - target_node = None - break - else: - target_node = self._client.least_loaded_node() - if target_node is not None and not self._client.await_ready(target_node, timeout_ms=self.config['request_timeout_ms']): - target_node = None - - if target_node is not None: - if next_request_handler.is_retry: - time.sleep(self.config['retry_backoff_ms'] / 1000) - txn_correlation_id = self._transaction_manager.next_in_flight_request_correlation_id() - future = self._client.send(target_node, next_request_handler.request) - future.add_both(next_request_handler.on_complete, txn_correlation_id) - return True - - except Exception as e: - log.warn("%s: Got an exception when trying to find a node to send a transactional request to. Going to back off and retry: %s", str(self), e) - if next_request_handler.needs_coordinator(): - self._transaction_manager.lookup_coordinator_for_request(next_request_handler) - break - - time.sleep(self.config['retry_backoff_ms'] / 1000) - self._metadata.request_update() - - if target_node is None: - self._transaction_manager.retry(next_request_handler) - - return True - - def _maybe_abort_batches(self, exc): - if self._accumulator.has_incomplete: - log.error("%s: Aborting producer batches due to fatal error: %s", str(self), exc) - self._accumulator.abort_batches(exc) + # if some partitions are already ready to be sent, the select time + # would be 0; otherwise if some partition already has some data + # accumulated but not ready yet, the select time will be the time + # difference between now and its linger expiry time; otherwise the + # select time will be the time difference between now and the + # metadata expiry time + self._client.poll(timeout_ms=poll_timeout_ms) def initiate_close(self): """Start closing the sender (won't complete until all data is sent).""" @@ -355,164 +180,82 @@ class Sender(threading.Thread): self._topics_to_add.add(topic) self.wakeup() - def _maybe_wait_for_producer_id(self): - while not self._transaction_manager.has_producer_id(): - try: - node_id = self._client.least_loaded_node() - if node_id is None or not self._client.await_ready(node_id): - log.debug("%s, Could not find an available broker to send InitProducerIdRequest to." + - " Will back off and try again.", str(self)) - time.sleep(self._client.least_loaded_node_refresh_ms() / 1000) - continue - version = self._client.api_version(InitProducerIdRequest, max_version=1) - request = InitProducerIdRequest[version]( - transactional_id=self.config['transactional_id'], - transaction_timeout_ms=self.config['transaction_timeout_ms'], - ) - response = self._client.send_and_receive(node_id, request) - error_type = Errors.for_code(response.error_code) - if error_type is Errors.NoError: - self._transaction_manager.set_producer_id_and_epoch(ProducerIdAndEpoch(response.producer_id, response.producer_epoch)) - break - elif getattr(error_type, 'retriable', False): - log.debug("%s: Retriable error from InitProducerId response: %s", str(self), error_type.__name__) - if getattr(error_type, 'invalid_metadata', False): - self._metadata.request_update() - else: - self._transaction_manager.transition_to_fatal_error(error_type()) - break - except Errors.KafkaConnectionError: - log.debug("%s: Broker %s disconnected while awaiting InitProducerId response", str(self), node_id) - except Errors.RequestTimedOutError: - log.debug("%s: InitProducerId request to node %s timed out", str(self), node_id) - log.debug("%s: Retry InitProducerIdRequest in %sms.", str(self), self.config['retry_backoff_ms']) - time.sleep(self.config['retry_backoff_ms'] / 1000) - def _failed_produce(self, batches, node_id, error): - log.error("%s: Error sending produce request to node %d: %s", str(self), node_id, error) # trace + log.debug("Error sending produce request to node %d: %s", node_id, error) # trace for batch in batches: - self._complete_batch(batch, error, -1) + self._complete_batch(batch, error, -1, None) def _handle_produce_response(self, node_id, send_time, batches, response): """Handle a produce response.""" # if we have a response, parse it - log.debug('%s: Parsing produce response: %r', str(self), response) + log.debug('Parsing produce response: %r', response) if response: batches_by_partition = dict([(batch.topic_partition, batch) for batch in batches]) for topic, partitions in response.topics: for partition_info in partitions: + global_error = None + log_start_offset = None if response.API_VERSION < 2: partition, error_code, offset = partition_info ts = None elif 2 <= response.API_VERSION <= 4: partition, error_code, offset, ts = partition_info elif 5 <= response.API_VERSION <= 7: - partition, error_code, offset, ts, _log_start_offset = partition_info + partition, error_code, offset, ts, log_start_offset = partition_info else: - # Currently unused / TODO: KIP-467 - partition, error_code, offset, ts, _log_start_offset, _record_errors, _global_error = partition_info + # the ignored parameter is record_error of type list[(batch_index: int, error_message: str)] + partition, error_code, offset, ts, log_start_offset, _, global_error = partition_info tp = TopicPartition(topic, partition) error = Errors.for_code(error_code) batch = batches_by_partition[tp] - self._complete_batch(batch, error, offset, timestamp_ms=ts) + self._complete_batch(batch, error, offset, ts, log_start_offset, global_error) + + if response.API_VERSION > 0: + self._sensors.record_throttle_time(response.throttle_time_ms, node=node_id) else: # this is the acks = 0 case, just complete all requests for batch in batches: - self._complete_batch(batch, None, -1) + self._complete_batch(batch, None, -1, None) - def _fail_batch(self, batch, exception, base_offset=None, timestamp_ms=None): - exception = exception if type(exception) is not type else exception() - if self._transaction_manager: - if isinstance(exception, Errors.OutOfOrderSequenceNumberError) and \ - not self._transaction_manager.is_transactional() and \ - self._transaction_manager.has_producer_id(batch.producer_id): - log.error("%s: The broker received an out of order sequence number for topic-partition %s" - " at offset %s. This indicates data loss on the broker, and should be investigated.", - str(self), batch.topic_partition, base_offset) - - # Reset the transaction state since we have hit an irrecoverable exception and cannot make any guarantees - # about the previously committed message. Note that this will discard the producer id and sequence - # numbers for all existing partitions. - self._transaction_manager.reset_producer_id() - elif isinstance(exception, (Errors.ClusterAuthorizationFailedError, - Errors.TransactionalIdAuthorizationFailedError, - Errors.ProducerFencedError, - Errors.InvalidTxnStateError)): - self._transaction_manager.transition_to_fatal_error(exception) - elif self._transaction_manager.is_transactional(): - self._transaction_manager.transition_to_abortable_error(exception) - - if self._sensors: - self._sensors.record_errors(batch.topic_partition.topic, batch.record_count) - - if batch.done(base_offset=base_offset, timestamp_ms=timestamp_ms, exception=exception): - self._maybe_remove_from_inflight_batches(batch) - self._accumulator.deallocate(batch) - - def _complete_batch(self, batch, error, base_offset, timestamp_ms=None): + def _complete_batch(self, batch, error, base_offset, timestamp_ms=None, log_start_offset=None, global_error=None): """Complete or retry the given batch of records. Arguments: - batch (ProducerBatch): The record batch + batch (RecordBatch): The record batch error (Exception): The error (or None if none) base_offset (int): The base offset assigned to the records if successful timestamp_ms (int, optional): The timestamp returned by the broker for this batch + log_start_offset (int): The start offset of the log at the time this produce response was created + global_error (str): The summarising error message """ # Standardize no-error to None if error is Errors.NoError: error = None - if error is not None: - if self._can_retry(batch, error): - # retry - log.warning("%s: Got error produce response on topic-partition %s," - " retrying (%s attempts left). Error: %s", - str(self), batch.topic_partition, - self.config['retries'] - batch.attempts - 1, - error) - - # If idempotence is enabled only retry the request if the batch matches our current producer id and epoch - if not self._transaction_manager or self._transaction_manager.producer_id_and_epoch.match(batch): - log.debug("%s: Retrying batch to topic-partition %s. Sequence number: %s", - str(self), batch.topic_partition, - self._transaction_manager.sequence_number(batch.topic_partition) if self._transaction_manager else None) - self._accumulator.reenqueue(batch) - self._maybe_remove_from_inflight_batches(batch) - if self._sensors: - self._sensors.record_retries(batch.topic_partition.topic, batch.record_count) - else: - log.warning("%s: Attempted to retry sending a batch but the producer id/epoch changed from %s/%s to %s/%s. This batch will be dropped", - str(self), batch.producer_id, batch.producer_epoch, - self._transaction_manager.producer_id_and_epoch.producer_id, - self._transaction_manager.producer_id_and_epoch.epoch) - self._fail_batch(batch, error, base_offset=base_offset, timestamp_ms=timestamp_ms) - else: - if error is Errors.TopicAuthorizationFailedError: - error = error(batch.topic_partition.topic) - - # tell the user the result of their request - self._fail_batch(batch, error, base_offset=base_offset, timestamp_ms=timestamp_ms) - - if error is Errors.UnknownTopicOrPartitionError: - log.warning("%s: Received unknown topic or partition error in produce request on partition %s." - " The topic/partition may not exist or the user may not have Describe access to it", - str(self), batch.topic_partition) - - if getattr(error, 'invalid_metadata', False): - self._metadata.request_update() - + if error is not None and self._can_retry(batch, error): + # retry + log.warning("Got error produce response on topic-partition %s," + " retrying (%d attempts left). Error: %s", + batch.topic_partition, + self.config['retries'] - batch.attempts - 1, + global_error or error) + self._accumulator.reenqueue(batch) + self._sensors.record_retries(batch.topic_partition.topic, batch.record_count) else: - if batch.done(base_offset=base_offset, timestamp_ms=timestamp_ms): - self._maybe_remove_from_inflight_batches(batch) - self._accumulator.deallocate(batch) + if error is Errors.TopicAuthorizationFailedError: + error = error(batch.topic_partition.topic) - if self._transaction_manager and self._transaction_manager.producer_id_and_epoch.match(batch): - self._transaction_manager.increment_sequence_number(batch.topic_partition, batch.record_count) - log.debug("%s: Incremented sequence number for topic-partition %s to %s", str(self), batch.topic_partition, - self._transaction_manager.sequence_number(batch.topic_partition)) + # tell the user the result of their request + batch.done(base_offset, timestamp_ms, error, log_start_offset, global_error) + self._accumulator.deallocate(batch) + if error is not None: + self._sensors.record_errors(batch.topic_partition.topic, batch.record_count) + + if getattr(error, 'invalid_metadata', False): + self._metadata.request_update() # Unmute the completed partition. if self.config['guarantee_message_order']: @@ -523,10 +266,8 @@ class Sender(threading.Thread): We can retry a send if the error is transient and the number of attempts taken is fewer than the maximum allowed """ - return (not batch.has_reached_delivery_timeout(self._accumulator.delivery_timeout_ms) and - batch.attempts < self.config['retries'] and - batch.final_state is None and - getattr(error, 'retriable', False)) + return (batch.attempts < self.config['retries'] + and getattr(error, 'retriable', False)) def _create_produce_requests(self, collated): """ @@ -534,24 +275,23 @@ class Sender(threading.Thread): per-node basis. Arguments: - collated: {node_id: [ProducerBatch]} + collated: {node_id: [RecordBatch]} Returns: - dict: {node_id: ProduceRequest} (version depends on client api_versions) + dict: {node_id: ProduceRequest} (version depends on api_version) """ requests = {} for node_id, batches in six.iteritems(collated): - if batches: - requests[node_id] = self._produce_request( - node_id, self.config['acks'], - self.config['request_timeout_ms'], batches) + requests[node_id] = self._produce_request( + node_id, self.config['acks'], + self.config['request_timeout_ms'], batches) return requests def _produce_request(self, node_id, acks, timeout, batches): """Create a produce request from the given record batches. Returns: - ProduceRequest (version depends on client api_versions) + ProduceRequest (version depends on api_version) """ produce_records_by_partition = collections.defaultdict(dict) for batch in batches: @@ -561,26 +301,32 @@ class Sender(threading.Thread): buf = batch.records.buffer() produce_records_by_partition[topic][partition] = buf - version = self._client.api_version(ProduceRequest, max_version=7) - topic_partition_data = [ - (topic, list(partition_info.items())) - for topic, partition_info in six.iteritems(produce_records_by_partition)] - transactional_id = self._transaction_manager.transactional_id if self._transaction_manager else None - if version >= 3: - return ProduceRequest[version]( - transactional_id=transactional_id, - required_acks=acks, - timeout=timeout, - topics=topic_partition_data, - ) + kwargs = {} + if self.config['api_version'] >= (2, 1): + version = 7 + elif self.config['api_version'] >= (2, 0): + version = 6 + elif self.config['api_version'] >= (1, 1): + version = 5 + elif self.config['api_version'] >= (1, 0): + version = 4 + elif self.config['api_version'] >= (0, 11): + version = 3 + kwargs = dict(transactional_id=None) + elif self.config['api_version'] >= (0, 10): + version = 2 + elif self.config['api_version'] == (0, 9): + version = 1 else: - if transactional_id is not None: - log.warning('%s: Broker does not support ProduceRequest v3+, required for transactional_id', str(self)) - return ProduceRequest[version]( - required_acks=acks, - timeout=timeout, - topics=topic_partition_data, - ) + version = 0 + return ProduceRequest[version]( + required_acks=acks, + timeout=timeout, + topics=[(topic, list(partition_info.items())) + for topic, partition_info + in six.iteritems(produce_records_by_partition)], + **kwargs + ) def wakeup(self): """Wake up the selector associated with this send thread.""" @@ -589,9 +335,6 @@ class Sender(threading.Thread): def bootstrap_connected(self): return self._client.bootstrap_connected() - def __str__(self): - return "" % (self.config['client_id'], self.config['transactional_id']) - class SenderMetrics(object): @@ -624,6 +367,15 @@ class SenderMetrics(object): sensor_name=sensor_name, description='The maximum time in ms record batches spent in the record accumulator.') + sensor_name = 'produce-throttle-time' + self.produce_throttle_time_sensor = self.metrics.sensor(sensor_name) + self.add_metric('produce-throttle-time-avg', Avg(), + sensor_name=sensor_name, + description='The average throttle time in ms') + self.add_metric('produce-throttle-time-max', Max(), + sensor_name=sensor_name, + description='The maximum throttle time in ms') + sensor_name = 'records-per-request' self.records_per_request_sensor = self.metrics.sensor(sensor_name) self.add_metric('record-send-rate', Rate(), @@ -746,9 +498,8 @@ class SenderMetrics(object): records += batch.record_count total_bytes += batch.records.size_in_bytes() - if node_batch: - self.records_per_request_sensor.record(records) - self.byte_rate_sensor.record(total_bytes) + self.records_per_request_sensor.record(records) + self.byte_rate_sensor.record(total_bytes) def record_retries(self, topic, count): self.retry_sensor.record(count) @@ -761,3 +512,6 @@ class SenderMetrics(object): sensor = self.metrics.get_sensor('topic.' + topic + '.record-errors') if sensor: sensor.record(count) + + def record_throttle_time(self, throttle_time_ms, node=None): + self.produce_throttle_time_sensor.record(throttle_time_ms) diff --git a/venv/lib/python3.12/site-packages/kafka/producer/transaction_manager.py b/venv/lib/python3.12/site-packages/kafka/producer/transaction_manager.py deleted file mode 100644 index 5d69ddc..0000000 --- a/venv/lib/python3.12/site-packages/kafka/producer/transaction_manager.py +++ /dev/null @@ -1,981 +0,0 @@ -from __future__ import absolute_import, division - -import abc -import collections -import heapq -import logging -import threading - -from kafka.vendor import six - -try: - # enum in stdlib as of py3.4 - from enum import IntEnum # pylint: disable=import-error -except ImportError: - # vendored backport module - from kafka.vendor.enum34 import IntEnum - -import kafka.errors as Errors -from kafka.protocol.add_offsets_to_txn import AddOffsetsToTxnRequest -from kafka.protocol.add_partitions_to_txn import AddPartitionsToTxnRequest -from kafka.protocol.end_txn import EndTxnRequest -from kafka.protocol.find_coordinator import FindCoordinatorRequest -from kafka.protocol.init_producer_id import InitProducerIdRequest -from kafka.protocol.txn_offset_commit import TxnOffsetCommitRequest -from kafka.structs import TopicPartition - - -log = logging.getLogger(__name__) - - -NO_PRODUCER_ID = -1 -NO_PRODUCER_EPOCH = -1 -NO_SEQUENCE = -1 - - -class ProducerIdAndEpoch(object): - __slots__ = ('producer_id', 'epoch') - - def __init__(self, producer_id, epoch): - self.producer_id = producer_id - self.epoch = epoch - - @property - def is_valid(self): - return NO_PRODUCER_ID < self.producer_id - - def match(self, batch): - return self.producer_id == batch.producer_id and self.epoch == batch.producer_epoch - - def __eq__(self, other): - return isinstance(other, ProducerIdAndEpoch) and self.producer_id == other.producer_id and self.epoch == other.epoch - - def __str__(self): - return "ProducerIdAndEpoch(producer_id={}, epoch={})".format(self.producer_id, self.epoch) - - -class TransactionState(IntEnum): - UNINITIALIZED = 0 - INITIALIZING = 1 - READY = 2 - IN_TRANSACTION = 3 - COMMITTING_TRANSACTION = 4 - ABORTING_TRANSACTION = 5 - ABORTABLE_ERROR = 6 - FATAL_ERROR = 7 - - @classmethod - def is_transition_valid(cls, source, target): - if target == cls.INITIALIZING: - return source == cls.UNINITIALIZED - elif target == cls.READY: - return source in (cls.INITIALIZING, cls.COMMITTING_TRANSACTION, cls.ABORTING_TRANSACTION) - elif target == cls.IN_TRANSACTION: - return source == cls.READY - elif target == cls.COMMITTING_TRANSACTION: - return source == cls.IN_TRANSACTION - elif target == cls.ABORTING_TRANSACTION: - return source in (cls.IN_TRANSACTION, cls.ABORTABLE_ERROR) - elif target == cls.ABORTABLE_ERROR: - return source in (cls.IN_TRANSACTION, cls.COMMITTING_TRANSACTION, cls.ABORTABLE_ERROR) - elif target == cls.UNINITIALIZED: - # Disallow transitions to UNITIALIZED - return False - elif target == cls.FATAL_ERROR: - # We can transition to FATAL_ERROR unconditionally. - # FATAL_ERROR is never a valid starting state for any transition. So the only option is to close the - # producer or do purely non transactional requests. - return True - - -class Priority(IntEnum): - # We use the priority to determine the order in which requests need to be sent out. For instance, if we have - # a pending FindCoordinator request, that must always go first. Next, If we need a producer id, that must go second. - # The endTxn request must always go last. - FIND_COORDINATOR = 0 - INIT_PRODUCER_ID = 1 - ADD_PARTITIONS_OR_OFFSETS = 2 - END_TXN = 3 - - -class TransactionManager(object): - """ - A class which maintains state for transactions. Also keeps the state necessary to ensure idempotent production. - """ - NO_INFLIGHT_REQUEST_CORRELATION_ID = -1 - # The retry_backoff_ms is overridden to the following value if the first AddPartitions receives a - # CONCURRENT_TRANSACTIONS error. - ADD_PARTITIONS_RETRY_BACKOFF_MS = 20 - - def __init__(self, transactional_id=None, transaction_timeout_ms=0, retry_backoff_ms=100, api_version=(0, 11), metadata=None): - self._api_version = api_version - self._metadata = metadata - - self._sequence_numbers = collections.defaultdict(lambda: 0) - - self.transactional_id = transactional_id - self.transaction_timeout_ms = transaction_timeout_ms - self._transaction_coordinator = None - self._consumer_group_coordinator = None - self._new_partitions_in_transaction = set() - self._pending_partitions_in_transaction = set() - self._partitions_in_transaction = set() - self._pending_txn_offset_commits = dict() - - self._current_state = TransactionState.UNINITIALIZED - self._last_error = None - self.producer_id_and_epoch = ProducerIdAndEpoch(NO_PRODUCER_ID, NO_PRODUCER_EPOCH) - - self._transaction_started = False - - self._pending_requests = [] # priority queue via heapq - self._pending_requests_sort_id = 0 - self._in_flight_request_correlation_id = self.NO_INFLIGHT_REQUEST_CORRELATION_ID - - # This is used by the TxnRequestHandlers to control how long to back off before a given request is retried. - # For instance, this value is lowered by the AddPartitionsToTxnHandler when it receives a CONCURRENT_TRANSACTIONS - # error for the first AddPartitionsRequest in a transaction. - self.retry_backoff_ms = retry_backoff_ms - self._lock = threading.Condition() - - def initialize_transactions(self): - with self._lock: - self._ensure_transactional() - self._transition_to(TransactionState.INITIALIZING) - self.set_producer_id_and_epoch(ProducerIdAndEpoch(NO_PRODUCER_ID, NO_PRODUCER_EPOCH)) - self._sequence_numbers.clear() - handler = InitProducerIdHandler(self, self.transaction_timeout_ms) - self._enqueue_request(handler) - return handler.result - - def begin_transaction(self): - with self._lock: - self._ensure_transactional() - self._maybe_fail_with_error() - self._transition_to(TransactionState.IN_TRANSACTION) - - def begin_commit(self): - with self._lock: - self._ensure_transactional() - self._maybe_fail_with_error() - self._transition_to(TransactionState.COMMITTING_TRANSACTION) - return self._begin_completing_transaction(True) - - def begin_abort(self): - with self._lock: - self._ensure_transactional() - if self._current_state != TransactionState.ABORTABLE_ERROR: - self._maybe_fail_with_error() - self._transition_to(TransactionState.ABORTING_TRANSACTION) - - # We're aborting the transaction, so there should be no need to add new partitions - self._new_partitions_in_transaction.clear() - return self._begin_completing_transaction(False) - - def _begin_completing_transaction(self, committed): - if self._new_partitions_in_transaction: - self._enqueue_request(self._add_partitions_to_transaction_handler()) - handler = EndTxnHandler(self, committed) - self._enqueue_request(handler) - return handler.result - - def send_offsets_to_transaction(self, offsets, consumer_group_id): - with self._lock: - self._ensure_transactional() - self._maybe_fail_with_error() - if self._current_state != TransactionState.IN_TRANSACTION: - raise Errors.KafkaError("Cannot send offsets to transaction because the producer is not in an active transaction") - - log.debug("Begin adding offsets %s for consumer group %s to transaction", offsets, consumer_group_id) - handler = AddOffsetsToTxnHandler(self, consumer_group_id, offsets) - self._enqueue_request(handler) - return handler.result - - def maybe_add_partition_to_transaction(self, topic_partition): - with self._lock: - self._fail_if_not_ready_for_send() - - if self.is_partition_added(topic_partition) or self.is_partition_pending_add(topic_partition): - return - - log.debug("Begin adding new partition %s to transaction", topic_partition) - self._new_partitions_in_transaction.add(topic_partition) - - def _fail_if_not_ready_for_send(self): - with self._lock: - if self.has_error(): - raise Errors.KafkaError( - "Cannot perform send because at least one previous transactional or" - " idempotent request has failed with errors.", self._last_error) - - if self.is_transactional(): - if not self.has_producer_id(): - raise Errors.IllegalStateError( - "Cannot perform a 'send' before completing a call to init_transactions" - " when transactions are enabled.") - - if self._current_state != TransactionState.IN_TRANSACTION: - raise Errors.IllegalStateError("Cannot call send in state %s" % (self._current_state.name,)) - - def is_send_to_partition_allowed(self, tp): - with self._lock: - if self.has_fatal_error(): - return False - return not self.is_transactional() or tp in self._partitions_in_transaction - - def has_producer_id(self, producer_id=None): - if producer_id is None: - return self.producer_id_and_epoch.is_valid - else: - return self.producer_id_and_epoch.producer_id == producer_id - - def is_transactional(self): - return self.transactional_id is not None - - def has_partitions_to_add(self): - with self._lock: - return bool(self._new_partitions_in_transaction) or bool(self._pending_partitions_in_transaction) - - def is_completing(self): - with self._lock: - return self._current_state in ( - TransactionState.COMMITTING_TRANSACTION, - TransactionState.ABORTING_TRANSACTION) - - @property - def last_error(self): - return self._last_error - - def has_error(self): - with self._lock: - return self._current_state in ( - TransactionState.ABORTABLE_ERROR, - TransactionState.FATAL_ERROR) - - def is_aborting(self): - with self._lock: - return self._current_state == TransactionState.ABORTING_TRANSACTION - - def transition_to_abortable_error(self, exc): - with self._lock: - if self._current_state == TransactionState.ABORTING_TRANSACTION: - log.debug("Skipping transition to abortable error state since the transaction is already being " - " aborted. Underlying exception: %s", exc) - return - self._transition_to(TransactionState.ABORTABLE_ERROR, error=exc) - - def transition_to_fatal_error(self, exc): - with self._lock: - self._transition_to(TransactionState.FATAL_ERROR, error=exc) - - def is_partition_added(self, partition): - with self._lock: - return partition in self._partitions_in_transaction - - def is_partition_pending_add(self, partition): - return partition in self._new_partitions_in_transaction or partition in self._pending_partitions_in_transaction - - def has_producer_id_and_epoch(self, producer_id, producer_epoch): - return ( - self.producer_id_and_epoch.producer_id == producer_id and - self.producer_id_and_epoch.epoch == producer_epoch - ) - - def set_producer_id_and_epoch(self, producer_id_and_epoch): - if not isinstance(producer_id_and_epoch, ProducerIdAndEpoch): - raise TypeError("ProducerAndIdEpoch type required") - log.info("ProducerId set to %s with epoch %s", - producer_id_and_epoch.producer_id, producer_id_and_epoch.epoch) - self.producer_id_and_epoch = producer_id_and_epoch - - def reset_producer_id(self): - """ - This method is used when the producer needs to reset its internal state because of an irrecoverable exception - from the broker. - - We need to reset the producer id and associated state when we have sent a batch to the broker, but we either get - a non-retriable exception or we run out of retries, or the batch expired in the producer queue after it was already - sent to the broker. - - In all of these cases, we don't know whether batch was actually committed on the broker, and hence whether the - sequence number was actually updated. If we don't reset the producer state, we risk the chance that all future - messages will return an OutOfOrderSequenceNumberError. - - Note that we can't reset the producer state for the transactional producer as this would mean bumping the epoch - for the same producer id. This might involve aborting the ongoing transaction during the initProducerIdRequest, - and the user would not have any way of knowing this happened. So for the transactional producer, - it's best to return the produce error to the user and let them abort the transaction and close the producer explicitly. - """ - with self._lock: - if self.is_transactional(): - raise Errors.IllegalStateError( - "Cannot reset producer state for a transactional producer." - " You must either abort the ongoing transaction or" - " reinitialize the transactional producer instead") - self.set_producer_id_and_epoch(ProducerIdAndEpoch(NO_PRODUCER_ID, NO_PRODUCER_EPOCH)) - self._sequence_numbers.clear() - - def sequence_number(self, tp): - with self._lock: - return self._sequence_numbers[tp] - - def increment_sequence_number(self, tp, increment): - with self._lock: - if tp not in self._sequence_numbers: - raise Errors.IllegalStateError("Attempt to increment sequence number for a partition with no current sequence.") - # Sequence number wraps at java max int - base = self._sequence_numbers[tp] - if base > (2147483647 - increment): - self._sequence_numbers[tp] = increment - (2147483647 - base) - 1 - else: - self._sequence_numbers[tp] += increment - - def next_request_handler(self, has_incomplete_batches): - with self._lock: - if self._new_partitions_in_transaction: - self._enqueue_request(self._add_partitions_to_transaction_handler()) - - if not self._pending_requests: - return None - - _, _, next_request_handler = self._pending_requests[0] - # Do not send the EndTxn until all batches have been flushed - if isinstance(next_request_handler, EndTxnHandler) and has_incomplete_batches: - return None - - heapq.heappop(self._pending_requests) - if self._maybe_terminate_request_with_error(next_request_handler): - log.debug("Not sending transactional request %s because we are in an error state", - next_request_handler.request) - return None - - if isinstance(next_request_handler, EndTxnHandler) and not self._transaction_started: - next_request_handler.result.done() - if self._current_state != TransactionState.FATAL_ERROR: - log.debug("Not sending EndTxn for completed transaction since no partitions" - " or offsets were successfully added") - self._complete_transaction() - try: - _, _, next_request_handler = heapq.heappop(self._pending_requests) - except IndexError: - next_request_handler = None - - if next_request_handler: - log.debug("Request %s dequeued for sending", next_request_handler.request) - - return next_request_handler - - def retry(self, request): - with self._lock: - request.set_retry() - self._enqueue_request(request) - - def authentication_failed(self, exc): - with self._lock: - for _, _, request in self._pending_requests: - request.fatal_error(exc) - - def coordinator(self, coord_type): - if coord_type == 'group': - return self._consumer_group_coordinator - elif coord_type == 'transaction': - return self._transaction_coordinator - else: - raise Errors.IllegalStateError("Received an invalid coordinator type: %s" % (coord_type,)) - - def lookup_coordinator_for_request(self, request): - self._lookup_coordinator(request.coordinator_type, request.coordinator_key) - - def next_in_flight_request_correlation_id(self): - self._in_flight_request_correlation_id += 1 - return self._in_flight_request_correlation_id - - def clear_in_flight_transactional_request_correlation_id(self): - self._in_flight_request_correlation_id = self.NO_INFLIGHT_REQUEST_CORRELATION_ID - - def has_in_flight_transactional_request(self): - return self._in_flight_request_correlation_id != self.NO_INFLIGHT_REQUEST_CORRELATION_ID - - def has_fatal_error(self): - return self._current_state == TransactionState.FATAL_ERROR - - def has_abortable_error(self): - return self._current_state == TransactionState.ABORTABLE_ERROR - - # visible for testing - def _test_transaction_contains_partition(self, tp): - with self._lock: - return tp in self._partitions_in_transaction - - # visible for testing - def _test_has_pending_offset_commits(self): - return bool(self._pending_txn_offset_commits) - - # visible for testing - def _test_has_ongoing_transaction(self): - with self._lock: - # transactions are considered ongoing once started until completion or a fatal error - return self._current_state == TransactionState.IN_TRANSACTION or self.is_completing() or self.has_abortable_error() - - # visible for testing - def _test_is_ready(self): - with self._lock: - return self.is_transactional() and self._current_state == TransactionState.READY - - def _transition_to(self, target, error=None): - with self._lock: - if not self._current_state.is_transition_valid(self._current_state, target): - raise Errors.KafkaError("TransactionalId %s: Invalid transition attempted from state %s to state %s" % ( - self.transactional_id, self._current_state.name, target.name)) - - if target in (TransactionState.FATAL_ERROR, TransactionState.ABORTABLE_ERROR): - if error is None: - raise Errors.IllegalArgumentError("Cannot transition to %s with an None exception" % (target.name,)) - self._last_error = error - else: - self._last_error = None - - if self._last_error is not None: - log.debug("Transition from state %s to error state %s (%s)", self._current_state.name, target.name, self._last_error) - else: - log.debug("Transition from state %s to %s", self._current_state, target) - self._current_state = target - - def _ensure_transactional(self): - if not self.is_transactional(): - raise Errors.IllegalStateError("Transactional method invoked on a non-transactional producer.") - - def _maybe_fail_with_error(self): - if self.has_error(): - raise Errors.KafkaError("Cannot execute transactional method because we are in an error state: %s" % (self._last_error,)) - - def _maybe_terminate_request_with_error(self, request_handler): - if self.has_error(): - if self.has_abortable_error() and isinstance(request_handler, FindCoordinatorHandler): - # No harm letting the FindCoordinator request go through if we're expecting to abort - return False - request_handler.fail(self._last_error) - return True - return False - - def _next_pending_requests_sort_id(self): - self._pending_requests_sort_id += 1 - return self._pending_requests_sort_id - - def _enqueue_request(self, request_handler): - log.debug("Enqueuing transactional request %s", request_handler.request) - heapq.heappush( - self._pending_requests, - ( - request_handler.priority, # keep lowest priority at head of queue - self._next_pending_requests_sort_id(), # break ties - request_handler - ) - ) - - def _lookup_coordinator(self, coord_type, coord_key): - with self._lock: - if coord_type == 'group': - self._consumer_group_coordinator = None - elif coord_type == 'transaction': - self._transaction_coordinator = None - else: - raise Errors.IllegalStateError("Invalid coordinator type: %s" % (coord_type,)) - self._enqueue_request(FindCoordinatorHandler(self, coord_type, coord_key)) - - def _complete_transaction(self): - with self._lock: - self._transition_to(TransactionState.READY) - self._transaction_started = False - self._new_partitions_in_transaction.clear() - self._pending_partitions_in_transaction.clear() - self._partitions_in_transaction.clear() - - def _add_partitions_to_transaction_handler(self): - with self._lock: - self._pending_partitions_in_transaction.update(self._new_partitions_in_transaction) - self._new_partitions_in_transaction.clear() - return AddPartitionsToTxnHandler(self, self._pending_partitions_in_transaction) - - -class TransactionalRequestResult(object): - def __init__(self): - self._latch = threading.Event() - self._error = None - - def done(self, error=None): - self._error = error - self._latch.set() - - def wait(self, timeout_ms=None): - timeout = timeout_ms / 1000 if timeout_ms is not None else None - success = self._latch.wait(timeout) - if self._error: - raise self._error - return success - - @property - def is_done(self): - return self._latch.is_set() - - @property - def succeeded(self): - return self._latch.is_set() and self._error is None - - @property - def failed(self): - return self._latch.is_set() and self._error is not None - - @property - def exception(self): - return self._error - - -@six.add_metaclass(abc.ABCMeta) -class TxnRequestHandler(object): - def __init__(self, transaction_manager, result=None): - self.transaction_manager = transaction_manager - self.retry_backoff_ms = transaction_manager.retry_backoff_ms - self.request = None - self._result = result or TransactionalRequestResult() - self._is_retry = False - - @property - def transactional_id(self): - return self.transaction_manager.transactional_id - - @property - def producer_id(self): - return self.transaction_manager.producer_id_and_epoch.producer_id - - @property - def producer_epoch(self): - return self.transaction_manager.producer_id_and_epoch.epoch - - def fatal_error(self, exc): - self.transaction_manager.transition_to_fatal_error(exc) - self._result.done(error=exc) - - def abortable_error(self, exc): - self.transaction_manager.transition_to_abortable_error(exc) - self._result.done(error=exc) - - def fail(self, exc): - self._result.done(error=exc) - - def reenqueue(self): - with self.transaction_manager._lock: - self._is_retry = True - self.transaction_manager._enqueue_request(self) - - def on_complete(self, correlation_id, response_or_exc): - if correlation_id != self.transaction_manager._in_flight_request_correlation_id: - self.fatal_error(RuntimeError("Detected more than one in-flight transactional request.")) - else: - self.transaction_manager.clear_in_flight_transactional_request_correlation_id() - if isinstance(response_or_exc, Errors.KafkaConnectionError): - log.debug("Disconnected from node. Will retry.") - if self.needs_coordinator(): - self.transaction_manager._lookup_coordinator(self.coordinator_type, self.coordinator_key) - self.reenqueue() - elif isinstance(response_or_exc, Errors.UnsupportedVersionError): - self.fatal_error(response_or_exc) - elif not isinstance(response_or_exc, (Exception, type(None))): - log.debug("Received transactional response %s for request %s", response_or_exc, self.request) - with self.transaction_manager._lock: - self.handle_response(response_or_exc) - else: - self.fatal_error(Errors.KafkaError("Could not execute transactional request for unknown reasons: %s" % response_or_exc)) - - def needs_coordinator(self): - return self.coordinator_type is not None - - @property - def result(self): - return self._result - - @property - def coordinator_type(self): - return 'transaction' - - @property - def coordinator_key(self): - return self.transaction_manager.transactional_id - - def set_retry(self): - self._is_retry = True - - @property - def is_retry(self): - return self._is_retry - - @abc.abstractmethod - def handle_response(self, response): - pass - - @abc.abstractproperty - def priority(self): - pass - - -class InitProducerIdHandler(TxnRequestHandler): - def __init__(self, transaction_manager, transaction_timeout_ms): - super(InitProducerIdHandler, self).__init__(transaction_manager) - - if transaction_manager._api_version >= (2, 0): - version = 1 - else: - version = 0 - self.request = InitProducerIdRequest[version]( - transactional_id=self.transactional_id, - transaction_timeout_ms=transaction_timeout_ms) - - @property - def priority(self): - return Priority.INIT_PRODUCER_ID - - def handle_response(self, response): - error = Errors.for_code(response.error_code) - - if error is Errors.NoError: - self.transaction_manager.set_producer_id_and_epoch(ProducerIdAndEpoch(response.producer_id, response.producer_epoch)) - self.transaction_manager._transition_to(TransactionState.READY) - self._result.done() - elif error in (Errors.NotCoordinatorError, Errors.CoordinatorNotAvailableError): - self.transaction_manager._lookup_coordinator('transaction', self.transactional_id) - self.reenqueue() - elif error in (Errors.CoordinatorLoadInProgressError, Errors.ConcurrentTransactionsError): - self.reenqueue() - elif error is Errors.TransactionalIdAuthorizationFailedError: - self.fatal_error(error()) - else: - self.fatal_error(Errors.KafkaError("Unexpected error in InitProducerIdResponse: %s" % (error()))) - -class AddPartitionsToTxnHandler(TxnRequestHandler): - def __init__(self, transaction_manager, topic_partitions): - super(AddPartitionsToTxnHandler, self).__init__(transaction_manager) - - if transaction_manager._api_version >= (2, 7): - version = 2 - elif transaction_manager._api_version >= (2, 0): - version = 1 - else: - version = 0 - topic_data = collections.defaultdict(list) - for tp in topic_partitions: - topic_data[tp.topic].append(tp.partition) - self.request = AddPartitionsToTxnRequest[version]( - transactional_id=self.transactional_id, - producer_id=self.producer_id, - producer_epoch=self.producer_epoch, - topics=list(topic_data.items())) - - @property - def priority(self): - return Priority.ADD_PARTITIONS_OR_OFFSETS - - def handle_response(self, response): - has_partition_errors = False - unauthorized_topics = set() - self.retry_backoff_ms = self.transaction_manager.retry_backoff_ms - - results = {TopicPartition(topic, partition): Errors.for_code(error_code) - for topic, partition_data in response.results - for partition, error_code in partition_data} - - for tp, error in six.iteritems(results): - if error is Errors.NoError: - continue - elif error in (Errors.CoordinatorNotAvailableError, Errors.NotCoordinatorError): - self.transaction_manager._lookup_coordinator('transaction', self.transactional_id) - self.reenqueue() - return - elif error is Errors.ConcurrentTransactionsError: - self.maybe_override_retry_backoff_ms() - self.reenqueue() - return - elif error in (Errors.CoordinatorLoadInProgressError, Errors.UnknownTopicOrPartitionError): - self.reenqueue() - return - elif error is Errors.InvalidProducerEpochError: - self.fatal_error(error()) - return - elif error is Errors.TransactionalIdAuthorizationFailedError: - self.fatal_error(error()) - return - elif error in (Errors.InvalidProducerIdMappingError, Errors.InvalidTxnStateError): - self.fatal_error(Errors.KafkaError(error())) - return - elif error is Errors.TopicAuthorizationFailedError: - unauthorized_topics.add(tp.topic) - elif error is Errors.OperationNotAttemptedError: - log.debug("Did not attempt to add partition %s to transaction because other partitions in the" - " batch had errors.", tp) - has_partition_errors = True - else: - log.error("Could not add partition %s due to unexpected error %s", tp, error()) - has_partition_errors = True - - partitions = set(results) - - # Remove the partitions from the pending set regardless of the result. We use the presence - # of partitions in the pending set to know when it is not safe to send batches. However, if - # the partitions failed to be added and we enter an error state, we expect the batches to be - # aborted anyway. In this case, we must be able to continue sending the batches which are in - # retry for partitions that were successfully added. - self.transaction_manager._pending_partitions_in_transaction -= partitions - - if unauthorized_topics: - self.abortable_error(Errors.TopicAuthorizationFailedError(unauthorized_topics)) - elif has_partition_errors: - self.abortable_error(Errors.KafkaError("Could not add partitions to transaction due to errors: %s" % (results))) - else: - log.debug("Successfully added partitions %s to transaction", partitions) - self.transaction_manager._partitions_in_transaction.update(partitions) - self.transaction_manager._transaction_started = True - self._result.done() - - def maybe_override_retry_backoff_ms(self): - # We only want to reduce the backoff when retrying the first AddPartition which errored out due to a - # CONCURRENT_TRANSACTIONS error since this means that the previous transaction is still completing and - # we don't want to wait too long before trying to start the new one. - # - # This is only a temporary fix, the long term solution is being tracked in - # https://issues.apache.org/jira/browse/KAFKA-5482 - if not self.transaction_manager._partitions_in_transaction: - self.retry_backoff_ms = min(self.transaction_manager.ADD_PARTITIONS_RETRY_BACKOFF_MS, self.retry_backoff_ms) - - -class FindCoordinatorHandler(TxnRequestHandler): - def __init__(self, transaction_manager, coord_type, coord_key): - super(FindCoordinatorHandler, self).__init__(transaction_manager) - - self._coord_type = coord_type - self._coord_key = coord_key - if transaction_manager._api_version >= (2, 0): - version = 2 - else: - version = 1 - if coord_type == 'group': - coord_type_int8 = 0 - elif coord_type == 'transaction': - coord_type_int8 = 1 - else: - raise ValueError("Unrecognized coordinator type: %s" % (coord_type,)) - self.request = FindCoordinatorRequest[version]( - coordinator_key=coord_key, - coordinator_type=coord_type_int8, - ) - - @property - def priority(self): - return Priority.FIND_COORDINATOR - - @property - def coordinator_type(self): - return None - - @property - def coordinator_key(self): - return None - - def handle_response(self, response): - error = Errors.for_code(response.error_code) - - if error is Errors.NoError: - coordinator_id = self.transaction_manager._metadata.add_coordinator( - response, self._coord_type, self._coord_key) - if self._coord_type == 'group': - self.transaction_manager._consumer_group_coordinator = coordinator_id - elif self._coord_type == 'transaction': - self.transaction_manager._transaction_coordinator = coordinator_id - self._result.done() - elif error is Errors.CoordinatorNotAvailableError: - self.reenqueue() - elif error is Errors.TransactionalIdAuthorizationFailedError: - self.fatal_error(error()) - elif error is Errors.GroupAuthorizationFailedError: - self.abortable_error(error(self._coord_key)) - else: - self.fatal_error(Errors.KafkaError( - "Could not find a coordinator with type %s with key %s due to" - " unexpected error: %s" % (self._coord_type, self._coord_key, error()))) - - -class EndTxnHandler(TxnRequestHandler): - def __init__(self, transaction_manager, committed): - super(EndTxnHandler, self).__init__(transaction_manager) - - if self.transaction_manager._api_version >= (2, 7): - version = 2 - elif self.transaction_manager._api_version >= (2, 0): - version = 1 - else: - version = 0 - self.request = EndTxnRequest[version]( - transactional_id=self.transactional_id, - producer_id=self.producer_id, - producer_epoch=self.producer_epoch, - committed=committed) - - @property - def priority(self): - return Priority.END_TXN - - def handle_response(self, response): - error = Errors.for_code(response.error_code) - - if error is Errors.NoError: - self.transaction_manager._complete_transaction() - self._result.done() - elif error in (Errors.CoordinatorNotAvailableError, Errors.NotCoordinatorError): - self.transaction_manager._lookup_coordinator('transaction', self.transactional_id) - self.reenqueue() - elif error in (Errors.CoordinatorLoadInProgressError, Errors.ConcurrentTransactionsError): - self.reenqueue() - elif error is Errors.InvalidProducerEpochError: - self.fatal_error(error()) - elif error is Errors.TransactionalIdAuthorizationFailedError: - self.fatal_error(error()) - elif error is Errors.InvalidTxnStateError: - self.fatal_error(error()) - else: - self.fatal_error(Errors.KafkaError("Unhandled error in EndTxnResponse: %s" % (error()))) - - -class AddOffsetsToTxnHandler(TxnRequestHandler): - def __init__(self, transaction_manager, consumer_group_id, offsets): - super(AddOffsetsToTxnHandler, self).__init__(transaction_manager) - - self.consumer_group_id = consumer_group_id - self.offsets = offsets - if self.transaction_manager._api_version >= (2, 7): - version = 2 - elif self.transaction_manager._api_version >= (2, 0): - version = 1 - else: - version = 0 - self.request = AddOffsetsToTxnRequest[version]( - transactional_id=self.transactional_id, - producer_id=self.producer_id, - producer_epoch=self.producer_epoch, - group_id=consumer_group_id) - - @property - def priority(self): - return Priority.ADD_PARTITIONS_OR_OFFSETS - - def handle_response(self, response): - error = Errors.for_code(response.error_code) - - if error is Errors.NoError: - log.debug("Successfully added partition for consumer group %s to transaction", self.consumer_group_id) - - # note the result is not completed until the TxnOffsetCommit returns - for tp, offset in six.iteritems(self.offsets): - self.transaction_manager._pending_txn_offset_commits[tp] = offset - handler = TxnOffsetCommitHandler(self.transaction_manager, self.consumer_group_id, - self.transaction_manager._pending_txn_offset_commits, self._result) - self.transaction_manager._enqueue_request(handler) - self.transaction_manager._transaction_started = True - elif error in (Errors.CoordinatorNotAvailableError, Errors.NotCoordinatorError): - self.transaction_manager._lookup_coordinator('transaction', self.transactional_id) - self.reenqueue() - elif error in (Errors.CoordinatorLoadInProgressError, Errors.ConcurrentTransactionsError): - self.reenqueue() - elif error is Errors.InvalidProducerEpochError: - self.fatal_error(error()) - elif error is Errors.TransactionalIdAuthorizationFailedError: - self.fatal_error(error()) - elif error is Errors.GroupAuthorizationFailedError: - self.abortable_error(error(self.consumer_group_id)) - else: - self.fatal_error(Errors.KafkaError("Unexpected error in AddOffsetsToTxnResponse: %s" % (error()))) - - -class TxnOffsetCommitHandler(TxnRequestHandler): - def __init__(self, transaction_manager, consumer_group_id, offsets, result): - super(TxnOffsetCommitHandler, self).__init__(transaction_manager, result=result) - - self.consumer_group_id = consumer_group_id - self.offsets = offsets - self.request = self._build_request() - - def _build_request(self): - if self.transaction_manager._api_version >= (2, 1): - version = 2 - elif self.transaction_manager._api_version >= (2, 0): - version = 1 - else: - version = 0 - - topic_data = collections.defaultdict(list) - for tp, offset in six.iteritems(self.offsets): - if version >= 2: - partition_data = (tp.partition, offset.offset, offset.leader_epoch, offset.metadata) - else: - partition_data = (tp.partition, offset.offset, offset.metadata) - topic_data[tp.topic].append(partition_data) - - return TxnOffsetCommitRequest[version]( - transactional_id=self.transactional_id, - group_id=self.consumer_group_id, - producer_id=self.producer_id, - producer_epoch=self.producer_epoch, - topics=list(topic_data.items())) - - @property - def priority(self): - return Priority.ADD_PARTITIONS_OR_OFFSETS - - @property - def coordinator_type(self): - return 'group' - - @property - def coordinator_key(self): - return self.consumer_group_id - - def handle_response(self, response): - lookup_coordinator = False - retriable_failure = False - - errors = {TopicPartition(topic, partition): Errors.for_code(error_code) - for topic, partition_data in response.topics - for partition, error_code in partition_data} - - for tp, error in six.iteritems(errors): - if error is Errors.NoError: - log.debug("Successfully added offsets for %s from consumer group %s to transaction.", - tp, self.consumer_group_id) - del self.transaction_manager._pending_txn_offset_commits[tp] - elif error in (errors.CoordinatorNotAvailableError, Errors.NotCoordinatorError, Errors.RequestTimedOutError): - retriable_failure = True - lookup_coordinator = True - elif error is Errors.UnknownTopicOrPartitionError: - retriable_failure = True - elif error is Errors.GroupAuthorizationFailedError: - self.abortable_error(error(self.consumer_group_id)) - return - elif error in (Errors.TransactionalIdAuthorizationFailedError, - Errors.InvalidProducerEpochError, - Errors.UnsupportedForMessageFormatError): - self.fatal_error(error()) - return - else: - self.fatal_error(Errors.KafkaError("Unexpected error in TxnOffsetCommitResponse: %s" % (error()))) - return - - if lookup_coordinator: - self.transaction_manager._lookup_coordinator('group', self.consumer_group_id) - - if not retriable_failure: - # all attempted partitions were either successful, or there was a fatal failure. - # either way, we are not retrying, so complete the request. - self.result.done() - - # retry the commits which failed with a retriable error. - elif self.transaction_manager._pending_txn_offset_commits: - self.offsets = self.transaction_manager._pending_txn_offset_commits - self.request = self._build_request() - self.reenqueue() diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/__init__.py b/venv/lib/python3.12/site-packages/kafka/protocol/__init__.py index 025447f..26dcc78 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/__init__.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/__init__.py @@ -43,7 +43,4 @@ API_KEYS = { 40: 'ExpireDelegationToken', 41: 'DescribeDelegationToken', 42: 'DeleteGroups', - 45: 'AlterPartitionReassignments', - 46: 'ListPartitionReassignments', - 48: 'DescribeClientQuotas', } diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/abstract.py b/venv/lib/python3.12/site-packages/kafka/protocol/abstract.py index 7ce5fc1..2de65c4 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/abstract.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/abstract.py @@ -2,11 +2,10 @@ from __future__ import absolute_import import abc -from kafka.vendor.six import add_metaclass - -@add_metaclass(abc.ABCMeta) class AbstractType(object): + __metaclass__ = abc.ABCMeta + @abc.abstractmethod def encode(cls, value): # pylint: disable=no-self-argument pass diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/add_offsets_to_txn.py b/venv/lib/python3.12/site-packages/kafka/protocol/add_offsets_to_txn.py deleted file mode 100644 index fa25093..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/add_offsets_to_txn.py +++ /dev/null @@ -1,59 +0,0 @@ -from __future__ import absolute_import - -from kafka.protocol.api import Request, Response -from kafka.protocol.types import Int16, Int32, Int64, Schema, String - - -class AddOffsetsToTxnResponse_v0(Response): - API_KEY = 25 - API_VERSION = 0 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('error_code', Int16), - ) - - -class AddOffsetsToTxnResponse_v1(Response): - API_KEY = 25 - API_VERSION = 1 - SCHEMA = AddOffsetsToTxnResponse_v0.SCHEMA - - -class AddOffsetsToTxnResponse_v2(Response): - API_KEY = 25 - API_VERSION = 2 - SCHEMA = AddOffsetsToTxnResponse_v1.SCHEMA - - -class AddOffsetsToTxnRequest_v0(Request): - API_KEY = 25 - API_VERSION = 0 - RESPONSE_TYPE = AddOffsetsToTxnResponse_v0 - SCHEMA = Schema( - ('transactional_id', String('utf-8')), - ('producer_id', Int64), - ('producer_epoch', Int16), - ('group_id', String('utf-8')), - ) - - -class AddOffsetsToTxnRequest_v1(Request): - API_KEY = 25 - API_VERSION = 1 - RESPONSE_TYPE = AddOffsetsToTxnResponse_v1 - SCHEMA = AddOffsetsToTxnRequest_v0.SCHEMA - - -class AddOffsetsToTxnRequest_v2(Request): - API_KEY = 25 - API_VERSION = 2 - RESPONSE_TYPE = AddOffsetsToTxnResponse_v2 - SCHEMA = AddOffsetsToTxnRequest_v1.SCHEMA - - -AddOffsetsToTxnRequest = [ - AddOffsetsToTxnRequest_v0, AddOffsetsToTxnRequest_v1, AddOffsetsToTxnRequest_v2, -] -AddOffsetsToTxnResponse = [ - AddOffsetsToTxnResponse_v0, AddOffsetsToTxnResponse_v1, AddOffsetsToTxnResponse_v2, -] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/add_partitions_to_txn.py b/venv/lib/python3.12/site-packages/kafka/protocol/add_partitions_to_txn.py deleted file mode 100644 index fdf28f4..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/add_partitions_to_txn.py +++ /dev/null @@ -1,63 +0,0 @@ -from __future__ import absolute_import - -from kafka.protocol.api import Request, Response -from kafka.protocol.types import Array, Int16, Int32, Int64, Schema, String - - -class AddPartitionsToTxnResponse_v0(Response): - API_KEY = 24 - API_VERSION = 0 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('results', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('partition', Int32), - ('error_code', Int16)))))) - - -class AddPartitionsToTxnResponse_v1(Response): - API_KEY = 24 - API_VERSION = 1 - SCHEMA = AddPartitionsToTxnResponse_v0.SCHEMA - - -class AddPartitionsToTxnResponse_v2(Response): - API_KEY = 24 - API_VERSION = 2 - SCHEMA = AddPartitionsToTxnResponse_v1.SCHEMA - - -class AddPartitionsToTxnRequest_v0(Request): - API_KEY = 24 - API_VERSION = 0 - RESPONSE_TYPE = AddPartitionsToTxnResponse_v0 - SCHEMA = Schema( - ('transactional_id', String('utf-8')), - ('producer_id', Int64), - ('producer_epoch', Int16), - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array(Int32))))) - - -class AddPartitionsToTxnRequest_v1(Request): - API_KEY = 24 - API_VERSION = 1 - RESPONSE_TYPE = AddPartitionsToTxnResponse_v1 - SCHEMA = AddPartitionsToTxnRequest_v0.SCHEMA - - -class AddPartitionsToTxnRequest_v2(Request): - API_KEY = 24 - API_VERSION = 2 - RESPONSE_TYPE = AddPartitionsToTxnResponse_v2 - SCHEMA = AddPartitionsToTxnRequest_v1.SCHEMA - - -AddPartitionsToTxnRequest = [ - AddPartitionsToTxnRequest_v0, AddPartitionsToTxnRequest_v1, AddPartitionsToTxnRequest_v2, -] -AddPartitionsToTxnResponse = [ - AddPartitionsToTxnResponse_v0, AddPartitionsToTxnResponse_v1, AddPartitionsToTxnResponse_v2, -] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/admin.py b/venv/lib/python3.12/site-packages/kafka/protocol/admin.py index 2551668..f3b691a 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/admin.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/admin.py @@ -1,14 +1,67 @@ from __future__ import absolute_import -# enum in stdlib as of py3.4 -try: - from enum import IntEnum # pylint: disable=import-error -except ImportError: - # vendored backport module - from kafka.vendor.enum34 import IntEnum - from kafka.protocol.api import Request, Response -from kafka.protocol.types import Array, Boolean, Bytes, Int8, Int16, Int32, Int64, Schema, String, Float64, CompactString, CompactArray, TaggedFields +from kafka.protocol.types import Array, Boolean, Bytes, Int8, Int16, Int32, Int64, Schema, String + + +class ApiVersionResponse_v0(Response): + API_KEY = 18 + API_VERSION = 0 + SCHEMA = Schema( + ('error_code', Int16), + ('api_versions', Array( + ('api_key', Int16), + ('min_version', Int16), + ('max_version', Int16))) + ) + + +class ApiVersionResponse_v1(Response): + API_KEY = 18 + API_VERSION = 1 + SCHEMA = Schema( + ('error_code', Int16), + ('api_versions', Array( + ('api_key', Int16), + ('min_version', Int16), + ('max_version', Int16))), + ('throttle_time_ms', Int32) + ) + + +class ApiVersionResponse_v2(Response): + API_KEY = 18 + API_VERSION = 2 + SCHEMA = ApiVersionResponse_v1.SCHEMA + + +class ApiVersionRequest_v0(Request): + API_KEY = 18 + API_VERSION = 0 + RESPONSE_TYPE = ApiVersionResponse_v0 + SCHEMA = Schema() + + +class ApiVersionRequest_v1(Request): + API_KEY = 18 + API_VERSION = 1 + RESPONSE_TYPE = ApiVersionResponse_v1 + SCHEMA = ApiVersionRequest_v0.SCHEMA + + +class ApiVersionRequest_v2(Request): + API_KEY = 18 + API_VERSION = 2 + RESPONSE_TYPE = ApiVersionResponse_v1 + SCHEMA = ApiVersionRequest_v0.SCHEMA + + +ApiVersionRequest = [ + ApiVersionRequest_v0, ApiVersionRequest_v1, ApiVersionRequest_v2, +] +ApiVersionResponse = [ + ApiVersionResponse_v0, ApiVersionResponse_v1, ApiVersionResponse_v2, +] class CreateTopicsResponse_v0(Response): @@ -186,38 +239,6 @@ DeleteTopicsResponse = [ ] -class DeleteRecordsResponse_v0(Response): - API_KEY = 21 - API_VERSION = 0 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('topics', Array( - ('name', String('utf-8')), - ('partitions', Array( - ('partition_index', Int32), - ('low_watermark', Int64), - ('error_code', Int16))))), - ) - - -class DeleteRecordsRequest_v0(Request): - API_KEY = 21 - API_VERSION = 0 - RESPONSE_TYPE = DeleteRecordsResponse_v0 - SCHEMA = Schema( - ('topics', Array( - ('name', String('utf-8')), - ('partitions', Array( - ('partition_index', Int32), - ('offset', Int64))))), - ('timeout_ms', Int32) - ) - - -DeleteRecordsResponse = [DeleteRecordsResponse_v0] -DeleteRecordsRequest = [DeleteRecordsRequest_v0] - - class ListGroupsResponse_v0(Response): API_KEY = 16 API_VERSION = 0 @@ -385,6 +406,41 @@ DescribeGroupsResponse = [ ] +class SaslHandShakeResponse_v0(Response): + API_KEY = 17 + API_VERSION = 0 + SCHEMA = Schema( + ('error_code', Int16), + ('enabled_mechanisms', Array(String('utf-8'))) + ) + + +class SaslHandShakeResponse_v1(Response): + API_KEY = 17 + API_VERSION = 1 + SCHEMA = SaslHandShakeResponse_v0.SCHEMA + + +class SaslHandShakeRequest_v0(Request): + API_KEY = 17 + API_VERSION = 0 + RESPONSE_TYPE = SaslHandShakeResponse_v0 + SCHEMA = Schema( + ('mechanism', String('utf-8')) + ) + + +class SaslHandShakeRequest_v1(Request): + API_KEY = 17 + API_VERSION = 1 + RESPONSE_TYPE = SaslHandShakeResponse_v1 + SCHEMA = SaslHandShakeRequest_v0.SCHEMA + + +SaslHandShakeRequest = [SaslHandShakeRequest_v0, SaslHandShakeRequest_v1] +SaslHandShakeResponse = [SaslHandShakeResponse_v0, SaslHandShakeResponse_v1] + + class DescribeAclsResponse_v0(Response): API_KEY = 29 API_VERSION = 0 @@ -467,8 +523,8 @@ class DescribeAclsRequest_v2(Request): SCHEMA = DescribeAclsRequest_v1.SCHEMA -DescribeAclsRequest = [DescribeAclsRequest_v0, DescribeAclsRequest_v1, DescribeAclsRequest_v2] -DescribeAclsResponse = [DescribeAclsResponse_v0, DescribeAclsResponse_v1, DescribeAclsResponse_v2] +DescribeAclsRequest = [DescribeAclsRequest_v0, DescribeAclsRequest_v1] +DescribeAclsResponse = [DescribeAclsResponse_v0, DescribeAclsResponse_v1] class CreateAclsResponse_v0(Response): API_KEY = 30 @@ -663,7 +719,7 @@ class DescribeConfigsResponse_v1(Response): ('config_names', String('utf-8')), ('config_value', String('utf-8')), ('read_only', Boolean), - ('config_source', Int8), + ('is_default', Boolean), ('is_sensitive', Boolean), ('config_synonyms', Array( ('config_name', String('utf-8')), @@ -734,47 +790,6 @@ DescribeConfigsResponse = [ ] -class DescribeLogDirsResponse_v0(Response): - API_KEY = 35 - API_VERSION = 0 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('log_dirs', Array( - ('error_code', Int16), - ('log_dir', String('utf-8')), - ('topics', Array( - ('name', String('utf-8')), - ('partitions', Array( - ('partition_index', Int32), - ('partition_size', Int64), - ('offset_lag', Int64), - ('is_future_key', Boolean) - )) - )) - )) - ) - - -class DescribeLogDirsRequest_v0(Request): - API_KEY = 35 - API_VERSION = 0 - RESPONSE_TYPE = DescribeLogDirsResponse_v0 - SCHEMA = Schema( - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Int32) - )) - ) - - -DescribeLogDirsResponse = [ - DescribeLogDirsResponse_v0, -] -DescribeLogDirsRequest = [ - DescribeLogDirsRequest_v0, -] - - class SaslAuthenticateResponse_v0(Response): API_KEY = 36 API_VERSION = 0 @@ -908,208 +923,3 @@ DeleteGroupsRequest = [ DeleteGroupsResponse = [ DeleteGroupsResponse_v0, DeleteGroupsResponse_v1 ] - - -class DescribeClientQuotasResponse_v0(Response): - API_KEY = 48 - API_VERSION = 0 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('error_code', Int16), - ('error_message', String('utf-8')), - ('entries', Array( - ('entity', Array( - ('entity_type', String('utf-8')), - ('entity_name', String('utf-8')))), - ('values', Array( - ('name', String('utf-8')), - ('value', Float64))))), - ) - - -class DescribeClientQuotasRequest_v0(Request): - API_KEY = 48 - API_VERSION = 0 - RESPONSE_TYPE = DescribeClientQuotasResponse_v0 - SCHEMA = Schema( - ('components', Array( - ('entity_type', String('utf-8')), - ('match_type', Int8), - ('match', String('utf-8')), - )), - ('strict', Boolean) - ) - - -DescribeClientQuotasRequest = [ - DescribeClientQuotasRequest_v0, -] - -DescribeClientQuotasResponse = [ - DescribeClientQuotasResponse_v0, -] - - -class AlterPartitionReassignmentsResponse_v0(Response): - API_KEY = 45 - API_VERSION = 0 - SCHEMA = Schema( - ("throttle_time_ms", Int32), - ("error_code", Int16), - ("error_message", CompactString("utf-8")), - ("responses", CompactArray( - ("name", CompactString("utf-8")), - ("partitions", CompactArray( - ("partition_index", Int32), - ("error_code", Int16), - ("error_message", CompactString("utf-8")), - ("tags", TaggedFields) - )), - ("tags", TaggedFields) - )), - ("tags", TaggedFields) - ) - FLEXIBLE_VERSION = True - - -class AlterPartitionReassignmentsRequest_v0(Request): - FLEXIBLE_VERSION = True - API_KEY = 45 - API_VERSION = 0 - RESPONSE_TYPE = AlterPartitionReassignmentsResponse_v0 - SCHEMA = Schema( - ("timeout_ms", Int32), - ("topics", CompactArray( - ("name", CompactString("utf-8")), - ("partitions", CompactArray( - ("partition_index", Int32), - ("replicas", CompactArray(Int32)), - ("tags", TaggedFields) - )), - ("tags", TaggedFields) - )), - ("tags", TaggedFields) - ) - - -AlterPartitionReassignmentsRequest = [AlterPartitionReassignmentsRequest_v0] - -AlterPartitionReassignmentsResponse = [AlterPartitionReassignmentsResponse_v0] - - -class ListPartitionReassignmentsResponse_v0(Response): - API_KEY = 46 - API_VERSION = 0 - SCHEMA = Schema( - ("throttle_time_ms", Int32), - ("error_code", Int16), - ("error_message", CompactString("utf-8")), - ("topics", CompactArray( - ("name", CompactString("utf-8")), - ("partitions", CompactArray( - ("partition_index", Int32), - ("replicas", CompactArray(Int32)), - ("adding_replicas", CompactArray(Int32)), - ("removing_replicas", CompactArray(Int32)), - ("tags", TaggedFields) - )), - ("tags", TaggedFields) - )), - ("tags", TaggedFields) - ) - FLEXIBLE_VERSION = True - - -class ListPartitionReassignmentsRequest_v0(Request): - FLEXIBLE_VERSION = True - API_KEY = 46 - API_VERSION = 0 - RESPONSE_TYPE = ListPartitionReassignmentsResponse_v0 - SCHEMA = Schema( - ("timeout_ms", Int32), - ("topics", CompactArray( - ("name", CompactString("utf-8")), - ("partition_index", CompactArray(Int32)), - ("tags", TaggedFields) - )), - ("tags", TaggedFields) - ) - - -ListPartitionReassignmentsRequest = [ListPartitionReassignmentsRequest_v0] - -ListPartitionReassignmentsResponse = [ListPartitionReassignmentsResponse_v0] - - -class ElectLeadersResponse_v0(Response): - API_KEY = 43 - API_VERSION = 1 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('error_code', Int16), - ('replication_election_results', Array( - ('topic', String('utf-8')), - ('partition_result', Array( - ('partition_id', Int32), - ('error_code', Int16), - ('error_message', String('utf-8')) - )) - )) - ) - - -class ElectLeadersRequest_v0(Request): - API_KEY = 43 - API_VERSION = 1 - RESPONSE_TYPE = ElectLeadersResponse_v0 - SCHEMA = Schema( - ('election_type', Int8), - ('topic_partitions', Array( - ('topic', String('utf-8')), - ('partition_ids', Array(Int32)) - )), - ('timeout', Int32), - ) - - -class ElectLeadersResponse_v1(Response): - API_KEY = 43 - API_VERSION = 1 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('error_code', Int16), - ('replication_election_results', Array( - ('topic', String('utf-8')), - ('partition_result', Array( - ('partition_id', Int32), - ('error_code', Int16), - ('error_message', String('utf-8')) - )) - )) - ) - - -class ElectLeadersRequest_v1(Request): - API_KEY = 43 - API_VERSION = 1 - RESPONSE_TYPE = ElectLeadersResponse_v1 - SCHEMA = Schema( - ('election_type', Int8), - ('topic_partitions', Array( - ('topic', String('utf-8')), - ('partition_ids', Array(Int32)) - )), - ('timeout', Int32), - ) - - -class ElectionType(IntEnum): - """ Leader election type - """ - - PREFERRED = 0, - UNCLEAN = 1 - - -ElectLeadersRequest = [ElectLeadersRequest_v0, ElectLeadersRequest_v1] -ElectLeadersResponse = [ElectLeadersResponse_v0, ElectLeadersResponse_v1] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/api.py b/venv/lib/python3.12/site-packages/kafka/protocol/api.py index 9cd5767..64276fc 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/api.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/api.py @@ -3,9 +3,7 @@ from __future__ import absolute_import import abc from kafka.protocol.struct import Struct -from kafka.protocol.types import Int16, Int32, String, Schema, Array, TaggedFields - -from kafka.vendor.six import add_metaclass +from kafka.protocol.types import Int16, Int32, String, Schema, Array class RequestHeader(Struct): @@ -22,38 +20,8 @@ class RequestHeader(Struct): ) -class RequestHeaderV2(Struct): - # Flexible response / request headers end in field buffer - SCHEMA = Schema( - ('api_key', Int16), - ('api_version', Int16), - ('correlation_id', Int32), - ('client_id', String('utf-8')), - ('tags', TaggedFields), - ) - - def __init__(self, request, correlation_id=0, client_id='kafka-python', tags=None): - super(RequestHeaderV2, self).__init__( - request.API_KEY, request.API_VERSION, correlation_id, client_id, tags or {} - ) - - -class ResponseHeader(Struct): - SCHEMA = Schema( - ('correlation_id', Int32), - ) - - -class ResponseHeaderV2(Struct): - SCHEMA = Schema( - ('correlation_id', Int32), - ('tags', TaggedFields), - ) - - -@add_metaclass(abc.ABCMeta) class Request(Struct): - FLEXIBLE_VERSION = False + __metaclass__ = abc.ABCMeta @abc.abstractproperty def API_KEY(self): @@ -82,15 +50,9 @@ class Request(Struct): def to_object(self): return _to_object(self.SCHEMA, self) - def build_header(self, correlation_id, client_id): - if self.FLEXIBLE_VERSION: - return RequestHeaderV2(self, correlation_id=correlation_id, client_id=client_id) - return RequestHeader(self, correlation_id=correlation_id, client_id=client_id) - -@add_metaclass(abc.ABCMeta) class Response(Struct): - FLEXIBLE_VERSION = False + __metaclass__ = abc.ABCMeta @abc.abstractproperty def API_KEY(self): @@ -110,12 +72,6 @@ class Response(Struct): def to_object(self): return _to_object(self.SCHEMA, self) - @classmethod - def parse_header(cls, read_buffer): - if cls.FLEXIBLE_VERSION: - return ResponseHeaderV2.decode(read_buffer) - return ResponseHeader.decode(read_buffer) - def _to_object(schema, data): obj = {} diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/api_versions.py b/venv/lib/python3.12/site-packages/kafka/protocol/api_versions.py deleted file mode 100644 index e7cedd9..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/api_versions.py +++ /dev/null @@ -1,134 +0,0 @@ -from __future__ import absolute_import - -from io import BytesIO - -from kafka.protocol.api import Request, Response -from kafka.protocol.types import Array, CompactArray, CompactString, Int16, Int32, Schema, TaggedFields - - -class BaseApiVersionsResponse(Response): - API_KEY = 18 - API_VERSION = 0 - SCHEMA = Schema( - ('error_code', Int16), - ('api_versions', Array( - ('api_key', Int16), - ('min_version', Int16), - ('max_version', Int16))) - ) - - @classmethod - def decode(cls, data): - if isinstance(data, bytes): - data = BytesIO(data) - # Check error_code, decode as v0 if any error - curr = data.tell() - err = Int16.decode(data) - data.seek(curr) - if err != 0: - return ApiVersionsResponse_v0.decode(data) - return super(BaseApiVersionsResponse, cls).decode(data) - - -class ApiVersionsResponse_v0(Response): - API_KEY = 18 - API_VERSION = 0 - SCHEMA = Schema( - ('error_code', Int16), - ('api_versions', Array( - ('api_key', Int16), - ('min_version', Int16), - ('max_version', Int16))) - ) - - -class ApiVersionsResponse_v1(BaseApiVersionsResponse): - API_KEY = 18 - API_VERSION = 1 - SCHEMA = Schema( - ('error_code', Int16), - ('api_versions', Array( - ('api_key', Int16), - ('min_version', Int16), - ('max_version', Int16))), - ('throttle_time_ms', Int32) - ) - - -class ApiVersionsResponse_v2(BaseApiVersionsResponse): - API_KEY = 18 - API_VERSION = 2 - SCHEMA = ApiVersionsResponse_v1.SCHEMA - - -class ApiVersionsResponse_v3(BaseApiVersionsResponse): - API_KEY = 18 - API_VERSION = 3 - SCHEMA = Schema( - ('error_code', Int16), - ('api_versions', CompactArray( - ('api_key', Int16), - ('min_version', Int16), - ('max_version', Int16), - ('_tagged_fields', TaggedFields))), - ('throttle_time_ms', Int32), - ('_tagged_fields', TaggedFields) - ) - # Note: ApiVersions Response does not send FLEXIBLE_VERSION header! - - -class ApiVersionsResponse_v4(BaseApiVersionsResponse): - API_KEY = 18 - API_VERSION = 4 - SCHEMA = ApiVersionsResponse_v3.SCHEMA - - -class ApiVersionsRequest_v0(Request): - API_KEY = 18 - API_VERSION = 0 - RESPONSE_TYPE = ApiVersionsResponse_v0 - SCHEMA = Schema() - - -class ApiVersionsRequest_v1(Request): - API_KEY = 18 - API_VERSION = 1 - RESPONSE_TYPE = ApiVersionsResponse_v1 - SCHEMA = ApiVersionsRequest_v0.SCHEMA - - -class ApiVersionsRequest_v2(Request): - API_KEY = 18 - API_VERSION = 2 - RESPONSE_TYPE = ApiVersionsResponse_v2 - SCHEMA = ApiVersionsRequest_v1.SCHEMA - - -class ApiVersionsRequest_v3(Request): - API_KEY = 18 - API_VERSION = 3 - RESPONSE_TYPE = ApiVersionsResponse_v3 - SCHEMA = Schema( - ('client_software_name', CompactString('utf-8')), - ('client_software_version', CompactString('utf-8')), - ('_tagged_fields', TaggedFields) - ) - FLEXIBLE_VERSION = True - - -class ApiVersionsRequest_v4(Request): - API_KEY = 18 - API_VERSION = 4 - RESPONSE_TYPE = ApiVersionsResponse_v4 - SCHEMA = ApiVersionsRequest_v3.SCHEMA - FLEXIBLE_VERSION = True - - -ApiVersionsRequest = [ - ApiVersionsRequest_v0, ApiVersionsRequest_v1, ApiVersionsRequest_v2, - ApiVersionsRequest_v3, ApiVersionsRequest_v4, -] -ApiVersionsResponse = [ - ApiVersionsResponse_v0, ApiVersionsResponse_v1, ApiVersionsResponse_v2, - ApiVersionsResponse_v3, ApiVersionsResponse_v4, -] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/broker_api_versions.py b/venv/lib/python3.12/site-packages/kafka/protocol/broker_api_versions.py deleted file mode 100644 index af142d0..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/broker_api_versions.py +++ /dev/null @@ -1,68 +0,0 @@ -BROKER_API_VERSIONS = { - # api_versions responses prior to (0, 10) are synthesized for compatibility - (0, 8, 0): {0: (0, 0), 1: (0, 0), 2: (0, 0), 3: (0, 0)}, - # adds offset commit + fetch - (0, 8, 1): {0: (0, 0), 1: (0, 0), 2: (0, 0), 3: (0, 0), 8: (0, 0), 9: (0, 0)}, - # adds find coordinator - (0, 8, 2): {0: (0, 0), 1: (0, 0), 2: (0, 0), 3: (0, 0), 8: (0, 1), 9: (0, 1), 10: (0, 0)}, - # adds group management (join/sync/leave/heartbeat) - (0, 9): {0: (0, 1), 1: (0, 1), 2: (0, 0), 3: (0, 0), 8: (0, 2), 9: (0, 1), 10: (0, 0), 11: (0, 0), 12: (0, 0), 13: (0, 0), 14: (0, 0), 15: (0, 0), 16: (0, 0)}, - # adds message format v1, sasl, and api versions api - (0, 10, 0): {0: (0, 2), 1: (0, 2), 2: (0, 0), 3: (0, 1), 4: (0, 0), 5: (0, 0), 6: (0, 2), 7: (1, 1), 8: (0, 2), 9: (0, 1), 10: (0, 0), 11: (0, 0), 12: (0, 0), 13: (0, 0), 14: (0, 0), 15: (0, 0), 16: (0, 0), 17: (0, 0), 18: (0, 0)}, - - # All data below is copied from brokers via api_versions_response (see make servers/*/api_versions) - # adds admin apis create/delete topics, and bumps fetch/listoffsets/metadata/joingroup - (0, 10, 1): {0: (0, 2), 1: (0, 3), 2: (0, 1), 3: (0, 2), 4: (0, 0), 5: (0, 0), 6: (0, 2), 7: (1, 1), 8: (0, 2), 9: (0, 1), 10: (0, 0), 11: (0, 1), 12: (0, 0), 13: (0, 0), 14: (0, 0), 15: (0, 0), 16: (0, 0), 17: (0, 0), 18: (0, 0), 19: (0, 0), 20: (0, 0)}, - - # bumps offsetfetch/create-topics - (0, 10, 2): {0: (0, 2), 1: (0, 3), 2: (0, 1), 3: (0, 2), 4: (0, 0), 5: (0, 0), 6: (0, 3), 7: (1, 1), 8: (0, 2), 9: (0, 2), 10: (0, 0), 11: (0, 1), 12: (0, 0), 13: (0, 0), 14: (0, 0), 15: (0, 0), 16: (0, 0), 17: (0, 0), 18: (0, 0), 19: (0, 1), 20: (0, 0)}, - - # Adds message format v2, and more admin apis (describe/create/delete acls, describe/alter configs, etc) - (0, 11): {0: (0, 3), 1: (0, 5), 2: (0, 2), 3: (0, 4), 4: (0, 0), 5: (0, 0), 6: (0, 3), 7: (1, 1), 8: (0, 3), 9: (0, 3), 10: (0, 1), 11: (0, 2), 12: (0, 1), 13: (0, 1), 14: (0, 1), 15: (0, 1), 16: (0, 1), 17: (0, 0), 18: (0, 1), 19: (0, 2), 20: (0, 1), 21: (0, 0), 22: (0, 0), 23: (0, 0), 24: (0, 0), 25: (0, 0), 26: (0, 0), 27: (0, 0), 28: (0, 0), 29: (0, 0), 30: (0, 0), 31: (0, 0), 32: (0, 0), 33: (0, 0)}, - - # Adds Sasl Authenticate, and additional admin apis (describe/alter log dirs, etc) - (1, 0): {0: (0, 5), 1: (0, 6), 2: (0, 2), 3: (0, 5), 4: (0, 1), 5: (0, 0), 6: (0, 4), 7: (0, 1), 8: (0, 3), 9: (0, 3), 10: (0, 1), 11: (0, 2), 12: (0, 1), 13: (0, 1), 14: (0, 1), 15: (0, 1), 16: (0, 1), 17: (0, 1), 18: (0, 1), 19: (0, 2), 20: (0, 1), 21: (0, 0), 22: (0, 0), 23: (0, 0), 24: (0, 0), 25: (0, 0), 26: (0, 0), 27: (0, 0), 28: (0, 0), 29: (0, 0), 30: (0, 0), 31: (0, 0), 32: (0, 0), 33: (0, 0), 34: (0, 0), 35: (0, 0), 36: (0, 0), 37: (0, 0)}, - - (1, 1): {0: (0, 5), 1: (0, 7), 2: (0, 2), 3: (0, 5), 4: (0, 1), 5: (0, 0), 6: (0, 4), 7: (0, 1), 8: (0, 3), 9: (0, 3), 10: (0, 1), 11: (0, 2), 12: (0, 1), 13: (0, 1), 14: (0, 1), 15: (0, 1), 16: (0, 1), 17: (0, 1), 18: (0, 1), 19: (0, 2), 20: (0, 1), 21: (0, 0), 22: (0, 0), 23: (0, 0), 24: (0, 0), 25: (0, 0), 26: (0, 0), 27: (0, 0), 28: (0, 0), 29: (0, 0), 30: (0, 0), 31: (0, 0), 32: (0, 1), 33: (0, 0), 34: (0, 0), 35: (0, 0), 36: (0, 0), 37: (0, 0), 38: (0, 0), 39: (0, 0), 40: (0, 0), 41: (0, 0), 42: (0, 0)}, - - (2, 0): {0: (0, 6), 1: (0, 8), 2: (0, 3), 3: (0, 6), 4: (0, 1), 5: (0, 0), 6: (0, 4), 7: (0, 1), 8: (0, 4), 9: (0, 4), 10: (0, 2), 11: (0, 3), 12: (0, 2), 13: (0, 2), 14: (0, 2), 15: (0, 2), 16: (0, 2), 17: (0, 1), 18: (0, 2), 19: (0, 3), 20: (0, 2), 21: (0, 1), 22: (0, 1), 23: (0, 1), 24: (0, 1), 25: (0, 1), 26: (0, 1), 27: (0, 0), 28: (0, 1), 29: (0, 1), 30: (0, 1), 31: (0, 1), 32: (0, 2), 33: (0, 1), 34: (0, 1), 35: (0, 1), 36: (0, 0), 37: (0, 1), 38: (0, 1), 39: (0, 1), 40: (0, 1), 41: (0, 1), 42: (0, 1)}, - - (2, 1): {0: (0, 7), 1: (0, 10), 2: (0, 4), 3: (0, 7), 4: (0, 1), 5: (0, 0), 6: (0, 4), 7: (0, 1), 8: (0, 6), 9: (0, 5), 10: (0, 2), 11: (0, 3), 12: (0, 2), 13: (0, 2), 14: (0, 2), 15: (0, 2), 16: (0, 2), 17: (0, 1), 18: (0, 2), 19: (0, 3), 20: (0, 3), 21: (0, 1), 22: (0, 1), 23: (0, 2), 24: (0, 1), 25: (0, 1), 26: (0, 1), 27: (0, 0), 28: (0, 2), 29: (0, 1), 30: (0, 1), 31: (0, 1), 32: (0, 2), 33: (0, 1), 34: (0, 1), 35: (0, 1), 36: (0, 0), 37: (0, 1), 38: (0, 1), 39: (0, 1), 40: (0, 1), 41: (0, 1), 42: (0, 1)}, - - (2, 2): {0: (0, 7), 1: (0, 10), 2: (0, 5), 3: (0, 7), 4: (0, 2), 5: (0, 1), 6: (0, 5), 7: (0, 2), 8: (0, 6), 9: (0, 5), 10: (0, 2), 11: (0, 4), 12: (0, 2), 13: (0, 2), 14: (0, 2), 15: (0, 2), 16: (0, 2), 17: (0, 1), 18: (0, 2), 19: (0, 3), 20: (0, 3), 21: (0, 1), 22: (0, 1), 23: (0, 2), 24: (0, 1), 25: (0, 1), 26: (0, 1), 27: (0, 0), 28: (0, 2), 29: (0, 1), 30: (0, 1), 31: (0, 1), 32: (0, 2), 33: (0, 1), 34: (0, 1), 35: (0, 1), 36: (0, 1), 37: (0, 1), 38: (0, 1), 39: (0, 1), 40: (0, 1), 41: (0, 1), 42: (0, 1), 43: (0, 0)}, - - (2, 3): {0: (0, 7), 1: (0, 11), 2: (0, 5), 3: (0, 8), 4: (0, 2), 5: (0, 1), 6: (0, 5), 7: (0, 2), 8: (0, 7), 9: (0, 5), 10: (0, 2), 11: (0, 5), 12: (0, 3), 13: (0, 2), 14: (0, 3), 15: (0, 3), 16: (0, 2), 17: (0, 1), 18: (0, 2), 19: (0, 3), 20: (0, 3), 21: (0, 1), 22: (0, 1), 23: (0, 3), 24: (0, 1), 25: (0, 1), 26: (0, 1), 27: (0, 0), 28: (0, 2), 29: (0, 1), 30: (0, 1), 31: (0, 1), 32: (0, 2), 33: (0, 1), 34: (0, 1), 35: (0, 1), 36: (0, 1), 37: (0, 1), 38: (0, 1), 39: (0, 1), 40: (0, 1), 41: (0, 1), 42: (0, 1), 43: (0, 0), 44: (0, 0)}, - - (2, 4): {0: (0, 8), 1: (0, 11), 2: (0, 5), 3: (0, 9), 4: (0, 4), 5: (0, 2), 6: (0, 6), 7: (0, 3), 8: (0, 8), 9: (0, 6), 10: (0, 3), 11: (0, 6), 12: (0, 4), 13: (0, 4), 14: (0, 4), 15: (0, 5), 16: (0, 3), 17: (0, 1), 18: (0, 3), 19: (0, 5), 20: (0, 4), 21: (0, 1), 22: (0, 2), 23: (0, 3), 24: (0, 1), 25: (0, 1), 26: (0, 1), 27: (0, 0), 28: (0, 2), 29: (0, 1), 30: (0, 1), 31: (0, 1), 32: (0, 2), 33: (0, 1), 34: (0, 1), 35: (0, 1), 36: (0, 1), 37: (0, 1), 38: (0, 2), 39: (0, 1), 40: (0, 1), 41: (0, 1), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0)}, - - (2, 5): {0: (0, 8), 1: (0, 11), 2: (0, 5), 3: (0, 9), 4: (0, 4), 5: (0, 2), 6: (0, 6), 7: (0, 3), 8: (0, 8), 9: (0, 7), 10: (0, 3), 11: (0, 7), 12: (0, 4), 13: (0, 4), 14: (0, 5), 15: (0, 5), 16: (0, 3), 17: (0, 1), 18: (0, 3), 19: (0, 5), 20: (0, 4), 21: (0, 1), 22: (0, 3), 23: (0, 3), 24: (0, 1), 25: (0, 1), 26: (0, 1), 27: (0, 0), 28: (0, 3), 29: (0, 2), 30: (0, 2), 31: (0, 2), 32: (0, 2), 33: (0, 1), 34: (0, 1), 35: (0, 1), 36: (0, 2), 37: (0, 2), 38: (0, 2), 39: (0, 2), 40: (0, 2), 41: (0, 2), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0)}, - - (2, 6): {0: (0, 8), 1: (0, 11), 2: (0, 5), 3: (0, 9), 4: (0, 4), 5: (0, 3), 6: (0, 6), 7: (0, 3), 8: (0, 8), 9: (0, 7), 10: (0, 3), 11: (0, 7), 12: (0, 4), 13: (0, 4), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 5), 20: (0, 4), 21: (0, 2), 22: (0, 3), 23: (0, 3), 24: (0, 1), 25: (0, 1), 26: (0, 1), 27: (0, 0), 28: (0, 3), 29: (0, 2), 30: (0, 2), 31: (0, 2), 32: (0, 3), 33: (0, 1), 34: (0, 1), 35: (0, 2), 36: (0, 2), 37: (0, 2), 38: (0, 2), 39: (0, 2), 40: (0, 2), 41: (0, 2), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 0), 49: (0, 0)}, - - (2, 7): {0: (0, 8), 1: (0, 12), 2: (0, 5), 3: (0, 9), 4: (0, 4), 5: (0, 3), 6: (0, 6), 7: (0, 3), 8: (0, 8), 9: (0, 7), 10: (0, 3), 11: (0, 7), 12: (0, 4), 13: (0, 4), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 6), 20: (0, 5), 21: (0, 2), 22: (0, 4), 23: (0, 3), 24: (0, 2), 25: (0, 2), 26: (0, 2), 27: (0, 0), 28: (0, 3), 29: (0, 2), 30: (0, 2), 31: (0, 2), 32: (0, 3), 33: (0, 1), 34: (0, 1), 35: (0, 2), 36: (0, 2), 37: (0, 3), 38: (0, 2), 39: (0, 2), 40: (0, 2), 41: (0, 2), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 0), 49: (0, 0), 50: (0, 0), 51: (0, 0), 56: (0, 0), 57: (0, 0)}, - - (2, 8): {0: (0, 9), 1: (0, 12), 2: (0, 6), 3: (0, 11), 4: (0, 5), 5: (0, 3), 6: (0, 7), 7: (0, 3), 8: (0, 8), 9: (0, 7), 10: (0, 3), 11: (0, 7), 12: (0, 4), 13: (0, 4), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 4), 23: (0, 4), 24: (0, 3), 25: (0, 3), 26: (0, 3), 27: (0, 1), 28: (0, 3), 29: (0, 2), 30: (0, 2), 31: (0, 2), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 2), 36: (0, 2), 37: (0, 3), 38: (0, 2), 39: (0, 2), 40: (0, 2), 41: (0, 2), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 0), 57: (0, 0), 60: (0, 0), 61: (0, 0)}, - - (3, 0): {0: (0, 9), 1: (0, 12), 2: (0, 7), 3: (0, 11), 4: (0, 5), 5: (0, 3), 6: (0, 7), 7: (0, 3), 8: (0, 8), 9: (0, 8), 10: (0, 4), 11: (0, 7), 12: (0, 4), 13: (0, 4), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 4), 23: (0, 4), 24: (0, 3), 25: (0, 3), 26: (0, 3), 27: (0, 1), 28: (0, 3), 29: (0, 2), 30: (0, 2), 31: (0, 2), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 2), 36: (0, 2), 37: (0, 3), 38: (0, 2), 39: (0, 2), 40: (0, 2), 41: (0, 2), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 0), 57: (0, 0), 60: (0, 0), 61: (0, 0), 65: (0, 0), 66: (0, 0), 67: (0, 0)}, - - (3, 1): {0: (0, 9), 1: (0, 13), 2: (0, 7), 3: (0, 12), 4: (0, 5), 5: (0, 3), 6: (0, 7), 7: (0, 3), 8: (0, 8), 9: (0, 8), 10: (0, 4), 11: (0, 7), 12: (0, 4), 13: (0, 4), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 4), 23: (0, 4), 24: (0, 3), 25: (0, 3), 26: (0, 3), 27: (0, 1), 28: (0, 3), 29: (0, 2), 30: (0, 2), 31: (0, 2), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 2), 36: (0, 2), 37: (0, 3), 38: (0, 2), 39: (0, 2), 40: (0, 2), 41: (0, 2), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 0), 57: (0, 0), 60: (0, 0), 61: (0, 0), 65: (0, 0), 66: (0, 0), 67: (0, 0)}, - - (3, 2): {0: (0, 9), 1: (0, 13), 2: (0, 7), 3: (0, 12), 4: (0, 6), 5: (0, 3), 6: (0, 7), 7: (0, 3), 8: (0, 8), 9: (0, 8), 10: (0, 4), 11: (0, 9), 12: (0, 4), 13: (0, 5), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 4), 23: (0, 4), 24: (0, 3), 25: (0, 3), 26: (0, 3), 27: (0, 1), 28: (0, 3), 29: (0, 2), 30: (0, 2), 31: (0, 2), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 3), 36: (0, 2), 37: (0, 3), 38: (0, 2), 39: (0, 2), 40: (0, 2), 41: (0, 2), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 1), 57: (0, 0), 60: (0, 0), 61: (0, 0), 65: (0, 0), 66: (0, 0), 67: (0, 0)}, - - (3, 3): {0: (0, 9), 1: (0, 13), 2: (0, 7), 3: (0, 12), 4: (0, 6), 5: (0, 3), 6: (0, 7), 7: (0, 3), 8: (0, 8), 9: (0, 8), 10: (0, 4), 11: (0, 9), 12: (0, 4), 13: (0, 5), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 4), 23: (0, 4), 24: (0, 3), 25: (0, 3), 26: (0, 3), 27: (0, 1), 28: (0, 3), 29: (0, 3), 30: (0, 3), 31: (0, 3), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 4), 36: (0, 2), 37: (0, 3), 38: (0, 3), 39: (0, 2), 40: (0, 2), 41: (0, 3), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 2), 57: (0, 1), 60: (0, 0), 61: (0, 0), 65: (0, 0), 66: (0, 0), 67: (0, 0)}, - - (3, 4): {0: (0, 9), 1: (0, 13), 2: (0, 7), 3: (0, 12), 4: (0, 7), 5: (0, 4), 6: (0, 8), 7: (0, 3), 8: (0, 8), 9: (0, 8), 10: (0, 4), 11: (0, 9), 12: (0, 4), 13: (0, 5), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 4), 23: (0, 4), 24: (0, 3), 25: (0, 3), 26: (0, 3), 27: (0, 1), 28: (0, 3), 29: (0, 3), 30: (0, 3), 31: (0, 3), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 4), 36: (0, 2), 37: (0, 3), 38: (0, 3), 39: (0, 2), 40: (0, 2), 41: (0, 3), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 2), 57: (0, 1), 58: (0, 0), 60: (0, 0), 61: (0, 0), 65: (0, 0), 66: (0, 0), 67: (0, 0)}, - - (3, 5): {0: (0, 9), 1: (0, 15), 2: (0, 8), 3: (0, 12), 4: (0, 7), 5: (0, 4), 6: (0, 8), 7: (0, 3), 8: (0, 8), 9: (0, 8), 10: (0, 4), 11: (0, 9), 12: (0, 4), 13: (0, 5), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 4), 23: (0, 4), 24: (0, 3), 25: (0, 3), 26: (0, 3), 27: (0, 1), 28: (0, 3), 29: (0, 3), 30: (0, 3), 31: (0, 3), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 4), 36: (0, 2), 37: (0, 3), 38: (0, 3), 39: (0, 2), 40: (0, 2), 41: (0, 3), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 3), 57: (0, 1), 58: (0, 0), 60: (0, 0), 61: (0, 0), 65: (0, 0), 66: (0, 0), 67: (0, 0)}, - - (3, 6): {0: (0, 9), 1: (0, 15), 2: (0, 8), 3: (0, 12), 4: (0, 7), 5: (0, 4), 6: (0, 8), 7: (0, 3), 8: (0, 8), 9: (0, 8), 10: (0, 4), 11: (0, 9), 12: (0, 4), 13: (0, 5), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 4), 23: (0, 4), 24: (0, 4), 25: (0, 3), 26: (0, 3), 27: (0, 1), 28: (0, 3), 29: (0, 3), 30: (0, 3), 31: (0, 3), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 4), 36: (0, 2), 37: (0, 3), 38: (0, 3), 39: (0, 2), 40: (0, 2), 41: (0, 3), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 3), 57: (0, 1), 58: (0, 0), 60: (0, 0), 61: (0, 0), 65: (0, 0), 66: (0, 0), 67: (0, 0)}, - - (3, 7): {0: (0, 10), 1: (0, 16), 2: (0, 8), 3: (0, 12), 4: (0, 7), 5: (0, 4), 6: (0, 8), 7: (0, 3), 8: (0, 9), 9: (0, 9), 10: (0, 4), 11: (0, 9), 12: (0, 4), 13: (0, 5), 14: (0, 5), 15: (0, 5), 16: (0, 4), 17: (0, 1), 18: (0, 3), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 4), 23: (0, 4), 24: (0, 4), 25: (0, 3), 26: (0, 3), 27: (0, 1), 28: (0, 3), 29: (0, 3), 30: (0, 3), 31: (0, 3), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 4), 36: (0, 2), 37: (0, 3), 38: (0, 3), 39: (0, 2), 40: (0, 2), 41: (0, 3), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 3), 57: (0, 1), 58: (0, 0), 60: (0, 1), 61: (0, 0), 65: (0, 0), 66: (0, 0), 67: (0, 0), 68: (0, 0)}, - - (3, 8): {0: (0, 11), 1: (0, 16), 2: (0, 8), 3: (0, 12), 4: (0, 7), 5: (0, 4), 6: (0, 8), 7: (0, 3), 8: (0, 9), 9: (0, 9), 10: (0, 5), 11: (0, 9), 12: (0, 4), 13: (0, 5), 14: (0, 5), 15: (0, 5), 16: (0, 5), 17: (0, 1), 18: (0, 3), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 5), 23: (0, 4), 24: (0, 5), 25: (0, 4), 26: (0, 4), 27: (0, 1), 28: (0, 4), 29: (0, 3), 30: (0, 3), 31: (0, 3), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 4), 36: (0, 2), 37: (0, 3), 38: (0, 3), 39: (0, 2), 40: (0, 2), 41: (0, 3), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 3), 57: (0, 1), 58: (0, 0), 60: (0, 1), 61: (0, 0), 65: (0, 0), 66: (0, 1), 67: (0, 0), 68: (0, 0), 69: (0, 0)}, - - (3, 9): {0: (0, 11), 1: (0, 17), 2: (0, 9), 3: (0, 12), 4: (0, 7), 5: (0, 4), 6: (0, 8), 7: (0, 3), 8: (0, 9), 9: (0, 9), 10: (0, 6), 11: (0, 9), 12: (0, 4), 13: (0, 5), 14: (0, 5), 15: (0, 5), 16: (0, 5), 17: (0, 1), 18: (0, 4), 19: (0, 7), 20: (0, 6), 21: (0, 2), 22: (0, 5), 23: (0, 4), 24: (0, 5), 25: (0, 4), 26: (0, 4), 27: (0, 1), 28: (0, 4), 29: (0, 3), 30: (0, 3), 31: (0, 3), 32: (0, 4), 33: (0, 2), 34: (0, 2), 35: (0, 4), 36: (0, 2), 37: (0, 3), 38: (0, 3), 39: (0, 2), 40: (0, 2), 41: (0, 3), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 56: (0, 3), 57: (0, 1), 58: (0, 0), 60: (0, 1), 61: (0, 0), 65: (0, 0), 66: (0, 1), 67: (0, 0), 68: (0, 0), 69: (0, 0)}, - - (4, 0): {0: (0, 12), 1: (4, 17), 2: (1, 10), 3: (0, 13), 8: (2, 9), 9: (1, 9), 10: (0, 6), 11: (2, 9), 12: (0, 4), 13: (0, 5), 14: (0, 5), 15: (0, 6), 16: (0, 5), 17: (0, 1), 18: (0, 4), 19: (2, 7), 20: (1, 6), 21: (0, 2), 22: (0, 5), 23: (2, 4), 24: (0, 5), 25: (0, 4), 26: (0, 5), 27: (1, 1), 28: (0, 5), 29: (1, 3), 30: (1, 3), 31: (1, 3), 32: (1, 4), 33: (0, 2), 34: (1, 2), 35: (1, 4), 36: (0, 2), 37: (0, 3), 38: (1, 3), 39: (1, 2), 40: (1, 2), 41: (1, 3), 42: (0, 2), 43: (0, 2), 44: (0, 1), 45: (0, 0), 46: (0, 0), 47: (0, 0), 48: (0, 1), 49: (0, 1), 50: (0, 0), 51: (0, 0), 55: (0, 2), 57: (0, 2), 60: (0, 2), 61: (0, 0), 64: (0, 0), 65: (0, 0), 66: (0, 1), 68: (0, 1), 69: (0, 1), 74: (0, 0), 75: (0, 0), 80: (0, 0), 81: (0, 0)}, - -} diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/commit.py b/venv/lib/python3.12/site-packages/kafka/protocol/commit.py index a0439e7..31fc237 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/commit.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/commit.py @@ -1,7 +1,7 @@ from __future__ import absolute_import from kafka.protocol.api import Request, Response -from kafka.protocol.types import Array, Int16, Int32, Int64, Schema, String +from kafka.protocol.types import Array, Int8, Int16, Int32, Int64, Schema, String class OffsetCommitResponse_v0(Response): @@ -41,24 +41,6 @@ class OffsetCommitResponse_v3(Response): ) -class OffsetCommitResponse_v4(Response): - API_KEY = 8 - API_VERSION = 4 - SCHEMA = OffsetCommitResponse_v3.SCHEMA - - -class OffsetCommitResponse_v5(Response): - API_KEY = 8 - API_VERSION = 5 - SCHEMA = OffsetCommitResponse_v4.SCHEMA - - -class OffsetCommitResponse_v6(Response): - API_KEY = 8 - API_VERSION = 6 - SCHEMA = OffsetCommitResponse_v5.SCHEMA - - class OffsetCommitRequest_v0(Request): API_KEY = 8 API_VERSION = 0 # Zookeeper-backed storage @@ -94,13 +76,13 @@ class OffsetCommitRequest_v1(Request): class OffsetCommitRequest_v2(Request): API_KEY = 8 - API_VERSION = 2 + API_VERSION = 2 # added retention_time, dropped timestamp RESPONSE_TYPE = OffsetCommitResponse_v2 SCHEMA = Schema( ('consumer_group', String('utf-8')), ('consumer_group_generation_id', Int32), ('consumer_id', String('utf-8')), - ('retention_time', Int64), # added retention_time, dropped timestamp + ('retention_time', Int64), ('topics', Array( ('topic', String('utf-8')), ('partitions', Array( @@ -108,6 +90,7 @@ class OffsetCommitRequest_v2(Request): ('offset', Int64), ('metadata', String('utf-8')))))) ) + DEFAULT_GENERATION_ID = -1 DEFAULT_RETENTION_TIME = -1 @@ -116,63 +99,15 @@ class OffsetCommitRequest_v3(Request): API_VERSION = 3 RESPONSE_TYPE = OffsetCommitResponse_v3 SCHEMA = OffsetCommitRequest_v2.SCHEMA - DEFAULT_RETENTION_TIME = -1 - - -class OffsetCommitRequest_v4(Request): - API_KEY = 8 - API_VERSION = 4 - RESPONSE_TYPE = OffsetCommitResponse_v4 - SCHEMA = OffsetCommitRequest_v3.SCHEMA - DEFAULT_RETENTION_TIME = -1 - - -class OffsetCommitRequest_v5(Request): - API_KEY = 8 - API_VERSION = 5 # drops retention_time - RESPONSE_TYPE = OffsetCommitResponse_v5 - SCHEMA = Schema( - ('consumer_group', String('utf-8')), - ('consumer_group_generation_id', Int32), - ('consumer_id', String('utf-8')), - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('partition', Int32), - ('offset', Int64), - ('metadata', String('utf-8')))))) - ) - - -class OffsetCommitRequest_v6(Request): - API_KEY = 8 - API_VERSION = 6 - RESPONSE_TYPE = OffsetCommitResponse_v6 - SCHEMA = Schema( - ('consumer_group', String('utf-8')), - ('consumer_group_generation_id', Int32), - ('consumer_id', String('utf-8')), - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('partition', Int32), - ('offset', Int64), - ('leader_epoch', Int32), # added for fencing / kip-320. default -1 - ('metadata', String('utf-8')))))) - ) OffsetCommitRequest = [ OffsetCommitRequest_v0, OffsetCommitRequest_v1, - OffsetCommitRequest_v2, OffsetCommitRequest_v3, - OffsetCommitRequest_v4, OffsetCommitRequest_v5, - OffsetCommitRequest_v6, + OffsetCommitRequest_v2, OffsetCommitRequest_v3 ] OffsetCommitResponse = [ OffsetCommitResponse_v0, OffsetCommitResponse_v1, - OffsetCommitResponse_v2, OffsetCommitResponse_v3, - OffsetCommitResponse_v4, OffsetCommitResponse_v5, - OffsetCommitResponse_v6, + OffsetCommitResponse_v2, OffsetCommitResponse_v3 ] @@ -228,29 +163,6 @@ class OffsetFetchResponse_v3(Response): ) -class OffsetFetchResponse_v4(Response): - API_KEY = 9 - API_VERSION = 4 - SCHEMA = OffsetFetchResponse_v3.SCHEMA - - -class OffsetFetchResponse_v5(Response): - API_KEY = 9 - API_VERSION = 5 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('partition', Int32), - ('offset', Int64), - ('leader_epoch', Int32), - ('metadata', String('utf-8')), - ('error_code', Int16))))), - ('error_code', Int16) - ) - - class OffsetFetchRequest_v0(Request): API_KEY = 9 API_VERSION = 0 # zookeeper-backed storage @@ -287,27 +199,57 @@ class OffsetFetchRequest_v3(Request): SCHEMA = OffsetFetchRequest_v2.SCHEMA -class OffsetFetchRequest_v4(Request): - API_KEY = 9 - API_VERSION = 4 - RESPONSE_TYPE = OffsetFetchResponse_v4 - SCHEMA = OffsetFetchRequest_v3.SCHEMA - - -class OffsetFetchRequest_v5(Request): - API_KEY = 9 - API_VERSION = 5 - RESPONSE_TYPE = OffsetFetchResponse_v5 - SCHEMA = OffsetFetchRequest_v4.SCHEMA - - OffsetFetchRequest = [ OffsetFetchRequest_v0, OffsetFetchRequest_v1, OffsetFetchRequest_v2, OffsetFetchRequest_v3, - OffsetFetchRequest_v4, OffsetFetchRequest_v5, ] OffsetFetchResponse = [ OffsetFetchResponse_v0, OffsetFetchResponse_v1, OffsetFetchResponse_v2, OffsetFetchResponse_v3, - OffsetFetchResponse_v4, OffsetFetchResponse_v5, ] + + +class GroupCoordinatorResponse_v0(Response): + API_KEY = 10 + API_VERSION = 0 + SCHEMA = Schema( + ('error_code', Int16), + ('coordinator_id', Int32), + ('host', String('utf-8')), + ('port', Int32) + ) + + +class GroupCoordinatorResponse_v1(Response): + API_KEY = 10 + API_VERSION = 1 + SCHEMA = Schema( + ('error_code', Int16), + ('error_message', String('utf-8')), + ('coordinator_id', Int32), + ('host', String('utf-8')), + ('port', Int32) + ) + + +class GroupCoordinatorRequest_v0(Request): + API_KEY = 10 + API_VERSION = 0 + RESPONSE_TYPE = GroupCoordinatorResponse_v0 + SCHEMA = Schema( + ('consumer_group', String('utf-8')) + ) + + +class GroupCoordinatorRequest_v1(Request): + API_KEY = 10 + API_VERSION = 1 + RESPONSE_TYPE = GroupCoordinatorResponse_v1 + SCHEMA = Schema( + ('coordinator_key', String('utf-8')), + ('coordinator_type', Int8) + ) + + +GroupCoordinatorRequest = [GroupCoordinatorRequest_v0, GroupCoordinatorRequest_v1] +GroupCoordinatorResponse = [GroupCoordinatorResponse_v0, GroupCoordinatorResponse_v1] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/end_txn.py b/venv/lib/python3.12/site-packages/kafka/protocol/end_txn.py deleted file mode 100644 index 96d6cc5..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/end_txn.py +++ /dev/null @@ -1,58 +0,0 @@ -from __future__ import absolute_import - -from kafka.protocol.api import Request, Response -from kafka.protocol.types import Boolean, Int16, Int32, Int64, Schema, String - - -class EndTxnResponse_v0(Response): - API_KEY = 26 - API_VERSION = 0 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('error_code', Int16), - ) - - -class EndTxnResponse_v1(Response): - API_KEY = 26 - API_VERSION = 1 - SCHEMA = EndTxnResponse_v0.SCHEMA - - -class EndTxnResponse_v2(Response): - API_KEY = 26 - API_VERSION = 2 - SCHEMA = EndTxnResponse_v1.SCHEMA - - -class EndTxnRequest_v0(Request): - API_KEY = 26 - API_VERSION = 0 - RESPONSE_TYPE = EndTxnResponse_v0 - SCHEMA = Schema( - ('transactional_id', String('utf-8')), - ('producer_id', Int64), - ('producer_epoch', Int16), - ('committed', Boolean)) - - -class EndTxnRequest_v1(Request): - API_KEY = 26 - API_VERSION = 1 - RESPONSE_TYPE = EndTxnResponse_v1 - SCHEMA = EndTxnRequest_v0.SCHEMA - - -class EndTxnRequest_v2(Request): - API_KEY = 26 - API_VERSION = 2 - RESPONSE_TYPE = EndTxnResponse_v2 - SCHEMA = EndTxnRequest_v1.SCHEMA - - -EndTxnRequest = [ - EndTxnRequest_v0, EndTxnRequest_v1, EndTxnRequest_v2, -] -EndTxnResponse = [ - EndTxnResponse_v0, EndTxnResponse_v1, EndTxnResponse_v2, -] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/fetch.py b/venv/lib/python3.12/site-packages/kafka/protocol/fetch.py index 036a37e..f367848 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/fetch.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/fetch.py @@ -1,15 +1,9 @@ from __future__ import absolute_import -import collections - from kafka.protocol.api import Request, Response from kafka.protocol.types import Array, Int8, Int16, Int32, Int64, Schema, String, Bytes -AbortedTransaction = collections.namedtuple("AbortedTransaction", - ["producer_id", "first_offset"]) - - class FetchResponse_v0(Response): API_KEY = 1 API_VERSION = 0 @@ -20,7 +14,7 @@ class FetchResponse_v0(Response): ('partition', Int32), ('error_code', Int16), ('highwater_offset', Int64), - ('records', Bytes))))) + ('message_set', Bytes))))) ) @@ -35,7 +29,7 @@ class FetchResponse_v1(Response): ('partition', Int32), ('error_code', Int16), ('highwater_offset', Int64), - ('records', Bytes))))) + ('message_set', Bytes))))) ) @@ -52,7 +46,6 @@ class FetchResponse_v3(Response): class FetchResponse_v4(Response): - # Adds message format v2 API_KEY = 1 API_VERSION = 4 SCHEMA = Schema( @@ -67,7 +60,7 @@ class FetchResponse_v4(Response): ('aborted_transactions', Array( ('producer_id', Int64), ('first_offset', Int64))), - ('records', Bytes))))) + ('message_set', Bytes))))) ) @@ -87,7 +80,7 @@ class FetchResponse_v5(Response): ('aborted_transactions', Array( ('producer_id', Int64), ('first_offset', Int64))), - ('records', Bytes))))) + ('message_set', Bytes))))) ) @@ -122,7 +115,7 @@ class FetchResponse_v7(Response): ('aborted_transactions', Array( ('producer_id', Int64), ('first_offset', Int64))), - ('records', Bytes))))) + ('message_set', Bytes))))) ) @@ -163,7 +156,7 @@ class FetchResponse_v11(Response): ('producer_id', Int64), ('first_offset', Int64))), ('preferred_read_replica', Int32), - ('records', Bytes))))) + ('message_set', Bytes))))) ) @@ -218,7 +211,6 @@ class FetchRequest_v3(Request): class FetchRequest_v4(Request): # Adds isolation_level field - # Adds message format v2 API_KEY = 1 API_VERSION = 4 RESPONSE_TYPE = FetchResponse_v4 @@ -272,7 +264,7 @@ class FetchRequest_v6(Request): class FetchRequest_v7(Request): """ - Add incremental fetch requests (see KIP-227) + Add incremental fetch requests """ API_KEY = 1 API_VERSION = 7 @@ -293,7 +285,7 @@ class FetchRequest_v7(Request): ('log_start_offset', Int64), ('max_bytes', Int32))))), ('forgotten_topics_data', Array( - ('topic', String('utf-8')), + ('topic', String), ('partitions', Array(Int32)) )), ) @@ -333,7 +325,7 @@ class FetchRequest_v9(Request): ('log_start_offset', Int64), ('max_bytes', Int32))))), ('forgotten_topics_data', Array( - ('topic', String('utf-8')), + ('topic', String), ('partitions', Array(Int32)), )), ) @@ -373,7 +365,7 @@ class FetchRequest_v11(Request): ('log_start_offset', Int64), ('max_bytes', Int32))))), ('forgotten_topics_data', Array( - ('topic', String('utf-8')), + ('topic', String), ('partitions', Array(Int32)) )), ('rack_id', String('utf-8')), diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/find_coordinator.py b/venv/lib/python3.12/site-packages/kafka/protocol/find_coordinator.py deleted file mode 100644 index be5b45d..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/find_coordinator.py +++ /dev/null @@ -1,64 +0,0 @@ -from __future__ import absolute_import - -from kafka.protocol.api import Request, Response -from kafka.protocol.types import Int8, Int16, Int32, Schema, String - - -class FindCoordinatorResponse_v0(Response): - API_KEY = 10 - API_VERSION = 0 - SCHEMA = Schema( - ('error_code', Int16), - ('coordinator_id', Int32), - ('host', String('utf-8')), - ('port', Int32) - ) - - -class FindCoordinatorResponse_v1(Response): - API_KEY = 10 - API_VERSION = 1 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('error_code', Int16), - ('error_message', String('utf-8')), - ('coordinator_id', Int32), - ('host', String('utf-8')), - ('port', Int32) - ) - - -class FindCoordinatorResponse_v2(Response): - API_KEY = 10 - API_VERSION = 2 - SCHEMA = FindCoordinatorResponse_v1.SCHEMA - - -class FindCoordinatorRequest_v0(Request): - API_KEY = 10 - API_VERSION = 0 - RESPONSE_TYPE = FindCoordinatorResponse_v0 - SCHEMA = Schema( - ('consumer_group', String('utf-8')) - ) - - -class FindCoordinatorRequest_v1(Request): - API_KEY = 10 - API_VERSION = 1 - RESPONSE_TYPE = FindCoordinatorResponse_v1 - SCHEMA = Schema( - ('coordinator_key', String('utf-8')), - ('coordinator_type', Int8) # 0: consumer, 1: transaction - ) - - -class FindCoordinatorRequest_v2(Request): - API_KEY = 10 - API_VERSION = 2 - RESPONSE_TYPE = FindCoordinatorResponse_v2 - SCHEMA = FindCoordinatorRequest_v1.SCHEMA - - -FindCoordinatorRequest = [FindCoordinatorRequest_v0, FindCoordinatorRequest_v1, FindCoordinatorRequest_v2] -FindCoordinatorResponse = [FindCoordinatorResponse_v0, FindCoordinatorResponse_v1, FindCoordinatorResponse_v2] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/group.py b/venv/lib/python3.12/site-packages/kafka/protocol/group.py index 74e19c9..bcb9655 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/group.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/group.py @@ -5,10 +5,6 @@ from kafka.protocol.struct import Struct from kafka.protocol.types import Array, Bytes, Int16, Int32, Schema, String -DEFAULT_GENERATION_ID = -1 -UNKNOWN_MEMBER_ID = '' - - class JoinGroupResponse_v0(Response): API_KEY = 11 API_VERSION = 0 @@ -46,18 +42,6 @@ class JoinGroupResponse_v2(Response): ) -class JoinGroupResponse_v3(Response): - API_KEY = 11 - API_VERSION = 3 - SCHEMA = JoinGroupResponse_v2.SCHEMA - - -class JoinGroupResponse_v4(Response): - API_KEY = 11 - API_VERSION = 4 - SCHEMA = JoinGroupResponse_v3.SCHEMA - - class JoinGroupRequest_v0(Request): API_KEY = 11 API_VERSION = 0 @@ -71,6 +55,7 @@ class JoinGroupRequest_v0(Request): ('protocol_name', String('utf-8')), ('protocol_metadata', Bytes))) ) + UNKNOWN_MEMBER_ID = '' class JoinGroupRequest_v1(Request): @@ -87,6 +72,7 @@ class JoinGroupRequest_v1(Request): ('protocol_name', String('utf-8')), ('protocol_metadata', Bytes))) ) + UNKNOWN_MEMBER_ID = '' class JoinGroupRequest_v2(Request): @@ -94,29 +80,14 @@ class JoinGroupRequest_v2(Request): API_VERSION = 2 RESPONSE_TYPE = JoinGroupResponse_v2 SCHEMA = JoinGroupRequest_v1.SCHEMA - - -class JoinGroupRequest_v3(Request): - API_KEY = 11 - API_VERSION = 3 - RESPONSE_TYPE = JoinGroupResponse_v3 - SCHEMA = JoinGroupRequest_v2.SCHEMA - - -class JoinGroupRequest_v4(Request): - API_KEY = 11 - API_VERSION = 4 - RESPONSE_TYPE = JoinGroupResponse_v4 - SCHEMA = JoinGroupRequest_v3.SCHEMA + UNKNOWN_MEMBER_ID = '' JoinGroupRequest = [ - JoinGroupRequest_v0, JoinGroupRequest_v1, JoinGroupRequest_v2, - JoinGroupRequest_v3, JoinGroupRequest_v4, + JoinGroupRequest_v0, JoinGroupRequest_v1, JoinGroupRequest_v2 ] JoinGroupResponse = [ - JoinGroupResponse_v0, JoinGroupResponse_v1, JoinGroupResponse_v2, - JoinGroupResponse_v3, JoinGroupResponse_v4, + JoinGroupResponse_v0, JoinGroupResponse_v1, JoinGroupResponse_v2 ] @@ -147,12 +118,6 @@ class SyncGroupResponse_v1(Response): ) -class SyncGroupResponse_v2(Response): - API_KEY = 14 - API_VERSION = 2 - SCHEMA = SyncGroupResponse_v1.SCHEMA - - class SyncGroupRequest_v0(Request): API_KEY = 14 API_VERSION = 0 @@ -174,15 +139,8 @@ class SyncGroupRequest_v1(Request): SCHEMA = SyncGroupRequest_v0.SCHEMA -class SyncGroupRequest_v2(Request): - API_KEY = 14 - API_VERSION = 2 - RESPONSE_TYPE = SyncGroupResponse_v2 - SCHEMA = SyncGroupRequest_v1.SCHEMA - - -SyncGroupRequest = [SyncGroupRequest_v0, SyncGroupRequest_v1, SyncGroupRequest_v2] -SyncGroupResponse = [SyncGroupResponse_v0, SyncGroupResponse_v1, SyncGroupResponse_v2] +SyncGroupRequest = [SyncGroupRequest_v0, SyncGroupRequest_v1] +SyncGroupResponse = [SyncGroupResponse_v0, SyncGroupResponse_v1] class MemberAssignment(Struct): @@ -212,12 +170,6 @@ class HeartbeatResponse_v1(Response): ) -class HeartbeatResponse_v2(Response): - API_KEY = 12 - API_VERSION = 2 - SCHEMA = HeartbeatResponse_v1.SCHEMA - - class HeartbeatRequest_v0(Request): API_KEY = 12 API_VERSION = 0 @@ -236,15 +188,8 @@ class HeartbeatRequest_v1(Request): SCHEMA = HeartbeatRequest_v0.SCHEMA -class HeartbeatRequest_v2(Request): - API_KEY = 12 - API_VERSION = 2 - RESPONSE_TYPE = HeartbeatResponse_v2 - SCHEMA = HeartbeatRequest_v1.SCHEMA - - -HeartbeatRequest = [HeartbeatRequest_v0, HeartbeatRequest_v1, HeartbeatRequest_v2] -HeartbeatResponse = [HeartbeatResponse_v0, HeartbeatResponse_v1, HeartbeatResponse_v2] +HeartbeatRequest = [HeartbeatRequest_v0, HeartbeatRequest_v1] +HeartbeatResponse = [HeartbeatResponse_v0, HeartbeatResponse_v1] class LeaveGroupResponse_v0(Response): @@ -264,12 +209,6 @@ class LeaveGroupResponse_v1(Response): ) -class LeaveGroupResponse_v2(Response): - API_KEY = 13 - API_VERSION = 2 - SCHEMA = LeaveGroupResponse_v1.SCHEMA - - class LeaveGroupRequest_v0(Request): API_KEY = 13 API_VERSION = 0 @@ -287,12 +226,5 @@ class LeaveGroupRequest_v1(Request): SCHEMA = LeaveGroupRequest_v0.SCHEMA -class LeaveGroupRequest_v2(Request): - API_KEY = 13 - API_VERSION = 2 - RESPONSE_TYPE = LeaveGroupResponse_v2 - SCHEMA = LeaveGroupRequest_v1.SCHEMA - - -LeaveGroupRequest = [LeaveGroupRequest_v0, LeaveGroupRequest_v1, LeaveGroupRequest_v2] -LeaveGroupResponse = [LeaveGroupResponse_v0, LeaveGroupResponse_v1, LeaveGroupResponse_v2] +LeaveGroupRequest = [LeaveGroupRequest_v0, LeaveGroupRequest_v1] +LeaveGroupResponse = [LeaveGroupResponse_v0, LeaveGroupResponse_v1] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/init_producer_id.py b/venv/lib/python3.12/site-packages/kafka/protocol/init_producer_id.py deleted file mode 100644 index 8426fe0..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/init_producer_id.py +++ /dev/null @@ -1,46 +0,0 @@ -from __future__ import absolute_import - -from kafka.protocol.api import Request, Response -from kafka.protocol.types import Int16, Int32, Int64, Schema, String - - -class InitProducerIdResponse_v0(Response): - API_KEY = 22 - API_VERSION = 0 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('error_code', Int16), - ('producer_id', Int64), - ('producer_epoch', Int16), - ) - - -class InitProducerIdResponse_v1(Response): - API_KEY = 22 - API_VERSION = 1 - SCHEMA = InitProducerIdResponse_v0.SCHEMA - - -class InitProducerIdRequest_v0(Request): - API_KEY = 22 - API_VERSION = 0 - RESPONSE_TYPE = InitProducerIdResponse_v0 - SCHEMA = Schema( - ('transactional_id', String('utf-8')), - ('transaction_timeout_ms', Int32), - ) - - -class InitProducerIdRequest_v1(Request): - API_KEY = 22 - API_VERSION = 1 - RESPONSE_TYPE = InitProducerIdResponse_v1 - SCHEMA = InitProducerIdRequest_v0.SCHEMA - - -InitProducerIdRequest = [ - InitProducerIdRequest_v0, InitProducerIdRequest_v1, -] -InitProducerIdResponse = [ - InitProducerIdResponse_v0, InitProducerIdResponse_v1, -] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/metadata.py b/venv/lib/python3.12/site-packages/kafka/protocol/metadata.py index bb22ba9..414e5b8 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/metadata.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/metadata.py @@ -128,42 +128,6 @@ class MetadataResponse_v5(Response): ) -class MetadataResponse_v6(Response): - """Metadata Request/Response v6 is the same as v5, - but on quota violation, brokers send out responses before throttling.""" - API_KEY = 3 - API_VERSION = 6 - SCHEMA = MetadataResponse_v5.SCHEMA - - -class MetadataResponse_v7(Response): - """v7 adds per-partition leader_epoch field""" - API_KEY = 3 - API_VERSION = 7 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('brokers', Array( - ('node_id', Int32), - ('host', String('utf-8')), - ('port', Int32), - ('rack', String('utf-8')))), - ('cluster_id', String('utf-8')), - ('controller_id', Int32), - ('topics', Array( - ('error_code', Int16), - ('topic', String('utf-8')), - ('is_internal', Boolean), - ('partitions', Array( - ('error_code', Int16), - ('partition', Int32), - ('leader', Int32), - ('leader_epoch', Int32), - ('replicas', Array(Int32)), - ('isr', Array(Int32)), - ('offline_replicas', Array(Int32)))))) - ) - - class MetadataRequest_v0(Request): API_KEY = 3 API_VERSION = 0 @@ -171,8 +135,7 @@ class MetadataRequest_v0(Request): SCHEMA = Schema( ('topics', Array(String('utf-8'))) ) - ALL_TOPICS = [] # Empty Array (len 0) for topics returns all topics - NO_TOPICS = [] # v0 does not support a 'no topics' request, so we'll just ask for ALL + ALL_TOPICS = None # Empty Array (len 0) for topics returns all topics class MetadataRequest_v1(Request): @@ -180,8 +143,8 @@ class MetadataRequest_v1(Request): API_VERSION = 1 RESPONSE_TYPE = MetadataResponse_v1 SCHEMA = MetadataRequest_v0.SCHEMA - ALL_TOPICS = None # Null Array (len -1) for topics returns all topics - NO_TOPICS = [] # Empty array (len 0) for topics returns no topics + ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics + NO_TOPICS = None # Empty array (len 0) for topics returns no topics class MetadataRequest_v2(Request): @@ -189,8 +152,8 @@ class MetadataRequest_v2(Request): API_VERSION = 2 RESPONSE_TYPE = MetadataResponse_v2 SCHEMA = MetadataRequest_v1.SCHEMA - ALL_TOPICS = None - NO_TOPICS = [] + ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics + NO_TOPICS = None # Empty array (len 0) for topics returns no topics class MetadataRequest_v3(Request): @@ -198,8 +161,8 @@ class MetadataRequest_v3(Request): API_VERSION = 3 RESPONSE_TYPE = MetadataResponse_v3 SCHEMA = MetadataRequest_v1.SCHEMA - ALL_TOPICS = None - NO_TOPICS = [] + ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics + NO_TOPICS = None # Empty array (len 0) for topics returns no topics class MetadataRequest_v4(Request): @@ -210,8 +173,8 @@ class MetadataRequest_v4(Request): ('topics', Array(String('utf-8'))), ('allow_auto_topic_creation', Boolean) ) - ALL_TOPICS = None - NO_TOPICS = [] + ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics + NO_TOPICS = None # Empty array (len 0) for topics returns no topics class MetadataRequest_v5(Request): @@ -223,35 +186,15 @@ class MetadataRequest_v5(Request): API_VERSION = 5 RESPONSE_TYPE = MetadataResponse_v5 SCHEMA = MetadataRequest_v4.SCHEMA - ALL_TOPICS = None - NO_TOPICS = [] - - -class MetadataRequest_v6(Request): - API_KEY = 3 - API_VERSION = 6 - RESPONSE_TYPE = MetadataResponse_v6 - SCHEMA = MetadataRequest_v5.SCHEMA - ALL_TOPICS = None - NO_TOPICS = [] - - -class MetadataRequest_v7(Request): - API_KEY = 3 - API_VERSION = 7 - RESPONSE_TYPE = MetadataResponse_v7 - SCHEMA = MetadataRequest_v6.SCHEMA - ALL_TOPICS = None - NO_TOPICS = [] + ALL_TOPICS = -1 # Null Array (len -1) for topics returns all topics + NO_TOPICS = None # Empty array (len 0) for topics returns no topics MetadataRequest = [ MetadataRequest_v0, MetadataRequest_v1, MetadataRequest_v2, - MetadataRequest_v3, MetadataRequest_v4, MetadataRequest_v5, - MetadataRequest_v6, MetadataRequest_v7, + MetadataRequest_v3, MetadataRequest_v4, MetadataRequest_v5 ] MetadataResponse = [ MetadataResponse_v0, MetadataResponse_v1, MetadataResponse_v2, - MetadataResponse_v3, MetadataResponse_v4, MetadataResponse_v5, - MetadataResponse_v6, MetadataResponse_v7, + MetadataResponse_v3, MetadataResponse_v4, MetadataResponse_v5 ] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/list_offsets.py b/venv/lib/python3.12/site-packages/kafka/protocol/offset.py similarity index 73% rename from venv/lib/python3.12/site-packages/kafka/protocol/list_offsets.py rename to venv/lib/python3.12/site-packages/kafka/protocol/offset.py index 2e36dd6..1ed382b 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/list_offsets.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/offset.py @@ -12,7 +12,7 @@ class OffsetResetStrategy(object): NONE = 0 -class ListOffsetsResponse_v0(Response): +class OffsetResponse_v0(Response): API_KEY = 2 API_VERSION = 0 SCHEMA = Schema( @@ -24,7 +24,7 @@ class ListOffsetsResponse_v0(Response): ('offsets', Array(Int64)))))) ) -class ListOffsetsResponse_v1(Response): +class OffsetResponse_v1(Response): API_KEY = 2 API_VERSION = 1 SCHEMA = Schema( @@ -38,7 +38,7 @@ class ListOffsetsResponse_v1(Response): ) -class ListOffsetsResponse_v2(Response): +class OffsetResponse_v2(Response): API_KEY = 2 API_VERSION = 2 SCHEMA = Schema( @@ -53,16 +53,16 @@ class ListOffsetsResponse_v2(Response): ) -class ListOffsetsResponse_v3(Response): +class OffsetResponse_v3(Response): """ on quota violation, brokers send out responses before throttling """ API_KEY = 2 API_VERSION = 3 - SCHEMA = ListOffsetsResponse_v2.SCHEMA + SCHEMA = OffsetResponse_v2.SCHEMA -class ListOffsetsResponse_v4(Response): +class OffsetResponse_v4(Response): """ Add leader_epoch to response """ @@ -81,19 +81,19 @@ class ListOffsetsResponse_v4(Response): ) -class ListOffsetsResponse_v5(Response): +class OffsetResponse_v5(Response): """ adds a new error code, OFFSET_NOT_AVAILABLE """ API_KEY = 2 API_VERSION = 5 - SCHEMA = ListOffsetsResponse_v4.SCHEMA + SCHEMA = OffsetResponse_v4.SCHEMA -class ListOffsetsRequest_v0(Request): +class OffsetRequest_v0(Request): API_KEY = 2 API_VERSION = 0 - RESPONSE_TYPE = ListOffsetsResponse_v0 + RESPONSE_TYPE = OffsetResponse_v0 SCHEMA = Schema( ('replica_id', Int32), ('topics', Array( @@ -107,10 +107,10 @@ class ListOffsetsRequest_v0(Request): 'replica_id': -1 } -class ListOffsetsRequest_v1(Request): +class OffsetRequest_v1(Request): API_KEY = 2 API_VERSION = 1 - RESPONSE_TYPE = ListOffsetsResponse_v1 + RESPONSE_TYPE = OffsetResponse_v1 SCHEMA = Schema( ('replica_id', Int32), ('topics', Array( @@ -124,10 +124,10 @@ class ListOffsetsRequest_v1(Request): } -class ListOffsetsRequest_v2(Request): +class OffsetRequest_v2(Request): API_KEY = 2 API_VERSION = 2 - RESPONSE_TYPE = ListOffsetsResponse_v2 + RESPONSE_TYPE = OffsetResponse_v2 SCHEMA = Schema( ('replica_id', Int32), ('isolation_level', Int8), # <- added isolation_level @@ -142,23 +142,23 @@ class ListOffsetsRequest_v2(Request): } -class ListOffsetsRequest_v3(Request): +class OffsetRequest_v3(Request): API_KEY = 2 API_VERSION = 3 - RESPONSE_TYPE = ListOffsetsResponse_v3 - SCHEMA = ListOffsetsRequest_v2.SCHEMA + RESPONSE_TYPE = OffsetResponse_v3 + SCHEMA = OffsetRequest_v2.SCHEMA DEFAULTS = { 'replica_id': -1 } -class ListOffsetsRequest_v4(Request): +class OffsetRequest_v4(Request): """ Add current_leader_epoch to request """ API_KEY = 2 API_VERSION = 4 - RESPONSE_TYPE = ListOffsetsResponse_v4 + RESPONSE_TYPE = OffsetResponse_v4 SCHEMA = Schema( ('replica_id', Int32), ('isolation_level', Int8), # <- added isolation_level @@ -166,7 +166,7 @@ class ListOffsetsRequest_v4(Request): ('topic', String('utf-8')), ('partitions', Array( ('partition', Int32), - ('current_leader_epoch', Int32), + ('current_leader_epoch', Int64), ('timestamp', Int64))))) ) DEFAULTS = { @@ -174,21 +174,21 @@ class ListOffsetsRequest_v4(Request): } -class ListOffsetsRequest_v5(Request): +class OffsetRequest_v5(Request): API_KEY = 2 API_VERSION = 5 - RESPONSE_TYPE = ListOffsetsResponse_v5 - SCHEMA = ListOffsetsRequest_v4.SCHEMA + RESPONSE_TYPE = OffsetResponse_v5 + SCHEMA = OffsetRequest_v4.SCHEMA DEFAULTS = { 'replica_id': -1 } -ListOffsetsRequest = [ - ListOffsetsRequest_v0, ListOffsetsRequest_v1, ListOffsetsRequest_v2, - ListOffsetsRequest_v3, ListOffsetsRequest_v4, ListOffsetsRequest_v5, +OffsetRequest = [ + OffsetRequest_v0, OffsetRequest_v1, OffsetRequest_v2, + OffsetRequest_v3, OffsetRequest_v4, OffsetRequest_v5, ] -ListOffsetsResponse = [ - ListOffsetsResponse_v0, ListOffsetsResponse_v1, ListOffsetsResponse_v2, - ListOffsetsResponse_v3, ListOffsetsResponse_v4, ListOffsetsResponse_v5, +OffsetResponse = [ + OffsetResponse_v0, OffsetResponse_v1, OffsetResponse_v2, + OffsetResponse_v3, OffsetResponse_v4, OffsetResponse_v5, ] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/offset_for_leader_epoch.py b/venv/lib/python3.12/site-packages/kafka/protocol/offset_for_leader_epoch.py deleted file mode 100644 index 8465588..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/offset_for_leader_epoch.py +++ /dev/null @@ -1,140 +0,0 @@ -from __future__ import absolute_import - -from kafka.protocol.api import Request, Response -from kafka.protocol.types import Array, CompactArray, CompactString, Int16, Int32, Int64, Schema, String, TaggedFields - - -class OffsetForLeaderEpochResponse_v0(Response): - API_KEY = 23 - API_VERSION = 0 - SCHEMA = Schema( - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('error_code', Int16), - ('partition', Int32), - ('end_offset', Int64)))))) - - -class OffsetForLeaderEpochResponse_v1(Response): - API_KEY = 23 - API_VERSION = 1 - SCHEMA = Schema( - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('error_code', Int16), - ('partition', Int32), - ('leader_epoch', Int32), - ('end_offset', Int64)))))) - - -class OffsetForLeaderEpochResponse_v2(Response): - API_KEY = 23 - API_VERSION = 2 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('error_code', Int16), - ('partition', Int32), - ('leader_epoch', Int32), - ('end_offset', Int64)))))) - - -class OffsetForLeaderEpochResponse_v3(Response): - API_KEY = 23 - API_VERSION = 3 - SCHEMA = OffsetForLeaderEpochResponse_v2.SCHEMA - - -class OffsetForLeaderEpochResponse_v4(Response): - API_KEY = 23 - API_VERSION = 4 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('topics', CompactArray( - ('topic', CompactString('utf-8')), - ('partitions', CompactArray( - ('error_code', Int16), - ('partition', Int32), - ('leader_epoch', Int32), - ('end_offset', Int64), - ('tags', TaggedFields))), - ('tags', TaggedFields))), - ('tags', TaggedFields)) - - -class OffsetForLeaderEpochRequest_v0(Request): - API_KEY = 23 - API_VERSION = 0 - RESPONSE_TYPE = OffsetForLeaderEpochResponse_v0 - SCHEMA = Schema( - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('partition', Int32), - ('leader_epoch', Int32)))))) - - -class OffsetForLeaderEpochRequest_v1(Request): - API_KEY = 23 - API_VERSION = 1 - RESPONSE_TYPE = OffsetForLeaderEpochResponse_v1 - SCHEMA = OffsetForLeaderEpochRequest_v0.SCHEMA - - -class OffsetForLeaderEpochRequest_v2(Request): - API_KEY = 23 - API_VERSION = 2 - RESPONSE_TYPE = OffsetForLeaderEpochResponse_v2 - SCHEMA = Schema( - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('partition', Int32), - ('current_leader_epoch', Int32), - ('leader_epoch', Int32)))))) - - -class OffsetForLeaderEpochRequest_v3(Request): - API_KEY = 23 - API_VERSION = 3 - RESPONSE_TYPE = OffsetForLeaderEpochResponse_v3 - SCHEMA = Schema( - ('replica_id', Int32), - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('partition', Int32), - ('current_leader_epoch', Int32), - ('leader_epoch', Int32)))))) - - -class OffsetForLeaderEpochRequest_v4(Request): - API_KEY = 23 - API_VERSION = 4 - RESPONSE_TYPE = OffsetForLeaderEpochResponse_v4 - SCHEMA = Schema( - ('replica_id', Int32), - ('topics', CompactArray( - ('topic', CompactString('utf-8')), - ('partitions', CompactArray( - ('partition', Int32), - ('current_leader_epoch', Int32), - ('leader_epoch', Int32), - ('tags', TaggedFields))), - ('tags', TaggedFields))), - ('tags', TaggedFields)) - -OffsetForLeaderEpochRequest = [ - OffsetForLeaderEpochRequest_v0, OffsetForLeaderEpochRequest_v1, - OffsetForLeaderEpochRequest_v2, OffsetForLeaderEpochRequest_v3, - OffsetForLeaderEpochRequest_v4, -] -OffsetForLeaderEpochResponse = [ - OffsetForLeaderEpochResponse_v0, OffsetForLeaderEpochResponse_v1, - OffsetForLeaderEpochResponse_v2, OffsetForLeaderEpochResponse_v3, - OffsetForLeaderEpochResponse_v4, -] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/parser.py b/venv/lib/python3.12/site-packages/kafka/protocol/parser.py index 4bc4273..cfee046 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/parser.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/parser.py @@ -4,9 +4,10 @@ import collections import logging import kafka.errors as Errors -from kafka.protocol.find_coordinator import FindCoordinatorResponse +from kafka.protocol.api import RequestHeader +from kafka.protocol.commit import GroupCoordinatorResponse from kafka.protocol.frame import KafkaBytes -from kafka.protocol.types import Int32, TaggedFields +from kafka.protocol.types import Int32 from kafka.version import __version__ log = logging.getLogger(__name__) @@ -58,8 +59,9 @@ class KafkaProtocol(object): log.debug('Sending request %s', request) if correlation_id is None: correlation_id = self._next_correlation_id() - - header = request.build_header(correlation_id=correlation_id, client_id=self._client_id) + header = RequestHeader(request, + correlation_id=correlation_id, + client_id=self._client_id) message = b''.join([header.encode(), request.encode()]) size = Int32.encode(len(message)) data = size + message @@ -133,17 +135,21 @@ class KafkaProtocol(object): return responses def _process_response(self, read_buffer): - if not self.in_flight_requests: - raise Errors.CorrelationIdError('No in-flight-request found for server response') - (correlation_id, request) = self.in_flight_requests.popleft() - response_type = request.RESPONSE_TYPE - response_header = response_type.parse_header(read_buffer) - recv_correlation_id = response_header.correlation_id + recv_correlation_id = Int32.decode(read_buffer) log.debug('Received correlation id: %d', recv_correlation_id) + + if not self.in_flight_requests: + raise Errors.CorrelationIdError( + 'No in-flight-request found for server response' + ' with correlation ID %d' + % (recv_correlation_id,)) + + (correlation_id, request) = self.in_flight_requests.popleft() + # 0.8.2 quirk if (recv_correlation_id == 0 and correlation_id != 0 and - response_type is FindCoordinatorResponse[0] and + request.RESPONSE_TYPE is GroupCoordinatorResponse[0] and (self._api_version == (0, 8, 2) or self._api_version is None)): log.warning('Kafka 0.8.2 quirk -- GroupCoordinatorResponse' ' Correlation ID does not match request. This' @@ -157,15 +163,15 @@ class KafkaProtocol(object): % (correlation_id, recv_correlation_id)) # decode response - log.debug('Processing response %s', response_type.__name__) + log.debug('Processing response %s', request.RESPONSE_TYPE.__name__) try: - response = response_type.decode(read_buffer) + response = request.RESPONSE_TYPE.decode(read_buffer) except ValueError: read_buffer.seek(0) buf = read_buffer.read() log.error('Response %d [ResponseType: %s Request: %s]:' ' Unable to decode %d-byte buffer: %r', - correlation_id, response_type, + correlation_id, request.RESPONSE_TYPE, request, len(buf), buf) raise Errors.KafkaProtocolError('Unable to decode response') diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/produce.py b/venv/lib/python3.12/site-packages/kafka/protocol/produce.py index 3076a28..9b3f6bf 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/produce.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/produce.py @@ -47,7 +47,6 @@ class ProduceResponse_v2(Response): class ProduceResponse_v3(Response): - # Adds support for message format v2 API_KEY = 0 API_VERSION = 3 SCHEMA = ProduceResponse_v2.SCHEMA @@ -142,7 +141,7 @@ class ProduceRequest_v0(ProduceRequest): ('topic', String('utf-8')), ('partitions', Array( ('partition', Int32), - ('records', Bytes))))) + ('messages', Bytes))))) ) @@ -159,7 +158,6 @@ class ProduceRequest_v2(ProduceRequest): class ProduceRequest_v3(ProduceRequest): - # Adds support for message format v2 API_VERSION = 3 RESPONSE_TYPE = ProduceResponse_v3 SCHEMA = Schema( @@ -170,7 +168,7 @@ class ProduceRequest_v3(ProduceRequest): ('topic', String('utf-8')), ('partitions', Array( ('partition', Int32), - ('records', Bytes))))) + ('messages', Bytes))))) ) diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/sasl_authenticate.py b/venv/lib/python3.12/site-packages/kafka/protocol/sasl_authenticate.py deleted file mode 100644 index a2b9b19..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/sasl_authenticate.py +++ /dev/null @@ -1,42 +0,0 @@ -from __future__ import absolute_import - -from kafka.protocol.api import Request, Response -from kafka.protocol.types import Bytes, Int16, Int64, Schema, String - - -class SaslAuthenticateResponse_v0(Response): - API_KEY = 36 - API_VERSION = 0 - SCHEMA = Schema( - ('error_code', Int16), - ('error_message', String('utf-8')), - ('auth_bytes', Bytes)) - - -class SaslAuthenticateResponse_v1(Response): - API_KEY = 36 - API_VERSION = 1 - SCHEMA = Schema( - ('error_code', Int16), - ('error_message', String('utf-8')), - ('auth_bytes', Bytes), - ('session_lifetime_ms', Int64)) - - -class SaslAuthenticateRequest_v0(Request): - API_KEY = 36 - API_VERSION = 0 - RESPONSE_TYPE = SaslAuthenticateResponse_v0 - SCHEMA = Schema( - ('auth_bytes', Bytes)) - - -class SaslAuthenticateRequest_v1(Request): - API_KEY = 36 - API_VERSION = 1 - RESPONSE_TYPE = SaslAuthenticateResponse_v1 - SCHEMA = SaslAuthenticateRequest_v0.SCHEMA - - -SaslAuthenticateRequest = [SaslAuthenticateRequest_v0, SaslAuthenticateRequest_v1] -SaslAuthenticateResponse = [SaslAuthenticateResponse_v0, SaslAuthenticateResponse_v1] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/sasl_handshake.py b/venv/lib/python3.12/site-packages/kafka/protocol/sasl_handshake.py deleted file mode 100644 index e91c856..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/sasl_handshake.py +++ /dev/null @@ -1,39 +0,0 @@ -from __future__ import absolute_import - -from kafka.protocol.api import Request, Response -from kafka.protocol.types import Array, Int16, Schema, String - - -class SaslHandshakeResponse_v0(Response): - API_KEY = 17 - API_VERSION = 0 - SCHEMA = Schema( - ('error_code', Int16), - ('enabled_mechanisms', Array(String('utf-8'))) - ) - - -class SaslHandshakeResponse_v1(Response): - API_KEY = 17 - API_VERSION = 1 - SCHEMA = SaslHandshakeResponse_v0.SCHEMA - - -class SaslHandshakeRequest_v0(Request): - API_KEY = 17 - API_VERSION = 0 - RESPONSE_TYPE = SaslHandshakeResponse_v0 - SCHEMA = Schema( - ('mechanism', String('utf-8')) - ) - - -class SaslHandshakeRequest_v1(Request): - API_KEY = 17 - API_VERSION = 1 - RESPONSE_TYPE = SaslHandshakeResponse_v1 - SCHEMA = SaslHandshakeRequest_v0.SCHEMA - - -SaslHandshakeRequest = [SaslHandshakeRequest_v0, SaslHandshakeRequest_v1] -SaslHandshakeResponse = [SaslHandshakeResponse_v0, SaslHandshakeResponse_v1] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/txn_offset_commit.py b/venv/lib/python3.12/site-packages/kafka/protocol/txn_offset_commit.py deleted file mode 100644 index df1b1bd..0000000 --- a/venv/lib/python3.12/site-packages/kafka/protocol/txn_offset_commit.py +++ /dev/null @@ -1,78 +0,0 @@ -from __future__ import absolute_import - -from kafka.protocol.api import Request, Response -from kafka.protocol.types import Array, Int16, Int32, Int64, Schema, String - - -class TxnOffsetCommitResponse_v0(Response): - API_KEY = 28 - API_VERSION = 0 - SCHEMA = Schema( - ('throttle_time_ms', Int32), - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('partition', Int32), - ('error_code', Int16)))))) - - -class TxnOffsetCommitResponse_v1(Response): - API_KEY = 28 - API_VERSION = 1 - SCHEMA = TxnOffsetCommitResponse_v0.SCHEMA - - -class TxnOffsetCommitResponse_v2(Response): - API_KEY = 28 - API_VERSION = 2 - SCHEMA = TxnOffsetCommitResponse_v1.SCHEMA - - -class TxnOffsetCommitRequest_v0(Request): - API_KEY = 28 - API_VERSION = 0 - RESPONSE_TYPE = TxnOffsetCommitResponse_v0 - SCHEMA = Schema( - ('transactional_id', String('utf-8')), - ('group_id', String('utf-8')), - ('producer_id', Int64), - ('producer_epoch', Int16), - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('partition', Int32), - ('offset', Int64), - ('metadata', String('utf-8'))))))) - - -class TxnOffsetCommitRequest_v1(Request): - API_KEY = 28 - API_VERSION = 1 - RESPONSE_TYPE = TxnOffsetCommitResponse_v1 - SCHEMA = TxnOffsetCommitRequest_v0.SCHEMA - - -class TxnOffsetCommitRequest_v2(Request): - API_KEY = 28 - API_VERSION = 2 - RESPONSE_TYPE = TxnOffsetCommitResponse_v2 - SCHEMA = Schema( - ('transactional_id', String('utf-8')), - ('group_id', String('utf-8')), - ('producer_id', Int64), - ('producer_epoch', Int16), - ('topics', Array( - ('topic', String('utf-8')), - ('partitions', Array( - ('partition', Int32), - ('offset', Int64), - ('leader_epoch', Int32), - ('metadata', String('utf-8'))))))) - - -TxnOffsetCommitRequest = [ - TxnOffsetCommitRequest_v0, TxnOffsetCommitRequest_v1, TxnOffsetCommitRequest_v2, -] -TxnOffsetCommitResponse = [ - TxnOffsetCommitResponse_v0, TxnOffsetCommitResponse_v1, TxnOffsetCommitResponse_v2, -] diff --git a/venv/lib/python3.12/site-packages/kafka/protocol/types.py b/venv/lib/python3.12/site-packages/kafka/protocol/types.py index 0e3685d..d508b26 100644 --- a/venv/lib/python3.12/site-packages/kafka/protocol/types.py +++ b/venv/lib/python3.12/site-packages/kafka/protocol/types.py @@ -77,19 +77,6 @@ class Int64(AbstractType): return _unpack(cls._unpack, data.read(8)) -class Float64(AbstractType): - _pack = struct.Struct('>d').pack - _unpack = struct.Struct('>d').unpack - - @classmethod - def encode(cls, value): - return _pack(cls._pack, value) - - @classmethod - def decode(cls, data): - return _unpack(cls._unpack, data.read(8)) - - class String(AbstractType): def __init__(self, encoding='utf-8'): self.encoding = encoding @@ -194,10 +181,9 @@ class Array(AbstractType): def encode(self, items): if items is None: return Int32.encode(-1) - encoded_items = [self.array_of.encode(item) for item in items] return b''.join( - [Int32.encode(len(encoded_items))] + - encoded_items + [Int32.encode(len(items))] + + [self.array_of.encode(item) for item in items] ) def decode(self, data): @@ -210,156 +196,3 @@ class Array(AbstractType): if list_of_items is None: return 'NULL' return '[' + ', '.join([self.array_of.repr(item) for item in list_of_items]) + ']' - - -class UnsignedVarInt32(AbstractType): - @classmethod - def decode(cls, data): - value, i = 0, 0 - while True: - b, = struct.unpack('B', data.read(1)) - if not (b & 0x80): - break - value |= (b & 0x7f) << i - i += 7 - if i > 28: - raise ValueError('Invalid value {}'.format(value)) - value |= b << i - return value - - @classmethod - def encode(cls, value): - value &= 0xffffffff - ret = b'' - while (value & 0xffffff80) != 0: - b = (value & 0x7f) | 0x80 - ret += struct.pack('B', b) - value >>= 7 - ret += struct.pack('B', value) - return ret - - -class VarInt32(AbstractType): - @classmethod - def decode(cls, data): - value = UnsignedVarInt32.decode(data) - return (value >> 1) ^ -(value & 1) - - @classmethod - def encode(cls, value): - # bring it in line with the java binary repr - value &= 0xffffffff - return UnsignedVarInt32.encode((value << 1) ^ (value >> 31)) - - -class VarInt64(AbstractType): - @classmethod - def decode(cls, data): - value, i = 0, 0 - while True: - b = data.read(1) - if not (b & 0x80): - break - value |= (b & 0x7f) << i - i += 7 - if i > 63: - raise ValueError('Invalid value {}'.format(value)) - value |= b << i - return (value >> 1) ^ -(value & 1) - - @classmethod - def encode(cls, value): - # bring it in line with the java binary repr - value &= 0xffffffffffffffff - v = (value << 1) ^ (value >> 63) - ret = b'' - while (v & 0xffffffffffffff80) != 0: - b = (value & 0x7f) | 0x80 - ret += struct.pack('B', b) - v >>= 7 - ret += struct.pack('B', v) - return ret - - -class CompactString(String): - def decode(self, data): - length = UnsignedVarInt32.decode(data) - 1 - if length < 0: - return None - value = data.read(length) - if len(value) != length: - raise ValueError('Buffer underrun decoding string') - return value.decode(self.encoding) - - def encode(self, value): - if value is None: - return UnsignedVarInt32.encode(0) - value = str(value).encode(self.encoding) - return UnsignedVarInt32.encode(len(value) + 1) + value - - -class TaggedFields(AbstractType): - @classmethod - def decode(cls, data): - num_fields = UnsignedVarInt32.decode(data) - ret = {} - if not num_fields: - return ret - prev_tag = -1 - for i in range(num_fields): - tag = UnsignedVarInt32.decode(data) - if tag <= prev_tag: - raise ValueError('Invalid or out-of-order tag {}'.format(tag)) - prev_tag = tag - size = UnsignedVarInt32.decode(data) - val = data.read(size) - ret[tag] = val - return ret - - @classmethod - def encode(cls, value): - ret = UnsignedVarInt32.encode(len(value)) - for k, v in value.items(): - # do we allow for other data types ?? It could get complicated really fast - assert isinstance(v, bytes), 'Value {} is not a byte array'.format(v) - assert isinstance(k, int) and k > 0, 'Key {} is not a positive integer'.format(k) - ret += UnsignedVarInt32.encode(k) - ret += v - return ret - - -class CompactBytes(AbstractType): - @classmethod - def decode(cls, data): - length = UnsignedVarInt32.decode(data) - 1 - if length < 0: - return None - value = data.read(length) - if len(value) != length: - raise ValueError('Buffer underrun decoding Bytes') - return value - - @classmethod - def encode(cls, value): - if value is None: - return UnsignedVarInt32.encode(0) - else: - return UnsignedVarInt32.encode(len(value) + 1) + value - - -class CompactArray(Array): - - def encode(self, items): - if items is None: - return UnsignedVarInt32.encode(0) - return b''.join( - [UnsignedVarInt32.encode(len(items) + 1)] + - [self.array_of.encode(item) for item in items] - ) - - def decode(self, data): - length = UnsignedVarInt32.decode(data) - 1 - if length == -1: - return None - return [self.array_of.decode(data) for _ in range(length)] - diff --git a/venv/lib/python3.12/site-packages/kafka/record/_crc32c.py b/venv/lib/python3.12/site-packages/kafka/record/_crc32c.py index 9b51ad8..ecff48f 100644 --- a/venv/lib/python3.12/site-packages/kafka/record/_crc32c.py +++ b/venv/lib/python3.12/site-packages/kafka/record/_crc32c.py @@ -105,7 +105,7 @@ def crc_update(crc, data): Returns: 32-bit updated CRC-32C as long. """ - if not isinstance(data, array.array) or data.itemsize != 1: + if type(data) != array.array or data.itemsize != 1: buf = array.array("B", data) else: buf = data diff --git a/venv/lib/python3.12/site-packages/kafka/record/abc.py b/venv/lib/python3.12/site-packages/kafka/record/abc.py index c78f0da..d5c172a 100644 --- a/venv/lib/python3.12/site-packages/kafka/record/abc.py +++ b/venv/lib/python3.12/site-packages/kafka/record/abc.py @@ -1,19 +1,11 @@ from __future__ import absolute_import - import abc -from kafka.vendor.six import add_metaclass - -@add_metaclass(abc.ABCMeta) class ABCRecord(object): + __metaclass__ = abc.ABCMeta __slots__ = () - @abc.abstractproperty - def size_in_bytes(self): - """ Number of total bytes in record - """ - @abc.abstractproperty def offset(self): """ Absolute offset of record @@ -45,11 +37,6 @@ class ABCRecord(object): be the checksum for v0 and v1 and None for v2 and above. """ - @abc.abstractmethod - def validate_crc(self): - """ Return True if v0/v1 record matches checksum. noop/True for v2 records - """ - @abc.abstractproperty def headers(self): """ If supported by version list of key-value tuples, or empty list if @@ -57,8 +44,8 @@ class ABCRecord(object): """ -@add_metaclass(abc.ABCMeta) class ABCRecordBatchBuilder(object): + __metaclass__ = abc.ABCMeta __slots__ = () @abc.abstractmethod @@ -97,11 +84,11 @@ class ABCRecordBatchBuilder(object): """ -@add_metaclass(abc.ABCMeta) class ABCRecordBatch(object): - """ For v2 encapsulates a RecordBatch, for v0/v1 a single (maybe + """ For v2 incapsulates a RecordBatch, for v0/v1 a single (maybe compressed) message. """ + __metaclass__ = abc.ABCMeta __slots__ = () @abc.abstractmethod @@ -110,24 +97,9 @@ class ABCRecordBatch(object): if needed. """ - @abc.abstractproperty - def base_offset(self): - """ Return base offset for batch - """ - @abc.abstractproperty - def size_in_bytes(self): - """ Return size of batch in bytes (includes header overhead) - """ - - @abc.abstractproperty - def magic(self): - """ Return magic value (0, 1, 2) for batch. - """ - - -@add_metaclass(abc.ABCMeta) class ABCRecords(object): + __metaclass__ = abc.ABCMeta __slots__ = () @abc.abstractmethod diff --git a/venv/lib/python3.12/site-packages/kafka/record/default_records.py b/venv/lib/python3.12/site-packages/kafka/record/default_records.py index a3b9cd5..a098c42 100644 --- a/venv/lib/python3.12/site-packages/kafka/record/default_records.py +++ b/venv/lib/python3.12/site-packages/kafka/record/default_records.py @@ -60,7 +60,7 @@ from kafka.record.abc import ABCRecord, ABCRecordBatch, ABCRecordBatchBuilder from kafka.record.util import ( decode_varint, encode_varint, calc_crc32c, size_of_varint ) -from kafka.errors import CorruptRecordError, UnsupportedCodecError +from kafka.errors import CorruptRecordException, UnsupportedCodecError from kafka.codec import ( gzip_encode, snappy_encode, lz4_encode, zstd_encode, gzip_decode, snappy_decode, lz4_decode, zstd_decode @@ -104,9 +104,6 @@ class DefaultRecordBase(object): LOG_APPEND_TIME = 1 CREATE_TIME = 0 - NO_PRODUCER_ID = -1 - NO_SEQUENCE = -1 - MAX_INT = 2147483647 def _assert_has_codec(self, compression_type): if compression_type == self.CODEC_GZIP: @@ -117,8 +114,6 @@ class DefaultRecordBase(object): checker, name = codecs.has_lz4, "lz4" elif compression_type == self.CODEC_ZSTD: checker, name = codecs.has_zstd, "zstd" - else: - raise UnsupportedCodecError("Unrecognized compression type: %s" % (compression_type,)) if not checker(): raise UnsupportedCodecError( "Libraries for {} compression codec not found".format(name)) @@ -141,14 +136,6 @@ class DefaultRecordBatch(DefaultRecordBase, ABCRecordBatch): def base_offset(self): return self._header_data[0] - @property - def size_in_bytes(self): - return self._header_data[1] + self.AFTER_LEN_OFFSET - - @property - def leader_epoch(self): - return self._header_data[2] - @property def magic(self): return self._header_data[3] @@ -165,14 +152,6 @@ class DefaultRecordBatch(DefaultRecordBase, ABCRecordBatch): def last_offset_delta(self): return self._header_data[6] - @property - def last_offset(self): - return self.base_offset + self.last_offset_delta - - @property - def next_offset(self): - return self.last_offset + 1 - @property def compression_type(self): return self.attributes & self.CODEC_MASK @@ -197,40 +176,6 @@ class DefaultRecordBatch(DefaultRecordBase, ABCRecordBatch): def max_timestamp(self): return self._header_data[8] - @property - def producer_id(self): - return self._header_data[9] - - def has_producer_id(self): - return self.producer_id > self.NO_PRODUCER_ID - - @property - def producer_epoch(self): - return self._header_data[10] - - @property - def base_sequence(self): - return self._header_data[11] - - @property - def has_sequence(self): - return self._header_data[11] != -1 # NO_SEQUENCE - - @property - def last_sequence(self): - if self.base_sequence == self.NO_SEQUENCE: - return self.NO_SEQUENCE - return self._increment_sequence(self.base_sequence, self.last_offset_delta) - - def _increment_sequence(self, base, increment): - if base > (self.MAX_INT - increment): - return increment - (self.MAX_INT - base) - 1 - return base + increment - - @property - def records_count(self): - return self._header_data[12] - def _maybe_uncompress(self): if not self._decompressed: compression_type = self.compression_type @@ -294,14 +239,14 @@ class DefaultRecordBatch(DefaultRecordBase, ABCRecordBatch): header_count, pos = decode_varint(buffer, pos) if header_count < 0: - raise CorruptRecordError("Found invalid number of record " + raise CorruptRecordException("Found invalid number of record " "headers {}".format(header_count)) headers = [] while header_count: # Header key is of type String, that can't be None h_key_len, pos = decode_varint(buffer, pos) if h_key_len < 0: - raise CorruptRecordError( + raise CorruptRecordException( "Invalid negative header key size {}".format(h_key_len)) h_key = buffer[pos: pos + h_key_len].decode("utf-8") pos += h_key_len @@ -319,17 +264,13 @@ class DefaultRecordBatch(DefaultRecordBase, ABCRecordBatch): # validate whether we have read all header bytes in the current record if pos - start_pos != length: - raise CorruptRecordError( + raise CorruptRecordException( "Invalid record size: expected to read {} bytes in record " "payload, but instead read {}".format(length, pos - start_pos)) self._pos = pos - if self.is_control_batch: - return ControlRecord( - length, offset, timestamp, self.timestamp_type, key, value, headers) - else: - return DefaultRecord( - length, offset, timestamp, self.timestamp_type, key, value, headers) + return DefaultRecord( + offset, timestamp, self.timestamp_type, key, value, headers) def __iter__(self): self._maybe_uncompress() @@ -338,14 +279,14 @@ class DefaultRecordBatch(DefaultRecordBase, ABCRecordBatch): def __next__(self): if self._next_record_index >= self._num_records: if self._pos != len(self._buffer): - raise CorruptRecordError( + raise CorruptRecordException( "{} unconsumed bytes after all records consumed".format( len(self._buffer) - self._pos)) raise StopIteration try: msg = self._read_msg() except (ValueError, IndexError) as err: - raise CorruptRecordError( + raise CorruptRecordException( "Found invalid record structure: {!r}".format(err)) else: self._next_record_index += 1 @@ -362,25 +303,13 @@ class DefaultRecordBatch(DefaultRecordBase, ABCRecordBatch): verify_crc = calc_crc32c(data_view.tobytes()) return crc == verify_crc - def __str__(self): - return ( - "DefaultRecordBatch(magic={}, base_offset={}, last_offset_delta={}," - " first_timestamp={}, max_timestamp={}," - " is_transactional={}, producer_id={}, producer_epoch={}, base_sequence={}," - " records_count={})".format( - self.magic, self.base_offset, self.last_offset_delta, - self.first_timestamp, self.max_timestamp, - self.is_transactional, self.producer_id, self.producer_epoch, self.base_sequence, - self.records_count)) - class DefaultRecord(ABCRecord): - __slots__ = ("_size_in_bytes", "_offset", "_timestamp", "_timestamp_type", "_key", "_value", + __slots__ = ("_offset", "_timestamp", "_timestamp_type", "_key", "_value", "_headers") - def __init__(self, size_in_bytes, offset, timestamp, timestamp_type, key, value, headers): - self._size_in_bytes = size_in_bytes + def __init__(self, offset, timestamp, timestamp_type, key, value, headers): self._offset = offset self._timestamp = timestamp self._timestamp_type = timestamp_type @@ -388,10 +317,6 @@ class DefaultRecord(ABCRecord): self._value = value self._headers = headers - @property - def size_in_bytes(self): - return self._size_in_bytes - @property def offset(self): return self._offset @@ -428,9 +353,6 @@ class DefaultRecord(ABCRecord): def checksum(self): return None - def validate_crc(self): - return True - def __repr__(self): return ( "DefaultRecord(offset={!r}, timestamp={!r}, timestamp_type={!r}," @@ -440,45 +362,6 @@ class DefaultRecord(ABCRecord): ) -class ControlRecord(DefaultRecord): - __slots__ = ("_size_in_bytes", "_offset", "_timestamp", "_timestamp_type", "_key", "_value", - "_headers", "_version", "_type") - - KEY_STRUCT = struct.Struct( - ">h" # Current Version => Int16 - "h" # Type => Int16 (0 indicates an abort marker, 1 indicates a commit) - ) - - def __init__(self, size_in_bytes, offset, timestamp, timestamp_type, key, value, headers): - super(ControlRecord, self).__init__(size_in_bytes, offset, timestamp, timestamp_type, key, value, headers) - (self._version, self._type) = self.KEY_STRUCT.unpack(self._key) - - # see https://kafka.apache.org/documentation/#controlbatch - @property - def version(self): - return self._version - - @property - def type(self): - return self._type - - @property - def abort(self): - return self._type == 0 - - @property - def commit(self): - return self._type == 1 - - def __repr__(self): - return ( - "ControlRecord(offset={!r}, timestamp={!r}, timestamp_type={!r}," - " version={!r}, type={!r} <{!s}>)".format( - self._offset, self._timestamp, self._timestamp_type, - self._version, self._type, "abort" if self.abort else "commit") - ) - - class DefaultRecordBatchBuilder(DefaultRecordBase, ABCRecordBatchBuilder): # excluding key, value and headers: @@ -510,23 +393,6 @@ class DefaultRecordBatchBuilder(DefaultRecordBase, ABCRecordBatchBuilder): self._buffer = bytearray(self.HEADER_STRUCT.size) - def set_producer_state(self, producer_id, producer_epoch, base_sequence, is_transactional): - assert not is_transactional or producer_id != -1, "Cannot write transactional messages without a valid producer ID" - assert producer_id == -1 or producer_epoch != -1, "Invalid negative producer epoch" - assert producer_id == -1 or base_sequence != -1, "Invalid negative sequence number" - self._producer_id = producer_id - self._producer_epoch = producer_epoch - self._base_sequence = base_sequence - self._is_transactional = is_transactional - - @property - def producer_id(self): - return self._producer_id - - @property - def producer_epoch(self): - return self._producer_epoch - def _get_attributes(self, include_compression_type=True): attrs = 0 if include_compression_type: @@ -635,8 +501,8 @@ class DefaultRecordBatchBuilder(DefaultRecordBase, ABCRecordBatchBuilder): 0, # CRC will be set below, as we need a filled buffer for it self._get_attributes(use_compression_type), self._last_offset, - self._first_timestamp or 0, - self._max_timestamp or 0, + self._first_timestamp, + self._max_timestamp, self._producer_id, self._producer_epoch, self._base_sequence, @@ -681,15 +547,14 @@ class DefaultRecordBatchBuilder(DefaultRecordBase, ABCRecordBatchBuilder): """ return len(self._buffer) - @classmethod - def header_size_in_bytes(self): - return self.HEADER_STRUCT.size - - @classmethod - def size_in_bytes(self, offset_delta, timestamp_delta, key, value, headers): + def size_in_bytes(self, offset, timestamp, key, value, headers): + if self._first_timestamp is not None: + timestamp_delta = timestamp - self._first_timestamp + else: + timestamp_delta = 0 size_of_body = ( 1 + # Attrs - size_of_varint(offset_delta) + + size_of_varint(offset) + size_of_varint(timestamp_delta) + self.size_of(key, value, headers) ) @@ -732,17 +597,6 @@ class DefaultRecordBatchBuilder(DefaultRecordBase, ABCRecordBatchBuilder): cls.size_of(key, value, headers) ) - def __str__(self): - return ( - "DefaultRecordBatchBuilder(magic={}, base_offset={}, last_offset_delta={}," - " first_timestamp={}, max_timestamp={}," - " is_transactional={}, producer_id={}, producer_epoch={}, base_sequence={}," - " records_count={})".format( - self._magic, 0, self._last_offset, - self._first_timestamp or 0, self._max_timestamp or 0, - self._is_transactional, self._producer_id, self._producer_epoch, self._base_sequence, - self._num_records)) - class DefaultRecordMetadata(object): diff --git a/venv/lib/python3.12/site-packages/kafka/record/legacy_records.py b/venv/lib/python3.12/site-packages/kafka/record/legacy_records.py index f085978..e2ee549 100644 --- a/venv/lib/python3.12/site-packages/kafka/record/legacy_records.py +++ b/venv/lib/python3.12/site-packages/kafka/record/legacy_records.py @@ -52,7 +52,7 @@ from kafka.codec import ( gzip_decode, snappy_decode, lz4_decode, lz4_decode_old_kafka, ) import kafka.codec as codecs -from kafka.errors import CorruptRecordError, UnsupportedCodecError +from kafka.errors import CorruptRecordException, UnsupportedCodecError class LegacyRecordBase(object): @@ -129,7 +129,7 @@ class LegacyRecordBase(object): class LegacyRecordBatch(ABCRecordBatch, LegacyRecordBase): - __slots__ = ("_buffer", "_magic", "_offset", "_length", "_crc", "_timestamp", + __slots__ = ("_buffer", "_magic", "_offset", "_crc", "_timestamp", "_attributes", "_decompressed") def __init__(self, buffer, magic): @@ -141,20 +141,11 @@ class LegacyRecordBatch(ABCRecordBatch, LegacyRecordBase): assert magic == magic_ self._offset = offset - self._length = length self._crc = crc self._timestamp = timestamp self._attributes = attrs self._decompressed = False - @property - def base_offset(self): - return self._offset - - @property - def size_in_bytes(self): - return self._length + self.LOG_OVERHEAD - @property def timestamp_type(self): """0 for CreateTime; 1 for LogAppendTime; None if unsupported. @@ -173,10 +164,6 @@ class LegacyRecordBatch(ABCRecordBatch, LegacyRecordBase): def compression_type(self): return self._attributes & self.CODEC_MASK - @property - def magic(self): - return self._magic - def validate_crc(self): crc = calc_crc32(self._buffer[self.MAGIC_OFFSET:]) return self._crc == crc @@ -191,7 +178,7 @@ class LegacyRecordBatch(ABCRecordBatch, LegacyRecordBase): value_size = struct.unpack_from(">i", self._buffer, pos)[0] pos += self.VALUE_LENGTH if value_size == -1: - raise CorruptRecordError("Value of compressed message is None") + raise CorruptRecordException("Value of compressed message is None") else: data = self._buffer[pos:pos + value_size] @@ -245,9 +232,6 @@ class LegacyRecordBatch(ABCRecordBatch, LegacyRecordBase): value = self._buffer[pos:pos + value_size].tobytes() return key, value - def _crc_bytes(self, msg_pos, length): - return self._buffer[msg_pos + self.MAGIC_OFFSET:msg_pos + self.LOG_OVERHEAD + length] - def __iter__(self): if self._magic == 1: key_offset = self.KEY_OFFSET_V1 @@ -271,7 +255,7 @@ class LegacyRecordBatch(ABCRecordBatch, LegacyRecordBase): absolute_base_offset = -1 for header, msg_pos in headers: - offset, length, crc, _, attrs, timestamp = header + offset, _, crc, _, attrs, timestamp = header # There should only ever be a single layer of compression assert not attrs & self.CODEC_MASK, ( 'MessageSet at offset %d appears double-compressed. This ' @@ -279,7 +263,7 @@ class LegacyRecordBatch(ABCRecordBatch, LegacyRecordBase): # When magic value is greater than 0, the timestamp # of a compressed message depends on the - # timestamp type of the wrapper message: + # typestamp type of the wrapper message: if timestamp_type == self.LOG_APPEND_TIME: timestamp = self._timestamp @@ -287,36 +271,28 @@ class LegacyRecordBatch(ABCRecordBatch, LegacyRecordBase): offset += absolute_base_offset key, value = self._read_key_value(msg_pos + key_offset) - crc_bytes = self._crc_bytes(msg_pos, length) yield LegacyRecord( - self._magic, offset, timestamp, timestamp_type, - key, value, crc, crc_bytes) + offset, timestamp, timestamp_type, + key, value, crc) else: key, value = self._read_key_value(key_offset) - crc_bytes = self._crc_bytes(0, len(self._buffer) - self.LOG_OVERHEAD) yield LegacyRecord( - self._magic, self._offset, self._timestamp, timestamp_type, - key, value, self._crc, crc_bytes) + self._offset, self._timestamp, timestamp_type, + key, value, self._crc) class LegacyRecord(ABCRecord): - __slots__ = ("_magic", "_offset", "_timestamp", "_timestamp_type", "_key", "_value", - "_crc", "_crc_bytes") + __slots__ = ("_offset", "_timestamp", "_timestamp_type", "_key", "_value", + "_crc") - def __init__(self, magic, offset, timestamp, timestamp_type, key, value, crc, crc_bytes): - self._magic = magic + def __init__(self, offset, timestamp, timestamp_type, key, value, crc): self._offset = offset self._timestamp = timestamp self._timestamp_type = timestamp_type self._key = key self._value = value self._crc = crc - self._crc_bytes = crc_bytes - - @property - def magic(self): - return self._magic @property def offset(self): @@ -354,19 +330,11 @@ class LegacyRecord(ABCRecord): def checksum(self): return self._crc - def validate_crc(self): - crc = calc_crc32(self._crc_bytes) - return self._crc == crc - - @property - def size_in_bytes(self): - return LegacyRecordBatchBuilder.estimate_size_in_bytes(self._magic, None, self._key, self._value) - def __repr__(self): return ( - "LegacyRecord(magic={!r} offset={!r}, timestamp={!r}, timestamp_type={!r}," + "LegacyRecord(offset={!r}, timestamp={!r}, timestamp_type={!r}," " key={!r}, value={!r}, crc={!r})".format( - self._magic, self._offset, self._timestamp, self._timestamp_type, + self._offset, self._timestamp, self._timestamp_type, self._key, self._value, self._crc) ) diff --git a/venv/lib/python3.12/site-packages/kafka/record/memory_records.py b/venv/lib/python3.12/site-packages/kafka/record/memory_records.py index 9df7330..fc2ef2d 100644 --- a/venv/lib/python3.12/site-packages/kafka/record/memory_records.py +++ b/venv/lib/python3.12/site-packages/kafka/record/memory_records.py @@ -22,7 +22,7 @@ from __future__ import division import struct -from kafka.errors import CorruptRecordError, IllegalStateError, UnsupportedVersionError +from kafka.errors import CorruptRecordException from kafka.record.abc import ABCRecords from kafka.record.legacy_records import LegacyRecordBatch, LegacyRecordBatchBuilder from kafka.record.default_records import DefaultRecordBatch, DefaultRecordBatchBuilder @@ -99,7 +99,7 @@ class MemoryRecords(ABCRecords): if next_slice is None: return None if len(next_slice) < _min_slice: - raise CorruptRecordError( + raise CorruptRecordException( "Record size is less than the minimum record overhead " "({})".format(_min_slice - self.LOG_OVERHEAD)) self._cache_next() @@ -109,56 +109,31 @@ class MemoryRecords(ABCRecords): else: return DefaultRecordBatch(next_slice) - def __iter__(self): - return self - - def __next__(self): - if not self.has_next(): - raise StopIteration - return self.next_batch() - - next = __next__ - class MemoryRecordsBuilder(object): __slots__ = ("_builder", "_batch_size", "_buffer", "_next_offset", "_closed", - "_magic", "_bytes_written", "_producer_id", "_producer_epoch") + "_bytes_written") - def __init__(self, magic, compression_type, batch_size, offset=0, - transactional=False, producer_id=-1, producer_epoch=-1, base_sequence=-1): + def __init__(self, magic, compression_type, batch_size): assert magic in [0, 1, 2], "Not supported magic" assert compression_type in [0, 1, 2, 3, 4], "Not valid compression type" if magic >= 2: - assert not transactional or producer_id != -1, "Cannot write transactional messages without a valid producer ID" - assert producer_id == -1 or producer_epoch != -1, "Invalid negative producer epoch" - assert producer_id == -1 or base_sequence != -1, "Invalid negative sequence number used" - self._builder = DefaultRecordBatchBuilder( magic=magic, compression_type=compression_type, - is_transactional=transactional, producer_id=producer_id, - producer_epoch=producer_epoch, base_sequence=base_sequence, - batch_size=batch_size) - self._producer_id = producer_id - self._producer_epoch = producer_epoch + is_transactional=False, producer_id=-1, producer_epoch=-1, + base_sequence=-1, batch_size=batch_size) else: - assert not transactional and producer_id == -1, "Idempotent messages are not supported for magic %s" % (magic,) self._builder = LegacyRecordBatchBuilder( magic=magic, compression_type=compression_type, batch_size=batch_size) - self._producer_id = None self._batch_size = batch_size self._buffer = None - self._next_offset = offset + self._next_offset = 0 self._closed = False - self._magic = magic self._bytes_written = 0 - def skip(self, offsets_to_skip): - # Exposed for testing compacted records - self._next_offset += offsets_to_skip - def append(self, timestamp, key, value, headers=[]): """ Append a message to the buffer. @@ -176,30 +151,6 @@ class MemoryRecordsBuilder(object): self._next_offset += 1 return metadata - def set_producer_state(self, producer_id, producer_epoch, base_sequence, is_transactional): - if self._magic < 2: - raise UnsupportedVersionError('Producer State requires Message format v2+') - elif self._closed: - # Sequence numbers are assigned when the batch is closed while the accumulator is being drained. - # If the resulting ProduceRequest to the partition leader failed for a retriable error, the batch will - # be re queued. In this case, we should not attempt to set the state again, since changing the pid and sequence - # once a batch has been sent to the broker risks introducing duplicates. - raise IllegalStateError("Trying to set producer state of an already closed batch. This indicates a bug on the client.") - self._builder.set_producer_state(producer_id, producer_epoch, base_sequence, is_transactional) - self._producer_id = producer_id - - @property - def producer_id(self): - return self._producer_id - - @property - def producer_epoch(self): - return self._producer_epoch - - def records(self): - assert self._closed - return MemoryRecords(self._buffer) - def close(self): # This method may be called multiple times on the same batch # i.e., on retries @@ -209,9 +160,6 @@ class MemoryRecordsBuilder(object): if not self._closed: self._bytes_written = self._builder.size() self._buffer = bytes(self._builder.build()) - if self._magic == 2: - self._producer_id = self._builder.producer_id - self._producer_epoch = self._builder.producer_epoch self._builder = None self._closed = True diff --git a/venv/lib/python3.12/site-packages/kafka/sasl/__init__.py b/venv/lib/python3.12/site-packages/kafka/sasl/__init__.py deleted file mode 100644 index 90f05e7..0000000 --- a/venv/lib/python3.12/site-packages/kafka/sasl/__init__.py +++ /dev/null @@ -1,34 +0,0 @@ -from __future__ import absolute_import - -import platform - -from kafka.sasl.gssapi import SaslMechanismGSSAPI -from kafka.sasl.msk import SaslMechanismAwsMskIam -from kafka.sasl.oauth import SaslMechanismOAuth -from kafka.sasl.plain import SaslMechanismPlain -from kafka.sasl.scram import SaslMechanismScram -from kafka.sasl.sspi import SaslMechanismSSPI - - -SASL_MECHANISMS = {} - - -def register_sasl_mechanism(name, klass, overwrite=False): - if not overwrite and name in SASL_MECHANISMS: - raise ValueError('Sasl mechanism %s already defined!' % name) - SASL_MECHANISMS[name] = klass - - -def get_sasl_mechanism(name): - return SASL_MECHANISMS[name] - - -register_sasl_mechanism('AWS_MSK_IAM', SaslMechanismAwsMskIam) -if platform.system() == 'Windows': - register_sasl_mechanism('GSSAPI', SaslMechanismSSPI) -else: - register_sasl_mechanism('GSSAPI', SaslMechanismGSSAPI) -register_sasl_mechanism('OAUTHBEARER', SaslMechanismOAuth) -register_sasl_mechanism('PLAIN', SaslMechanismPlain) -register_sasl_mechanism('SCRAM-SHA-256', SaslMechanismScram) -register_sasl_mechanism('SCRAM-SHA-512', SaslMechanismScram) diff --git a/venv/lib/python3.12/site-packages/kafka/sasl/abc.py b/venv/lib/python3.12/site-packages/kafka/sasl/abc.py deleted file mode 100644 index 0577888..0000000 --- a/venv/lib/python3.12/site-packages/kafka/sasl/abc.py +++ /dev/null @@ -1,33 +0,0 @@ -from __future__ import absolute_import - -import abc - -from kafka.vendor.six import add_metaclass - - -@add_metaclass(abc.ABCMeta) -class SaslMechanism(object): - @abc.abstractmethod - def __init__(self, **config): - pass - - @abc.abstractmethod - def auth_bytes(self): - pass - - @abc.abstractmethod - def receive(self, auth_bytes): - pass - - @abc.abstractmethod - def is_done(self): - pass - - @abc.abstractmethod - def is_authenticated(self): - pass - - def auth_details(self): - if not self.is_authenticated: - raise RuntimeError('Not authenticated yet!') - return 'Authenticated via SASL' diff --git a/venv/lib/python3.12/site-packages/kafka/sasl/gssapi.py b/venv/lib/python3.12/site-packages/kafka/sasl/gssapi.py deleted file mode 100644 index 4785b1b..0000000 --- a/venv/lib/python3.12/site-packages/kafka/sasl/gssapi.py +++ /dev/null @@ -1,96 +0,0 @@ -from __future__ import absolute_import - -import struct - -# needed for SASL_GSSAPI authentication: -try: - import gssapi - from gssapi.raw.misc import GSSError -except (ImportError, OSError): - #no gssapi available, will disable gssapi mechanism - gssapi = None - GSSError = None - -from kafka.sasl.abc import SaslMechanism - - -class SaslMechanismGSSAPI(SaslMechanism): - # Establish security context and negotiate protection level - # For reference RFC 2222, section 7.2.1 - - SASL_QOP_AUTH = 1 - SASL_QOP_AUTH_INT = 2 - SASL_QOP_AUTH_CONF = 4 - - def __init__(self, **config): - assert gssapi is not None, 'GSSAPI lib not available' - if 'sasl_kerberos_name' not in config and 'sasl_kerberos_service_name' not in config: - raise ValueError('sasl_kerberos_service_name or sasl_kerberos_name required for GSSAPI sasl configuration') - self._is_done = False - self._is_authenticated = False - self.gssapi_name = None - if config.get('sasl_kerberos_name', None) is not None: - self.auth_id = str(config['sasl_kerberos_name']) - if isinstance(config['sasl_kerberos_name'], gssapi.Name): - self.gssapi_name = config['sasl_kerberos_name'] - else: - kerberos_domain_name = config.get('sasl_kerberos_domain_name', '') or config.get('host', '') - self.auth_id = config['sasl_kerberos_service_name'] + '@' + kerberos_domain_name - if self.gssapi_name is None: - self.gssapi_name = gssapi.Name(self.auth_id, name_type=gssapi.NameType.hostbased_service).canonicalize(gssapi.MechType.kerberos) - self._client_ctx = gssapi.SecurityContext(name=self.gssapi_name, usage='initiate') - self._next_token = self._client_ctx.step(None) - - def auth_bytes(self): - # GSSAPI Auth does not have a final broker->client message - # so mark is_done after the final auth_bytes are provided - # in practice we'll still receive a response when using SaslAuthenticate - # but not when using the prior unframed approach. - if self._is_authenticated: - self._is_done = True - return self._next_token or b'' - - def receive(self, auth_bytes): - if not self._client_ctx.complete: - # The server will send a token back. Processing of this token either - # establishes a security context, or it needs further token exchange. - # The gssapi will be able to identify the needed next step. - self._next_token = self._client_ctx.step(auth_bytes) - elif self._is_done: - # The final step of gssapi is send, so we do not expect any additional bytes - # however, allow an empty message to support SaslAuthenticate response - if auth_bytes != b'': - raise ValueError("Unexpected receive auth_bytes after sasl/gssapi completion") - else: - # unwraps message containing supported protection levels and msg size - msg = self._client_ctx.unwrap(auth_bytes).message - # Kafka currently doesn't support integrity or confidentiality security layers, so we - # simply set QoP to 'auth' only (first octet). We reuse the max message size proposed - # by the server - client_flags = self.SASL_QOP_AUTH - server_flags = struct.Struct('>b').unpack(msg[0:1])[0] - message_parts = [ - struct.Struct('>b').pack(client_flags & server_flags), - msg[1:], # always agree to max message size from server - self.auth_id.encode('utf-8'), - ] - # add authorization identity to the response, and GSS-wrap - self._next_token = self._client_ctx.wrap(b''.join(message_parts), False).message - # We need to identify the last token in auth_bytes(); - # we can't rely on client_ctx.complete because it becomes True after generating - # the second-to-last token (after calling .step(auth_bytes) for the final time) - # We could introduce an additional state variable (i.e., self._final_token), - # but instead we just set _is_authenticated. Since the plugin interface does - # not read is_authenticated() until after is_done() is True, this should be fine. - self._is_authenticated = True - - def is_done(self): - return self._is_done - - def is_authenticated(self): - return self._is_authenticated - - def auth_details(self): - if not self.is_authenticated: - raise RuntimeError('Not authenticated yet!') - return 'Authenticated as %s to %s via SASL / GSSAPI' % (self._client_ctx.initiator_name, self._client_ctx.target_name) diff --git a/venv/lib/python3.12/site-packages/kafka/sasl/msk.py b/venv/lib/python3.12/site-packages/kafka/sasl/msk.py deleted file mode 100644 index 7ec0321..0000000 --- a/venv/lib/python3.12/site-packages/kafka/sasl/msk.py +++ /dev/null @@ -1,244 +0,0 @@ -from __future__ import absolute_import - -import datetime -import hashlib -import hmac -import json -import logging -import string - -# needed for AWS_MSK_IAM authentication: -try: - from botocore.session import Session as BotoSession -except ImportError: - # no botocore available, will disable AWS_MSK_IAM mechanism - BotoSession = None - -from kafka.errors import KafkaConfigurationError -from kafka.sasl.abc import SaslMechanism -from kafka.vendor.six.moves import urllib - - -log = logging.getLogger(__name__) - - -class SaslMechanismAwsMskIam(SaslMechanism): - def __init__(self, **config): - assert BotoSession is not None, 'AWS_MSK_IAM requires the "botocore" package' - assert config.get('security_protocol', '') == 'SASL_SSL', 'AWS_MSK_IAM requires SASL_SSL' - assert 'host' in config, 'AWS_MSK_IAM requires host configuration' - self.host = config['host'] - self._auth = None - self._is_done = False - self._is_authenticated = False - - def _build_client(self): - session = BotoSession() - credentials = session.get_credentials().get_frozen_credentials() - if not session.get_config_variable('region'): - raise KafkaConfigurationError('Unable to determine region for AWS MSK cluster. Is AWS_DEFAULT_REGION set?') - return AwsMskIamClient( - host=self.host, - access_key=credentials.access_key, - secret_key=credentials.secret_key, - region=session.get_config_variable('region'), - token=credentials.token, - ) - - def auth_bytes(self): - client = self._build_client() - log.debug("Generating auth token for MSK scope: %s", client._scope) - return client.first_message() - - def receive(self, auth_bytes): - self._is_done = True - self._is_authenticated = auth_bytes != b'' - self._auth = auth_bytes.decode('utf-8') - - def is_done(self): - return self._is_done - - def is_authenticated(self): - return self._is_authenticated - - def auth_details(self): - if not self.is_authenticated: - raise RuntimeError('Not authenticated yet!') - return 'Authenticated via SASL / AWS_MSK_IAM %s' % (self._auth,) - - -class AwsMskIamClient: - UNRESERVED_CHARS = string.ascii_letters + string.digits + '-._~' - - def __init__(self, host, access_key, secret_key, region, token=None): - """ - Arguments: - host (str): The hostname of the broker. - access_key (str): An AWS_ACCESS_KEY_ID. - secret_key (str): An AWS_SECRET_ACCESS_KEY. - region (str): An AWS_REGION. - token (Optional[str]): An AWS_SESSION_TOKEN if using temporary - credentials. - """ - self.algorithm = 'AWS4-HMAC-SHA256' - self.expires = '900' - self.hashfunc = hashlib.sha256 - self.headers = [ - ('host', host) - ] - self.version = '2020_10_22' - - self.service = 'kafka-cluster' - self.action = '{}:Connect'.format(self.service) - - now = datetime.datetime.utcnow() - self.datestamp = now.strftime('%Y%m%d') - self.timestamp = now.strftime('%Y%m%dT%H%M%SZ') - - self.host = host - self.access_key = access_key - self.secret_key = secret_key - self.region = region - self.token = token - - @property - def _credential(self): - return '{0.access_key}/{0._scope}'.format(self) - - @property - def _scope(self): - return '{0.datestamp}/{0.region}/{0.service}/aws4_request'.format(self) - - @property - def _signed_headers(self): - """ - Returns (str): - An alphabetically sorted, semicolon-delimited list of lowercase - request header names. - """ - return ';'.join(sorted(k.lower() for k, _ in self.headers)) - - @property - def _canonical_headers(self): - """ - Returns (str): - A newline-delited list of header names and values. - Header names are lowercased. - """ - return '\n'.join(map(':'.join, self.headers)) + '\n' - - @property - def _canonical_request(self): - """ - Returns (str): - An AWS Signature Version 4 canonical request in the format: - \n - \n - \n - \n - \n - - """ - # The hashed_payload is always an empty string for MSK. - hashed_payload = self.hashfunc(b'').hexdigest() - return '\n'.join(( - 'GET', - '/', - self._canonical_querystring, - self._canonical_headers, - self._signed_headers, - hashed_payload, - )) - - @property - def _canonical_querystring(self): - """ - Returns (str): - A '&'-separated list of URI-encoded key/value pairs. - """ - params = [] - params.append(('Action', self.action)) - params.append(('X-Amz-Algorithm', self.algorithm)) - params.append(('X-Amz-Credential', self._credential)) - params.append(('X-Amz-Date', self.timestamp)) - params.append(('X-Amz-Expires', self.expires)) - if self.token: - params.append(('X-Amz-Security-Token', self.token)) - params.append(('X-Amz-SignedHeaders', self._signed_headers)) - - return '&'.join(self._uriencode(k) + '=' + self._uriencode(v) for k, v in params) - - @property - def _signing_key(self): - """ - Returns (bytes): - An AWS Signature V4 signing key generated from the secret_key, date, - region, service, and request type. - """ - key = self._hmac(('AWS4' + self.secret_key).encode('utf-8'), self.datestamp) - key = self._hmac(key, self.region) - key = self._hmac(key, self.service) - key = self._hmac(key, 'aws4_request') - return key - - @property - def _signing_str(self): - """ - Returns (str): - A string used to sign the AWS Signature V4 payload in the format: - \n - \n - \n - - """ - canonical_request_hash = self.hashfunc(self._canonical_request.encode('utf-8')).hexdigest() - return '\n'.join((self.algorithm, self.timestamp, self._scope, canonical_request_hash)) - - def _uriencode(self, msg): - """ - Arguments: - msg (str): A string to URI-encode. - - Returns (str): - The URI-encoded version of the provided msg, following the encoding - rules specified: https://github.com/aws/aws-msk-iam-auth#uriencode - """ - return urllib.parse.quote(msg, safe=self.UNRESERVED_CHARS) - - def _hmac(self, key, msg): - """ - Arguments: - key (bytes): A key to use for the HMAC digest. - msg (str): A value to include in the HMAC digest. - Returns (bytes): - An HMAC digest of the given key and msg. - """ - return hmac.new(key, msg.encode('utf-8'), digestmod=self.hashfunc).digest() - - def first_message(self): - """ - Returns (bytes): - An encoded JSON authentication payload that can be sent to the - broker. - """ - signature = hmac.new( - self._signing_key, - self._signing_str.encode('utf-8'), - digestmod=self.hashfunc, - ).hexdigest() - msg = { - 'version': self.version, - 'host': self.host, - 'user-agent': 'kafka-python', - 'action': self.action, - 'x-amz-algorithm': self.algorithm, - 'x-amz-credential': self._credential, - 'x-amz-date': self.timestamp, - 'x-amz-signedheaders': self._signed_headers, - 'x-amz-expires': self.expires, - 'x-amz-signature': signature, - } - if self.token: - msg['x-amz-security-token'] = self.token - - return json.dumps(msg, separators=(',', ':')).encode('utf-8') diff --git a/venv/lib/python3.12/site-packages/kafka/sasl/oauth.py b/venv/lib/python3.12/site-packages/kafka/sasl/oauth.py deleted file mode 100644 index f1e959c..0000000 --- a/venv/lib/python3.12/site-packages/kafka/sasl/oauth.py +++ /dev/null @@ -1,100 +0,0 @@ -from __future__ import absolute_import - -import abc -import logging - -from kafka.sasl.abc import SaslMechanism - - -log = logging.getLogger(__name__) - - -class SaslMechanismOAuth(SaslMechanism): - - def __init__(self, **config): - assert 'sasl_oauth_token_provider' in config, 'sasl_oauth_token_provider required for OAUTHBEARER sasl' - assert isinstance(config['sasl_oauth_token_provider'], AbstractTokenProvider), \ - 'sasl_oauth_token_provider must implement kafka.sasl.oauth.AbstractTokenProvider' - self.token_provider = config['sasl_oauth_token_provider'] - self._error = None - self._is_done = False - self._is_authenticated = False - - def auth_bytes(self): - if self._error: - # Server should respond to this with SaslAuthenticate failure, which ends the auth process - return self._error - token = self.token_provider.token() - extensions = self._token_extensions() - return "n,,\x01auth=Bearer {}{}\x01\x01".format(token, extensions).encode('utf-8') - - def receive(self, auth_bytes): - if auth_bytes != b'': - error = auth_bytes.decode('utf-8') - log.debug("Sending x01 response to server after receiving SASL OAuth error: %s", error) - self._error = b'\x01' - else: - self._is_done = True - self._is_authenticated = True - - def is_done(self): - return self._is_done - - def is_authenticated(self): - return self._is_authenticated - - def _token_extensions(self): - """ - Return a string representation of the OPTIONAL key-value pairs that can be sent with an OAUTHBEARER - initial request. - """ - # Builds up a string separated by \x01 via a dict of key value pairs - extensions = self.token_provider.extensions() - msg = '\x01'.join(['{}={}'.format(k, v) for k, v in extensions.items()]) - return '\x01' + msg if msg else '' - - def auth_details(self): - if not self.is_authenticated: - raise RuntimeError('Not authenticated yet!') - return 'Authenticated via SASL / OAuth' - -# This statement is compatible with both Python 2.7 & 3+ -ABC = abc.ABCMeta('ABC', (object,), {'__slots__': ()}) - -class AbstractTokenProvider(ABC): - """ - A Token Provider must be used for the SASL OAuthBearer protocol. - - The implementation should ensure token reuse so that multiple - calls at connect time do not create multiple tokens. The implementation - should also periodically refresh the token in order to guarantee - that each call returns an unexpired token. A timeout error should - be returned after a short period of inactivity so that the - broker can log debugging info and retry. - - Token Providers MUST implement the token() method - """ - - def __init__(self, **config): - pass - - @abc.abstractmethod - def token(self): - """ - Returns a (str) ID/Access Token to be sent to the Kafka - client. - """ - pass - - def extensions(self): - """ - This is an OPTIONAL method that may be implemented. - - Returns a map of key-value pairs that can - be sent with the SASL/OAUTHBEARER initial client request. If - not implemented, the values are ignored. This feature is only available - in Kafka >= 2.1.0. - - All returned keys and values should be type str - """ - return {} diff --git a/venv/lib/python3.12/site-packages/kafka/sasl/plain.py b/venv/lib/python3.12/site-packages/kafka/sasl/plain.py deleted file mode 100644 index 81443f5..0000000 --- a/venv/lib/python3.12/site-packages/kafka/sasl/plain.py +++ /dev/null @@ -1,41 +0,0 @@ -from __future__ import absolute_import - -import logging - -from kafka.sasl.abc import SaslMechanism - - -log = logging.getLogger(__name__) - - -class SaslMechanismPlain(SaslMechanism): - - def __init__(self, **config): - if config.get('security_protocol', '') == 'SASL_PLAINTEXT': - log.warning('Sending username and password in the clear') - assert 'sasl_plain_username' in config, 'sasl_plain_username required for PLAIN sasl' - assert 'sasl_plain_password' in config, 'sasl_plain_password required for PLAIN sasl' - - self.username = config['sasl_plain_username'] - self.password = config['sasl_plain_password'] - self._is_done = False - self._is_authenticated = False - - def auth_bytes(self): - # Send PLAIN credentials per RFC-4616 - return bytes('\0'.join([self.username, self.username, self.password]).encode('utf-8')) - - def receive(self, auth_bytes): - self._is_done = True - self._is_authenticated = auth_bytes == b'' - - def is_done(self): - return self._is_done - - def is_authenticated(self): - return self._is_authenticated - - def auth_details(self): - if not self.is_authenticated: - raise RuntimeError('Not authenticated yet!') - return 'Authenticated as %s via SASL / Plain' % self.username diff --git a/venv/lib/python3.12/site-packages/kafka/sasl/scram.py b/venv/lib/python3.12/site-packages/kafka/sasl/scram.py deleted file mode 100644 index d8cd071..0000000 --- a/venv/lib/python3.12/site-packages/kafka/sasl/scram.py +++ /dev/null @@ -1,133 +0,0 @@ -from __future__ import absolute_import - -import base64 -import hashlib -import hmac -import logging -import uuid - - -from kafka.sasl.abc import SaslMechanism -from kafka.vendor import six - - -log = logging.getLogger(__name__) - - -if six.PY2: - def xor_bytes(left, right): - return bytearray(ord(lb) ^ ord(rb) for lb, rb in zip(left, right)) -else: - def xor_bytes(left, right): - return bytes(lb ^ rb for lb, rb in zip(left, right)) - - -class SaslMechanismScram(SaslMechanism): - def __init__(self, **config): - assert 'sasl_plain_username' in config, 'sasl_plain_username required for SCRAM sasl' - assert 'sasl_plain_password' in config, 'sasl_plain_password required for SCRAM sasl' - assert config.get('sasl_mechanism', '') in ScramClient.MECHANISMS, 'Unrecognized SCRAM mechanism' - if config.get('security_protocol', '') == 'SASL_PLAINTEXT': - log.warning('Exchanging credentials in the clear during Sasl Authentication') - - self.username = config['sasl_plain_username'] - self.mechanism = config['sasl_mechanism'] - self._scram_client = ScramClient( - config['sasl_plain_username'], - config['sasl_plain_password'], - config['sasl_mechanism'] - ) - self._state = 0 - - def auth_bytes(self): - if self._state == 0: - return self._scram_client.first_message() - elif self._state == 1: - return self._scram_client.final_message() - else: - raise ValueError('No auth_bytes for state: %s' % self._state) - - def receive(self, auth_bytes): - if self._state == 0: - self._scram_client.process_server_first_message(auth_bytes) - elif self._state == 1: - self._scram_client.process_server_final_message(auth_bytes) - else: - raise ValueError('Cannot receive bytes in state: %s' % self._state) - self._state += 1 - return self.is_done() - - def is_done(self): - return self._state == 2 - - def is_authenticated(self): - # receive raises if authentication fails...? - return self._state == 2 - - def auth_details(self): - if not self.is_authenticated: - raise RuntimeError('Not authenticated yet!') - return 'Authenticated as %s via SASL / %s' % (self.username, self.mechanism) - - -class ScramClient: - MECHANISMS = { - 'SCRAM-SHA-256': hashlib.sha256, - 'SCRAM-SHA-512': hashlib.sha512 - } - - def __init__(self, user, password, mechanism): - self.nonce = str(uuid.uuid4()).replace('-', '').encode('utf-8') - self.auth_message = b'' - self.salted_password = None - self.user = user.encode('utf-8') - self.password = password.encode('utf-8') - self.hashfunc = self.MECHANISMS[mechanism] - self.hashname = ''.join(mechanism.lower().split('-')[1:3]) - self.stored_key = None - self.client_key = None - self.client_signature = None - self.client_proof = None - self.server_key = None - self.server_signature = None - - def first_message(self): - client_first_bare = b'n=' + self.user + b',r=' + self.nonce - self.auth_message += client_first_bare - return b'n,,' + client_first_bare - - def process_server_first_message(self, server_first_message): - self.auth_message += b',' + server_first_message - params = dict(pair.split('=', 1) for pair in server_first_message.decode('utf-8').split(',')) - server_nonce = params['r'].encode('utf-8') - if not server_nonce.startswith(self.nonce): - raise ValueError("Server nonce, did not start with client nonce!") - self.nonce = server_nonce - self.auth_message += b',c=biws,r=' + self.nonce - - salt = base64.b64decode(params['s'].encode('utf-8')) - iterations = int(params['i']) - self.create_salted_password(salt, iterations) - - self.client_key = self.hmac(self.salted_password, b'Client Key') - self.stored_key = self.hashfunc(self.client_key).digest() - self.client_signature = self.hmac(self.stored_key, self.auth_message) - self.client_proof = xor_bytes(self.client_key, self.client_signature) - self.server_key = self.hmac(self.salted_password, b'Server Key') - self.server_signature = self.hmac(self.server_key, self.auth_message) - - def hmac(self, key, msg): - return hmac.new(key, msg, digestmod=self.hashfunc).digest() - - def create_salted_password(self, salt, iterations): - self.salted_password = hashlib.pbkdf2_hmac( - self.hashname, self.password, salt, iterations - ) - - def final_message(self): - return b'c=biws,r=' + self.nonce + b',p=' + base64.b64encode(self.client_proof) - - def process_server_final_message(self, server_final_message): - params = dict(pair.split('=', 1) for pair in server_final_message.decode('utf-8').split(',')) - if self.server_signature != base64.b64decode(params['v'].encode('utf-8')): - raise ValueError("Server sent wrong signature!") diff --git a/venv/lib/python3.12/site-packages/kafka/sasl/sspi.py b/venv/lib/python3.12/site-packages/kafka/sasl/sspi.py deleted file mode 100644 index f4c95d0..0000000 --- a/venv/lib/python3.12/site-packages/kafka/sasl/sspi.py +++ /dev/null @@ -1,111 +0,0 @@ -from __future__ import absolute_import - -import logging - -# Windows-only -try: - import sspi - import pywintypes - import sspicon - import win32security -except ImportError: - sspi = None - -from kafka.sasl.abc import SaslMechanism - - -log = logging.getLogger(__name__) - - -class SaslMechanismSSPI(SaslMechanism): - # Establish security context and negotiate protection level - # For reference see RFC 4752, section 3 - - SASL_QOP_AUTH = 1 - SASL_QOP_AUTH_INT = 2 - SASL_QOP_AUTH_CONF = 4 - - def __init__(self, **config): - assert sspi is not None, 'No GSSAPI lib available (gssapi or sspi)' - if 'sasl_kerberos_name' not in config and 'sasl_kerberos_service_name' not in config: - raise ValueError('sasl_kerberos_service_name or sasl_kerberos_name required for GSSAPI sasl configuration') - self._is_done = False - self._is_authenticated = False - if config.get('sasl_kerberos_name', None) is not None: - self.auth_id = str(config['sasl_kerberos_name']) - else: - kerberos_domain_name = config.get('sasl_kerberos_domain_name', '') or config.get('host', '') - self.auth_id = config['sasl_kerberos_service_name'] + '/' + kerberos_domain_name - scheme = "Kerberos" # Do not try with Negotiate for SASL authentication. Tokens are different. - # https://docs.microsoft.com/en-us/windows/win32/secauthn/context-requirements - flags = ( - sspicon.ISC_REQ_MUTUAL_AUTH | # mutual authentication - sspicon.ISC_REQ_INTEGRITY | # check for integrity - sspicon.ISC_REQ_SEQUENCE_DETECT | # enable out-of-order messages - sspicon.ISC_REQ_CONFIDENTIALITY # request confidentiality - ) - self._client_ctx = sspi.ClientAuth(scheme, targetspn=self.auth_id, scflags=flags) - self._next_token = self._client_ctx.step(None) - - def auth_bytes(self): - # GSSAPI Auth does not have a final broker->client message - # so mark is_done after the final auth_bytes are provided - # in practice we'll still receive a response when using SaslAuthenticate - # but not when using the prior unframed approach. - if self._client_ctx.authenticated: - self._is_done = True - self._is_authenticated = True - return self._next_token or b'' - - def receive(self, auth_bytes): - log.debug("Received token from server (size %s)", len(auth_bytes)) - if not self._client_ctx.authenticated: - # calculate an output token from kafka token (or None on first iteration) - # https://docs.microsoft.com/en-us/windows/win32/api/sspi/nf-sspi-initializesecuritycontexta - # https://docs.microsoft.com/en-us/windows/win32/secauthn/initializesecuritycontext--kerberos - # authorize method will wrap for us our token in sspi structures - error, auth = self._client_ctx.authorize(auth_bytes) - if len(auth) > 0 and len(auth[0].Buffer): - log.debug("Got token from context") - # this buffer must be sent to the server whatever the result is - self._next_token = auth[0].Buffer - else: - log.debug("Got no token, exchange finished") - # seems to be the end of the loop - self._next_token = b'' - elif self._is_done: - # The final step of gssapi is send, so we do not expect any additional bytes - # however, allow an empty message to support SaslAuthenticate response - if auth_bytes != b'': - raise ValueError("Unexpected receive auth_bytes after sasl/gssapi completion") - else: - # Process the security layer negotiation token, sent by the server - # once the security context is established. - - # The following part is required by SASL, but not by classic Kerberos. - # See RFC 4752 - - # unwraps message containing supported protection levels and msg size - msg, _was_encrypted = self._client_ctx.unwrap(auth_bytes) - - # Kafka currently doesn't support integrity or confidentiality security layers, so we - # simply set QoP to 'auth' only (first octet). We reuse the max message size proposed - # by the server - client_flags = self.SASL_QOP_AUTH - server_flags = msg[0] - message_parts = [ - bytes(client_flags & server_flags), - msg[:1], - self.auth_id.encode('utf-8'), - ] - # add authorization identity to the response, and GSS-wrap - self._next_token = self._client_ctx.wrap(b''.join(message_parts), False) - - def is_done(self): - return self._is_done - - def is_authenticated(self): - return self._is_authenticated - - def auth_details(self): - return 'Authenticated as %s to %s via SASL / SSPI/GSSAPI \\o/' % (self._client_ctx.initiator_name, self._client_ctx.service_name) diff --git a/venv/lib/python3.12/site-packages/kafka/scram.py b/venv/lib/python3.12/site-packages/kafka/scram.py new file mode 100644 index 0000000..7f00375 --- /dev/null +++ b/venv/lib/python3.12/site-packages/kafka/scram.py @@ -0,0 +1,81 @@ +from __future__ import absolute_import + +import base64 +import hashlib +import hmac +import uuid + +from kafka.vendor import six + + +if six.PY2: + def xor_bytes(left, right): + return bytearray(ord(lb) ^ ord(rb) for lb, rb in zip(left, right)) +else: + def xor_bytes(left, right): + return bytes(lb ^ rb for lb, rb in zip(left, right)) + + +class ScramClient: + MECHANISMS = { + 'SCRAM-SHA-256': hashlib.sha256, + 'SCRAM-SHA-512': hashlib.sha512 + } + + def __init__(self, user, password, mechanism): + self.nonce = str(uuid.uuid4()).replace('-', '') + self.auth_message = '' + self.salted_password = None + self.user = user + self.password = password.encode('utf-8') + self.hashfunc = self.MECHANISMS[mechanism] + self.hashname = ''.join(mechanism.lower().split('-')[1:3]) + self.stored_key = None + self.client_key = None + self.client_signature = None + self.client_proof = None + self.server_key = None + self.server_signature = None + + def first_message(self): + client_first_bare = 'n={},r={}'.format(self.user, self.nonce) + self.auth_message += client_first_bare + return 'n,,' + client_first_bare + + def process_server_first_message(self, server_first_message): + self.auth_message += ',' + server_first_message + params = dict(pair.split('=', 1) for pair in server_first_message.split(',')) + server_nonce = params['r'] + if not server_nonce.startswith(self.nonce): + raise ValueError("Server nonce, did not start with client nonce!") + self.nonce = server_nonce + self.auth_message += ',c=biws,r=' + self.nonce + + salt = base64.b64decode(params['s'].encode('utf-8')) + iterations = int(params['i']) + self.create_salted_password(salt, iterations) + + self.client_key = self.hmac(self.salted_password, b'Client Key') + self.stored_key = self.hashfunc(self.client_key).digest() + self.client_signature = self.hmac(self.stored_key, self.auth_message.encode('utf-8')) + self.client_proof = xor_bytes(self.client_key, self.client_signature) + self.server_key = self.hmac(self.salted_password, b'Server Key') + self.server_signature = self.hmac(self.server_key, self.auth_message.encode('utf-8')) + + def hmac(self, key, msg): + return hmac.new(key, msg, digestmod=self.hashfunc).digest() + + def create_salted_password(self, salt, iterations): + self.salted_password = hashlib.pbkdf2_hmac( + self.hashname, self.password, salt, iterations + ) + + def final_message(self): + return 'c=biws,r={},p={}'.format(self.nonce, base64.b64encode(self.client_proof).decode('utf-8')) + + def process_server_final_message(self, server_final_message): + params = dict(pair.split('=', 1) for pair in server_final_message.split(',')) + if self.server_signature != base64.b64decode(params['v'].encode('utf-8')): + raise ValueError("Server sent wrong signature!") + + diff --git a/venv/lib/python3.12/site-packages/kafka/socks5_wrapper.py b/venv/lib/python3.12/site-packages/kafka/socks5_wrapper.py deleted file mode 100644 index 18bea7c..0000000 --- a/venv/lib/python3.12/site-packages/kafka/socks5_wrapper.py +++ /dev/null @@ -1,248 +0,0 @@ -try: - from urllib.parse import urlparse -except ImportError: - from urlparse import urlparse - -import errno -import logging -import random -import socket -import struct - -log = logging.getLogger(__name__) - - -class ProxyConnectionStates: - DISCONNECTED = '' - CONNECTING = '' - NEGOTIATE_PROPOSE = '' - NEGOTIATING = '' - AUTHENTICATING = '' - REQUEST_SUBMIT = '' - REQUESTING = '' - READ_ADDRESS = '' - COMPLETE = '' - - -class Socks5Wrapper: - """Socks5 proxy wrapper - - Manages connection through socks5 proxy with support for username/password - authentication. - """ - - def __init__(self, proxy_url, afi): - self._buffer_in = b'' - self._buffer_out = b'' - self._proxy_url = urlparse(proxy_url) - self._sock = None - self._state = ProxyConnectionStates.DISCONNECTED - self._target_afi = socket.AF_UNSPEC - - proxy_addrs = self.dns_lookup(self._proxy_url.hostname, self._proxy_url.port, afi) - # TODO raise error on lookup failure - self._proxy_addr = random.choice(proxy_addrs) - - @classmethod - def is_inet_4_or_6(cls, gai): - """Given a getaddrinfo struct, return True iff ipv4 or ipv6""" - return gai[0] in (socket.AF_INET, socket.AF_INET6) - - @classmethod - def dns_lookup(cls, host, port, afi=socket.AF_UNSPEC): - """Returns a list of getaddrinfo structs, optionally filtered to an afi (ipv4 / ipv6)""" - # XXX: all DNS functions in Python are blocking. If we really - # want to be non-blocking here, we need to use a 3rd-party - # library like python-adns, or move resolution onto its - # own thread. This will be subject to the default libc - # name resolution timeout (5s on most Linux boxes) - try: - return list(filter(cls.is_inet_4_or_6, - socket.getaddrinfo(host, port, afi, - socket.SOCK_STREAM))) - except socket.gaierror as ex: - log.warning("DNS lookup failed for proxy %s:%d, %r", host, port, ex) - return [] - - def socket(self, family, sock_type): - """Open and record a socket. - - Returns the actual underlying socket - object to ensure e.g. selects and ssl wrapping works as expected. - """ - self._target_afi = family # Store the address family of the target - afi, _, _, _, _ = self._proxy_addr - self._sock = socket.socket(afi, sock_type) - return self._sock - - def _flush_buf(self): - """Send out all data that is stored in the outgoing buffer. - - It is expected that the caller handles error handling, including non-blocking - as well as connection failure exceptions. - """ - while self._buffer_out: - sent_bytes = self._sock.send(self._buffer_out) - self._buffer_out = self._buffer_out[sent_bytes:] - - def _peek_buf(self, datalen): - """Ensure local inbound buffer has enough data, and return that data without - consuming the local buffer - - It's expected that the caller handles e.g. blocking exceptions""" - while True: - bytes_remaining = datalen - len(self._buffer_in) - if bytes_remaining <= 0: - break - data = self._sock.recv(bytes_remaining) - if not data: - break - self._buffer_in = self._buffer_in + data - - return self._buffer_in[:datalen] - - def _read_buf(self, datalen): - """Read and consume bytes from socket connection - - It's expected that the caller handles e.g. blocking exceptions""" - buf = self._peek_buf(datalen) - if buf: - self._buffer_in = self._buffer_in[len(buf):] - return buf - - def connect_ex(self, addr): - """Runs a state machine through connection to authentication to - proxy connection request. - - The somewhat strange setup is to facilitate non-intrusive use from - BrokerConnection state machine. - - This function is called with a socket in non-blocking mode. Both - send and receive calls can return in EWOULDBLOCK/EAGAIN which we - specifically avoid handling here. These are handled in main - BrokerConnection connection loop, which then would retry calls - to this function.""" - - if self._state == ProxyConnectionStates.DISCONNECTED: - self._state = ProxyConnectionStates.CONNECTING - - if self._state == ProxyConnectionStates.CONNECTING: - _, _, _, _, sockaddr = self._proxy_addr - ret = self._sock.connect_ex(sockaddr) - if not ret or ret == errno.EISCONN: - self._state = ProxyConnectionStates.NEGOTIATE_PROPOSE - else: - return ret - - if self._state == ProxyConnectionStates.NEGOTIATE_PROPOSE: - if self._proxy_url.username and self._proxy_url.password: - # Propose username/password - self._buffer_out = b"\x05\x01\x02" - else: - # Propose no auth - self._buffer_out = b"\x05\x01\x00" - self._state = ProxyConnectionStates.NEGOTIATING - - if self._state == ProxyConnectionStates.NEGOTIATING: - self._flush_buf() - buf = self._read_buf(2) - if buf[0:1] != b"\x05": - log.error("Unrecognized SOCKS version") - self._state = ProxyConnectionStates.DISCONNECTED - self._sock.close() - return errno.ECONNREFUSED - - if buf[1:2] == b"\x00": - # No authentication required - self._state = ProxyConnectionStates.REQUEST_SUBMIT - elif buf[1:2] == b"\x02": - # Username/password authentication selected - userlen = len(self._proxy_url.username) - passlen = len(self._proxy_url.password) - self._buffer_out = struct.pack( - "!bb{}sb{}s".format(userlen, passlen), - 1, # version - userlen, - self._proxy_url.username.encode(), - passlen, - self._proxy_url.password.encode(), - ) - self._state = ProxyConnectionStates.AUTHENTICATING - else: - log.error("Unrecognized SOCKS authentication method") - self._state = ProxyConnectionStates.DISCONNECTED - self._sock.close() - return errno.ECONNREFUSED - - if self._state == ProxyConnectionStates.AUTHENTICATING: - self._flush_buf() - buf = self._read_buf(2) - if buf == b"\x01\x00": - # Authentication succesful - self._state = ProxyConnectionStates.REQUEST_SUBMIT - else: - log.error("Socks5 proxy authentication failure") - self._state = ProxyConnectionStates.DISCONNECTED - self._sock.close() - return errno.ECONNREFUSED - - if self._state == ProxyConnectionStates.REQUEST_SUBMIT: - if self._target_afi == socket.AF_INET: - addr_type = 1 - addr_len = 4 - elif self._target_afi == socket.AF_INET6: - addr_type = 4 - addr_len = 16 - else: - log.error("Unknown address family, %r", self._target_afi) - self._state = ProxyConnectionStates.DISCONNECTED - self._sock.close() - return errno.ECONNREFUSED - - self._buffer_out = struct.pack( - "!bbbb{}sh".format(addr_len), - 5, # version - 1, # command: connect - 0, # reserved - addr_type, # 1 for ipv4, 4 for ipv6 address - socket.inet_pton(self._target_afi, addr[0]), # either 4 or 16 bytes of actual address - addr[1], # port - ) - self._state = ProxyConnectionStates.REQUESTING - - if self._state == ProxyConnectionStates.REQUESTING: - self._flush_buf() - buf = self._read_buf(2) - if buf[0:2] == b"\x05\x00": - self._state = ProxyConnectionStates.READ_ADDRESS - else: - log.error("Proxy request failed: %r", buf[1:2]) - self._state = ProxyConnectionStates.DISCONNECTED - self._sock.close() - return errno.ECONNREFUSED - - if self._state == ProxyConnectionStates.READ_ADDRESS: - # we don't really care about the remote endpoint address, but need to clear the stream - buf = self._peek_buf(2) - if buf[0:2] == b"\x00\x01": - _ = self._read_buf(2 + 4 + 2) # ipv4 address + port - elif buf[0:2] == b"\x00\x05": - _ = self._read_buf(2 + 16 + 2) # ipv6 address + port - else: - log.error("Unrecognized remote address type %r", buf[1:2]) - self._state = ProxyConnectionStates.DISCONNECTED - self._sock.close() - return errno.ECONNREFUSED - self._state = ProxyConnectionStates.COMPLETE - - if self._state == ProxyConnectionStates.COMPLETE: - return 0 - - # not reached; - # Send and recv will raise socket error on EWOULDBLOCK/EAGAIN that is assumed to be handled by - # the caller. The caller re-enters this state machine from retry logic with timer or via select & family - log.error("Internal error, state %r not handled correctly", self._state) - self._state = ProxyConnectionStates.DISCONNECTED - if self._sock: - self._sock.close() - return errno.ECONNREFUSED diff --git a/venv/lib/python3.12/site-packages/kafka/structs.py b/venv/lib/python3.12/site-packages/kafka/structs.py index 16ba0da..bcb0236 100644 --- a/venv/lib/python3.12/site-packages/kafka/structs.py +++ b/venv/lib/python3.12/site-packages/kafka/structs.py @@ -42,7 +42,7 @@ Keyword Arguments: this partition metadata. """ PartitionMetadata = namedtuple("PartitionMetadata", - ["topic", "partition", "leader", "leader_epoch", "replicas", "isr", "offline_replicas", "error"]) + ["topic", "partition", "leader", "replicas", "isr", "error"]) """The Kafka offset commit API @@ -55,10 +55,10 @@ what time the commit was made, etc. Keyword Arguments: offset (int): The offset to be committed metadata (str): Non-null metadata - leader_epoch (int): The last known epoch from the leader / broker """ OffsetAndMetadata = namedtuple("OffsetAndMetadata", - ["offset", "metadata", "leader_epoch"]) + # TODO add leaderEpoch: OffsetAndMetadata(offset, leaderEpoch, metadata) + ["offset", "metadata"]) """An offset and timestamp tuple @@ -66,10 +66,9 @@ OffsetAndMetadata = namedtuple("OffsetAndMetadata", Keyword Arguments: offset (int): An offset timestamp (int): The timestamp associated to the offset - leader_epoch (int): The last known epoch from the leader / broker """ OffsetAndTimestamp = namedtuple("OffsetAndTimestamp", - ["offset", "timestamp", "leader_epoch"]) + ["offset", "timestamp"]) MemberInformation = namedtuple("MemberInformation", ["member_id", "client_id", "client_host", "member_metadata", "member_assignment"]) diff --git a/venv/lib/python3.12/site-packages/kafka/util.py b/venv/lib/python3.12/site-packages/kafka/util.py index 658c17d..e31d993 100644 --- a/venv/lib/python3.12/site-packages/kafka/util.py +++ b/venv/lib/python3.12/site-packages/kafka/util.py @@ -1,12 +1,8 @@ -from __future__ import absolute_import, division +from __future__ import absolute_import import binascii -import functools -import re -import time import weakref -from kafka.errors import KafkaTimeoutError from kafka.vendor import six @@ -23,69 +19,7 @@ if six.PY3: crc -= TO_SIGNED return crc else: - from binascii import crc32 # noqa: F401 - - -class Timer: - __slots__ = ('_start_at', '_expire_at', '_timeout_ms', '_error_message') - - def __init__(self, timeout_ms, error_message=None, start_at=None): - self._timeout_ms = timeout_ms - self._start_at = start_at or time.time() - if timeout_ms is not None: - self._expire_at = self._start_at + timeout_ms / 1000 - else: - self._expire_at = float('inf') - self._error_message = error_message - - @property - def expired(self): - return time.time() >= self._expire_at - - @property - def timeout_ms(self): - if self._timeout_ms is None: - return None - elif self._expire_at == float('inf'): - return float('inf') - remaining = self._expire_at - time.time() - if remaining < 0: - return 0 - else: - return int(remaining * 1000) - - @property - def elapsed_ms(self): - return int(1000 * (time.time() - self._start_at)) - - def maybe_raise(self): - if self.expired: - raise KafkaTimeoutError(self._error_message) - - def __str__(self): - return "Timer(%s ms remaining)" % (self.timeout_ms) - -# Taken from: https://github.com/apache/kafka/blob/39eb31feaeebfb184d98cc5d94da9148c2319d81/clients/src/main/java/org/apache/kafka/common/internals/Topic.java#L29 -TOPIC_MAX_LENGTH = 249 -TOPIC_LEGAL_CHARS = re.compile('^[a-zA-Z0-9._-]+$') - -def ensure_valid_topic_name(topic): - """ Ensures that the topic name is valid according to the kafka source. """ - - # See Kafka Source: - # https://github.com/apache/kafka/blob/39eb31feaeebfb184d98cc5d94da9148c2319d81/clients/src/main/java/org/apache/kafka/common/internals/Topic.java - if topic is None: - raise TypeError('All topics must not be None') - if not isinstance(topic, six.string_types): - raise TypeError('All topics must be strings') - if len(topic) == 0: - raise ValueError('All topics must be non-empty strings') - if topic == '.' or topic == '..': - raise ValueError('Topic name cannot be "." or ".."') - if len(topic) > TOPIC_MAX_LENGTH: - raise ValueError('Topic name is illegal, it can\'t be longer than {0} characters, topic: "{1}"'.format(TOPIC_MAX_LENGTH, topic)) - if not TOPIC_LEGAL_CHARS.match(topic): - raise ValueError('Topic name "{0}" is illegal, it contains a character other than ASCII alphanumerics, ".", "_" and "-"'.format(topic)) + from binascii import crc32 class WeakMethod(object): @@ -130,11 +64,3 @@ class Dict(dict): See: https://docs.python.org/2/library/weakref.html """ pass - - -def synchronized(func): - def wrapper(self, *args, **kwargs): - with self._lock: - return func(self, *args, **kwargs) - functools.update_wrapper(wrapper, func) - return wrapper diff --git a/venv/lib/python3.12/site-packages/kafka/vendor/selectors34.py b/venv/lib/python3.12/site-packages/kafka/vendor/selectors34.py index 7874903..ebf5d51 100644 --- a/venv/lib/python3.12/site-packages/kafka/vendor/selectors34.py +++ b/venv/lib/python3.12/site-packages/kafka/vendor/selectors34.py @@ -15,11 +15,7 @@ The following code adapted from trollius.selectors. from __future__ import absolute_import from abc import ABCMeta, abstractmethod -from collections import namedtuple -try: - from collections.abc import Mapping -except ImportError: - from collections import Mapping +from collections import namedtuple, Mapping from errno import EINTR import math import select diff --git a/venv/lib/python3.12/site-packages/kafka/vendor/six.py b/venv/lib/python3.12/site-packages/kafka/vendor/six.py index 3198213..3621a0a 100644 --- a/venv/lib/python3.12/site-packages/kafka/vendor/six.py +++ b/venv/lib/python3.12/site-packages/kafka/vendor/six.py @@ -1,6 +1,6 @@ # pylint: skip-file -# Copyright (c) 2010-2020 Benjamin Peterson +# Copyright (c) 2010-2017 Benjamin Peterson # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -31,7 +31,7 @@ import sys import types __author__ = "Benjamin Peterson " -__version__ = "1.16.0" +__version__ = "1.11.0" # Useful for very coarse version differentiation. @@ -77,11 +77,6 @@ else: # https://github.com/dpkp/kafka-python/pull/979#discussion_r100403389 # del X -if PY34: - from importlib.util import spec_from_loader -else: - spec_from_loader = None - def _add_doc(func, doc): """Add documentation to a function.""" @@ -197,11 +192,6 @@ class _SixMetaPathImporter(object): return self return None - def find_spec(self, fullname, path, target=None): - if fullname in self.known_modules: - return spec_from_loader(fullname, self) - return None - def __get_module(self, fullname): try: return self.known_modules[fullname] @@ -239,12 +229,6 @@ class _SixMetaPathImporter(object): return None get_source = get_code # same as get_code - def create_module(self, spec): - return self.load_module(spec.name) - - def exec_module(self, module): - pass - _importer = _SixMetaPathImporter(__name__) @@ -269,7 +253,7 @@ _moved_attributes = [ MovedAttribute("reduce", "__builtin__", "functools"), MovedAttribute("shlex_quote", "pipes", "shlex", "quote"), MovedAttribute("StringIO", "StringIO", "io"), - MovedAttribute("UserDict", "UserDict", "collections", "IterableUserDict", "UserDict"), + MovedAttribute("UserDict", "UserDict", "collections"), MovedAttribute("UserList", "UserList", "collections"), MovedAttribute("UserString", "UserString", "collections"), MovedAttribute("xrange", "__builtin__", "builtins", "xrange", "range"), @@ -277,11 +261,9 @@ _moved_attributes = [ MovedAttribute("zip_longest", "itertools", "itertools", "izip_longest", "zip_longest"), MovedModule("builtins", "__builtin__"), MovedModule("configparser", "ConfigParser"), - MovedModule("collections_abc", "collections", "collections.abc" if sys.version_info >= (3, 3) else "collections"), MovedModule("copyreg", "copy_reg"), MovedModule("dbm_gnu", "gdbm", "dbm.gnu"), - MovedModule("dbm_ndbm", "dbm", "dbm.ndbm"), - MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread" if sys.version_info < (3, 9) else "_thread"), + MovedModule("_dummy_thread", "dummy_thread", "_dummy_thread"), MovedModule("http_cookiejar", "cookielib", "http.cookiejar"), MovedModule("http_cookies", "Cookie", "http.cookies"), MovedModule("html_entities", "htmlentitydefs", "html.entities"), @@ -661,16 +643,13 @@ if PY3: import io StringIO = io.StringIO BytesIO = io.BytesIO - del io _assertCountEqual = "assertCountEqual" if sys.version_info[1] <= 1: _assertRaisesRegex = "assertRaisesRegexp" _assertRegex = "assertRegexpMatches" - _assertNotRegex = "assertNotRegexpMatches" else: _assertRaisesRegex = "assertRaisesRegex" _assertRegex = "assertRegex" - _assertNotRegex = "assertNotRegex" else: def b(s): return s @@ -692,7 +671,6 @@ else: _assertCountEqual = "assertItemsEqual" _assertRaisesRegex = "assertRaisesRegexp" _assertRegex = "assertRegexpMatches" - _assertNotRegex = "assertNotRegexpMatches" _add_doc(b, """Byte literal""") _add_doc(u, """Text literal""") @@ -709,10 +687,6 @@ def assertRegex(self, *args, **kwargs): return getattr(self, _assertRegex)(*args, **kwargs) -def assertNotRegex(self, *args, **kwargs): - return getattr(self, _assertNotRegex)(*args, **kwargs) - - if PY3: exec_ = getattr(moves.builtins, "exec") @@ -748,7 +722,16 @@ else: """) -if sys.version_info[:2] > (3,): +if sys.version_info[:2] == (3, 2): + exec_("""def raise_from(value, from_value): + try: + if from_value is None: + raise value + raise value from from_value + finally: + value = None +""") +elif sys.version_info[:2] > (3, 2): exec_("""def raise_from(value, from_value): try: raise value from from_value @@ -828,33 +811,13 @@ if sys.version_info[:2] < (3, 3): _add_doc(reraise, """Reraise an exception.""") if sys.version_info[0:2] < (3, 4): - # This does exactly the same what the :func:`py3:functools.update_wrapper` - # function does on Python versions after 3.2. It sets the ``__wrapped__`` - # attribute on ``wrapper`` object and it doesn't raise an error if any of - # the attributes mentioned in ``assigned`` and ``updated`` are missing on - # ``wrapped`` object. - def _update_wrapper(wrapper, wrapped, - assigned=functools.WRAPPER_ASSIGNMENTS, - updated=functools.WRAPPER_UPDATES): - for attr in assigned: - try: - value = getattr(wrapped, attr) - except AttributeError: - continue - else: - setattr(wrapper, attr, value) - for attr in updated: - getattr(wrapper, attr).update(getattr(wrapped, attr, {})) - wrapper.__wrapped__ = wrapped - return wrapper - _update_wrapper.__doc__ = functools.update_wrapper.__doc__ - def wraps(wrapped, assigned=functools.WRAPPER_ASSIGNMENTS, updated=functools.WRAPPER_UPDATES): - return functools.partial(_update_wrapper, wrapped=wrapped, - assigned=assigned, updated=updated) - wraps.__doc__ = functools.wraps.__doc__ - + def wrapper(f): + f = functools.wraps(wrapped, assigned, updated)(f) + f.__wrapped__ = wrapped + return f + return wrapper else: wraps = functools.wraps @@ -867,15 +830,7 @@ def with_metaclass(meta, *bases): class metaclass(type): def __new__(cls, name, this_bases, d): - if sys.version_info[:2] >= (3, 7): - # This version introduced PEP 560 that requires a bit - # of extra care (we mimic what is done by __build_class__). - resolved_bases = types.resolve_bases(bases) - if resolved_bases is not bases: - d['__orig_bases__'] = bases - else: - resolved_bases = bases - return meta(name, resolved_bases, d) + return meta(name, bases, d) @classmethod def __prepare__(cls, name, this_bases): @@ -895,75 +850,13 @@ def add_metaclass(metaclass): orig_vars.pop(slots_var) orig_vars.pop('__dict__', None) orig_vars.pop('__weakref__', None) - if hasattr(cls, '__qualname__'): - orig_vars['__qualname__'] = cls.__qualname__ return metaclass(cls.__name__, cls.__bases__, orig_vars) return wrapper -def ensure_binary(s, encoding='utf-8', errors='strict'): - """Coerce **s** to six.binary_type. - - For Python 2: - - `unicode` -> encoded to `str` - - `str` -> `str` - - For Python 3: - - `str` -> encoded to `bytes` - - `bytes` -> `bytes` - """ - if isinstance(s, binary_type): - return s - if isinstance(s, text_type): - return s.encode(encoding, errors) - raise TypeError("not expecting type '%s'" % type(s)) - - -def ensure_str(s, encoding='utf-8', errors='strict'): - """Coerce *s* to `str`. - - For Python 2: - - `unicode` -> encoded to `str` - - `str` -> `str` - - For Python 3: - - `str` -> `str` - - `bytes` -> decoded to `str` - """ - # Optimization: Fast return for the common case. - if type(s) is str: - return s - if PY2 and isinstance(s, text_type): - return s.encode(encoding, errors) - elif PY3 and isinstance(s, binary_type): - return s.decode(encoding, errors) - elif not isinstance(s, (text_type, binary_type)): - raise TypeError("not expecting type '%s'" % type(s)) - return s - - -def ensure_text(s, encoding='utf-8', errors='strict'): - """Coerce *s* to six.text_type. - - For Python 2: - - `unicode` -> `unicode` - - `str` -> `unicode` - - For Python 3: - - `str` -> `str` - - `bytes` -> decoded to `str` - """ - if isinstance(s, binary_type): - return s.decode(encoding, errors) - elif isinstance(s, text_type): - return s - else: - raise TypeError("not expecting type '%s'" % type(s)) - - def python_2_unicode_compatible(klass): """ - A class decorator that defines __unicode__ and __str__ methods under Python 2. + A decorator that defines __unicode__ and __str__ methods under Python 2. Under Python 3 it does nothing. To support Python 2 and 3 with a single code base, define a __str__ method diff --git a/venv/lib/python3.12/site-packages/kafka/vendor/socketpair.py b/venv/lib/python3.12/site-packages/kafka/vendor/socketpair.py index 54d9087..b55e629 100644 --- a/venv/lib/python3.12/site-packages/kafka/vendor/socketpair.py +++ b/venv/lib/python3.12/site-packages/kafka/vendor/socketpair.py @@ -53,23 +53,6 @@ if not hasattr(socket, "socketpair"): raise finally: lsock.close() - - # Authenticating avoids using a connection from something else - # able to connect to {host}:{port} instead of us. - # We expect only AF_INET and AF_INET6 families. - try: - if ( - ssock.getsockname() != csock.getpeername() - or csock.getsockname() != ssock.getpeername() - ): - raise ConnectionError("Unexpected peer connection") - except: - # getsockname() and getpeername() can fail - # if either socket isn't connected. - ssock.close() - csock.close() - raise - return (ssock, csock) socket.socketpair = socketpair diff --git a/venv/lib/python3.12/site-packages/kafka/version.py b/venv/lib/python3.12/site-packages/kafka/version.py index 9f4696f..668c344 100644 --- a/venv/lib/python3.12/site-packages/kafka/version.py +++ b/venv/lib/python3.12/site-packages/kafka/version.py @@ -1 +1 @@ -__version__ = '2.2.15' +__version__ = '2.0.2' diff --git a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/LICENSE b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/LICENSE new file mode 100644 index 0000000..412a2b6 --- /dev/null +++ b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/LICENSE @@ -0,0 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2015 David Arthur + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + diff --git a/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/METADATA b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/METADATA new file mode 100644 index 0000000..c141a98 --- /dev/null +++ b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/METADATA @@ -0,0 +1,190 @@ +Metadata-Version: 2.1 +Name: kafka-python +Version: 2.0.2 +Summary: Pure Python client for Apache Kafka +Home-page: https://github.com/dpkp/kafka-python +Author: Dana Powers +Author-email: dana.powers@gmail.com +License: Apache License 2.0 +Keywords: apache kafka +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Provides-Extra: crc32c +Requires-Dist: crc32c ; extra == 'crc32c' + +Kafka Python client +------------------------ + +.. image:: https://img.shields.io/badge/kafka-2.4%2C%202.3%2C%202.2%2C%202.1%2C%202.0%2C%201.1%2C%201.0%2C%200.11%2C%200.10%2C%200.9%2C%200.8-brightgreen.svg + :target: https://kafka-python.readthedocs.io/en/master/compatibility.html +.. image:: https://img.shields.io/pypi/pyversions/kafka-python.svg + :target: https://pypi.python.org/pypi/kafka-python +.. image:: https://coveralls.io/repos/dpkp/kafka-python/badge.svg?branch=master&service=github + :target: https://coveralls.io/github/dpkp/kafka-python?branch=master +.. image:: https://travis-ci.org/dpkp/kafka-python.svg?branch=master + :target: https://travis-ci.org/dpkp/kafka-python +.. image:: https://img.shields.io/badge/license-Apache%202-blue.svg + :target: https://github.com/dpkp/kafka-python/blob/master/LICENSE + +Python client for the Apache Kafka distributed stream processing system. +kafka-python is designed to function much like the official java client, with a +sprinkling of pythonic interfaces (e.g., consumer iterators). + +kafka-python is best used with newer brokers (0.9+), but is backwards-compatible with +older versions (to 0.8.0). Some features will only be enabled on newer brokers. +For example, fully coordinated consumer groups -- i.e., dynamic partition +assignment to multiple consumers in the same group -- requires use of 0.9+ kafka +brokers. Supporting this feature for earlier broker releases would require +writing and maintaining custom leadership election and membership / health +check code (perhaps using zookeeper or consul). For older brokers, you can +achieve something similar by manually assigning different partitions to each +consumer instance with config management tools like chef, ansible, etc. This +approach will work fine, though it does not support rebalancing on failures. +See +for more details. + +Please note that the master branch may contain unreleased features. For release +documentation, please see readthedocs and/or python's inline help. + +>>> pip install kafka-python + +KafkaConsumer +************* + +KafkaConsumer is a high-level message consumer, intended to operate as similarly +as possible to the official java client. Full support for coordinated +consumer groups requires use of kafka brokers that support the Group APIs: kafka v0.9+. + +See +for API and configuration details. + +The consumer iterator returns ConsumerRecords, which are simple namedtuples +that expose basic message attributes: topic, partition, offset, key, and value: + +>>> from kafka import KafkaConsumer +>>> consumer = KafkaConsumer('my_favorite_topic') +>>> for msg in consumer: +... print (msg) + +>>> # join a consumer group for dynamic partition assignment and offset commits +>>> from kafka import KafkaConsumer +>>> consumer = KafkaConsumer('my_favorite_topic', group_id='my_favorite_group') +>>> for msg in consumer: +... print (msg) + +>>> # manually assign the partition list for the consumer +>>> from kafka import TopicPartition +>>> consumer = KafkaConsumer(bootstrap_servers='localhost:1234') +>>> consumer.assign([TopicPartition('foobar', 2)]) +>>> msg = next(consumer) + +>>> # Deserialize msgpack-encoded values +>>> consumer = KafkaConsumer(value_deserializer=msgpack.loads) +>>> consumer.subscribe(['msgpackfoo']) +>>> for msg in consumer: +... assert isinstance(msg.value, dict) + +>>> # Access record headers. The returned value is a list of tuples +>>> # with str, bytes for key and value +>>> for msg in consumer: +... print (msg.headers) + +>>> # Get consumer metrics +>>> metrics = consumer.metrics() + +KafkaProducer +************* + +KafkaProducer is a high-level, asynchronous message producer. The class is +intended to operate as similarly as possible to the official java client. +See +for more details. + +>>> from kafka import KafkaProducer +>>> producer = KafkaProducer(bootstrap_servers='localhost:1234') +>>> for _ in range(100): +... producer.send('foobar', b'some_message_bytes') + +>>> # Block until a single message is sent (or timeout) +>>> future = producer.send('foobar', b'another_message') +>>> result = future.get(timeout=60) + +>>> # Block until all pending messages are at least put on the network +>>> # NOTE: This does not guarantee delivery or success! It is really +>>> # only useful if you configure internal batching using linger_ms +>>> producer.flush() + +>>> # Use a key for hashed-partitioning +>>> producer.send('foobar', key=b'foo', value=b'bar') + +>>> # Serialize json messages +>>> import json +>>> producer = KafkaProducer(value_serializer=lambda v: json.dumps(v).encode('utf-8')) +>>> producer.send('fizzbuzz', {'foo': 'bar'}) + +>>> # Serialize string keys +>>> producer = KafkaProducer(key_serializer=str.encode) +>>> producer.send('flipflap', key='ping', value=b'1234') + +>>> # Compress messages +>>> producer = KafkaProducer(compression_type='gzip') +>>> for i in range(1000): +... producer.send('foobar', b'msg %d' % i) + +>>> # Include record headers. The format is list of tuples with string key +>>> # and bytes value. +>>> producer.send('foobar', value=b'c29tZSB2YWx1ZQ==', headers=[('content-encoding', b'base64')]) + +>>> # Get producer performance metrics +>>> metrics = producer.metrics() + +Thread safety +************* + +The KafkaProducer can be used across threads without issue, unlike the +KafkaConsumer which cannot. + +While it is possible to use the KafkaConsumer in a thread-local manner, +multiprocessing is recommended. + +Compression +*********** + +kafka-python supports gzip compression/decompression natively. To produce or consume lz4 +compressed messages, you should install python-lz4 (pip install lz4). +To enable snappy compression/decompression install python-snappy (also requires snappy library). +See +for more information. + +Optimized CRC32 Validation +************************** + +Kafka uses CRC32 checksums to validate messages. kafka-python includes a pure +python implementation for compatibility. To improve performance for high-throughput +applications, kafka-python will use `crc32c` for optimized native code if installed. +See https://pypi.org/project/crc32c/ + +Protocol +******** + +A secondary goal of kafka-python is to provide an easy-to-use protocol layer +for interacting with kafka brokers via the python repl. This is useful for +testing, probing, and general experimentation. The protocol support is +leveraged to enable a KafkaClient.check_version() method that +probes a kafka broker and attempts to identify which version it is running +(0.8.0 to 2.4+). + + diff --git a/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/RECORD b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/RECORD new file mode 100644 index 0000000..7df7344 --- /dev/null +++ b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/RECORD @@ -0,0 +1,203 @@ +kafka/__init__.py,sha256=5Phe46DuaS980Pnma3UBEoYxwVag2IBNsQLw3lGygVk,1077 +kafka/__pycache__/__init__.cpython-312.pyc,, +kafka/__pycache__/client_async.cpython-312.pyc,, +kafka/__pycache__/cluster.cpython-312.pyc,, +kafka/__pycache__/codec.cpython-312.pyc,, +kafka/__pycache__/conn.cpython-312.pyc,, +kafka/__pycache__/errors.cpython-312.pyc,, +kafka/__pycache__/future.cpython-312.pyc,, +kafka/__pycache__/scram.cpython-312.pyc,, +kafka/__pycache__/structs.cpython-312.pyc,, +kafka/__pycache__/util.cpython-312.pyc,, +kafka/__pycache__/version.cpython-312.pyc,, +kafka/admin/__init__.py,sha256=S_XxqyyV480_yXhttK79XZqNAmZyXRjspd3SoqYykE8,720 +kafka/admin/__pycache__/__init__.cpython-312.pyc,, +kafka/admin/__pycache__/acl_resource.cpython-312.pyc,, +kafka/admin/__pycache__/client.cpython-312.pyc,, +kafka/admin/__pycache__/config_resource.cpython-312.pyc,, +kafka/admin/__pycache__/new_partitions.cpython-312.pyc,, +kafka/admin/__pycache__/new_topic.cpython-312.pyc,, +kafka/admin/acl_resource.py,sha256=ak_dUsSni4SyP0ORbSKenZpwTy0Ykxq3FSt_9XgLR8k,8265 +kafka/admin/client.py,sha256=4qr9DuDoDjvkPN8jn7dCw1vZtE-O1JbaLWlhp-j5fP4,63518 +kafka/admin/config_resource.py,sha256=_JZWN_Q7jbuTtq2kdfHxWyTt_jI1LI-xnVGsf6oYGyY,1039 +kafka/admin/new_partitions.py,sha256=rYSb7S6VL706ZauSmiN5J9GDsep0HYRmkkAZUgT2JIg,757 +kafka/admin/new_topic.py,sha256=fvezLP9JXumqX-nU27Fgo0tj4d85ybcJgKluQImm3-0,1306 +kafka/client_async.py,sha256=Tu0-OMb5IWJYupibS480mPUBYhiwVK9wCra75RoYZfw,45265 +kafka/cluster.py,sha256=mQTwoOgLtDj57DrQp1pQikmZVFDFuy9KW4ZKJd7l0_o,14822 +kafka/codec.py,sha256=IrYqQMWJ39V3kB6IXlqTGUQ4bFWENxxbCxMoCdZ0wkg,9548 +kafka/conn.py,sha256=zsYS6Fh2CCM3JWqixfi3sCQ19nFOwtg-nuen84Ak0Wc,68402 +kafka/consumer/__init__.py,sha256=NDdvtyuJgFyQZahqL9i5sYXGP6rOMIXWwHQEaZ1fCcs,122 +kafka/consumer/__pycache__/__init__.cpython-312.pyc,, +kafka/consumer/__pycache__/fetcher.cpython-312.pyc,, +kafka/consumer/__pycache__/group.cpython-312.pyc,, +kafka/consumer/__pycache__/subscription_state.cpython-312.pyc,, +kafka/consumer/fetcher.py,sha256=2ETL3j5Fsq3dRZ4iJ4INGNfAurhTGYLKzo0lM_LrBjQ,47679 +kafka/consumer/group.py,sha256=V4qpj6LmAJJTF4TvXzszKnt0Rd9p4T5Vrn4elftbpZg,58768 +kafka/consumer/subscription_state.py,sha256=2SgH37QISlIZh-v0KnNJW0n1d_sMLOxxW7UxkhsC5R0,21665 +kafka/coordinator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +kafka/coordinator/__pycache__/__init__.cpython-312.pyc,, +kafka/coordinator/__pycache__/base.cpython-312.pyc,, +kafka/coordinator/__pycache__/consumer.cpython-312.pyc,, +kafka/coordinator/__pycache__/heartbeat.cpython-312.pyc,, +kafka/coordinator/__pycache__/protocol.cpython-312.pyc,, +kafka/coordinator/assignors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +kafka/coordinator/assignors/__pycache__/__init__.cpython-312.pyc,, +kafka/coordinator/assignors/__pycache__/abstract.cpython-312.pyc,, +kafka/coordinator/assignors/__pycache__/range.cpython-312.pyc,, +kafka/coordinator/assignors/__pycache__/roundrobin.cpython-312.pyc,, +kafka/coordinator/assignors/abstract.py,sha256=belUnCkuw70HJ8HTWYIgVrT6pJmIBBrTl1vkO-bN1C0,1507 +kafka/coordinator/assignors/range.py,sha256=PXFkkb505pL1uJEQMTvXCOp0Rckm-qkoKqTGyn082qM,2912 +kafka/coordinator/assignors/roundrobin.py,sha256=Xt_TOvCtcdozjZSg1cxixLAPyWz1aTpDL8v1vDhX960,3776 +kafka/coordinator/assignors/sticky/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +kafka/coordinator/assignors/sticky/__pycache__/__init__.cpython-312.pyc,, +kafka/coordinator/assignors/sticky/__pycache__/partition_movements.cpython-312.pyc,, +kafka/coordinator/assignors/sticky/__pycache__/sorted_set.cpython-312.pyc,, +kafka/coordinator/assignors/sticky/__pycache__/sticky_assignor.cpython-312.pyc,, +kafka/coordinator/assignors/sticky/partition_movements.py,sha256=npydNO-YCG_cv--U--9CPTLGTbTWahiw_Ek295ayBjQ,6476 +kafka/coordinator/assignors/sticky/sorted_set.py,sha256=lOckfQ7vcOMNnIx5WjfHhKC_MgToeOxbp9vc_4tPIzs,1904 +kafka/coordinator/assignors/sticky/sticky_assignor.py,sha256=xNnyNy28vYWmOE8wSlxqdxHAaUX_PX6hQz8EoA_p62k,34114 +kafka/coordinator/base.py,sha256=zWIN0FI8KMzPJwoqfcIG_r6ppv-531HqwUyQGEbn0JE,46140 +kafka/coordinator/consumer.py,sha256=BCZlUHCf343K8w3CTd9Osqj9u1eE7b73wMa22_BHOVk,38920 +kafka/coordinator/heartbeat.py,sha256=WJqZGnXHG7TTq1Is3D0mKDis-bBwWVZlSgQiUoZv1jU,2304 +kafka/coordinator/protocol.py,sha256=wTaIOnUVbj0CKXZ82FktZo-zMRvOCk3hdQAoHJ62e3I,1041 +kafka/errors.py,sha256=MeK0fOtHbstT-HqseH9bBnlW9ZKv9envcrUDpWn4BdA,16324 +kafka/future.py,sha256=uJJLfKMFsdEHgHSyvCzQe_AXNrToiZE-MynZVNhk9qc,2474 +kafka/metrics/__init__.py,sha256=b82LCjV5BgisjmIc3pn11CqFpme5grtIFHWiH8C_R0U,574 +kafka/metrics/__pycache__/__init__.cpython-312.pyc,, +kafka/metrics/__pycache__/compound_stat.cpython-312.pyc,, +kafka/metrics/__pycache__/dict_reporter.cpython-312.pyc,, +kafka/metrics/__pycache__/kafka_metric.cpython-312.pyc,, +kafka/metrics/__pycache__/measurable.cpython-312.pyc,, +kafka/metrics/__pycache__/measurable_stat.cpython-312.pyc,, +kafka/metrics/__pycache__/metric_config.cpython-312.pyc,, +kafka/metrics/__pycache__/metric_name.cpython-312.pyc,, +kafka/metrics/__pycache__/metrics.cpython-312.pyc,, +kafka/metrics/__pycache__/metrics_reporter.cpython-312.pyc,, +kafka/metrics/__pycache__/quota.cpython-312.pyc,, +kafka/metrics/__pycache__/stat.cpython-312.pyc,, +kafka/metrics/compound_stat.py,sha256=CNnP71sNnViUhCDFHimdlXBb8G-PXrbqg6FfSS-SkVc,776 +kafka/metrics/dict_reporter.py,sha256=OvZ6SUFp-Yk3tNaWbC0ul0WXncp42ymg8bHw3O6MITA,2567 +kafka/metrics/kafka_metric.py,sha256=fnkHEmooLjCHRoAtti6rOymQLLMN1D276ma1bYAFJDY,933 +kafka/metrics/measurable.py,sha256=g5mp1c9816SRgJdgHXklTNqDoDnbeYp-opjoV3DOr7Q,770 +kafka/metrics/measurable_stat.py,sha256=NcOQfOieQV8m6mMClDFJDY1ibE-RmIPrth15W5XPDdU,503 +kafka/metrics/metric_config.py,sha256=SsibZd09icYgqLrMhXXW-pQVICPn0yYADrD8txdIMw0,1154 +kafka/metrics/metric_name.py,sha256=l25XFsjpOK6nv4Al_bRKFtt-UHeeqmkhBhaEfGMp9Qo,3419 +kafka/metrics/metrics.py,sha256=hEBGp8afj39FllLV021g6c8cZ2_KqwfWiUnRzc7SdlE,10314 +kafka/metrics/metrics_reporter.py,sha256=2qZRLiyOUzB-2ULBtOhXOtjU9phElIlundjPluYYXgE,1398 +kafka/metrics/quota.py,sha256=34psI-neVNQ-VeaD2KMvpx5bBIJp4rJcsJ6rvC91Wgk,1128 +kafka/metrics/stat.py,sha256=T_YGImowGnUnGgeNZ-r4buk1PdM_7NHG15PzTHieyZo,628 +kafka/metrics/stats/__init__.py,sha256=sHcT6pvQCt-s_aow5_QRy9Z5bRV4ShBCZlin51f--Ro,629 +kafka/metrics/stats/__pycache__/__init__.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/avg.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/count.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/histogram.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/max_stat.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/min_stat.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/percentile.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/percentiles.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/rate.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/sampled_stat.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/sensor.cpython-312.pyc,, +kafka/metrics/stats/__pycache__/total.cpython-312.pyc,, +kafka/metrics/stats/avg.py,sha256=WdyAFz37aQhvzIqkvbP4SGUDz9gZ-eua_Urhygjc2xU,678 +kafka/metrics/stats/count.py,sha256=dy5sdPVLOwsiVcfOawEx7EOyjSTXxUKqsJl84sjVZbQ,487 +kafka/metrics/stats/histogram.py,sha256=5-1V_juSsWUV-0e0F4egSYjJvXcBOJF-fzLyBXhywts,2874 +kafka/metrics/stats/max_stat.py,sha256=jBkG-ozWpsH1qmPNzhiICpJVKxwbep-VHwOEGRnCHJo,546 +kafka/metrics/stats/min_stat.py,sha256=gI0d7RUJB5En7PS_TT3WZ_gJl8tOZi81o-F0JD3S_oc,568 +kafka/metrics/stats/percentile.py,sha256=ZQoda6vpS9v5LopQJL64SyCWO9160SVELxQ9S1KKit8,342 +kafka/metrics/stats/percentiles.py,sha256=n4Uqt7qyRUkrkOWZvymfKx-7ANvopDXgLeXH1QRC_rk,2901 +kafka/metrics/stats/rate.py,sha256=-zkYp8kZrhy01hDaPCYcKqvRycY1esyNPRQrqK_JH5s,4533 +kafka/metrics/stats/sampled_stat.py,sha256=rb42q6MIkAm2LJh4H4QoC6OmP_zJ-3jbBrva0kf_0J0,3458 +kafka/metrics/stats/sensor.py,sha256=sxX2SxkTOuLA-VPIRu4LyJnJYsqpvEybd6oiVS2Lf5Y,5129 +kafka/metrics/stats/total.py,sha256=tUq8rPW96OVzjVz0aOsBkEe2Ljkv6JaBa5TMCocYydg,418 +kafka/oauth/__init__.py,sha256=nNNQI8KQjCXCEdSrgnvyQFLTQqGk0x7J1MNu82PA0i0,95 +kafka/oauth/__pycache__/__init__.cpython-312.pyc,, +kafka/oauth/__pycache__/abstract.cpython-312.pyc,, +kafka/oauth/abstract.py,sha256=g-6pEw5amtXfTfBcV6quD-BVuoNH4SrFPw_kvgWPmkY,1296 +kafka/partitioner/__init__.py,sha256=Fks3C5_kokVWYw1Ad5wv0sVVzaaBtOejL-2bIL1yRII,158 +kafka/partitioner/__pycache__/__init__.cpython-312.pyc,, +kafka/partitioner/__pycache__/default.cpython-312.pyc,, +kafka/partitioner/default.py,sha256=tW-RC1PWIPRDEbeEAaPTLn-00oiZnXoVouEk9AnYE4w,2879 +kafka/producer/__init__.py,sha256=i3Wxih0NHjmqCkRNE54ial8fBp9siqabUE6ZGyL6oX8,122 +kafka/producer/__pycache__/__init__.cpython-312.pyc,, +kafka/producer/__pycache__/buffer.cpython-312.pyc,, +kafka/producer/__pycache__/future.cpython-312.pyc,, +kafka/producer/__pycache__/kafka.cpython-312.pyc,, +kafka/producer/__pycache__/record_accumulator.cpython-312.pyc,, +kafka/producer/__pycache__/sender.cpython-312.pyc,, +kafka/producer/buffer.py,sha256=1ucTlZOQKBa37c_cKUNgFmHpO0P1WEQ9XDqTxmsOrG0,4370 +kafka/producer/future.py,sha256=CEUWEmYKeTMMPjP-SjSJY1RZ2QFn7ebcK0G0sSWx4xo,3039 +kafka/producer/kafka.py,sha256=Am_Tm2FtDcgqBDdqAq31bJnsRlqqxYS5_LX7MVObGok,37649 +kafka/producer/record_accumulator.py,sha256=SyvYJVD7J1s4G2omjkaO8-Q6Yn2MukGTWfSEnFQlIfY,24994 +kafka/producer/sender.py,sha256=vqmozAfH6WIxE5LctZj16Cux--ASx87wIYCnU0nJEXI,22968 +kafka/protocol/__init__.py,sha256=6LgsMXp87XMcvBCRNIwaOauyBdUqsyWOdNAlsAA4zxY,1075 +kafka/protocol/__pycache__/__init__.cpython-312.pyc,, +kafka/protocol/__pycache__/abstract.cpython-312.pyc,, +kafka/protocol/__pycache__/admin.cpython-312.pyc,, +kafka/protocol/__pycache__/api.cpython-312.pyc,, +kafka/protocol/__pycache__/commit.cpython-312.pyc,, +kafka/protocol/__pycache__/fetch.cpython-312.pyc,, +kafka/protocol/__pycache__/frame.cpython-312.pyc,, +kafka/protocol/__pycache__/group.cpython-312.pyc,, +kafka/protocol/__pycache__/message.cpython-312.pyc,, +kafka/protocol/__pycache__/metadata.cpython-312.pyc,, +kafka/protocol/__pycache__/offset.cpython-312.pyc,, +kafka/protocol/__pycache__/parser.cpython-312.pyc,, +kafka/protocol/__pycache__/pickle.cpython-312.pyc,, +kafka/protocol/__pycache__/produce.cpython-312.pyc,, +kafka/protocol/__pycache__/struct.cpython-312.pyc,, +kafka/protocol/__pycache__/types.cpython-312.pyc,, +kafka/protocol/abstract.py,sha256=LUYVZkjlEnZzvklkgrsfz8iZKNSFhS8cP-Q-N0jqdQo,385 +kafka/protocol/admin.py,sha256=6ncxMhsX6pSJI5eiCih0RRYE-3bkeKbVuiMA8LptYzA,25122 +kafka/protocol/api.py,sha256=xCwwkFasFBnzG7ER4a-dN40NmgkxLlwpu__ADXfkOz4,2493 +kafka/protocol/commit.py,sha256=_aztH5jgEdkIwmp7HF4F96N90_0s3Cbb-O-r634m2HI,6888 +kafka/protocol/fetch.py,sha256=WEYHr2MINaKIqtN1tRH9Iui7xQiWot333TkgtjOpR9E,11014 +kafka/protocol/frame.py,sha256=SejRBK5urTD-2UzcVM2OxTgC73qDxfF3nlBPl9sjsfY,734 +kafka/protocol/group.py,sha256=sLQYQjPukVHK63UM1wt-YD2CniI7CO8rrG3tLi4zdIs,5599 +kafka/protocol/message.py,sha256=9wNwJvfl9bsrdk_YcxbmAFjgvwZ5R1EBLSif2KILg9s,7657 +kafka/protocol/metadata.py,sha256=MgCDeXcMipy2kLxOuwslk-7qivPzvC9EpyacTfaXRvE,6116 +kafka/protocol/offset.py,sha256=o3MXGbiezLNcEmnQRhlCPJsmUxYoiIgWXgrVoU6ilB4,4707 +kafka/protocol/parser.py,sha256=T6C_UWOSIbbyfRihvaqLtyCiI0QnUTKha-OMiXFMj1w,6963 +kafka/protocol/pickle.py,sha256=FGEv-1l1aXY3TogqzCwOS1gCNpEg6-xNLbrysqNdHcs,920 +kafka/protocol/produce.py,sha256=Bd8tgRly7mknYcfrqlRk07vl--daLwf-nTuvGcGB1k0,6460 +kafka/protocol/struct.py,sha256=DxktwrPp1pj4b7Vne2H5n-xWjgx9jpCmf0ydZkeIjoY,2380 +kafka/protocol/types.py,sha256=KghOyWIU5Qkj7ZkP4G3AW7ILMJ9s5QZMrRO_8rDkPFg,5427 +kafka/record/__init__.py,sha256=Q20hP_R5XX3AEnAlPkpoWzTLShESvxUT2OLXmI-JYEQ,129 +kafka/record/__pycache__/__init__.cpython-312.pyc,, +kafka/record/__pycache__/_crc32c.cpython-312.pyc,, +kafka/record/__pycache__/abc.cpython-312.pyc,, +kafka/record/__pycache__/default_records.cpython-312.pyc,, +kafka/record/__pycache__/legacy_records.cpython-312.pyc,, +kafka/record/__pycache__/memory_records.cpython-312.pyc,, +kafka/record/__pycache__/util.cpython-312.pyc,, +kafka/record/_crc32c.py,sha256=Nr0O4kpyPg379hDY-svjnM4CSKtlEBhanxgb5Y3PlEQ,5753 +kafka/record/abc.py,sha256=YoOlVaBtWn8gLcJusLbo3zZhd9BI8aZGc06NHaDIGxI,3465 +kafka/record/default_records.py,sha256=zl9dWeUap6pGZt2ixGxtjtnB5y9HKWi05qN2zAC0Cz0,21023 +kafka/record/legacy_records.py,sha256=4XaxdFoWTSHoFiBA5i-Dvscy2pj83CdteLWD8BcHYJQ,17820 +kafka/record/memory_records.py,sha256=VjUsbLtIU0y5HM9eYlUjjpCFMwTej67uhrIL5CgtYq8,6344 +kafka/record/util.py,sha256=LDajBWdYVetmXts_t9Q76CxEx7njgC9LnjMgz9yPEMM,3556 +kafka/scram.py,sha256=Ei9FPJ3ajfTQRRGaDs1RjDKTpplkoPQKvk-u6Dkbh_U,3034 +kafka/serializer/__init__.py,sha256=_I4utl_8nNhcRzLLezFtwYX5akk6QKYmxa1HanRlYPU,103 +kafka/serializer/__pycache__/__init__.cpython-312.pyc,, +kafka/serializer/__pycache__/abstract.cpython-312.pyc,, +kafka/serializer/abstract.py,sha256=doiXDkMYt2SEHRarBdd8xVZKvr5S1qPdNEtl4syWA6Q,486 +kafka/structs.py,sha256=m2o20GOJBDJIiP7YUj1Lhk2bAXKLt9H48NloBJ39Om8,2927 +kafka/util.py,sha256=nu0h9bXBv6Hl8v7MW07o8NFe4zoZNw6C6ehFBPazOpU,1856 +kafka/vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +kafka/vendor/__pycache__/__init__.cpython-312.pyc,, +kafka/vendor/__pycache__/enum34.cpython-312.pyc,, +kafka/vendor/__pycache__/selectors34.cpython-312.pyc,, +kafka/vendor/__pycache__/six.cpython-312.pyc,, +kafka/vendor/__pycache__/socketpair.cpython-312.pyc,, +kafka/vendor/enum34.py,sha256=-u-lxAiJMt6ru4Do7NUDY9OpeWkYJMksb2xengJawFE,31204 +kafka/vendor/selectors34.py,sha256=40NdCvzBONYxE_IEQlvLma7Zftl_pCnkUEQPGTT_JOk,20502 +kafka/vendor/six.py,sha256=rz93m7VnaruMHlKvgxBfTW8VjgTmLoeY42OunxMCxoY,31133 +kafka/vendor/socketpair.py,sha256=xz_yjMNpIY5cO4eh7oqyU9caK9kJRnbeJtV1lGb0Sv8,2127 +kafka/version.py,sha256=kumiGImhzOTlTrRM-6jDo2mNnVHGO_2vxtrhB0nzAiw,22 +kafka_python-2.0.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +kafka_python-2.0.2.dist-info/LICENSE,sha256=KrcY2_AbbyVIpWwikBS96hmNAMYJqbtevJ9ghAvdT-w,11343 +kafka_python-2.0.2.dist-info/METADATA,sha256=hHQUfDUVxFLTZjLQL64onhVht0WQuGh_gcBY5cK0XCI,7807 +kafka_python-2.0.2.dist-info/RECORD,, +kafka_python-2.0.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +kafka_python-2.0.2.dist-info/WHEEL,sha256=HX-v9-noUkyUoxyZ1PMSuS7auUxDAR4VBdoYLqD0xws,110 +kafka_python-2.0.2.dist-info/top_level.txt,sha256=IivJz7l5WHdLNDT6RIiVAlhjQzYRwGqBBmKHZ7WjPeM,6 diff --git a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/WHEEL b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/WHEEL similarity index 70% rename from venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/WHEEL index 5f133db..c8240f0 100644 --- a/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 -Generator: setuptools (80.9.0) +Generator: bdist_wheel (0.33.1) Root-Is-Purelib: true Tag: py2-none-any Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/top_level.txt similarity index 100% rename from venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/top_level.txt rename to venv/lib/python3.12/site-packages/kafka_python-2.0.2.dist-info/top_level.txt diff --git a/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/METADATA b/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/METADATA deleted file mode 100644 index 7f86dd7..0000000 --- a/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/METADATA +++ /dev/null @@ -1,277 +0,0 @@ -Metadata-Version: 2.4 -Name: kafka-python -Version: 2.2.15 -Summary: Pure Python client for Apache Kafka -Author-email: Dana Powers -Project-URL: Homepage, https://github.com/dpkp/kafka-python -Keywords: apache kafka,kafka -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.4 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Description-Content-Type: text/x-rst -Provides-Extra: crc32c -Requires-Dist: crc32c; extra == "crc32c" -Provides-Extra: lz4 -Requires-Dist: lz4; extra == "lz4" -Provides-Extra: snappy -Requires-Dist: python-snappy; extra == "snappy" -Provides-Extra: zstd -Requires-Dist: zstandard; extra == "zstd" -Provides-Extra: testing -Requires-Dist: pytest; extra == "testing" -Requires-Dist: mock; python_version < "3.3" and extra == "testing" -Requires-Dist: pytest-mock; extra == "testing" -Requires-Dist: pytest-timeout; extra == "testing" -Provides-Extra: benchmarks -Requires-Dist: pyperf; extra == "benchmarks" - -Kafka Python client ------------------------- - -.. image:: https://img.shields.io/badge/kafka-4.0--0.8-brightgreen.svg - :target: https://kafka-python.readthedocs.io/en/master/compatibility.html -.. image:: https://img.shields.io/pypi/pyversions/kafka-python.svg - :target: https://pypi.python.org/pypi/kafka-python -.. image:: https://coveralls.io/repos/dpkp/kafka-python/badge.svg?branch=master&service=github - :target: https://coveralls.io/github/dpkp/kafka-python?branch=master -.. image:: https://img.shields.io/badge/license-Apache%202-blue.svg - :target: https://github.com/dpkp/kafka-python/blob/master/LICENSE -.. image:: https://img.shields.io/pypi/dw/kafka-python.svg - :target: https://pypistats.org/packages/kafka-python -.. image:: https://img.shields.io/pypi/v/kafka-python.svg - :target: https://pypi.org/project/kafka-python -.. image:: https://img.shields.io/pypi/implementation/kafka-python - :target: https://github.com/dpkp/kafka-python/blob/master/setup.py - - - -Python client for the Apache Kafka distributed stream processing system. -kafka-python is designed to function much like the official java client, with a -sprinkling of pythonic interfaces (e.g., consumer iterators). - -kafka-python is best used with newer brokers (0.9+), but is backwards-compatible with -older versions (to 0.8.0). Some features will only be enabled on newer brokers. -For example, fully coordinated consumer groups -- i.e., dynamic partition -assignment to multiple consumers in the same group -- requires use of 0.9+ kafka -brokers. Supporting this feature for earlier broker releases would require -writing and maintaining custom leadership election and membership / health -check code (perhaps using zookeeper or consul). For older brokers, you can -achieve something similar by manually assigning different partitions to each -consumer instance with config management tools like chef, ansible, etc. This -approach will work fine, though it does not support rebalancing on failures. -See https://kafka-python.readthedocs.io/en/master/compatibility.html -for more details. - -Please note that the master branch may contain unreleased features. For release -documentation, please see readthedocs and/or python's inline help. - -.. code-block:: bash - - $ pip install kafka-python - - -KafkaConsumer -************* - -KafkaConsumer is a high-level message consumer, intended to operate as similarly -as possible to the official java client. Full support for coordinated -consumer groups requires use of kafka brokers that support the Group APIs: kafka v0.9+. - -See https://kafka-python.readthedocs.io/en/master/apidoc/KafkaConsumer.html -for API and configuration details. - -The consumer iterator returns ConsumerRecords, which are simple namedtuples -that expose basic message attributes: topic, partition, offset, key, and value: - -.. code-block:: python - - from kafka import KafkaConsumer - consumer = KafkaConsumer('my_favorite_topic') - for msg in consumer: - print (msg) - -.. code-block:: python - - # join a consumer group for dynamic partition assignment and offset commits - from kafka import KafkaConsumer - consumer = KafkaConsumer('my_favorite_topic', group_id='my_favorite_group') - for msg in consumer: - print (msg) - -.. code-block:: python - - # manually assign the partition list for the consumer - from kafka import TopicPartition - consumer = KafkaConsumer(bootstrap_servers='localhost:1234') - consumer.assign([TopicPartition('foobar', 2)]) - msg = next(consumer) - -.. code-block:: python - - # Deserialize msgpack-encoded values - consumer = KafkaConsumer(value_deserializer=msgpack.loads) - consumer.subscribe(['msgpackfoo']) - for msg in consumer: - assert isinstance(msg.value, dict) - -.. code-block:: python - - # Access record headers. The returned value is a list of tuples - # with str, bytes for key and value - for msg in consumer: - print (msg.headers) - -.. code-block:: python - - # Read only committed messages from transactional topic - consumer = KafkaConsumer(isolation_level='read_committed') - consumer.subscribe(['txn_topic']) - for msg in consumer: - print(msg) - -.. code-block:: python - - # Get consumer metrics - metrics = consumer.metrics() - - -KafkaProducer -************* - -KafkaProducer is a high-level, asynchronous message producer. The class is -intended to operate as similarly as possible to the official java client. -See https://kafka-python.readthedocs.io/en/master/apidoc/KafkaProducer.html -for more details. - -.. code-block:: python - - from kafka import KafkaProducer - producer = KafkaProducer(bootstrap_servers='localhost:1234') - for _ in range(100): - producer.send('foobar', b'some_message_bytes') - -.. code-block:: python - - # Block until a single message is sent (or timeout) - future = producer.send('foobar', b'another_message') - result = future.get(timeout=60) - -.. code-block:: python - - # Block until all pending messages are at least put on the network - # NOTE: This does not guarantee delivery or success! It is really - # only useful if you configure internal batching using linger_ms - producer.flush() - -.. code-block:: python - - # Use a key for hashed-partitioning - producer.send('foobar', key=b'foo', value=b'bar') - -.. code-block:: python - - # Serialize json messages - import json - producer = KafkaProducer(value_serializer=lambda v: json.dumps(v).encode('utf-8')) - producer.send('fizzbuzz', {'foo': 'bar'}) - -.. code-block:: python - - # Serialize string keys - producer = KafkaProducer(key_serializer=str.encode) - producer.send('flipflap', key='ping', value=b'1234') - -.. code-block:: python - - # Compress messages - producer = KafkaProducer(compression_type='gzip') - for i in range(1000): - producer.send('foobar', b'msg %d' % i) - -.. code-block:: python - - # Use transactions - producer = KafkaProducer(transactional_id='fizzbuzz') - producer.init_transactions() - producer.begin_transaction() - future = producer.send('txn_topic', value=b'yes') - future.get() # wait for successful produce - producer.commit_transaction() # commit the transaction - - producer.begin_transaction() - future = producer.send('txn_topic', value=b'no') - future.get() # wait for successful produce - producer.abort_transaction() # abort the transaction - -.. code-block:: python - - # Include record headers. The format is list of tuples with string key - # and bytes value. - producer.send('foobar', value=b'c29tZSB2YWx1ZQ==', headers=[('content-encoding', b'base64')]) - -.. code-block:: python - - # Get producer performance metrics - metrics = producer.metrics() - - -Thread safety -************* - -The KafkaProducer can be used across threads without issue, unlike the -KafkaConsumer which cannot. - -While it is possible to use the KafkaConsumer in a thread-local manner, -multiprocessing is recommended. - - -Compression -*********** - -kafka-python supports the following compression formats: - -- gzip -- LZ4 -- Snappy -- Zstandard (zstd) - -gzip is supported natively, the others require installing additional libraries. -See https://kafka-python.readthedocs.io/en/master/install.html for more information. - - -Optimized CRC32 Validation -************************** - -Kafka uses CRC32 checksums to validate messages. kafka-python includes a pure -python implementation for compatibility. To improve performance for high-throughput -applications, kafka-python will use `crc32c` for optimized native code if installed. -See https://kafka-python.readthedocs.io/en/master/install.html for installation instructions. -See https://pypi.org/project/crc32c/ for details on the underlying crc32c lib. - - -Protocol -******** - -A secondary goal of kafka-python is to provide an easy-to-use protocol layer -for interacting with kafka brokers via the python repl. This is useful for -testing, probing, and general experimentation. The protocol support is -leveraged to enable a KafkaClient.check_version() method that -probes a kafka broker and attempts to identify which version it is running -(0.8.0 to 2.6+). diff --git a/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/RECORD b/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/RECORD deleted file mode 100644 index 14b6ad4..0000000 --- a/venv/lib/python3.12/site-packages/kafka_python-2.2.15.dist-info/RECORD +++ /dev/null @@ -1,250 +0,0 @@ -kafka/__init__.py,sha256=4dvHKZAxmD_4tfJ5wGcRV2X78vPcm8vsUoqceULevjA,1077 -kafka/__pycache__/__init__.cpython-312.pyc,, -kafka/__pycache__/client_async.cpython-312.pyc,, -kafka/__pycache__/cluster.cpython-312.pyc,, -kafka/__pycache__/codec.cpython-312.pyc,, -kafka/__pycache__/conn.cpython-312.pyc,, -kafka/__pycache__/errors.cpython-312.pyc,, -kafka/__pycache__/future.cpython-312.pyc,, -kafka/__pycache__/socks5_wrapper.cpython-312.pyc,, -kafka/__pycache__/structs.cpython-312.pyc,, -kafka/__pycache__/util.cpython-312.pyc,, -kafka/__pycache__/version.cpython-312.pyc,, -kafka/admin/__init__.py,sha256=S_XxqyyV480_yXhttK79XZqNAmZyXRjspd3SoqYykE8,720 -kafka/admin/__pycache__/__init__.cpython-312.pyc,, -kafka/admin/__pycache__/acl_resource.cpython-312.pyc,, -kafka/admin/__pycache__/client.cpython-312.pyc,, -kafka/admin/__pycache__/config_resource.cpython-312.pyc,, -kafka/admin/__pycache__/new_partitions.cpython-312.pyc,, -kafka/admin/__pycache__/new_topic.cpython-312.pyc,, -kafka/admin/acl_resource.py,sha256=ak_dUsSni4SyP0ORbSKenZpwTy0Ykxq3FSt_9XgLR8k,8265 -kafka/admin/client.py,sha256=94UpHTsgzvhOoB6_1QLeKxvZKlStKfI96xuWyaY9_Sc,78814 -kafka/admin/config_resource.py,sha256=_JZWN_Q7jbuTtq2kdfHxWyTt_jI1LI-xnVGsf6oYGyY,1039 -kafka/admin/new_partitions.py,sha256=rYSb7S6VL706ZauSmiN5J9GDsep0HYRmkkAZUgT2JIg,757 -kafka/admin/new_topic.py,sha256=fvezLP9JXumqX-nU27Fgo0tj4d85ybcJgKluQImm3-0,1306 -kafka/benchmarks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -kafka/benchmarks/__pycache__/__init__.cpython-312.pyc,, -kafka/benchmarks/__pycache__/consumer_performance.cpython-312.pyc,, -kafka/benchmarks/__pycache__/load_example.cpython-312.pyc,, -kafka/benchmarks/__pycache__/producer_performance.cpython-312.pyc,, -kafka/benchmarks/__pycache__/record_batch_compose.cpython-312.pyc,, -kafka/benchmarks/__pycache__/record_batch_read.cpython-312.pyc,, -kafka/benchmarks/__pycache__/varint_speed.cpython-312.pyc,, -kafka/benchmarks/consumer_performance.py,sha256=UFW2rVHX4rdwLRRQqsoUoMR7FbA9hwYsCNkQA1qNvuQ,4932 -kafka/benchmarks/load_example.py,sha256=feaU2Qic11hZfi3rKTI4Fezxmu-kvNz17m2wJmZMjmw,3491 -kafka/benchmarks/producer_performance.py,sha256=jy1Q4zyamPrluh3SUKxiH3z6wY-8sSFG3yJvJbnUFO0,5210 -kafka/benchmarks/record_batch_compose.py,sha256=CnUreNg1lUT0Qx9enmSr-THmBl9PjVMfaB0tsIFjFr8,2057 -kafka/benchmarks/record_batch_read.py,sha256=vlFaWU2YWI379n_2M8qieb_S2uHUWKV0NquEYy5b-Ho,2184 -kafka/benchmarks/varint_speed.py,sha256=s4CuvKgDZL-_zna5E3vM8RgHjhXuW6pcaO1z1WYZ_0Y,12585 -kafka/client_async.py,sha256=R8q_rRpG3RrYrRmcZo7XgO2oSdpLJATNcq8w-1vIJ_8,56878 -kafka/cluster.py,sha256=B4tOZYhZaYrcGsyAtdA8yejFm9ue7ElJxn_pd6Xhdfk,16775 -kafka/codec.py,sha256=8NZpnehzNrhSBIjzbPVSvyFbSeLAqEntE7BfVHu-_9I,10036 -kafka/conn.py,sha256=_yP-pGwEbkDmeutMOZjVilQXAnF4PWF_CDc60qC3DuE,69488 -kafka/consumer/__init__.py,sha256=NDdvtyuJgFyQZahqL9i5sYXGP6rOMIXWwHQEaZ1fCcs,122 -kafka/consumer/__pycache__/__init__.cpython-312.pyc,, -kafka/consumer/__pycache__/fetcher.cpython-312.pyc,, -kafka/consumer/__pycache__/group.cpython-312.pyc,, -kafka/consumer/__pycache__/subscription_state.cpython-312.pyc,, -kafka/consumer/fetcher.py,sha256=RlQLut54c5nOMl21neTJA2tmdsxIIPIX2Idu5Q-dYKY,69184 -kafka/consumer/group.py,sha256=1_4qES7x3XyAHjVbFZ_E0ilAoueyaeHiGpNgggYLGiQ,58945 -kafka/consumer/subscription_state.py,sha256=bK-YTVbOzhy8OB206QAfXVuo7zPA9YqYXnrRRST369c,24289 -kafka/coordinator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -kafka/coordinator/__pycache__/__init__.cpython-312.pyc,, -kafka/coordinator/__pycache__/base.cpython-312.pyc,, -kafka/coordinator/__pycache__/consumer.cpython-312.pyc,, -kafka/coordinator/__pycache__/heartbeat.cpython-312.pyc,, -kafka/coordinator/__pycache__/protocol.cpython-312.pyc,, -kafka/coordinator/assignors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -kafka/coordinator/assignors/__pycache__/__init__.cpython-312.pyc,, -kafka/coordinator/assignors/__pycache__/abstract.cpython-312.pyc,, -kafka/coordinator/assignors/__pycache__/range.cpython-312.pyc,, -kafka/coordinator/assignors/__pycache__/roundrobin.cpython-312.pyc,, -kafka/coordinator/assignors/abstract.py,sha256=belUnCkuw70HJ8HTWYIgVrT6pJmIBBrTl1vkO-bN1C0,1507 -kafka/coordinator/assignors/range.py,sha256=PXFkkb505pL1uJEQMTvXCOp0Rckm-qkoKqTGyn082qM,2912 -kafka/coordinator/assignors/roundrobin.py,sha256=Xt_TOvCtcdozjZSg1cxixLAPyWz1aTpDL8v1vDhX960,3776 -kafka/coordinator/assignors/sticky/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -kafka/coordinator/assignors/sticky/__pycache__/__init__.cpython-312.pyc,, -kafka/coordinator/assignors/sticky/__pycache__/partition_movements.cpython-312.pyc,, -kafka/coordinator/assignors/sticky/__pycache__/sorted_set.cpython-312.pyc,, -kafka/coordinator/assignors/sticky/__pycache__/sticky_assignor.cpython-312.pyc,, -kafka/coordinator/assignors/sticky/partition_movements.py,sha256=npydNO-YCG_cv--U--9CPTLGTbTWahiw_Ek295ayBjQ,6476 -kafka/coordinator/assignors/sticky/sorted_set.py,sha256=lOckfQ7vcOMNnIx5WjfHhKC_MgToeOxbp9vc_4tPIzs,1904 -kafka/coordinator/assignors/sticky/sticky_assignor.py,sha256=p5gDou3Gom7bUSLF5zpilihNPiT-fqJl1J8QxykqqMw,34216 -kafka/coordinator/base.py,sha256=hXfwtDkrHXHiNqjshCOa19js_2Y6ibLsdzDvJKGmcKc,54419 -kafka/coordinator/consumer.py,sha256=le4bGbHfrDK4pperYXekPKzuZW576uXL324IOwS4Kmw,46348 -kafka/coordinator/heartbeat.py,sha256=LeJJlwz1oUEOfEMIFT-R7ZOHBQ-b-luVKwmKyWxLfDo,3242 -kafka/coordinator/protocol.py,sha256=wTaIOnUVbj0CKXZ82FktZo-zMRvOCk3hdQAoHJ62e3I,1041 -kafka/errors.py,sha256=qX2Fp0qawU_HBNcZCwB7EDCmx3C2PehrETi6qSEJHmk,33290 -kafka/future.py,sha256=ZQStbfUYIPJRrgMfAWxxjrIRVxsw4WCtSR0J0bkyGno,2847 -kafka/metrics/__init__.py,sha256=b82LCjV5BgisjmIc3pn11CqFpme5grtIFHWiH8C_R0U,574 -kafka/metrics/__pycache__/__init__.cpython-312.pyc,, -kafka/metrics/__pycache__/compound_stat.cpython-312.pyc,, -kafka/metrics/__pycache__/dict_reporter.cpython-312.pyc,, -kafka/metrics/__pycache__/kafka_metric.cpython-312.pyc,, -kafka/metrics/__pycache__/measurable.cpython-312.pyc,, -kafka/metrics/__pycache__/measurable_stat.cpython-312.pyc,, -kafka/metrics/__pycache__/metric_config.cpython-312.pyc,, -kafka/metrics/__pycache__/metric_name.cpython-312.pyc,, -kafka/metrics/__pycache__/metrics.cpython-312.pyc,, -kafka/metrics/__pycache__/metrics_reporter.cpython-312.pyc,, -kafka/metrics/__pycache__/quota.cpython-312.pyc,, -kafka/metrics/__pycache__/stat.cpython-312.pyc,, -kafka/metrics/compound_stat.py,sha256=vHypFwcp4wWd-fC3jeMiMX8TwiVnnrn1vNfpZlBTZmg,850 -kafka/metrics/dict_reporter.py,sha256=OvZ6SUFp-Yk3tNaWbC0ul0WXncp42ymg8bHw3O6MITA,2567 -kafka/metrics/kafka_metric.py,sha256=vsLHShdhAjltL1vc51__B3M8lCUldMERub8cIdK3gFk,995 -kafka/metrics/measurable.py,sha256=g5mp1c9816SRgJdgHXklTNqDoDnbeYp-opjoV3DOr7Q,770 -kafka/metrics/measurable_stat.py,sha256=Y4D7yrg07E9HqZlqh_EgeVnEEk4DRoNyKEoteEicssU,542 -kafka/metrics/metric_config.py,sha256=LcHTPumiRscwKvF2Da14oMbHAEZolk-gUKk1sxpDUoI,1235 -kafka/metrics/metric_name.py,sha256=eO9rBbd8sp1tWWu6O9YasbDxsS4QQzq8eD0fz1JRqJ8,3493 -kafka/metrics/metrics.py,sha256=EAuMd-OLeSX3IS16NvC3w2tpIEwvCPedPwQ1gyM0C7E,10383 -kafka/metrics/metrics_reporter.py,sha256=hxAs01C5Gj_orStdgHUOYSs4-kOI4xfu0MOkYyuX28s,1437 -kafka/metrics/quota.py,sha256=xzZH-nVdi4nWNo__LAkRWUyb84DKsYGvBBt_ZzRhpKc,1170 -kafka/metrics/stat.py,sha256=eos8xrmz7vgBnIk-8LyqpbEsBbyqEEdJ_CrDzEVGEaU,667 -kafka/metrics/stats/__init__.py,sha256=sHcT6pvQCt-s_aow5_QRy9Z5bRV4ShBCZlin51f--Ro,629 -kafka/metrics/stats/__pycache__/__init__.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/avg.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/count.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/histogram.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/max_stat.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/min_stat.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/percentile.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/percentiles.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/rate.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/sampled_stat.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/sensor.cpython-312.pyc,, -kafka/metrics/stats/__pycache__/total.cpython-312.pyc,, -kafka/metrics/stats/avg.py,sha256=6YDKXBfr7z0w4_yXBDhdycUcTiPvT8Rw3B_iD-c_Qi0,738 -kafka/metrics/stats/count.py,sha256=2of_mXwfzp9ZCLzEA2VOXr0PWkdLy4TSZL0uH5nF1Dw,547 -kafka/metrics/stats/histogram.py,sha256=5jNlZHOnHvGOpho-Zm0Rna6GcHy-CYjxPe612B5DHIk,3039 -kafka/metrics/stats/max_stat.py,sha256=n_90jTiHCgF193OCu2wtjUlJJxSkldW336OyEAexbv0,606 -kafka/metrics/stats/min_stat.py,sha256=xKzBc3tQjk4ieiGdvs9HqKn885mPV6yaDxCb2ANye8c,628 -kafka/metrics/stats/percentile.py,sha256=RkBL4L1AIBL5Mp74xIOt5lYJol4PSLNYmROcpD9bMb0,391 -kafka/metrics/stats/percentiles.py,sha256=9aYsUwZO6h-uqsYnx8ob9biWwWJ-ztRDwTZ8AXVRI3w,3027 -kafka/metrics/stats/rate.py,sha256=5vvGCUyqZF7QDeUtVu0g37UVRavkwqdRc7DldKlMGn0,4628 -kafka/metrics/stats/sampled_stat.py,sha256=zO9HwoJFZvuuDWj_OdckPeVpxUxhR5dhRXcLTL0-hUQ,3556 -kafka/metrics/stats/sensor.py,sha256=xQsbt3cqcBkJr9ccAkFabWgh9pdeMzggYSjhiStvAdo,5317 -kafka/metrics/stats/total.py,sha256=gS4F4bsSv4gp4R1Et_SQnx2KaoE8wZ5SY9X10xf6bic,446 -kafka/partitioner/__init__.py,sha256=Fks3C5_kokVWYw1Ad5wv0sVVzaaBtOejL-2bIL1yRII,158 -kafka/partitioner/__pycache__/__init__.cpython-312.pyc,, -kafka/partitioner/__pycache__/default.cpython-312.pyc,, -kafka/partitioner/default.py,sha256=tW-RC1PWIPRDEbeEAaPTLn-00oiZnXoVouEk9AnYE4w,2879 -kafka/producer/__init__.py,sha256=i3Wxih0NHjmqCkRNE54ial8fBp9siqabUE6ZGyL6oX8,122 -kafka/producer/__pycache__/__init__.cpython-312.pyc,, -kafka/producer/__pycache__/future.cpython-312.pyc,, -kafka/producer/__pycache__/kafka.cpython-312.pyc,, -kafka/producer/__pycache__/record_accumulator.cpython-312.pyc,, -kafka/producer/__pycache__/sender.cpython-312.pyc,, -kafka/producer/__pycache__/transaction_manager.cpython-312.pyc,, -kafka/producer/future.py,sha256=UC3-g9QlgVFmbitrtMXVpeP0Pbvr7xl2kcw6bAehKG8,2983 -kafka/producer/kafka.py,sha256=oGO-UxoVZEFdBLOQ7zEqeDJWXMxKyUdNV-pCRU3jZmg,53302 -kafka/producer/record_accumulator.py,sha256=xNkHOCmganxDfa3W_Y3iBLT4RaAOZi0Lix-mUzsp2aQ,28170 -kafka/producer/sender.py,sha256=8-TLTw6vQO7AheWSDPI33cQdWMyTDxi1k-pkXuUb9k0,37789 -kafka/producer/transaction_manager.py,sha256=q3e9Lc9o-ofWvjT9FbHdTQH08XQBeRtoQEcQHGcnp7g,41535 -kafka/protocol/__init__.py,sha256=T1RBBlTH3zze0Cr1RqemPD4Z1b3IUDRmLOBfZTsPgLs,1184 -kafka/protocol/__pycache__/__init__.cpython-312.pyc,, -kafka/protocol/__pycache__/abstract.cpython-312.pyc,, -kafka/protocol/__pycache__/add_offsets_to_txn.cpython-312.pyc,, -kafka/protocol/__pycache__/add_partitions_to_txn.cpython-312.pyc,, -kafka/protocol/__pycache__/admin.cpython-312.pyc,, -kafka/protocol/__pycache__/api.cpython-312.pyc,, -kafka/protocol/__pycache__/api_versions.cpython-312.pyc,, -kafka/protocol/__pycache__/broker_api_versions.cpython-312.pyc,, -kafka/protocol/__pycache__/commit.cpython-312.pyc,, -kafka/protocol/__pycache__/end_txn.cpython-312.pyc,, -kafka/protocol/__pycache__/fetch.cpython-312.pyc,, -kafka/protocol/__pycache__/find_coordinator.cpython-312.pyc,, -kafka/protocol/__pycache__/frame.cpython-312.pyc,, -kafka/protocol/__pycache__/group.cpython-312.pyc,, -kafka/protocol/__pycache__/init_producer_id.cpython-312.pyc,, -kafka/protocol/__pycache__/list_offsets.cpython-312.pyc,, -kafka/protocol/__pycache__/message.cpython-312.pyc,, -kafka/protocol/__pycache__/metadata.cpython-312.pyc,, -kafka/protocol/__pycache__/offset_for_leader_epoch.cpython-312.pyc,, -kafka/protocol/__pycache__/parser.cpython-312.pyc,, -kafka/protocol/__pycache__/pickle.cpython-312.pyc,, -kafka/protocol/__pycache__/produce.cpython-312.pyc,, -kafka/protocol/__pycache__/sasl_authenticate.cpython-312.pyc,, -kafka/protocol/__pycache__/sasl_handshake.cpython-312.pyc,, -kafka/protocol/__pycache__/struct.cpython-312.pyc,, -kafka/protocol/__pycache__/txn_offset_commit.cpython-312.pyc,, -kafka/protocol/__pycache__/types.cpython-312.pyc,, -kafka/protocol/abstract.py,sha256=uOnuf6D8OTkL31Tp2QXG3VlzDPHVELGzM_bpSVa-_iw,424 -kafka/protocol/add_offsets_to_txn.py,sha256=Hya7vg6yqsV9XGLKWi8rES_VuN47-H4fdycg6mx8GLY,1486 -kafka/protocol/add_partitions_to_txn.py,sha256=mEz0DTrhY1ZN_GoITCQKRo-DO_HPc7A9r9eo_z1aF10,1766 -kafka/protocol/admin.py,sha256=11zE9sVrb34QY6AwYVvvWiwg4iycnq9aDSONCiuE9bo,30720 -kafka/protocol/api.py,sha256=ZI7DYb85UTL4BuhpwKGAyAKEv4Dl_y69AEW78M233lg,3813 -kafka/protocol/api_versions.py,sha256=VC9pvorLM--BE2uw0SvpeeMQPfWmcOvTgDFigLuGuVM,3546 -kafka/protocol/broker_api_versions.py,sha256=LA_pdbfsJClBxQPi01u5yVRLUIpZRUz6LiqhSsj8cgU,16523 -kafka/protocol/commit.py,sha256=-COlx8lTVCI6Zg4ZebDnsX4Wy_V69Kjw8V85FRd3Ics,8627 -kafka/protocol/end_txn.py,sha256=I0C1cxjkgLR0ri3QbEcmTkNoVT-lh7Bv_KaZO2wZUD0,1293 -kafka/protocol/fetch.py,sha256=G3Hh0AWGbEiWmiC83-b0t2jGlRLBovYz_ecfSp-vMEE,11214 -kafka/protocol/find_coordinator.py,sha256=sROaXxqAje2BSaNunh6QMTdVcR7uil5kz-woZqdg2BY,1697 -kafka/protocol/frame.py,sha256=SejRBK5urTD-2UzcVM2OxTgC73qDxfF3nlBPl9sjsfY,734 -kafka/protocol/group.py,sha256=SClv-Ntrj4IdEEL23L-S8XtCbELYojiue7BYwV8WjPc,7172 -kafka/protocol/init_producer_id.py,sha256=bFiPJTLTFXHNth2lg53mg9_N8znUBvpqR1PO31-RUlw,1117 -kafka/protocol/list_offsets.py,sha256=3kvif8X-B2LBSpR3qwbkGYyJ0GLKbQdENDGpxWV0scQ,4887 -kafka/protocol/message.py,sha256=9wNwJvfl9bsrdk_YcxbmAFjgvwZ5R1EBLSif2KILg9s,7657 -kafka/protocol/metadata.py,sha256=X99gdDTQJZWDrEa0sGWbwVED9cpKZ2zax6s6cMnN4xw,7403 -kafka/protocol/offset_for_leader_epoch.py,sha256=aunp-LMIuwcCsKwvgBZ8OcUhcgb0blaq5d3PAh22JOo,4304 -kafka/protocol/parser.py,sha256=OB3yebOp6JSQpl-5fEpV1_0SdAtYkiqIk6ffDIkHzu0,6859 -kafka/protocol/pickle.py,sha256=FGEv-1l1aXY3TogqzCwOS1gCNpEg6-xNLbrysqNdHcs,920 -kafka/protocol/produce.py,sha256=JDWCRY5B7eSL3vp0N977MIgYMrR2qxgrbUZrqQMlGWk,6540 -kafka/protocol/sasl_authenticate.py,sha256=HaFAHPRhCKgyGEoJ5LwGffcpMUBNCphgBgXCsITLho8,1150 -kafka/protocol/sasl_handshake.py,sha256=WzQh9HBRemXvShrczkN4rd4SM-hNdes1khMzPRvcRQQ,982 -kafka/protocol/struct.py,sha256=DxktwrPp1pj4b7Vne2H5n-xWjgx9jpCmf0ydZkeIjoY,2380 -kafka/protocol/txn_offset_commit.py,sha256=_6Wr-SabUd9q09Tj9oG43AVZcqlW3LYbqXNW1Pvk9vs,2250 -kafka/protocol/types.py,sha256=f-lwfCqsJulYnBT1loek_KbMnZZqItN4YRIONjg3kbE,10244 -kafka/record/__init__.py,sha256=Q20hP_R5XX3AEnAlPkpoWzTLShESvxUT2OLXmI-JYEQ,129 -kafka/record/__pycache__/__init__.cpython-312.pyc,, -kafka/record/__pycache__/_crc32c.cpython-312.pyc,, -kafka/record/__pycache__/abc.cpython-312.pyc,, -kafka/record/__pycache__/default_records.cpython-312.pyc,, -kafka/record/__pycache__/legacy_records.cpython-312.pyc,, -kafka/record/__pycache__/memory_records.cpython-312.pyc,, -kafka/record/__pycache__/util.cpython-312.pyc,, -kafka/record/_crc32c.py,sha256=Ok-P62Yvg6D6rMGM9Z56OMjZWQlnps4xBbakg-sdxvI,5761 -kafka/record/abc.py,sha256=z1UYURHbD2RyyGRpVXKP598jck5eXU9p4M6iUo6ZSFo,4110 -kafka/record/default_records.py,sha256=IuICFp0soETihkp8bUyjjksqTlzU45o-UYmo8joLBmo,25992 -kafka/record/legacy_records.py,sha256=bm1Y24PLVgLKtWqamESKvMk9P01uw3aQ8Z8q2QHxJy8,18858 -kafka/record/memory_records.py,sha256=b7RFxvaQ93drXSk3o3_YB3FQlVoESoBlGj3Z5PD25n8,8874 -kafka/record/util.py,sha256=LDajBWdYVetmXts_t9Q76CxEx7njgC9LnjMgz9yPEMM,3556 -kafka/sasl/__init__.py,sha256=wUUGIKRe52J6Qekj7hSypg44vWTrkYsEdVafQC7cX5s,1106 -kafka/sasl/__pycache__/__init__.cpython-312.pyc,, -kafka/sasl/__pycache__/abc.cpython-312.pyc,, -kafka/sasl/__pycache__/gssapi.cpython-312.pyc,, -kafka/sasl/__pycache__/msk.cpython-312.pyc,, -kafka/sasl/__pycache__/oauth.cpython-312.pyc,, -kafka/sasl/__pycache__/plain.cpython-312.pyc,, -kafka/sasl/__pycache__/scram.cpython-312.pyc,, -kafka/sasl/__pycache__/sspi.cpython-312.pyc,, -kafka/sasl/abc.py,sha256=R0BZOk3AYEGyehiGbbg-LMRvFAlWZsh0fBiESgUpBYw,657 -kafka/sasl/gssapi.py,sha256=pwLxXqcmJJxkuFQUoEfX5PWgZxr-8TziuRCg9K7fO3E,4705 -kafka/sasl/msk.py,sha256=FCv0uUTQKjvR2gIGyiv-dlwIvkpvEtaHvhqhXtC2q8w,8101 -kafka/sasl/oauth.py,sha256=dh87tVi-dlS5lIzgYsC4m7IXUhlLdejaMb9Ua6oYaB0,3425 -kafka/sasl/plain.py,sha256=PMfoWT856wx6nF_LhpfPKEnD7BRNx5l6rDhAqxBnMWU,1317 -kafka/sasl/scram.py,sha256=77If2o9x-QZDBs2fqml17S-wGyR5YkOMr2nZxXrCW9c,5045 -kafka/sasl/sspi.py,sha256=RUIVyWCEdlJPV1oj7bdzG8gORvFyR_9Bt79TzIohwMM,5001 -kafka/serializer/__init__.py,sha256=_I4utl_8nNhcRzLLezFtwYX5akk6QKYmxa1HanRlYPU,103 -kafka/serializer/__pycache__/__init__.cpython-312.pyc,, -kafka/serializer/__pycache__/abstract.cpython-312.pyc,, -kafka/serializer/abstract.py,sha256=doiXDkMYt2SEHRarBdd8xVZKvr5S1qPdNEtl4syWA6Q,486 -kafka/socks5_wrapper.py,sha256=6woOaCTJXJ5e89_zdyW5BjOpyE4rCbYFH-kd-FeuPuk,9827 -kafka/structs.py,sha256=SJGzmLdV21jZyQ7247k0WFy16UiusgTHK3I-e4qzI-E,3058 -kafka/util.py,sha256=WGqI5yT1yWGgHqSuRF9Fi8ejpiB53SurMy7ABkYxJ2g,4584 -kafka/vendor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -kafka/vendor/__pycache__/__init__.cpython-312.pyc,, -kafka/vendor/__pycache__/enum34.cpython-312.pyc,, -kafka/vendor/__pycache__/selectors34.cpython-312.pyc,, -kafka/vendor/__pycache__/six.cpython-312.pyc,, -kafka/vendor/__pycache__/socketpair.cpython-312.pyc,, -kafka/vendor/enum34.py,sha256=-u-lxAiJMt6ru4Do7NUDY9OpeWkYJMksb2xengJawFE,31204 -kafka/vendor/selectors34.py,sha256=gxejLO4eXf8mRSGXaQiknPig3GdX1rtsZiYOQJVuAy8,20594 -kafka/vendor/six.py,sha256=lLBa9_HrANP5BMZ7twEzg1M3wofwPmXyptuWmHX0brY,34826 -kafka/vendor/socketpair.py,sha256=Fi3PoY1Okkppab720wFk1BhHXyjcw7hi5DwhqrYZH2Y,2737 -kafka/version.py,sha256=Vh0q00JWD6pn7UpRKd065A7-8g7Bv7yYCxnqmZMfsFY,23 -kafka_python-2.2.15.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -kafka_python-2.2.15.dist-info/METADATA,sha256=K9jQXj1ujRv2RCbdfjE07NblzS8mIlVycU1q_bMOtUc,9952 -kafka_python-2.2.15.dist-info/RECORD,, -kafka_python-2.2.15.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -kafka_python-2.2.15.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109 -kafka_python-2.2.15.dist-info/top_level.txt,sha256=IivJz7l5WHdLNDT6RIiVAlhjQzYRwGqBBmKHZ7WjPeM,6 diff --git a/venv/lib/python3.12/site-packages/multipart/__init__.py b/venv/lib/python3.12/site-packages/multipart/__init__.py index 67f0e5b..309d698 100644 --- a/venv/lib/python3.12/site-packages/multipart/__init__.py +++ b/venv/lib/python3.12/site-packages/multipart/__init__.py @@ -1,24 +1,15 @@ -# This only works if using a file system, other loaders not implemented. +# This is the canonical package information. +__author__ = 'Andrew Dunham' +__license__ = 'Apache' +__copyright__ = "Copyright (c) 2012-2013, Andrew Dunham" +__version__ = "0.0.6" -import importlib.util -import sys -import warnings -from pathlib import Path -for p in sys.path: - file_path = Path(p, "multipart.py") - try: - if file_path.is_file(): - spec = importlib.util.spec_from_file_location("multipart", file_path) - assert spec is not None, f"{file_path} found but not loadable!" - module = importlib.util.module_from_spec(spec) - sys.modules["multipart"] = module - assert spec.loader is not None, f"{file_path} must be loadable!" - spec.loader.exec_module(module) - break - except PermissionError: - pass -else: - warnings.warn("Please use `import python_multipart` instead.", PendingDeprecationWarning, stacklevel=2) - from python_multipart import * - from python_multipart import __all__, __author__, __copyright__, __license__, __version__ +from .multipart import ( + FormParser, + MultipartParser, + QuerystringParser, + OctetStreamParser, + create_form_parser, + parse_form, +) diff --git a/venv/lib/python3.12/site-packages/multipart/decoders.py b/venv/lib/python3.12/site-packages/multipart/decoders.py index 31acdfb..0d7ab32 100644 --- a/venv/lib/python3.12/site-packages/multipart/decoders.py +++ b/venv/lib/python3.12/site-packages/multipart/decoders.py @@ -1 +1,171 @@ -from python_multipart.decoders import * +import base64 +import binascii + +from .exceptions import DecodeError + + +class Base64Decoder: + """This object provides an interface to decode a stream of Base64 data. It + is instantiated with an "underlying object", and whenever a write() + operation is performed, it will decode the incoming data as Base64, and + call write() on the underlying object. This is primarily used for decoding + form data encoded as Base64, but can be used for other purposes:: + + from multipart.decoders import Base64Decoder + fd = open("notb64.txt", "wb") + decoder = Base64Decoder(fd) + try: + decoder.write("Zm9vYmFy") # "foobar" in Base64 + decoder.finalize() + finally: + decoder.close() + + # The contents of "notb64.txt" should be "foobar". + + This object will also pass all finalize() and close() calls to the + underlying object, if the underlying object supports them. + + Note that this class maintains a cache of base64 chunks, so that a write of + arbitrary size can be performed. You must call :meth:`finalize` on this + object after all writes are completed to ensure that all data is flushed + to the underlying object. + + :param underlying: the underlying object to pass writes to + """ + + def __init__(self, underlying): + self.cache = bytearray() + self.underlying = underlying + + def write(self, data): + """Takes any input data provided, decodes it as base64, and passes it + on to the underlying object. If the data provided is invalid base64 + data, then this method will raise + a :class:`multipart.exceptions.DecodeError` + + :param data: base64 data to decode + """ + + # Prepend any cache info to our data. + if len(self.cache) > 0: + data = self.cache + data + + # Slice off a string that's a multiple of 4. + decode_len = (len(data) // 4) * 4 + val = data[:decode_len] + + # Decode and write, if we have any. + if len(val) > 0: + try: + decoded = base64.b64decode(val) + except binascii.Error: + raise DecodeError('There was an error raised while decoding ' + 'base64-encoded data.') + + self.underlying.write(decoded) + + # Get the remaining bytes and save in our cache. + remaining_len = len(data) % 4 + if remaining_len > 0: + self.cache = data[-remaining_len:] + else: + self.cache = b'' + + # Return the length of the data to indicate no error. + return len(data) + + def close(self): + """Close this decoder. If the underlying object has a `close()` + method, this function will call it. + """ + if hasattr(self.underlying, 'close'): + self.underlying.close() + + def finalize(self): + """Finalize this object. This should be called when no more data + should be written to the stream. This function can raise a + :class:`multipart.exceptions.DecodeError` if there is some remaining + data in the cache. + + If the underlying object has a `finalize()` method, this function will + call it. + """ + if len(self.cache) > 0: + raise DecodeError('There are %d bytes remaining in the ' + 'Base64Decoder cache when finalize() is called' + % len(self.cache)) + + if hasattr(self.underlying, 'finalize'): + self.underlying.finalize() + + def __repr__(self): + return f"{self.__class__.__name__}(underlying={self.underlying!r})" + + +class QuotedPrintableDecoder: + """This object provides an interface to decode a stream of quoted-printable + data. It is instantiated with an "underlying object", in the same manner + as the :class:`multipart.decoders.Base64Decoder` class. This class behaves + in exactly the same way, including maintaining a cache of quoted-printable + chunks. + + :param underlying: the underlying object to pass writes to + """ + def __init__(self, underlying): + self.cache = b'' + self.underlying = underlying + + def write(self, data): + """Takes any input data provided, decodes it as quoted-printable, and + passes it on to the underlying object. + + :param data: quoted-printable data to decode + """ + # Prepend any cache info to our data. + if len(self.cache) > 0: + data = self.cache + data + + # If the last 2 characters have an '=' sign in it, then we won't be + # able to decode the encoded value and we'll need to save it for the + # next decoding step. + if data[-2:].find(b'=') != -1: + enc, rest = data[:-2], data[-2:] + else: + enc = data + rest = b'' + + # Encode and write, if we have data. + if len(enc) > 0: + self.underlying.write(binascii.a2b_qp(enc)) + + # Save remaining in cache. + self.cache = rest + return len(data) + + def close(self): + """Close this decoder. If the underlying object has a `close()` + method, this function will call it. + """ + if hasattr(self.underlying, 'close'): + self.underlying.close() + + def finalize(self): + """Finalize this object. This should be called when no more data + should be written to the stream. This function will not raise any + exceptions, but it may write more data to the underlying object if + there is data remaining in the cache. + + If the underlying object has a `finalize()` method, this function will + call it. + """ + # If we have a cache, write and then remove it. + if len(self.cache) > 0: + self.underlying.write(binascii.a2b_qp(self.cache)) + self.cache = b'' + + # Finalize our underlying stream. + if hasattr(self.underlying, 'finalize'): + self.underlying.finalize() + + def __repr__(self): + return f"{self.__class__.__name__}(underlying={self.underlying!r})" diff --git a/venv/lib/python3.12/site-packages/multipart/exceptions.py b/venv/lib/python3.12/site-packages/multipart/exceptions.py index 36815d1..016e7f7 100644 --- a/venv/lib/python3.12/site-packages/multipart/exceptions.py +++ b/venv/lib/python3.12/site-packages/multipart/exceptions.py @@ -1 +1,46 @@ -from python_multipart.exceptions import * +class FormParserError(ValueError): + """Base error class for our form parser.""" + pass + + +class ParseError(FormParserError): + """This exception (or a subclass) is raised when there is an error while + parsing something. + """ + + #: This is the offset in the input data chunk (*NOT* the overall stream) in + #: which the parse error occurred. It will be -1 if not specified. + offset = -1 + + +class MultipartParseError(ParseError): + """This is a specific error that is raised when the MultipartParser detects + an error while parsing. + """ + pass + + +class QuerystringParseError(ParseError): + """This is a specific error that is raised when the QuerystringParser + detects an error while parsing. + """ + pass + + +class DecodeError(ParseError): + """This exception is raised when there is a decoding error - for example + with the Base64Decoder or QuotedPrintableDecoder. + """ + pass + + +# On Python 3.3, IOError is the same as OSError, so we don't want to inherit +# from both of them. We handle this case below. +if IOError is not OSError: # pragma: no cover + class FileError(FormParserError, IOError, OSError): + """Exception class for problems with the File class.""" + pass +else: # pragma: no cover + class FileError(FormParserError, OSError): + """Exception class for problems with the File class.""" + pass diff --git a/venv/lib/python3.12/site-packages/multipart/multipart.py b/venv/lib/python3.12/site-packages/multipart/multipart.py index 7bf567d..a9f1f9f 100644 --- a/venv/lib/python3.12/site-packages/multipart/multipart.py +++ b/venv/lib/python3.12/site-packages/multipart/multipart.py @@ -1 +1,1893 @@ -from python_multipart.multipart import * +from .decoders import * +from .exceptions import * + +import os +import re +import sys +import shutil +import logging +import tempfile +from io import BytesIO +from numbers import Number + +# Unique missing object. +_missing = object() + +# States for the querystring parser. +STATE_BEFORE_FIELD = 0 +STATE_FIELD_NAME = 1 +STATE_FIELD_DATA = 2 + +# States for the multipart parser +STATE_START = 0 +STATE_START_BOUNDARY = 1 +STATE_HEADER_FIELD_START = 2 +STATE_HEADER_FIELD = 3 +STATE_HEADER_VALUE_START = 4 +STATE_HEADER_VALUE = 5 +STATE_HEADER_VALUE_ALMOST_DONE = 6 +STATE_HEADERS_ALMOST_DONE = 7 +STATE_PART_DATA_START = 8 +STATE_PART_DATA = 9 +STATE_PART_DATA_END = 10 +STATE_END = 11 + +STATES = [ + "START", + "START_BOUNDARY", "HEADER_FIELD_START", "HEADER_FIELD", "HEADER_VALUE_START", "HEADER_VALUE", + "HEADER_VALUE_ALMOST_DONE", "HEADRES_ALMOST_DONE", "PART_DATA_START", "PART_DATA", "PART_DATA_END", "END" +] + + +# Flags for the multipart parser. +FLAG_PART_BOUNDARY = 1 +FLAG_LAST_BOUNDARY = 2 + +# Get constants. Since iterating over a str on Python 2 gives you a 1-length +# string, but iterating over a bytes object on Python 3 gives you an integer, +# we need to save these constants. +CR = b'\r'[0] +LF = b'\n'[0] +COLON = b':'[0] +SPACE = b' '[0] +HYPHEN = b'-'[0] +AMPERSAND = b'&'[0] +SEMICOLON = b';'[0] +LOWER_A = b'a'[0] +LOWER_Z = b'z'[0] +NULL = b'\x00'[0] + +# Lower-casing a character is different, because of the difference between +# str on Py2, and bytes on Py3. Same with getting the ordinal value of a byte, +# and joining a list of bytes together. +# These functions abstract that. +lower_char = lambda c: c | 0x20 +ord_char = lambda c: c +join_bytes = lambda b: bytes(list(b)) + +# These are regexes for parsing header values. +SPECIAL_CHARS = re.escape(b'()<>@,;:\\"/[]?={} \t') +QUOTED_STR = br'"(?:\\.|[^"])*"' +VALUE_STR = br'(?:[^' + SPECIAL_CHARS + br']+|' + QUOTED_STR + br')' +OPTION_RE_STR = ( + br'(?:;|^)\s*([^' + SPECIAL_CHARS + br']+)\s*=\s*(' + VALUE_STR + br')' +) +OPTION_RE = re.compile(OPTION_RE_STR) +QUOTE = b'"'[0] + + +def parse_options_header(value): + """ + Parses a Content-Type header into a value in the following format: + (content_type, {parameters}) + """ + if not value: + return (b'', {}) + + # If we are passed a string, we assume that it conforms to WSGI and does + # not contain any code point that's not in latin-1. + if isinstance(value, str): # pragma: no cover + value = value.encode('latin-1') + + # If we have no options, return the string as-is. + if b';' not in value: + return (value.lower().strip(), {}) + + # Split at the first semicolon, to get our value and then options. + ctype, rest = value.split(b';', 1) + options = {} + + # Parse the options. + for match in OPTION_RE.finditer(rest): + key = match.group(1).lower() + value = match.group(2) + if value[0] == QUOTE and value[-1] == QUOTE: + # Unquote the value. + value = value[1:-1] + value = value.replace(b'\\\\', b'\\').replace(b'\\"', b'"') + + # If the value is a filename, we need to fix a bug on IE6 that sends + # the full file path instead of the filename. + if key == b'filename': + if value[1:3] == b':\\' or value[:2] == b'\\\\': + value = value.split(b'\\')[-1] + + options[key] = value + + return ctype, options + + +class Field: + """A Field object represents a (parsed) form field. It represents a single + field with a corresponding name and value. + + The name that a :class:`Field` will be instantiated with is the same name + that would be found in the following HTML:: + + + + This class defines two methods, :meth:`on_data` and :meth:`on_end`, that + will be called when data is written to the Field, and when the Field is + finalized, respectively. + + :param name: the name of the form field + """ + def __init__(self, name): + self._name = name + self._value = [] + + # We cache the joined version of _value for speed. + self._cache = _missing + + @classmethod + def from_value(klass, name, value): + """Create an instance of a :class:`Field`, and set the corresponding + value - either None or an actual value. This method will also + finalize the Field itself. + + :param name: the name of the form field + :param value: the value of the form field - either a bytestring or + None + """ + + f = klass(name) + if value is None: + f.set_none() + else: + f.write(value) + f.finalize() + return f + + def write(self, data): + """Write some data into the form field. + + :param data: a bytestring + """ + return self.on_data(data) + + def on_data(self, data): + """This method is a callback that will be called whenever data is + written to the Field. + + :param data: a bytestring + """ + self._value.append(data) + self._cache = _missing + return len(data) + + def on_end(self): + """This method is called whenever the Field is finalized. + """ + if self._cache is _missing: + self._cache = b''.join(self._value) + + def finalize(self): + """Finalize the form field. + """ + self.on_end() + + def close(self): + """Close the Field object. This will free any underlying cache. + """ + # Free our value array. + if self._cache is _missing: + self._cache = b''.join(self._value) + + del self._value + + def set_none(self): + """Some fields in a querystring can possibly have a value of None - for + example, the string "foo&bar=&baz=asdf" will have a field with the + name "foo" and value None, one with name "bar" and value "", and one + with name "baz" and value "asdf". Since the write() interface doesn't + support writing None, this function will set the field value to None. + """ + self._cache = None + + @property + def field_name(self): + """This property returns the name of the field.""" + return self._name + + @property + def value(self): + """This property returns the value of the form field.""" + if self._cache is _missing: + self._cache = b''.join(self._value) + + return self._cache + + def __eq__(self, other): + if isinstance(other, Field): + return ( + self.field_name == other.field_name and + self.value == other.value + ) + else: + return NotImplemented + + def __repr__(self): + if len(self.value) > 97: + # We get the repr, and then insert three dots before the final + # quote. + v = repr(self.value[:97])[:-1] + "...'" + else: + v = repr(self.value) + + return "{}(field_name={!r}, value={})".format( + self.__class__.__name__, + self.field_name, + v + ) + + +class File: + """This class represents an uploaded file. It handles writing file data to + either an in-memory file or a temporary file on-disk, if the optional + threshold is passed. + + There are some options that can be passed to the File to change behavior + of the class. Valid options are as follows: + + .. list-table:: + :widths: 15 5 5 30 + :header-rows: 1 + + * - Name + - Type + - Default + - Description + * - UPLOAD_DIR + - `str` + - None + - The directory to store uploaded files in. If this is None, a + temporary file will be created in the system's standard location. + * - UPLOAD_DELETE_TMP + - `bool` + - True + - Delete automatically created TMP file + * - UPLOAD_KEEP_FILENAME + - `bool` + - False + - Whether or not to keep the filename of the uploaded file. If True, + then the filename will be converted to a safe representation (e.g. + by removing any invalid path segments), and then saved with the + same name). Otherwise, a temporary name will be used. + * - UPLOAD_KEEP_EXTENSIONS + - `bool` + - False + - Whether or not to keep the uploaded file's extension. If False, the + file will be saved with the default temporary extension (usually + ".tmp"). Otherwise, the file's extension will be maintained. Note + that this will properly combine with the UPLOAD_KEEP_FILENAME + setting. + * - MAX_MEMORY_FILE_SIZE + - `int` + - 1 MiB + - The maximum number of bytes of a File to keep in memory. By + default, the contents of a File are kept into memory until a certain + limit is reached, after which the contents of the File are written + to a temporary file. This behavior can be disabled by setting this + value to an appropriately large value (or, for example, infinity, + such as `float('inf')`. + + :param file_name: The name of the file that this :class:`File` represents + + :param field_name: The field name that uploaded this file. Note that this + can be None, if, for example, the file was uploaded + with Content-Type application/octet-stream + + :param config: The configuration for this File. See above for valid + configuration keys and their corresponding values. + """ + def __init__(self, file_name, field_name=None, config={}): + # Save configuration, set other variables default. + self.logger = logging.getLogger(__name__) + self._config = config + self._in_memory = True + self._bytes_written = 0 + self._fileobj = BytesIO() + + # Save the provided field/file name. + self._field_name = field_name + self._file_name = file_name + + # Our actual file name is None by default, since, depending on our + # config, we may not actually use the provided name. + self._actual_file_name = None + + # Split the extension from the filename. + if file_name is not None: + base, ext = os.path.splitext(file_name) + self._file_base = base + self._ext = ext + + @property + def field_name(self): + """The form field associated with this file. May be None if there isn't + one, for example when we have an application/octet-stream upload. + """ + return self._field_name + + @property + def file_name(self): + """The file name given in the upload request. + """ + return self._file_name + + @property + def actual_file_name(self): + """The file name that this file is saved as. Will be None if it's not + currently saved on disk. + """ + return self._actual_file_name + + @property + def file_object(self): + """The file object that we're currently writing to. Note that this + will either be an instance of a :class:`io.BytesIO`, or a regular file + object. + """ + return self._fileobj + + @property + def size(self): + """The total size of this file, counted as the number of bytes that + currently have been written to the file. + """ + return self._bytes_written + + @property + def in_memory(self): + """A boolean representing whether or not this file object is currently + stored in-memory or on-disk. + """ + return self._in_memory + + def flush_to_disk(self): + """If the file is already on-disk, do nothing. Otherwise, copy from + the in-memory buffer to a disk file, and then reassign our internal + file object to this new disk file. + + Note that if you attempt to flush a file that is already on-disk, a + warning will be logged to this module's logger. + """ + if not self._in_memory: + self.logger.warning( + "Trying to flush to disk when we're not in memory" + ) + return + + # Go back to the start of our file. + self._fileobj.seek(0) + + # Open a new file. + new_file = self._get_disk_file() + + # Copy the file objects. + shutil.copyfileobj(self._fileobj, new_file) + + # Seek to the new position in our new file. + new_file.seek(self._bytes_written) + + # Reassign the fileobject. + old_fileobj = self._fileobj + self._fileobj = new_file + + # We're no longer in memory. + self._in_memory = False + + # Close the old file object. + old_fileobj.close() + + def _get_disk_file(self): + """This function is responsible for getting a file object on-disk for us. + """ + self.logger.info("Opening a file on disk") + + file_dir = self._config.get('UPLOAD_DIR') + keep_filename = self._config.get('UPLOAD_KEEP_FILENAME', False) + keep_extensions = self._config.get('UPLOAD_KEEP_EXTENSIONS', False) + delete_tmp = self._config.get('UPLOAD_DELETE_TMP', True) + + # If we have a directory and are to keep the filename... + if file_dir is not None and keep_filename: + self.logger.info("Saving with filename in: %r", file_dir) + + # Build our filename. + # TODO: what happens if we don't have a filename? + fname = self._file_base + if keep_extensions: + fname = fname + self._ext + + path = os.path.join(file_dir, fname) + try: + self.logger.info("Opening file: %r", path) + tmp_file = open(path, 'w+b') + except OSError as e: + tmp_file = None + + self.logger.exception("Error opening temporary file") + raise FileError("Error opening temporary file: %r" % path) + else: + # Build options array. + # Note that on Python 3, tempfile doesn't support byte names. We + # encode our paths using the default filesystem encoding. + options = {} + if keep_extensions: + ext = self._ext + if isinstance(ext, bytes): + ext = ext.decode(sys.getfilesystemencoding()) + + options['suffix'] = ext + if file_dir is not None: + d = file_dir + if isinstance(d, bytes): + d = d.decode(sys.getfilesystemencoding()) + + options['dir'] = d + options['delete'] = delete_tmp + + # Create a temporary (named) file with the appropriate settings. + self.logger.info("Creating a temporary file with options: %r", + options) + try: + tmp_file = tempfile.NamedTemporaryFile(**options) + except OSError: + self.logger.exception("Error creating named temporary file") + raise FileError("Error creating named temporary file") + + fname = tmp_file.name + + # Encode filename as bytes. + if isinstance(fname, str): + fname = fname.encode(sys.getfilesystemencoding()) + + self._actual_file_name = fname + return tmp_file + + def write(self, data): + """Write some data to the File. + + :param data: a bytestring + """ + return self.on_data(data) + + def on_data(self, data): + """This method is a callback that will be called whenever data is + written to the File. + + :param data: a bytestring + """ + pos = self._fileobj.tell() + bwritten = self._fileobj.write(data) + # true file objects write returns None + if bwritten is None: + bwritten = self._fileobj.tell() - pos + + # If the bytes written isn't the same as the length, just return. + if bwritten != len(data): + self.logger.warning("bwritten != len(data) (%d != %d)", bwritten, + len(data)) + return bwritten + + # Keep track of how many bytes we've written. + self._bytes_written += bwritten + + # If we're in-memory and are over our limit, we create a file. + if (self._in_memory and + self._config.get('MAX_MEMORY_FILE_SIZE') is not None and + (self._bytes_written > + self._config.get('MAX_MEMORY_FILE_SIZE'))): + self.logger.info("Flushing to disk") + self.flush_to_disk() + + # Return the number of bytes written. + return bwritten + + def on_end(self): + """This method is called whenever the Field is finalized. + """ + # Flush the underlying file object + self._fileobj.flush() + + def finalize(self): + """Finalize the form file. This will not close the underlying file, + but simply signal that we are finished writing to the File. + """ + self.on_end() + + def close(self): + """Close the File object. This will actually close the underlying + file object (whether it's a :class:`io.BytesIO` or an actual file + object). + """ + self._fileobj.close() + + def __repr__(self): + return "{}(file_name={!r}, field_name={!r})".format( + self.__class__.__name__, + self.file_name, + self.field_name + ) + + +class BaseParser: + """This class is the base class for all parsers. It contains the logic for + calling and adding callbacks. + + A callback can be one of two different forms. "Notification callbacks" are + callbacks that are called when something happens - for example, when a new + part of a multipart message is encountered by the parser. "Data callbacks" + are called when we get some sort of data - for example, part of the body of + a multipart chunk. Notification callbacks are called with no parameters, + whereas data callbacks are called with three, as follows:: + + data_callback(data, start, end) + + The "data" parameter is a bytestring (i.e. "foo" on Python 2, or b"foo" on + Python 3). "start" and "end" are integer indexes into the "data" string + that represent the data of interest. Thus, in a data callback, the slice + `data[start:end]` represents the data that the callback is "interested in". + The callback is not passed a copy of the data, since copying severely hurts + performance. + """ + def __init__(self): + self.logger = logging.getLogger(__name__) + + def callback(self, name, data=None, start=None, end=None): + """This function calls a provided callback with some data. If the + callback is not set, will do nothing. + + :param name: The name of the callback to call (as a string). + + :param data: Data to pass to the callback. If None, then it is + assumed that the callback is a notification callback, + and no parameters are given. + + :param end: An integer that is passed to the data callback. + + :param start: An integer that is passed to the data callback. + """ + name = "on_" + name + func = self.callbacks.get(name) + if func is None: + return + + # Depending on whether we're given a buffer... + if data is not None: + # Don't do anything if we have start == end. + if start is not None and start == end: + return + + self.logger.debug("Calling %s with data[%d:%d]", name, start, end) + func(data, start, end) + else: + self.logger.debug("Calling %s with no data", name) + func() + + def set_callback(self, name, new_func): + """Update the function for a callback. Removes from the callbacks dict + if new_func is None. + + :param name: The name of the callback to call (as a string). + + :param new_func: The new function for the callback. If None, then the + callback will be removed (with no error if it does not + exist). + """ + if new_func is None: + self.callbacks.pop('on_' + name, None) + else: + self.callbacks['on_' + name] = new_func + + def close(self): + pass # pragma: no cover + + def finalize(self): + pass # pragma: no cover + + def __repr__(self): + return "%s()" % self.__class__.__name__ + + +class OctetStreamParser(BaseParser): + """This parser parses an octet-stream request body and calls callbacks when + incoming data is received. Callbacks are as follows: + + .. list-table:: + :widths: 15 10 30 + :header-rows: 1 + + * - Callback Name + - Parameters + - Description + * - on_start + - None + - Called when the first data is parsed. + * - on_data + - data, start, end + - Called for each data chunk that is parsed. + * - on_end + - None + - Called when the parser is finished parsing all data. + + :param callbacks: A dictionary of callbacks. See the documentation for + :class:`BaseParser`. + + :param max_size: The maximum size of body to parse. Defaults to infinity - + i.e. unbounded. + """ + def __init__(self, callbacks={}, max_size=float('inf')): + super().__init__() + self.callbacks = callbacks + self._started = False + + if not isinstance(max_size, Number) or max_size < 1: + raise ValueError("max_size must be a positive number, not %r" % + max_size) + self.max_size = max_size + self._current_size = 0 + + def write(self, data): + """Write some data to the parser, which will perform size verification, + and then pass the data to the underlying callback. + + :param data: a bytestring + """ + if not self._started: + self.callback('start') + self._started = True + + # Truncate data length. + data_len = len(data) + if (self._current_size + data_len) > self.max_size: + # We truncate the length of data that we are to process. + new_size = int(self.max_size - self._current_size) + self.logger.warning("Current size is %d (max %d), so truncating " + "data length from %d to %d", + self._current_size, self.max_size, data_len, + new_size) + data_len = new_size + + # Increment size, then callback, in case there's an exception. + self._current_size += data_len + self.callback('data', data, 0, data_len) + return data_len + + def finalize(self): + """Finalize this parser, which signals to that we are finished parsing, + and sends the on_end callback. + """ + self.callback('end') + + def __repr__(self): + return "%s()" % self.__class__.__name__ + + +class QuerystringParser(BaseParser): + """This is a streaming querystring parser. It will consume data, and call + the callbacks given when it has data. + + .. list-table:: + :widths: 15 10 30 + :header-rows: 1 + + * - Callback Name + - Parameters + - Description + * - on_field_start + - None + - Called when a new field is encountered. + * - on_field_name + - data, start, end + - Called when a portion of a field's name is encountered. + * - on_field_data + - data, start, end + - Called when a portion of a field's data is encountered. + * - on_field_end + - None + - Called when the end of a field is encountered. + * - on_end + - None + - Called when the parser is finished parsing all data. + + :param callbacks: A dictionary of callbacks. See the documentation for + :class:`BaseParser`. + + :param strict_parsing: Whether or not to parse the body strictly. Defaults + to False. If this is set to True, then the behavior + of the parser changes as the following: if a field + has a value with an equal sign (e.g. "foo=bar", or + "foo="), it is always included. If a field has no + equals sign (e.g. "...&name&..."), it will be + treated as an error if 'strict_parsing' is True, + otherwise included. If an error is encountered, + then a + :class:`multipart.exceptions.QuerystringParseError` + will be raised. + + :param max_size: The maximum size of body to parse. Defaults to infinity - + i.e. unbounded. + """ + def __init__(self, callbacks={}, strict_parsing=False, + max_size=float('inf')): + super().__init__() + self.state = STATE_BEFORE_FIELD + self._found_sep = False + + self.callbacks = callbacks + + # Max-size stuff + if not isinstance(max_size, Number) or max_size < 1: + raise ValueError("max_size must be a positive number, not %r" % + max_size) + self.max_size = max_size + self._current_size = 0 + + # Should parsing be strict? + self.strict_parsing = strict_parsing + + def write(self, data): + """Write some data to the parser, which will perform size verification, + parse into either a field name or value, and then pass the + corresponding data to the underlying callback. If an error is + encountered while parsing, a QuerystringParseError will be raised. The + "offset" attribute of the raised exception will be set to the offset in + the input data chunk (NOT the overall stream) that caused the error. + + :param data: a bytestring + """ + # Handle sizing. + data_len = len(data) + if (self._current_size + data_len) > self.max_size: + # We truncate the length of data that we are to process. + new_size = int(self.max_size - self._current_size) + self.logger.warning("Current size is %d (max %d), so truncating " + "data length from %d to %d", + self._current_size, self.max_size, data_len, + new_size) + data_len = new_size + + l = 0 + try: + l = self._internal_write(data, data_len) + finally: + self._current_size += l + + return l + + def _internal_write(self, data, length): + state = self.state + strict_parsing = self.strict_parsing + found_sep = self._found_sep + + i = 0 + while i < length: + ch = data[i] + + # Depending on our state... + if state == STATE_BEFORE_FIELD: + # If the 'found_sep' flag is set, we've already encountered + # and skipped a single separator. If so, we check our strict + # parsing flag and decide what to do. Otherwise, we haven't + # yet reached a separator, and thus, if we do, we need to skip + # it as it will be the boundary between fields that's supposed + # to be there. + if ch == AMPERSAND or ch == SEMICOLON: + if found_sep: + # If we're parsing strictly, we disallow blank chunks. + if strict_parsing: + e = QuerystringParseError( + "Skipping duplicate ampersand/semicolon at " + "%d" % i + ) + e.offset = i + raise e + else: + self.logger.debug("Skipping duplicate ampersand/" + "semicolon at %d", i) + else: + # This case is when we're skipping the (first) + # separator between fields, so we just set our flag + # and continue on. + found_sep = True + else: + # Emit a field-start event, and go to that state. Also, + # reset the "found_sep" flag, for the next time we get to + # this state. + self.callback('field_start') + i -= 1 + state = STATE_FIELD_NAME + found_sep = False + + elif state == STATE_FIELD_NAME: + # Try and find a separator - we ensure that, if we do, we only + # look for the equal sign before it. + sep_pos = data.find(b'&', i) + if sep_pos == -1: + sep_pos = data.find(b';', i) + + # See if we can find an equals sign in the remaining data. If + # so, we can immediately emit the field name and jump to the + # data state. + if sep_pos != -1: + equals_pos = data.find(b'=', i, sep_pos) + else: + equals_pos = data.find(b'=', i) + + if equals_pos != -1: + # Emit this name. + self.callback('field_name', data, i, equals_pos) + + # Jump i to this position. Note that it will then have 1 + # added to it below, which means the next iteration of this + # loop will inspect the character after the equals sign. + i = equals_pos + state = STATE_FIELD_DATA + else: + # No equals sign found. + if not strict_parsing: + # See also comments in the STATE_FIELD_DATA case below. + # If we found the separator, we emit the name and just + # end - there's no data callback at all (not even with + # a blank value). + if sep_pos != -1: + self.callback('field_name', data, i, sep_pos) + self.callback('field_end') + + i = sep_pos - 1 + state = STATE_BEFORE_FIELD + else: + # Otherwise, no separator in this block, so the + # rest of this chunk must be a name. + self.callback('field_name', data, i, length) + i = length + + else: + # We're parsing strictly. If we find a separator, + # this is an error - we require an equals sign. + if sep_pos != -1: + e = QuerystringParseError( + "When strict_parsing is True, we require an " + "equals sign in all field chunks. Did not " + "find one in the chunk that starts at %d" % + (i,) + ) + e.offset = i + raise e + + # No separator in the rest of this chunk, so it's just + # a field name. + self.callback('field_name', data, i, length) + i = length + + elif state == STATE_FIELD_DATA: + # Try finding either an ampersand or a semicolon after this + # position. + sep_pos = data.find(b'&', i) + if sep_pos == -1: + sep_pos = data.find(b';', i) + + # If we found it, callback this bit as data and then go back + # to expecting to find a field. + if sep_pos != -1: + self.callback('field_data', data, i, sep_pos) + self.callback('field_end') + + # Note that we go to the separator, which brings us to the + # "before field" state. This allows us to properly emit + # "field_start" events only when we actually have data for + # a field of some sort. + i = sep_pos - 1 + state = STATE_BEFORE_FIELD + + # Otherwise, emit the rest as data and finish. + else: + self.callback('field_data', data, i, length) + i = length + + else: # pragma: no cover (error case) + msg = "Reached an unknown state %d at %d" % (state, i) + self.logger.warning(msg) + e = QuerystringParseError(msg) + e.offset = i + raise e + + i += 1 + + self.state = state + self._found_sep = found_sep + return len(data) + + def finalize(self): + """Finalize this parser, which signals to that we are finished parsing, + if we're still in the middle of a field, an on_field_end callback, and + then the on_end callback. + """ + # If we're currently in the middle of a field, we finish it. + if self.state == STATE_FIELD_DATA: + self.callback('field_end') + self.callback('end') + + def __repr__(self): + return "{}(strict_parsing={!r}, max_size={!r})".format( + self.__class__.__name__, + self.strict_parsing, self.max_size + ) + + +class MultipartParser(BaseParser): + """This class is a streaming multipart/form-data parser. + + .. list-table:: + :widths: 15 10 30 + :header-rows: 1 + + * - Callback Name + - Parameters + - Description + * - on_part_begin + - None + - Called when a new part of the multipart message is encountered. + * - on_part_data + - data, start, end + - Called when a portion of a part's data is encountered. + * - on_part_end + - None + - Called when the end of a part is reached. + * - on_header_begin + - None + - Called when we've found a new header in a part of a multipart + message + * - on_header_field + - data, start, end + - Called each time an additional portion of a header is read (i.e. the + part of the header that is before the colon; the "Foo" in + "Foo: Bar"). + * - on_header_value + - data, start, end + - Called when we get data for a header. + * - on_header_end + - None + - Called when the current header is finished - i.e. we've reached the + newline at the end of the header. + * - on_headers_finished + - None + - Called when all headers are finished, and before the part data + starts. + * - on_end + - None + - Called when the parser is finished parsing all data. + + + :param boundary: The multipart boundary. This is required, and must match + what is given in the HTTP request - usually in the + Content-Type header. + + :param callbacks: A dictionary of callbacks. See the documentation for + :class:`BaseParser`. + + :param max_size: The maximum size of body to parse. Defaults to infinity - + i.e. unbounded. + """ + + def __init__(self, boundary, callbacks={}, max_size=float('inf')): + # Initialize parser state. + super().__init__() + self.state = STATE_START + self.index = self.flags = 0 + + self.callbacks = callbacks + + if not isinstance(max_size, Number) or max_size < 1: + raise ValueError("max_size must be a positive number, not %r" % + max_size) + self.max_size = max_size + self._current_size = 0 + + # Setup marks. These are used to track the state of data received. + self.marks = {} + + # TODO: Actually use this rather than the dumb version we currently use + # # Precompute the skip table for the Boyer-Moore-Horspool algorithm. + # skip = [len(boundary) for x in range(256)] + # for i in range(len(boundary) - 1): + # skip[ord_char(boundary[i])] = len(boundary) - i - 1 + # + # # We use a tuple since it's a constant, and marginally faster. + # self.skip = tuple(skip) + + # Save our boundary. + if isinstance(boundary, str): # pragma: no cover + boundary = boundary.encode('latin-1') + self.boundary = b'\r\n--' + boundary + + # Get a set of characters that belong to our boundary. + self.boundary_chars = frozenset(self.boundary) + + # We also create a lookbehind list. + # Note: the +8 is since we can have, at maximum, "\r\n--" + boundary + + # "--\r\n" at the final boundary, and the length of '\r\n--' and + # '--\r\n' is 8 bytes. + self.lookbehind = [NULL for x in range(len(boundary) + 8)] + + def write(self, data): + """Write some data to the parser, which will perform size verification, + and then parse the data into the appropriate location (e.g. header, + data, etc.), and pass this on to the underlying callback. If an error + is encountered, a MultipartParseError will be raised. The "offset" + attribute on the raised exception will be set to the offset of the byte + in the input chunk that caused the error. + + :param data: a bytestring + """ + # Handle sizing. + data_len = len(data) + if (self._current_size + data_len) > self.max_size: + # We truncate the length of data that we are to process. + new_size = int(self.max_size - self._current_size) + self.logger.warning("Current size is %d (max %d), so truncating " + "data length from %d to %d", + self._current_size, self.max_size, data_len, + new_size) + data_len = new_size + + l = 0 + try: + l = self._internal_write(data, data_len) + finally: + self._current_size += l + + return l + + def _internal_write(self, data, length): + # Get values from locals. + boundary = self.boundary + + # Get our state, flags and index. These are persisted between calls to + # this function. + state = self.state + index = self.index + flags = self.flags + + # Our index defaults to 0. + i = 0 + + # Set a mark. + def set_mark(name): + self.marks[name] = i + + # Remove a mark. + def delete_mark(name, reset=False): + self.marks.pop(name, None) + + # Helper function that makes calling a callback with data easier. The + # 'remaining' parameter will callback from the marked value until the + # end of the buffer, and reset the mark, instead of deleting it. This + # is used at the end of the function to call our callbacks with any + # remaining data in this chunk. + def data_callback(name, remaining=False): + marked_index = self.marks.get(name) + if marked_index is None: + return + + # If we're getting remaining data, we ignore the current i value + # and just call with the remaining data. + if remaining: + self.callback(name, data, marked_index, length) + self.marks[name] = 0 + + # Otherwise, we call it from the mark to the current byte we're + # processing. + else: + self.callback(name, data, marked_index, i) + self.marks.pop(name, None) + + # For each byte... + while i < length: + c = data[i] + + if state == STATE_START: + # Skip leading newlines + if c == CR or c == LF: + i += 1 + self.logger.debug("Skipping leading CR/LF at %d", i) + continue + + # index is used as in index into our boundary. Set to 0. + index = 0 + + # Move to the next state, but decrement i so that we re-process + # this character. + state = STATE_START_BOUNDARY + i -= 1 + + elif state == STATE_START_BOUNDARY: + # Check to ensure that the last 2 characters in our boundary + # are CRLF. + if index == len(boundary) - 2: + if c != CR: + # Error! + msg = "Did not find CR at end of boundary (%d)" % (i,) + self.logger.warning(msg) + e = MultipartParseError(msg) + e.offset = i + raise e + + index += 1 + + elif index == len(boundary) - 2 + 1: + if c != LF: + msg = "Did not find LF at end of boundary (%d)" % (i,) + self.logger.warning(msg) + e = MultipartParseError(msg) + e.offset = i + raise e + + # The index is now used for indexing into our boundary. + index = 0 + + # Callback for the start of a part. + self.callback('part_begin') + + # Move to the next character and state. + state = STATE_HEADER_FIELD_START + + else: + # Check to ensure our boundary matches + if c != boundary[index + 2]: + msg = "Did not find boundary character %r at index " \ + "%d" % (c, index + 2) + self.logger.warning(msg) + e = MultipartParseError(msg) + e.offset = i + raise e + + # Increment index into boundary and continue. + index += 1 + + elif state == STATE_HEADER_FIELD_START: + # Mark the start of a header field here, reset the index, and + # continue parsing our header field. + index = 0 + + # Set a mark of our header field. + set_mark('header_field') + + # Move to parsing header fields. + state = STATE_HEADER_FIELD + i -= 1 + + elif state == STATE_HEADER_FIELD: + # If we've reached a CR at the beginning of a header, it means + # that we've reached the second of 2 newlines, and so there are + # no more headers to parse. + if c == CR: + delete_mark('header_field') + state = STATE_HEADERS_ALMOST_DONE + i += 1 + continue + + # Increment our index in the header. + index += 1 + + # Do nothing if we encounter a hyphen. + if c == HYPHEN: + pass + + # If we've reached a colon, we're done with this header. + elif c == COLON: + # A 0-length header is an error. + if index == 1: + msg = "Found 0-length header at %d" % (i,) + self.logger.warning(msg) + e = MultipartParseError(msg) + e.offset = i + raise e + + # Call our callback with the header field. + data_callback('header_field') + + # Move to parsing the header value. + state = STATE_HEADER_VALUE_START + + else: + # Lower-case this character, and ensure that it is in fact + # a valid letter. If not, it's an error. + cl = lower_char(c) + if cl < LOWER_A or cl > LOWER_Z: + msg = "Found non-alphanumeric character %r in " \ + "header at %d" % (c, i) + self.logger.warning(msg) + e = MultipartParseError(msg) + e.offset = i + raise e + + elif state == STATE_HEADER_VALUE_START: + # Skip leading spaces. + if c == SPACE: + i += 1 + continue + + # Mark the start of the header value. + set_mark('header_value') + + # Move to the header-value state, reprocessing this character. + state = STATE_HEADER_VALUE + i -= 1 + + elif state == STATE_HEADER_VALUE: + # If we've got a CR, we're nearly done our headers. Otherwise, + # we do nothing and just move past this character. + if c == CR: + data_callback('header_value') + self.callback('header_end') + state = STATE_HEADER_VALUE_ALMOST_DONE + + elif state == STATE_HEADER_VALUE_ALMOST_DONE: + # The last character should be a LF. If not, it's an error. + if c != LF: + msg = "Did not find LF character at end of header " \ + "(found %r)" % (c,) + self.logger.warning(msg) + e = MultipartParseError(msg) + e.offset = i + raise e + + # Move back to the start of another header. Note that if that + # state detects ANOTHER newline, it'll trigger the end of our + # headers. + state = STATE_HEADER_FIELD_START + + elif state == STATE_HEADERS_ALMOST_DONE: + # We're almost done our headers. This is reached when we parse + # a CR at the beginning of a header, so our next character + # should be a LF, or it's an error. + if c != LF: + msg = f"Did not find LF at end of headers (found {c!r})" + self.logger.warning(msg) + e = MultipartParseError(msg) + e.offset = i + raise e + + self.callback('headers_finished') + state = STATE_PART_DATA_START + + elif state == STATE_PART_DATA_START: + # Mark the start of our part data. + set_mark('part_data') + + # Start processing part data, including this character. + state = STATE_PART_DATA + i -= 1 + + elif state == STATE_PART_DATA: + # We're processing our part data right now. During this, we + # need to efficiently search for our boundary, since any data + # on any number of lines can be a part of the current data. + # We use the Boyer-Moore-Horspool algorithm to efficiently + # search through the remainder of the buffer looking for our + # boundary. + + # Save the current value of our index. We use this in case we + # find part of a boundary, but it doesn't match fully. + prev_index = index + + # Set up variables. + boundary_length = len(boundary) + boundary_end = boundary_length - 1 + data_length = length + boundary_chars = self.boundary_chars + + # If our index is 0, we're starting a new part, so start our + # search. + if index == 0: + # Search forward until we either hit the end of our buffer, + # or reach a character that's in our boundary. + i += boundary_end + while i < data_length - 1 and data[i] not in boundary_chars: + i += boundary_length + + # Reset i back the length of our boundary, which is the + # earliest possible location that could be our match (i.e. + # if we've just broken out of our loop since we saw the + # last character in our boundary) + i -= boundary_end + c = data[i] + + # Now, we have a couple of cases here. If our index is before + # the end of the boundary... + if index < boundary_length: + # If the character matches... + if boundary[index] == c: + # If we found a match for our boundary, we send the + # existing data. + if index == 0: + data_callback('part_data') + + # The current character matches, so continue! + index += 1 + else: + index = 0 + + # Our index is equal to the length of our boundary! + elif index == boundary_length: + # First we increment it. + index += 1 + + # Now, if we've reached a newline, we need to set this as + # the potential end of our boundary. + if c == CR: + flags |= FLAG_PART_BOUNDARY + + # Otherwise, if this is a hyphen, we might be at the last + # of all boundaries. + elif c == HYPHEN: + flags |= FLAG_LAST_BOUNDARY + + # Otherwise, we reset our index, since this isn't either a + # newline or a hyphen. + else: + index = 0 + + # Our index is right after the part boundary, which should be + # a LF. + elif index == boundary_length + 1: + # If we're at a part boundary (i.e. we've seen a CR + # character already)... + if flags & FLAG_PART_BOUNDARY: + # We need a LF character next. + if c == LF: + # Unset the part boundary flag. + flags &= (~FLAG_PART_BOUNDARY) + + # Callback indicating that we've reached the end of + # a part, and are starting a new one. + self.callback('part_end') + self.callback('part_begin') + + # Move to parsing new headers. + index = 0 + state = STATE_HEADER_FIELD_START + i += 1 + continue + + # We didn't find an LF character, so no match. Reset + # our index and clear our flag. + index = 0 + flags &= (~FLAG_PART_BOUNDARY) + + # Otherwise, if we're at the last boundary (i.e. we've + # seen a hyphen already)... + elif flags & FLAG_LAST_BOUNDARY: + # We need a second hyphen here. + if c == HYPHEN: + # Callback to end the current part, and then the + # message. + self.callback('part_end') + self.callback('end') + state = STATE_END + else: + # No match, so reset index. + index = 0 + + # If we have an index, we need to keep this byte for later, in + # case we can't match the full boundary. + if index > 0: + self.lookbehind[index - 1] = c + + # Otherwise, our index is 0. If the previous index is not, it + # means we reset something, and we need to take the data we + # thought was part of our boundary and send it along as actual + # data. + elif prev_index > 0: + # Callback to write the saved data. + lb_data = join_bytes(self.lookbehind) + self.callback('part_data', lb_data, 0, prev_index) + + # Overwrite our previous index. + prev_index = 0 + + # Re-set our mark for part data. + set_mark('part_data') + + # Re-consider the current character, since this could be + # the start of the boundary itself. + i -= 1 + + elif state == STATE_END: + # Do nothing and just consume a byte in the end state. + if c not in (CR, LF): + self.logger.warning("Consuming a byte '0x%x' in the end state", c) + + else: # pragma: no cover (error case) + # We got into a strange state somehow! Just stop processing. + msg = "Reached an unknown state %d at %d" % (state, i) + self.logger.warning(msg) + e = MultipartParseError(msg) + e.offset = i + raise e + + # Move to the next byte. + i += 1 + + # We call our callbacks with any remaining data. Note that we pass + # the 'remaining' flag, which sets the mark back to 0 instead of + # deleting it, if it's found. This is because, if the mark is found + # at this point, we assume that there's data for one of these things + # that has been parsed, but not yet emitted. And, as such, it implies + # that we haven't yet reached the end of this 'thing'. So, by setting + # the mark to 0, we cause any data callbacks that take place in future + # calls to this function to start from the beginning of that buffer. + data_callback('header_field', True) + data_callback('header_value', True) + data_callback('part_data', True) + + # Save values to locals. + self.state = state + self.index = index + self.flags = flags + + # Return our data length to indicate no errors, and that we processed + # all of it. + return length + + def finalize(self): + """Finalize this parser, which signals to that we are finished parsing. + + Note: It does not currently, but in the future, it will verify that we + are in the final state of the parser (i.e. the end of the multipart + message is well-formed), and, if not, throw an error. + """ + # TODO: verify that we're in the state STATE_END, otherwise throw an + # error or otherwise state that we're not finished parsing. + pass + + def __repr__(self): + return f"{self.__class__.__name__}(boundary={self.boundary!r})" + + +class FormParser: + """This class is the all-in-one form parser. Given all the information + necessary to parse a form, it will instantiate the correct parser, create + the proper :class:`Field` and :class:`File` classes to store the data that + is parsed, and call the two given callbacks with each field and file as + they become available. + + :param content_type: The Content-Type of the incoming request. This is + used to select the appropriate parser. + + :param on_field: The callback to call when a field has been parsed and is + ready for usage. See above for parameters. + + :param on_file: The callback to call when a file has been parsed and is + ready for usage. See above for parameters. + + :param on_end: An optional callback to call when all fields and files in a + request has been parsed. Can be None. + + :param boundary: If the request is a multipart/form-data request, this + should be the boundary of the request, as given in the + Content-Type header, as a bytestring. + + :param file_name: If the request is of type application/octet-stream, then + the body of the request will not contain any information + about the uploaded file. In such cases, you can provide + the file name of the uploaded file manually. + + :param FileClass: The class to use for uploaded files. Defaults to + :class:`File`, but you can provide your own class if you + wish to customize behaviour. The class will be + instantiated as FileClass(file_name, field_name), and it + must provide the following functions:: + file_instance.write(data) + file_instance.finalize() + file_instance.close() + + :param FieldClass: The class to use for uploaded fields. Defaults to + :class:`Field`, but you can provide your own class if + you wish to customize behaviour. The class will be + instantiated as FieldClass(field_name), and it must + provide the following functions:: + field_instance.write(data) + field_instance.finalize() + field_instance.close() + + :param config: Configuration to use for this FormParser. The default + values are taken from the DEFAULT_CONFIG value, and then + any keys present in this dictionary will overwrite the + default values. + + """ + #: This is the default configuration for our form parser. + #: Note: all file sizes should be in bytes. + DEFAULT_CONFIG = { + 'MAX_BODY_SIZE': float('inf'), + 'MAX_MEMORY_FILE_SIZE': 1 * 1024 * 1024, + 'UPLOAD_DIR': None, + 'UPLOAD_KEEP_FILENAME': False, + 'UPLOAD_KEEP_EXTENSIONS': False, + + # Error on invalid Content-Transfer-Encoding? + 'UPLOAD_ERROR_ON_BAD_CTE': False, + } + + def __init__(self, content_type, on_field, on_file, on_end=None, + boundary=None, file_name=None, FileClass=File, + FieldClass=Field, config={}): + + self.logger = logging.getLogger(__name__) + + # Save variables. + self.content_type = content_type + self.boundary = boundary + self.bytes_received = 0 + self.parser = None + + # Save callbacks. + self.on_field = on_field + self.on_file = on_file + self.on_end = on_end + + # Save classes. + self.FileClass = File + self.FieldClass = Field + + # Set configuration options. + self.config = self.DEFAULT_CONFIG.copy() + self.config.update(config) + + # Depending on the Content-Type, we instantiate the correct parser. + if content_type == 'application/octet-stream': + # Work around the lack of 'nonlocal' in Py2 + class vars: + f = None + + def on_start(): + vars.f = FileClass(file_name, None, config=self.config) + + def on_data(data, start, end): + vars.f.write(data[start:end]) + + def on_end(): + # Finalize the file itself. + vars.f.finalize() + + # Call our callback. + on_file(vars.f) + + # Call the on-end callback. + if self.on_end is not None: + self.on_end() + + callbacks = { + 'on_start': on_start, + 'on_data': on_data, + 'on_end': on_end, + } + + # Instantiate an octet-stream parser + parser = OctetStreamParser(callbacks, + max_size=self.config['MAX_BODY_SIZE']) + + elif (content_type == 'application/x-www-form-urlencoded' or + content_type == 'application/x-url-encoded'): + + name_buffer = [] + + class vars: + f = None + + def on_field_start(): + pass + + def on_field_name(data, start, end): + name_buffer.append(data[start:end]) + + def on_field_data(data, start, end): + if vars.f is None: + vars.f = FieldClass(b''.join(name_buffer)) + del name_buffer[:] + vars.f.write(data[start:end]) + + def on_field_end(): + # Finalize and call callback. + if vars.f is None: + # If we get here, it's because there was no field data. + # We create a field, set it to None, and then continue. + vars.f = FieldClass(b''.join(name_buffer)) + del name_buffer[:] + vars.f.set_none() + + vars.f.finalize() + on_field(vars.f) + vars.f = None + + def on_end(): + if self.on_end is not None: + self.on_end() + + # Setup callbacks. + callbacks = { + 'on_field_start': on_field_start, + 'on_field_name': on_field_name, + 'on_field_data': on_field_data, + 'on_field_end': on_field_end, + 'on_end': on_end, + } + + # Instantiate parser. + parser = QuerystringParser( + callbacks=callbacks, + max_size=self.config['MAX_BODY_SIZE'] + ) + + elif content_type == 'multipart/form-data': + if boundary is None: + self.logger.error("No boundary given") + raise FormParserError("No boundary given") + + header_name = [] + header_value = [] + headers = {} + + # No 'nonlocal' on Python 2 :-( + class vars: + f = None + writer = None + is_file = False + + def on_part_begin(): + pass + + def on_part_data(data, start, end): + bytes_processed = vars.writer.write(data[start:end]) + # TODO: check for error here. + return bytes_processed + + def on_part_end(): + vars.f.finalize() + if vars.is_file: + on_file(vars.f) + else: + on_field(vars.f) + + def on_header_field(data, start, end): + header_name.append(data[start:end]) + + def on_header_value(data, start, end): + header_value.append(data[start:end]) + + def on_header_end(): + headers[b''.join(header_name)] = b''.join(header_value) + del header_name[:] + del header_value[:] + + def on_headers_finished(): + # Reset the 'is file' flag. + vars.is_file = False + + # Parse the content-disposition header. + # TODO: handle mixed case + content_disp = headers.get(b'Content-Disposition') + disp, options = parse_options_header(content_disp) + + # Get the field and filename. + field_name = options.get(b'name') + file_name = options.get(b'filename') + # TODO: check for errors + + # Create the proper class. + if file_name is None: + vars.f = FieldClass(field_name) + else: + vars.f = FileClass(file_name, field_name, config=self.config) + vars.is_file = True + + # Parse the given Content-Transfer-Encoding to determine what + # we need to do with the incoming data. + # TODO: check that we properly handle 8bit / 7bit encoding. + transfer_encoding = headers.get(b'Content-Transfer-Encoding', + b'7bit') + + if (transfer_encoding == b'binary' or + transfer_encoding == b'8bit' or + transfer_encoding == b'7bit'): + vars.writer = vars.f + + elif transfer_encoding == b'base64': + vars.writer = Base64Decoder(vars.f) + + elif transfer_encoding == b'quoted-printable': + vars.writer = QuotedPrintableDecoder(vars.f) + + else: + self.logger.warning("Unknown Content-Transfer-Encoding: " + "%r", transfer_encoding) + if self.config['UPLOAD_ERROR_ON_BAD_CTE']: + raise FormParserError( + 'Unknown Content-Transfer-Encoding "{}"'.format( + transfer_encoding + ) + ) + else: + # If we aren't erroring, then we just treat this as an + # unencoded Content-Transfer-Encoding. + vars.writer = vars.f + + def on_end(): + vars.writer.finalize() + if self.on_end is not None: + self.on_end() + + # These are our callbacks for the parser. + callbacks = { + 'on_part_begin': on_part_begin, + 'on_part_data': on_part_data, + 'on_part_end': on_part_end, + 'on_header_field': on_header_field, + 'on_header_value': on_header_value, + 'on_header_end': on_header_end, + 'on_headers_finished': on_headers_finished, + 'on_end': on_end, + } + + # Instantiate a multipart parser. + parser = MultipartParser(boundary, callbacks, + max_size=self.config['MAX_BODY_SIZE']) + + else: + self.logger.warning("Unknown Content-Type: %r", content_type) + raise FormParserError("Unknown Content-Type: {}".format( + content_type + )) + + self.parser = parser + + def write(self, data): + """Write some data. The parser will forward this to the appropriate + underlying parser. + + :param data: a bytestring + """ + self.bytes_received += len(data) + # TODO: check the parser's return value for errors? + return self.parser.write(data) + + def finalize(self): + """Finalize the parser.""" + if self.parser is not None and hasattr(self.parser, 'finalize'): + self.parser.finalize() + + def close(self): + """Close the parser.""" + if self.parser is not None and hasattr(self.parser, 'close'): + self.parser.close() + + def __repr__(self): + return "{}(content_type={!r}, parser={!r})".format( + self.__class__.__name__, + self.content_type, + self.parser, + ) + + +def create_form_parser(headers, on_field, on_file, trust_x_headers=False, + config={}): + """This function is a helper function to aid in creating a FormParser + instances. Given a dictionary-like headers object, it will determine + the correct information needed, instantiate a FormParser with the + appropriate values and given callbacks, and then return the corresponding + parser. + + :param headers: A dictionary-like object of HTTP headers. The only + required header is Content-Type. + + :param on_field: Callback to call with each parsed field. + + :param on_file: Callback to call with each parsed file. + + :param trust_x_headers: Whether or not to trust information received from + certain X-Headers - for example, the file name from + X-File-Name. + + :param config: Configuration variables to pass to the FormParser. + """ + content_type = headers.get('Content-Type') + if content_type is None: + logging.getLogger(__name__).warning("No Content-Type header given") + raise ValueError("No Content-Type header given!") + + # Boundaries are optional (the FormParser will raise if one is needed + # but not given). + content_type, params = parse_options_header(content_type) + boundary = params.get(b'boundary') + + # We need content_type to be a string, not a bytes object. + content_type = content_type.decode('latin-1') + + # File names are optional. + file_name = headers.get('X-File-Name') + + # Instantiate a form parser. + form_parser = FormParser(content_type, + on_field, + on_file, + boundary=boundary, + file_name=file_name, + config=config) + + # Return our parser. + return form_parser + + +def parse_form(headers, input_stream, on_field, on_file, chunk_size=1048576, + **kwargs): + """This function is useful if you just want to parse a request body, + without too much work. Pass it a dictionary-like object of the request's + headers, and a file-like object for the input stream, along with two + callbacks that will get called whenever a field or file is parsed. + + :param headers: A dictionary-like object of HTTP headers. The only + required header is Content-Type. + + :param input_stream: A file-like object that represents the request body. + The read() method must return bytestrings. + + :param on_field: Callback to call with each parsed field. + + :param on_file: Callback to call with each parsed file. + + :param chunk_size: The maximum size to read from the input stream and write + to the parser at one time. Defaults to 1 MiB. + """ + + # Create our form parser. + parser = create_form_parser(headers, on_field, on_file) + + # Read chunks of 100KiB and write to the parser, but never read more than + # the given Content-Length, if any. + content_length = headers.get('Content-Length') + if content_length is not None: + content_length = int(content_length) + else: + content_length = float('inf') + bytes_read = 0 + + while True: + # Read only up to the Content-Length given. + max_readable = min(content_length - bytes_read, 1048576) + buff = input_stream.read(max_readable) + + # Write to the parser and update our length. + parser.write(buff) + bytes_read += len(buff) + + # If we get a buffer that's smaller than the size requested, or if we + # have read up to our content length, we're done. + if len(buff) != max_readable or bytes_read == content_length: + break + + # Tell our parser that we're done writing data. + parser.finalize() diff --git a/venv/lib/python3.12/site-packages/kafka/benchmarks/__init__.py b/venv/lib/python3.12/site-packages/multipart/tests/__init__.py similarity index 100% rename from venv/lib/python3.12/site-packages/kafka/benchmarks/__init__.py rename to venv/lib/python3.12/site-packages/multipart/tests/__init__.py diff --git a/venv/lib/python3.12/site-packages/multipart/tests/compat.py b/venv/lib/python3.12/site-packages/multipart/tests/compat.py new file mode 100644 index 0000000..897188d --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/compat.py @@ -0,0 +1,133 @@ +import os +import re +import sys +import types +import functools + + +def ensure_in_path(path): + """ + Ensure that a given path is in the sys.path array + """ + if not os.path.isdir(path): + raise RuntimeError('Tried to add nonexisting path') + + def _samefile(x, y): + try: + return os.path.samefile(x, y) + except OSError: + return False + except AttributeError: + # Probably on Windows. + path1 = os.path.abspath(x).lower() + path2 = os.path.abspath(y).lower() + return path1 == path2 + + # Remove existing copies of it. + for pth in sys.path: + if _samefile(pth, path): + sys.path.remove(pth) + + # Add it at the beginning. + sys.path.insert(0, path) + + +# Check if pytest is imported. If so, we use it to create marking decorators. +# If not, we just create a function that does nothing. +try: + import pytest +except ImportError: + pytest = None + +if pytest is not None: + slow_test = pytest.mark.slow_test + xfail = pytest.mark.xfail + +else: + slow_test = lambda x: x + + def xfail(*args, **kwargs): + if len(args) > 0 and isinstance(args[0], types.FunctionType): + return args[0] + + return lambda x: x + + +# We don't use the pytest parametrizing function, since it seems to break +# with unittest.TestCase subclasses. +def parametrize(field_names, field_values): + # If we're not given a list of field names, we make it. + if not isinstance(field_names, (tuple, list)): + field_names = (field_names,) + field_values = [(val,) for val in field_values] + + # Create a decorator that saves this list of field names and values on the + # function for later parametrizing. + def decorator(func): + func.__dict__['param_names'] = field_names + func.__dict__['param_values'] = field_values + return func + + return decorator + + +# This is a metaclass that actually performs the parametrization. +class ParametrizingMetaclass(type): + IDENTIFIER_RE = re.compile('[^A-Za-z0-9]') + + def __new__(klass, name, bases, attrs): + new_attrs = attrs.copy() + for attr_name, attr in attrs.items(): + # We only care about functions + if not isinstance(attr, types.FunctionType): + continue + + param_names = attr.__dict__.pop('param_names', None) + param_values = attr.__dict__.pop('param_values', None) + if param_names is None or param_values is None: + continue + + # Create multiple copies of the function. + for i, values in enumerate(param_values): + assert len(param_names) == len(values) + + # Get a repr of the values, and fix it to be a valid identifier + human = '_'.join( + [klass.IDENTIFIER_RE.sub('', repr(x)) for x in values] + ) + + # Create a new name. + # new_name = attr.__name__ + "_%d" % i + new_name = attr.__name__ + "__" + human + + # Create a replacement function. + def create_new_func(func, names, values): + # Create a kwargs dictionary. + kwargs = dict(zip(names, values)) + + @functools.wraps(func) + def new_func(self): + return func(self, **kwargs) + + # Manually set the name and return the new function. + new_func.__name__ = new_name + return new_func + + # Actually create the new function. + new_func = create_new_func(attr, param_names, values) + + # Save this new function in our attrs dict. + new_attrs[new_name] = new_func + + # Remove the old attribute from our new dictionary. + del new_attrs[attr_name] + + # We create the class as normal, except we use our new attributes. + return type.__new__(klass, name, bases, new_attrs) + + +# This is a class decorator that actually applies the above metaclass. +def parametrize_class(klass): + return ParametrizingMetaclass(klass.__name__, + klass.__bases__, + klass.__dict__) diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header.http new file mode 100644 index 0000000..0c81dae --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header.http @@ -0,0 +1,5 @@ +------WebKitFormBoundaryTkr3kCBQlBe1nrhc +Content- isposition: form-data; name="field" + +This is a test. +------WebKitFormBoundaryTkr3kCBQlBe1nrhc-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header.yaml new file mode 100644 index 0000000..c9b55f2 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header.yaml @@ -0,0 +1,3 @@ +boundary: ----WebKitFormBoundaryTkr3kCBQlBe1nrhc +expected: + error: 51 diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header_value.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header_value.http new file mode 100644 index 0000000..f3dc834 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header_value.http @@ -0,0 +1,5 @@ +------WebKitFormBoundaryTkr3kCBQlBe1nrhc +Content-Disposition: form-data; n me="field" + +This is a test. +------WebKitFormBoundaryTkr3kCBQlBe1nrhc-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header_value.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header_value.yaml new file mode 100644 index 0000000..a6efa7d --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/CR_in_header_value.yaml @@ -0,0 +1,3 @@ +boundary: ----WebKitFormBoundaryTkr3kCBQlBe1nrhc +expected: + error: 76 diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary.http new file mode 100644 index 0000000..7d97e51 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary.http @@ -0,0 +1,13 @@ +----boundary +Content-Disposition: form-data; name="file"; filename="test.txt" +Content-Type: text/plain + +--boundari +--boundaryq--boundary q--boundarq +--bounaryd-- +--notbound-- +--mismatch +--mismatch-- +--boundary-Q +--boundary Q--boundaryQ +----boundary-- diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary.yaml new file mode 100644 index 0000000..235493e --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary.yaml @@ -0,0 +1,8 @@ +boundary: --boundary +expected: + - name: file + type: file + file_name: test.txt + data: !!binary | + LS1ib3VuZGFyaQ0KLS1ib3VuZGFyeXEtLWJvdW5kYXJ5DXEtLWJvdW5kYXJxDQotLWJvdW5hcnlkLS0NCi0tbm90Ym91bmQtLQ0KLS1taXNtYXRjaA0KLS1taXNtYXRjaC0tDQotLWJvdW5kYXJ5LVENCi0tYm91bmRhcnkNUS0tYm91bmRhcnlR + diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_CR.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_CR.http new file mode 100644 index 0000000..327cc9b --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_CR.http @@ -0,0 +1,6 @@ +----boundary +Content-Disposition: form-data; name="field" + +QQQQQQQQQQQQQQQQQQQQ +----boundaryQQQQQQQQQQQQQQQQQQQQ +----boundary-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_CR.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_CR.yaml new file mode 100644 index 0000000..921637f --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_CR.yaml @@ -0,0 +1,8 @@ +boundary: --boundary +expected: + - name: field + type: field + data: !!binary | + UVFRUVFRUVFRUVFRUVFRUVFRUVENCi0tLS1ib3VuZGFyeVFRUVFRUVFRUVFRUVFRUVFRUVFR + + diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_LF.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_LF.http new file mode 100644 index 0000000..e9a5a6c --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_LF.http @@ -0,0 +1,6 @@ +----boundary +Content-Disposition: form-data; name="field" + +QQQQQQQQQQQQQQQQQQQQ +----boundary QQQQQQQQQQQQQQQQQQQQ +----boundary-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_LF.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_LF.yaml new file mode 100644 index 0000000..7346e03 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_LF.yaml @@ -0,0 +1,8 @@ +boundary: --boundary +expected: + - name: field + type: field + data: !!binary | + UVFRUVFRUVFRUVFRUVFRUVFRUVENCi0tLS1ib3VuZGFyeQ1RUVFRUVFRUVFRUVFRUVFRUVFRUQ== + + diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_final_hyphen.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_final_hyphen.http new file mode 100644 index 0000000..9261f1b --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_final_hyphen.http @@ -0,0 +1,6 @@ +----boundary +Content-Disposition: form-data; name="field" + +QQQQQQQQQQQQQQQQQQQQ +----boundary-QQQQQQQQQQQQQQQQQQQQ +----boundary-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_final_hyphen.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_final_hyphen.yaml new file mode 100644 index 0000000..17133c9 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/almost_match_boundary_without_final_hyphen.yaml @@ -0,0 +1,8 @@ +boundary: --boundary +expected: + - name: field + type: field + data: !!binary | + UVFRUVFRUVFRUVFRUVFRUVFRUVENCi0tLS1ib3VuZGFyeS1RUVFRUVFRUVFRUVFRUVFRUVFRUQ== + + diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_end_of_headers.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_end_of_headers.http new file mode 100644 index 0000000..de14ae1 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_end_of_headers.http @@ -0,0 +1,4 @@ +------WebKitFormBoundaryTkr3kCBQlBe1nrhc +Content-Disposition: form-data; name="field" + QThis is a test. +------WebKitFormBoundaryTkr3kCBQlBe1nrhc-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_end_of_headers.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_end_of_headers.yaml new file mode 100644 index 0000000..5fc1ec0 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_end_of_headers.yaml @@ -0,0 +1,3 @@ +boundary: ----WebKitFormBoundaryTkr3kCBQlBe1nrhc +expected: + error: 89 diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_header_char.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_header_char.http new file mode 100644 index 0000000..b90d00d --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_header_char.http @@ -0,0 +1,5 @@ +------WebKitFormBoundaryTkr3kCBQlBe1nrhc +Content-999position: form-data; name="field" + +This is a test. +------WebKitFormBoundaryTkr3kCBQlBe1nrhc-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_header_char.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_header_char.yaml new file mode 100644 index 0000000..9d5f62a --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_header_char.yaml @@ -0,0 +1,3 @@ +boundary: ----WebKitFormBoundaryTkr3kCBQlBe1nrhc +expected: + error: 50 diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_initial_boundary.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_initial_boundary.http new file mode 100644 index 0000000..6aab9da --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_initial_boundary.http @@ -0,0 +1,5 @@ +------WebQitFormBoundaryTkr3kCBQlBe1nrhc +Content-Disposition: form-data; name="field" + +This is a test. +------WebKitFormBoundaryTkr3kCBQlBe1nrhc-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_initial_boundary.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_initial_boundary.yaml new file mode 100644 index 0000000..ffa4eb7 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/bad_initial_boundary.yaml @@ -0,0 +1,3 @@ +boundary: ----WebKitFormBoundaryTkr3kCBQlBe1nrhc +expected: + error: 9 diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/base64_encoding.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/base64_encoding.http new file mode 100644 index 0000000..3d2980f --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/base64_encoding.http @@ -0,0 +1,7 @@ +----boundary +Content-Disposition: form-data; name="file"; filename="test.txt" +Content-Type: text/plain +Content-Transfer-Encoding: base64 + +VGVzdCAxMjM= +----boundary-- diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/base64_encoding.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/base64_encoding.yaml new file mode 100644 index 0000000..1033150 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/base64_encoding.yaml @@ -0,0 +1,7 @@ +boundary: --boundary +expected: + - name: file + type: file + file_name: test.txt + data: !!binary | + VGVzdCAxMjM= diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/empty_header.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/empty_header.http new file mode 100644 index 0000000..bd593f4 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/empty_header.http @@ -0,0 +1,5 @@ +------WebKitFormBoundaryTkr3kCBQlBe1nrhc +: form-data; name="field" + +This is a test. +------WebKitFormBoundaryTkr3kCBQlBe1nrhc-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/empty_header.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/empty_header.yaml new file mode 100644 index 0000000..574ed4c --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/empty_header.yaml @@ -0,0 +1,3 @@ +boundary: ----WebKitFormBoundaryTkr3kCBQlBe1nrhc +expected: + error: 42 diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_fields.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_fields.http new file mode 100644 index 0000000..4f13037 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_fields.http @@ -0,0 +1,9 @@ +------WebKitFormBoundaryTkr3kCBQlBe1nrhc +Content-Disposition: form-data; name="field1" + +field1 +------WebKitFormBoundaryTkr3kCBQlBe1nrhc +Content-Disposition: form-data; name="field2" + +field2 +------WebKitFormBoundaryTkr3kCBQlBe1nrhc-- diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_fields.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_fields.yaml new file mode 100644 index 0000000..cb2c2d6 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_fields.yaml @@ -0,0 +1,10 @@ +boundary: ----WebKitFormBoundaryTkr3kCBQlBe1nrhc +expected: + - name: field1 + type: field + data: !!binary | + ZmllbGQx + - name: field2 + type: field + data: !!binary | + ZmllbGQy diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_files.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_files.http new file mode 100644 index 0000000..fd2e468 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_files.http @@ -0,0 +1,11 @@ +------WebKitFormBoundarygbACTUR58IyeurVf +Content-Disposition: form-data; name="file1"; filename="test1.txt" +Content-Type: text/plain + +Test file #1 +------WebKitFormBoundarygbACTUR58IyeurVf +Content-Disposition: form-data; name="file2"; filename="test2.txt" +Content-Type: text/plain + +Test file #2 +------WebKitFormBoundarygbACTUR58IyeurVf-- diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_files.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_files.yaml new file mode 100644 index 0000000..3bf70e2 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/multiple_files.yaml @@ -0,0 +1,13 @@ +boundary: ----WebKitFormBoundarygbACTUR58IyeurVf +expected: + - name: file1 + type: file + file_name: test1.txt + data: !!binary | + VGVzdCBmaWxlICMx + - name: file2 + type: file + file_name: test2.txt + data: !!binary | + VGVzdCBmaWxlICMy + diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/quoted_printable_encoding.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/quoted_printable_encoding.http new file mode 100644 index 0000000..09e555a --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/quoted_printable_encoding.http @@ -0,0 +1,7 @@ +----boundary +Content-Disposition: form-data; name="file"; filename="test.txt" +Content-Type: text/plain +Content-Transfer-Encoding: quoted-printable + +foo=3Dbar +----boundary-- diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/quoted_printable_encoding.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/quoted_printable_encoding.yaml new file mode 100644 index 0000000..2c6bbfb --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/quoted_printable_encoding.yaml @@ -0,0 +1,7 @@ +boundary: --boundary +expected: + - name: file + type: file + file_name: test.txt + data: !!binary | + Zm9vPWJhcg== diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field.http new file mode 100644 index 0000000..8b90b73 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field.http @@ -0,0 +1,5 @@ +------WebKitFormBoundaryTkr3kCBQlBe1nrhc +Content-Disposition: form-data; name="field" + +This is a test. +------WebKitFormBoundaryTkr3kCBQlBe1nrhc-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field.yaml new file mode 100644 index 0000000..7690f08 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field.yaml @@ -0,0 +1,6 @@ +boundary: ----WebKitFormBoundaryTkr3kCBQlBe1nrhc +expected: + - name: field + type: field + data: !!binary | + VGhpcyBpcyBhIHRlc3Qu diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_blocks.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_blocks.http new file mode 100644 index 0000000..5a61d83 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_blocks.http @@ -0,0 +1,5 @@ +--boundary +Content-Disposition: form-data; name="field" + +0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ +--boundary-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_blocks.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_blocks.yaml new file mode 100644 index 0000000..efb1b32 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_blocks.yaml @@ -0,0 +1,6 @@ +boundary: --boundary +expected: + - name: field + type: field + data: !!binary | + MDEyMzQ1Njc4OUFCQ0RFRkdISUowMTIzNDU2Nzg5QUJDREVGR0hJSg== diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_longer.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_longer.http new file mode 100644 index 0000000..46bd7e1 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_longer.http @@ -0,0 +1,5 @@ +------WebKitFormBoundaryTkr3kCBQlBe1nrhc +Content-Disposition: form-data; name="field" + +qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq +------WebKitFormBoundaryTkr3kCBQlBe1nrhc-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_longer.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_longer.yaml new file mode 100644 index 0000000..5a11840 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_longer.yaml @@ -0,0 +1,6 @@ +boundary: ----WebKitFormBoundaryTkr3kCBQlBe1nrhc +expected: + - name: field + type: field + data: !!binary | + cXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXE= diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_single_file.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_single_file.http new file mode 100644 index 0000000..34a822b --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_single_file.http @@ -0,0 +1,10 @@ +--boundary +Content-Disposition: form-data; name="field" + +test1 +--boundary +Content-Disposition: form-data; name="file"; filename="file.txt" +Content-Type: text/plain + +test2 +--boundary-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_single_file.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_single_file.yaml new file mode 100644 index 0000000..47c8d6e --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_single_file.yaml @@ -0,0 +1,13 @@ +boundary: boundary +expected: + - name: field + type: field + data: !!binary | + dGVzdDE= + - name: file + type: file + file_name: file.txt + data: !!binary | + dGVzdDI= + + diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_with_leading_newlines.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_with_leading_newlines.http new file mode 100644 index 0000000..10ebc2e --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_with_leading_newlines.http @@ -0,0 +1,7 @@ + + +------WebKitFormBoundaryTkr3kCBQlBe1nrhc +Content-Disposition: form-data; name="field" + +This is a test. +------WebKitFormBoundaryTkr3kCBQlBe1nrhc-- \ No newline at end of file diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_with_leading_newlines.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_with_leading_newlines.yaml new file mode 100644 index 0000000..7690f08 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_field_with_leading_newlines.yaml @@ -0,0 +1,6 @@ +boundary: ----WebKitFormBoundaryTkr3kCBQlBe1nrhc +expected: + - name: field + type: field + data: !!binary | + VGhpcyBpcyBhIHRlc3Qu diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_file.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_file.http new file mode 100644 index 0000000..104bfd0 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_file.http @@ -0,0 +1,6 @@ +------WebKitFormBoundary5BZGOJCWtXGYC9HW +Content-Disposition: form-data; name="file"; filename="test.txt" +Content-Type: text/plain + +This is a test file. +------WebKitFormBoundary5BZGOJCWtXGYC9HW-- diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_file.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_file.yaml new file mode 100644 index 0000000..2a8e005 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/single_file.yaml @@ -0,0 +1,8 @@ +boundary: ----WebKitFormBoundary5BZGOJCWtXGYC9HW +expected: + - name: file + type: file + file_name: test.txt + data: !!binary | + VGhpcyBpcyBhIHRlc3QgZmlsZS4= + diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/utf8_filename.http b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/utf8_filename.http new file mode 100644 index 0000000..c26df08 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/utf8_filename.http @@ -0,0 +1,6 @@ +------WebKitFormBoundaryI9SCEFp2lpx5DR2K +Content-Disposition: form-data; name="file"; filename="???.txt" +Content-Type: text/plain + +これはテストです。 +------WebKitFormBoundaryI9SCEFp2lpx5DR2K-- diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/utf8_filename.yaml b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/utf8_filename.yaml new file mode 100644 index 0000000..507ba2c --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_data/http/utf8_filename.yaml @@ -0,0 +1,8 @@ +boundary: ----WebKitFormBoundaryI9SCEFp2lpx5DR2K +expected: + - name: file + type: file + file_name: ???.txt + data: !!binary | + 44GT44KM44Gv44OG44K544OI44Gn44GZ44CC + diff --git a/venv/lib/python3.12/site-packages/multipart/tests/test_multipart.py b/venv/lib/python3.12/site-packages/multipart/tests/test_multipart.py new file mode 100644 index 0000000..089f451 --- /dev/null +++ b/venv/lib/python3.12/site-packages/multipart/tests/test_multipart.py @@ -0,0 +1,1305 @@ +import os +import sys +import glob +import yaml +import base64 +import random +import tempfile +import unittest +from .compat import ( + parametrize, + parametrize_class, + slow_test, +) +from io import BytesIO +from unittest.mock import MagicMock, Mock, patch + +from ..multipart import * + + +# Get the current directory for our later test cases. +curr_dir = os.path.abspath(os.path.dirname(__file__)) + + +def force_bytes(val): + if isinstance(val, str): + val = val.encode(sys.getfilesystemencoding()) + + return val + + +class TestField(unittest.TestCase): + def setUp(self): + self.f = Field('foo') + + def test_name(self): + self.assertEqual(self.f.field_name, 'foo') + + def test_data(self): + self.f.write(b'test123') + self.assertEqual(self.f.value, b'test123') + + def test_cache_expiration(self): + self.f.write(b'test') + self.assertEqual(self.f.value, b'test') + self.f.write(b'123') + self.assertEqual(self.f.value, b'test123') + + def test_finalize(self): + self.f.write(b'test123') + self.f.finalize() + self.assertEqual(self.f.value, b'test123') + + def test_close(self): + self.f.write(b'test123') + self.f.close() + self.assertEqual(self.f.value, b'test123') + + def test_from_value(self): + f = Field.from_value(b'name', b'value') + self.assertEqual(f.field_name, b'name') + self.assertEqual(f.value, b'value') + + f2 = Field.from_value(b'name', None) + self.assertEqual(f2.value, None) + + def test_equality(self): + f1 = Field.from_value(b'name', b'value') + f2 = Field.from_value(b'name', b'value') + + self.assertEqual(f1, f2) + + def test_equality_with_other(self): + f = Field.from_value(b'foo', b'bar') + self.assertFalse(f == b'foo') + self.assertFalse(b'foo' == f) + + def test_set_none(self): + f = Field(b'foo') + self.assertEqual(f.value, b'') + + f.set_none() + self.assertEqual(f.value, None) + + +class TestFile(unittest.TestCase): + def setUp(self): + self.c = {} + self.d = force_bytes(tempfile.mkdtemp()) + self.f = File(b'foo.txt', config=self.c) + + def assert_data(self, data): + f = self.f.file_object + f.seek(0) + self.assertEqual(f.read(), data) + f.seek(0) + f.truncate() + + def assert_exists(self): + full_path = os.path.join(self.d, self.f.actual_file_name) + self.assertTrue(os.path.exists(full_path)) + + def test_simple(self): + self.f.write(b'foobar') + self.assert_data(b'foobar') + + def test_invalid_write(self): + m = Mock() + m.write.return_value = 5 + self.f._fileobj = m + v = self.f.write(b'foobar') + self.assertEqual(v, 5) + + def test_file_fallback(self): + self.c['MAX_MEMORY_FILE_SIZE'] = 1 + + self.f.write(b'1') + self.assertTrue(self.f.in_memory) + self.assert_data(b'1') + + self.f.write(b'123') + self.assertFalse(self.f.in_memory) + self.assert_data(b'123') + + # Test flushing too. + old_obj = self.f.file_object + self.f.flush_to_disk() + self.assertFalse(self.f.in_memory) + self.assertIs(self.f.file_object, old_obj) + + def test_file_fallback_with_data(self): + self.c['MAX_MEMORY_FILE_SIZE'] = 10 + + self.f.write(b'1' * 10) + self.assertTrue(self.f.in_memory) + + self.f.write(b'2' * 10) + self.assertFalse(self.f.in_memory) + + self.assert_data(b'11111111112222222222') + + def test_file_name(self): + # Write to this dir. + self.c['UPLOAD_DIR'] = self.d + self.c['MAX_MEMORY_FILE_SIZE'] = 10 + + # Write. + self.f.write(b'12345678901') + self.assertFalse(self.f.in_memory) + + # Assert that the file exists + self.assertIsNotNone(self.f.actual_file_name) + self.assert_exists() + + def test_file_full_name(self): + # Write to this dir. + self.c['UPLOAD_DIR'] = self.d + self.c['UPLOAD_KEEP_FILENAME'] = True + self.c['MAX_MEMORY_FILE_SIZE'] = 10 + + # Write. + self.f.write(b'12345678901') + self.assertFalse(self.f.in_memory) + + # Assert that the file exists + self.assertEqual(self.f.actual_file_name, b'foo') + self.assert_exists() + + def test_file_full_name_with_ext(self): + self.c['UPLOAD_DIR'] = self.d + self.c['UPLOAD_KEEP_FILENAME'] = True + self.c['UPLOAD_KEEP_EXTENSIONS'] = True + self.c['MAX_MEMORY_FILE_SIZE'] = 10 + + # Write. + self.f.write(b'12345678901') + self.assertFalse(self.f.in_memory) + + # Assert that the file exists + self.assertEqual(self.f.actual_file_name, b'foo.txt') + self.assert_exists() + + def test_file_full_name_with_ext(self): + self.c['UPLOAD_DIR'] = self.d + self.c['UPLOAD_KEEP_FILENAME'] = True + self.c['UPLOAD_KEEP_EXTENSIONS'] = True + self.c['MAX_MEMORY_FILE_SIZE'] = 10 + + # Write. + self.f.write(b'12345678901') + self.assertFalse(self.f.in_memory) + + # Assert that the file exists + self.assertEqual(self.f.actual_file_name, b'foo.txt') + self.assert_exists() + + def test_no_dir_with_extension(self): + self.c['UPLOAD_KEEP_EXTENSIONS'] = True + self.c['MAX_MEMORY_FILE_SIZE'] = 10 + + # Write. + self.f.write(b'12345678901') + self.assertFalse(self.f.in_memory) + + # Assert that the file exists + ext = os.path.splitext(self.f.actual_file_name)[1] + self.assertEqual(ext, b'.txt') + self.assert_exists() + + def test_invalid_dir_with_name(self): + # Write to this dir. + self.c['UPLOAD_DIR'] = force_bytes(os.path.join('/', 'tmp', 'notexisting')) + self.c['UPLOAD_KEEP_FILENAME'] = True + self.c['MAX_MEMORY_FILE_SIZE'] = 5 + + # Write. + with self.assertRaises(FileError): + self.f.write(b'1234567890') + + def test_invalid_dir_no_name(self): + # Write to this dir. + self.c['UPLOAD_DIR'] = force_bytes(os.path.join('/', 'tmp', 'notexisting')) + self.c['UPLOAD_KEEP_FILENAME'] = False + self.c['MAX_MEMORY_FILE_SIZE'] = 5 + + # Write. + with self.assertRaises(FileError): + self.f.write(b'1234567890') + + # TODO: test uploading two files with the same name. + + +class TestParseOptionsHeader(unittest.TestCase): + def test_simple(self): + t, p = parse_options_header('application/json') + self.assertEqual(t, b'application/json') + self.assertEqual(p, {}) + + def test_blank(self): + t, p = parse_options_header('') + self.assertEqual(t, b'') + self.assertEqual(p, {}) + + def test_single_param(self): + t, p = parse_options_header('application/json;par=val') + self.assertEqual(t, b'application/json') + self.assertEqual(p, {b'par': b'val'}) + + def test_single_param_with_spaces(self): + t, p = parse_options_header(b'application/json; par=val') + self.assertEqual(t, b'application/json') + self.assertEqual(p, {b'par': b'val'}) + + def test_multiple_params(self): + t, p = parse_options_header(b'application/json;par=val;asdf=foo') + self.assertEqual(t, b'application/json') + self.assertEqual(p, {b'par': b'val', b'asdf': b'foo'}) + + def test_quoted_param(self): + t, p = parse_options_header(b'application/json;param="quoted"') + self.assertEqual(t, b'application/json') + self.assertEqual(p, {b'param': b'quoted'}) + + def test_quoted_param_with_semicolon(self): + t, p = parse_options_header(b'application/json;param="quoted;with;semicolons"') + self.assertEqual(p[b'param'], b'quoted;with;semicolons') + + def test_quoted_param_with_escapes(self): + t, p = parse_options_header(b'application/json;param="This \\" is \\" a \\" quote"') + self.assertEqual(p[b'param'], b'This " is " a " quote') + + def test_handles_ie6_bug(self): + t, p = parse_options_header(b'text/plain; filename="C:\\this\\is\\a\\path\\file.txt"') + + self.assertEqual(p[b'filename'], b'file.txt') + + +class TestBaseParser(unittest.TestCase): + def setUp(self): + self.b = BaseParser() + self.b.callbacks = {} + + def test_callbacks(self): + # The stupid list-ness is to get around lack of nonlocal on py2 + l = [0] + def on_foo(): + l[0] += 1 + + self.b.set_callback('foo', on_foo) + self.b.callback('foo') + self.assertEqual(l[0], 1) + + self.b.set_callback('foo', None) + self.b.callback('foo') + self.assertEqual(l[0], 1) + + +class TestQuerystringParser(unittest.TestCase): + def assert_fields(self, *args, **kwargs): + if kwargs.pop('finalize', True): + self.p.finalize() + + self.assertEqual(self.f, list(args)) + if kwargs.get('reset', True): + self.f = [] + + def setUp(self): + self.reset() + + def reset(self): + self.f = [] + + name_buffer = [] + data_buffer = [] + + def on_field_name(data, start, end): + name_buffer.append(data[start:end]) + + def on_field_data(data, start, end): + data_buffer.append(data[start:end]) + + def on_field_end(): + self.f.append(( + b''.join(name_buffer), + b''.join(data_buffer) + )) + + del name_buffer[:] + del data_buffer[:] + + callbacks = { + 'on_field_name': on_field_name, + 'on_field_data': on_field_data, + 'on_field_end': on_field_end + } + + self.p = QuerystringParser(callbacks) + + def test_simple_querystring(self): + self.p.write(b'foo=bar') + + self.assert_fields((b'foo', b'bar')) + + def test_querystring_blank_beginning(self): + self.p.write(b'&foo=bar') + + self.assert_fields((b'foo', b'bar')) + + def test_querystring_blank_end(self): + self.p.write(b'foo=bar&') + + self.assert_fields((b'foo', b'bar')) + + def test_multiple_querystring(self): + self.p.write(b'foo=bar&asdf=baz') + + self.assert_fields( + (b'foo', b'bar'), + (b'asdf', b'baz') + ) + + def test_streaming_simple(self): + self.p.write(b'foo=bar&') + self.assert_fields( + (b'foo', b'bar'), + finalize=False + ) + + self.p.write(b'asdf=baz') + self.assert_fields( + (b'asdf', b'baz') + ) + + def test_streaming_break(self): + self.p.write(b'foo=one') + self.assert_fields(finalize=False) + + self.p.write(b'two') + self.assert_fields(finalize=False) + + self.p.write(b'three') + self.assert_fields(finalize=False) + + self.p.write(b'&asd') + self.assert_fields( + (b'foo', b'onetwothree'), + finalize=False + ) + + self.p.write(b'f=baz') + self.assert_fields( + (b'asdf', b'baz') + ) + + def test_semicolon_separator(self): + self.p.write(b'foo=bar;asdf=baz') + + self.assert_fields( + (b'foo', b'bar'), + (b'asdf', b'baz') + ) + + def test_too_large_field(self): + self.p.max_size = 15 + + # Note: len = 8 + self.p.write(b"foo=bar&") + self.assert_fields((b'foo', b'bar'), finalize=False) + + # Note: len = 8, only 7 bytes processed + self.p.write(b'a=123456') + self.assert_fields((b'a', b'12345')) + + def test_invalid_max_size(self): + with self.assertRaises(ValueError): + p = QuerystringParser(max_size=-100) + + def test_strict_parsing_pass(self): + data = b'foo=bar&another=asdf' + for first, last in split_all(data): + self.reset() + self.p.strict_parsing = True + + print(f"{first!r} / {last!r}") + + self.p.write(first) + self.p.write(last) + self.assert_fields((b'foo', b'bar'), (b'another', b'asdf')) + + def test_strict_parsing_fail_double_sep(self): + data = b'foo=bar&&another=asdf' + for first, last in split_all(data): + self.reset() + self.p.strict_parsing = True + + cnt = 0 + with self.assertRaises(QuerystringParseError) as cm: + cnt += self.p.write(first) + cnt += self.p.write(last) + self.p.finalize() + + # The offset should occur at 8 bytes into the data (as a whole), + # so we calculate the offset into the chunk. + if cm is not None: + self.assertEqual(cm.exception.offset, 8 - cnt) + + def test_double_sep(self): + data = b'foo=bar&&another=asdf' + for first, last in split_all(data): + print(f" {first!r} / {last!r} ") + self.reset() + + cnt = 0 + cnt += self.p.write(first) + cnt += self.p.write(last) + + self.assert_fields((b'foo', b'bar'), (b'another', b'asdf')) + + def test_strict_parsing_fail_no_value(self): + self.p.strict_parsing = True + with self.assertRaises(QuerystringParseError) as cm: + self.p.write(b'foo=bar&blank&another=asdf') + + if cm is not None: + self.assertEqual(cm.exception.offset, 8) + + def test_success_no_value(self): + self.p.write(b'foo=bar&blank&another=asdf') + self.assert_fields( + (b'foo', b'bar'), + (b'blank', b''), + (b'another', b'asdf') + ) + + def test_repr(self): + # Issue #29; verify we don't assert on repr() + _ignored = repr(self.p) + + +class TestOctetStreamParser(unittest.TestCase): + def setUp(self): + self.d = [] + self.started = 0 + self.finished = 0 + + def on_start(): + self.started += 1 + + def on_data(data, start, end): + self.d.append(data[start:end]) + + def on_end(): + self.finished += 1 + + callbacks = { + 'on_start': on_start, + 'on_data': on_data, + 'on_end': on_end + } + + self.p = OctetStreamParser(callbacks) + + def assert_data(self, data, finalize=True): + self.assertEqual(b''.join(self.d), data) + self.d = [] + + def assert_started(self, val=True): + if val: + self.assertEqual(self.started, 1) + else: + self.assertEqual(self.started, 0) + + def assert_finished(self, val=True): + if val: + self.assertEqual(self.finished, 1) + else: + self.assertEqual(self.finished, 0) + + def test_simple(self): + # Assert is not started + self.assert_started(False) + + # Write something, it should then be started + have data + self.p.write(b'foobar') + self.assert_started() + self.assert_data(b'foobar') + + # Finalize, and check + self.assert_finished(False) + self.p.finalize() + self.assert_finished() + + def test_multiple_chunks(self): + self.p.write(b'foo') + self.p.write(b'bar') + self.p.write(b'baz') + self.p.finalize() + + self.assert_data(b'foobarbaz') + self.assert_finished() + + def test_max_size(self): + self.p.max_size = 5 + + self.p.write(b'0123456789') + self.p.finalize() + + self.assert_data(b'01234') + self.assert_finished() + + def test_invalid_max_size(self): + with self.assertRaises(ValueError): + q = OctetStreamParser(max_size='foo') + + +class TestBase64Decoder(unittest.TestCase): + # Note: base64('foobar') == 'Zm9vYmFy' + def setUp(self): + self.f = BytesIO() + self.d = Base64Decoder(self.f) + + def assert_data(self, data, finalize=True): + if finalize: + self.d.finalize() + + self.f.seek(0) + self.assertEqual(self.f.read(), data) + self.f.seek(0) + self.f.truncate() + + def test_simple(self): + self.d.write(b'Zm9vYmFy') + self.assert_data(b'foobar') + + def test_bad(self): + with self.assertRaises(DecodeError): + self.d.write(b'Zm9v!mFy') + + def test_split_properly(self): + self.d.write(b'Zm9v') + self.d.write(b'YmFy') + self.assert_data(b'foobar') + + def test_bad_split(self): + buff = b'Zm9v' + for i in range(1, 4): + first, second = buff[:i], buff[i:] + + self.setUp() + self.d.write(first) + self.d.write(second) + self.assert_data(b'foo') + + def test_long_bad_split(self): + buff = b'Zm9vYmFy' + for i in range(5, 8): + first, second = buff[:i], buff[i:] + + self.setUp() + self.d.write(first) + self.d.write(second) + self.assert_data(b'foobar') + + def test_close_and_finalize(self): + parser = Mock() + f = Base64Decoder(parser) + + f.finalize() + parser.finalize.assert_called_once_with() + + f.close() + parser.close.assert_called_once_with() + + def test_bad_length(self): + self.d.write(b'Zm9vYmF') # missing ending 'y' + + with self.assertRaises(DecodeError): + self.d.finalize() + + +class TestQuotedPrintableDecoder(unittest.TestCase): + def setUp(self): + self.f = BytesIO() + self.d = QuotedPrintableDecoder(self.f) + + def assert_data(self, data, finalize=True): + if finalize: + self.d.finalize() + + self.f.seek(0) + self.assertEqual(self.f.read(), data) + self.f.seek(0) + self.f.truncate() + + def test_simple(self): + self.d.write(b'foobar') + self.assert_data(b'foobar') + + def test_with_escape(self): + self.d.write(b'foo=3Dbar') + self.assert_data(b'foo=bar') + + def test_with_newline_escape(self): + self.d.write(b'foo=\r\nbar') + self.assert_data(b'foobar') + + def test_with_only_newline_escape(self): + self.d.write(b'foo=\nbar') + self.assert_data(b'foobar') + + def test_with_split_escape(self): + self.d.write(b'foo=3') + self.d.write(b'Dbar') + self.assert_data(b'foo=bar') + + def test_with_split_newline_escape_1(self): + self.d.write(b'foo=\r') + self.d.write(b'\nbar') + self.assert_data(b'foobar') + + def test_with_split_newline_escape_2(self): + self.d.write(b'foo=') + self.d.write(b'\r\nbar') + self.assert_data(b'foobar') + + def test_close_and_finalize(self): + parser = Mock() + f = QuotedPrintableDecoder(parser) + + f.finalize() + parser.finalize.assert_called_once_with() + + f.close() + parser.close.assert_called_once_with() + + def test_not_aligned(self): + """ + https://github.com/andrew-d/python-multipart/issues/6 + """ + self.d.write(b'=3AX') + self.assert_data(b':X') + + # Additional offset tests + self.d.write(b'=3') + self.d.write(b'AX') + self.assert_data(b':X') + + self.d.write(b'q=3AX') + self.assert_data(b'q:X') + + +# Load our list of HTTP test cases. +http_tests_dir = os.path.join(curr_dir, 'test_data', 'http') + +# Read in all test cases and load them. +NON_PARAMETRIZED_TESTS = {'single_field_blocks'} +http_tests = [] +for f in os.listdir(http_tests_dir): + # Only load the HTTP test cases. + fname, ext = os.path.splitext(f) + if fname in NON_PARAMETRIZED_TESTS: + continue + + if ext == '.http': + # Get the YAML file and load it too. + yaml_file = os.path.join(http_tests_dir, fname + '.yaml') + + # Load both. + with open(os.path.join(http_tests_dir, f), 'rb') as f: + test_data = f.read() + + with open(yaml_file, 'rb') as f: + yaml_data = yaml.safe_load(f) + + http_tests.append({ + 'name': fname, + 'test': test_data, + 'result': yaml_data + }) + + +def split_all(val): + """ + This function will split an array all possible ways. For example: + split_all([1,2,3,4]) + will give: + ([1], [2,3,4]), ([1,2], [3,4]), ([1,2,3], [4]) + """ + for i in range(1, len(val) - 1): + yield (val[:i], val[i:]) + + +@parametrize_class +class TestFormParser(unittest.TestCase): + def make(self, boundary, config={}): + self.ended = False + self.files = [] + self.fields = [] + + def on_field(f): + self.fields.append(f) + + def on_file(f): + self.files.append(f) + + def on_end(): + self.ended = True + + # Get a form-parser instance. + self.f = FormParser('multipart/form-data', on_field, on_file, on_end, + boundary=boundary, config=config) + + def assert_file_data(self, f, data): + o = f.file_object + o.seek(0) + file_data = o.read() + self.assertEqual(file_data, data) + + def assert_file(self, field_name, file_name, data): + # Find this file. + found = None + for f in self.files: + if f.field_name == field_name: + found = f + break + + # Assert that we found it. + self.assertIsNotNone(found) + + try: + # Assert about this file. + self.assert_file_data(found, data) + self.assertEqual(found.file_name, file_name) + + # Remove it from our list. + self.files.remove(found) + finally: + # Close our file + found.close() + + def assert_field(self, name, value): + # Find this field in our fields list. + found = None + for f in self.fields: + if f.field_name == name: + found = f + break + + # Assert that it exists and matches. + self.assertIsNotNone(found) + self.assertEqual(value, found.value) + + # Remove it for future iterations. + self.fields.remove(found) + + @parametrize('param', http_tests) + def test_http(self, param): + # Firstly, create our parser with the given boundary. + boundary = param['result']['boundary'] + if isinstance(boundary, str): + boundary = boundary.encode('latin-1') + self.make(boundary) + + # Now, we feed the parser with data. + exc = None + try: + processed = self.f.write(param['test']) + self.f.finalize() + except MultipartParseError as e: + processed = 0 + exc = e + + # print(repr(param)) + # print("") + # print(repr(self.fields)) + # print(repr(self.files)) + + # Do we expect an error? + if 'error' in param['result']['expected']: + self.assertIsNotNone(exc) + self.assertEqual(param['result']['expected']['error'], exc.offset) + return + + # No error! + self.assertEqual(processed, len(param['test'])) + + # Assert that the parser gave us the appropriate fields/files. + for e in param['result']['expected']: + # Get our type and name. + type = e['type'] + name = e['name'].encode('latin-1') + + if type == 'field': + self.assert_field(name, e['data']) + + elif type == 'file': + self.assert_file( + name, + e['file_name'].encode('latin-1'), + e['data'] + ) + + else: + assert False + + def test_random_splitting(self): + """ + This test runs a simple multipart body with one field and one file + through every possible split. + """ + # Load test data. + test_file = 'single_field_single_file.http' + with open(os.path.join(http_tests_dir, test_file), 'rb') as f: + test_data = f.read() + + # We split the file through all cases. + for first, last in split_all(test_data): + # Create form parser. + self.make('boundary') + + # Feed with data in 2 chunks. + i = 0 + i += self.f.write(first) + i += self.f.write(last) + self.f.finalize() + + # Assert we processed everything. + self.assertEqual(i, len(test_data)) + + # Assert that our file and field are here. + self.assert_field(b'field', b'test1') + self.assert_file(b'file', b'file.txt', b'test2') + + def test_feed_single_bytes(self): + """ + This test parses a simple multipart body 1 byte at a time. + """ + # Load test data. + test_file = 'single_field_single_file.http' + with open(os.path.join(http_tests_dir, test_file), 'rb') as f: + test_data = f.read() + + # Create form parser. + self.make('boundary') + + # Write all bytes. + # NOTE: Can't simply do `for b in test_data`, since that gives + # an integer when iterating over a bytes object on Python 3. + i = 0 + for x in range(len(test_data)): + b = test_data[x:x + 1] + i += self.f.write(b) + + self.f.finalize() + + # Assert we processed everything. + self.assertEqual(i, len(test_data)) + + # Assert that our file and field are here. + self.assert_field(b'field', b'test1') + self.assert_file(b'file', b'file.txt', b'test2') + + def test_feed_blocks(self): + """ + This test parses a simple multipart body 1 byte at a time. + """ + # Load test data. + test_file = 'single_field_blocks.http' + with open(os.path.join(http_tests_dir, test_file), 'rb') as f: + test_data = f.read() + + for c in range(1, len(test_data) + 1): + # Skip first `d` bytes - not interesting + for d in range(c): + + # Create form parser. + self.make('boundary') + # Skip + i = 0 + self.f.write(test_data[:d]) + i += d + for x in range(d, len(test_data), c): + # Write a chunk to achieve condition + # `i == data_length - 1` + # in boundary search loop (multipatr.py:1302) + b = test_data[x:x + c] + i += self.f.write(b) + + self.f.finalize() + + # Assert we processed everything. + self.assertEqual(i, len(test_data)) + + # Assert that our field is here. + self.assert_field(b'field', + b'0123456789ABCDEFGHIJ0123456789ABCDEFGHIJ') + + @slow_test + def test_request_body_fuzz(self): + """ + This test randomly fuzzes the request body to ensure that no strange + exceptions are raised and we don't end up in a strange state. The + fuzzing consists of randomly doing one of the following: + - Adding a random byte at a random offset + - Randomly deleting a single byte + - Randomly swapping two bytes + """ + # Load test data. + test_file = 'single_field_single_file.http' + with open(os.path.join(http_tests_dir, test_file), 'rb') as f: + test_data = f.read() + + iterations = 1000 + successes = 0 + failures = 0 + exceptions = 0 + + print("Running %d iterations of fuzz testing:" % (iterations,)) + for i in range(iterations): + # Create a bytearray to mutate. + fuzz_data = bytearray(test_data) + + # Pick what we're supposed to do. + choice = random.choice([1, 2, 3]) + if choice == 1: + # Add a random byte. + i = random.randrange(len(test_data)) + b = random.randrange(256) + + fuzz_data.insert(i, b) + msg = "Inserting byte %r at offset %d" % (b, i) + + elif choice == 2: + # Remove a random byte. + i = random.randrange(len(test_data)) + del fuzz_data[i] + + msg = "Deleting byte at offset %d" % (i,) + + elif choice == 3: + # Swap two bytes. + i = random.randrange(len(test_data) - 1) + fuzz_data[i], fuzz_data[i + 1] = fuzz_data[i + 1], fuzz_data[i] + + msg = "Swapping bytes %d and %d" % (i, i + 1) + + # Print message, so if this crashes, we can inspect the output. + print(" " + msg) + + # Create form parser. + self.make('boundary') + + # Feed with data, and ignore form parser exceptions. + i = 0 + try: + i = self.f.write(bytes(fuzz_data)) + self.f.finalize() + except FormParserError: + exceptions += 1 + else: + if i == len(fuzz_data): + successes += 1 + else: + failures += 1 + + print("--------------------------------------------------") + print("Successes: %d" % (successes,)) + print("Failures: %d" % (failures,)) + print("Exceptions: %d" % (exceptions,)) + + @slow_test + def test_request_body_fuzz_random_data(self): + """ + This test will fuzz the multipart parser with some number of iterations + of randomly-generated data. + """ + iterations = 1000 + successes = 0 + failures = 0 + exceptions = 0 + + print("Running %d iterations of fuzz testing:" % (iterations,)) + for i in range(iterations): + data_size = random.randrange(100, 4096) + data = os.urandom(data_size) + print(" Testing with %d random bytes..." % (data_size,)) + + # Create form parser. + self.make('boundary') + + # Feed with data, and ignore form parser exceptions. + i = 0 + try: + i = self.f.write(bytes(data)) + self.f.finalize() + except FormParserError: + exceptions += 1 + else: + if i == len(data): + successes += 1 + else: + failures += 1 + + print("--------------------------------------------------") + print("Successes: %d" % (successes,)) + print("Failures: %d" % (failures,)) + print("Exceptions: %d" % (exceptions,)) + + def test_bad_start_boundary(self): + self.make('boundary') + data = b'--boundary\rfoobar' + with self.assertRaises(MultipartParseError): + self.f.write(data) + + self.make('boundary') + data = b'--boundaryfoobar' + with self.assertRaises(MultipartParseError): + i = self.f.write(data) + + def test_octet_stream(self): + files = [] + def on_file(f): + files.append(f) + on_field = Mock() + on_end = Mock() + + f = FormParser('application/octet-stream', on_field, on_file, on_end=on_end, file_name=b'foo.txt') + self.assertTrue(isinstance(f.parser, OctetStreamParser)) + + f.write(b'test') + f.write(b'1234') + f.finalize() + + # Assert that we only received a single file, with the right data, and that we're done. + self.assertFalse(on_field.called) + self.assertEqual(len(files), 1) + self.assert_file_data(files[0], b'test1234') + self.assertTrue(on_end.called) + + def test_querystring(self): + fields = [] + def on_field(f): + fields.append(f) + on_file = Mock() + on_end = Mock() + + def simple_test(f): + # Reset tracking. + del fields[:] + on_file.reset_mock() + on_end.reset_mock() + + # Write test data. + f.write(b'foo=bar') + f.write(b'&test=asdf') + f.finalize() + + # Assert we only received 2 fields... + self.assertFalse(on_file.called) + self.assertEqual(len(fields), 2) + + # ...assert that we have the correct data... + self.assertEqual(fields[0].field_name, b'foo') + self.assertEqual(fields[0].value, b'bar') + + self.assertEqual(fields[1].field_name, b'test') + self.assertEqual(fields[1].value, b'asdf') + + # ... and assert that we've finished. + self.assertTrue(on_end.called) + + f = FormParser('application/x-www-form-urlencoded', on_field, on_file, on_end=on_end) + self.assertTrue(isinstance(f.parser, QuerystringParser)) + simple_test(f) + + f = FormParser('application/x-url-encoded', on_field, on_file, on_end=on_end) + self.assertTrue(isinstance(f.parser, QuerystringParser)) + simple_test(f) + + def test_close_methods(self): + parser = Mock() + f = FormParser('application/x-url-encoded', None, None) + f.parser = parser + + f.finalize() + parser.finalize.assert_called_once_with() + + f.close() + parser.close.assert_called_once_with() + + def test_bad_content_type(self): + # We should raise a ValueError for a bad Content-Type + with self.assertRaises(ValueError): + f = FormParser('application/bad', None, None) + + def test_no_boundary_given(self): + # We should raise a FormParserError when parsing a multipart message + # without a boundary. + with self.assertRaises(FormParserError): + f = FormParser('multipart/form-data', None, None) + + def test_bad_content_transfer_encoding(self): + data = b'----boundary\r\nContent-Disposition: form-data; name="file"; filename="test.txt"\r\nContent-Type: text/plain\r\nContent-Transfer-Encoding: badstuff\r\n\r\nTest\r\n----boundary--\r\n' + + files = [] + def on_file(f): + files.append(f) + on_field = Mock() + on_end = Mock() + + # Test with erroring. + config = {'UPLOAD_ERROR_ON_BAD_CTE': True} + f = FormParser('multipart/form-data', on_field, on_file, + on_end=on_end, boundary='--boundary', config=config) + + with self.assertRaises(FormParserError): + f.write(data) + f.finalize() + + # Test without erroring. + config = {'UPLOAD_ERROR_ON_BAD_CTE': False} + f = FormParser('multipart/form-data', on_field, on_file, + on_end=on_end, boundary='--boundary', config=config) + + f.write(data) + f.finalize() + self.assert_file_data(files[0], b'Test') + + def test_handles_None_fields(self): + fields = [] + def on_field(f): + fields.append(f) + on_file = Mock() + on_end = Mock() + + f = FormParser('application/x-www-form-urlencoded', on_field, on_file, on_end=on_end) + f.write(b'foo=bar&another&baz=asdf') + f.finalize() + + self.assertEqual(fields[0].field_name, b'foo') + self.assertEqual(fields[0].value, b'bar') + + self.assertEqual(fields[1].field_name, b'another') + self.assertEqual(fields[1].value, None) + + self.assertEqual(fields[2].field_name, b'baz') + self.assertEqual(fields[2].value, b'asdf') + + def test_max_size_multipart(self): + # Load test data. + test_file = 'single_field_single_file.http' + with open(os.path.join(http_tests_dir, test_file), 'rb') as f: + test_data = f.read() + + # Create form parser. + self.make('boundary') + + # Set the maximum length that we can process to be halfway through the + # given data. + self.f.parser.max_size = len(test_data) / 2 + + i = self.f.write(test_data) + self.f.finalize() + + # Assert we processed the correct amount. + self.assertEqual(i, len(test_data) / 2) + + def test_max_size_form_parser(self): + # Load test data. + test_file = 'single_field_single_file.http' + with open(os.path.join(http_tests_dir, test_file), 'rb') as f: + test_data = f.read() + + # Create form parser setting the maximum length that we can process to + # be halfway through the given data. + size = len(test_data) / 2 + self.make('boundary', config={'MAX_BODY_SIZE': size}) + + i = self.f.write(test_data) + self.f.finalize() + + # Assert we processed the correct amount. + self.assertEqual(i, len(test_data) / 2) + + def test_octet_stream_max_size(self): + files = [] + def on_file(f): + files.append(f) + on_field = Mock() + on_end = Mock() + + f = FormParser('application/octet-stream', on_field, on_file, + on_end=on_end, file_name=b'foo.txt', + config={'MAX_BODY_SIZE': 10}) + + f.write(b'0123456789012345689') + f.finalize() + + self.assert_file_data(files[0], b'0123456789') + + def test_invalid_max_size_multipart(self): + with self.assertRaises(ValueError): + q = MultipartParser(b'bound', max_size='foo') + + +class TestHelperFunctions(unittest.TestCase): + def test_create_form_parser(self): + r = create_form_parser({'Content-Type': 'application/octet-stream'}, + None, None) + self.assertTrue(isinstance(r, FormParser)) + + def test_create_form_parser_error(self): + headers = {} + with self.assertRaises(ValueError): + create_form_parser(headers, None, None) + + def test_parse_form(self): + on_field = Mock() + on_file = Mock() + + parse_form( + {'Content-Type': 'application/octet-stream', + }, + BytesIO(b'123456789012345'), + on_field, + on_file + ) + + assert on_file.call_count == 1 + + # Assert that the first argument of the call (a File object) has size + # 15 - i.e. all data is written. + self.assertEqual(on_file.call_args[0][0].size, 15) + + def test_parse_form_content_length(self): + files = [] + def on_file(file): + files.append(file) + + parse_form( + {'Content-Type': 'application/octet-stream', + 'Content-Length': '10' + }, + BytesIO(b'123456789012345'), + None, + on_file + ) + + self.assertEqual(len(files), 1) + self.assertEqual(files[0].size, 10) + + + +def suite(): + suite = unittest.TestSuite() + suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestFile)) + suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestParseOptionsHeader)) + suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestBaseParser)) + suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestQuerystringParser)) + suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestOctetStreamParser)) + suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestBase64Decoder)) + suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestQuotedPrintableDecoder)) + suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestFormParser)) + suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(TestHelperFunctions)) + + return suite diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/LICENSE diff --git a/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/METADATA b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/METADATA new file mode 100644 index 0000000..032a564 --- /dev/null +++ b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/METADATA @@ -0,0 +1,803 @@ +Metadata-Version: 2.1 +Name: prometheus-client +Version: 0.18.0 +Summary: Python client for the Prometheus monitoring system. +Home-page: https://github.com/prometheus/client_python +Author: Brian Brazil +Author-email: brian.brazil@robustperception.io +License: Apache Software License 2.0 +Keywords: prometheus monitoring instrumentation client +Classifier: Development Status :: 4 - Beta +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: Information Technology +Classifier: Intended Audience :: System Administrators +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: System :: Monitoring +Classifier: License :: OSI Approved :: Apache Software License +Requires-Python: >=3.8 +Description-Content-Type: text/markdown +License-File: LICENSE +License-File: NOTICE +Provides-Extra: twisted +Requires-Dist: twisted ; extra == 'twisted' + +# Prometheus Python Client + +The official Python client for [Prometheus](https://prometheus.io). + +## Three Step Demo + +**One**: Install the client: +``` +pip install prometheus-client +``` + +**Two**: Paste the following into a Python interpreter: +```python +from prometheus_client import start_http_server, Summary +import random +import time + +# Create a metric to track time spent and requests made. +REQUEST_TIME = Summary('request_processing_seconds', 'Time spent processing request') + +# Decorate function with metric. +@REQUEST_TIME.time() +def process_request(t): + """A dummy function that takes some time.""" + time.sleep(t) + +if __name__ == '__main__': + # Start up the server to expose the metrics. + start_http_server(8000) + # Generate some requests. + while True: + process_request(random.random()) +``` + +**Three**: Visit [http://localhost:8000/](http://localhost:8000/) to view the metrics. + +From one easy to use decorator you get: + * `request_processing_seconds_count`: Number of times this function was called. + * `request_processing_seconds_sum`: Total amount of time spent in this function. + +Prometheus's `rate` function allows calculation of both requests per second, +and latency over time from this data. + +In addition if you're on Linux the `process` metrics expose CPU, memory and +other information about the process for free! + +## Installation + +``` +pip install prometheus-client +``` + +This package can be found on +[PyPI](https://pypi.python.org/pypi/prometheus_client). + +## Instrumenting + +Four types of metric are offered: Counter, Gauge, Summary and Histogram. +See the documentation on [metric types](http://prometheus.io/docs/concepts/metric_types/) +and [instrumentation best practices](https://prometheus.io/docs/practices/instrumentation/#counter-vs-gauge-summary-vs-histogram) +on how to use them. + +### Counter + +Counters go up, and reset when the process restarts. + + +```python +from prometheus_client import Counter +c = Counter('my_failures', 'Description of counter') +c.inc() # Increment by 1 +c.inc(1.6) # Increment by given value +``` + +If there is a suffix of `_total` on the metric name, it will be removed. When +exposing the time series for counter, a `_total` suffix will be added. This is +for compatibility between OpenMetrics and the Prometheus text format, as OpenMetrics +requires the `_total` suffix. + +There are utilities to count exceptions raised: + +```python +@c.count_exceptions() +def f(): + pass + +with c.count_exceptions(): + pass + +# Count only one type of exception +with c.count_exceptions(ValueError): + pass +``` + +### Gauge + +Gauges can go up and down. + +```python +from prometheus_client import Gauge +g = Gauge('my_inprogress_requests', 'Description of gauge') +g.inc() # Increment by 1 +g.dec(10) # Decrement by given value +g.set(4.2) # Set to a given value +``` + +There are utilities for common use cases: + +```python +g.set_to_current_time() # Set to current unixtime + +# Increment when entered, decrement when exited. +@g.track_inprogress() +def f(): + pass + +with g.track_inprogress(): + pass +``` + +A Gauge can also take its value from a callback: + +```python +d = Gauge('data_objects', 'Number of objects') +my_dict = {} +d.set_function(lambda: len(my_dict)) +``` + +### Summary + +Summaries track the size and number of events. + +```python +from prometheus_client import Summary +s = Summary('request_latency_seconds', 'Description of summary') +s.observe(4.7) # Observe 4.7 (seconds in this case) +``` + +There are utilities for timing code: + +```python +@s.time() +def f(): + pass + +with s.time(): + pass +``` + +The Python client doesn't store or expose quantile information at this time. + +### Histogram + +Histograms track the size and number of events in buckets. +This allows for aggregatable calculation of quantiles. + +```python +from prometheus_client import Histogram +h = Histogram('request_latency_seconds', 'Description of histogram') +h.observe(4.7) # Observe 4.7 (seconds in this case) +``` + +The default buckets are intended to cover a typical web/rpc request from milliseconds to seconds. +They can be overridden by passing `buckets` keyword argument to `Histogram`. + +There are utilities for timing code: + +```python +@h.time() +def f(): + pass + +with h.time(): + pass +``` + +### Info + +Info tracks key-value information, usually about a whole target. + +```python +from prometheus_client import Info +i = Info('my_build_version', 'Description of info') +i.info({'version': '1.2.3', 'buildhost': 'foo@bar'}) +``` + +### Enum + +Enum tracks which of a set of states something is currently in. + +```python +from prometheus_client import Enum +e = Enum('my_task_state', 'Description of enum', + states=['starting', 'running', 'stopped']) +e.state('running') +``` + +### Labels + +All metrics can have labels, allowing grouping of related time series. + +See the best practices on [naming](http://prometheus.io/docs/practices/naming/) +and [labels](http://prometheus.io/docs/practices/instrumentation/#use-labels). + +Taking a counter as an example: + +```python +from prometheus_client import Counter +c = Counter('my_requests_total', 'HTTP Failures', ['method', 'endpoint']) +c.labels('get', '/').inc() +c.labels('post', '/submit').inc() +``` + +Labels can also be passed as keyword-arguments: + +```python +from prometheus_client import Counter +c = Counter('my_requests_total', 'HTTP Failures', ['method', 'endpoint']) +c.labels(method='get', endpoint='/').inc() +c.labels(method='post', endpoint='/submit').inc() +``` + +Metrics with labels are not initialized when declared, because the client can't +know what values the label can have. It is recommended to initialize the label +values by calling the `.labels()` method alone: + +```python +from prometheus_client import Counter +c = Counter('my_requests_total', 'HTTP Failures', ['method', 'endpoint']) +c.labels('get', '/') +c.labels('post', '/submit') +``` + +### Exemplars + +Exemplars can be added to counter and histogram metrics. Exemplars can be +specified by passing a dict of label value pairs to be exposed as the exemplar. +For example with a counter: + +```python +from prometheus_client import Counter +c = Counter('my_requests_total', 'HTTP Failures', ['method', 'endpoint']) +c.labels('get', '/').inc(exemplar={'trace_id': 'abc123'}) +c.labels('post', '/submit').inc(1.0, {'trace_id': 'def456'}) +``` + +And with a histogram: + +```python +from prometheus_client import Histogram +h = Histogram('request_latency_seconds', 'Description of histogram') +h.observe(4.7, {'trace_id': 'abc123'}) +``` + +Exemplars are only rendered in the OpenMetrics exposition format. If using the +HTTP server or apps in this library, content negotiation can be used to specify +OpenMetrics (which is done by default in Prometheus). Otherwise it will be +necessary to use `generate_latest` from +`prometheus_client.openmetrics.exposition` to view exemplars. + +To view exemplars in Prometheus it is also necessary to enable the the +exemplar-storage feature flag: +``` +--enable-feature=exemplar-storage +``` +Additional information is available in [the Prometheus +documentation](https://prometheus.io/docs/prometheus/latest/feature_flags/#exemplars-storage). + +### Disabling `_created` metrics + +By default counters, histograms, and summaries export an additional series +suffixed with `_created` and a value of the unix timestamp for when the metric +was created. If this information is not helpful, it can be disabled by setting +the environment variable `PROMETHEUS_DISABLE_CREATED_SERIES=True`. + +### Process Collector + +The Python client automatically exports metrics about process CPU usage, RAM, +file descriptors and start time. These all have the prefix `process`, and +are only currently available on Linux. + +The namespace and pid constructor arguments allows for exporting metrics about +other processes, for example: +``` +ProcessCollector(namespace='mydaemon', pid=lambda: open('/var/run/daemon.pid').read()) +``` + +### Platform Collector + +The client also automatically exports some metadata about Python. If using Jython, +metadata about the JVM in use is also included. This information is available as +labels on the `python_info` metric. The value of the metric is 1, since it is the +labels that carry information. + +### Disabling Default Collector metrics + +By default the collected `process`, `gc`, and `platform` collector metrics are exported. +If this information is not helpful, it can be disabled using the following: +```python +import prometheus_client + +prometheus_client.REGISTRY.unregister(prometheus_client.GC_COLLECTOR) +prometheus_client.REGISTRY.unregister(prometheus_client.PLATFORM_COLLECTOR) +prometheus_client.REGISTRY.unregister(prometheus_client.PROCESS_COLLECTOR) +``` + +## Exporting + +There are several options for exporting metrics. + +### HTTP + +Metrics are usually exposed over HTTP, to be read by the Prometheus server. + +The easiest way to do this is via `start_http_server`, which will start a HTTP +server in a daemon thread on the given port: + +```python +from prometheus_client import start_http_server + +start_http_server(8000) +``` + +Visit [http://localhost:8000/](http://localhost:8000/) to view the metrics. + +To add Prometheus exposition to an existing HTTP server, see the `MetricsHandler` class +which provides a `BaseHTTPRequestHandler`. It also serves as a simple example of how +to write a custom endpoint. + +#### Twisted + +To use prometheus with [twisted](https://twistedmatrix.com/), there is `MetricsResource` which exposes metrics as a twisted resource. + +```python +from prometheus_client.twisted import MetricsResource +from twisted.web.server import Site +from twisted.web.resource import Resource +from twisted.internet import reactor + +root = Resource() +root.putChild(b'metrics', MetricsResource()) + +factory = Site(root) +reactor.listenTCP(8000, factory) +reactor.run() +``` + +#### WSGI + +To use Prometheus with [WSGI](http://wsgi.readthedocs.org/en/latest/), there is +`make_wsgi_app` which creates a WSGI application. + +```python +from prometheus_client import make_wsgi_app +from wsgiref.simple_server import make_server + +app = make_wsgi_app() +httpd = make_server('', 8000, app) +httpd.serve_forever() +``` + +Such an application can be useful when integrating Prometheus metrics with WSGI +apps. + +The method `start_wsgi_server` can be used to serve the metrics through the +WSGI reference implementation in a new thread. + +```python +from prometheus_client import start_wsgi_server + +start_wsgi_server(8000) +``` + +By default, the WSGI application will respect `Accept-Encoding:gzip` headers used by Prometheus +and compress the response if such a header is present. This behaviour can be disabled by passing +`disable_compression=True` when creating the app, like this: + +```python +app = make_wsgi_app(disable_compression=True) +``` + +#### ASGI + +To use Prometheus with [ASGI](http://asgi.readthedocs.org/en/latest/), there is +`make_asgi_app` which creates an ASGI application. + +```python +from prometheus_client import make_asgi_app + +app = make_asgi_app() +``` +Such an application can be useful when integrating Prometheus metrics with ASGI +apps. + +By default, the WSGI application will respect `Accept-Encoding:gzip` headers used by Prometheus +and compress the response if such a header is present. This behaviour can be disabled by passing +`disable_compression=True` when creating the app, like this: + +```python +app = make_asgi_app(disable_compression=True) +``` + +#### Flask + +To use Prometheus with [Flask](http://flask.pocoo.org/) we need to serve metrics through a Prometheus WSGI application. This can be achieved using [Flask's application dispatching](http://flask.pocoo.org/docs/latest/patterns/appdispatch/). Below is a working example. + +Save the snippet below in a `myapp.py` file + +```python +from flask import Flask +from werkzeug.middleware.dispatcher import DispatcherMiddleware +from prometheus_client import make_wsgi_app + +# Create my app +app = Flask(__name__) + +# Add prometheus wsgi middleware to route /metrics requests +app.wsgi_app = DispatcherMiddleware(app.wsgi_app, { + '/metrics': make_wsgi_app() +}) +``` + +Run the example web application like this + +```bash +# Install uwsgi if you do not have it +pip install uwsgi +uwsgi --http 127.0.0.1:8000 --wsgi-file myapp.py --callable app +``` + +Visit http://localhost:8000/metrics to see the metrics + +#### FastAPI + Gunicorn + +To use Prometheus with [FastAPI](https://fastapi.tiangolo.com/) and [Gunicorn](https://gunicorn.org/) we need to serve metrics through a Prometheus ASGI application. + +Save the snippet below in a `myapp.py` file + +```python +from fastapi import FastAPI +from prometheus_client import make_asgi_app + +# Create app +app = FastAPI(debug=False) + +# Add prometheus asgi middleware to route /metrics requests +metrics_app = make_asgi_app() +app.mount("/metrics", metrics_app) +``` + +For Multiprocessing support, use this modified code snippet. Full multiprocessing instructions are provided [here](https://github.com/prometheus/client_python#multiprocess-mode-eg-gunicorn). + +```python +from fastapi import FastAPI +from prometheus_client import make_asgi_app + +app = FastAPI(debug=False) + +# Using multiprocess collector for registry +def make_metrics_app(): + registry = CollectorRegistry() + multiprocess.MultiProcessCollector(registry) + return make_asgi_app(registry=registry) + + +metrics_app = make_metrics_app() +app.mount("/metrics", metrics_app) +``` + +Run the example web application like this + +```bash +# Install gunicorn if you do not have it +pip install gunicorn +# If using multiple workers, add `--workers n` parameter to the line below +gunicorn -b 127.0.0.1:8000 myapp:app -k uvicorn.workers.UvicornWorker +``` + +Visit http://localhost:8000/metrics to see the metrics + + +### Node exporter textfile collector + +The [textfile collector](https://github.com/prometheus/node_exporter#textfile-collector) +allows machine-level statistics to be exported out via the Node exporter. + +This is useful for monitoring cronjobs, or for writing cronjobs to expose metrics +about a machine system that the Node exporter does not support or would not make sense +to perform at every scrape (for example, anything involving subprocesses). + +```python +from prometheus_client import CollectorRegistry, Gauge, write_to_textfile + +registry = CollectorRegistry() +g = Gauge('raid_status', '1 if raid array is okay', registry=registry) +g.set(1) +write_to_textfile('/configured/textfile/path/raid.prom', registry) +``` + +A separate registry is used, as the default registry may contain other metrics +such as those from the Process Collector. + +## Exporting to a Pushgateway + +The [Pushgateway](https://github.com/prometheus/pushgateway) +allows ephemeral and batch jobs to expose their metrics to Prometheus. + +```python +from prometheus_client import CollectorRegistry, Gauge, push_to_gateway + +registry = CollectorRegistry() +g = Gauge('job_last_success_unixtime', 'Last time a batch job successfully finished', registry=registry) +g.set_to_current_time() +push_to_gateway('localhost:9091', job='batchA', registry=registry) +``` + +A separate registry is used, as the default registry may contain other metrics +such as those from the Process Collector. + +Pushgateway functions take a grouping key. `push_to_gateway` replaces metrics +with the same grouping key, `pushadd_to_gateway` only replaces metrics with the +same name and grouping key and `delete_from_gateway` deletes metrics with the +given job and grouping key. See the +[Pushgateway documentation](https://github.com/prometheus/pushgateway/blob/master/README.md) +for more information. + +`instance_ip_grouping_key` returns a grouping key with the instance label set +to the host's IP address. + +### Handlers for authentication + +If the push gateway you are connecting to is protected with HTTP Basic Auth, +you can use a special handler to set the Authorization header. + +```python +from prometheus_client import CollectorRegistry, Gauge, push_to_gateway +from prometheus_client.exposition import basic_auth_handler + +def my_auth_handler(url, method, timeout, headers, data): + username = 'foobar' + password = 'secret123' + return basic_auth_handler(url, method, timeout, headers, data, username, password) +registry = CollectorRegistry() +g = Gauge('job_last_success_unixtime', 'Last time a batch job successfully finished', registry=registry) +g.set_to_current_time() +push_to_gateway('localhost:9091', job='batchA', registry=registry, handler=my_auth_handler) +``` + +TLS Auth is also supported when using the push gateway with a special handler. + +```python +from prometheus_client import CollectorRegistry, Gauge, push_to_gateway +from prometheus_client.exposition import tls_auth_handler + + +def my_auth_handler(url, method, timeout, headers, data): + certfile = 'client-crt.pem' + keyfile = 'client-key.pem' + return tls_auth_handler(url, method, timeout, headers, data, certfile, keyfile) + +registry = CollectorRegistry() +g = Gauge('job_last_success_unixtime', 'Last time a batch job successfully finished', registry=registry) +g.set_to_current_time() +push_to_gateway('localhost:9091', job='batchA', registry=registry, handler=my_auth_handler) +``` + +## Bridges + +It is also possible to expose metrics to systems other than Prometheus. +This allows you to take advantage of Prometheus instrumentation even +if you are not quite ready to fully transition to Prometheus yet. + +### Graphite + +Metrics are pushed over TCP in the Graphite plaintext format. + +```python +from prometheus_client.bridge.graphite import GraphiteBridge + +gb = GraphiteBridge(('graphite.your.org', 2003)) +# Push once. +gb.push() +# Push every 10 seconds in a daemon thread. +gb.start(10.0) +``` + +Graphite [tags](https://grafana.com/blog/2018/01/11/graphite-1.1-teaching-an-old-dog-new-tricks/) are also supported. + +```python +from prometheus_client.bridge.graphite import GraphiteBridge + +gb = GraphiteBridge(('graphite.your.org', 2003), tags=True) +c = Counter('my_requests_total', 'HTTP Failures', ['method', 'endpoint']) +c.labels('get', '/').inc() +gb.push() +``` + +## Custom Collectors + +Sometimes it is not possible to directly instrument code, as it is not +in your control. This requires you to proxy metrics from other systems. + +To do so you need to create a custom collector, for example: + +```python +from prometheus_client.core import GaugeMetricFamily, CounterMetricFamily, REGISTRY +from prometheus_client.registry import Collector + +class CustomCollector(Collector): + def collect(self): + yield GaugeMetricFamily('my_gauge', 'Help text', value=7) + c = CounterMetricFamily('my_counter_total', 'Help text', labels=['foo']) + c.add_metric(['bar'], 1.7) + c.add_metric(['baz'], 3.8) + yield c + +REGISTRY.register(CustomCollector()) +``` + +`SummaryMetricFamily`, `HistogramMetricFamily` and `InfoMetricFamily` work similarly. + +A collector may implement a `describe` method which returns metrics in the same +format as `collect` (though you don't have to include the samples). This is +used to predetermine the names of time series a `CollectorRegistry` exposes and +thus to detect collisions and duplicate registrations. + +Usually custom collectors do not have to implement `describe`. If `describe` is +not implemented and the CollectorRegistry was created with `auto_describe=True` +(which is the case for the default registry) then `collect` will be called at +registration time instead of `describe`. If this could cause problems, either +implement a proper `describe`, or if that's not practical have `describe` +return an empty list. + + +## Multiprocess Mode (E.g. Gunicorn) + +Prometheus client libraries presume a threaded model, where metrics are shared +across workers. This doesn't work so well for languages such as Python where +it's common to have processes rather than threads to handle large workloads. + +To handle this the client library can be put in multiprocess mode. +This comes with a number of limitations: + +- Registries can not be used as normal, all instantiated metrics are exported + - Registering metrics to a registry later used by a `MultiProcessCollector` + may cause duplicate metrics to be exported +- Custom collectors do not work (e.g. cpu and memory metrics) +- Info and Enum metrics do not work +- The pushgateway cannot be used +- Gauges cannot use the `pid` label +- Exemplars are not supported + +There's several steps to getting this working: + +**1. Deployment**: + +The `PROMETHEUS_MULTIPROC_DIR` environment variable must be set to a directory +that the client library can use for metrics. This directory must be wiped +between process/Gunicorn runs (before startup is recommended). + +This environment variable should be set from a start-up shell script, +and not directly from Python (otherwise it may not propagate to child processes). + +**2. Metrics collector**: + +The application must initialize a new `CollectorRegistry`, and store the +multi-process collector inside. It is a best practice to create this registry +inside the context of a request to avoid metrics registering themselves to a +collector used by a `MultiProcessCollector`. If a registry with metrics +registered is used by a `MultiProcessCollector` duplicate metrics may be +exported, one for multiprocess, and one for the process serving the request. + +```python +from prometheus_client import multiprocess +from prometheus_client import generate_latest, CollectorRegistry, CONTENT_TYPE_LATEST, Counter + +MY_COUNTER = Counter('my_counter', 'Description of my counter') + +# Expose metrics. +def app(environ, start_response): + registry = CollectorRegistry() + multiprocess.MultiProcessCollector(registry) + data = generate_latest(registry) + status = '200 OK' + response_headers = [ + ('Content-type', CONTENT_TYPE_LATEST), + ('Content-Length', str(len(data))) + ] + start_response(status, response_headers) + return iter([data]) +``` + +**3. Gunicorn configuration**: + +The `gunicorn` configuration file needs to include the following function: + +```python +from prometheus_client import multiprocess + +def child_exit(server, worker): + multiprocess.mark_process_dead(worker.pid) +``` + +**4. Metrics tuning (Gauge)**: + +When `Gauge`s are used in multiprocess applications, +you must decide how to handle the metrics reported by each process. +Gauges have several modes they can run in, which can be selected with the `multiprocess_mode` parameter. + +- 'all': Default. Return a timeseries per process (alive or dead), labelled by the process's `pid` (the label is added internally). +- 'min': Return a single timeseries that is the minimum of the values of all processes (alive or dead). +- 'max': Return a single timeseries that is the maximum of the values of all processes (alive or dead). +- 'sum': Return a single timeseries that is the sum of the values of all processes (alive or dead). +- 'mostrecent': Return a single timeseries that is the most recent value among all processes (alive or dead). + +Prepend 'live' to the beginning of the mode to return the same result but only considering living processes +(e.g., 'liveall, 'livesum', 'livemax', 'livemin', 'livemostrecent'). + +```python +from prometheus_client import Gauge + +# Example gauge +IN_PROGRESS = Gauge("inprogress_requests", "help", multiprocess_mode='livesum') +``` + + +## Parser + +The Python client supports parsing the Prometheus text format. +This is intended for advanced use cases where you have servers +exposing Prometheus metrics and need to get them into some other +system. + +```python +from prometheus_client.parser import text_string_to_metric_families +for family in text_string_to_metric_families(u"my_gauge 1.0\n"): + for sample in family.samples: + print("Name: {0} Labels: {1} Value: {2}".format(*sample)) +``` + +## Restricted registry + +Registries support restriction to only return specific metrics. +If you’re using the built-in HTTP server, you can use the GET parameter "name[]", since it’s an array it can be used multiple times. +If you’re directly using `generate_latest`, you can use the function `restricted_registry()`. + +```python +curl --get --data-urlencode "name[]=python_gc_objects_collected_total" --data-urlencode "name[]=python_info" http://127.0.0.1:9200/metrics +``` + +```python +from prometheus_client import generate_latest + +generate_latest(REGISTRY.restricted_registry(['python_gc_objects_collected_total', 'python_info'])) +``` + +```python +# HELP python_info Python platform information +# TYPE python_info gauge +python_info{implementation="CPython",major="3",minor="9",patchlevel="3",version="3.9.3"} 1.0 +# HELP python_gc_objects_collected_total Objects collected during gc +# TYPE python_gc_objects_collected_total counter +python_gc_objects_collected_total{generation="0"} 73129.0 +python_gc_objects_collected_total{generation="1"} 8594.0 +python_gc_objects_collected_total{generation="2"} 296.0 +``` + + +## Links + +* [Releases](https://github.com/prometheus/client_python/releases): The releases page shows the history of the project and acts as a changelog. +* [PyPI](https://pypi.python.org/pypi/prometheus_client) diff --git a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/licenses/NOTICE b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/NOTICE similarity index 100% rename from venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/licenses/NOTICE rename to venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/NOTICE diff --git a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/RECORD b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/RECORD similarity index 59% rename from venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/RECORD rename to venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/RECORD index 6aba3fe..67aefbb 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/RECORD +++ b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/RECORD @@ -1,12 +1,12 @@ -prometheus_client-0.23.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -prometheus_client-0.23.1.dist-info/METADATA,sha256=IsOo26jaObfdWtq0csEgr3c8J8LOD2l-ZJFfHk7TNo4,1907 -prometheus_client-0.23.1.dist-info/RECORD,, -prometheus_client-0.23.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -prometheus_client-0.23.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91 -prometheus_client-0.23.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357 -prometheus_client-0.23.1.dist-info/licenses/NOTICE,sha256=TvoYdK6qYPNl9Xl-YX8f-TPhXlCOr3UemEjtRBPXp64,236 -prometheus_client-0.23.1.dist-info/top_level.txt,sha256=AxLEvHEMhTW-Kvb9Ly1DPI3aapigQ2aeg8TXMt9WMRo,18 -prometheus_client/__init__.py,sha256=3KznwpxJxkWiKqn6lw62fOKRALWYx8NO743ln0f3drI,1935 +prometheus_client-0.18.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +prometheus_client-0.18.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357 +prometheus_client-0.18.0.dist-info/METADATA,sha256=eRWr9-kFrteOREkDNhp_LadPGX8uQtTfM_eSULwhADs,26065 +prometheus_client-0.18.0.dist-info/NOTICE,sha256=TvoYdK6qYPNl9Xl-YX8f-TPhXlCOr3UemEjtRBPXp64,236 +prometheus_client-0.18.0.dist-info/RECORD,, +prometheus_client-0.18.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +prometheus_client-0.18.0.dist-info/WHEEL,sha256=Xo9-1PvkuimrydujYJAjF7pCkriuXBpUPEjma1nZyJ0,92 +prometheus_client-0.18.0.dist-info/top_level.txt,sha256=AxLEvHEMhTW-Kvb9Ly1DPI3aapigQ2aeg8TXMt9WMRo,18 +prometheus_client/__init__.py,sha256=D-ptlQkWPXqZIJPi5TR0QNMdWr_Ejv-gMq6WAFik_9o,1815 prometheus_client/__pycache__/__init__.cpython-312.pyc,, prometheus_client/__pycache__/asgi.cpython-312.pyc,, prometheus_client/__pycache__/context_managers.cpython-312.pyc,, @@ -24,38 +24,36 @@ prometheus_client/__pycache__/process_collector.cpython-312.pyc,, prometheus_client/__pycache__/registry.cpython-312.pyc,, prometheus_client/__pycache__/samples.cpython-312.pyc,, prometheus_client/__pycache__/utils.cpython-312.pyc,, -prometheus_client/__pycache__/validation.cpython-312.pyc,, prometheus_client/__pycache__/values.cpython-312.pyc,, -prometheus_client/asgi.py,sha256=rfeeBIusQudy9hjsmRiMmRYSW7aSgEc4gmVPHZ-j5bM,1621 +prometheus_client/asgi.py,sha256=ivn-eV7ZU0BEa4E9oWBFbBRUklHPw9f5lcdGsyFuCLo,1606 prometheus_client/bridge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 prometheus_client/bridge/__pycache__/__init__.cpython-312.pyc,, prometheus_client/bridge/__pycache__/graphite.cpython-312.pyc,, prometheus_client/bridge/graphite.py,sha256=m5-7IyVyGL8C6S9yLxeupS1pfj8KFNPNlazddamQT8s,2897 prometheus_client/context_managers.py,sha256=E7uksn4D7yBoZWDgjI1VRpR3l2tKivs9DHZ5UAcmPwE,2343 -prometheus_client/core.py,sha256=BkKsCowQEZmrpZR0mEtieA5zhUnV6RkN2stRabpcDMA,930 +prometheus_client/core.py,sha256=yyVvSxa8WQnBvAr4JhO3HqdTqClwhbzmVGvwRvWQMIo,860 prometheus_client/decorator.py,sha256=7MdUokWmzQ17foet2R5QcMubdZ1WDPGYo0_HqLxAw2k,15802 -prometheus_client/exposition.py,sha256=22I8xRcaoGnXYKiRiAofNLPclgpaLT6nCEk6ITGKlLU,30470 +prometheus_client/exposition.py,sha256=83jr9uKj-Xmo830KEbyJrk01CHm89lQvfPWOiE5KgyY,23680 prometheus_client/gc_collector.py,sha256=tBhXXktF9g9h7gvO-DmI2gxPol2_gXI1M6e9ZMazNfY,1514 -prometheus_client/metrics.py,sha256=KaDps8Ku6HmdXArSZbqcIeW9YIA0S8SMf0ADr-EWZcA,27488 -prometheus_client/metrics_core.py,sha256=lbyXIhnDYGcbtDd3k5NDw7SsO3u6V6aHc3RIitzZugw,15565 +prometheus_client/metrics.py,sha256=Mr5XqGO0q-13b_0qmk-8iob4WiupfV02ASjtTf-Aw7A,27116 +prometheus_client/metrics_core.py,sha256=Yz-yqS3pxNdpIRMShQv_IHaKlVS_Q53TaYcP9U8LDlE,15548 prometheus_client/mmap_dict.py,sha256=-t49kywZHFHk2D9IWtunqKFtr5eEgiN-RjFWg16JE-Q,5393 -prometheus_client/multiprocess.py,sha256=b_sgKYaId9ctLzKSsUxY6oSjvqQWmMaVYoKU9dPShLg,7563 +prometheus_client/multiprocess.py,sha256=VIvAR0vmjL0lknnTijKt9HS1DNz9rZrS09HqIIcaZLs,7539 prometheus_client/openmetrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 prometheus_client/openmetrics/__pycache__/__init__.cpython-312.pyc,, prometheus_client/openmetrics/__pycache__/exposition.cpython-312.pyc,, prometheus_client/openmetrics/__pycache__/parser.cpython-312.pyc,, -prometheus_client/openmetrics/exposition.py,sha256=kCTOS4XFilCg7ZfHE2RDm4KLkQOPWJEtUIhqVzusCkE,11226 -prometheus_client/openmetrics/parser.py,sha256=gVM33y__66qA5CgJZD_hcuqWL8I7fDQ5fo7Skz8jjNY,25002 -prometheus_client/parser.py,sha256=-6c-xuVKm8hJjrcjfw1nMxCAL5c2X4g1CW8n4t6wgk0,12592 +prometheus_client/openmetrics/exposition.py,sha256=VzG8zBijM5y6sGXOssdLpHwV6aa9wqJ5YY8iJcR955U,2993 +prometheus_client/openmetrics/parser.py,sha256=c6vQccyW93MXzc22QGdceETg0m_KMeMyEbKrfObG0R8,22125 +prometheus_client/parser.py,sha256=zuVhB8clFPvQ9wOEj1XikN7NoJe8J3pZcQkNgEUkuXg,7434 prometheus_client/platform_collector.py,sha256=t_GD2oCLN3Pql4TltbNqTap8a4HOtbvBm0OU5_gPn38,1879 prometheus_client/process_collector.py,sha256=B8y36L1iq0c3KFlvdNj1F5JEQLTec116h6y3m9Jhk90,3864 prometheus_client/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -prometheus_client/registry.py,sha256=9nL15Ygxa5CCjCR2YS1tnrfF48ADK2EHHISLw48hjhg,6206 -prometheus_client/samples.py,sha256=7gomVT0FHNScdi2IXu-eY2XNQmFADBZ-mx5l5SpF7SE,2348 +prometheus_client/registry.py,sha256=3R-yxiPitVs36cnIRnotqSJmOPwAQsLz-tl6kw3rcd4,6196 +prometheus_client/samples.py,sha256=Fco7izqcgRn6xYBsPlegIB2gol9fXidrhuCeo3g0V9Y,1520 prometheus_client/twisted/__init__.py,sha256=0RxJjYSOC5p6o2cu6JbfUzc8ReHYQGNv9pKP-U4u7OE,72 prometheus_client/twisted/__pycache__/__init__.cpython-312.pyc,, prometheus_client/twisted/__pycache__/_exposition.cpython-312.pyc,, prometheus_client/twisted/_exposition.py,sha256=2TL2BH5sW0i6H7dHkot9aBH9Ld-I60ax55DuaIWnElo,250 -prometheus_client/utils.py,sha256=19xp6HxU__ZU7h3QrDfKLlSvqO626bL9IkkcoGtwctM,907 -prometheus_client/validation.py,sha256=OzyhTmsP5FzAIc51cJ0JS2hAP_FQ6nggowZRyueHoh8,4170 +prometheus_client/utils.py,sha256=zKJZaW_hyZgQSmkaD-rgT5l-YsT3--le0BRQ7v_x8eE,594 prometheus_client/values.py,sha256=hzThQQd0x4mIPR3ddezQpjUoDVdSBnwem4Z48woxpa8,5002 diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/WHEEL b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/WHEEL similarity index 65% rename from venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/WHEEL index ae527e7..ba48cbc 100644 --- a/venv/lib/python3.12/site-packages/PyJWT-2.10.1.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 -Generator: setuptools (75.6.0) +Generator: bdist_wheel (0.41.3) Root-Is-Purelib: true Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/top_level.txt similarity index 100% rename from venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/top_level.txt rename to venv/lib/python3.12/site-packages/prometheus_client-0.18.0.dist-info/top_level.txt diff --git a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/METADATA b/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/METADATA deleted file mode 100644 index 9d7e718..0000000 --- a/venv/lib/python3.12/site-packages/prometheus_client-0.23.1.dist-info/METADATA +++ /dev/null @@ -1,51 +0,0 @@ -Metadata-Version: 2.4 -Name: prometheus_client -Version: 0.23.1 -Summary: Python client for the Prometheus monitoring system. -Author-email: The Prometheus Authors -License-Expression: Apache-2.0 AND BSD-2-Clause -Project-URL: Homepage, https://github.com/prometheus/client_python -Project-URL: Documentation, https://prometheus.github.io/client_python/ -Keywords: prometheus,monitoring,instrumentation,client -Classifier: Development Status :: 4 - Beta -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: Information Technology -Classifier: Intended Audience :: System Administrators -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Topic :: System :: Monitoring -Requires-Python: >=3.9 -Description-Content-Type: text/markdown -License-File: LICENSE -License-File: NOTICE -Provides-Extra: twisted -Requires-Dist: twisted; extra == "twisted" -Dynamic: license-file - -# Prometheus Python Client - -The official Python client for [Prometheus](https://prometheus.io). - -## Installation - -``` -pip install prometheus-client -``` - -This package can be found on [PyPI](https://pypi.python.org/pypi/prometheus_client). - -## Documentation - -Documentation is available on https://prometheus.github.io/client_python - -## Links - -* [Releases](https://github.com/prometheus/client_python/releases): The releases page shows the history of the project and acts as a changelog. -* [PyPI](https://pypi.python.org/pypi/prometheus_client) diff --git a/venv/lib/python3.12/site-packages/prometheus_client/__init__.py b/venv/lib/python3.12/site-packages/prometheus_client/__init__.py index 221ad27..84a7ba8 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/__init__.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/__init__.py @@ -5,10 +5,9 @@ from . import ( process_collector, registry, ) from .exposition import ( - CONTENT_TYPE_LATEST, CONTENT_TYPE_PLAIN_0_0_4, CONTENT_TYPE_PLAIN_1_0_0, - delete_from_gateway, generate_latest, instance_ip_grouping_key, - make_asgi_app, make_wsgi_app, MetricsHandler, push_to_gateway, - pushadd_to_gateway, start_http_server, start_wsgi_server, + CONTENT_TYPE_LATEST, delete_from_gateway, generate_latest, + instance_ip_grouping_key, make_asgi_app, make_wsgi_app, MetricsHandler, + push_to_gateway, pushadd_to_gateway, start_http_server, start_wsgi_server, write_to_textfile, ) from .gc_collector import GC_COLLECTOR, GCCollector @@ -34,8 +33,6 @@ __all__ = ( 'enable_created_metrics', 'disable_created_metrics', 'CONTENT_TYPE_LATEST', - 'CONTENT_TYPE_PLAIN_0_0_4', - 'CONTENT_TYPE_PLAIN_1_0_0', 'generate_latest', 'MetricsHandler', 'make_wsgi_app', diff --git a/venv/lib/python3.12/site-packages/prometheus_client/asgi.py b/venv/lib/python3.12/site-packages/prometheus_client/asgi.py index affd984..e1864b8 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/asgi.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/asgi.py @@ -11,7 +11,7 @@ def make_asgi_app(registry: CollectorRegistry = REGISTRY, disable_compression: b async def prometheus_app(scope, receive, send): assert scope.get("type") == "http" # Prepare parameters - params = parse_qs(scope.get('query_string', b'').decode("utf8")) + params = parse_qs(scope.get('query_string', b'')) accept_header = ",".join([ value.decode("utf8") for (name, value) in scope.get('headers') if name.decode("utf8").lower() == 'accept' diff --git a/venv/lib/python3.12/site-packages/prometheus_client/core.py b/venv/lib/python3.12/site-packages/prometheus_client/core.py index 60f93ce..ad3a454 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/core.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/core.py @@ -5,10 +5,9 @@ from .metrics_core import ( SummaryMetricFamily, UnknownMetricFamily, UntypedMetricFamily, ) from .registry import CollectorRegistry, REGISTRY -from .samples import BucketSpan, Exemplar, NativeHistogram, Sample, Timestamp +from .samples import Exemplar, Sample, Timestamp __all__ = ( - 'BucketSpan', 'CollectorRegistry', 'Counter', 'CounterMetricFamily', @@ -22,7 +21,6 @@ __all__ = ( 'Info', 'InfoMetricFamily', 'Metric', - 'NativeHistogram', 'REGISTRY', 'Sample', 'StateSetMetricFamily', diff --git a/venv/lib/python3.12/site-packages/prometheus_client/exposition.py b/venv/lib/python3.12/site-packages/prometheus_client/exposition.py index 0d47170..13af927 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/exposition.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/exposition.py @@ -1,6 +1,5 @@ import base64 from contextlib import closing -from functools import partial import gzip from http.server import BaseHTTPRequestHandler import os @@ -20,12 +19,10 @@ from wsgiref.simple_server import make_server, WSGIRequestHandler, WSGIServer from .openmetrics import exposition as openmetrics from .registry import CollectorRegistry, REGISTRY -from .utils import floatToGoString, parse_version +from .utils import floatToGoString __all__ = ( 'CONTENT_TYPE_LATEST', - 'CONTENT_TYPE_PLAIN_0_0_4', - 'CONTENT_TYPE_PLAIN_1_0_0', 'delete_from_gateway', 'generate_latest', 'instance_ip_grouping_key', @@ -39,13 +36,8 @@ __all__ = ( 'write_to_textfile', ) -CONTENT_TYPE_PLAIN_0_0_4 = 'text/plain; version=0.0.4; charset=utf-8' -"""Content type of the compatibility format""" - -CONTENT_TYPE_PLAIN_1_0_0 = 'text/plain; version=1.0.0; charset=utf-8' -"""Content type of the latest format""" - -CONTENT_TYPE_LATEST = CONTENT_TYPE_PLAIN_1_0_0 +CONTENT_TYPE_LATEST = 'text/plain; version=0.0.4; charset=utf-8' +"""Content type of the latest text format""" class _PrometheusRedirectHandler(HTTPRedirectHandler): @@ -126,24 +118,12 @@ def make_wsgi_app(registry: CollectorRegistry = REGISTRY, disable_compression: b accept_header = environ.get('HTTP_ACCEPT') accept_encoding_header = environ.get('HTTP_ACCEPT_ENCODING') params = parse_qs(environ.get('QUERY_STRING', '')) - method = environ['REQUEST_METHOD'] - - if method == 'OPTIONS': - status = '200 OK' - headers = [('Allow', 'OPTIONS,GET')] - output = b'' - elif method != 'GET': - status = '405 Method Not Allowed' - headers = [('Allow', 'OPTIONS,GET')] - output = '# HTTP {}: {}; use OPTIONS or GET\n'.format(status, method).encode() - elif environ['PATH_INFO'] == '/favicon.ico': + if environ['PATH_INFO'] == '/favicon.ico': # Serve empty response for browsers status = '200 OK' - headers = [] + headers = [('', '')] output = b'' else: - # Note: For backwards compatibility, the URI path for GET is not - # constrained to the documented /metrics, but any path is allowed. # Bake output status, headers, output = _bake_output(registry, accept_header, accept_encoding_header, params, disable_compression) # Return output @@ -174,63 +154,12 @@ def _get_best_family(address, port): # binding an ipv6 address is requested. # This function is based on what upstream python did for http.server # in https://github.com/python/cpython/pull/11767 - infos = socket.getaddrinfo(address, port, type=socket.SOCK_STREAM, flags=socket.AI_PASSIVE) + infos = socket.getaddrinfo(address, port) family, _, _, _, sockaddr = next(iter(infos)) return family, sockaddr[0] -def _get_ssl_ctx( - certfile: str, - keyfile: str, - protocol: int, - cafile: Optional[str] = None, - capath: Optional[str] = None, - client_auth_required: bool = False, -) -> ssl.SSLContext: - """Load context supports SSL.""" - ssl_cxt = ssl.SSLContext(protocol=protocol) - - if cafile is not None or capath is not None: - try: - ssl_cxt.load_verify_locations(cafile, capath) - except IOError as exc: - exc_type = type(exc) - msg = str(exc) - raise exc_type(f"Cannot load CA certificate chain from file " - f"{cafile!r} or directory {capath!r}: {msg}") - else: - try: - ssl_cxt.load_default_certs(purpose=ssl.Purpose.CLIENT_AUTH) - except IOError as exc: - exc_type = type(exc) - msg = str(exc) - raise exc_type(f"Cannot load default CA certificate chain: {msg}") - - if client_auth_required: - ssl_cxt.verify_mode = ssl.CERT_REQUIRED - - try: - ssl_cxt.load_cert_chain(certfile=certfile, keyfile=keyfile) - except IOError as exc: - exc_type = type(exc) - msg = str(exc) - raise exc_type(f"Cannot load server certificate file {certfile!r} or " - f"its private key file {keyfile!r}: {msg}") - - return ssl_cxt - - -def start_wsgi_server( - port: int, - addr: str = '0.0.0.0', - registry: CollectorRegistry = REGISTRY, - certfile: Optional[str] = None, - keyfile: Optional[str] = None, - client_cafile: Optional[str] = None, - client_capath: Optional[str] = None, - protocol: int = ssl.PROTOCOL_TLS_SERVER, - client_auth_required: bool = False, -) -> Tuple[WSGIServer, threading.Thread]: +def start_wsgi_server(port: int, addr: str = '0.0.0.0', registry: CollectorRegistry = REGISTRY) -> None: """Starts a WSGI server for prometheus metrics as a daemon thread.""" class TmpServer(ThreadingWSGIServer): @@ -239,51 +168,30 @@ def start_wsgi_server( TmpServer.address_family, addr = _get_best_family(addr, port) app = make_wsgi_app(registry) httpd = make_server(addr, port, app, TmpServer, handler_class=_SilentHandler) - if certfile and keyfile: - context = _get_ssl_ctx(certfile, keyfile, protocol, client_cafile, client_capath, client_auth_required) - httpd.socket = context.wrap_socket(httpd.socket, server_side=True) t = threading.Thread(target=httpd.serve_forever) t.daemon = True t.start() - return httpd, t - start_http_server = start_wsgi_server -def generate_latest(registry: CollectorRegistry = REGISTRY, escaping: str = openmetrics.UNDERSCORES) -> bytes: - """ - Generates the exposition format using the basic Prometheus text format. +def generate_latest(registry: CollectorRegistry = REGISTRY) -> bytes: + """Returns the metrics from the registry in latest text format as a string.""" - Params: - registry: CollectorRegistry to export data from. - escaping: Escaping scheme used for metric and label names. - - Returns: UTF-8 encoded string containing the metrics in text format. - """ - - def sample_line(samples): - if samples.labels: - labelstr = '{0}'.format(','.join( - # Label values always support UTF-8 + def sample_line(line): + if line.labels: + labelstr = '{{{0}}}'.format(','.join( ['{}="{}"'.format( - openmetrics.escape_label_name(k, escaping), openmetrics._escape(v, openmetrics.ALLOWUTF8, False)) - for k, v in sorted(samples.labels.items())])) + k, v.replace('\\', r'\\').replace('\n', r'\n').replace('"', r'\"')) + for k, v in sorted(line.labels.items())])) else: labelstr = '' timestamp = '' - if samples.timestamp is not None: + if line.timestamp is not None: # Convert to milliseconds. - timestamp = f' {int(float(samples.timestamp) * 1000):d}' - if escaping != openmetrics.ALLOWUTF8 or openmetrics._is_valid_legacy_metric_name(samples.name): - if labelstr: - labelstr = '{{{0}}}'.format(labelstr) - return f'{openmetrics.escape_metric_name(samples.name, escaping)}{labelstr} {floatToGoString(samples.value)}{timestamp}\n' - maybe_comma = '' - if labelstr: - maybe_comma = ',' - return f'{{{openmetrics.escape_metric_name(samples.name, escaping)}{maybe_comma}{labelstr}}} {floatToGoString(samples.value)}{timestamp}\n' + timestamp = f' {int(float(line.timestamp) * 1000):d}' + return f'{line.name}{labelstr} {floatToGoString(line.value)}{timestamp}\n' output = [] for metric in registry.collect(): @@ -306,8 +214,8 @@ def generate_latest(registry: CollectorRegistry = REGISTRY, escaping: str = open mtype = 'untyped' output.append('# HELP {} {}\n'.format( - openmetrics.escape_metric_name(mname, escaping), metric.documentation.replace('\\', r'\\').replace('\n', r'\n'))) - output.append(f'# TYPE {openmetrics.escape_metric_name(mname, escaping)} {mtype}\n') + mname, metric.documentation.replace('\\', r'\\').replace('\n', r'\n'))) + output.append(f'# TYPE {mname} {mtype}\n') om_samples: Dict[str, List[str]] = {} for s in metric.samples: @@ -323,79 +231,20 @@ def generate_latest(registry: CollectorRegistry = REGISTRY, escaping: str = open raise for suffix, lines in sorted(om_samples.items()): - output.append('# HELP {} {}\n'.format(openmetrics.escape_metric_name(metric.name + suffix, escaping), - metric.documentation.replace('\\', r'\\').replace('\n', r'\n'))) - output.append(f'# TYPE {openmetrics.escape_metric_name(metric.name + suffix, escaping)} gauge\n') + output.append('# HELP {}{} {}\n'.format(metric.name, suffix, + metric.documentation.replace('\\', r'\\').replace('\n', r'\n'))) + output.append(f'# TYPE {metric.name}{suffix} gauge\n') output.extend(lines) return ''.join(output).encode('utf-8') def choose_encoder(accept_header: str) -> Tuple[Callable[[CollectorRegistry], bytes], str]: - # Python client library accepts a narrower range of content-types than - # Prometheus does. accept_header = accept_header or '' - escaping = openmetrics.UNDERSCORES for accepted in accept_header.split(','): if accepted.split(';')[0].strip() == 'application/openmetrics-text': - toks = accepted.split(';') - version = _get_version(toks) - escaping = _get_escaping(toks) - # Only return an escaping header if we have a good version and - # mimetype. - if not version: - return (partial(openmetrics.generate_latest, escaping=openmetrics.UNDERSCORES, version="1.0.0"), openmetrics.CONTENT_TYPE_LATEST) - if version and parse_version(version) >= (1, 0, 0): - return (partial(openmetrics.generate_latest, escaping=escaping, version=version), - f'application/openmetrics-text; version={version}; charset=utf-8; escaping=' + str(escaping)) - elif accepted.split(';')[0].strip() == 'text/plain': - toks = accepted.split(';') - version = _get_version(toks) - escaping = _get_escaping(toks) - # Only return an escaping header if we have a good version and - # mimetype. - if version and parse_version(version) >= (1, 0, 0): - return (partial(generate_latest, escaping=escaping), - CONTENT_TYPE_LATEST + '; escaping=' + str(escaping)) - return generate_latest, CONTENT_TYPE_PLAIN_0_0_4 - - -def _get_version(accept_header: List[str]) -> str: - """Return the version tag from the Accept header. - - If no version is specified, returns empty string.""" - - for tok in accept_header: - if '=' not in tok: - continue - key, value = tok.strip().split('=', 1) - if key == 'version': - return value - return "" - - -def _get_escaping(accept_header: List[str]) -> str: - """Return the escaping scheme from the Accept header. - - If no escaping scheme is specified or the scheme is not one of the allowed - strings, defaults to UNDERSCORES.""" - - for tok in accept_header: - if '=' not in tok: - continue - key, value = tok.strip().split('=', 1) - if key != 'escaping': - continue - if value == openmetrics.ALLOWUTF8: - return openmetrics.ALLOWUTF8 - elif value == openmetrics.UNDERSCORES: - return openmetrics.UNDERSCORES - elif value == openmetrics.DOTS: - return openmetrics.DOTS - elif value == openmetrics.VALUES: - return openmetrics.VALUES - else: - return openmetrics.UNDERSCORES - return openmetrics.UNDERSCORES + return (openmetrics.generate_latest, + openmetrics.CONTENT_TYPE_LATEST) + return generate_latest, CONTENT_TYPE_LATEST def gzip_accepted(accept_encoding_header: str) -> bool: @@ -444,34 +293,20 @@ class MetricsHandler(BaseHTTPRequestHandler): return MyMetricsHandler -def write_to_textfile(path: str, registry: CollectorRegistry, escaping: str = openmetrics.ALLOWUTF8, tmpdir: Optional[str] = None) -> None: +def write_to_textfile(path: str, registry: CollectorRegistry) -> None: """Write metrics to the given path. This is intended for use with the Node exporter textfile collector. - The path must end in .prom for the textfile collector to process it. + The path must end in .prom for the textfile collector to process it.""" + tmppath = f'{path}.{os.getpid()}.{threading.current_thread().ident}' + with open(tmppath, 'wb') as f: + f.write(generate_latest(registry)) - An optional tmpdir parameter can be set to determine where the - metrics will be temporarily written to. If not set, it will be in - the same directory as the .prom file. If provided, the path MUST be - on the same filesystem.""" - if tmpdir is not None: - filename = os.path.basename(path) - tmppath = f'{os.path.join(tmpdir, filename)}.{os.getpid()}.{threading.current_thread().ident}' + # rename(2) is atomic but fails on Windows if the destination file exists + if os.name == 'nt': + os.replace(tmppath, path) else: - tmppath = f'{path}.{os.getpid()}.{threading.current_thread().ident}' - try: - with open(tmppath, 'wb') as f: - f.write(generate_latest(registry, escaping)) - - # rename(2) is atomic but fails on Windows if the destination file exists - if os.name == 'nt': - os.replace(tmppath, path) - else: - os.rename(tmppath, path) - except Exception: - if os.path.exists(tmppath): - os.remove(tmppath) - raise + os.rename(tmppath, path) def _make_handler( @@ -572,7 +407,7 @@ def tls_auth_handler( The default protocol (ssl.PROTOCOL_TLS_CLIENT) will also enable ssl.CERT_REQUIRED and SSLContext.check_hostname by default. This can be disabled by setting insecure_skip_verify to True. - + Both this handler and the TLS feature on pushgateay are experimental.""" context = ssl.SSLContext(protocol=protocol) if cafile is not None: @@ -729,7 +564,7 @@ def _use_gateway( handler( url=url, method=method, timeout=timeout, - headers=[('Content-Type', CONTENT_TYPE_PLAIN_0_0_4)], data=data, + headers=[('Content-Type', CONTENT_TYPE_LATEST)], data=data, )() diff --git a/venv/lib/python3.12/site-packages/prometheus_client/metrics.py b/venv/lib/python3.12/site-packages/prometheus_client/metrics.py index b9f25ff..7e5b030 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/metrics.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/metrics.py @@ -6,25 +6,22 @@ from typing import ( Any, Callable, Dict, Iterable, List, Literal, Optional, Sequence, Tuple, Type, TypeVar, Union, ) -import warnings from . import values # retain this import style for testability from .context_managers import ExceptionCounter, InprogressTracker, Timer -from .metrics_core import Metric +from .metrics_core import ( + Metric, METRIC_LABEL_NAME_RE, METRIC_NAME_RE, + RESERVED_METRIC_LABEL_NAME_RE, +) from .registry import Collector, CollectorRegistry, REGISTRY from .samples import Exemplar, Sample from .utils import floatToGoString, INF -from .validation import ( - _validate_exemplar, _validate_labelnames, _validate_metric_name, -) T = TypeVar('T', bound='MetricWrapperBase') F = TypeVar("F", bound=Callable[..., Any]) def _build_full_name(metric_type, name, namespace, subsystem, unit): - if not name: - raise ValueError('Metric name should not be empty') full_name = '' if namespace: full_name += namespace + '_' @@ -40,6 +37,31 @@ def _build_full_name(metric_type, name, namespace, subsystem, unit): return full_name +def _validate_labelname(l): + if not METRIC_LABEL_NAME_RE.match(l): + raise ValueError('Invalid label metric name: ' + l) + if RESERVED_METRIC_LABEL_NAME_RE.match(l): + raise ValueError('Reserved label metric name: ' + l) + + +def _validate_labelnames(cls, labelnames): + labelnames = tuple(labelnames) + for l in labelnames: + _validate_labelname(l) + if l in cls._reserved_labelnames: + raise ValueError('Reserved label metric name: ' + l) + return labelnames + + +def _validate_exemplar(exemplar): + runes = 0 + for k, v in exemplar.items(): + _validate_labelname(k) + runes += len(k) + runes += len(v) + if runes > 128: + raise ValueError('Exemplar labels have %d UTF-8 characters, exceeding the limit of 128') + def _get_use_created() -> bool: return os.environ.get("PROMETHEUS_DISABLE_CREATED_SERIES", 'False').lower() not in ('true', '1', 't') @@ -88,8 +110,8 @@ class MetricWrapperBase(Collector): def collect(self) -> Iterable[Metric]: metric = self._get_metric() - for suffix, labels, value, timestamp, exemplar, native_histogram_value in self._samples(): - metric.add_sample(self._name + suffix, labels, value, timestamp, exemplar, native_histogram_value) + for suffix, labels, value, timestamp, exemplar in self._samples(): + metric.add_sample(self._name + suffix, labels, value, timestamp, exemplar) return [metric] def __str__(self) -> str: @@ -116,7 +138,8 @@ class MetricWrapperBase(Collector): self._documentation = documentation self._unit = unit - _validate_metric_name(self._name) + if not METRIC_NAME_RE.match(self._name): + raise ValueError('Invalid metric name: ' + self._name) if self._is_parent(): # Prepare the fields needed for child metrics. @@ -187,11 +210,6 @@ class MetricWrapperBase(Collector): return self._metrics[labelvalues] def remove(self, *labelvalues: Any) -> None: - if 'prometheus_multiproc_dir' in os.environ or 'PROMETHEUS_MULTIPROC_DIR' in os.environ: - warnings.warn( - "Removal of labels has not been implemented in multi-process mode yet.", - UserWarning) - if not self._labelnames: raise ValueError('No label names were set when constructing %s' % self) @@ -200,15 +218,10 @@ class MetricWrapperBase(Collector): raise ValueError('Incorrect label count (expected %d, got %s)' % (len(self._labelnames), labelvalues)) labelvalues = tuple(str(l) for l in labelvalues) with self._lock: - if labelvalues in self._metrics: - del self._metrics[labelvalues] + del self._metrics[labelvalues] def clear(self) -> None: """Remove all labelsets from the metric""" - if 'prometheus_multiproc_dir' in os.environ or 'PROMETHEUS_MULTIPROC_DIR' in os.environ: - warnings.warn( - "Clearing labels has not been implemented in multi-process mode yet", - UserWarning) with self._lock: self._metrics = {} @@ -223,8 +236,8 @@ class MetricWrapperBase(Collector): metrics = self._metrics.copy() for labels, metric in metrics.items(): series_labels = list(zip(self._labelnames, labels)) - for suffix, sample_labels, value, timestamp, exemplar, native_histogram_value in metric._samples(): - yield Sample(suffix, dict(series_labels + list(sample_labels.items())), value, timestamp, exemplar, native_histogram_value) + for suffix, sample_labels, value, timestamp, exemplar in metric._samples(): + yield Sample(suffix, dict(series_labels + list(sample_labels.items())), value, timestamp, exemplar) def _child_samples(self) -> Iterable[Sample]: # pragma: no cover raise NotImplementedError('_child_samples() must be implemented by %r' % self) @@ -269,12 +282,6 @@ class Counter(MetricWrapperBase): # Count only one type of exception with c.count_exceptions(ValueError): pass - - You can also reset the counter to zero in case your logical "process" restarts - without restarting the actual python process. - - c.reset() - """ _type = 'counter' @@ -293,11 +300,6 @@ class Counter(MetricWrapperBase): _validate_exemplar(exemplar) self._value.set_exemplar(Exemplar(exemplar, amount, time.time())) - def reset(self) -> None: - """Reset the counter to zero. Use this when a logical process restarts without restarting the actual python process.""" - self._value.set(0) - self._created = time.time() - def count_exceptions(self, exception: Union[Type[BaseException], Tuple[Type[BaseException], ...]] = Exception) -> ExceptionCounter: """Count exceptions in a block of code or function. @@ -682,8 +684,6 @@ class Info(MetricWrapperBase): if self._labelname_set.intersection(val.keys()): raise ValueError('Overlapping labels for Info metric, metric: {} child: {}'.format( self._labelnames, val)) - if any(i is None for i in val.values()): - raise ValueError('Label value cannot be None') with self._lock: self._value = dict(val) diff --git a/venv/lib/python3.12/site-packages/prometheus_client/metrics_core.py b/venv/lib/python3.12/site-packages/prometheus_client/metrics_core.py index 27d1712..7226d92 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/metrics_core.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/metrics_core.py @@ -1,12 +1,15 @@ +import re from typing import Dict, List, Optional, Sequence, Tuple, Union -from .samples import Exemplar, NativeHistogram, Sample, Timestamp -from .validation import _validate_metric_name +from .samples import Exemplar, Sample, Timestamp METRIC_TYPES = ( 'counter', 'gauge', 'summary', 'histogram', 'gaugehistogram', 'unknown', 'info', 'stateset', ) +METRIC_NAME_RE = re.compile(r'^[a-zA-Z_:][a-zA-Z0-9_:]*$') +METRIC_LABEL_NAME_RE = re.compile(r'^[a-zA-Z_][a-zA-Z0-9_]*$') +RESERVED_METRIC_LABEL_NAME_RE = re.compile(r'^__.*$') class Metric: @@ -21,7 +24,8 @@ class Metric: def __init__(self, name: str, documentation: str, typ: str, unit: str = ''): if unit and not name.endswith("_" + unit): name += "_" + unit - _validate_metric_name(name) + if not METRIC_NAME_RE.match(name): + raise ValueError('Invalid metric name: ' + name) self.name: str = name self.documentation: str = documentation self.unit: str = unit @@ -32,11 +36,11 @@ class Metric: self.type: str = typ self.samples: List[Sample] = [] - def add_sample(self, name: str, labels: Dict[str, str], value: float, timestamp: Optional[Union[Timestamp, float]] = None, exemplar: Optional[Exemplar] = None, native_histogram: Optional[NativeHistogram] = None) -> None: + def add_sample(self, name: str, labels: Dict[str, str], value: float, timestamp: Optional[Union[Timestamp, float]] = None, exemplar: Optional[Exemplar] = None) -> None: """Add a sample to the metric. Internal-only, do not use.""" - self.samples.append(Sample(name, labels, value, timestamp, exemplar, native_histogram)) + self.samples.append(Sample(name, labels, value, timestamp, exemplar)) def __eq__(self, other: object) -> bool: return (isinstance(other, Metric) @@ -112,7 +116,6 @@ class CounterMetricFamily(Metric): labels: Optional[Sequence[str]] = None, created: Optional[float] = None, unit: str = '', - exemplar: Optional[Exemplar] = None, ): # Glue code for pre-OpenMetrics metrics. if name.endswith('_total'): @@ -124,14 +127,13 @@ class CounterMetricFamily(Metric): labels = [] self._labelnames = tuple(labels) if value is not None: - self.add_metric([], value, created, exemplar=exemplar) + self.add_metric([], value, created) def add_metric(self, labels: Sequence[str], value: float, created: Optional[float] = None, timestamp: Optional[Union[Timestamp, float]] = None, - exemplar: Optional[Exemplar] = None, ) -> None: """Add a metric to the metric family. @@ -140,7 +142,7 @@ class CounterMetricFamily(Metric): value: The value of the metric created: Optional unix timestamp the child was created at. """ - self.samples.append(Sample(self.name + '_total', dict(zip(self._labelnames, labels)), value, timestamp, exemplar)) + self.samples.append(Sample(self.name + '_total', dict(zip(self._labelnames, labels)), value, timestamp)) if created is not None: self.samples.append(Sample(self.name + '_created', dict(zip(self._labelnames, labels)), created, timestamp)) @@ -282,6 +284,7 @@ class HistogramMetricFamily(Metric): Sample(self.name + '_sum', dict(zip(self._labelnames, labels)), sum_value, timestamp)) + class GaugeHistogramMetricFamily(Metric): """A single gauge histogram and its samples. diff --git a/venv/lib/python3.12/site-packages/prometheus_client/multiprocess.py b/venv/lib/python3.12/site-packages/prometheus_client/multiprocess.py index 2682190..7021b49 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/multiprocess.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/multiprocess.py @@ -93,7 +93,7 @@ class MultiProcessCollector: buckets = defaultdict(lambda: defaultdict(float)) samples_setdefault = samples.setdefault for s in metric.samples: - name, labels, value, timestamp, exemplar, native_histogram_value = s + name, labels, value, timestamp, exemplar = s if metric.type == 'gauge': without_pid_key = (name, tuple(l for l in labels if l[0] != 'pid')) if metric._multiprocess_mode in ('min', 'livemin'): diff --git a/venv/lib/python3.12/site-packages/prometheus_client/openmetrics/exposition.py b/venv/lib/python3.12/site-packages/prometheus_client/openmetrics/exposition.py index 5e69e46..b019030 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/openmetrics/exposition.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/openmetrics/exposition.py @@ -1,287 +1,72 @@ #!/usr/bin/env python -from io import StringIO -from sys import maxunicode -from typing import Callable -from ..utils import floatToGoString, parse_version -from ..validation import ( - _is_valid_legacy_labelname, _is_valid_legacy_metric_name, -) +from ..utils import floatToGoString -CONTENT_TYPE_LATEST = 'application/openmetrics-text; version=1.0.0; charset=utf-8' -"""Content type of the latest OpenMetrics 1.0 text format""" -CONTENT_TYPE_LATEST_2_0 = 'application/openmetrics-text; version=2.0.0; charset=utf-8' -"""Content type of the OpenMetrics 2.0 text format""" -ESCAPING_HEADER_TAG = 'escaping' - - -ALLOWUTF8 = 'allow-utf-8' -UNDERSCORES = 'underscores' -DOTS = 'dots' -VALUES = 'values' +CONTENT_TYPE_LATEST = 'application/openmetrics-text; version=0.0.1; charset=utf-8' +"""Content type of the latest OpenMetrics text format""" def _is_valid_exemplar_metric(metric, sample): if metric.type == 'counter' and sample.name.endswith('_total'): return True - if metric.type in ('gaugehistogram') and sample.name.endswith('_bucket'): - return True - if metric.type in ('histogram') and sample.name.endswith('_bucket') or sample.name == metric.name: + if metric.type in ('histogram', 'gaugehistogram') and sample.name.endswith('_bucket'): return True return False -def _compose_exemplar_string(metric, sample, exemplar): - """Constructs an exemplar string.""" - if not _is_valid_exemplar_metric(metric, sample): - raise ValueError(f"Metric {metric.name} has exemplars, but is not a histogram bucket or counter") - labels = '{{{0}}}'.format(','.join( - ['{}="{}"'.format( - k, v.replace('\\', r'\\').replace('\n', r'\n').replace('"', r'\"')) - for k, v in sorted(exemplar.labels.items())])) - if exemplar.timestamp is not None: - exemplarstr = ' # {} {} {}'.format( - labels, - floatToGoString(exemplar.value), - exemplar.timestamp, - ) - else: - exemplarstr = ' # {} {}'.format( - labels, - floatToGoString(exemplar.value), - ) - - return exemplarstr - - -def generate_latest(registry, escaping=UNDERSCORES, version="1.0.0"): +def generate_latest(registry): '''Returns the metrics from the registry in latest text format as a string.''' output = [] for metric in registry.collect(): try: mname = metric.name output.append('# HELP {} {}\n'.format( - escape_metric_name(mname, escaping), _escape(metric.documentation, ALLOWUTF8, _is_legacy_labelname_rune))) - output.append(f'# TYPE {escape_metric_name(mname, escaping)} {metric.type}\n') + mname, metric.documentation.replace('\\', r'\\').replace('\n', r'\n').replace('"', r'\"'))) + output.append(f'# TYPE {mname} {metric.type}\n') if metric.unit: - output.append(f'# UNIT {escape_metric_name(mname, escaping)} {metric.unit}\n') + output.append(f'# UNIT {mname} {metric.unit}\n') for s in metric.samples: - if escaping == ALLOWUTF8 and not _is_valid_legacy_metric_name(s.name): - labelstr = escape_metric_name(s.name, escaping) - if s.labels: - labelstr += ',' + if s.labels: + labelstr = '{{{0}}}'.format(','.join( + ['{}="{}"'.format( + k, v.replace('\\', r'\\').replace('\n', r'\n').replace('"', r'\"')) + for k, v in sorted(s.labels.items())])) else: labelstr = '' - - if s.labels: - items = sorted(s.labels.items()) - # Label values always support UTF-8 - labelstr += ','.join( - ['{}="{}"'.format( - escape_label_name(k, escaping), _escape(v, ALLOWUTF8, _is_legacy_labelname_rune)) - for k, v in items]) - if labelstr: - labelstr = "{" + labelstr + "}" if s.exemplar: - exemplarstr = _compose_exemplar_string(metric, s, s.exemplar) + if not _is_valid_exemplar_metric(metric, s): + raise ValueError(f"Metric {metric.name} has exemplars, but is not a histogram bucket or counter") + labels = '{{{0}}}'.format(','.join( + ['{}="{}"'.format( + k, v.replace('\\', r'\\').replace('\n', r'\n').replace('"', r'\"')) + for k, v in sorted(s.exemplar.labels.items())])) + if s.exemplar.timestamp is not None: + exemplarstr = ' # {} {} {}'.format( + labels, + floatToGoString(s.exemplar.value), + s.exemplar.timestamp, + ) + else: + exemplarstr = ' # {} {}'.format( + labels, + floatToGoString(s.exemplar.value), + ) else: exemplarstr = '' timestamp = '' if s.timestamp is not None: timestamp = f' {s.timestamp}' - - # Skip native histogram samples entirely if version < 2.0.0 - if s.native_histogram and parse_version(version) < (2, 0, 0): - continue - - native_histogram = '' - negative_spans = '' - negative_deltas = '' - positive_spans = '' - positive_deltas = '' - - if s.native_histogram: - # Initialize basic nh template - nh_sample_template = '{{count:{},sum:{},schema:{},zero_threshold:{},zero_count:{}' - - args = [ - s.native_histogram.count_value, - s.native_histogram.sum_value, - s.native_histogram.schema, - s.native_histogram.zero_threshold, - s.native_histogram.zero_count, - ] - - # If there are neg spans, append them and the neg deltas to the template and args - if s.native_histogram.neg_spans: - negative_spans = ','.join([f'{ns[0]}:{ns[1]}' for ns in s.native_histogram.neg_spans]) - negative_deltas = ','.join(str(nd) for nd in s.native_histogram.neg_deltas) - nh_sample_template += ',negative_spans:[{}]' - args.append(negative_spans) - nh_sample_template += ',negative_deltas:[{}]' - args.append(negative_deltas) - - # If there are pos spans, append them and the pos spans to the template and args - if s.native_histogram.pos_spans: - positive_spans = ','.join([f'{ps[0]}:{ps[1]}' for ps in s.native_histogram.pos_spans]) - positive_deltas = ','.join(f'{pd}' for pd in s.native_histogram.pos_deltas) - nh_sample_template += ',positive_spans:[{}]' - args.append(positive_spans) - nh_sample_template += ',positive_deltas:[{}]' - args.append(positive_deltas) - - # Add closing brace - nh_sample_template += '}}' - - # Format the template with the args - native_histogram = nh_sample_template.format(*args) - - if s.native_histogram.nh_exemplars: - for nh_ex in s.native_histogram.nh_exemplars: - nh_exemplarstr = _compose_exemplar_string(metric, s, nh_ex) - exemplarstr += nh_exemplarstr - - value = '' - if s.native_histogram: - value = native_histogram - elif s.value is not None: - value = floatToGoString(s.value) - if (escaping != ALLOWUTF8) or _is_valid_legacy_metric_name(s.name): - output.append('{}{} {}{}{}\n'.format( - _escape(s.name, escaping, _is_legacy_labelname_rune), - labelstr, - value, - timestamp, - exemplarstr - )) - else: - output.append('{} {}{}{}\n'.format( - labelstr, - value, - timestamp, - exemplarstr - )) + output.append('{}{} {}{}{}\n'.format( + s.name, + labelstr, + floatToGoString(s.value), + timestamp, + exemplarstr, + )) except Exception as exception: exception.args = (exception.args or ('',)) + (metric,) raise output.append('# EOF\n') return ''.join(output).encode('utf-8') - - -def escape_metric_name(s: str, escaping: str = UNDERSCORES) -> str: - """Escapes the metric name and puts it in quotes iff the name does not - conform to the legacy Prometheus character set. - """ - if len(s) == 0: - return s - if escaping == ALLOWUTF8: - if not _is_valid_legacy_metric_name(s): - return '"{}"'.format(_escape(s, escaping, _is_legacy_metric_rune)) - return _escape(s, escaping, _is_legacy_metric_rune) - elif escaping == UNDERSCORES: - if _is_valid_legacy_metric_name(s): - return s - return _escape(s, escaping, _is_legacy_metric_rune) - elif escaping == DOTS: - return _escape(s, escaping, _is_legacy_metric_rune) - elif escaping == VALUES: - if _is_valid_legacy_metric_name(s): - return s - return _escape(s, escaping, _is_legacy_metric_rune) - return s - - -def escape_label_name(s: str, escaping: str = UNDERSCORES) -> str: - """Escapes the label name and puts it in quotes iff the name does not - conform to the legacy Prometheus character set. - """ - if len(s) == 0: - return s - if escaping == ALLOWUTF8: - if not _is_valid_legacy_labelname(s): - return '"{}"'.format(_escape(s, escaping, _is_legacy_labelname_rune)) - return _escape(s, escaping, _is_legacy_labelname_rune) - elif escaping == UNDERSCORES: - if _is_valid_legacy_labelname(s): - return s - return _escape(s, escaping, _is_legacy_labelname_rune) - elif escaping == DOTS: - return _escape(s, escaping, _is_legacy_labelname_rune) - elif escaping == VALUES: - if _is_valid_legacy_labelname(s): - return s - return _escape(s, escaping, _is_legacy_labelname_rune) - return s - - -def _escape(s: str, escaping: str, valid_rune_fn: Callable[[str, int], bool]) -> str: - """Performs backslash escaping on backslash, newline, and double-quote characters. - - valid_rune_fn takes the input character and its index in the containing string.""" - if escaping == ALLOWUTF8: - return s.replace('\\', r'\\').replace('\n', r'\n').replace('"', r'\"') - elif escaping == UNDERSCORES: - escaped = StringIO() - for i, b in enumerate(s): - if valid_rune_fn(b, i): - escaped.write(b) - else: - escaped.write('_') - return escaped.getvalue() - elif escaping == DOTS: - escaped = StringIO() - for i, b in enumerate(s): - if b == '_': - escaped.write('__') - elif b == '.': - escaped.write('_dot_') - elif valid_rune_fn(b, i): - escaped.write(b) - else: - escaped.write('__') - return escaped.getvalue() - elif escaping == VALUES: - escaped = StringIO() - escaped.write("U__") - for i, b in enumerate(s): - if b == '_': - escaped.write("__") - elif valid_rune_fn(b, i): - escaped.write(b) - elif not _is_valid_utf8(b): - escaped.write("_FFFD_") - else: - escaped.write('_') - escaped.write(format(ord(b), 'x')) - escaped.write('_') - return escaped.getvalue() - return s - - -def _is_legacy_metric_rune(b: str, i: int) -> bool: - return _is_legacy_labelname_rune(b, i) or b == ':' - - -def _is_legacy_labelname_rune(b: str, i: int) -> bool: - if len(b) != 1: - raise ValueError("Input 'b' must be a single character.") - return ( - ('a' <= b <= 'z') - or ('A' <= b <= 'Z') - or (b == '_') - or ('0' <= b <= '9' and i > 0) - ) - - -_SURROGATE_MIN = 0xD800 -_SURROGATE_MAX = 0xDFFF - - -def _is_valid_utf8(s: str) -> bool: - if 0 <= ord(s) < _SURROGATE_MIN: - return True - if _SURROGATE_MAX < ord(s) <= maxunicode: - return True - return False diff --git a/venv/lib/python3.12/site-packages/prometheus_client/openmetrics/parser.py b/venv/lib/python3.12/site-packages/prometheus_client/openmetrics/parser.py index d967e83..6128a0d 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/openmetrics/parser.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/openmetrics/parser.py @@ -5,14 +5,9 @@ import io as StringIO import math import re -from ..metrics_core import Metric -from ..parser import ( - _last_unquoted_char, _next_unquoted_char, _parse_value, _split_quoted, - _unquote_unescape, parse_labels, -) -from ..samples import BucketSpan, Exemplar, NativeHistogram, Sample, Timestamp +from ..metrics_core import Metric, METRIC_LABEL_NAME_RE +from ..samples import Exemplar, Sample, Timestamp from ..utils import floatToGoString -from ..validation import _is_valid_legacy_metric_name, _validate_metric_name def text_string_to_metric_families(text): @@ -78,6 +73,16 @@ def _unescape_help(text): return ''.join(result) +def _parse_value(value): + value = ''.join(value) + if value != value.strip() or '_' in value: + raise ValueError(f"Invalid value: {value!r}") + try: + return int(value) + except ValueError: + return float(value) + + def _parse_timestamp(timestamp): timestamp = ''.join(timestamp) if not timestamp: @@ -108,31 +113,165 @@ def _is_character_escaped(s, charpos): return num_bslashes % 2 == 1 +def _parse_labels_with_state_machine(text): + # The { has already been parsed. + state = 'startoflabelname' + labelname = [] + labelvalue = [] + labels = {} + labels_len = 0 + + for char in text: + if state == 'startoflabelname': + if char == '}': + state = 'endoflabels' + else: + state = 'labelname' + labelname.append(char) + elif state == 'labelname': + if char == '=': + state = 'labelvaluequote' + else: + labelname.append(char) + elif state == 'labelvaluequote': + if char == '"': + state = 'labelvalue' + else: + raise ValueError("Invalid line: " + text) + elif state == 'labelvalue': + if char == '\\': + state = 'labelvalueslash' + elif char == '"': + ln = ''.join(labelname) + if not METRIC_LABEL_NAME_RE.match(ln): + raise ValueError("Invalid line, bad label name: " + text) + if ln in labels: + raise ValueError("Invalid line, duplicate label name: " + text) + labels[ln] = ''.join(labelvalue) + labelname = [] + labelvalue = [] + state = 'endoflabelvalue' + else: + labelvalue.append(char) + elif state == 'endoflabelvalue': + if char == ',': + state = 'labelname' + elif char == '}': + state = 'endoflabels' + else: + raise ValueError("Invalid line: " + text) + elif state == 'labelvalueslash': + state = 'labelvalue' + if char == '\\': + labelvalue.append('\\') + elif char == 'n': + labelvalue.append('\n') + elif char == '"': + labelvalue.append('"') + else: + labelvalue.append('\\' + char) + elif state == 'endoflabels': + if char == ' ': + break + else: + raise ValueError("Invalid line: " + text) + labels_len += 1 + return labels, labels_len + + +def _parse_labels(text): + labels = {} + + # Raise error if we don't have valid labels + if text and "=" not in text: + raise ValueError + + # Copy original labels + sub_labels = text + try: + # Process one label at a time + while sub_labels: + # The label name is before the equal + value_start = sub_labels.index("=") + label_name = sub_labels[:value_start] + sub_labels = sub_labels[value_start + 1:] + + # Check for missing quotes + if not sub_labels or sub_labels[0] != '"': + raise ValueError + + # The first quote is guaranteed to be after the equal + value_substr = sub_labels[1:] + + # Check for extra commas + if not label_name or label_name[0] == ',': + raise ValueError + if not value_substr or value_substr[-1] == ',': + raise ValueError + + # Find the last unescaped quote + i = 0 + while i < len(value_substr): + i = value_substr.index('"', i) + if not _is_character_escaped(value_substr[:i], i): + break + i += 1 + + # The label value is between the first and last quote + quote_end = i + 1 + label_value = sub_labels[1:quote_end] + # Replace escaping if needed + if "\\" in label_value: + label_value = _replace_escaping(label_value) + if not METRIC_LABEL_NAME_RE.match(label_name): + raise ValueError("invalid line, bad label name: " + text) + if label_name in labels: + raise ValueError("invalid line, duplicate label name: " + text) + labels[label_name] = label_value + + # Remove the processed label from the sub-slice for next iteration + sub_labels = sub_labels[quote_end + 1:] + if sub_labels.startswith(","): + next_comma = 1 + else: + next_comma = 0 + sub_labels = sub_labels[next_comma:] + + # Check for missing commas + if sub_labels and next_comma == 0: + raise ValueError + + return labels + + except ValueError: + raise ValueError("Invalid labels: " + text) + + def _parse_sample(text): separator = " # " # Detect the labels in the text - label_start = _next_unquoted_char(text, '{') + label_start = text.find("{") if label_start == -1 or separator in text[:label_start]: # We don't have labels, but there could be an exemplar. - name_end = _next_unquoted_char(text, ' ') + name_end = text.index(" ") name = text[:name_end] - if not _is_valid_legacy_metric_name(name): - raise ValueError("invalid metric name:" + text) # Parse the remaining text after the name remaining_text = text[name_end + 1:] value, timestamp, exemplar = _parse_remaining_text(remaining_text) return Sample(name, {}, value, timestamp, exemplar) + # The name is before the labels name = text[:label_start] - label_end = _next_unquoted_char(text, '}') - labels = parse_labels(text[label_start + 1:label_end], True) - if not name: - # Name might be in the labels - if '__name__' not in labels: - raise ValueError - name = labels['__name__'] - del labels['__name__'] - elif '__name__' in labels: - raise ValueError("metric name specified more than once") + if separator not in text: + # Line doesn't contain an exemplar + # We can use `rindex` to find `label_end` + label_end = text.rindex("}") + label = text[label_start + 1:label_end] + labels = _parse_labels(label) + else: + # Line potentially contains an exemplar + # Fallback to parsing labels with a state machine + labels, labels_len = _parse_labels_with_state_machine(text[label_start + 1:]) + label_end = labels_len + len(name) # Parsing labels succeeded, continue parsing the remaining text remaining_text = text[label_end + 2:] value, timestamp, exemplar = _parse_remaining_text(remaining_text) @@ -155,12 +294,7 @@ def _parse_remaining_text(text): text = split_text[1] it = iter(text) - in_quotes = False for char in it: - if char == '"': - in_quotes = not in_quotes - if in_quotes: - continue if state == 'timestamp': if char == '#' and not timestamp: state = 'exemplarspace' @@ -180,9 +314,8 @@ def _parse_remaining_text(text): raise ValueError("Invalid line: " + text) elif state == 'exemplarstartoflabels': if char == '{': - label_start = _next_unquoted_char(text, '{') - label_end = _last_unquoted_char(text, '}') - exemplar_labels = parse_labels(text[label_start + 1:label_end], True) + label_start, label_end = text.index("{"), text.rindex("}") + exemplar_labels = _parse_labels(text[label_start + 1:label_end]) state = 'exemplarparsedlabels' else: raise ValueError("Invalid line: " + text) @@ -231,154 +364,6 @@ def _parse_remaining_text(text): return val, ts, exemplar -def _parse_nh_sample(text, suffixes): - """Determines if the line has a native histogram sample, and parses it if so.""" - labels_start = _next_unquoted_char(text, '{') - labels_end = -1 - - # Finding a native histogram sample requires careful parsing of - # possibly-quoted text, which can appear in metric names, label names, and - # values. - # - # First, we need to determine if there are metric labels. Find the space - # between the metric definition and the rest of the line. Look for unquoted - # space or {. - i = 0 - has_metric_labels = False - i = _next_unquoted_char(text, ' {') - if i == -1: - return - - # If the first unquoted char was a {, then that is the metric labels (which - # could contain a UTF-8 metric name). - if text[i] == '{': - has_metric_labels = True - # Consume the labels -- jump ahead to the close bracket. - labels_end = i = _next_unquoted_char(text, '}', i) - if labels_end == -1: - raise ValueError - - # If there is no subsequent unquoted {, then it's definitely not a nh. - nh_value_start = _next_unquoted_char(text, '{', i + 1) - if nh_value_start == -1: - return - - # Edge case: if there is an unquoted # between the metric definition and the {, - # then this is actually an exemplar - exemplar = _next_unquoted_char(text, '#', i + 1) - if exemplar != -1 and exemplar < nh_value_start: - return - - nh_value_end = _next_unquoted_char(text, '}', nh_value_start) - if nh_value_end == -1: - raise ValueError - - if has_metric_labels: - labelstext = text[labels_start + 1:labels_end] - labels = parse_labels(labelstext, True) - name_end = labels_start - name = text[:name_end] - if name.endswith(suffixes): - raise ValueError("the sample name of a native histogram with labels should have no suffixes", name) - if not name: - # Name might be in the labels - if '__name__' not in labels: - raise ValueError - name = labels['__name__'] - del labels['__name__'] - # Edge case: the only "label" is the name definition. - if not labels: - labels = None - - nh_value = text[nh_value_start:] - nat_hist_value = _parse_nh_struct(nh_value) - return Sample(name, labels, None, None, None, nat_hist_value) - # check if it's a native histogram - else: - nh_value = text[nh_value_start:] - name_end = nh_value_start - 1 - name = text[:name_end] - if name.endswith(suffixes): - raise ValueError("the sample name of a native histogram should have no suffixes", name) - # Not possible for UTF-8 name here, that would have been caught as having a labelset. - nat_hist_value = _parse_nh_struct(nh_value) - return Sample(name, None, None, None, None, nat_hist_value) - - -def _parse_nh_struct(text): - pattern = r'(\w+):\s*([^,}]+)' - re_spans = re.compile(r'(positive_spans|negative_spans):\[(\d+:\d+(,\d+:\d+)*)\]') - re_deltas = re.compile(r'(positive_deltas|negative_deltas):\[(-?\d+(?:,-?\d+)*)\]') - - items = dict(re.findall(pattern, text)) - span_matches = re_spans.findall(text) - deltas = dict(re_deltas.findall(text)) - - count_value = int(items['count']) - sum_value = int(items['sum']) - schema = int(items['schema']) - zero_threshold = float(items['zero_threshold']) - zero_count = int(items['zero_count']) - - pos_spans = _compose_spans(span_matches, 'positive_spans') - neg_spans = _compose_spans(span_matches, 'negative_spans') - pos_deltas = _compose_deltas(deltas, 'positive_deltas') - neg_deltas = _compose_deltas(deltas, 'negative_deltas') - - return NativeHistogram( - count_value=count_value, - sum_value=sum_value, - schema=schema, - zero_threshold=zero_threshold, - zero_count=zero_count, - pos_spans=pos_spans, - neg_spans=neg_spans, - pos_deltas=pos_deltas, - neg_deltas=neg_deltas - ) - - -def _compose_spans(span_matches, spans_name): - """Takes a list of span matches (expected to be a list of tuples) and a string - (the expected span list name) and processes the list so that the values extracted - from the span matches can be used to compose a tuple of BucketSpan objects""" - spans = {} - for match in span_matches: - # Extract the key from the match (first element of the tuple). - key = match[0] - # Extract the value from the match (second element of the tuple). - # Split the value string by commas to get individual pairs, - # split each pair by ':' to get start and end, and convert them to integers. - value = [tuple(map(int, pair.split(':'))) for pair in match[1].split(',')] - # Store the processed value in the spans dictionary with the key. - spans[key] = value - if spans_name not in spans: - return None - out_spans = [] - # Iterate over each start and end tuple in the list of tuples for the specified spans_name. - for start, end in spans[spans_name]: - # Compose a BucketSpan object with the start and end values - # and append it to the out_spans list. - out_spans.append(BucketSpan(start, end)) - # Convert to tuple - out_spans_tuple = tuple(out_spans) - return out_spans_tuple - - -def _compose_deltas(deltas, deltas_name): - """Takes a list of deltas matches (a dictionary) and a string (the expected delta list name), - and processes its elements to compose a tuple of integers representing the deltas""" - if deltas_name not in deltas: - return None - out_deltas = deltas.get(deltas_name) - if out_deltas is not None and out_deltas.strip(): - elems = out_deltas.split(',') - # Convert each element in the list elems to an integer - # after stripping whitespace and create a tuple from these integers. - out_deltas_tuple = tuple(int(x.strip()) for x in elems) - return out_deltas_tuple - - def _group_for_sample(sample, name, typ): if typ == 'info': # We can't distinguish between groups for info metrics. @@ -421,8 +406,6 @@ def _check_histogram(samples, name): for s in samples: suffix = s.name[len(name):] g = _group_for_sample(s, name, 'histogram') - if len(suffix) == 0: - continue if g != group or s.timestamp != timestamp: if group is not None: do_checks() @@ -498,14 +481,11 @@ def text_fd_to_metric_families(fd): raise ValueError("Units not allowed for this metric type: " + name) if typ in ['histogram', 'gaugehistogram']: _check_histogram(samples, name) - _validate_metric_name(name) metric = Metric(name, documentation, typ, unit) # TODO: check labelvalues are valid utf8 metric.samples = samples return metric - is_nh = False - typ = None for line in fd: if line[-1] == '\n': line = line[:-1] @@ -519,19 +499,16 @@ def text_fd_to_metric_families(fd): if line == '# EOF': eof = True elif line.startswith('#'): - parts = _split_quoted(line, ' ', 3) + parts = line.split(' ', 3) if len(parts) < 4: raise ValueError("Invalid line: " + line) - candidate_name, quoted = _unquote_unescape(parts[2]) - if not quoted and not _is_valid_legacy_metric_name(candidate_name): - raise ValueError - if candidate_name == name and samples: + if parts[2] == name and samples: raise ValueError("Received metadata after samples: " + line) - if candidate_name != name: + if parts[2] != name: if name is not None: yield build_metric(name, documentation, typ, unit, samples) # New metric - name = candidate_name + name = parts[2] unit = None typ = None documentation = None @@ -540,8 +517,8 @@ def text_fd_to_metric_families(fd): group_timestamp = None group_timestamp_samples = set() samples = [] - allowed_names = [candidate_name] - + allowed_names = [parts[2]] + if parts[1] == 'HELP': if documentation is not None: raise ValueError("More than one HELP for metric: " + line) @@ -560,25 +537,12 @@ def text_fd_to_metric_families(fd): else: raise ValueError("Invalid line: " + line) else: - if typ == 'histogram': - # set to true to account for native histograms naming exceptions/sanitizing differences - is_nh = True - sample = _parse_nh_sample(line, tuple(type_suffixes['histogram'])) - # It's not a native histogram - if sample is None: - is_nh = False - sample = _parse_sample(line) - else: - is_nh = False - sample = _parse_sample(line) - if sample.name not in allowed_names and not is_nh: + sample = _parse_sample(line) + if sample.name not in allowed_names: if name is not None: yield build_metric(name, documentation, typ, unit, samples) # Start an unknown metric. - candidate_name, quoted = _unquote_unescape(sample.name) - if not quoted and not _is_valid_legacy_metric_name(candidate_name): - raise ValueError - name = candidate_name + name = sample.name documentation = None unit = None typ = 'unknown' @@ -606,29 +570,26 @@ def text_fd_to_metric_families(fd): or _isUncanonicalNumber(sample.labels['quantile']))): raise ValueError("Invalid quantile label: " + line) - if not is_nh: - g = tuple(sorted(_group_for_sample(sample, name, typ).items())) - if group is not None and g != group and g in seen_groups: - raise ValueError("Invalid metric grouping: " + line) - if group is not None and g == group: - if (sample.timestamp is None) != (group_timestamp is None): - raise ValueError("Mix of timestamp presence within a group: " + line) - if group_timestamp is not None and group_timestamp > sample.timestamp and typ != 'info': - raise ValueError("Timestamps went backwards within a group: " + line) - else: - group_timestamp_samples = set() - - series_id = (sample.name, tuple(sorted(sample.labels.items()))) - if sample.timestamp != group_timestamp or series_id not in group_timestamp_samples: - # Not a duplicate due to timestamp truncation. - samples.append(sample) - group_timestamp_samples.add(series_id) - - group = g - group_timestamp = sample.timestamp - seen_groups.add(g) + g = tuple(sorted(_group_for_sample(sample, name, typ).items())) + if group is not None and g != group and g in seen_groups: + raise ValueError("Invalid metric grouping: " + line) + if group is not None and g == group: + if (sample.timestamp is None) != (group_timestamp is None): + raise ValueError("Mix of timestamp presence within a group: " + line) + if group_timestamp is not None and group_timestamp > sample.timestamp and typ != 'info': + raise ValueError("Timestamps went backwards within a group: " + line) else: + group_timestamp_samples = set() + + series_id = (sample.name, tuple(sorted(sample.labels.items()))) + if sample.timestamp != group_timestamp or series_id not in group_timestamp_samples: + # Not a duplicate due to timestamp truncation. samples.append(sample) + group_timestamp_samples.add(series_id) + + group = g + group_timestamp = sample.timestamp + seen_groups.add(g) if typ == 'stateset' and sample.value not in [0, 1]: raise ValueError("Stateset samples can only have values zero and one: " + line) @@ -645,7 +606,7 @@ def text_fd_to_metric_families(fd): (typ in ['histogram', 'gaugehistogram'] and sample.name.endswith('_bucket')) or (typ in ['counter'] and sample.name.endswith('_total'))): raise ValueError("Invalid line only histogram/gaugehistogram buckets and counters can have exemplars: " + line) - + if name is not None: yield build_metric(name, documentation, typ, unit, samples) diff --git a/venv/lib/python3.12/site-packages/prometheus_client/parser.py b/venv/lib/python3.12/site-packages/prometheus_client/parser.py index ceca273..dc8e30d 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/parser.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/parser.py @@ -1,13 +1,9 @@ import io as StringIO import re -import string from typing import Dict, Iterable, List, Match, Optional, TextIO, Tuple from .metrics_core import Metric from .samples import Sample -from .validation import ( - _is_valid_legacy_metric_name, _validate_labelname, _validate_metric_name, -) def text_string_to_metric_families(text: str) -> Iterable[Metric]: @@ -49,172 +45,54 @@ def _is_character_escaped(s: str, charpos: int) -> bool: return num_bslashes % 2 == 1 -def parse_labels(labels_string: str, openmetrics: bool = False) -> Dict[str, str]: +def _parse_labels(labels_string: str) -> Dict[str, str]: labels: Dict[str, str] = {} + # Return if we don't have valid labels + if "=" not in labels_string: + return labels + + escaping = False + if "\\" in labels_string: + escaping = True # Copy original labels - sub_labels = labels_string.strip() - if openmetrics and sub_labels and sub_labels[0] == ',': - raise ValueError("leading comma: " + labels_string) + sub_labels = labels_string try: # Process one label at a time while sub_labels: - # The label name is before the equal, or if there's no equal, that's the - # metric name. - - name_term, value_term, sub_labels = _next_term(sub_labels, openmetrics) - if not value_term: - if openmetrics: - raise ValueError("empty term in line: " + labels_string) - continue - - label_name, quoted_name = _unquote_unescape(name_term) - - if not quoted_name and not _is_valid_legacy_metric_name(label_name): - raise ValueError("unquoted UTF-8 metric name") - - # Check for missing quotes - if not value_term or value_term[0] != '"': - raise ValueError + # The label name is before the equal + value_start = sub_labels.index("=") + label_name = sub_labels[:value_start] + sub_labels = sub_labels[value_start + 1:].lstrip() + # Find the first quote after the equal + quote_start = sub_labels.index('"') + 1 + value_substr = sub_labels[quote_start:] - # The first quote is guaranteed to be after the equal. - # Make sure that the next unescaped quote is the last character. - i = 1 - while i < len(value_term): - i = value_term.index('"', i) - if not _is_character_escaped(value_term[:i], i): + # Find the last unescaped quote + i = 0 + while i < len(value_substr): + i = value_substr.index('"', i) + if not _is_character_escaped(value_substr, i): break i += 1 + # The label value is between the first and last quote quote_end = i + 1 - if quote_end != len(value_term): - raise ValueError("unexpected text after quote: " + labels_string) + label_value = sub_labels[quote_start:quote_end] + # Replace escaping if needed + if escaping: + label_value = _replace_escaping(label_value) + labels[label_name.strip()] = label_value + + # Remove the processed label from the sub-slice for next iteration + sub_labels = sub_labels[quote_end + 1:] + next_comma = sub_labels.find(",") + 1 + sub_labels = sub_labels[next_comma:].lstrip() - label_value, _ = _unquote_unescape(value_term) - if label_name == '__name__': - _validate_metric_name(label_name) - else: - _validate_labelname(label_name) - if label_name in labels: - raise ValueError("invalid line, duplicate label name: " + labels_string) - labels[label_name] = label_value return labels + except ValueError: - raise ValueError("Invalid labels: " + labels_string) - - -def _next_term(text: str, openmetrics: bool) -> Tuple[str, str, str]: - """Extract the next comma-separated label term from the text. The results - are stripped terms for the label name, label value, and then the remainder - of the string including the final , or }. - - Raises ValueError if the term is empty and we're in openmetrics mode. - """ - - # There may be a leading comma, which is fine here. - if text[0] == ',': - text = text[1:] - if not text: - return "", "", "" - if text[0] == ',': - raise ValueError("multiple commas") - - splitpos = _next_unquoted_char(text, '=,}') - if splitpos >= 0 and text[splitpos] == "=": - labelname = text[:splitpos] - text = text[splitpos + 1:] - splitpos = _next_unquoted_char(text, ',}') - else: - labelname = "__name__" - - if splitpos == -1: - splitpos = len(text) - term = text[:splitpos] - if not term and openmetrics: - raise ValueError("empty term:", term) - - rest = text[splitpos:] - return labelname, term.strip(), rest.strip() - - -def _next_unquoted_char(text: str, chs: Optional[str], startidx: int = 0) -> int: - """Return position of next unquoted character in tuple, or -1 if not found. - - It is always assumed that the first character being checked is not already - inside quotes. - """ - in_quotes = False - if chs is None: - chs = string.whitespace - - for i, c in enumerate(text[startidx:]): - if c == '"' and not _is_character_escaped(text, startidx + i): - in_quotes = not in_quotes - if not in_quotes: - if c in chs: - return startidx + i - return -1 - - -def _last_unquoted_char(text: str, chs: Optional[str]) -> int: - """Return position of last unquoted character in list, or -1 if not found.""" - i = len(text) - 1 - in_quotes = False - if chs is None: - chs = string.whitespace - while i > 0: - if text[i] == '"' and not _is_character_escaped(text, i): - in_quotes = not in_quotes - - if not in_quotes: - if text[i] in chs: - return i - i -= 1 - return -1 - - -def _split_quoted(text, separator, maxsplit=0): - """Splits on split_ch similarly to strings.split, skipping separators if - they are inside quotes. - """ - - tokens = [''] - x = 0 - while x < len(text): - split_pos = _next_unquoted_char(text, separator, x) - if split_pos == -1: - tokens[-1] = text[x:] - x = len(text) - continue - # If the first character is the separator keep going. This happens when - # there are double whitespace characters separating symbols. - if split_pos == x: - x += 1 - continue - - if maxsplit > 0 and len(tokens) > maxsplit: - tokens[-1] = text[x:] - break - tokens[-1] = text[x:split_pos] - x = split_pos + 1 - tokens.append('') - return tokens - - -def _unquote_unescape(text): - """Returns the string, and true if it was quoted.""" - if not text: - return text, False - quoted = False - text = text.strip() - if text[0] == '"': - if len(text) == 1 or text[-1] != '"': - raise ValueError("missing close quote") - text = text[1:-1] - quoted = True - if "\\" in text: - text = _replace_escaping(text) - return text, quoted + raise ValueError("Invalid labels: %s" % labels_string) # If we have multiple values only consider the first @@ -226,50 +104,34 @@ def _parse_value_and_timestamp(s: str) -> Tuple[float, Optional[float]]: values = [value.strip() for value in s.split(separator) if value.strip()] if not values: return float(s), None - value = _parse_value(values[0]) - timestamp = (_parse_value(values[-1]) / 1000) if len(values) > 1 else None + value = float(values[0]) + timestamp = (float(values[-1]) / 1000) if len(values) > 1 else None return value, timestamp -def _parse_value(value): - value = ''.join(value) - if value != value.strip() or '_' in value: - raise ValueError(f"Invalid value: {value!r}") - try: - return int(value) - except ValueError: - return float(value) - - -def _parse_sample(text): - separator = " # " +def _parse_sample(text: str) -> Sample: # Detect the labels in the text - label_start = _next_unquoted_char(text, '{') - if label_start == -1 or separator in text[:label_start]: - # We don't have labels, but there could be an exemplar. - name_end = _next_unquoted_char(text, ' \t') - name = text[:name_end].strip() - if not _is_valid_legacy_metric_name(name): - raise ValueError("invalid metric name:" + text) - # Parse the remaining text after the name - remaining_text = text[name_end + 1:] - value, timestamp = _parse_value_and_timestamp(remaining_text) + try: + label_start, label_end = text.index("{"), text.rindex("}") + # The name is before the labels + name = text[:label_start].strip() + # We ignore the starting curly brace + label = text[label_start + 1:label_end] + # The value is after the label end (ignoring curly brace) + value, timestamp = _parse_value_and_timestamp(text[label_end + 1:]) + return Sample(name, _parse_labels(label), value, timestamp) + + # We don't have labels + except ValueError: + # Detect what separator is used + separator = " " + if separator not in text: + separator = "\t" + name_end = text.index(separator) + name = text[:name_end] + # The value is after the name + value, timestamp = _parse_value_and_timestamp(text[name_end:]) return Sample(name, {}, value, timestamp) - name = text[:label_start].strip() - label_end = _next_unquoted_char(text[label_start:], '}') + label_start - labels = parse_labels(text[label_start + 1:label_end], False) - if not name: - # Name might be in the labels - if '__name__' not in labels: - raise ValueError - name = labels['__name__'] - del labels['__name__'] - elif '__name__' in labels: - raise ValueError("metric name specified more than once") - # Parsing labels succeeded, continue parsing the remaining text - remaining_text = text[label_end + 1:] - value, timestamp = _parse_value_and_timestamp(remaining_text) - return Sample(name, labels, value, timestamp) def text_fd_to_metric_families(fd: TextIO) -> Iterable[Metric]: @@ -306,38 +168,28 @@ def text_fd_to_metric_families(fd: TextIO) -> Iterable[Metric]: line = line.strip() if line.startswith('#'): - parts = _split_quoted(line, None, 3) + parts = line.split(None, 3) if len(parts) < 2: continue - candidate_name, quoted = '', False - if len(parts) > 2: - # Ignore comment tokens - if parts[1] != 'TYPE' and parts[1] != 'HELP': - continue - candidate_name, quoted = _unquote_unescape(parts[2]) - if not quoted and not _is_valid_legacy_metric_name(candidate_name): - raise ValueError if parts[1] == 'HELP': - if candidate_name != name: + if parts[2] != name: if name != '': yield build_metric(name, documentation, typ, samples) # New metric - name = candidate_name + name = parts[2] typ = 'untyped' samples = [] - allowed_names = [candidate_name] + allowed_names = [parts[2]] if len(parts) == 4: documentation = _replace_help_escaping(parts[3]) else: documentation = '' elif parts[1] == 'TYPE': - if len(parts) < 4: - raise ValueError - if candidate_name != name: + if parts[2] != name: if name != '': yield build_metric(name, documentation, typ, samples) # New metric - name = candidate_name + name = parts[2] documentation = '' samples = [] typ = parts[3] @@ -348,6 +200,9 @@ def text_fd_to_metric_families(fd: TextIO) -> Iterable[Metric]: 'histogram': ['_count', '_sum', '_bucket'], }.get(typ, ['']) allowed_names = [name + n for n in allowed_names] + else: + # Ignore other comment tokens + pass elif line == '': # Ignore blank lines pass diff --git a/venv/lib/python3.12/site-packages/prometheus_client/registry.py b/venv/lib/python3.12/site-packages/prometheus_client/registry.py index 8de4ce9..694e4bd 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/registry.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/registry.py @@ -103,7 +103,7 @@ class CollectorRegistry(Collector): only samples with the given names. Intended usage is: - generate_latest(REGISTRY.restricted_registry(['a_timeseries']), escaping) + generate_latest(REGISTRY.restricted_registry(['a_timeseries'])) Experimental.""" names = set(names) diff --git a/venv/lib/python3.12/site-packages/prometheus_client/samples.py b/venv/lib/python3.12/site-packages/prometheus_client/samples.py index 994d128..d3e351c 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/samples.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/samples.py @@ -1,4 +1,4 @@ -from typing import Dict, NamedTuple, Optional, Sequence, Union +from typing import Dict, NamedTuple, Optional, Union class Timestamp: @@ -28,16 +28,7 @@ class Timestamp: return not self == other def __gt__(self, other: "Timestamp") -> bool: - return self.nsec > other.nsec if self.sec == other.sec else self.sec > other.sec - - def __lt__(self, other: "Timestamp") -> bool: - return self.nsec < other.nsec if self.sec == other.sec else self.sec < other.sec - - -# BucketSpan is experimental and subject to change at any time. -class BucketSpan(NamedTuple): - offset: int - length: int + return self.sec > other.sec or self.nsec > other.nsec # Timestamp and exemplar are optional. @@ -51,24 +42,9 @@ class Exemplar(NamedTuple): timestamp: Optional[Union[float, Timestamp]] = None -# NativeHistogram is experimental and subject to change at any time. -class NativeHistogram(NamedTuple): - count_value: float - sum_value: float - schema: int - zero_threshold: float - zero_count: float - pos_spans: Optional[Sequence[BucketSpan]] = None - neg_spans: Optional[Sequence[BucketSpan]] = None - pos_deltas: Optional[Sequence[int]] = None - neg_deltas: Optional[Sequence[int]] = None - nh_exemplars: Optional[Sequence[Exemplar]] = None - - class Sample(NamedTuple): name: str labels: Dict[str, str] value: float timestamp: Optional[Union[float, Timestamp]] = None exemplar: Optional[Exemplar] = None - native_histogram: Optional[NativeHistogram] = None diff --git a/venv/lib/python3.12/site-packages/prometheus_client/utils.py b/venv/lib/python3.12/site-packages/prometheus_client/utils.py index 87b75ca..0d2b094 100644 --- a/venv/lib/python3.12/site-packages/prometheus_client/utils.py +++ b/venv/lib/python3.12/site-packages/prometheus_client/utils.py @@ -1,5 +1,4 @@ import math -from typing import Union INF = float("inf") MINUS_INF = float("-inf") @@ -23,14 +22,3 @@ def floatToGoString(d): mantissa = f'{s[0]}.{s[1:dot]}{s[dot + 1:]}'.rstrip('0.') return f'{mantissa}e+0{dot - 1}' return s - - -def parse_version(version_str: str) -> tuple[Union[int, str], ...]: - version: list[Union[int, str]] = [] - for part in version_str.split('.'): - try: - version.append(int(part)) - except ValueError: - version.append(part) - - return tuple(version) diff --git a/venv/lib/python3.12/site-packages/prometheus_client/validation.py b/venv/lib/python3.12/site-packages/prometheus_client/validation.py deleted file mode 100644 index 6fcc801..0000000 --- a/venv/lib/python3.12/site-packages/prometheus_client/validation.py +++ /dev/null @@ -1,124 +0,0 @@ -import os -import re - -METRIC_NAME_RE = re.compile(r'^[a-zA-Z_:][a-zA-Z0-9_:]*$') -METRIC_LABEL_NAME_RE = re.compile(r'^[a-zA-Z_][a-zA-Z0-9_]*$') -RESERVED_METRIC_LABEL_NAME_RE = re.compile(r'^__.*$') - - -def _init_legacy_validation() -> bool: - """Retrieve name validation setting from environment.""" - return os.environ.get("PROMETHEUS_LEGACY_NAME_VALIDATION", 'False').lower() in ('true', '1', 't') - - -_legacy_validation = _init_legacy_validation() - - -def get_legacy_validation() -> bool: - """Return the current status of the legacy validation setting.""" - return _legacy_validation - - -def disable_legacy_validation(): - """Disable legacy name validation, instead allowing all UTF8 characters.""" - global _legacy_validation - _legacy_validation = False - - -def enable_legacy_validation(): - """Enable legacy name validation instead of allowing all UTF8 characters.""" - global _legacy_validation - _legacy_validation = True - - -def _validate_metric_name(name: str) -> None: - """Raises ValueError if the provided name is not a valid metric name. - - This check uses the global legacy validation setting to determine the validation scheme. - """ - if not name: - raise ValueError("metric name cannot be empty") - if _legacy_validation: - if not METRIC_NAME_RE.match(name): - raise ValueError("invalid metric name " + name) - try: - name.encode('utf-8') - except UnicodeDecodeError: - raise ValueError("invalid metric name " + name) - - -def _is_valid_legacy_metric_name(name: str) -> bool: - """Returns true if the provided metric name conforms to the legacy validation scheme.""" - if len(name) == 0: - return False - return METRIC_NAME_RE.match(name) is not None - - -def _validate_metric_label_name_token(tok: str) -> None: - """Raises ValueError if a parsed label name token is invalid. - - UTF-8 names must be quoted. - """ - if not tok: - raise ValueError("invalid label name token " + tok) - quoted = tok[0] == '"' and tok[-1] == '"' - if not quoted or _legacy_validation: - if not METRIC_LABEL_NAME_RE.match(tok): - raise ValueError("invalid label name token " + tok) - return - try: - tok.encode('utf-8') - except UnicodeDecodeError: - raise ValueError("invalid label name token " + tok) - - -def _validate_labelname(l): - """Raises ValueError if the provided name is not a valid label name. - - This check uses the global legacy validation setting to determine the validation scheme. - """ - if get_legacy_validation(): - if not METRIC_LABEL_NAME_RE.match(l): - raise ValueError('Invalid label metric name: ' + l) - if RESERVED_METRIC_LABEL_NAME_RE.match(l): - raise ValueError('Reserved label metric name: ' + l) - else: - try: - l.encode('utf-8') - except UnicodeDecodeError: - raise ValueError('Invalid label metric name: ' + l) - if RESERVED_METRIC_LABEL_NAME_RE.match(l): - raise ValueError('Reserved label metric name: ' + l) - - -def _is_valid_legacy_labelname(l: str) -> bool: - """Returns true if the provided label name conforms to the legacy validation scheme.""" - if len(l) == 0: - return False - if METRIC_LABEL_NAME_RE.match(l) is None: - return False - return RESERVED_METRIC_LABEL_NAME_RE.match(l) is None - - -def _validate_labelnames(cls, labelnames): - """Raises ValueError if any of the provided names is not a valid label name. - - This check uses the global legacy validation setting to determine the validation scheme. - """ - labelnames = tuple(labelnames) - for l in labelnames: - _validate_labelname(l) - if l in cls._reserved_labelnames: - raise ValueError('Reserved label methe fric name: ' + l) - return labelnames - - -def _validate_exemplar(exemplar): - """Raises ValueError if the exemplar is invalid.""" - runes = 0 - for k, v in exemplar.items(): - _validate_labelname(k) - runes += len(k) - runes += len(v) - if runes > 128: - raise ValueError('Exemplar labels have %d UTF-8 characters, exceeding the limit of 128') diff --git a/venv/lib/python3.12/site-packages/psycopg2/_psycopg.cpython-312-x86_64-linux-gnu.so b/venv/lib/python3.12/site-packages/psycopg2/_psycopg.cpython-312-x86_64-linux-gnu.so index d1a7201d92faf34a0a11453fe2b0acc20f17bca1..49b9ec09ec97485adb1bf1fedffd1264f9d1cf47 100644 GIT binary patch delta 86903 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 delta 87121 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 diff --git a/venv/lib/python3.12/site-packages/psycopg2/errorcodes.py b/venv/lib/python3.12/site-packages/psycopg2/errorcodes.py index 0bc9625..aa646c4 100644 --- a/venv/lib/python3.12/site-packages/psycopg2/errorcodes.py +++ b/venv/lib/python3.12/site-packages/psycopg2/errorcodes.py @@ -256,7 +256,6 @@ HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL = '25008' NO_ACTIVE_SQL_TRANSACTION = '25P01' IN_FAILED_SQL_TRANSACTION = '25P02' IDLE_IN_TRANSACTION_SESSION_TIMEOUT = '25P03' -TRANSACTION_TIMEOUT = '25P04' # Class 26 - Invalid SQL Statement Name INVALID_SQL_STATEMENT_NAME = '26000' diff --git a/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/LICENSE b/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/LICENSE rename to venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/LICENSE diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/METADATA b/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/METADATA similarity index 88% rename from venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/METADATA rename to venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/METADATA index 05674fb..724e6c1 100644 --- a/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/METADATA @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: psycopg2-binary -Version: 2.9.10 +Version: 2.9.9 Summary: psycopg2 - Python-PostgreSQL Database Adapter Home-page: https://psycopg.org/ Author: Federico Di Gregorio @@ -9,7 +9,6 @@ Maintainer: Daniele Varrazzo Maintainer-email: daniele.varrazzo@gmail.com License: LGPL with exceptions Project-URL: Homepage, https://psycopg.org/ -Project-URL: Changes, https://www.psycopg.org/docs/news.html Project-URL: Documentation, https://www.psycopg.org/docs/ Project-URL: Code, https://github.com/psycopg/psycopg2 Project-URL: Issue Tracker, https://github.com/psycopg/psycopg2/issues @@ -20,12 +19,12 @@ Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL) Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: C @@ -36,7 +35,7 @@ Classifier: Topic :: Software Development Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: Unix -Requires-Python: >=3.8 +Requires-Python: >=3.7 License-File: LICENSE Psycopg is the most popular PostgreSQL database adapter for the Python @@ -55,18 +54,6 @@ flexible objects adaptation system. Psycopg 2 is both Unicode and Python 3 friendly. -.. Note:: - - The psycopg2 package is still widely used and actively maintained, but it - is not expected to receive new features. - - `Psycopg 3`__ is the evolution of psycopg2 and is where `new features are - being developed`__: if you are starting a new project you should probably - start from 3! - - .. __: https://pypi.org/project/psycopg/ - .. __: https://www.psycopg.org/psycopg3/docs/index.html - Documentation ------------- diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/RECORD b/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/RECORD similarity index 62% rename from venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/RECORD rename to venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/RECORD index 95be6d6..567ce11 100644 --- a/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/RECORD +++ b/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/RECORD @@ -12,33 +12,33 @@ psycopg2/__pycache__/sql.cpython-312.pyc,, psycopg2/__pycache__/tz.cpython-312.pyc,, psycopg2/_ipaddress.py,sha256=jkuyhLgqUGRBcLNWDM8QJysV6q1Npc_RYH4_kE7JZPU,2922 psycopg2/_json.py,sha256=XPn4PnzbTg1Dcqz7n1JMv5dKhB5VFV6834GEtxSawt0,7153 -psycopg2/_psycopg.cpython-312-x86_64-linux-gnu.so,sha256=F5RVch-J7Y0sT6p5xvWgNGtLtTS9MbQTDOtaPeeZaqE,339145 +psycopg2/_psycopg.cpython-312-x86_64-linux-gnu.so,sha256=Y_MtTA7BiSenx2ulSd3tYwfiMjdXdyK-brB_A7-kKD8,339145 psycopg2/_range.py,sha256=sXeenGraJEEw2I3mc8RlmNivy2jMg7zWoanDes2Ywp8,18494 -psycopg2/errorcodes.py,sha256=ko0m0I294B6tb60GAu_gqvoVykqf6cyrGM7MLj4p0Qg,14392 +psycopg2/errorcodes.py,sha256=jb1SkuGq5zJT7F99GFAUi3VQH8GbsB7zRHiLsAWAU0Q,14362 psycopg2/errors.py,sha256=aAS4dJyTg1bsDzJDCRQAMB_s7zv-Q4yB6Yvih26I-0M,1425 psycopg2/extensions.py,sha256=CG0kG5vL8Ot503UGlDXXJJFdFWLg4HE2_c1-lLOLc8M,6797 psycopg2/extras.py,sha256=oBfrdvtWn8ITxc3x-h2h6IwHUsWdVqCdf4Gphb0JqY8,44215 psycopg2/pool.py,sha256=UGEt8IdP3xNc2PGYNlG4sQvg8nhf4aeCnz39hTR0H8I,6316 psycopg2/sql.py,sha256=OcFEAmpe2aMfrx0MEk4Lx00XvXXJCmvllaOVbJY-yoE,14779 psycopg2/tz.py,sha256=r95kK7eGSpOYr_luCyYsznHMzjl52sLjsnSPXkXLzRI,4870 -psycopg2_binary-2.9.10.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -psycopg2_binary-2.9.10.dist-info/LICENSE,sha256=lhS4XfyacsWyyjMUTB1-HtOxwpdFnZ-yimpXYsLo1xs,2238 -psycopg2_binary-2.9.10.dist-info/METADATA,sha256=nKflg_fOjsZqIxaJEFDyyzl0I8YNcHuEN4WrM68RG5E,4924 -psycopg2_binary-2.9.10.dist-info/RECORD,, -psycopg2_binary-2.9.10.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -psycopg2_binary-2.9.10.dist-info/WHEEL,sha256=7B4nnId14TToQHuAKpxbDLCJbNciqBsV-mvXE2hVLJc,151 -psycopg2_binary-2.9.10.dist-info/top_level.txt,sha256=7dHGpLqQ3w-vGmGEVn-7uK90qU9fyrGdWWi7S-gTcnM,9 +psycopg2_binary-2.9.9.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +psycopg2_binary-2.9.9.dist-info/LICENSE,sha256=lhS4XfyacsWyyjMUTB1-HtOxwpdFnZ-yimpXYsLo1xs,2238 +psycopg2_binary-2.9.9.dist-info/METADATA,sha256=vkxMt-2J7iReUtyq2SN4AY4BrHDgiz8csUjacUUYWVk,4445 +psycopg2_binary-2.9.9.dist-info/RECORD,, +psycopg2_binary-2.9.9.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +psycopg2_binary-2.9.9.dist-info/WHEEL,sha256=4ZiCdXIWMxJyEClivrQv1QAHZpQh8kVYU92_ZAVwaok,152 +psycopg2_binary-2.9.9.dist-info/top_level.txt,sha256=7dHGpLqQ3w-vGmGEVn-7uK90qU9fyrGdWWi7S-gTcnM,9 psycopg2_binary.libs/libcom_err-2abe824b.so.2.1,sha256=VCbctU3QHJ7t2gXiF58ORxFOi0ilNP_p6UkW55Rxslc,17497 -psycopg2_binary.libs/libcrypto-ea28cefb.so.1.1,sha256=BaFxOxGMaqri29sHgDiXm9wGdC2M_5O7F734mZJBUJk,3133185 +psycopg2_binary.libs/libcrypto-0628e7d4.so.1.1,sha256=iNCZwhYYZg5Gc5zN14JOY0gUyelRkm3wD9A-0kbL6SA,3133185 psycopg2_binary.libs/libgssapi_krb5-497db0c6.so.2.2,sha256=KnSwMw7pcygbJvjr5KzvDr-e6ZxraEl8-RUf_2xMNOE,345209 psycopg2_binary.libs/libk5crypto-b1f99d5c.so.3.1,sha256=mETlAJ5wpq0vsitYcwaBD-Knsbn2uZItqhx4ujRm3ic,219953 psycopg2_binary.libs/libkeyutils-dfe70bd6.so.1.5,sha256=wp5BsDz0st_7-0lglG4rQvgsDKXVPSMdPw_Fl7onRIg,17913 psycopg2_binary.libs/libkrb5-fcafa220.so.3.3,sha256=sqq1KP9MqyFE5c4BskasCfV0oHKlP_Y-qB1rspsmuPE,1018953 psycopg2_binary.libs/libkrb5support-d0bcff84.so.0.1,sha256=anH1fXSP73m05zbVNIh1VF0KIk-okotdYqPPJkf8EJ8,76873 -psycopg2_binary.libs/liblber-e0f57070.so.2.0.200,sha256=LU9hjsIesgayrlVnZhk66rAcud1YdFLYsbpOvmNKhlI,60977 -psycopg2_binary.libs/libldap-c37ed727.so.2.0.200,sha256=Ss_bwD7xjuADElwjXmfqGWQxPxTC2DY0AsRCeJ9IWIk,447313 +psycopg2_binary.libs/liblber-5a1d5ae1.so.2.0.200,sha256=hfC4ohbSIRZ9kJRuaT4PlfOEogZXpgLlY_FgaMNaoYc,60977 +psycopg2_binary.libs/libldap-5d2ff197.so.2.0.200,sha256=ho65rEV6AhnLA0mo-TKB9TcUROR8-uymbfEAGkAcpwQ,447329 psycopg2_binary.libs/libpcre-9513aab5.so.1.2.0,sha256=Au2oUOBJMWVtivgfUXG_902L7BVT09hcPTLX_F7-iGQ,406817 -psycopg2_binary.libs/libpq-e8a033dd.so.5.16,sha256=EZJfnquq7cmvub9JhNH0A6W3g9PprFCQKYXVIQRcBOA,370761 +psycopg2_binary.libs/libpq-e8a033dd.so.5.16,sha256=io69ZDoOBgCMoVj2aGl1-aovIrAOzg2YxumgJeq1iQ8,370777 psycopg2_binary.libs/libsasl2-883649fd.so.3.0.0,sha256=GC8C1eR02yJ82oOrrHQT1DHUh8bAGv0M10HhQM7cDzo,119217 psycopg2_binary.libs/libselinux-0922c95c.so.1,sha256=1PqOf7Ot2WCmgyWlnJaUJErqMhP9c5pQgVywZ8SWVlQ,178337 -psycopg2_binary.libs/libssl-3e69114b.so.1.1,sha256=e6o34uLMd7XUKjB3w0Qu2cvHbfo6fjPRf_NLJKhv5qs,646065 +psycopg2_binary.libs/libssl-3e69114b.so.1.1,sha256=FJ2ccBmBNGXrf07x0GVrPwIORu0BPRHyt_tLogu5jjA,646065 diff --git a/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/WHEEL b/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/WHEEL similarity index 78% rename from venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/WHEEL index e21e9f2..d1b3f1d 100644 --- a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 -Generator: setuptools (80.9.0) +Generator: bdist_wheel (0.41.2) Root-Is-Purelib: false Tag: cp312-cp312-manylinux_2_17_x86_64 Tag: cp312-cp312-manylinux2014_x86_64 diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/top_level.txt similarity index 100% rename from venv/lib/python3.12/site-packages/psycopg2_binary-2.9.10.dist-info/top_level.txt rename to venv/lib/python3.12/site-packages/psycopg2_binary-2.9.9.dist-info/top_level.txt diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary.libs/libcrypto-ea28cefb.so.1.1 b/venv/lib/python3.12/site-packages/psycopg2_binary.libs/libcrypto-0628e7d4.so.1.1 similarity index 99% rename from venv/lib/python3.12/site-packages/psycopg2_binary.libs/libcrypto-ea28cefb.so.1.1 rename to venv/lib/python3.12/site-packages/psycopg2_binary.libs/libcrypto-0628e7d4.so.1.1 index 67db91d996a2d2a285ac494a571ba9b099fddd44..34fea43ce1be4eaa73d760d2885a19b431420bea 100755 GIT binary patch delta 197 zcmZpix1X^Qh#OiMTbNpyTUc6HTi9CITR2)cTew=dTXmaM_C9c7%Lc9TA3PHnOZ0q85kM2XIUr% zu?i5Y0maM_C9MnkpDrTA3JI8JH^=85o(gXIUr% zu?i5Y05QNOTan@wuO_UdbDzDwFw g9_VgYd7yXVooH&JkwtQ9T9RIIzMi3;Ap;ly08RQpivR!s diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary.libs/liblber-e0f57070.so.2.0.200 b/venv/lib/python3.12/site-packages/psycopg2_binary.libs/liblber-5a1d5ae1.so.2.0.200 similarity index 99% rename from venv/lib/python3.12/site-packages/psycopg2_binary.libs/liblber-e0f57070.so.2.0.200 rename to venv/lib/python3.12/site-packages/psycopg2_binary.libs/liblber-5a1d5ae1.so.2.0.200 index b4e6057774d8c37feae55934c3822b99148084e0..7884bd302d4ff2ff352bafdffc0c69b2ef5e57a8 100755 GIT binary patch delta 57 zcmV-90LK5Z+yk-P1F#U_6jmaAjPM~wu&dLHd6EDL`CH*;VzVUR_ze{`VKHPiVP!Ec Pb8jv(E-)@KFfafB?I#v3 delta 57 zcmV-90LK5Z+yk-P1F#U_6zOZ>_{hg1_BQ7MSqalwiLbUE)w3kv_ze|hFlIG3FgGwR Pb8jv(E-)@KFfafBHV_w+ diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary.libs/libldap-c37ed727.so.2.0.200 b/venv/lib/python3.12/site-packages/psycopg2_binary.libs/libldap-5d2ff197.so.2.0.200 similarity index 99% rename from venv/lib/python3.12/site-packages/psycopg2_binary.libs/libldap-c37ed727.so.2.0.200 rename to venv/lib/python3.12/site-packages/psycopg2_binary.libs/libldap-5d2ff197.so.2.0.200 index dbc45da2810a1eb6e359dd25f9094e997795be72..3780b756f75131ec8107fc5125063e6c14c8ce78 100755 GIT binary patch delta 272 zcmcb(O#0z6=?xQ@I4fKkz@TFCOeTHK1ZM~@Ve>_%&l?y&Pd>WYpHXYF=oWoO$7a_p z?XFuGftU%1nSq#PyXzL##WIZ1+h1N_Rp%G+$T~PFJSb@T{Y)XTE6&$5(lgLAGB99J@elHJ_w-}P$xO;gN-fe&HApixH!wGt&U~58 VLpU|j$Ras4EeWKnlDJhv;X7Pz-<3_~O$o3s~hD&89~d zu%2fOTCQ2hDmnQB6Yum1`m7q;FZ^a%%(|U%0_z2Fk%HpNF55nx~jdXIjCkFKwD)l$K^_X|7kCuVnq+Ahv;X7Pz)c?_*~O13s~hDHK#`w zu%2ghU9MTkDmi_EKC8y|3%^-5ux@9ZzlNqg8R;4585tOWtpWh~#x(B$ diff --git a/venv/lib/python3.12/site-packages/psycopg2_binary.libs/libssl-3e69114b.so.1.1 b/venv/lib/python3.12/site-packages/psycopg2_binary.libs/libssl-3e69114b.so.1.1 index 83e4917af16e700de05d6341301a2e148b95a3f0..b1fd77e728345806349218b1d235da9820de11e3 100755 GIT binary patch delta 52 zcmdnEU47$r^@bM47N!>F7M2#)7Pc1l7LF~PGjB^6m>F55nx~lP73b?2>KQV?007fP B4gLTC delta 52 zcmdnEU47$r^@bM47N!>F7M2#)7Pc1l7LF~PGjB_zCK_2Jr=}(873b?2>KQV?0082S B4!QsU diff --git a/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/METADATA b/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/METADATA deleted file mode 100644 index 16e36c1..0000000 --- a/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/METADATA +++ /dev/null @@ -1,787 +0,0 @@ -Metadata-Version: 2.4 -Name: pydantic -Version: 2.11.9 -Summary: Data validation using Python type hints -Project-URL: Homepage, https://github.com/pydantic/pydantic -Project-URL: Documentation, https://docs.pydantic.dev -Project-URL: Funding, https://github.com/sponsors/samuelcolvin -Project-URL: Source, https://github.com/pydantic/pydantic -Project-URL: Changelog, https://docs.pydantic.dev/latest/changelog/ -Author-email: Samuel Colvin , Eric Jolibois , Hasan Ramezani , Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Terrence Dorsey , David Montague , Serge Matveenko , Marcelo Trylesinski , Sydney Runkle , David Hewitt , Alex Hall , Victorien Plot -License-Expression: MIT -License-File: LICENSE -Classifier: Development Status :: 5 - Production/Stable -Classifier: Framework :: Hypothesis -Classifier: Framework :: Pydantic -Classifier: Intended Audience :: Developers -Classifier: Intended Audience :: Information Technology -Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Topic :: Internet -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.9 -Requires-Dist: annotated-types>=0.6.0 -Requires-Dist: pydantic-core==2.33.2 -Requires-Dist: typing-extensions>=4.12.2 -Requires-Dist: typing-inspection>=0.4.0 -Provides-Extra: email -Requires-Dist: email-validator>=2.0.0; extra == 'email' -Provides-Extra: timezone -Requires-Dist: tzdata; (python_version >= '3.9' and platform_system == 'Windows') and extra == 'timezone' -Description-Content-Type: text/markdown - -# Pydantic -[![CI](https://img.shields.io/github/actions/workflow/status/pydantic/pydantic/ci.yml?branch=main&logo=github&label=CI)](https://github.com/pydantic/pydantic/actions?query=event%3Apush+branch%3Amain+workflow%3ACI) -[![Coverage](https://coverage-badge.samuelcolvin.workers.dev/pydantic/pydantic.svg)](https://coverage-badge.samuelcolvin.workers.dev/redirect/pydantic/pydantic) -[![pypi](https://img.shields.io/pypi/v/pydantic.svg)](https://pypi.python.org/pypi/pydantic) -[![CondaForge](https://img.shields.io/conda/v/conda-forge/pydantic.svg)](https://anaconda.org/conda-forge/pydantic) -[![downloads](https://static.pepy.tech/badge/pydantic/month)](https://pepy.tech/project/pydantic) -[![versions](https://img.shields.io/pypi/pyversions/pydantic.svg)](https://github.com/pydantic/pydantic) -[![license](https://img.shields.io/github/license/pydantic/pydantic.svg)](https://github.com/pydantic/pydantic/blob/main/LICENSE) -[![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json)](https://docs.pydantic.dev/latest/contributing/#badges) -[![llms.txt](https://img.shields.io/badge/llms.txt-green)](https://docs.pydantic.dev/latest/llms.txt) - - -Data validation using Python type hints. - -Fast and extensible, Pydantic plays nicely with your linters/IDE/brain. -Define how data should be in pure, canonical Python 3.9+; validate it with Pydantic. - -## Pydantic Logfire :fire: - -We've recently launched Pydantic Logfire to help you monitor your applications. -[Learn more](https://pydantic.dev/articles/logfire-announcement) - -## Pydantic V1.10 vs. V2 - -Pydantic V2 is a ground-up rewrite that offers many new features, performance improvements, and some breaking changes compared to Pydantic V1. - -If you're using Pydantic V1 you may want to look at the -[pydantic V1.10 Documentation](https://docs.pydantic.dev/) or, -[`1.10.X-fixes` git branch](https://github.com/pydantic/pydantic/tree/1.10.X-fixes). Pydantic V2 also ships with the latest version of Pydantic V1 built in so that you can incrementally upgrade your code base and projects: `from pydantic import v1 as pydantic_v1`. - -## Help - -See [documentation](https://docs.pydantic.dev/) for more details. - -## Installation - -Install using `pip install -U pydantic` or `conda install pydantic -c conda-forge`. -For more installation options to make Pydantic even faster, -see the [Install](https://docs.pydantic.dev/install/) section in the documentation. - -## A Simple Example - -```python -from datetime import datetime -from typing import Optional -from pydantic import BaseModel - -class User(BaseModel): - id: int - name: str = 'John Doe' - signup_ts: Optional[datetime] = None - friends: list[int] = [] - -external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']} -user = User(**external_data) -print(user) -#> User id=123 name='John Doe' signup_ts=datetime.datetime(2017, 6, 1, 12, 22) friends=[1, 2, 3] -print(user.id) -#> 123 -``` - -## Contributing - -For guidance on setting up a development environment and how to make a -contribution to Pydantic, see -[Contributing to Pydantic](https://docs.pydantic.dev/contributing/). - -## Reporting a Security Vulnerability - -See our [security policy](https://github.com/pydantic/pydantic/security/policy). - -## Changelog - -## v2.11.9 (2025-09-13) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.9) - -### What's Changed - -#### Fixes - -* Backport v1.10.23 changes by [@Viicos](https://github.com/Viicos) - -## v2.11.8 (2025-09-13) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.8) - -### What's Changed - -#### Fixes - -* Fix mypy plugin for mypy 1.18 by [@cdce8p](https://github.com/cdce8p) in [#12209](https://github.com/pydantic/pydantic/pull/12209) - -## v2.11.7 (2025-06-14) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.7) - -### What's Changed - -#### Fixes - -* Copy `FieldInfo` instance if necessary during `FieldInfo` build by [@Viicos](https://github.com/Viicos) in [#11898](https://github.com/pydantic/pydantic/pull/11898) - -## v2.11.6 (2025-06-13) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.6) - -### What's Changed - -#### Fixes - -* Rebuild dataclass fields before schema generation by [@Viicos](https://github.com/Viicos) in [#11949](https://github.com/pydantic/pydantic/pull/11949) -* Always store the original field assignment on `FieldInfo` by [@Viicos](https://github.com/Viicos) in [#11946](https://github.com/pydantic/pydantic/pull/11946) - -## v2.11.5 (2025-05-22) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.5) - -### What's Changed - -#### Fixes - -* Check if `FieldInfo` is complete after applying type variable map by [@Viicos](https://github.com/Viicos) in [#11855](https://github.com/pydantic/pydantic/pull/11855) -* Do not delete mock validator/serializer in `model_rebuild()` by [@Viicos](https://github.com/Viicos) in [#11890](https://github.com/pydantic/pydantic/pull/11890) -* Do not duplicate metadata on model rebuild by [@Viicos](https://github.com/Viicos) in [#11902](https://github.com/pydantic/pydantic/pull/11902) - -## v2.11.4 (2025-04-29) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.4) - -### What's Changed - -#### Packaging - -* Bump `mkdocs-llmstxt` to v0.2.0 by [@Viicos](https://github.com/Viicos) in [#11725](https://github.com/pydantic/pydantic/pull/11725) - -#### Changes - -* Allow config and bases to be specified together in `create_model()` by [@Viicos](https://github.com/Viicos) in [#11714](https://github.com/pydantic/pydantic/pull/11714). - This change was backported as it was previously possible (although not meant to be supported) - to provide `model_config` as a field, which would make it possible to provide both configuration - and bases. - -#### Fixes - -* Remove generics cache workaround by [@Viicos](https://github.com/Viicos) in [#11755](https://github.com/pydantic/pydantic/pull/11755) -* Remove coercion of decimal constraints by [@Viicos](https://github.com/Viicos) in [#11772](https://github.com/pydantic/pydantic/pull/11772) -* Fix crash when expanding root type in the mypy plugin by [@Viicos](https://github.com/Viicos) in [#11735](https://github.com/pydantic/pydantic/pull/11735) -* Fix issue with recursive generic models by [@Viicos](https://github.com/Viicos) in [#11775](https://github.com/pydantic/pydantic/pull/11775) -* Traverse `function-before` schemas during schema gathering by [@Viicos](https://github.com/Viicos) in [#11801](https://github.com/pydantic/pydantic/pull/11801) - -## v2.11.3 (2025-04-08) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.3) - -### What's Changed - -#### Packaging - -* Update V1 copy to v1.10.21 by [@Viicos](https://github.com/Viicos) in [#11706](https://github.com/pydantic/pydantic/pull/11706) - -#### Fixes - -* Preserve field description when rebuilding model fields by [@Viicos](https://github.com/Viicos) in [#11698](https://github.com/pydantic/pydantic/pull/11698) - -## v2.11.2 (2025-04-03) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.2) - -### What's Changed - -#### Fixes - -* Bump `pydantic-core` to v2.33.1 by [@Viicos](https://github.com/Viicos) in [#11678](https://github.com/pydantic/pydantic/pull/11678) -* Make sure `__pydantic_private__` exists before setting private attributes by [@Viicos](https://github.com/Viicos) in [#11666](https://github.com/pydantic/pydantic/pull/11666) -* Do not override `FieldInfo._complete` when using field from parent class by [@Viicos](https://github.com/Viicos) in [#11668](https://github.com/pydantic/pydantic/pull/11668) -* Provide the available definitions when applying discriminated unions by [@Viicos](https://github.com/Viicos) in [#11670](https://github.com/pydantic/pydantic/pull/11670) -* Do not expand root type in the mypy plugin for variables by [@Viicos](https://github.com/Viicos) in [#11676](https://github.com/pydantic/pydantic/pull/11676) -* Mention the attribute name in model fields deprecation message by [@Viicos](https://github.com/Viicos) in [#11674](https://github.com/pydantic/pydantic/pull/11674) -* Properly validate parameterized mappings by [@Viicos](https://github.com/Viicos) in [#11658](https://github.com/pydantic/pydantic/pull/11658) - -## v2.11.1 (2025-03-28) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.1) - -### What's Changed - -#### Fixes - -* Do not override `'definitions-ref'` schemas containing serialization schemas or metadata by [@Viicos](https://github.com/Viicos) in [#11644](https://github.com/pydantic/pydantic/pull/11644) - -## v2.11.0 (2025-03-27) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0) - -### What's Changed - -Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general). -See the [blog post](https://pydantic.dev/articles/pydantic-v2-11-release) for more details. - -#### Packaging - -* Bump `pydantic-core` to v2.33.0 by [@Viicos](https://github.com/Viicos) in [#11631](https://github.com/pydantic/pydantic/pull/11631) - -#### New Features - -* Add `encoded_string()` method to the URL types by [@YassinNouh21](https://github.com/YassinNouh21) in [#11580](https://github.com/pydantic/pydantic/pull/11580) -* Add support for `defer_build` with `@validate_call` decorator by [@Viicos](https://github.com/Viicos) in [#11584](https://github.com/pydantic/pydantic/pull/11584) -* Allow `@with_config` decorator to be used with keyword arguments by [@Viicos](https://github.com/Viicos) in [#11608](https://github.com/pydantic/pydantic/pull/11608) -* Simplify customization of default value inclusion in JSON Schema generation by [@Viicos](https://github.com/Viicos) in [#11634](https://github.com/pydantic/pydantic/pull/11634) -* Add `generate_arguments_schema()` function by [@Viicos](https://github.com/Viicos) in [#11572](https://github.com/pydantic/pydantic/pull/11572) - -#### Fixes - -* Allow generic typed dictionaries to be used for unpacked variadic keyword parameters by [@Viicos](https://github.com/Viicos) in [#11571](https://github.com/pydantic/pydantic/pull/11571) -* Fix runtime error when computing model string representation involving cached properties and self-referenced models by [@Viicos](https://github.com/Viicos) in [#11579](https://github.com/pydantic/pydantic/pull/11579) -* Preserve other steps when using the ellipsis in the pipeline API by [@Viicos](https://github.com/Viicos) in [#11626](https://github.com/pydantic/pydantic/pull/11626) -* Fix deferred discriminator application logic by [@Viicos](https://github.com/Viicos) in [#11591](https://github.com/pydantic/pydantic/pull/11591) - -### New Contributors - -* [@cmenon12](https://github.com/cmenon12) made their first contribution in [#11562](https://github.com/pydantic/pydantic/pull/11562) -* [@Jeukoh](https://github.com/Jeukoh) made their first contribution in [#11611](https://github.com/pydantic/pydantic/pull/11611) - -## v2.11.0b2 (2025-03-17) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0b2) - -### What's Changed - -#### Packaging - -* Bump `pydantic-core` to v2.32.0 by [@Viicos](https://github.com/Viicos) in [#11567](https://github.com/pydantic/pydantic/pull/11567) - -#### New Features - -* Add experimental support for free threading by [@Viicos](https://github.com/Viicos) in [#11516](https://github.com/pydantic/pydantic/pull/11516) - -#### Fixes - -* Fix `NotRequired` qualifier not taken into account in stringified annotation by [@Viicos](https://github.com/Viicos) in [#11559](https://github.com/pydantic/pydantic/pull/11559) - -### New Contributors - -* [@joren485](https://github.com/joren485) made their first contribution in [#11547](https://github.com/pydantic/pydantic/pull/11547) - -## v2.11.0b1 (2025-03-06) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0b1) - -### What's Changed - -#### Packaging - -* Add a `check_pydantic_core_version()` function by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11324 -* Remove `greenlet` development dependency by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11351 -* Use the `typing-inspection` library by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11479 -* Bump `pydantic-core` to `v2.31.1` by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11526 - -#### New Features - -* Support unsubstituted type variables with both a default and a bound or constraints by [@FyZzyss](https://github.com/FyZzyss) in https://github.com/pydantic/pydantic/pull/10789 -* Add a `default_factory_takes_validated_data` property to `FieldInfo` by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11034 -* Raise a better error when a generic alias is used inside `type[]` by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11088 -* Properly support PEP 695 generics syntax by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11189 -* Properly support type variable defaults by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11332 -* Add support for validating v6, v7, v8 UUIDs by [@astei](https://github.com/astei) in https://github.com/pydantic/pydantic/pull/11436 -* Improve alias configuration APIs by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11468 - -#### Changes - -* Rework `create_model` field definitions format by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11032 -* Raise a deprecation warning when a field is annotated as final with a default value by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11168 -* Deprecate accessing `model_fields` and `model_computed_fields` on instances by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11169 -* **Breaking Change:** Move core schema generation logic for path types inside the `GenerateSchema` class by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/10846 -* Remove Python 3.8 Support by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11258 -* Optimize calls to `get_type_ref` by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/10863 -* Disable `pydantic-core` core schema validation by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11271 - -#### Performance - -* Only evaluate `FieldInfo` annotations if required during schema building by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/10769 -* Improve `__setattr__` performance of Pydantic models by caching setter functions by [@MarkusSintonen](https://github.com/MarkusSintonen) in https://github.com/pydantic/pydantic/pull/10868 -* Improve annotation application performance by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11186 -* Improve performance of `_typing_extra` module by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11255 -* Refactor and optimize schema cleaning logic by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11244 -* Create a single dictionary when creating a `CoreConfig` instance by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11384 -* Bump `pydantic-core` and thus use `SchemaValidator` and `SchemaSerializer` caching by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11402 -* Reuse cached core schemas for parametrized generic Pydantic models by [@MarkusSintonen](https://github.com/MarkusSintonen) in https://github.com/pydantic/pydantic/pull/11434 - -#### Fixes - -* Improve `TypeAdapter` instance repr by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/10872 -* Use the correct frame when instantiating a parametrized `TypeAdapter` by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/10893 -* Infer final fields with a default value as class variables in the mypy plugin by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11121 -* Recursively unpack `Literal` values if using PEP 695 type aliases by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11114 -* Override `__subclasscheck__` on `ModelMetaclass` to avoid memory leak and performance issues by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11116 -* Remove unused `_extract_get_pydantic_json_schema()` parameter by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11155 -* Improve discriminated union error message for invalid union variants by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11161 -* Unpack PEP 695 type aliases if using the `Annotated` form by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11109 -* Add missing stacklevel in `deprecated_instance_property` warning by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11200 -* Copy `WithJsonSchema` schema to avoid sharing mutated data by [@thejcannon](https://github.com/thejcannon) in https://github.com/pydantic/pydantic/pull/11014 -* Do not cache parametrized models when in the process of parametrizing another model by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/10704 -* Add discriminated union related metadata entries to the `CoreMetadata` definition by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11216 -* Consolidate schema definitions logic in the `_Definitions` class by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11208 -* Support initializing root model fields with values of the `root` type in the mypy plugin by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11212 -* Fix various issues with dataclasses and `use_attribute_docstrings` by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11246 -* Only compute normalized decimal places if necessary in `decimal_places_validator` by [@misrasaurabh1](https://github.com/misrasaurabh1) in https://github.com/pydantic/pydantic/pull/11281 -* Add support for `validation_alias` in the mypy plugin by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11295 -* Fix JSON Schema reference collection with `"examples"` keys by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11305 -* Do not transform model serializer functions as class methods in the mypy plugin by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11298 -* Simplify `GenerateJsonSchema.literal_schema()` implementation by [@misrasaurabh1](https://github.com/misrasaurabh1) in https://github.com/pydantic/pydantic/pull/11321 -* Add additional allowed schemes for `ClickHouseDsn` by [@Maze21127](https://github.com/Maze21127) in https://github.com/pydantic/pydantic/pull/11319 -* Coerce decimal constraints to `Decimal` instances by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11350 -* Use the correct JSON Schema mode when handling function schemas by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11367 -* Improve exception message when encountering recursion errors during type evaluation by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11356 -* Always include `additionalProperties: True` for arbitrary dictionary schemas by [@austinyu](https://github.com/austinyu) in https://github.com/pydantic/pydantic/pull/11392 -* Expose `fallback` parameter in serialization methods by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11398 -* Fix path serialization behavior by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11416 -* Do not reuse validators and serializers during model rebuild by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11429 -* Collect model fields when rebuilding a model by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11388 -* Allow cached properties to be altered on frozen models by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11432 -* Fix tuple serialization for `Sequence` types by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11435 -* Fix: do not check for `__get_validators__` on classes where `__get_pydantic_core_schema__` is also defined by [@tlambert03](https://github.com/tlambert03) in https://github.com/pydantic/pydantic/pull/11444 -* Allow callable instances to be used as serializers by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11451 -* Improve error thrown when overriding field with a property by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11459 -* Fix JSON Schema generation with referenceable core schemas holding JSON metadata by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11475 -* Support strict specification on union member types by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11481 -* Implicitly set `validate_by_name` to `True` when `validate_by_alias` is `False` by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic/pull/11503 -* Change type of `Any` when synthesizing `BaseSettings.__init__` signature in the mypy plugin by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11497 -* Support type variable defaults referencing other type variables by [@Viicos](https://github.com/Viicos) in https://github.com/pydantic/pydantic/pull/11520 -* Fix `ValueError` on year zero by [@davidhewitt](https://github.com/davidhewitt) in https://github.com/pydantic/pydantic-core/pull/1583 -* `dataclass` `InitVar` shouldn't be required on serialization by [@sydney-runkle](https://github.com/sydney-runkle) in https://github.com/pydantic/pydantic-core/pull/1602 - -## New Contributors -* [@FyZzyss](https://github.com/FyZzyss) made their first contribution in https://github.com/pydantic/pydantic/pull/10789 -* [@tamird](https://github.com/tamird) made their first contribution in https://github.com/pydantic/pydantic/pull/10948 -* [@felixxm](https://github.com/felixxm) made their first contribution in https://github.com/pydantic/pydantic/pull/11077 -* [@alexprabhat99](https://github.com/alexprabhat99) made their first contribution in https://github.com/pydantic/pydantic/pull/11082 -* [@Kharianne](https://github.com/Kharianne) made their first contribution in https://github.com/pydantic/pydantic/pull/11111 -* [@mdaffad](https://github.com/mdaffad) made their first contribution in https://github.com/pydantic/pydantic/pull/11177 -* [@thejcannon](https://github.com/thejcannon) made their first contribution in https://github.com/pydantic/pydantic/pull/11014 -* [@thomasfrimannkoren](https://github.com/thomasfrimannkoren) made their first contribution in https://github.com/pydantic/pydantic/pull/11251 -* [@usernameMAI](https://github.com/usernameMAI) made their first contribution in https://github.com/pydantic/pydantic/pull/11275 -* [@ananiavito](https://github.com/ananiavito) made their first contribution in https://github.com/pydantic/pydantic/pull/11302 -* [@pawamoy](https://github.com/pawamoy) made their first contribution in https://github.com/pydantic/pydantic/pull/11311 -* [@Maze21127](https://github.com/Maze21127) made their first contribution in https://github.com/pydantic/pydantic/pull/11319 -* [@kauabh](https://github.com/kauabh) made their first contribution in https://github.com/pydantic/pydantic/pull/11369 -* [@jaceklaskowski](https://github.com/jaceklaskowski) made their first contribution in https://github.com/pydantic/pydantic/pull/11353 -* [@tmpbeing](https://github.com/tmpbeing) made their first contribution in https://github.com/pydantic/pydantic/pull/11375 -* [@petyosi](https://github.com/petyosi) made their first contribution in https://github.com/pydantic/pydantic/pull/11405 -* [@austinyu](https://github.com/austinyu) made their first contribution in https://github.com/pydantic/pydantic/pull/11392 -* [@mikeedjones](https://github.com/mikeedjones) made their first contribution in https://github.com/pydantic/pydantic/pull/11402 -* [@astei](https://github.com/astei) made their first contribution in https://github.com/pydantic/pydantic/pull/11436 -* [@dsayling](https://github.com/dsayling) made their first contribution in https://github.com/pydantic/pydantic/pull/11522 -* [@sobolevn](https://github.com/sobolevn) made their first contribution in https://github.com/pydantic/pydantic-core/pull/1645 - -## v2.11.0a2 (2025-02-10) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0a2) - -### What's Changed - -Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general). -This is another early alpha release, meant to collect early feedback from users having issues with core schema builds. - -#### Packaging - -* Bump `ruff` from 0.9.2 to 0.9.5 by [@Viicos](https://github.com/Viicos) in [#11407](https://github.com/pydantic/pydantic/pull/11407) -* Bump `pydantic-core` to v2.29.0 by [@mikeedjones](https://github.com/mikeedjones) in [#11402](https://github.com/pydantic/pydantic/pull/11402) -* Use locally-built rust with symbols & pgo by [@davidhewitt](https://github.com/davidhewitt) in [#11403](https://github.com/pydantic/pydantic/pull/11403) - - -#### Performance - -* Create a single dictionary when creating a `CoreConfig` instance by [@sydney-runkle](https://github.com/sydney-runkle) in [#11384](https://github.com/pydantic/pydantic/pull/11384) - -#### Fixes - -* Use the correct JSON Schema mode when handling function schemas by [@Viicos](https://github.com/Viicos) in [#11367](https://github.com/pydantic/pydantic/pull/11367) -* Fix JSON Schema reference logic with `examples` keys by [@Viicos](https://github.com/Viicos) in [#11366](https://github.com/pydantic/pydantic/pull/11366) -* Improve exception message when encountering recursion errors during type evaluation by [@Viicos](https://github.com/Viicos) in [#11356](https://github.com/pydantic/pydantic/pull/11356) -* Always include `additionalProperties: True` for arbitrary dictionary schemas by [@austinyu](https://github.com/austinyu) in [#11392](https://github.com/pydantic/pydantic/pull/11392) -* Expose `fallback` parameter in serialization methods by [@Viicos](https://github.com/Viicos) in [#11398](https://github.com/pydantic/pydantic/pull/11398) -* Fix path serialization behavior by [@sydney-runkle](https://github.com/sydney-runkle) in [#11416](https://github.com/pydantic/pydantic/pull/11416) - -### New Contributors - -* [@kauabh](https://github.com/kauabh) made their first contribution in [#11369](https://github.com/pydantic/pydantic/pull/11369) -* [@jaceklaskowski](https://github.com/jaceklaskowski) made their first contribution in [#11353](https://github.com/pydantic/pydantic/pull/11353) -* [@tmpbeing](https://github.com/tmpbeing) made their first contribution in [#11375](https://github.com/pydantic/pydantic/pull/11375) -* [@petyosi](https://github.com/petyosi) made their first contribution in [#11405](https://github.com/pydantic/pydantic/pull/11405) -* [@austinyu](https://github.com/austinyu) made their first contribution in [#11392](https://github.com/pydantic/pydantic/pull/11392) -* [@mikeedjones](https://github.com/mikeedjones) made their first contribution in [#11402](https://github.com/pydantic/pydantic/pull/11402) - -## v2.11.0a1 (2025-01-30) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.11.0a1) - -### What's Changed - -Pydantic v2.11 is a version strongly focused on build time performance of Pydantic models (and core schema generation in general). -This is an early alpha release, meant to collect early feedback from users having issues with core schema builds. - -#### Packaging - -* Bump dawidd6/action-download-artifact from 6 to 7 by [@dependabot](https://github.com/dependabot) in [#11018](https://github.com/pydantic/pydantic/pull/11018) -* Re-enable memray related tests on Python 3.12+ by [@Viicos](https://github.com/Viicos) in [#11191](https://github.com/pydantic/pydantic/pull/11191) -* Bump astral-sh/setup-uv to 5 by [@dependabot](https://github.com/dependabot) in [#11205](https://github.com/pydantic/pydantic/pull/11205) -* Bump `ruff` to v0.9.0 by [@sydney-runkle](https://github.com/sydney-runkle) in [#11254](https://github.com/pydantic/pydantic/pull/11254) -* Regular `uv.lock` deps update by [@sydney-runkle](https://github.com/sydney-runkle) in [#11333](https://github.com/pydantic/pydantic/pull/11333) -* Add a `check_pydantic_core_version()` function by [@Viicos](https://github.com/Viicos) in [#11324](https://github.com/pydantic/pydantic/pull/11324) -* Remove `greenlet` development dependency by [@Viicos](https://github.com/Viicos) in [#11351](https://github.com/pydantic/pydantic/pull/11351) -* Bump `pydantic-core` to v2.28.0 by [@Viicos](https://github.com/Viicos) in [#11364](https://github.com/pydantic/pydantic/pull/11364) - -#### New Features - -* Support unsubstituted type variables with both a default and a bound or constraints by [@FyZzyss](https://github.com/FyZzyss) in [#10789](https://github.com/pydantic/pydantic/pull/10789) -* Add a `default_factory_takes_validated_data` property to `FieldInfo` by [@Viicos](https://github.com/Viicos) in [#11034](https://github.com/pydantic/pydantic/pull/11034) -* Raise a better error when a generic alias is used inside `type[]` by [@Viicos](https://github.com/Viicos) in [#11088](https://github.com/pydantic/pydantic/pull/11088) -* Properly support PEP 695 generics syntax by [@Viicos](https://github.com/Viicos) in [#11189](https://github.com/pydantic/pydantic/pull/11189) -* Properly support type variable defaults by [@Viicos](https://github.com/Viicos) in [#11332](https://github.com/pydantic/pydantic/pull/11332) - -#### Changes - -* Rework `create_model` field definitions format by [@Viicos](https://github.com/Viicos) in [#11032](https://github.com/pydantic/pydantic/pull/11032) -* Raise a deprecation warning when a field is annotated as final with a default value by [@Viicos](https://github.com/Viicos) in [#11168](https://github.com/pydantic/pydantic/pull/11168) -* Deprecate accessing `model_fields` and `model_computed_fields` on instances by [@Viicos](https://github.com/Viicos) in [#11169](https://github.com/pydantic/pydantic/pull/11169) -* Move core schema generation logic for path types inside the `GenerateSchema` class by [@sydney-runkle](https://github.com/sydney-runkle) in [#10846](https://github.com/pydantic/pydantic/pull/10846) -* Move `deque` schema gen to `GenerateSchema` class by [@sydney-runkle](https://github.com/sydney-runkle) in [#11239](https://github.com/pydantic/pydantic/pull/11239) -* Move `Mapping` schema gen to `GenerateSchema` to complete removal of `prepare_annotations_for_known_type` workaround by [@sydney-runkle](https://github.com/sydney-runkle) in [#11247](https://github.com/pydantic/pydantic/pull/11247) -* Remove Python 3.8 Support by [@sydney-runkle](https://github.com/sydney-runkle) in [#11258](https://github.com/pydantic/pydantic/pull/11258) -* Disable `pydantic-core` core schema validation by [@sydney-runkle](https://github.com/sydney-runkle) in [#11271](https://github.com/pydantic/pydantic/pull/11271) - -#### Performance - -* Only evaluate `FieldInfo` annotations if required during schema building by [@Viicos](https://github.com/Viicos) in [#10769](https://github.com/pydantic/pydantic/pull/10769) -* Optimize calls to `get_type_ref` by [@Viicos](https://github.com/Viicos) in [#10863](https://github.com/pydantic/pydantic/pull/10863) -* Improve `__setattr__` performance of Pydantic models by caching setter functions by [@MarkusSintonen](https://github.com/MarkusSintonen) in [#10868](https://github.com/pydantic/pydantic/pull/10868) -* Improve annotation application performance by [@Viicos](https://github.com/Viicos) in [#11186](https://github.com/pydantic/pydantic/pull/11186) -* Improve performance of `_typing_extra` module by [@Viicos](https://github.com/Viicos) in [#11255](https://github.com/pydantic/pydantic/pull/11255) -* Refactor and optimize schema cleaning logic by [@Viicos](https://github.com/Viicos) and [@MarkusSintonen](https://github.com/MarkusSintonen) in [#11244](https://github.com/pydantic/pydantic/pull/11244) - -#### Fixes - -* Add validation tests for `_internal/_validators.py` by [@tkasuz](https://github.com/tkasuz) in [#10763](https://github.com/pydantic/pydantic/pull/10763) -* Improve `TypeAdapter` instance repr by [@sydney-runkle](https://github.com/sydney-runkle) in [#10872](https://github.com/pydantic/pydantic/pull/10872) -* Revert "ci: use locally built pydantic-core with debug symbols by [@sydney-runkle](https://github.com/sydney-runkle) in [#10942](https://github.com/pydantic/pydantic/pull/10942) -* Re-enable all FastAPI tests by [@tamird](https://github.com/tamird) in [#10948](https://github.com/pydantic/pydantic/pull/10948) -* Fix typo in HISTORY.md. by [@felixxm](https://github.com/felixxm) in [#11077](https://github.com/pydantic/pydantic/pull/11077) -* Infer final fields with a default value as class variables in the mypy plugin by [@Viicos](https://github.com/Viicos) in [#11121](https://github.com/pydantic/pydantic/pull/11121) -* Recursively unpack `Literal` values if using PEP 695 type aliases by [@Viicos](https://github.com/Viicos) in [#11114](https://github.com/pydantic/pydantic/pull/11114) -* Override `__subclasscheck__` on `ModelMetaclass` to avoid memory leak and performance issues by [@Viicos](https://github.com/Viicos) in [#11116](https://github.com/pydantic/pydantic/pull/11116) -* Remove unused `_extract_get_pydantic_json_schema()` parameter by [@Viicos](https://github.com/Viicos) in [#11155](https://github.com/pydantic/pydantic/pull/11155) -* Add FastAPI and SQLModel to third-party tests by [@sydney-runkle](https://github.com/sydney-runkle) in [#11044](https://github.com/pydantic/pydantic/pull/11044) -* Fix conditional expressions syntax for third-party tests by [@Viicos](https://github.com/Viicos) in [#11162](https://github.com/pydantic/pydantic/pull/11162) -* Move FastAPI tests to third-party workflow by [@Viicos](https://github.com/Viicos) in [#11164](https://github.com/pydantic/pydantic/pull/11164) -* Improve discriminated union error message for invalid union variants by [@Viicos](https://github.com/Viicos) in [#11161](https://github.com/pydantic/pydantic/pull/11161) -* Unpack PEP 695 type aliases if using the `Annotated` form by [@Viicos](https://github.com/Viicos) in [#11109](https://github.com/pydantic/pydantic/pull/11109) -* Include `openapi-python-client` check in issue creation for third-party failures, use `main` branch by [@sydney-runkle](https://github.com/sydney-runkle) in [#11182](https://github.com/pydantic/pydantic/pull/11182) -* Add pandera third-party tests by [@Viicos](https://github.com/Viicos) in [#11193](https://github.com/pydantic/pydantic/pull/11193) -* Add ODMantic third-party tests by [@sydney-runkle](https://github.com/sydney-runkle) in [#11197](https://github.com/pydantic/pydantic/pull/11197) -* Add missing stacklevel in `deprecated_instance_property` warning by [@Viicos](https://github.com/Viicos) in [#11200](https://github.com/pydantic/pydantic/pull/11200) -* Copy `WithJsonSchema` schema to avoid sharing mutated data by [@thejcannon](https://github.com/thejcannon) in [#11014](https://github.com/pydantic/pydantic/pull/11014) -* Do not cache parametrized models when in the process of parametrizing another model by [@Viicos](https://github.com/Viicos) in [#10704](https://github.com/pydantic/pydantic/pull/10704) -* Re-enable Beanie third-party tests by [@Viicos](https://github.com/Viicos) in [#11214](https://github.com/pydantic/pydantic/pull/11214) -* Add discriminated union related metadata entries to the `CoreMetadata` definition by [@Viicos](https://github.com/Viicos) in [#11216](https://github.com/pydantic/pydantic/pull/11216) -* Consolidate schema definitions logic in the `_Definitions` class by [@Viicos](https://github.com/Viicos) in [#11208](https://github.com/pydantic/pydantic/pull/11208) -* Support initializing root model fields with values of the `root` type in the mypy plugin by [@Viicos](https://github.com/Viicos) in [#11212](https://github.com/pydantic/pydantic/pull/11212) -* Fix various issues with dataclasses and `use_attribute_docstrings` by [@Viicos](https://github.com/Viicos) in [#11246](https://github.com/pydantic/pydantic/pull/11246) -* Only compute normalized decimal places if necessary in `decimal_places_validator` by [@misrasaurabh1](https://github.com/misrasaurabh1) in [#11281](https://github.com/pydantic/pydantic/pull/11281) -* Fix two misplaced sentences in validation errors documentation by [@ananiavito](https://github.com/ananiavito) in [#11302](https://github.com/pydantic/pydantic/pull/11302) -* Fix mkdocstrings inventory example in documentation by [@pawamoy](https://github.com/pawamoy) in [#11311](https://github.com/pydantic/pydantic/pull/11311) -* Add support for `validation_alias` in the mypy plugin by [@Viicos](https://github.com/Viicos) in [#11295](https://github.com/pydantic/pydantic/pull/11295) -* Do not transform model serializer functions as class methods in the mypy plugin by [@Viicos](https://github.com/Viicos) in [#11298](https://github.com/pydantic/pydantic/pull/11298) -* Simplify `GenerateJsonSchema.literal_schema()` implementation by [@misrasaurabh1](https://github.com/misrasaurabh1) in [#11321](https://github.com/pydantic/pydantic/pull/11321) -* Add additional allowed schemes for `ClickHouseDsn` by [@Maze21127](https://github.com/Maze21127) in [#11319](https://github.com/pydantic/pydantic/pull/11319) -* Coerce decimal constraints to `Decimal` instances by [@Viicos](https://github.com/Viicos) in [#11350](https://github.com/pydantic/pydantic/pull/11350) -* Fix `ValueError` on year zero by [@davidhewitt](https://github.com/davidhewitt) in [pydantic-core#1583](https://github.com/pydantic/pydantic-core/pull/1583) - -### New Contributors - -* [@FyZzyss](https://github.com/FyZzyss) made their first contribution in [#10789](https://github.com/pydantic/pydantic/pull/10789) -* [@tamird](https://github.com/tamird) made their first contribution in [#10948](https://github.com/pydantic/pydantic/pull/10948) -* [@felixxm](https://github.com/felixxm) made their first contribution in [#11077](https://github.com/pydantic/pydantic/pull/11077) -* [@alexprabhat99](https://github.com/alexprabhat99) made their first contribution in [#11082](https://github.com/pydantic/pydantic/pull/11082) -* [@Kharianne](https://github.com/Kharianne) made their first contribution in [#11111](https://github.com/pydantic/pydantic/pull/11111) -* [@mdaffad](https://github.com/mdaffad) made their first contribution in [#11177](https://github.com/pydantic/pydantic/pull/11177) -* [@thejcannon](https://github.com/thejcannon) made their first contribution in [#11014](https://github.com/pydantic/pydantic/pull/11014) -* [@thomasfrimannkoren](https://github.com/thomasfrimannkoren) made their first contribution in [#11251](https://github.com/pydantic/pydantic/pull/11251) -* [@usernameMAI](https://github.com/usernameMAI) made their first contribution in [#11275](https://github.com/pydantic/pydantic/pull/11275) -* [@ananiavito](https://github.com/ananiavito) made their first contribution in [#11302](https://github.com/pydantic/pydantic/pull/11302) -* [@pawamoy](https://github.com/pawamoy) made their first contribution in [#11311](https://github.com/pydantic/pydantic/pull/11311) -* [@Maze21127](https://github.com/Maze21127) made their first contribution in [#11319](https://github.com/pydantic/pydantic/pull/11319) - -## v2.10.6 (2025-01-23) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.6) - -### What's Changed - -#### Fixes - -* Fix JSON Schema reference collection with `'examples'` keys by [@Viicos](https://github.com/Viicos) in [#11325](https://github.com/pydantic/pydantic/pull/11325) -* Fix url python serialization by [@sydney-runkle](https://github.com/sydney-runkle) in [#11331](https://github.com/pydantic/pydantic/pull/11331) - -## v2.10.5 (2025-01-08) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.5) - -### What's Changed - -#### Fixes - -* Remove custom MRO implementation of Pydantic models by [@Viicos](https://github.com/Viicos) in [#11184](https://github.com/pydantic/pydantic/pull/11184) -* Fix URL serialization for unions by [@sydney-runkle](https://github.com/sydney-runkle) in [#11233](https://github.com/pydantic/pydantic/pull/11233) - -## v2.10.4 (2024-12-18) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.4) - -### What's Changed - -#### Packaging - -* Bump `pydantic-core` to v2.27.2 by [@davidhewitt](https://github.com/davidhewitt) in [#11138](https://github.com/pydantic/pydantic/pull/11138) - -#### Fixes - -* Fix for comparison of `AnyUrl` objects by [@alexprabhat99](https://github.com/alexprabhat99) in [#11082](https://github.com/pydantic/pydantic/pull/11082) -* Properly fetch PEP 695 type params for functions, do not fetch annotations from signature by [@Viicos](https://github.com/Viicos) in [#11093](https://github.com/pydantic/pydantic/pull/11093) -* Include JSON Schema input core schema in function schemas by [@Viicos](https://github.com/Viicos) in [#11085](https://github.com/pydantic/pydantic/pull/11085) -* Add `len` to `_BaseUrl` to avoid TypeError by [@Kharianne](https://github.com/Kharianne) in [#11111](https://github.com/pydantic/pydantic/pull/11111) -* Make sure the type reference is removed from the seen references by [@Viicos](https://github.com/Viicos) in [#11143](https://github.com/pydantic/pydantic/pull/11143) - -### New Contributors - -* [@FyZzyss](https://github.com/FyZzyss) made their first contribution in [#10789](https://github.com/pydantic/pydantic/pull/10789) -* [@tamird](https://github.com/tamird) made their first contribution in [#10948](https://github.com/pydantic/pydantic/pull/10948) -* [@felixxm](https://github.com/felixxm) made their first contribution in [#11077](https://github.com/pydantic/pydantic/pull/11077) -* [@alexprabhat99](https://github.com/alexprabhat99) made their first contribution in [#11082](https://github.com/pydantic/pydantic/pull/11082) -* [@Kharianne](https://github.com/Kharianne) made their first contribution in [#11111](https://github.com/pydantic/pydantic/pull/11111) - -## v2.10.3 (2024-12-03) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.3) - -### What's Changed - -#### Fixes - -* Set fields when `defer_build` is set on Pydantic dataclasses by [@Viicos](https://github.com/Viicos) in [#10984](https://github.com/pydantic/pydantic/pull/10984) -* Do not resolve the JSON Schema reference for `dict` core schema keys by [@Viicos](https://github.com/Viicos) in [#10989](https://github.com/pydantic/pydantic/pull/10989) -* Use the globals of the function when evaluating the return type for `PlainSerializer` and `WrapSerializer` functions by [@Viicos](https://github.com/Viicos) in [#11008](https://github.com/pydantic/pydantic/pull/11008) -* Fix host required enforcement for urls to be compatible with v2.9 behavior by [@sydney-runkle](https://github.com/sydney-runkle) in [#11027](https://github.com/pydantic/pydantic/pull/11027) -* Add a `default_factory_takes_validated_data` property to `FieldInfo` by [@Viicos](https://github.com/Viicos) in [#11034](https://github.com/pydantic/pydantic/pull/11034) -* Fix url json schema in `serialization` mode by [@sydney-runkle](https://github.com/sydney-runkle) in [#11035](https://github.com/pydantic/pydantic/pull/11035) - -## v2.10.2 (2024-11-25) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.2) - -### What's Changed - -#### Fixes - -* Only evaluate FieldInfo annotations if required during schema building by [@Viicos](https://github.com/Viicos) in [#10769](https://github.com/pydantic/pydantic/pull/10769) -* Do not evaluate annotations for private fields by [@Viicos](https://github.com/Viicos) in [#10962](https://github.com/pydantic/pydantic/pull/10962) -* Support serialization as any for `Secret` types and `Url` types by [@sydney-runkle](https://github.com/sydney-runkle) in [#10947](https://github.com/pydantic/pydantic/pull/10947) -* Fix type hint of `Field.default` to be compatible with Python 3.8 and 3.9 by [@Viicos](https://github.com/Viicos) in [#10972](https://github.com/pydantic/pydantic/pull/10972) -* Add hashing support for URL types by [@sydney-runkle](https://github.com/sydney-runkle) in [#10975](https://github.com/pydantic/pydantic/pull/10975) -* Hide `BaseModel.__replace__` definition from type checkers by [@Viicos](https://github.com/Viicos) in [#10979](https://github.com/pydantic/pydantic/pull/10979) - -## v2.10.1 (2024-11-21) - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.1) - -### What's Changed - -#### Packaging - -* Bump `pydantic-core` version to `v2.27.1` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10938](https://github.com/pydantic/pydantic/pull/10938) - -#### Fixes - -* Use the correct frame when instantiating a parametrized `TypeAdapter` by [@Viicos](https://github.com/Viicos) in [#10893](https://github.com/pydantic/pydantic/pull/10893) -* Relax check for validated data in `default_factory` utils by [@sydney-runkle](https://github.com/sydney-runkle) in [#10909](https://github.com/pydantic/pydantic/pull/10909) -* Fix type checking issue with `model_fields` and `model_computed_fields` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10911](https://github.com/pydantic/pydantic/pull/10911) -* Use the parent configuration during schema generation for stdlib `dataclass`es by [@sydney-runkle](https://github.com/sydney-runkle) in [#10928](https://github.com/pydantic/pydantic/pull/10928) -* Use the `globals` of the function when evaluating the return type of serializers and `computed_field`s by [@Viicos](https://github.com/Viicos) in [#10929](https://github.com/pydantic/pydantic/pull/10929) -* Fix URL constraint application by [@sydney-runkle](https://github.com/sydney-runkle) in [#10922](https://github.com/pydantic/pydantic/pull/10922) -* Fix URL equality with different validation methods by [@sydney-runkle](https://github.com/sydney-runkle) in [#10934](https://github.com/pydantic/pydantic/pull/10934) -* Fix JSON schema title when specified as `''` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10936](https://github.com/pydantic/pydantic/pull/10936) -* Fix `python` mode serialization for `complex` inference by [@sydney-runkle](https://github.com/sydney-runkle) in [pydantic-core#1549](https://github.com/pydantic/pydantic-core/pull/1549) - -### New Contributors - -## v2.10.0 (2024-11-20) - -The code released in v2.10.0 is practically identical to that of v2.10.0b2. - -[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.0) - -See the [v2.10 release blog post](https://pydantic.dev/articles/pydantic-v2-10-release) for the highlights! - -### What's Changed - -#### Packaging - -* Bump `pydantic-core` to `v2.27.0` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10825](https://github.com/pydantic/pydantic/pull/10825) -* Replaced pdm with uv by [@frfahim](https://github.com/frfahim) in [#10727](https://github.com/pydantic/pydantic/pull/10727) - -#### New Features - -* Support `fractions.Fraction` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10318](https://github.com/pydantic/pydantic/pull/10318) -* Support `Hashable` for json validation by [@sydney-runkle](https://github.com/sydney-runkle) in [#10324](https://github.com/pydantic/pydantic/pull/10324) -* Add a `SocketPath` type for `linux` systems by [@theunkn0wn1](https://github.com/theunkn0wn1) in [#10378](https://github.com/pydantic/pydantic/pull/10378) -* Allow arbitrary refs in JSON schema `examples` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10417](https://github.com/pydantic/pydantic/pull/10417) -* Support `defer_build` for Pydantic dataclasses by [@Viicos](https://github.com/Viicos) in [#10313](https://github.com/pydantic/pydantic/pull/10313) -* Adding v1 / v2 incompatibility warning for nested v1 model by [@sydney-runkle](https://github.com/sydney-runkle) in [#10431](https://github.com/pydantic/pydantic/pull/10431) -* Add support for unpacked `TypedDict` to type hint variadic keyword arguments with `@validate_call` by [@Viicos](https://github.com/Viicos) in [#10416](https://github.com/pydantic/pydantic/pull/10416) -* Support compiled patterns in `protected_namespaces` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10522](https://github.com/pydantic/pydantic/pull/10522) -* Add support for `propertyNames` in JSON schema by [@FlorianSW](https://github.com/FlorianSW) in [#10478](https://github.com/pydantic/pydantic/pull/10478) -* Adding `__replace__` protocol for Python 3.13+ support by [@sydney-runkle](https://github.com/sydney-runkle) in [#10596](https://github.com/pydantic/pydantic/pull/10596) -* Expose public `sort` method for JSON schema generation by [@sydney-runkle](https://github.com/sydney-runkle) in [#10595](https://github.com/pydantic/pydantic/pull/10595) -* Add runtime validation of `@validate_call` callable argument by [@kc0506](https://github.com/kc0506) in [#10627](https://github.com/pydantic/pydantic/pull/10627) -* Add `experimental_allow_partial` support by [@samuelcolvin](https://github.com/samuelcolvin) in [#10748](https://github.com/pydantic/pydantic/pull/10748) -* Support default factories taking validated data as an argument by [@Viicos](https://github.com/Viicos) in [#10678](https://github.com/pydantic/pydantic/pull/10678) -* Allow subclassing `ValidationError` and `PydanticCustomError` by [@Youssefares](https://github.com/Youssefares) in [pydantic/pydantic-core#1413](https://github.com/pydantic/pydantic-core/pull/1413) -* Add `trailing-strings` support to `experimental_allow_partial` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10825](https://github.com/pydantic/pydantic/pull/10825) -* Add `rebuild()` method for `TypeAdapter` and simplify `defer_build` patterns by [@sydney-runkle](https://github.com/sydney-runkle) in [#10537](https://github.com/pydantic/pydantic/pull/10537) -* Improve `TypeAdapter` instance repr by [@sydney-runkle](https://github.com/sydney-runkle) in [#10872](https://github.com/pydantic/pydantic/pull/10872) - -#### Changes - -* Don't allow customization of `SchemaGenerator` until interface is more stable by [@sydney-runkle](https://github.com/sydney-runkle) in [#10303](https://github.com/pydantic/pydantic/pull/10303) -* Cleanly `defer_build` on `TypeAdapters`, removing experimental flag by [@sydney-runkle](https://github.com/sydney-runkle) in [#10329](https://github.com/pydantic/pydantic/pull/10329) -* Fix `mro` of generic subclass by [@kc0506](https://github.com/kc0506) in [#10100](https://github.com/pydantic/pydantic/pull/10100) -* Strip whitespaces on JSON Schema title generation by [@sydney-runkle](https://github.com/sydney-runkle) in [#10404](https://github.com/pydantic/pydantic/pull/10404) -* Use `b64decode` and `b64encode` for `Base64Bytes` type by [@sydney-runkle](https://github.com/sydney-runkle) in [#10486](https://github.com/pydantic/pydantic/pull/10486) -* Relax protected namespace config default by [@sydney-runkle](https://github.com/sydney-runkle) in [#10441](https://github.com/pydantic/pydantic/pull/10441) -* Revalidate parametrized generics if instance's origin is subclass of OG class by [@sydney-runkle](https://github.com/sydney-runkle) in [#10666](https://github.com/pydantic/pydantic/pull/10666) -* Warn if configuration is specified on the `@dataclass` decorator and with the `__pydantic_config__` attribute by [@sydney-runkle](https://github.com/sydney-runkle) in [#10406](https://github.com/pydantic/pydantic/pull/10406) -* Recommend against using `Ellipsis` (...) with `Field` by [@Viicos](https://github.com/Viicos) in [#10661](https://github.com/pydantic/pydantic/pull/10661) -* Migrate to subclassing instead of annotated approach for pydantic url types by [@sydney-runkle](https://github.com/sydney-runkle) in [#10662](https://github.com/pydantic/pydantic/pull/10662) -* Change JSON schema generation of `Literal`s and `Enums` by [@Viicos](https://github.com/Viicos) in [#10692](https://github.com/pydantic/pydantic/pull/10692) -* Simplify unions involving `Any` or `Never` when replacing type variables by [@Viicos](https://github.com/Viicos) in [#10338](https://github.com/pydantic/pydantic/pull/10338) -* Do not require padding when decoding `base64` bytes by [@bschoenmaeckers](https://github.com/bschoenmaeckers) in [pydantic/pydantic-core#1448](https://github.com/pydantic/pydantic-core/pull/1448) -* Support dates all the way to 1BC by [@changhc](https://github.com/changhc) in [pydantic/speedate#77](https://github.com/pydantic/speedate/pull/77) - -#### Performance - -* Schema cleaning: skip unnecessary copies during schema walking by [@Viicos](https://github.com/Viicos) in [#10286](https://github.com/pydantic/pydantic/pull/10286) -* Refactor namespace logic for annotations evaluation by [@Viicos](https://github.com/Viicos) in [#10530](https://github.com/pydantic/pydantic/pull/10530) -* Improve email regexp on edge cases by [@AlekseyLobanov](https://github.com/AlekseyLobanov) in [#10601](https://github.com/pydantic/pydantic/pull/10601) -* `CoreMetadata` refactor with an emphasis on documentation, schema build time performance, and reducing complexity by [@sydney-runkle](https://github.com/sydney-runkle) in [#10675](https://github.com/pydantic/pydantic/pull/10675) - -#### Fixes - -* Remove guarding check on `computed_field` with `field_serializer` by [@nix010](https://github.com/nix010) in [#10390](https://github.com/pydantic/pydantic/pull/10390) -* Fix `Predicate` issue in `v2.9.0` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10321](https://github.com/pydantic/pydantic/pull/10321) -* Fixing `annotated-types` bound by [@sydney-runkle](https://github.com/sydney-runkle) in [#10327](https://github.com/pydantic/pydantic/pull/10327) -* Turn `tzdata` install requirement into optional `timezone` dependency by [@jakob-keller](https://github.com/jakob-keller) in [#10331](https://github.com/pydantic/pydantic/pull/10331) -* Use correct types namespace when building `namedtuple` core schemas by [@Viicos](https://github.com/Viicos) in [#10337](https://github.com/pydantic/pydantic/pull/10337) -* Fix evaluation of stringified annotations during namespace inspection by [@Viicos](https://github.com/Viicos) in [#10347](https://github.com/pydantic/pydantic/pull/10347) -* Fix `IncEx` type alias definition by [@Viicos](https://github.com/Viicos) in [#10339](https://github.com/pydantic/pydantic/pull/10339) -* Do not error when trying to evaluate annotations of private attributes by [@Viicos](https://github.com/Viicos) in [#10358](https://github.com/pydantic/pydantic/pull/10358) -* Fix nested type statement by [@kc0506](https://github.com/kc0506) in [#10369](https://github.com/pydantic/pydantic/pull/10369) -* Improve typing of `ModelMetaclass.mro` by [@Viicos](https://github.com/Viicos) in [#10372](https://github.com/pydantic/pydantic/pull/10372) -* Fix class access of deprecated `computed_field`s by [@Viicos](https://github.com/Viicos) in [#10391](https://github.com/pydantic/pydantic/pull/10391) -* Make sure `inspect.iscoroutinefunction` works on coroutines decorated with `@validate_call` by [@MovisLi](https://github.com/MovisLi) in [#10374](https://github.com/pydantic/pydantic/pull/10374) -* Fix `NameError` when using `validate_call` with PEP 695 on a class by [@kc0506](https://github.com/kc0506) in [#10380](https://github.com/pydantic/pydantic/pull/10380) -* Fix `ZoneInfo` with various invalid types by [@sydney-runkle](https://github.com/sydney-runkle) in [#10408](https://github.com/pydantic/pydantic/pull/10408) -* Fix `PydanticUserError` on empty `model_config` with annotations by [@cdwilson](https://github.com/cdwilson) in [#10412](https://github.com/pydantic/pydantic/pull/10412) -* Fix variance issue in `_IncEx` type alias, only allow `True` by [@Viicos](https://github.com/Viicos) in [#10414](https://github.com/pydantic/pydantic/pull/10414) -* Fix serialization schema generation when using `PlainValidator` by [@Viicos](https://github.com/Viicos) in [#10427](https://github.com/pydantic/pydantic/pull/10427) -* Fix schema generation error when serialization schema holds references by [@Viicos](https://github.com/Viicos) in [#10444](https://github.com/pydantic/pydantic/pull/10444) -* Inline references if possible when generating schema for `json_schema_input_type` by [@Viicos](https://github.com/Viicos) in [#10439](https://github.com/pydantic/pydantic/pull/10439) -* Fix recursive arguments in `Representation` by [@Viicos](https://github.com/Viicos) in [#10480](https://github.com/pydantic/pydantic/pull/10480) -* Fix representation for builtin function types by [@kschwab](https://github.com/kschwab) in [#10479](https://github.com/pydantic/pydantic/pull/10479) -* Add python validators for decimal constraints (`max_digits` and `decimal_places`) by [@sydney-runkle](https://github.com/sydney-runkle) in [#10506](https://github.com/pydantic/pydantic/pull/10506) -* Only fetch `__pydantic_core_schema__` from the current class during schema generation by [@Viicos](https://github.com/Viicos) in [#10518](https://github.com/pydantic/pydantic/pull/10518) -* Fix `stacklevel` on deprecation warnings for `BaseModel` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10520](https://github.com/pydantic/pydantic/pull/10520) -* Fix warning `stacklevel` in `BaseModel.__init__` by [@Viicos](https://github.com/Viicos) in [#10526](https://github.com/pydantic/pydantic/pull/10526) -* Improve error handling for in-evaluable refs for discriminator application by [@sydney-runkle](https://github.com/sydney-runkle) in [#10440](https://github.com/pydantic/pydantic/pull/10440) -* Change the signature of `ConfigWrapper.core_config` to take the title directly by [@Viicos](https://github.com/Viicos) in [#10562](https://github.com/pydantic/pydantic/pull/10562) -* Do not use the previous config from the stack for dataclasses without config by [@Viicos](https://github.com/Viicos) in [#10576](https://github.com/pydantic/pydantic/pull/10576) -* Fix serialization for IP types with `mode='python'` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10594](https://github.com/pydantic/pydantic/pull/10594) -* Support constraint application for `Base64Etc` types by [@sydney-runkle](https://github.com/sydney-runkle) in [#10584](https://github.com/pydantic/pydantic/pull/10584) -* Fix `validate_call` ignoring `Field` in `Annotated` by [@kc0506](https://github.com/kc0506) in [#10610](https://github.com/pydantic/pydantic/pull/10610) -* Raise an error when `Self` is invalid by [@kc0506](https://github.com/kc0506) in [#10609](https://github.com/pydantic/pydantic/pull/10609) -* Using `core_schema.InvalidSchema` instead of metadata injection + checks by [@sydney-runkle](https://github.com/sydney-runkle) in [#10523](https://github.com/pydantic/pydantic/pull/10523) -* Tweak type alias logic by [@kc0506](https://github.com/kc0506) in [#10643](https://github.com/pydantic/pydantic/pull/10643) -* Support usage of `type` with `typing.Self` and type aliases by [@kc0506](https://github.com/kc0506) in [#10621](https://github.com/pydantic/pydantic/pull/10621) -* Use overloads for `Field` and `PrivateAttr` functions by [@Viicos](https://github.com/Viicos) in [#10651](https://github.com/pydantic/pydantic/pull/10651) -* Clean up the `mypy` plugin implementation by [@Viicos](https://github.com/Viicos) in [#10669](https://github.com/pydantic/pydantic/pull/10669) -* Properly check for `typing_extensions` variant of `TypeAliasType` by [@Daraan](https://github.com/Daraan) in [#10713](https://github.com/pydantic/pydantic/pull/10713) -* Allow any mapping in `BaseModel.model_copy()` by [@Viicos](https://github.com/Viicos) in [#10751](https://github.com/pydantic/pydantic/pull/10751) -* Fix `isinstance` behavior for urls by [@sydney-runkle](https://github.com/sydney-runkle) in [#10766](https://github.com/pydantic/pydantic/pull/10766) -* Ensure `cached_property` can be set on Pydantic models by [@Viicos](https://github.com/Viicos) in [#10774](https://github.com/pydantic/pydantic/pull/10774) -* Fix equality checks for primitives in literals by [@sydney-runkle](https://github.com/sydney-runkle) in [pydantic/pydantic-core#1459](https://github.com/pydantic/pydantic-core/pull/1459) -* Properly enforce `host_required` for URLs by [@Viicos](https://github.com/Viicos) in [pydantic/pydantic-core#1488](https://github.com/pydantic/pydantic-core/pull/1488) -* Fix when `coerce_numbers_to_str` enabled and string has invalid Unicode character by [@andrey-berenda](https://github.com/andrey-berenda) in [pydantic/pydantic-core#1515](https://github.com/pydantic/pydantic-core/pull/1515) -* Fix serializing `complex` values in `Enum`s by [@changhc](https://github.com/changhc) in [pydantic/pydantic-core#1524](https://github.com/pydantic/pydantic-core/pull/1524) -* Refactor `_typing_extra` module by [@Viicos](https://github.com/Viicos) in [#10725](https://github.com/pydantic/pydantic/pull/10725) -* Support intuitive equality for urls by [@sydney-runkle](https://github.com/sydney-runkle) in [#10798](https://github.com/pydantic/pydantic/pull/10798) -* Add `bytearray` to `TypeAdapter.validate_json` signature by [@samuelcolvin](https://github.com/samuelcolvin) in [#10802](https://github.com/pydantic/pydantic/pull/10802) -* Ensure class access of method descriptors is performed when used as a default with `Field` by [@Viicos](https://github.com/Viicos) in [#10816](https://github.com/pydantic/pydantic/pull/10816) -* Fix circular import with `validate_call` by [@sydney-runkle](https://github.com/sydney-runkle) in [#10807](https://github.com/pydantic/pydantic/pull/10807) -* Fix error when using type aliases referencing other type aliases by [@Viicos](https://github.com/Viicos) in [#10809](https://github.com/pydantic/pydantic/pull/10809) -* Fix `IncEx` type alias to be compatible with mypy by [@Viicos](https://github.com/Viicos) in [#10813](https://github.com/pydantic/pydantic/pull/10813) -* Make `__signature__` a lazy property, do not deepcopy defaults by [@Viicos](https://github.com/Viicos) in [#10818](https://github.com/pydantic/pydantic/pull/10818) -* Make `__signature__` lazy for dataclasses, too by [@sydney-runkle](https://github.com/sydney-runkle) in [#10832](https://github.com/pydantic/pydantic/pull/10832) -* Subclass all single host url classes from `AnyUrl` to preserve behavior from v2.9 by [@sydney-runkle](https://github.com/sydney-runkle) in [#10856](https://github.com/pydantic/pydantic/pull/10856) - -### New Contributors - -* [@jakob-keller](https://github.com/jakob-keller) made their first contribution in [#10331](https://github.com/pydantic/pydantic/pull/10331) -* [@MovisLi](https://github.com/MovisLi) made their first contribution in [#10374](https://github.com/pydantic/pydantic/pull/10374) -* [@joaopalmeiro](https://github.com/joaopalmeiro) made their first contribution in [#10405](https://github.com/pydantic/pydantic/pull/10405) -* [@theunkn0wn1](https://github.com/theunkn0wn1) made their first contribution in [#10378](https://github.com/pydantic/pydantic/pull/10378) -* [@cdwilson](https://github.com/cdwilson) made their first contribution in [#10412](https://github.com/pydantic/pydantic/pull/10412) -* [@dlax](https://github.com/dlax) made their first contribution in [#10421](https://github.com/pydantic/pydantic/pull/10421) -* [@kschwab](https://github.com/kschwab) made their first contribution in [#10479](https://github.com/pydantic/pydantic/pull/10479) -* [@santibreo](https://github.com/santibreo) made their first contribution in [#10453](https://github.com/pydantic/pydantic/pull/10453) -* [@FlorianSW](https://github.com/FlorianSW) made their first contribution in [#10478](https://github.com/pydantic/pydantic/pull/10478) -* [@tkasuz](https://github.com/tkasuz) made their first contribution in [#10555](https://github.com/pydantic/pydantic/pull/10555) -* [@AlekseyLobanov](https://github.com/AlekseyLobanov) made their first contribution in [#10601](https://github.com/pydantic/pydantic/pull/10601) -* [@NiclasvanEyk](https://github.com/NiclasvanEyk) made their first contribution in [#10667](https://github.com/pydantic/pydantic/pull/10667) -* [@mschoettle](https://github.com/mschoettle) made their first contribution in [#10677](https://github.com/pydantic/pydantic/pull/10677) -* [@Daraan](https://github.com/Daraan) made their first contribution in [#10713](https://github.com/pydantic/pydantic/pull/10713) -* [@k4nar](https://github.com/k4nar) made their first contribution in [#10736](https://github.com/pydantic/pydantic/pull/10736) -* [@UriyaHarpeness](https://github.com/UriyaHarpeness) made their first contribution in [#10740](https://github.com/pydantic/pydantic/pull/10740) -* [@frfahim](https://github.com/frfahim) made their first contribution in [#10727](https://github.com/pydantic/pydantic/pull/10727) - -## v2.10.0b2 (2024-11-13) - -Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.0b2) for details. - -## v2.10.0b1 (2024-11-06) - -Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.10.0b1) for details. - - -... see [here](https://docs.pydantic.dev/changelog/#v0322-2019-08-17) for earlier changes. diff --git a/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/RECORD b/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/RECORD deleted file mode 100644 index 4d97aa7..0000000 --- a/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/RECORD +++ /dev/null @@ -1,216 +0,0 @@ -pydantic-2.11.9.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pydantic-2.11.9.dist-info/METADATA,sha256=lL7X6XeRbjebP34efO4-PGm-7pd2SSu2OoR9ZM6toso,68441 -pydantic-2.11.9.dist-info/RECORD,, -pydantic-2.11.9.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pydantic-2.11.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87 -pydantic-2.11.9.dist-info/licenses/LICENSE,sha256=qeGG88oWte74QxjnpwFyE1GgDLe4rjpDlLZ7SeNSnvM,1129 -pydantic/__init__.py,sha256=D3_-0aRPoAF5EH4T4JPVOYLNEc-DeaCcDt6UzIjP_D0,15395 -pydantic/__pycache__/__init__.cpython-312.pyc,, -pydantic/__pycache__/_migration.cpython-312.pyc,, -pydantic/__pycache__/alias_generators.cpython-312.pyc,, -pydantic/__pycache__/aliases.cpython-312.pyc,, -pydantic/__pycache__/annotated_handlers.cpython-312.pyc,, -pydantic/__pycache__/class_validators.cpython-312.pyc,, -pydantic/__pycache__/color.cpython-312.pyc,, -pydantic/__pycache__/config.cpython-312.pyc,, -pydantic/__pycache__/dataclasses.cpython-312.pyc,, -pydantic/__pycache__/datetime_parse.cpython-312.pyc,, -pydantic/__pycache__/decorator.cpython-312.pyc,, -pydantic/__pycache__/env_settings.cpython-312.pyc,, -pydantic/__pycache__/error_wrappers.cpython-312.pyc,, -pydantic/__pycache__/errors.cpython-312.pyc,, -pydantic/__pycache__/fields.cpython-312.pyc,, -pydantic/__pycache__/functional_serializers.cpython-312.pyc,, -pydantic/__pycache__/functional_validators.cpython-312.pyc,, -pydantic/__pycache__/generics.cpython-312.pyc,, -pydantic/__pycache__/json.cpython-312.pyc,, -pydantic/__pycache__/json_schema.cpython-312.pyc,, -pydantic/__pycache__/main.cpython-312.pyc,, -pydantic/__pycache__/mypy.cpython-312.pyc,, -pydantic/__pycache__/networks.cpython-312.pyc,, -pydantic/__pycache__/parse.cpython-312.pyc,, -pydantic/__pycache__/root_model.cpython-312.pyc,, -pydantic/__pycache__/schema.cpython-312.pyc,, -pydantic/__pycache__/tools.cpython-312.pyc,, -pydantic/__pycache__/type_adapter.cpython-312.pyc,, -pydantic/__pycache__/types.cpython-312.pyc,, -pydantic/__pycache__/typing.cpython-312.pyc,, -pydantic/__pycache__/utils.cpython-312.pyc,, -pydantic/__pycache__/validate_call_decorator.cpython-312.pyc,, -pydantic/__pycache__/validators.cpython-312.pyc,, -pydantic/__pycache__/version.cpython-312.pyc,, -pydantic/__pycache__/warnings.cpython-312.pyc,, -pydantic/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pydantic/_internal/__pycache__/__init__.cpython-312.pyc,, -pydantic/_internal/__pycache__/_config.cpython-312.pyc,, -pydantic/_internal/__pycache__/_core_metadata.cpython-312.pyc,, -pydantic/_internal/__pycache__/_core_utils.cpython-312.pyc,, -pydantic/_internal/__pycache__/_dataclasses.cpython-312.pyc,, -pydantic/_internal/__pycache__/_decorators.cpython-312.pyc,, -pydantic/_internal/__pycache__/_decorators_v1.cpython-312.pyc,, -pydantic/_internal/__pycache__/_discriminated_union.cpython-312.pyc,, -pydantic/_internal/__pycache__/_docs_extraction.cpython-312.pyc,, -pydantic/_internal/__pycache__/_fields.cpython-312.pyc,, -pydantic/_internal/__pycache__/_forward_ref.cpython-312.pyc,, -pydantic/_internal/__pycache__/_generate_schema.cpython-312.pyc,, -pydantic/_internal/__pycache__/_generics.cpython-312.pyc,, -pydantic/_internal/__pycache__/_git.cpython-312.pyc,, -pydantic/_internal/__pycache__/_import_utils.cpython-312.pyc,, -pydantic/_internal/__pycache__/_internal_dataclass.cpython-312.pyc,, -pydantic/_internal/__pycache__/_known_annotated_metadata.cpython-312.pyc,, -pydantic/_internal/__pycache__/_mock_val_ser.cpython-312.pyc,, -pydantic/_internal/__pycache__/_model_construction.cpython-312.pyc,, -pydantic/_internal/__pycache__/_namespace_utils.cpython-312.pyc,, -pydantic/_internal/__pycache__/_repr.cpython-312.pyc,, -pydantic/_internal/__pycache__/_schema_gather.cpython-312.pyc,, -pydantic/_internal/__pycache__/_schema_generation_shared.cpython-312.pyc,, -pydantic/_internal/__pycache__/_serializers.cpython-312.pyc,, -pydantic/_internal/__pycache__/_signature.cpython-312.pyc,, -pydantic/_internal/__pycache__/_typing_extra.cpython-312.pyc,, -pydantic/_internal/__pycache__/_utils.cpython-312.pyc,, -pydantic/_internal/__pycache__/_validate_call.cpython-312.pyc,, -pydantic/_internal/__pycache__/_validators.cpython-312.pyc,, -pydantic/_internal/_config.py,sha256=WV07hp8xf0Q0yP9IwMvuGLQmu34AZl5sBs2JaOgCk9I,14253 -pydantic/_internal/_core_metadata.py,sha256=Y_g2t3i7uluK-wXCZvzJfRFMPUM23aBYLfae4FzBPy0,5162 -pydantic/_internal/_core_utils.py,sha256=_-ZuXhpi_0JDpZzz8jvGr82kgS3PEritWR22fjWpw48,6746 -pydantic/_internal/_dataclasses.py,sha256=GA-NO1cgYbce0UwZP-sfPe5AujHjhvgTKbPCyg9GGP8,8990 -pydantic/_internal/_decorators.py,sha256=NS7SKQvtDgnsAd37mjqtwPh19td57FJ69LsceO5SywI,32638 -pydantic/_internal/_decorators_v1.py,sha256=tfdfdpQKY4R2XCOwqHbZeoQMur6VNigRrfhudXBHx38,6185 -pydantic/_internal/_discriminated_union.py,sha256=aMl0SRSyQyHfW4-klnMTHNvwSRoqE3H3PRV_05vRsTg,25478 -pydantic/_internal/_docs_extraction.py,sha256=p-STFvLHUzxrj6bblpaAAYWmq4INxVCAdIupDgQYSIw,3831 -pydantic/_internal/_fields.py,sha256=tFmaX47Q2z8QCCPJ4K8MrPfgKDztx9clntzPxBv0OKo,23205 -pydantic/_internal/_forward_ref.py,sha256=5n3Y7-3AKLn8_FS3Yc7KutLiPUhyXmAtkEZOaFnonwM,611 -pydantic/_internal/_generate_schema.py,sha256=LWJsmvNdWDh1QxY4WelsFSw1_nScPwEfJdpwMZH5V4k,133821 -pydantic/_internal/_generics.py,sha256=D1_0xgqnL6TJQe_fFyaSk2Ug_F-kT_jRBfLjHFLCIqQ,23849 -pydantic/_internal/_git.py,sha256=IwPh3DPfa2Xq3rBuB9Nx8luR2A1i69QdeTfWWXIuCVg,809 -pydantic/_internal/_import_utils.py,sha256=TRhxD5OuY6CUosioBdBcJUs0om7IIONiZdYAV7zQ8jM,402 -pydantic/_internal/_internal_dataclass.py,sha256=_bedc1XbuuygRGiLZqkUkwwFpQaoR1hKLlR501nyySY,144 -pydantic/_internal/_known_annotated_metadata.py,sha256=lYAPiUhfSgfpY6qH9xJPJTEMoowv27QmcyOgQzys90U,16213 -pydantic/_internal/_mock_val_ser.py,sha256=wmRRFSBvqfcLbI41PsFliB4u2AZ3mJpZeiERbD3xKTo,8885 -pydantic/_internal/_model_construction.py,sha256=2Qa5Y4EgBojkhsVHu0OjpphUIlWYuVXMg1KC2opc00s,35228 -pydantic/_internal/_namespace_utils.py,sha256=CMG7nEAXVb-Idqyd3CgdulRrM-zEXOPe3kYEDBqnSKw,12878 -pydantic/_internal/_repr.py,sha256=t7GNyaUU8xvqwlDHxVE2IyDeaNZrK7p01ojQPP0UI_o,5081 -pydantic/_internal/_schema_gather.py,sha256=VLEv51TYEeeND2czsyrmJq1MVnJqTOmnLan7VG44c8A,9114 -pydantic/_internal/_schema_generation_shared.py,sha256=F_rbQbrkoomgxsskdHpP0jUJ7TCfe0BADAEkq6CJ4nM,4842 -pydantic/_internal/_serializers.py,sha256=qQ3Rak4J6bqbnjGCRjiAY4M8poLo0s5qH46sXZSQQuA,1474 -pydantic/_internal/_signature.py,sha256=8EljPJe4pSnapuirG5DkBAgD1hggHxEAyzFPH-9H0zE,6779 -pydantic/_internal/_typing_extra.py,sha256=PO3u2JmX3JKlTFy0Ew95iyjAgYHgJsqqskev4zooB2I,28216 -pydantic/_internal/_utils.py,sha256=iRmCSO0uoFhAL_ChHaYSCKrswpSrRHYoO_YQSFfCJxU,15344 -pydantic/_internal/_validate_call.py,sha256=PfdVnSzhXOrENtaDoDw3PFWPVYD5W_gNYPe8p3Ug6Lg,5321 -pydantic/_internal/_validators.py,sha256=TJcR9bxcPXjzntN6Qgib8cyPRkFZQxHW32SoKGEcp0k,20610 -pydantic/_migration.py,sha256=_6VCCVWNYB7fDpbP2MqW4bXXqo17C5_J907u9zNJQbM,11907 -pydantic/alias_generators.py,sha256=KM1n3u4JfLSBl1UuYg3hoYHzXJD-yvgrnq8u1ccwh_A,2124 -pydantic/aliases.py,sha256=vhCHyoSWnX-EJ-wWb5qj4xyRssgGWnTQfzQp4GSZ9ug,4937 -pydantic/annotated_handlers.py,sha256=WfyFSqwoEIFXBh7T73PycKloI1DiX45GWi0-JOsCR4Y,4407 -pydantic/class_validators.py,sha256=i_V3j-PYdGLSLmj_IJZekTRjunO8SIVz8LMlquPyP7E,148 -pydantic/color.py,sha256=AzqGfVQHF92_ZctDcue0DM4yTp2P6tekkwRINTWrLIo,21481 -pydantic/config.py,sha256=roz_FbfFPoVpJVpB1G7dJ8A3swghQjdN-ozrBxbLShM,42048 -pydantic/dataclasses.py,sha256=K2e76b_Cj1yvwcwfJVR7nQnLoPdetVig5yHVMGuzkpE,16644 -pydantic/datetime_parse.py,sha256=QC-WgMxMr_wQ_mNXUS7AVf-2hLEhvvsPY1PQyhSGOdk,150 -pydantic/decorator.py,sha256=YX-jUApu5AKaVWKPoaV-n-4l7UbS69GEt9Ra3hszmKI,145 -pydantic/deprecated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pydantic/deprecated/__pycache__/__init__.cpython-312.pyc,, -pydantic/deprecated/__pycache__/class_validators.cpython-312.pyc,, -pydantic/deprecated/__pycache__/config.cpython-312.pyc,, -pydantic/deprecated/__pycache__/copy_internals.cpython-312.pyc,, -pydantic/deprecated/__pycache__/decorator.cpython-312.pyc,, -pydantic/deprecated/__pycache__/json.cpython-312.pyc,, -pydantic/deprecated/__pycache__/parse.cpython-312.pyc,, -pydantic/deprecated/__pycache__/tools.cpython-312.pyc,, -pydantic/deprecated/class_validators.py,sha256=rwfP165xity36foy1NNCg4Jf9Sul44sJLW-A5sseahI,10245 -pydantic/deprecated/config.py,sha256=k_lsVk57paxLJOcBueH07cu1OgEgWdVBxm6lfaC3CCU,2663 -pydantic/deprecated/copy_internals.py,sha256=Ku0LHLEU0WcoIInNHls7PjuBvpLFTQ4Uus77jQ3Yi08,7616 -pydantic/deprecated/decorator.py,sha256=TBm6bJ7wJsNih_8Wq5IzDcwP32m9_vfxs96desLuk00,10845 -pydantic/deprecated/json.py,sha256=HlWCG35RRrxyzuTS6LTQiZBwRhmDZWmeqQH8rLW6wA8,4657 -pydantic/deprecated/parse.py,sha256=Gzd6b_g8zJXcuE7QRq5adhx_EMJahXfcpXCF0RgrqqI,2511 -pydantic/deprecated/tools.py,sha256=Nrm9oFRZWp8-jlfvPgJILEsywp4YzZD52XIGPDLxHcI,3330 -pydantic/env_settings.py,sha256=6IHeeWEqlUPRUv3V-AXiF_W91fg2Jw_M3O0l34J_eyA,148 -pydantic/error_wrappers.py,sha256=RK6mqATc9yMD-KBD9IJS9HpKCprWHd8wo84Bnm-3fR8,150 -pydantic/errors.py,sha256=7ctBNCtt57kZFx71Ls2H86IufQARv4wPKf8DhdsVn5w,6002 -pydantic/experimental/__init__.py,sha256=j08eROfz-xW4k_X9W4m2AW26IVdyF3Eg1OzlIGA11vk,328 -pydantic/experimental/__pycache__/__init__.cpython-312.pyc,, -pydantic/experimental/__pycache__/arguments_schema.cpython-312.pyc,, -pydantic/experimental/__pycache__/pipeline.cpython-312.pyc,, -pydantic/experimental/arguments_schema.py,sha256=EFnjX_ulp-tPyUjQX5pmQtug1OFL_Acc8bcMbLd-fVY,1866 -pydantic/experimental/pipeline.py,sha256=znbMBvir3xvPA20Xj8Moco1oJMPf1VYVrIQ8KQNtDlM,23910 -pydantic/fields.py,sha256=9Ky1nTKaMhThaNkVEkJOFHQHGq2FCKSwA6-zwUB-KWo,64416 -pydantic/functional_serializers.py,sha256=3m81unH3lYovdMi00oZywlHhn1KDz9X2CO3iTtBya6A,17102 -pydantic/functional_validators.py,sha256=-yY6uj_9_GAI4aqqfZlzyGdzs06huzy6zNWD7TJp3_0,29560 -pydantic/generics.py,sha256=0ZqZ9O9annIj_3mGBRqps4htey3b5lV1-d2tUxPMMnA,144 -pydantic/json.py,sha256=ZH8RkI7h4Bz-zp8OdTAxbJUoVvcoU-jhMdRZ0B-k0xc,140 -pydantic/json_schema.py,sha256=KhsS_MWPox0PYqklnhJcb_3uiCVrEOgyhG53cUZv6QA,115430 -pydantic/main.py,sha256=v67a4-nFooC-GJ1oHgS__Vm399Ygp_NH-1WzHXwjFM0,81012 -pydantic/mypy.py,sha256=OG7AqM_6vuTxRnBPU27eUkfX5wShU6aD0dJGmMhLaN8,59265 -pydantic/networks.py,sha256=_YpSnBR2kMfoWX76sdq34cfCH-MWr5or0ve0tow7OWo,41446 -pydantic/parse.py,sha256=wkd82dgtvWtD895U_I6E1htqMlGhBSYEV39cuBSeo3A,141 -pydantic/plugin/__init__.py,sha256=5cXMmu5xL4LVZhWPE1XD8ozHZ-qEC2-s4seLe8tbN_Y,6965 -pydantic/plugin/__pycache__/__init__.cpython-312.pyc,, -pydantic/plugin/__pycache__/_loader.cpython-312.pyc,, -pydantic/plugin/__pycache__/_schema_validator.cpython-312.pyc,, -pydantic/plugin/_loader.py,sha256=nI3SEKr0mlCB556kvbyBXjYQw9b_s8UTKE9Q6iESX6s,2167 -pydantic/plugin/_schema_validator.py,sha256=QbmqsG33MBmftNQ2nNiuN22LhbrexUA7ipDVv3J02BU,5267 -pydantic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pydantic/root_model.py,sha256=SCXhpRCgZgfqE9AGVJTC7kMAojKffL7PV4i0qcwOMm0,6279 -pydantic/schema.py,sha256=Vqqjvq_LnapVknebUd3Bp_J1p2gXZZnZRgL48bVEG7o,142 -pydantic/tools.py,sha256=iHQpd8SJ5DCTtPV5atAV06T89bjSaMFeZZ2LX9lasZY,141 -pydantic/type_adapter.py,sha256=Y3NE0YhFwxwoqrYU9caWymLWp1Avq4sRUdb5s01RoJk,31171 -pydantic/types.py,sha256=mWTvQH_Wt_CccQcEHYjcUWpyoj1U04WOnrMsMYod_64,104781 -pydantic/typing.py,sha256=P7feA35MwTcLsR1uL7db0S-oydBxobmXa55YDoBgajQ,138 -pydantic/utils.py,sha256=15nR2QpqTBFlQV4TNtTItMyTJx_fbyV-gPmIEY1Gooc,141 -pydantic/v1/__init__.py,sha256=SxQPklgBs4XHJwE6BZ9qoewYoGiNyYUnmHzEFCZbfnI,2946 -pydantic/v1/__pycache__/__init__.cpython-312.pyc,, -pydantic/v1/__pycache__/_hypothesis_plugin.cpython-312.pyc,, -pydantic/v1/__pycache__/annotated_types.cpython-312.pyc,, -pydantic/v1/__pycache__/class_validators.cpython-312.pyc,, -pydantic/v1/__pycache__/color.cpython-312.pyc,, -pydantic/v1/__pycache__/config.cpython-312.pyc,, -pydantic/v1/__pycache__/dataclasses.cpython-312.pyc,, -pydantic/v1/__pycache__/datetime_parse.cpython-312.pyc,, -pydantic/v1/__pycache__/decorator.cpython-312.pyc,, -pydantic/v1/__pycache__/env_settings.cpython-312.pyc,, -pydantic/v1/__pycache__/error_wrappers.cpython-312.pyc,, -pydantic/v1/__pycache__/errors.cpython-312.pyc,, -pydantic/v1/__pycache__/fields.cpython-312.pyc,, -pydantic/v1/__pycache__/generics.cpython-312.pyc,, -pydantic/v1/__pycache__/json.cpython-312.pyc,, -pydantic/v1/__pycache__/main.cpython-312.pyc,, -pydantic/v1/__pycache__/mypy.cpython-312.pyc,, -pydantic/v1/__pycache__/networks.cpython-312.pyc,, -pydantic/v1/__pycache__/parse.cpython-312.pyc,, -pydantic/v1/__pycache__/schema.cpython-312.pyc,, -pydantic/v1/__pycache__/tools.cpython-312.pyc,, -pydantic/v1/__pycache__/types.cpython-312.pyc,, -pydantic/v1/__pycache__/typing.cpython-312.pyc,, -pydantic/v1/__pycache__/utils.cpython-312.pyc,, -pydantic/v1/__pycache__/validators.cpython-312.pyc,, -pydantic/v1/__pycache__/version.cpython-312.pyc,, -pydantic/v1/_hypothesis_plugin.py,sha256=5ES5xWuw1FQAsymLezy8QgnVz0ZpVfU3jkmT74H27VQ,14847 -pydantic/v1/annotated_types.py,sha256=uk2NAAxqiNELKjiHhyhxKaIOh8F1lYW_LzrW3X7oZBc,3157 -pydantic/v1/class_validators.py,sha256=ULOaIUgYUDBsHL7EEVEarcM-UubKUggoN8hSbDonsFE,14672 -pydantic/v1/color.py,sha256=iZABLYp6OVoo2AFkP9Ipri_wSc6-Kklu8YuhSartd5g,16844 -pydantic/v1/config.py,sha256=a6P0Wer9x4cbwKW7Xv8poSUqM4WP-RLWwX6YMpYq9AA,6532 -pydantic/v1/dataclasses.py,sha256=784cqvInbwIPWr9usfpX3ch7z4t3J2tTK6N067_wk1o,18172 -pydantic/v1/datetime_parse.py,sha256=4Qy1kQpq3rNVZJeIHeSPDpuS2Bvhp1KPtzJG1xu-H00,7724 -pydantic/v1/decorator.py,sha256=zaaxxxoWPCm818D1bs0yhapRjXm32V8G0ZHWCdM1uXA,10339 -pydantic/v1/env_settings.py,sha256=A9VXwtRl02AY-jH0C0ouy5VNw3fi6F_pkzuHDjgAAOM,14105 -pydantic/v1/error_wrappers.py,sha256=6625Mfw9qkC2NwitB_JFAWe8B-Xv6zBU7rL9k28tfyo,5196 -pydantic/v1/errors.py,sha256=mIwPED5vGM5Q5v4C4Z1JPldTRH-omvEylH6ksMhOmPw,17726 -pydantic/v1/fields.py,sha256=VqWJCriUNiEyptXroDVJ501JpVA0en2VANcksqXL2b8,50649 -pydantic/v1/generics.py,sha256=VzC9YUV-EbPpQ3aAfk1cNFej79_IzznkQ7WrmTTZS9E,17871 -pydantic/v1/json.py,sha256=WQ5Hy_hIpfdR3YS8k6N2E6KMJzsdbBi_ldWOPJaV81M,3390 -pydantic/v1/main.py,sha256=zuNpdN5Q0V0wG2UUTKt0HUy3XJ4OAvPSZDdiXY-FIzs,44824 -pydantic/v1/mypy.py,sha256=TsnGYsg0zR2CtzIGVHgAsBDz6VndFTDnGXG6cLoDNkY,38949 -pydantic/v1/networks.py,sha256=HYNtKAfOmOnKJpsDg1g6SIkj9WPhU_-i8l5e2JKBpG4,22124 -pydantic/v1/parse.py,sha256=BJtdqiZRtav9VRFCmOxoY-KImQmjPy-A_NoojiFUZxY,1821 -pydantic/v1/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pydantic/v1/schema.py,sha256=aqBuA--cq8gAVkim5BJPFASHzOZ8dFtmFX_fNGr6ip4,47801 -pydantic/v1/tools.py,sha256=1lDdXHk0jL5uP3u5RCYAvUAlGClgAO-45lkq9j7fyBA,2881 -pydantic/v1/types.py,sha256=Fltx5GoP_qaUmAktlGz7nFeJa13yNy3FY1-RcMzEVt8,35455 -pydantic/v1/typing.py,sha256=HNtuKvgH4EHIeb2ytkd7VSyG6mxP9RKqEqEql-1ab14,19720 -pydantic/v1/utils.py,sha256=M5FRyfNUb1A2mk9laGgCVdfHHb3AtQgrjO5qfyBf4xA,25989 -pydantic/v1/validators.py,sha256=lyUkn1MWhHxlCX5ZfEgFj_CAHojoiPcaQeMdEM9XviU,22187 -pydantic/v1/version.py,sha256=HXnXW-1bMW5qKhlr5RgOEPohrZDCDSuyy8-gi8GCgZo,1039 -pydantic/validate_call_decorator.py,sha256=8jqLlgXTjWEj4dXDg0wI3EGQKkb0JnCsL_JSUjbU5Sg,4389 -pydantic/validators.py,sha256=pwbIJXVb1CV2mAE4w_EGfNj7DwzsKaWw_tTL6cviTus,146 -pydantic/version.py,sha256=BxN15sODEuCNfCzfyH-02nNIqpuYxgBeMVz85m2urTg,2710 -pydantic/warnings.py,sha256=gqDTQ2FX7wGLZJV3XboQSiRXKHknss3pfIOXL0BDXTk,3772 diff --git a/venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/METADATA b/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/METADATA new file mode 100644 index 0000000..3281200 --- /dev/null +++ b/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/METADATA @@ -0,0 +1,1337 @@ +Metadata-Version: 2.1 +Name: pydantic +Version: 2.4.2 +Summary: Data validation using Python type hints +Project-URL: Homepage, https://github.com/pydantic/pydantic +Project-URL: Documentation, https://docs.pydantic.dev +Project-URL: Funding, https://github.com/sponsors/samuelcolvin +Project-URL: Source, https://github.com/pydantic/pydantic +Project-URL: Changelog, https://docs.pydantic.dev/latest/changelog/ +Author-email: Samuel Colvin , Eric Jolibois , Hasan Ramezani , Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Terrence Dorsey , David Montague +License-Expression: MIT +License-File: LICENSE +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Console +Classifier: Environment :: MacOS X +Classifier: Framework :: Hypothesis +Classifier: Framework :: Pydantic +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: Information Technology +Classifier: Intended Audience :: System Administrators +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: POSIX :: Linux +Classifier: Operating System :: Unix +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Internet +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Requires-Python: >=3.7 +Requires-Dist: annotated-types>=0.4.0 +Requires-Dist: pydantic-core==2.10.1 +Requires-Dist: typing-extensions>=4.6.1 +Provides-Extra: email +Requires-Dist: email-validator>=2.0.0; extra == 'email' +Description-Content-Type: text/markdown + +# Pydantic + +[![CI](https://github.com/pydantic/pydantic/workflows/CI/badge.svg?event=push)](https://github.com/pydantic/pydantic/actions?query=event%3Apush+branch%3Amain+workflow%3ACI) +[![Coverage](https://coverage-badge.samuelcolvin.workers.dev/pydantic/pydantic.svg)](https://coverage-badge.samuelcolvin.workers.dev/redirect/pydantic/pydantic) +[![pypi](https://img.shields.io/pypi/v/pydantic.svg)](https://pypi.python.org/pypi/pydantic) +[![CondaForge](https://img.shields.io/conda/v/conda-forge/pydantic.svg)](https://anaconda.org/conda-forge/pydantic) +[![downloads](https://static.pepy.tech/badge/pydantic/month)](https://pepy.tech/project/pydantic) +[![versions](https://img.shields.io/pypi/pyversions/pydantic.svg)](https://github.com/pydantic/pydantic) +[![license](https://img.shields.io/github/license/pydantic/pydantic.svg)](https://github.com/pydantic/pydantic/blob/main/LICENSE) +[![Pydantic v2](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/pydantic/pydantic/main/docs/badge/v2.json)](https://docs.pydantic.dev/latest/contributing/#badges) + +Data validation using Python type hints. + +Fast and extensible, Pydantic plays nicely with your linters/IDE/brain. +Define how data should be in pure, canonical Python 3.7+; validate it with Pydantic. + +## Pydantic Company :rocket: + +We've started a company based on the principles that I believe have led to Pydantic's success. +Learning more from the [Company Announcement](https://pydantic.dev/announcement/). + +## Pydantic V1.10 vs. V2 + +Pydantic V2 is a ground-up rewrite that offers many new features, performance improvements, and some breaking changes compared to Pydantic V1. + +If you're using Pydantic V1 you may want to look at the +[pydantic V1.10 Documentation](https://docs.pydantic.dev/) or, +[`1.10.X-fixes` git branch](https://github.com/pydantic/pydantic/tree/1.10.X-fixes). Pydantic V2 also ships with the latest version of Pydantic V1 built in so that you can incrementally upgrade your code base and projects: `from pydantic import v1 as pydantic_v1`. + +## Help + +See [documentation](https://docs.pydantic.dev/) for more details. + +## Installation + +Install using `pip install -U pydantic` or `conda install pydantic -c conda-forge`. +For more installation options to make Pydantic even faster, +see the [Install](https://docs.pydantic.dev/install/) section in the documentation. + +## A Simple Example + +```py +from datetime import datetime +from typing import List, Optional +from pydantic import BaseModel + +class User(BaseModel): + id: int + name: str = 'John Doe' + signup_ts: Optional[datetime] = None + friends: List[int] = [] + +external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']} +user = User(**external_data) +print(user) +#> User id=123 name='John Doe' signup_ts=datetime.datetime(2017, 6, 1, 12, 22) friends=[1, 2, 3] +print(user.id) +#> 123 +``` + +## Contributing + +For guidance on setting up a development environment and how to make a +contribution to Pydantic, see +[Contributing to Pydantic](https://docs.pydantic.dev/contributing/). + +## Reporting a Security Vulnerability + +See our [security policy](https://github.com/pydantic/pydantic/security/policy). + +## Changelog + +## v2.4.2 (2023-09-27) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.4.2) + +### What's Changed + +#### Fixes + +* Fix bug with JSON schema for sequence of discriminated union by [@dmontagu](https://github.com/dmontagu) in [#7647](https://github.com/pydantic/pydantic/pull/7647) +* Fix schema references in discriminated unions by [@adriangb](https://github.com/adriangb) in [#7646](https://github.com/pydantic/pydantic/pull/7646) +* Fix json schema generation for recursive models by [@adriangb](https://github.com/adriangb) in [#7653](https://github.com/pydantic/pydantic/pull/7653) +* Fix `models_json_schema` for generic models by [@adriangb](https://github.com/adriangb) in [#7654](https://github.com/pydantic/pydantic/pull/7654) +* Fix xfailed test for generic model signatures by [@adriangb](https://github.com/adriangb) in [#7658](https://github.com/pydantic/pydantic/pull/7658) + +### New Contributors + +* [@austinorr](https://github.com/austinorr) made their first contribution in [#7657](https://github.com/pydantic/pydantic/pull/7657) +* [@peterHoburg](https://github.com/peterHoburg) made their first contribution in [#7670](https://github.com/pydantic/pydantic/pull/7670) + +## v2.4.1 (2023-09-26) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.4.1) + +### What's Changed + +#### Packaging + +* Update pydantic-core to 2.10.1 by [@davidhewitt](https://github.com/davidhewitt) in [#7633](https://github.com/pydantic/pydantic/pull/7633) + +#### Fixes + +* Serialize unsubstituted type vars as `Any` by [@adriangb](https://github.com/adriangb) in [#7606](https://github.com/pydantic/pydantic/pull/7606) +* Remove schema building caches by [@adriangb](https://github.com/adriangb) in [#7624](https://github.com/pydantic/pydantic/pull/7624) +* Fix an issue where JSON schema extras weren't JSON encoded by [@dmontagu](https://github.com/dmontagu) in [#7625](https://github.com/pydantic/pydantic/pull/7625) + +## v2.4.0 (2023-09-22) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.4.0) + +### What's Changed + +#### Packaging + +* Update pydantic-core to 2.10.0 by [@samuelcolvin](https://github.com/samuelcolvin) in [#7542](https://github.com/pydantic/pydantic/pull/7542) + +#### New Features + +* Add `Base64Url` types by [@dmontagu](https://github.com/dmontagu) in [#7286](https://github.com/pydantic/pydantic/pull/7286) +* Implement optional `number` to `str` coercion by [@lig](https://github.com/lig) in [#7508](https://github.com/pydantic/pydantic/pull/7508) +* Allow access to `field_name` and `data` in all validators if there is data and a field name by [@samuelcolvin](https://github.com/samuelcolvin) in [#7542](https://github.com/pydantic/pydantic/pull/7542) +* Add `BaseModel.model_validate_strings` and `TypeAdapter.validate_strings` by [@hramezani](https://github.com/hramezani) in [#7552](https://github.com/pydantic/pydantic/pull/7552) +* Add Pydantic `plugins` experimental implementation by [@lig](https://github.com/lig) [@samuelcolvin](https://github.com/samuelcolvin) and [@Kludex](https://github.com/Kludex) in [#6820](https://github.com/pydantic/pydantic/pull/6820) + +#### Changes + +* Do not override `model_post_init` in subclass with private attrs by [@Viicos](https://github.com/Viicos) in [#7302](https://github.com/pydantic/pydantic/pull/7302) +* Make fields with defaults not required in the serialization schema by default by [@dmontagu](https://github.com/dmontagu) in [#7275](https://github.com/pydantic/pydantic/pull/7275) +* Mark `Extra` as deprecated by [@disrupted](https://github.com/disrupted) in [#7299](https://github.com/pydantic/pydantic/pull/7299) +* Make `EncodedStr` a dataclass by [@Kludex](https://github.com/Kludex) in [#7396](https://github.com/pydantic/pydantic/pull/7396) +* Move `annotated_handlers` to be public by [@samuelcolvin](https://github.com/samuelcolvin) in [#7569](https://github.com/pydantic/pydantic/pull/7569) + +#### Performance + +* Simplify flattening and inlining of `CoreSchema` by [@adriangb](https://github.com/adriangb) in [#7523](https://github.com/pydantic/pydantic/pull/7523) +* Remove unused copies in `CoreSchema` walking by [@adriangb](https://github.com/adriangb) in [#7528](https://github.com/pydantic/pydantic/pull/7528) +* Add caches for collecting definitions and invalid schemas from a CoreSchema by [@adriangb](https://github.com/adriangb) in [#7527](https://github.com/pydantic/pydantic/pull/7527) +* Eagerly resolve discriminated unions and cache cases where we can't by [@adriangb](https://github.com/adriangb) in [#7529](https://github.com/pydantic/pydantic/pull/7529) +* Replace `dict.get` and `dict.setdefault` with more verbose versions in `CoreSchema` building hot paths by [@adriangb](https://github.com/adriangb) in [#7536](https://github.com/pydantic/pydantic/pull/7536) +* Cache invalid `CoreSchema` discovery by [@adriangb](https://github.com/adriangb) in [#7535](https://github.com/pydantic/pydantic/pull/7535) +* Allow disabling `CoreSchema` validation for faster startup times by [@adriangb](https://github.com/adriangb) in [#7565](https://github.com/pydantic/pydantic/pull/7565) + +#### Fixes + +* Fix config detection for `TypedDict` from grandparent classes by [@dmontagu](https://github.com/dmontagu) in [#7272](https://github.com/pydantic/pydantic/pull/7272) +* Fix hash function generation for frozen models with unusual MRO by [@dmontagu](https://github.com/dmontagu) in [#7274](https://github.com/pydantic/pydantic/pull/7274) +* Make `strict` config overridable in field for Path by [@hramezani](https://github.com/hramezani) in [#7281](https://github.com/pydantic/pydantic/pull/7281) +* Use `ser_json_` on default in `GenerateJsonSchema` by [@Kludex](https://github.com/Kludex) in [#7269](https://github.com/pydantic/pydantic/pull/7269) +* Adding a check that alias is validated as an identifier for Python by [@andree0](https://github.com/andree0) in [#7319](https://github.com/pydantic/pydantic/pull/7319) +* Raise an error when computed field overrides field by [@sydney-runkle](https://github.com/sydney-runkle) in [#7346](https://github.com/pydantic/pydantic/pull/7346) +* Fix applying `SkipValidation` to referenced schemas by [@adriangb](https://github.com/adriangb) in [#7381](https://github.com/pydantic/pydantic/pull/7381) +* Enforce behavior of private attributes having double leading underscore by [@lig](https://github.com/lig) in [#7265](https://github.com/pydantic/pydantic/pull/7265) +* Standardize `__get_pydantic_core_schema__` signature by [@hramezani](https://github.com/hramezani) in [#7415](https://github.com/pydantic/pydantic/pull/7415) +* Fix generic dataclass fields mutation bug (when using `TypeAdapter`) by [@sydney-runkle](https://github.com/sydney-runkle) in [#7435](https://github.com/pydantic/pydantic/pull/7435) +* Fix `TypeError` on `model_validator` in `wrap` mode by [@pmmmwh](https://github.com/pmmmwh) in [#7496](https://github.com/pydantic/pydantic/pull/7496) +* Improve enum error message by [@hramezani](https://github.com/hramezani) in [#7506](https://github.com/pydantic/pydantic/pull/7506) +* Make `repr` work for instances that failed initialization when handling `ValidationError`s by [@dmontagu](https://github.com/dmontagu) in [#7439](https://github.com/pydantic/pydantic/pull/7439) +* Fixed a regular expression denial of service issue by limiting whitespaces by [@prodigysml](https://github.com/prodigysml) in [#7360](https://github.com/pydantic/pydantic/pull/7360) +* Fix handling of `UUID` values having `UUID.version=None` by [@lig](https://github.com/lig) in [#7566](https://github.com/pydantic/pydantic/pull/7566) +* Fix `__iter__` returning private `cached_property` info by [@sydney-runkle](https://github.com/sydney-runkle) in [#7570](https://github.com/pydantic/pydantic/pull/7570) +* Improvements to version info message by [@samuelcolvin](https://github.com/samuelcolvin) in [#7594](https://github.com/pydantic/pydantic/pull/7594) + +### New Contributors +* [@15498th](https://github.com/15498th) made their first contribution in [#7238](https://github.com/pydantic/pydantic/pull/7238) +* [@GabrielCappelli](https://github.com/GabrielCappelli) made their first contribution in [#7213](https://github.com/pydantic/pydantic/pull/7213) +* [@tobni](https://github.com/tobni) made their first contribution in [#7184](https://github.com/pydantic/pydantic/pull/7184) +* [@redruin1](https://github.com/redruin1) made their first contribution in [#7282](https://github.com/pydantic/pydantic/pull/7282) +* [@FacerAin](https://github.com/FacerAin) made their first contribution in [#7288](https://github.com/pydantic/pydantic/pull/7288) +* [@acdha](https://github.com/acdha) made their first contribution in [#7297](https://github.com/pydantic/pydantic/pull/7297) +* [@andree0](https://github.com/andree0) made their first contribution in [#7319](https://github.com/pydantic/pydantic/pull/7319) +* [@gordonhart](https://github.com/gordonhart) made their first contribution in [#7375](https://github.com/pydantic/pydantic/pull/7375) +* [@pmmmwh](https://github.com/pmmmwh) made their first contribution in [#7496](https://github.com/pydantic/pydantic/pull/7496) +* [@disrupted](https://github.com/disrupted) made their first contribution in [#7299](https://github.com/pydantic/pydantic/pull/7299) +* [@prodigysml](https://github.com/prodigysml) made their first contribution in [#7360](https://github.com/pydantic/pydantic/pull/7360) + +## v2.3.0 (2023-08-23) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.3.0) + +* 🔥 Remove orphaned changes file from repo by [@lig](https://github.com/lig) in [#7168](https://github.com/pydantic/pydantic/pull/7168) +* Add copy button on documentation by [@Kludex](https://github.com/Kludex) in [#7190](https://github.com/pydantic/pydantic/pull/7190) +* Fix docs on JSON type by [@Kludex](https://github.com/Kludex) in [#7189](https://github.com/pydantic/pydantic/pull/7189) +* Update mypy 1.5.0 to 1.5.1 in CI by [@hramezani](https://github.com/hramezani) in [#7191](https://github.com/pydantic/pydantic/pull/7191) +* fix download links badge by [@samuelcolvin](https://github.com/samuelcolvin) in [#7200](https://github.com/pydantic/pydantic/pull/7200) +* add 2.2.1 to changelog by [@samuelcolvin](https://github.com/samuelcolvin) in [#7212](https://github.com/pydantic/pydantic/pull/7212) +* Make ModelWrapValidator protocols generic by [@dmontagu](https://github.com/dmontagu) in [#7154](https://github.com/pydantic/pydantic/pull/7154) +* Correct `Field(..., exclude: bool)` docs by [@samuelcolvin](https://github.com/samuelcolvin) in [#7214](https://github.com/pydantic/pydantic/pull/7214) +* Make shadowing attributes a warning instead of an error by [@adriangb](https://github.com/adriangb) in [#7193](https://github.com/pydantic/pydantic/pull/7193) +* Document `Base64Str` and `Base64Bytes` by [@Kludex](https://github.com/Kludex) in [#7192](https://github.com/pydantic/pydantic/pull/7192) +* Fix `config.defer_build` for serialization first cases by [@samuelcolvin](https://github.com/samuelcolvin) in [#7024](https://github.com/pydantic/pydantic/pull/7024) +* clean Model docstrings in JSON Schema by [@samuelcolvin](https://github.com/samuelcolvin) in [#7210](https://github.com/pydantic/pydantic/pull/7210) +* fix [#7228](https://github.com/pydantic/pydantic/pull/7228) (typo): docs in `validators.md` to correct `validate_default` kwarg by [@lmmx](https://github.com/lmmx) in [#7229](https://github.com/pydantic/pydantic/pull/7229) +* ✅ Implement `tzinfo.fromutc` method for `TzInfo` in `pydantic-core` by [@lig](https://github.com/lig) in [#7019](https://github.com/pydantic/pydantic/pull/7019) +* Support `__get_validators__` by [@hramezani](https://github.com/hramezani) in [#7197](https://github.com/pydantic/pydantic/pull/7197) + +## v2.2.1 (2023-08-18) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.2.1) + +* Make `xfail`ing test for root model extra stop `xfail`ing by [@dmontagu](https://github.com/dmontagu) in [#6937](https://github.com/pydantic/pydantic/pull/6937) +* Optimize recursion detection by stopping on the second visit for the same object by [@mciucu](https://github.com/mciucu) in [#7160](https://github.com/pydantic/pydantic/pull/7160) +* fix link in docs by [@tlambert03](https://github.com/tlambert03) in [#7166](https://github.com/pydantic/pydantic/pull/7166) +* Replace MiMalloc w/ default allocator by [@adriangb](https://github.com/adriangb) in [pydantic/pydantic-core#900](https://github.com/pydantic/pydantic-core/pull/900) +* Bump pydantic-core to 2.6.1 and prepare 2.2.1 release by [@adriangb](https://github.com/adriangb) in [#7176](https://github.com/pydantic/pydantic/pull/7176) + +## v2.2.0 (2023-08-17) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.2.0) + +* Split "pipx install" setup command into two commands on the documentation site by [@nomadmtb](https://github.com/nomadmtb) in [#6869](https://github.com/pydantic/pydantic/pull/6869) +* Deprecate `Field.include` by [@hramezani](https://github.com/hramezani) in [#6852](https://github.com/pydantic/pydantic/pull/6852) +* Fix typo in default factory error msg by [@hramezani](https://github.com/hramezani) in [#6880](https://github.com/pydantic/pydantic/pull/6880) +* Simplify handling of typing.Annotated in GenerateSchema by [@dmontagu](https://github.com/dmontagu) in [#6887](https://github.com/pydantic/pydantic/pull/6887) +* Re-enable fastapi tests in CI by [@dmontagu](https://github.com/dmontagu) in [#6883](https://github.com/pydantic/pydantic/pull/6883) +* Make it harder to hit collisions with json schema defrefs by [@dmontagu](https://github.com/dmontagu) in [#6566](https://github.com/pydantic/pydantic/pull/6566) +* Cleaner error for invalid input to `Path` fields by [@samuelcolvin](https://github.com/samuelcolvin) in [#6903](https://github.com/pydantic/pydantic/pull/6903) +* :memo: support Coordinate Type by [@yezz123](https://github.com/yezz123) in [#6906](https://github.com/pydantic/pydantic/pull/6906) +* Fix `ForwardRef` wrapper for py 3.10.0 (shim until bpo-45166) by [@randomir](https://github.com/randomir) in [#6919](https://github.com/pydantic/pydantic/pull/6919) +* Fix misbehavior related to copying of RootModel by [@dmontagu](https://github.com/dmontagu) in [#6918](https://github.com/pydantic/pydantic/pull/6918) +* Fix issue with recursion error caused by ParamSpec by [@dmontagu](https://github.com/dmontagu) in [#6923](https://github.com/pydantic/pydantic/pull/6923) +* Add section about Constrained classes to the Migration Guide by [@Kludex](https://github.com/Kludex) in [#6924](https://github.com/pydantic/pydantic/pull/6924) +* Use `main` branch for badge links by [@Viicos](https://github.com/Viicos) in [#6925](https://github.com/pydantic/pydantic/pull/6925) +* Add test for v1/v2 Annotated discrepancy by [@carlbordum](https://github.com/carlbordum) in [#6926](https://github.com/pydantic/pydantic/pull/6926) +* Make the v1 mypy plugin work with both v1 and v2 by [@dmontagu](https://github.com/dmontagu) in [#6921](https://github.com/pydantic/pydantic/pull/6921) +* Fix issue where generic models couldn't be parametrized with BaseModel by [@dmontagu](https://github.com/dmontagu) in [#6933](https://github.com/pydantic/pydantic/pull/6933) +* Remove xfail for discriminated union with alias by [@dmontagu](https://github.com/dmontagu) in [#6938](https://github.com/pydantic/pydantic/pull/6938) +* add field_serializer to computed_field by [@andresliszt](https://github.com/andresliszt) in [#6965](https://github.com/pydantic/pydantic/pull/6965) +* Use union_schema with Type[Union[...]] by [@JeanArhancet](https://github.com/JeanArhancet) in [#6952](https://github.com/pydantic/pydantic/pull/6952) +* Fix inherited typeddict attributes / config by [@adriangb](https://github.com/adriangb) in [#6981](https://github.com/pydantic/pydantic/pull/6981) +* fix dataclass annotated before validator called twice by [@davidhewitt](https://github.com/davidhewitt) in [#6998](https://github.com/pydantic/pydantic/pull/6998) +* Update test-fastapi deselected tests by [@hramezani](https://github.com/hramezani) in [#7014](https://github.com/pydantic/pydantic/pull/7014) +* Fix validator doc format by [@hramezani](https://github.com/hramezani) in [#7015](https://github.com/pydantic/pydantic/pull/7015) +* Fix typo in docstring of model_json_schema by [@AdamVinch-Federated](https://github.com/AdamVinch-Federated) in [#7032](https://github.com/pydantic/pydantic/pull/7032) +* remove unused "type ignores" with pyright by [@samuelcolvin](https://github.com/samuelcolvin) in [#7026](https://github.com/pydantic/pydantic/pull/7026) +* Add benchmark representing FastAPI startup time by [@adriangb](https://github.com/adriangb) in [#7030](https://github.com/pydantic/pydantic/pull/7030) +* Fix json_encoders for Enum subclasses by [@adriangb](https://github.com/adriangb) in [#7029](https://github.com/pydantic/pydantic/pull/7029) +* Update docstring of `ser_json_bytes` regarding base64 encoding by [@Viicos](https://github.com/Viicos) in [#7052](https://github.com/pydantic/pydantic/pull/7052) +* Allow `@validate_call` to work on async methods by [@adriangb](https://github.com/adriangb) in [#7046](https://github.com/pydantic/pydantic/pull/7046) +* Fix: mypy error with `Settings` and `SettingsConfigDict` by [@JeanArhancet](https://github.com/JeanArhancet) in [#7002](https://github.com/pydantic/pydantic/pull/7002) +* Fix some typos (repeated words and it's/its) by [@eumiro](https://github.com/eumiro) in [#7063](https://github.com/pydantic/pydantic/pull/7063) +* Fix the typo in docstring by [@harunyasar](https://github.com/harunyasar) in [#7062](https://github.com/pydantic/pydantic/pull/7062) +* Docs: Fix broken URL in the pydantic-settings package recommendation by [@swetjen](https://github.com/swetjen) in [#6995](https://github.com/pydantic/pydantic/pull/6995) +* Handle constraints being applied to schemas that don't accept it by [@adriangb](https://github.com/adriangb) in [#6951](https://github.com/pydantic/pydantic/pull/6951) +* Replace almost_equal_floats with math.isclose by [@eumiro](https://github.com/eumiro) in [#7082](https://github.com/pydantic/pydantic/pull/7082) +* bump pydantic-core to 2.5.0 by [@davidhewitt](https://github.com/davidhewitt) in [#7077](https://github.com/pydantic/pydantic/pull/7077) +* Add `short_version` and use it in links by [@hramezani](https://github.com/hramezani) in [#7115](https://github.com/pydantic/pydantic/pull/7115) +* 📝 Add usage link to `RootModel` by [@Kludex](https://github.com/Kludex) in [#7113](https://github.com/pydantic/pydantic/pull/7113) +* Revert "Fix default port for mongosrv DSNs (#6827)" by [@Kludex](https://github.com/Kludex) in [#7116](https://github.com/pydantic/pydantic/pull/7116) +* Clarify validate_default and _Unset handling in usage docs and migration guide by [@benbenbang](https://github.com/benbenbang) in [#6950](https://github.com/pydantic/pydantic/pull/6950) +* Tweak documentation of `Field.exclude` by [@Viicos](https://github.com/Viicos) in [#7086](https://github.com/pydantic/pydantic/pull/7086) +* Do not require `validate_assignment` to use `Field.frozen` by [@Viicos](https://github.com/Viicos) in [#7103](https://github.com/pydantic/pydantic/pull/7103) +* tweaks to `_core_utils` by [@samuelcolvin](https://github.com/samuelcolvin) in [#7040](https://github.com/pydantic/pydantic/pull/7040) +* Make DefaultDict working with set by [@hramezani](https://github.com/hramezani) in [#7126](https://github.com/pydantic/pydantic/pull/7126) +* Don't always require typing.Generic as a base for partially parametrized models by [@dmontagu](https://github.com/dmontagu) in [#7119](https://github.com/pydantic/pydantic/pull/7119) +* Fix issue with JSON schema incorrectly using parent class core schema by [@dmontagu](https://github.com/dmontagu) in [#7020](https://github.com/pydantic/pydantic/pull/7020) +* Fix xfailed test related to TypedDict and alias_generator by [@dmontagu](https://github.com/dmontagu) in [#6940](https://github.com/pydantic/pydantic/pull/6940) +* Improve error message for NameEmail by [@dmontagu](https://github.com/dmontagu) in [#6939](https://github.com/pydantic/pydantic/pull/6939) +* Fix generic computed fields by [@dmontagu](https://github.com/dmontagu) in [#6988](https://github.com/pydantic/pydantic/pull/6988) +* Reflect namedtuple default values during validation by [@dmontagu](https://github.com/dmontagu) in [#7144](https://github.com/pydantic/pydantic/pull/7144) +* Update dependencies, fix pydantic-core usage, fix CI issues by [@dmontagu](https://github.com/dmontagu) in [#7150](https://github.com/pydantic/pydantic/pull/7150) +* Add mypy 1.5.0 by [@hramezani](https://github.com/hramezani) in [#7118](https://github.com/pydantic/pydantic/pull/7118) +* Handle non-json native enum values by [@adriangb](https://github.com/adriangb) in [#7056](https://github.com/pydantic/pydantic/pull/7056) +* document `round_trip` in Json type documentation by [@jc-louis](https://github.com/jc-louis) in [#7137](https://github.com/pydantic/pydantic/pull/7137) +* Relax signature checks to better support builtins and C extension functions as validators by [@adriangb](https://github.com/adriangb) in [#7101](https://github.com/pydantic/pydantic/pull/7101) +* add union_mode='left_to_right' by [@davidhewitt](https://github.com/davidhewitt) in [#7151](https://github.com/pydantic/pydantic/pull/7151) +* Include an error message hint for inherited ordering by [@yvalencia91](https://github.com/yvalencia91) in [#7124](https://github.com/pydantic/pydantic/pull/7124) +* Fix one docs link and resolve some warnings for two others by [@dmontagu](https://github.com/dmontagu) in [#7153](https://github.com/pydantic/pydantic/pull/7153) +* Include Field extra keys name in warning by [@hramezani](https://github.com/hramezani) in [#7136](https://github.com/pydantic/pydantic/pull/7136) + +## v2.1.1 (2023-07-25) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.1.1) + +* Skip FieldInfo merging when unnecessary by [@dmontagu](https://github.com/dmontagu) in [#6862](https://github.com/pydantic/pydantic/pull/6862) + +## v2.1.0 (2023-07-25) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.1.0) + +* Add `StringConstraints` for use as Annotated metadata by [@adriangb](https://github.com/adriangb) in [#6605](https://github.com/pydantic/pydantic/pull/6605) +* Try to fix intermittently failing CI by [@adriangb](https://github.com/adriangb) in [#6683](https://github.com/pydantic/pydantic/pull/6683) +* Remove redundant example of optional vs default. by [@ehiggs-deliverect](https://github.com/ehiggs-deliverect) in [#6676](https://github.com/pydantic/pydantic/pull/6676) +* Docs update by [@samuelcolvin](https://github.com/samuelcolvin) in [#6692](https://github.com/pydantic/pydantic/pull/6692) +* Remove the Validate always section in validator docs by [@adriangb](https://github.com/adriangb) in [#6679](https://github.com/pydantic/pydantic/pull/6679) +* Fix recursion error in json schema generation by [@adriangb](https://github.com/adriangb) in [#6720](https://github.com/pydantic/pydantic/pull/6720) +* Fix incorrect subclass check for secretstr by [@AlexVndnblcke](https://github.com/AlexVndnblcke) in [#6730](https://github.com/pydantic/pydantic/pull/6730) +* update pdm / pdm lockfile to 2.8.0 by [@davidhewitt](https://github.com/davidhewitt) in [#6714](https://github.com/pydantic/pydantic/pull/6714) +* unpin pdm on more CI jobs by [@davidhewitt](https://github.com/davidhewitt) in [#6755](https://github.com/pydantic/pydantic/pull/6755) +* improve source locations for auxiliary packages in docs by [@davidhewitt](https://github.com/davidhewitt) in [#6749](https://github.com/pydantic/pydantic/pull/6749) +* Assume builtins don't accept an info argument by [@adriangb](https://github.com/adriangb) in [#6754](https://github.com/pydantic/pydantic/pull/6754) +* Fix bug where calling `help(BaseModelSubclass)` raises errors by [@hramezani](https://github.com/hramezani) in [#6758](https://github.com/pydantic/pydantic/pull/6758) +* Fix mypy plugin handling of `@model_validator(mode="after")` by [@ljodal](https://github.com/ljodal) in [#6753](https://github.com/pydantic/pydantic/pull/6753) +* update pydantic-core to 2.3.1 by [@davidhewitt](https://github.com/davidhewitt) in [#6756](https://github.com/pydantic/pydantic/pull/6756) +* Mypy plugin for settings by [@hramezani](https://github.com/hramezani) in [#6760](https://github.com/pydantic/pydantic/pull/6760) +* Use `contentSchema` keyword for JSON schema by [@dmontagu](https://github.com/dmontagu) in [#6715](https://github.com/pydantic/pydantic/pull/6715) +* fast-path checking finite decimals by [@davidhewitt](https://github.com/davidhewitt) in [#6769](https://github.com/pydantic/pydantic/pull/6769) +* Docs update by [@samuelcolvin](https://github.com/samuelcolvin) in [#6771](https://github.com/pydantic/pydantic/pull/6771) +* Improve json schema doc by [@hramezani](https://github.com/hramezani) in [#6772](https://github.com/pydantic/pydantic/pull/6772) +* Update validator docs by [@adriangb](https://github.com/adriangb) in [#6695](https://github.com/pydantic/pydantic/pull/6695) +* Fix typehint for wrap validator by [@dmontagu](https://github.com/dmontagu) in [#6788](https://github.com/pydantic/pydantic/pull/6788) +* 🐛 Fix validation warning for unions of Literal and other type by [@lig](https://github.com/lig) in [#6628](https://github.com/pydantic/pydantic/pull/6628) +* Update documentation for generics support in V2 by [@tpdorsey](https://github.com/tpdorsey) in [#6685](https://github.com/pydantic/pydantic/pull/6685) +* add pydantic-core build info to `version_info()` by [@samuelcolvin](https://github.com/samuelcolvin) in [#6785](https://github.com/pydantic/pydantic/pull/6785) +* Fix pydantic dataclasses that use slots with default values by [@dmontagu](https://github.com/dmontagu) in [#6796](https://github.com/pydantic/pydantic/pull/6796) +* Fix inheritance of hash function for frozen models by [@dmontagu](https://github.com/dmontagu) in [#6789](https://github.com/pydantic/pydantic/pull/6789) +* ✨ Add `SkipJsonSchema` annotation by [@Kludex](https://github.com/Kludex) in [#6653](https://github.com/pydantic/pydantic/pull/6653) +* Error if an invalid field name is used with Field by [@dmontagu](https://github.com/dmontagu) in [#6797](https://github.com/pydantic/pydantic/pull/6797) +* Add `GenericModel` to `MOVED_IN_V2` by [@adriangb](https://github.com/adriangb) in [#6776](https://github.com/pydantic/pydantic/pull/6776) +* Remove unused code from `docs/usage/types/custom.md` by [@hramezani](https://github.com/hramezani) in [#6803](https://github.com/pydantic/pydantic/pull/6803) +* Fix `float` -> `Decimal` coercion precision loss by [@adriangb](https://github.com/adriangb) in [#6810](https://github.com/pydantic/pydantic/pull/6810) +* remove email validation from the north star benchmark by [@davidhewitt](https://github.com/davidhewitt) in [#6816](https://github.com/pydantic/pydantic/pull/6816) +* Fix link to mypy by [@progsmile](https://github.com/progsmile) in [#6824](https://github.com/pydantic/pydantic/pull/6824) +* Improve initialization hooks example by [@hramezani](https://github.com/hramezani) in [#6822](https://github.com/pydantic/pydantic/pull/6822) +* Fix default port for mongosrv DSNs by [@dmontagu](https://github.com/dmontagu) in [#6827](https://github.com/pydantic/pydantic/pull/6827) +* Improve API documentation, in particular more links between usage and API docs by [@samuelcolvin](https://github.com/samuelcolvin) in [#6780](https://github.com/pydantic/pydantic/pull/6780) +* update pydantic-core to 2.4.0 by [@davidhewitt](https://github.com/davidhewitt) in [#6831](https://github.com/pydantic/pydantic/pull/6831) +* Fix `annotated_types.MaxLen` validator for custom sequence types by [@ImogenBits](https://github.com/ImogenBits) in [#6809](https://github.com/pydantic/pydantic/pull/6809) +* Update V1 by [@hramezani](https://github.com/hramezani) in [#6833](https://github.com/pydantic/pydantic/pull/6833) +* Make it so callable JSON schema extra works by [@dmontagu](https://github.com/dmontagu) in [#6798](https://github.com/pydantic/pydantic/pull/6798) +* Fix serialization issue with `InstanceOf` by [@dmontagu](https://github.com/dmontagu) in [#6829](https://github.com/pydantic/pydantic/pull/6829) +* Add back support for `json_encoders` by [@adriangb](https://github.com/adriangb) in [#6811](https://github.com/pydantic/pydantic/pull/6811) +* Update field annotations when building the schema by [@dmontagu](https://github.com/dmontagu) in [#6838](https://github.com/pydantic/pydantic/pull/6838) +* Use `WeakValueDictionary` to fix generic memory leak by [@dmontagu](https://github.com/dmontagu) in [#6681](https://github.com/pydantic/pydantic/pull/6681) +* Add `config.defer_build` to optionally make model building lazy by [@samuelcolvin](https://github.com/samuelcolvin) in [#6823](https://github.com/pydantic/pydantic/pull/6823) +* delegate `UUID` serialization to pydantic-core by [@davidhewitt](https://github.com/davidhewitt) in [#6850](https://github.com/pydantic/pydantic/pull/6850) +* Update `json_encoders` docs by [@adriangb](https://github.com/adriangb) in [#6848](https://github.com/pydantic/pydantic/pull/6848) +* Fix error message for `staticmethod`/`classmethod` order with validate_call by [@dmontagu](https://github.com/dmontagu) in [#6686](https://github.com/pydantic/pydantic/pull/6686) +* Improve documentation for `Config` by [@samuelcolvin](https://github.com/samuelcolvin) in [#6847](https://github.com/pydantic/pydantic/pull/6847) +* Update serialization doc to mention `Field.exclude` takes priority over call-time `include/exclude` by [@hramezani](https://github.com/hramezani) in [#6851](https://github.com/pydantic/pydantic/pull/6851) +* Allow customizing core schema generation by making `GenerateSchema` public by [@adriangb](https://github.com/adriangb) in [#6737](https://github.com/pydantic/pydantic/pull/6737) + +## v2.0.3 (2023-07-05) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.0.3) + +* Mention PyObject (v1) moving to ImportString (v2) in migration doc by [@slafs](https://github.com/slafs) in [#6456](https://github.com/pydantic/pydantic/pull/6456) +* Fix release-tweet CI by [@Kludex](https://github.com/Kludex) in [#6461](https://github.com/pydantic/pydantic/pull/6461) +* Revise the section on required / optional / nullable fields. by [@ybressler](https://github.com/ybressler) in [#6468](https://github.com/pydantic/pydantic/pull/6468) +* Warn if a type hint is not in fact a type by [@adriangb](https://github.com/adriangb) in [#6479](https://github.com/pydantic/pydantic/pull/6479) +* Replace TransformSchema with GetPydanticSchema by [@dmontagu](https://github.com/dmontagu) in [#6484](https://github.com/pydantic/pydantic/pull/6484) +* Fix the un-hashability of various annotation types, for use in caching generic containers by [@dmontagu](https://github.com/dmontagu) in [#6480](https://github.com/pydantic/pydantic/pull/6480) +* PYD-164: Rework custom types docs by [@adriangb](https://github.com/adriangb) in [#6490](https://github.com/pydantic/pydantic/pull/6490) +* Fix ci by [@adriangb](https://github.com/adriangb) in [#6507](https://github.com/pydantic/pydantic/pull/6507) +* Fix forward ref in generic by [@adriangb](https://github.com/adriangb) in [#6511](https://github.com/pydantic/pydantic/pull/6511) +* Fix generation of serialization JSON schemas for core_schema.ChainSchema by [@dmontagu](https://github.com/dmontagu) in [#6515](https://github.com/pydantic/pydantic/pull/6515) +* Document the change in `Field.alias` behavior in Pydantic V2 by [@hramezani](https://github.com/hramezani) in [#6508](https://github.com/pydantic/pydantic/pull/6508) +* Give better error message attempting to compute the json schema of a model with undefined fields by [@dmontagu](https://github.com/dmontagu) in [#6519](https://github.com/pydantic/pydantic/pull/6519) +* Document `alias_priority` by [@tpdorsey](https://github.com/tpdorsey) in [#6520](https://github.com/pydantic/pydantic/pull/6520) +* Add redirect for types documentation by [@tpdorsey](https://github.com/tpdorsey) in [#6513](https://github.com/pydantic/pydantic/pull/6513) +* Allow updating docs without release by [@samuelcolvin](https://github.com/samuelcolvin) in [#6551](https://github.com/pydantic/pydantic/pull/6551) +* Ensure docs tests always run in the right folder by [@dmontagu](https://github.com/dmontagu) in [#6487](https://github.com/pydantic/pydantic/pull/6487) +* Defer evaluation of return type hints for serializer functions by [@dmontagu](https://github.com/dmontagu) in [#6516](https://github.com/pydantic/pydantic/pull/6516) +* Disable E501 from Ruff and rely on just Black by [@adriangb](https://github.com/adriangb) in [#6552](https://github.com/pydantic/pydantic/pull/6552) +* Update JSON Schema documentation for V2 by [@tpdorsey](https://github.com/tpdorsey) in [#6492](https://github.com/pydantic/pydantic/pull/6492) +* Add documentation of cyclic reference handling by [@dmontagu](https://github.com/dmontagu) in [#6493](https://github.com/pydantic/pydantic/pull/6493) +* Remove the need for change files by [@samuelcolvin](https://github.com/samuelcolvin) in [#6556](https://github.com/pydantic/pydantic/pull/6556) +* add "north star" benchmark by [@davidhewitt](https://github.com/davidhewitt) in [#6547](https://github.com/pydantic/pydantic/pull/6547) +* Update Dataclasses docs by [@tpdorsey](https://github.com/tpdorsey) in [#6470](https://github.com/pydantic/pydantic/pull/6470) +* ♻️ Use different error message on v1 redirects by [@Kludex](https://github.com/Kludex) in [#6595](https://github.com/pydantic/pydantic/pull/6595) +* ⬆ Upgrade `pydantic-core` to v2.2.0 by [@lig](https://github.com/lig) in [#6589](https://github.com/pydantic/pydantic/pull/6589) +* Fix serialization for IPvAny by [@dmontagu](https://github.com/dmontagu) in [#6572](https://github.com/pydantic/pydantic/pull/6572) +* Improve CI by using PDM instead of pip to install typing-extensions by [@adriangb](https://github.com/adriangb) in [#6602](https://github.com/pydantic/pydantic/pull/6602) +* Add `enum` error type docs by [@lig](https://github.com/lig) in [#6603](https://github.com/pydantic/pydantic/pull/6603) +* 🐛 Fix `max_length` for unicode strings by [@lig](https://github.com/lig) in [#6559](https://github.com/pydantic/pydantic/pull/6559) +* Add documentation for accessing features via `pydantic.v1` by [@tpdorsey](https://github.com/tpdorsey) in [#6604](https://github.com/pydantic/pydantic/pull/6604) +* Include extra when iterating over a model by [@adriangb](https://github.com/adriangb) in [#6562](https://github.com/pydantic/pydantic/pull/6562) +* Fix typing of model_validator by [@adriangb](https://github.com/adriangb) in [#6514](https://github.com/pydantic/pydantic/pull/6514) +* Touch up Decimal validator by [@adriangb](https://github.com/adriangb) in [#6327](https://github.com/pydantic/pydantic/pull/6327) +* Fix various docstrings using fixed pytest-examples by [@dmontagu](https://github.com/dmontagu) in [#6607](https://github.com/pydantic/pydantic/pull/6607) +* Handle function validators in a discriminated union by [@dmontagu](https://github.com/dmontagu) in [#6570](https://github.com/pydantic/pydantic/pull/6570) +* Review json_schema.md by [@tpdorsey](https://github.com/tpdorsey) in [#6608](https://github.com/pydantic/pydantic/pull/6608) +* Make validate_call work on basemodel methods by [@dmontagu](https://github.com/dmontagu) in [#6569](https://github.com/pydantic/pydantic/pull/6569) +* add test for big int json serde by [@davidhewitt](https://github.com/davidhewitt) in [#6614](https://github.com/pydantic/pydantic/pull/6614) +* Fix pydantic dataclass problem with dataclasses.field default_factory by [@hramezani](https://github.com/hramezani) in [#6616](https://github.com/pydantic/pydantic/pull/6616) +* Fixed mypy type inference for TypeAdapter by [@zakstucke](https://github.com/zakstucke) in [#6617](https://github.com/pydantic/pydantic/pull/6617) +* Make it work to use None as a generic parameter by [@dmontagu](https://github.com/dmontagu) in [#6609](https://github.com/pydantic/pydantic/pull/6609) +* Make it work to use `$ref` as an alias by [@dmontagu](https://github.com/dmontagu) in [#6568](https://github.com/pydantic/pydantic/pull/6568) +* add note to migration guide about changes to `AnyUrl` etc by [@davidhewitt](https://github.com/davidhewitt) in [#6618](https://github.com/pydantic/pydantic/pull/6618) +* 🐛 Support defining `json_schema_extra` on `RootModel` using `Field` by [@lig](https://github.com/lig) in [#6622](https://github.com/pydantic/pydantic/pull/6622) +* Update pre-commit to prevent commits to main branch on accident by [@dmontagu](https://github.com/dmontagu) in [#6636](https://github.com/pydantic/pydantic/pull/6636) +* Fix PDM CI for python 3.7 on MacOS/windows by [@dmontagu](https://github.com/dmontagu) in [#6627](https://github.com/pydantic/pydantic/pull/6627) +* Produce more accurate signatures for pydantic dataclasses by [@dmontagu](https://github.com/dmontagu) in [#6633](https://github.com/pydantic/pydantic/pull/6633) +* Updates to Url types for Pydantic V2 by [@tpdorsey](https://github.com/tpdorsey) in [#6638](https://github.com/pydantic/pydantic/pull/6638) +* Fix list markdown in `transform` docstring by [@StefanBRas](https://github.com/StefanBRas) in [#6649](https://github.com/pydantic/pydantic/pull/6649) +* simplify slots_dataclass construction to appease mypy by [@davidhewitt](https://github.com/davidhewitt) in [#6639](https://github.com/pydantic/pydantic/pull/6639) +* Update TypedDict schema generation docstring by [@adriangb](https://github.com/adriangb) in [#6651](https://github.com/pydantic/pydantic/pull/6651) +* Detect and lint-error for prints by [@dmontagu](https://github.com/dmontagu) in [#6655](https://github.com/pydantic/pydantic/pull/6655) +* Add xfailing test for pydantic-core PR 766 by [@dmontagu](https://github.com/dmontagu) in [#6641](https://github.com/pydantic/pydantic/pull/6641) +* Ignore unrecognized fields from dataclasses metadata by [@dmontagu](https://github.com/dmontagu) in [#6634](https://github.com/pydantic/pydantic/pull/6634) +* Make non-existent class getattr a mypy error by [@dmontagu](https://github.com/dmontagu) in [#6658](https://github.com/pydantic/pydantic/pull/6658) +* Update pydantic-core to 2.3.0 by [@hramezani](https://github.com/hramezani) in [#6648](https://github.com/pydantic/pydantic/pull/6648) +* Use OrderedDict from typing_extensions by [@dmontagu](https://github.com/dmontagu) in [#6664](https://github.com/pydantic/pydantic/pull/6664) +* Fix typehint for JSON schema extra callable by [@dmontagu](https://github.com/dmontagu) in [#6659](https://github.com/pydantic/pydantic/pull/6659) + +## v2.0.2 (2023-07-05) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.0.2) + +* Fix bug where round-trip pickling/unpickling a `RootModel` would change the value of `__dict__`, [#6457](https://github.com/pydantic/pydantic/pull/6457) by [@dmontagu](https://github.com/dmontagu) +* Allow single-item discriminated unions, [#6405](https://github.com/pydantic/pydantic/pull/6405) by [@dmontagu](https://github.com/dmontagu) +* Fix issue with union parsing of enums, [#6440](https://github.com/pydantic/pydantic/pull/6440) by [@dmontagu](https://github.com/dmontagu) +* Docs: Fixed `constr` documentation, renamed old `regex` to new `pattern`, [#6452](https://github.com/pydantic/pydantic/pull/6452) by [@miili](https://github.com/miili) +* Change `GenerateJsonSchema.generate_definitions` signature, [#6436](https://github.com/pydantic/pydantic/pull/6436) by [@dmontagu](https://github.com/dmontagu) + +See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0.2) + +## v2.0.1 (2023-07-04) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.0.1) + +First patch release of Pydantic V2 + +* Extra fields added via `setattr` (i.e. `m.some_extra_field = 'extra_value'`) + are added to `.model_extra` if `model_config` `extra='allowed'`. Fixed [#6333](https://github.com/pydantic/pydantic/pull/6333), [#6365](https://github.com/pydantic/pydantic/pull/6365) by [@aaraney](https://github.com/aaraney) +* Automatically unpack JSON schema '$ref' for custom types, [#6343](https://github.com/pydantic/pydantic/pull/6343) by [@adriangb](https://github.com/adriangb) +* Fix tagged unions multiple processing in submodels, [#6340](https://github.com/pydantic/pydantic/pull/6340) by [@suharnikov](https://github.com/suharnikov) + +See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0.1) + +## v2.0 (2023-06-30) + +[GitHub release](https://github.com/pydantic/pydantic/releases/tag/v2.0) + +Pydantic V2 is here! :tada: + +See [this post](https://docs.pydantic.dev/2.0/blog/pydantic-v2-final/) for more details. + +## v2.0b3 (2023-06-16) + +Third beta pre-release of Pydantic V2 + +See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0b3) + +## v2.0b2 (2023-06-03) + +Add `from_attributes` runtime flag to `TypeAdapter.validate_python` and `BaseModel.model_validate`. + +See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0b2) + +## v2.0b1 (2023-06-01) + +First beta pre-release of Pydantic V2 + +See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0b1) + +## v2.0a4 (2023-05-05) + +Fourth pre-release of Pydantic V2 + +See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0a4) + +## v2.0a3 (2023-04-20) + +Third pre-release of Pydantic V2 + +See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0a3) + +## v2.0a2 (2023-04-12) + +Second pre-release of Pydantic V2 + +See the full changelog [here](https://github.com/pydantic/pydantic/releases/tag/v2.0a2) + +## v2.0a1 (2023-04-03) + +First pre-release of Pydantic V2! + +See [this post](https://docs.pydantic.dev/blog/pydantic-v2-alpha/) for more details. + +## v1.10.13 (2023-09-27) + +* Fix: Add max length check to `pydantic.validate_email`, [#7673](https://github.com/pydantic/pydantic/issues/7673) by [@hramezani](https://github.com/hramezani) +* Docs: Fix pip commands to install v1, [#6930](https://github.com/pydantic/pydantic/issues/6930) by [@chbndrhnns](https://github.com/chbndrhnns) + +## v1.10.12 (2023-07-24) + +* Fixes the `maxlen` property being dropped on `deque` validation. Happened only if the deque item has been typed. Changes the `_validate_sequence_like` func, [#6581](https://github.com/pydantic/pydantic/pull/6581) by [@maciekglowka](https://github.com/maciekglowka) + +## v1.10.11 (2023-07-04) + +* Importing create_model in tools.py through relative path instead of absolute path - so that it doesn't import V2 code when copied over to V2 branch, [#6361](https://github.com/pydantic/pydantic/pull/6361) by [@SharathHuddar](https://github.com/SharathHuddar) + +## v1.10.10 (2023-06-30) + +* Add Pydantic `Json` field support to settings management, [#6250](https://github.com/pydantic/pydantic/pull/6250) by [@hramezani](https://github.com/hramezani) +* Fixed literal validator errors for unhashable values, [#6188](https://github.com/pydantic/pydantic/pull/6188) by [@markus1978](https://github.com/markus1978) +* Fixed bug with generics receiving forward refs, [#6130](https://github.com/pydantic/pydantic/pull/6130) by [@mark-todd](https://github.com/mark-todd) +* Update install method of FastAPI for internal tests in CI, [#6117](https://github.com/pydantic/pydantic/pull/6117) by [@Kludex](https://github.com/Kludex) + +## v1.10.9 (2023-06-07) + +* Fix trailing zeros not ignored in Decimal validation, [#5968](https://github.com/pydantic/pydantic/pull/5968) by [@hramezani](https://github.com/hramezani) +* Fix mypy plugin for v1.4.0, [#5928](https://github.com/pydantic/pydantic/pull/5928) by [@cdce8p](https://github.com/cdce8p) +* Add future and past date hypothesis strategies, [#5850](https://github.com/pydantic/pydantic/pull/5850) by [@bschoenmaeckers](https://github.com/bschoenmaeckers) +* Discourage usage of Cython 3 with Pydantic 1.x, [#5845](https://github.com/pydantic/pydantic/pull/5845) by [@lig](https://github.com/lig) + +## v1.10.8 (2023-05-23) + +* Fix a bug in `Literal` usage with `typing-extension==4.6.0`, [#5826](https://github.com/pydantic/pydantic/pull/5826) by [@hramezani](https://github.com/hramezani) +* This solves the (closed) issue [#3849](https://github.com/pydantic/pydantic/pull/3849) where aliased fields that use discriminated union fail to validate when the data contains the non-aliased field name, [#5736](https://github.com/pydantic/pydantic/pull/5736) by [@benwah](https://github.com/benwah) +* Update email-validator dependency to >=2.0.0post2, [#5627](https://github.com/pydantic/pydantic/pull/5627) by [@adriangb](https://github.com/adriangb) +* update `AnyClassMethod` for changes in [python/typeshed#9771](https://github.com/python/typeshed/issues/9771), [#5505](https://github.com/pydantic/pydantic/pull/5505) by [@ITProKyle](https://github.com/ITProKyle) + +## v1.10.7 (2023-03-22) + +* Fix creating schema from model using `ConstrainedStr` with `regex` as dict key, [#5223](https://github.com/pydantic/pydantic/pull/5223) by [@matejetz](https://github.com/matejetz) +* Address bug in mypy plugin caused by explicit_package_bases=True, [#5191](https://github.com/pydantic/pydantic/pull/5191) by [@dmontagu](https://github.com/dmontagu) +* Add implicit defaults in the mypy plugin for Field with no default argument, [#5190](https://github.com/pydantic/pydantic/pull/5190) by [@dmontagu](https://github.com/dmontagu) +* Fix schema generated for Enum values used as Literals in discriminated unions, [#5188](https://github.com/pydantic/pydantic/pull/5188) by [@javibookline](https://github.com/javibookline) +* Fix mypy failures caused by the pydantic mypy plugin when users define `from_orm` in their own classes, [#5187](https://github.com/pydantic/pydantic/pull/5187) by [@dmontagu](https://github.com/dmontagu) +* Fix `InitVar` usage with pydantic dataclasses, mypy version `1.1.1` and the custom mypy plugin, [#5162](https://github.com/pydantic/pydantic/pull/5162) by [@cdce8p](https://github.com/cdce8p) + +## v1.10.6 (2023-03-08) + +* Implement logic to support creating validators from non standard callables by using defaults to identify them and unwrapping `functools.partial` and `functools.partialmethod` when checking the signature, [#5126](https://github.com/pydantic/pydantic/pull/5126) by [@JensHeinrich](https://github.com/JensHeinrich) +* Fix mypy plugin for v1.1.1, and fix `dataclass_transform` decorator for pydantic dataclasses, [#5111](https://github.com/pydantic/pydantic/pull/5111) by [@cdce8p](https://github.com/cdce8p) +* Raise `ValidationError`, not `ConfigError`, when a discriminator value is unhashable, [#4773](https://github.com/pydantic/pydantic/pull/4773) by [@kurtmckee](https://github.com/kurtmckee) + +## v1.10.5 (2023-02-15) + +* Fix broken parametrized bases handling with `GenericModel`s with complex sets of models, [#5052](https://github.com/pydantic/pydantic/pull/5052) by [@MarkusSintonen](https://github.com/MarkusSintonen) +* Invalidate mypy cache if plugin config changes, [#5007](https://github.com/pydantic/pydantic/pull/5007) by [@cdce8p](https://github.com/cdce8p) +* Fix `RecursionError` when deep-copying dataclass types wrapped by pydantic, [#4949](https://github.com/pydantic/pydantic/pull/4949) by [@mbillingr](https://github.com/mbillingr) +* Fix `X | Y` union syntax breaking `GenericModel`, [#4146](https://github.com/pydantic/pydantic/pull/4146) by [@thenx](https://github.com/thenx) +* Switch coverage badge to show coverage for this branch/release, [#5060](https://github.com/pydantic/pydantic/pull/5060) by [@samuelcolvin](https://github.com/samuelcolvin) + +## v1.10.4 (2022-12-30) + +* Change dependency to `typing-extensions>=4.2.0`, [#4885](https://github.com/pydantic/pydantic/pull/4885) by [@samuelcolvin](https://github.com/samuelcolvin) + +## v1.10.3 (2022-12-29) + +**NOTE: v1.10.3 was ["yanked"](https://pypi.org/help/#yanked) from PyPI due to [#4885](https://github.com/pydantic/pydantic/pull/4885) which is fixed in v1.10.4** + +* fix parsing of custom root models, [#4883](https://github.com/pydantic/pydantic/pull/4883) by [@gou177](https://github.com/gou177) +* fix: use dataclass proxy for frozen or empty dataclasses, [#4878](https://github.com/pydantic/pydantic/pull/4878) by [@PrettyWood](https://github.com/PrettyWood) +* Fix `schema` and `schema_json` on models where a model instance is a one of default values, [#4781](https://github.com/pydantic/pydantic/pull/4781) by [@Bobronium](https://github.com/Bobronium) +* Add Jina AI to sponsors on docs index page, [#4767](https://github.com/pydantic/pydantic/pull/4767) by [@samuelcolvin](https://github.com/samuelcolvin) +* fix: support assignment on `DataclassProxy`, [#4695](https://github.com/pydantic/pydantic/pull/4695) by [@PrettyWood](https://github.com/PrettyWood) +* Add `postgresql+psycopg` as allowed scheme for `PostgreDsn` to make it usable with SQLAlchemy 2, [#4689](https://github.com/pydantic/pydantic/pull/4689) by [@morian](https://github.com/morian) +* Allow dict schemas to have both `patternProperties` and `additionalProperties`, [#4641](https://github.com/pydantic/pydantic/pull/4641) by [@jparise](https://github.com/jparise) +* Fixes error passing None for optional lists with `unique_items`, [#4568](https://github.com/pydantic/pydantic/pull/4568) by [@mfulgo](https://github.com/mfulgo) +* Fix `GenericModel` with `Callable` param raising a `TypeError`, [#4551](https://github.com/pydantic/pydantic/pull/4551) by [@mfulgo](https://github.com/mfulgo) +* Fix field regex with `StrictStr` type annotation, [#4538](https://github.com/pydantic/pydantic/pull/4538) by [@sisp](https://github.com/sisp) +* Correct `dataclass_transform` keyword argument name from `field_descriptors` to `field_specifiers`, [#4500](https://github.com/pydantic/pydantic/pull/4500) by [@samuelcolvin](https://github.com/samuelcolvin) +* fix: avoid multiple calls of `__post_init__` when dataclasses are inherited, [#4487](https://github.com/pydantic/pydantic/pull/4487) by [@PrettyWood](https://github.com/PrettyWood) +* Reduce the size of binary wheels, [#2276](https://github.com/pydantic/pydantic/pull/2276) by [@samuelcolvin](https://github.com/samuelcolvin) + +## v1.10.2 (2022-09-05) + +* **Revert Change:** Revert percent encoding of URL parts which was originally added in [#4224](https://github.com/pydantic/pydantic/pull/4224), [#4470](https://github.com/pydantic/pydantic/pull/4470) by [@samuelcolvin](https://github.com/samuelcolvin) +* Prevent long (length > `4_300`) strings/bytes as input to int fields, see + [python/cpython#95778](https://github.com/python/cpython/issues/95778) and + [CVE-2020-10735](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735), [#1477](https://github.com/pydantic/pydantic/pull/1477) by [@samuelcolvin](https://github.com/samuelcolvin) +* fix: dataclass wrapper was not always called, [#4477](https://github.com/pydantic/pydantic/pull/4477) by [@PrettyWood](https://github.com/PrettyWood) +* Use `tomllib` on Python 3.11 when parsing `mypy` configuration, [#4476](https://github.com/pydantic/pydantic/pull/4476) by [@hauntsaninja](https://github.com/hauntsaninja) +* Basic fix of `GenericModel` cache to detect order of arguments in `Union` models, [#4474](https://github.com/pydantic/pydantic/pull/4474) by [@sveinugu](https://github.com/sveinugu) +* Fix mypy plugin when using bare types like `list` and `dict` as `default_factory`, [#4457](https://github.com/pydantic/pydantic/pull/4457) by [@samuelcolvin](https://github.com/samuelcolvin) + +## v1.10.1 (2022-08-31) + +* Add `__hash__` method to `pydancic.color.Color` class, [#4454](https://github.com/pydantic/pydantic/pull/4454) by [@czaki](https://github.com/czaki) + +## v1.10.0 (2022-08-30) + +* Refactor the whole _pydantic_ `dataclass` decorator to really act like its standard lib equivalent. + It hence keeps `__eq__`, `__hash__`, ... and makes comparison with its non-validated version possible. + It also fixes usage of `frozen` dataclasses in fields and usage of `default_factory` in nested dataclasses. + The support of `Config.extra` has been added. + Finally, config customization directly via a `dict` is now possible, [#2557](https://github.com/pydantic/pydantic/pull/2557) by [@PrettyWood](https://github.com/PrettyWood) +

      + **BREAKING CHANGES:** + - The `compiled` boolean (whether _pydantic_ is compiled with cython) has been moved from `main.py` to `version.py` + - Now that `Config.extra` is supported, `dataclass` ignores by default extra arguments (like `BaseModel`) +* Fix PEP487 `__set_name__` protocol in `BaseModel` for PrivateAttrs, [#4407](https://github.com/pydantic/pydantic/pull/4407) by [@tlambert03](https://github.com/tlambert03) +* Allow for custom parsing of environment variables via `parse_env_var` in `Config`, [#4406](https://github.com/pydantic/pydantic/pull/4406) by [@acmiyaguchi](https://github.com/acmiyaguchi) +* Rename `master` to `main`, [#4405](https://github.com/pydantic/pydantic/pull/4405) by [@hramezani](https://github.com/hramezani) +* Fix `StrictStr` does not raise `ValidationError` when `max_length` is present in `Field`, [#4388](https://github.com/pydantic/pydantic/pull/4388) by [@hramezani](https://github.com/hramezani) +* Make `SecretStr` and `SecretBytes` hashable, [#4387](https://github.com/pydantic/pydantic/pull/4387) by [@chbndrhnns](https://github.com/chbndrhnns) +* Fix `StrictBytes` does not raise `ValidationError` when `max_length` is present in `Field`, [#4380](https://github.com/pydantic/pydantic/pull/4380) by [@JeanArhancet](https://github.com/JeanArhancet) +* Add support for bare `type`, [#4375](https://github.com/pydantic/pydantic/pull/4375) by [@hramezani](https://github.com/hramezani) +* Support Python 3.11, including binaries for 3.11 in PyPI, [#4374](https://github.com/pydantic/pydantic/pull/4374) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add support for `re.Pattern`, [#4366](https://github.com/pydantic/pydantic/pull/4366) by [@hramezani](https://github.com/hramezani) +* Fix `__post_init_post_parse__` is incorrectly passed keyword arguments when no `__post_init__` is defined, [#4361](https://github.com/pydantic/pydantic/pull/4361) by [@hramezani](https://github.com/hramezani) +* Fix implicitly importing `ForwardRef` and `Callable` from `pydantic.typing` instead of `typing` and also expose `MappingIntStrAny`, [#4358](https://github.com/pydantic/pydantic/pull/4358) by [@aminalaee](https://github.com/aminalaee) +* remove `Any` types from the `dataclass` decorator so it can be used with the `disallow_any_expr` mypy option, [#4356](https://github.com/pydantic/pydantic/pull/4356) by [@DetachHead](https://github.com/DetachHead) +* moved repo to `pydantic/pydantic`, [#4348](https://github.com/pydantic/pydantic/pull/4348) by [@yezz123](https://github.com/yezz123) +* fix "extra fields not permitted" error when dataclass with `Extra.forbid` is validated multiple times, [#4343](https://github.com/pydantic/pydantic/pull/4343) by [@detachhead](https://github.com/detachhead) +* Add Python 3.9 and 3.10 examples to docs, [#4339](https://github.com/pydantic/pydantic/pull/4339) by [@Bobronium](https://github.com/Bobronium) +* Discriminated union models now use `oneOf` instead of `anyOf` when generating OpenAPI schema definitions, [#4335](https://github.com/pydantic/pydantic/pull/4335) by [@MaxwellPayne](https://github.com/MaxwellPayne) +* Allow type checkers to infer inner type of `Json` type. `Json[list[str]]` will be now inferred as `list[str]`, + `Json[Any]` should be used instead of plain `Json`. + Runtime behaviour is not changed, [#4332](https://github.com/pydantic/pydantic/pull/4332) by [@Bobronium](https://github.com/Bobronium) +* Allow empty string aliases by using a `alias is not None` check, rather than `bool(alias)`, [#4253](https://github.com/pydantic/pydantic/pull/4253) by [@sergeytsaplin](https://github.com/sergeytsaplin) +* Update `ForwardRef`s in `Field.outer_type_`, [#4249](https://github.com/pydantic/pydantic/pull/4249) by [@JacobHayes](https://github.com/JacobHayes) +* The use of `__dataclass_transform__` has been replaced by `typing_extensions.dataclass_transform`, which is the preferred way to mark pydantic models as a dataclass under [PEP 681](https://peps.python.org/pep-0681/), [#4241](https://github.com/pydantic/pydantic/pull/4241) by [@multimeric](https://github.com/multimeric) +* Use parent model's `Config` when validating nested `NamedTuple` fields, [#4219](https://github.com/pydantic/pydantic/pull/4219) by [@synek](https://github.com/synek) +* Update `BaseModel.construct` to work with aliased Fields, [#4192](https://github.com/pydantic/pydantic/pull/4192) by [@kylebamos](https://github.com/kylebamos) +* Catch certain raised errors in `smart_deepcopy` and revert to `deepcopy` if so, [#4184](https://github.com/pydantic/pydantic/pull/4184) by [@coneybeare](https://github.com/coneybeare) +* Add `Config.anystr_upper` and `to_upper` kwarg to constr and conbytes, [#4165](https://github.com/pydantic/pydantic/pull/4165) by [@satheler](https://github.com/satheler) +* Fix JSON schema for `set` and `frozenset` when they include default values, [#4155](https://github.com/pydantic/pydantic/pull/4155) by [@aminalaee](https://github.com/aminalaee) +* Teach the mypy plugin that methods decorated by `@validator` are classmethods, [#4102](https://github.com/pydantic/pydantic/pull/4102) by [@DMRobertson](https://github.com/DMRobertson) +* Improve mypy plugin's ability to detect required fields, [#4086](https://github.com/pydantic/pydantic/pull/4086) by [@richardxia](https://github.com/richardxia) +* Support fields of type `Type[]` in schema, [#4051](https://github.com/pydantic/pydantic/pull/4051) by [@aminalaee](https://github.com/aminalaee) +* Add `default` value in JSON Schema when `const=True`, [#4031](https://github.com/pydantic/pydantic/pull/4031) by [@aminalaee](https://github.com/aminalaee) +* Adds reserved word check to signature generation logic, [#4011](https://github.com/pydantic/pydantic/pull/4011) by [@strue36](https://github.com/strue36) +* Fix Json strategy failure for the complex nested field, [#4005](https://github.com/pydantic/pydantic/pull/4005) by [@sergiosim](https://github.com/sergiosim) +* Add JSON-compatible float constraint `allow_inf_nan`, [#3994](https://github.com/pydantic/pydantic/pull/3994) by [@tiangolo](https://github.com/tiangolo) +* Remove undefined behaviour when `env_prefix` had characters in common with `env_nested_delimiter`, [#3975](https://github.com/pydantic/pydantic/pull/3975) by [@arsenron](https://github.com/arsenron) +* Support generics model with `create_model`, [#3945](https://github.com/pydantic/pydantic/pull/3945) by [@hot123s](https://github.com/hot123s) +* allow submodels to overwrite extra field info, [#3934](https://github.com/pydantic/pydantic/pull/3934) by [@PrettyWood](https://github.com/PrettyWood) +* Document and test structural pattern matching ([PEP 636](https://peps.python.org/pep-0636/)) on `BaseModel`, [#3920](https://github.com/pydantic/pydantic/pull/3920) by [@irgolic](https://github.com/irgolic) +* Fix incorrect deserialization of python timedelta object to ISO 8601 for negative time deltas. + Minus was serialized in incorrect place ("P-1DT23H59M59.888735S" instead of correct "-P1DT23H59M59.888735S"), [#3899](https://github.com/pydantic/pydantic/pull/3899) by [@07pepa](https://github.com/07pepa) +* Fix validation of discriminated union fields with an alias when passing a model instance, [#3846](https://github.com/pydantic/pydantic/pull/3846) by [@chornsby](https://github.com/chornsby) +* Add a CockroachDsn type to validate CockroachDB connection strings. The type + supports the following schemes: `cockroachdb`, `cockroachdb+psycopg2` and `cockroachdb+asyncpg`, [#3839](https://github.com/pydantic/pydantic/pull/3839) by [@blubber](https://github.com/blubber) +* Fix MyPy plugin to not override pre-existing `__init__` method in models, [#3824](https://github.com/pydantic/pydantic/pull/3824) by [@patrick91](https://github.com/patrick91) +* Fix mypy version checking, [#3783](https://github.com/pydantic/pydantic/pull/3783) by [@KotlinIsland](https://github.com/KotlinIsland) +* support overwriting dunder attributes of `BaseModel` instances, [#3777](https://github.com/pydantic/pydantic/pull/3777) by [@PrettyWood](https://github.com/PrettyWood) +* Added `ConstrainedDate` and `condate`, [#3740](https://github.com/pydantic/pydantic/pull/3740) by [@hottwaj](https://github.com/hottwaj) +* Support `kw_only` in dataclasses, [#3670](https://github.com/pydantic/pydantic/pull/3670) by [@detachhead](https://github.com/detachhead) +* Add comparison method for `Color` class, [#3646](https://github.com/pydantic/pydantic/pull/3646) by [@aminalaee](https://github.com/aminalaee) +* Drop support for python3.6, associated cleanup, [#3605](https://github.com/pydantic/pydantic/pull/3605) by [@samuelcolvin](https://github.com/samuelcolvin) +* created new function `to_lower_camel()` for "non pascal case" camel case, [#3463](https://github.com/pydantic/pydantic/pull/3463) by [@schlerp](https://github.com/schlerp) +* Add checks to `default` and `default_factory` arguments in Mypy plugin, [#3430](https://github.com/pydantic/pydantic/pull/3430) by [@klaa97](https://github.com/klaa97) +* fix mangling of `inspect.signature` for `BaseModel`, [#3413](https://github.com/pydantic/pydantic/pull/3413) by [@fix-inspect-signature](https://github.com/fix-inspect-signature) +* Adds the `SecretField` abstract class so that all the current and future secret fields like `SecretStr` and `SecretBytes` will derive from it, [#3409](https://github.com/pydantic/pydantic/pull/3409) by [@expobrain](https://github.com/expobrain) +* Support multi hosts validation in `PostgresDsn`, [#3337](https://github.com/pydantic/pydantic/pull/3337) by [@rglsk](https://github.com/rglsk) +* Fix parsing of very small numeric timedelta values, [#3315](https://github.com/pydantic/pydantic/pull/3315) by [@samuelcolvin](https://github.com/samuelcolvin) +* Update `SecretsSettingsSource` to respect `config.case_sensitive`, [#3273](https://github.com/pydantic/pydantic/pull/3273) by [@JeanArhancet](https://github.com/JeanArhancet) +* Add MongoDB network data source name (DSN) schema, [#3229](https://github.com/pydantic/pydantic/pull/3229) by [@snosratiershad](https://github.com/snosratiershad) +* Add support for multiple dotenv files, [#3222](https://github.com/pydantic/pydantic/pull/3222) by [@rekyungmin](https://github.com/rekyungmin) +* Raise an explicit `ConfigError` when multiple fields are incorrectly set for a single validator, [#3215](https://github.com/pydantic/pydantic/pull/3215) by [@SunsetOrange](https://github.com/SunsetOrange) +* Allow ellipsis on `Field`s inside `Annotated` for `TypedDicts` required, [#3133](https://github.com/pydantic/pydantic/pull/3133) by [@ezegomez](https://github.com/ezegomez) +* Catch overflow errors in `int_validator`, [#3112](https://github.com/pydantic/pydantic/pull/3112) by [@ojii](https://github.com/ojii) +* Adds a `__rich_repr__` method to `Representation` class which enables pretty printing with [Rich](https://github.com/willmcgugan/rich), [#3099](https://github.com/pydantic/pydantic/pull/3099) by [@willmcgugan](https://github.com/willmcgugan) +* Add percent encoding in `AnyUrl` and descendent types, [#3061](https://github.com/pydantic/pydantic/pull/3061) by [@FaresAhmedb](https://github.com/FaresAhmedb) +* `validate_arguments` decorator now supports `alias`, [#3019](https://github.com/pydantic/pydantic/pull/3019) by [@MAD-py](https://github.com/MAD-py) +* Avoid `__dict__` and `__weakref__` attributes in `AnyUrl` and IP address fields, [#2890](https://github.com/pydantic/pydantic/pull/2890) by [@nuno-andre](https://github.com/nuno-andre) +* Add ability to use `Final` in a field type annotation, [#2766](https://github.com/pydantic/pydantic/pull/2766) by [@uriyyo](https://github.com/uriyyo) +* Update requirement to `typing_extensions>=4.1.0` to guarantee `dataclass_transform` is available, [#4424](https://github.com/pydantic/pydantic/pull/4424) by [@commonism](https://github.com/commonism) +* Add Explosion and AWS to main sponsors, [#4413](https://github.com/pydantic/pydantic/pull/4413) by [@samuelcolvin](https://github.com/samuelcolvin) +* Update documentation for `copy_on_model_validation` to reflect recent changes, [#4369](https://github.com/pydantic/pydantic/pull/4369) by [@samuelcolvin](https://github.com/samuelcolvin) +* Runtime warning if `__slots__` is passed to `create_model`, `__slots__` is then ignored, [#4432](https://github.com/pydantic/pydantic/pull/4432) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add type hints to `BaseSettings.Config` to avoid mypy errors, also correct mypy version compatibility notice in docs, [#4450](https://github.com/pydantic/pydantic/pull/4450) by [@samuelcolvin](https://github.com/samuelcolvin) + +## v1.10.0b1 (2022-08-24) + +Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v1.10.0b1) for details. + +## v1.10.0a2 (2022-08-24) + +Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v1.10.0a2) for details. + +## v1.10.0a1 (2022-08-22) + +Pre-release, see [the GitHub release](https://github.com/pydantic/pydantic/releases/tag/v1.10.0a1) for details. + +## v1.9.2 (2022-08-11) + +**Revert Breaking Change**: _v1.9.1_ introduced a breaking change where model fields were +deep copied by default, this release reverts the default behaviour to match _v1.9.0_ and before, +while also allow deep-copy behaviour via `copy_on_model_validation = 'deep'`. See [#4092](https://github.com/pydantic/pydantic/pull/4092) for more information. + +* Allow for shallow copies of model fields, `Config.copy_on_model_validation` is now a str which must be + `'none'`, `'deep'`, or `'shallow'` corresponding to not copying, deep copy & shallow copy; default `'shallow'`, + [#4093](https://github.com/pydantic/pydantic/pull/4093) by [@timkpaine](https://github.com/timkpaine) + +## v1.9.1 (2022-05-19) + +Thank you to pydantic's sponsors: +[@tiangolo](https://github.com/tiangolo), [@stellargraph](https://github.com/stellargraph), [@JonasKs](https://github.com/JonasKs), [@grillazz](https://github.com/grillazz), [@Mazyod](https://github.com/Mazyod), [@kevinalh](https://github.com/kevinalh), [@chdsbd](https://github.com/chdsbd), [@povilasb](https://github.com/povilasb), [@povilasb](https://github.com/povilasb), [@jina-ai](https://github.com/jina-ai), +[@mainframeindustries](https://github.com/mainframeindustries), [@robusta-dev](https://github.com/robusta-dev), [@SendCloud](https://github.com/SendCloud), [@rszamszur](https://github.com/rszamszur), [@jodal](https://github.com/jodal), [@hardbyte](https://github.com/hardbyte), [@corleyma](https://github.com/corleyma), [@daddycocoaman](https://github.com/daddycocoaman), +[@Rehket](https://github.com/Rehket), [@jokull](https://github.com/jokull), [@reillysiemens](https://github.com/reillysiemens), [@westonsteimel](https://github.com/westonsteimel), [@primer-io](https://github.com/primer-io), [@koxudaxi](https://github.com/koxudaxi), [@browniebroke](https://github.com/browniebroke), [@stradivari96](https://github.com/stradivari96), +[@adriangb](https://github.com/adriangb), [@kamalgill](https://github.com/kamalgill), [@jqueguiner](https://github.com/jqueguiner), [@dev-zero](https://github.com/dev-zero), [@datarootsio](https://github.com/datarootsio), [@RedCarpetUp](https://github.com/RedCarpetUp) +for their kind support. + +* Limit the size of `generics._generic_types_cache` and `generics._assigned_parameters` + to avoid unlimited increase in memory usage, [#4083](https://github.com/pydantic/pydantic/pull/4083) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add Jupyverse and FPS as Jupyter projects using pydantic, [#4082](https://github.com/pydantic/pydantic/pull/4082) by [@davidbrochart](https://github.com/davidbrochart) +* Speedup `__isinstancecheck__` on pydantic models when the type is not a model, may also avoid memory "leaks", [#4081](https://github.com/pydantic/pydantic/pull/4081) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fix in-place modification of `FieldInfo` that caused problems with PEP 593 type aliases, [#4067](https://github.com/pydantic/pydantic/pull/4067) by [@adriangb](https://github.com/adriangb) +* Add support for autocomplete in VS Code via `__dataclass_transform__` when using `pydantic.dataclasses.dataclass`, [#4006](https://github.com/pydantic/pydantic/pull/4006) by [@giuliano-oliveira](https://github.com/giuliano-oliveira) +* Remove benchmarks from codebase and docs, [#3973](https://github.com/pydantic/pydantic/pull/3973) by [@samuelcolvin](https://github.com/samuelcolvin) +* Typing checking with pyright in CI, improve docs on vscode/pylance/pyright, [#3972](https://github.com/pydantic/pydantic/pull/3972) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fix nested Python dataclass schema regression, [#3819](https://github.com/pydantic/pydantic/pull/3819) by [@himbeles](https://github.com/himbeles) +* Update documentation about lazy evaluation of sources for Settings, [#3806](https://github.com/pydantic/pydantic/pull/3806) by [@garyd203](https://github.com/garyd203) +* Prevent subclasses of bytes being converted to bytes, [#3706](https://github.com/pydantic/pydantic/pull/3706) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fixed "error checking inheritance of" when using PEP585 and PEP604 type hints, [#3681](https://github.com/pydantic/pydantic/pull/3681) by [@aleksul](https://github.com/aleksul) +* Allow self referencing `ClassVar`s in models, [#3679](https://github.com/pydantic/pydantic/pull/3679) by [@samuelcolvin](https://github.com/samuelcolvin) +* **Breaking Change, see [#4106](https://github.com/pydantic/pydantic/pull/4106)**: Fix issue with self-referencing dataclass, [#3675](https://github.com/pydantic/pydantic/pull/3675) by [@uriyyo](https://github.com/uriyyo) +* Include non-standard port numbers in rendered URLs, [#3652](https://github.com/pydantic/pydantic/pull/3652) by [@dolfinus](https://github.com/dolfinus) +* `Config.copy_on_model_validation` does a deep copy and not a shallow one, [#3641](https://github.com/pydantic/pydantic/pull/3641) by [@PrettyWood](https://github.com/PrettyWood) +* fix: clarify that discriminated unions do not support singletons, [#3636](https://github.com/pydantic/pydantic/pull/3636) by [@tommilligan](https://github.com/tommilligan) +* Add `read_text(encoding='utf-8')` for `setup.py`, [#3625](https://github.com/pydantic/pydantic/pull/3625) by [@hswong3i](https://github.com/hswong3i) +* Fix JSON Schema generation for Discriminated Unions within lists, [#3608](https://github.com/pydantic/pydantic/pull/3608) by [@samuelcolvin](https://github.com/samuelcolvin) + +## v1.9.0 (2021-12-31) + +Thank you to pydantic's sponsors: +[@sthagen](https://github.com/sthagen), [@timdrijvers](https://github.com/timdrijvers), [@toinbis](https://github.com/toinbis), [@koxudaxi](https://github.com/koxudaxi), [@ginomempin](https://github.com/ginomempin), [@primer-io](https://github.com/primer-io), [@and-semakin](https://github.com/and-semakin), [@westonsteimel](https://github.com/westonsteimel), [@reillysiemens](https://github.com/reillysiemens), +[@es3n1n](https://github.com/es3n1n), [@jokull](https://github.com/jokull), [@JonasKs](https://github.com/JonasKs), [@Rehket](https://github.com/Rehket), [@corleyma](https://github.com/corleyma), [@daddycocoaman](https://github.com/daddycocoaman), [@hardbyte](https://github.com/hardbyte), [@datarootsio](https://github.com/datarootsio), [@jodal](https://github.com/jodal), [@aminalaee](https://github.com/aminalaee), [@rafsaf](https://github.com/rafsaf), +[@jqueguiner](https://github.com/jqueguiner), [@chdsbd](https://github.com/chdsbd), [@kevinalh](https://github.com/kevinalh), [@Mazyod](https://github.com/Mazyod), [@grillazz](https://github.com/grillazz), [@JonasKs](https://github.com/JonasKs), [@simw](https://github.com/simw), [@leynier](https://github.com/leynier), [@xfenix](https://github.com/xfenix) +for their kind support. + +### Highlights + +* add Python 3.10 support, [#2885](https://github.com/pydantic/pydantic/pull/2885) by [@PrettyWood](https://github.com/PrettyWood) +* [Discriminated unions](https://docs.pydantic.dev/usage/types/#discriminated-unions-aka-tagged-unions), [#619](https://github.com/pydantic/pydantic/pull/619) by [@PrettyWood](https://github.com/PrettyWood) +* [`Config.smart_union` for better union logic](https://docs.pydantic.dev/usage/model_config/#smart-union), [#2092](https://github.com/pydantic/pydantic/pull/2092) by [@PrettyWood](https://github.com/PrettyWood) +* Binaries for Macos M1 CPUs, [#3498](https://github.com/pydantic/pydantic/pull/3498) by [@samuelcolvin](https://github.com/samuelcolvin) +* Complex types can be set via [nested environment variables](https://docs.pydantic.dev/usage/settings/#parsing-environment-variable-values), e.g. `foo___bar`, [#3159](https://github.com/pydantic/pydantic/pull/3159) by [@Air-Mark](https://github.com/Air-Mark) +* add a dark mode to _pydantic_ documentation, [#2913](https://github.com/pydantic/pydantic/pull/2913) by [@gbdlin](https://github.com/gbdlin) +* Add support for autocomplete in VS Code via `__dataclass_transform__`, [#2721](https://github.com/pydantic/pydantic/pull/2721) by [@tiangolo](https://github.com/tiangolo) +* Add "exclude" as a field parameter so that it can be configured using model config, [#660](https://github.com/pydantic/pydantic/pull/660) by [@daviskirk](https://github.com/daviskirk) + +### v1.9.0 (2021-12-31) Changes + +* Apply `update_forward_refs` to `Config.json_encodes` prevent name clashes in types defined via strings, [#3583](https://github.com/pydantic/pydantic/pull/3583) by [@samuelcolvin](https://github.com/samuelcolvin) +* Extend pydantic's mypy plugin to support mypy versions `0.910`, `0.920`, `0.921` & `0.930`, [#3573](https://github.com/pydantic/pydantic/pull/3573) & [#3594](https://github.com/pydantic/pydantic/pull/3594) by [@PrettyWood](https://github.com/PrettyWood), [@christianbundy](https://github.com/christianbundy), [@samuelcolvin](https://github.com/samuelcolvin) + +### v1.9.0a2 (2021-12-24) Changes + +* support generic models with discriminated union, [#3551](https://github.com/pydantic/pydantic/pull/3551) by [@PrettyWood](https://github.com/PrettyWood) +* keep old behaviour of `json()` by default, [#3542](https://github.com/pydantic/pydantic/pull/3542) by [@PrettyWood](https://github.com/PrettyWood) +* Removed typing-only `__root__` attribute from `BaseModel`, [#3540](https://github.com/pydantic/pydantic/pull/3540) by [@layday](https://github.com/layday) +* Build Python 3.10 wheels, [#3539](https://github.com/pydantic/pydantic/pull/3539) by [@mbachry](https://github.com/mbachry) +* Fix display of `extra` fields with model `__repr__`, [#3234](https://github.com/pydantic/pydantic/pull/3234) by [@cocolman](https://github.com/cocolman) +* models copied via `Config.copy_on_model_validation` always have all fields, [#3201](https://github.com/pydantic/pydantic/pull/3201) by [@PrettyWood](https://github.com/PrettyWood) +* nested ORM from nested dictionaries, [#3182](https://github.com/pydantic/pydantic/pull/3182) by [@PrettyWood](https://github.com/PrettyWood) +* fix link to discriminated union section by [@PrettyWood](https://github.com/PrettyWood) + +### v1.9.0a1 (2021-12-18) Changes + +* Add support for `Decimal`-specific validation configurations in `Field()`, additionally to using `condecimal()`, + to allow better support from editors and tooling, [#3507](https://github.com/pydantic/pydantic/pull/3507) by [@tiangolo](https://github.com/tiangolo) +* Add `arm64` binaries suitable for MacOS with an M1 CPU to PyPI, [#3498](https://github.com/pydantic/pydantic/pull/3498) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fix issue where `None` was considered invalid when using a `Union` type containing `Any` or `object`, [#3444](https://github.com/pydantic/pydantic/pull/3444) by [@tharradine](https://github.com/tharradine) +* When generating field schema, pass optional `field` argument (of type + `pydantic.fields.ModelField`) to `__modify_schema__()` if present, [#3434](https://github.com/pydantic/pydantic/pull/3434) by [@jasujm](https://github.com/jasujm) +* Fix issue when pydantic fail to parse `typing.ClassVar` string type annotation, [#3401](https://github.com/pydantic/pydantic/pull/3401) by [@uriyyo](https://github.com/uriyyo) +* Mention Python >= 3.9.2 as an alternative to `typing_extensions.TypedDict`, [#3374](https://github.com/pydantic/pydantic/pull/3374) by [@BvB93](https://github.com/BvB93) +* Changed the validator method name in the [Custom Errors example](https://docs.pydantic.dev/usage/models/#custom-errors) + to more accurately describe what the validator is doing; changed from `name_must_contain_space` to ` value_must_equal_bar`, [#3327](https://github.com/pydantic/pydantic/pull/3327) by [@michaelrios28](https://github.com/michaelrios28) +* Add `AmqpDsn` class, [#3254](https://github.com/pydantic/pydantic/pull/3254) by [@kludex](https://github.com/kludex) +* Always use `Enum` value as default in generated JSON schema, [#3190](https://github.com/pydantic/pydantic/pull/3190) by [@joaommartins](https://github.com/joaommartins) +* Add support for Mypy 0.920, [#3175](https://github.com/pydantic/pydantic/pull/3175) by [@christianbundy](https://github.com/christianbundy) +* `validate_arguments` now supports `extra` customization (used to always be `Extra.forbid`), [#3161](https://github.com/pydantic/pydantic/pull/3161) by [@PrettyWood](https://github.com/PrettyWood) +* Complex types can be set by nested environment variables, [#3159](https://github.com/pydantic/pydantic/pull/3159) by [@Air-Mark](https://github.com/Air-Mark) +* Fix mypy plugin to collect fields based on `pydantic.utils.is_valid_field` so that it ignores untyped private variables, [#3146](https://github.com/pydantic/pydantic/pull/3146) by [@hi-ogawa](https://github.com/hi-ogawa) +* fix `validate_arguments` issue with `Config.validate_all`, [#3135](https://github.com/pydantic/pydantic/pull/3135) by [@PrettyWood](https://github.com/PrettyWood) +* avoid dict coercion when using dict subclasses as field type, [#3122](https://github.com/pydantic/pydantic/pull/3122) by [@PrettyWood](https://github.com/PrettyWood) +* add support for `object` type, [#3062](https://github.com/pydantic/pydantic/pull/3062) by [@PrettyWood](https://github.com/PrettyWood) +* Updates pydantic dataclasses to keep `_special` properties on parent classes, [#3043](https://github.com/pydantic/pydantic/pull/3043) by [@zulrang](https://github.com/zulrang) +* Add a `TypedDict` class for error objects, [#3038](https://github.com/pydantic/pydantic/pull/3038) by [@matthewhughes934](https://github.com/matthewhughes934) +* Fix support for using a subclass of an annotation as a default, [#3018](https://github.com/pydantic/pydantic/pull/3018) by [@JacobHayes](https://github.com/JacobHayes) +* make `create_model_from_typeddict` mypy compliant, [#3008](https://github.com/pydantic/pydantic/pull/3008) by [@PrettyWood](https://github.com/PrettyWood) +* Make multiple inheritance work when using `PrivateAttr`, [#2989](https://github.com/pydantic/pydantic/pull/2989) by [@hmvp](https://github.com/hmvp) +* Parse environment variables as JSON, if they have a `Union` type with a complex subfield, [#2936](https://github.com/pydantic/pydantic/pull/2936) by [@cbartz](https://github.com/cbartz) +* Prevent `StrictStr` permitting `Enum` values where the enum inherits from `str`, [#2929](https://github.com/pydantic/pydantic/pull/2929) by [@samuelcolvin](https://github.com/samuelcolvin) +* Make `SecretsSettingsSource` parse values being assigned to fields of complex types when sourced from a secrets file, + just as when sourced from environment variables, [#2917](https://github.com/pydantic/pydantic/pull/2917) by [@davidmreed](https://github.com/davidmreed) +* add a dark mode to _pydantic_ documentation, [#2913](https://github.com/pydantic/pydantic/pull/2913) by [@gbdlin](https://github.com/gbdlin) +* Make `pydantic-mypy` plugin compatible with `pyproject.toml` configuration, consistent with `mypy` changes. + See the [doc](https://docs.pydantic.dev/mypy_plugin/#configuring-the-plugin) for more information, [#2908](https://github.com/pydantic/pydantic/pull/2908) by [@jrwalk](https://github.com/jrwalk) +* add Python 3.10 support, [#2885](https://github.com/pydantic/pydantic/pull/2885) by [@PrettyWood](https://github.com/PrettyWood) +* Correctly parse generic models with `Json[T]`, [#2860](https://github.com/pydantic/pydantic/pull/2860) by [@geekingfrog](https://github.com/geekingfrog) +* Update contrib docs re: Python version to use for building docs, [#2856](https://github.com/pydantic/pydantic/pull/2856) by [@paxcodes](https://github.com/paxcodes) +* Clarify documentation about _pydantic_'s support for custom validation and strict type checking, + despite _pydantic_ being primarily a parsing library, [#2855](https://github.com/pydantic/pydantic/pull/2855) by [@paxcodes](https://github.com/paxcodes) +* Fix schema generation for `Deque` fields, [#2810](https://github.com/pydantic/pydantic/pull/2810) by [@sergejkozin](https://github.com/sergejkozin) +* fix an edge case when mixing constraints and `Literal`, [#2794](https://github.com/pydantic/pydantic/pull/2794) by [@PrettyWood](https://github.com/PrettyWood) +* Fix postponed annotation resolution for `NamedTuple` and `TypedDict` when they're used directly as the type of fields + within Pydantic models, [#2760](https://github.com/pydantic/pydantic/pull/2760) by [@jameysharp](https://github.com/jameysharp) +* Fix bug when `mypy` plugin fails on `construct` method call for `BaseSettings` derived classes, [#2753](https://github.com/pydantic/pydantic/pull/2753) by [@uriyyo](https://github.com/uriyyo) +* Add function overloading for a `pydantic.create_model` function, [#2748](https://github.com/pydantic/pydantic/pull/2748) by [@uriyyo](https://github.com/uriyyo) +* Fix mypy plugin issue with self field declaration, [#2743](https://github.com/pydantic/pydantic/pull/2743) by [@uriyyo](https://github.com/uriyyo) +* The colon at the end of the line "The fields which were supplied when user was initialised:" suggests that the code following it is related. + Changed it to a period, [#2733](https://github.com/pydantic/pydantic/pull/2733) by [@krisaoe](https://github.com/krisaoe) +* Renamed variable `schema` to `schema_` to avoid shadowing of global variable name, [#2724](https://github.com/pydantic/pydantic/pull/2724) by [@shahriyarr](https://github.com/shahriyarr) +* Add support for autocomplete in VS Code via `__dataclass_transform__`, [#2721](https://github.com/pydantic/pydantic/pull/2721) by [@tiangolo](https://github.com/tiangolo) +* add missing type annotations in `BaseConfig` and handle `max_length = 0`, [#2719](https://github.com/pydantic/pydantic/pull/2719) by [@PrettyWood](https://github.com/PrettyWood) +* Change `orm_mode` checking to allow recursive ORM mode parsing with dicts, [#2718](https://github.com/pydantic/pydantic/pull/2718) by [@nuno-andre](https://github.com/nuno-andre) +* Add episode 313 of the *Talk Python To Me* podcast, where Michael Kennedy and Samuel Colvin discuss Pydantic, to the docs, [#2712](https://github.com/pydantic/pydantic/pull/2712) by [@RatulMaharaj](https://github.com/RatulMaharaj) +* fix JSON schema generation when a field is of type `NamedTuple` and has a default value, [#2707](https://github.com/pydantic/pydantic/pull/2707) by [@PrettyWood](https://github.com/PrettyWood) +* `Enum` fields now properly support extra kwargs in schema generation, [#2697](https://github.com/pydantic/pydantic/pull/2697) by [@sammchardy](https://github.com/sammchardy) +* **Breaking Change, see [#3780](https://github.com/pydantic/pydantic/pull/3780)**: Make serialization of referenced pydantic models possible, [#2650](https://github.com/pydantic/pydantic/pull/2650) by [@PrettyWood](https://github.com/PrettyWood) +* Add `uniqueItems` option to `ConstrainedList`, [#2618](https://github.com/pydantic/pydantic/pull/2618) by [@nuno-andre](https://github.com/nuno-andre) +* Try to evaluate forward refs automatically at model creation, [#2588](https://github.com/pydantic/pydantic/pull/2588) by [@uriyyo](https://github.com/uriyyo) +* Switch docs preview and coverage display to use [smokeshow](https://smokeshow.helpmanual.io/), [#2580](https://github.com/pydantic/pydantic/pull/2580) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add `__version__` attribute to pydantic module, [#2572](https://github.com/pydantic/pydantic/pull/2572) by [@paxcodes](https://github.com/paxcodes) +* Add `postgresql+asyncpg`, `postgresql+pg8000`, `postgresql+psycopg2`, `postgresql+psycopg2cffi`, `postgresql+py-postgresql` + and `postgresql+pygresql` schemes for `PostgresDsn`, [#2567](https://github.com/pydantic/pydantic/pull/2567) by [@postgres-asyncpg](https://github.com/postgres-asyncpg) +* Enable the Hypothesis plugin to generate a constrained decimal when the `decimal_places` argument is specified, [#2524](https://github.com/pydantic/pydantic/pull/2524) by [@cwe5590](https://github.com/cwe5590) +* Allow `collections.abc.Callable` to be used as type in Python 3.9, [#2519](https://github.com/pydantic/pydantic/pull/2519) by [@daviskirk](https://github.com/daviskirk) +* Documentation update how to custom compile pydantic when using pip install, small change in `setup.py` + to allow for custom CFLAGS when compiling, [#2517](https://github.com/pydantic/pydantic/pull/2517) by [@peterroelants](https://github.com/peterroelants) +* remove side effect of `default_factory` to run it only once even if `Config.validate_all` is set, [#2515](https://github.com/pydantic/pydantic/pull/2515) by [@PrettyWood](https://github.com/PrettyWood) +* Add lookahead to ip regexes for `AnyUrl` hosts. This allows urls with DNS labels + looking like IPs to validate as they are perfectly valid host names, [#2512](https://github.com/pydantic/pydantic/pull/2512) by [@sbv-csis](https://github.com/sbv-csis) +* Set `minItems` and `maxItems` in generated JSON schema for fixed-length tuples, [#2497](https://github.com/pydantic/pydantic/pull/2497) by [@PrettyWood](https://github.com/PrettyWood) +* Add `strict` argument to `conbytes`, [#2489](https://github.com/pydantic/pydantic/pull/2489) by [@koxudaxi](https://github.com/koxudaxi) +* Support user defined generic field types in generic models, [#2465](https://github.com/pydantic/pydantic/pull/2465) by [@daviskirk](https://github.com/daviskirk) +* Add an example and a short explanation of subclassing `GetterDict` to docs, [#2463](https://github.com/pydantic/pydantic/pull/2463) by [@nuno-andre](https://github.com/nuno-andre) +* add `KafkaDsn` type, `HttpUrl` now has default port 80 for http and 443 for https, [#2447](https://github.com/pydantic/pydantic/pull/2447) by [@MihanixA](https://github.com/MihanixA) +* Add `PastDate` and `FutureDate` types, [#2425](https://github.com/pydantic/pydantic/pull/2425) by [@Kludex](https://github.com/Kludex) +* Support generating schema for `Generic` fields with subtypes, [#2375](https://github.com/pydantic/pydantic/pull/2375) by [@maximberg](https://github.com/maximberg) +* fix(encoder): serialize `NameEmail` to str, [#2341](https://github.com/pydantic/pydantic/pull/2341) by [@alecgerona](https://github.com/alecgerona) +* add `Config.smart_union` to prevent coercion in `Union` if possible, see + [the doc](https://docs.pydantic.dev/usage/model_config/#smart-union) for more information, [#2092](https://github.com/pydantic/pydantic/pull/2092) by [@PrettyWood](https://github.com/PrettyWood) +* Add ability to use `typing.Counter` as a model field type, [#2060](https://github.com/pydantic/pydantic/pull/2060) by [@uriyyo](https://github.com/uriyyo) +* Add parameterised subclasses to `__bases__` when constructing new parameterised classes, so that `A <: B => A[int] <: B[int]`, [#2007](https://github.com/pydantic/pydantic/pull/2007) by [@diabolo-dan](https://github.com/diabolo-dan) +* Create `FileUrl` type that allows URLs that conform to [RFC 8089](https://tools.ietf.org/html/rfc8089#section-2). + Add `host_required` parameter, which is `True` by default (`AnyUrl` and subclasses), `False` in `RedisDsn`, `FileUrl`, [#1983](https://github.com/pydantic/pydantic/pull/1983) by [@vgerak](https://github.com/vgerak) +* add `confrozenset()`, analogous to `conset()` and `conlist()`, [#1897](https://github.com/pydantic/pydantic/pull/1897) by [@PrettyWood](https://github.com/PrettyWood) +* stop calling parent class `root_validator` if overridden, [#1895](https://github.com/pydantic/pydantic/pull/1895) by [@PrettyWood](https://github.com/PrettyWood) +* Add `repr` (defaults to `True`) parameter to `Field`, to hide it from the default representation of the `BaseModel`, [#1831](https://github.com/pydantic/pydantic/pull/1831) by [@fnep](https://github.com/fnep) +* Accept empty query/fragment URL parts, [#1807](https://github.com/pydantic/pydantic/pull/1807) by [@xavier](https://github.com/xavier) + +## v1.8.2 (2021-05-11) + +!!! warning + A security vulnerability, level "moderate" is fixed in v1.8.2. Please upgrade **ASAP**. + See security advisory [CVE-2021-29510](https://github.com/pydantic/pydantic/security/advisories/GHSA-5jqp-qgf6-3pvh) + +* **Security fix:** Fix `date` and `datetime` parsing so passing either `'infinity'` or `float('inf')` + (or their negative values) does not cause an infinite loop, + see security advisory [CVE-2021-29510](https://github.com/pydantic/pydantic/security/advisories/GHSA-5jqp-qgf6-3pvh) +* fix schema generation with Enum by generating a valid name, [#2575](https://github.com/pydantic/pydantic/pull/2575) by [@PrettyWood](https://github.com/PrettyWood) +* fix JSON schema generation with a `Literal` of an enum member, [#2536](https://github.com/pydantic/pydantic/pull/2536) by [@PrettyWood](https://github.com/PrettyWood) +* Fix bug with configurations declarations that are passed as + keyword arguments during class creation, [#2532](https://github.com/pydantic/pydantic/pull/2532) by [@uriyyo](https://github.com/uriyyo) +* Allow passing `json_encoders` in class kwargs, [#2521](https://github.com/pydantic/pydantic/pull/2521) by [@layday](https://github.com/layday) +* support arbitrary types with custom `__eq__`, [#2483](https://github.com/pydantic/pydantic/pull/2483) by [@PrettyWood](https://github.com/PrettyWood) +* support `Annotated` in `validate_arguments` and in generic models with Python 3.9, [#2483](https://github.com/pydantic/pydantic/pull/2483) by [@PrettyWood](https://github.com/PrettyWood) + +## v1.8.1 (2021-03-03) + +Bug fixes for regressions and new features from `v1.8` + +* allow elements of `Config.field` to update elements of a `Field`, [#2461](https://github.com/pydantic/pydantic/pull/2461) by [@samuelcolvin](https://github.com/samuelcolvin) +* fix validation with a `BaseModel` field and a custom root type, [#2449](https://github.com/pydantic/pydantic/pull/2449) by [@PrettyWood](https://github.com/PrettyWood) +* expose `Pattern` encoder to `fastapi`, [#2444](https://github.com/pydantic/pydantic/pull/2444) by [@PrettyWood](https://github.com/PrettyWood) +* enable the Hypothesis plugin to generate a constrained float when the `multiple_of` argument is specified, [#2442](https://github.com/pydantic/pydantic/pull/2442) by [@tobi-lipede-oodle](https://github.com/tobi-lipede-oodle) +* Avoid `RecursionError` when using some types like `Enum` or `Literal` with generic models, [#2436](https://github.com/pydantic/pydantic/pull/2436) by [@PrettyWood](https://github.com/PrettyWood) +* do not overwrite declared `__hash__` in subclasses of a model, [#2422](https://github.com/pydantic/pydantic/pull/2422) by [@PrettyWood](https://github.com/PrettyWood) +* fix `mypy` complaints on `Path` and `UUID` related custom types, [#2418](https://github.com/pydantic/pydantic/pull/2418) by [@PrettyWood](https://github.com/PrettyWood) +* Support properly variable length tuples of compound types, [#2416](https://github.com/pydantic/pydantic/pull/2416) by [@PrettyWood](https://github.com/PrettyWood) + +## v1.8 (2021-02-26) + +Thank you to pydantic's sponsors: +[@jorgecarleitao](https://github.com/jorgecarleitao), [@BCarley](https://github.com/BCarley), [@chdsbd](https://github.com/chdsbd), [@tiangolo](https://github.com/tiangolo), [@matin](https://github.com/matin), [@linusg](https://github.com/linusg), [@kevinalh](https://github.com/kevinalh), [@koxudaxi](https://github.com/koxudaxi), [@timdrijvers](https://github.com/timdrijvers), [@mkeen](https://github.com/mkeen), [@meadsteve](https://github.com/meadsteve), +[@ginomempin](https://github.com/ginomempin), [@primer-io](https://github.com/primer-io), [@and-semakin](https://github.com/and-semakin), [@tomthorogood](https://github.com/tomthorogood), [@AjitZK](https://github.com/AjitZK), [@westonsteimel](https://github.com/westonsteimel), [@Mazyod](https://github.com/Mazyod), [@christippett](https://github.com/christippett), [@CarlosDomingues](https://github.com/CarlosDomingues), +[@Kludex](https://github.com/Kludex), [@r-m-n](https://github.com/r-m-n) +for their kind support. + +### Highlights + +* [Hypothesis plugin](https://docs.pydantic.dev/hypothesis_plugin/) for testing, [#2097](https://github.com/pydantic/pydantic/pull/2097) by [@Zac-HD](https://github.com/Zac-HD) +* support for [`NamedTuple` and `TypedDict`](https://docs.pydantic.dev/usage/types/#annotated-types), [#2216](https://github.com/pydantic/pydantic/pull/2216) by [@PrettyWood](https://github.com/PrettyWood) +* Support [`Annotated` hints on model fields](https://docs.pydantic.dev/usage/schema/#typingannotated-fields), [#2147](https://github.com/pydantic/pydantic/pull/2147) by [@JacobHayes](https://github.com/JacobHayes) +* [`frozen` parameter on `Config`](https://docs.pydantic.dev/usage/model_config/) to allow models to be hashed, [#1880](https://github.com/pydantic/pydantic/pull/1880) by [@rhuille](https://github.com/rhuille) + +### Changes + +* **Breaking Change**, remove old deprecation aliases from v1, [#2415](https://github.com/pydantic/pydantic/pull/2415) by [@samuelcolvin](https://github.com/samuelcolvin): + * remove notes on migrating to v1 in docs + * remove `Schema` which was replaced by `Field` + * remove `Config.case_insensitive` which was replaced by `Config.case_sensitive` (default `False`) + * remove `Config.allow_population_by_alias` which was replaced by `Config.allow_population_by_field_name` + * remove `model.fields` which was replaced by `model.__fields__` + * remove `model.to_string()` which was replaced by `str(model)` + * remove `model.__values__` which was replaced by `model.__dict__` +* **Breaking Change:** always validate only first sublevel items with `each_item`. + There were indeed some edge cases with some compound types where the validated items were the last sublevel ones, [#1933](https://github.com/pydantic/pydantic/pull/1933) by [@PrettyWood](https://github.com/PrettyWood) +* Update docs extensions to fix local syntax highlighting, [#2400](https://github.com/pydantic/pydantic/pull/2400) by [@daviskirk](https://github.com/daviskirk) +* fix: allow `utils.lenient_issubclass` to handle `typing.GenericAlias` objects like `list[str]` in Python >= 3.9, [#2399](https://github.com/pydantic/pydantic/pull/2399) by [@daviskirk](https://github.com/daviskirk) +* Improve field declaration for _pydantic_ `dataclass` by allowing the usage of _pydantic_ `Field` or `'metadata'` kwarg of `dataclasses.field`, [#2384](https://github.com/pydantic/pydantic/pull/2384) by [@PrettyWood](https://github.com/PrettyWood) +* Making `typing-extensions` a required dependency, [#2368](https://github.com/pydantic/pydantic/pull/2368) by [@samuelcolvin](https://github.com/samuelcolvin) +* Make `resolve_annotations` more lenient, allowing for missing modules, [#2363](https://github.com/pydantic/pydantic/pull/2363) by [@samuelcolvin](https://github.com/samuelcolvin) +* Allow configuring models through class kwargs, [#2356](https://github.com/pydantic/pydantic/pull/2356) by [@Bobronium](https://github.com/Bobronium) +* Prevent `Mapping` subclasses from always being coerced to `dict`, [#2325](https://github.com/pydantic/pydantic/pull/2325) by [@ofek](https://github.com/ofek) +* fix: allow `None` for type `Optional[conset / conlist]`, [#2320](https://github.com/pydantic/pydantic/pull/2320) by [@PrettyWood](https://github.com/PrettyWood) +* Support empty tuple type, [#2318](https://github.com/pydantic/pydantic/pull/2318) by [@PrettyWood](https://github.com/PrettyWood) +* fix: `python_requires` metadata to require >=3.6.1, [#2306](https://github.com/pydantic/pydantic/pull/2306) by [@hukkinj1](https://github.com/hukkinj1) +* Properly encode `Decimal` with, or without any decimal places, [#2293](https://github.com/pydantic/pydantic/pull/2293) by [@hultner](https://github.com/hultner) +* fix: update `__fields_set__` in `BaseModel.copy(update=…)`, [#2290](https://github.com/pydantic/pydantic/pull/2290) by [@PrettyWood](https://github.com/PrettyWood) +* fix: keep order of fields with `BaseModel.construct()`, [#2281](https://github.com/pydantic/pydantic/pull/2281) by [@PrettyWood](https://github.com/PrettyWood) +* Support generating schema for Generic fields, [#2262](https://github.com/pydantic/pydantic/pull/2262) by [@maximberg](https://github.com/maximberg) +* Fix `validate_decorator` so `**kwargs` doesn't exclude values when the keyword + has the same name as the `*args` or `**kwargs` names, [#2251](https://github.com/pydantic/pydantic/pull/2251) by [@cybojenix](https://github.com/cybojenix) +* Prevent overriding positional arguments with keyword arguments in + `validate_arguments`, as per behaviour with native functions, [#2249](https://github.com/pydantic/pydantic/pull/2249) by [@cybojenix](https://github.com/cybojenix) +* add documentation for `con*` type functions, [#2242](https://github.com/pydantic/pydantic/pull/2242) by [@tayoogunbiyi](https://github.com/tayoogunbiyi) +* Support custom root type (aka `__root__`) when using `parse_obj()` with nested models, [#2238](https://github.com/pydantic/pydantic/pull/2238) by [@PrettyWood](https://github.com/PrettyWood) +* Support custom root type (aka `__root__`) with `from_orm()`, [#2237](https://github.com/pydantic/pydantic/pull/2237) by [@PrettyWood](https://github.com/PrettyWood) +* ensure cythonized functions are left untouched when creating models, based on [#1944](https://github.com/pydantic/pydantic/pull/1944) by [@kollmats](https://github.com/kollmats), [#2228](https://github.com/pydantic/pydantic/pull/2228) by [@samuelcolvin](https://github.com/samuelcolvin) +* Resolve forward refs for stdlib dataclasses converted into _pydantic_ ones, [#2220](https://github.com/pydantic/pydantic/pull/2220) by [@PrettyWood](https://github.com/PrettyWood) +* Add support for `NamedTuple` and `TypedDict` types. + Those two types are now handled and validated when used inside `BaseModel` or _pydantic_ `dataclass`. + Two utils are also added `create_model_from_namedtuple` and `create_model_from_typeddict`, [#2216](https://github.com/pydantic/pydantic/pull/2216) by [@PrettyWood](https://github.com/PrettyWood) +* Do not ignore annotated fields when type is `Union[Type[...], ...]`, [#2213](https://github.com/pydantic/pydantic/pull/2213) by [@PrettyWood](https://github.com/PrettyWood) +* Raise a user-friendly `TypeError` when a `root_validator` does not return a `dict` (e.g. `None`), [#2209](https://github.com/pydantic/pydantic/pull/2209) by [@masalim2](https://github.com/masalim2) +* Add a `FrozenSet[str]` type annotation to the `allowed_schemes` argument on the `strict_url` field type, [#2198](https://github.com/pydantic/pydantic/pull/2198) by [@Midnighter](https://github.com/Midnighter) +* add `allow_mutation` constraint to `Field`, [#2195](https://github.com/pydantic/pydantic/pull/2195) by [@sblack-usu](https://github.com/sblack-usu) +* Allow `Field` with a `default_factory` to be used as an argument to a function + decorated with `validate_arguments`, [#2176](https://github.com/pydantic/pydantic/pull/2176) by [@thomascobb](https://github.com/thomascobb) +* Allow non-existent secrets directory by only issuing a warning, [#2175](https://github.com/pydantic/pydantic/pull/2175) by [@davidolrik](https://github.com/davidolrik) +* fix URL regex to parse fragment without query string, [#2168](https://github.com/pydantic/pydantic/pull/2168) by [@andrewmwhite](https://github.com/andrewmwhite) +* fix: ensure to always return one of the values in `Literal` field type, [#2166](https://github.com/pydantic/pydantic/pull/2166) by [@PrettyWood](https://github.com/PrettyWood) +* Support `typing.Annotated` hints on model fields. A `Field` may now be set in the type hint with `Annotated[..., Field(...)`; all other annotations are ignored but still visible with `get_type_hints(..., include_extras=True)`, [#2147](https://github.com/pydantic/pydantic/pull/2147) by [@JacobHayes](https://github.com/JacobHayes) +* Added `StrictBytes` type as well as `strict=False` option to `ConstrainedBytes`, [#2136](https://github.com/pydantic/pydantic/pull/2136) by [@rlizzo](https://github.com/rlizzo) +* added `Config.anystr_lower` and `to_lower` kwarg to `constr` and `conbytes`, [#2134](https://github.com/pydantic/pydantic/pull/2134) by [@tayoogunbiyi](https://github.com/tayoogunbiyi) +* Support plain `typing.Tuple` type, [#2132](https://github.com/pydantic/pydantic/pull/2132) by [@PrettyWood](https://github.com/PrettyWood) +* Add a bound method `validate` to functions decorated with `validate_arguments` + to validate parameters without actually calling the function, [#2127](https://github.com/pydantic/pydantic/pull/2127) by [@PrettyWood](https://github.com/PrettyWood) +* Add the ability to customize settings sources (add / disable / change priority order), [#2107](https://github.com/pydantic/pydantic/pull/2107) by [@kozlek](https://github.com/kozlek) +* Fix mypy complaints about most custom _pydantic_ types, [#2098](https://github.com/pydantic/pydantic/pull/2098) by [@PrettyWood](https://github.com/PrettyWood) +* Add a [Hypothesis](https://hypothesis.readthedocs.io/) plugin for easier [property-based testing](https://increment.com/testing/in-praise-of-property-based-testing/) with Pydantic's custom types - [usage details here](https://docs.pydantic.dev/hypothesis_plugin/), [#2097](https://github.com/pydantic/pydantic/pull/2097) by [@Zac-HD](https://github.com/Zac-HD) +* add validator for `None`, `NoneType` or `Literal[None]`, [#2095](https://github.com/pydantic/pydantic/pull/2095) by [@PrettyWood](https://github.com/PrettyWood) +* Handle properly fields of type `Callable` with a default value, [#2094](https://github.com/pydantic/pydantic/pull/2094) by [@PrettyWood](https://github.com/PrettyWood) +* Updated `create_model` return type annotation to return type which inherits from `__base__` argument, [#2071](https://github.com/pydantic/pydantic/pull/2071) by [@uriyyo](https://github.com/uriyyo) +* Add merged `json_encoders` inheritance, [#2064](https://github.com/pydantic/pydantic/pull/2064) by [@art049](https://github.com/art049) +* allow overwriting `ClassVar`s in sub-models without having to re-annotate them, [#2061](https://github.com/pydantic/pydantic/pull/2061) by [@layday](https://github.com/layday) +* add default encoder for `Pattern` type, [#2045](https://github.com/pydantic/pydantic/pull/2045) by [@PrettyWood](https://github.com/PrettyWood) +* Add `NonNegativeInt`, `NonPositiveInt`, `NonNegativeFloat`, `NonPositiveFloat`, [#1975](https://github.com/pydantic/pydantic/pull/1975) by [@mdavis-xyz](https://github.com/mdavis-xyz) +* Use % for percentage in string format of colors, [#1960](https://github.com/pydantic/pydantic/pull/1960) by [@EdwardBetts](https://github.com/EdwardBetts) +* Fixed issue causing `KeyError` to be raised when building schema from multiple `BaseModel` with the same names declared in separate classes, [#1912](https://github.com/pydantic/pydantic/pull/1912) by [@JSextonn](https://github.com/JSextonn) +* Add `rediss` (Redis over SSL) protocol to `RedisDsn` + Allow URLs without `user` part (e.g., `rediss://:pass@localhost`), [#1911](https://github.com/pydantic/pydantic/pull/1911) by [@TrDex](https://github.com/TrDex) +* Add a new `frozen` boolean parameter to `Config` (default: `False`). + Setting `frozen=True` does everything that `allow_mutation=False` does, and also generates a `__hash__()` method for the model. This makes instances of the model potentially hashable if all the attributes are hashable, [#1880](https://github.com/pydantic/pydantic/pull/1880) by [@rhuille](https://github.com/rhuille) +* fix schema generation with multiple Enums having the same name, [#1857](https://github.com/pydantic/pydantic/pull/1857) by [@PrettyWood](https://github.com/PrettyWood) +* Added support for 13/19 digits VISA credit cards in `PaymentCardNumber` type, [#1416](https://github.com/pydantic/pydantic/pull/1416) by [@AlexanderSov](https://github.com/AlexanderSov) +* fix: prevent `RecursionError` while using recursive `GenericModel`s, [#1370](https://github.com/pydantic/pydantic/pull/1370) by [@xppt](https://github.com/xppt) +* use `enum` for `typing.Literal` in JSON schema, [#1350](https://github.com/pydantic/pydantic/pull/1350) by [@PrettyWood](https://github.com/PrettyWood) +* Fix: some recursive models did not require `update_forward_refs` and silently behaved incorrectly, [#1201](https://github.com/pydantic/pydantic/pull/1201) by [@PrettyWood](https://github.com/PrettyWood) +* Fix bug where generic models with fields where the typevar is nested in another type `a: List[T]` are considered to be concrete. This allows these models to be subclassed and composed as expected, [#947](https://github.com/pydantic/pydantic/pull/947) by [@daviskirk](https://github.com/daviskirk) +* Add `Config.copy_on_model_validation` flag. When set to `False`, _pydantic_ will keep models used as fields + untouched on validation instead of reconstructing (copying) them, [#265](https://github.com/pydantic/pydantic/pull/265) by [@PrettyWood](https://github.com/PrettyWood) + +## v1.7.4 (2021-05-11) + +* **Security fix:** Fix `date` and `datetime` parsing so passing either `'infinity'` or `float('inf')` + (or their negative values) does not cause an infinite loop, + See security advisory [CVE-2021-29510](https://github.com/pydantic/pydantic/security/advisories/GHSA-5jqp-qgf6-3pvh) + +## v1.7.3 (2020-11-30) + +Thank you to pydantic's sponsors: +[@timdrijvers](https://github.com/timdrijvers), [@BCarley](https://github.com/BCarley), [@chdsbd](https://github.com/chdsbd), [@tiangolo](https://github.com/tiangolo), [@matin](https://github.com/matin), [@linusg](https://github.com/linusg), [@kevinalh](https://github.com/kevinalh), [@jorgecarleitao](https://github.com/jorgecarleitao), [@koxudaxi](https://github.com/koxudaxi), [@primer-api](https://github.com/primer-api), +[@mkeen](https://github.com/mkeen), [@meadsteve](https://github.com/meadsteve) for their kind support. + +* fix: set right default value for required (optional) fields, [#2142](https://github.com/pydantic/pydantic/pull/2142) by [@PrettyWood](https://github.com/PrettyWood) +* fix: support `underscore_attrs_are_private` with generic models, [#2138](https://github.com/pydantic/pydantic/pull/2138) by [@PrettyWood](https://github.com/PrettyWood) +* fix: update all modified field values in `root_validator` when `validate_assignment` is on, [#2116](https://github.com/pydantic/pydantic/pull/2116) by [@PrettyWood](https://github.com/PrettyWood) +* Allow pickling of `pydantic.dataclasses.dataclass` dynamically created from a built-in `dataclasses.dataclass`, [#2111](https://github.com/pydantic/pydantic/pull/2111) by [@aimestereo](https://github.com/aimestereo) +* Fix a regression where Enum fields would not propagate keyword arguments to the schema, [#2109](https://github.com/pydantic/pydantic/pull/2109) by [@bm424](https://github.com/bm424) +* Ignore `__doc__` as private attribute when `Config.underscore_attrs_are_private` is set, [#2090](https://github.com/pydantic/pydantic/pull/2090) by [@PrettyWood](https://github.com/PrettyWood) + +## v1.7.2 (2020-11-01) + +* fix slow `GenericModel` concrete model creation, allow `GenericModel` concrete name reusing in module, [#2078](https://github.com/pydantic/pydantic/pull/2078) by [@Bobronium](https://github.com/Bobronium) +* keep the order of the fields when `validate_assignment` is set, [#2073](https://github.com/pydantic/pydantic/pull/2073) by [@PrettyWood](https://github.com/PrettyWood) +* forward all the params of the stdlib `dataclass` when converted into _pydantic_ `dataclass`, [#2065](https://github.com/pydantic/pydantic/pull/2065) by [@PrettyWood](https://github.com/PrettyWood) + +## v1.7.1 (2020-10-28) + +Thank you to pydantic's sponsors: +[@timdrijvers](https://github.com/timdrijvers), [@BCarley](https://github.com/BCarley), [@chdsbd](https://github.com/chdsbd), [@tiangolo](https://github.com/tiangolo), [@matin](https://github.com/matin), [@linusg](https://github.com/linusg), [@kevinalh](https://github.com/kevinalh), [@jorgecarleitao](https://github.com/jorgecarleitao), [@koxudaxi](https://github.com/koxudaxi), [@primer-api](https://github.com/primer-api), [@mkeen](https://github.com/mkeen) +for their kind support. + +* fix annotation of `validate_arguments` when passing configuration as argument, [#2055](https://github.com/pydantic/pydantic/pull/2055) by [@layday](https://github.com/layday) +* Fix mypy assignment error when using `PrivateAttr`, [#2048](https://github.com/pydantic/pydantic/pull/2048) by [@aphedges](https://github.com/aphedges) +* fix `underscore_attrs_are_private` causing `TypeError` when overriding `__init__`, [#2047](https://github.com/pydantic/pydantic/pull/2047) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fixed regression introduced in v1.7 involving exception handling in field validators when `validate_assignment=True`, [#2044](https://github.com/pydantic/pydantic/pull/2044) by [@johnsabath](https://github.com/johnsabath) +* fix: _pydantic_ `dataclass` can inherit from stdlib `dataclass` + and `Config.arbitrary_types_allowed` is supported, [#2042](https://github.com/pydantic/pydantic/pull/2042) by [@PrettyWood](https://github.com/PrettyWood) + +## v1.7 (2020-10-26) + +Thank you to pydantic's sponsors: +[@timdrijvers](https://github.com/timdrijvers), [@BCarley](https://github.com/BCarley), [@chdsbd](https://github.com/chdsbd), [@tiangolo](https://github.com/tiangolo), [@matin](https://github.com/matin), [@linusg](https://github.com/linusg), [@kevinalh](https://github.com/kevinalh), [@jorgecarleitao](https://github.com/jorgecarleitao), [@koxudaxi](https://github.com/koxudaxi), [@primer-api](https://github.com/primer-api) +for their kind support. + +### Highlights + +* Python 3.9 support, thanks [@PrettyWood](https://github.com/PrettyWood) +* [Private model attributes](https://docs.pydantic.dev/usage/models/#private-model-attributes), thanks [@Bobronium](https://github.com/Bobronium) +* ["secrets files" support in `BaseSettings`](https://docs.pydantic.dev/usage/settings/#secret-support), thanks [@mdgilene](https://github.com/mdgilene) +* [convert stdlib dataclasses to pydantic dataclasses and use stdlib dataclasses in models](https://docs.pydantic.dev/usage/dataclasses/#stdlib-dataclasses-and-pydantic-dataclasses), thanks [@PrettyWood](https://github.com/PrettyWood) + +### Changes + +* **Breaking Change:** remove `__field_defaults__`, add `default_factory` support with `BaseModel.construct`. + Use `.get_default()` method on fields in `__fields__` attribute instead, [#1732](https://github.com/pydantic/pydantic/pull/1732) by [@PrettyWood](https://github.com/PrettyWood) +* Rearrange CI to run linting as a separate job, split install recipes for different tasks, [#2020](https://github.com/pydantic/pydantic/pull/2020) by [@samuelcolvin](https://github.com/samuelcolvin) +* Allows subclasses of generic models to make some, or all, of the superclass's type parameters concrete, while + also defining new type parameters in the subclass, [#2005](https://github.com/pydantic/pydantic/pull/2005) by [@choogeboom](https://github.com/choogeboom) +* Call validator with the correct `values` parameter type in `BaseModel.__setattr__`, + when `validate_assignment = True` in model config, [#1999](https://github.com/pydantic/pydantic/pull/1999) by [@me-ransh](https://github.com/me-ransh) +* Force `fields.Undefined` to be a singleton object, fixing inherited generic model schemas, [#1981](https://github.com/pydantic/pydantic/pull/1981) by [@daviskirk](https://github.com/daviskirk) +* Include tests in source distributions, [#1976](https://github.com/pydantic/pydantic/pull/1976) by [@sbraz](https://github.com/sbraz) +* Add ability to use `min_length/max_length` constraints with secret types, [#1974](https://github.com/pydantic/pydantic/pull/1974) by [@uriyyo](https://github.com/uriyyo) +* Also check `root_validators` when `validate_assignment` is on, [#1971](https://github.com/pydantic/pydantic/pull/1971) by [@PrettyWood](https://github.com/PrettyWood) +* Fix const validators not running when custom validators are present, [#1957](https://github.com/pydantic/pydantic/pull/1957) by [@hmvp](https://github.com/hmvp) +* add `deque` to field types, [#1935](https://github.com/pydantic/pydantic/pull/1935) by [@wozniakty](https://github.com/wozniakty) +* add basic support for Python 3.9, [#1832](https://github.com/pydantic/pydantic/pull/1832) by [@PrettyWood](https://github.com/PrettyWood) +* Fix typo in the anchor of exporting_models.md#modelcopy and incorrect description, [#1821](https://github.com/pydantic/pydantic/pull/1821) by [@KimMachineGun](https://github.com/KimMachineGun) +* Added ability for `BaseSettings` to read "secret files", [#1820](https://github.com/pydantic/pydantic/pull/1820) by [@mdgilene](https://github.com/mdgilene) +* add `parse_raw_as` utility function, [#1812](https://github.com/pydantic/pydantic/pull/1812) by [@PrettyWood](https://github.com/PrettyWood) +* Support home directory relative paths for `dotenv` files (e.g. `~/.env`), [#1803](https://github.com/pydantic/pydantic/pull/1803) by [@PrettyWood](https://github.com/PrettyWood) +* Clarify documentation for `parse_file` to show that the argument + should be a file *path* not a file-like object, [#1794](https://github.com/pydantic/pydantic/pull/1794) by [@mdavis-xyz](https://github.com/mdavis-xyz) +* Fix false positive from mypy plugin when a class nested within a `BaseModel` is named `Model`, [#1770](https://github.com/pydantic/pydantic/pull/1770) by [@selimb](https://github.com/selimb) +* add basic support of Pattern type in schema generation, [#1767](https://github.com/pydantic/pydantic/pull/1767) by [@PrettyWood](https://github.com/PrettyWood) +* Support custom title, description and default in schema of enums, [#1748](https://github.com/pydantic/pydantic/pull/1748) by [@PrettyWood](https://github.com/PrettyWood) +* Properly represent `Literal` Enums when `use_enum_values` is True, [#1747](https://github.com/pydantic/pydantic/pull/1747) by [@noelevans](https://github.com/noelevans) +* Allows timezone information to be added to strings to be formatted as time objects. Permitted formats are `Z` for UTC + or an offset for absolute positive or negative time shifts. Or the timezone data can be omitted, [#1744](https://github.com/pydantic/pydantic/pull/1744) by [@noelevans](https://github.com/noelevans) +* Add stub `__init__` with Python 3.6 signature for `ForwardRef`, [#1738](https://github.com/pydantic/pydantic/pull/1738) by [@sirtelemak](https://github.com/sirtelemak) +* Fix behaviour with forward refs and optional fields in nested models, [#1736](https://github.com/pydantic/pydantic/pull/1736) by [@PrettyWood](https://github.com/PrettyWood) +* add `Enum` and `IntEnum` as valid types for fields, [#1735](https://github.com/pydantic/pydantic/pull/1735) by [@PrettyWood](https://github.com/PrettyWood) +* Change default value of `__module__` argument of `create_model` from `None` to `'pydantic.main'`. + Set reference of created concrete model to it's module to allow pickling (not applied to models created in + functions), [#1686](https://github.com/pydantic/pydantic/pull/1686) by [@Bobronium](https://github.com/Bobronium) +* Add private attributes support, [#1679](https://github.com/pydantic/pydantic/pull/1679) by [@Bobronium](https://github.com/Bobronium) +* add `config` to `@validate_arguments`, [#1663](https://github.com/pydantic/pydantic/pull/1663) by [@samuelcolvin](https://github.com/samuelcolvin) +* Allow descendant Settings models to override env variable names for the fields defined in parent Settings models with + `env` in their `Config`. Previously only `env_prefix` configuration option was applicable, [#1561](https://github.com/pydantic/pydantic/pull/1561) by [@ojomio](https://github.com/ojomio) +* Support `ref_template` when creating schema `$ref`s, [#1479](https://github.com/pydantic/pydantic/pull/1479) by [@kilo59](https://github.com/kilo59) +* Add a `__call__` stub to `PyObject` so that mypy will know that it is callable, [#1352](https://github.com/pydantic/pydantic/pull/1352) by [@brianmaissy](https://github.com/brianmaissy) +* `pydantic.dataclasses.dataclass` decorator now supports built-in `dataclasses.dataclass`. + It is hence possible to convert an existing `dataclass` easily to add Pydantic validation. + Moreover nested dataclasses are also supported, [#744](https://github.com/pydantic/pydantic/pull/744) by [@PrettyWood](https://github.com/PrettyWood) + +## v1.6.2 (2021-05-11) + +* **Security fix:** Fix `date` and `datetime` parsing so passing either `'infinity'` or `float('inf')` + (or their negative values) does not cause an infinite loop, + See security advisory [CVE-2021-29510](https://github.com/pydantic/pydantic/security/advisories/GHSA-5jqp-qgf6-3pvh) + +## v1.6.1 (2020-07-15) + +* fix validation and parsing of nested models with `default_factory`, [#1710](https://github.com/pydantic/pydantic/pull/1710) by [@PrettyWood](https://github.com/PrettyWood) + +## v1.6 (2020-07-11) + +Thank you to pydantic's sponsors: [@matin](https://github.com/matin), [@tiangolo](https://github.com/tiangolo), [@chdsbd](https://github.com/chdsbd), [@jorgecarleitao](https://github.com/jorgecarleitao), and 1 anonymous sponsor for their kind support. + +* Modify validators for `conlist` and `conset` to not have `always=True`, [#1682](https://github.com/pydantic/pydantic/pull/1682) by [@samuelcolvin](https://github.com/samuelcolvin) +* add port check to `AnyUrl` (can't exceed 65536) ports are 16 insigned bits: `0 <= port <= 2**16-1` src: [rfc793 header format](https://tools.ietf.org/html/rfc793#section-3.1), [#1654](https://github.com/pydantic/pydantic/pull/1654) by [@flapili](https://github.com/flapili) +* Document default `regex` anchoring semantics, [#1648](https://github.com/pydantic/pydantic/pull/1648) by [@yurikhan](https://github.com/yurikhan) +* Use `chain.from_iterable` in class_validators.py. This is a faster and more idiomatic way of using `itertools.chain`. + Instead of computing all the items in the iterable and storing them in memory, they are computed one-by-one and never + stored as a huge list. This can save on both runtime and memory space, [#1642](https://github.com/pydantic/pydantic/pull/1642) by [@cool-RR](https://github.com/cool-RR) +* Add `conset()`, analogous to `conlist()`, [#1623](https://github.com/pydantic/pydantic/pull/1623) by [@patrickkwang](https://github.com/patrickkwang) +* make Pydantic errors (un)pickable, [#1616](https://github.com/pydantic/pydantic/pull/1616) by [@PrettyWood](https://github.com/PrettyWood) +* Allow custom encoding for `dotenv` files, [#1615](https://github.com/pydantic/pydantic/pull/1615) by [@PrettyWood](https://github.com/PrettyWood) +* Ensure `SchemaExtraCallable` is always defined to get type hints on BaseConfig, [#1614](https://github.com/pydantic/pydantic/pull/1614) by [@PrettyWood](https://github.com/PrettyWood) +* Update datetime parser to support negative timestamps, [#1600](https://github.com/pydantic/pydantic/pull/1600) by [@mlbiche](https://github.com/mlbiche) +* Update mypy, remove `AnyType` alias for `Type[Any]`, [#1598](https://github.com/pydantic/pydantic/pull/1598) by [@samuelcolvin](https://github.com/samuelcolvin) +* Adjust handling of root validators so that errors are aggregated from _all_ failing root validators, instead of reporting on only the first root validator to fail, [#1586](https://github.com/pydantic/pydantic/pull/1586) by [@beezee](https://github.com/beezee) +* Make `__modify_schema__` on Enums apply to the enum schema rather than fields that use the enum, [#1581](https://github.com/pydantic/pydantic/pull/1581) by [@therefromhere](https://github.com/therefromhere) +* Fix behavior of `__all__` key when used in conjunction with index keys in advanced include/exclude of fields that are sequences, [#1579](https://github.com/pydantic/pydantic/pull/1579) by [@xspirus](https://github.com/xspirus) +* Subclass validators do not run when referencing a `List` field defined in a parent class when `each_item=True`. Added an example to the docs illustrating this, [#1566](https://github.com/pydantic/pydantic/pull/1566) by [@samueldeklund](https://github.com/samueldeklund) +* change `schema.field_class_to_schema` to support `frozenset` in schema, [#1557](https://github.com/pydantic/pydantic/pull/1557) by [@wangpeibao](https://github.com/wangpeibao) +* Call `__modify_schema__` only for the field schema, [#1552](https://github.com/pydantic/pydantic/pull/1552) by [@PrettyWood](https://github.com/PrettyWood) +* Move the assignment of `field.validate_always` in `fields.py` so the `always` parameter of validators work on inheritance, [#1545](https://github.com/pydantic/pydantic/pull/1545) by [@dcHHH](https://github.com/dcHHH) +* Added support for UUID instantiation through 16 byte strings such as `b'\x12\x34\x56\x78' * 4`. This was done to support `BINARY(16)` columns in sqlalchemy, [#1541](https://github.com/pydantic/pydantic/pull/1541) by [@shawnwall](https://github.com/shawnwall) +* Add a test assertion that `default_factory` can return a singleton, [#1523](https://github.com/pydantic/pydantic/pull/1523) by [@therefromhere](https://github.com/therefromhere) +* Add `NameEmail.__eq__` so duplicate `NameEmail` instances are evaluated as equal, [#1514](https://github.com/pydantic/pydantic/pull/1514) by [@stephen-bunn](https://github.com/stephen-bunn) +* Add datamodel-code-generator link in pydantic document site, [#1500](https://github.com/pydantic/pydantic/pull/1500) by [@koxudaxi](https://github.com/koxudaxi) +* Added a "Discussion of Pydantic" section to the documentation, with a link to "Pydantic Introduction" video by Alexander Hultnér, [#1499](https://github.com/pydantic/pydantic/pull/1499) by [@hultner](https://github.com/hultner) +* Avoid some side effects of `default_factory` by calling it only once + if possible and by not setting a default value in the schema, [#1491](https://github.com/pydantic/pydantic/pull/1491) by [@PrettyWood](https://github.com/PrettyWood) +* Added docs about dumping dataclasses to JSON, [#1487](https://github.com/pydantic/pydantic/pull/1487) by [@mikegrima](https://github.com/mikegrima) +* Make `BaseModel.__signature__` class-only, so getting `__signature__` from model instance will raise `AttributeError`, [#1466](https://github.com/pydantic/pydantic/pull/1466) by [@Bobronium](https://github.com/Bobronium) +* include `'format': 'password'` in the schema for secret types, [#1424](https://github.com/pydantic/pydantic/pull/1424) by [@atheuz](https://github.com/atheuz) +* Modify schema constraints on `ConstrainedFloat` so that `exclusiveMinimum` and + minimum are not included in the schema if they are equal to `-math.inf` and + `exclusiveMaximum` and `maximum` are not included if they are equal to `math.inf`, [#1417](https://github.com/pydantic/pydantic/pull/1417) by [@vdwees](https://github.com/vdwees) +* Squash internal `__root__` dicts in `.dict()` (and, by extension, in `.json()`), [#1414](https://github.com/pydantic/pydantic/pull/1414) by [@patrickkwang](https://github.com/patrickkwang) +* Move `const` validator to post-validators so it validates the parsed value, [#1410](https://github.com/pydantic/pydantic/pull/1410) by [@selimb](https://github.com/selimb) +* Fix model validation to handle nested literals, e.g. `Literal['foo', Literal['bar']]`, [#1364](https://github.com/pydantic/pydantic/pull/1364) by [@DBCerigo](https://github.com/DBCerigo) +* Remove `user_required = True` from `RedisDsn`, neither user nor password are required, [#1275](https://github.com/pydantic/pydantic/pull/1275) by [@samuelcolvin](https://github.com/samuelcolvin) +* Remove extra `allOf` from schema for fields with `Union` and custom `Field`, [#1209](https://github.com/pydantic/pydantic/pull/1209) by [@mostaphaRoudsari](https://github.com/mostaphaRoudsari) +* Updates OpenAPI schema generation to output all enums as separate models. + Instead of inlining the enum values in the model schema, models now use a `$ref` + property to point to the enum definition, [#1173](https://github.com/pydantic/pydantic/pull/1173) by [@calvinwyoung](https://github.com/calvinwyoung) + +## v1.5.1 (2020-04-23) + +* Signature generation with `extra: allow` never uses a field name, [#1418](https://github.com/pydantic/pydantic/pull/1418) by [@prettywood](https://github.com/prettywood) +* Avoid mutating `Field` default value, [#1412](https://github.com/pydantic/pydantic/pull/1412) by [@prettywood](https://github.com/prettywood) + +## v1.5 (2020-04-18) + +* Make includes/excludes arguments for `.dict()`, `._iter()`, ..., immutable, [#1404](https://github.com/pydantic/pydantic/pull/1404) by [@AlexECX](https://github.com/AlexECX) +* Always use a field's real name with includes/excludes in `model._iter()`, regardless of `by_alias`, [#1397](https://github.com/pydantic/pydantic/pull/1397) by [@AlexECX](https://github.com/AlexECX) +* Update constr regex example to include start and end lines, [#1396](https://github.com/pydantic/pydantic/pull/1396) by [@lmcnearney](https://github.com/lmcnearney) +* Confirm that shallow `model.copy()` does make a shallow copy of attributes, [#1383](https://github.com/pydantic/pydantic/pull/1383) by [@samuelcolvin](https://github.com/samuelcolvin) +* Renaming `model_name` argument of `main.create_model()` to `__model_name` to allow using `model_name` as a field name, [#1367](https://github.com/pydantic/pydantic/pull/1367) by [@kittipatv](https://github.com/kittipatv) +* Replace raising of exception to silent passing for non-Var attributes in mypy plugin, [#1345](https://github.com/pydantic/pydantic/pull/1345) by [@b0g3r](https://github.com/b0g3r) +* Remove `typing_extensions` dependency for Python 3.8, [#1342](https://github.com/pydantic/pydantic/pull/1342) by [@prettywood](https://github.com/prettywood) +* Make `SecretStr` and `SecretBytes` initialization idempotent, [#1330](https://github.com/pydantic/pydantic/pull/1330) by [@atheuz](https://github.com/atheuz) +* document making secret types dumpable using the json method, [#1328](https://github.com/pydantic/pydantic/pull/1328) by [@atheuz](https://github.com/atheuz) +* Move all testing and build to github actions, add windows and macos binaries, + thank you [@StephenBrown2](https://github.com/StephenBrown2) for much help, [#1326](https://github.com/pydantic/pydantic/pull/1326) by [@samuelcolvin](https://github.com/samuelcolvin) +* fix card number length check in `PaymentCardNumber`, `PaymentCardBrand` now inherits from `str`, [#1317](https://github.com/pydantic/pydantic/pull/1317) by [@samuelcolvin](https://github.com/samuelcolvin) +* Have `BaseModel` inherit from `Representation` to make mypy happy when overriding `__str__`, [#1310](https://github.com/pydantic/pydantic/pull/1310) by [@FuegoFro](https://github.com/FuegoFro) +* Allow `None` as input to all optional list fields, [#1307](https://github.com/pydantic/pydantic/pull/1307) by [@prettywood](https://github.com/prettywood) +* Add `datetime` field to `default_factory` example, [#1301](https://github.com/pydantic/pydantic/pull/1301) by [@StephenBrown2](https://github.com/StephenBrown2) +* Allow subclasses of known types to be encoded with superclass encoder, [#1291](https://github.com/pydantic/pydantic/pull/1291) by [@StephenBrown2](https://github.com/StephenBrown2) +* Exclude exported fields from all elements of a list/tuple of submodels/dicts with `'__all__'`, [#1286](https://github.com/pydantic/pydantic/pull/1286) by [@masalim2](https://github.com/masalim2) +* Add pydantic.color.Color objects as available input for Color fields, [#1258](https://github.com/pydantic/pydantic/pull/1258) by [@leosussan](https://github.com/leosussan) +* In examples, type nullable fields as `Optional`, so that these are valid mypy annotations, [#1248](https://github.com/pydantic/pydantic/pull/1248) by [@kokes](https://github.com/kokes) +* Make `pattern_validator()` accept pre-compiled `Pattern` objects. Fix `str_validator()` return type to `str`, [#1237](https://github.com/pydantic/pydantic/pull/1237) by [@adamgreg](https://github.com/adamgreg) +* Document how to manage Generics and inheritance, [#1229](https://github.com/pydantic/pydantic/pull/1229) by [@esadruhn](https://github.com/esadruhn) +* `update_forward_refs()` method of BaseModel now copies `__dict__` of class module instead of modyfying it, [#1228](https://github.com/pydantic/pydantic/pull/1228) by [@paul-ilyin](https://github.com/paul-ilyin) +* Support instance methods and class methods with `@validate_arguments`, [#1222](https://github.com/pydantic/pydantic/pull/1222) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add `default_factory` argument to `Field` to create a dynamic default value by passing a zero-argument callable, [#1210](https://github.com/pydantic/pydantic/pull/1210) by [@prettywood](https://github.com/prettywood) +* add support for `NewType` of `List`, `Optional`, etc, [#1207](https://github.com/pydantic/pydantic/pull/1207) by [@Kazy](https://github.com/Kazy) +* fix mypy signature for `root_validator`, [#1192](https://github.com/pydantic/pydantic/pull/1192) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fixed parsing of nested 'custom root type' models, [#1190](https://github.com/pydantic/pydantic/pull/1190) by [@Shados](https://github.com/Shados) +* Add `validate_arguments` function decorator which checks the arguments to a function matches type annotations, [#1179](https://github.com/pydantic/pydantic/pull/1179) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add `__signature__` to models, [#1034](https://github.com/pydantic/pydantic/pull/1034) by [@Bobronium](https://github.com/Bobronium) +* Refactor `._iter()` method, 10x speed boost for `dict(model)`, [#1017](https://github.com/pydantic/pydantic/pull/1017) by [@Bobronium](https://github.com/Bobronium) + +## v1.4 (2020-01-24) + +* **Breaking Change:** alias precedence logic changed so aliases on a field always take priority over + an alias from `alias_generator` to avoid buggy/unexpected behaviour, + see [here](https://docs.pydantic.dev/usage/model_config/#alias-precedence) for details, [#1178](https://github.com/pydantic/pydantic/pull/1178) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add support for unicode and punycode in TLDs, [#1182](https://github.com/pydantic/pydantic/pull/1182) by [@jamescurtin](https://github.com/jamescurtin) +* Fix `cls` argument in validators during assignment, [#1172](https://github.com/pydantic/pydantic/pull/1172) by [@samuelcolvin](https://github.com/samuelcolvin) +* completing Luhn algorithm for `PaymentCardNumber`, [#1166](https://github.com/pydantic/pydantic/pull/1166) by [@cuencandres](https://github.com/cuencandres) +* add support for generics that implement `__get_validators__` like a custom data type, [#1159](https://github.com/pydantic/pydantic/pull/1159) by [@tiangolo](https://github.com/tiangolo) +* add support for infinite generators with `Iterable`, [#1152](https://github.com/pydantic/pydantic/pull/1152) by [@tiangolo](https://github.com/tiangolo) +* fix `url_regex` to accept schemas with `+`, `-` and `.` after the first character, [#1142](https://github.com/pydantic/pydantic/pull/1142) by [@samuelcolvin](https://github.com/samuelcolvin) +* move `version_info()` to `version.py`, suggest its use in issues, [#1138](https://github.com/pydantic/pydantic/pull/1138) by [@samuelcolvin](https://github.com/samuelcolvin) +* Improve pydantic import time by roughly 50% by deferring some module loading and regex compilation, [#1127](https://github.com/pydantic/pydantic/pull/1127) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fix `EmailStr` and `NameEmail` to accept instances of themselves in cython, [#1126](https://github.com/pydantic/pydantic/pull/1126) by [@koxudaxi](https://github.com/koxudaxi) +* Pass model class to the `Config.schema_extra` callable, [#1125](https://github.com/pydantic/pydantic/pull/1125) by [@therefromhere](https://github.com/therefromhere) +* Fix regex for username and password in URLs, [#1115](https://github.com/pydantic/pydantic/pull/1115) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add support for nested generic models, [#1104](https://github.com/pydantic/pydantic/pull/1104) by [@dmontagu](https://github.com/dmontagu) +* add `__all__` to `__init__.py` to prevent "implicit reexport" errors from mypy, [#1072](https://github.com/pydantic/pydantic/pull/1072) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add support for using "dotenv" files with `BaseSettings`, [#1011](https://github.com/pydantic/pydantic/pull/1011) by [@acnebs](https://github.com/acnebs) + +## v1.3 (2019-12-21) + +* Change `schema` and `schema_model` to handle dataclasses by using their `__pydantic_model__` feature, [#792](https://github.com/pydantic/pydantic/pull/792) by [@aviramha](https://github.com/aviramha) +* Added option for `root_validator` to be skipped if values validation fails using keyword `skip_on_failure=True`, [#1049](https://github.com/pydantic/pydantic/pull/1049) by [@aviramha](https://github.com/aviramha) +* Allow `Config.schema_extra` to be a callable so that the generated schema can be post-processed, [#1054](https://github.com/pydantic/pydantic/pull/1054) by [@selimb](https://github.com/selimb) +* Update mypy to version 0.750, [#1057](https://github.com/pydantic/pydantic/pull/1057) by [@dmontagu](https://github.com/dmontagu) +* Trick Cython into allowing str subclassing, [#1061](https://github.com/pydantic/pydantic/pull/1061) by [@skewty](https://github.com/skewty) +* Prevent type attributes being added to schema unless the attribute `__schema_attributes__` is `True`, [#1064](https://github.com/pydantic/pydantic/pull/1064) by [@samuelcolvin](https://github.com/samuelcolvin) +* Change `BaseModel.parse_file` to use `Config.json_loads`, [#1067](https://github.com/pydantic/pydantic/pull/1067) by [@kierandarcy](https://github.com/kierandarcy) +* Fix for optional `Json` fields, [#1073](https://github.com/pydantic/pydantic/pull/1073) by [@volker48](https://github.com/volker48) +* Change the default number of threads used when compiling with cython to one, + allow override via the `CYTHON_NTHREADS` environment variable, [#1074](https://github.com/pydantic/pydantic/pull/1074) by [@samuelcolvin](https://github.com/samuelcolvin) +* Run FastAPI tests during Pydantic's CI tests, [#1075](https://github.com/pydantic/pydantic/pull/1075) by [@tiangolo](https://github.com/tiangolo) +* My mypy strictness constraints, and associated tweaks to type annotations, [#1077](https://github.com/pydantic/pydantic/pull/1077) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add `__eq__` to SecretStr and SecretBytes to allow "value equals", [#1079](https://github.com/pydantic/pydantic/pull/1079) by [@sbv-trueenergy](https://github.com/sbv-trueenergy) +* Fix schema generation for nested None case, [#1088](https://github.com/pydantic/pydantic/pull/1088) by [@lutostag](https://github.com/lutostag) +* Consistent checks for sequence like objects, [#1090](https://github.com/pydantic/pydantic/pull/1090) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fix `Config` inheritance on `BaseSettings` when used with `env_prefix`, [#1091](https://github.com/pydantic/pydantic/pull/1091) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fix for `__modify_schema__` when it conflicted with `field_class_to_schema*`, [#1102](https://github.com/pydantic/pydantic/pull/1102) by [@samuelcolvin](https://github.com/samuelcolvin) +* docs: Fix explanation of case sensitive environment variable names when populating `BaseSettings` subclass attributes, [#1105](https://github.com/pydantic/pydantic/pull/1105) by [@tribals](https://github.com/tribals) +* Rename django-rest-framework benchmark in documentation, [#1119](https://github.com/pydantic/pydantic/pull/1119) by [@frankie567](https://github.com/frankie567) + +## v1.2 (2019-11-28) + +* **Possible Breaking Change:** Add support for required `Optional` with `name: Optional[AnyType] = Field(...)` + and refactor `ModelField` creation to preserve `required` parameter value, [#1031](https://github.com/pydantic/pydantic/pull/1031) by [@tiangolo](https://github.com/tiangolo); + see [here](https://docs.pydantic.dev/usage/models/#required-optional-fields) for details +* Add benchmarks for `cattrs`, [#513](https://github.com/pydantic/pydantic/pull/513) by [@sebastianmika](https://github.com/sebastianmika) +* Add `exclude_none` option to `dict()` and friends, [#587](https://github.com/pydantic/pydantic/pull/587) by [@niknetniko](https://github.com/niknetniko) +* Add benchmarks for `valideer`, [#670](https://github.com/pydantic/pydantic/pull/670) by [@gsakkis](https://github.com/gsakkis) +* Add `parse_obj_as` and `parse_file_as` functions for ad-hoc parsing of data into arbitrary pydantic-compatible types, [#934](https://github.com/pydantic/pydantic/pull/934) by [@dmontagu](https://github.com/dmontagu) +* Add `allow_reuse` argument to validators, thus allowing validator reuse, [#940](https://github.com/pydantic/pydantic/pull/940) by [@dmontagu](https://github.com/dmontagu) +* Add support for mapping types for custom root models, [#958](https://github.com/pydantic/pydantic/pull/958) by [@dmontagu](https://github.com/dmontagu) +* Mypy plugin support for dataclasses, [#966](https://github.com/pydantic/pydantic/pull/966) by [@koxudaxi](https://github.com/koxudaxi) +* Add support for dataclasses default factory, [#968](https://github.com/pydantic/pydantic/pull/968) by [@ahirner](https://github.com/ahirner) +* Add a `ByteSize` type for converting byte string (`1GB`) to plain bytes, [#977](https://github.com/pydantic/pydantic/pull/977) by [@dgasmith](https://github.com/dgasmith) +* Fix mypy complaint about `@root_validator(pre=True)`, [#984](https://github.com/pydantic/pydantic/pull/984) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add manylinux binaries for Python 3.8 to pypi, also support manylinux2010, [#994](https://github.com/pydantic/pydantic/pull/994) by [@samuelcolvin](https://github.com/samuelcolvin) +* Adds ByteSize conversion to another unit, [#995](https://github.com/pydantic/pydantic/pull/995) by [@dgasmith](https://github.com/dgasmith) +* Fix `__str__` and `__repr__` inheritance for models, [#1022](https://github.com/pydantic/pydantic/pull/1022) by [@samuelcolvin](https://github.com/samuelcolvin) +* add testimonials section to docs, [#1025](https://github.com/pydantic/pydantic/pull/1025) by [@sullivancolin](https://github.com/sullivancolin) +* Add support for `typing.Literal` for Python 3.8, [#1026](https://github.com/pydantic/pydantic/pull/1026) by [@dmontagu](https://github.com/dmontagu) + +## v1.1.1 (2019-11-20) + +* Fix bug where use of complex fields on sub-models could cause fields to be incorrectly configured, [#1015](https://github.com/pydantic/pydantic/pull/1015) by [@samuelcolvin](https://github.com/samuelcolvin) + +## v1.1 (2019-11-07) + +* Add a mypy plugin for type checking `BaseModel.__init__` and more, [#722](https://github.com/pydantic/pydantic/pull/722) by [@dmontagu](https://github.com/dmontagu) +* Change return type typehint for `GenericModel.__class_getitem__` to prevent PyCharm warnings, [#936](https://github.com/pydantic/pydantic/pull/936) by [@dmontagu](https://github.com/dmontagu) +* Fix usage of `Any` to allow `None`, also support `TypeVar` thus allowing use of un-parameterised collection types + e.g. `Dict` and `List`, [#962](https://github.com/pydantic/pydantic/pull/962) by [@samuelcolvin](https://github.com/samuelcolvin) +* Set `FieldInfo` on subfields to fix schema generation for complex nested types, [#965](https://github.com/pydantic/pydantic/pull/965) by [@samuelcolvin](https://github.com/samuelcolvin) + +## v1.0 (2019-10-23) + +* **Breaking Change:** deprecate the `Model.fields` property, use `Model.__fields__` instead, [#883](https://github.com/pydantic/pydantic/pull/883) by [@samuelcolvin](https://github.com/samuelcolvin) +* **Breaking Change:** Change the precedence of aliases so child model aliases override parent aliases, + including using `alias_generator`, [#904](https://github.com/pydantic/pydantic/pull/904) by [@samuelcolvin](https://github.com/samuelcolvin) +* **Breaking change:** Rename `skip_defaults` to `exclude_unset`, and add ability to exclude actual defaults, [#915](https://github.com/pydantic/pydantic/pull/915) by [@dmontagu](https://github.com/dmontagu) +* Add `**kwargs` to `pydantic.main.ModelMetaclass.__new__` so `__init_subclass__` can take custom parameters on extended + `BaseModel` classes, [#867](https://github.com/pydantic/pydantic/pull/867) by [@retnikt](https://github.com/retnikt) +* Fix field of a type that has a default value, [#880](https://github.com/pydantic/pydantic/pull/880) by [@koxudaxi](https://github.com/koxudaxi) +* Use `FutureWarning` instead of `DeprecationWarning` when `alias` instead of `env` is used for settings models, [#881](https://github.com/pydantic/pydantic/pull/881) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fix issue with `BaseSettings` inheritance and `alias` getting set to `None`, [#882](https://github.com/pydantic/pydantic/pull/882) by [@samuelcolvin](https://github.com/samuelcolvin) +* Modify `__repr__` and `__str__` methods to be consistent across all public classes, add `__pretty__` to support + python-devtools, [#884](https://github.com/pydantic/pydantic/pull/884) by [@samuelcolvin](https://github.com/samuelcolvin) +* deprecation warning for `case_insensitive` on `BaseSettings` config, [#885](https://github.com/pydantic/pydantic/pull/885) by [@samuelcolvin](https://github.com/samuelcolvin) +* For `BaseSettings` merge environment variables and in-code values recursively, as long as they create a valid object + when merged together, to allow splitting init arguments, [#888](https://github.com/pydantic/pydantic/pull/888) by [@idmitrievsky](https://github.com/idmitrievsky) +* change secret types example, [#890](https://github.com/pydantic/pydantic/pull/890) by [@ashears](https://github.com/ashears) +* Change the signature of `Model.construct()` to be more user-friendly, document `construct()` usage, [#898](https://github.com/pydantic/pydantic/pull/898) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add example for the `construct()` method, [#907](https://github.com/pydantic/pydantic/pull/907) by [@ashears](https://github.com/ashears) +* Improve use of `Field` constraints on complex types, raise an error if constraints are not enforceable, + also support tuples with an ellipsis `Tuple[X, ...]`, `Sequence` and `FrozenSet` in schema, [#909](https://github.com/pydantic/pydantic/pull/909) by [@samuelcolvin](https://github.com/samuelcolvin) +* update docs for bool missing valid value, [#911](https://github.com/pydantic/pydantic/pull/911) by [@trim21](https://github.com/trim21) +* Better `str`/`repr` logic for `ModelField`, [#912](https://github.com/pydantic/pydantic/pull/912) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fix `ConstrainedList`, update schema generation to reflect `min_items` and `max_items` `Field()` arguments, [#917](https://github.com/pydantic/pydantic/pull/917) by [@samuelcolvin](https://github.com/samuelcolvin) +* Allow abstracts sets (eg. dict keys) in the `include` and `exclude` arguments of `dict()`, [#921](https://github.com/pydantic/pydantic/pull/921) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fix JSON serialization errors on `ValidationError.json()` by using `pydantic_encoder`, [#922](https://github.com/pydantic/pydantic/pull/922) by [@samuelcolvin](https://github.com/samuelcolvin) +* Clarify usage of `remove_untouched`, improve error message for types with no validators, [#926](https://github.com/pydantic/pydantic/pull/926) by [@retnikt](https://github.com/retnikt) + +## v1.0b2 (2019-10-07) + +* Mark `StrictBool` typecheck as `bool` to allow for default values without mypy errors, [#690](https://github.com/pydantic/pydantic/pull/690) by [@dmontagu](https://github.com/dmontagu) +* Transfer the documentation build from sphinx to mkdocs, re-write much of the documentation, [#856](https://github.com/pydantic/pydantic/pull/856) by [@samuelcolvin](https://github.com/samuelcolvin) +* Add support for custom naming schemes for `GenericModel` subclasses, [#859](https://github.com/pydantic/pydantic/pull/859) by [@dmontagu](https://github.com/dmontagu) +* Add `if TYPE_CHECKING:` to the excluded lines for test coverage, [#874](https://github.com/pydantic/pydantic/pull/874) by [@dmontagu](https://github.com/dmontagu) +* Rename `allow_population_by_alias` to `allow_population_by_field_name`, remove unnecessary warning about it, [#875](https://github.com/pydantic/pydantic/pull/875) by [@samuelcolvin](https://github.com/samuelcolvin) + +## v1.0b1 (2019-10-01) + +* **Breaking Change:** rename `Schema` to `Field`, make it a function to placate mypy, [#577](https://github.com/pydantic/pydantic/pull/577) by [@samuelcolvin](https://github.com/samuelcolvin) +* **Breaking Change:** modify parsing behavior for `bool`, [#617](https://github.com/pydantic/pydantic/pull/617) by [@dmontagu](https://github.com/dmontagu) +* **Breaking Change:** `get_validators` is no longer recognised, use `__get_validators__`. + `Config.ignore_extra` and `Config.allow_extra` are no longer recognised, use `Config.extra`, [#720](https://github.com/pydantic/pydantic/pull/720) by [@samuelcolvin](https://github.com/samuelcolvin) +* **Breaking Change:** modify default config settings for `BaseSettings`; `case_insensitive` renamed to `case_sensitive`, + default changed to `case_sensitive = False`, `env_prefix` default changed to `''` - e.g. no prefix, [#721](https://github.com/pydantic/pydantic/pull/721) by [@dmontagu](https://github.com/dmontagu) +* **Breaking change:** Implement `root_validator` and rename root errors from `__obj__` to `__root__`, [#729](https://github.com/pydantic/pydantic/pull/729) by [@samuelcolvin](https://github.com/samuelcolvin) +* **Breaking Change:** alter the behaviour of `dict(model)` so that sub-models are nolonger + converted to dictionaries, [#733](https://github.com/pydantic/pydantic/pull/733) by [@samuelcolvin](https://github.com/samuelcolvin) +* **Breaking change:** Added `initvars` support to `post_init_post_parse`, [#748](https://github.com/pydantic/pydantic/pull/748) by [@Raphael-C-Almeida](https://github.com/Raphael-C-Almeida) +* **Breaking Change:** Make `BaseModel.json()` only serialize the `__root__` key for models with custom root, [#752](https://github.com/pydantic/pydantic/pull/752) by [@dmontagu](https://github.com/dmontagu) +* **Breaking Change:** complete rewrite of `URL` parsing logic, [#755](https://github.com/pydantic/pydantic/pull/755) by [@samuelcolvin](https://github.com/samuelcolvin) +* **Breaking Change:** preserve superclass annotations for field-determination when not provided in subclass, [#757](https://github.com/pydantic/pydantic/pull/757) by [@dmontagu](https://github.com/dmontagu) +* **Breaking Change:** `BaseSettings` now uses the special `env` settings to define which environment variables to + read, not aliases, [#847](https://github.com/pydantic/pydantic/pull/847) by [@samuelcolvin](https://github.com/samuelcolvin) +* add support for `assert` statements inside validators, [#653](https://github.com/pydantic/pydantic/pull/653) by [@abdusco](https://github.com/abdusco) +* Update documentation to specify the use of `pydantic.dataclasses.dataclass` and subclassing `pydantic.BaseModel`, [#710](https://github.com/pydantic/pydantic/pull/710) by [@maddosaurus](https://github.com/maddosaurus) +* Allow custom JSON decoding and encoding via `json_loads` and `json_dumps` `Config` properties, [#714](https://github.com/pydantic/pydantic/pull/714) by [@samuelcolvin](https://github.com/samuelcolvin) +* make all annotated fields occur in the order declared, [#715](https://github.com/pydantic/pydantic/pull/715) by [@dmontagu](https://github.com/dmontagu) +* use pytest to test `mypy` integration, [#735](https://github.com/pydantic/pydantic/pull/735) by [@dmontagu](https://github.com/dmontagu) +* add `__repr__` method to `ErrorWrapper`, [#738](https://github.com/pydantic/pydantic/pull/738) by [@samuelcolvin](https://github.com/samuelcolvin) +* Added support for `FrozenSet` members in dataclasses, and a better error when attempting to use types from the `typing` module that are not supported by Pydantic, [#745](https://github.com/pydantic/pydantic/pull/745) by [@djpetti](https://github.com/djpetti) +* add documentation for Pycharm Plugin, [#750](https://github.com/pydantic/pydantic/pull/750) by [@koxudaxi](https://github.com/koxudaxi) +* fix broken examples in the docs, [#753](https://github.com/pydantic/pydantic/pull/753) by [@dmontagu](https://github.com/dmontagu) +* moving typing related objects into `pydantic.typing`, [#761](https://github.com/pydantic/pydantic/pull/761) by [@samuelcolvin](https://github.com/samuelcolvin) +* Minor performance improvements to `ErrorWrapper`, `ValidationError` and datetime parsing, [#763](https://github.com/pydantic/pydantic/pull/763) by [@samuelcolvin](https://github.com/samuelcolvin) +* Improvements to `datetime`/`date`/`time`/`timedelta` types: more descriptive errors, + change errors to `value_error` not `type_error`, support bytes, [#766](https://github.com/pydantic/pydantic/pull/766) by [@samuelcolvin](https://github.com/samuelcolvin) +* fix error messages for `Literal` types with multiple allowed values, [#770](https://github.com/pydantic/pydantic/pull/770) by [@dmontagu](https://github.com/dmontagu) +* Improved auto-generated `title` field in JSON schema by converting underscore to space, [#772](https://github.com/pydantic/pydantic/pull/772) by [@skewty](https://github.com/skewty) +* support `mypy --no-implicit-reexport` for dataclasses, also respect `--no-implicit-reexport` in pydantic itself, [#783](https://github.com/pydantic/pydantic/pull/783) by [@samuelcolvin](https://github.com/samuelcolvin) +* add the `PaymentCardNumber` type, [#790](https://github.com/pydantic/pydantic/pull/790) by [@matin](https://github.com/matin) +* Fix const validations for lists, [#794](https://github.com/pydantic/pydantic/pull/794) by [@hmvp](https://github.com/hmvp) +* Set `additionalProperties` to false in schema for models with extra fields disallowed, [#796](https://github.com/pydantic/pydantic/pull/796) by [@Code0x58](https://github.com/Code0x58) +* `EmailStr` validation method now returns local part case-sensitive per RFC 5321, [#798](https://github.com/pydantic/pydantic/pull/798) by [@henriklindgren](https://github.com/henriklindgren) +* Added ability to validate strictness to `ConstrainedFloat`, `ConstrainedInt` and `ConstrainedStr` and added + `StrictFloat` and `StrictInt` classes, [#799](https://github.com/pydantic/pydantic/pull/799) by [@DerRidda](https://github.com/DerRidda) +* Improve handling of `None` and `Optional`, replace `whole` with `each_item` (inverse meaning, default `False`) + on validators, [#803](https://github.com/pydantic/pydantic/pull/803) by [@samuelcolvin](https://github.com/samuelcolvin) +* add support for `Type[T]` type hints, [#807](https://github.com/pydantic/pydantic/pull/807) by [@timonbimon](https://github.com/timonbimon) +* Performance improvements from removing `change_exceptions`, change how pydantic error are constructed, [#819](https://github.com/pydantic/pydantic/pull/819) by [@samuelcolvin](https://github.com/samuelcolvin) +* Fix the error message arising when a `BaseModel`-type model field causes a `ValidationError` during parsing, [#820](https://github.com/pydantic/pydantic/pull/820) by [@dmontagu](https://github.com/dmontagu) +* allow `getter_dict` on `Config`, modify `GetterDict` to be more like a `Mapping` object and thus easier to work with, [#821](https://github.com/pydantic/pydantic/pull/821) by [@samuelcolvin](https://github.com/samuelcolvin) +* Only check `TypeVar` param on base `GenericModel` class, [#842](https://github.com/pydantic/pydantic/pull/842) by [@zpencerq](https://github.com/zpencerq) +* rename `Model._schema_cache` -> `Model.__schema_cache__`, `Model._json_encoder` -> `Model.__json_encoder__`, + `Model._custom_root_type` -> `Model.__custom_root_type__`, [#851](https://github.com/pydantic/pydantic/pull/851) by [@samuelcolvin](https://github.com/samuelcolvin) + + +... see [here](https://docs.pydantic.dev/changelog/#v0322-2019-08-17) for earlier changes. diff --git a/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/RECORD b/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/RECORD new file mode 100644 index 0000000..57add57 --- /dev/null +++ b/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/RECORD @@ -0,0 +1,196 @@ +pydantic-2.4.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pydantic-2.4.2.dist-info/METADATA,sha256=_VdGPMWObOl2UKc_NhU_M7fBJ_jKxtJZTRBShsLRDMI,158640 +pydantic-2.4.2.dist-info/RECORD,, +pydantic-2.4.2.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pydantic-2.4.2.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87 +pydantic-2.4.2.dist-info/licenses/LICENSE,sha256=qeGG88oWte74QxjnpwFyE1GgDLe4rjpDlLZ7SeNSnvM,1129 +pydantic/__init__.py,sha256=GW5aPaYvdifnO_m4FONO3DN-T7ArOb4yXHiE0k8CZak,5814 +pydantic/__pycache__/__init__.cpython-312.pyc,, +pydantic/__pycache__/_migration.cpython-312.pyc,, +pydantic/__pycache__/alias_generators.cpython-312.pyc,, +pydantic/__pycache__/annotated_handlers.cpython-312.pyc,, +pydantic/__pycache__/class_validators.cpython-312.pyc,, +pydantic/__pycache__/color.cpython-312.pyc,, +pydantic/__pycache__/config.cpython-312.pyc,, +pydantic/__pycache__/dataclasses.cpython-312.pyc,, +pydantic/__pycache__/datetime_parse.cpython-312.pyc,, +pydantic/__pycache__/decorator.cpython-312.pyc,, +pydantic/__pycache__/env_settings.cpython-312.pyc,, +pydantic/__pycache__/error_wrappers.cpython-312.pyc,, +pydantic/__pycache__/errors.cpython-312.pyc,, +pydantic/__pycache__/fields.cpython-312.pyc,, +pydantic/__pycache__/functional_serializers.cpython-312.pyc,, +pydantic/__pycache__/functional_validators.cpython-312.pyc,, +pydantic/__pycache__/generics.cpython-312.pyc,, +pydantic/__pycache__/json.cpython-312.pyc,, +pydantic/__pycache__/json_schema.cpython-312.pyc,, +pydantic/__pycache__/main.cpython-312.pyc,, +pydantic/__pycache__/mypy.cpython-312.pyc,, +pydantic/__pycache__/networks.cpython-312.pyc,, +pydantic/__pycache__/parse.cpython-312.pyc,, +pydantic/__pycache__/root_model.cpython-312.pyc,, +pydantic/__pycache__/schema.cpython-312.pyc,, +pydantic/__pycache__/tools.cpython-312.pyc,, +pydantic/__pycache__/type_adapter.cpython-312.pyc,, +pydantic/__pycache__/types.cpython-312.pyc,, +pydantic/__pycache__/typing.cpython-312.pyc,, +pydantic/__pycache__/utils.cpython-312.pyc,, +pydantic/__pycache__/validate_call.cpython-312.pyc,, +pydantic/__pycache__/validators.cpython-312.pyc,, +pydantic/__pycache__/version.cpython-312.pyc,, +pydantic/__pycache__/warnings.cpython-312.pyc,, +pydantic/_internal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pydantic/_internal/__pycache__/__init__.cpython-312.pyc,, +pydantic/_internal/__pycache__/_config.cpython-312.pyc,, +pydantic/_internal/__pycache__/_core_metadata.cpython-312.pyc,, +pydantic/_internal/__pycache__/_core_utils.cpython-312.pyc,, +pydantic/_internal/__pycache__/_dataclasses.cpython-312.pyc,, +pydantic/_internal/__pycache__/_decorators.cpython-312.pyc,, +pydantic/_internal/__pycache__/_decorators_v1.cpython-312.pyc,, +pydantic/_internal/__pycache__/_discriminated_union.cpython-312.pyc,, +pydantic/_internal/__pycache__/_fields.cpython-312.pyc,, +pydantic/_internal/__pycache__/_forward_ref.cpython-312.pyc,, +pydantic/_internal/__pycache__/_generate_schema.cpython-312.pyc,, +pydantic/_internal/__pycache__/_generics.cpython-312.pyc,, +pydantic/_internal/__pycache__/_internal_dataclass.cpython-312.pyc,, +pydantic/_internal/__pycache__/_known_annotated_metadata.cpython-312.pyc,, +pydantic/_internal/__pycache__/_mock_val_ser.cpython-312.pyc,, +pydantic/_internal/__pycache__/_model_construction.cpython-312.pyc,, +pydantic/_internal/__pycache__/_repr.cpython-312.pyc,, +pydantic/_internal/__pycache__/_schema_generation_shared.cpython-312.pyc,, +pydantic/_internal/__pycache__/_std_types_schema.cpython-312.pyc,, +pydantic/_internal/__pycache__/_typing_extra.cpython-312.pyc,, +pydantic/_internal/__pycache__/_utils.cpython-312.pyc,, +pydantic/_internal/__pycache__/_validate_call.cpython-312.pyc,, +pydantic/_internal/__pycache__/_validators.cpython-312.pyc,, +pydantic/_internal/_config.py,sha256=2FscGY4-mMRdt2yKgI103kwEtOufbrPPlrF18NAXI3w,11307 +pydantic/_internal/_core_metadata.py,sha256=Da-e0-DXK__dJvog0e8CZLQ4r_k9RpldG6KQTGrYlHg,3521 +pydantic/_internal/_core_utils.py,sha256=1eJmY3fjg434Hf0K3Anv42XpUUhr0ct1yk_46LqV3-8,24820 +pydantic/_internal/_dataclasses.py,sha256=EvoJILb1yaee3cVEn6XN-aCJGWOBeiBSrRKxJvBsj8w,10707 +pydantic/_internal/_decorators.py,sha256=7zUASoVitYtcIwKinl2jgBvCEvJPetQeTzRFnGej08A,30775 +pydantic/_internal/_decorators_v1.py,sha256=_m9TskhZh9yPUn7Jmy3KbKa3UDREQWyMm5NXyOJM3R8,6266 +pydantic/_internal/_discriminated_union.py,sha256=clzts7UmTAaD6etCd_qjbz1hE9q-WNSS7vqN5pF82vQ,26228 +pydantic/_internal/_fields.py,sha256=JMR0r6aB2TRXTMFMNUUrTx0ZpaJl95vIv4KJWyXRNGo,11903 +pydantic/_internal/_forward_ref.py,sha256=JBimF5v9vkOthrwLQcl0hsLC_HJ11ICAS1d9gImXLr0,425 +pydantic/_internal/_generate_schema.py,sha256=-YYRfpUbQuV9oXb6g05oqFO1dNcJL1XagP-rDB277YM,89996 +pydantic/_internal/_generics.py,sha256=jPhM2BvcLElMO-lhkGk04O7KRZDvKXmf_-S5khrkPms,22173 +pydantic/_internal/_internal_dataclass.py,sha256=NswLpapJY_61NFHBAXYpgFdxMmIX_yE9ttx_pQt_Vp8,207 +pydantic/_internal/_known_annotated_metadata.py,sha256=MK8PFoqhgd9_NtuWkNS1WhjCIYncoZdT3c1u8_UN9nU,16275 +pydantic/_internal/_mock_val_ser.py,sha256=-TYaUZyEDZVL4qwvP4FDsHlOog8YskMBEdv6JhHjEis,4305 +pydantic/_internal/_model_construction.py,sha256=CMn15644KnTXb4WqsLsEdEqbBAvtPHnNzfimY0kHoCo,27043 +pydantic/_internal/_repr.py,sha256=fbIu0pJzS8LTO7twA5eR5wVarZdd38ioceW8lQw1PdQ,4376 +pydantic/_internal/_schema_generation_shared.py,sha256=eRwZ85Gj0FfabYlvM97I5997vhY4Mk3AYQJljK5B3to,4855 +pydantic/_internal/_std_types_schema.py,sha256=jhgYS7W1f5tb-vVmndF4HHYDU9LCE8dSmNU78m4H104,28949 +pydantic/_internal/_typing_extra.py,sha256=_HmXu6PaPDicxyxEr-UGnamRNEdW42Ru81aVUKPZ5Ok,16538 +pydantic/_internal/_utils.py,sha256=xfTCcIQ2yToh-_q3Gn5RrNktHNSoMH8jdEGplQf4WYE,11698 +pydantic/_internal/_validate_call.py,sha256=bgWQ8BYvpa9YcXJkvceUaRD4MUPxImNhQs-7H-T_Y-8,5491 +pydantic/_internal/_validators.py,sha256=6vHPe403edmmxSM8qaHilC4kzjRxYaCyWARq3vexkZ4,10047 +pydantic/_migration.py,sha256=to7sVaLhl003Mv9r5nRxxD4ws1hajPofmkfiewBrFmw,11899 +pydantic/alias_generators.py,sha256=95F9x9P1bzzL7Z3y5F2BvEF9SMUEiT-r69SWlJao_3E,1141 +pydantic/annotated_handlers.py,sha256=iyOdMvz2-G-pe6HJ1a1EpRYn3EnktNyppmlI0YeM-Ss,4346 +pydantic/class_validators.py,sha256=iQz1Tw8FBliqEapmzB7iLkbwkJAeAx5314Vksb_Kj0g,147 +pydantic/color.py,sha256=iaNP0rz9iDuiDtL9KDa382r8Z50T3I1swYdDrh5sBZ4,21493 +pydantic/config.py,sha256=4UBX7VgZu9YjEuH-86tiO66cofOFEmtFBdneX_VTO3Y,24737 +pydantic/dataclasses.py,sha256=6PLxjWUMpYPBZLWEEN3NY43F-Y1Z5SPZWUW4FIDPQ2Y,11490 +pydantic/datetime_parse.py,sha256=5lJpo3-iBTAA9YmMuDLglP-5f2k8etayAXjEi6rfEN0,149 +pydantic/decorator.py,sha256=Qqx1UU19tpRVp05a2NIK5OdpLXN_a84HZPMjt_5BxdE,144 +pydantic/deprecated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pydantic/deprecated/__pycache__/__init__.cpython-312.pyc,, +pydantic/deprecated/__pycache__/class_validators.cpython-312.pyc,, +pydantic/deprecated/__pycache__/config.cpython-312.pyc,, +pydantic/deprecated/__pycache__/copy_internals.cpython-312.pyc,, +pydantic/deprecated/__pycache__/decorator.cpython-312.pyc,, +pydantic/deprecated/__pycache__/json.cpython-312.pyc,, +pydantic/deprecated/__pycache__/parse.cpython-312.pyc,, +pydantic/deprecated/__pycache__/tools.cpython-312.pyc,, +pydantic/deprecated/class_validators.py,sha256=bm2JLyjA3O6BxTvDQFScvki39HkDysFyswVEA55vGTk,9848 +pydantic/deprecated/config.py,sha256=zgaFWxmg5k6cWUs7ir_OGYS26MQJxRiblp6HPmCy0u4,2612 +pydantic/deprecated/copy_internals.py,sha256=SoUj1MevXt3fnloqNg5wivSUHSDPnuSj_YydzkEMzu0,7595 +pydantic/deprecated/decorator.py,sha256=rYviEY5ZM77OrpdBPaaitrnoFjh4ENCT_oBzvQASWjs,10903 +pydantic/deprecated/json.py,sha256=1hcwvq33cxrwIvUA6vm_rpb0qMdzxMQGiroo0jJHYtU,4465 +pydantic/deprecated/parse.py,sha256=ZJpE4ukxCw-hUUd_PZRYGwkviZopQj6vX6WGUkbBGyY,2481 +pydantic/deprecated/tools.py,sha256=2VRvcQIaJbFywkRvhFITjdkeujfunmMHgjjlioUNJp0,3278 +pydantic/env_settings.py,sha256=quxt8c9TioRg-u74gTW-GrK6r5mFXmn-J5H8FAC9Prc,147 +pydantic/error_wrappers.py,sha256=u9Dz8RgawIw8-rx7G7WGZoRtGptHXyXhHxiN9PbQ58g,149 +pydantic/errors.py,sha256=rUi9iOo26RYJOwbBoGAvv7nlK0li3fnPIfn0OnRn5aA,4595 +pydantic/fields.py,sha256=a-5oxArunmeOWQTx97Vyd7p-ag1Zeu6wHdxv7X6UR4c,45513 +pydantic/functional_serializers.py,sha256=ubcOeapLyEmvq4ZyZe0pWfHNji39Wm1BRXWXJTr177c,10780 +pydantic/functional_validators.py,sha256=2rfnFlsDaEbGjzBz7ATHifN8kaisy9n80Bzi7vpqFxo,20471 +pydantic/generics.py,sha256=T1UIBvpgur_28EIcR9Dc_Wo2r9yntzqdcR-NbnOLXB8,143 +pydantic/json.py,sha256=qk9fHVGWKNrvE-v2WxWLEm66t81JKttbySd9zjy0dnc,139 +pydantic/json_schema.py,sha256=qYckzVoCE1xDLAligNKCTeu9pnYt1hV0mK_t-kyd7KA,100686 +pydantic/main.py,sha256=LcAcw3r5NxkF8JAqkw_Bdy0KNW5XCp3JEttZEWNgHYA,62260 +pydantic/mypy.py,sha256=Jv13Kk4LsamISbbIBfGmdz6t3p7BV_qf_GVmulI18e0,50721 +pydantic/networks.py,sha256=-xGfwCIzWcmeQgN5o_Wu6EeHwa2q7eCmZZ72lOp21PI,20543 +pydantic/parse.py,sha256=BNo_W_gp1xR7kohYdHjF2m_5UNYFQxUt487-NR0RiK8,140 +pydantic/plugin/__init__.py,sha256=6fSBBTPAvLh4V3Y4Su19BlDhXDQF9K3l8LnLMFHXvLI,5184 +pydantic/plugin/__pycache__/__init__.cpython-312.pyc,, +pydantic/plugin/__pycache__/_loader.cpython-312.pyc,, +pydantic/plugin/__pycache__/_schema_validator.cpython-312.pyc,, +pydantic/plugin/_loader.py,sha256=wW8GWTi1m14yNKg4XG9lf_BktsoBTyjO3w-andi7Hig,1972 +pydantic/plugin/_schema_validator.py,sha256=dm4a4ULQ2lrLaXW1JBylv7Dy-qcdRsLHg9-bUYGUG2M,4216 +pydantic/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pydantic/root_model.py,sha256=bl6vvc4gciJitia6jkYeOhKN17t0KI1QX8Ar1PA7MO8,4949 +pydantic/schema.py,sha256=EkbomWuaAdv7C3V8h6xxoT4uJKy3Mwvkg064tOUbvxg,141 +pydantic/tools.py,sha256=YB4vzOx4g7reKUM_s5oTXIGxC5LGBnGsXdVICSRuh7g,140 +pydantic/type_adapter.py,sha256=iPjao2xGID7l1UyQya3ShVHwSC7N5KzpPT0ant7hUXI,18818 +pydantic/types.py,sha256=f_3sNoudJTUoVoXUI4T3JZ80pZA9eYEiISqNWsiqQcU,72231 +pydantic/typing.py,sha256=sPkx0hi_RX7qSV3BB0zzHd8ZuAKbRRI37XJI4av_HzQ,137 +pydantic/utils.py,sha256=twRV5SqiguiCrOA9GvrKvOG-TThfWYb7mEXDVXFZp2s,140 +pydantic/v1/__init__.py,sha256=iTu8CwWWvn6zM_zYJtqhie24PImW25zokitz_06kDYw,2771 +pydantic/v1/__pycache__/__init__.cpython-312.pyc,, +pydantic/v1/__pycache__/_hypothesis_plugin.cpython-312.pyc,, +pydantic/v1/__pycache__/annotated_types.cpython-312.pyc,, +pydantic/v1/__pycache__/class_validators.cpython-312.pyc,, +pydantic/v1/__pycache__/color.cpython-312.pyc,, +pydantic/v1/__pycache__/config.cpython-312.pyc,, +pydantic/v1/__pycache__/dataclasses.cpython-312.pyc,, +pydantic/v1/__pycache__/datetime_parse.cpython-312.pyc,, +pydantic/v1/__pycache__/decorator.cpython-312.pyc,, +pydantic/v1/__pycache__/env_settings.cpython-312.pyc,, +pydantic/v1/__pycache__/error_wrappers.cpython-312.pyc,, +pydantic/v1/__pycache__/errors.cpython-312.pyc,, +pydantic/v1/__pycache__/fields.cpython-312.pyc,, +pydantic/v1/__pycache__/generics.cpython-312.pyc,, +pydantic/v1/__pycache__/json.cpython-312.pyc,, +pydantic/v1/__pycache__/main.cpython-312.pyc,, +pydantic/v1/__pycache__/mypy.cpython-312.pyc,, +pydantic/v1/__pycache__/networks.cpython-312.pyc,, +pydantic/v1/__pycache__/parse.cpython-312.pyc,, +pydantic/v1/__pycache__/schema.cpython-312.pyc,, +pydantic/v1/__pycache__/tools.cpython-312.pyc,, +pydantic/v1/__pycache__/types.cpython-312.pyc,, +pydantic/v1/__pycache__/typing.cpython-312.pyc,, +pydantic/v1/__pycache__/utils.cpython-312.pyc,, +pydantic/v1/__pycache__/validators.cpython-312.pyc,, +pydantic/v1/__pycache__/version.cpython-312.pyc,, +pydantic/v1/_hypothesis_plugin.py,sha256=gILcyAEfZ3u9YfKxtDxkReLpakjMou1VWC3FEcXmJgQ,14844 +pydantic/v1/annotated_types.py,sha256=dJTDUyPj4QJj4rDcNkt9xDUMGEkAnuWzDeGE2q7Wxrc,3124 +pydantic/v1/class_validators.py,sha256=0BZx0Ft19cREVHEOaA6wf_E3A0bTL4wQIGzeOinVatg,14595 +pydantic/v1/color.py,sha256=cGzck7kSD5beBkOMhda4bfTICput6dMx8GGpEU5SK5Y,16811 +pydantic/v1/config.py,sha256=h5ceeZ9HzDjUv0IZNYQoza0aNGFVo22iszY-6s0a3eM,6477 +pydantic/v1/dataclasses.py,sha256=roiVI64yCN68aMRxHEw615qgrcdEwpHAHfTEz_HlAtQ,17515 +pydantic/v1/datetime_parse.py,sha256=DhGfkbG4Vs5Oyxq3u8jM-7gFrbuUKsn-4aG2DJDJbHw,7714 +pydantic/v1/decorator.py,sha256=wzuIuKKHVjaiE97YBctCU0Vho0VRlUO-aVu1IUEczFE,10263 +pydantic/v1/env_settings.py,sha256=4PWxPYeK5jt59JJ4QGb90qU8pfC7qgGX44UESTmXdpE,14039 +pydantic/v1/error_wrappers.py,sha256=NvfemFFYx9EFLXBGeJ07MKT2MJQAJFFlx_bIoVpqgVI,5142 +pydantic/v1/errors.py,sha256=f93z30S4s5bJEl8JXh-zFCAtLDCko9ze2hKTkOimaa8,17693 +pydantic/v1/fields.py,sha256=fxTn7A17AXAHuDdz8HzFSjb8qfWhRoruwc2VOzRpUdM,50488 +pydantic/v1/generics.py,sha256=n5TTgh3EHkG1Xw3eY9A143bUN11_4m57Db5u49hkGJ8,17805 +pydantic/v1/json.py,sha256=B0gJ2WmPqw-6fsvPmgu-rwhhOy4E0JpbbYjC8HR01Ho,3346 +pydantic/v1/main.py,sha256=kC5_bcJc4zoLhRUVvNq67ACmGmRtQFvyRHDub6cw5ik,44378 +pydantic/v1/mypy.py,sha256=G8yQLLt6CodoTvGl84MP3ZpdInBtc0QoaLJ7iArHXNU,38745 +pydantic/v1/networks.py,sha256=TeV9FvCYg4ALk8j7dU1q6Ntze7yaUrCHQFEDJDnq1NI,22059 +pydantic/v1/parse.py,sha256=rrVhaWLK8t03rT3oxvC6uRLuTF5iZ2NKGvGqs4iQEM0,1810 +pydantic/v1/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pydantic/v1/schema.py,sha256=ZqIQQpjxohG0hP7Zz5W401fpm4mYNu_Crmvr5HlgvMA,47615 +pydantic/v1/tools.py,sha256=ELC66w6UaU_HzAGfJBSIP47Aq9ZGkGiWPMLkkTs6VrI,2826 +pydantic/v1/types.py,sha256=S1doibLP6gg6TVZU9TwNfL2E10mFhZwCzd9WZK8Kilo,35380 +pydantic/v1/typing.py,sha256=5_C_fiUvWiAzW3MBJaHeuy2s3Hi52rFMxTfNPHv9_os,18996 +pydantic/v1/utils.py,sha256=5w7Q3N_Fqg5H9__JQDaumw9N3EFdlc7galEsCGxEDN0,25809 +pydantic/v1/validators.py,sha256=T-t9y9L_68El9p4PYkEVGEjpetNV6luav8Iwu9iTLkM,21887 +pydantic/v1/version.py,sha256=yUT25-EekWoBCsQwsA0kQTvIKOBUST7feqZT-TrbyX4,1039 +pydantic/validate_call.py,sha256=N3R7_GEjjvO6-M4ev6KHXzkhXu4gvF8bDEMBzmQlM3Q,1780 +pydantic/validators.py,sha256=3oPhHojp9UD3PdEZpMYMkxeLGUAabRm__zera8_T92w,145 +pydantic/version.py,sha256=0W9ccbJkMBsxIUoZyZxP00c4KGPagAjYMOnu96DVedM,2307 +pydantic/warnings.py,sha256=giN1ynj2Jh4yUrPFaweJgFoxtDY1vC9l3gpbdb5mFu0,1947 diff --git a/venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/WHEEL b/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/WHEEL similarity index 67% rename from venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/WHEEL index 12228d4..ba1a8af 100644 --- a/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/WHEEL @@ -1,4 +1,4 @@ Wheel-Version: 1.0 -Generator: hatchling 1.27.0 +Generator: hatchling 1.18.0 Root-Is-Purelib: true Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/licenses/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/pydantic-2.11.9.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/pydantic-2.4.2.dist-info/licenses/LICENSE diff --git a/venv/lib/python3.12/site-packages/pydantic/__init__.py b/venv/lib/python3.12/site-packages/pydantic/__init__.py index 716ca40..ec7b0b0 100644 --- a/venv/lib/python3.12/site-packages/pydantic/__init__.py +++ b/venv/lib/python3.12/site-packages/pydantic/__init__.py @@ -1,73 +1,59 @@ import typing -from importlib import import_module -from warnings import warn +import pydantic_core +from pydantic_core.core_schema import ( + FieldSerializationInfo, + SerializationInfo, + SerializerFunctionWrapHandler, + ValidationInfo, + ValidatorFunctionWrapHandler, +) + +from . import dataclasses +from ._internal._generate_schema import GenerateSchema as GenerateSchema from ._migration import getattr_migration +from .annotated_handlers import GetCoreSchemaHandler, GetJsonSchemaHandler +from .config import ConfigDict +from .errors import * +from .fields import AliasChoices, AliasPath, Field, PrivateAttr, computed_field +from .functional_serializers import PlainSerializer, SerializeAsAny, WrapSerializer, field_serializer, model_serializer +from .functional_validators import ( + AfterValidator, + BeforeValidator, + InstanceOf, + PlainValidator, + SkipValidation, + WrapValidator, + field_validator, + model_validator, +) +from .json_schema import WithJsonSchema +from .main import * +from .networks import * +from .type_adapter import TypeAdapter +from .types import * +from .validate_call import validate_call from .version import VERSION +from .warnings import * + +__version__ = VERSION + +# this encourages pycharm to import `ValidationError` from here, not pydantic_core +ValidationError = pydantic_core.ValidationError if typing.TYPE_CHECKING: - # import of virtually everything is supported via `__getattr__` below, - # but we need them here for type checking and IDE support - import pydantic_core - from pydantic_core.core_schema import ( - FieldSerializationInfo, - SerializationInfo, - SerializerFunctionWrapHandler, - ValidationInfo, - ValidatorFunctionWrapHandler, - ) - - from . import dataclasses - from .aliases import AliasChoices, AliasGenerator, AliasPath - from .annotated_handlers import GetCoreSchemaHandler, GetJsonSchemaHandler - from .config import ConfigDict, with_config - from .errors import * - from .fields import Field, PrivateAttr, computed_field - from .functional_serializers import ( - PlainSerializer, - SerializeAsAny, - WrapSerializer, - field_serializer, - model_serializer, - ) - from .functional_validators import ( - AfterValidator, - BeforeValidator, - InstanceOf, - ModelWrapValidatorHandler, - PlainValidator, - SkipValidation, - WrapValidator, - field_validator, - model_validator, - ) - from .json_schema import WithJsonSchema - from .main import * - from .networks import * - from .type_adapter import TypeAdapter - from .types import * - from .validate_call_decorator import validate_call - from .warnings import ( - PydanticDeprecatedSince20, - PydanticDeprecatedSince26, - PydanticDeprecatedSince29, - PydanticDeprecatedSince210, - PydanticDeprecatedSince211, - PydanticDeprecationWarning, - PydanticExperimentalWarning, - ) - - # this encourages pycharm to import `ValidationError` from here, not pydantic_core - ValidationError = pydantic_core.ValidationError + # these are imported via `__getattr__` below, but we need them here for type checking and IDE support from .deprecated.class_validators import root_validator, validator from .deprecated.config import BaseConfig, Extra from .deprecated.tools import * from .root_model import RootModel -__version__ = VERSION -__all__ = ( +__all__ = [ # dataclasses 'dataclasses', + # pydantic_core.core_schema + 'ValidationInfo', + 'ValidatorFunctionWrapHandler', # functional validators 'field_validator', 'model_validator', @@ -77,8 +63,6 @@ __all__ = ( 'WrapValidator', 'SkipValidation', 'InstanceOf', - 'ModelWrapValidatorHandler', - # JSON Schema 'WithJsonSchema', # deprecated V1 functional validators, these are imported via `__getattr__` below 'root_validator', @@ -89,14 +73,18 @@ __all__ = ( 'PlainSerializer', 'SerializeAsAny', 'WrapSerializer', + 'FieldSerializationInfo', + 'SerializationInfo', + 'SerializerFunctionWrapHandler', # config 'ConfigDict', - 'with_config', # deprecated V1 config, these are imported via `__getattr__` below 'BaseConfig', 'Extra', # validate_call 'validate_call', + # pydantic_core errors + 'ValidationError', # errors 'PydanticErrorCodes', 'PydanticUserError', @@ -104,15 +92,11 @@ __all__ = ( 'PydanticImportError', 'PydanticUndefinedAnnotation', 'PydanticInvalidForJsonSchema', - 'PydanticForbiddenQualifier', # fields + 'AliasPath', + 'AliasChoices', 'Field', 'computed_field', - 'PrivateAttr', - # alias - 'AliasChoices', - 'AliasGenerator', - 'AliasPath', # main 'BaseModel', 'create_model', @@ -121,9 +105,6 @@ __all__ = ( 'AnyHttpUrl', 'FileUrl', 'HttpUrl', - 'FtpUrl', - 'WebsocketUrl', - 'AnyWebsocketUrl', 'UrlConstraints', 'EmailStr', 'NameEmail', @@ -136,11 +117,8 @@ __all__ = ( 'RedisDsn', 'MongoDsn', 'KafkaDsn', - 'NatsDsn', 'MySQLDsn', 'MariaDBDsn', - 'ClickHouseDsn', - 'SnowflakeDsn', 'validate_email', # root_model 'RootModel', @@ -175,22 +153,18 @@ __all__ = ( 'UUID3', 'UUID4', 'UUID5', - 'UUID6', - 'UUID7', - 'UUID8', 'FilePath', 'DirectoryPath', 'NewPath', 'Json', - 'Secret', 'SecretStr', 'SecretBytes', - 'SocketPath', 'StrictBool', 'StrictBytes', 'StrictInt', 'StrictFloat', 'PaymentCardNumber', + 'PrivateAttr', 'ByteSize', 'PastDate', 'FutureDate', @@ -208,238 +182,44 @@ __all__ = ( 'Base64UrlBytes', 'Base64UrlStr', 'GetPydanticSchema', - 'Tag', - 'Discriminator', - 'JsonValue', - 'FailFast', # type_adapter 'TypeAdapter', # version - '__version__', 'VERSION', # warnings 'PydanticDeprecatedSince20', - 'PydanticDeprecatedSince26', - 'PydanticDeprecatedSince29', - 'PydanticDeprecatedSince210', - 'PydanticDeprecatedSince211', 'PydanticDeprecationWarning', - 'PydanticExperimentalWarning', # annotated handlers 'GetCoreSchemaHandler', 'GetJsonSchemaHandler', - # pydantic_core - 'ValidationError', - 'ValidationInfo', - 'SerializationInfo', - 'ValidatorFunctionWrapHandler', - 'FieldSerializationInfo', - 'SerializerFunctionWrapHandler', - 'OnErrorOmit', -) + 'GenerateSchema', +] # A mapping of {: (package, )} defining dynamic imports _dynamic_imports: 'dict[str, tuple[str, str]]' = { - 'dataclasses': (__spec__.parent, '__module__'), - # functional validators - 'field_validator': (__spec__.parent, '.functional_validators'), - 'model_validator': (__spec__.parent, '.functional_validators'), - 'AfterValidator': (__spec__.parent, '.functional_validators'), - 'BeforeValidator': (__spec__.parent, '.functional_validators'), - 'PlainValidator': (__spec__.parent, '.functional_validators'), - 'WrapValidator': (__spec__.parent, '.functional_validators'), - 'SkipValidation': (__spec__.parent, '.functional_validators'), - 'InstanceOf': (__spec__.parent, '.functional_validators'), - 'ModelWrapValidatorHandler': (__spec__.parent, '.functional_validators'), - # JSON Schema - 'WithJsonSchema': (__spec__.parent, '.json_schema'), - # functional serializers - 'field_serializer': (__spec__.parent, '.functional_serializers'), - 'model_serializer': (__spec__.parent, '.functional_serializers'), - 'PlainSerializer': (__spec__.parent, '.functional_serializers'), - 'SerializeAsAny': (__spec__.parent, '.functional_serializers'), - 'WrapSerializer': (__spec__.parent, '.functional_serializers'), - # config - 'ConfigDict': (__spec__.parent, '.config'), - 'with_config': (__spec__.parent, '.config'), - # validate call - 'validate_call': (__spec__.parent, '.validate_call_decorator'), - # errors - 'PydanticErrorCodes': (__spec__.parent, '.errors'), - 'PydanticUserError': (__spec__.parent, '.errors'), - 'PydanticSchemaGenerationError': (__spec__.parent, '.errors'), - 'PydanticImportError': (__spec__.parent, '.errors'), - 'PydanticUndefinedAnnotation': (__spec__.parent, '.errors'), - 'PydanticInvalidForJsonSchema': (__spec__.parent, '.errors'), - 'PydanticForbiddenQualifier': (__spec__.parent, '.errors'), - # fields - 'Field': (__spec__.parent, '.fields'), - 'computed_field': (__spec__.parent, '.fields'), - 'PrivateAttr': (__spec__.parent, '.fields'), - # alias - 'AliasChoices': (__spec__.parent, '.aliases'), - 'AliasGenerator': (__spec__.parent, '.aliases'), - 'AliasPath': (__spec__.parent, '.aliases'), - # main - 'BaseModel': (__spec__.parent, '.main'), - 'create_model': (__spec__.parent, '.main'), - # network - 'AnyUrl': (__spec__.parent, '.networks'), - 'AnyHttpUrl': (__spec__.parent, '.networks'), - 'FileUrl': (__spec__.parent, '.networks'), - 'HttpUrl': (__spec__.parent, '.networks'), - 'FtpUrl': (__spec__.parent, '.networks'), - 'WebsocketUrl': (__spec__.parent, '.networks'), - 'AnyWebsocketUrl': (__spec__.parent, '.networks'), - 'UrlConstraints': (__spec__.parent, '.networks'), - 'EmailStr': (__spec__.parent, '.networks'), - 'NameEmail': (__spec__.parent, '.networks'), - 'IPvAnyAddress': (__spec__.parent, '.networks'), - 'IPvAnyInterface': (__spec__.parent, '.networks'), - 'IPvAnyNetwork': (__spec__.parent, '.networks'), - 'PostgresDsn': (__spec__.parent, '.networks'), - 'CockroachDsn': (__spec__.parent, '.networks'), - 'AmqpDsn': (__spec__.parent, '.networks'), - 'RedisDsn': (__spec__.parent, '.networks'), - 'MongoDsn': (__spec__.parent, '.networks'), - 'KafkaDsn': (__spec__.parent, '.networks'), - 'NatsDsn': (__spec__.parent, '.networks'), - 'MySQLDsn': (__spec__.parent, '.networks'), - 'MariaDBDsn': (__spec__.parent, '.networks'), - 'ClickHouseDsn': (__spec__.parent, '.networks'), - 'SnowflakeDsn': (__spec__.parent, '.networks'), - 'validate_email': (__spec__.parent, '.networks'), - # root_model - 'RootModel': (__spec__.parent, '.root_model'), - # types - 'Strict': (__spec__.parent, '.types'), - 'StrictStr': (__spec__.parent, '.types'), - 'conbytes': (__spec__.parent, '.types'), - 'conlist': (__spec__.parent, '.types'), - 'conset': (__spec__.parent, '.types'), - 'confrozenset': (__spec__.parent, '.types'), - 'constr': (__spec__.parent, '.types'), - 'StringConstraints': (__spec__.parent, '.types'), - 'ImportString': (__spec__.parent, '.types'), - 'conint': (__spec__.parent, '.types'), - 'PositiveInt': (__spec__.parent, '.types'), - 'NegativeInt': (__spec__.parent, '.types'), - 'NonNegativeInt': (__spec__.parent, '.types'), - 'NonPositiveInt': (__spec__.parent, '.types'), - 'confloat': (__spec__.parent, '.types'), - 'PositiveFloat': (__spec__.parent, '.types'), - 'NegativeFloat': (__spec__.parent, '.types'), - 'NonNegativeFloat': (__spec__.parent, '.types'), - 'NonPositiveFloat': (__spec__.parent, '.types'), - 'FiniteFloat': (__spec__.parent, '.types'), - 'condecimal': (__spec__.parent, '.types'), - 'condate': (__spec__.parent, '.types'), - 'UUID1': (__spec__.parent, '.types'), - 'UUID3': (__spec__.parent, '.types'), - 'UUID4': (__spec__.parent, '.types'), - 'UUID5': (__spec__.parent, '.types'), - 'UUID6': (__spec__.parent, '.types'), - 'UUID7': (__spec__.parent, '.types'), - 'UUID8': (__spec__.parent, '.types'), - 'FilePath': (__spec__.parent, '.types'), - 'DirectoryPath': (__spec__.parent, '.types'), - 'NewPath': (__spec__.parent, '.types'), - 'Json': (__spec__.parent, '.types'), - 'Secret': (__spec__.parent, '.types'), - 'SecretStr': (__spec__.parent, '.types'), - 'SecretBytes': (__spec__.parent, '.types'), - 'StrictBool': (__spec__.parent, '.types'), - 'StrictBytes': (__spec__.parent, '.types'), - 'StrictInt': (__spec__.parent, '.types'), - 'StrictFloat': (__spec__.parent, '.types'), - 'PaymentCardNumber': (__spec__.parent, '.types'), - 'ByteSize': (__spec__.parent, '.types'), - 'PastDate': (__spec__.parent, '.types'), - 'SocketPath': (__spec__.parent, '.types'), - 'FutureDate': (__spec__.parent, '.types'), - 'PastDatetime': (__spec__.parent, '.types'), - 'FutureDatetime': (__spec__.parent, '.types'), - 'AwareDatetime': (__spec__.parent, '.types'), - 'NaiveDatetime': (__spec__.parent, '.types'), - 'AllowInfNan': (__spec__.parent, '.types'), - 'EncoderProtocol': (__spec__.parent, '.types'), - 'EncodedBytes': (__spec__.parent, '.types'), - 'EncodedStr': (__spec__.parent, '.types'), - 'Base64Encoder': (__spec__.parent, '.types'), - 'Base64Bytes': (__spec__.parent, '.types'), - 'Base64Str': (__spec__.parent, '.types'), - 'Base64UrlBytes': (__spec__.parent, '.types'), - 'Base64UrlStr': (__spec__.parent, '.types'), - 'GetPydanticSchema': (__spec__.parent, '.types'), - 'Tag': (__spec__.parent, '.types'), - 'Discriminator': (__spec__.parent, '.types'), - 'JsonValue': (__spec__.parent, '.types'), - 'OnErrorOmit': (__spec__.parent, '.types'), - 'FailFast': (__spec__.parent, '.types'), - # type_adapter - 'TypeAdapter': (__spec__.parent, '.type_adapter'), - # warnings - 'PydanticDeprecatedSince20': (__spec__.parent, '.warnings'), - 'PydanticDeprecatedSince26': (__spec__.parent, '.warnings'), - 'PydanticDeprecatedSince29': (__spec__.parent, '.warnings'), - 'PydanticDeprecatedSince210': (__spec__.parent, '.warnings'), - 'PydanticDeprecatedSince211': (__spec__.parent, '.warnings'), - 'PydanticDeprecationWarning': (__spec__.parent, '.warnings'), - 'PydanticExperimentalWarning': (__spec__.parent, '.warnings'), - # annotated handlers - 'GetCoreSchemaHandler': (__spec__.parent, '.annotated_handlers'), - 'GetJsonSchemaHandler': (__spec__.parent, '.annotated_handlers'), - # pydantic_core stuff - 'ValidationError': ('pydantic_core', '.'), - 'ValidationInfo': ('pydantic_core', '.core_schema'), - 'SerializationInfo': ('pydantic_core', '.core_schema'), - 'ValidatorFunctionWrapHandler': ('pydantic_core', '.core_schema'), - 'FieldSerializationInfo': ('pydantic_core', '.core_schema'), - 'SerializerFunctionWrapHandler': ('pydantic_core', '.core_schema'), - # deprecated, mostly not included in __all__ - 'root_validator': (__spec__.parent, '.deprecated.class_validators'), - 'validator': (__spec__.parent, '.deprecated.class_validators'), - 'BaseConfig': (__spec__.parent, '.deprecated.config'), - 'Extra': (__spec__.parent, '.deprecated.config'), - 'parse_obj_as': (__spec__.parent, '.deprecated.tools'), - 'schema_of': (__spec__.parent, '.deprecated.tools'), - 'schema_json_of': (__spec__.parent, '.deprecated.tools'), - # deprecated dynamic imports + 'RootModel': (__package__, '.root_model'), + 'root_validator': (__package__, '.deprecated.class_validators'), + 'validator': (__package__, '.deprecated.class_validators'), + 'BaseConfig': (__package__, '.deprecated.config'), + 'Extra': (__package__, '.deprecated.config'), + 'parse_obj_as': (__package__, '.deprecated.tools'), + 'schema_of': (__package__, '.deprecated.tools'), + 'schema_json_of': (__package__, '.deprecated.tools'), + # FieldValidationInfo is deprecated, and hidden behind module a `__getattr__` 'FieldValidationInfo': ('pydantic_core', '.core_schema'), - 'GenerateSchema': (__spec__.parent, '._internal._generate_schema'), } -_deprecated_dynamic_imports = {'FieldValidationInfo', 'GenerateSchema'} _getattr_migration = getattr_migration(__name__) def __getattr__(attr_name: str) -> object: - if attr_name in _deprecated_dynamic_imports: - warn( - f'Importing {attr_name} from `pydantic` is deprecated. This feature is either no longer supported, or is not public.', - DeprecationWarning, - stacklevel=2, - ) - dynamic_attr = _dynamic_imports.get(attr_name) if dynamic_attr is None: return _getattr_migration(attr_name) package, module_name = dynamic_attr - if module_name == '__module__': - result = import_module(f'.{attr_name}', package=package) - globals()[attr_name] = result - return result - else: - module = import_module(module_name, package=package) - result = getattr(module, attr_name) - g = globals() - for k, (_, v_module_name) in _dynamic_imports.items(): - if v_module_name == module_name and k not in _deprecated_dynamic_imports: - g[k] = getattr(module, k) - return result + from importlib import import_module - -def __dir__() -> 'list[str]': - return list(__all__) + module = import_module(module_name, package=package) + return getattr(module, attr_name) diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_config.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_config.py index fe71264..61d3c30 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_config.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_config.py @@ -1,23 +1,25 @@ from __future__ import annotations as _annotations import warnings -from contextlib import contextmanager -from re import Pattern +from contextlib import contextmanager, nullcontext from typing import ( TYPE_CHECKING, Any, Callable, - Literal, + ContextManager, + Iterator, cast, ) from pydantic_core import core_schema -from typing_extensions import Self +from typing_extensions import ( + Literal, + Self, +) -from ..aliases import AliasGenerator -from ..config import ConfigDict, ExtraValues, JsonDict, JsonEncoder, JsonSchemaExtraCallable +from ..config import ConfigDict, ExtraValues, JsonEncoder, JsonSchemaExtraCallable from ..errors import PydanticUserError -from ..warnings import PydanticDeprecatedSince20, PydanticDeprecatedSince210 +from ..warnings import PydanticDeprecatedSince20 if not TYPE_CHECKING: # See PyCharm issues https://youtrack.jetbrains.com/issue/PY-21915 @@ -26,7 +28,6 @@ if not TYPE_CHECKING: if TYPE_CHECKING: from .._internal._schema_generation_shared import GenerateSchema - from ..fields import ComputedFieldInfo, FieldInfo DEPRECATION_MESSAGE = 'Support for class-based `config` is deprecated, use ConfigDict instead.' @@ -56,12 +57,10 @@ class ConfigWrapper: # whether to use the actual key provided in the data (e.g. alias or first alias for "field required" errors) instead of field_names # to construct error `loc`s, default `True` loc_by_alias: bool - alias_generator: Callable[[str], str] | AliasGenerator | None - model_title_generator: Callable[[type], str] | None - field_title_generator: Callable[[str, FieldInfo | ComputedFieldInfo], str] | None + alias_generator: Callable[[str], str] | None ignored_types: tuple[type, ...] allow_inf_nan: bool - json_schema_extra: JsonDict | JsonSchemaExtraCallable | None + json_schema_extra: dict[str, object] | JsonSchemaExtraCallable | None json_encoders: dict[type[object], JsonEncoder] | None # new in V2 @@ -69,13 +68,11 @@ class ConfigWrapper: # whether instances of models and dataclasses (including subclass instances) should re-validate, default 'never' revalidate_instances: Literal['always', 'never', 'subclass-instances'] ser_json_timedelta: Literal['iso8601', 'float'] - ser_json_bytes: Literal['utf8', 'base64', 'hex'] - val_json_bytes: Literal['utf8', 'base64', 'hex'] - ser_json_inf_nan: Literal['null', 'constants', 'strings'] + ser_json_bytes: Literal['utf8', 'base64'] # whether to validate default values during validation, default False validate_default: bool validate_return: bool - protected_namespaces: tuple[str | Pattern[str], ...] + protected_namespaces: tuple[str, ...] hide_input_in_errors: bool defer_build: bool plugin_settings: dict[str, object] | None @@ -83,13 +80,6 @@ class ConfigWrapper: json_schema_serialization_defaults_required: bool json_schema_mode_override: Literal['validation', 'serialization', None] coerce_numbers_to_str: bool - regex_engine: Literal['rust-regex', 'python-re'] - validation_error_cause: bool - use_attribute_docstrings: bool - cache_strings: bool | Literal['all', 'keys', 'none'] - validate_by_alias: bool - validate_by_name: bool - serialize_by_alias: bool def __init__(self, config: ConfigDict | dict[str, Any] | type[Any] | None, *, check: bool = True): if check: @@ -123,19 +113,13 @@ class ConfigWrapper: config_class_from_namespace = namespace.get('Config') config_dict_from_namespace = namespace.get('model_config') - raw_annotations = namespace.get('__annotations__', {}) - if raw_annotations.get('model_config') and config_dict_from_namespace is None: - raise PydanticUserError( - '`model_config` cannot be used as a model field name. Use `model_config` for model configuration.', - code='model-config-invalid-field-name', - ) - if config_class_from_namespace and config_dict_from_namespace: raise PydanticUserError('"Config" and "model_config" cannot be used together', code='config-both') config_from_namespace = config_dict_from_namespace or prepare_config(config_class_from_namespace) - config_new.update(config_from_namespace) + if config_from_namespace is not None: + config_new.update(config_from_namespace) for k in list(kwargs.keys()): if k in config_keys: @@ -144,7 +128,7 @@ class ConfigWrapper: return cls(config_new) # we don't show `__getattr__` to type checkers so missing attributes cause errors - if not TYPE_CHECKING: # pragma: no branch + if not TYPE_CHECKING: def __getattr__(self, name: str) -> Any: try: @@ -155,77 +139,46 @@ class ConfigWrapper: except KeyError: raise AttributeError(f'Config has no attribute {name!r}') from None - def core_config(self, title: str | None) -> core_schema.CoreConfig: - """Create a pydantic-core config. + def core_config(self, obj: Any) -> core_schema.CoreConfig: + """Create a pydantic-core config, `obj` is just used to populate `title` if not set in config. + + Pass `obj=None` if you do not want to attempt to infer the `title`. We don't use getattr here since we don't want to populate with defaults. Args: - title: The title to use if not set in config. + obj: An object used to populate `title` if not set in config. Returns: A `CoreConfig` object created from config. """ - config = self.config_dict - if config.get('schema_generator') is not None: - warnings.warn( - 'The `schema_generator` setting has been deprecated since v2.10. This setting no longer has any effect.', - PydanticDeprecatedSince210, - stacklevel=2, + def dict_not_none(**kwargs: Any) -> Any: + return {k: v for k, v in kwargs.items() if v is not None} + + core_config = core_schema.CoreConfig( + **dict_not_none( + title=self.config_dict.get('title') or (obj and obj.__name__), + extra_fields_behavior=self.config_dict.get('extra'), + allow_inf_nan=self.config_dict.get('allow_inf_nan'), + populate_by_name=self.config_dict.get('populate_by_name'), + str_strip_whitespace=self.config_dict.get('str_strip_whitespace'), + str_to_lower=self.config_dict.get('str_to_lower'), + str_to_upper=self.config_dict.get('str_to_upper'), + strict=self.config_dict.get('strict'), + ser_json_timedelta=self.config_dict.get('ser_json_timedelta'), + ser_json_bytes=self.config_dict.get('ser_json_bytes'), + from_attributes=self.config_dict.get('from_attributes'), + loc_by_alias=self.config_dict.get('loc_by_alias'), + revalidate_instances=self.config_dict.get('revalidate_instances'), + validate_default=self.config_dict.get('validate_default'), + str_max_length=self.config_dict.get('str_max_length'), + str_min_length=self.config_dict.get('str_min_length'), + hide_input_in_errors=self.config_dict.get('hide_input_in_errors'), + coerce_numbers_to_str=self.config_dict.get('coerce_numbers_to_str'), ) - - if (populate_by_name := config.get('populate_by_name')) is not None: - # We include this patch for backwards compatibility purposes, but this config setting will be deprecated in v3.0, and likely removed in v4.0. - # Thus, the above warning and this patch can be removed then as well. - if config.get('validate_by_name') is None: - config['validate_by_alias'] = True - config['validate_by_name'] = populate_by_name - - # We dynamically patch validate_by_name to be True if validate_by_alias is set to False - # and validate_by_name is not explicitly set. - if config.get('validate_by_alias') is False and config.get('validate_by_name') is None: - config['validate_by_name'] = True - - if (not config.get('validate_by_alias', True)) and (not config.get('validate_by_name', False)): - raise PydanticUserError( - 'At least one of `validate_by_alias` or `validate_by_name` must be set to True.', - code='validate-by-alias-and-name-false', - ) - - return core_schema.CoreConfig( - **{ # pyright: ignore[reportArgumentType] - k: v - for k, v in ( - ('title', config.get('title') or title or None), - ('extra_fields_behavior', config.get('extra')), - ('allow_inf_nan', config.get('allow_inf_nan')), - ('str_strip_whitespace', config.get('str_strip_whitespace')), - ('str_to_lower', config.get('str_to_lower')), - ('str_to_upper', config.get('str_to_upper')), - ('strict', config.get('strict')), - ('ser_json_timedelta', config.get('ser_json_timedelta')), - ('ser_json_bytes', config.get('ser_json_bytes')), - ('val_json_bytes', config.get('val_json_bytes')), - ('ser_json_inf_nan', config.get('ser_json_inf_nan')), - ('from_attributes', config.get('from_attributes')), - ('loc_by_alias', config.get('loc_by_alias')), - ('revalidate_instances', config.get('revalidate_instances')), - ('validate_default', config.get('validate_default')), - ('str_max_length', config.get('str_max_length')), - ('str_min_length', config.get('str_min_length')), - ('hide_input_in_errors', config.get('hide_input_in_errors')), - ('coerce_numbers_to_str', config.get('coerce_numbers_to_str')), - ('regex_engine', config.get('regex_engine')), - ('validation_error_cause', config.get('validation_error_cause')), - ('cache_strings', config.get('cache_strings')), - ('validate_by_alias', config.get('validate_by_alias')), - ('validate_by_name', config.get('validate_by_name')), - ('serialize_by_alias', config.get('serialize_by_alias')), - ) - if v is not None - } ) + return core_config def __repr__(self): c = ', '.join(f'{k}={v!r}' for k, v in self.config_dict.items()) @@ -242,20 +195,22 @@ class ConfigWrapperStack: def tail(self) -> ConfigWrapper: return self._config_wrapper_stack[-1] - @contextmanager - def push(self, config_wrapper: ConfigWrapper | ConfigDict | None): + def push(self, config_wrapper: ConfigWrapper | ConfigDict | None) -> ContextManager[None]: if config_wrapper is None: - yield - return + return nullcontext() if not isinstance(config_wrapper, ConfigWrapper): config_wrapper = ConfigWrapper(config_wrapper, check=False) - self._config_wrapper_stack.append(config_wrapper) - try: - yield - finally: - self._config_wrapper_stack.pop() + @contextmanager + def _context_manager() -> Iterator[None]: + self._config_wrapper_stack.append(config_wrapper) + try: + yield + finally: + self._config_wrapper_stack.pop() + + return _context_manager() config_defaults = ConfigDict( @@ -275,8 +230,6 @@ config_defaults = ConfigDict( from_attributes=False, loc_by_alias=True, alias_generator=None, - model_title_generator=None, - field_title_generator=None, ignored_types=(), allow_inf_nan=True, json_schema_extra=None, @@ -284,26 +237,17 @@ config_defaults = ConfigDict( revalidate_instances='never', ser_json_timedelta='iso8601', ser_json_bytes='utf8', - val_json_bytes='utf8', - ser_json_inf_nan='null', validate_default=False, validate_return=False, - protected_namespaces=('model_validate', 'model_dump'), + protected_namespaces=('model_',), hide_input_in_errors=False, json_encoders=None, defer_build=False, - schema_generator=None, plugin_settings=None, + schema_generator=None, json_schema_serialization_defaults_required=False, json_schema_mode_override=None, coerce_numbers_to_str=False, - regex_engine='rust-regex', - validation_error_cause=False, - use_attribute_docstrings=False, - cache_strings=True, - validate_by_alias=True, - validate_by_name=False, - serialize_by_alias=False, ) @@ -344,7 +288,7 @@ V2_REMOVED_KEYS = { 'post_init_call', } V2_RENAMED_KEYS = { - 'allow_population_by_field_name': 'validate_by_name', + 'allow_population_by_field_name': 'populate_by_name', 'anystr_lower': 'str_to_lower', 'anystr_strip_whitespace': 'str_strip_whitespace', 'anystr_upper': 'str_to_upper', diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_core_metadata.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_core_metadata.py index 9f2510c..296d49f 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_core_metadata.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_core_metadata.py @@ -1,97 +1,92 @@ from __future__ import annotations as _annotations -from typing import TYPE_CHECKING, Any, TypedDict, cast -from warnings import warn +import typing +from typing import Any -if TYPE_CHECKING: - from ..config import JsonDict, JsonSchemaExtraCallable +import typing_extensions + +if typing.TYPE_CHECKING: + from ._schema_generation_shared import ( + CoreSchemaOrField as CoreSchemaOrField, + ) from ._schema_generation_shared import ( GetJsonSchemaFunction, ) -class CoreMetadata(TypedDict, total=False): +class CoreMetadata(typing_extensions.TypedDict, total=False): """A `TypedDict` for holding the metadata dict of the schema. Attributes: - pydantic_js_functions: List of JSON schema functions that resolve refs during application. - pydantic_js_annotation_functions: List of JSON schema functions that don't resolve refs during application. + pydantic_js_functions: List of JSON schema functions. pydantic_js_prefer_positional_arguments: Whether JSON schema generator will prefer positional over keyword arguments for an 'arguments' schema. - custom validation function. Only applies to before, plain, and wrap validators. - pydantic_js_updates: key / value pair updates to apply to the JSON schema for a type. - pydantic_js_extra: WIP, either key/value pair updates to apply to the JSON schema, or a custom callable. - pydantic_internal_union_tag_key: Used internally by the `Tag` metadata to specify the tag used for a discriminated union. - pydantic_internal_union_discriminator: Used internally to specify the discriminator value for a discriminated union - when the discriminator was applied to a `'definition-ref'` schema, and that reference was missing at the time - of the annotation application. - - TODO: Perhaps we should move this structure to pydantic-core. At the moment, though, - it's easier to iterate on if we leave it in pydantic until we feel there is a semi-stable API. - - TODO: It's unfortunate how functionally oriented JSON schema generation is, especially that which occurs during - the core schema generation process. It's inevitable that we need to store some json schema related information - on core schemas, given that we generate JSON schemas directly from core schemas. That being said, debugging related - issues is quite difficult when JSON schema information is disguised via dynamically defined functions. """ pydantic_js_functions: list[GetJsonSchemaFunction] pydantic_js_annotation_functions: list[GetJsonSchemaFunction] - pydantic_js_prefer_positional_arguments: bool - pydantic_js_updates: JsonDict - pydantic_js_extra: JsonDict | JsonSchemaExtraCallable - pydantic_internal_union_tag_key: str - pydantic_internal_union_discriminator: str + + # If `pydantic_js_prefer_positional_arguments` is True, the JSON schema generator will + # prefer positional over keyword arguments for an 'arguments' schema. + pydantic_js_prefer_positional_arguments: bool | None + + pydantic_typed_dict_cls: type[Any] | None # TODO: Consider moving this into the pydantic-core TypedDictSchema -def update_core_metadata( - core_metadata: Any, - /, - *, - pydantic_js_functions: list[GetJsonSchemaFunction] | None = None, - pydantic_js_annotation_functions: list[GetJsonSchemaFunction] | None = None, - pydantic_js_updates: JsonDict | None = None, - pydantic_js_extra: JsonDict | JsonSchemaExtraCallable | None = None, -) -> None: - from ..json_schema import PydanticJsonSchemaWarning +class CoreMetadataHandler: + """Because the metadata field in pydantic_core is of type `Any`, we can't assume much about its contents. - """Update CoreMetadata instance in place. When we make modifications in this function, they - take effect on the `core_metadata` reference passed in as the first (and only) positional argument. - - First, cast to `CoreMetadata`, then finish with a cast to `dict[str, Any]` for core schema compatibility. - We do this here, instead of before / after each call to this function so that this typing hack - can be easily removed if/when we move `CoreMetadata` to `pydantic-core`. - - For parameter descriptions, see `CoreMetadata` above. + This class is used to interact with the metadata field on a CoreSchema object in a consistent + way throughout pydantic. """ - core_metadata = cast(CoreMetadata, core_metadata) - if pydantic_js_functions: - core_metadata.setdefault('pydantic_js_functions', []).extend(pydantic_js_functions) + __slots__ = ('_schema',) - if pydantic_js_annotation_functions: - core_metadata.setdefault('pydantic_js_annotation_functions', []).extend(pydantic_js_annotation_functions) + def __init__(self, schema: CoreSchemaOrField): + self._schema = schema - if pydantic_js_updates: - if (existing_updates := core_metadata.get('pydantic_js_updates')) is not None: - core_metadata['pydantic_js_updates'] = {**existing_updates, **pydantic_js_updates} - else: - core_metadata['pydantic_js_updates'] = pydantic_js_updates + metadata = schema.get('metadata') + if metadata is None: + schema['metadata'] = CoreMetadata() + elif not isinstance(metadata, dict): + raise TypeError(f'CoreSchema metadata should be a dict; got {metadata!r}.') - if pydantic_js_extra is not None: - existing_pydantic_js_extra = core_metadata.get('pydantic_js_extra') - if existing_pydantic_js_extra is None: - core_metadata['pydantic_js_extra'] = pydantic_js_extra - if isinstance(existing_pydantic_js_extra, dict): - if isinstance(pydantic_js_extra, dict): - core_metadata['pydantic_js_extra'] = {**existing_pydantic_js_extra, **pydantic_js_extra} - if callable(pydantic_js_extra): - warn( - 'Composing `dict` and `callable` type `json_schema_extra` is not supported.' - 'The `callable` type is being ignored.' - "If you'd like support for this behavior, please open an issue on pydantic.", - PydanticJsonSchemaWarning, - ) - if callable(existing_pydantic_js_extra): - # if ever there's a case of a callable, we'll just keep the last json schema extra spec - core_metadata['pydantic_js_extra'] = pydantic_js_extra + @property + def metadata(self) -> CoreMetadata: + """Retrieves the metadata dict from the schema, initializing it to a dict if it is None + and raises an error if it is not a dict. + """ + metadata = self._schema.get('metadata') + if metadata is None: + self._schema['metadata'] = metadata = CoreMetadata() + if not isinstance(metadata, dict): + raise TypeError(f'CoreSchema metadata should be a dict; got {metadata!r}.') + return metadata + + +def build_metadata_dict( + *, # force keyword arguments to make it easier to modify this signature in a backwards-compatible way + js_functions: list[GetJsonSchemaFunction] | None = None, + js_annotation_functions: list[GetJsonSchemaFunction] | None = None, + js_prefer_positional_arguments: bool | None = None, + typed_dict_cls: type[Any] | None = None, + initial_metadata: Any | None = None, +) -> Any: + """Builds a dict to use as the metadata field of a CoreSchema object in a manner that is consistent + with the CoreMetadataHandler class. + """ + if initial_metadata is not None and not isinstance(initial_metadata, dict): + raise TypeError(f'CoreSchema metadata should be a dict; got {initial_metadata!r}.') + + metadata = CoreMetadata( + pydantic_js_functions=js_functions or [], + pydantic_js_annotation_functions=js_annotation_functions or [], + pydantic_js_prefer_positional_arguments=js_prefer_positional_arguments, + pydantic_typed_dict_cls=typed_dict_cls, + ) + metadata = {k: v for k, v in metadata.items() if v is not None} + + if initial_metadata is not None: + metadata = {**initial_metadata, **metadata} + + return metadata diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_core_utils.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_core_utils.py index cf8cf7c..ebf12ec 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_core_utils.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_core_utils.py @@ -1,20 +1,22 @@ from __future__ import annotations -import inspect import os -from collections.abc import Mapping, Sequence -from typing import TYPE_CHECKING, Any, Union +from collections import defaultdict +from typing import ( + Any, + Callable, + Hashable, + TypeVar, + Union, + _GenericAlias, # type: ignore + cast, +) from pydantic_core import CoreSchema, core_schema from pydantic_core import validate_core_schema as _validate_core_schema -from typing_extensions import TypeGuard, get_args, get_origin -from typing_inspection import typing_objects +from typing_extensions import TypeAliasType, TypeGuard, get_args from . import _repr -from ._typing_extra import is_generic_alias - -if TYPE_CHECKING: - from rich.console import Console AnyFunctionSchema = Union[ core_schema.AfterValidatorFunctionSchema, @@ -37,7 +39,19 @@ CoreSchemaOrField = Union[core_schema.CoreSchema, CoreSchemaField] _CORE_SCHEMA_FIELD_TYPES = {'typed-dict-field', 'dataclass-field', 'model-field', 'computed-field'} _FUNCTION_WITH_INNER_SCHEMA_TYPES = {'function-before', 'function-after', 'function-wrap'} -_LIST_LIKE_SCHEMA_WITH_ITEMS_TYPES = {'list', 'set', 'frozenset'} +_LIST_LIKE_SCHEMA_WITH_ITEMS_TYPES = {'list', 'tuple-variable', 'set', 'frozenset'} + +_DEFINITIONS_CACHE_METADATA_KEY = 'pydantic.definitions_cache' + +NEEDS_APPLY_DISCRIMINATED_UNION_METADATA_KEY = 'pydantic.internal.needs_apply_discriminated_union' +"""Used to mark a schema that has a discriminated union that needs to be checked for validity at the end of +schema building because one of it's members refers to a definition that was not yet defined when the union +was first encountered. +""" +HAS_INVALID_SCHEMAS_METADATA_KEY = 'pydantic.internal.invalid' +"""Used to mark a schema that is invalid because it refers to a definition that was not yet defined when the +schema was first encountered. +""" def is_core_schema( @@ -60,27 +74,28 @@ def is_function_with_inner_schema( def is_list_like_schema_with_items_schema( schema: CoreSchema, -) -> TypeGuard[core_schema.ListSchema | core_schema.SetSchema | core_schema.FrozenSetSchema]: +) -> TypeGuard[ + core_schema.ListSchema | core_schema.TupleVariableSchema | core_schema.SetSchema | core_schema.FrozenSetSchema +]: return schema['type'] in _LIST_LIKE_SCHEMA_WITH_ITEMS_TYPES -def get_type_ref(type_: Any, args_override: tuple[type[Any], ...] | None = None) -> str: +def get_type_ref(type_: type[Any], args_override: tuple[type[Any], ...] | None = None) -> str: """Produces the ref to be used for this type by pydantic_core's core schemas. This `args_override` argument was added for the purpose of creating valid recursive references when creating generic models without needing to create a concrete class. """ - origin = get_origin(type_) or type_ - - args = get_args(type_) if is_generic_alias(type_) else (args_override or ()) + origin = type_ + args = get_args(type_) if isinstance(type_, _GenericAlias) else (args_override or ()) generic_metadata = getattr(type_, '__pydantic_generic_metadata__', None) if generic_metadata: origin = generic_metadata['origin'] or origin args = generic_metadata['args'] or args module_name = getattr(origin, '__module__', '') - if typing_objects.is_typealiastype(origin): - type_ref = f'{module_name}.{origin.__name__}:{id(origin)}' + if isinstance(origin, TypeAliasType): + type_ref = f'{module_name}.{origin.__name__}' else: try: qualname = getattr(origin, '__qualname__', f'') @@ -109,74 +124,457 @@ def get_ref(s: core_schema.CoreSchema) -> None | str: return s.get('ref', None) -def validate_core_schema(schema: CoreSchema) -> CoreSchema: - if os.getenv('PYDANTIC_VALIDATE_CORE_SCHEMAS'): - return _validate_core_schema(schema) +def collect_definitions(schema: core_schema.CoreSchema) -> dict[str, core_schema.CoreSchema]: + defs: dict[str, CoreSchema] = {} + + def _record_valid_refs(s: core_schema.CoreSchema, recurse: Recurse) -> core_schema.CoreSchema: + ref = get_ref(s) + if ref: + defs[ref] = s + return recurse(s, _record_valid_refs) + + walk_core_schema(schema, _record_valid_refs) + + return defs + + +def define_expected_missing_refs( + schema: core_schema.CoreSchema, allowed_missing_refs: set[str] +) -> core_schema.CoreSchema | None: + if not allowed_missing_refs: + # in this case, there are no missing refs to potentially substitute, so there's no need to walk the schema + # this is a common case (will be hit for all non-generic models), so it's worth optimizing for + return None + + refs = collect_definitions(schema).keys() + + expected_missing_refs = allowed_missing_refs.difference(refs) + if expected_missing_refs: + definitions: list[core_schema.CoreSchema] = [ + # TODO: Replace this with a (new) CoreSchema that, if present at any level, makes validation fail + # Issue: https://github.com/pydantic/pydantic-core/issues/619 + core_schema.none_schema(ref=ref, metadata={HAS_INVALID_SCHEMAS_METADATA_KEY: True}) + for ref in expected_missing_refs + ] + return core_schema.definitions_schema(schema, definitions) + return None + + +def collect_invalid_schemas(schema: core_schema.CoreSchema) -> bool: + invalid = False + + def _is_schema_valid(s: core_schema.CoreSchema, recurse: Recurse) -> core_schema.CoreSchema: + nonlocal invalid + if 'metadata' in s: + metadata = s['metadata'] + if HAS_INVALID_SCHEMAS_METADATA_KEY in metadata: + invalid = metadata[HAS_INVALID_SCHEMAS_METADATA_KEY] + return s + return recurse(s, _is_schema_valid) + + walk_core_schema(schema, _is_schema_valid) + return invalid + + +T = TypeVar('T') + + +Recurse = Callable[[core_schema.CoreSchema, 'Walk'], core_schema.CoreSchema] +Walk = Callable[[core_schema.CoreSchema, Recurse], core_schema.CoreSchema] + +# TODO: Should we move _WalkCoreSchema into pydantic_core proper? +# Issue: https://github.com/pydantic/pydantic-core/issues/615 + + +class _WalkCoreSchema: + def __init__(self): + self._schema_type_to_method = self._build_schema_type_to_method() + + def _build_schema_type_to_method(self) -> dict[core_schema.CoreSchemaType, Recurse]: + mapping: dict[core_schema.CoreSchemaType, Recurse] = {} + key: core_schema.CoreSchemaType + for key in get_args(core_schema.CoreSchemaType): + method_name = f"handle_{key.replace('-', '_')}_schema" + mapping[key] = getattr(self, method_name, self._handle_other_schemas) + return mapping + + def walk(self, schema: core_schema.CoreSchema, f: Walk) -> core_schema.CoreSchema: + return f(schema, self._walk) + + def _walk(self, schema: core_schema.CoreSchema, f: Walk) -> core_schema.CoreSchema: + schema = self._schema_type_to_method[schema['type']](schema.copy(), f) + ser_schema: core_schema.SerSchema | None = schema.get('serialization') # type: ignore + if ser_schema: + schema['serialization'] = self._handle_ser_schemas(ser_schema, f) + return schema + + def _handle_other_schemas(self, schema: core_schema.CoreSchema, f: Walk) -> core_schema.CoreSchema: + sub_schema = schema.get('schema', None) + if sub_schema is not None: + schema['schema'] = self.walk(sub_schema, f) # type: ignore + return schema + + def _handle_ser_schemas(self, ser_schema: core_schema.SerSchema, f: Walk) -> core_schema.SerSchema: + schema: core_schema.CoreSchema | None = ser_schema.get('schema', None) + if schema is not None: + ser_schema['schema'] = self.walk(schema, f) # type: ignore + return_schema: core_schema.CoreSchema | None = ser_schema.get('return_schema', None) + if return_schema is not None: + ser_schema['return_schema'] = self.walk(return_schema, f) # type: ignore + return ser_schema + + def handle_definitions_schema(self, schema: core_schema.DefinitionsSchema, f: Walk) -> core_schema.CoreSchema: + new_definitions: list[core_schema.CoreSchema] = [] + for definition in schema['definitions']: + updated_definition = self.walk(definition, f) + if 'ref' in updated_definition: + # If the updated definition schema doesn't have a 'ref', it shouldn't go in the definitions + # This is most likely to happen due to replacing something with a definition reference, in + # which case it should certainly not go in the definitions list + new_definitions.append(updated_definition) + new_inner_schema = self.walk(schema['schema'], f) + + if not new_definitions and len(schema) == 3: + # This means we'd be returning a "trivial" definitions schema that just wrapped the inner schema + return new_inner_schema + + new_schema = schema.copy() + new_schema['schema'] = new_inner_schema + new_schema['definitions'] = new_definitions + return new_schema + + def handle_list_schema(self, schema: core_schema.ListSchema, f: Walk) -> core_schema.CoreSchema: + items_schema = schema.get('items_schema') + if items_schema is not None: + schema['items_schema'] = self.walk(items_schema, f) + return schema + + def handle_set_schema(self, schema: core_schema.SetSchema, f: Walk) -> core_schema.CoreSchema: + items_schema = schema.get('items_schema') + if items_schema is not None: + schema['items_schema'] = self.walk(items_schema, f) + return schema + + def handle_frozenset_schema(self, schema: core_schema.FrozenSetSchema, f: Walk) -> core_schema.CoreSchema: + items_schema = schema.get('items_schema') + if items_schema is not None: + schema['items_schema'] = self.walk(items_schema, f) + return schema + + def handle_generator_schema(self, schema: core_schema.GeneratorSchema, f: Walk) -> core_schema.CoreSchema: + items_schema = schema.get('items_schema') + if items_schema is not None: + schema['items_schema'] = self.walk(items_schema, f) + return schema + + def handle_tuple_variable_schema( + self, schema: core_schema.TupleVariableSchema | core_schema.TuplePositionalSchema, f: Walk + ) -> core_schema.CoreSchema: + schema = cast(core_schema.TupleVariableSchema, schema) + items_schema = schema.get('items_schema') + if items_schema is not None: + schema['items_schema'] = self.walk(items_schema, f) + return schema + + def handle_tuple_positional_schema( + self, schema: core_schema.TupleVariableSchema | core_schema.TuplePositionalSchema, f: Walk + ) -> core_schema.CoreSchema: + schema = cast(core_schema.TuplePositionalSchema, schema) + schema['items_schema'] = [self.walk(v, f) for v in schema['items_schema']] + extras_schema = schema.get('extras_schema') + if extras_schema is not None: + schema['extras_schema'] = self.walk(extras_schema, f) + return schema + + def handle_dict_schema(self, schema: core_schema.DictSchema, f: Walk) -> core_schema.CoreSchema: + keys_schema = schema.get('keys_schema') + if keys_schema is not None: + schema['keys_schema'] = self.walk(keys_schema, f) + values_schema = schema.get('values_schema') + if values_schema: + schema['values_schema'] = self.walk(values_schema, f) + return schema + + def handle_function_schema(self, schema: AnyFunctionSchema, f: Walk) -> core_schema.CoreSchema: + if not is_function_with_inner_schema(schema): + return schema + schema['schema'] = self.walk(schema['schema'], f) + return schema + + def handle_union_schema(self, schema: core_schema.UnionSchema, f: Walk) -> core_schema.CoreSchema: + new_choices: list[CoreSchema | tuple[CoreSchema, str]] = [] + for v in schema['choices']: + if isinstance(v, tuple): + new_choices.append((self.walk(v[0], f), v[1])) + else: + new_choices.append(self.walk(v, f)) + schema['choices'] = new_choices + return schema + + def handle_tagged_union_schema(self, schema: core_schema.TaggedUnionSchema, f: Walk) -> core_schema.CoreSchema: + new_choices: dict[Hashable, core_schema.CoreSchema] = {} + for k, v in schema['choices'].items(): + new_choices[k] = v if isinstance(v, (str, int)) else self.walk(v, f) + schema['choices'] = new_choices + return schema + + def handle_chain_schema(self, schema: core_schema.ChainSchema, f: Walk) -> core_schema.CoreSchema: + schema['steps'] = [self.walk(v, f) for v in schema['steps']] + return schema + + def handle_lax_or_strict_schema(self, schema: core_schema.LaxOrStrictSchema, f: Walk) -> core_schema.CoreSchema: + schema['lax_schema'] = self.walk(schema['lax_schema'], f) + schema['strict_schema'] = self.walk(schema['strict_schema'], f) + return schema + + def handle_json_or_python_schema(self, schema: core_schema.JsonOrPythonSchema, f: Walk) -> core_schema.CoreSchema: + schema['json_schema'] = self.walk(schema['json_schema'], f) + schema['python_schema'] = self.walk(schema['python_schema'], f) + return schema + + def handle_model_fields_schema(self, schema: core_schema.ModelFieldsSchema, f: Walk) -> core_schema.CoreSchema: + extras_schema = schema.get('extras_schema') + if extras_schema is not None: + schema['extras_schema'] = self.walk(extras_schema, f) + replaced_fields: dict[str, core_schema.ModelField] = {} + replaced_computed_fields: list[core_schema.ComputedField] = [] + for computed_field in schema.get('computed_fields', ()): + replaced_field = computed_field.copy() + replaced_field['return_schema'] = self.walk(computed_field['return_schema'], f) + replaced_computed_fields.append(replaced_field) + if replaced_computed_fields: + schema['computed_fields'] = replaced_computed_fields + for k, v in schema['fields'].items(): + replaced_field = v.copy() + replaced_field['schema'] = self.walk(v['schema'], f) + replaced_fields[k] = replaced_field + schema['fields'] = replaced_fields + return schema + + def handle_typed_dict_schema(self, schema: core_schema.TypedDictSchema, f: Walk) -> core_schema.CoreSchema: + extras_schema = schema.get('extras_schema') + if extras_schema is not None: + schema['extras_schema'] = self.walk(extras_schema, f) + replaced_computed_fields: list[core_schema.ComputedField] = [] + for computed_field in schema.get('computed_fields', ()): + replaced_field = computed_field.copy() + replaced_field['return_schema'] = self.walk(computed_field['return_schema'], f) + replaced_computed_fields.append(replaced_field) + if replaced_computed_fields: + schema['computed_fields'] = replaced_computed_fields + replaced_fields: dict[str, core_schema.TypedDictField] = {} + for k, v in schema['fields'].items(): + replaced_field = v.copy() + replaced_field['schema'] = self.walk(v['schema'], f) + replaced_fields[k] = replaced_field + schema['fields'] = replaced_fields + return schema + + def handle_dataclass_args_schema(self, schema: core_schema.DataclassArgsSchema, f: Walk) -> core_schema.CoreSchema: + replaced_fields: list[core_schema.DataclassField] = [] + replaced_computed_fields: list[core_schema.ComputedField] = [] + for computed_field in schema.get('computed_fields', ()): + replaced_field = computed_field.copy() + replaced_field['return_schema'] = self.walk(computed_field['return_schema'], f) + replaced_computed_fields.append(replaced_field) + if replaced_computed_fields: + schema['computed_fields'] = replaced_computed_fields + for field in schema['fields']: + replaced_field = field.copy() + replaced_field['schema'] = self.walk(field['schema'], f) + replaced_fields.append(replaced_field) + schema['fields'] = replaced_fields + return schema + + def handle_arguments_schema(self, schema: core_schema.ArgumentsSchema, f: Walk) -> core_schema.CoreSchema: + replaced_arguments_schema: list[core_schema.ArgumentsParameter] = [] + for param in schema['arguments_schema']: + replaced_param = param.copy() + replaced_param['schema'] = self.walk(param['schema'], f) + replaced_arguments_schema.append(replaced_param) + schema['arguments_schema'] = replaced_arguments_schema + if 'var_args_schema' in schema: + schema['var_args_schema'] = self.walk(schema['var_args_schema'], f) + if 'var_kwargs_schema' in schema: + schema['var_kwargs_schema'] = self.walk(schema['var_kwargs_schema'], f) + return schema + + def handle_call_schema(self, schema: core_schema.CallSchema, f: Walk) -> core_schema.CoreSchema: + schema['arguments_schema'] = self.walk(schema['arguments_schema'], f) + if 'return_schema' in schema: + schema['return_schema'] = self.walk(schema['return_schema'], f) + return schema + + +_dispatch = _WalkCoreSchema().walk + + +def walk_core_schema(schema: core_schema.CoreSchema, f: Walk) -> core_schema.CoreSchema: + """Recursively traverse a CoreSchema. + + Args: + schema (core_schema.CoreSchema): The CoreSchema to process, it will not be modified. + f (Walk): A function to apply. This function takes two arguments: + 1. The current CoreSchema that is being processed + (not the same one you passed into this function, one level down). + 2. The "next" `f` to call. This lets you for example use `f=functools.partial(some_method, some_context)` + to pass data down the recursive calls without using globals or other mutable state. + + Returns: + core_schema.CoreSchema: A processed CoreSchema. + """ + return f(schema.copy(), _dispatch) + + +def simplify_schema_references(schema: core_schema.CoreSchema) -> core_schema.CoreSchema: # noqa: C901 + definitions: dict[str, core_schema.CoreSchema] = {} + ref_counts: dict[str, int] = defaultdict(int) + involved_in_recursion: dict[str, bool] = {} + current_recursion_ref_count: dict[str, int] = defaultdict(int) + + def collect_refs(s: core_schema.CoreSchema, recurse: Recurse) -> core_schema.CoreSchema: + if s['type'] == 'definitions': + for definition in s['definitions']: + ref = get_ref(definition) + assert ref is not None + if ref not in definitions: + definitions[ref] = definition + recurse(definition, collect_refs) + return recurse(s['schema'], collect_refs) + else: + ref = get_ref(s) + if ref is not None: + new = recurse(s, collect_refs) + new_ref = get_ref(new) + if new_ref: + definitions[new_ref] = new + return core_schema.definition_reference_schema(schema_ref=ref) + else: + return recurse(s, collect_refs) + + schema = walk_core_schema(schema, collect_refs) + + def count_refs(s: core_schema.CoreSchema, recurse: Recurse) -> core_schema.CoreSchema: + if s['type'] != 'definition-ref': + return recurse(s, count_refs) + ref = s['schema_ref'] + ref_counts[ref] += 1 + + if ref_counts[ref] >= 2: + # If this model is involved in a recursion this should be detected + # on its second encounter, we can safely stop the walk here. + if current_recursion_ref_count[ref] != 0: + involved_in_recursion[ref] = True + return s + + current_recursion_ref_count[ref] += 1 + recurse(definitions[ref], count_refs) + current_recursion_ref_count[ref] -= 1 + return s + + schema = walk_core_schema(schema, count_refs) + + assert all(c == 0 for c in current_recursion_ref_count.values()), 'this is a bug! please report it' + + def can_be_inlined(s: core_schema.DefinitionReferenceSchema, ref: str) -> bool: + if ref_counts[ref] > 1: + return False + if involved_in_recursion.get(ref, False): + return False + if 'serialization' in s: + return False + if 'metadata' in s: + metadata = s['metadata'] + for k in ( + 'pydantic_js_functions', + 'pydantic_js_annotation_functions', + 'pydantic.internal.union_discriminator', + ): + if k in metadata: + # we need to keep this as a ref + return False + return True + + def inline_refs(s: core_schema.CoreSchema, recurse: Recurse) -> core_schema.CoreSchema: + if s['type'] == 'definition-ref': + ref = s['schema_ref'] + # Check if the reference is only used once, not involved in recursion and does not have + # any extra keys (like 'serialization') + if can_be_inlined(s, ref): + # Inline the reference by replacing the reference with the actual schema + new = definitions.pop(ref) + ref_counts[ref] -= 1 # because we just replaced it! + # put all other keys that were on the def-ref schema into the inlined version + # in particular this is needed for `serialization` + if 'serialization' in s: + new['serialization'] = s['serialization'] + s = recurse(new, inline_refs) + return s + else: + return recurse(s, inline_refs) + else: + return recurse(s, inline_refs) + + schema = walk_core_schema(schema, inline_refs) + + def_values = [v for v in definitions.values() if ref_counts[v['ref']] > 0] # type: ignore + + if def_values: + schema = core_schema.definitions_schema(schema=schema, definitions=def_values) return schema -def _clean_schema_for_pretty_print(obj: Any, strip_metadata: bool = True) -> Any: # pragma: no cover - """A utility function to remove irrelevant information from a core schema.""" - if isinstance(obj, Mapping): - new_dct = {} - for k, v in obj.items(): - if k == 'metadata' and strip_metadata: - new_metadata = {} - - for meta_k, meta_v in v.items(): - if meta_k in ('pydantic_js_functions', 'pydantic_js_annotation_functions'): - new_metadata['js_metadata'] = '' - else: - new_metadata[meta_k] = _clean_schema_for_pretty_print(meta_v, strip_metadata=strip_metadata) - - if list(new_metadata.keys()) == ['js_metadata']: - new_metadata = {''} - - new_dct[k] = new_metadata - # Remove some defaults: - elif k in ('custom_init', 'root_model') and not v: - continue +def _strip_metadata(schema: CoreSchema) -> CoreSchema: + def strip_metadata(s: CoreSchema, recurse: Recurse) -> CoreSchema: + s = s.copy() + s.pop('metadata', None) + if s['type'] == 'model-fields': + s = s.copy() + s['fields'] = {k: v.copy() for k, v in s['fields'].items()} + for field_name, field_schema in s['fields'].items(): + field_schema.pop('metadata', None) + s['fields'][field_name] = field_schema + computed_fields = s.get('computed_fields', None) + if computed_fields: + s['computed_fields'] = [cf.copy() for cf in computed_fields] + for cf in computed_fields: + cf.pop('metadata', None) else: - new_dct[k] = _clean_schema_for_pretty_print(v, strip_metadata=strip_metadata) + s.pop('computed_fields', None) + elif s['type'] == 'model': + # remove some defaults + if s.get('custom_init', True) is False: + s.pop('custom_init') + if s.get('root_model', True) is False: + s.pop('root_model') + if {'title'}.issuperset(s.get('config', {}).keys()): + s.pop('config', None) - return new_dct - elif isinstance(obj, Sequence) and not isinstance(obj, str): - return [_clean_schema_for_pretty_print(v, strip_metadata=strip_metadata) for v in obj] - else: - return obj + return recurse(s, strip_metadata) + + return walk_core_schema(schema, strip_metadata) def pretty_print_core_schema( - val: Any, - *, - console: Console | None = None, - max_depth: int | None = None, - strip_metadata: bool = True, -) -> None: # pragma: no cover - """Pretty-print a core schema using the `rich` library. + schema: CoreSchema, + include_metadata: bool = False, +) -> None: + """Pretty print a CoreSchema using rich. + This is intended for debugging purposes. Args: - val: The core schema to print, or a Pydantic model/dataclass/type adapter - (in which case the cached core schema is fetched and printed). - console: A rich console to use when printing. Defaults to the global rich console instance. - max_depth: The number of nesting levels which may be printed. - strip_metadata: Whether to strip metadata in the output. If `True` any known core metadata - attributes will be stripped (but custom attributes are kept). Defaults to `True`. + schema: The CoreSchema to print. + include_metadata: Whether to include metadata in the output. Defaults to `False`. """ - # lazy import: - from rich.pretty import pprint + from rich import print # type: ignore # install it manually in your dev env - # circ. imports: - from pydantic import BaseModel, TypeAdapter - from pydantic.dataclasses import is_pydantic_dataclass + if not include_metadata: + schema = _strip_metadata(schema) - if (inspect.isclass(val) and issubclass(val, BaseModel)) or is_pydantic_dataclass(val): - val = val.__pydantic_core_schema__ - if isinstance(val, TypeAdapter): - val = val.core_schema - cleaned_schema = _clean_schema_for_pretty_print(val, strip_metadata=strip_metadata) - - pprint(cleaned_schema, console=console, max_depth=max_depth) + return print(schema) -pps = pretty_print_core_schema +def validate_core_schema(schema: CoreSchema) -> CoreSchema: + if 'PYDANTIC_SKIP_VALIDATING_CORE_SCHEMAS' in os.environ: + return schema + return _validate_core_schema(schema) diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py index 03f156f..430e3a9 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_dataclasses.py @@ -1,15 +1,17 @@ """Private logic for creating pydantic dataclasses.""" - from __future__ import annotations as _annotations import dataclasses +import inspect import typing import warnings from functools import partial, wraps -from typing import Any, ClassVar +from inspect import Parameter, Signature, signature +from typing import Any, Callable, ClassVar from pydantic_core import ( ArgsKwargs, + PydanticUndefined, SchemaSerializer, SchemaValidator, core_schema, @@ -17,22 +19,28 @@ from pydantic_core import ( from typing_extensions import TypeGuard from ..errors import PydanticUndefinedAnnotation -from ..plugin._schema_validator import PluggableSchemaValidator, create_schema_validator +from ..fields import FieldInfo +from ..plugin._schema_validator import create_schema_validator from ..warnings import PydanticDeprecatedSince20 -from . import _config, _decorators +from . import _config, _decorators, _discriminated_union, _typing_extra +from ._core_utils import collect_invalid_schemas, simplify_schema_references, validate_core_schema from ._fields import collect_dataclass_fields -from ._generate_schema import GenerateSchema, InvalidSchemaError +from ._generate_schema import GenerateSchema from ._generics import get_standard_typevars_map -from ._mock_val_ser import set_dataclass_mocks -from ._namespace_utils import NsResolver -from ._signature import generate_pydantic_signature -from ._utils import LazyClassAttribute +from ._mock_val_ser import set_dataclass_mock_validator +from ._schema_generation_shared import CallbackGetCoreSchemaHandler +from ._utils import is_valid_identifier if typing.TYPE_CHECKING: - from _typeshed import DataclassInstance as StandardDataclass - from ..config import ConfigDict - from ..fields import FieldInfo + + class StandardDataclass(typing.Protocol): + __dataclass_fields__: ClassVar[dict[str, Any]] + __dataclass_params__: ClassVar[Any] # in reality `dataclasses._DataclassParams` + __post_init__: ClassVar[Callable[..., None]] + + def __init__(self, *args: object, **kwargs: object) -> None: + pass class PydanticDataclass(StandardDataclass, typing.Protocol): """A protocol containing attributes only available once a class has been decorated as a Pydantic dataclass. @@ -53,10 +61,7 @@ if typing.TYPE_CHECKING: __pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] __pydantic_fields__: ClassVar[dict[str, FieldInfo]] __pydantic_serializer__: ClassVar[SchemaSerializer] - __pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] - - @classmethod - def __pydantic_fields_complete__(cls) -> bool: ... + __pydantic_validator__: ClassVar[SchemaValidator] else: # See PyCharm issues https://youtrack.jetbrains.com/issue/PY-21915 @@ -64,22 +69,15 @@ else: DeprecationWarning = PydanticDeprecatedSince20 -def set_dataclass_fields( - cls: type[StandardDataclass], - ns_resolver: NsResolver | None = None, - config_wrapper: _config.ConfigWrapper | None = None, -) -> None: +def set_dataclass_fields(cls: type[StandardDataclass], types_namespace: dict[str, Any] | None = None) -> None: """Collect and set `cls.__pydantic_fields__`. Args: cls: The class. - ns_resolver: Namespace resolver to use when getting dataclass annotations. - config_wrapper: The config wrapper instance, defaults to `None`. + types_namespace: The types namespace, defaults to `None`. """ typevars_map = get_standard_typevars_map(cls) - fields = collect_dataclass_fields( - cls, ns_resolver=ns_resolver, typevars_map=typevars_map, config_wrapper=config_wrapper - ) + fields = collect_dataclass_fields(cls, types_namespace, typevars_map=typevars_map) cls.__pydantic_fields__ = fields # type: ignore @@ -89,8 +87,7 @@ def complete_dataclass( config_wrapper: _config.ConfigWrapper, *, raise_errors: bool = True, - ns_resolver: NsResolver | None = None, - _force_build: bool = False, + types_namespace: dict[str, Any] | None, ) -> bool: """Finish building a pydantic dataclass. @@ -102,10 +99,7 @@ def complete_dataclass( cls: The class. config_wrapper: The config wrapper instance. raise_errors: Whether to raise errors, defaults to `True`. - ns_resolver: The namespace resolver instance to use when collecting dataclass fields - and during schema building. - _force_build: Whether to force building the dataclass, no matter if - [`defer_build`][pydantic.config.ConfigDict.defer_build] is set. + types_namespace: The types namespace. Returns: `True` if building a pydantic dataclass is successfully completed, `False` otherwise. @@ -113,94 +107,136 @@ def complete_dataclass( Raises: PydanticUndefinedAnnotation: If `raise_error` is `True` and there is an undefined annotations. """ - original_init = cls.__init__ + if hasattr(cls, '__post_init_post_parse__'): + warnings.warn( + 'Support for `__post_init_post_parse__` has been dropped, the method will not be called', DeprecationWarning + ) + + if types_namespace is None: + types_namespace = _typing_extra.get_cls_types_namespace(cls) + + set_dataclass_fields(cls, types_namespace) + + typevars_map = get_standard_typevars_map(cls) + gen_schema = GenerateSchema( + config_wrapper, + types_namespace, + typevars_map, + ) + + # dataclass.__init__ must be defined here so its `__qualname__` can be changed since functions can't be copied. - # dataclass.__init__ must be defined here so its `__qualname__` can be changed since functions can't be copied, - # and so that the mock validator is used if building was deferred: def __init__(__dataclass_self__: PydanticDataclass, *args: Any, **kwargs: Any) -> None: __tracebackhide__ = True s = __dataclass_self__ s.__pydantic_validator__.validate_python(ArgsKwargs(args, kwargs), self_instance=s) __init__.__qualname__ = f'{cls.__qualname__}.__init__' - + sig = generate_dataclass_signature(cls) cls.__init__ = __init__ # type: ignore + cls.__signature__ = sig # type: ignore cls.__pydantic_config__ = config_wrapper.config_dict # type: ignore - set_dataclass_fields(cls, ns_resolver, config_wrapper=config_wrapper) - - if not _force_build and config_wrapper.defer_build: - set_dataclass_mocks(cls) - return False - - if hasattr(cls, '__post_init_post_parse__'): - warnings.warn( - 'Support for `__post_init_post_parse__` has been dropped, the method will not be called', DeprecationWarning - ) - - typevars_map = get_standard_typevars_map(cls) - gen_schema = GenerateSchema( - config_wrapper, - ns_resolver=ns_resolver, - typevars_map=typevars_map, - ) - - # set __signature__ attr only for the class, but not for its instances - # (because instances can define `__call__`, and `inspect.signature` shouldn't - # use the `__signature__` attribute and instead generate from `__call__`). - cls.__signature__ = LazyClassAttribute( - '__signature__', - partial( - generate_pydantic_signature, - # It's important that we reference the `original_init` here, - # as it is the one synthesized by the stdlib `dataclass` module: - init=original_init, - fields=cls.__pydantic_fields__, # type: ignore - validate_by_name=config_wrapper.validate_by_name, - extra=config_wrapper.extra, - is_dataclass=True, - ), - ) - + get_core_schema = getattr(cls, '__get_pydantic_core_schema__', None) try: - schema = gen_schema.generate_schema(cls) + if get_core_schema: + schema = get_core_schema( + cls, + CallbackGetCoreSchemaHandler( + partial(gen_schema.generate_schema, from_dunder_get_core_schema=False), + gen_schema, + ref_mode='unpack', + ), + ) + else: + schema = gen_schema.generate_schema(cls, from_dunder_get_core_schema=False) except PydanticUndefinedAnnotation as e: if raise_errors: raise - set_dataclass_mocks(cls, f'`{e.name}`') + set_dataclass_mock_validator(cls, cls.__name__, f'`{e.name}`') return False - core_config = config_wrapper.core_config(title=cls.__name__) + core_config = config_wrapper.core_config(cls) - try: - schema = gen_schema.clean_schema(schema) - except InvalidSchemaError: - set_dataclass_mocks(cls) + schema = gen_schema.collect_definitions(schema) + if collect_invalid_schemas(schema): + set_dataclass_mock_validator(cls, cls.__name__, 'all referenced types') return False + schema = _discriminated_union.apply_discriminators(simplify_schema_references(schema)) + # We are about to set all the remaining required properties expected for this cast; # __pydantic_decorators__ and __pydantic_fields__ should already be set cls = typing.cast('type[PydanticDataclass]', cls) # debug(schema) - cls.__pydantic_core_schema__ = schema + cls.__pydantic_core_schema__ = schema = validate_core_schema(schema) cls.__pydantic_validator__ = validator = create_schema_validator( - schema, cls, cls.__module__, cls.__qualname__, 'dataclass', core_config, config_wrapper.plugin_settings + schema, core_config, config_wrapper.plugin_settings ) cls.__pydantic_serializer__ = SchemaSerializer(schema, core_config) if config_wrapper.validate_assignment: @wraps(cls.__setattr__) - def validated_setattr(instance: Any, field: str, value: str, /) -> None: - validator.validate_assignment(instance, field, value) + def validated_setattr(instance: Any, __field: str, __value: str) -> None: + validator.validate_assignment(instance, __field, __value) cls.__setattr__ = validated_setattr.__get__(None, cls) # type: ignore - cls.__pydantic_complete__ = True return True +def generate_dataclass_signature(cls: type[StandardDataclass]) -> Signature: + """Generate signature for a pydantic dataclass. + + This implementation assumes we do not support custom `__init__`, which is currently true for pydantic dataclasses. + If we change this eventually, we should make this function's logic more closely mirror that from + `pydantic._internal._model_construction.generate_model_signature`. + + Args: + cls: The dataclass. + + Returns: + The signature. + """ + sig = signature(cls) + final_params: dict[str, Parameter] = {} + + for param in sig.parameters.values(): + param_default = param.default + if isinstance(param_default, FieldInfo): + annotation = param.annotation + # Replace the annotation if appropriate + # inspect does "clever" things to show annotations as strings because we have + # `from __future__ import annotations` in main, we don't want that + if annotation == 'Any': + annotation = Any + + # Replace the field name with the alias if present + name = param.name + alias = param_default.alias + validation_alias = param_default.validation_alias + if validation_alias is None and isinstance(alias, str) and is_valid_identifier(alias): + name = alias + elif isinstance(validation_alias, str) and is_valid_identifier(validation_alias): + name = validation_alias + + # Replace the field default + default = param_default.default + if default is PydanticUndefined: + if param_default.default_factory is PydanticUndefined: + default = inspect.Signature.empty + else: + # this is used by dataclasses to indicate a factory exists: + default = dataclasses._HAS_DEFAULT_FACTORY # type: ignore + + param = param.replace(annotation=annotation, name=name, default=default) + final_params[param.name] = param + + return Signature(parameters=list(final_params.values()), return_annotation=None) + + def is_builtin_dataclass(_cls: type[Any]) -> TypeGuard[type[StandardDataclass]]: """Returns True if a class is a stdlib dataclass and *not* a pydantic dataclass. @@ -209,7 +245,7 @@ def is_builtin_dataclass(_cls: type[Any]) -> TypeGuard[type[StandardDataclass]]: - `_cls` does not inherit from a processed pydantic dataclass (and thus have a `__pydantic_validator__`) - `_cls` does not have any annotations that are not dataclass fields e.g. - ```python + ```py import dataclasses import pydantic.dataclasses diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_decorators.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_decorators.py index 92880a4..0ac3248 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_decorators.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_decorators.py @@ -1,30 +1,31 @@ """Logic related to validators applied to models etc. via the `@field_validator` and `@model_validator` decorators.""" - from __future__ import annotations as _annotations -import types from collections import deque -from collections.abc import Iterable from dataclasses import dataclass, field -from functools import cached_property, partial, partialmethod +from functools import partial, partialmethod from inspect import Parameter, Signature, isdatadescriptor, ismethoddescriptor, signature from itertools import islice -from typing import TYPE_CHECKING, Any, Callable, ClassVar, Generic, Literal, TypeVar, Union +from typing import TYPE_CHECKING, Any, Callable, ClassVar, Generic, Iterable, TypeVar, Union -from pydantic_core import PydanticUndefined, PydanticUndefinedType, core_schema -from typing_extensions import TypeAlias, is_typeddict +from pydantic_core import PydanticUndefined, core_schema +from typing_extensions import Literal, TypeAlias, is_typeddict from ..errors import PydanticUserError +from ..fields import ComputedFieldInfo from ._core_utils import get_type_ref from ._internal_dataclass import slots_true -from ._namespace_utils import GlobalsNamespace, MappingNamespace from ._typing_extra import get_function_type_hints -from ._utils import can_be_positional if TYPE_CHECKING: - from ..fields import ComputedFieldInfo from ..functional_validators import FieldValidatorModes +try: + from functools import cached_property # type: ignore +except ImportError: + # python 3.7 + cached_property = None + @dataclass(**slots_true) class ValidatorDecoratorInfo: @@ -60,9 +61,6 @@ class FieldValidatorDecoratorInfo: fields: A tuple of field names the validator should be called on. mode: The proposed validator mode. check_fields: Whether to check that the fields actually exist on the model. - json_schema_input_type: The input type of the function. This is only used to generate - the appropriate JSON Schema (in validation mode) and can only specified - when `mode` is either `'before'`, `'plain'` or `'wrap'`. """ decorator_repr: ClassVar[str] = '@field_validator' @@ -70,7 +68,6 @@ class FieldValidatorDecoratorInfo: fields: tuple[str, ...] mode: FieldValidatorModes check_fields: bool | None - json_schema_input_type: Any @dataclass(**slots_true) @@ -135,7 +132,7 @@ class ModelValidatorDecoratorInfo: while building the pydantic-core schema. Attributes: - decorator_repr: A class variable representing the decorator string, '@model_validator'. + decorator_repr: A class variable representing the decorator string, '@model_serializer'. mode: The proposed serializer mode. """ @@ -143,7 +140,7 @@ class ModelValidatorDecoratorInfo: mode: Literal['wrap', 'before', 'after'] -DecoratorInfo: TypeAlias = """Union[ +DecoratorInfo = Union[ ValidatorDecoratorInfo, FieldValidatorDecoratorInfo, RootValidatorDecoratorInfo, @@ -151,7 +148,7 @@ DecoratorInfo: TypeAlias = """Union[ ModelSerializerDecoratorInfo, ModelValidatorDecoratorInfo, ComputedFieldInfo, -]""" +] ReturnType = TypeVar('ReturnType') DecoratedType: TypeAlias = ( @@ -186,12 +183,6 @@ class PydanticDescriptorProxy(Generic[ReturnType]): def _call_wrapped_attr(self, func: Callable[[Any], None], *, name: str) -> PydanticDescriptorProxy[ReturnType]: self.wrapped = getattr(self.wrapped, name)(func) - if isinstance(self.wrapped, property): - # update ComputedFieldInfo.wrapped_property - from ..fields import ComputedFieldInfo - - if isinstance(self.decorator_info, ComputedFieldInfo): - self.decorator_info.wrapped_property = self.wrapped return self def __get__(self, obj: object | None, obj_type: type[object] | None = None) -> PydanticDescriptorProxy[ReturnType]: @@ -203,11 +194,11 @@ class PydanticDescriptorProxy(Generic[ReturnType]): def __set_name__(self, instance: Any, name: str) -> None: if hasattr(self.wrapped, '__set_name__'): - self.wrapped.__set_name__(instance, name) # pyright: ignore[reportFunctionMemberAccess] + self.wrapped.__set_name__(instance, name) - def __getattr__(self, name: str, /) -> Any: + def __getattr__(self, __name: str) -> Any: """Forward checks for __isabstractmethod__ and such.""" - return getattr(self.wrapped, name) + return getattr(self.wrapped, __name) DecoratorInfoType = TypeVar('DecoratorInfoType', bound=DecoratorInfo) @@ -497,8 +488,6 @@ class DecoratorInfos: model_dc, cls_var_name=var_name, shim=var_value.shim, info=info ) else: - from ..fields import ComputedFieldInfo - isinstance(var_value, ComputedFieldInfo) res.computed_fields[var_name] = Decorator.build( model_dc, cls_var_name=var_name, shim=None, info=info @@ -509,7 +498,7 @@ class DecoratorInfos: # so then we don't need to re-process the type, which means we can discard our descriptor wrappers # and replace them with the thing they are wrapping (see the other setattr call below) # which allows validator class methods to also function as regular class methods - model_dc.__pydantic_decorators__ = res + setattr(model_dc, '__pydantic_decorators__', res) for name, value in to_replace: setattr(model_dc, name, value) return res @@ -529,11 +518,12 @@ def inspect_validator(validator: Callable[..., Any], mode: FieldValidatorModes) """ try: sig = signature(validator) - except (ValueError, TypeError): - # `inspect.signature` might not be able to infer a signature, e.g. with C objects. - # In this case, we assume no info argument is present: + except ValueError: + # builtins and some C extensions don't have signatures + # assume that they don't take an info argument and only take a single argument + # e.g. `str.strip` or `datetime.datetime` return False - n_positional = count_positional_required_params(sig) + n_positional = count_positional_params(sig) if mode == 'wrap': if n_positional == 3: return True @@ -552,7 +542,9 @@ def inspect_validator(validator: Callable[..., Any], mode: FieldValidatorModes) ) -def inspect_field_serializer(serializer: Callable[..., Any], mode: Literal['plain', 'wrap']) -> tuple[bool, bool]: +def inspect_field_serializer( + serializer: Callable[..., Any], mode: Literal['plain', 'wrap'], computed_field: bool = False +) -> tuple[bool, bool]: """Look at a field serializer function and determine if it is a field serializer, and whether it takes an info argument. @@ -561,21 +553,18 @@ def inspect_field_serializer(serializer: Callable[..., Any], mode: Literal['plai Args: serializer: The serializer function to inspect. mode: The serializer mode, either 'plain' or 'wrap'. + computed_field: When serializer is applied on computed_field. It doesn't require + info signature. Returns: Tuple of (is_field_serializer, info_arg). """ - try: - sig = signature(serializer) - except (ValueError, TypeError): - # `inspect.signature` might not be able to infer a signature, e.g. with C objects. - # In this case, we assume no info argument is present and this is not a method: - return (False, False) + sig = signature(serializer) first = next(iter(sig.parameters.values()), None) is_field_serializer = first is not None and first.name == 'self' - n_positional = count_positional_required_params(sig) + n_positional = count_positional_params(sig) if is_field_serializer: # -1 to correct for self parameter info_arg = _serializer_info_arg(mode, n_positional - 1) @@ -587,8 +576,13 @@ def inspect_field_serializer(serializer: Callable[..., Any], mode: Literal['plai f'Unrecognized field_serializer function signature for {serializer} with `mode={mode}`:{sig}', code='field-serializer-signature', ) + if info_arg and computed_field: + raise PydanticUserError( + 'field_serializer on computed_field does not use info signature', code='field-serializer-signature' + ) - return is_field_serializer, info_arg + else: + return is_field_serializer, info_arg def inspect_annotated_serializer(serializer: Callable[..., Any], mode: Literal['plain', 'wrap']) -> bool: @@ -603,13 +597,8 @@ def inspect_annotated_serializer(serializer: Callable[..., Any], mode: Literal[' Returns: info_arg """ - try: - sig = signature(serializer) - except (ValueError, TypeError): - # `inspect.signature` might not be able to infer a signature, e.g. with C objects. - # In this case, we assume no info argument is present: - return False - info_arg = _serializer_info_arg(mode, count_positional_required_params(sig)) + sig = signature(serializer) + info_arg = _serializer_info_arg(mode, count_positional_params(sig)) if info_arg is None: raise PydanticUserError( f'Unrecognized field_serializer function signature for {serializer} with `mode={mode}`:{sig}', @@ -637,7 +626,7 @@ def inspect_model_serializer(serializer: Callable[..., Any], mode: Literal['plai ) sig = signature(serializer) - info_arg = _serializer_info_arg(mode, count_positional_required_params(sig)) + info_arg = _serializer_info_arg(mode, count_positional_params(sig)) if info_arg is None: raise PydanticUserError( f'Unrecognized model_serializer function signature for {serializer} with `mode={mode}`:{sig}', @@ -650,18 +639,18 @@ def inspect_model_serializer(serializer: Callable[..., Any], mode: Literal['plai def _serializer_info_arg(mode: Literal['plain', 'wrap'], n_positional: int) -> bool | None: if mode == 'plain': if n_positional == 1: - # (input_value: Any, /) -> Any + # (__input_value: Any) -> Any return False elif n_positional == 2: - # (model: Any, input_value: Any, /) -> Any + # (__model: Any, __input_value: Any) -> Any return True else: assert mode == 'wrap', f"invalid mode: {mode!r}, expected 'plain' or 'wrap'" if n_positional == 2: - # (input_value: Any, serializer: SerializerFunctionWrapHandler, /) -> Any + # (__input_value: Any, __serializer: SerializerFunctionWrapHandler) -> Any return False elif n_positional == 3: - # (input_value: Any, serializer: SerializerFunctionWrapHandler, info: SerializationInfo, /) -> Any + # (__input_value: Any, __serializer: SerializerFunctionWrapHandler, __info: SerializationInfo) -> Any return True return None @@ -722,25 +711,34 @@ def unwrap_wrapped_function( unwrap_class_static_method: bool = True, ) -> Any: """Recursively unwraps a wrapped function until the underlying function is reached. - This handles property, functools.partial, functools.partialmethod, staticmethod, and classmethod. + This handles property, functools.partial, functools.partialmethod, staticmethod and classmethod. Args: func: The function to unwrap. - unwrap_partial: If True (default), unwrap partial and partialmethod decorators. + unwrap_partial: If True (default), unwrap partial and partialmethod decorators, otherwise don't. + decorators. unwrap_class_static_method: If True (default), also unwrap classmethod and staticmethod decorators. If False, only unwrap partial and partialmethod decorators. Returns: The underlying function of the wrapped function. """ - # Define the types we want to check against as a single tuple. - unwrap_types = ( - (property, cached_property) - + ((partial, partialmethod) if unwrap_partial else ()) - + ((staticmethod, classmethod) if unwrap_class_static_method else ()) - ) + all: set[Any] = {property} - while isinstance(func, unwrap_types): + if unwrap_partial: + all.update({partial, partialmethod}) + + try: + from functools import cached_property # type: ignore + except ImportError: + cached_property = type('', (), {}) + else: + all.add(cached_property) + + if unwrap_class_static_method: + all.update({staticmethod, classmethod}) + + while isinstance(func, tuple(all)): if unwrap_class_static_method and isinstance(func, (classmethod, staticmethod)): func = func.__func__ elif isinstance(func, (partial, partialmethod)): @@ -755,72 +753,38 @@ def unwrap_wrapped_function( return func -_function_like = ( - partial, - partialmethod, - types.FunctionType, - types.BuiltinFunctionType, - types.MethodType, - types.WrapperDescriptorType, - types.MethodWrapperType, - types.MemberDescriptorType, -) +def get_function_return_type( + func: Any, explicit_return_type: Any, types_namespace: dict[str, Any] | None = None +) -> Any: + """Get the function return type. - -def get_callable_return_type( - callable_obj: Any, - globalns: GlobalsNamespace | None = None, - localns: MappingNamespace | None = None, -) -> Any | PydanticUndefinedType: - """Get the callable return type. + It gets the return type from the type annotation if `explicit_return_type` is `None`. + Otherwise, it returns `explicit_return_type`. Args: - callable_obj: The callable to analyze. - globalns: The globals namespace to use during type annotation evaluation. - localns: The locals namespace to use during type annotation evaluation. + func: The function to get its return type. + explicit_return_type: The explicit return type. + types_namespace: The types namespace, defaults to `None`. Returns: The function return type. """ - if isinstance(callable_obj, type): - # types are callables, and we assume the return type - # is the type itself (e.g. `int()` results in an instance of `int`). - return callable_obj - - if not isinstance(callable_obj, _function_like): - call_func = getattr(type(callable_obj), '__call__', None) # noqa: B004 - if call_func is not None: - callable_obj = call_func - - hints = get_function_type_hints( - unwrap_wrapped_function(callable_obj), - include_keys={'return'}, - globalns=globalns, - localns=localns, - ) - return hints.get('return', PydanticUndefined) + if explicit_return_type is PydanticUndefined: + # try to get it from the type annotation + hints = get_function_type_hints( + unwrap_wrapped_function(func), include_keys={'return'}, types_namespace=types_namespace + ) + return hints.get('return', PydanticUndefined) + else: + return explicit_return_type -def count_positional_required_params(sig: Signature) -> int: - """Get the number of positional (required) arguments of a signature. +def count_positional_params(sig: Signature) -> int: + return sum(1 for param in sig.parameters.values() if can_be_positional(param)) - This function should only be used to inspect signatures of validation and serialization functions. - The first argument (the value being serialized or validated) is counted as a required argument - even if a default value exists. - Returns: - The number of positional arguments of a signature. - """ - parameters = list(sig.parameters.values()) - return sum( - 1 - for param in parameters - if can_be_positional(param) - # First argument is the value being validated/serialized, and can have a default value - # (e.g. `float`, which has signature `(x=0, /)`). We assume other parameters (the info arg - # for instance) should be required, and thus without any default value. - and (param.default is Parameter.empty or param is parameters[0]) - ) +def can_be_positional(param: Parameter) -> bool: + return param.kind in (Parameter.POSITIONAL_ONLY, Parameter.POSITIONAL_OR_KEYWORD) def ensure_property(f: Any) -> Any: diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_decorators_v1.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_decorators_v1.py index 3427377..4f81e6d 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_decorators_v1.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_decorators_v1.py @@ -1,45 +1,49 @@ """Logic for V1 validators, e.g. `@validator` and `@root_validator`.""" - from __future__ import annotations as _annotations from inspect import Parameter, signature -from typing import Any, Union, cast +from typing import Any, Dict, Tuple, Union, cast from pydantic_core import core_schema from typing_extensions import Protocol from ..errors import PydanticUserError -from ._utils import can_be_positional +from ._decorators import can_be_positional class V1OnlyValueValidator(Protocol): """A simple validator, supported for V1 validators and V2 validators.""" - def __call__(self, __value: Any) -> Any: ... + def __call__(self, __value: Any) -> Any: + ... class V1ValidatorWithValues(Protocol): """A validator with `values` argument, supported for V1 validators and V2 validators.""" - def __call__(self, __value: Any, values: dict[str, Any]) -> Any: ... + def __call__(self, __value: Any, values: dict[str, Any]) -> Any: + ... class V1ValidatorWithValuesKwOnly(Protocol): """A validator with keyword only `values` argument, supported for V1 validators and V2 validators.""" - def __call__(self, __value: Any, *, values: dict[str, Any]) -> Any: ... + def __call__(self, __value: Any, *, values: dict[str, Any]) -> Any: + ... class V1ValidatorWithKwargs(Protocol): """A validator with `kwargs` argument, supported for V1 validators and V2 validators.""" - def __call__(self, __value: Any, **kwargs: Any) -> Any: ... + def __call__(self, __value: Any, **kwargs: Any) -> Any: + ... class V1ValidatorWithValuesAndKwargs(Protocol): """A validator with `values` and `kwargs` arguments, supported for V1 validators and V2 validators.""" - def __call__(self, __value: Any, values: dict[str, Any], **kwargs: Any) -> Any: ... + def __call__(self, __value: Any, values: dict[str, Any], **kwargs: Any) -> Any: + ... V1Validator = Union[ @@ -105,21 +109,23 @@ def make_generic_v1_field_validator(validator: V1Validator) -> core_schema.WithI return wrapper2 -RootValidatorValues = dict[str, Any] +RootValidatorValues = Dict[str, Any] # technically tuple[model_dict, model_extra, fields_set] | tuple[dataclass_dict, init_vars] -RootValidatorFieldsTuple = tuple[Any, ...] +RootValidatorFieldsTuple = Tuple[Any, ...] class V1RootValidatorFunction(Protocol): """A simple root validator, supported for V1 validators and V2 validators.""" - def __call__(self, __values: RootValidatorValues) -> RootValidatorValues: ... + def __call__(self, __values: RootValidatorValues) -> RootValidatorValues: + ... class V2CoreBeforeRootValidator(Protocol): """V2 validator with mode='before'.""" - def __call__(self, __values: RootValidatorValues, __info: core_schema.ValidationInfo) -> RootValidatorValues: ... + def __call__(self, __values: RootValidatorValues, __info: core_schema.ValidationInfo) -> RootValidatorValues: + ... class V2CoreAfterRootValidator(Protocol): @@ -127,7 +133,8 @@ class V2CoreAfterRootValidator(Protocol): def __call__( self, __fields_tuple: RootValidatorFieldsTuple, __info: core_schema.ValidationInfo - ) -> RootValidatorFieldsTuple: ... + ) -> RootValidatorFieldsTuple: + ... def make_v1_generic_root_validator( diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_discriminated_union.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_discriminated_union.py index 5dd6fda..4cb9c3d 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_discriminated_union.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_discriminated_union.py @@ -1,19 +1,19 @@ from __future__ import annotations as _annotations -from collections.abc import Hashable, Sequence -from typing import TYPE_CHECKING, Any, cast +from typing import Any, Hashable, Sequence from pydantic_core import CoreSchema, core_schema from ..errors import PydanticUserError from . import _core_utils from ._core_utils import ( + NEEDS_APPLY_DISCRIMINATED_UNION_METADATA_KEY, CoreSchemaField, + collect_definitions, + simplify_schema_references, ) -if TYPE_CHECKING: - from ..types import Discriminator - from ._core_metadata import CoreMetadata +CORE_SCHEMA_METADATA_DISCRIMINATOR_PLACEHOLDER_KEY = 'pydantic.internal.union_discriminator' class MissingDefinitionForUnionRef(Exception): @@ -26,15 +26,39 @@ class MissingDefinitionForUnionRef(Exception): super().__init__(f'Missing definition for ref {self.ref!r}') -def set_discriminator_in_metadata(schema: CoreSchema, discriminator: Any) -> None: - metadata = cast('CoreMetadata', schema.setdefault('metadata', {})) - metadata['pydantic_internal_union_discriminator'] = discriminator +def set_discriminator(schema: CoreSchema, discriminator: Any) -> None: + schema.setdefault('metadata', {}) + metadata = schema.get('metadata') + assert metadata is not None + metadata[CORE_SCHEMA_METADATA_DISCRIMINATOR_PLACEHOLDER_KEY] = discriminator + + +def apply_discriminators(schema: core_schema.CoreSchema) -> core_schema.CoreSchema: + definitions: dict[str, CoreSchema] | None = None + + def inner(s: core_schema.CoreSchema, recurse: _core_utils.Recurse) -> core_schema.CoreSchema: + nonlocal definitions + if 'metadata' in s: + if s['metadata'].get(NEEDS_APPLY_DISCRIMINATED_UNION_METADATA_KEY, True) is False: + return s + + s = recurse(s, inner) + if s['type'] == 'tagged-union': + return s + + metadata = s.get('metadata', {}) + discriminator = metadata.get(CORE_SCHEMA_METADATA_DISCRIMINATOR_PLACEHOLDER_KEY, None) + if discriminator is not None: + if definitions is None: + definitions = collect_definitions(schema) + s = apply_discriminator(s, discriminator, definitions) + return s + + return simplify_schema_references(_core_utils.walk_core_schema(schema, inner)) def apply_discriminator( - schema: core_schema.CoreSchema, - discriminator: str | Discriminator, - definitions: dict[str, core_schema.CoreSchema] | None = None, + schema: core_schema.CoreSchema, discriminator: str, definitions: dict[str, core_schema.CoreSchema] | None = None ) -> core_schema.CoreSchema: """Applies the discriminator and returns a new core schema. @@ -59,14 +83,6 @@ def apply_discriminator( - If discriminator fields have different aliases. - If discriminator field not of type `Literal`. """ - from ..types import Discriminator - - if isinstance(discriminator, Discriminator): - if isinstance(discriminator.discriminator, str): - discriminator = discriminator.discriminator - else: - return discriminator._convert_schema(schema) - return _ApplyInferredDiscriminator(discriminator, definitions or {}).apply(schema) @@ -134,7 +150,7 @@ class _ApplyInferredDiscriminator: # in the output TaggedUnionSchema that will replace the union from the input schema self._tagged_union_choices: dict[Hashable, core_schema.CoreSchema] = {} - # `_used` is changed to True after applying the discriminator to prevent accidental reuse + # `_used` is changed to True after applying the discriminator to prevent accidental re-use self._used = False def apply(self, schema: core_schema.CoreSchema) -> core_schema.CoreSchema: @@ -160,11 +176,16 @@ class _ApplyInferredDiscriminator: - If discriminator fields have different aliases. - If discriminator field not of type `Literal`. """ + self.definitions.update(collect_definitions(schema)) assert not self._used schema = self._apply_to_root(schema) if self._should_be_nullable and not self._is_nullable: schema = core_schema.nullable_schema(schema) self._used = True + new_defs = collect_definitions(schema) + missing_defs = self.definitions.keys() - new_defs.keys() + if missing_defs: + schema = core_schema.definitions_schema(schema, [self.definitions[ref] for ref in missing_defs]) return schema def _apply_to_root(self, schema: core_schema.CoreSchema) -> core_schema.CoreSchema: @@ -234,10 +255,6 @@ class _ApplyInferredDiscriminator: * Validating that each allowed discriminator value maps to a unique choice * Updating the _tagged_union_choices mapping that will ultimately be used to build the TaggedUnionSchema. """ - if choice['type'] == 'definition-ref': - if choice['schema_ref'] not in self.definitions: - raise MissingDefinitionForUnionRef(choice['schema_ref']) - if choice['type'] == 'none': self._should_be_nullable = True elif choice['type'] == 'definitions': @@ -249,6 +266,10 @@ class _ApplyInferredDiscriminator: # Reverse the choices list before extending the stack so that they get handled in the order they occur choices_schemas = [v[0] if isinstance(v, tuple) else v for v in choice['choices'][::-1]] self._choices_to_handle.extend(choices_schemas) + elif choice['type'] == 'definition-ref': + if choice['schema_ref'] not in self.definitions: + raise MissingDefinitionForUnionRef(choice['schema_ref']) + self._handle_choice(self.definitions[choice['schema_ref']]) elif choice['type'] not in { 'model', 'typed-dict', @@ -256,16 +277,12 @@ class _ApplyInferredDiscriminator: 'lax-or-strict', 'dataclass', 'dataclass-args', - 'definition-ref', } and not _core_utils.is_function_with_inner_schema(choice): # We should eventually handle 'definition-ref' as well - err_str = f'The core schema type {choice["type"]!r} is not a valid discriminated union variant.' - if choice['type'] == 'list': - err_str += ( - ' If you are making use of a list of union types, make sure the discriminator is applied to the ' - 'union type and not the list (e.g. `list[Annotated[ | , Field(discriminator=...)]]`).' - ) - raise TypeError(err_str) + raise TypeError( + f'{choice["type"]!r} is not a valid discriminated union variant;' + ' should be a `BaseModel` or `dataclass`' + ) else: if choice['type'] == 'tagged-union' and self._is_discriminator_shared(choice): # In this case, this inner tagged-union is compatible with the outer tagged-union, @@ -299,10 +316,13 @@ class _ApplyInferredDiscriminator: """ if choice['type'] == 'definitions': return self._infer_discriminator_values_for_choice(choice['schema'], source_name=source_name) - + elif choice['type'] == 'function-plain': + raise TypeError( + f'{choice["type"]!r} is not a valid discriminated union variant;' + ' should be a `BaseModel` or `dataclass`' + ) elif _core_utils.is_function_with_inner_schema(choice): return self._infer_discriminator_values_for_choice(choice['schema'], source_name=source_name) - elif choice['type'] == 'lax-or-strict': return sorted( set( @@ -353,13 +373,10 @@ class _ApplyInferredDiscriminator: raise MissingDefinitionForUnionRef(schema_ref) return self._infer_discriminator_values_for_choice(self.definitions[schema_ref], source_name=source_name) else: - err_str = f'The core schema type {choice["type"]!r} is not a valid discriminated union variant.' - if choice['type'] == 'list': - err_str += ( - ' If you are making use of a list of union types, make sure the discriminator is applied to the ' - 'union type and not the list (e.g. `list[Annotated[ | , Field(discriminator=...)]]`).' - ) - raise TypeError(err_str) + raise TypeError( + f'{choice["type"]!r} is not a valid discriminated union variant;' + ' should be a `BaseModel` or `dataclass`' + ) def _infer_discriminator_values_for_typed_dict_choice( self, choice: core_schema.TypedDictSchema, source_name: str | None = None diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_docs_extraction.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_docs_extraction.py deleted file mode 100644 index 7b5f310..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_docs_extraction.py +++ /dev/null @@ -1,108 +0,0 @@ -"""Utilities related to attribute docstring extraction.""" - -from __future__ import annotations - -import ast -import inspect -import textwrap -from typing import Any - - -class DocstringVisitor(ast.NodeVisitor): - def __init__(self) -> None: - super().__init__() - - self.target: str | None = None - self.attrs: dict[str, str] = {} - self.previous_node_type: type[ast.AST] | None = None - - def visit(self, node: ast.AST) -> Any: - node_result = super().visit(node) - self.previous_node_type = type(node) - return node_result - - def visit_AnnAssign(self, node: ast.AnnAssign) -> Any: - if isinstance(node.target, ast.Name): - self.target = node.target.id - - def visit_Expr(self, node: ast.Expr) -> Any: - if ( - isinstance(node.value, ast.Constant) - and isinstance(node.value.value, str) - and self.previous_node_type is ast.AnnAssign - ): - docstring = inspect.cleandoc(node.value.value) - if self.target: - self.attrs[self.target] = docstring - self.target = None - - -def _dedent_source_lines(source: list[str]) -> str: - # Required for nested class definitions, e.g. in a function block - dedent_source = textwrap.dedent(''.join(source)) - if dedent_source.startswith((' ', '\t')): - # We are in the case where there's a dedented (usually multiline) string - # at a lower indentation level than the class itself. We wrap our class - # in a function as a workaround. - dedent_source = f'def dedent_workaround():\n{dedent_source}' - return dedent_source - - -def _extract_source_from_frame(cls: type[Any]) -> list[str] | None: - frame = inspect.currentframe() - - while frame: - if inspect.getmodule(frame) is inspect.getmodule(cls): - lnum = frame.f_lineno - try: - lines, _ = inspect.findsource(frame) - except OSError: # pragma: no cover - # Source can't be retrieved (maybe because running in an interactive terminal), - # we don't want to error here. - pass - else: - block_lines = inspect.getblock(lines[lnum - 1 :]) - dedent_source = _dedent_source_lines(block_lines) - try: - block_tree = ast.parse(dedent_source) - except SyntaxError: - pass - else: - stmt = block_tree.body[0] - if isinstance(stmt, ast.FunctionDef) and stmt.name == 'dedent_workaround': - # `_dedent_source_lines` wrapped the class around the workaround function - stmt = stmt.body[0] - if isinstance(stmt, ast.ClassDef) and stmt.name == cls.__name__: - return block_lines - - frame = frame.f_back - - -def extract_docstrings_from_cls(cls: type[Any], use_inspect: bool = False) -> dict[str, str]: - """Map model attributes and their corresponding docstring. - - Args: - cls: The class of the Pydantic model to inspect. - use_inspect: Whether to skip usage of frames to find the object and use - the `inspect` module instead. - - Returns: - A mapping containing attribute names and their corresponding docstring. - """ - if use_inspect: - # Might not work as expected if two classes have the same name in the same source file. - try: - source, _ = inspect.getsourcelines(cls) - except OSError: # pragma: no cover - return {} - else: - source = _extract_source_from_frame(cls) - - if not source: - return {} - - dedent_source = _dedent_source_lines(source) - - visitor = DocstringVisitor() - visitor.visit(ast.parse(dedent_source)) - return visitor.attrs diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_fields.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_fields.py index 658be3b..e42c7a4 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_fields.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_fields.py @@ -1,104 +1,92 @@ """Private logic related to fields (the `Field()` function and `FieldInfo` class), and arguments to `Annotated`.""" - from __future__ import annotations as _annotations import dataclasses +import sys import warnings -from collections.abc import Mapping from copy import copy -from functools import cache -from inspect import Parameter, ismethoddescriptor, signature -from re import Pattern -from typing import TYPE_CHECKING, Any, Callable, TypeVar +from typing import TYPE_CHECKING, Any +from annotated_types import BaseMetadata from pydantic_core import PydanticUndefined -from typing_extensions import TypeIs, get_origin -from typing_inspection import typing_objects -from typing_inspection.introspection import AnnotationSource -from pydantic import PydanticDeprecatedSince211 -from pydantic.errors import PydanticUserError - -from . import _generics, _typing_extra +from . import _typing_extra from ._config import ConfigWrapper -from ._docs_extraction import extract_docstrings_from_cls -from ._import_utils import import_cached_base_model, import_cached_field_info -from ._namespace_utils import NsResolver from ._repr import Representation -from ._utils import can_be_positional +from ._typing_extra import get_cls_type_hints_lenient, get_type_hints, is_classvar, is_finalvar if TYPE_CHECKING: - from annotated_types import BaseMetadata - from ..fields import FieldInfo from ..main import BaseModel - from ._dataclasses import PydanticDataclass, StandardDataclass + from ._dataclasses import StandardDataclass from ._decorators import DecoratorInfos +def get_type_hints_infer_globalns( + obj: Any, + localns: dict[str, Any] | None = None, + include_extras: bool = False, +) -> dict[str, Any]: + """Gets type hints for an object by inferring the global namespace. + + It uses the `typing.get_type_hints`, The only thing that we do here is fetching + global namespace from `obj.__module__` if it is not `None`. + + Args: + obj: The object to get its type hints. + localns: The local namespaces. + include_extras: Whether to recursively include annotation metadata. + + Returns: + The object type hints. + """ + module_name = getattr(obj, '__module__', None) + globalns: dict[str, Any] | None = None + if module_name: + try: + globalns = sys.modules[module_name].__dict__ + except KeyError: + # happens occasionally, see https://github.com/pydantic/pydantic/issues/2363 + pass + return get_type_hints(obj, globalns=globalns, localns=localns, include_extras=include_extras) + + class PydanticMetadata(Representation): """Base class for annotation markers like `Strict`.""" __slots__ = () -def pydantic_general_metadata(**metadata: Any) -> BaseMetadata: - """Create a new `_PydanticGeneralMetadata` class with the given metadata. +class PydanticGeneralMetadata(PydanticMetadata, BaseMetadata): + """Pydantic general metada like `max_digits`.""" - Args: - **metadata: The metadata to add. - - Returns: - The new `_PydanticGeneralMetadata` class. - """ - return _general_metadata_cls()(metadata) # type: ignore - - -@cache -def _general_metadata_cls() -> type[BaseMetadata]: - """Do it this way to avoid importing `annotated_types` at import time.""" - from annotated_types import BaseMetadata - - class _PydanticGeneralMetadata(PydanticMetadata, BaseMetadata): - """Pydantic general metadata like `max_digits`.""" - - def __init__(self, metadata: Any): - self.__dict__ = metadata - - return _PydanticGeneralMetadata # type: ignore - - -def _update_fields_from_docstrings(cls: type[Any], fields: dict[str, FieldInfo], use_inspect: bool = False) -> None: - fields_docs = extract_docstrings_from_cls(cls, use_inspect=use_inspect) - for ann_name, field_info in fields.items(): - if field_info.description is None and ann_name in fields_docs: - field_info.description = fields_docs[ann_name] + def __init__(self, **metadata: Any): + self.__dict__ = metadata def collect_model_fields( # noqa: C901 cls: type[BaseModel], + bases: tuple[type[Any], ...], config_wrapper: ConfigWrapper, - ns_resolver: NsResolver | None, + types_namespace: dict[str, Any] | None, *, - typevars_map: Mapping[TypeVar, Any] | None = None, + typevars_map: dict[Any, Any] | None = None, ) -> tuple[dict[str, FieldInfo], set[str]]: - """Collect the fields and class variables names of a nascent Pydantic model. + """Collect the fields of a nascent pydantic model. - The fields collection process is *lenient*, meaning it won't error if string annotations - fail to evaluate. If this happens, the original annotation (and assigned value, if any) - is stored on the created `FieldInfo` instance. + Also collect the names of any ClassVars present in the type hints. - The `rebuild_model_fields()` should be called at a later point (e.g. when rebuilding the model), - and will make use of these stored attributes. + The returned value is a tuple of two items: the fields dict, and the set of ClassVar names. Args: cls: BaseModel or dataclass. + bases: Parents of the class, generally `cls.__bases__`. config_wrapper: The config wrapper instance. - ns_resolver: Namespace resolver to use when getting model annotations. + types_namespace: Optional extra namespace to look for types in. typevars_map: A dictionary mapping type variables to their concrete types. Returns: - A two-tuple containing model fields and class variables names. + A tuple contains fields and class variables. Raises: NameError: @@ -106,16 +94,9 @@ def collect_model_fields( # noqa: C901 - If there is a field other than `root` in `RootModel`. - If a field shadows an attribute in the parent model. """ - BaseModel = import_cached_base_model() - FieldInfo_ = import_cached_field_info() + from ..fields import FieldInfo - bases = cls.__bases__ - parent_fields_lookup: dict[str, FieldInfo] = {} - for base in reversed(bases): - if model_fields := getattr(base, '__pydantic_fields__', None): - parent_fields_lookup.update(model_fields) - - type_hints = _typing_extra.get_model_type_hints(cls, ns_resolver=ns_resolver) + type_hints = get_cls_type_hints_lenient(cls, types_namespace) # https://docs.python.org/3/howto/annotations.html#accessing-the-annotations-dict-of-an-object-in-python-3-9-and-older # annotations is only used for finding fields in parent classes @@ -123,50 +104,39 @@ def collect_model_fields( # noqa: C901 fields: dict[str, FieldInfo] = {} class_vars: set[str] = set() - for ann_name, (ann_type, evaluated) in type_hints.items(): + for ann_name, ann_type in type_hints.items(): if ann_name == 'model_config': # We never want to treat `model_config` as a field # Note: we may need to change this logic if/when we introduce a `BareModel` class with no # protected namespaces (where `model_config` might be allowed as a field name) continue - for protected_namespace in config_wrapper.protected_namespaces: - ns_violation: bool = False - if isinstance(protected_namespace, Pattern): - ns_violation = protected_namespace.match(ann_name) is not None - elif isinstance(protected_namespace, str): - ns_violation = ann_name.startswith(protected_namespace) - - if ns_violation: + if ann_name.startswith(protected_namespace): for b in bases: if hasattr(b, ann_name): - if not (issubclass(b, BaseModel) and ann_name in getattr(b, '__pydantic_fields__', {})): + from ..main import BaseModel + + if not (issubclass(b, BaseModel) and ann_name in b.model_fields): raise NameError( f'Field "{ann_name}" conflicts with member {getattr(b, ann_name)}' f' of protected namespace "{protected_namespace}".' ) else: - valid_namespaces = () - for pn in config_wrapper.protected_namespaces: - if isinstance(pn, Pattern): - if not pn.match(ann_name): - valid_namespaces += (f're.compile({pn.pattern})',) - else: - if not ann_name.startswith(pn): - valid_namespaces += (pn,) - + valid_namespaces = tuple( + x for x in config_wrapper.protected_namespaces if not ann_name.startswith(x) + ) warnings.warn( - f'Field "{ann_name}" in {cls.__name__} has conflict with protected namespace "{protected_namespace}".' + f'Field "{ann_name}" has conflict with protected namespace "{protected_namespace}".' '\n\nYou may be able to resolve this warning by setting' f" `model_config['protected_namespaces'] = {valid_namespaces}`.", UserWarning, ) - if _typing_extra.is_classvar_annotation(ann_type): + if is_classvar(ann_type): + class_vars.add(ann_name) + continue + if _is_finalvar_with_default_val(ann_type, getattr(cls, ann_name, PydanticUndefined)): class_vars.add(ann_name) continue - - assigned_value = getattr(cls, ann_name, PydanticUndefined) - if not is_valid_field_name(ann_name): continue if cls.__pydantic_root_model__ and ann_name != 'root': @@ -175,7 +145,7 @@ def collect_model_fields( # noqa: C901 ) # when building a generic model with `MyModel[int]`, the generic_origin check makes sure we don't get - # "... shadows an attribute" warnings + # "... shadows an attribute" errors generic_origin = getattr(cls, '__pydantic_generic_metadata__', {}).get('origin') for base in bases: dataclass_fields = { @@ -183,77 +153,42 @@ def collect_model_fields( # noqa: C901 } if hasattr(base, ann_name): if base is generic_origin: - # Don't warn when "shadowing" of attributes in parametrized generics + # Don't error when "shadowing" of attributes in parametrized generics continue if ann_name in dataclass_fields: - # Don't warn when inheriting stdlib dataclasses whose fields are "shadowed" by defaults being set + # Don't error when inheriting stdlib dataclasses whose fields are "shadowed" by defaults being set # on the class instance. continue - - if ann_name not in annotations: - # Don't warn when a field exists in a parent class but has not been defined in the current class - continue - warnings.warn( - f'Field name "{ann_name}" in "{cls.__qualname__}" shadows an attribute in parent ' - f'"{base.__qualname__}"', + f'Field name "{ann_name}" shadows an attribute in parent "{base.__qualname__}"; ', UserWarning, ) - if assigned_value is PydanticUndefined: # no assignment, just a plain annotation - if ann_name in annotations or ann_name not in parent_fields_lookup: - # field is either: - # - present in the current model's annotations (and *not* from parent classes) - # - not found on any base classes; this seems to be caused by fields bot getting - # generated due to models not being fully defined while initializing recursive models. - # Nothing stops us from just creating a `FieldInfo` for this type hint, so we do this. - field_info = FieldInfo_.from_annotation(ann_type, _source=AnnotationSource.CLASS) - if not evaluated: - field_info._complete = False - # Store the original annotation that should be used to rebuild - # the field info later: - field_info._original_annotation = ann_type + try: + default = getattr(cls, ann_name, PydanticUndefined) + if default is PydanticUndefined: + raise AttributeError + except AttributeError: + if ann_name in annotations: + field_info = FieldInfo.from_annotation(ann_type) else: - # The field was present on one of the (possibly multiple) base classes - # copy the field to make sure typevar substitutions don't cause issues with the base classes - field_info = copy(parent_fields_lookup[ann_name]) - - else: # An assigned value is present (either the default value, or a `Field()` function) - _warn_on_nested_alias_in_annotation(ann_type, ann_name) - if isinstance(assigned_value, FieldInfo_) and ismethoddescriptor(assigned_value.default): - # `assigned_value` was fetched using `getattr`, which triggers a call to `__get__` - # for descriptors, so we do the same if the `= field(default=...)` form is used. - # Note that we only do this for method descriptors for now, we might want to - # extend this to any descriptor in the future (by simply checking for - # `hasattr(assigned_value.default, '__get__')`). - assigned_value.default = assigned_value.default.__get__(None, cls) - - # The `from_annotated_attribute()` call below mutates the assigned `Field()`, so make a copy: - original_assignment = ( - assigned_value._copy() if not evaluated and isinstance(assigned_value, FieldInfo_) else assigned_value - ) - - field_info = FieldInfo_.from_annotated_attribute(ann_type, assigned_value, _source=AnnotationSource.CLASS) - # Store the original annotation and assignment value that should be used to rebuild the field info later. - # Note that the assignment is always stored as the annotation might contain a type var that is later - # parameterized with an unknown forward reference (and we'll need it to rebuild the field info): - field_info._original_assignment = original_assignment - if not evaluated: - field_info._complete = False - field_info._original_annotation = ann_type - elif 'final' in field_info._qualifiers and not field_info.is_required(): - warnings.warn( - f'Annotation {ann_name!r} is marked as final and has a default value. Pydantic treats {ann_name!r} as a ' - 'class variable, but it will be considered as a normal field in V3 to be aligned with dataclasses. If you ' - f'still want {ann_name!r} to be considered as a class variable, annotate it as: `ClassVar[] = .`', - category=PydanticDeprecatedSince211, - # Incorrect when `create_model` is used, but the chance that final with a default is used is low in that case: - stacklevel=4, - ) - class_vars.add(ann_name) - continue - + # if field has no default value and is not in __annotations__ this means that it is + # defined in a base class and we can take it from there + model_fields_lookup: dict[str, FieldInfo] = {} + for x in cls.__bases__[::-1]: + model_fields_lookup.update(getattr(x, 'model_fields', {})) + if ann_name in model_fields_lookup: + # The field was present on one of the (possibly multiple) base classes + # copy the field to make sure typevar substitutions don't cause issues with the base classes + field_info = copy(model_fields_lookup[ann_name]) + else: + # The field was not found on any base classes; this seems to be caused by fields not getting + # generated thanks to models not being fully defined while initializing recursive models. + # Nothing stops us from just creating a new FieldInfo for this type hint, so we do this. + field_info = FieldInfo.from_annotation(ann_type) + else: + field_info = FieldInfo.from_annotated_attribute(ann_type, default) # attributes which are fields are removed from the class namespace: # 1. To match the behaviour of annotation-only fields # 2. To avoid false positives in the NameError check above @@ -266,250 +201,81 @@ def collect_model_fields( # noqa: C901 # to make sure the decorators have already been built for this exact class decorators: DecoratorInfos = cls.__dict__['__pydantic_decorators__'] if ann_name in decorators.computed_fields: - raise TypeError( - f'Field {ann_name!r} of class {cls.__name__!r} overrides symbol of same name in a parent class. ' - 'This override with a computed_field is incompatible.' - ) + raise ValueError("you can't override a field with a computed field") fields[ann_name] = field_info if typevars_map: for field in fields.values(): - if field._complete: - field.apply_typevars_map(typevars_map) + field.apply_typevars_map(typevars_map, types_namespace) - if config_wrapper.use_attribute_docstrings: - _update_fields_from_docstrings(cls, fields) return fields, class_vars -def _warn_on_nested_alias_in_annotation(ann_type: type[Any], ann_name: str) -> None: - FieldInfo = import_cached_field_info() +def _is_finalvar_with_default_val(type_: type[Any], val: Any) -> bool: + from ..fields import FieldInfo - args = getattr(ann_type, '__args__', None) - if args: - for anno_arg in args: - if typing_objects.is_annotated(get_origin(anno_arg)): - for anno_type_arg in _typing_extra.get_args(anno_arg): - if isinstance(anno_type_arg, FieldInfo) and anno_type_arg.alias is not None: - warnings.warn( - f'`alias` specification on field "{ann_name}" must be set on outermost annotation to take effect.', - UserWarning, - ) - return - - -def rebuild_model_fields( - cls: type[BaseModel], - *, - ns_resolver: NsResolver, - typevars_map: Mapping[TypeVar, Any], -) -> dict[str, FieldInfo]: - """Rebuild the (already present) model fields by trying to reevaluate annotations. - - This function should be called whenever a model with incomplete fields is encountered. - - Raises: - NameError: If one of the annotations failed to evaluate. - - Note: - This function *doesn't* mutate the model fields in place, as it can be called during - schema generation, where you don't want to mutate other model's fields. - """ - FieldInfo_ = import_cached_field_info() - - rebuilt_fields: dict[str, FieldInfo] = {} - with ns_resolver.push(cls): - for f_name, field_info in cls.__pydantic_fields__.items(): - if field_info._complete: - rebuilt_fields[f_name] = field_info - else: - existing_desc = field_info.description - ann = _typing_extra.eval_type( - field_info._original_annotation, - *ns_resolver.types_namespace, - ) - ann = _generics.replace_types(ann, typevars_map) - - if (assign := field_info._original_assignment) is PydanticUndefined: - new_field = FieldInfo_.from_annotation(ann, _source=AnnotationSource.CLASS) - else: - new_field = FieldInfo_.from_annotated_attribute(ann, assign, _source=AnnotationSource.CLASS) - # The description might come from the docstring if `use_attribute_docstrings` was `True`: - new_field.description = new_field.description if new_field.description is not None else existing_desc - rebuilt_fields[f_name] = new_field - - return rebuilt_fields + if not is_finalvar(type_): + return False + elif val is PydanticUndefined: + return False + elif isinstance(val, FieldInfo) and (val.default is PydanticUndefined and val.default_factory is None): + return False + else: + return True def collect_dataclass_fields( - cls: type[StandardDataclass], - *, - ns_resolver: NsResolver | None = None, - typevars_map: dict[Any, Any] | None = None, - config_wrapper: ConfigWrapper | None = None, + cls: type[StandardDataclass], types_namespace: dict[str, Any] | None, *, typevars_map: dict[Any, Any] | None = None ) -> dict[str, FieldInfo]: """Collect the fields of a dataclass. Args: cls: dataclass. - ns_resolver: Namespace resolver to use when getting dataclass annotations. - Defaults to an empty instance. + types_namespace: Optional extra namespace to look for types in. typevars_map: A dictionary mapping type variables to their concrete types. - config_wrapper: The config wrapper instance. Returns: The dataclass fields. """ - FieldInfo_ = import_cached_field_info() + from ..fields import FieldInfo fields: dict[str, FieldInfo] = {} - ns_resolver = ns_resolver or NsResolver() - dataclass_fields = cls.__dataclass_fields__ + dataclass_fields: dict[str, dataclasses.Field] = cls.__dataclass_fields__ + cls_localns = dict(vars(cls)) # this matches get_cls_type_hints_lenient, but all tests pass with `= None` instead - # The logic here is similar to `_typing_extra.get_cls_type_hints`, - # although we do it manually as stdlib dataclasses already have annotations - # collected in each class: - for base in reversed(cls.__mro__): - if not dataclasses.is_dataclass(base): + for ann_name, dataclass_field in dataclass_fields.items(): + ann_type = _typing_extra.eval_type_lenient(dataclass_field.type, types_namespace, cls_localns) + if is_classvar(ann_type): continue - with ns_resolver.push(base): - for ann_name, dataclass_field in dataclass_fields.items(): - if ann_name not in base.__dict__.get('__annotations__', {}): - # `__dataclass_fields__`contains every field, even the ones from base classes. - # Only collect the ones defined on `base`. - continue + if not dataclass_field.init and dataclass_field.default_factory == dataclasses.MISSING: + # TODO: We should probably do something with this so that validate_assignment behaves properly + # Issue: https://github.com/pydantic/pydantic/issues/5470 + continue - globalns, localns = ns_resolver.types_namespace - ann_type, evaluated = _typing_extra.try_eval_type(dataclass_field.type, globalns, localns) + if isinstance(dataclass_field.default, FieldInfo): + if dataclass_field.default.init_var: + # TODO: same note as above + continue + field_info = FieldInfo.from_annotated_attribute(ann_type, dataclass_field.default) + else: + field_info = FieldInfo.from_annotated_attribute(ann_type, dataclass_field) + fields[ann_name] = field_info - if _typing_extra.is_classvar_annotation(ann_type): - continue - - if ( - not dataclass_field.init - and dataclass_field.default is dataclasses.MISSING - and dataclass_field.default_factory is dataclasses.MISSING - ): - # TODO: We should probably do something with this so that validate_assignment behaves properly - # Issue: https://github.com/pydantic/pydantic/issues/5470 - continue - - if isinstance(dataclass_field.default, FieldInfo_): - if dataclass_field.default.init_var: - if dataclass_field.default.init is False: - raise PydanticUserError( - f'Dataclass field {ann_name} has init=False and init_var=True, but these are mutually exclusive.', - code='clashing-init-and-init-var', - ) - - # TODO: same note as above re validate_assignment - continue - field_info = FieldInfo_.from_annotated_attribute( - ann_type, dataclass_field.default, _source=AnnotationSource.DATACLASS - ) - field_info._original_assignment = dataclass_field.default - else: - field_info = FieldInfo_.from_annotated_attribute( - ann_type, dataclass_field, _source=AnnotationSource.DATACLASS - ) - field_info._original_assignment = dataclass_field - - if not evaluated: - field_info._complete = False - field_info._original_annotation = ann_type - - fields[ann_name] = field_info - - if field_info.default is not PydanticUndefined and isinstance( - getattr(cls, ann_name, field_info), FieldInfo_ - ): - # We need this to fix the default when the "default" from __dataclass_fields__ is a pydantic.FieldInfo - setattr(cls, ann_name, field_info.default) + if field_info.default is not PydanticUndefined and isinstance(getattr(cls, ann_name, field_info), FieldInfo): + # We need this to fix the default when the "default" from __dataclass_fields__ is a pydantic.FieldInfo + setattr(cls, ann_name, field_info.default) if typevars_map: for field in fields.values(): - # We don't pass any ns, as `field.annotation` - # was already evaluated. TODO: is this method relevant? - # Can't we juste use `_generics.replace_types`? - field.apply_typevars_map(typevars_map) - - if config_wrapper is not None and config_wrapper.use_attribute_docstrings: - _update_fields_from_docstrings( - cls, - fields, - # We can't rely on the (more reliable) frame inspection method - # for stdlib dataclasses: - use_inspect=not hasattr(cls, '__is_pydantic_dataclass__'), - ) + field.apply_typevars_map(typevars_map, types_namespace) return fields -def rebuild_dataclass_fields( - cls: type[PydanticDataclass], - *, - config_wrapper: ConfigWrapper, - ns_resolver: NsResolver, - typevars_map: Mapping[TypeVar, Any], -) -> dict[str, FieldInfo]: - """Rebuild the (already present) dataclass fields by trying to reevaluate annotations. - - This function should be called whenever a dataclass with incomplete fields is encountered. - - Raises: - NameError: If one of the annotations failed to evaluate. - - Note: - This function *doesn't* mutate the dataclass fields in place, as it can be called during - schema generation, where you don't want to mutate other dataclass's fields. - """ - FieldInfo_ = import_cached_field_info() - - rebuilt_fields: dict[str, FieldInfo] = {} - with ns_resolver.push(cls): - for f_name, field_info in cls.__pydantic_fields__.items(): - if field_info._complete: - rebuilt_fields[f_name] = field_info - else: - existing_desc = field_info.description - ann = _typing_extra.eval_type( - field_info._original_annotation, - *ns_resolver.types_namespace, - ) - ann = _generics.replace_types(ann, typevars_map) - new_field = FieldInfo_.from_annotated_attribute( - ann, - field_info._original_assignment, - _source=AnnotationSource.DATACLASS, - ) - - # The description might come from the docstring if `use_attribute_docstrings` was `True`: - new_field.description = new_field.description if new_field.description is not None else existing_desc - rebuilt_fields[f_name] = new_field - - return rebuilt_fields - - def is_valid_field_name(name: str) -> bool: return not name.startswith('_') def is_valid_privateattr_name(name: str) -> bool: return name.startswith('_') and not name.startswith('__') - - -def takes_validated_data_argument( - default_factory: Callable[[], Any] | Callable[[dict[str, Any]], Any], -) -> TypeIs[Callable[[dict[str, Any]], Any]]: - """Whether the provided default factory callable has a validated data parameter.""" - try: - sig = signature(default_factory) - except (ValueError, TypeError): - # `inspect.signature` might not be able to infer a signature, e.g. with C objects. - # In this case, we assume no data argument is present: - return False - - parameters = list(sig.parameters.values()) - - return len(parameters) == 1 and can_be_positional(parameters[0]) and parameters[0].default is Parameter.empty diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_forward_ref.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_forward_ref.py index 231f81d..edf4baa 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_forward_ref.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_forward_ref.py @@ -1,7 +1,6 @@ from __future__ import annotations as _annotations from dataclasses import dataclass -from typing import Union @dataclass @@ -15,9 +14,3 @@ class PydanticRecursiveRef: """Defining __call__ is necessary for the `typing` module to let you use an instance of this class as the result of resolving a standard ForwardRef. """ - - def __or__(self, other): - return Union[self, other] # type: ignore - - def __ror__(self, other): - return Union[other, self] # type: ignore diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py index 0451228..e48d21d 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.py @@ -1,78 +1,64 @@ """Convert python types to pydantic-core schema.""" - from __future__ import annotations as _annotations import collections.abc import dataclasses -import datetime import inspect -import os -import pathlib import re import sys import typing import warnings -from collections.abc import Generator, Iterable, Iterator, Mapping from contextlib import contextmanager -from copy import copy -from decimal import Decimal +from copy import copy, deepcopy from enum import Enum -from fractions import Fraction from functools import partial from inspect import Parameter, _ParameterKind, signature -from ipaddress import IPv4Address, IPv4Interface, IPv4Network, IPv6Address, IPv6Interface, IPv6Network from itertools import chain from operator import attrgetter -from types import FunctionType, GenericAlias, LambdaType, MethodType +from types import FunctionType, LambdaType, MethodType from typing import ( TYPE_CHECKING, Any, Callable, - Final, + Dict, ForwardRef, - Literal, + Iterable, + Iterator, + Mapping, + Type, TypeVar, Union, cast, overload, ) -from uuid import UUID from warnings import warn -from zoneinfo import ZoneInfo -import typing_extensions -from pydantic_core import ( - CoreSchema, - MultiHostUrl, - PydanticCustomError, - PydanticSerializationUnexpectedValue, - PydanticUndefined, - Url, - core_schema, - to_jsonable_python, -) -from typing_extensions import TypeAlias, TypeAliasType, TypedDict, get_args, get_origin, is_typeddict -from typing_inspection import typing_objects -from typing_inspection.introspection import AnnotationSource, get_literal_values, is_union_origin +from pydantic_core import CoreSchema, PydanticUndefined, core_schema, to_jsonable_python +from typing_extensions import Annotated, Final, Literal, TypeAliasType, TypedDict, get_args, get_origin, is_typeddict -from ..aliases import AliasChoices, AliasGenerator, AliasPath from ..annotated_handlers import GetCoreSchemaHandler, GetJsonSchemaHandler -from ..config import ConfigDict, JsonDict, JsonEncoder, JsonSchemaExtraCallable +from ..config import ConfigDict, JsonEncoder from ..errors import PydanticSchemaGenerationError, PydanticUndefinedAnnotation, PydanticUserError -from ..functional_validators import AfterValidator, BeforeValidator, FieldValidatorModes, PlainValidator, WrapValidator +from ..fields import AliasChoices, AliasPath, FieldInfo from ..json_schema import JsonSchemaValue from ..version import version_short from ..warnings import PydanticDeprecatedSince20 -from . import _decorators, _discriminated_union, _known_annotated_metadata, _repr, _typing_extra +from . import _decorators, _discriminated_union, _known_annotated_metadata, _typing_extra from ._config import ConfigWrapper, ConfigWrapperStack -from ._core_metadata import CoreMetadata, update_core_metadata +from ._core_metadata import ( + CoreMetadataHandler, + build_metadata_dict, +) from ._core_utils import ( + NEEDS_APPLY_DISCRIMINATED_UNION_METADATA_KEY, + CoreSchemaOrField, + define_expected_missing_refs, get_ref, get_type_ref, is_list_like_schema_with_items_schema, - validate_core_schema, ) from ._decorators import ( + ComputedFieldInfo, Decorator, DecoratorInfos, FieldSerializerDecoratorInfo, @@ -86,30 +72,23 @@ from ._decorators import ( inspect_model_serializer, inspect_validator, ) -from ._docs_extraction import extract_docstrings_from_cls -from ._fields import ( - collect_dataclass_fields, - rebuild_dataclass_fields, - rebuild_model_fields, - takes_validated_data_argument, -) +from ._fields import collect_dataclass_fields, get_type_hints_infer_globalns from ._forward_ref import PydanticRecursiveRef -from ._generics import get_standard_typevars_map, replace_types -from ._import_utils import import_cached_base_model, import_cached_field_info -from ._mock_val_ser import MockCoreSchema -from ._namespace_utils import NamespacesTuple, NsResolver -from ._schema_gather import MissingDefinitionError, gather_schemas_for_cleaning -from ._schema_generation_shared import CallbackGetCoreSchemaHandler -from ._utils import lenient_issubclass, smart_deepcopy +from ._generics import get_standard_typevars_map, has_instance_in_type, recursively_defined_type_refs, replace_types +from ._schema_generation_shared import ( + CallbackGetCoreSchemaHandler, +) +from ._typing_extra import is_finalvar +from ._utils import lenient_issubclass if TYPE_CHECKING: - from ..fields import ComputedFieldInfo, FieldInfo from ..main import BaseModel - from ..types import Discriminator + from ..validators import FieldValidatorModes from ._dataclasses import StandardDataclass from ._schema_generation_shared import GetJsonSchemaFunction _SUPPORTS_TYPEDDICT = sys.version_info >= (3, 12) +_AnnotatedType = type(Annotated[int, 123]) FieldDecoratorInfo = Union[ValidatorDecoratorInfo, FieldValidatorDecoratorInfo, FieldSerializerDecoratorInfo] FieldDecoratorInfoType = TypeVar('FieldDecoratorInfoType', bound=FieldDecoratorInfo) @@ -119,55 +98,15 @@ AnyFieldDecorator = Union[ Decorator[FieldSerializerDecoratorInfo], ] -ModifyCoreSchemaWrapHandler: TypeAlias = GetCoreSchemaHandler -GetCoreSchemaFunction: TypeAlias = Callable[[Any, ModifyCoreSchemaWrapHandler], core_schema.CoreSchema] -ParametersCallback: TypeAlias = "Callable[[int, str, Any], Literal['skip'] | None]" +ModifyCoreSchemaWrapHandler = GetCoreSchemaHandler +GetCoreSchemaFunction = Callable[[Any, ModifyCoreSchemaWrapHandler], core_schema.CoreSchema] -TUPLE_TYPES: list[type] = [typing.Tuple, tuple] # noqa: UP006 -LIST_TYPES: list[type] = [typing.List, list, collections.abc.MutableSequence] # noqa: UP006 -SET_TYPES: list[type] = [typing.Set, set, collections.abc.MutableSet] # noqa: UP006 -FROZEN_SET_TYPES: list[type] = [typing.FrozenSet, frozenset, collections.abc.Set] # noqa: UP006 -DICT_TYPES: list[type] = [typing.Dict, dict] # noqa: UP006 -IP_TYPES: list[type] = [IPv4Address, IPv4Interface, IPv4Network, IPv6Address, IPv6Interface, IPv6Network] -SEQUENCE_TYPES: list[type] = [typing.Sequence, collections.abc.Sequence] -ITERABLE_TYPES: list[type] = [typing.Iterable, collections.abc.Iterable, typing.Generator, collections.abc.Generator] -TYPE_TYPES: list[type] = [typing.Type, type] # noqa: UP006 -PATTERN_TYPES: list[type] = [typing.Pattern, re.Pattern] -PATH_TYPES: list[type] = [ - os.PathLike, - pathlib.Path, - pathlib.PurePath, - pathlib.PosixPath, - pathlib.PurePosixPath, - pathlib.PureWindowsPath, -] -MAPPING_TYPES = [ - typing.Mapping, - typing.MutableMapping, - collections.abc.Mapping, - collections.abc.MutableMapping, - collections.OrderedDict, - typing_extensions.OrderedDict, - typing.DefaultDict, # noqa: UP006 - collections.defaultdict, -] -COUNTER_TYPES = [collections.Counter, typing.Counter] -DEQUE_TYPES: list[type] = [collections.deque, typing.Deque] # noqa: UP006 -# Note: This does not play very well with type checkers. For example, -# `a: LambdaType = lambda x: x` will raise a type error by Pyright. -ValidateCallSupportedTypes = Union[ - LambdaType, - FunctionType, - MethodType, - partial, -] - -VALIDATE_CALL_SUPPORTED_TYPES = get_args(ValidateCallSupportedTypes) - -_mode_to_validator: dict[ - FieldValidatorModes, type[BeforeValidator | AfterValidator | PlainValidator | WrapValidator] -] = {'before': BeforeValidator, 'after': AfterValidator, 'plain': PlainValidator, 'wrap': WrapValidator} +TUPLE_TYPES: list[type] = [tuple, typing.Tuple] +LIST_TYPES: list[type] = [list, typing.List, collections.abc.MutableSequence] +SET_TYPES: list[type] = [set, typing.Set, collections.abc.MutableSet] +FROZEN_SET_TYPES: list[type] = [frozenset, typing.FrozenSet, collections.abc.Set] +DICT_TYPES: list[type] = [dict, typing.Dict, collections.abc.MutableMapping, collections.abc.Mapping] def check_validator_fields_against_field_name( @@ -183,8 +122,13 @@ def check_validator_fields_against_field_name( Returns: `True` if field name is in validator fields, `False` otherwise. """ - fields = info.fields - return '*' in fields or field in fields + if isinstance(info, (ValidatorDecoratorInfo, FieldValidatorDecoratorInfo)): + if '*' in info.fields: + return True + for v_field_name in info.fields: + if v_field_name == field: + return True + return False def check_decorator_fields_exist(decorators: Iterable[AnyFieldDecorator], fields: Iterable[str]) -> None: @@ -201,7 +145,7 @@ def check_decorator_fields_exist(decorators: Iterable[AnyFieldDecorator], fields """ fields = set(fields) for dec in decorators: - if '*' in dec.info.fields: + if isinstance(dec.info, (ValidatorDecoratorInfo, FieldValidatorDecoratorInfo)) and '*' in dec.info.fields: continue if dec.info.check_fields is False: continue @@ -227,50 +171,60 @@ def apply_each_item_validators( ) -> core_schema.CoreSchema: # This V1 compatibility shim should eventually be removed - # fail early if each_item_validators is empty - if not each_item_validators: - return schema - # push down any `each_item=True` validators # note that this won't work for any Annotated types that get wrapped by a function validator # but that's okay because that didn't exist in V1 if schema['type'] == 'nullable': schema['schema'] = apply_each_item_validators(schema['schema'], each_item_validators, field_name) return schema - elif schema['type'] == 'tuple': - if (variadic_item_index := schema.get('variadic_item_index')) is not None: - schema['items_schema'][variadic_item_index] = apply_validators( - schema['items_schema'][variadic_item_index], - each_item_validators, - field_name, - ) elif is_list_like_schema_with_items_schema(schema): - inner_schema = schema.get('items_schema', core_schema.any_schema()) + inner_schema = schema.get('items_schema', None) + if inner_schema is None: + inner_schema = core_schema.any_schema() schema['items_schema'] = apply_validators(inner_schema, each_item_validators, field_name) elif schema['type'] == 'dict': - inner_schema = schema.get('values_schema', core_schema.any_schema()) + # push down any `each_item=True` validators onto dict _values_ + # this is super arbitrary but it's the V1 behavior + inner_schema = schema.get('values_schema', None) + if inner_schema is None: + inner_schema = core_schema.any_schema() schema['values_schema'] = apply_validators(inner_schema, each_item_validators, field_name) - else: + elif each_item_validators: raise TypeError( - f'`@validator(..., each_item=True)` cannot be applied to fields with a schema of {schema["type"]}' + f"`@validator(..., each_item=True)` cannot be applied to fields with a schema of {schema['type']}" ) return schema -def _extract_json_schema_info_from_field_info( - info: FieldInfo | ComputedFieldInfo, -) -> tuple[JsonDict | None, JsonDict | JsonSchemaExtraCallable | None]: - json_schema_updates = { - 'title': info.title, - 'description': info.description, - 'deprecated': bool(info.deprecated) or info.deprecated == '' or None, - 'examples': to_jsonable_python(info.examples), - } - json_schema_updates = {k: v for k, v in json_schema_updates.items() if v is not None} - return (json_schema_updates or None, info.json_schema_extra) +def modify_model_json_schema( + schema_or_field: CoreSchemaOrField, handler: GetJsonSchemaHandler, *, cls: Any +) -> JsonSchemaValue: + """Add title and description for model-like classes' JSON schema. + + Args: + schema_or_field: The schema data to generate a JSON schema from. + handler: The `GetCoreSchemaHandler` instance. + cls: The model-like class. + + Returns: + JsonSchemaValue: The updated JSON schema. + """ + json_schema = handler(schema_or_field) + original_schema = handler.resolve_ref_schema(json_schema) + # Preserve the fact that definitions schemas should never have sibling keys: + if '$ref' in original_schema: + ref = original_schema['$ref'] + original_schema.clear() + original_schema['allOf'] = [{'$ref': ref}] + if 'title' not in original_schema: + original_schema['title'] = cls.__name__ + docstring = cls.__doc__ + if docstring and 'description' not in original_schema: + original_schema['description'] = inspect.cleandoc(docstring) + return json_schema -JsonEncoders = dict[type[Any], JsonEncoder] +JsonEncoders = Dict[Type[Any], JsonEncoder] def _add_custom_serialization_from_json_encoders( @@ -307,321 +261,94 @@ def _add_custom_serialization_from_json_encoders( return schema -def _get_first_non_null(a: Any, b: Any) -> Any: - """Return the first argument if it is not None, otherwise return the second argument. - - Use case: serialization_alias (argument a) and alias (argument b) are both defined, and serialization_alias is ''. - This function will return serialization_alias, which is the first argument, even though it is an empty string. - """ - return a if a is not None else b - - -class InvalidSchemaError(Exception): - """The core schema is invalid.""" - - class GenerateSchema: """Generate core schema for a Pydantic model, dataclass and types like `str`, `datetime`, ... .""" __slots__ = ( '_config_wrapper_stack', - '_ns_resolver', + '_types_namespace', '_typevars_map', + '_needs_apply_discriminated_union', + '_has_invalid_schema', 'field_name_stack', - 'model_type_stack', 'defs', ) def __init__( self, config_wrapper: ConfigWrapper, - ns_resolver: NsResolver | None = None, - typevars_map: Mapping[TypeVar, Any] | None = None, + types_namespace: dict[str, Any] | None, + typevars_map: dict[Any, Any] | None = None, ) -> None: - # we need a stack for recursing into nested models + # we need a stack for recursing into child models self._config_wrapper_stack = ConfigWrapperStack(config_wrapper) - self._ns_resolver = ns_resolver or NsResolver() + self._types_namespace = types_namespace self._typevars_map = typevars_map + self._needs_apply_discriminated_union = False + self._has_invalid_schema = False self.field_name_stack = _FieldNameStack() - self.model_type_stack = _ModelTypeStack() self.defs = _Definitions() - def __init_subclass__(cls) -> None: - super().__init_subclass__() - warnings.warn( - 'Subclassing `GenerateSchema` is not supported. The API is highly subject to change in minor versions.', - UserWarning, - stacklevel=2, - ) + @classmethod + def __from_parent( + cls, + config_wrapper_stack: ConfigWrapperStack, + types_namespace: dict[str, Any] | None, + typevars_map: dict[Any, Any] | None, + defs: _Definitions, + ) -> GenerateSchema: + obj = cls.__new__(cls) + obj._config_wrapper_stack = config_wrapper_stack + obj._types_namespace = types_namespace + obj._typevars_map = typevars_map + obj._needs_apply_discriminated_union = False + obj._has_invalid_schema = False + obj.field_name_stack = _FieldNameStack() + obj.defs = defs + return obj @property def _config_wrapper(self) -> ConfigWrapper: return self._config_wrapper_stack.tail @property - def _types_namespace(self) -> NamespacesTuple: - return self._ns_resolver.types_namespace + def _current_generate_schema(self) -> GenerateSchema: + cls = self._config_wrapper.schema_generator or GenerateSchema + return cls.__from_parent( + self._config_wrapper_stack, + self._types_namespace, + self._typevars_map, + self.defs, + ) @property def _arbitrary_types(self) -> bool: return self._config_wrapper.arbitrary_types_allowed + def str_schema(self) -> CoreSchema: + """Generate a CoreSchema for `str`""" + return core_schema.str_schema() + # the following methods can be overridden but should be considered # unstable / private APIs - def _list_schema(self, items_type: Any) -> CoreSchema: + def _list_schema(self, tp: Any, items_type: Any) -> CoreSchema: return core_schema.list_schema(self.generate_schema(items_type)) - def _dict_schema(self, keys_type: Any, values_type: Any) -> CoreSchema: + def _dict_schema(self, tp: Any, keys_type: Any, values_type: Any) -> CoreSchema: return core_schema.dict_schema(self.generate_schema(keys_type), self.generate_schema(values_type)) - def _set_schema(self, items_type: Any) -> CoreSchema: + def _set_schema(self, tp: Any, items_type: Any) -> CoreSchema: return core_schema.set_schema(self.generate_schema(items_type)) - def _frozenset_schema(self, items_type: Any) -> CoreSchema: + def _frozenset_schema(self, tp: Any, items_type: Any) -> CoreSchema: return core_schema.frozenset_schema(self.generate_schema(items_type)) - def _enum_schema(self, enum_type: type[Enum]) -> CoreSchema: - cases: list[Any] = list(enum_type.__members__.values()) + def _tuple_variable_schema(self, tp: Any, items_type: Any) -> CoreSchema: + return core_schema.tuple_variable_schema(self.generate_schema(items_type)) - enum_ref = get_type_ref(enum_type) - description = None if not enum_type.__doc__ else inspect.cleandoc(enum_type.__doc__) - if ( - description == 'An enumeration.' - ): # This is the default value provided by enum.EnumMeta.__new__; don't use it - description = None - js_updates = {'title': enum_type.__name__, 'description': description} - js_updates = {k: v for k, v in js_updates.items() if v is not None} - - sub_type: Literal['str', 'int', 'float'] | None = None - if issubclass(enum_type, int): - sub_type = 'int' - value_ser_type: core_schema.SerSchema = core_schema.simple_ser_schema('int') - elif issubclass(enum_type, str): - # this handles `StrEnum` (3.11 only), and also `Foobar(str, Enum)` - sub_type = 'str' - value_ser_type = core_schema.simple_ser_schema('str') - elif issubclass(enum_type, float): - sub_type = 'float' - value_ser_type = core_schema.simple_ser_schema('float') - else: - # TODO this is an ugly hack, how do we trigger an Any schema for serialization? - value_ser_type = core_schema.plain_serializer_function_ser_schema(lambda x: x) - - if cases: - - def get_json_schema(schema: CoreSchema, handler: GetJsonSchemaHandler) -> JsonSchemaValue: - json_schema = handler(schema) - original_schema = handler.resolve_ref_schema(json_schema) - original_schema.update(js_updates) - return json_schema - - # we don't want to add the missing to the schema if it's the default one - default_missing = getattr(enum_type._missing_, '__func__', None) is Enum._missing_.__func__ # pyright: ignore[reportFunctionMemberAccess] - enum_schema = core_schema.enum_schema( - enum_type, - cases, - sub_type=sub_type, - missing=None if default_missing else enum_type._missing_, - ref=enum_ref, - metadata={'pydantic_js_functions': [get_json_schema]}, - ) - - if self._config_wrapper.use_enum_values: - enum_schema = core_schema.no_info_after_validator_function( - attrgetter('value'), enum_schema, serialization=value_ser_type - ) - - return enum_schema - - else: - - def get_json_schema_no_cases(_, handler: GetJsonSchemaHandler) -> JsonSchemaValue: - json_schema = handler(core_schema.enum_schema(enum_type, cases, sub_type=sub_type, ref=enum_ref)) - original_schema = handler.resolve_ref_schema(json_schema) - original_schema.update(js_updates) - return json_schema - - # Use an isinstance check for enums with no cases. - # The most important use case for this is creating TypeVar bounds for generics that should - # be restricted to enums. This is more consistent than it might seem at first, since you can only - # subclass enum.Enum (or subclasses of enum.Enum) if all parent classes have no cases. - # We use the get_json_schema function when an Enum subclass has been declared with no cases - # so that we can still generate a valid json schema. - return core_schema.is_instance_schema( - enum_type, - metadata={'pydantic_js_functions': [get_json_schema_no_cases]}, - ) - - def _ip_schema(self, tp: Any) -> CoreSchema: - from ._validators import IP_VALIDATOR_LOOKUP, IpType - - ip_type_json_schema_format: dict[type[IpType], str] = { - IPv4Address: 'ipv4', - IPv4Network: 'ipv4network', - IPv4Interface: 'ipv4interface', - IPv6Address: 'ipv6', - IPv6Network: 'ipv6network', - IPv6Interface: 'ipv6interface', - } - - def ser_ip(ip: Any, info: core_schema.SerializationInfo) -> str | IpType: - if not isinstance(ip, (tp, str)): - raise PydanticSerializationUnexpectedValue( - f"Expected `{tp}` but got `{type(ip)}` with value `'{ip}'` - serialized value may not be as expected." - ) - if info.mode == 'python': - return ip - return str(ip) - - return core_schema.lax_or_strict_schema( - lax_schema=core_schema.no_info_plain_validator_function(IP_VALIDATOR_LOOKUP[tp]), - strict_schema=core_schema.json_or_python_schema( - json_schema=core_schema.no_info_after_validator_function(tp, core_schema.str_schema()), - python_schema=core_schema.is_instance_schema(tp), - ), - serialization=core_schema.plain_serializer_function_ser_schema(ser_ip, info_arg=True, when_used='always'), - metadata={ - 'pydantic_js_functions': [lambda _1, _2: {'type': 'string', 'format': ip_type_json_schema_format[tp]}] - }, - ) - - def _path_schema(self, tp: Any, path_type: Any) -> CoreSchema: - if tp is os.PathLike and (path_type not in {str, bytes} and not typing_objects.is_any(path_type)): - raise PydanticUserError( - '`os.PathLike` can only be used with `str`, `bytes` or `Any`', code='schema-for-unknown-type' - ) - - path_constructor = pathlib.PurePath if tp is os.PathLike else tp - strict_inner_schema = ( - core_schema.bytes_schema(strict=True) if (path_type is bytes) else core_schema.str_schema(strict=True) - ) - lax_inner_schema = core_schema.bytes_schema() if (path_type is bytes) else core_schema.str_schema() - - def path_validator(input_value: str | bytes) -> os.PathLike[Any]: # type: ignore - try: - if path_type is bytes: - if isinstance(input_value, bytes): - try: - input_value = input_value.decode() - except UnicodeDecodeError as e: - raise PydanticCustomError('bytes_type', 'Input must be valid bytes') from e - else: - raise PydanticCustomError('bytes_type', 'Input must be bytes') - elif not isinstance(input_value, str): - raise PydanticCustomError('path_type', 'Input is not a valid path') - - return path_constructor(input_value) # type: ignore - except TypeError as e: - raise PydanticCustomError('path_type', 'Input is not a valid path') from e - - def ser_path(path: Any, info: core_schema.SerializationInfo) -> str | os.PathLike[Any]: - if not isinstance(path, (tp, str)): - raise PydanticSerializationUnexpectedValue( - f"Expected `{tp}` but got `{type(path)}` with value `'{path}'` - serialized value may not be as expected." - ) - if info.mode == 'python': - return path - return str(path) - - instance_schema = core_schema.json_or_python_schema( - json_schema=core_schema.no_info_after_validator_function(path_validator, lax_inner_schema), - python_schema=core_schema.is_instance_schema(tp), - ) - - schema = core_schema.lax_or_strict_schema( - lax_schema=core_schema.union_schema( - [ - instance_schema, - core_schema.no_info_after_validator_function(path_validator, strict_inner_schema), - ], - custom_error_type='path_type', - custom_error_message=f'Input is not a valid path for {tp}', - ), - strict_schema=instance_schema, - serialization=core_schema.plain_serializer_function_ser_schema(ser_path, info_arg=True, when_used='always'), - metadata={'pydantic_js_functions': [lambda source, handler: {**handler(source), 'format': 'path'}]}, - ) - return schema - - def _deque_schema(self, items_type: Any) -> CoreSchema: - from ._serializers import serialize_sequence_via_list - from ._validators import deque_validator - - item_type_schema = self.generate_schema(items_type) - - # we have to use a lax list schema here, because we need to validate the deque's - # items via a list schema, but it's ok if the deque itself is not a list - list_schema = core_schema.list_schema(item_type_schema, strict=False) - - check_instance = core_schema.json_or_python_schema( - json_schema=list_schema, - python_schema=core_schema.is_instance_schema(collections.deque, cls_repr='Deque'), - ) - - lax_schema = core_schema.no_info_wrap_validator_function(deque_validator, list_schema) - - return core_schema.lax_or_strict_schema( - lax_schema=lax_schema, - strict_schema=core_schema.chain_schema([check_instance, lax_schema]), - serialization=core_schema.wrap_serializer_function_ser_schema( - serialize_sequence_via_list, schema=item_type_schema, info_arg=True - ), - ) - - def _mapping_schema(self, tp: Any, keys_type: Any, values_type: Any) -> CoreSchema: - from ._validators import MAPPING_ORIGIN_MAP, defaultdict_validator, get_defaultdict_default_default_factory - - mapped_origin = MAPPING_ORIGIN_MAP[tp] - keys_schema = self.generate_schema(keys_type) - values_schema = self.generate_schema(values_type) - dict_schema = core_schema.dict_schema(keys_schema, values_schema, strict=False) - - if mapped_origin is dict: - schema = dict_schema - else: - check_instance = core_schema.json_or_python_schema( - json_schema=dict_schema, - python_schema=core_schema.is_instance_schema(mapped_origin), - ) - - if tp is collections.defaultdict: - default_default_factory = get_defaultdict_default_default_factory(values_type) - coerce_instance_wrap = partial( - core_schema.no_info_wrap_validator_function, - partial(defaultdict_validator, default_default_factory=default_default_factory), - ) - else: - coerce_instance_wrap = partial(core_schema.no_info_after_validator_function, mapped_origin) - - lax_schema = coerce_instance_wrap(dict_schema) - strict_schema = core_schema.chain_schema([check_instance, lax_schema]) - - schema = core_schema.lax_or_strict_schema( - lax_schema=lax_schema, - strict_schema=strict_schema, - serialization=core_schema.wrap_serializer_function_ser_schema( - lambda v, h: h(v), schema=dict_schema, info_arg=False - ), - ) - - return schema - - def _fraction_schema(self) -> CoreSchema: - """Support for [`fractions.Fraction`][fractions.Fraction].""" - from ._validators import fraction_validator - - # TODO: note, this is a fairly common pattern, re lax / strict for attempted type coercion, - # can we use a helper function to reduce boilerplate? - return core_schema.lax_or_strict_schema( - lax_schema=core_schema.no_info_plain_validator_function(fraction_validator), - strict_schema=core_schema.json_or_python_schema( - json_schema=core_schema.no_info_plain_validator_function(fraction_validator), - python_schema=core_schema.is_instance_schema(Fraction), - ), - # use str serialization to guarantee round trip behavior - serialization=core_schema.to_string_ser_schema(when_used='always'), - metadata={'pydantic_js_functions': [lambda _1, _2: {'type': 'string', 'format': 'fraction'}]}, - ) + def _tuple_positional_schema(self, tp: Any, items_types: list[Any]) -> CoreSchema: + items_schemas = [self.generate_schema(items_type) for items_type in items_types] + return core_schema.tuple_positional_schema(items_schemas) def _arbitrary_type_schema(self, tp: Any) -> CoreSchema: if not isinstance(tp, type): @@ -646,49 +373,58 @@ class GenerateSchema: ' `__get_pydantic_core_schema__` on `` otherwise to avoid infinite recursion.' ) - def _apply_discriminator_to_union( - self, schema: CoreSchema, discriminator: str | Discriminator | None - ) -> CoreSchema: - if discriminator is None: - return schema + def _apply_discriminator_to_union(self, schema: CoreSchema, discriminator: Any) -> CoreSchema: try: return _discriminated_union.apply_discriminator( schema, discriminator, - self.defs._definitions, ) except _discriminated_union.MissingDefinitionForUnionRef: # defer until defs are resolved - _discriminated_union.set_discriminator_in_metadata( + _discriminated_union.set_discriminator( schema, discriminator, ) + if 'metadata' in schema: + schema['metadata'][NEEDS_APPLY_DISCRIMINATED_UNION_METADATA_KEY] = True + else: + schema['metadata'] = {NEEDS_APPLY_DISCRIMINATED_UNION_METADATA_KEY: True} + self._needs_apply_discriminated_union = True return schema - def clean_schema(self, schema: CoreSchema) -> CoreSchema: - schema = self.defs.finalize_schema(schema) - schema = validate_core_schema(schema) - return schema + def collect_definitions(self, schema: CoreSchema) -> CoreSchema: + ref = cast('str | None', schema.get('ref', None)) + if ref: + self.defs.definitions[ref] = schema + if 'ref' in schema: + schema = core_schema.definition_reference_schema(schema['ref']) + return core_schema.definitions_schema( + schema, + list(self.defs.definitions.values()), + ) def _add_js_function(self, metadata_schema: CoreSchema, js_function: Callable[..., Any]) -> None: - metadata = metadata_schema.get('metadata', {}) + metadata = CoreMetadataHandler(metadata_schema).metadata pydantic_js_functions = metadata.setdefault('pydantic_js_functions', []) # because of how we generate core schemas for nested generic models # we can end up adding `BaseModel.__get_pydantic_json_schema__` multiple times # this check may fail to catch duplicates if the function is a `functools.partial` - # or something like that, but if it does it'll fail by inserting the duplicate + # or something like that + # but if it does it'll fail by inserting the duplicate if js_function not in pydantic_js_functions: pydantic_js_functions.append(js_function) - metadata_schema['metadata'] = metadata def generate_schema( self, obj: Any, + from_dunder_get_core_schema: bool = True, ) -> core_schema.CoreSchema: """Generate core schema. Args: obj: The object to generate core schema for. + from_dunder_get_core_schema: Whether to generate schema from either the + `__get_pydantic_core_schema__` function or `__pydantic_core_schema__` property. Returns: The generated core schema. @@ -699,125 +435,77 @@ class GenerateSchema: PydanticSchemaGenerationError: If it is not possible to generate pydantic-core schema. TypeError: - - If `alias_generator` returns a disallowed type (must be str, AliasPath or AliasChoices). + - If `alias_generator` returns a non-string value. - If V1 style validator with `each_item=True` applied on a wrong field. PydanticUserError: - If `typing.TypedDict` is used instead of `typing_extensions.TypedDict` on Python < 3.12. - If `__modify_schema__` method is used instead of `__get_pydantic_json_schema__`. """ - schema = self._generate_schema_from_get_schema_method(obj, obj) + schema: CoreSchema | None = None + + if from_dunder_get_core_schema: + from_property = self._generate_schema_from_property(obj, obj) + if from_property is not None: + schema = from_property if schema is None: - schema = self._generate_schema_inner(obj) + schema = self._generate_schema(obj) - metadata_js_function = _extract_get_pydantic_json_schema(obj) + metadata_js_function = _extract_get_pydantic_json_schema(obj, schema) if metadata_js_function is not None: - metadata_schema = resolve_original_schema(schema, self.defs) + metadata_schema = resolve_original_schema(schema, self.defs.definitions) if metadata_schema: self._add_js_function(metadata_schema, metadata_js_function) schema = _add_custom_serialization_from_json_encoders(self._config_wrapper.json_encoders, obj, schema) + schema = self._post_process_generated_schema(schema) + return schema def _model_schema(self, cls: type[BaseModel]) -> core_schema.CoreSchema: """Generate schema for a Pydantic model.""" - BaseModel_ = import_cached_base_model() - with self.defs.get_schema_or_ref(cls) as (model_ref, maybe_schema): if maybe_schema is not None: return maybe_schema - schema = cls.__dict__.get('__pydantic_core_schema__') - if schema is not None and not isinstance(schema, MockCoreSchema): - if schema['type'] == 'definitions': - schema = self.defs.unpack_definitions(schema) - ref = get_ref(schema) - if ref: - return self.defs.create_definition_reference_schema(schema) - else: - return schema - + fields = cls.model_fields + decorators = cls.__pydantic_decorators__ + computed_fields = decorators.computed_fields + check_decorator_fields_exist( + chain( + decorators.field_validators.values(), + decorators.field_serializers.values(), + decorators.validators.values(), + ), + {*fields.keys(), *computed_fields.keys()}, + ) config_wrapper = ConfigWrapper(cls.model_config, check=False) + core_config = config_wrapper.core_config(cls) + metadata = build_metadata_dict(js_functions=[partial(modify_model_json_schema, cls=cls)]) - with self._config_wrapper_stack.push(config_wrapper), self._ns_resolver.push(cls): - core_config = self._config_wrapper.core_config(title=cls.__name__) + model_validators = decorators.model_validators.values() - if cls.__pydantic_fields_complete__ or cls is BaseModel_: - fields = getattr(cls, '__pydantic_fields__', {}) - else: - if not hasattr(cls, '__pydantic_fields__'): - # This happens when we have a loop in the schema generation: - # class Base[T](BaseModel): - # t: T - # - # class Other(BaseModel): - # b: 'Base[Other]' - # When we build fields for `Other`, we evaluate the forward annotation. - # At this point, `Other` doesn't have the model fields set. We create - # `Base[Other]`; model fields are successfully built, and we try to generate - # a schema for `t: Other`. As `Other.__pydantic_fields__` aren't set, we abort. - raise PydanticUndefinedAnnotation( - name=cls.__name__, - message=f'Class {cls.__name__!r} is not defined', - ) - try: - fields = rebuild_model_fields( - cls, - ns_resolver=self._ns_resolver, - typevars_map=self._typevars_map or {}, - ) - except NameError as e: - raise PydanticUndefinedAnnotation.from_name_error(e) from e - - decorators = cls.__pydantic_decorators__ - computed_fields = decorators.computed_fields - check_decorator_fields_exist( - chain( - decorators.field_validators.values(), - decorators.field_serializers.values(), - decorators.validators.values(), - ), - {*fields.keys(), *computed_fields.keys()}, - ) - - model_validators = decorators.model_validators.values() - - extras_schema = None - extras_keys_schema = None - if core_config.get('extra_fields_behavior') == 'allow': - assert cls.__mro__[0] is cls - assert cls.__mro__[-1] is object - for candidate_cls in cls.__mro__[:-1]: - extras_annotation = getattr(candidate_cls, '__annotations__', {}).get( - '__pydantic_extra__', None - ) - if extras_annotation is not None: - if isinstance(extras_annotation, str): - extras_annotation = _typing_extra.eval_type_backport( - _typing_extra._make_forward_ref( - extras_annotation, is_argument=False, is_class=True - ), - *self._types_namespace, - ) - tp = get_origin(extras_annotation) - if tp not in DICT_TYPES: - raise PydanticSchemaGenerationError( - 'The type annotation for `__pydantic_extra__` must be `dict[str, ...]`' - ) - extra_keys_type, extra_items_type = self._get_args_resolving_forward_refs( - extras_annotation, - required=True, + extras_schema = None + if core_config.get('extra_fields_behavior') == 'allow': + for tp in (cls, *cls.__mro__): + extras_annotation = cls.__annotations__.get('__pydantic_extra__', None) + if extras_annotation is not None: + tp = get_origin(extras_annotation) + if tp not in (Dict, dict): + raise PydanticSchemaGenerationError( + 'The type annotation for `__pydantic_extra__` must be `Dict[str, ...]`' ) - if extra_keys_type is not str: - extras_keys_schema = self.generate_schema(extra_keys_type) - if not typing_objects.is_any(extra_items_type): - extras_schema = self.generate_schema(extra_items_type) - if extras_keys_schema is not None or extras_schema is not None: - break - - generic_origin: type[BaseModel] | None = getattr(cls, '__pydantic_generic_metadata__', {}).get('origin') + extra_items_type = self._get_args_resolving_forward_refs( + cls.__annotations__['__pydantic_extra__'], + required=True, + )[1] + if extra_items_type is not Any: + extras_schema = self.generate_schema(extra_items_type) + break + with self._config_wrapper_stack.push(config_wrapper): + self = self._current_generate_schema if cls.__pydantic_root_model__: root_field = self._common_field_schema('root', fields['root'], decorators) inner_schema = root_field['schema'] @@ -825,12 +513,12 @@ class GenerateSchema: model_schema = core_schema.model_schema( cls, inner_schema, - generic_origin=generic_origin, custom_init=getattr(cls, '__pydantic_custom_init__', None), root_model=True, post_init=getattr(cls, '__pydantic_post_init__', None), config=core_config, ref=model_ref, + metadata=metadata, ) else: fields_schema: core_schema.CoreSchema = core_schema.model_fields_schema( @@ -840,91 +528,89 @@ class GenerateSchema: for d in computed_fields.values() ], extras_schema=extras_schema, - extras_keys_schema=extras_keys_schema, model_name=cls.__name__, ) inner_schema = apply_validators(fields_schema, decorators.root_validators.values(), None) + new_inner_schema = define_expected_missing_refs(inner_schema, recursively_defined_type_refs()) + if new_inner_schema is not None: + inner_schema = new_inner_schema inner_schema = apply_model_validators(inner_schema, model_validators, 'inner') model_schema = core_schema.model_schema( cls, inner_schema, - generic_origin=generic_origin, custom_init=getattr(cls, '__pydantic_custom_init__', None), root_model=False, post_init=getattr(cls, '__pydantic_post_init__', None), config=core_config, ref=model_ref, + metadata=metadata, ) schema = self._apply_model_serializers(model_schema, decorators.model_serializers.values()) schema = apply_model_validators(schema, model_validators, 'outer') - return self.defs.create_definition_reference_schema(schema) + self.defs.definitions[model_ref] = self._post_process_generated_schema(schema) + return core_schema.definition_reference_schema(model_ref) - def _resolve_self_type(self, obj: Any) -> Any: - obj = self.model_type_stack.get() - if obj is None: - raise PydanticUserError('`typing.Self` is invalid in this context', code='invalid-self-type') - return obj + def _unpack_refs_defs(self, schema: CoreSchema) -> CoreSchema: + """Unpack all 'definitions' schemas into `GenerateSchema.defs.definitions` + and return the inner schema. + """ - def _generate_schema_from_get_schema_method(self, obj: Any, source: Any) -> core_schema.CoreSchema | None: - BaseModel_ = import_cached_base_model() + def get_ref(s: CoreSchema) -> str: + return s['ref'] # type: ignore + if schema['type'] == 'definitions': + self.defs.definitions.update({get_ref(s): s for s in schema['definitions']}) + schema = schema['schema'] + return schema + + def _generate_schema_from_property(self, obj: Any, source: Any) -> core_schema.CoreSchema | None: + """Try to generate schema from either the `__get_pydantic_core_schema__` function or + `__pydantic_core_schema__` property. + + Note: `__get_pydantic_core_schema__` takes priority so it can + decide whether to use a `__pydantic_core_schema__` attribute, or generate a fresh schema. + """ + # avoid calling `__get_pydantic_core_schema__` if we've already visited this object + with self.defs.get_schema_or_ref(obj) as (_, maybe_schema): + if maybe_schema is not None: + return maybe_schema + if obj is source: + ref_mode = 'unpack' + else: + ref_mode = 'to-def' + + schema: CoreSchema get_schema = getattr(obj, '__get_pydantic_core_schema__', None) - is_base_model_get_schema = ( - getattr(get_schema, '__func__', None) is BaseModel_.__get_pydantic_core_schema__.__func__ # pyright: ignore[reportFunctionMemberAccess] - ) - - if ( - get_schema is not None - # BaseModel.__get_pydantic_core_schema__ is defined for backwards compatibility, - # to allow existing code to call `super().__get_pydantic_core_schema__` in Pydantic - # model that overrides `__get_pydantic_core_schema__`. However, it raises a deprecation - # warning stating that the method will be removed, and during the core schema gen we actually - # don't call the method: - and not is_base_model_get_schema - ): - # Some referenceable types might have a `__get_pydantic_core_schema__` method - # defined on it by users (e.g. on a dataclass). This generally doesn't play well - # as these types are already recognized by the `GenerateSchema` class and isn't ideal - # as we might end up calling `get_schema_or_ref` (expensive) on types that are actually - # not referenceable: - with self.defs.get_schema_or_ref(obj) as (_, maybe_schema): - if maybe_schema is not None: - return maybe_schema - - if obj is source: - ref_mode = 'unpack' - else: - ref_mode = 'to-def' - schema = get_schema( - source, CallbackGetCoreSchemaHandler(self._generate_schema_inner, self, ref_mode=ref_mode) + if get_schema is None: + validators = getattr(obj, '__get_validators__', None) + if validators is None: + return None + warn( + '`__get_validators__` is deprecated and will be removed, use `__get_pydantic_core_schema__` instead.', + PydanticDeprecatedSince20, ) - if schema['type'] == 'definitions': - schema = self.defs.unpack_definitions(schema) - - ref = get_ref(schema) - if ref: - return self.defs.create_definition_reference_schema(schema) - - # Note: if schema is of type `'definition-ref'`, we might want to copy it as a - # safety measure (because these are inlined in place -- i.e. mutated directly) - return schema - - if get_schema is None and (validators := getattr(obj, '__get_validators__', None)) is not None: - from pydantic.v1 import BaseModel as BaseModelV1 - - if issubclass(obj, BaseModelV1): - warn( - f'Mixing V1 models and V2 models (or constructs, like `TypeAdapter`) is not supported. Please upgrade `{obj.__name__}` to V2.', - UserWarning, - ) + schema = core_schema.chain_schema([core_schema.with_info_plain_validator_function(v) for v in validators()]) + else: + if len(inspect.signature(get_schema).parameters) == 1: + # (source) -> CoreSchema + schema = get_schema(source) else: - warn( - '`__get_validators__` is deprecated and will be removed, use `__get_pydantic_core_schema__` instead.', - PydanticDeprecatedSince20, + schema = get_schema( + source, CallbackGetCoreSchemaHandler(self._generate_schema, self, ref_mode=ref_mode) ) - return core_schema.chain_schema([core_schema.with_info_plain_validator_function(v) for v in validators()]) + + schema = self._unpack_refs_defs(schema) + + ref = get_ref(schema) + if ref: + self.defs.definitions[ref] = self._post_process_generated_schema(schema) + return core_schema.definition_reference_schema(ref) + + schema = self._post_process_generated_schema(schema) + + return schema def _resolve_forward_ref(self, obj: Any) -> Any: # we assume that types_namespace has the target of forward references in its scope, @@ -935,7 +621,7 @@ class GenerateSchema: # class Model(BaseModel): # x: SomeImportedTypeAliasWithAForwardReference try: - obj = _typing_extra.eval_type_backport(obj, *self._types_namespace) + obj = _typing_extra.evaluate_fwd_ref(obj, globalns=self._types_namespace) except NameError as e: raise PydanticUndefinedAnnotation.from_name_error(e) from e @@ -949,18 +635,17 @@ class GenerateSchema: return obj @overload - def _get_args_resolving_forward_refs(self, obj: Any, required: Literal[True]) -> tuple[Any, ...]: ... + def _get_args_resolving_forward_refs(self, obj: Any, required: Literal[True]) -> tuple[Any, ...]: + ... @overload - def _get_args_resolving_forward_refs(self, obj: Any) -> tuple[Any, ...] | None: ... + def _get_args_resolving_forward_refs(self, obj: Any) -> tuple[Any, ...] | None: + ... def _get_args_resolving_forward_refs(self, obj: Any, required: bool = False) -> tuple[Any, ...] | None: args = get_args(obj) if args: - if isinstance(obj, GenericAlias): - # PEP 585 generic aliases don't convert args to ForwardRefs, unlike `typing.List/Dict` etc. - args = (_typing_extra._make_forward_ref(a) if isinstance(a, str) else a for a in args) - args = tuple(self._resolve_forward_ref(a) if isinstance(a, ForwardRef) else a for a in args) + args = tuple([self._resolve_forward_ref(a) if isinstance(a, ForwardRef) else a for a in args]) elif required: # pragma: no cover raise TypeError(f'Expected {obj} to have generic parameters but it had none') return args @@ -980,11 +665,29 @@ class GenerateSchema: raise TypeError(f'Expected two type arguments for {origin}, got 1') return args[0], args[1] - def _generate_schema_inner(self, obj: Any) -> core_schema.CoreSchema: - if typing_objects.is_self(obj): - obj = self._resolve_self_type(obj) + def _post_process_generated_schema(self, schema: core_schema.CoreSchema) -> core_schema.CoreSchema: + if 'metadata' in schema: + metadata = schema['metadata'] + metadata[NEEDS_APPLY_DISCRIMINATED_UNION_METADATA_KEY] = self._needs_apply_discriminated_union + else: + schema['metadata'] = { + NEEDS_APPLY_DISCRIMINATED_UNION_METADATA_KEY: self._needs_apply_discriminated_union, + } + return schema - if typing_objects.is_annotated(get_origin(obj)): + def _generate_schema(self, obj: Any) -> core_schema.CoreSchema: + """Recursively generate a pydantic-core schema for any supported python type.""" + has_invalid_schema = self._has_invalid_schema + self._has_invalid_schema = False + needs_apply_discriminated_union = self._needs_apply_discriminated_union + self._needs_apply_discriminated_union = False + schema = self._post_process_generated_schema(self._generate_schema_inner(obj)) + self._has_invalid_schema = self._has_invalid_schema or has_invalid_schema + self._needs_apply_discriminated_union = self._needs_apply_discriminated_union or needs_apply_discriminated_union + return schema + + def _generate_schema_inner(self, obj: Any) -> core_schema.CoreSchema: + if isinstance(obj, _AnnotatedType): return self._annotated_schema(obj) if isinstance(obj, dict): @@ -997,11 +700,10 @@ class GenerateSchema: if isinstance(obj, ForwardRef): return self.generate_schema(self._resolve_forward_ref(obj)) - BaseModel = import_cached_base_model() + from ..main import BaseModel if lenient_issubclass(obj, BaseModel): - with self.model_type_stack.push(obj): - return self._model_schema(obj) + return self._model_schema(obj) if isinstance(obj, PydanticRecursiveRef): return core_schema.definition_reference_schema(schema_ref=obj.type_ref) @@ -1022,7 +724,7 @@ class GenerateSchema: as they get requested and we figure out what the right API for them is. """ if obj is str: - return core_schema.str_schema() + return self.str_schema() elif obj is bytes: return core_schema.bytes_schema() elif obj is int: @@ -1031,92 +733,61 @@ class GenerateSchema: return core_schema.float_schema() elif obj is bool: return core_schema.bool_schema() - elif obj is complex: - return core_schema.complex_schema() - elif typing_objects.is_any(obj) or obj is object: + elif obj is Any or obj is object: return core_schema.any_schema() - elif obj is datetime.date: - return core_schema.date_schema() - elif obj is datetime.datetime: - return core_schema.datetime_schema() - elif obj is datetime.time: - return core_schema.time_schema() - elif obj is datetime.timedelta: - return core_schema.timedelta_schema() - elif obj is Decimal: - return core_schema.decimal_schema() - elif obj is UUID: - return core_schema.uuid_schema() - elif obj is Url: - return core_schema.url_schema() - elif obj is Fraction: - return self._fraction_schema() - elif obj is MultiHostUrl: - return core_schema.multi_host_url_schema() elif obj is None or obj is _typing_extra.NoneType: return core_schema.none_schema() - elif obj in IP_TYPES: - return self._ip_schema(obj) elif obj in TUPLE_TYPES: return self._tuple_schema(obj) elif obj in LIST_TYPES: - return self._list_schema(Any) + return self._list_schema(obj, self._get_first_arg_or_any(obj)) elif obj in SET_TYPES: - return self._set_schema(Any) + return self._set_schema(obj, self._get_first_arg_or_any(obj)) elif obj in FROZEN_SET_TYPES: - return self._frozenset_schema(Any) - elif obj in SEQUENCE_TYPES: - return self._sequence_schema(Any) - elif obj in ITERABLE_TYPES: - return self._iterable_schema(obj) + return self._frozenset_schema(obj, self._get_first_arg_or_any(obj)) elif obj in DICT_TYPES: - return self._dict_schema(Any, Any) - elif obj in PATH_TYPES: - return self._path_schema(obj, Any) - elif obj in DEQUE_TYPES: - return self._deque_schema(Any) - elif obj in MAPPING_TYPES: - return self._mapping_schema(obj, Any, Any) - elif obj in COUNTER_TYPES: - return self._mapping_schema(obj, Any, int) - elif typing_objects.is_typealiastype(obj): + return self._dict_schema(obj, *self._get_first_two_args_or_any(obj)) + elif isinstance(obj, TypeAliasType): return self._type_alias_type_schema(obj) - elif obj is type: + elif obj == type: return self._type_schema() - elif _typing_extra.is_callable(obj): + elif _typing_extra.is_callable_type(obj): return core_schema.callable_schema() - elif typing_objects.is_literal(get_origin(obj)): + elif _typing_extra.is_literal_type(obj): return self._literal_schema(obj) elif is_typeddict(obj): return self._typed_dict_schema(obj, None) elif _typing_extra.is_namedtuple(obj): return self._namedtuple_schema(obj, None) - elif typing_objects.is_newtype(obj): - # NewType, can't use isinstance because it fails <3.10 + elif _typing_extra.is_new_type(obj): + # NewType, can't use isinstance because it fails <3.7 return self.generate_schema(obj.__supertype__) - elif obj in PATTERN_TYPES: + elif obj == re.Pattern: return self._pattern_schema(obj) - elif _typing_extra.is_hashable(obj): + elif obj is collections.abc.Hashable or obj is typing.Hashable: return self._hashable_schema() elif isinstance(obj, typing.TypeVar): return self._unsubstituted_typevar_schema(obj) - elif _typing_extra.is_finalvar(obj): + elif is_finalvar(obj): if obj is Final: return core_schema.any_schema() return self.generate_schema( self._get_first_arg_or_any(obj), ) - elif isinstance(obj, VALIDATE_CALL_SUPPORTED_TYPES): - return self._call_schema(obj) + elif isinstance(obj, (FunctionType, LambdaType, MethodType, partial)): + return self._callable_schema(obj) elif inspect.isclass(obj) and issubclass(obj, Enum): - return self._enum_schema(obj) - elif obj is ZoneInfo: - return self._zoneinfo_schema() + from ._std_types_schema import get_enum_core_schema - # dataclasses.is_dataclass coerces dc instances to types, but we only handle - # the case of a dc type here - if dataclasses.is_dataclass(obj): - return self._dataclass_schema(obj, None) # pyright: ignore[reportArgumentType] + return get_enum_core_schema(obj, self._config_wrapper.config_dict) + + if _typing_extra.is_dataclass(obj): + return self._dataclass_schema(obj, None) + + res = self._get_prepare_pydantic_annotations_for_known_type(obj, ()) + if res is not None: + source_type, annotations = res + return self._apply_annotations(source_type, annotations) origin = get_origin(obj) if origin is not None: @@ -1127,50 +798,43 @@ class GenerateSchema: return self._unknown_type_schema(obj) def _match_generic_type(self, obj: Any, origin: Any) -> CoreSchema: # noqa: C901 + if isinstance(origin, TypeAliasType): + return self._type_alias_type_schema(obj) + # Need to handle generic dataclasses before looking for the schema properties because attribute accesses # on _GenericAlias delegate to the origin type, so lose the information about the concrete parametrization # As a result, currently, there is no way to cache the schema for generic dataclasses. This may be possible # to resolve by modifying the value returned by `Generic.__class_getitem__`, but that is a dangerous game. - if dataclasses.is_dataclass(origin): - return self._dataclass_schema(obj, origin) # pyright: ignore[reportArgumentType] + if _typing_extra.is_dataclass(origin): + return self._dataclass_schema(obj, origin) if _typing_extra.is_namedtuple(origin): return self._namedtuple_schema(obj, origin) - schema = self._generate_schema_from_get_schema_method(origin, obj) - if schema is not None: - return schema + from_property = self._generate_schema_from_property(origin, obj) + if from_property is not None: + return from_property - if typing_objects.is_typealiastype(origin): - return self._type_alias_type_schema(obj) - elif is_union_origin(origin): + if _typing_extra.origin_is_union(origin): return self._union_schema(obj) elif origin in TUPLE_TYPES: return self._tuple_schema(obj) elif origin in LIST_TYPES: - return self._list_schema(self._get_first_arg_or_any(obj)) + return self._list_schema(obj, self._get_first_arg_or_any(obj)) elif origin in SET_TYPES: - return self._set_schema(self._get_first_arg_or_any(obj)) + return self._set_schema(obj, self._get_first_arg_or_any(obj)) elif origin in FROZEN_SET_TYPES: - return self._frozenset_schema(self._get_first_arg_or_any(obj)) + return self._frozenset_schema(obj, self._get_first_arg_or_any(obj)) elif origin in DICT_TYPES: - return self._dict_schema(*self._get_first_two_args_or_any(obj)) - elif origin in PATH_TYPES: - return self._path_schema(origin, self._get_first_arg_or_any(obj)) - elif origin in DEQUE_TYPES: - return self._deque_schema(self._get_first_arg_or_any(obj)) - elif origin in MAPPING_TYPES: - return self._mapping_schema(origin, *self._get_first_two_args_or_any(obj)) - elif origin in COUNTER_TYPES: - return self._mapping_schema(origin, self._get_first_arg_or_any(obj), int) + return self._dict_schema(obj, *self._get_first_two_args_or_any(obj)) elif is_typeddict(origin): return self._typed_dict_schema(obj, origin) - elif origin in TYPE_TYPES: + elif origin in (typing.Type, type): return self._subclass_schema(obj) - elif origin in SEQUENCE_TYPES: - return self._sequence_schema(self._get_first_arg_or_any(obj)) - elif origin in ITERABLE_TYPES: + elif origin in {typing.Sequence, collections.abc.Sequence}: + return self._sequence_schema(obj) + elif origin in {typing.Iterable, collections.abc.Iterable, typing.Generator, collections.abc.Generator}: return self._iterable_schema(obj) - elif origin in PATTERN_TYPES: + elif origin in (re.Pattern, typing.Pattern): return self._pattern_schema(obj) if self._arbitrary_types: @@ -1224,7 +888,6 @@ class GenerateSchema: return core_schema.dataclass_field( name, common_field['schema'], - init=field_info.init, init_only=field_info.init_var or None, kw_only=None if field_info.kw_only else False, serialization_exclude=common_field['serialization_exclude'], @@ -1234,144 +897,32 @@ class GenerateSchema: metadata=common_field['metadata'], ) - @staticmethod - def _apply_alias_generator_to_field_info( - alias_generator: Callable[[str], str] | AliasGenerator, field_info: FieldInfo, field_name: str - ) -> None: - """Apply an alias_generator to aliases on a FieldInfo instance if appropriate. + def _common_field_schema(self, name: str, field_info: FieldInfo, decorators: DecoratorInfos) -> _CommonField: + # Update FieldInfo annotation if appropriate: + if has_instance_in_type(field_info.annotation, (ForwardRef, str)): + types_namespace = self._types_namespace + if self._typevars_map: + types_namespace = (types_namespace or {}).copy() + # Ensure that typevars get mapped to their concrete types: + types_namespace.update({k.__name__: v for k, v in self._typevars_map.items()}) - Args: - alias_generator: A callable that takes a string and returns a string, or an AliasGenerator instance. - field_info: The FieldInfo instance to which the alias_generator is (maybe) applied. - field_name: The name of the field from which to generate the alias. - """ - # Apply an alias_generator if - # 1. An alias is not specified - # 2. An alias is specified, but the priority is <= 1 - if ( - field_info.alias_priority is None - or field_info.alias_priority <= 1 - or field_info.alias is None - or field_info.validation_alias is None - or field_info.serialization_alias is None - ): - alias, validation_alias, serialization_alias = None, None, None + evaluated = _typing_extra.eval_type_lenient(field_info.annotation, types_namespace, None) + if evaluated is not field_info.annotation and not has_instance_in_type(evaluated, PydanticRecursiveRef): + field_info.annotation = evaluated - if isinstance(alias_generator, AliasGenerator): - alias, validation_alias, serialization_alias = alias_generator.generate_aliases(field_name) - elif isinstance(alias_generator, Callable): - alias = alias_generator(field_name) - if not isinstance(alias, str): - raise TypeError(f'alias_generator {alias_generator} must return str, not {alias.__class__}') - - # if priority is not set, we set to 1 - # which supports the case where the alias_generator from a child class is used - # to generate an alias for a field in a parent class - if field_info.alias_priority is None or field_info.alias_priority <= 1: - field_info.alias_priority = 1 - - # if the priority is 1, then we set the aliases to the generated alias - if field_info.alias_priority == 1: - field_info.serialization_alias = _get_first_non_null(serialization_alias, alias) - field_info.validation_alias = _get_first_non_null(validation_alias, alias) - field_info.alias = alias - - # if any of the aliases are not set, then we set them to the corresponding generated alias - if field_info.alias is None: - field_info.alias = alias - if field_info.serialization_alias is None: - field_info.serialization_alias = _get_first_non_null(serialization_alias, alias) - if field_info.validation_alias is None: - field_info.validation_alias = _get_first_non_null(validation_alias, alias) - - @staticmethod - def _apply_alias_generator_to_computed_field_info( - alias_generator: Callable[[str], str] | AliasGenerator, - computed_field_info: ComputedFieldInfo, - computed_field_name: str, - ): - """Apply an alias_generator to alias on a ComputedFieldInfo instance if appropriate. - - Args: - alias_generator: A callable that takes a string and returns a string, or an AliasGenerator instance. - computed_field_info: The ComputedFieldInfo instance to which the alias_generator is (maybe) applied. - computed_field_name: The name of the computed field from which to generate the alias. - """ - # Apply an alias_generator if - # 1. An alias is not specified - # 2. An alias is specified, but the priority is <= 1 - - if ( - computed_field_info.alias_priority is None - or computed_field_info.alias_priority <= 1 - or computed_field_info.alias is None - ): - alias, validation_alias, serialization_alias = None, None, None - - if isinstance(alias_generator, AliasGenerator): - alias, validation_alias, serialization_alias = alias_generator.generate_aliases(computed_field_name) - elif isinstance(alias_generator, Callable): - alias = alias_generator(computed_field_name) - if not isinstance(alias, str): - raise TypeError(f'alias_generator {alias_generator} must return str, not {alias.__class__}') - - # if priority is not set, we set to 1 - # which supports the case where the alias_generator from a child class is used - # to generate an alias for a field in a parent class - if computed_field_info.alias_priority is None or computed_field_info.alias_priority <= 1: - computed_field_info.alias_priority = 1 - - # if the priority is 1, then we set the aliases to the generated alias - # note that we use the serialization_alias with priority over alias, as computed_field - # aliases are used for serialization only (not validation) - if computed_field_info.alias_priority == 1: - computed_field_info.alias = _get_first_non_null(serialization_alias, alias) - - @staticmethod - def _apply_field_title_generator_to_field_info( - config_wrapper: ConfigWrapper, field_info: FieldInfo | ComputedFieldInfo, field_name: str - ) -> None: - """Apply a field_title_generator on a FieldInfo or ComputedFieldInfo instance if appropriate - Args: - config_wrapper: The config of the model - field_info: The FieldInfo or ComputedField instance to which the title_generator is (maybe) applied. - field_name: The name of the field from which to generate the title. - """ - field_title_generator = field_info.field_title_generator or config_wrapper.field_title_generator - - if field_title_generator is None: - return - - if field_info.title is None: - title = field_title_generator(field_name, field_info) # type: ignore - if not isinstance(title, str): - raise TypeError(f'field_title_generator {field_title_generator} must return str, not {title.__class__}') - - field_info.title = title - - def _common_field_schema( # C901 - self, name: str, field_info: FieldInfo, decorators: DecoratorInfos - ) -> _CommonField: source_type, annotations = field_info.annotation, field_info.metadata def set_discriminator(schema: CoreSchema) -> CoreSchema: schema = self._apply_discriminator_to_union(schema, field_info.discriminator) return schema - # Convert `@field_validator` decorators to `Before/After/Plain/WrapValidator` instances: - validators_from_decorators = [] - for decorator in filter_field_decorator_info_by_field(decorators.field_validators.values(), name): - validators_from_decorators.append(_mode_to_validator[decorator.info.mode]._from_decorator(decorator)) - with self.field_name_stack.push(name): if field_info.discriminator is not None: - schema = self._apply_annotations( - source_type, annotations + validators_from_decorators, transform_inner_schema=set_discriminator - ) + schema = self._apply_annotations(source_type, annotations, transform_inner_schema=set_discriminator) else: schema = self._apply_annotations( source_type, - annotations + validators_from_decorators, + annotations, ) # This V1 compatibility shim should eventually be removed @@ -1385,7 +936,10 @@ class GenerateSchema: this_field_validators = [v for v in this_field_validators if v not in each_item_validators] schema = apply_each_item_validators(schema, each_item_validators, name) - schema = apply_validators(schema, this_field_validators, name) + schema = apply_validators(schema, filter_field_decorator_info_by_field(this_field_validators, name), name) + schema = apply_validators( + schema, filter_field_decorator_info_by_field(decorators.field_validators.values(), name), name + ) # the default validator needs to go outside of any other validators # so that it is the topmost validator for the field validator @@ -1396,17 +950,35 @@ class GenerateSchema: schema = self._apply_field_serializers( schema, filter_field_decorator_info_by_field(decorators.field_serializers.values(), name) ) - self._apply_field_title_generator_to_field_info(self._config_wrapper, field_info, name) + json_schema_updates = { + 'title': field_info.title, + 'description': field_info.description, + 'examples': to_jsonable_python(field_info.examples), + } + json_schema_updates = {k: v for k, v in json_schema_updates.items() if v is not None} - pydantic_js_updates, pydantic_js_extra = _extract_json_schema_info_from_field_info(field_info) - core_metadata: dict[str, Any] = {} - update_core_metadata( - core_metadata, pydantic_js_updates=pydantic_js_updates, pydantic_js_extra=pydantic_js_extra - ) + json_schema_extra = field_info.json_schema_extra + def json_schema_update_func(schema: CoreSchemaOrField, handler: GetJsonSchemaHandler) -> JsonSchemaValue: + json_schema = {**handler(schema), **json_schema_updates} + if isinstance(json_schema_extra, dict): + json_schema.update(to_jsonable_python(json_schema_extra)) + elif callable(json_schema_extra): + json_schema_extra(json_schema) + return json_schema + + metadata = build_metadata_dict(js_annotation_functions=[json_schema_update_func]) + + # apply alias generator alias_generator = self._config_wrapper.alias_generator - if alias_generator is not None: - self._apply_alias_generator_to_field_info(alias_generator, field_info, name) + if alias_generator and (field_info.alias_priority is None or field_info.alias_priority <= 1): + alias = alias_generator(name) + if not isinstance(alias, str): + raise TypeError(f'alias_generator {alias_generator} must return str, not {alias.__class__}') + field_info.alias = alias + field_info.validation_alias = alias + field_info.serialization_alias = alias + field_info.alias_priority = 1 if isinstance(field_info.validation_alias, (AliasChoices, AliasPath)): validation_alias = field_info.validation_alias.convert_to_aliases() @@ -1419,13 +991,13 @@ class GenerateSchema: validation_alias=validation_alias, serialization_alias=field_info.serialization_alias, frozen=field_info.frozen, - metadata=core_metadata, + metadata=metadata, ) def _union_schema(self, union_type: Any) -> core_schema.CoreSchema: """Generate schema for a Union.""" args = self._get_args_resolving_forward_refs(union_type, required=True) - choices: list[CoreSchema] = [] + choices: list[CoreSchema | tuple[CoreSchema, str]] = [] nullable = False for arg in args: if arg is None or arg is _typing_extra.NoneType: @@ -1434,72 +1006,62 @@ class GenerateSchema: choices.append(self.generate_schema(arg)) if len(choices) == 1: - s = choices[0] + first_choice = choices[0] + s = first_choice[0] if isinstance(first_choice, tuple) else first_choice else: - choices_with_tags: list[CoreSchema | tuple[CoreSchema, str]] = [] - for choice in choices: - tag = cast(CoreMetadata, choice.get('metadata', {})).get('pydantic_internal_union_tag_key') - if tag is not None: - choices_with_tags.append((choice, tag)) - else: - choices_with_tags.append(choice) - s = core_schema.union_schema(choices_with_tags) + s = core_schema.union_schema(choices) if nullable: s = core_schema.nullable_schema(s) return s - def _type_alias_type_schema(self, obj: TypeAliasType) -> CoreSchema: - with self.defs.get_schema_or_ref(obj) as (ref, maybe_schema): + def _type_alias_type_schema( + self, + obj: Any, # TypeAliasType + ) -> CoreSchema: + origin = get_origin(obj) + origin = origin or obj + with self.defs.get_schema_or_ref(origin) as (ref, maybe_schema): if maybe_schema is not None: return maybe_schema - origin: TypeAliasType = get_origin(obj) or obj - typevars_map = get_standard_typevars_map(obj) + namespace = (self._types_namespace or {}).copy() + new_namespace = {**_typing_extra.get_cls_types_namespace(origin), **namespace} + annotation = origin.__value__ - with self._ns_resolver.push(origin): - try: - annotation = _typing_extra.eval_type(origin.__value__, *self._types_namespace) - except NameError as e: - raise PydanticUndefinedAnnotation.from_name_error(e) from e - annotation = replace_types(annotation, typevars_map) - schema = self.generate_schema(annotation) - assert schema['type'] != 'definitions' - schema['ref'] = ref # type: ignore - return self.defs.create_definition_reference_schema(schema) + self._types_namespace = new_namespace + typevars_map = get_standard_typevars_map(obj) + annotation = replace_types(annotation, typevars_map) + schema = self.generate_schema(annotation) + assert schema['type'] != 'definitions' + schema['ref'] = ref # type: ignore + self._types_namespace = namespace or None + self.defs.definitions[ref] = schema + return core_schema.definition_reference_schema(ref) def _literal_schema(self, literal_type: Any) -> CoreSchema: """Generate schema for a Literal.""" - expected = list(get_literal_values(literal_type, type_check=False, unpack_type_aliases='eager')) + expected = _typing_extra.all_literal_values(literal_type) assert expected, f'literal "expected" cannot be empty, obj={literal_type}' - schema = core_schema.literal_schema(expected) - - if self._config_wrapper.use_enum_values and any(isinstance(v, Enum) for v in expected): - schema = core_schema.no_info_after_validator_function( - lambda v: v.value if isinstance(v, Enum) else v, schema - ) - - return schema + return core_schema.literal_schema(expected) def _typed_dict_schema(self, typed_dict_cls: Any, origin: Any) -> core_schema.CoreSchema: - """Generate a core schema for a `TypedDict` class. + """Generate schema for a TypedDict. - To be able to build a `DecoratorInfos` instance for the `TypedDict` class (which will include - validators, serializers, etc.), we need to have access to the original bases of the class - (see https://docs.python.org/3/library/types.html#types.get_original_bases). - However, the `__orig_bases__` attribute was only added in 3.12 (https://github.com/python/cpython/pull/103698). + It is not possible to track required/optional keys in TypedDict without __required_keys__ + since TypedDict.__new__ erases the base classes (it replaces them with just `dict`) + and thus we can track usage of total=True/False + __required_keys__ was added in Python 3.9 + (https://github.com/miss-islington/cpython/blob/1e9939657dd1f8eb9f596f77c1084d2d351172fc/Doc/library/typing.rst?plain=1#L1546-L1548) + however it is buggy + (https://github.com/python/typing_extensions/blob/ac52ac5f2cb0e00e7988bae1e2a1b8257ac88d6d/src/typing_extensions.py#L657-L666). - For this reason, we require Python 3.12 (or using the `typing_extensions` backport). + On 3.11 but < 3.12 TypedDict does not preserve inheritance information. + + Hence to avoid creating validators that do not do what users expect we only + support typing.TypedDict on Python >= 3.12 or typing_extension.TypedDict on all versions """ - FieldInfo = import_cached_field_info() - - with ( - self.model_type_stack.push(typed_dict_cls), - self.defs.get_schema_or_ref(typed_dict_cls) as ( - typed_dict_ref, - maybe_schema, - ), - ): + with self.defs.get_schema_or_ref(typed_dict_cls) as (typed_dict_ref, maybe_schema): if maybe_schema is not None: return maybe_schema @@ -1514,14 +1076,14 @@ class GenerateSchema: ) try: - # if a typed dictionary class doesn't have config, we use the parent's config, hence a default of `None` - # see https://github.com/pydantic/pydantic/issues/10917 config: ConfigDict | None = get_attribute_from_bases(typed_dict_cls, '__pydantic_config__') except AttributeError: config = None with self._config_wrapper_stack.push(config): - core_config = self._config_wrapper.core_config(title=typed_dict_cls.__name__) + core_config = self._config_wrapper.core_config(typed_dict_cls) + + self = self._current_generate_schema required_keys: frozenset[str] = typed_dict_cls.__required_keys__ @@ -1529,86 +1091,65 @@ class GenerateSchema: decorators = DecoratorInfos.build(typed_dict_cls) - if self._config_wrapper.use_attribute_docstrings: - field_docstrings = extract_docstrings_from_cls(typed_dict_cls, use_inspect=True) - else: - field_docstrings = None + for field_name, annotation in get_type_hints_infer_globalns( + typed_dict_cls, localns=self._types_namespace, include_extras=True + ).items(): + annotation = replace_types(annotation, typevars_map) + required = field_name in required_keys - try: - annotations = _typing_extra.get_cls_type_hints(typed_dict_cls, ns_resolver=self._ns_resolver) - except NameError as e: - raise PydanticUndefinedAnnotation.from_name_error(e) from e + if get_origin(annotation) == _typing_extra.Required: + required = True + annotation = self._get_args_resolving_forward_refs( + annotation, + required=True, + )[0] + elif get_origin(annotation) == _typing_extra.NotRequired: + required = False + annotation = self._get_args_resolving_forward_refs( + annotation, + required=True, + )[0] - readonly_fields: list[str] = [] - - for field_name, annotation in annotations.items(): - field_info = FieldInfo.from_annotation(annotation, _source=AnnotationSource.TYPED_DICT) - field_info.annotation = replace_types(field_info.annotation, typevars_map) - - required = ( - field_name in required_keys or 'required' in field_info._qualifiers - ) and 'not_required' not in field_info._qualifiers - if 'read_only' in field_info._qualifiers: - readonly_fields.append(field_name) - - if ( - field_docstrings is not None - and field_info.description is None - and field_name in field_docstrings - ): - field_info.description = field_docstrings[field_name] - self._apply_field_title_generator_to_field_info(self._config_wrapper, field_info, field_name) + field_info = FieldInfo.from_annotation(annotation) fields[field_name] = self._generate_td_field_schema( field_name, field_info, decorators, required=required ) - if readonly_fields: - fields_repr = ', '.join(repr(f) for f in readonly_fields) - plural = len(readonly_fields) >= 2 - warnings.warn( - f'Item{"s" if plural else ""} {fields_repr} on TypedDict class {typed_dict_cls.__name__!r} ' - f'{"are" if plural else "is"} using the `ReadOnly` qualifier. Pydantic will not protect items ' - 'from any mutation on dictionary instances.', - UserWarning, - ) + metadata = build_metadata_dict( + js_functions=[partial(modify_model_json_schema, cls=typed_dict_cls)], typed_dict_cls=typed_dict_cls + ) td_schema = core_schema.typed_dict_schema( fields, - cls=typed_dict_cls, computed_fields=[ self._computed_field_schema(d, decorators.field_serializers) for d in decorators.computed_fields.values() ], ref=typed_dict_ref, + metadata=metadata, config=core_config, ) schema = self._apply_model_serializers(td_schema, decorators.model_serializers.values()) schema = apply_model_validators(schema, decorators.model_validators.values(), 'all') - return self.defs.create_definition_reference_schema(schema) + self.defs.definitions[typed_dict_ref] = self._post_process_generated_schema(schema) + return core_schema.definition_reference_schema(typed_dict_ref) def _namedtuple_schema(self, namedtuple_cls: Any, origin: Any) -> core_schema.CoreSchema: """Generate schema for a NamedTuple.""" - with ( - self.model_type_stack.push(namedtuple_cls), - self.defs.get_schema_or_ref(namedtuple_cls) as ( - namedtuple_ref, - maybe_schema, - ), - ): + with self.defs.get_schema_or_ref(namedtuple_cls) as (namedtuple_ref, maybe_schema): if maybe_schema is not None: return maybe_schema typevars_map = get_standard_typevars_map(namedtuple_cls) if origin is not None: namedtuple_cls = origin - try: - annotations = _typing_extra.get_cls_type_hints(namedtuple_cls, ns_resolver=self._ns_resolver) - except NameError as e: - raise PydanticUndefinedAnnotation.from_name_error(e) from e + annotations: dict[str, Any] = get_type_hints_infer_globalns( + namedtuple_cls, include_extras=True, localns=self._types_namespace + ) if not annotations: # annotations is empty, happens if namedtuple_cls defined via collections.namedtuple(...) - annotations: dict[str, Any] = {k: Any for k in namedtuple_cls._fields} + annotations = {k: Any for k in namedtuple_cls._fields} if typevars_map: annotations = { @@ -1619,40 +1160,30 @@ class GenerateSchema: arguments_schema = core_schema.arguments_schema( [ self._generate_parameter_schema( - field_name, - annotation, - source=AnnotationSource.NAMED_TUPLE, - default=namedtuple_cls._field_defaults.get(field_name, Parameter.empty), + field_name, annotation, default=namedtuple_cls._field_defaults.get(field_name, Parameter.empty) ) for field_name, annotation in annotations.items() ], - metadata={'pydantic_js_prefer_positional_arguments': True}, + metadata=build_metadata_dict(js_prefer_positional_arguments=True), ) - schema = core_schema.call_schema(arguments_schema, namedtuple_cls, ref=namedtuple_ref) - return self.defs.create_definition_reference_schema(schema) + return core_schema.call_schema(arguments_schema, namedtuple_cls, ref=namedtuple_ref) def _generate_parameter_schema( self, name: str, annotation: type[Any], - source: AnnotationSource, default: Any = Parameter.empty, mode: Literal['positional_only', 'positional_or_keyword', 'keyword_only'] | None = None, ) -> core_schema.ArgumentsParameter: - """Generate the definition of a field in a namedtuple or a parameter in a function signature. - - This definition is meant to be used for the `'arguments'` core schema, which will be replaced - in V3 by the `'arguments-v3`'. - """ - FieldInfo = import_cached_field_info() - + """Prepare a ArgumentsParameter to represent a field in a namedtuple or function signature.""" if default is Parameter.empty: - field = FieldInfo.from_annotation(annotation, _source=source) + field = FieldInfo.from_annotation(annotation) else: - field = FieldInfo.from_annotated_attribute(annotation, default, _source=source) + field = FieldInfo.from_annotated_attribute(annotation, default) assert field.annotation is not None, 'field.annotation should not be None when generating a schema' + source_type, annotations = field.annotation, field.metadata with self.field_name_stack.push(name): - schema = self._apply_annotations(field.annotation, [field]) + schema = self._apply_annotations(source_type, annotations) if not field.is_required(): schema = wrap_default(field, schema) @@ -1664,61 +1195,10 @@ class GenerateSchema: parameter_schema['alias'] = field.alias else: alias_generator = self._config_wrapper.alias_generator - if isinstance(alias_generator, AliasGenerator) and alias_generator.alias is not None: - parameter_schema['alias'] = alias_generator.alias(name) - elif callable(alias_generator): + if alias_generator: parameter_schema['alias'] = alias_generator(name) return parameter_schema - def _generate_parameter_v3_schema( - self, - name: str, - annotation: Any, - source: AnnotationSource, - mode: Literal[ - 'positional_only', - 'positional_or_keyword', - 'keyword_only', - 'var_args', - 'var_kwargs_uniform', - 'var_kwargs_unpacked_typed_dict', - ], - default: Any = Parameter.empty, - ) -> core_schema.ArgumentsV3Parameter: - """Generate the definition of a parameter in a function signature. - - This definition is meant to be used for the `'arguments-v3'` core schema, which will replace - the `'arguments`' schema in V3. - """ - FieldInfo = import_cached_field_info() - - if default is Parameter.empty: - field = FieldInfo.from_annotation(annotation, _source=source) - else: - field = FieldInfo.from_annotated_attribute(annotation, default, _source=source) - - with self.field_name_stack.push(name): - schema = self._apply_annotations(field.annotation, [field]) - - if not field.is_required(): - schema = wrap_default(field, schema) - - parameter_schema = core_schema.arguments_v3_parameter( - name=name, - schema=schema, - mode=mode, - ) - if field.alias is not None: - parameter_schema['alias'] = field.alias - else: - alias_generator = self._config_wrapper.alias_generator - if isinstance(alias_generator, AliasGenerator) and alias_generator.alias is not None: - parameter_schema['alias'] = alias_generator.alias(name) - elif callable(alias_generator): - parameter_schema['alias'] = alias_generator(name) - - return parameter_schema - def _tuple_schema(self, tuple_type: Any) -> core_schema.CoreSchema: """Generate schema for a Tuple, e.g. `tuple[int, str]` or `tuple[int, ...]`.""" # TODO: do we really need to resolve type vars here? @@ -1732,22 +1212,22 @@ class GenerateSchema: # This is only true for <3.11, on Python 3.11+ `typing.Tuple[()]` gives `params=()` if not params: if tuple_type in TUPLE_TYPES: - return core_schema.tuple_schema([core_schema.any_schema()], variadic_item_index=0) + return core_schema.tuple_variable_schema() else: # special case for `tuple[()]` which means `tuple[]` - an empty tuple - return core_schema.tuple_schema([]) + return core_schema.tuple_positional_schema([]) elif params[-1] is Ellipsis: if len(params) == 2: - return core_schema.tuple_schema([self.generate_schema(params[0])], variadic_item_index=0) + return self._tuple_variable_schema(tuple_type, params[0]) else: # TODO: something like https://github.com/pydantic/pydantic/issues/5952 raise ValueError('Variable tuples can only have one type') elif len(params) == 1 and params[0] == (): - # special case for `tuple[()]` which means `tuple[]` - an empty tuple + # special case for `Tuple[()]` which means `Tuple[]` - an empty tuple # NOTE: This conditional can be removed when we drop support for Python 3.10. - return core_schema.tuple_schema([]) + return self._tuple_positional_schema(tuple_type, []) else: - return core_schema.tuple_schema([self.generate_schema(param) for param in params]) + return self._tuple_positional_schema(tuple_type, list(params)) def _type_schema(self) -> core_schema.CoreSchema: return core_schema.custom_error_schema( @@ -1756,83 +1236,39 @@ class GenerateSchema: custom_error_message='Input should be a type', ) - def _zoneinfo_schema(self) -> core_schema.CoreSchema: - """Generate schema for a zone_info.ZoneInfo object""" - from ._validators import validate_str_is_valid_iana_tz - - metadata = {'pydantic_js_functions': [lambda _1, _2: {'type': 'string', 'format': 'zoneinfo'}]} - return core_schema.no_info_plain_validator_function( - validate_str_is_valid_iana_tz, - serialization=core_schema.to_string_ser_schema(), - metadata=metadata, - ) - - def _union_is_subclass_schema(self, union_type: Any) -> core_schema.CoreSchema: - """Generate schema for `type[Union[X, ...]]`.""" - args = self._get_args_resolving_forward_refs(union_type, required=True) - return core_schema.union_schema([self.generate_schema(type[args]) for args in args]) - def _subclass_schema(self, type_: Any) -> core_schema.CoreSchema: - """Generate schema for a type, e.g. `type[int]`.""" + """Generate schema for a Type, e.g. `Type[int]`.""" type_param = self._get_first_arg_or_any(type_) - - # Assume `type[Annotated[, ...]]` is equivalent to `type[]`: - type_param = _typing_extra.annotated_type(type_param) or type_param - - if typing_objects.is_any(type_param): + if type_param == Any: return self._type_schema() - elif typing_objects.is_typealiastype(type_param): - return self.generate_schema(type[type_param.__value__]) - elif typing_objects.is_typevar(type_param): + elif isinstance(type_param, typing.TypeVar): if type_param.__bound__: - if is_union_origin(get_origin(type_param.__bound__)): - return self._union_is_subclass_schema(type_param.__bound__) return core_schema.is_subclass_schema(type_param.__bound__) elif type_param.__constraints__: - return core_schema.union_schema([self.generate_schema(type[c]) for c in type_param.__constraints__]) + return core_schema.union_schema( + [self.generate_schema(typing.Type[c]) for c in type_param.__constraints__] + ) else: return self._type_schema() - elif is_union_origin(get_origin(type_param)): - return self._union_is_subclass_schema(type_param) + elif _typing_extra.origin_is_union(get_origin(type_param)): + args = self._get_args_resolving_forward_refs(type_param, required=True) + return core_schema.union_schema([self.generate_schema(typing.Type[args]) for args in args]) else: - if typing_objects.is_self(type_param): - type_param = self._resolve_self_type(type_param) - if _typing_extra.is_generic_alias(type_param): - raise PydanticUserError( - 'Subscripting `type[]` with an already parametrized type is not supported. ' - f'Instead of using type[{type_param!r}], use type[{_repr.display_as_type(get_origin(type_param))}].', - code=None, - ) - if not inspect.isclass(type_param): - # when using type[None], this doesn't type convert to type[NoneType], and None isn't a class - # so we handle it manually here - if type_param is None: - return core_schema.is_subclass_schema(_typing_extra.NoneType) - raise TypeError(f'Expected a class, got {type_param!r}') return core_schema.is_subclass_schema(type_param) - def _sequence_schema(self, items_type: Any) -> core_schema.CoreSchema: + def _sequence_schema(self, sequence_type: Any) -> core_schema.CoreSchema: """Generate schema for a Sequence, e.g. `Sequence[int]`.""" - from ._serializers import serialize_sequence_via_list + item_type = self._get_first_arg_or_any(sequence_type) - item_type_schema = self.generate_schema(items_type) - list_schema = core_schema.list_schema(item_type_schema) - - json_schema = smart_deepcopy(list_schema) + list_schema = core_schema.list_schema(self.generate_schema(item_type)) python_schema = core_schema.is_instance_schema(typing.Sequence, cls_repr='Sequence') - if not typing_objects.is_any(items_type): + if item_type != Any: from ._validators import sequence_validator python_schema = core_schema.chain_schema( [python_schema, core_schema.no_info_wrap_validator_function(sequence_validator, list_schema)], ) - - serialization = core_schema.wrap_serializer_function_ser_schema( - serialize_sequence_via_list, schema=item_type_schema, info_arg=True - ) - return core_schema.json_or_python_schema( - json_schema=json_schema, python_schema=python_schema, serialization=serialization - ) + return core_schema.json_or_python_schema(json_schema=list_schema, python_schema=python_schema) def _iterable_schema(self, type_: Any) -> core_schema.GeneratorSchema: """Generate a schema for an `Iterable`.""" @@ -1843,11 +1279,11 @@ class GenerateSchema: def _pattern_schema(self, pattern_type: Any) -> core_schema.CoreSchema: from . import _validators - metadata = {'pydantic_js_functions': [lambda _1, _2: {'type': 'string', 'format': 'regex'}]} + metadata = build_metadata_dict(js_functions=[lambda _1, _2: {'type': 'string', 'format': 'regex'}]) ser = core_schema.plain_serializer_function_ser_schema( attrgetter('pattern'), when_used='json', return_schema=core_schema.str_schema() ) - if pattern_type is typing.Pattern or pattern_type is re.Pattern: + if pattern_type == typing.Pattern or pattern_type == re.Pattern: # bare type return core_schema.no_info_plain_validator_function( _validators.pattern_either_validator, serialization=ser, metadata=metadata @@ -1857,11 +1293,11 @@ class GenerateSchema: pattern_type, required=True, )[0] - if param is str: + if param == str: return core_schema.no_info_plain_validator_function( _validators.pattern_str_validator, serialization=ser, metadata=metadata ) - elif param is bytes: + elif param == bytes: return core_schema.no_info_plain_validator_function( _validators.pattern_bytes_validator, serialization=ser, metadata=metadata ) @@ -1870,12 +1306,7 @@ class GenerateSchema: def _hashable_schema(self) -> core_schema.CoreSchema: return core_schema.custom_error_schema( - schema=core_schema.json_or_python_schema( - json_schema=core_schema.chain_schema( - [core_schema.any_schema(), core_schema.is_instance_schema(collections.abc.Hashable)] - ), - python_schema=core_schema.is_instance_schema(collections.abc.Hashable), - ), + core_schema.is_instance_schema(collections.abc.Hashable), custom_error_type='is_hashable', custom_error_message='Input should be hashable', ) @@ -1884,77 +1315,33 @@ class GenerateSchema: self, dataclass: type[StandardDataclass], origin: type[StandardDataclass] | None ) -> core_schema.CoreSchema: """Generate schema for a dataclass.""" - with ( - self.model_type_stack.push(dataclass), - self.defs.get_schema_or_ref(dataclass) as ( - dataclass_ref, - maybe_schema, - ), - ): + with self.defs.get_schema_or_ref(dataclass) as (dataclass_ref, maybe_schema): if maybe_schema is not None: return maybe_schema - schema = dataclass.__dict__.get('__pydantic_core_schema__') - if schema is not None and not isinstance(schema, MockCoreSchema): - if schema['type'] == 'definitions': - schema = self.defs.unpack_definitions(schema) - ref = get_ref(schema) - if ref: - return self.defs.create_definition_reference_schema(schema) - else: - return schema - typevars_map = get_standard_typevars_map(dataclass) if origin is not None: dataclass = origin - # if (plain) dataclass doesn't have config, we use the parent's config, hence a default of `None` - # (Pydantic dataclasses have an empty dict config by default). - # see https://github.com/pydantic/pydantic/issues/10917 config = getattr(dataclass, '__pydantic_config__', None) + with self._config_wrapper_stack.push(config): + core_config = self._config_wrapper.core_config(dataclass) - from ..dataclasses import is_pydantic_dataclass + self = self._current_generate_schema + + from ..dataclasses import is_pydantic_dataclass - with self._ns_resolver.push(dataclass), self._config_wrapper_stack.push(config): if is_pydantic_dataclass(dataclass): - if dataclass.__pydantic_fields_complete__(): - # Copy the field info instances to avoid mutating the `FieldInfo` instances - # of the generic dataclass generic origin (e.g. `apply_typevars_map` below). - # Note that we don't apply `deepcopy` on `__pydantic_fields__` because we - # don't want to copy the `FieldInfo` attributes: - fields = { - f_name: copy(field_info) for f_name, field_info in dataclass.__pydantic_fields__.items() - } - if typevars_map: - for field in fields.values(): - field.apply_typevars_map(typevars_map, *self._types_namespace) - else: - try: - fields = rebuild_dataclass_fields( - dataclass, - config_wrapper=self._config_wrapper, - ns_resolver=self._ns_resolver, - typevars_map=typevars_map or {}, - ) - except NameError as e: - raise PydanticUndefinedAnnotation.from_name_error(e) from e + fields = deepcopy(dataclass.__pydantic_fields__) + if typevars_map: + for field in fields.values(): + field.apply_typevars_map(typevars_map, self._types_namespace) else: fields = collect_dataclass_fields( dataclass, + self._types_namespace, typevars_map=typevars_map, - config_wrapper=self._config_wrapper, ) - - if self._config_wrapper.extra == 'allow': - # disallow combination of init=False on a dataclass field and extra='allow' on a dataclass - for field_name, field in fields.items(): - if field.init is False: - raise PydanticUserError( - f'Field {field_name} has `init=False` and dataclass has config setting `extra="allow"`. ' - f'This combination is not allowed.', - code='dataclass-init-false-extra-allow', - ) - decorators = dataclass.__dict__.get('__pydantic_decorators__') or DecoratorInfos.build(dataclass) # Move kw_only=False args to the start of the list, as this is how vanilla dataclasses work. # Note that when kw_only is missing or None, it is treated as equivalent to kw_only=True @@ -1980,270 +1367,156 @@ class GenerateSchema: model_validators = decorators.model_validators.values() inner_schema = apply_model_validators(inner_schema, model_validators, 'inner') - core_config = self._config_wrapper.core_config(title=dataclass.__name__) - dc_schema = core_schema.dataclass_schema( dataclass, inner_schema, - generic_origin=origin, post_init=has_post_init, ref=dataclass_ref, fields=[field.name for field in dataclasses.fields(dataclass)], slots=has_slots, config=core_config, - # we don't use a custom __setattr__ for dataclasses, so we must - # pass along the frozen config setting to the pydantic-core schema - frozen=self._config_wrapper_stack.tail.frozen, ) schema = self._apply_model_serializers(dc_schema, decorators.model_serializers.values()) schema = apply_model_validators(schema, model_validators, 'outer') - return self.defs.create_definition_reference_schema(schema) + self.defs.definitions[dataclass_ref] = self._post_process_generated_schema(schema) + return core_schema.definition_reference_schema(dataclass_ref) - def _call_schema(self, function: ValidateCallSupportedTypes) -> core_schema.CallSchema: + def _callable_schema(self, function: Callable[..., Any]) -> core_schema.CallSchema: """Generate schema for a Callable. TODO support functional validators once we support them in Config """ - arguments_schema = self._arguments_schema(function) + sig = signature(function) - return_schema: core_schema.CoreSchema | None = None - config_wrapper = self._config_wrapper - if config_wrapper.validate_return: - sig = signature(function) - return_hint = sig.return_annotation - if return_hint is not sig.empty: - globalns, localns = self._types_namespace - type_hints = _typing_extra.get_function_type_hints( - function, globalns=globalns, localns=localns, include_keys={'return'} - ) - return_schema = self.generate_schema(type_hints['return']) + type_hints = _typing_extra.get_function_type_hints(function) - return core_schema.call_schema( - arguments_schema, - function, - return_schema=return_schema, - ) - - def _arguments_schema( - self, function: ValidateCallSupportedTypes, parameters_callback: ParametersCallback | None = None - ) -> core_schema.ArgumentsSchema: - """Generate schema for a Signature.""" mode_lookup: dict[_ParameterKind, Literal['positional_only', 'positional_or_keyword', 'keyword_only']] = { Parameter.POSITIONAL_ONLY: 'positional_only', Parameter.POSITIONAL_OR_KEYWORD: 'positional_or_keyword', Parameter.KEYWORD_ONLY: 'keyword_only', } - sig = signature(function) - globalns, localns = self._types_namespace - type_hints = _typing_extra.get_function_type_hints(function, globalns=globalns, localns=localns) - arguments_list: list[core_schema.ArgumentsParameter] = [] var_args_schema: core_schema.CoreSchema | None = None var_kwargs_schema: core_schema.CoreSchema | None = None - var_kwargs_mode: core_schema.VarKwargsMode | None = None - for i, (name, p) in enumerate(sig.parameters.items()): + for name, p in sig.parameters.items(): if p.annotation is sig.empty: - annotation = typing.cast(Any, Any) + annotation = Any else: annotation = type_hints[name] - if parameters_callback is not None: - result = parameters_callback(i, name, annotation) - if result == 'skip': - continue - parameter_mode = mode_lookup.get(p.kind) if parameter_mode is not None: - arg_schema = self._generate_parameter_schema( - name, annotation, AnnotationSource.FUNCTION, p.default, parameter_mode - ) + arg_schema = self._generate_parameter_schema(name, annotation, p.default, parameter_mode) arguments_list.append(arg_schema) elif p.kind == Parameter.VAR_POSITIONAL: var_args_schema = self.generate_schema(annotation) else: assert p.kind == Parameter.VAR_KEYWORD, p.kind + var_kwargs_schema = self.generate_schema(annotation) - unpack_type = _typing_extra.unpack_type(annotation) - if unpack_type is not None: - origin = get_origin(unpack_type) or unpack_type - if not is_typeddict(origin): - raise PydanticUserError( - f'Expected a `TypedDict` class inside `Unpack[...]`, got {unpack_type!r}', - code='unpack-typed-dict', - ) - non_pos_only_param_names = { - name for name, p in sig.parameters.items() if p.kind != Parameter.POSITIONAL_ONLY - } - overlapping_params = non_pos_only_param_names.intersection(origin.__annotations__) - if overlapping_params: - raise PydanticUserError( - f'Typed dictionary {origin.__name__!r} overlaps with parameter' - f'{"s" if len(overlapping_params) >= 2 else ""} ' - f'{", ".join(repr(p) for p in sorted(overlapping_params))}', - code='overlapping-unpack-typed-dict', - ) + return_schema: core_schema.CoreSchema | None = None + config_wrapper = self._config_wrapper + if config_wrapper.validate_return: + return_hint = type_hints.get('return') + if return_hint is not None: + return_schema = self.generate_schema(return_hint) - var_kwargs_mode = 'unpacked-typed-dict' - var_kwargs_schema = self._typed_dict_schema(unpack_type, get_origin(unpack_type)) - else: - var_kwargs_mode = 'uniform' - var_kwargs_schema = self.generate_schema(annotation) - - return core_schema.arguments_schema( - arguments_list, - var_args_schema=var_args_schema, - var_kwargs_mode=var_kwargs_mode, - var_kwargs_schema=var_kwargs_schema, - validate_by_name=self._config_wrapper.validate_by_name, - ) - - def _arguments_v3_schema( - self, function: ValidateCallSupportedTypes, parameters_callback: ParametersCallback | None = None - ) -> core_schema.ArgumentsV3Schema: - mode_lookup: dict[ - _ParameterKind, Literal['positional_only', 'positional_or_keyword', 'var_args', 'keyword_only'] - ] = { - Parameter.POSITIONAL_ONLY: 'positional_only', - Parameter.POSITIONAL_OR_KEYWORD: 'positional_or_keyword', - Parameter.VAR_POSITIONAL: 'var_args', - Parameter.KEYWORD_ONLY: 'keyword_only', - } - - sig = signature(function) - globalns, localns = self._types_namespace - type_hints = _typing_extra.get_function_type_hints(function, globalns=globalns, localns=localns) - - parameters_list: list[core_schema.ArgumentsV3Parameter] = [] - - for i, (name, p) in enumerate(sig.parameters.items()): - if parameters_callback is not None: - result = parameters_callback(i, name, p.annotation) - if result == 'skip': - continue - - if p.annotation is Parameter.empty: - annotation = typing.cast(Any, Any) - else: - annotation = type_hints[name] - - parameter_mode = mode_lookup.get(p.kind) - if parameter_mode is None: - assert p.kind == Parameter.VAR_KEYWORD, p.kind - - unpack_type = _typing_extra.unpack_type(annotation) - if unpack_type is not None: - origin = get_origin(unpack_type) or unpack_type - if not is_typeddict(origin): - raise PydanticUserError( - f'Expected a `TypedDict` class inside `Unpack[...]`, got {unpack_type!r}', - code='unpack-typed-dict', - ) - non_pos_only_param_names = { - name for name, p in sig.parameters.items() if p.kind != Parameter.POSITIONAL_ONLY - } - overlapping_params = non_pos_only_param_names.intersection(origin.__annotations__) - if overlapping_params: - raise PydanticUserError( - f'Typed dictionary {origin.__name__!r} overlaps with parameter' - f'{"s" if len(overlapping_params) >= 2 else ""} ' - f'{", ".join(repr(p) for p in sorted(overlapping_params))}', - code='overlapping-unpack-typed-dict', - ) - parameter_mode = 'var_kwargs_unpacked_typed_dict' - annotation = unpack_type - else: - parameter_mode = 'var_kwargs_uniform' - - parameters_list.append( - self._generate_parameter_v3_schema( - name, annotation, AnnotationSource.FUNCTION, parameter_mode, default=p.default - ) - ) - - return core_schema.arguments_v3_schema( - parameters_list, - validate_by_name=self._config_wrapper.validate_by_name, + return core_schema.call_schema( + core_schema.arguments_schema( + arguments_list, + var_args_schema=var_args_schema, + var_kwargs_schema=var_kwargs_schema, + populate_by_name=config_wrapper.populate_by_name, + ), + function, + return_schema=return_schema, ) def _unsubstituted_typevar_schema(self, typevar: typing.TypeVar) -> core_schema.CoreSchema: - try: - has_default = typevar.has_default() - except AttributeError: - # Happens if using `typing.TypeVar` (and not `typing_extensions`) on Python < 3.13 - pass - else: - if has_default: - return self.generate_schema(typevar.__default__) + assert isinstance(typevar, typing.TypeVar) - if constraints := typevar.__constraints__: - return self._union_schema(typing.Union[constraints]) + bound = typevar.__bound__ + constraints = typevar.__constraints__ + not_set = object() + default = getattr(typevar, '__default__', not_set) - if bound := typevar.__bound__: + if (bound is not None) + (len(constraints) != 0) + (default is not not_set) > 1: + raise NotImplementedError( + 'Pydantic does not support mixing more than one of TypeVar bounds, constraints and defaults' + ) + + if default is not not_set: + return self.generate_schema(default) + elif constraints: + return self._union_schema(typing.Union[constraints]) # type: ignore + elif bound: schema = self.generate_schema(bound) schema['serialization'] = core_schema.wrap_serializer_function_ser_schema( - lambda x, h: h(x), - schema=core_schema.any_schema(), + lambda x, h: h(x), schema=core_schema.any_schema() ) return schema - - return core_schema.any_schema() + else: + return core_schema.any_schema() def _computed_field_schema( self, d: Decorator[ComputedFieldInfo], field_serializers: dict[str, Decorator[FieldSerializerDecoratorInfo]], ) -> core_schema.ComputedField: - if d.info.return_type is not PydanticUndefined: - return_type = d.info.return_type - else: - try: - # Do not pass in globals as the function could be defined in a different module. - # Instead, let `get_callable_return_type` infer the globals to use, but still pass - # in locals that may contain a parent/rebuild namespace: - return_type = _decorators.get_callable_return_type(d.func, localns=self._types_namespace.locals) - except NameError as e: - raise PydanticUndefinedAnnotation.from_name_error(e) from e + try: + return_type = _decorators.get_function_return_type(d.func, d.info.return_type, self._types_namespace) + except NameError as e: + raise PydanticUndefinedAnnotation.from_name_error(e) from e if return_type is PydanticUndefined: raise PydanticUserError( 'Computed field is missing return type annotation or specifying `return_type`' - ' to the `@computed_field` decorator (e.g. `@computed_field(return_type=int | str)`)', + ' to the `@computed_field` decorator (e.g. `@computed_field(return_type=int|str)`)', code='model-field-missing-annotation', ) return_type = replace_types(return_type, self._typevars_map) - # Create a new ComputedFieldInfo so that different type parametrizations of the same - # generic model's computed field can have different return types. - d.info = dataclasses.replace(d.info, return_type=return_type) return_type_schema = self.generate_schema(return_type) # Apply serializers to computed field if there exist return_type_schema = self._apply_field_serializers( return_type_schema, filter_field_decorator_info_by_field(field_serializers.values(), d.cls_var_name), + computed_field=True, ) - + # Handle alias_generator using similar logic to that from + # pydantic._internal._generate_schema.GenerateSchema._common_field_schema, + # with field_info -> d.info and name -> d.cls_var_name alias_generator = self._config_wrapper.alias_generator - if alias_generator is not None: - self._apply_alias_generator_to_computed_field_info( - alias_generator=alias_generator, computed_field_info=d.info, computed_field_name=d.cls_var_name - ) - self._apply_field_title_generator_to_field_info(self._config_wrapper, d.info, d.cls_var_name) + if alias_generator and (d.info.alias_priority is None or d.info.alias_priority <= 1): + alias = alias_generator(d.cls_var_name) + if not isinstance(alias, str): + raise TypeError(f'alias_generator {alias_generator} must return str, not {alias.__class__}') + d.info.alias = alias + d.info.alias_priority = 1 - pydantic_js_updates, pydantic_js_extra = _extract_json_schema_info_from_field_info(d.info) - core_metadata: dict[str, Any] = {} - update_core_metadata( - core_metadata, - pydantic_js_updates={'readOnly': True, **(pydantic_js_updates if pydantic_js_updates else {})}, - pydantic_js_extra=pydantic_js_extra, - ) + def set_computed_field_metadata(schema: CoreSchemaOrField, handler: GetJsonSchemaHandler) -> JsonSchemaValue: + json_schema = handler(schema) + + json_schema['readOnly'] = True + + title = d.info.title + if title is not None: + json_schema['title'] = title + + description = d.info.description + if description is not None: + json_schema['description'] = description + + return json_schema + + metadata = build_metadata_dict(js_annotation_functions=[set_computed_field_metadata]) return core_schema.computed_field( - d.cls_var_name, return_schema=return_type_schema, alias=d.info.alias, metadata=core_metadata + d.cls_var_name, return_schema=return_type_schema, alias=d.info.alias, metadata=metadata ) def _annotated_schema(self, annotated_type: Any) -> core_schema.CoreSchema: """Generate schema for an Annotated type, e.g. `Annotated[int, Field(...)]` or `Annotated[int, Gt(0)]`.""" - FieldInfo = import_cached_field_info() source_type, *annotations = self._get_args_resolving_forward_refs( annotated_type, required=True, @@ -2256,6 +1529,25 @@ class GenerateSchema: schema = wrap_default(annotation, schema) return schema + def _get_prepare_pydantic_annotations_for_known_type( + self, obj: Any, annotations: tuple[Any, ...] + ) -> tuple[Any, list[Any]] | None: + from ._std_types_schema import PREPARE_METHODS + + # This check for hashability is only necessary for python 3.7 + try: + hash(obj) + except TypeError: + # obj is definitely not a known type if this fails + return None + + for gen in PREPARE_METHODS: + res = gen(obj, annotations, self._config_wrapper.config_dict) + if res is not None: + return res + + return None + def _apply_annotations( self, source_type: Any, @@ -2269,18 +1561,21 @@ class GenerateSchema: (in other words, `GenerateSchema._annotated_schema` just unpacks `Annotated`, this process it). """ annotations = list(_known_annotated_metadata.expand_grouped_metadata(annotations)) + res = self._get_prepare_pydantic_annotations_for_known_type(source_type, tuple(annotations)) + if res is not None: + source_type, annotations = res pydantic_js_annotation_functions: list[GetJsonSchemaFunction] = [] def inner_handler(obj: Any) -> CoreSchema: - schema = self._generate_schema_from_get_schema_method(obj, source_type) - - if schema is None: - schema = self._generate_schema_inner(obj) - - metadata_js_function = _extract_get_pydantic_json_schema(obj) + from_property = self._generate_schema_from_property(obj, obj) + if from_property is None: + schema = self._generate_schema(obj) + else: + schema = from_property + metadata_js_function = _extract_get_pydantic_json_schema(obj, schema) if metadata_js_function is not None: - metadata_schema = resolve_original_schema(schema, self.defs) + metadata_schema = resolve_original_schema(schema, self.defs.definitions) if metadata_schema is not None: self._add_js_function(metadata_schema, metadata_js_function) return transform_inner_schema(schema) @@ -2296,13 +1591,11 @@ class GenerateSchema: schema = get_inner_schema(source_type) if pydantic_js_annotation_functions: - core_metadata = schema.setdefault('metadata', {}) - update_core_metadata(core_metadata, pydantic_js_annotation_functions=pydantic_js_annotation_functions) + metadata = CoreMetadataHandler(schema).metadata + metadata.setdefault('pydantic_js_annotation_functions', []).extend(pydantic_js_annotation_functions) return _add_custom_serialization_from_json_encoders(self._config_wrapper.json_encoders, source_type, schema) def _apply_single_annotation(self, schema: core_schema.CoreSchema, metadata: Any) -> core_schema.CoreSchema: - FieldInfo = import_cached_field_info() - if isinstance(metadata, FieldInfo): for field_metadata in metadata.metadata: schema = self._apply_single_annotation(schema, field_metadata) @@ -2320,23 +1613,23 @@ class GenerateSchema: return schema original_schema = schema - ref = schema.get('ref') + ref = schema.get('ref', None) if ref is not None: schema = schema.copy() new_ref = ref + f'_{repr(metadata)}' - if (existing := self.defs.get_schema_from_ref(new_ref)) is not None: - return existing - schema['ref'] = new_ref # pyright: ignore[reportGeneralTypeIssues] + if new_ref in self.defs.definitions: + return self.defs.definitions[new_ref] + schema['ref'] = new_ref # type: ignore elif schema['type'] == 'definition-ref': ref = schema['schema_ref'] - if (referenced_schema := self.defs.get_schema_from_ref(ref)) is not None: - schema = referenced_schema.copy() + if ref in self.defs.definitions: + schema = self.defs.definitions[ref].copy() new_ref = ref + f'_{repr(metadata)}' - if (existing := self.defs.get_schema_from_ref(new_ref)) is not None: - return existing - schema['ref'] = new_ref # pyright: ignore[reportGeneralTypeIssues] + if new_ref in self.defs.definitions: + return self.defs.definitions[new_ref] + schema['ref'] = new_ref # type: ignore - maybe_updated_schema = _known_annotated_metadata.apply_known_metadata(metadata, schema) + maybe_updated_schema = _known_annotated_metadata.apply_known_metadata(metadata, schema.copy()) if maybe_updated_schema is not None: return maybe_updated_schema @@ -2345,17 +1638,34 @@ class GenerateSchema: def _apply_single_annotation_json_schema( self, schema: core_schema.CoreSchema, metadata: Any ) -> core_schema.CoreSchema: - FieldInfo = import_cached_field_info() - if isinstance(metadata, FieldInfo): for field_metadata in metadata.metadata: schema = self._apply_single_annotation_json_schema(schema, field_metadata) + json_schema_update: JsonSchemaValue = {} + if metadata.title: + json_schema_update['title'] = metadata.title + if metadata.description: + json_schema_update['description'] = metadata.description + if metadata.examples: + json_schema_update['examples'] = to_jsonable_python(metadata.examples) - pydantic_js_updates, pydantic_js_extra = _extract_json_schema_info_from_field_info(metadata) - core_metadata = schema.setdefault('metadata', {}) - update_core_metadata( - core_metadata, pydantic_js_updates=pydantic_js_updates, pydantic_js_extra=pydantic_js_extra - ) + json_schema_extra = metadata.json_schema_extra + if json_schema_update or json_schema_extra: + + def json_schema_update_func( + core_schema: CoreSchemaOrField, handler: GetJsonSchemaHandler + ) -> JsonSchemaValue: + json_schema = handler(core_schema) + json_schema.update(json_schema_update) + if isinstance(json_schema_extra, dict): + json_schema.update(to_jsonable_python(json_schema_extra)) + elif callable(json_schema_extra): + json_schema_extra(json_schema) + return json_schema + + CoreMetadataHandler(schema).metadata.setdefault('pydantic_js_annotation_functions', []).append( + json_schema_update_func + ) return schema def _get_wrapped_inner_schema( @@ -2364,17 +1674,16 @@ class GenerateSchema: annotation: Any, pydantic_js_annotation_functions: list[GetJsonSchemaFunction], ) -> CallbackGetCoreSchemaHandler: - annotation_get_schema: GetCoreSchemaFunction | None = getattr(annotation, '__get_pydantic_core_schema__', None) + metadata_get_schema: GetCoreSchemaFunction = getattr(annotation, '__get_pydantic_core_schema__', None) or ( + lambda source, handler: handler(source) + ) def new_handler(source: Any) -> core_schema.CoreSchema: - if annotation_get_schema is not None: - schema = annotation_get_schema(source, get_inner_schema) - else: - schema = get_inner_schema(source) - schema = self._apply_single_annotation(schema, annotation) - schema = self._apply_single_annotation_json_schema(schema, annotation) + schema = metadata_get_schema(source, get_inner_schema) + schema = self._apply_single_annotation(schema, annotation) + schema = self._apply_single_annotation_json_schema(schema, annotation) - metadata_js_function = _extract_get_pydantic_json_schema(annotation) + metadata_js_function = _extract_get_pydantic_json_schema(annotation, schema) if metadata_js_function is not None: pydantic_js_annotation_functions.append(metadata_js_function) return schema @@ -2385,6 +1694,7 @@ class GenerateSchema: self, schema: core_schema.CoreSchema, serializers: list[Decorator[FieldSerializerDecoratorInfo]], + computed_field: bool = False, ) -> core_schema.CoreSchema: """Apply field serializers to a schema.""" if serializers: @@ -2393,25 +1703,23 @@ class GenerateSchema: inner_schema = schema['schema'] schema['schema'] = self._apply_field_serializers(inner_schema, serializers) return schema - elif 'ref' in schema: - schema = self.defs.create_definition_reference_schema(schema) + else: + ref = typing.cast('str|None', schema.get('ref', None)) + if ref is not None: + schema = core_schema.definition_reference_schema(ref) # use the last serializer to make it easy to override a serializer set on a parent model serializer = serializers[-1] - is_field_serializer, info_arg = inspect_field_serializer(serializer.func, serializer.info.mode) + is_field_serializer, info_arg = inspect_field_serializer( + serializer.func, serializer.info.mode, computed_field=computed_field + ) - if serializer.info.return_type is not PydanticUndefined: - return_type = serializer.info.return_type - else: - try: - # Do not pass in globals as the function could be defined in a different module. - # Instead, let `get_callable_return_type` infer the globals to use, but still pass - # in locals that may contain a parent/rebuild namespace: - return_type = _decorators.get_callable_return_type( - serializer.func, localns=self._types_namespace.locals - ) - except NameError as e: - raise PydanticUndefinedAnnotation.from_name_error(e) from e + try: + return_type = _decorators.get_function_return_type( + serializer.func, serializer.info.return_type, self._types_namespace + ) + except NameError as e: + raise PydanticUndefinedAnnotation.from_name_error(e) from e if return_type is PydanticUndefined: return_schema = None @@ -2446,19 +1754,12 @@ class GenerateSchema: serializer = list(serializers)[-1] info_arg = inspect_model_serializer(serializer.func, serializer.info.mode) - if serializer.info.return_type is not PydanticUndefined: - return_type = serializer.info.return_type - else: - try: - # Do not pass in globals as the function could be defined in a different module. - # Instead, let `get_callable_return_type` infer the globals to use, but still pass - # in locals that may contain a parent/rebuild namespace: - return_type = _decorators.get_callable_return_type( - serializer.func, localns=self._types_namespace.locals - ) - except NameError as e: - raise PydanticUndefinedAnnotation.from_name_error(e) from e - + try: + return_type = _decorators.get_function_return_type( + serializer.func, serializer.info.return_type, self._types_namespace + ) + except NameError as e: + raise PydanticUndefinedAnnotation.from_name_error(e) from e if return_type is PydanticUndefined: return_schema = None else: @@ -2508,8 +1809,6 @@ _VALIDATOR_F_MATCH: Mapping[ } -# TODO V3: this function is only used for deprecated decorators. It should -# be removed once we drop support for those. def apply_validators( schema: core_schema.CoreSchema, validators: Iterable[Decorator[RootValidatorDecoratorInfo]] @@ -2610,10 +1909,7 @@ def wrap_default(field_info: FieldInfo, schema: core_schema.CoreSchema) -> core_ """ if field_info.default_factory: return core_schema.with_default_schema( - schema, - default_factory=field_info.default_factory, - default_factory_takes_data=takes_validated_data_argument(field_info.default_factory), - validate_default=field_info.validate_default, + schema, default_factory=field_info.default_factory, validate_default=field_info.validate_default ) elif field_info.default is not PydanticUndefined: return core_schema.with_default_schema( @@ -2623,31 +1919,29 @@ def wrap_default(field_info: FieldInfo, schema: core_schema.CoreSchema) -> core_ return schema -def _extract_get_pydantic_json_schema(tp: Any) -> GetJsonSchemaFunction | None: +def _extract_get_pydantic_json_schema(tp: Any, schema: CoreSchema) -> GetJsonSchemaFunction | None: """Extract `__get_pydantic_json_schema__` from a type, handling the deprecated `__modify_schema__`.""" js_modify_function = getattr(tp, '__get_pydantic_json_schema__', None) if hasattr(tp, '__modify_schema__'): - BaseModel = import_cached_base_model() + from pydantic import BaseModel # circular reference has_custom_v2_modify_js_func = ( js_modify_function is not None - and BaseModel.__get_pydantic_json_schema__.__func__ # type: ignore + and BaseModel.__get_pydantic_json_schema__.__func__ not in (js_modify_function, getattr(js_modify_function, '__func__', None)) ) if not has_custom_v2_modify_js_func: - cls_name = getattr(tp, '__name__', None) raise PydanticUserError( - f'The `__modify_schema__` method is not supported in Pydantic v2. ' - f'Use `__get_pydantic_json_schema__` instead{f" in class `{cls_name}`" if cls_name else ""}.', + 'The `__modify_schema__` method is not supported in Pydantic v2. ' + 'Use `__get_pydantic_json_schema__` instead.', code='custom-json-schema', ) - if (origin := get_origin(tp)) is not None: - # Generic aliases proxy attribute access to the origin, *except* dunder attributes, - # such as `__get_pydantic_json_schema__`, hence the explicit check. - return _extract_get_pydantic_json_schema(origin) + # handle GenericAlias' but ignore Annotated which "lies" about its origin (in this case it would be `int`) + if hasattr(tp, '__origin__') and not isinstance(tp, type(Annotated[int, 'placeholder'])): + return _extract_get_pydantic_json_schema(tp.__origin__, schema) if js_modify_function is None: return None @@ -2683,62 +1977,15 @@ def _common_field( } -def resolve_original_schema(schema: CoreSchema, definitions: _Definitions) -> CoreSchema | None: - if schema['type'] == 'definition-ref': - return definitions.get_schema_from_ref(schema['schema_ref']) - elif schema['type'] == 'definitions': - return schema['schema'] - else: - return schema - - -def _inlining_behavior( - def_ref: core_schema.DefinitionReferenceSchema, -) -> Literal['inline', 'keep', 'preserve_metadata']: - """Determine the inlining behavior of the `'definition-ref'` schema. - - - If no `'serialization'` schema and no metadata is attached, the schema can safely be inlined. - - If it has metadata but only related to the deferred discriminator application, it can be inlined - provided that such metadata is kept. - - Otherwise, the schema should not be inlined. Doing so would remove the `'serialization'` schema or metadata. - """ - if 'serialization' in def_ref: - return 'keep' - metadata = def_ref.get('metadata') - if not metadata: - return 'inline' - if len(metadata) == 1 and 'pydantic_internal_union_discriminator' in metadata: - return 'preserve_metadata' - return 'keep' - - class _Definitions: """Keeps track of references and definitions.""" - _recursively_seen: set[str] - """A set of recursively seen references. - - When a referenceable type is encountered, the `get_schema_or_ref` context manager is - entered to compute the reference. If the type references itself by some way (e.g. for - a dataclass a Pydantic model, the class can be referenced as a field annotation), - entering the context manager again will yield a `'definition-ref'` schema that should - short-circuit the normal generation process, as the reference was already in this set. - """ - - _definitions: dict[str, core_schema.CoreSchema] - """A mapping of references to their corresponding schema. - - When a schema for a referenceable type is generated, it is stored in this mapping. If the - same type is encountered again, the reference is yielded by the `get_schema_or_ref` context - manager. - """ - def __init__(self) -> None: - self._recursively_seen = set() - self._definitions = {} + self.seen: set[str] = set() + self.definitions: dict[str, core_schema.CoreSchema] = {} @contextmanager - def get_schema_or_ref(self, tp: Any, /) -> Generator[tuple[str, core_schema.DefinitionReferenceSchema | None]]: + def get_schema_or_ref(self, tp: Any) -> Iterator[tuple[str, None] | tuple[str, CoreSchema]]: """Get a definition for `tp` if one exists. If a definition exists, a tuple of `(ref_string, CoreSchema)` is returned. @@ -2752,119 +1999,31 @@ class _Definitions: At present the following types can be named/recursive: - - Pydantic model - - Pydantic and stdlib dataclasses - - Typed dictionaries - - Named tuples - - `TypeAliasType` instances - - Enums + - BaseModel + - Dataclasses + - TypedDict + - TypeAliasType """ ref = get_type_ref(tp) - # return the reference if we're either (1) in a cycle or (2) it the reference was already encountered: - if ref in self._recursively_seen or ref in self._definitions: + # return the reference if we're either (1) in a cycle or (2) it was already defined + if ref in self.seen or ref in self.definitions: yield (ref, core_schema.definition_reference_schema(ref)) else: - self._recursively_seen.add(ref) + self.seen.add(ref) try: yield (ref, None) finally: - self._recursively_seen.discard(ref) + self.seen.discard(ref) - def get_schema_from_ref(self, ref: str) -> CoreSchema | None: - """Resolve the schema from the given reference.""" - return self._definitions.get(ref) - def create_definition_reference_schema(self, schema: CoreSchema) -> core_schema.DefinitionReferenceSchema: - """Store the schema as a definition and return a `'definition-reference'` schema pointing to it. - - The schema must have a reference attached to it. - """ - ref = schema['ref'] # pyright: ignore - self._definitions[ref] = schema - return core_schema.definition_reference_schema(ref) - - def unpack_definitions(self, schema: core_schema.DefinitionsSchema) -> CoreSchema: - """Store the definitions of the `'definitions'` core schema and return the inner core schema.""" - for def_schema in schema['definitions']: - self._definitions[def_schema['ref']] = def_schema # pyright: ignore +def resolve_original_schema(schema: CoreSchema, definitions: dict[str, CoreSchema]) -> CoreSchema | None: + if schema['type'] == 'definition-ref': + return definitions.get(schema['schema_ref'], None) + elif schema['type'] == 'definitions': return schema['schema'] - - def finalize_schema(self, schema: CoreSchema) -> CoreSchema: - """Finalize the core schema. - - This traverses the core schema and referenced definitions, replaces `'definition-ref'` schemas - by the referenced definition if possible, and applies deferred discriminators. - """ - definitions = self._definitions - try: - gather_result = gather_schemas_for_cleaning( - schema, - definitions=definitions, - ) - except MissingDefinitionError as e: - raise InvalidSchemaError from e - - remaining_defs: dict[str, CoreSchema] = {} - - # Note: this logic doesn't play well when core schemas with deferred discriminator metadata - # and references are encountered. See the `test_deferred_discriminated_union_and_references()` test. - for ref, inlinable_def_ref in gather_result['collected_references'].items(): - if inlinable_def_ref is not None and (inlining_behavior := _inlining_behavior(inlinable_def_ref)) != 'keep': - if inlining_behavior == 'inline': - # `ref` was encountered, and only once: - # - `inlinable_def_ref` is a `'definition-ref'` schema and is guaranteed to be - # the only one. Transform it into the definition it points to. - # - Do not store the definition in the `remaining_defs`. - inlinable_def_ref.clear() # pyright: ignore[reportAttributeAccessIssue] - inlinable_def_ref.update(self._resolve_definition(ref, definitions)) # pyright: ignore - elif inlining_behavior == 'preserve_metadata': - # `ref` was encountered, and only once, but contains discriminator metadata. - # We will do the same thing as if `inlining_behavior` was `'inline'`, but make - # sure to keep the metadata for the deferred discriminator application logic below. - meta = inlinable_def_ref.pop('metadata') - inlinable_def_ref.clear() # pyright: ignore[reportAttributeAccessIssue] - inlinable_def_ref.update(self._resolve_definition(ref, definitions)) # pyright: ignore - inlinable_def_ref['metadata'] = meta - else: - # `ref` was encountered, at least two times (or only once, but with metadata or a serialization schema): - # - Do not inline the `'definition-ref'` schemas (they are not provided in the gather result anyway). - # - Store the the definition in the `remaining_defs` - remaining_defs[ref] = self._resolve_definition(ref, definitions) - - for cs in gather_result['deferred_discriminator_schemas']: - discriminator: str | None = cs['metadata'].pop('pydantic_internal_union_discriminator', None) # pyright: ignore[reportTypedDictNotRequiredAccess] - if discriminator is None: - # This can happen in rare scenarios, when a deferred schema is present multiple times in the - # gather result (e.g. when using the `Sequence` type -- see `test_sequence_discriminated_union()`). - # In this case, a previous loop iteration applied the discriminator and so we can just skip it here. - continue - applied = _discriminated_union.apply_discriminator(cs.copy(), discriminator, remaining_defs) - # Mutate the schema directly to have the discriminator applied - cs.clear() # pyright: ignore[reportAttributeAccessIssue] - cs.update(applied) # pyright: ignore - - if remaining_defs: - schema = core_schema.definitions_schema(schema=schema, definitions=[*remaining_defs.values()]) + else: return schema - def _resolve_definition(self, ref: str, definitions: dict[str, CoreSchema]) -> CoreSchema: - definition = definitions[ref] - if definition['type'] != 'definition-ref': - return definition - - # Some `'definition-ref'` schemas might act as "intermediate" references (e.g. when using - # a PEP 695 type alias (which is referenceable) that references another PEP 695 type alias): - visited: set[str] = set() - while definition['type'] == 'definition-ref' and _inlining_behavior(definition) == 'inline': - schema_ref = definition['schema_ref'] - if schema_ref in visited: - raise PydanticUserError( - f'{ref} contains a circular reference to itself.', code='circular-reference-schema' - ) - visited.add(schema_ref) - definition = definitions[schema_ref] - return {**definition, 'ref': ref} # pyright: ignore[reportReturnType] - class _FieldNameStack: __slots__ = ('_stack',) @@ -2883,22 +2042,3 @@ class _FieldNameStack: return self._stack[-1] else: return None - - -class _ModelTypeStack: - __slots__ = ('_stack',) - - def __init__(self) -> None: - self._stack: list[type] = [] - - @contextmanager - def push(self, type_obj: type) -> Iterator[None]: - self._stack.append(type_obj) - yield - self._stack.pop() - - def get(self) -> type | None: - if self._stack: - return self._stack[-1] - else: - return None diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_generics.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_generics.py index 8013676..7c3d5f4 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_generics.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_generics.py @@ -4,21 +4,17 @@ import sys import types import typing from collections import ChainMap -from collections.abc import Iterator, Mapping from contextlib import contextmanager from contextvars import ContextVar -from itertools import zip_longest from types import prepare_class -from typing import TYPE_CHECKING, Annotated, Any, TypeVar +from typing import TYPE_CHECKING, Any, Iterator, List, Mapping, MutableMapping, Tuple, TypeVar from weakref import WeakValueDictionary import typing_extensions -from typing_inspection import typing_objects -from typing_inspection.introspection import is_union_origin -from . import _typing_extra from ._core_utils import get_type_ref from ._forward_ref import PydanticRecursiveRef +from ._typing_extra import TypeVarType, typing_base from ._utils import all_identical, is_model_class if sys.version_info >= (3, 10): @@ -27,7 +23,7 @@ if sys.version_info >= (3, 10): if TYPE_CHECKING: from ..main import BaseModel -GenericTypesCacheKey = tuple[Any, Any, tuple[Any, ...]] +GenericTypesCacheKey = Tuple[Any, Any, Tuple[Any, ...]] # Note: We want to remove LimitedDict, but to do this, we'd need to improve the handling of generics caching. # Right now, to handle recursive generics, we some types must remain cached for brief periods without references. @@ -38,25 +34,43 @@ GenericTypesCacheKey = tuple[Any, Any, tuple[Any, ...]] KT = TypeVar('KT') VT = TypeVar('VT') _LIMITED_DICT_SIZE = 100 +if TYPE_CHECKING: + class LimitedDict(dict, MutableMapping[KT, VT]): + def __init__(self, size_limit: int = _LIMITED_DICT_SIZE): + ... -class LimitedDict(dict[KT, VT]): - def __init__(self, size_limit: int = _LIMITED_DICT_SIZE) -> None: - self.size_limit = size_limit - super().__init__() +else: - def __setitem__(self, key: KT, value: VT, /) -> None: - super().__setitem__(key, value) - if len(self) > self.size_limit: - excess = len(self) - self.size_limit + self.size_limit // 10 - to_remove = list(self.keys())[:excess] - for k in to_remove: - del self[k] + class LimitedDict(dict): + """Limit the size/length of a dict used for caching to avoid unlimited increase in memory usage. + + Since the dict is ordered, and we always remove elements from the beginning, this is effectively a FIFO cache. + """ + + def __init__(self, size_limit: int = _LIMITED_DICT_SIZE): + self.size_limit = size_limit + super().__init__() + + def __setitem__(self, __key: Any, __value: Any) -> None: + super().__setitem__(__key, __value) + if len(self) > self.size_limit: + excess = len(self) - self.size_limit + self.size_limit // 10 + to_remove = list(self.keys())[:excess] + for key in to_remove: + del self[key] + + def __class_getitem__(cls, *args: Any) -> Any: + # to avoid errors with 3.7 + return cls # weak dictionaries allow the dynamically created parametrized versions of generic models to get collected # once they are no longer referenced by the caller. -GenericTypesCache = WeakValueDictionary[GenericTypesCacheKey, 'type[BaseModel]'] +if sys.version_info >= (3, 9): # Typing for weak dictionaries available at 3.9 + GenericTypesCache = WeakValueDictionary[GenericTypesCacheKey, 'type[BaseModel]'] +else: + GenericTypesCache = WeakValueDictionary if TYPE_CHECKING: @@ -94,13 +108,13 @@ else: # and discover later on that we need to re-add all this infrastructure... # _GENERIC_TYPES_CACHE = DeepChainMap(GenericTypesCache(), LimitedDict()) -_GENERIC_TYPES_CACHE: ContextVar[GenericTypesCache | None] = ContextVar('_GENERIC_TYPES_CACHE', default=None) +_GENERIC_TYPES_CACHE = GenericTypesCache() class PydanticGenericMetadata(typing_extensions.TypedDict): origin: type[BaseModel] | None # analogous to typing._GenericAlias.__origin__ args: tuple[Any, ...] # analogous to typing._GenericAlias.__args__ - parameters: tuple[TypeVar, ...] # analogous to typing.Generic.__parameters__ + parameters: tuple[type[Any], ...] # analogous to typing.Generic.__parameters__ def create_generic_submodel( @@ -157,7 +171,7 @@ def _get_caller_frame_info(depth: int = 2) -> tuple[str | None, bool]: depth: The depth to get the frame. Returns: - A tuple contains `module_name` and `called_globally`. + A tuple contains `module_nam` and `called_globally`. Raises: RuntimeError: If the function is not called inside a function. @@ -175,7 +189,7 @@ def _get_caller_frame_info(depth: int = 2) -> tuple[str | None, bool]: DictValues: type[Any] = {}.values().__class__ -def iter_contained_typevars(v: Any) -> Iterator[TypeVar]: +def iter_contained_typevars(v: Any) -> Iterator[TypeVarType]: """Recursively iterate through all subtypes and type args of `v` and yield any typevars that are found. This is inspired as an alternative to directly accessing the `__parameters__` attribute of a GenericAlias, @@ -208,7 +222,7 @@ def get_origin(v: Any) -> Any: return typing_extensions.get_origin(v) -def get_standard_typevars_map(cls: Any) -> dict[TypeVar, Any] | None: +def get_standard_typevars_map(cls: type[Any]) -> dict[TypeVarType, Any] | None: """Package a generic type's typevars and parametrization (if present) into a dictionary compatible with the `replace_types` function. Specifically, this works with standard typing generics and typing._GenericAlias. """ @@ -221,11 +235,11 @@ def get_standard_typevars_map(cls: Any) -> dict[TypeVar, Any] | None: # In this case, we know that cls is a _GenericAlias, and origin is the generic type # So it is safe to access cls.__args__ and origin.__parameters__ args: tuple[Any, ...] = cls.__args__ # type: ignore - parameters: tuple[TypeVar, ...] = origin.__parameters__ + parameters: tuple[TypeVarType, ...] = origin.__parameters__ return dict(zip(parameters, args)) -def get_model_typevars_map(cls: type[BaseModel]) -> dict[TypeVar, Any]: +def get_model_typevars_map(cls: type[BaseModel]) -> dict[TypeVarType, Any] | None: """Package a generic BaseModel's typevars and concrete parametrization (if present) into a dictionary compatible with the `replace_types` function. @@ -237,13 +251,10 @@ def get_model_typevars_map(cls: type[BaseModel]) -> dict[TypeVar, Any]: generic_metadata = cls.__pydantic_generic_metadata__ origin = generic_metadata['origin'] args = generic_metadata['args'] - if not args: - # No need to go into `iter_contained_typevars`: - return {} return dict(zip(iter_contained_typevars(origin), args)) -def replace_types(type_: Any, type_map: Mapping[TypeVar, Any] | None) -> Any: +def replace_types(type_: Any, type_map: Mapping[Any, Any] | None) -> Any: """Return type with all occurrences of `type_map` keys recursively replaced with their values. Args: @@ -255,13 +266,13 @@ def replace_types(type_: Any, type_map: Mapping[TypeVar, Any] | None) -> Any: `typevar_map` keys recursively replaced. Example: - ```python - from typing import List, Union + ```py + from typing import List, Tuple, Union from pydantic._internal._generics import replace_types - replace_types(tuple[str, Union[List[str], float]], {str: int}) - #> tuple[int, Union[List[int], float]] + replace_types(Tuple[str, Union[List[str], float]], {str: int}) + #> Tuple[int, Union[List[int], float]] ``` """ if not type_map: @@ -270,25 +281,25 @@ def replace_types(type_: Any, type_map: Mapping[TypeVar, Any] | None) -> Any: type_args = get_args(type_) origin_type = get_origin(type_) - if typing_objects.is_annotated(origin_type): + if origin_type is typing_extensions.Annotated: annotated_type, *annotations = type_args - annotated_type = replace_types(annotated_type, type_map) - # TODO remove parentheses when we drop support for Python 3.10: - return Annotated[(annotated_type, *annotations)] + annotated = replace_types(annotated_type, type_map) + for annotation in annotations: + annotated = typing_extensions.Annotated[annotated, annotation] + return annotated - # Having type args is a good indicator that this is a typing special form - # instance or a generic alias of some sort. + # Having type args is a good indicator that this is a typing module + # class instantiation or a generic alias of some sort. if type_args: resolved_type_args = tuple(replace_types(arg, type_map) for arg in type_args) if all_identical(type_args, resolved_type_args): # If all arguments are the same, there is no need to modify the # type or create a new object at all return type_ - if ( origin_type is not None - and isinstance(type_, _typing_extra.typing_base) - and not isinstance(origin_type, _typing_extra.typing_base) + and isinstance(type_, typing_base) + and not isinstance(origin_type, typing_base) and getattr(type_, '_name', None) is not None ): # In python < 3.9 generic aliases don't exist so any of these like `list`, @@ -296,24 +307,11 @@ def replace_types(type_: Any, type_map: Mapping[TypeVar, Any] | None) -> Any: # See: https://www.python.org/dev/peps/pep-0585 origin_type = getattr(typing, type_._name) assert origin_type is not None - - if is_union_origin(origin_type): - if any(typing_objects.is_any(arg) for arg in resolved_type_args): - # `Any | T` ~ `Any`: - resolved_type_args = (Any,) - # `Never | T` ~ `T`: - resolved_type_args = tuple( - arg - for arg in resolved_type_args - if not (typing_objects.is_noreturn(arg) or typing_objects.is_never(arg)) - ) - # PEP-604 syntax (Ex.: list | str) is represented with a types.UnionType object that does not have __getitem__. # We also cannot use isinstance() since we have to compare types. if sys.version_info >= (3, 10) and origin_type is types.UnionType: return _UnionGenericAlias(origin_type, resolved_type_args) - # NotRequired[T] and Required[T] don't support tuple type resolved_type_args, hence the condition below - return origin_type[resolved_type_args[0] if len(resolved_type_args) == 1 else resolved_type_args] + return origin_type[resolved_type_args] # We handle pydantic generic models separately as they don't have the same # semantics as "typing" classes or generic aliases @@ -329,8 +327,8 @@ def replace_types(type_: Any, type_map: Mapping[TypeVar, Any] | None) -> Any: # Handle special case for typehints that can have lists as arguments. # `typing.Callable[[int, str], int]` is an example for this. - if isinstance(type_, list): - resolved_list = [replace_types(element, type_map) for element in type_] + if isinstance(type_, (List, list)): + resolved_list = list(replace_types(element, type_map) for element in type_) if all_identical(type_, resolved_list): return type_ return resolved_list @@ -340,57 +338,49 @@ def replace_types(type_: Any, type_map: Mapping[TypeVar, Any] | None) -> Any: return type_map.get(type_, type_) -def map_generic_model_arguments(cls: type[BaseModel], args: tuple[Any, ...]) -> dict[TypeVar, Any]: - """Return a mapping between the parameters of a generic model and the provided arguments during parameterization. +def has_instance_in_type(type_: Any, isinstance_target: Any) -> bool: + """Checks if the type, or any of its arbitrary nested args, satisfy + `isinstance(, isinstance_target)`. + """ + if isinstance(type_, isinstance_target): + return True + + type_args = get_args(type_) + origin_type = get_origin(type_) + + if origin_type is typing_extensions.Annotated: + annotated_type, *annotations = type_args + return has_instance_in_type(annotated_type, isinstance_target) + + # Having type args is a good indicator that this is a typing module + # class instantiation or a generic alias of some sort. + if any(has_instance_in_type(a, isinstance_target) for a in type_args): + return True + + # Handle special case for typehints that can have lists as arguments. + # `typing.Callable[[int, str], int]` is an example for this. + if isinstance(type_, (List, list)) and not isinstance(type_, typing_extensions.ParamSpec): + if any(has_instance_in_type(element, isinstance_target) for element in type_): + return True + + return False + + +def check_parameters_count(cls: type[BaseModel], parameters: tuple[Any, ...]) -> None: + """Check the generic model parameters count is equal. + + Args: + cls: The generic model. + parameters: A tuple of passed parameters to the generic model. Raises: - TypeError: If the number of arguments does not match the parameters (i.e. if providing too few or too many arguments). - - Example: - ```python {test="skip" lint="skip"} - class Model[T, U, V = int](BaseModel): ... - - map_generic_model_arguments(Model, (str, bytes)) - #> {T: str, U: bytes, V: int} - - map_generic_model_arguments(Model, (str,)) - #> TypeError: Too few arguments for ; actual 1, expected at least 2 - - map_generic_model_arguments(Model, (str, bytes, int, complex)) - #> TypeError: Too many arguments for ; actual 4, expected 3 - ``` - - Note: - This function is analogous to the private `typing._check_generic_specialization` function. + TypeError: If the passed parameters count is not equal to generic model parameters count. """ - parameters = cls.__pydantic_generic_metadata__['parameters'] - expected_len = len(parameters) - typevars_map: dict[TypeVar, Any] = {} - - _missing = object() - for parameter, argument in zip_longest(parameters, args, fillvalue=_missing): - if parameter is _missing: - raise TypeError(f'Too many arguments for {cls}; actual {len(args)}, expected {expected_len}') - - if argument is _missing: - param = typing.cast(TypeVar, parameter) - try: - has_default = param.has_default() - except AttributeError: - # Happens if using `typing.TypeVar` (and not `typing_extensions`) on Python < 3.13. - has_default = False - if has_default: - # The default might refer to other type parameters. For an example, see: - # https://typing.readthedocs.io/en/latest/spec/generics.html#type-parameters-as-parameters-to-generics - typevars_map[param] = replace_types(param.__default__, typevars_map) - else: - expected_len -= sum(hasattr(p, 'has_default') and p.has_default() for p in parameters) - raise TypeError(f'Too few arguments for {cls}; actual {len(args)}, expected at least {expected_len}') - else: - param = typing.cast(TypeVar, parameter) - typevars_map[param] = argument - - return typevars_map + actual = len(parameters) + expected = len(cls.__pydantic_generic_metadata__['parameters']) + if actual != expected: + description = 'many' if actual > expected else 'few' + raise TypeError(f'Too {description} parameters for {cls}; actual {actual}, expected {expected}') _generic_recursion_cache: ContextVar[set[str] | None] = ContextVar('_generic_recursion_cache', default=None) @@ -421,8 +411,7 @@ def generic_recursion_self_type( yield self_type else: previously_seen_type_refs.add(type_ref) - yield - previously_seen_type_refs.remove(type_ref) + yield None finally: if token: _generic_recursion_cache.reset(token) @@ -453,24 +442,14 @@ def get_cached_generic_type_early(parent: type[BaseModel], typevar_values: Any) during validation, I think it is worthwhile to ensure that types that are functionally equivalent are actually equal. """ - generic_types_cache = _GENERIC_TYPES_CACHE.get() - if generic_types_cache is None: - generic_types_cache = GenericTypesCache() - _GENERIC_TYPES_CACHE.set(generic_types_cache) - return generic_types_cache.get(_early_cache_key(parent, typevar_values)) + return _GENERIC_TYPES_CACHE.get(_early_cache_key(parent, typevar_values)) def get_cached_generic_type_late( parent: type[BaseModel], typevar_values: Any, origin: type[BaseModel], args: tuple[Any, ...] ) -> type[BaseModel] | None: """See the docstring of `get_cached_generic_type_early` for more information about the two-stage cache lookup.""" - generic_types_cache = _GENERIC_TYPES_CACHE.get() - if ( - generic_types_cache is None - ): # pragma: no cover (early cache is guaranteed to run first and initialize the cache) - generic_types_cache = GenericTypesCache() - _GENERIC_TYPES_CACHE.set(generic_types_cache) - cached = generic_types_cache.get(_late_cache_key(origin, args, typevar_values)) + cached = _GENERIC_TYPES_CACHE.get(_late_cache_key(origin, args, typevar_values)) if cached is not None: set_cached_generic_type(parent, typevar_values, cached, origin, args) return cached @@ -486,17 +465,11 @@ def set_cached_generic_type( """See the docstring of `get_cached_generic_type_early` for more information about why items are cached with two different keys. """ - generic_types_cache = _GENERIC_TYPES_CACHE.get() - if ( - generic_types_cache is None - ): # pragma: no cover (cache lookup is guaranteed to run first and initialize the cache) - generic_types_cache = GenericTypesCache() - _GENERIC_TYPES_CACHE.set(generic_types_cache) - generic_types_cache[_early_cache_key(parent, typevar_values)] = type_ + _GENERIC_TYPES_CACHE[_early_cache_key(parent, typevar_values)] = type_ if len(typevar_values) == 1: - generic_types_cache[_early_cache_key(parent, typevar_values[0])] = type_ + _GENERIC_TYPES_CACHE[_early_cache_key(parent, typevar_values[0])] = type_ if origin and args: - generic_types_cache[_late_cache_key(origin, args, typevar_values)] = type_ + _GENERIC_TYPES_CACHE[_late_cache_key(origin, args, typevar_values)] = type_ def _union_orderings_key(typevar_values: Any) -> Any: @@ -517,7 +490,7 @@ def _union_orderings_key(typevar_values: Any) -> Any: for value in typevar_values: args_data.append(_union_orderings_key(value)) return tuple(args_data) - elif typing_objects.is_union(typing_extensions.get_origin(typevar_values)): + elif typing_extensions.get_origin(typevar_values) is typing.Union: return get_args(typevar_values) else: return () diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_git.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_git.py deleted file mode 100644 index 96dcda2..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_git.py +++ /dev/null @@ -1,27 +0,0 @@ -"""Git utilities, adopted from mypy's git utilities (https://github.com/python/mypy/blob/master/mypy/git.py).""" - -from __future__ import annotations - -import subprocess -from pathlib import Path - - -def is_git_repo(dir: Path) -> bool: - """Is the given directory version-controlled with git?""" - return dir.joinpath('.git').exists() - - -def have_git() -> bool: # pragma: no cover - """Can we run the git executable?""" - try: - subprocess.check_output(['git', '--help']) - return True - except subprocess.CalledProcessError: - return False - except OSError: - return False - - -def git_revision(dir: Path) -> str: - """Get the SHA-1 of the HEAD of a git repository.""" - return subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD'], cwd=dir).decode('utf-8').strip() diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_import_utils.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_import_utils.py deleted file mode 100644 index 638102f..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_import_utils.py +++ /dev/null @@ -1,20 +0,0 @@ -from functools import cache -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from pydantic import BaseModel - from pydantic.fields import FieldInfo - - -@cache -def import_cached_base_model() -> type['BaseModel']: - from pydantic import BaseModel - - return BaseModel - - -@cache -def import_cached_field_info() -> type['FieldInfo']: - from pydantic.fields import FieldInfo - - return FieldInfo diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_internal_dataclass.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_internal_dataclass.py index 33e152c..317a3d9 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_internal_dataclass.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_internal_dataclass.py @@ -1,4 +1,7 @@ import sys +from typing import Any, Dict + +dataclass_kwargs: Dict[str, Any] # `slots` is available on Python >= 3.10 if sys.version_info >= (3, 10): diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_known_annotated_metadata.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_known_annotated_metadata.py index c127e27..307adfa 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_known_annotated_metadata.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_known_annotated_metadata.py @@ -1,57 +1,42 @@ from __future__ import annotations from collections import defaultdict -from collections.abc import Iterable from copy import copy -from functools import lru_cache, partial -from typing import TYPE_CHECKING, Any +from functools import partial +from typing import TYPE_CHECKING, Any, Callable, Iterable -from pydantic_core import CoreSchema, PydanticCustomError, ValidationError, to_jsonable_python +import annotated_types as at +from pydantic_core import CoreSchema, PydanticCustomError, to_jsonable_python from pydantic_core import core_schema as cs -from ._fields import PydanticMetadata -from ._import_utils import import_cached_field_info +from . import _validators +from ._fields import PydanticGeneralMetadata, PydanticMetadata if TYPE_CHECKING: - pass + from ..annotated_handlers import GetJsonSchemaHandler + STRICT = {'strict'} -FAIL_FAST = {'fail_fast'} -LENGTH_CONSTRAINTS = {'min_length', 'max_length'} +SEQUENCE_CONSTRAINTS = {'min_length', 'max_length'} INEQUALITY = {'le', 'ge', 'lt', 'gt'} -NUMERIC_CONSTRAINTS = {'multiple_of', *INEQUALITY} -ALLOW_INF_NAN = {'allow_inf_nan'} +NUMERIC_CONSTRAINTS = {'multiple_of', 'allow_inf_nan', *INEQUALITY} -STR_CONSTRAINTS = { - *LENGTH_CONSTRAINTS, - *STRICT, - 'strip_whitespace', - 'to_lower', - 'to_upper', - 'pattern', - 'coerce_numbers_to_str', -} -BYTES_CONSTRAINTS = {*LENGTH_CONSTRAINTS, *STRICT} +STR_CONSTRAINTS = {*SEQUENCE_CONSTRAINTS, *STRICT, 'strip_whitespace', 'to_lower', 'to_upper', 'pattern'} +BYTES_CONSTRAINTS = {*SEQUENCE_CONSTRAINTS, *STRICT} -LIST_CONSTRAINTS = {*LENGTH_CONSTRAINTS, *STRICT, *FAIL_FAST} -TUPLE_CONSTRAINTS = {*LENGTH_CONSTRAINTS, *STRICT, *FAIL_FAST} -SET_CONSTRAINTS = {*LENGTH_CONSTRAINTS, *STRICT, *FAIL_FAST} -DICT_CONSTRAINTS = {*LENGTH_CONSTRAINTS, *STRICT} -GENERATOR_CONSTRAINTS = {*LENGTH_CONSTRAINTS, *STRICT} -SEQUENCE_CONSTRAINTS = {*LENGTH_CONSTRAINTS, *FAIL_FAST} +LIST_CONSTRAINTS = {*SEQUENCE_CONSTRAINTS, *STRICT} +TUPLE_CONSTRAINTS = {*SEQUENCE_CONSTRAINTS, *STRICT} +SET_CONSTRAINTS = {*SEQUENCE_CONSTRAINTS, *STRICT} +DICT_CONSTRAINTS = {*SEQUENCE_CONSTRAINTS, *STRICT} +GENERATOR_CONSTRAINTS = {*SEQUENCE_CONSTRAINTS, *STRICT} -FLOAT_CONSTRAINTS = {*NUMERIC_CONSTRAINTS, *ALLOW_INF_NAN, *STRICT} -DECIMAL_CONSTRAINTS = {'max_digits', 'decimal_places', *FLOAT_CONSTRAINTS} -INT_CONSTRAINTS = {*NUMERIC_CONSTRAINTS, *ALLOW_INF_NAN, *STRICT} +FLOAT_CONSTRAINTS = {*NUMERIC_CONSTRAINTS, *STRICT} +INT_CONSTRAINTS = {*NUMERIC_CONSTRAINTS, *STRICT} BOOL_CONSTRAINTS = STRICT -UUID_CONSTRAINTS = STRICT DATE_TIME_CONSTRAINTS = {*NUMERIC_CONSTRAINTS, *STRICT} TIMEDELTA_CONSTRAINTS = {*NUMERIC_CONSTRAINTS, *STRICT} TIME_CONSTRAINTS = {*NUMERIC_CONSTRAINTS, *STRICT} -LAX_OR_STRICT_CONSTRAINTS = STRICT -ENUM_CONSTRAINTS = STRICT -COMPLEX_CONSTRAINTS = STRICT UNION_CONSTRAINTS = {'union_mode'} URL_CONSTRAINTS = { @@ -68,33 +53,54 @@ SEQUENCE_SCHEMA_TYPES = ('list', 'tuple', 'set', 'frozenset', 'generator', *TEXT NUMERIC_SCHEMA_TYPES = ('float', 'int', 'date', 'time', 'timedelta', 'datetime') CONSTRAINTS_TO_ALLOWED_SCHEMAS: dict[str, set[str]] = defaultdict(set) +for constraint in STR_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(TEXT_SCHEMA_TYPES) +for constraint in BYTES_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('bytes',)) +for constraint in LIST_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('list',)) +for constraint in TUPLE_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('tuple',)) +for constraint in SET_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('set', 'frozenset')) +for constraint in DICT_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('dict',)) +for constraint in GENERATOR_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('generator',)) +for constraint in FLOAT_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('float',)) +for constraint in INT_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('int',)) +for constraint in DATE_TIME_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('date', 'time', 'datetime')) +for constraint in TIMEDELTA_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('timedelta',)) +for constraint in TIME_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('time',)) +for schema_type in (*TEXT_SCHEMA_TYPES, *SEQUENCE_SCHEMA_TYPES, *NUMERIC_SCHEMA_TYPES, 'typed-dict', 'model'): + CONSTRAINTS_TO_ALLOWED_SCHEMAS['strict'].add(schema_type) +for constraint in UNION_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('union',)) +for constraint in URL_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('url', 'multi-host-url')) +for constraint in BOOL_CONSTRAINTS: + CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint].update(('bool',)) -constraint_schema_pairings: list[tuple[set[str], tuple[str, ...]]] = [ - (STR_CONSTRAINTS, TEXT_SCHEMA_TYPES), - (BYTES_CONSTRAINTS, ('bytes',)), - (LIST_CONSTRAINTS, ('list',)), - (TUPLE_CONSTRAINTS, ('tuple',)), - (SET_CONSTRAINTS, ('set', 'frozenset')), - (DICT_CONSTRAINTS, ('dict',)), - (GENERATOR_CONSTRAINTS, ('generator',)), - (FLOAT_CONSTRAINTS, ('float',)), - (INT_CONSTRAINTS, ('int',)), - (DATE_TIME_CONSTRAINTS, ('date', 'time', 'datetime', 'timedelta')), - # TODO: this is a bit redundant, we could probably avoid some of these - (STRICT, (*TEXT_SCHEMA_TYPES, *SEQUENCE_SCHEMA_TYPES, *NUMERIC_SCHEMA_TYPES, 'typed-dict', 'model')), - (UNION_CONSTRAINTS, ('union',)), - (URL_CONSTRAINTS, ('url', 'multi-host-url')), - (BOOL_CONSTRAINTS, ('bool',)), - (UUID_CONSTRAINTS, ('uuid',)), - (LAX_OR_STRICT_CONSTRAINTS, ('lax-or-strict',)), - (ENUM_CONSTRAINTS, ('enum',)), - (DECIMAL_CONSTRAINTS, ('decimal',)), - (COMPLEX_CONSTRAINTS, ('complex',)), -] -for constraints, schemas in constraint_schema_pairings: - for c in constraints: - CONSTRAINTS_TO_ALLOWED_SCHEMAS[c].update(schemas) +def add_js_update_schema(s: cs.CoreSchema, f: Callable[[], dict[str, Any]]) -> None: + def update_js_schema(s: cs.CoreSchema, handler: GetJsonSchemaHandler) -> dict[str, Any]: + js_schema = handler(s) + js_schema.update(f()) + return js_schema + + if 'metadata' in s: + metadata = s['metadata'] + if 'pydantic_js_functions' in s: + metadata['pydantic_js_functions'].append(update_js_schema) + else: + metadata['pydantic_js_functions'] = [update_js_schema] + else: + s['metadata'] = {'pydantic_js_functions': [update_js_schema]} def as_jsonable_value(v: Any) -> Any: @@ -113,7 +119,7 @@ def expand_grouped_metadata(annotations: Iterable[Any]) -> Iterable[Any]: An iterable of expanded annotations. Example: - ```python + ```py from annotated_types import Ge, Len from pydantic._internal._known_annotated_metadata import expand_grouped_metadata @@ -122,9 +128,7 @@ def expand_grouped_metadata(annotations: Iterable[Any]) -> Iterable[Any]: #> [Ge(ge=4), MinLen(min_length=5)] ``` """ - import annotated_types as at - - FieldInfo = import_cached_field_info() + from pydantic.fields import FieldInfo # circular import for annotation in annotations: if isinstance(annotation, at.GroupedMetadata): @@ -143,28 +147,6 @@ def expand_grouped_metadata(annotations: Iterable[Any]) -> Iterable[Any]: yield annotation -@lru_cache -def _get_at_to_constraint_map() -> dict[type, str]: - """Return a mapping of annotated types to constraints. - - Normally, we would define a mapping like this in the module scope, but we can't do that - because we don't permit module level imports of `annotated_types`, in an attempt to speed up - the import time of `pydantic`. We still only want to have this dictionary defined in one place, - so we use this function to cache the result. - """ - import annotated_types as at - - return { - at.Gt: 'gt', - at.Ge: 'ge', - at.Lt: 'lt', - at.Le: 'le', - at.MultipleOf: 'multiple_of', - at.MinLen: 'min_length', - at.MaxLen: 'max_length', - } - - def apply_known_metadata(annotation: Any, schema: CoreSchema) -> CoreSchema | None: # noqa: C901 """Apply `annotation` to `schema` if it is an annotation we know about (Gt, Le, etc.). Otherwise return `None`. @@ -184,37 +166,14 @@ def apply_known_metadata(annotation: Any, schema: CoreSchema) -> CoreSchema | No Raises: PydanticCustomError: If `Predicate` fails. """ - import annotated_types as at - - from ._validators import NUMERIC_VALIDATOR_LOOKUP, forbid_inf_nan_check - schema = schema.copy() schema_update, other_metadata = collect_known_metadata([annotation]) schema_type = schema['type'] - - chain_schema_constraints: set[str] = { - 'pattern', - 'strip_whitespace', - 'to_lower', - 'to_upper', - 'coerce_numbers_to_str', - } - chain_schema_steps: list[CoreSchema] = [] - for constraint, value in schema_update.items(): if constraint not in CONSTRAINTS_TO_ALLOWED_SCHEMAS: raise ValueError(f'Unknown constraint {constraint}') allowed_schemas = CONSTRAINTS_TO_ALLOWED_SCHEMAS[constraint] - # if it becomes necessary to handle more than one constraint - # in this recursive case with function-after or function-wrap, we should refactor - # this is a bit challenging because we sometimes want to apply constraints to the inner schema, - # whereas other times we want to wrap the existing schema with a new one that enforces a new constraint. - if schema_type in {'function-before', 'function-wrap', 'function-after'} and constraint == 'strict': - schema['schema'] = apply_known_metadata(annotation, schema['schema']) # type: ignore # schema is function schema - return schema - - # if we're allowed to apply constraint directly to the schema, like le to int, do that if schema_type in allowed_schemas: if constraint == 'union_mode' and schema_type == 'union': schema['mode'] = value # type: ignore # schema is UnionSchema @@ -222,109 +181,145 @@ def apply_known_metadata(annotation: Any, schema: CoreSchema) -> CoreSchema | No schema[constraint] = value continue - # else, apply a function after validator to the schema to enforce the corresponding constraint - if constraint in chain_schema_constraints: - - def _apply_constraint_with_incompatibility_info( - value: Any, handler: cs.ValidatorFunctionWrapHandler - ) -> Any: - try: - x = handler(value) - except ValidationError as ve: - # if the error is about the type, it's likely that the constraint is incompatible the type of the field - # for example, the following invalid schema wouldn't be caught during schema build, but rather at this point - # with a cryptic 'string_type' error coming from the string validator, - # that we'd rather express as a constraint incompatibility error (TypeError) - # Annotated[list[int], Field(pattern='abc')] - if 'type' in ve.errors()[0]['type']: - raise TypeError( - f"Unable to apply constraint '{constraint}' to supplied value {value} for schema of type '{schema_type}'" # noqa: B023 - ) - raise ve - return x - - chain_schema_steps.append( - cs.no_info_wrap_validator_function( - _apply_constraint_with_incompatibility_info, cs.str_schema(**{constraint: value}) - ) + if constraint == 'allow_inf_nan' and value is False: + return cs.no_info_after_validator_function( + _validators.forbid_inf_nan_check, + schema, ) - elif constraint in NUMERIC_VALIDATOR_LOOKUP: - if constraint in LENGTH_CONSTRAINTS: - inner_schema = schema - while inner_schema['type'] in {'function-before', 'function-wrap', 'function-after'}: - inner_schema = inner_schema['schema'] # type: ignore - inner_schema_type = inner_schema['type'] - if inner_schema_type == 'list' or ( - inner_schema_type == 'json-or-python' and inner_schema['json_schema']['type'] == 'list' # type: ignore - ): - js_constraint_key = 'minItems' if constraint == 'min_length' else 'maxItems' - else: - js_constraint_key = 'minLength' if constraint == 'min_length' else 'maxLength' - else: - js_constraint_key = constraint - - schema = cs.no_info_after_validator_function( - partial(NUMERIC_VALIDATOR_LOOKUP[constraint], **{constraint: value}), schema + elif constraint == 'pattern': + # insert a str schema to make sure the regex engine matches + return cs.chain_schema( + [ + schema, + cs.str_schema(pattern=value), + ] ) - metadata = schema.get('metadata', {}) - if (existing_json_schema_updates := metadata.get('pydantic_js_updates')) is not None: - metadata['pydantic_js_updates'] = { - **existing_json_schema_updates, - **{js_constraint_key: as_jsonable_value(value)}, - } - else: - metadata['pydantic_js_updates'] = {js_constraint_key: as_jsonable_value(value)} - schema['metadata'] = metadata - elif constraint == 'allow_inf_nan' and value is False: - schema = cs.no_info_after_validator_function( - forbid_inf_nan_check, + elif constraint == 'gt': + s = cs.no_info_after_validator_function( + partial(_validators.greater_than_validator, gt=value), + schema, + ) + add_js_update_schema(s, lambda: {'gt': as_jsonable_value(value)}) + return s + elif constraint == 'ge': + return cs.no_info_after_validator_function( + partial(_validators.greater_than_or_equal_validator, ge=value), + schema, + ) + elif constraint == 'lt': + return cs.no_info_after_validator_function( + partial(_validators.less_than_validator, lt=value), + schema, + ) + elif constraint == 'le': + return cs.no_info_after_validator_function( + partial(_validators.less_than_or_equal_validator, le=value), + schema, + ) + elif constraint == 'multiple_of': + return cs.no_info_after_validator_function( + partial(_validators.multiple_of_validator, multiple_of=value), + schema, + ) + elif constraint == 'min_length': + s = cs.no_info_after_validator_function( + partial(_validators.min_length_validator, min_length=value), + schema, + ) + add_js_update_schema(s, lambda: {'minLength': (as_jsonable_value(value))}) + return s + elif constraint == 'max_length': + s = cs.no_info_after_validator_function( + partial(_validators.max_length_validator, max_length=value), + schema, + ) + add_js_update_schema(s, lambda: {'maxLength': (as_jsonable_value(value))}) + return s + elif constraint == 'strip_whitespace': + return cs.chain_schema( + [ + schema, + cs.str_schema(strip_whitespace=True), + ] + ) + elif constraint == 'to_lower': + return cs.chain_schema( + [ + schema, + cs.str_schema(to_lower=True), + ] + ) + elif constraint == 'to_upper': + return cs.chain_schema( + [ + schema, + cs.str_schema(to_upper=True), + ] + ) + elif constraint == 'min_length': + return cs.no_info_after_validator_function( + partial(_validators.min_length_validator, min_length=annotation.min_length), + schema, + ) + elif constraint == 'max_length': + return cs.no_info_after_validator_function( + partial(_validators.max_length_validator, max_length=annotation.max_length), schema, ) else: - # It's rare that we'd get here, but it's possible if we add a new constraint and forget to handle it - # Most constraint errors are caught at runtime during attempted application - raise RuntimeError(f"Unable to apply constraint '{constraint}' to schema of type '{schema_type}'") + raise RuntimeError(f'Unable to apply constraint {constraint} to schema {schema_type}') for annotation in other_metadata: - if (annotation_type := type(annotation)) in (at_to_constraint_map := _get_at_to_constraint_map()): - constraint = at_to_constraint_map[annotation_type] - validator = NUMERIC_VALIDATOR_LOOKUP.get(constraint) - if validator is None: - raise ValueError(f'Unknown constraint {constraint}') - schema = cs.no_info_after_validator_function( - partial(validator, {constraint: getattr(annotation, constraint)}), schema + if isinstance(annotation, at.Gt): + return cs.no_info_after_validator_function( + partial(_validators.greater_than_validator, gt=annotation.gt), + schema, ) - continue - elif isinstance(annotation, (at.Predicate, at.Not)): - predicate_name = f'{annotation.func.__qualname__}' if hasattr(annotation.func, '__qualname__') else '' + elif isinstance(annotation, at.Ge): + return cs.no_info_after_validator_function( + partial(_validators.greater_than_or_equal_validator, ge=annotation.ge), + schema, + ) + elif isinstance(annotation, at.Lt): + return cs.no_info_after_validator_function( + partial(_validators.less_than_validator, lt=annotation.lt), + schema, + ) + elif isinstance(annotation, at.Le): + return cs.no_info_after_validator_function( + partial(_validators.less_than_or_equal_validator, le=annotation.le), + schema, + ) + elif isinstance(annotation, at.MultipleOf): + return cs.no_info_after_validator_function( + partial(_validators.multiple_of_validator, multiple_of=annotation.multiple_of), + schema, + ) + elif isinstance(annotation, at.MinLen): + return cs.no_info_after_validator_function( + partial(_validators.min_length_validator, min_length=annotation.min_length), + schema, + ) + elif isinstance(annotation, at.MaxLen): + return cs.no_info_after_validator_function( + partial(_validators.max_length_validator, max_length=annotation.max_length), + schema, + ) + elif isinstance(annotation, at.Predicate): + predicate_name = f'{annotation.func.__qualname__} ' if hasattr(annotation.func, '__qualname__') else '' def val_func(v: Any) -> Any: - predicate_satisfied = annotation.func(v) # noqa: B023 - # annotation.func may also raise an exception, let it pass through - if isinstance(annotation, at.Predicate): # noqa: B023 - if not predicate_satisfied: - raise PydanticCustomError( - 'predicate_failed', - f'Predicate {predicate_name} failed', # type: ignore # noqa: B023 - ) - else: - if predicate_satisfied: - raise PydanticCustomError( - 'not_operation_failed', - f'Not of {predicate_name} failed', # type: ignore # noqa: B023 - ) - + if not annotation.func(v): + raise PydanticCustomError( + 'predicate_failed', + f'Predicate {predicate_name}failed', # type: ignore + ) return v - schema = cs.no_info_after_validator_function(val_func, schema) - else: - # ignore any other unknown metadata - return None - - if chain_schema_steps: - chain_schema_steps = [schema] + chain_schema_steps - return cs.chain_schema(chain_schema_steps) + return cs.no_info_after_validator_function(val_func, schema) + # ignore any other unknown metadata + return None return schema @@ -339,7 +334,7 @@ def collect_known_metadata(annotations: Iterable[Any]) -> tuple[dict[str, Any], A tuple contains a dict of known metadata and a list of unknown annotations. Example: - ```python + ```py from annotated_types import Gt, Len from pydantic._internal._known_annotated_metadata import collect_known_metadata @@ -352,15 +347,29 @@ def collect_known_metadata(annotations: Iterable[Any]) -> tuple[dict[str, Any], res: dict[str, Any] = {} remaining: list[Any] = [] - for annotation in annotations: - # isinstance(annotation, PydanticMetadata) also covers ._fields:_PydanticGeneralMetadata - if isinstance(annotation, PydanticMetadata): + # Do we really want to consume any `BaseMetadata`? + # It does let us give a better error when there is an annotation that doesn't apply + # But it seems dangerous! + if isinstance(annotation, PydanticGeneralMetadata): + res.update(annotation.__dict__) + elif isinstance(annotation, PydanticMetadata): res.update(annotation.__dict__) # we don't use dataclasses.asdict because that recursively calls asdict on the field values - elif (annotation_type := type(annotation)) in (at_to_constraint_map := _get_at_to_constraint_map()): - constraint = at_to_constraint_map[annotation_type] - res[constraint] = getattr(annotation, constraint) + elif isinstance(annotation, at.MinLen): + res.update({'min_length': annotation.min_length}) + elif isinstance(annotation, at.MaxLen): + res.update({'max_length': annotation.max_length}) + elif isinstance(annotation, at.Gt): + res.update({'gt': annotation.gt}) + elif isinstance(annotation, at.Ge): + res.update({'ge': annotation.ge}) + elif isinstance(annotation, at.Lt): + res.update({'lt': annotation.lt}) + elif isinstance(annotation, at.Le): + res.update({'le': annotation.le}) + elif isinstance(annotation, at.MultipleOf): + res.update({'multiple_of': annotation.multiple_of}) elif isinstance(annotation, type) and issubclass(annotation, PydanticMetadata): # also support PydanticMetadata classes being used without initialisation, # e.g. `Annotated[int, Strict]` as well as `Annotated[int, Strict()]` diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_mock_val_ser.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_mock_val_ser.py index 9125ab3..ea03a68 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_mock_val_ser.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_mock_val_ser.py @@ -1,71 +1,18 @@ from __future__ import annotations -from collections.abc import Iterator, Mapping -from typing import TYPE_CHECKING, Any, Callable, Generic, Literal, TypeVar, Union +from typing import TYPE_CHECKING, Callable, Generic, TypeVar -from pydantic_core import CoreSchema, SchemaSerializer, SchemaValidator +from pydantic_core import SchemaSerializer, SchemaValidator +from typing_extensions import Literal from ..errors import PydanticErrorCodes, PydanticUserError -from ..plugin._schema_validator import PluggableSchemaValidator if TYPE_CHECKING: from ..dataclasses import PydanticDataclass from ..main import BaseModel - from ..type_adapter import TypeAdapter -ValSer = TypeVar('ValSer', bound=Union[SchemaValidator, PluggableSchemaValidator, SchemaSerializer]) -T = TypeVar('T') - - -class MockCoreSchema(Mapping[str, Any]): - """Mocker for `pydantic_core.CoreSchema` which optionally attempts to - rebuild the thing it's mocking when one of its methods is accessed and raises an error if that fails. - """ - - __slots__ = '_error_message', '_code', '_attempt_rebuild', '_built_memo' - - def __init__( - self, - error_message: str, - *, - code: PydanticErrorCodes, - attempt_rebuild: Callable[[], CoreSchema | None] | None = None, - ) -> None: - self._error_message = error_message - self._code: PydanticErrorCodes = code - self._attempt_rebuild = attempt_rebuild - self._built_memo: CoreSchema | None = None - - def __getitem__(self, key: str) -> Any: - return self._get_built().__getitem__(key) - - def __len__(self) -> int: - return self._get_built().__len__() - - def __iter__(self) -> Iterator[str]: - return self._get_built().__iter__() - - def _get_built(self) -> CoreSchema: - if self._built_memo is not None: - return self._built_memo - - if self._attempt_rebuild: - schema = self._attempt_rebuild() - if schema is not None: - self._built_memo = schema - return schema - raise PydanticUserError(self._error_message, code=self._code) - - def rebuild(self) -> CoreSchema | None: - self._built_memo = None - if self._attempt_rebuild: - schema = self._attempt_rebuild() - if schema is not None: - return schema - else: - raise PydanticUserError(self._error_message, code=self._code) - return None +ValSer = TypeVar('ValSer', SchemaValidator, SchemaSerializer) class MockValSer(Generic[ValSer]): @@ -109,120 +56,63 @@ class MockValSer(Generic[ValSer]): return None -def set_type_adapter_mocks(adapter: TypeAdapter) -> None: - """Set `core_schema`, `validator` and `serializer` to mock core types on a type adapter instance. - - Args: - adapter: The type adapter instance to set the mocks on - """ - type_repr = str(adapter._type) - undefined_type_error_message = ( - f'`TypeAdapter[{type_repr}]` is not fully defined; you should define `{type_repr}` and all referenced types,' - f' then call `.rebuild()` on the instance.' - ) - - def attempt_rebuild_fn(attr_fn: Callable[[TypeAdapter], T]) -> Callable[[], T | None]: - def handler() -> T | None: - if adapter.rebuild(raise_errors=False, _parent_namespace_depth=5) is not False: - return attr_fn(adapter) - return None - - return handler - - adapter.core_schema = MockCoreSchema( # pyright: ignore[reportAttributeAccessIssue] - undefined_type_error_message, - code='class-not-fully-defined', - attempt_rebuild=attempt_rebuild_fn(lambda ta: ta.core_schema), - ) - adapter.validator = MockValSer( # pyright: ignore[reportAttributeAccessIssue] - undefined_type_error_message, - code='class-not-fully-defined', - val_or_ser='validator', - attempt_rebuild=attempt_rebuild_fn(lambda ta: ta.validator), - ) - adapter.serializer = MockValSer( # pyright: ignore[reportAttributeAccessIssue] - undefined_type_error_message, - code='class-not-fully-defined', - val_or_ser='serializer', - attempt_rebuild=attempt_rebuild_fn(lambda ta: ta.serializer), - ) - - -def set_model_mocks(cls: type[BaseModel], undefined_name: str = 'all referenced types') -> None: - """Set `__pydantic_core_schema__`, `__pydantic_validator__` and `__pydantic_serializer__` to mock core types on a model. +def set_model_mocks(cls: type[BaseModel], cls_name: str, undefined_name: str = 'all referenced types') -> None: + """Set `__pydantic_validator__` and `__pydantic_serializer__` to `MockValSer`s on a model. Args: cls: The model class to set the mocks on + cls_name: Name of the model class, used in error messages undefined_name: Name of the undefined thing, used in error messages """ undefined_type_error_message = ( - f'`{cls.__name__}` is not fully defined; you should define {undefined_name},' - f' then call `{cls.__name__}.model_rebuild()`.' + f'`{cls_name}` is not fully defined; you should define {undefined_name},' + f' then call `{cls_name}.model_rebuild()`.' ) - def attempt_rebuild_fn(attr_fn: Callable[[type[BaseModel]], T]) -> Callable[[], T | None]: - def handler() -> T | None: - if cls.model_rebuild(raise_errors=False, _parent_namespace_depth=5) is not False: - return attr_fn(cls) + def attempt_rebuild_validator() -> SchemaValidator | None: + if cls.model_rebuild(raise_errors=False, _parent_namespace_depth=5): + return cls.__pydantic_validator__ + else: return None - return handler - - cls.__pydantic_core_schema__ = MockCoreSchema( # pyright: ignore[reportAttributeAccessIssue] - undefined_type_error_message, - code='class-not-fully-defined', - attempt_rebuild=attempt_rebuild_fn(lambda c: c.__pydantic_core_schema__), - ) - cls.__pydantic_validator__ = MockValSer( # pyright: ignore[reportAttributeAccessIssue] + cls.__pydantic_validator__ = MockValSer( # type: ignore[assignment] undefined_type_error_message, code='class-not-fully-defined', val_or_ser='validator', - attempt_rebuild=attempt_rebuild_fn(lambda c: c.__pydantic_validator__), + attempt_rebuild=attempt_rebuild_validator, ) - cls.__pydantic_serializer__ = MockValSer( # pyright: ignore[reportAttributeAccessIssue] + + def attempt_rebuild_serializer() -> SchemaSerializer | None: + if cls.model_rebuild(raise_errors=False, _parent_namespace_depth=5): + return cls.__pydantic_serializer__ + else: + return None + + cls.__pydantic_serializer__ = MockValSer( # type: ignore[assignment] undefined_type_error_message, code='class-not-fully-defined', val_or_ser='serializer', - attempt_rebuild=attempt_rebuild_fn(lambda c: c.__pydantic_serializer__), + attempt_rebuild=attempt_rebuild_serializer, ) -def set_dataclass_mocks(cls: type[PydanticDataclass], undefined_name: str = 'all referenced types') -> None: - """Set `__pydantic_validator__` and `__pydantic_serializer__` to `MockValSer`s on a dataclass. - - Args: - cls: The model class to set the mocks on - undefined_name: Name of the undefined thing, used in error messages - """ - from ..dataclasses import rebuild_dataclass - +def set_dataclass_mock_validator(cls: type[PydanticDataclass], cls_name: str, undefined_name: str) -> None: undefined_type_error_message = ( - f'`{cls.__name__}` is not fully defined; you should define {undefined_name},' - f' then call `pydantic.dataclasses.rebuild_dataclass({cls.__name__})`.' + f'`{cls_name}` is not fully defined; you should define {undefined_name},' + f' then call `pydantic.dataclasses.rebuild_dataclass({cls_name})`.' ) - def attempt_rebuild_fn(attr_fn: Callable[[type[PydanticDataclass]], T]) -> Callable[[], T | None]: - def handler() -> T | None: - if rebuild_dataclass(cls, raise_errors=False, _parent_namespace_depth=5) is not False: - return attr_fn(cls) + def attempt_rebuild() -> SchemaValidator | None: + from ..dataclasses import rebuild_dataclass + + if rebuild_dataclass(cls, raise_errors=False, _parent_namespace_depth=5): + return cls.__pydantic_validator__ + else: return None - return handler - - cls.__pydantic_core_schema__ = MockCoreSchema( # pyright: ignore[reportAttributeAccessIssue] - undefined_type_error_message, - code='class-not-fully-defined', - attempt_rebuild=attempt_rebuild_fn(lambda c: c.__pydantic_core_schema__), - ) - cls.__pydantic_validator__ = MockValSer( # pyright: ignore[reportAttributeAccessIssue] + cls.__pydantic_validator__ = MockValSer( # type: ignore[assignment] undefined_type_error_message, code='class-not-fully-defined', val_or_ser='validator', - attempt_rebuild=attempt_rebuild_fn(lambda c: c.__pydantic_validator__), - ) - cls.__pydantic_serializer__ = MockValSer( # pyright: ignore[reportAttributeAccessIssue] - undefined_type_error_message, - code='class-not-fully-defined', - val_or_ser='serializer', - attempt_rebuild=attempt_rebuild_fn(lambda c: c.__pydantic_serializer__), + attempt_rebuild=attempt_rebuild, ) diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_model_construction.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_model_construction.py index fd5d68b..15dbb3e 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_model_construction.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_model_construction.py @@ -1,54 +1,58 @@ """Private logic for creating models.""" - from __future__ import annotations as _annotations -import builtins -import operator -import sys import typing import warnings import weakref from abc import ABCMeta -from functools import cache, partial, wraps +from functools import partial from types import FunctionType -from typing import Any, Callable, Generic, Literal, NoReturn, cast +from typing import Any, Callable, Generic, Mapping from pydantic_core import PydanticUndefined, SchemaSerializer -from typing_extensions import TypeAliasType, dataclass_transform, deprecated, get_args, get_origin -from typing_inspection import typing_objects +from typing_extensions import dataclass_transform, deprecated from ..errors import PydanticUndefinedAnnotation, PydanticUserError +from ..fields import Field, FieldInfo, ModelPrivateAttr, PrivateAttr from ..plugin._schema_validator import create_schema_validator -from ..warnings import GenericBeforeBaseModelWarning, PydanticDeprecatedSince20 +from ..warnings import PydanticDeprecatedSince20 from ._config import ConfigWrapper -from ._decorators import DecoratorInfos, PydanticDescriptorProxy, get_attribute_from_bases, unwrap_wrapped_function -from ._fields import collect_model_fields, is_valid_field_name, is_valid_privateattr_name -from ._generate_schema import GenerateSchema, InvalidSchemaError -from ._generics import PydanticGenericMetadata, get_model_typevars_map -from ._import_utils import import_cached_base_model, import_cached_field_info -from ._mock_val_ser import set_model_mocks -from ._namespace_utils import NsResolver -from ._signature import generate_pydantic_signature -from ._typing_extra import ( - _make_forward_ref, - eval_type_backport, - is_classvar_annotation, - parent_frame_namespace, +from ._core_utils import collect_invalid_schemas, simplify_schema_references, validate_core_schema +from ._decorators import ( + ComputedFieldInfo, + DecoratorInfos, + PydanticDescriptorProxy, + get_attribute_from_bases, ) -from ._utils import LazyClassAttribute, SafeGetItemProxy +from ._discriminated_union import apply_discriminators +from ._fields import collect_model_fields, is_valid_field_name, is_valid_privateattr_name +from ._generate_schema import GenerateSchema +from ._generics import PydanticGenericMetadata, get_model_typevars_map +from ._mock_val_ser import MockValSer, set_model_mocks +from ._schema_generation_shared import CallbackGetCoreSchemaHandler +from ._typing_extra import get_cls_types_namespace, is_classvar, parent_frame_namespace +from ._utils import ClassAttribute, is_valid_identifier +from ._validate_call import ValidateCallWrapper if typing.TYPE_CHECKING: - from ..fields import Field as PydanticModelField - from ..fields import FieldInfo, ModelPrivateAttr - from ..fields import PrivateAttr as PydanticModelPrivateAttr + from inspect import Signature + from ..main import BaseModel else: # See PyCharm issues https://youtrack.jetbrains.com/issue/PY-21915 # and https://youtrack.jetbrains.com/issue/PY-51428 DeprecationWarning = PydanticDeprecatedSince20 - PydanticModelField = object() - PydanticModelPrivateAttr = object() + +IGNORED_TYPES: tuple[Any, ...] = ( + FunctionType, + property, + classmethod, + staticmethod, + PydanticDescriptorProxy, + ComputedFieldInfo, + ValidateCallWrapper, +) object_setattr = object.__setattr__ @@ -65,17 +69,7 @@ class _ModelNamespaceDict(dict): return super().__setitem__(k, v) -def NoInitField( - *, - init: Literal[False] = False, -) -> Any: - """Only for typing purposes. Used as default value of `__pydantic_fields_set__`, - `__pydantic_extra__`, `__pydantic_private__`, so they could be ignored when - synthesizing the `__init__` signature. - """ - - -@dataclass_transform(kw_only_default=True, field_specifiers=(PydanticModelField, PydanticModelPrivateAttr, NoInitField)) +@dataclass_transform(kw_only_default=True, field_specifiers=(Field,)) class ModelMetaclass(ABCMeta): def __new__( mcs, @@ -84,7 +78,6 @@ class ModelMetaclass(ABCMeta): namespace: dict[str, Any], __pydantic_generic_metadata__: PydanticGenericMetadata | None = None, __pydantic_reset_parent_namespace__: bool = True, - _create_model_module: str | None = None, **kwargs: Any, ) -> type: """Metaclass for creating Pydantic models. @@ -95,7 +88,6 @@ class ModelMetaclass(ABCMeta): namespace: The attribute dictionary of the class to be created. __pydantic_generic_metadata__: Metadata for generic models. __pydantic_reset_parent_namespace__: Reset parent namespace. - _create_model_module: The module of the class to be created, if created by `create_model`. **kwargs: Catch-all for any other keyword arguments. Returns: @@ -112,18 +104,17 @@ class ModelMetaclass(ABCMeta): private_attributes = inspect_namespace( namespace, config_wrapper.ignored_types, class_vars, base_field_names ) - if private_attributes or base_private_attributes: + if private_attributes: original_model_post_init = get_model_post_init(namespace, bases) if original_model_post_init is not None: # if there are private_attributes and a model_post_init function, we handle both - @wraps(original_model_post_init) - def wrapped_model_post_init(self: BaseModel, context: Any, /) -> None: + def wrapped_model_post_init(self: BaseModel, __context: Any) -> None: """We need to both initialize private attributes and call the user-defined model_post_init method. """ - init_private_attributes(self, context) - original_model_post_init(self, context) + init_private_attributes(self, __context) + original_model_post_init(self, __context) namespace['model_post_init'] = wrapped_model_post_init else: @@ -132,25 +123,15 @@ class ModelMetaclass(ABCMeta): namespace['__class_vars__'] = class_vars namespace['__private_attributes__'] = {**base_private_attributes, **private_attributes} - cls = cast('type[BaseModel]', super().__new__(mcs, cls_name, bases, namespace, **kwargs)) - BaseModel_ = import_cached_base_model() + if config_wrapper.frozen: + set_default_hash_func(namespace, bases) - mro = cls.__mro__ - if Generic in mro and mro.index(Generic) < mro.index(BaseModel_): - warnings.warn( - GenericBeforeBaseModelWarning( - 'Classes should inherit from `BaseModel` before generic classes (e.g. `typing.Generic[T]`) ' - 'for pydantic generics to work properly.' - ), - stacklevel=2, - ) + cls: type[BaseModel] = super().__new__(mcs, cls_name, bases, namespace, **kwargs) # type: ignore + + from ..main import BaseModel cls.__pydantic_custom_init__ = not getattr(cls.__init__, '__pydantic_base_init__', False) - cls.__pydantic_post_init__ = ( - None if cls.model_post_init is BaseModel_.model_post_init else 'model_post_init' - ) - - cls.__pydantic_setattr_handlers__ = {} + cls.__pydantic_post_init__ = None if cls.model_post_init is BaseModel.model_post_init else 'model_post_init' cls.__pydantic_decorators__ = DecoratorInfos.build(cls) @@ -161,40 +142,22 @@ class ModelMetaclass(ABCMeta): parent_parameters = getattr(cls, '__pydantic_generic_metadata__', {}).get('parameters', ()) parameters = getattr(cls, '__parameters__', None) or parent_parameters if parameters and parent_parameters and not all(x in parameters for x in parent_parameters): - from ..root_model import RootModelRootType - - missing_parameters = tuple(x for x in parameters if x not in parent_parameters) - if RootModelRootType in parent_parameters and RootModelRootType not in parameters: - # This is a special case where the user has subclassed `RootModel`, but has not parametrized - # RootModel with the generic type identifiers being used. Ex: - # class MyModel(RootModel, Generic[T]): - # root: T - # Should instead just be: - # class MyModel(RootModel[T]): - # root: T - parameters_str = ', '.join([x.__name__ for x in missing_parameters]) - error_message = ( - f'{cls.__name__} is a subclass of `RootModel`, but does not include the generic type identifier(s) ' - f'{parameters_str} in its parameters. ' - f'You should parametrize RootModel directly, e.g., `class {cls.__name__}(RootModel[{parameters_str}]): ...`.' + combined_parameters = parent_parameters + tuple(x for x in parameters if x not in parent_parameters) + parameters_str = ', '.join([str(x) for x in combined_parameters]) + generic_type_label = f'typing.Generic[{parameters_str}]' + error_message = ( + f'All parameters must be present on typing.Generic;' + f' you should inherit from {generic_type_label}.' + ) + if Generic not in bases: # pragma: no cover + # We raise an error here not because it is desirable, but because some cases are mishandled. + # It would be nice to remove this error and still have things behave as expected, it's just + # challenging because we are using a custom `__class_getitem__` to parametrize generic models, + # and not returning a typing._GenericAlias from it. + bases_str = ', '.join([x.__name__ for x in bases] + [generic_type_label]) + error_message += ( + f' Note: `typing.Generic` must go last: `class {cls.__name__}({bases_str}): ...`)' ) - else: - combined_parameters = parent_parameters + missing_parameters - parameters_str = ', '.join([str(x) for x in combined_parameters]) - generic_type_label = f'typing.Generic[{parameters_str}]' - error_message = ( - f'All parameters must be present on typing.Generic;' - f' you should inherit from {generic_type_label}.' - ) - if Generic not in bases: # pragma: no cover - # We raise an error here not because it is desirable, but because some cases are mishandled. - # It would be nice to remove this error and still have things behave as expected, it's just - # challenging because we are using a custom `__class_getitem__` to parametrize generic models, - # and not returning a typing._GenericAlias from it. - bases_str = ', '.join([x.__name__ for x in bases] + [generic_type_label]) - error_message += ( - f' Note: `typing.Generic` must go last: `class {cls.__name__}({bases_str}): ...`)' - ) raise TypeError(error_message) cls.__pydantic_generic_metadata__ = { @@ -212,55 +175,29 @@ class ModelMetaclass(ABCMeta): if __pydantic_reset_parent_namespace__: cls.__pydantic_parent_namespace__ = build_lenient_weakvaluedict(parent_frame_namespace()) - parent_namespace: dict[str, Any] | None = getattr(cls, '__pydantic_parent_namespace__', None) + parent_namespace = getattr(cls, '__pydantic_parent_namespace__', None) if isinstance(parent_namespace, dict): parent_namespace = unpack_lenient_weakvaluedict(parent_namespace) - ns_resolver = NsResolver(parent_namespace=parent_namespace) - - set_model_fields(cls, config_wrapper=config_wrapper, ns_resolver=ns_resolver) - - # This is also set in `complete_model_class()`, after schema gen because they are recreated. - # We set them here as well for backwards compatibility: - cls.__pydantic_computed_fields__ = { - k: v.info for k, v in cls.__pydantic_decorators__.computed_fields.items() - } - - if config_wrapper.defer_build: - # TODO we can also stop there if `__pydantic_fields_complete__` is False. - # However, `set_model_fields()` is currently lenient and we don't have access to the `NameError`. - # (which is useful as we can provide the name in the error message: `set_model_mock(cls, e.name)`) - set_model_mocks(cls) - else: - # Any operation that requires accessing the field infos instances should be put inside - # `complete_model_class()`: - complete_model_class( - cls, - config_wrapper, - raise_errors=False, - ns_resolver=ns_resolver, - create_model_module=_create_model_module, - ) - - if config_wrapper.frozen and '__hash__' not in namespace: - set_default_hash_func(cls, bases) - + types_namespace = get_cls_types_namespace(cls, parent_namespace) + set_model_fields(cls, bases, config_wrapper, types_namespace) + complete_model_class( + cls, + cls_name, + config_wrapper, + raise_errors=False, + types_namespace=types_namespace, + ) # using super(cls, cls) on the next line ensures we only call the parent class's __pydantic_init_subclass__ # I believe the `type: ignore` is only necessary because mypy doesn't realize that this code branch is # only hit for _proper_ subclasses of BaseModel super(cls, cls).__pydantic_init_subclass__(**kwargs) # type: ignore[misc] return cls else: - # These are instance variables, but have been assigned to `NoInitField` to trick the type checker. - for instance_slot in '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__': - namespace.pop( - instance_slot, - None, # In case the metaclass is used with a class other than `BaseModel`. - ) - namespace.get('__annotations__', {}).clear() + # this is the BaseModel class itself being created, no logic required return super().__new__(mcs, cls_name, bases, namespace, **kwargs) - if not typing.TYPE_CHECKING: # pragma: no branch + if not typing.TYPE_CHECKING: # We put `__getattr__` in a non-TYPE_CHECKING block because otherwise, mypy allows arbitrary attribute access def __getattr__(self, item: str) -> Any: @@ -268,29 +205,30 @@ class ModelMetaclass(ABCMeta): private_attributes = self.__dict__.get('__private_attributes__') if private_attributes and item in private_attributes: return private_attributes[item] + if item == '__pydantic_core_schema__': + # This means the class didn't get a schema generated for it, likely because there was an undefined reference + maybe_mock_validator = getattr(self, '__pydantic_validator__', None) + if isinstance(maybe_mock_validator, MockValSer): + rebuilt_validator = maybe_mock_validator.rebuild() + if rebuilt_validator is not None: + # In this case, a validator was built, and so `__pydantic_core_schema__` should now be set + return getattr(self, '__pydantic_core_schema__') raise AttributeError(item) @classmethod - def __prepare__(cls, *args: Any, **kwargs: Any) -> dict[str, object]: + def __prepare__(cls, *args: Any, **kwargs: Any) -> Mapping[str, object]: return _ModelNamespaceDict() def __instancecheck__(self, instance: Any) -> bool: - """Avoid calling ABC _abc_instancecheck unless we're pretty sure. - - See #3829 and python/cpython#92810 - """ - return hasattr(instance, '__pydantic_decorators__') and super().__instancecheck__(instance) - - def __subclasscheck__(self, subclass: type[Any]) -> bool: """Avoid calling ABC _abc_subclasscheck unless we're pretty sure. See #3829 and python/cpython#92810 """ - return hasattr(subclass, '__pydantic_decorators__') and super().__subclasscheck__(subclass) + return hasattr(instance, '__pydantic_validator__') and super().__instancecheck__(instance) @staticmethod def _collect_bases_data(bases: tuple[type[Any], ...]) -> tuple[set[str], set[str], dict[str, ModelPrivateAttr]]: - BaseModel = import_cached_base_model() + from ..main import BaseModel field_names: set[str] = set() class_vars: set[str] = set() @@ -298,57 +236,35 @@ class ModelMetaclass(ABCMeta): for base in bases: if issubclass(base, BaseModel) and base is not BaseModel: # model_fields might not be defined yet in the case of generics, so we use getattr here: - field_names.update(getattr(base, '__pydantic_fields__', {}).keys()) + field_names.update(getattr(base, 'model_fields', {}).keys()) class_vars.update(base.__class_vars__) private_attributes.update(base.__private_attributes__) return field_names, class_vars, private_attributes @property - @deprecated('The `__fields__` attribute is deprecated, use `model_fields` instead.', category=None) + @deprecated( + 'The `__fields__` attribute is deprecated, use `model_fields` instead.', category=PydanticDeprecatedSince20 + ) def __fields__(self) -> dict[str, FieldInfo]: - warnings.warn( - 'The `__fields__` attribute is deprecated, use `model_fields` instead.', - PydanticDeprecatedSince20, - stacklevel=2, - ) - return getattr(self, '__pydantic_fields__', {}) - - @property - def __pydantic_fields_complete__(self) -> bool: - """Whether the fields where successfully collected (i.e. type hints were successfully resolves). - - This is a private attribute, not meant to be used outside Pydantic. - """ - if not hasattr(self, '__pydantic_fields__'): - return False - - field_infos = cast('dict[str, FieldInfo]', self.__pydantic_fields__) # pyright: ignore[reportAttributeAccessIssue] - - return all(field_info._complete for field_info in field_infos.values()) - - def __dir__(self) -> list[str]: - attributes = list(super().__dir__()) - if '__fields__' in attributes: - attributes.remove('__fields__') - return attributes + warnings.warn('The `__fields__` attribute is deprecated, use `model_fields` instead.', DeprecationWarning) + return self.model_fields # type: ignore -def init_private_attributes(self: BaseModel, context: Any, /) -> None: +def init_private_attributes(self: BaseModel, __context: Any) -> None: """This function is meant to behave like a BaseModel method to initialise private attributes. It takes context as an argument since that's what pydantic-core passes when calling it. Args: self: The BaseModel instance. - context: The context. + __context: The context. """ - if getattr(self, '__pydantic_private__', None) is None: - pydantic_private = {} - for name, private_attr in self.__private_attributes__.items(): - default = private_attr.get_default() - if default is not PydanticUndefined: - pydantic_private[name] = default - object_setattr(self, '__pydantic_private__', pydantic_private) + pydantic_private = {} + for name, private_attr in self.__private_attributes__.items(): + default = private_attr.get_default() + if default is not PydanticUndefined: + pydantic_private[name] = default + object_setattr(self, '__pydantic_private__', pydantic_private) def get_model_post_init(namespace: dict[str, Any], bases: tuple[type[Any], ...]) -> Callable[..., Any] | None: @@ -356,7 +272,7 @@ def get_model_post_init(namespace: dict[str, Any], bases: tuple[type[Any], ...]) if 'model_post_init' in namespace: return namespace['model_post_init'] - BaseModel = import_cached_base_model() + from ..main import BaseModel model_post_init = get_attribute_from_bases(bases, 'model_post_init') if model_post_init is not BaseModel.model_post_init: @@ -389,11 +305,7 @@ def inspect_namespace( # noqa C901 - If a field does not have a type annotation. - If a field on base class was overridden by a non-annotated attribute. """ - from ..fields import ModelPrivateAttr, PrivateAttr - - FieldInfo = import_cached_field_info() - - all_ignored_types = ignored_types + default_ignored_types() + all_ignored_types = ignored_types + IGNORED_TYPES private_attributes: dict[str, ModelPrivateAttr] = {} raw_annotations = namespace.get('__annotations__', {}) @@ -403,12 +315,11 @@ def inspect_namespace( # noqa C901 ignored_names: set[str] = set() for var_name, value in list(namespace.items()): - if var_name == 'model_config' or var_name == '__pydantic_extra__': + if var_name == 'model_config': continue elif ( isinstance(value, type) and value.__module__ == namespace['__module__'] - and '__qualname__' in namespace and value.__qualname__.startswith(namespace['__qualname__']) ): # `value` is a nested type defined in this namespace; don't error @@ -439,8 +350,8 @@ def inspect_namespace( # noqa C901 elif var_name.startswith('__'): continue elif is_valid_privateattr_name(var_name): - if var_name not in raw_annotations or not is_classvar_annotation(raw_annotations[var_name]): - private_attributes[var_name] = cast(ModelPrivateAttr, PrivateAttr(default=value)) + if var_name not in raw_annotations or not is_classvar(raw_annotations[var_name]): + private_attributes[var_name] = PrivateAttr(default=value) del namespace[var_name] elif var_name in base_class_vars: continue @@ -457,8 +368,8 @@ def inspect_namespace( # noqa C901 ) else: raise PydanticUserError( - f'A non-annotated attribute was detected: `{var_name} = {value!r}`. All model fields require a ' - f'type annotation; if `{var_name}` is not meant to be a field, you may be able to resolve this ' + f"A non-annotated attribute was detected: `{var_name} = {value!r}`. All model fields require a " + f"type annotation; if `{var_name}` is not meant to be a field, you may be able to resolve this " f"error by annotating it as a `ClassVar` or updating `model_config['ignored_types']`.", code='model-field-missing-annotation', ) @@ -468,82 +379,45 @@ def inspect_namespace( # noqa C901 is_valid_privateattr_name(ann_name) and ann_name not in private_attributes and ann_name not in ignored_names - # This condition can be a false negative when `ann_type` is stringified, - # but it is handled in most cases in `set_model_fields`: - and not is_classvar_annotation(ann_type) + and not is_classvar(ann_type) and ann_type not in all_ignored_types and getattr(ann_type, '__module__', None) != 'functools' ): - if isinstance(ann_type, str): - # Walking up the frames to get the module namespace where the model is defined - # (as the model class wasn't created yet, we unfortunately can't use `cls.__module__`): - frame = sys._getframe(2) - if frame is not None: - try: - ann_type = eval_type_backport( - _make_forward_ref(ann_type, is_argument=False, is_class=True), - globalns=frame.f_globals, - localns=frame.f_locals, - ) - except (NameError, TypeError): - pass - - if typing_objects.is_annotated(get_origin(ann_type)): - _, *metadata = get_args(ann_type) - private_attr = next((v for v in metadata if isinstance(v, ModelPrivateAttr)), None) - if private_attr is not None: - private_attributes[ann_name] = private_attr - continue private_attributes[ann_name] = PrivateAttr() return private_attributes -def set_default_hash_func(cls: type[BaseModel], bases: tuple[type[Any], ...]) -> None: +def set_default_hash_func(namespace: dict[str, Any], bases: tuple[type[Any], ...]) -> None: + if '__hash__' in namespace: + return + base_hash_func = get_attribute_from_bases(bases, '__hash__') - new_hash_func = make_hash_func(cls) - if base_hash_func in {None, object.__hash__} or getattr(base_hash_func, '__code__', None) == new_hash_func.__code__: - # If `__hash__` is some default, we generate a hash function. - # It will be `None` if not overridden from BaseModel. - # It may be `object.__hash__` if there is another + if base_hash_func in {None, object.__hash__}: + # If `__hash__` is None _or_ `object.__hash__`, we generate a hash function. + # It will be `None` if not overridden from BaseModel, but may be `object.__hash__` if there is another # parent class earlier in the bases which doesn't override `__hash__` (e.g. `typing.Generic`). - # It may be a value set by `set_default_hash_func` if `cls` is a subclass of another frozen model. - # In the last case we still need a new hash function to account for new `model_fields`. - cls.__hash__ = new_hash_func + def hash_func(self: Any) -> int: + return hash(self.__class__) + hash(tuple(self.__dict__.values())) - -def make_hash_func(cls: type[BaseModel]) -> Any: - getter = operator.itemgetter(*cls.__pydantic_fields__.keys()) if cls.__pydantic_fields__ else lambda _: 0 - - def hash_func(self: Any) -> int: - try: - return hash(getter(self.__dict__)) - except KeyError: - # In rare cases (such as when using the deprecated copy method), the __dict__ may not contain - # all model fields, which is how we can get here. - # getter(self.__dict__) is much faster than any 'safe' method that accounts for missing keys, - # and wrapping it in a `try` doesn't slow things down much in the common case. - return hash(getter(SafeGetItemProxy(self.__dict__))) - - return hash_func + namespace['__hash__'] = hash_func def set_model_fields( - cls: type[BaseModel], - config_wrapper: ConfigWrapper, - ns_resolver: NsResolver | None, + cls: type[BaseModel], bases: tuple[type[Any], ...], config_wrapper: ConfigWrapper, types_namespace: dict[str, Any] ) -> None: - """Collect and set `cls.__pydantic_fields__` and `cls.__class_vars__`. + """Collect and set `cls.model_fields` and `cls.__class_vars__`. Args: cls: BaseModel or dataclass. + bases: Parents of the class, generally `cls.__bases__`. config_wrapper: The config wrapper instance. - ns_resolver: Namespace resolver to use when getting model annotations. + types_namespace: Optional extra namespace to look for types in. """ typevars_map = get_model_typevars_map(cls) - fields, class_vars = collect_model_fields(cls, config_wrapper, ns_resolver, typevars_map=typevars_map) + fields, class_vars = collect_model_fields(cls, bases, config_wrapper, types_namespace, typevars_map=typevars_map) - cls.__pydantic_fields__ = fields + cls.model_fields = fields cls.__class_vars__.update(class_vars) for k in class_vars: @@ -561,11 +435,11 @@ def set_model_fields( def complete_model_class( cls: type[BaseModel], + cls_name: str, config_wrapper: ConfigWrapper, *, raise_errors: bool = True, - ns_resolver: NsResolver | None = None, - create_model_module: str | None = None, + types_namespace: dict[str, Any] | None, ) -> bool: """Finish building a model class. @@ -574,10 +448,10 @@ def complete_model_class( Args: cls: BaseModel or dataclass. + cls_name: The model or dataclass name. config_wrapper: The config wrapper instance. raise_errors: Whether to raise errors. - ns_resolver: The namespace resolver instance to use during schema building. - create_model_module: The module of the class to be created, if created by `create_model`. + types_namespace: Optional extra namespace to look for types in. Returns: `True` if the model is successfully completed, else `False`. @@ -589,151 +463,132 @@ def complete_model_class( typevars_map = get_model_typevars_map(cls) gen_schema = GenerateSchema( config_wrapper, - ns_resolver, + types_namespace, typevars_map, ) + handler = CallbackGetCoreSchemaHandler( + partial(gen_schema.generate_schema, from_dunder_get_core_schema=False), + gen_schema, + ref_mode='unpack', + ) + + if config_wrapper.defer_build: + set_model_mocks(cls, cls_name) + return False + try: - schema = gen_schema.generate_schema(cls) + schema = cls.__get_pydantic_core_schema__(cls, handler) except PydanticUndefinedAnnotation as e: if raise_errors: raise - set_model_mocks(cls, f'`{e.name}`') + set_model_mocks(cls, cls_name, f'`{e.name}`') return False - core_config = config_wrapper.core_config(title=cls.__name__) + core_config = config_wrapper.core_config(cls) - try: - schema = gen_schema.clean_schema(schema) - except InvalidSchemaError: - set_model_mocks(cls) + schema = gen_schema.collect_definitions(schema) + + schema = apply_discriminators(simplify_schema_references(schema)) + if collect_invalid_schemas(schema): + set_model_mocks(cls, cls_name) return False - # This needs to happen *after* model schema generation, as the return type - # of the properties are evaluated and the `ComputedFieldInfo` are recreated: - cls.__pydantic_computed_fields__ = {k: v.info for k, v in cls.__pydantic_decorators__.computed_fields.items()} - - set_deprecated_descriptors(cls) - - cls.__pydantic_core_schema__ = schema - - cls.__pydantic_validator__ = create_schema_validator( - schema, - cls, - create_model_module or cls.__module__, - cls.__qualname__, - 'create_model' if create_model_module else 'BaseModel', - core_config, - config_wrapper.plugin_settings, - ) + # debug(schema) + cls.__pydantic_core_schema__ = schema = validate_core_schema(schema) + cls.__pydantic_validator__ = create_schema_validator(schema, core_config, config_wrapper.plugin_settings) cls.__pydantic_serializer__ = SchemaSerializer(schema, core_config) cls.__pydantic_complete__ = True # set __signature__ attr only for model class, but not for its instances - # (because instances can define `__call__`, and `inspect.signature` shouldn't - # use the `__signature__` attribute and instead generate from `__call__`). - cls.__signature__ = LazyClassAttribute( - '__signature__', - partial( - generate_pydantic_signature, - init=cls.__init__, - fields=cls.__pydantic_fields__, - validate_by_name=config_wrapper.validate_by_name, - extra=config_wrapper.extra, - ), + cls.__signature__ = ClassAttribute( + '__signature__', generate_model_signature(cls.__init__, cls.model_fields, config_wrapper) ) return True -def set_deprecated_descriptors(cls: type[BaseModel]) -> None: - """Set data descriptors on the class for deprecated fields.""" - for field, field_info in cls.__pydantic_fields__.items(): - if (msg := field_info.deprecation_message) is not None: - desc = _DeprecatedFieldDescriptor(msg) - desc.__set_name__(cls, field) - setattr(cls, field, desc) +def generate_model_signature( + init: Callable[..., None], fields: dict[str, FieldInfo], config_wrapper: ConfigWrapper +) -> Signature: + """Generate signature for model based on its fields. - for field, computed_field_info in cls.__pydantic_computed_fields__.items(): - if ( - (msg := computed_field_info.deprecation_message) is not None - # Avoid having two warnings emitted: - and not hasattr(unwrap_wrapped_function(computed_field_info.wrapped_property), '__deprecated__') - ): - desc = _DeprecatedFieldDescriptor(msg, computed_field_info.wrapped_property) - desc.__set_name__(cls, field) - setattr(cls, field, desc) + Args: + init: The class init. + fields: The model fields. + config_wrapper: The config wrapper instance. - -class _DeprecatedFieldDescriptor: - """Read-only data descriptor used to emit a runtime deprecation warning before accessing a deprecated field. - - Attributes: - msg: The deprecation message to be emitted. - wrapped_property: The property instance if the deprecated field is a computed field, or `None`. - field_name: The name of the field being deprecated. + Returns: + The model signature. """ + from inspect import Parameter, Signature, signature + from itertools import islice - field_name: str + present_params = signature(init).parameters.values() + merged_params: dict[str, Parameter] = {} + var_kw = None + use_var_kw = False - def __init__(self, msg: str, wrapped_property: property | None = None) -> None: - self.msg = msg - self.wrapped_property = wrapped_property + for param in islice(present_params, 1, None): # skip self arg + # inspect does "clever" things to show annotations as strings because we have + # `from __future__ import annotations` in main, we don't want that + if param.annotation == 'Any': + param = param.replace(annotation=Any) + if param.kind is param.VAR_KEYWORD: + var_kw = param + continue + merged_params[param.name] = param - def __set_name__(self, cls: type[BaseModel], name: str) -> None: - self.field_name = name + if var_kw: # if custom init has no var_kw, fields which are not declared in it cannot be passed through + allow_names = config_wrapper.populate_by_name + for field_name, field in fields.items(): + # when alias is a str it should be used for signature generation + if isinstance(field.alias, str): + param_name = field.alias + else: + param_name = field_name - def __get__(self, obj: BaseModel | None, obj_type: type[BaseModel] | None = None) -> Any: - if obj is None: - if self.wrapped_property is not None: - return self.wrapped_property.__get__(None, obj_type) - raise AttributeError(self.field_name) + if field_name in merged_params or param_name in merged_params: + continue - warnings.warn(self.msg, builtins.DeprecationWarning, stacklevel=2) + if not is_valid_identifier(param_name): + if allow_names and is_valid_identifier(field_name): + param_name = field_name + else: + use_var_kw = True + continue - if self.wrapped_property is not None: - return self.wrapped_property.__get__(obj, obj_type) - return obj.__dict__[self.field_name] + kwargs = {} if field.is_required() else {'default': field.get_default(call_default_factory=False)} + merged_params[param_name] = Parameter( + param_name, Parameter.KEYWORD_ONLY, annotation=field.rebuild_annotation(), **kwargs + ) - # Defined to make it a data descriptor and take precedence over the instance's dictionary. - # Note that it will not be called when setting a value on a model instance - # as `BaseModel.__setattr__` is defined and takes priority. - def __set__(self, obj: Any, value: Any) -> NoReturn: - raise AttributeError(self.field_name) + if config_wrapper.extra == 'allow': + use_var_kw = True - -class _PydanticWeakRef: - """Wrapper for `weakref.ref` that enables `pickle` serialization. - - Cloudpickle fails to serialize `weakref.ref` objects due to an arcane error related - to abstract base classes (`abc.ABC`). This class works around the issue by wrapping - `weakref.ref` instead of subclassing it. - - See https://github.com/pydantic/pydantic/issues/6763 for context. - - Semantics: - - If not pickled, behaves the same as a `weakref.ref`. - - If pickled along with the referenced object, the same `weakref.ref` behavior - will be maintained between them after unpickling. - - If pickled without the referenced object, after unpickling the underlying - reference will be cleared (`__call__` will always return `None`). - """ - - def __init__(self, obj: Any): - if obj is None: - # The object will be `None` upon deserialization if the serialized weakref - # had lost its underlying object. - self._wr = None + if var_kw and use_var_kw: + # Make sure the parameter for extra kwargs + # does not have the same name as a field + default_model_signature = [ + ('__pydantic_self__', Parameter.POSITIONAL_OR_KEYWORD), + ('data', Parameter.VAR_KEYWORD), + ] + if [(p.name, p.kind) for p in present_params] == default_model_signature: + # if this is the standard model signature, use extra_data as the extra args name + var_kw_name = 'extra_data' else: - self._wr = weakref.ref(obj) + # else start from var_kw + var_kw_name = var_kw.name - def __call__(self) -> Any: - if self._wr is None: - return None - else: - return self._wr() + # generate a name that's definitely unique + while var_kw_name in fields: + var_kw_name += '_' + merged_params[var_kw_name] = var_kw.replace(name=var_kw_name) - def __reduce__(self) -> tuple[Callable, tuple[weakref.ReferenceType | None]]: - return _PydanticWeakRef, (self(),) + return Signature(parameters=list(merged_params.values()), return_annotation=None) + + +class _PydanticWeakRef(weakref.ReferenceType): + pass def build_lenient_weakvaluedict(d: dict[str, Any] | None) -> dict[str, Any] | None: @@ -770,23 +625,3 @@ def unpack_lenient_weakvaluedict(d: dict[str, Any] | None) -> dict[str, Any] | N else: result[k] = v return result - - -@cache -def default_ignored_types() -> tuple[type[Any], ...]: - from ..fields import ComputedFieldInfo - - ignored_types = [ - FunctionType, - property, - classmethod, - staticmethod, - PydanticDescriptorProxy, - ComputedFieldInfo, - TypeAliasType, # from `typing_extensions` - ] - - if sys.version_info >= (3, 12): - ignored_types.append(typing.TypeAliasType) - - return tuple(ignored_types) diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_namespace_utils.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_namespace_utils.py deleted file mode 100644 index 781dfa2..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_namespace_utils.py +++ /dev/null @@ -1,293 +0,0 @@ -from __future__ import annotations - -import sys -from collections.abc import Generator, Iterator, Mapping -from contextlib import contextmanager -from functools import cached_property -from typing import Any, Callable, NamedTuple, TypeVar - -from typing_extensions import ParamSpec, TypeAlias, TypeAliasType, TypeVarTuple - -GlobalsNamespace: TypeAlias = 'dict[str, Any]' -"""A global namespace. - -In most cases, this is a reference to the `__dict__` attribute of a module. -This namespace type is expected as the `globals` argument during annotations evaluation. -""" - -MappingNamespace: TypeAlias = Mapping[str, Any] -"""Any kind of namespace. - -In most cases, this is a local namespace (e.g. the `__dict__` attribute of a class, -the [`f_locals`][frame.f_locals] attribute of a frame object, when dealing with types -defined inside functions). -This namespace type is expected as the `locals` argument during annotations evaluation. -""" - -_TypeVarLike: TypeAlias = 'TypeVar | ParamSpec | TypeVarTuple' - - -class NamespacesTuple(NamedTuple): - """A tuple of globals and locals to be used during annotations evaluation. - - This datastructure is defined as a named tuple so that it can easily be unpacked: - - ```python {lint="skip" test="skip"} - def eval_type(typ: type[Any], ns: NamespacesTuple) -> None: - return eval(typ, *ns) - ``` - """ - - globals: GlobalsNamespace - """The namespace to be used as the `globals` argument during annotations evaluation.""" - - locals: MappingNamespace - """The namespace to be used as the `locals` argument during annotations evaluation.""" - - -def get_module_ns_of(obj: Any) -> dict[str, Any]: - """Get the namespace of the module where the object is defined. - - Caution: this function does not return a copy of the module namespace, so the result - should not be mutated. The burden of enforcing this is on the caller. - """ - module_name = getattr(obj, '__module__', None) - if module_name: - try: - return sys.modules[module_name].__dict__ - except KeyError: - # happens occasionally, see https://github.com/pydantic/pydantic/issues/2363 - return {} - return {} - - -# Note that this class is almost identical to `collections.ChainMap`, but need to enforce -# immutable mappings here: -class LazyLocalNamespace(Mapping[str, Any]): - """A lazily evaluated mapping, to be used as the `locals` argument during annotations evaluation. - - While the [`eval`][eval] function expects a mapping as the `locals` argument, it only - performs `__getitem__` calls. The [`Mapping`][collections.abc.Mapping] abstract base class - is fully implemented only for type checking purposes. - - Args: - *namespaces: The namespaces to consider, in ascending order of priority. - - Example: - ```python {lint="skip" test="skip"} - ns = LazyLocalNamespace({'a': 1, 'b': 2}, {'a': 3}) - ns['a'] - #> 3 - ns['b'] - #> 2 - ``` - """ - - def __init__(self, *namespaces: MappingNamespace) -> None: - self._namespaces = namespaces - - @cached_property - def data(self) -> dict[str, Any]: - return {k: v for ns in self._namespaces for k, v in ns.items()} - - def __len__(self) -> int: - return len(self.data) - - def __getitem__(self, key: str) -> Any: - return self.data[key] - - def __contains__(self, key: object) -> bool: - return key in self.data - - def __iter__(self) -> Iterator[str]: - return iter(self.data) - - -def ns_for_function(obj: Callable[..., Any], parent_namespace: MappingNamespace | None = None) -> NamespacesTuple: - """Return the global and local namespaces to be used when evaluating annotations for the provided function. - - The global namespace will be the `__dict__` attribute of the module the function was defined in. - The local namespace will contain the `__type_params__` introduced by PEP 695. - - Args: - obj: The object to use when building namespaces. - parent_namespace: Optional namespace to be added with the lowest priority in the local namespace. - If the passed function is a method, the `parent_namespace` will be the namespace of the class - the method is defined in. Thus, we also fetch type `__type_params__` from there (i.e. the - class-scoped type variables). - """ - locals_list: list[MappingNamespace] = [] - if parent_namespace is not None: - locals_list.append(parent_namespace) - - # Get the `__type_params__` attribute introduced by PEP 695. - # Note that the `typing._eval_type` function expects type params to be - # passed as a separate argument. However, internally, `_eval_type` calls - # `ForwardRef._evaluate` which will merge type params with the localns, - # essentially mimicking what we do here. - type_params: tuple[_TypeVarLike, ...] = getattr(obj, '__type_params__', ()) - if parent_namespace is not None: - # We also fetch type params from the parent namespace. If present, it probably - # means the function was defined in a class. This is to support the following: - # https://github.com/python/cpython/issues/124089. - type_params += parent_namespace.get('__type_params__', ()) - - locals_list.append({t.__name__: t for t in type_params}) - - # What about short-cirtuiting to `obj.__globals__`? - globalns = get_module_ns_of(obj) - - return NamespacesTuple(globalns, LazyLocalNamespace(*locals_list)) - - -class NsResolver: - """A class responsible for the namespaces resolving logic for annotations evaluation. - - This class handles the namespace logic when evaluating annotations mainly for class objects. - - It holds a stack of classes that are being inspected during the core schema building, - and the `types_namespace` property exposes the globals and locals to be used for - type annotation evaluation. Additionally -- if no class is present in the stack -- a - fallback globals and locals can be provided using the `namespaces_tuple` argument - (this is useful when generating a schema for a simple annotation, e.g. when using - `TypeAdapter`). - - The namespace creation logic is unfortunately flawed in some cases, for backwards - compatibility reasons and to better support valid edge cases. See the description - for the `parent_namespace` argument and the example for more details. - - Args: - namespaces_tuple: The default globals and locals to use if no class is present - on the stack. This can be useful when using the `GenerateSchema` class - with `TypeAdapter`, where the "type" being analyzed is a simple annotation. - parent_namespace: An optional parent namespace that will be added to the locals - with the lowest priority. For a given class defined in a function, the locals - of this function are usually used as the parent namespace: - - ```python {lint="skip" test="skip"} - from pydantic import BaseModel - - def func() -> None: - SomeType = int - - class Model(BaseModel): - f: 'SomeType' - - # when collecting fields, an namespace resolver instance will be created - # this way: - # ns_resolver = NsResolver(parent_namespace={'SomeType': SomeType}) - ``` - - For backwards compatibility reasons and to support valid edge cases, this parent - namespace will be used for *every* type being pushed to the stack. In the future, - we might want to be smarter by only doing so when the type being pushed is defined - in the same module as the parent namespace. - - Example: - ```python {lint="skip" test="skip"} - ns_resolver = NsResolver( - parent_namespace={'fallback': 1}, - ) - - class Sub: - m: 'Model' - - class Model: - some_local = 1 - sub: Sub - - ns_resolver = NsResolver() - - # This is roughly what happens when we build a core schema for `Model`: - with ns_resolver.push(Model): - ns_resolver.types_namespace - #> NamespacesTuple({'Sub': Sub}, {'Model': Model, 'some_local': 1}) - # First thing to notice here, the model being pushed is added to the locals. - # Because `NsResolver` is being used during the model definition, it is not - # yet added to the globals. This is useful when resolving self-referencing annotations. - - with ns_resolver.push(Sub): - ns_resolver.types_namespace - #> NamespacesTuple({'Sub': Sub}, {'Sub': Sub, 'Model': Model}) - # Second thing to notice: `Sub` is present in both the globals and locals. - # This is not an issue, just that as described above, the model being pushed - # is added to the locals, but it happens to be present in the globals as well - # because it is already defined. - # Third thing to notice: `Model` is also added in locals. This is a backwards - # compatibility workaround that allows for `Sub` to be able to resolve `'Model'` - # correctly (as otherwise models would have to be rebuilt even though this - # doesn't look necessary). - ``` - """ - - def __init__( - self, - namespaces_tuple: NamespacesTuple | None = None, - parent_namespace: MappingNamespace | None = None, - ) -> None: - self._base_ns_tuple = namespaces_tuple or NamespacesTuple({}, {}) - self._parent_ns = parent_namespace - self._types_stack: list[type[Any] | TypeAliasType] = [] - - @cached_property - def types_namespace(self) -> NamespacesTuple: - """The current global and local namespaces to be used for annotations evaluation.""" - if not self._types_stack: - # TODO: should we merge the parent namespace here? - # This is relevant for TypeAdapter, where there are no types on the stack, and we might - # need access to the parent_ns. Right now, we sidestep this in `type_adapter.py` by passing - # locals to both parent_ns and the base_ns_tuple, but this is a bit hacky. - # we might consider something like: - # if self._parent_ns is not None: - # # Hacky workarounds, see class docstring: - # # An optional parent namespace that will be added to the locals with the lowest priority - # locals_list: list[MappingNamespace] = [self._parent_ns, self._base_ns_tuple.locals] - # return NamespacesTuple(self._base_ns_tuple.globals, LazyLocalNamespace(*locals_list)) - return self._base_ns_tuple - - typ = self._types_stack[-1] - - globalns = get_module_ns_of(typ) - - locals_list: list[MappingNamespace] = [] - # Hacky workarounds, see class docstring: - # An optional parent namespace that will be added to the locals with the lowest priority - if self._parent_ns is not None: - locals_list.append(self._parent_ns) - if len(self._types_stack) > 1: - first_type = self._types_stack[0] - locals_list.append({first_type.__name__: first_type}) - - # Adding `__type_params__` *before* `vars(typ)`, as the latter takes priority - # (see https://github.com/python/cpython/pull/120272). - # TODO `typ.__type_params__` when we drop support for Python 3.11: - type_params: tuple[_TypeVarLike, ...] = getattr(typ, '__type_params__', ()) - if type_params: - # Adding `__type_params__` is mostly useful for generic classes defined using - # PEP 695 syntax *and* using forward annotations (see the example in - # https://github.com/python/cpython/issues/114053). For TypeAliasType instances, - # it is way less common, but still required if using a string annotation in the alias - # value, e.g. `type A[T] = 'T'` (which is not necessary in most cases). - locals_list.append({t.__name__: t for t in type_params}) - - # TypeAliasType instances don't have a `__dict__` attribute, so the check - # is necessary: - if hasattr(typ, '__dict__'): - locals_list.append(vars(typ)) - - # The `len(self._types_stack) > 1` check above prevents this from being added twice: - locals_list.append({typ.__name__: typ}) - - return NamespacesTuple(globalns, LazyLocalNamespace(*locals_list)) - - @contextmanager - def push(self, typ: type[Any] | TypeAliasType, /) -> Generator[None]: - """Push a type to the stack.""" - self._types_stack.append(typ) - # Reset the cached property: - self.__dict__.pop('types_namespace', None) - try: - yield - finally: - self._types_stack.pop() - self.__dict__.pop('types_namespace', None) diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_repr.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_repr.py index bf3cae5..6250722 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_repr.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_repr.py @@ -1,5 +1,4 @@ """Tools to provide pretty/human-readable display of objects.""" - from __future__ import annotations as _annotations import types @@ -7,8 +6,6 @@ import typing from typing import Any import typing_extensions -from typing_inspection import typing_objects -from typing_inspection.introspection import is_union_origin from . import _typing_extra @@ -35,7 +32,7 @@ class Representation: # (this is not a docstring to avoid adding a docstring to classes which inherit from Representation) # we don't want to use a type annotation here as it can break get_type_hints - __slots__ = () # type: typing.Collection[str] + __slots__ = tuple() # type: typing.Collection[str] def __repr_args__(self) -> ReprArgs: """Returns the attributes to show in __str__, __repr__, and __pretty__ this is generally overridden. @@ -48,17 +45,12 @@ class Representation: if not attrs_names and hasattr(self, '__dict__'): attrs_names = self.__dict__.keys() attrs = ((s, getattr(self, s)) for s in attrs_names) - return [(a, v if v is not self else self.__repr_recursion__(v)) for a, v in attrs if v is not None] + return [(a, v) for a, v in attrs if v is not None] def __repr_name__(self) -> str: """Name of the instance's class, used in __repr__.""" return self.__class__.__name__ - def __repr_recursion__(self, object: Any) -> str: - """Returns the string representation of a recursive object.""" - # This is copied over from the stdlib `pprint` module: - return f'' - def __repr_str__(self, join_str: str) -> str: return join_str.join(repr(v) if a is None else f'{a}={v!r}' for a, v in self.__repr_args__()) @@ -95,30 +87,25 @@ def display_as_type(obj: Any) -> str: Takes some logic from `typing._type_repr`. """ - if isinstance(obj, (types.FunctionType, types.BuiltinFunctionType)): + if isinstance(obj, types.FunctionType): return obj.__name__ elif obj is ...: return '...' elif isinstance(obj, Representation): return repr(obj) - elif isinstance(obj, typing.ForwardRef) or typing_objects.is_typealiastype(obj): - return str(obj) if not isinstance(obj, (_typing_extra.typing_base, _typing_extra.WithArgsTypes, type)): obj = obj.__class__ - if is_union_origin(typing_extensions.get_origin(obj)): + if _typing_extra.origin_is_union(typing_extensions.get_origin(obj)): args = ', '.join(map(display_as_type, typing_extensions.get_args(obj))) return f'Union[{args}]' elif isinstance(obj, _typing_extra.WithArgsTypes): - if typing_objects.is_literal(typing_extensions.get_origin(obj)): + if typing_extensions.get_origin(obj) == typing_extensions.Literal: args = ', '.join(map(repr, typing_extensions.get_args(obj))) else: args = ', '.join(map(display_as_type, typing_extensions.get_args(obj))) - try: - return f'{obj.__qualname__}[{args}]' - except AttributeError: - return str(obj).replace('typing.', '').replace('typing_extensions.', '') # handles TypeAliasType in 3.12 + return f'{obj.__qualname__}[{args}]' elif isinstance(obj, type): return obj.__qualname__ else: diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_schema_gather.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_schema_gather.py deleted file mode 100644 index fc2d806..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_schema_gather.py +++ /dev/null @@ -1,209 +0,0 @@ -# pyright: reportTypedDictNotRequiredAccess=false, reportGeneralTypeIssues=false, reportArgumentType=false, reportAttributeAccessIssue=false -from __future__ import annotations - -from dataclasses import dataclass, field -from typing import TypedDict - -from pydantic_core.core_schema import ComputedField, CoreSchema, DefinitionReferenceSchema, SerSchema -from typing_extensions import TypeAlias - -AllSchemas: TypeAlias = 'CoreSchema | SerSchema | ComputedField' - - -class GatherResult(TypedDict): - """Schema traversing result.""" - - collected_references: dict[str, DefinitionReferenceSchema | None] - """The collected definition references. - - If a definition reference schema can be inlined, it means that there is - only one in the whole core schema. As such, it is stored as the value. - Otherwise, the value is set to `None`. - """ - - deferred_discriminator_schemas: list[CoreSchema] - """The list of core schemas having the discriminator application deferred.""" - - -class MissingDefinitionError(LookupError): - """A reference was pointing to a non-existing core schema.""" - - def __init__(self, schema_reference: str, /) -> None: - self.schema_reference = schema_reference - - -@dataclass -class GatherContext: - """The current context used during core schema traversing. - - Context instances should only be used during schema traversing. - """ - - definitions: dict[str, CoreSchema] - """The available definitions.""" - - deferred_discriminator_schemas: list[CoreSchema] = field(init=False, default_factory=list) - """The list of core schemas having the discriminator application deferred. - - Internally, these core schemas have a specific key set in the core metadata dict. - """ - - collected_references: dict[str, DefinitionReferenceSchema | None] = field(init=False, default_factory=dict) - """The collected definition references. - - If a definition reference schema can be inlined, it means that there is - only one in the whole core schema. As such, it is stored as the value. - Otherwise, the value is set to `None`. - - During schema traversing, definition reference schemas can be added as candidates, or removed - (by setting the value to `None`). - """ - - -def traverse_metadata(schema: AllSchemas, ctx: GatherContext) -> None: - meta = schema.get('metadata') - if meta is not None and 'pydantic_internal_union_discriminator' in meta: - ctx.deferred_discriminator_schemas.append(schema) # pyright: ignore[reportArgumentType] - - -def traverse_definition_ref(def_ref_schema: DefinitionReferenceSchema, ctx: GatherContext) -> None: - schema_ref = def_ref_schema['schema_ref'] - - if schema_ref not in ctx.collected_references: - definition = ctx.definitions.get(schema_ref) - if definition is None: - raise MissingDefinitionError(schema_ref) - - # The `'definition-ref'` schema was only encountered once, make it - # a candidate to be inlined: - ctx.collected_references[schema_ref] = def_ref_schema - traverse_schema(definition, ctx) - if 'serialization' in def_ref_schema: - traverse_schema(def_ref_schema['serialization'], ctx) - traverse_metadata(def_ref_schema, ctx) - else: - # The `'definition-ref'` schema was already encountered, meaning - # the previously encountered schema (and this one) can't be inlined: - ctx.collected_references[schema_ref] = None - - -def traverse_schema(schema: AllSchemas, context: GatherContext) -> None: - # TODO When we drop 3.9, use a match statement to get better type checking and remove - # file-level type ignore. - # (the `'type'` could also be fetched in every `if/elif` statement, but this alters performance). - schema_type = schema['type'] - - if schema_type == 'definition-ref': - traverse_definition_ref(schema, context) - # `traverse_definition_ref` handles the possible serialization and metadata schemas: - return - elif schema_type == 'definitions': - traverse_schema(schema['schema'], context) - for definition in schema['definitions']: - traverse_schema(definition, context) - elif schema_type in {'list', 'set', 'frozenset', 'generator'}: - if 'items_schema' in schema: - traverse_schema(schema['items_schema'], context) - elif schema_type == 'tuple': - if 'items_schema' in schema: - for s in schema['items_schema']: - traverse_schema(s, context) - elif schema_type == 'dict': - if 'keys_schema' in schema: - traverse_schema(schema['keys_schema'], context) - if 'values_schema' in schema: - traverse_schema(schema['values_schema'], context) - elif schema_type == 'union': - for choice in schema['choices']: - if isinstance(choice, tuple): - traverse_schema(choice[0], context) - else: - traverse_schema(choice, context) - elif schema_type == 'tagged-union': - for v in schema['choices'].values(): - traverse_schema(v, context) - elif schema_type == 'chain': - for step in schema['steps']: - traverse_schema(step, context) - elif schema_type == 'lax-or-strict': - traverse_schema(schema['lax_schema'], context) - traverse_schema(schema['strict_schema'], context) - elif schema_type == 'json-or-python': - traverse_schema(schema['json_schema'], context) - traverse_schema(schema['python_schema'], context) - elif schema_type in {'model-fields', 'typed-dict'}: - if 'extras_schema' in schema: - traverse_schema(schema['extras_schema'], context) - if 'computed_fields' in schema: - for s in schema['computed_fields']: - traverse_schema(s, context) - for s in schema['fields'].values(): - traverse_schema(s, context) - elif schema_type == 'dataclass-args': - if 'computed_fields' in schema: - for s in schema['computed_fields']: - traverse_schema(s, context) - for s in schema['fields']: - traverse_schema(s, context) - elif schema_type == 'arguments': - for s in schema['arguments_schema']: - traverse_schema(s['schema'], context) - if 'var_args_schema' in schema: - traverse_schema(schema['var_args_schema'], context) - if 'var_kwargs_schema' in schema: - traverse_schema(schema['var_kwargs_schema'], context) - elif schema_type == 'arguments-v3': - for s in schema['arguments_schema']: - traverse_schema(s['schema'], context) - elif schema_type == 'call': - traverse_schema(schema['arguments_schema'], context) - if 'return_schema' in schema: - traverse_schema(schema['return_schema'], context) - elif schema_type == 'computed-field': - traverse_schema(schema['return_schema'], context) - elif schema_type == 'function-before': - if 'schema' in schema: - traverse_schema(schema['schema'], context) - if 'json_schema_input_schema' in schema: - traverse_schema(schema['json_schema_input_schema'], context) - elif schema_type == 'function-plain': - # TODO duplicate schema types for serializers and validators, needs to be deduplicated. - if 'return_schema' in schema: - traverse_schema(schema['return_schema'], context) - if 'json_schema_input_schema' in schema: - traverse_schema(schema['json_schema_input_schema'], context) - elif schema_type == 'function-wrap': - # TODO duplicate schema types for serializers and validators, needs to be deduplicated. - if 'return_schema' in schema: - traverse_schema(schema['return_schema'], context) - if 'schema' in schema: - traverse_schema(schema['schema'], context) - if 'json_schema_input_schema' in schema: - traverse_schema(schema['json_schema_input_schema'], context) - else: - if 'schema' in schema: - traverse_schema(schema['schema'], context) - - if 'serialization' in schema: - traverse_schema(schema['serialization'], context) - traverse_metadata(schema, context) - - -def gather_schemas_for_cleaning(schema: CoreSchema, definitions: dict[str, CoreSchema]) -> GatherResult: - """Traverse the core schema and definitions and return the necessary information for schema cleaning. - - During the core schema traversing, any `'definition-ref'` schema is: - - - Validated: the reference must point to an existing definition. If this is not the case, a - `MissingDefinitionError` exception is raised. - - Stored in the context: the actual reference is stored in the context. Depending on whether - the `'definition-ref'` schema is encountered more that once, the schema itself is also - saved in the context to be inlined (i.e. replaced by the definition it points to). - """ - context = GatherContext(definitions) - traverse_schema(schema, context) - - return { - 'collected_references': context.collected_references, - 'deferred_discriminator_schemas': context.deferred_discriminator_schemas, - } diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_schema_generation_shared.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_schema_generation_shared.py index b231a82..1a9aa85 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_schema_generation_shared.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_schema_generation_shared.py @@ -1,10 +1,10 @@ """Types and utility functions used by various other internal tools.""" - from __future__ import annotations -from typing import TYPE_CHECKING, Any, Callable, Literal +from typing import TYPE_CHECKING, Any, Callable from pydantic_core import core_schema +from typing_extensions import Literal from ..annotated_handlers import GetCoreSchemaHandler, GetJsonSchemaHandler @@ -12,7 +12,6 @@ if TYPE_CHECKING: from ..json_schema import GenerateJsonSchema, JsonSchemaValue from ._core_utils import CoreSchemaOrField from ._generate_schema import GenerateSchema - from ._namespace_utils import NamespacesTuple GetJsonSchemaFunction = Callable[[CoreSchemaOrField, GetJsonSchemaHandler], JsonSchemaValue] HandlerOverride = Callable[[CoreSchemaOrField], JsonSchemaValue] @@ -33,8 +32,8 @@ class GenerateJsonSchemaHandler(GetJsonSchemaHandler): self.handler = handler_override or generate_json_schema.generate_inner self.mode = generate_json_schema.mode - def __call__(self, core_schema: CoreSchemaOrField, /) -> JsonSchemaValue: - return self.handler(core_schema) + def __call__(self, __core_schema: CoreSchemaOrField) -> JsonSchemaValue: + return self.handler(__core_schema) def resolve_ref_schema(self, maybe_ref_json_schema: JsonSchemaValue) -> JsonSchemaValue: """Resolves `$ref` in the json schema. @@ -79,21 +78,22 @@ class CallbackGetCoreSchemaHandler(GetCoreSchemaHandler): self._generate_schema = generate_schema self._ref_mode = ref_mode - def __call__(self, source_type: Any, /) -> core_schema.CoreSchema: - schema = self._handler(source_type) + def __call__(self, __source_type: Any) -> core_schema.CoreSchema: + schema = self._handler(__source_type) + ref = schema.get('ref') if self._ref_mode == 'to-def': - ref = schema.get('ref') if ref is not None: - return self._generate_schema.defs.create_definition_reference_schema(schema) + self._generate_schema.defs.definitions[ref] = schema + return core_schema.definition_reference_schema(ref) return schema - else: # ref_mode = 'unpack' + else: # ref_mode = 'unpack return self.resolve_ref_schema(schema) - def _get_types_namespace(self) -> NamespacesTuple: + def _get_types_namespace(self) -> dict[str, Any] | None: return self._generate_schema._types_namespace - def generate_schema(self, source_type: Any, /) -> core_schema.CoreSchema: - return self._generate_schema.generate_schema(source_type) + def generate_schema(self, __source_type: Any) -> core_schema.CoreSchema: + return self._generate_schema.generate_schema(__source_type) @property def field_name(self) -> str | None: @@ -113,13 +113,12 @@ class CallbackGetCoreSchemaHandler(GetCoreSchemaHandler): """ if maybe_ref_schema['type'] == 'definition-ref': ref = maybe_ref_schema['schema_ref'] - definition = self._generate_schema.defs.get_schema_from_ref(ref) - if definition is None: + if ref not in self._generate_schema.defs.definitions: raise LookupError( f'Could not find a ref for {ref}.' ' Maybe you tried to call resolve_ref_schema from within a recursive model?' ) - return definition + return self._generate_schema.defs.definitions[ref] elif maybe_ref_schema['type'] == 'definitions': return self.resolve_ref_schema(maybe_ref_schema['schema']) return maybe_ref_schema diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_serializers.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_serializers.py deleted file mode 100644 index d059321..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_serializers.py +++ /dev/null @@ -1,53 +0,0 @@ -from __future__ import annotations - -import collections -import collections.abc -import typing -from typing import Any - -from pydantic_core import PydanticOmit, core_schema - -SEQUENCE_ORIGIN_MAP: dict[Any, Any] = { - typing.Deque: collections.deque, # noqa: UP006 - collections.deque: collections.deque, - list: list, - typing.List: list, # noqa: UP006 - tuple: tuple, - typing.Tuple: tuple, # noqa: UP006 - set: set, - typing.AbstractSet: set, - typing.Set: set, # noqa: UP006 - frozenset: frozenset, - typing.FrozenSet: frozenset, # noqa: UP006 - typing.Sequence: list, - typing.MutableSequence: list, - typing.MutableSet: set, - # this doesn't handle subclasses of these - # parametrized typing.Set creates one of these - collections.abc.MutableSet: set, - collections.abc.Set: frozenset, -} - - -def serialize_sequence_via_list( - v: Any, handler: core_schema.SerializerFunctionWrapHandler, info: core_schema.SerializationInfo -) -> Any: - items: list[Any] = [] - - mapped_origin = SEQUENCE_ORIGIN_MAP.get(type(v), None) - if mapped_origin is None: - # we shouldn't hit this branch, should probably add a serialization error or something - return v - - for index, item in enumerate(v): - try: - v = handler(item, index) - except PydanticOmit: - pass - else: - items.append(v) - - if info.mode_is_json(): - return items - else: - return mapped_origin(items) diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_signature.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_signature.py deleted file mode 100644 index 977e5d2..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_signature.py +++ /dev/null @@ -1,188 +0,0 @@ -from __future__ import annotations - -import dataclasses -from inspect import Parameter, Signature, signature -from typing import TYPE_CHECKING, Any, Callable - -from pydantic_core import PydanticUndefined - -from ._utils import is_valid_identifier - -if TYPE_CHECKING: - from ..config import ExtraValues - from ..fields import FieldInfo - - -# Copied over from stdlib dataclasses -class _HAS_DEFAULT_FACTORY_CLASS: - def __repr__(self): - return '' - - -_HAS_DEFAULT_FACTORY = _HAS_DEFAULT_FACTORY_CLASS() - - -def _field_name_for_signature(field_name: str, field_info: FieldInfo) -> str: - """Extract the correct name to use for the field when generating a signature. - - Assuming the field has a valid alias, this will return the alias. Otherwise, it will return the field name. - First priority is given to the alias, then the validation_alias, then the field name. - - Args: - field_name: The name of the field - field_info: The corresponding FieldInfo object. - - Returns: - The correct name to use when generating a signature. - """ - if isinstance(field_info.alias, str) and is_valid_identifier(field_info.alias): - return field_info.alias - if isinstance(field_info.validation_alias, str) and is_valid_identifier(field_info.validation_alias): - return field_info.validation_alias - - return field_name - - -def _process_param_defaults(param: Parameter) -> Parameter: - """Modify the signature for a parameter in a dataclass where the default value is a FieldInfo instance. - - Args: - param (Parameter): The parameter - - Returns: - Parameter: The custom processed parameter - """ - from ..fields import FieldInfo - - param_default = param.default - if isinstance(param_default, FieldInfo): - annotation = param.annotation - # Replace the annotation if appropriate - # inspect does "clever" things to show annotations as strings because we have - # `from __future__ import annotations` in main, we don't want that - if annotation == 'Any': - annotation = Any - - # Replace the field default - default = param_default.default - if default is PydanticUndefined: - if param_default.default_factory is PydanticUndefined: - default = Signature.empty - else: - # this is used by dataclasses to indicate a factory exists: - default = dataclasses._HAS_DEFAULT_FACTORY # type: ignore - return param.replace( - annotation=annotation, name=_field_name_for_signature(param.name, param_default), default=default - ) - return param - - -def _generate_signature_parameters( # noqa: C901 (ignore complexity, could use a refactor) - init: Callable[..., None], - fields: dict[str, FieldInfo], - validate_by_name: bool, - extra: ExtraValues | None, -) -> dict[str, Parameter]: - """Generate a mapping of parameter names to Parameter objects for a pydantic BaseModel or dataclass.""" - from itertools import islice - - present_params = signature(init).parameters.values() - merged_params: dict[str, Parameter] = {} - var_kw = None - use_var_kw = False - - for param in islice(present_params, 1, None): # skip self arg - # inspect does "clever" things to show annotations as strings because we have - # `from __future__ import annotations` in main, we don't want that - if fields.get(param.name): - # exclude params with init=False - if getattr(fields[param.name], 'init', True) is False: - continue - param = param.replace(name=_field_name_for_signature(param.name, fields[param.name])) - if param.annotation == 'Any': - param = param.replace(annotation=Any) - if param.kind is param.VAR_KEYWORD: - var_kw = param - continue - merged_params[param.name] = param - - if var_kw: # if custom init has no var_kw, fields which are not declared in it cannot be passed through - allow_names = validate_by_name - for field_name, field in fields.items(): - # when alias is a str it should be used for signature generation - param_name = _field_name_for_signature(field_name, field) - - if field_name in merged_params or param_name in merged_params: - continue - - if not is_valid_identifier(param_name): - if allow_names: - param_name = field_name - else: - use_var_kw = True - continue - - if field.is_required(): - default = Parameter.empty - elif field.default_factory is not None: - # Mimics stdlib dataclasses: - default = _HAS_DEFAULT_FACTORY - else: - default = field.default - merged_params[param_name] = Parameter( - param_name, - Parameter.KEYWORD_ONLY, - annotation=field.rebuild_annotation(), - default=default, - ) - - if extra == 'allow': - use_var_kw = True - - if var_kw and use_var_kw: - # Make sure the parameter for extra kwargs - # does not have the same name as a field - default_model_signature = [ - ('self', Parameter.POSITIONAL_ONLY), - ('data', Parameter.VAR_KEYWORD), - ] - if [(p.name, p.kind) for p in present_params] == default_model_signature: - # if this is the standard model signature, use extra_data as the extra args name - var_kw_name = 'extra_data' - else: - # else start from var_kw - var_kw_name = var_kw.name - - # generate a name that's definitely unique - while var_kw_name in fields: - var_kw_name += '_' - merged_params[var_kw_name] = var_kw.replace(name=var_kw_name) - - return merged_params - - -def generate_pydantic_signature( - init: Callable[..., None], - fields: dict[str, FieldInfo], - validate_by_name: bool, - extra: ExtraValues | None, - is_dataclass: bool = False, -) -> Signature: - """Generate signature for a pydantic BaseModel or dataclass. - - Args: - init: The class init. - fields: The model fields. - validate_by_name: The `validate_by_name` value of the config. - extra: The `extra` value of the config. - is_dataclass: Whether the model is a dataclass. - - Returns: - The dataclass/BaseModel subclass signature. - """ - merged_params = _generate_signature_parameters(init, fields, validate_by_name, extra) - - if is_dataclass: - merged_params = {k: _process_param_defaults(v) for k, v in merged_params.items()} - - return Signature(parameters=list(merged_params.values()), return_annotation=None) diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_std_types_schema.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_std_types_schema.py new file mode 100644 index 0000000..2c1cef2 --- /dev/null +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_std_types_schema.py @@ -0,0 +1,713 @@ +"""Logic for generating pydantic-core schemas for standard library types. + +Import of this module is deferred since it contains imports of many standard library modules. +""" +from __future__ import annotations as _annotations + +import collections +import collections.abc +import dataclasses +import decimal +import inspect +import os +import typing +from enum import Enum +from functools import partial +from ipaddress import IPv4Address, IPv4Interface, IPv4Network, IPv6Address, IPv6Interface, IPv6Network +from typing import Any, Callable, Iterable, TypeVar + +import typing_extensions +from pydantic_core import ( + CoreSchema, + MultiHostUrl, + PydanticCustomError, + PydanticOmit, + Url, + core_schema, +) +from typing_extensions import get_args, get_origin + +from pydantic.errors import PydanticSchemaGenerationError +from pydantic.fields import FieldInfo +from pydantic.types import Strict + +from ..config import ConfigDict +from ..json_schema import JsonSchemaValue, update_json_schema +from . import _known_annotated_metadata, _typing_extra, _validators +from ._core_utils import get_type_ref +from ._internal_dataclass import slots_true +from ._schema_generation_shared import GetCoreSchemaHandler, GetJsonSchemaHandler + +if typing.TYPE_CHECKING: + from ._generate_schema import GenerateSchema + + StdSchemaFunction = Callable[[GenerateSchema, type[Any]], core_schema.CoreSchema] + + +@dataclasses.dataclass(**slots_true) +class SchemaTransformer: + get_core_schema: Callable[[Any, GetCoreSchemaHandler], CoreSchema] + get_json_schema: Callable[[CoreSchema, GetJsonSchemaHandler], JsonSchemaValue] + + def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> CoreSchema: + return self.get_core_schema(source_type, handler) + + def __get_pydantic_json_schema__(self, schema: CoreSchema, handler: GetJsonSchemaHandler) -> JsonSchemaValue: + return self.get_json_schema(schema, handler) + + +def get_enum_core_schema(enum_type: type[Enum], config: ConfigDict) -> CoreSchema: + cases: list[Any] = list(enum_type.__members__.values()) + + if not cases: + # Use an isinstance check for enums with no cases. + # This won't work with serialization or JSON schema, but that's okay -- the most important + # use case for this is creating typevar bounds for generics that should be restricted to enums. + # This is more consistent than it might seem at first, since you can only subclass enum.Enum + # (or subclasses of enum.Enum) if all parent classes have no cases. + return core_schema.is_instance_schema(enum_type) + + use_enum_values = config.get('use_enum_values', False) + + if len(cases) == 1: + expected = repr(cases[0].value) + else: + expected = ', '.join([repr(case.value) for case in cases[:-1]]) + f' or {cases[-1].value!r}' + + def to_enum(__input_value: Any) -> Enum: + try: + enum_field = enum_type(__input_value) + if use_enum_values: + return enum_field.value + return enum_field + except ValueError: + # The type: ignore on the next line is to ignore the requirement of LiteralString + raise PydanticCustomError('enum', f'Input should be {expected}', {'expected': expected}) # type: ignore + + enum_ref = get_type_ref(enum_type) + description = None if not enum_type.__doc__ else inspect.cleandoc(enum_type.__doc__) + if description == 'An enumeration.': # This is the default value provided by enum.EnumMeta.__new__; don't use it + description = None + updates = {'title': enum_type.__name__, 'description': description} + updates = {k: v for k, v in updates.items() if v is not None} + + def get_json_schema(_, handler: GetJsonSchemaHandler) -> JsonSchemaValue: + json_schema = handler(core_schema.literal_schema([x.value for x in cases], ref=enum_ref)) + original_schema = handler.resolve_ref_schema(json_schema) + update_json_schema(original_schema, updates) + return json_schema + + strict_python_schema = core_schema.is_instance_schema(enum_type) + if use_enum_values: + strict_python_schema = core_schema.chain_schema( + [strict_python_schema, core_schema.no_info_plain_validator_function(lambda x: x.value)] + ) + + to_enum_validator = core_schema.no_info_plain_validator_function(to_enum) + if issubclass(enum_type, int): + # this handles `IntEnum`, and also `Foobar(int, Enum)` + updates['type'] = 'integer' + lax = core_schema.chain_schema([core_schema.int_schema(), to_enum_validator]) + # Disallow float from JSON due to strict mode + strict = core_schema.json_or_python_schema( + json_schema=core_schema.no_info_after_validator_function(to_enum, core_schema.int_schema()), + python_schema=strict_python_schema, + ) + elif issubclass(enum_type, str): + # this handles `StrEnum` (3.11 only), and also `Foobar(str, Enum)` + updates['type'] = 'string' + lax = core_schema.chain_schema([core_schema.str_schema(), to_enum_validator]) + strict = core_schema.json_or_python_schema( + json_schema=core_schema.no_info_after_validator_function(to_enum, core_schema.str_schema()), + python_schema=strict_python_schema, + ) + elif issubclass(enum_type, float): + updates['type'] = 'numeric' + lax = core_schema.chain_schema([core_schema.float_schema(), to_enum_validator]) + strict = core_schema.json_or_python_schema( + json_schema=core_schema.no_info_after_validator_function(to_enum, core_schema.float_schema()), + python_schema=strict_python_schema, + ) + else: + lax = to_enum_validator + strict = core_schema.json_or_python_schema(json_schema=to_enum_validator, python_schema=strict_python_schema) + return core_schema.lax_or_strict_schema( + lax_schema=lax, strict_schema=strict, ref=enum_ref, metadata={'pydantic_js_functions': [get_json_schema]} + ) + + +@dataclasses.dataclass(**slots_true) +class InnerSchemaValidator: + """Use a fixed CoreSchema, avoiding interference from outward annotations.""" + + core_schema: CoreSchema + js_schema: JsonSchemaValue | None = None + js_core_schema: CoreSchema | None = None + js_schema_update: JsonSchemaValue | None = None + + def __get_pydantic_json_schema__(self, _schema: CoreSchema, handler: GetJsonSchemaHandler) -> JsonSchemaValue: + if self.js_schema is not None: + return self.js_schema + js_schema = handler(self.js_core_schema or self.core_schema) + if self.js_schema_update is not None: + js_schema.update(self.js_schema_update) + return js_schema + + def __get_pydantic_core_schema__(self, _source_type: Any, _handler: GetCoreSchemaHandler) -> CoreSchema: + return self.core_schema + + +def decimal_prepare_pydantic_annotations( + source: Any, annotations: Iterable[Any], config: ConfigDict +) -> tuple[Any, list[Any]] | None: + if source is not decimal.Decimal: + return None + + metadata, remaining_annotations = _known_annotated_metadata.collect_known_metadata(annotations) + + config_allow_inf_nan = config.get('allow_inf_nan') + if config_allow_inf_nan is not None: + metadata.setdefault('allow_inf_nan', config_allow_inf_nan) + + _known_annotated_metadata.check_metadata( + metadata, {*_known_annotated_metadata.FLOAT_CONSTRAINTS, 'max_digits', 'decimal_places'}, decimal.Decimal + ) + return source, [InnerSchemaValidator(core_schema.decimal_schema(**metadata)), *remaining_annotations] + + +def datetime_prepare_pydantic_annotations( + source_type: Any, annotations: Iterable[Any], _config: ConfigDict +) -> tuple[Any, list[Any]] | None: + import datetime + + metadata, remaining_annotations = _known_annotated_metadata.collect_known_metadata(annotations) + if source_type is datetime.date: + sv = InnerSchemaValidator(core_schema.date_schema(**metadata)) + elif source_type is datetime.datetime: + sv = InnerSchemaValidator(core_schema.datetime_schema(**metadata)) + elif source_type is datetime.time: + sv = InnerSchemaValidator(core_schema.time_schema(**metadata)) + elif source_type is datetime.timedelta: + sv = InnerSchemaValidator(core_schema.timedelta_schema(**metadata)) + else: + return None + # check now that we know the source type is correct + _known_annotated_metadata.check_metadata(metadata, _known_annotated_metadata.DATE_TIME_CONSTRAINTS, source_type) + return (source_type, [sv, *remaining_annotations]) + + +def uuid_prepare_pydantic_annotations( + source_type: Any, annotations: Iterable[Any], _config: ConfigDict +) -> tuple[Any, list[Any]] | None: + # UUIDs have no constraints - they are fixed length, constructing a UUID instance checks the length + + from uuid import UUID + + if source_type is not UUID: + return None + + return (source_type, [InnerSchemaValidator(core_schema.uuid_schema()), *annotations]) + + +def path_schema_prepare_pydantic_annotations( + source_type: Any, annotations: Iterable[Any], _config: ConfigDict +) -> tuple[Any, list[Any]] | None: + import pathlib + + if source_type not in { + os.PathLike, + pathlib.Path, + pathlib.PurePath, + pathlib.PosixPath, + pathlib.PurePosixPath, + pathlib.PureWindowsPath, + }: + return None + + metadata, remaining_annotations = _known_annotated_metadata.collect_known_metadata(annotations) + _known_annotated_metadata.check_metadata(metadata, _known_annotated_metadata.STR_CONSTRAINTS, source_type) + + construct_path = pathlib.PurePath if source_type is os.PathLike else source_type + + def path_validator(input_value: str) -> os.PathLike[Any]: + try: + return construct_path(input_value) + except TypeError as e: + raise PydanticCustomError('path_type', 'Input is not a valid path') from e + + constrained_str_schema = core_schema.str_schema(**metadata) + + instance_schema = core_schema.json_or_python_schema( + json_schema=core_schema.no_info_after_validator_function(path_validator, constrained_str_schema), + python_schema=core_schema.is_instance_schema(source_type), + ) + + strict: bool | None = None + for annotation in annotations: + if isinstance(annotation, Strict): + strict = annotation.strict + + schema = core_schema.lax_or_strict_schema( + lax_schema=core_schema.union_schema( + [ + instance_schema, + core_schema.no_info_after_validator_function(path_validator, constrained_str_schema), + ], + custom_error_type='path_type', + custom_error_message='Input is not a valid path', + strict=True, + ), + strict_schema=instance_schema, + serialization=core_schema.to_string_ser_schema(), + strict=strict, + ) + + return ( + source_type, + [ + InnerSchemaValidator(schema, js_core_schema=constrained_str_schema, js_schema_update={'format': 'path'}), + *remaining_annotations, + ], + ) + + +def dequeue_validator( + input_value: Any, handler: core_schema.ValidatorFunctionWrapHandler, maxlen: None | int +) -> collections.deque[Any]: + if isinstance(input_value, collections.deque): + maxlens = [v for v in (input_value.maxlen, maxlen) if v is not None] + if maxlens: + maxlen = min(maxlens) + return collections.deque(handler(input_value), maxlen=maxlen) + else: + return collections.deque(handler(input_value), maxlen=maxlen) + + +@dataclasses.dataclass(**slots_true) +class SequenceValidator: + mapped_origin: type[Any] + item_source_type: type[Any] + min_length: int | None = None + max_length: int | None = None + strict: bool = False + + def serialize_sequence_via_list( + self, v: Any, handler: core_schema.SerializerFunctionWrapHandler, info: core_schema.SerializationInfo + ) -> Any: + items: list[Any] = [] + for index, item in enumerate(v): + try: + v = handler(item, index) + except PydanticOmit: + pass + else: + items.append(v) + + if info.mode_is_json(): + return items + else: + return self.mapped_origin(items) + + def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> CoreSchema: + if self.item_source_type is Any: + items_schema = None + else: + items_schema = handler.generate_schema(self.item_source_type) + + metadata = {'min_length': self.min_length, 'max_length': self.max_length, 'strict': self.strict} + + if self.mapped_origin in (list, set, frozenset): + if self.mapped_origin is list: + constrained_schema = core_schema.list_schema(items_schema, **metadata) + elif self.mapped_origin is set: + constrained_schema = core_schema.set_schema(items_schema, **metadata) + else: + assert self.mapped_origin is frozenset # safety check in case we forget to add a case + constrained_schema = core_schema.frozenset_schema(items_schema, **metadata) + + schema = constrained_schema + else: + # safety check in case we forget to add a case + assert self.mapped_origin in (collections.deque, collections.Counter) + + if self.mapped_origin is collections.deque: + # if we have a MaxLen annotation might as well set that as the default maxlen on the deque + # this lets us re-use existing metadata annotations to let users set the maxlen on a dequeue + # that e.g. comes from JSON + coerce_instance_wrap = partial( + core_schema.no_info_wrap_validator_function, + partial(dequeue_validator, maxlen=metadata.get('max_length', None)), + ) + else: + coerce_instance_wrap = partial(core_schema.no_info_after_validator_function, self.mapped_origin) + + constrained_schema = core_schema.list_schema(items_schema, **metadata) + + check_instance = core_schema.json_or_python_schema( + json_schema=core_schema.list_schema(), + python_schema=core_schema.is_instance_schema(self.mapped_origin), + ) + + serialization = core_schema.wrap_serializer_function_ser_schema( + self.serialize_sequence_via_list, schema=items_schema or core_schema.any_schema(), info_arg=True + ) + + strict = core_schema.chain_schema([check_instance, coerce_instance_wrap(constrained_schema)]) + + if metadata.get('strict', False): + schema = strict + else: + lax = coerce_instance_wrap(constrained_schema) + schema = core_schema.lax_or_strict_schema(lax_schema=lax, strict_schema=strict) + schema['serialization'] = serialization + + return schema + + +SEQUENCE_ORIGIN_MAP: dict[Any, Any] = { + typing.Deque: collections.deque, + collections.deque: collections.deque, + list: list, + typing.List: list, + set: set, + typing.AbstractSet: set, + typing.Set: set, + frozenset: frozenset, + typing.FrozenSet: frozenset, + typing.Sequence: list, + typing.MutableSequence: list, + typing.MutableSet: set, + # this doesn't handle subclasses of these + # parametrized typing.Set creates one of these + collections.abc.MutableSet: set, + collections.abc.Set: frozenset, +} + + +def identity(s: CoreSchema) -> CoreSchema: + return s + + +def sequence_like_prepare_pydantic_annotations( + source_type: Any, annotations: Iterable[Any], _config: ConfigDict +) -> tuple[Any, list[Any]] | None: + origin: Any = get_origin(source_type) + + mapped_origin = SEQUENCE_ORIGIN_MAP.get(origin, None) if origin else SEQUENCE_ORIGIN_MAP.get(source_type, None) + if mapped_origin is None: + return None + + args = get_args(source_type) + + if not args: + args = (Any,) + elif len(args) != 1: + raise ValueError('Expected sequence to have exactly 1 generic parameter') + + item_source_type = args[0] + + metadata, remaining_annotations = _known_annotated_metadata.collect_known_metadata(annotations) + _known_annotated_metadata.check_metadata(metadata, _known_annotated_metadata.SEQUENCE_CONSTRAINTS, source_type) + + return (source_type, [SequenceValidator(mapped_origin, item_source_type, **metadata), *remaining_annotations]) + + +MAPPING_ORIGIN_MAP: dict[Any, Any] = { + typing.DefaultDict: collections.defaultdict, + collections.defaultdict: collections.defaultdict, + collections.OrderedDict: collections.OrderedDict, + typing_extensions.OrderedDict: collections.OrderedDict, + dict: dict, + typing.Dict: dict, + collections.Counter: collections.Counter, + typing.Counter: collections.Counter, + # this doesn't handle subclasses of these + typing.Mapping: dict, + typing.MutableMapping: dict, + # parametrized typing.{Mutable}Mapping creates one of these + collections.abc.MutableMapping: dict, + collections.abc.Mapping: dict, +} + + +def defaultdict_validator( + input_value: Any, handler: core_schema.ValidatorFunctionWrapHandler, default_default_factory: Callable[[], Any] +) -> collections.defaultdict[Any, Any]: + if isinstance(input_value, collections.defaultdict): + default_factory = input_value.default_factory + return collections.defaultdict(default_factory, handler(input_value)) + else: + return collections.defaultdict(default_default_factory, handler(input_value)) + + +def get_defaultdict_default_default_factory(values_source_type: Any) -> Callable[[], Any]: + def infer_default() -> Callable[[], Any]: + allowed_default_types: dict[Any, Any] = { + typing.Tuple: tuple, + tuple: tuple, + collections.abc.Sequence: tuple, + collections.abc.MutableSequence: list, + typing.List: list, + list: list, + typing.Sequence: list, + typing.Set: set, + set: set, + typing.MutableSet: set, + collections.abc.MutableSet: set, + collections.abc.Set: frozenset, + typing.MutableMapping: dict, + typing.Mapping: dict, + collections.abc.Mapping: dict, + collections.abc.MutableMapping: dict, + float: float, + int: int, + str: str, + bool: bool, + } + values_type_origin = get_origin(values_source_type) or values_source_type + instructions = 'set using `DefaultDict[..., Annotated[..., Field(default_factory=...)]]`' + if isinstance(values_type_origin, TypeVar): + + def type_var_default_factory() -> None: + raise RuntimeError( + 'Generic defaultdict cannot be used without a concrete value type or an' + ' explicit default factory, ' + instructions + ) + + return type_var_default_factory + elif values_type_origin not in allowed_default_types: + # a somewhat subjective set of types that have reasonable default values + allowed_msg = ', '.join([t.__name__ for t in set(allowed_default_types.values())]) + raise PydanticSchemaGenerationError( + f'Unable to infer a default factory for keys of type {values_source_type}.' + f' Only {allowed_msg} are supported, other types require an explicit default factory' + ' ' + instructions + ) + return allowed_default_types[values_type_origin] + + # Assume Annotated[..., Field(...)] + if _typing_extra.is_annotated(values_source_type): + field_info = next((v for v in get_args(values_source_type) if isinstance(v, FieldInfo)), None) + else: + field_info = None + if field_info and field_info.default_factory: + default_default_factory = field_info.default_factory + else: + default_default_factory = infer_default() + return default_default_factory + + +@dataclasses.dataclass(**slots_true) +class MappingValidator: + mapped_origin: type[Any] + keys_source_type: type[Any] + values_source_type: type[Any] + min_length: int | None = None + max_length: int | None = None + strict: bool = False + + def serialize_mapping_via_dict(self, v: Any, handler: core_schema.SerializerFunctionWrapHandler) -> Any: + return handler(v) + + def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> CoreSchema: + if self.keys_source_type is Any: + keys_schema = None + else: + keys_schema = handler.generate_schema(self.keys_source_type) + if self.values_source_type is Any: + values_schema = None + else: + values_schema = handler.generate_schema(self.values_source_type) + + metadata = {'min_length': self.min_length, 'max_length': self.max_length, 'strict': self.strict} + + if self.mapped_origin is dict: + schema = core_schema.dict_schema(keys_schema, values_schema, **metadata) + else: + constrained_schema = core_schema.dict_schema(keys_schema, values_schema, **metadata) + check_instance = core_schema.json_or_python_schema( + json_schema=core_schema.dict_schema(), + python_schema=core_schema.is_instance_schema(self.mapped_origin), + ) + + if self.mapped_origin is collections.defaultdict: + default_default_factory = get_defaultdict_default_default_factory(self.values_source_type) + coerce_instance_wrap = partial( + core_schema.no_info_wrap_validator_function, + partial(defaultdict_validator, default_default_factory=default_default_factory), + ) + else: + coerce_instance_wrap = partial(core_schema.no_info_after_validator_function, self.mapped_origin) + + serialization = core_schema.wrap_serializer_function_ser_schema( + self.serialize_mapping_via_dict, + schema=core_schema.dict_schema( + keys_schema or core_schema.any_schema(), values_schema or core_schema.any_schema() + ), + info_arg=False, + ) + + strict = core_schema.chain_schema([check_instance, coerce_instance_wrap(constrained_schema)]) + + if metadata.get('strict', False): + schema = strict + else: + lax = coerce_instance_wrap(constrained_schema) + schema = core_schema.lax_or_strict_schema(lax_schema=lax, strict_schema=strict) + schema['serialization'] = serialization + + return schema + + +def mapping_like_prepare_pydantic_annotations( + source_type: Any, annotations: Iterable[Any], _config: ConfigDict +) -> tuple[Any, list[Any]] | None: + origin: Any = get_origin(source_type) + + mapped_origin = MAPPING_ORIGIN_MAP.get(origin, None) if origin else MAPPING_ORIGIN_MAP.get(source_type, None) + if mapped_origin is None: + return None + + args = get_args(source_type) + + if not args: + args = (Any, Any) + elif mapped_origin is collections.Counter: + # a single generic + if len(args) != 1: + raise ValueError('Expected Counter to have exactly 1 generic parameter') + args = (args[0], int) # keys are always an int + elif len(args) != 2: + raise ValueError('Expected mapping to have exactly 2 generic parameters') + + keys_source_type, values_source_type = args + + metadata, remaining_annotations = _known_annotated_metadata.collect_known_metadata(annotations) + _known_annotated_metadata.check_metadata(metadata, _known_annotated_metadata.SEQUENCE_CONSTRAINTS, source_type) + + return ( + source_type, + [ + MappingValidator(mapped_origin, keys_source_type, values_source_type, **metadata), + *remaining_annotations, + ], + ) + + +def ip_prepare_pydantic_annotations( + source_type: Any, annotations: Iterable[Any], _config: ConfigDict +) -> tuple[Any, list[Any]] | None: + def make_strict_ip_schema(tp: type[Any]) -> CoreSchema: + return core_schema.json_or_python_schema( + json_schema=core_schema.no_info_after_validator_function(tp, core_schema.str_schema()), + python_schema=core_schema.is_instance_schema(tp), + ) + + if source_type is IPv4Address: + return source_type, [ + SchemaTransformer( + lambda _1, _2: core_schema.lax_or_strict_schema( + lax_schema=core_schema.no_info_plain_validator_function(_validators.ip_v4_address_validator), + strict_schema=make_strict_ip_schema(IPv4Address), + serialization=core_schema.to_string_ser_schema(), + ), + lambda _1, _2: {'type': 'string', 'format': 'ipv4'}, + ), + *annotations, + ] + if source_type is IPv4Network: + return source_type, [ + SchemaTransformer( + lambda _1, _2: core_schema.lax_or_strict_schema( + lax_schema=core_schema.no_info_plain_validator_function(_validators.ip_v4_network_validator), + strict_schema=make_strict_ip_schema(IPv4Network), + serialization=core_schema.to_string_ser_schema(), + ), + lambda _1, _2: {'type': 'string', 'format': 'ipv4network'}, + ), + *annotations, + ] + if source_type is IPv4Interface: + return source_type, [ + SchemaTransformer( + lambda _1, _2: core_schema.lax_or_strict_schema( + lax_schema=core_schema.no_info_plain_validator_function(_validators.ip_v4_interface_validator), + strict_schema=make_strict_ip_schema(IPv4Interface), + serialization=core_schema.to_string_ser_schema(), + ), + lambda _1, _2: {'type': 'string', 'format': 'ipv4interface'}, + ), + *annotations, + ] + + if source_type is IPv6Address: + return source_type, [ + SchemaTransformer( + lambda _1, _2: core_schema.lax_or_strict_schema( + lax_schema=core_schema.no_info_plain_validator_function(_validators.ip_v6_address_validator), + strict_schema=make_strict_ip_schema(IPv6Address), + serialization=core_schema.to_string_ser_schema(), + ), + lambda _1, _2: {'type': 'string', 'format': 'ipv6'}, + ), + *annotations, + ] + if source_type is IPv6Network: + return source_type, [ + SchemaTransformer( + lambda _1, _2: core_schema.lax_or_strict_schema( + lax_schema=core_schema.no_info_plain_validator_function(_validators.ip_v6_network_validator), + strict_schema=make_strict_ip_schema(IPv6Network), + serialization=core_schema.to_string_ser_schema(), + ), + lambda _1, _2: {'type': 'string', 'format': 'ipv6network'}, + ), + *annotations, + ] + if source_type is IPv6Interface: + return source_type, [ + SchemaTransformer( + lambda _1, _2: core_schema.lax_or_strict_schema( + lax_schema=core_schema.no_info_plain_validator_function(_validators.ip_v6_interface_validator), + strict_schema=make_strict_ip_schema(IPv6Interface), + serialization=core_schema.to_string_ser_schema(), + ), + lambda _1, _2: {'type': 'string', 'format': 'ipv6interface'}, + ), + *annotations, + ] + + return None + + +def url_prepare_pydantic_annotations( + source_type: Any, annotations: Iterable[Any], _config: ConfigDict +) -> tuple[Any, list[Any]] | None: + if source_type is Url: + return source_type, [ + SchemaTransformer( + lambda _1, _2: core_schema.url_schema(), + lambda cs, handler: handler(cs), + ), + *annotations, + ] + if source_type is MultiHostUrl: + return source_type, [ + SchemaTransformer( + lambda _1, _2: core_schema.multi_host_url_schema(), + lambda cs, handler: handler(cs), + ), + *annotations, + ] + + +PREPARE_METHODS: tuple[Callable[[Any, Iterable[Any], ConfigDict], tuple[Any, list[Any]] | None], ...] = ( + decimal_prepare_pydantic_annotations, + sequence_like_prepare_pydantic_annotations, + datetime_prepare_pydantic_annotations, + uuid_prepare_pydantic_annotations, + path_schema_prepare_pydantic_annotations, + mapping_like_prepare_pydantic_annotations, + ip_prepare_pydantic_annotations, + url_prepare_pydantic_annotations, +) diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_typing_extra.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_typing_extra.py index 4be1a09..e83e03d 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_typing_extra.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_typing_extra.py @@ -1,544 +1,244 @@ -"""Logic for interacting with type annotations, mostly extensions, shims and hacks to wrap Python's typing module.""" +"""Logic for interacting with type annotations, mostly extensions, shims and hacks to wrap python's typing module.""" +from __future__ import annotations as _annotations -from __future__ import annotations - -import collections.abc -import re +import dataclasses import sys import types import typing +from collections.abc import Callable from functools import partial -from typing import TYPE_CHECKING, Any, Callable, cast +from types import GetSetDescriptorType +from typing import TYPE_CHECKING, Any, ForwardRef -import typing_extensions -from typing_extensions import deprecated, get_args, get_origin -from typing_inspection import typing_objects -from typing_inspection.introspection import is_union_origin +from typing_extensions import Annotated, Final, Literal, TypeAliasType, TypeGuard, get_args, get_origin -from pydantic.version import version_short +if TYPE_CHECKING: + from ._dataclasses import StandardDataclass + +try: + from typing import _TypingBase # type: ignore[attr-defined] +except ImportError: + from typing import _Final as _TypingBase # type: ignore[attr-defined] + +typing_base = _TypingBase + + +if sys.version_info < (3, 9): + # python < 3.9 does not have GenericAlias (list[int], tuple[str, ...] and so on) + TypingGenericAlias = () +else: + from typing import GenericAlias as TypingGenericAlias # type: ignore + + +if sys.version_info < (3, 11): + from typing_extensions import NotRequired, Required +else: + from typing import NotRequired, Required # noqa: F401 + + +if sys.version_info < (3, 10): + + def origin_is_union(tp: type[Any] | None) -> bool: + return tp is typing.Union + + WithArgsTypes = (TypingGenericAlias,) + +else: + + def origin_is_union(tp: type[Any] | None) -> bool: + return tp is typing.Union or tp is types.UnionType + + WithArgsTypes = typing._GenericAlias, types.GenericAlias, types.UnionType # type: ignore[attr-defined] -from ._namespace_utils import GlobalsNamespace, MappingNamespace, NsResolver, get_module_ns_of if sys.version_info < (3, 10): NoneType = type(None) EllipsisType = type(Ellipsis) else: - from types import EllipsisType as EllipsisType from types import NoneType as NoneType -if TYPE_CHECKING: - from pydantic import BaseModel -# As per https://typing-extensions.readthedocs.io/en/latest/#runtime-use-of-types, -# always check for both `typing` and `typing_extensions` variants of a typing construct. -# (this is implemented differently than the suggested approach in the `typing_extensions` -# docs for performance). +LITERAL_TYPES: set[Any] = {Literal} +if hasattr(typing, 'Literal'): + LITERAL_TYPES.add(typing.Literal) # type: ignore + +NONE_TYPES: tuple[Any, ...] = (None, NoneType, *(tp[None] for tp in LITERAL_TYPES)) -_t_annotated = typing.Annotated -_te_annotated = typing_extensions.Annotated +TypeVarType = Any # since mypy doesn't allow the use of TypeVar as a type -def is_annotated(tp: Any, /) -> bool: - """Return whether the provided argument is a `Annotated` special form. +def is_none_type(type_: Any) -> bool: + return type_ in NONE_TYPES - ```python {test="skip" lint="skip"} - is_annotated(Annotated[int, ...]) - #> True - ``` + +def is_callable_type(type_: type[Any]) -> bool: + return type_ is Callable or get_origin(type_) is Callable + + +def is_literal_type(type_: type[Any]) -> bool: + return Literal is not None and get_origin(type_) in LITERAL_TYPES + + +def literal_values(type_: type[Any]) -> tuple[Any, ...]: + return get_args(type_) + + +def all_literal_values(type_: type[Any]) -> list[Any]: + """This method is used to retrieve all Literal values as + Literal can be used recursively (see https://www.python.org/dev/peps/pep-0586) + e.g. `Literal[Literal[Literal[1, 2, 3], "foo"], 5, None]`. """ - origin = get_origin(tp) - return origin is _t_annotated or origin is _te_annotated + if not is_literal_type(type_): + return [type_] + + values = literal_values(type_) + return list(x for value in values for x in all_literal_values(value)) -def annotated_type(tp: Any, /) -> Any | None: - """Return the type of the `Annotated` special form, or `None`.""" - return tp.__origin__ if typing_objects.is_annotated(get_origin(tp)) else None +def is_annotated(ann_type: Any) -> bool: + from ._utils import lenient_issubclass + + origin = get_origin(ann_type) + return origin is not None and lenient_issubclass(origin, Annotated) -def unpack_type(tp: Any, /) -> Any | None: - """Return the type wrapped by the `Unpack` special form, or `None`.""" - return get_args(tp)[0] if typing_objects.is_unpack(get_origin(tp)) else None - - -def is_hashable(tp: Any, /) -> bool: - """Return whether the provided argument is the `Hashable` class. - - ```python {test="skip" lint="skip"} - is_hashable(Hashable) - #> True - ``` +def is_namedtuple(type_: type[Any]) -> bool: + """Check if a given class is a named tuple. + It can be either a `typing.NamedTuple` or `collections.namedtuple`. """ - # `get_origin` is documented as normalizing any typing-module aliases to `collections` classes, - # hence the second check: - return tp is collections.abc.Hashable or get_origin(tp) is collections.abc.Hashable + from ._utils import lenient_issubclass + + return lenient_issubclass(type_, tuple) and hasattr(type_, '_fields') -def is_callable(tp: Any, /) -> bool: - """Return whether the provided argument is a `Callable`, parametrized or not. +test_new_type = typing.NewType('test_new_type', str) - ```python {test="skip" lint="skip"} - is_callable(Callable[[int], str]) - #> True - is_callable(typing.Callable) - #> True - is_callable(collections.abc.Callable) - #> True - ``` + +def is_new_type(type_: type[Any]) -> bool: + """Check whether type_ was created using typing.NewType. + + Can't use isinstance because it fails <3.10. """ - # `get_origin` is documented as normalizing any typing-module aliases to `collections` classes, - # hence the second check: - return tp is collections.abc.Callable or get_origin(tp) is collections.abc.Callable + return isinstance(type_, test_new_type.__class__) and hasattr(type_, '__supertype__') # type: ignore[arg-type] -_classvar_re = re.compile(r'((\w+\.)?Annotated\[)?(\w+\.)?ClassVar\[') +def _check_classvar(v: type[Any] | None) -> bool: + if v is None: + return False + + return v.__class__ == typing.ClassVar.__class__ and getattr(v, '_name', None) == 'ClassVar' -def is_classvar_annotation(tp: Any, /) -> bool: - """Return whether the provided argument represents a class variable annotation. - - Although not explicitly stated by the typing specification, `ClassVar` can be used - inside `Annotated` and as such, this function checks for this specific scenario. - - Because this function is used to detect class variables before evaluating forward references - (or because evaluation failed), we also implement a naive regex match implementation. This is - required because class variables are inspected before fields are collected, so we try to be - as accurate as possible. - """ - if typing_objects.is_classvar(tp): +def is_classvar(ann_type: type[Any]) -> bool: + if _check_classvar(ann_type) or _check_classvar(get_origin(ann_type)): return True - origin = get_origin(tp) - - if typing_objects.is_classvar(origin): - return True - - if typing_objects.is_annotated(origin): - annotated_type = tp.__origin__ - if typing_objects.is_classvar(annotated_type) or typing_objects.is_classvar(get_origin(annotated_type)): - return True - - str_ann: str | None = None - if isinstance(tp, typing.ForwardRef): - str_ann = tp.__forward_arg__ - if isinstance(tp, str): - str_ann = tp - - if str_ann is not None and _classvar_re.match(str_ann): - # stdlib dataclasses do something similar, although a bit more advanced - # (see `dataclass._is_type`). + # this is an ugly workaround for class vars that contain forward references and are therefore themselves + # forward references, see #3679 + if ann_type.__class__ == typing.ForwardRef and ann_type.__forward_arg__.startswith('ClassVar['): # type: ignore return True return False -_t_final = typing.Final -_te_final = typing_extensions.Final +def _check_finalvar(v: type[Any] | None) -> bool: + """Check if a given type is a `typing.Final` type.""" + if v is None: + return False + + return v.__class__ == Final.__class__ and (sys.version_info < (3, 8) or getattr(v, '_name', None) == 'Final') -# TODO implement `is_finalvar_annotation` as Final can be wrapped with other special forms: -def is_finalvar(tp: Any, /) -> bool: - """Return whether the provided argument is a `Final` special form, parametrized or not. - - ```python {test="skip" lint="skip"} - is_finalvar(Final[int]) - #> True - is_finalvar(Final) - #> True - """ - # Final is not necessarily parametrized: - if tp is _t_final or tp is _te_final: - return True - origin = get_origin(tp) - return origin is _t_final or origin is _te_final +def is_finalvar(ann_type: Any) -> bool: + return _check_finalvar(ann_type) or _check_finalvar(get_origin(ann_type)) -_NONE_TYPES: tuple[Any, ...] = (None, NoneType, typing.Literal[None], typing_extensions.Literal[None]) +def parent_frame_namespace(*, parent_depth: int = 2) -> dict[str, Any] | None: + """We allow use of items in parent namespace to get around the issue with `get_type_hints` only looking in the + global module namespace. See https://github.com/pydantic/pydantic/issues/2678#issuecomment-1008139014 -> Scope + and suggestion at the end of the next comment by @gvanrossum. + WARNING 1: it matters exactly where this is called. By default, this function will build a namespace from the + parent of where it is called. -def is_none_type(tp: Any, /) -> bool: - """Return whether the argument represents the `None` type as part of an annotation. - - ```python {test="skip" lint="skip"} - is_none_type(None) - #> True - is_none_type(NoneType) - #> True - is_none_type(Literal[None]) - #> True - is_none_type(type[None]) - #> False - """ - return tp in _NONE_TYPES - - -def is_namedtuple(tp: Any, /) -> bool: - """Return whether the provided argument is a named tuple class. - - The class can be created using `typing.NamedTuple` or `collections.namedtuple`. - Parametrized generic classes are *not* assumed to be named tuples. - """ - from ._utils import lenient_issubclass # circ. import - - return lenient_issubclass(tp, tuple) and hasattr(tp, '_fields') - - -# TODO In 2.12, delete this export. It is currently defined only to not break -# pydantic-settings which relies on it: -origin_is_union = is_union_origin - - -def is_generic_alias(tp: Any, /) -> bool: - return isinstance(tp, (types.GenericAlias, typing._GenericAlias)) # pyright: ignore[reportAttributeAccessIssue] - - -# TODO: Ideally, we should avoid relying on the private `typing` constructs: - -if sys.version_info < (3, 10): - WithArgsTypes: tuple[Any, ...] = (typing._GenericAlias, types.GenericAlias) # pyright: ignore[reportAttributeAccessIssue] -else: - WithArgsTypes: tuple[Any, ...] = (typing._GenericAlias, types.GenericAlias, types.UnionType) # pyright: ignore[reportAttributeAccessIssue] - - -# Similarly, we shouldn't rely on this `_Final` class, which is even more private than `_GenericAlias`: -typing_base: Any = typing._Final # pyright: ignore[reportAttributeAccessIssue] - - -### Annotation evaluations functions: - - -def parent_frame_namespace(*, parent_depth: int = 2, force: bool = False) -> dict[str, Any] | None: - """Fetch the local namespace of the parent frame where this function is called. - - Using this function is mostly useful to resolve forward annotations pointing to members defined in a local namespace, - such as assignments inside a function. Using the standard library tools, it is currently not possible to resolve - such annotations: - - ```python {lint="skip" test="skip"} - from typing import get_type_hints - - def func() -> None: - Alias = int - - class C: - a: 'Alias' - - # Raises a `NameError: 'Alias' is not defined` - get_type_hints(C) - ``` - - Pydantic uses this function when a Pydantic model is being defined to fetch the parent frame locals. However, - this only allows us to fetch the parent frame namespace and not other parents (e.g. a model defined in a function, - itself defined in another function). Inspecting the next outer frames (using `f_back`) is not reliable enough - (see https://discuss.python.org/t/20659). - - Because this function is mostly used to better resolve forward annotations, nothing is returned if the parent frame's - code object is defined at the module level. In this case, the locals of the frame will be the same as the module - globals where the class is defined (see `_namespace_utils.get_module_ns_of`). However, if you still want to fetch - the module globals (e.g. when rebuilding a model, where the frame where the rebuild call is performed might contain - members that you want to use for forward annotations evaluation), you can use the `force` parameter. - - Args: - parent_depth: The depth at which to get the frame. Defaults to 2, meaning the parent frame where this function - is called will be used. - force: Whether to always return the frame locals, even if the frame's code object is defined at the module level. - - Returns: - The locals of the namespace, or `None` if it was skipped as per the described logic. + WARNING 2: this only looks in the parent namespace, not other parents since (AFAIK) there's no way to collect a + dict of exactly what's in scope. Using `f_back` would work sometimes but would be very wrong and confusing in many + other cases. See https://discuss.python.org/t/is-there-a-way-to-access-parent-nested-namespaces/20659. """ frame = sys._getframe(parent_depth) - - if frame.f_code.co_name.startswith('`, - # and we need to skip this frame as it is irrelevant. - frame = cast(types.FrameType, frame.f_back) # guaranteed to not be `None` - - # note, we don't copy frame.f_locals here (or during the last return call), because we don't expect the namespace to be - # modified down the line if this becomes a problem, we could implement some sort of frozen mapping structure to enforce this. - if force: + # if f_back is None, it's the global module namespace and we don't need to include it here + if frame.f_back is None: + return None + else: return frame.f_locals - # If either of the following conditions are true, the class is defined at the top module level. - # To better understand why we need both of these checks, see - # https://github.com/pydantic/pydantic/pull/10113#discussion_r1714981531. - if frame.f_back is None or frame.f_code.co_name == '': - return None - return frame.f_locals +def add_module_globals(obj: Any, globalns: dict[str, Any] | None = None) -> dict[str, Any]: + module_name = getattr(obj, '__module__', None) + if module_name: + try: + module_globalns = sys.modules[module_name].__dict__ + except KeyError: + # happens occasionally, see https://github.com/pydantic/pydantic/issues/2363 + pass + else: + if globalns: + return {**module_globalns, **globalns} + else: + # copy module globals to make sure it can't be updated later + return module_globalns.copy() + + return globalns or {} -def _type_convert(arg: Any) -> Any: - """Convert `None` to `NoneType` and strings to `ForwardRef` instances. - - This is a backport of the private `typing._type_convert` function. When - evaluating a type, `ForwardRef._evaluate` ends up being called, and is - responsible for making this conversion. However, we still have to apply - it for the first argument passed to our type evaluation functions, similarly - to the `typing.get_type_hints` function. - """ - if arg is None: - return NoneType - if isinstance(arg, str): - # Like `typing.get_type_hints`, assume the arg can be in any context, - # hence the proper `is_argument` and `is_class` args: - return _make_forward_ref(arg, is_argument=False, is_class=True) - return arg +def get_cls_types_namespace(cls: type[Any], parent_namespace: dict[str, Any] | None = None) -> dict[str, Any]: + ns = add_module_globals(cls, parent_namespace) + ns[cls.__name__] = cls + return ns -def get_model_type_hints( - obj: type[BaseModel], - *, - ns_resolver: NsResolver | None = None, -) -> dict[str, tuple[Any, bool]]: - """Collect annotations from a Pydantic model class, including those from parent classes. - - Args: - obj: The Pydantic model to inspect. - ns_resolver: A namespace resolver instance to use. Defaults to an empty instance. - - Returns: - A dictionary mapping annotation names to a two-tuple: the first element is the evaluated - type or the original annotation if a `NameError` occurred, the second element is a boolean - indicating if whether the evaluation succeeded. - """ - hints: dict[str, Any] | dict[str, tuple[Any, bool]] = {} - ns_resolver = ns_resolver or NsResolver() - - for base in reversed(obj.__mro__): - ann: dict[str, Any] | None = base.__dict__.get('__annotations__') - if not ann or isinstance(ann, types.GetSetDescriptorType): - continue - with ns_resolver.push(base): - globalns, localns = ns_resolver.types_namespace - for name, value in ann.items(): - if name.startswith('_'): - # For private attributes, we only need the annotation to detect the `ClassVar` special form. - # For this reason, we still try to evaluate it, but we also catch any possible exception (on - # top of the `NameError`s caught in `try_eval_type`) that could happen so that users are free - # to use any kind of forward annotation for private fields (e.g. circular imports, new typing - # syntax, etc). - try: - hints[name] = try_eval_type(value, globalns, localns) - except Exception: - hints[name] = (value, False) - else: - hints[name] = try_eval_type(value, globalns, localns) - return hints - - -def get_cls_type_hints( - obj: type[Any], - *, - ns_resolver: NsResolver | None = None, -) -> dict[str, Any]: +def get_cls_type_hints_lenient(obj: Any, globalns: dict[str, Any] | None = None) -> dict[str, Any]: """Collect annotations from a class, including those from parent classes. - Args: - obj: The class to inspect. - ns_resolver: A namespace resolver instance to use. Defaults to an empty instance. + Unlike `typing.get_type_hints`, this function will not error if a forward reference is not resolvable. """ - hints: dict[str, Any] | dict[str, tuple[Any, bool]] = {} - ns_resolver = ns_resolver or NsResolver() - + hints = {} for base in reversed(obj.__mro__): - ann: dict[str, Any] | None = base.__dict__.get('__annotations__') - if not ann or isinstance(ann, types.GetSetDescriptorType): - continue - with ns_resolver.push(base): - globalns, localns = ns_resolver.types_namespace + ann = base.__dict__.get('__annotations__') + localns = dict(vars(base)) + if ann is not None and ann is not GetSetDescriptorType: for name, value in ann.items(): - hints[name] = eval_type(value, globalns, localns) + hints[name] = eval_type_lenient(value, globalns, localns) return hints -def try_eval_type( - value: Any, - globalns: GlobalsNamespace | None = None, - localns: MappingNamespace | None = None, -) -> tuple[Any, bool]: - """Try evaluating the annotation using the provided namespaces. - - Args: - value: The value to evaluate. If `None`, it will be replaced by `type[None]`. If an instance - of `str`, it will be converted to a `ForwardRef`. - localns: The global namespace to use during annotation evaluation. - globalns: The local namespace to use during annotation evaluation. - - Returns: - A two-tuple containing the possibly evaluated type and a boolean indicating - whether the evaluation succeeded or not. - """ - value = _type_convert(value) +def eval_type_lenient(value: Any, globalns: dict[str, Any] | None, localns: dict[str, Any] | None) -> Any: + """Behaves like typing._eval_type, except it won't raise an error if a forward reference can't be resolved.""" + if value is None: + value = NoneType + elif isinstance(value, str): + value = _make_forward_ref(value, is_argument=False, is_class=True) try: - return eval_type_backport(value, globalns, localns), True + return typing._eval_type(value, globalns, localns) # type: ignore except NameError: - return value, False - - -def eval_type( - value: Any, - globalns: GlobalsNamespace | None = None, - localns: MappingNamespace | None = None, -) -> Any: - """Evaluate the annotation using the provided namespaces. - - Args: - value: The value to evaluate. If `None`, it will be replaced by `type[None]`. If an instance - of `str`, it will be converted to a `ForwardRef`. - localns: The global namespace to use during annotation evaluation. - globalns: The local namespace to use during annotation evaluation. - """ - value = _type_convert(value) - return eval_type_backport(value, globalns, localns) - - -@deprecated( - '`eval_type_lenient` is deprecated, use `try_eval_type` instead.', - category=None, -) -def eval_type_lenient( - value: Any, - globalns: GlobalsNamespace | None = None, - localns: MappingNamespace | None = None, -) -> Any: - ev, _ = try_eval_type(value, globalns, localns) - return ev - - -def eval_type_backport( - value: Any, - globalns: GlobalsNamespace | None = None, - localns: MappingNamespace | None = None, - type_params: tuple[Any, ...] | None = None, -) -> Any: - """An enhanced version of `typing._eval_type` which will fall back to using the `eval_type_backport` - package if it's installed to let older Python versions use newer typing constructs. - - Specifically, this transforms `X | Y` into `typing.Union[X, Y]` and `list[X]` into `typing.List[X]` - (as well as all the types made generic in PEP 585) if the original syntax is not supported in the - current Python version. - - This function will also display a helpful error if the value passed fails to evaluate. - """ - try: - return _eval_type_backport(value, globalns, localns, type_params) - except TypeError as e: - if 'Unable to evaluate type annotation' in str(e): - raise - - # If it is a `TypeError` and value isn't a `ForwardRef`, it would have failed during annotation definition. - # Thus we assert here for type checking purposes: - assert isinstance(value, typing.ForwardRef) - - message = f'Unable to evaluate type annotation {value.__forward_arg__!r}.' - if sys.version_info >= (3, 11): - e.add_note(message) - raise - else: - raise TypeError(message) from e - except RecursionError as e: - # TODO ideally recursion errors should be checked in `eval_type` above, but `eval_type_backport` - # is used directly in some places. - message = ( - "If you made use of an implicit recursive type alias (e.g. `MyType = list['MyType']), " - 'consider using PEP 695 type aliases instead. For more details, refer to the documentation: ' - f'https://docs.pydantic.dev/{version_short()}/concepts/types/#named-recursive-types' - ) - if sys.version_info >= (3, 11): - e.add_note(message) - raise - else: - raise RecursionError(f'{e.args[0]}\n{message}') - - -def _eval_type_backport( - value: Any, - globalns: GlobalsNamespace | None = None, - localns: MappingNamespace | None = None, - type_params: tuple[Any, ...] | None = None, -) -> Any: - try: - return _eval_type(value, globalns, localns, type_params) - except TypeError as e: - if not (isinstance(value, typing.ForwardRef) and is_backport_fixable_error(e)): - raise - - try: - from eval_type_backport import eval_type_backport - except ImportError: - raise TypeError( - f'Unable to evaluate type annotation {value.__forward_arg__!r}. If you are making use ' - 'of the new typing syntax (unions using `|` since Python 3.10 or builtins subscripting ' - 'since Python 3.9), you should either replace the use of new syntax with the existing ' - '`typing` constructs or install the `eval_type_backport` package.' - ) from e - - return eval_type_backport( - value, - globalns, - localns, # pyright: ignore[reportArgumentType], waiting on a new `eval_type_backport` release. - try_default=False, - ) - - -def _eval_type( - value: Any, - globalns: GlobalsNamespace | None = None, - localns: MappingNamespace | None = None, - type_params: tuple[Any, ...] | None = None, -) -> Any: - if sys.version_info >= (3, 13): - return typing._eval_type( # type: ignore - value, globalns, localns, type_params=type_params - ) - else: - return typing._eval_type( # type: ignore - value, globalns, localns - ) - - -def is_backport_fixable_error(e: TypeError) -> bool: - msg = str(e) - - return sys.version_info < (3, 10) and msg.startswith('unsupported operand type(s) for |: ') + # the point of this function is to be tolerant to this case + return value def get_function_type_hints( - function: Callable[..., Any], - *, - include_keys: set[str] | None = None, - globalns: GlobalsNamespace | None = None, - localns: MappingNamespace | None = None, + function: Callable[..., Any], *, include_keys: set[str] | None = None, types_namespace: dict[str, Any] | None = None ) -> dict[str, Any]: - """Return type hints for a function. - - This is similar to the `typing.get_type_hints` function, with a few differences: - - Support `functools.partial` by using the underlying `func` attribute. - - Do not wrap type annotation of a parameter with `Optional` if it has a default value of `None` - (related bug: https://github.com/python/cpython/issues/90353, only fixed in 3.11+). + """Like `typing.get_type_hints`, but doesn't convert `X` to `Optional[X]` if the default value is `None`, also + copes with `partial`. """ - try: - if isinstance(function, partial): - annotations = function.func.__annotations__ - else: - annotations = function.__annotations__ - except AttributeError: - # Some functions (e.g. builtins) don't have annotations: - return {} - - if globalns is None: - globalns = get_module_ns_of(function) - type_params: tuple[Any, ...] | None = None - if localns is None: - # If localns was specified, it is assumed to already contain type params. This is because - # Pydantic has more advanced logic to do so (see `_namespace_utils.ns_for_function`). - type_params = getattr(function, '__type_params__', ()) + if isinstance(function, partial): + annotations = function.func.__annotations__ + else: + annotations = function.__annotations__ + globalns = add_module_globals(function) type_hints = {} for name, value in annotations.items(): if include_keys is not None and name not in include_keys: @@ -548,7 +248,7 @@ def get_function_type_hints( elif isinstance(value, str): value = _make_forward_ref(value) - type_hints[name] = eval_type_backport(value, globalns, localns, type_params) + type_hints[name] = typing._eval_type(value, globalns, types_namespace) # type: ignore return type_hints @@ -663,15 +363,11 @@ else: if isinstance(value, str): value = _make_forward_ref(value, is_argument=False, is_class=True) - value = eval_type_backport(value, base_globals, base_locals) + value = typing._eval_type(value, base_globals, base_locals) # type: ignore hints[name] = value - if not include_extras and hasattr(typing, '_strip_annotations'): - return { - k: typing._strip_annotations(t) # type: ignore - for k, t in hints.items() - } - else: - return hints + return ( + hints if include_extras else {k: typing._strip_annotations(t) for k, t in hints.items()} # type: ignore + ) if globalns is None: if isinstance(obj, types.ModuleType): @@ -692,7 +388,7 @@ else: if isinstance(obj, typing._allowed_types): # type: ignore return {} else: - raise TypeError(f'{obj!r} is not a module, class, method, or function.') + raise TypeError(f'{obj!r} is not a module, class, method, ' 'or function.') defaults = typing._get_defaults(obj) # type: ignore hints = dict(hints) for name, value in hints.items(): @@ -707,8 +403,33 @@ else: is_argument=not isinstance(obj, types.ModuleType), is_class=False, ) - value = eval_type_backport(value, globalns, localns) + value = typing._eval_type(value, globalns, localns) # type: ignore if name in defaults and defaults[name] is None: value = typing.Optional[value] hints[name] = value return hints if include_extras else {k: typing._strip_annotations(t) for k, t in hints.items()} # type: ignore + + +if sys.version_info < (3, 9): + + def evaluate_fwd_ref( + ref: ForwardRef, globalns: dict[str, Any] | None = None, localns: dict[str, Any] | None = None + ) -> Any: + return ref._evaluate(globalns=globalns, localns=localns) + +else: + + def evaluate_fwd_ref( + ref: ForwardRef, globalns: dict[str, Any] | None = None, localns: dict[str, Any] | None = None + ) -> Any: + return ref._evaluate(globalns=globalns, localns=localns, recursive_guard=frozenset()) + + +def is_dataclass(_cls: type[Any]) -> TypeGuard[type[StandardDataclass]]: + # The dataclasses.is_dataclass function doesn't seem to provide TypeGuard functionality, + # so I created this convenience function + return dataclasses.is_dataclass(_cls) + + +def origin_is_type_alias_type(origin: Any) -> TypeGuard[TypeAliasType]: + return isinstance(origin, TypeAliasType) diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_utils.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_utils.py index f334649..69be19f 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_utils.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_utils.py @@ -2,30 +2,20 @@ This should be reduced as much as possible with functions only used in one place, moved to that place. """ - from __future__ import annotations as _annotations -import dataclasses import keyword -import sys import typing -import warnings import weakref from collections import OrderedDict, defaultdict, deque -from collections.abc import Mapping from copy import deepcopy -from functools import cached_property -from inspect import Parameter from itertools import zip_longest from types import BuiltinFunctionType, CodeType, FunctionType, GeneratorType, LambdaType, ModuleType -from typing import Any, Callable, Generic, TypeVar, overload +from typing import Any, TypeVar -from typing_extensions import TypeAlias, TypeGuard, deprecated - -from pydantic import PydanticDeprecatedSince211 +from typing_extensions import TypeAlias, TypeGuard from . import _repr, _typing_extra -from ._import_utils import import_cached_base_model if typing.TYPE_CHECKING: MappingIntStrAny: TypeAlias = 'typing.Mapping[int, Any] | typing.Mapping[str, Any]' @@ -69,25 +59,6 @@ BUILTIN_COLLECTIONS: set[type[Any]] = { } -def can_be_positional(param: Parameter) -> bool: - """Return whether the parameter accepts a positional argument. - - ```python {test="skip" lint="skip"} - def func(a, /, b, *, c): - pass - - params = inspect.signature(func).parameters - can_be_positional(params['a']) - #> True - can_be_positional(params['b']) - #> True - can_be_positional(params['c']) - #> False - ``` - """ - return param.kind in (Parameter.POSITIONAL_ONLY, Parameter.POSITIONAL_OR_KEYWORD) - - def sequence_like(v: Any) -> bool: return isinstance(v, (list, tuple, set, frozenset, GeneratorType, deque)) @@ -112,7 +83,7 @@ def is_model_class(cls: Any) -> TypeGuard[type[BaseModel]]: """Returns true if cls is a _proper_ subclass of BaseModel, and provides proper type-checking, unlike raw calls to lenient_issubclass. """ - BaseModel = import_cached_base_model() + from ..main import BaseModel return lenient_issubclass(cls, BaseModel) and cls is not BaseModel @@ -304,23 +275,19 @@ class ValueItems(_repr.Representation): if typing.TYPE_CHECKING: - def LazyClassAttribute(name: str, get_value: Callable[[], T]) -> T: ... + def ClassAttribute(name: str, value: T) -> T: + ... else: - class LazyClassAttribute: - """A descriptor exposing an attribute only accessible on a class (hidden from instances). + class ClassAttribute: + """Hide class attribute from its instances.""" - The attribute is lazily computed and cached during the first access. - """ + __slots__ = 'name', 'value' - def __init__(self, name: str, get_value: Callable[[], Any]) -> None: + def __init__(self, name: str, value: Any) -> None: self.name = name - self.get_value = get_value - - @cached_property - def value(self) -> Any: - return self.get_value() + self.value = value def __get__(self, instance: Any, owner: type[Any]) -> None: if instance is None: @@ -342,7 +309,7 @@ def smart_deepcopy(obj: Obj) -> Obj: try: if not obj and obj_type in BUILTIN_COLLECTIONS: # faster way for empty collections, no need to copy its members - return obj if obj_type is tuple else obj.copy() # tuple doesn't have copy method # type: ignore + return obj if obj_type is tuple else obj.copy() # tuple doesn't have copy method except (TypeError, ValueError, RuntimeError): # do we really dare to catch ALL errors? Seems a bit risky pass @@ -350,7 +317,7 @@ def smart_deepcopy(obj: Obj) -> Obj: return deepcopy(obj) # slowest way when we actually might need a deepcopy -_SENTINEL = object() +_EMPTY = object() def all_identical(left: typing.Iterable[Any], right: typing.Iterable[Any]) -> bool: @@ -362,70 +329,7 @@ def all_identical(left: typing.Iterable[Any], right: typing.Iterable[Any]) -> bo >>> all_identical([a, b, [a]], [a, b, [a]]) # new list object, while "equal" is not "identical" False """ - for left_item, right_item in zip_longest(left, right, fillvalue=_SENTINEL): + for left_item, right_item in zip_longest(left, right, fillvalue=_EMPTY): if left_item is not right_item: return False return True - - -@dataclasses.dataclass(frozen=True) -class SafeGetItemProxy: - """Wrapper redirecting `__getitem__` to `get` with a sentinel value as default - - This makes is safe to use in `operator.itemgetter` when some keys may be missing - """ - - # Define __slots__manually for performances - # @dataclasses.dataclass() only support slots=True in python>=3.10 - __slots__ = ('wrapped',) - - wrapped: Mapping[str, Any] - - def __getitem__(self, key: str, /) -> Any: - return self.wrapped.get(key, _SENTINEL) - - # required to pass the object to operator.itemgetter() instances due to a quirk of typeshed - # https://github.com/python/mypy/issues/13713 - # https://github.com/python/typeshed/pull/8785 - # Since this is typing-only, hide it in a typing.TYPE_CHECKING block - if typing.TYPE_CHECKING: - - def __contains__(self, key: str, /) -> bool: - return self.wrapped.__contains__(key) - - -_ModelT = TypeVar('_ModelT', bound='BaseModel') -_RT = TypeVar('_RT') - - -class deprecated_instance_property(Generic[_ModelT, _RT]): - """A decorator exposing the decorated class method as a property, with a warning on instance access. - - This decorator takes a class method defined on the `BaseModel` class and transforms it into - an attribute. The attribute can be accessed on both the class and instances of the class. If accessed - via an instance, a deprecation warning is emitted stating that instance access will be removed in V3. - """ - - def __init__(self, fget: Callable[[type[_ModelT]], _RT], /) -> None: - # Note: fget should be a classmethod: - self.fget = fget - - @overload - def __get__(self, instance: None, objtype: type[_ModelT]) -> _RT: ... - @overload - @deprecated( - 'Accessing this attribute on the instance is deprecated, and will be removed in Pydantic V3. ' - 'Instead, you should access this attribute from the model class.', - category=None, - ) - def __get__(self, instance: _ModelT, objtype: type[_ModelT]) -> _RT: ... - def __get__(self, instance: _ModelT | None, objtype: type[_ModelT]) -> _RT: - if instance is not None: - attr_name = self.fget.__name__ if sys.version_info >= (3, 10) else self.fget.__func__.__name__ - warnings.warn( - f'Accessing the {attr_name!r} attribute on the instance is deprecated. ' - 'Instead, you should access this attribute from the model class.', - category=PydanticDeprecatedSince211, - stacklevel=2, - ) - return self.fget.__get__(instance, objtype)() diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py index ab82832..a58e240 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_validate_call.py @@ -1,122 +1,88 @@ from __future__ import annotations as _annotations -import functools import inspect -from collections.abc import Awaitable +from dataclasses import dataclass from functools import partial -from typing import Any, Callable +from typing import Any, Awaitable, Callable import pydantic_core from ..config import ConfigDict from ..plugin._schema_validator import create_schema_validator +from . import _discriminated_union, _generate_schema, _typing_extra from ._config import ConfigWrapper -from ._generate_schema import GenerateSchema, ValidateCallSupportedTypes -from ._namespace_utils import MappingNamespace, NsResolver, ns_for_function +from ._core_utils import simplify_schema_references, validate_core_schema -def extract_function_name(func: ValidateCallSupportedTypes) -> str: - """Extract the name of a `ValidateCallSupportedTypes` object.""" - return f'partial({func.func.__name__})' if isinstance(func, functools.partial) else func.__name__ - - -def extract_function_qualname(func: ValidateCallSupportedTypes) -> str: - """Extract the qualname of a `ValidateCallSupportedTypes` object.""" - return f'partial({func.func.__qualname__})' if isinstance(func, functools.partial) else func.__qualname__ - - -def update_wrapper_attributes(wrapped: ValidateCallSupportedTypes, wrapper: Callable[..., Any]): - """Update the `wrapper` function with the attributes of the `wrapped` function. Return the updated function.""" - if inspect.iscoroutinefunction(wrapped): - - @functools.wraps(wrapped) - async def wrapper_function(*args, **kwargs): # type: ignore - return await wrapper(*args, **kwargs) - else: - - @functools.wraps(wrapped) - def wrapper_function(*args, **kwargs): - return wrapper(*args, **kwargs) - - # We need to manually update this because `partial` object has no `__name__` and `__qualname__`. - wrapper_function.__name__ = extract_function_name(wrapped) - wrapper_function.__qualname__ = extract_function_qualname(wrapped) - wrapper_function.raw_function = wrapped # type: ignore - - return wrapper_function +@dataclass +class CallMarker: + function: Callable[..., Any] + validate_return: bool class ValidateCallWrapper: - """This is a wrapper around a function that validates the arguments passed to it, and optionally the return value.""" + """This is a wrapper around a function that validates the arguments passed to it, and optionally the return value. + + It's partially inspired by `wraps` which in turn uses `partial`, but extended to be a descriptor so + these functions can be applied to instance methods, class methods, static methods, as well as normal functions. + """ __slots__ = ( - 'function', - 'validate_return', - 'schema_type', - 'module', - 'qualname', - 'ns_resolver', - 'config_wrapper', - '__pydantic_complete__', + 'raw_function', + '_config', + '_validate_return', + '__pydantic_core_schema__', '__pydantic_validator__', - '__return_pydantic_validator__', + '__signature__', + '__name__', + '__qualname__', + '__annotations__', + '__dict__', # required for __module__ ) - def __init__( - self, - function: ValidateCallSupportedTypes, - config: ConfigDict | None, - validate_return: bool, - parent_namespace: MappingNamespace | None, - ) -> None: - self.function = function - self.validate_return = validate_return + def __init__(self, function: Callable[..., Any], config: ConfigDict | None, validate_return: bool): + self.raw_function = function + self._config = config + self._validate_return = validate_return + self.__signature__ = inspect.signature(function) if isinstance(function, partial): - self.schema_type = function.func - self.module = function.func.__module__ + func = function.func + self.__name__ = f'partial({func.__name__})' + self.__qualname__ = f'partial({func.__qualname__})' + self.__annotations__ = func.__annotations__ + self.__module__ = func.__module__ + self.__doc__ = func.__doc__ else: - self.schema_type = function - self.module = function.__module__ - self.qualname = extract_function_qualname(function) + self.__name__ = function.__name__ + self.__qualname__ = function.__qualname__ + self.__annotations__ = function.__annotations__ + self.__module__ = function.__module__ + self.__doc__ = function.__doc__ - self.ns_resolver = NsResolver( - namespaces_tuple=ns_for_function(self.schema_type, parent_namespace=parent_namespace) - ) - self.config_wrapper = ConfigWrapper(config) - if not self.config_wrapper.defer_build: - self._create_validators() - else: - self.__pydantic_complete__ = False + namespace = _typing_extra.add_module_globals(function, None) + config_wrapper = ConfigWrapper(config) + gen_schema = _generate_schema.GenerateSchema(config_wrapper, namespace) + schema = gen_schema.collect_definitions(gen_schema.generate_schema(function)) + schema = simplify_schema_references(schema) + self.__pydantic_core_schema__ = schema = schema + core_config = config_wrapper.core_config(self) + schema = _discriminated_union.apply_discriminators(schema) + self.__pydantic_validator__ = create_schema_validator(schema, core_config, config_wrapper.plugin_settings) - def _create_validators(self) -> None: - gen_schema = GenerateSchema(self.config_wrapper, self.ns_resolver) - schema = gen_schema.clean_schema(gen_schema.generate_schema(self.function)) - core_config = self.config_wrapper.core_config(title=self.qualname) - - self.__pydantic_validator__ = create_schema_validator( - schema, - self.schema_type, - self.module, - self.qualname, - 'validate_call', - core_config, - self.config_wrapper.plugin_settings, - ) - if self.validate_return: - signature = inspect.signature(self.function) - return_type = signature.return_annotation if signature.return_annotation is not signature.empty else Any - gen_schema = GenerateSchema(self.config_wrapper, self.ns_resolver) - schema = gen_schema.clean_schema(gen_schema.generate_schema(return_type)) - validator = create_schema_validator( - schema, - self.schema_type, - self.module, - self.qualname, - 'validate_call', - core_config, - self.config_wrapper.plugin_settings, + if self._validate_return: + return_type = ( + self.__signature__.return_annotation + if self.__signature__.return_annotation is not self.__signature__.empty + else Any ) - if inspect.iscoroutinefunction(self.function): + gen_schema = _generate_schema.GenerateSchema(config_wrapper, namespace) + schema = gen_schema.collect_definitions(gen_schema.generate_schema(return_type)) + schema = _discriminated_union.apply_discriminators(simplify_schema_references(schema)) + self.__return_pydantic_core_schema__ = schema + core_config = config_wrapper.core_config(self) + schema = validate_core_schema(schema) + validator = pydantic_core.SchemaValidator(schema, core_config) + if inspect.iscoroutinefunction(self.raw_function): async def return_val_wrapper(aw: Awaitable[Any]) -> None: return validator.validate_python(await aw) @@ -125,16 +91,38 @@ class ValidateCallWrapper: else: self.__return_pydantic_validator__ = validator.validate_python else: + self.__return_pydantic_core_schema__ = None self.__return_pydantic_validator__ = None - self.__pydantic_complete__ = True + self._name: str | None = None # set by __get__, used to set the instance attribute when decorating methods def __call__(self, *args: Any, **kwargs: Any) -> Any: - if not self.__pydantic_complete__: - self._create_validators() - res = self.__pydantic_validator__.validate_python(pydantic_core.ArgsKwargs(args, kwargs)) if self.__return_pydantic_validator__: return self.__return_pydantic_validator__(res) - else: - return res + return res + + def __get__(self, obj: Any, objtype: type[Any] | None = None) -> ValidateCallWrapper: + """Bind the raw function and return another ValidateCallWrapper wrapping that.""" + if obj is None: + try: + # Handle the case where a method is accessed as a class attribute + return objtype.__getattribute__(objtype, self._name) # type: ignore + except AttributeError: + # This will happen the first time the attribute is accessed + pass + + bound_function = self.raw_function.__get__(obj, objtype) + result = self.__class__(bound_function, self._config, self._validate_return) + if self._name is not None: + if obj is not None: + object.__setattr__(obj, self._name, result) + else: + object.__setattr__(objtype, self._name, result) + return result + + def __set_name__(self, owner: Any, name: str) -> None: + self._name = name + + def __repr__(self) -> str: + return f'ValidateCallWrapper({self.raw_function})' diff --git a/venv/lib/python3.12/site-packages/pydantic/_internal/_validators.py b/venv/lib/python3.12/site-packages/pydantic/_internal/_validators.py index 803363c..e3a7e50 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_internal/_validators.py +++ b/venv/lib/python3.12/site-packages/pydantic/_internal/_validators.py @@ -5,32 +5,22 @@ Import of this module is deferred since it contains imports of many standard lib from __future__ import annotations as _annotations -import collections.abc import math import re import typing -from decimal import Decimal -from fractions import Fraction from ipaddress import IPv4Address, IPv4Interface, IPv4Network, IPv6Address, IPv6Interface, IPv6Network -from typing import Any, Callable, Union, cast, get_origin -from zoneinfo import ZoneInfo, ZoneInfoNotFoundError +from typing import Any -import typing_extensions from pydantic_core import PydanticCustomError, core_schema from pydantic_core._pydantic_core import PydanticKnownError -from typing_inspection import typing_objects - -from pydantic._internal._import_utils import import_cached_field_info -from pydantic.errors import PydanticSchemaGenerationError def sequence_validator( - input_value: typing.Sequence[Any], - /, + __input_value: typing.Sequence[Any], validator: core_schema.ValidatorFunctionWrapHandler, ) -> typing.Sequence[Any]: """Validator for `Sequence` types, isinstance(v, Sequence) has already been called.""" - value_type = type(input_value) + value_type = type(__input_value) # We don't accept any plain string as a sequence # Relevant issue: https://github.com/pydantic/pydantic/issues/5595 @@ -41,24 +31,14 @@ def sequence_validator( {'type_name': value_type.__name__}, ) - # TODO: refactor sequence validation to validate with either a list or a tuple - # schema, depending on the type of the value. - # Additionally, we should be able to remove one of either this validator or the - # SequenceValidator in _std_types_schema.py (preferably this one, while porting over some logic). - # Effectively, a refactor for sequence validation is needed. - if value_type is tuple: - input_value = list(input_value) - - v_list = validator(input_value) + v_list = validator(__input_value) # the rest of the logic is just re-creating the original type from `v_list` - if value_type is list: + if value_type == list: return v_list elif issubclass(value_type, range): # return the list as we probably can't re-create the range return v_list - elif value_type is tuple: - return tuple(v_list) else: # best guess at how to re-create the original type, more custom construction logic might be required return value_type(v_list) # type: ignore[call-arg] @@ -69,7 +49,7 @@ def import_string(value: Any) -> Any: try: return _import_string_logic(value) except ImportError as e: - raise PydanticCustomError('import_error', 'Invalid python path: {error}', {'error': str(e)}) from e + raise PydanticCustomError('import_error', 'Invalid python path: {error}', {'error': str(e)}) else: # otherwise we just return the value and let the next validator do the rest of the work return value @@ -126,39 +106,39 @@ def _import_string_logic(dotted_path: str) -> Any: return module -def pattern_either_validator(input_value: Any, /) -> typing.Pattern[Any]: - if isinstance(input_value, typing.Pattern): - return input_value - elif isinstance(input_value, (str, bytes)): +def pattern_either_validator(__input_value: Any) -> typing.Pattern[Any]: + if isinstance(__input_value, typing.Pattern): + return __input_value + elif isinstance(__input_value, (str, bytes)): # todo strict mode - return compile_pattern(input_value) # type: ignore + return compile_pattern(__input_value) # type: ignore else: raise PydanticCustomError('pattern_type', 'Input should be a valid pattern') -def pattern_str_validator(input_value: Any, /) -> typing.Pattern[str]: - if isinstance(input_value, typing.Pattern): - if isinstance(input_value.pattern, str): - return input_value +def pattern_str_validator(__input_value: Any) -> typing.Pattern[str]: + if isinstance(__input_value, typing.Pattern): + if isinstance(__input_value.pattern, str): + return __input_value else: raise PydanticCustomError('pattern_str_type', 'Input should be a string pattern') - elif isinstance(input_value, str): - return compile_pattern(input_value) - elif isinstance(input_value, bytes): + elif isinstance(__input_value, str): + return compile_pattern(__input_value) + elif isinstance(__input_value, bytes): raise PydanticCustomError('pattern_str_type', 'Input should be a string pattern') else: raise PydanticCustomError('pattern_type', 'Input should be a valid pattern') -def pattern_bytes_validator(input_value: Any, /) -> typing.Pattern[bytes]: - if isinstance(input_value, typing.Pattern): - if isinstance(input_value.pattern, bytes): - return input_value +def pattern_bytes_validator(__input_value: Any) -> typing.Pattern[bytes]: + if isinstance(__input_value, typing.Pattern): + if isinstance(__input_value.pattern, bytes): + return __input_value else: raise PydanticCustomError('pattern_bytes_type', 'Input should be a bytes pattern') - elif isinstance(input_value, bytes): - return compile_pattern(input_value) - elif isinstance(input_value, str): + elif isinstance(__input_value, bytes): + return compile_pattern(__input_value) + elif isinstance(__input_value, str): raise PydanticCustomError('pattern_bytes_type', 'Input should be a bytes pattern') else: raise PydanticCustomError('pattern_type', 'Input should be a valid pattern') @@ -174,359 +154,125 @@ def compile_pattern(pattern: PatternType) -> typing.Pattern[PatternType]: raise PydanticCustomError('pattern_regex', 'Input should be a valid regular expression') -def ip_v4_address_validator(input_value: Any, /) -> IPv4Address: - if isinstance(input_value, IPv4Address): - return input_value +def ip_v4_address_validator(__input_value: Any) -> IPv4Address: + if isinstance(__input_value, IPv4Address): + return __input_value try: - return IPv4Address(input_value) + return IPv4Address(__input_value) except ValueError: raise PydanticCustomError('ip_v4_address', 'Input is not a valid IPv4 address') -def ip_v6_address_validator(input_value: Any, /) -> IPv6Address: - if isinstance(input_value, IPv6Address): - return input_value +def ip_v6_address_validator(__input_value: Any) -> IPv6Address: + if isinstance(__input_value, IPv6Address): + return __input_value try: - return IPv6Address(input_value) + return IPv6Address(__input_value) except ValueError: raise PydanticCustomError('ip_v6_address', 'Input is not a valid IPv6 address') -def ip_v4_network_validator(input_value: Any, /) -> IPv4Network: +def ip_v4_network_validator(__input_value: Any) -> IPv4Network: """Assume IPv4Network initialised with a default `strict` argument. See more: https://docs.python.org/library/ipaddress.html#ipaddress.IPv4Network """ - if isinstance(input_value, IPv4Network): - return input_value + if isinstance(__input_value, IPv4Network): + return __input_value try: - return IPv4Network(input_value) + return IPv4Network(__input_value) except ValueError: raise PydanticCustomError('ip_v4_network', 'Input is not a valid IPv4 network') -def ip_v6_network_validator(input_value: Any, /) -> IPv6Network: +def ip_v6_network_validator(__input_value: Any) -> IPv6Network: """Assume IPv6Network initialised with a default `strict` argument. See more: https://docs.python.org/library/ipaddress.html#ipaddress.IPv6Network """ - if isinstance(input_value, IPv6Network): - return input_value + if isinstance(__input_value, IPv6Network): + return __input_value try: - return IPv6Network(input_value) + return IPv6Network(__input_value) except ValueError: raise PydanticCustomError('ip_v6_network', 'Input is not a valid IPv6 network') -def ip_v4_interface_validator(input_value: Any, /) -> IPv4Interface: - if isinstance(input_value, IPv4Interface): - return input_value +def ip_v4_interface_validator(__input_value: Any) -> IPv4Interface: + if isinstance(__input_value, IPv4Interface): + return __input_value try: - return IPv4Interface(input_value) + return IPv4Interface(__input_value) except ValueError: raise PydanticCustomError('ip_v4_interface', 'Input is not a valid IPv4 interface') -def ip_v6_interface_validator(input_value: Any, /) -> IPv6Interface: - if isinstance(input_value, IPv6Interface): - return input_value +def ip_v6_interface_validator(__input_value: Any) -> IPv6Interface: + if isinstance(__input_value, IPv6Interface): + return __input_value try: - return IPv6Interface(input_value) + return IPv6Interface(__input_value) except ValueError: raise PydanticCustomError('ip_v6_interface', 'Input is not a valid IPv6 interface') -def fraction_validator(input_value: Any, /) -> Fraction: - if isinstance(input_value, Fraction): - return input_value +def greater_than_validator(x: Any, gt: Any) -> Any: + if not (x > gt): + raise PydanticKnownError('greater_than', {'gt': gt}) + return x - try: - return Fraction(input_value) - except ValueError: - raise PydanticCustomError('fraction_parsing', 'Input is not a valid fraction') + +def greater_than_or_equal_validator(x: Any, ge: Any) -> Any: + if not (x >= ge): + raise PydanticKnownError('greater_than_equal', {'ge': ge}) + return x + + +def less_than_validator(x: Any, lt: Any) -> Any: + if not (x < lt): + raise PydanticKnownError('less_than', {'lt': lt}) + return x + + +def less_than_or_equal_validator(x: Any, le: Any) -> Any: + if not (x <= le): + raise PydanticKnownError('less_than_equal', {'le': le}) + return x + + +def multiple_of_validator(x: Any, multiple_of: Any) -> Any: + if not (x % multiple_of == 0): + raise PydanticKnownError('multiple_of', {'multiple_of': multiple_of}) + return x + + +def min_length_validator(x: Any, min_length: Any) -> Any: + if not (len(x) >= min_length): + raise PydanticKnownError( + 'too_short', + {'field_type': 'Value', 'min_length': min_length, 'actual_length': len(x)}, + ) + return x + + +def max_length_validator(x: Any, max_length: Any) -> Any: + if len(x) > max_length: + raise PydanticKnownError( + 'too_long', + {'field_type': 'Value', 'max_length': max_length, 'actual_length': len(x)}, + ) + return x def forbid_inf_nan_check(x: Any) -> Any: if not math.isfinite(x): raise PydanticKnownError('finite_number') return x - - -def _safe_repr(v: Any) -> int | float | str: - """The context argument for `PydanticKnownError` requires a number or str type, so we do a simple repr() coercion for types like timedelta. - - See tests/test_types.py::test_annotated_metadata_any_order for some context. - """ - if isinstance(v, (int, float, str)): - return v - return repr(v) - - -def greater_than_validator(x: Any, gt: Any) -> Any: - try: - if not (x > gt): - raise PydanticKnownError('greater_than', {'gt': _safe_repr(gt)}) - return x - except TypeError: - raise TypeError(f"Unable to apply constraint 'gt' to supplied value {x}") - - -def greater_than_or_equal_validator(x: Any, ge: Any) -> Any: - try: - if not (x >= ge): - raise PydanticKnownError('greater_than_equal', {'ge': _safe_repr(ge)}) - return x - except TypeError: - raise TypeError(f"Unable to apply constraint 'ge' to supplied value {x}") - - -def less_than_validator(x: Any, lt: Any) -> Any: - try: - if not (x < lt): - raise PydanticKnownError('less_than', {'lt': _safe_repr(lt)}) - return x - except TypeError: - raise TypeError(f"Unable to apply constraint 'lt' to supplied value {x}") - - -def less_than_or_equal_validator(x: Any, le: Any) -> Any: - try: - if not (x <= le): - raise PydanticKnownError('less_than_equal', {'le': _safe_repr(le)}) - return x - except TypeError: - raise TypeError(f"Unable to apply constraint 'le' to supplied value {x}") - - -def multiple_of_validator(x: Any, multiple_of: Any) -> Any: - try: - if x % multiple_of: - raise PydanticKnownError('multiple_of', {'multiple_of': _safe_repr(multiple_of)}) - return x - except TypeError: - raise TypeError(f"Unable to apply constraint 'multiple_of' to supplied value {x}") - - -def min_length_validator(x: Any, min_length: Any) -> Any: - try: - if not (len(x) >= min_length): - raise PydanticKnownError( - 'too_short', {'field_type': 'Value', 'min_length': min_length, 'actual_length': len(x)} - ) - return x - except TypeError: - raise TypeError(f"Unable to apply constraint 'min_length' to supplied value {x}") - - -def max_length_validator(x: Any, max_length: Any) -> Any: - try: - if len(x) > max_length: - raise PydanticKnownError( - 'too_long', - {'field_type': 'Value', 'max_length': max_length, 'actual_length': len(x)}, - ) - return x - except TypeError: - raise TypeError(f"Unable to apply constraint 'max_length' to supplied value {x}") - - -def _extract_decimal_digits_info(decimal: Decimal) -> tuple[int, int]: - """Compute the total number of digits and decimal places for a given [`Decimal`][decimal.Decimal] instance. - - This function handles both normalized and non-normalized Decimal instances. - Example: Decimal('1.230') -> 4 digits, 3 decimal places - - Args: - decimal (Decimal): The decimal number to analyze. - - Returns: - tuple[int, int]: A tuple containing the number of decimal places and total digits. - - Though this could be divided into two separate functions, the logic is easier to follow if we couple the computation - of the number of decimals and digits together. - """ - try: - decimal_tuple = decimal.as_tuple() - - assert isinstance(decimal_tuple.exponent, int) - - exponent = decimal_tuple.exponent - num_digits = len(decimal_tuple.digits) - - if exponent >= 0: - # A positive exponent adds that many trailing zeros - # Ex: digit_tuple=(1, 2, 3), exponent=2 -> 12300 -> 0 decimal places, 5 digits - num_digits += exponent - decimal_places = 0 - else: - # If the absolute value of the negative exponent is larger than the - # number of digits, then it's the same as the number of digits, - # because it'll consume all the digits in digit_tuple and then - # add abs(exponent) - len(digit_tuple) leading zeros after the decimal point. - # Ex: digit_tuple=(1, 2, 3), exponent=-2 -> 1.23 -> 2 decimal places, 3 digits - # Ex: digit_tuple=(1, 2, 3), exponent=-4 -> 0.0123 -> 4 decimal places, 4 digits - decimal_places = abs(exponent) - num_digits = max(num_digits, decimal_places) - - return decimal_places, num_digits - except (AssertionError, AttributeError): - raise TypeError(f'Unable to extract decimal digits info from supplied value {decimal}') - - -def max_digits_validator(x: Any, max_digits: Any) -> Any: - try: - _, num_digits = _extract_decimal_digits_info(x) - _, normalized_num_digits = _extract_decimal_digits_info(x.normalize()) - if (num_digits > max_digits) and (normalized_num_digits > max_digits): - raise PydanticKnownError( - 'decimal_max_digits', - {'max_digits': max_digits}, - ) - return x - except TypeError: - raise TypeError(f"Unable to apply constraint 'max_digits' to supplied value {x}") - - -def decimal_places_validator(x: Any, decimal_places: Any) -> Any: - try: - decimal_places_, _ = _extract_decimal_digits_info(x) - if decimal_places_ > decimal_places: - normalized_decimal_places, _ = _extract_decimal_digits_info(x.normalize()) - if normalized_decimal_places > decimal_places: - raise PydanticKnownError( - 'decimal_max_places', - {'decimal_places': decimal_places}, - ) - return x - except TypeError: - raise TypeError(f"Unable to apply constraint 'decimal_places' to supplied value {x}") - - -def deque_validator(input_value: Any, handler: core_schema.ValidatorFunctionWrapHandler) -> collections.deque[Any]: - return collections.deque(handler(input_value), maxlen=getattr(input_value, 'maxlen', None)) - - -def defaultdict_validator( - input_value: Any, handler: core_schema.ValidatorFunctionWrapHandler, default_default_factory: Callable[[], Any] -) -> collections.defaultdict[Any, Any]: - if isinstance(input_value, collections.defaultdict): - default_factory = input_value.default_factory - return collections.defaultdict(default_factory, handler(input_value)) - else: - return collections.defaultdict(default_default_factory, handler(input_value)) - - -def get_defaultdict_default_default_factory(values_source_type: Any) -> Callable[[], Any]: - FieldInfo = import_cached_field_info() - - values_type_origin = get_origin(values_source_type) - - def infer_default() -> Callable[[], Any]: - allowed_default_types: dict[Any, Any] = { - tuple: tuple, - collections.abc.Sequence: tuple, - collections.abc.MutableSequence: list, - list: list, - typing.Sequence: list, - set: set, - typing.MutableSet: set, - collections.abc.MutableSet: set, - collections.abc.Set: frozenset, - typing.MutableMapping: dict, - typing.Mapping: dict, - collections.abc.Mapping: dict, - collections.abc.MutableMapping: dict, - float: float, - int: int, - str: str, - bool: bool, - } - values_type = values_type_origin or values_source_type - instructions = 'set using `DefaultDict[..., Annotated[..., Field(default_factory=...)]]`' - if typing_objects.is_typevar(values_type): - - def type_var_default_factory() -> None: - raise RuntimeError( - 'Generic defaultdict cannot be used without a concrete value type or an' - ' explicit default factory, ' + instructions - ) - - return type_var_default_factory - elif values_type not in allowed_default_types: - # a somewhat subjective set of types that have reasonable default values - allowed_msg = ', '.join([t.__name__ for t in set(allowed_default_types.values())]) - raise PydanticSchemaGenerationError( - f'Unable to infer a default factory for keys of type {values_source_type}.' - f' Only {allowed_msg} are supported, other types require an explicit default factory' - ' ' + instructions - ) - return allowed_default_types[values_type] - - # Assume Annotated[..., Field(...)] - if typing_objects.is_annotated(values_type_origin): - field_info = next((v for v in typing_extensions.get_args(values_source_type) if isinstance(v, FieldInfo)), None) - else: - field_info = None - if field_info and field_info.default_factory: - # Assume the default factory does not take any argument: - default_default_factory = cast(Callable[[], Any], field_info.default_factory) - else: - default_default_factory = infer_default() - return default_default_factory - - -def validate_str_is_valid_iana_tz(value: Any, /) -> ZoneInfo: - if isinstance(value, ZoneInfo): - return value - try: - return ZoneInfo(value) - except (ZoneInfoNotFoundError, ValueError, TypeError): - raise PydanticCustomError('zoneinfo_str', 'invalid timezone: {value}', {'value': value}) - - -NUMERIC_VALIDATOR_LOOKUP: dict[str, Callable] = { - 'gt': greater_than_validator, - 'ge': greater_than_or_equal_validator, - 'lt': less_than_validator, - 'le': less_than_or_equal_validator, - 'multiple_of': multiple_of_validator, - 'min_length': min_length_validator, - 'max_length': max_length_validator, - 'max_digits': max_digits_validator, - 'decimal_places': decimal_places_validator, -} - -IpType = Union[IPv4Address, IPv6Address, IPv4Network, IPv6Network, IPv4Interface, IPv6Interface] - -IP_VALIDATOR_LOOKUP: dict[type[IpType], Callable] = { - IPv4Address: ip_v4_address_validator, - IPv6Address: ip_v6_address_validator, - IPv4Network: ip_v4_network_validator, - IPv6Network: ip_v6_network_validator, - IPv4Interface: ip_v4_interface_validator, - IPv6Interface: ip_v6_interface_validator, -} - -MAPPING_ORIGIN_MAP: dict[Any, Any] = { - typing.DefaultDict: collections.defaultdict, # noqa: UP006 - collections.defaultdict: collections.defaultdict, - typing.OrderedDict: collections.OrderedDict, # noqa: UP006 - collections.OrderedDict: collections.OrderedDict, - typing_extensions.OrderedDict: collections.OrderedDict, - typing.Counter: collections.Counter, - collections.Counter: collections.Counter, - # this doesn't handle subclasses of these - typing.Mapping: dict, - typing.MutableMapping: dict, - # parametrized typing.{Mutable}Mapping creates one of these - collections.abc.Mapping: dict, - collections.abc.MutableMapping: dict, -} diff --git a/venv/lib/python3.12/site-packages/pydantic/_migration.py b/venv/lib/python3.12/site-packages/pydantic/_migration.py index 980dfd2..cc9806e 100644 --- a/venv/lib/python3.12/site-packages/pydantic/_migration.py +++ b/venv/lib/python3.12/site-packages/pydantic/_migration.py @@ -1,6 +1,8 @@ import sys -from typing import Any, Callable +import warnings +from typing import Any, Callable, Dict +from ._internal._validators import import_string from .version import version_short MOVED_IN_V2 = { @@ -271,11 +273,7 @@ def getattr_migration(module: str) -> Callable[[str], Any]: The object. """ if name == '__path__': - raise AttributeError(f'module {module!r} has no attribute {name!r}') - - import warnings - - from ._internal._validators import import_string + raise AttributeError(f'module {__name__!r} has no attribute {name!r}') import_path = f'{module}:{name}' if import_path in MOVED_IN_V2.keys(): @@ -300,9 +298,9 @@ def getattr_migration(module: str) -> Callable[[str], Any]: ) if import_path in REMOVED_IN_V2: raise PydanticImportError(f'`{import_path}` has been removed in V2.') - globals: dict[str, Any] = sys.modules[module].__dict__ + globals: Dict[str, Any] = sys.modules[module].__dict__ if name in globals: return globals[name] - raise AttributeError(f'module {module!r} has no attribute {name!r}') + raise AttributeError(f'module {__name__!r} has no attribute {name!r}') return wrapper diff --git a/venv/lib/python3.12/site-packages/pydantic/alias_generators.py b/venv/lib/python3.12/site-packages/pydantic/alias_generators.py index 0b7653f..bbdaaaf 100644 --- a/venv/lib/python3.12/site-packages/pydantic/alias_generators.py +++ b/venv/lib/python3.12/site-packages/pydantic/alias_generators.py @@ -1,13 +1,8 @@ """Alias generators for converting between different capitalization conventions.""" - import re __all__ = ('to_pascal', 'to_camel', 'to_snake') -# TODO: in V3, change the argument names to be more descriptive -# Generally, don't only convert from snake_case, or name the functions -# more specifically like snake_to_camel. - def to_pascal(snake: str) -> str: """Convert a snake_case string to PascalCase. @@ -31,17 +26,12 @@ def to_camel(snake: str) -> str: Returns: The converted camelCase string. """ - # If the string is already in camelCase and does not contain a digit followed - # by a lowercase letter, return it as it is - if re.match('^[a-z]+[A-Za-z0-9]*$', snake) and not re.search(r'\d[a-z]', snake): - return snake - camel = to_pascal(snake) return re.sub('(^_*[A-Z])', lambda m: m.group(1).lower(), camel) def to_snake(camel: str) -> str: - """Convert a PascalCase, camelCase, or kebab-case string to snake_case. + """Convert a PascalCase or camelCase string to snake_case. Args: camel: The string to convert. @@ -49,14 +39,6 @@ def to_snake(camel: str) -> str: Returns: The converted string in snake_case. """ - # Handle the sequence of uppercase letters followed by a lowercase letter - snake = re.sub(r'([A-Z]+)([A-Z][a-z])', lambda m: f'{m.group(1)}_{m.group(2)}', camel) - # Insert an underscore between a lowercase letter and an uppercase letter - snake = re.sub(r'([a-z])([A-Z])', lambda m: f'{m.group(1)}_{m.group(2)}', snake) - # Insert an underscore between a digit and an uppercase letter - snake = re.sub(r'([0-9])([A-Z])', lambda m: f'{m.group(1)}_{m.group(2)}', snake) - # Insert an underscore between a lowercase letter and a digit - snake = re.sub(r'([a-z])([0-9])', lambda m: f'{m.group(1)}_{m.group(2)}', snake) - # Replace hyphens with underscores to handle kebab-case - snake = snake.replace('-', '_') + snake = re.sub(r'([a-zA-Z])([0-9])', lambda m: f'{m.group(1)}_{m.group(2)}', camel) + snake = re.sub(r'([a-z0-9])([A-Z])', lambda m: f'{m.group(1)}_{m.group(2)}', snake) return snake.lower() diff --git a/venv/lib/python3.12/site-packages/pydantic/aliases.py b/venv/lib/python3.12/site-packages/pydantic/aliases.py deleted file mode 100644 index ac22737..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/aliases.py +++ /dev/null @@ -1,135 +0,0 @@ -"""Support for alias configurations.""" - -from __future__ import annotations - -import dataclasses -from typing import Any, Callable, Literal - -from pydantic_core import PydanticUndefined - -from ._internal import _internal_dataclass - -__all__ = ('AliasGenerator', 'AliasPath', 'AliasChoices') - - -@dataclasses.dataclass(**_internal_dataclass.slots_true) -class AliasPath: - """!!! abstract "Usage Documentation" - [`AliasPath` and `AliasChoices`](../concepts/alias.md#aliaspath-and-aliaschoices) - - A data class used by `validation_alias` as a convenience to create aliases. - - Attributes: - path: A list of string or integer aliases. - """ - - path: list[int | str] - - def __init__(self, first_arg: str, *args: str | int) -> None: - self.path = [first_arg] + list(args) - - def convert_to_aliases(self) -> list[str | int]: - """Converts arguments to a list of string or integer aliases. - - Returns: - The list of aliases. - """ - return self.path - - def search_dict_for_path(self, d: dict) -> Any: - """Searches a dictionary for the path specified by the alias. - - Returns: - The value at the specified path, or `PydanticUndefined` if the path is not found. - """ - v = d - for k in self.path: - if isinstance(v, str): - # disallow indexing into a str, like for AliasPath('x', 0) and x='abc' - return PydanticUndefined - try: - v = v[k] - except (KeyError, IndexError, TypeError): - return PydanticUndefined - return v - - -@dataclasses.dataclass(**_internal_dataclass.slots_true) -class AliasChoices: - """!!! abstract "Usage Documentation" - [`AliasPath` and `AliasChoices`](../concepts/alias.md#aliaspath-and-aliaschoices) - - A data class used by `validation_alias` as a convenience to create aliases. - - Attributes: - choices: A list containing a string or `AliasPath`. - """ - - choices: list[str | AliasPath] - - def __init__(self, first_choice: str | AliasPath, *choices: str | AliasPath) -> None: - self.choices = [first_choice] + list(choices) - - def convert_to_aliases(self) -> list[list[str | int]]: - """Converts arguments to a list of lists containing string or integer aliases. - - Returns: - The list of aliases. - """ - aliases: list[list[str | int]] = [] - for c in self.choices: - if isinstance(c, AliasPath): - aliases.append(c.convert_to_aliases()) - else: - aliases.append([c]) - return aliases - - -@dataclasses.dataclass(**_internal_dataclass.slots_true) -class AliasGenerator: - """!!! abstract "Usage Documentation" - [Using an `AliasGenerator`](../concepts/alias.md#using-an-aliasgenerator) - - A data class used by `alias_generator` as a convenience to create various aliases. - - Attributes: - alias: A callable that takes a field name and returns an alias for it. - validation_alias: A callable that takes a field name and returns a validation alias for it. - serialization_alias: A callable that takes a field name and returns a serialization alias for it. - """ - - alias: Callable[[str], str] | None = None - validation_alias: Callable[[str], str | AliasPath | AliasChoices] | None = None - serialization_alias: Callable[[str], str] | None = None - - def _generate_alias( - self, - alias_kind: Literal['alias', 'validation_alias', 'serialization_alias'], - allowed_types: tuple[type[str] | type[AliasPath] | type[AliasChoices], ...], - field_name: str, - ) -> str | AliasPath | AliasChoices | None: - """Generate an alias of the specified kind. Returns None if the alias generator is None. - - Raises: - TypeError: If the alias generator produces an invalid type. - """ - alias = None - if alias_generator := getattr(self, alias_kind): - alias = alias_generator(field_name) - if alias and not isinstance(alias, allowed_types): - raise TypeError( - f'Invalid `{alias_kind}` type. `{alias_kind}` generator must produce one of `{allowed_types}`' - ) - return alias - - def generate_aliases(self, field_name: str) -> tuple[str | None, str | AliasPath | AliasChoices | None, str | None]: - """Generate `alias`, `validation_alias`, and `serialization_alias` for a field. - - Returns: - A tuple of three aliases - validation, alias, and serialization. - """ - alias = self._generate_alias('alias', (str,), field_name) - validation_alias = self._generate_alias('validation_alias', (str, AliasChoices, AliasPath), field_name) - serialization_alias = self._generate_alias('serialization_alias', (str,), field_name) - - return alias, validation_alias, serialization_alias # type: ignore diff --git a/venv/lib/python3.12/site-packages/pydantic/annotated_handlers.py b/venv/lib/python3.12/site-packages/pydantic/annotated_handlers.py index d0cb5d3..59adabf 100644 --- a/venv/lib/python3.12/site-packages/pydantic/annotated_handlers.py +++ b/venv/lib/python3.12/site-packages/pydantic/annotated_handlers.py @@ -1,5 +1,4 @@ """Type annotations to use with `__get_pydantic_core_schema__` and `__get_pydantic_json_schema__`.""" - from __future__ import annotations as _annotations from typing import TYPE_CHECKING, Any, Union @@ -7,7 +6,6 @@ from typing import TYPE_CHECKING, Any, Union from pydantic_core import core_schema if TYPE_CHECKING: - from ._internal._namespace_utils import NamespacesTuple from .json_schema import JsonSchemaMode, JsonSchemaValue CoreSchemaOrField = Union[ @@ -30,7 +28,7 @@ class GetJsonSchemaHandler: mode: JsonSchemaMode - def __call__(self, core_schema: CoreSchemaOrField, /) -> JsonSchemaValue: + def __call__(self, __core_schema: CoreSchemaOrField) -> JsonSchemaValue: """Call the inner handler and get the JsonSchemaValue it returns. This will call the next JSON schema modifying function up until it calls into `pydantic.json_schema.GenerateJsonSchema`, which will raise a @@ -38,7 +36,7 @@ class GetJsonSchemaHandler: a JSON schema. Args: - core_schema: A `pydantic_core.core_schema.CoreSchema`. + __core_schema: A `pydantic_core.core_schema.CoreSchema`. Returns: JsonSchemaValue: The JSON schema generated by the inner JSON schema modify @@ -46,13 +44,13 @@ class GetJsonSchemaHandler: """ raise NotImplementedError - def resolve_ref_schema(self, maybe_ref_json_schema: JsonSchemaValue, /) -> JsonSchemaValue: + def resolve_ref_schema(self, __maybe_ref_json_schema: JsonSchemaValue) -> JsonSchemaValue: """Get the real schema for a `{"$ref": ...}` schema. If the schema given is not a `$ref` schema, it will be returned as is. This means you don't have to check before calling this function. Args: - maybe_ref_json_schema: A JsonSchemaValue which may be a `$ref` schema. + __maybe_ref_json_schema: A JsonSchemaValue, ref based or not. Raises: LookupError: If the ref is not found. @@ -66,7 +64,7 @@ class GetJsonSchemaHandler: class GetCoreSchemaHandler: """Handler to call into the next CoreSchema schema generation function.""" - def __call__(self, source_type: Any, /) -> core_schema.CoreSchema: + def __call__(self, __source_type: Any) -> core_schema.CoreSchema: """Call the inner handler and get the CoreSchema it returns. This will call the next CoreSchema modifying function up until it calls into Pydantic's internal schema generation machinery, which will raise a @@ -74,14 +72,14 @@ class GetCoreSchemaHandler: a CoreSchema for the given source type. Args: - source_type: The input type. + __source_type: The input type. Returns: CoreSchema: The `pydantic-core` CoreSchema generated. """ raise NotImplementedError - def generate_schema(self, source_type: Any, /) -> core_schema.CoreSchema: + def generate_schema(self, __source_type: Any) -> core_schema.CoreSchema: """Generate a schema unrelated to the current context. Use this function if e.g. you are handling schema generation for a sequence and want to generate a schema for its items. @@ -89,20 +87,20 @@ class GetCoreSchemaHandler: that was intended for the sequence itself to its items! Args: - source_type: The input type. + __source_type: The input type. Returns: CoreSchema: The `pydantic-core` CoreSchema generated. """ raise NotImplementedError - def resolve_ref_schema(self, maybe_ref_schema: core_schema.CoreSchema, /) -> core_schema.CoreSchema: + def resolve_ref_schema(self, __maybe_ref_schema: core_schema.CoreSchema) -> core_schema.CoreSchema: """Get the real schema for a `definition-ref` schema. If the schema given is not a `definition-ref` schema, it will be returned as is. This means you don't have to check before calling this function. Args: - maybe_ref_schema: A `CoreSchema`, `ref`-based or not. + __maybe_ref_schema: A `CoreSchema`, `ref`-based or not. Raises: LookupError: If the `ref` is not found. @@ -117,6 +115,6 @@ class GetCoreSchemaHandler: """Get the name of the closest field to this validator.""" raise NotImplementedError - def _get_types_namespace(self) -> NamespacesTuple: + def _get_types_namespace(self) -> dict[str, Any] | None: """Internal method used during type resolution for serializer annotations.""" raise NotImplementedError diff --git a/venv/lib/python3.12/site-packages/pydantic/class_validators.py b/venv/lib/python3.12/site-packages/pydantic/class_validators.py index 9977150..2ff72ae 100644 --- a/venv/lib/python3.12/site-packages/pydantic/class_validators.py +++ b/venv/lib/python3.12/site-packages/pydantic/class_validators.py @@ -1,5 +1,4 @@ """`class_validators` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/color.py b/venv/lib/python3.12/site-packages/pydantic/color.py index 9a42d58..5aabec4 100644 --- a/venv/lib/python3.12/site-packages/pydantic/color.py +++ b/venv/lib/python3.12/site-packages/pydantic/color.py @@ -11,11 +11,10 @@ Warning: Deprecated See [`pydantic-extra-types.Color`](../usage/types/extra_types/color_types.md) for more information. """ - import math import re from colorsys import hls_to_rgb, rgb_to_hls -from typing import Any, Callable, Optional, Union, cast +from typing import Any, Callable, Optional, Tuple, Type, Union, cast from pydantic_core import CoreSchema, PydanticCustomError, core_schema from typing_extensions import deprecated @@ -25,9 +24,9 @@ from ._internal._schema_generation_shared import GetJsonSchemaHandler as _GetJso from .json_schema import JsonSchemaValue from .warnings import PydanticDeprecatedSince20 -ColorTuple = Union[tuple[int, int, int], tuple[int, int, int, float]] +ColorTuple = Union[Tuple[int, int, int], Tuple[int, int, int, float]] ColorType = Union[ColorTuple, str] -HslColorTuple = Union[tuple[float, float, float], tuple[float, float, float, float]] +HslColorTuple = Union[Tuple[float, float, float], Tuple[float, float, float, float]] class RGBA: @@ -41,7 +40,7 @@ class RGBA: self.b = b self.alpha = alpha - self._tuple: tuple[float, float, float, Optional[float]] = (r, g, b, alpha) + self._tuple: Tuple[float, float, float, Optional[float]] = (r, g, b, alpha) def __getitem__(self, item: Any) -> Any: return self._tuple[item] @@ -56,13 +55,13 @@ _r_sl = r'(\d{1,3}(?:\.\d+)?)%' r_hex_short = r'\s*(?:#|0x)?([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?\s*' r_hex_long = r'\s*(?:#|0x)?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?\s*' # CSS3 RGB examples: rgb(0, 0, 0), rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 50%) -r_rgb = rf'\s*rgba?\(\s*{_r_255}{_r_comma}{_r_255}{_r_comma}{_r_255}(?:{_r_comma}{_r_alpha})?\s*\)\s*' +r_rgb = fr'\s*rgba?\(\s*{_r_255}{_r_comma}{_r_255}{_r_comma}{_r_255}(?:{_r_comma}{_r_alpha})?\s*\)\s*' # CSS3 HSL examples: hsl(270, 60%, 50%), hsla(270, 60%, 50%, 0.5), hsla(270, 60%, 50%, 50%) -r_hsl = rf'\s*hsla?\(\s*{_r_h}{_r_comma}{_r_sl}{_r_comma}{_r_sl}(?:{_r_comma}{_r_alpha})?\s*\)\s*' +r_hsl = fr'\s*hsla?\(\s*{_r_h}{_r_comma}{_r_sl}{_r_comma}{_r_sl}(?:{_r_comma}{_r_alpha})?\s*\)\s*' # CSS4 RGB examples: rgb(0 0 0), rgb(0 0 0 / 0.5), rgb(0 0 0 / 50%), rgba(0 0 0 / 50%) -r_rgb_v4_style = rf'\s*rgba?\(\s*{_r_255}\s+{_r_255}\s+{_r_255}(?:\s*/\s*{_r_alpha})?\s*\)\s*' +r_rgb_v4_style = fr'\s*rgba?\(\s*{_r_255}\s+{_r_255}\s+{_r_255}(?:\s*/\s*{_r_alpha})?\s*\)\s*' # CSS4 HSL examples: hsl(270 60% 50%), hsl(270 60% 50% / 0.5), hsl(270 60% 50% / 50%), hsla(270 60% 50% / 50%) -r_hsl_v4_style = rf'\s*hsla?\(\s*{_r_h}\s+{_r_sl}\s+{_r_sl}(?:\s*/\s*{_r_alpha})?\s*\)\s*' +r_hsl_v4_style = fr'\s*hsla?\(\s*{_r_h}\s+{_r_sl}\s+{_r_sl}(?:\s*/\s*{_r_alpha})?\s*\)\s*' # colors where the two hex characters are the same, if all colors match this the short version of hex colors can be used repeat_colors = {int(c * 2, 16) for c in '0123456789abcdef'} @@ -124,7 +123,7 @@ class Color(_repr.Representation): ValueError: When no named color is found and fallback is `False`. """ if self._rgba.alpha is None: - rgb = cast(tuple[int, int, int], self.as_rgb_tuple()) + rgb = cast(Tuple[int, int, int], self.as_rgb_tuple()) try: return COLORS_BY_VALUE[rgb] except KeyError as e: @@ -232,7 +231,7 @@ class Color(_repr.Representation): @classmethod def __get_pydantic_core_schema__( - cls, source: type[Any], handler: Callable[[Any], CoreSchema] + cls, source: Type[Any], handler: Callable[[Any], CoreSchema] ) -> core_schema.CoreSchema: return core_schema.with_info_plain_validator_function( cls._validate, serialization=core_schema.to_string_ser_schema() @@ -255,7 +254,7 @@ class Color(_repr.Representation): return hash(self.as_rgb_tuple()) -def parse_tuple(value: tuple[Any, ...]) -> RGBA: +def parse_tuple(value: Tuple[Any, ...]) -> RGBA: """Parse a tuple or list to get RGBA values. Args: diff --git a/venv/lib/python3.12/site-packages/pydantic/config.py b/venv/lib/python3.12/site-packages/pydantic/config.py index 12fef10..ccdcd7f 100644 --- a/venv/lib/python3.12/site-packages/pydantic/config.py +++ b/venv/lib/python3.12/site-packages/pydantic/config.py @@ -1,33 +1,23 @@ """Configuration for Pydantic models.""" - from __future__ import annotations as _annotations -import warnings -from re import Pattern -from typing import TYPE_CHECKING, Any, Callable, Literal, TypeVar, Union, cast, overload +from typing import TYPE_CHECKING, Any, Callable, Dict, Type, Union -from typing_extensions import TypeAlias, TypedDict, Unpack, deprecated +from typing_extensions import Literal, TypeAlias, TypedDict from ._migration import getattr_migration -from .aliases import AliasGenerator -from .errors import PydanticUserError -from .warnings import PydanticDeprecatedSince211 if TYPE_CHECKING: from ._internal._generate_schema import GenerateSchema as _GenerateSchema - from .fields import ComputedFieldInfo, FieldInfo -__all__ = ('ConfigDict', 'with_config') +__all__ = ('ConfigDict',) -JsonValue: TypeAlias = Union[int, float, str, bool, None, list['JsonValue'], 'JsonDict'] -JsonDict: TypeAlias = dict[str, JsonValue] - JsonEncoder = Callable[[Any], Any] JsonSchemaExtraCallable: TypeAlias = Union[ - Callable[[JsonDict], None], - Callable[[JsonDict, type[Any]], None], + Callable[[Dict[str, Any]], None], + Callable[[Dict[str, Any], Type[Any]], None], ] ExtraValues = Literal['allow', 'ignore', 'forbid'] @@ -39,18 +29,11 @@ class ConfigDict(TypedDict, total=False): title: str | None """The title for the generated JSON schema, defaults to the model's name""" - model_title_generator: Callable[[type], str] | None - """A callable that takes a model class and returns the title for it. Defaults to `None`.""" - - field_title_generator: Callable[[str, FieldInfo | ComputedFieldInfo], str] | None - """A callable that takes a field's name and info and returns title for it. Defaults to `None`.""" - str_to_lower: bool """Whether to convert all characters to lowercase for str types. Defaults to `False`.""" str_to_upper: bool """Whether to convert all characters to uppercase for str types. Defaults to `False`.""" - str_strip_whitespace: bool """Whether to strip leading and trailing whitespace for str types.""" @@ -61,108 +44,84 @@ class ConfigDict(TypedDict, total=False): """The maximum length for str types. Defaults to `None`.""" extra: ExtraValues | None - ''' - Whether to ignore, allow, or forbid extra data during model initialization. Defaults to `'ignore'`. + """ + Whether to ignore, allow, or forbid extra attributes during model initialization. Defaults to `'ignore'`. - Three configuration values are available: + You can configure how pydantic handles the attributes that are not defined in the model: - - `'ignore'`: Providing extra data is ignored (the default): - ```python - from pydantic import BaseModel, ConfigDict + * `allow` - Allow any extra attributes. + * `forbid` - Forbid any extra attributes. + * `ignore` - Ignore any extra attributes. - class User(BaseModel): - model_config = ConfigDict(extra='ignore') # (1)! - - name: str - - user = User(name='John Doe', age=20) # (2)! - print(user) - #> name='John Doe' - ``` - - 1. This is the default behaviour. - 2. The `age` argument is ignored. - - - `'forbid'`: Providing extra data is not permitted, and a [`ValidationError`][pydantic_core.ValidationError] - will be raised if this is the case: - ```python - from pydantic import BaseModel, ConfigDict, ValidationError + ```py + from pydantic import BaseModel, ConfigDict - class Model(BaseModel): - x: int + class User(BaseModel): + model_config = ConfigDict(extra='ignore') # (1)! - model_config = ConfigDict(extra='forbid') + name: str - try: - Model(x=1, y='a') - except ValidationError as exc: - print(exc) - """ - 1 validation error for Model - y - Extra inputs are not permitted [type=extra_forbidden, input_value='a', input_type=str] - """ - ``` + user = User(name='John Doe', age=20) # (2)! + print(user) + #> name='John Doe' + ``` - - `'allow'`: Providing extra data is allowed and stored in the `__pydantic_extra__` dictionary attribute: - ```python - from pydantic import BaseModel, ConfigDict + 1. This is the default behaviour. + 2. The `age` argument is ignored. + + Instead, with `extra='allow'`, the `age` argument is included: + + ```py + from pydantic import BaseModel, ConfigDict - class Model(BaseModel): - x: int + class User(BaseModel): + model_config = ConfigDict(extra='allow') - model_config = ConfigDict(extra='allow') + name: str - m = Model(x=1, y='a') - assert m.__pydantic_extra__ == {'y': 'a'} - ``` - By default, no validation will be applied to these extra items, but you can set a type for the values by overriding - the type annotation for `__pydantic_extra__`: - ```python - from pydantic import BaseModel, ConfigDict, Field, ValidationError + user = User(name='John Doe', age=20) # (1)! + print(user) + #> name='John Doe' age=20 + ``` + + 1. The `age` argument is included. + + With `extra='forbid'`, an error is raised: + + ```py + from pydantic import BaseModel, ConfigDict, ValidationError - class Model(BaseModel): - __pydantic_extra__: dict[str, int] = Field(init=False) # (1)! + class User(BaseModel): + model_config = ConfigDict(extra='forbid') - x: int - - model_config = ConfigDict(extra='allow') + name: str - try: - Model(x=1, y='a') - except ValidationError as exc: - print(exc) - """ - 1 validation error for Model - y - Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='a', input_type=str] - """ - - m = Model(x=1, y='2') - assert m.x == 1 - assert m.y == 2 - assert m.model_dump() == {'x': 1, 'y': 2} - assert m.__pydantic_extra__ == {'y': 2} - ``` - - 1. The `= Field(init=False)` does not have any effect at runtime, but prevents the `__pydantic_extra__` field from - being included as a parameter to the model's `__init__` method by type checkers. - ''' + try: + User(name='John Doe', age=20) + except ValidationError as e: + print(e) + ''' + 1 validation error for User + age + Extra inputs are not permitted [type=extra_forbidden, input_value=20, input_type=int] + ''' + ``` + """ frozen: bool """ - Whether models are faux-immutable, i.e. whether `__setattr__` is allowed, and also generates + Whether or not models are faux-immutable, i.e. whether `__setattr__` is allowed, and also generates a `__hash__()` method for the model. This makes instances of the model potentially hashable if all the attributes are hashable. Defaults to `False`. Note: - On V1, the inverse of this setting was called `allow_mutation`, and was `True` by default. + On V1, this setting was called `allow_mutation`, and was `True` by default. """ populate_by_name: bool @@ -170,77 +129,38 @@ class ConfigDict(TypedDict, total=False): Whether an aliased field may be populated by its name as given by the model attribute, as well as the alias. Defaults to `False`. - !!! warning - `populate_by_name` usage is not recommended in v2.11+ and will be deprecated in v3. - Instead, you should use the [`validate_by_name`][pydantic.config.ConfigDict.validate_by_name] configuration setting. + Note: + The name of this configuration setting was changed in **v2.0** from + `allow_population_by_alias` to `populate_by_name`. - When `validate_by_name=True` and `validate_by_alias=True`, this is strictly equivalent to the - previous behavior of `populate_by_name=True`. + ```py + from pydantic import BaseModel, ConfigDict, Field - In v2.11, we also introduced a [`validate_by_alias`][pydantic.config.ConfigDict.validate_by_alias] setting that introduces more fine grained - control for validation behavior. - Here's how you might go about using the new settings to achieve the same behavior: + class User(BaseModel): + model_config = ConfigDict(populate_by_name=True) - ```python - from pydantic import BaseModel, ConfigDict, Field + name: str = Field(alias='full_name') # (1)! + age: int - class Model(BaseModel): - model_config = ConfigDict(validate_by_name=True, validate_by_alias=True) - my_field: str = Field(alias='my_alias') # (1)! + user = User(full_name='John Doe', age=20) # (2)! + print(user) + #> name='John Doe' age=20 + user = User(name='John Doe', age=20) # (3)! + print(user) + #> name='John Doe' age=20 + ``` - m = Model(my_alias='foo') # (2)! - print(m) - #> my_field='foo' - - m = Model(my_alias='foo') # (3)! - print(m) - #> my_field='foo' - ``` - - 1. The field `'my_field'` has an alias `'my_alias'`. - 2. The model is populated by the alias `'my_alias'`. - 3. The model is populated by the attribute name `'my_field'`. + 1. The field `'name'` has an alias `'full_name'`. + 2. The model is populated by the alias `'full_name'`. + 3. The model is populated by the field name `'name'`. """ use_enum_values: bool """ Whether to populate models with the `value` property of enums, rather than the raw enum. This may be useful if you want to serialize `model.model_dump()` later. Defaults to `False`. - - !!! note - If you have an `Optional[Enum]` value that you set a default for, you need to use `validate_default=True` - for said Field to ensure that the `use_enum_values` flag takes effect on the default, as extracting an - enum's value occurs during validation, not serialization. - - ```python - from enum import Enum - from typing import Optional - - from pydantic import BaseModel, ConfigDict, Field - - class SomeEnum(Enum): - FOO = 'foo' - BAR = 'bar' - BAZ = 'baz' - - class SomeModel(BaseModel): - model_config = ConfigDict(use_enum_values=True) - - some_enum: SomeEnum - another_enum: Optional[SomeEnum] = Field( - default=SomeEnum.FOO, validate_default=True - ) - - model1 = SomeModel(some_enum=SomeEnum.BAR) - print(model1.model_dump()) - #> {'some_enum': 'bar', 'another_enum': 'foo'} - - model2 = SomeModel(some_enum=SomeEnum.BAR, another_enum=SomeEnum.BAZ) - print(model2.model_dump()) - #> {'some_enum': 'bar', 'another_enum': 'baz'} - ``` """ validate_assignment: bool @@ -251,7 +171,7 @@ class ConfigDict(TypedDict, total=False): In case the user changes the data after the model is created, the model is _not_ revalidated. - ```python + ```py from pydantic import BaseModel class User(BaseModel): @@ -270,7 +190,7 @@ class ConfigDict(TypedDict, total=False): In case you want to revalidate the model when the data is changed, you can use `validate_assignment=True`: - ```python + ```py from pydantic import BaseModel, ValidationError class User(BaseModel, validate_assignment=True): # (1)! @@ -299,7 +219,7 @@ class ConfigDict(TypedDict, total=False): """ Whether arbitrary types are allowed for field types. Defaults to `False`. - ```python + ```py from pydantic import BaseModel, ConfigDict, ValidationError # This is not a pydantic model, it's an arbitrary class @@ -358,20 +278,14 @@ class ConfigDict(TypedDict, total=False): loc_by_alias: bool """Whether to use the actual key provided in the data (e.g. alias) for error `loc`s rather than the field's name. Defaults to `True`.""" - alias_generator: Callable[[str], str] | AliasGenerator | None + alias_generator: Callable[[str], str] | None """ - A callable that takes a field name and returns an alias for it - or an instance of [`AliasGenerator`][pydantic.aliases.AliasGenerator]. Defaults to `None`. - - When using a callable, the alias generator is used for both validation and serialization. - If you want to use different alias generators for validation and serialization, you can use - [`AliasGenerator`][pydantic.aliases.AliasGenerator] instead. + A callable that takes a field name and returns an alias for it. If data source field names do not match your code style (e. g. CamelCase fields), - you can automatically generate aliases using `alias_generator`. Here's an example with - a basic callable: + you can automatically generate aliases using `alias_generator`: - ```python + ```py from pydantic import BaseModel, ConfigDict from pydantic.alias_generators import to_pascal @@ -388,30 +302,6 @@ class ConfigDict(TypedDict, total=False): #> {'Name': 'Filiz', 'LanguageCode': 'tr-TR'} ``` - If you want to use different alias generators for validation and serialization, you can use - [`AliasGenerator`][pydantic.aliases.AliasGenerator]. - - ```python - from pydantic import AliasGenerator, BaseModel, ConfigDict - from pydantic.alias_generators import to_camel, to_pascal - - class Athlete(BaseModel): - first_name: str - last_name: str - sport: str - - model_config = ConfigDict( - alias_generator=AliasGenerator( - validation_alias=to_camel, - serialization_alias=to_pascal, - ) - ) - - athlete = Athlete(firstName='John', lastName='Doe', sport='track') - print(athlete.model_dump(by_alias=True)) - #> {'FirstName': 'John', 'LastName': 'Doe', 'Sport': 'track'} - ``` - Note: Pydantic offers three built-in alias generators: [`to_pascal`][pydantic.alias_generators.to_pascal], [`to_camel`][pydantic.alias_generators.to_camel], and [`to_snake`][pydantic.alias_generators.to_snake]. @@ -425,9 +315,9 @@ class ConfigDict(TypedDict, total=False): """ allow_inf_nan: bool - """Whether to allow infinity (`+inf` an `-inf`) and NaN values to float and decimal fields. Defaults to `True`.""" + """Whether to allow infinity (`+inf` an `-inf`) and NaN values to float fields. Defaults to `True`.""" - json_schema_extra: JsonDict | JsonSchemaExtraCallable | None + json_schema_extra: dict[str, object] | JsonSchemaExtraCallable | None """A dict or callable to provide extra JSON schema properties. Defaults to `None`.""" json_encoders: dict[type[object], JsonEncoder] | None @@ -452,7 +342,7 @@ class ConfigDict(TypedDict, total=False): To configure strict mode for all fields on a model, you can set `strict=True` on the model. - ```python + ```py from pydantic import BaseModel, ConfigDict class Model(BaseModel): @@ -480,14 +370,16 @@ class ConfigDict(TypedDict, total=False): By default, model and dataclass instances are not revalidated during validation. - ```python + ```py + from typing import List + from pydantic import BaseModel class User(BaseModel, revalidate_instances='never'): # (1)! - hobbies: list[str] + hobbies: List[str] class SubUser(User): - sins: list[str] + sins: List[str] class Transaction(BaseModel): user: User @@ -515,14 +407,16 @@ class ConfigDict(TypedDict, total=False): If you want to revalidate instances during validation, you can set `revalidate_instances` to `'always'` in the model's config. - ```python + ```py + from typing import List + from pydantic import BaseModel, ValidationError class User(BaseModel, revalidate_instances='always'): # (1)! - hobbies: list[str] + hobbies: List[str] class SubUser(User): - sins: list[str] + sins: List[str] class Transaction(BaseModel): user: User @@ -556,14 +450,16 @@ class ConfigDict(TypedDict, total=False): It's also possible to set `revalidate_instances` to `'subclass-instances'` to only revalidate instances of subclasses of the model. - ```python + ```py + from typing import List + from pydantic import BaseModel class User(BaseModel, revalidate_instances='subclass-instances'): # (1)! - hobbies: list[str] + hobbies: List[str] class SubUser(User): - sins: list[str] + sins: List[str] class Transaction(BaseModel): user: User @@ -598,33 +494,13 @@ class ConfigDict(TypedDict, total=False): - `'float'` will serialize timedeltas to the total number of seconds. """ - ser_json_bytes: Literal['utf8', 'base64', 'hex'] + ser_json_bytes: Literal['utf8', 'base64'] """ - The encoding of JSON serialized bytes. Defaults to `'utf8'`. - Set equal to `val_json_bytes` to get back an equal value after serialization round trip. + The encoding of JSON serialized bytes. Accepts the string values of `'utf8'` and `'base64'`. + Defaults to `'utf8'`. - `'utf8'` will serialize bytes to UTF-8 strings. - `'base64'` will serialize bytes to URL safe base64 strings. - - `'hex'` will serialize bytes to hexadecimal strings. - """ - - val_json_bytes: Literal['utf8', 'base64', 'hex'] - """ - The encoding of JSON serialized bytes to decode. Defaults to `'utf8'`. - Set equal to `ser_json_bytes` to get back an equal value after serialization round trip. - - - `'utf8'` will deserialize UTF-8 strings to bytes. - - `'base64'` will deserialize URL safe base64 strings to bytes. - - `'hex'` will deserialize hexadecimal strings to bytes. - """ - - ser_json_inf_nan: Literal['null', 'constants', 'strings'] - """ - The encoding of JSON serialized infinity and NaN float values. Defaults to `'null'`. - - - `'null'` will serialize infinity and NaN values as `null`. - - `'constants'` will serialize infinity and NaN values as `Infinity` and `NaN`. - - `'strings'` will serialize infinity as string `"Infinity"` and NaN as string `"NaN"`. """ # whether to validate default values during validation, default False @@ -632,26 +508,17 @@ class ConfigDict(TypedDict, total=False): """Whether to validate default values during validation. Defaults to `False`.""" validate_return: bool - """Whether to validate the return value from call validators. Defaults to `False`.""" + """whether to validate the return value from call validators. Defaults to `False`.""" - protected_namespaces: tuple[str | Pattern[str], ...] + protected_namespaces: tuple[str, ...] """ - A `tuple` of strings and/or patterns that prevent models from having fields with names that conflict with them. - For strings, we match on a prefix basis. Ex, if 'dog' is in the protected namespace, 'dog_name' will be protected. - For patterns, we match on the entire field name. Ex, if `re.compile(r'^dog$')` is in the protected namespace, 'dog' will be protected, but 'dog_name' will not be. - Defaults to `('model_validate', 'model_dump',)`. + A `tuple` of strings that prevent model to have field which conflict with them. + Defaults to `('model_', )`). - The reason we've selected these is to prevent collisions with other validation / dumping formats - in the future - ex, `model_validate_{some_newly_supported_format}`. + Pydantic prevents collisions between model attributes and `BaseModel`'s own methods by + namespacing them with the prefix `model_`. - Before v2.10, Pydantic used `('model_',)` as the default value for this setting to - prevent collisions between model attributes and `BaseModel`'s own methods. This was changed - in v2.10 given feedback that this restriction was limiting in AI and data science contexts, - where it is common to have fields with names like `model_id`, `model_input`, `model_output`, etc. - - For more details, see https://github.com/pydantic/pydantic/issues/10315. - - ```python + ```py import warnings from pydantic import BaseModel @@ -661,65 +528,56 @@ class ConfigDict(TypedDict, total=False): try: class Model(BaseModel): - model_dump_something: str + model_prefixed_field: str except UserWarning as e: print(e) ''' - Field "model_dump_something" in Model has conflict with protected namespace "model_dump". + Field "model_prefixed_field" has conflict with protected namespace "model_". - You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ('model_validate',)`. + You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ()`. ''' ``` You can customize this behavior using the `protected_namespaces` setting: - ```python {test="skip"} - import re + ```py import warnings from pydantic import BaseModel, ConfigDict - with warnings.catch_warnings(record=True) as caught_warnings: - warnings.simplefilter('always') # Catch all warnings + warnings.filterwarnings('error') # Raise warnings as errors + + try: class Model(BaseModel): - safe_field: str + model_prefixed_field: str also_protect_field: str - protect_this: str model_config = ConfigDict( - protected_namespaces=( - 'protect_me_', - 'also_protect_', - re.compile('^protect_this$'), - ) + protected_namespaces=('protect_me_', 'also_protect_') ) - for warning in caught_warnings: - print(f'{warning.message}') + except UserWarning as e: + print(e) ''' - Field "also_protect_field" in Model has conflict with protected namespace "also_protect_". - You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ('protect_me_', re.compile('^protect_this$'))`. + Field "also_protect_field" has conflict with protected namespace "also_protect_". - Field "protect_this" in Model has conflict with protected namespace "re.compile('^protect_this$')". - You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ('protect_me_', 'also_protect_')`. + You may be able to resolve this warning by setting `model_config['protected_namespaces'] = ('protect_me_',)`. ''' ``` While Pydantic will only emit a warning when an item is in a protected namespace but does not actually have a collision, an error _is_ raised if there is an actual collision with an existing attribute: - ```python - from pydantic import BaseModel, ConfigDict + ```py + from pydantic import BaseModel try: class Model(BaseModel): model_validate: str - model_config = ConfigDict(protected_namespaces=('model_',)) - except NameError as e: print(e) ''' @@ -734,7 +592,7 @@ class ConfigDict(TypedDict, total=False): Pydantic shows the input value and type when it raises `ValidationError` during the validation. - ```python + ```py from pydantic import BaseModel, ValidationError class Model(BaseModel): @@ -753,7 +611,7 @@ class ConfigDict(TypedDict, total=False): You can hide the input value and type by setting the `hide_input_in_errors` config to `True`. - ```python + ```py from pydantic import BaseModel, ConfigDict, ValidationError class Model(BaseModel): @@ -774,26 +632,27 @@ class ConfigDict(TypedDict, total=False): defer_build: bool """ - Whether to defer model validator and serializer construction until the first model validation. Defaults to False. + Whether to defer model validator and serializer construction until the first model validation. This can be useful to avoid the overhead of building models which are only used nested within other models, or when you want to manually define type namespace via - [`Model.model_rebuild(_types_namespace=...)`][pydantic.BaseModel.model_rebuild]. - - Since v2.10, this setting also applies to pydantic dataclasses and TypeAdapter instances. + [`Model.model_rebuild(_types_namespace=...)`][pydantic.BaseModel.model_rebuild]. Defaults to False. """ plugin_settings: dict[str, object] | None - """A `dict` of settings for plugins. Defaults to `None`.""" + """A `dict` of settings for plugins. Defaults to `None`. + + See [Pydantic Plugins](../concepts/plugins.md) for details. + """ schema_generator: type[_GenerateSchema] | None """ - !!! warning - `schema_generator` is deprecated in v2.10. + A custom core schema generator class to use when generating JSON schemas. + Useful if you want to change the way types are validated across an entire model/schema. Defaults to `None`. - Prior to v2.10, this setting was advertised as highly subject to change. - It's possible that this interface may once again become public once the internal core schema generation - API is more stable, but that will likely come after significant performance improvements have been made. + The `GenerateSchema` interface is subject to change, currently only the `string_schema` method is public. + + See [#6737](https://github.com/pydantic/pydantic/pull/6737) for details. """ json_schema_serialization_defaults_required: bool @@ -807,7 +666,7 @@ class ConfigDict(TypedDict, total=False): between validation and serialization, and don't mind fields with defaults being marked as not required during serialization. See [#7209](https://github.com/pydantic/pydantic/issues/7209) for more details. - ```python + ```py from pydantic import BaseModel, ConfigDict class Model(BaseModel): @@ -850,7 +709,7 @@ class ConfigDict(TypedDict, total=False): the validation and serialization schemas (since both will use the specified schema), and so prevents the suffixes from being added to the definition references. - ```python + ```py from pydantic import BaseModel, ConfigDict, Json class Model(BaseModel): @@ -896,7 +755,7 @@ class ConfigDict(TypedDict, total=False): Pydantic doesn't allow number types (`int`, `float`, `Decimal`) to be coerced as type `str` by default. - ```python + ```py from decimal import Decimal from pydantic import BaseModel, ConfigDict, ValidationError @@ -928,286 +787,5 @@ class ConfigDict(TypedDict, total=False): ``` """ - regex_engine: Literal['rust-regex', 'python-re'] - """ - The regex engine to be used for pattern validation. - Defaults to `'rust-regex'`. - - - `rust-regex` uses the [`regex`](https://docs.rs/regex) Rust crate, - which is non-backtracking and therefore more DDoS resistant, but does not support all regex features. - - `python-re` use the [`re`](https://docs.python.org/3/library/re.html) module, - which supports all regex features, but may be slower. - - !!! note - If you use a compiled regex pattern, the python-re engine will be used regardless of this setting. - This is so that flags such as `re.IGNORECASE` are respected. - - ```python - from pydantic import BaseModel, ConfigDict, Field, ValidationError - - class Model(BaseModel): - model_config = ConfigDict(regex_engine='python-re') - - value: str = Field(pattern=r'^abc(?=def)') - - print(Model(value='abcdef').value) - #> abcdef - - try: - print(Model(value='abxyzcdef')) - except ValidationError as e: - print(e) - ''' - 1 validation error for Model - value - String should match pattern '^abc(?=def)' [type=string_pattern_mismatch, input_value='abxyzcdef', input_type=str] - ''' - ``` - """ - - validation_error_cause: bool - """ - If `True`, Python exceptions that were part of a validation failure will be shown as an exception group as a cause. Can be useful for debugging. Defaults to `False`. - - Note: - Python 3.10 and older don't support exception groups natively. <=3.10, backport must be installed: `pip install exceptiongroup`. - - Note: - The structure of validation errors are likely to change in future Pydantic versions. Pydantic offers no guarantees about their structure. Should be used for visual traceback debugging only. - """ - - use_attribute_docstrings: bool - ''' - Whether docstrings of attributes (bare string literals immediately following the attribute declaration) - should be used for field descriptions. Defaults to `False`. - - Available in Pydantic v2.7+. - - ```python - from pydantic import BaseModel, ConfigDict, Field - - - class Model(BaseModel): - model_config = ConfigDict(use_attribute_docstrings=True) - - x: str - """ - Example of an attribute docstring - """ - - y: int = Field(description="Description in Field") - """ - Description in Field overrides attribute docstring - """ - - - print(Model.model_fields["x"].description) - # > Example of an attribute docstring - print(Model.model_fields["y"].description) - # > Description in Field - ``` - This requires the source code of the class to be available at runtime. - - !!! warning "Usage with `TypedDict` and stdlib dataclasses" - Due to current limitations, attribute docstrings detection may not work as expected when using - [`TypedDict`][typing.TypedDict] and stdlib dataclasses, in particular when: - - - inheritance is being used. - - multiple classes have the same name in the same source file. - ''' - - cache_strings: bool | Literal['all', 'keys', 'none'] - """ - Whether to cache strings to avoid constructing new Python objects. Defaults to True. - - Enabling this setting should significantly improve validation performance while increasing memory usage slightly. - - - `True` or `'all'` (the default): cache all strings - - `'keys'`: cache only dictionary keys - - `False` or `'none'`: no caching - - !!! note - `True` or `'all'` is required to cache strings during general validation because - validators don't know if they're in a key or a value. - - !!! tip - If repeated strings are rare, it's recommended to use `'keys'` or `'none'` to reduce memory usage, - as the performance difference is minimal if repeated strings are rare. - """ - - validate_by_alias: bool - """ - Whether an aliased field may be populated by its alias. Defaults to `True`. - - !!! note - In v2.11, `validate_by_alias` was introduced in conjunction with [`validate_by_name`][pydantic.ConfigDict.validate_by_name] - to empower users with more fine grained validation control. In my_field='foo' - ``` - - 1. The field `'my_field'` has an alias `'my_alias'`. - 2. The model can only be populated by the attribute name `'my_field'`. - - !!! warning - You cannot set both `validate_by_alias` and `validate_by_name` to `False`. - This would make it impossible to populate an attribute. - - See [usage errors](../errors/usage_errors.md#validate-by-alias-and-name-false) for an example. - - If you set `validate_by_alias` to `False`, under the hood, Pydantic dynamically sets - `validate_by_name` to `True` to ensure that validation can still occur. - """ - - validate_by_name: bool - """ - Whether an aliased field may be populated by its name as given by the model - attribute. Defaults to `False`. - - !!! note - In v2.0-v2.10, the `populate_by_name` configuration setting was used to specify - whether or not a field could be populated by its name **and** alias. - - In v2.11, `validate_by_name` was introduced in conjunction with [`validate_by_alias`][pydantic.ConfigDict.validate_by_alias] - to empower users with more fine grained validation behavior control. - - ```python - from pydantic import BaseModel, ConfigDict, Field - - class Model(BaseModel): - model_config = ConfigDict(validate_by_name=True, validate_by_alias=True) - - my_field: str = Field(validation_alias='my_alias') # (1)! - - m = Model(my_alias='foo') # (2)! - print(m) - #> my_field='foo' - - m = Model(my_field='foo') # (3)! - print(m) - #> my_field='foo' - ``` - - 1. The field `'my_field'` has an alias `'my_alias'`. - 2. The model is populated by the alias `'my_alias'`. - 3. The model is populated by the attribute name `'my_field'`. - - !!! warning - You cannot set both `validate_by_alias` and `validate_by_name` to `False`. - This would make it impossible to populate an attribute. - - See [usage errors](../errors/usage_errors.md#validate-by-alias-and-name-false) for an example. - """ - - serialize_by_alias: bool - """ - Whether an aliased field should be serialized by its alias. Defaults to `False`. - - Note: In v2.11, `serialize_by_alias` was introduced to address the - [popular request](https://github.com/pydantic/pydantic/issues/8379) - for consistency with alias behavior for validation and serialization settings. - In v3, the default value is expected to change to `True` for consistency with the validation default. - - ```python - from pydantic import BaseModel, ConfigDict, Field - - class Model(BaseModel): - model_config = ConfigDict(serialize_by_alias=True) - - my_field: str = Field(serialization_alias='my_alias') # (1)! - - m = Model(my_field='foo') - print(m.model_dump()) # (2)! - #> {'my_alias': 'foo'} - ``` - - 1. The field `'my_field'` has an alias `'my_alias'`. - 2. The model is serialized using the alias `'my_alias'` for the `'my_field'` attribute. - """ - - -_TypeT = TypeVar('_TypeT', bound=type) - - -@overload -@deprecated('Passing `config` as a keyword argument is deprecated. Pass `config` as a positional argument instead.') -def with_config(*, config: ConfigDict) -> Callable[[_TypeT], _TypeT]: ... - - -@overload -def with_config(config: ConfigDict, /) -> Callable[[_TypeT], _TypeT]: ... - - -@overload -def with_config(**config: Unpack[ConfigDict]) -> Callable[[_TypeT], _TypeT]: ... - - -def with_config(config: ConfigDict | None = None, /, **kwargs: Any) -> Callable[[_TypeT], _TypeT]: - """!!! abstract "Usage Documentation" - [Configuration with other types](../concepts/config.md#configuration-on-other-supported-types) - - A convenience decorator to set a [Pydantic configuration](config.md) on a `TypedDict` or a `dataclass` from the standard library. - - Although the configuration can be set using the `__pydantic_config__` attribute, it does not play well with type checkers, - especially with `TypedDict`. - - !!! example "Usage" - - ```python - from typing_extensions import TypedDict - - from pydantic import ConfigDict, TypeAdapter, with_config - - @with_config(ConfigDict(str_to_lower=True)) - class TD(TypedDict): - x: str - - ta = TypeAdapter(TD) - - print(ta.validate_python({'x': 'ABC'})) - #> {'x': 'abc'} - ``` - """ - if config is not None and kwargs: - raise ValueError('Cannot specify both `config` and keyword arguments') - - if len(kwargs) == 1 and (kwargs_conf := kwargs.get('config')) is not None: - warnings.warn( - 'Passing `config` as a keyword argument is deprecated. Pass `config` as a positional argument instead', - category=PydanticDeprecatedSince211, - stacklevel=2, - ) - final_config = cast(ConfigDict, kwargs_conf) - else: - final_config = config if config is not None else cast(ConfigDict, kwargs) - - def inner(class_: _TypeT, /) -> _TypeT: - # Ideally, we would check for `class_` to either be a `TypedDict` or a stdlib dataclass. - # However, the `@with_config` decorator can be applied *after* `@dataclass`. To avoid - # common mistakes, we at least check for `class_` to not be a Pydantic model. - from ._internal._utils import is_model_class - - if is_model_class(class_): - raise PydanticUserError( - f'Cannot use `with_config` on {class_.__name__} as it is a Pydantic model', - code='with-config-on-model', - ) - class_.__pydantic_config__ = final_config - return class_ - - return inner - __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/dataclasses.py b/venv/lib/python3.12/site-packages/pydantic/dataclasses.py index 4e42d65..11e1614 100644 --- a/venv/lib/python3.12/site-packages/pydantic/dataclasses.py +++ b/venv/lib/python3.12/site-packages/pydantic/dataclasses.py @@ -1,25 +1,21 @@ """Provide an enhanced dataclass that performs validation.""" - from __future__ import annotations as _annotations import dataclasses import sys import types -from typing import TYPE_CHECKING, Any, Callable, Generic, Literal, NoReturn, TypeVar, overload -from warnings import warn +from typing import TYPE_CHECKING, Any, Callable, Generic, NoReturn, TypeVar, overload -from typing_extensions import TypeGuard, dataclass_transform +from typing_extensions import Literal, TypeGuard, dataclass_transform -from ._internal import _config, _decorators, _namespace_utils, _typing_extra +from ._internal import _config, _decorators, _typing_extra from ._internal import _dataclasses as _pydantic_dataclasses from ._migration import getattr_migration from .config import ConfigDict -from .errors import PydanticUserError -from .fields import Field, FieldInfo, PrivateAttr +from .fields import Field if TYPE_CHECKING: from ._internal._dataclasses import PydanticDataclass - from ._internal._namespace_utils import MappingNamespace __all__ = 'dataclass', 'rebuild_dataclass' @@ -27,7 +23,7 @@ _T = TypeVar('_T') if sys.version_info >= (3, 10): - @dataclass_transform(field_specifiers=(dataclasses.field, Field, PrivateAttr)) + @dataclass_transform(field_specifiers=(dataclasses.field, Field)) @overload def dataclass( *, @@ -44,7 +40,7 @@ if sys.version_info >= (3, 10): ) -> Callable[[type[_T]], type[PydanticDataclass]]: # type: ignore ... - @dataclass_transform(field_specifiers=(dataclasses.field, Field, PrivateAttr)) + @dataclass_transform(field_specifiers=(dataclasses.field, Field)) @overload def dataclass( _cls: type[_T], # type: ignore @@ -54,16 +50,17 @@ if sys.version_info >= (3, 10): eq: bool = True, order: bool = False, unsafe_hash: bool = False, - frozen: bool | None = None, + frozen: bool = False, config: ConfigDict | type[object] | None = None, validate_on_init: bool | None = None, kw_only: bool = ..., slots: bool = ..., - ) -> type[PydanticDataclass]: ... + ) -> type[PydanticDataclass]: + ... else: - @dataclass_transform(field_specifiers=(dataclasses.field, Field, PrivateAttr)) + @dataclass_transform(field_specifiers=(dataclasses.field, Field)) @overload def dataclass( *, @@ -72,13 +69,13 @@ else: eq: bool = True, order: bool = False, unsafe_hash: bool = False, - frozen: bool | None = None, + frozen: bool = False, config: ConfigDict | type[object] | None = None, validate_on_init: bool | None = None, ) -> Callable[[type[_T]], type[PydanticDataclass]]: # type: ignore ... - @dataclass_transform(field_specifiers=(dataclasses.field, Field, PrivateAttr)) + @dataclass_transform(field_specifiers=(dataclasses.field, Field)) @overload def dataclass( _cls: type[_T], # type: ignore @@ -88,13 +85,14 @@ else: eq: bool = True, order: bool = False, unsafe_hash: bool = False, - frozen: bool | None = None, + frozen: bool = False, config: ConfigDict | type[object] | None = None, validate_on_init: bool | None = None, - ) -> type[PydanticDataclass]: ... + ) -> type[PydanticDataclass]: + ... -@dataclass_transform(field_specifiers=(dataclasses.field, Field, PrivateAttr)) +@dataclass_transform(field_specifiers=(dataclasses.field, Field)) def dataclass( _cls: type[_T] | None = None, *, @@ -103,14 +101,13 @@ def dataclass( eq: bool = True, order: bool = False, unsafe_hash: bool = False, - frozen: bool | None = None, + frozen: bool = False, config: ConfigDict | type[object] | None = None, validate_on_init: bool | None = None, kw_only: bool = False, slots: bool = False, ) -> Callable[[type[_T]], type[PydanticDataclass]] | type[PydanticDataclass]: - """!!! abstract "Usage Documentation" - [`dataclasses`](../concepts/dataclasses.md) + """Usage docs: https://docs.pydantic.dev/2.4/concepts/dataclasses/ A decorator used to create a Pydantic-enhanced dataclass, similar to the standard Python `dataclass`, but with added validation. @@ -122,13 +119,13 @@ def dataclass( init: Included for signature compatibility with `dataclasses.dataclass`, and is passed through to `dataclasses.dataclass` when appropriate. If specified, must be set to `False`, as pydantic inserts its own `__init__` function. - repr: A boolean indicating whether to include the field in the `__repr__` output. - eq: Determines if a `__eq__` method should be generated for the class. + repr: A boolean indicating whether or not to include the field in the `__repr__` output. + eq: Determines if a `__eq__` should be generated for the class. order: Determines if comparison magic methods should be generated, such as `__lt__`, but not `__eq__`. - unsafe_hash: Determines if a `__hash__` method should be included in the class, as in `dataclasses.dataclass`. + unsafe_hash: Determines if an unsafe hashing function should be included in the class. frozen: Determines if the generated class should be a 'frozen' `dataclass`, which does not allow its - attributes to be modified after it has been initialized. If not set, the value from the provided `config` argument will be used (and will default to `False` otherwise). - config: The Pydantic config to use for the `dataclass`. + attributes to be modified from its constructor. + config: A configuration for the `dataclass` generation. validate_on_init: A deprecated parameter included for backwards compatibility; in V2, all Pydantic dataclasses are validated on init. kw_only: Determines if `__init__` method parameters must be specified by keyword only. Defaults to `False`. @@ -145,43 +142,10 @@ def dataclass( assert validate_on_init is not False, 'validate_on_init=False is no longer supported' if sys.version_info >= (3, 10): - kwargs = {'kw_only': kw_only, 'slots': slots} + kwargs = dict(kw_only=kw_only, slots=slots) else: kwargs = {} - def make_pydantic_fields_compatible(cls: type[Any]) -> None: - """Make sure that stdlib `dataclasses` understands `Field` kwargs like `kw_only` - To do that, we simply change - `x: int = pydantic.Field(..., kw_only=True)` - into - `x: int = dataclasses.field(default=pydantic.Field(..., kw_only=True), kw_only=True)` - """ - for annotation_cls in cls.__mro__: - annotations: dict[str, Any] = getattr(annotation_cls, '__annotations__', {}) - for field_name in annotations: - field_value = getattr(cls, field_name, None) - # Process only if this is an instance of `FieldInfo`. - if not isinstance(field_value, FieldInfo): - continue - - # Initialize arguments for the standard `dataclasses.field`. - field_args: dict = {'default': field_value} - - # Handle `kw_only` for Python 3.10+ - if sys.version_info >= (3, 10) and field_value.kw_only: - field_args['kw_only'] = True - - # Set `repr` attribute if it's explicitly specified to be not `True`. - if field_value.repr is not True: - field_args['repr'] = field_value.repr - - setattr(cls, field_name, dataclasses.field(**field_args)) - # In Python 3.9, when subclassing, information is pulled from cls.__dict__['__annotations__'] - # for annotations, so we must make sure it's initialized before we add to it. - if cls.__dict__.get('__annotations__') is None: - cls.__annotations__ = {} - cls.__annotations__[field_name] = annotations[field_name] - def create_dataclass(cls: type[Any]) -> type[PydanticDataclass]: """Create a Pydantic dataclass from a regular dataclass. @@ -191,29 +155,14 @@ def dataclass( Returns: A Pydantic dataclass. """ - from ._internal._utils import is_model_class - - if is_model_class(cls): - raise PydanticUserError( - f'Cannot create a Pydantic dataclass from {cls.__name__} as it is already a Pydantic model', - code='dataclass-on-model', - ) - original_cls = cls - # we warn on conflicting config specifications, but only if the class doesn't have a dataclass base - # because a dataclass base might provide a __pydantic_config__ attribute that we don't want to warn about - has_dataclass_base = any(dataclasses.is_dataclass(base) for base in cls.__bases__) - if not has_dataclass_base and config is not None and hasattr(cls, '__pydantic_config__'): - warn( - f'`config` is set via both the `dataclass` decorator and `__pydantic_config__` for dataclass {cls.__name__}. ' - f'The `config` specification from `dataclass` decorator will take priority.', - category=UserWarning, - stacklevel=2, - ) - - # if config is not explicitly provided, try to read it from the type - config_dict = config if config is not None else getattr(cls, '__pydantic_config__', None) + config_dict = config + if config_dict is None: + # if not explicitly provided, read from the type + cls_config = getattr(cls, '__pydantic_config__', None) + if cls_config is not None: + config_dict = cls_config config_wrapper = _config.ConfigWrapper(config_dict) decorators = _decorators.DecoratorInfos.build(cls) @@ -236,22 +185,6 @@ def dataclass( bases = bases + (generic_base,) cls = types.new_class(cls.__name__, bases) - make_pydantic_fields_compatible(cls) - - # Respect frozen setting from dataclass constructor and fallback to config setting if not provided - if frozen is not None: - frozen_ = frozen - if config_wrapper.frozen: - # It's not recommended to define both, as the setting from the dataclass decorator will take priority. - warn( - f'`frozen` is set via both the `dataclass` decorator and `config` for dataclass {cls.__name__!r}.' - 'This is not recommended. The `frozen` specification on `dataclass` will take priority.', - category=UserWarning, - stacklevel=2, - ) - else: - frozen_ = config_wrapper.frozen or False - cls = dataclasses.dataclass( # type: ignore[call-overload] cls, # the value of init here doesn't affect anything except that it makes it easier to generate a signature @@ -260,40 +193,29 @@ def dataclass( eq=eq, order=order, unsafe_hash=unsafe_hash, - frozen=frozen_, + frozen=frozen, **kwargs, ) - # This is an undocumented attribute to distinguish stdlib/Pydantic dataclasses. - # It should be set as early as possible: - cls.__is_pydantic_dataclass__ = True - cls.__pydantic_decorators__ = decorators # type: ignore cls.__doc__ = original_doc cls.__module__ = original_cls.__module__ cls.__qualname__ = original_cls.__qualname__ - cls.__pydantic_fields_complete__ = classmethod(_pydantic_fields_complete) - cls.__pydantic_complete__ = False # `complete_dataclass` will set it to `True` if successful. - # TODO `parent_namespace` is currently None, but we could do the same thing as Pydantic models: - # fetch the parent ns using `parent_frame_namespace` (if the dataclass was defined in a function), - # and possibly cache it (see the `__pydantic_parent_namespace__` logic for models). - _pydantic_dataclasses.complete_dataclass(cls, config_wrapper, raise_errors=False) + pydantic_complete = _pydantic_dataclasses.complete_dataclass( + cls, config_wrapper, raise_errors=False, types_namespace=None + ) + cls.__pydantic_complete__ = pydantic_complete # type: ignore return cls - return create_dataclass if _cls is None else create_dataclass(_cls) + if _cls is None: + return create_dataclass - -def _pydantic_fields_complete(cls: type[PydanticDataclass]) -> bool: - """Return whether the fields where successfully collected (i.e. type hints were successfully resolves). - - This is a private property, not meant to be used outside Pydantic. - """ - return all(field_info._complete for field_info in cls.__pydantic_fields__.values()) + return create_dataclass(_cls) __getattr__ = getattr_migration(__name__) -if sys.version_info < (3, 11): +if (3, 8) <= sys.version_info < (3, 11): # Monkeypatch dataclasses.InitVar so that typing doesn't error if it occurs as a type when evaluating type hints # Starting in 3.11, typing.get_type_hints will not raise an error if the retrieved type hints are not callable. @@ -313,7 +235,7 @@ def rebuild_dataclass( force: bool = False, raise_errors: bool = True, _parent_namespace_depth: int = 2, - _types_namespace: MappingNamespace | None = None, + _types_namespace: dict[str, Any] | None = None, ) -> bool | None: """Try to rebuild the pydantic-core schema for the dataclass. @@ -323,8 +245,8 @@ def rebuild_dataclass( This is analogous to `BaseModel.model_rebuild`. Args: - cls: The class to rebuild the pydantic-core schema for. - force: Whether to force the rebuilding of the schema, defaults to `False`. + cls: The class to build the dataclass core schema for. + force: Whether to force the rebuilding of the model schema, defaults to `False`. raise_errors: Whether to raise errors, defaults to `True`. _parent_namespace_depth: The depth level of the parent namespace, defaults to 2. _types_namespace: The types namespace, defaults to `None`. @@ -335,49 +257,34 @@ def rebuild_dataclass( """ if not force and cls.__pydantic_complete__: return None - - for attr in ('__pydantic_core_schema__', '__pydantic_validator__', '__pydantic_serializer__'): - if attr in cls.__dict__: - # Deleting the validator/serializer is necessary as otherwise they can get reused in - # pydantic-core. Same applies for the core schema that can be reused in schema generation. - delattr(cls, attr) - - cls.__pydantic_complete__ = False - - if _types_namespace is not None: - rebuild_ns = _types_namespace - elif _parent_namespace_depth > 0: - rebuild_ns = _typing_extra.parent_frame_namespace(parent_depth=_parent_namespace_depth, force=True) or {} else: - rebuild_ns = {} + if _types_namespace is not None: + types_namespace: dict[str, Any] | None = _types_namespace.copy() + else: + if _parent_namespace_depth > 0: + frame_parent_ns = _typing_extra.parent_frame_namespace(parent_depth=_parent_namespace_depth) or {} + # Note: we may need to add something similar to cls.__pydantic_parent_namespace__ from BaseModel + # here when implementing handling of recursive generics. See BaseModel.model_rebuild for reference. + types_namespace = frame_parent_ns + else: + types_namespace = {} - ns_resolver = _namespace_utils.NsResolver( - parent_namespace=rebuild_ns, - ) - - return _pydantic_dataclasses.complete_dataclass( - cls, - _config.ConfigWrapper(cls.__pydantic_config__, check=False), - raise_errors=raise_errors, - ns_resolver=ns_resolver, - # We could provide a different config instead (with `'defer_build'` set to `True`) - # of this explicit `_force_build` argument, but because config can come from the - # decorator parameter or the `__pydantic_config__` attribute, `complete_dataclass` - # will overwrite `__pydantic_config__` with the provided config above: - _force_build=True, - ) + types_namespace = _typing_extra.get_cls_types_namespace(cls, types_namespace) + return _pydantic_dataclasses.complete_dataclass( + cls, + _config.ConfigWrapper(cls.__pydantic_config__, check=False), + raise_errors=raise_errors, + types_namespace=types_namespace, + ) -def is_pydantic_dataclass(class_: type[Any], /) -> TypeGuard[type[PydanticDataclass]]: +def is_pydantic_dataclass(__cls: type[Any]) -> TypeGuard[type[PydanticDataclass]]: """Whether a class is a pydantic dataclass. Args: - class_: The class. + __cls: The class. Returns: `True` if the class is a pydantic dataclass, `False` otherwise. """ - try: - return '__is_pydantic_dataclass__' in class_.__dict__ and dataclasses.is_dataclass(class_) - except AttributeError: - return False + return dataclasses.is_dataclass(__cls) and '__pydantic_validator__' in __cls.__dict__ diff --git a/venv/lib/python3.12/site-packages/pydantic/datetime_parse.py b/venv/lib/python3.12/site-packages/pydantic/datetime_parse.py index 53d5264..902219d 100644 --- a/venv/lib/python3.12/site-packages/pydantic/datetime_parse.py +++ b/venv/lib/python3.12/site-packages/pydantic/datetime_parse.py @@ -1,5 +1,4 @@ """The `datetime_parse` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/decorator.py b/venv/lib/python3.12/site-packages/pydantic/decorator.py index 0d97560..c364346 100644 --- a/venv/lib/python3.12/site-packages/pydantic/decorator.py +++ b/venv/lib/python3.12/site-packages/pydantic/decorator.py @@ -1,5 +1,4 @@ """The `decorator` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/deprecated/class_validators.py b/venv/lib/python3.12/site-packages/pydantic/deprecated/class_validators.py index ad92864..dc65e75 100644 --- a/venv/lib/python3.12/site-packages/pydantic/deprecated/class_validators.py +++ b/venv/lib/python3.12/site-packages/pydantic/deprecated/class_validators.py @@ -4,10 +4,10 @@ from __future__ import annotations as _annotations from functools import partial, partialmethod from types import FunctionType -from typing import TYPE_CHECKING, Any, Callable, Literal, TypeVar, Union, overload +from typing import TYPE_CHECKING, Any, Callable, TypeVar, Union, overload from warnings import warn -from typing_extensions import Protocol, TypeAlias, deprecated +from typing_extensions import Literal, Protocol, TypeAlias from .._internal import _decorators, _decorators_v1 from ..errors import PydanticUserError @@ -19,24 +19,30 @@ _ALLOW_REUSE_WARNING_MESSAGE = '`allow_reuse` is deprecated and will be ignored; if TYPE_CHECKING: class _OnlyValueValidatorClsMethod(Protocol): - def __call__(self, __cls: Any, __value: Any) -> Any: ... + def __call__(self, __cls: Any, __value: Any) -> Any: + ... class _V1ValidatorWithValuesClsMethod(Protocol): - def __call__(self, __cls: Any, __value: Any, values: dict[str, Any]) -> Any: ... + def __call__(self, __cls: Any, __value: Any, values: dict[str, Any]) -> Any: + ... class _V1ValidatorWithValuesKwOnlyClsMethod(Protocol): - def __call__(self, __cls: Any, __value: Any, *, values: dict[str, Any]) -> Any: ... + def __call__(self, __cls: Any, __value: Any, *, values: dict[str, Any]) -> Any: + ... class _V1ValidatorWithKwargsClsMethod(Protocol): - def __call__(self, __cls: Any, **kwargs: Any) -> Any: ... + def __call__(self, __cls: Any, **kwargs: Any) -> Any: + ... class _V1ValidatorWithValuesAndKwargsClsMethod(Protocol): - def __call__(self, __cls: Any, values: dict[str, Any], **kwargs: Any) -> Any: ... + def __call__(self, __cls: Any, values: dict[str, Any], **kwargs: Any) -> Any: + ... class _V1RootValidatorClsMethod(Protocol): def __call__( self, __cls: Any, __values: _decorators_v1.RootValidatorValues - ) -> _decorators_v1.RootValidatorValues: ... + ) -> _decorators_v1.RootValidatorValues: + ... V1Validator = Union[ _OnlyValueValidatorClsMethod, @@ -73,12 +79,6 @@ else: DeprecationWarning = PydanticDeprecatedSince20 -@deprecated( - 'Pydantic V1 style `@validator` validators are deprecated.' - ' You should migrate to Pydantic V2 style `@field_validator` validators,' - ' see the migration guide for more details', - category=None, -) def validator( __field: str, *fields: str, @@ -94,7 +94,7 @@ def validator( __field (str): The first field the validator should be called on; this is separate from `fields` to ensure an error is raised if you don't pass at least one. *fields (str): Additional field(s) the validator should be called on. - pre (bool, optional): Whether this validator should be called before the standard + pre (bool, optional): Whether or not this validator should be called before the standard validators (else after). Defaults to False. each_item (bool, optional): For complex objects (sets, lists etc.) whether to validate individual elements rather than the whole object. Defaults to False. @@ -109,6 +109,22 @@ def validator( Callable: A decorator that can be used to decorate a function to be used as a validator. """ + if allow_reuse is True: # pragma: no cover + warn(_ALLOW_REUSE_WARNING_MESSAGE, DeprecationWarning) + fields = tuple((__field, *fields)) + if isinstance(fields[0], FunctionType): + raise PydanticUserError( + "`@validator` should be used with fields and keyword arguments, not bare. " + "E.g. usage should be `@validator('', ...)`", + code='validator-no-fields', + ) + elif not all(isinstance(field, str) for field in fields): + raise PydanticUserError( + "`@validator` fields should be passed as separate string args. " + "E.g. usage should be `@validator('', '', ...)`", + code='validator-invalid-fields', + ) + warn( 'Pydantic V1 style `@validator` validators are deprecated.' ' You should migrate to Pydantic V2 style `@field_validator` validators,' @@ -117,22 +133,6 @@ def validator( stacklevel=2, ) - if allow_reuse is True: # pragma: no cover - warn(_ALLOW_REUSE_WARNING_MESSAGE, DeprecationWarning) - fields = __field, *fields - if isinstance(fields[0], FunctionType): - raise PydanticUserError( - '`@validator` should be used with fields and keyword arguments, not bare. ' - "E.g. usage should be `@validator('', ...)`", - code='validator-no-fields', - ) - elif not all(isinstance(field, str) for field in fields): - raise PydanticUserError( - '`@validator` fields should be passed as separate string args. ' - "E.g. usage should be `@validator('', '', ...)`", - code='validator-invalid-fields', - ) - mode: Literal['before', 'after'] = 'before' if pre is True else 'after' def dec(f: Any) -> _decorators.PydanticDescriptorProxy[Any]: @@ -162,10 +162,8 @@ def root_validator( # which means you need to specify `skip_on_failure=True` skip_on_failure: Literal[True], allow_reuse: bool = ..., -) -> Callable[ - [_V1RootValidatorFunctionType], - _V1RootValidatorFunctionType, -]: ... +) -> Callable[[_V1RootValidatorFunctionType], _V1RootValidatorFunctionType,]: + ... @overload @@ -175,10 +173,8 @@ def root_validator( # `skip_on_failure`, in fact it is not allowed as an argument! pre: Literal[True], allow_reuse: bool = ..., -) -> Callable[ - [_V1RootValidatorFunctionType], - _V1RootValidatorFunctionType, -]: ... +) -> Callable[[_V1RootValidatorFunctionType], _V1RootValidatorFunctionType,]: + ... @overload @@ -189,18 +185,10 @@ def root_validator( pre: Literal[False], skip_on_failure: Literal[True], allow_reuse: bool = ..., -) -> Callable[ - [_V1RootValidatorFunctionType], - _V1RootValidatorFunctionType, -]: ... +) -> Callable[[_V1RootValidatorFunctionType], _V1RootValidatorFunctionType,]: + ... -@deprecated( - 'Pydantic V1 style `@root_validator` validators are deprecated.' - ' You should migrate to Pydantic V2 style `@model_validator` validators,' - ' see the migration guide for more details', - category=None, -) def root_validator( *__args, pre: bool = False, diff --git a/venv/lib/python3.12/site-packages/pydantic/deprecated/config.py b/venv/lib/python3.12/site-packages/pydantic/deprecated/config.py index bd4692a..7409847 100644 --- a/venv/lib/python3.12/site-packages/pydantic/deprecated/config.py +++ b/venv/lib/python3.12/site-packages/pydantic/deprecated/config.py @@ -1,9 +1,9 @@ from __future__ import annotations as _annotations import warnings -from typing import TYPE_CHECKING, Any, Literal +from typing import TYPE_CHECKING, Any -from typing_extensions import deprecated +from typing_extensions import Literal, deprecated from .._internal import _config from ..warnings import PydanticDeprecatedSince20 @@ -18,10 +18,10 @@ __all__ = 'BaseConfig', 'Extra' class _ConfigMetaclass(type): def __getattr__(self, item: str) -> Any: + warnings.warn(_config.DEPRECATION_MESSAGE, DeprecationWarning) + try: - obj = _config.config_defaults[item] - warnings.warn(_config.DEPRECATION_MESSAGE, DeprecationWarning) - return obj + return _config.config_defaults[item] except KeyError as exc: raise AttributeError(f"type object '{self.__name__}' has no attribute {exc}") from exc @@ -35,10 +35,9 @@ class BaseConfig(metaclass=_ConfigMetaclass): """ def __getattr__(self, item: str) -> Any: + warnings.warn(_config.DEPRECATION_MESSAGE, DeprecationWarning) try: - obj = super().__getattribute__(item) - warnings.warn(_config.DEPRECATION_MESSAGE, DeprecationWarning) - return obj + return super().__getattribute__(item) except AttributeError as exc: try: return getattr(type(self), item) diff --git a/venv/lib/python3.12/site-packages/pydantic/deprecated/copy_internals.py b/venv/lib/python3.12/site-packages/pydantic/deprecated/copy_internals.py index 1b0dc12..efe5de2 100644 --- a/venv/lib/python3.12/site-packages/pydantic/deprecated/copy_internals.py +++ b/venv/lib/python3.12/site-packages/pydantic/deprecated/copy_internals.py @@ -3,7 +3,7 @@ from __future__ import annotations as _annotations import typing from copy import deepcopy from enum import Enum -from typing import Any +from typing import Any, Tuple import typing_extensions @@ -18,7 +18,7 @@ if typing.TYPE_CHECKING: from .._internal._utils import AbstractSetIntStr, MappingIntStrAny AnyClassMethod = classmethod[Any, Any, Any] - TupleGenerator = typing.Generator[tuple[str, Any], None, None] + TupleGenerator = typing.Generator[Tuple[str, Any], None, None] Model = typing.TypeVar('Model', bound='BaseModel') # should be `set[int] | set[str] | dict[int, IncEx] | dict[str, IncEx] | None`, but mypy can't cope IncEx: typing_extensions.TypeAlias = 'set[int] | set[str] | dict[int, Any] | dict[str, Any] | None' @@ -40,11 +40,11 @@ def _iter( # The extra "is not None" guards are not logically necessary but optimizes performance for the simple case. if exclude is not None: exclude = _utils.ValueItems.merge( - {k: v.exclude for k, v in self.__pydantic_fields__.items() if v.exclude is not None}, exclude + {k: v.exclude for k, v in self.model_fields.items() if v.exclude is not None}, exclude ) if include is not None: - include = _utils.ValueItems.merge({k: True for k in self.__pydantic_fields__}, include, intersect=True) + include = _utils.ValueItems.merge({k: True for k in self.model_fields}, include, intersect=True) allowed_keys = _calculate_keys(self, include=include, exclude=exclude, exclude_unset=exclude_unset) # type: ignore if allowed_keys is None and not (to_dict or by_alias or exclude_unset or exclude_defaults or exclude_none): @@ -68,15 +68,15 @@ def _iter( if exclude_defaults: try: - field = self.__pydantic_fields__[field_key] + field = self.model_fields[field_key] except KeyError: pass else: if not field.is_required() and field.default == v: continue - if by_alias and field_key in self.__pydantic_fields__: - dict_key = self.__pydantic_fields__[field_key].alias or field_key + if by_alias and field_key in self.model_fields: + dict_key = self.model_fields[field_key].alias or field_key else: dict_key = field_key @@ -200,7 +200,7 @@ def _calculate_keys( include: MappingIntStrAny | None, exclude: MappingIntStrAny | None, exclude_unset: bool, - update: dict[str, Any] | None = None, # noqa UP006 + update: typing.Dict[str, Any] | None = None, # noqa UP006 ) -> typing.AbstractSet[str] | None: if include is None and exclude is None and exclude_unset is False: return None diff --git a/venv/lib/python3.12/site-packages/pydantic/deprecated/decorator.py b/venv/lib/python3.12/site-packages/pydantic/deprecated/decorator.py index e73ad20..11244ba 100644 --- a/venv/lib/python3.12/site-packages/pydantic/deprecated/decorator.py +++ b/venv/lib/python3.12/site-packages/pydantic/deprecated/decorator.py @@ -1,7 +1,6 @@ import warnings -from collections.abc import Mapping from functools import wraps -from typing import TYPE_CHECKING, Any, Callable, Optional, TypeVar, Union, overload +from typing import TYPE_CHECKING, Any, Callable, Dict, List, Mapping, Optional, Tuple, Type, TypeVar, Union, overload from typing_extensions import deprecated @@ -23,29 +22,29 @@ if TYPE_CHECKING: AnyCallable = Callable[..., Any] AnyCallableT = TypeVar('AnyCallableT', bound=AnyCallable) - ConfigType = Union[None, type[Any], dict[str, Any]] + ConfigType = Union[None, Type[Any], Dict[str, Any]] @overload -def validate_arguments( - func: None = None, *, config: 'ConfigType' = None -) -> Callable[['AnyCallableT'], 'AnyCallableT']: ... - - -@overload -def validate_arguments(func: 'AnyCallableT') -> 'AnyCallableT': ... - - @deprecated( - 'The `validate_arguments` method is deprecated; use `validate_call` instead.', - category=None, + 'The `validate_arguments` method is deprecated; use `validate_call` instead.', category=PydanticDeprecatedSince20 ) +def validate_arguments(func: None = None, *, config: 'ConfigType' = None) -> Callable[['AnyCallableT'], 'AnyCallableT']: + ... + + +@overload +@deprecated( + 'The `validate_arguments` method is deprecated; use `validate_call` instead.', category=PydanticDeprecatedSince20 +) +def validate_arguments(func: 'AnyCallableT') -> 'AnyCallableT': + ... + + def validate_arguments(func: Optional['AnyCallableT'] = None, *, config: 'ConfigType' = None) -> Any: """Decorator to validate the arguments passed to a function.""" warnings.warn( - 'The `validate_arguments` method is deprecated; use `validate_call` instead.', - PydanticDeprecatedSince20, - stacklevel=2, + 'The `validate_arguments` method is deprecated; use `validate_call` instead.', DeprecationWarning, stacklevel=2 ) def validate(_func: 'AnyCallable') -> 'AnyCallable': @@ -87,7 +86,7 @@ class ValidatedFunction: ) self.raw_function = function - self.arg_mapping: dict[int, str] = {} + self.arg_mapping: Dict[int, str] = {} self.positional_only_args: set[str] = set() self.v_args_name = 'args' self.v_kwargs_name = 'kwargs' @@ -95,7 +94,7 @@ class ValidatedFunction: type_hints = _typing_extra.get_type_hints(function, include_extras=True) takes_args = False takes_kwargs = False - fields: dict[str, tuple[Any, Any]] = {} + fields: Dict[str, Tuple[Any, Any]] = {} for i, (name, p) in enumerate(parameters.items()): if p.annotation is p.empty: annotation = Any @@ -106,22 +105,22 @@ class ValidatedFunction: if p.kind == Parameter.POSITIONAL_ONLY: self.arg_mapping[i] = name fields[name] = annotation, default - fields[V_POSITIONAL_ONLY_NAME] = list[str], None + fields[V_POSITIONAL_ONLY_NAME] = List[str], None self.positional_only_args.add(name) elif p.kind == Parameter.POSITIONAL_OR_KEYWORD: self.arg_mapping[i] = name fields[name] = annotation, default - fields[V_DUPLICATE_KWARGS] = list[str], None + fields[V_DUPLICATE_KWARGS] = List[str], None elif p.kind == Parameter.KEYWORD_ONLY: fields[name] = annotation, default elif p.kind == Parameter.VAR_POSITIONAL: self.v_args_name = name - fields[name] = tuple[annotation, ...], None + fields[name] = Tuple[annotation, ...], None takes_args = True else: assert p.kind == Parameter.VAR_KEYWORD, p.kind self.v_kwargs_name = name - fields[name] = dict[str, annotation], None + fields[name] = Dict[str, annotation], None takes_kwargs = True # these checks avoid a clash between "args" and a field with that name @@ -134,11 +133,11 @@ class ValidatedFunction: if not takes_args: # we add the field so validation below can raise the correct exception - fields[self.v_args_name] = list[Any], None + fields[self.v_args_name] = List[Any], None if not takes_kwargs: # same with kwargs - fields[self.v_kwargs_name] = dict[Any, Any], None + fields[self.v_kwargs_name] = Dict[Any, Any], None self.create_model(fields, takes_args, takes_kwargs, config) @@ -150,8 +149,8 @@ class ValidatedFunction: m = self.init_model_instance(*args, **kwargs) return self.execute(m) - def build_values(self, args: tuple[Any, ...], kwargs: dict[str, Any]) -> dict[str, Any]: - values: dict[str, Any] = {} + def build_values(self, args: Tuple[Any, ...], kwargs: Dict[str, Any]) -> Dict[str, Any]: + values: Dict[str, Any] = {} if args: arg_iter = enumerate(args) while True: @@ -166,15 +165,15 @@ class ValidatedFunction: values[self.v_args_name] = [a] + [a for _, a in arg_iter] break - var_kwargs: dict[str, Any] = {} + var_kwargs: Dict[str, Any] = {} wrong_positional_args = [] duplicate_kwargs = [] fields_alias = [ field.alias - for name, field in self.model.__pydantic_fields__.items() + for name, field in self.model.model_fields.items() if name not in (self.v_args_name, self.v_kwargs_name) ] - non_var_fields = set(self.model.__pydantic_fields__) - {self.v_args_name, self.v_kwargs_name} + non_var_fields = set(self.model.model_fields) - {self.v_args_name, self.v_kwargs_name} for k, v in kwargs.items(): if k in non_var_fields or k in fields_alias: if k in self.positional_only_args: @@ -194,15 +193,11 @@ class ValidatedFunction: return values def execute(self, m: BaseModel) -> Any: - d = { - k: v - for k, v in m.__dict__.items() - if k in m.__pydantic_fields_set__ or m.__pydantic_fields__[k].default_factory - } + d = {k: v for k, v in m.__dict__.items() if k in m.__pydantic_fields_set__ or m.model_fields[k].default_factory} var_kwargs = d.pop(self.v_kwargs_name, {}) if self.v_args_name in d: - args_: list[Any] = [] + args_: List[Any] = [] in_kwargs = False kwargs = {} for name, value in d.items(): @@ -226,7 +221,7 @@ class ValidatedFunction: else: return self.raw_function(**d, **var_kwargs) - def create_model(self, fields: dict[str, Any], takes_args: bool, takes_kwargs: bool, config: 'ConfigType') -> None: + def create_model(self, fields: Dict[str, Any], takes_args: bool, takes_kwargs: bool, config: 'ConfigType') -> None: pos_args = len(self.arg_mapping) config_wrapper = _config.ConfigWrapper(config) @@ -243,7 +238,7 @@ class ValidatedFunction: class DecoratorBaseModel(BaseModel): @field_validator(self.v_args_name, check_fields=False) @classmethod - def check_args(cls, v: Optional[list[Any]]) -> Optional[list[Any]]: + def check_args(cls, v: Optional[List[Any]]) -> Optional[List[Any]]: if takes_args or v is None: return v @@ -251,7 +246,7 @@ class ValidatedFunction: @field_validator(self.v_kwargs_name, check_fields=False) @classmethod - def check_kwargs(cls, v: Optional[dict[str, Any]]) -> Optional[dict[str, Any]]: + def check_kwargs(cls, v: Optional[Dict[str, Any]]) -> Optional[Dict[str, Any]]: if takes_kwargs or v is None: return v @@ -261,7 +256,7 @@ class ValidatedFunction: @field_validator(V_POSITIONAL_ONLY_NAME, check_fields=False) @classmethod - def check_positional_only(cls, v: Optional[list[str]]) -> None: + def check_positional_only(cls, v: Optional[List[str]]) -> None: if v is None: return @@ -271,7 +266,7 @@ class ValidatedFunction: @field_validator(V_DUPLICATE_KWARGS, check_fields=False) @classmethod - def check_duplicate_kwargs(cls, v: Optional[list[str]]) -> None: + def check_duplicate_kwargs(cls, v: Optional[List[str]]) -> None: if v is None: return diff --git a/venv/lib/python3.12/site-packages/pydantic/deprecated/json.py b/venv/lib/python3.12/site-packages/pydantic/deprecated/json.py index 1e216a7..d067353 100644 --- a/venv/lib/python3.12/site-packages/pydantic/deprecated/json.py +++ b/venv/lib/python3.12/site-packages/pydantic/deprecated/json.py @@ -7,12 +7,11 @@ from ipaddress import IPv4Address, IPv4Interface, IPv4Network, IPv6Address, IPv6 from pathlib import Path from re import Pattern from types import GeneratorType -from typing import TYPE_CHECKING, Any, Callable, Union +from typing import TYPE_CHECKING, Any, Callable, Dict, Type, Union from uuid import UUID from typing_extensions import deprecated -from .._internal._import_utils import import_cached_base_model from ..color import Color from ..networks import NameEmail from ..types import SecretBytes, SecretStr @@ -51,7 +50,7 @@ def decimal_encoder(dec_value: Decimal) -> Union[int, float]: return float(dec_value) -ENCODERS_BY_TYPE: dict[type[Any], Callable[[Any], Any]] = { +ENCODERS_BY_TYPE: Dict[Type[Any], Callable[[Any], Any]] = { bytes: lambda o: o.decode(), Color: str, datetime.date: isoformat, @@ -80,23 +79,18 @@ ENCODERS_BY_TYPE: dict[type[Any], Callable[[Any], Any]] = { @deprecated( - '`pydantic_encoder` is deprecated, use `pydantic_core.to_jsonable_python` instead.', - category=None, + 'pydantic_encoder is deprecated, use pydantic_core.to_jsonable_python instead.', category=PydanticDeprecatedSince20 ) def pydantic_encoder(obj: Any) -> Any: - warnings.warn( - '`pydantic_encoder` is deprecated, use `pydantic_core.to_jsonable_python` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) from dataclasses import asdict, is_dataclass - BaseModel = import_cached_base_model() + from ..main import BaseModel + warnings.warn('pydantic_encoder is deprecated, use BaseModel.model_dump instead.', DeprecationWarning, stacklevel=2) if isinstance(obj, BaseModel): return obj.model_dump() elif is_dataclass(obj): - return asdict(obj) # type: ignore + return asdict(obj) # Check the class type and its superclasses for a matching encoder for base in obj.__class__.__mro__[:-1]: @@ -110,17 +104,12 @@ def pydantic_encoder(obj: Any) -> Any: # TODO: Add a suggested migration path once there is a way to use custom encoders -@deprecated( - '`custom_pydantic_encoder` is deprecated, use `BaseModel.model_dump` instead.', - category=None, -) -def custom_pydantic_encoder(type_encoders: dict[Any, Callable[[type[Any]], Any]], obj: Any) -> Any: - warnings.warn( - '`custom_pydantic_encoder` is deprecated, use `BaseModel.model_dump` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) +@deprecated('custom_pydantic_encoder is deprecated.', category=PydanticDeprecatedSince20) +def custom_pydantic_encoder(type_encoders: Dict[Any, Callable[[Type[Any]], Any]], obj: Any) -> Any: # Check the class type and its superclasses for a matching encoder + warnings.warn( + 'custom_pydantic_encoder is deprecated, use BaseModel.model_dump instead.', DeprecationWarning, stacklevel=2 + ) for base in obj.__class__.__mro__[:-1]: try: encoder = type_encoders[base] @@ -132,10 +121,10 @@ def custom_pydantic_encoder(type_encoders: dict[Any, Callable[[type[Any]], Any]] return pydantic_encoder(obj) -@deprecated('`timedelta_isoformat` is deprecated.', category=None) +@deprecated('timedelta_isoformat is deprecated.', category=PydanticDeprecatedSince20) def timedelta_isoformat(td: datetime.timedelta) -> str: """ISO 8601 encoding for Python timedelta object.""" - warnings.warn('`timedelta_isoformat` is deprecated.', category=PydanticDeprecatedSince20, stacklevel=2) + warnings.warn('timedelta_isoformat is deprecated.', DeprecationWarning, stacklevel=2) minutes, seconds = divmod(td.seconds, 60) hours, minutes = divmod(minutes, 60) return f'{"-" if td.days < 0 else ""}P{abs(td.days)}DT{hours:d}H{minutes:d}M{seconds:d}.{td.microseconds:06d}S' diff --git a/venv/lib/python3.12/site-packages/pydantic/deprecated/parse.py b/venv/lib/python3.12/site-packages/pydantic/deprecated/parse.py index 2a92e62..12d0d06 100644 --- a/venv/lib/python3.12/site-packages/pydantic/deprecated/parse.py +++ b/venv/lib/python3.12/site-packages/pydantic/deprecated/parse.py @@ -22,7 +22,7 @@ class Protocol(str, Enum): pickle = 'pickle' -@deprecated('`load_str_bytes` is deprecated.', category=None) +@deprecated('load_str_bytes is deprecated.', category=PydanticDeprecatedSince20) def load_str_bytes( b: str | bytes, *, @@ -32,7 +32,7 @@ def load_str_bytes( allow_pickle: bool = False, json_loads: Callable[[str], Any] = json.loads, ) -> Any: - warnings.warn('`load_str_bytes` is deprecated.', category=PydanticDeprecatedSince20, stacklevel=2) + warnings.warn('load_str_bytes is deprecated.', DeprecationWarning, stacklevel=2) if proto is None and content_type: if content_type.endswith(('json', 'javascript')): pass @@ -46,17 +46,17 @@ def load_str_bytes( if proto == Protocol.json: if isinstance(b, bytes): b = b.decode(encoding) - return json_loads(b) # type: ignore + return json_loads(b) elif proto == Protocol.pickle: if not allow_pickle: raise RuntimeError('Trying to decode with pickle with allow_pickle=False') - bb = b if isinstance(b, bytes) else b.encode() # type: ignore + bb = b if isinstance(b, bytes) else b.encode() return pickle.loads(bb) else: raise TypeError(f'Unknown protocol: {proto}') -@deprecated('`load_file` is deprecated.', category=None) +@deprecated('load_file is deprecated.', category=PydanticDeprecatedSince20) def load_file( path: str | Path, *, @@ -66,7 +66,7 @@ def load_file( allow_pickle: bool = False, json_loads: Callable[[str], Any] = json.loads, ) -> Any: - warnings.warn('`load_file` is deprecated.', category=PydanticDeprecatedSince20, stacklevel=2) + warnings.warn('load_file is deprecated.', DeprecationWarning, stacklevel=2) path = Path(path) b = path.read_bytes() if content_type is None: diff --git a/venv/lib/python3.12/site-packages/pydantic/deprecated/tools.py b/venv/lib/python3.12/site-packages/pydantic/deprecated/tools.py index 5ad7fae..2b05d38 100644 --- a/venv/lib/python3.12/site-packages/pydantic/deprecated/tools.py +++ b/venv/lib/python3.12/site-packages/pydantic/deprecated/tools.py @@ -2,7 +2,7 @@ from __future__ import annotations import json import warnings -from typing import TYPE_CHECKING, Any, Callable, TypeVar, Union +from typing import TYPE_CHECKING, Any, Callable, Type, TypeVar, Union from typing_extensions import deprecated @@ -17,20 +17,19 @@ if not TYPE_CHECKING: __all__ = 'parse_obj_as', 'schema_of', 'schema_json_of' -NameFactory = Union[str, Callable[[type[Any]], str]] +NameFactory = Union[str, Callable[[Type[Any]], str]] T = TypeVar('T') @deprecated( - '`parse_obj_as` is deprecated. Use `pydantic.TypeAdapter.validate_python` instead.', - category=None, + 'parse_obj_as is deprecated. Use pydantic.TypeAdapter.validate_python instead.', category=PydanticDeprecatedSince20 ) def parse_obj_as(type_: type[T], obj: Any, type_name: NameFactory | None = None) -> T: warnings.warn( - '`parse_obj_as` is deprecated. Use `pydantic.TypeAdapter.validate_python` instead.', - category=PydanticDeprecatedSince20, + 'parse_obj_as is deprecated. Use pydantic.TypeAdapter.validate_python instead.', + DeprecationWarning, stacklevel=2, ) if type_name is not None: # pragma: no cover @@ -43,8 +42,7 @@ def parse_obj_as(type_: type[T], obj: Any, type_name: NameFactory | None = None) @deprecated( - '`schema_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.', - category=None, + 'schema_of is deprecated. Use pydantic.TypeAdapter.json_schema instead.', category=PydanticDeprecatedSince20 ) def schema_of( type_: Any, @@ -56,9 +54,7 @@ def schema_of( ) -> dict[str, Any]: """Generate a JSON schema (as dict) for the passed model or dynamically generated one.""" warnings.warn( - '`schema_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, + 'schema_of is deprecated. Use pydantic.TypeAdapter.json_schema instead.', DeprecationWarning, stacklevel=2 ) res = TypeAdapter(type_).json_schema( by_alias=by_alias, @@ -79,8 +75,7 @@ def schema_of( @deprecated( - '`schema_json_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.', - category=None, + 'schema_json_of is deprecated. Use pydantic.TypeAdapter.json_schema instead.', category=PydanticDeprecatedSince20 ) def schema_json_of( type_: Any, @@ -93,9 +88,7 @@ def schema_json_of( ) -> str: """Generate a JSON schema (as JSON) for the passed model or dynamically generated one.""" warnings.warn( - '`schema_json_of` is deprecated. Use `pydantic.TypeAdapter.json_schema` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, + 'schema_json_of is deprecated. Use pydantic.TypeAdapter.json_schema instead.', DeprecationWarning, stacklevel=2 ) return json.dumps( schema_of(type_, title=title, by_alias=by_alias, ref_template=ref_template, schema_generator=schema_generator), diff --git a/venv/lib/python3.12/site-packages/pydantic/env_settings.py b/venv/lib/python3.12/site-packages/pydantic/env_settings.py index cd0b04e..662f590 100644 --- a/venv/lib/python3.12/site-packages/pydantic/env_settings.py +++ b/venv/lib/python3.12/site-packages/pydantic/env_settings.py @@ -1,5 +1,4 @@ """The `env_settings` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/error_wrappers.py b/venv/lib/python3.12/site-packages/pydantic/error_wrappers.py index 2985419..5144eee 100644 --- a/venv/lib/python3.12/site-packages/pydantic/error_wrappers.py +++ b/venv/lib/python3.12/site-packages/pydantic/error_wrappers.py @@ -1,5 +1,4 @@ """The `error_wrappers` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/errors.py b/venv/lib/python3.12/site-packages/pydantic/errors.py index f227068..ddca0e2 100644 --- a/venv/lib/python3.12/site-packages/pydantic/errors.py +++ b/venv/lib/python3.12/site-packages/pydantic/errors.py @@ -1,14 +1,9 @@ """Pydantic-specific errors.""" - from __future__ import annotations as _annotations import re -from typing import Any, ClassVar, Literal -from typing_extensions import Self -from typing_inspection.introspection import Qualifier - -from pydantic._internal import _repr +from typing_extensions import Literal, Self from ._migration import getattr_migration from .version import version_short @@ -19,7 +14,6 @@ __all__ = ( 'PydanticImportError', 'PydanticSchemaGenerationError', 'PydanticInvalidForJsonSchema', - 'PydanticForbiddenQualifier', 'PydanticErrorCodes', ) @@ -36,13 +30,11 @@ PydanticErrorCodes = Literal[ 'discriminator-needs-literal', 'discriminator-alias', 'discriminator-validator', - 'callable-discriminator-no-tag', 'typed-dict-version', 'model-field-overridden', 'model-field-missing-annotation', 'config-both', 'removed-kwargs', - 'circular-reference-schema', 'invalid-for-json-schema', 'json-schema-already-used', 'base-model-instantiated', @@ -50,10 +42,10 @@ PydanticErrorCodes = Literal[ 'schema-for-unknown-type', 'import-error', 'create-model-field-definitions', + 'create-model-config-base', 'validator-no-fields', 'validator-invalid-fields', 'validator-instance-method', - 'validator-input-type', 'root-validator-pre-skip', 'model-serializer-instance-method', 'validator-field-config-info', @@ -62,20 +54,9 @@ PydanticErrorCodes = Literal[ 'field-serializer-signature', 'model-serializer-signature', 'multiple-field-serializers', - 'invalid-annotated-type', + 'invalid_annotated_type', 'type-adapter-config-unused', 'root-model-extra', - 'unevaluable-type-annotation', - 'dataclass-init-false-extra-allow', - 'clashing-init-and-init-var', - 'model-config-invalid-field-name', - 'with-config-on-model', - 'dataclass-on-model', - 'validate-call-type', - 'unpack-typed-dict', - 'overlapping-unpack-typed-dict', - 'invalid-self-type', - 'validate-by-alias-and-name-false', ] @@ -164,26 +145,4 @@ class PydanticInvalidForJsonSchema(PydanticUserError): super().__init__(message, code='invalid-for-json-schema') -class PydanticForbiddenQualifier(PydanticUserError): - """An error raised if a forbidden type qualifier is found in a type annotation.""" - - _qualifier_repr_map: ClassVar[dict[Qualifier, str]] = { - 'required': 'typing.Required', - 'not_required': 'typing.NotRequired', - 'read_only': 'typing.ReadOnly', - 'class_var': 'typing.ClassVar', - 'init_var': 'dataclasses.InitVar', - 'final': 'typing.Final', - } - - def __init__(self, qualifier: Qualifier, annotation: Any) -> None: - super().__init__( - message=( - f'The annotation {_repr.display_as_type(annotation)!r} contains the {self._qualifier_repr_map[qualifier]!r} ' - f'type qualifier, which is invalid in the context it is defined.' - ), - code=None, - ) - - __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/experimental/__init__.py b/venv/lib/python3.12/site-packages/pydantic/experimental/__init__.py deleted file mode 100644 index 4aa58c6..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/experimental/__init__.py +++ /dev/null @@ -1,10 +0,0 @@ -"""The "experimental" module of pydantic contains potential new features that are subject to change.""" - -import warnings - -from pydantic.warnings import PydanticExperimentalWarning - -warnings.warn( - 'This module is experimental, its contents are subject to change and deprecation.', - category=PydanticExperimentalWarning, -) diff --git a/venv/lib/python3.12/site-packages/pydantic/experimental/arguments_schema.py b/venv/lib/python3.12/site-packages/pydantic/experimental/arguments_schema.py deleted file mode 100644 index af4a8f3..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/experimental/arguments_schema.py +++ /dev/null @@ -1,44 +0,0 @@ -"""Experimental module exposing a function to generate a core schema that validates callable arguments.""" - -from __future__ import annotations - -from collections.abc import Callable -from typing import Any, Literal - -from pydantic_core import CoreSchema - -from pydantic import ConfigDict -from pydantic._internal import _config, _generate_schema, _namespace_utils - - -def generate_arguments_schema( - func: Callable[..., Any], - schema_type: Literal['arguments', 'arguments-v3'] = 'arguments-v3', - parameters_callback: Callable[[int, str, Any], Literal['skip'] | None] | None = None, - config: ConfigDict | None = None, -) -> CoreSchema: - """Generate the schema for the arguments of a function. - - Args: - func: The function to generate the schema for. - schema_type: The type of schema to generate. - parameters_callback: A callable that will be invoked for each parameter. The callback - should take three required arguments: the index, the name and the type annotation - (or [`Parameter.empty`][inspect.Parameter.empty] if not annotated) of the parameter. - The callback can optionally return `'skip'`, so that the parameter gets excluded - from the resulting schema. - config: The configuration to use. - - Returns: - The generated schema. - """ - generate_schema = _generate_schema.GenerateSchema( - _config.ConfigWrapper(config), - ns_resolver=_namespace_utils.NsResolver(namespaces_tuple=_namespace_utils.ns_for_function(func)), - ) - - if schema_type == 'arguments': - schema = generate_schema._arguments_schema(func, parameters_callback) # pyright: ignore[reportArgumentType] - else: - schema = generate_schema._arguments_v3_schema(func, parameters_callback) # pyright: ignore[reportArgumentType] - return generate_schema.clean_schema(schema) diff --git a/venv/lib/python3.12/site-packages/pydantic/experimental/pipeline.py b/venv/lib/python3.12/site-packages/pydantic/experimental/pipeline.py deleted file mode 100644 index bd63d98..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/experimental/pipeline.py +++ /dev/null @@ -1,667 +0,0 @@ -"""Experimental pipeline API functionality. Be careful with this API, it's subject to change.""" - -from __future__ import annotations - -import datetime -import operator -import re -import sys -from collections import deque -from collections.abc import Container -from dataclasses import dataclass -from decimal import Decimal -from functools import cached_property, partial -from re import Pattern -from typing import TYPE_CHECKING, Annotated, Any, Callable, Generic, Protocol, TypeVar, Union, overload - -import annotated_types - -if TYPE_CHECKING: - from pydantic_core import core_schema as cs - - from pydantic import GetCoreSchemaHandler - -from pydantic._internal._internal_dataclass import slots_true as _slots_true - -if sys.version_info < (3, 10): - EllipsisType = type(Ellipsis) -else: - from types import EllipsisType - -__all__ = ['validate_as', 'validate_as_deferred', 'transform'] - -_slots_frozen = {**_slots_true, 'frozen': True} - - -@dataclass(**_slots_frozen) -class _ValidateAs: - tp: type[Any] - strict: bool = False - - -@dataclass -class _ValidateAsDefer: - func: Callable[[], type[Any]] - - @cached_property - def tp(self) -> type[Any]: - return self.func() - - -@dataclass(**_slots_frozen) -class _Transform: - func: Callable[[Any], Any] - - -@dataclass(**_slots_frozen) -class _PipelineOr: - left: _Pipeline[Any, Any] - right: _Pipeline[Any, Any] - - -@dataclass(**_slots_frozen) -class _PipelineAnd: - left: _Pipeline[Any, Any] - right: _Pipeline[Any, Any] - - -@dataclass(**_slots_frozen) -class _Eq: - value: Any - - -@dataclass(**_slots_frozen) -class _NotEq: - value: Any - - -@dataclass(**_slots_frozen) -class _In: - values: Container[Any] - - -@dataclass(**_slots_frozen) -class _NotIn: - values: Container[Any] - - -_ConstraintAnnotation = Union[ - annotated_types.Le, - annotated_types.Ge, - annotated_types.Lt, - annotated_types.Gt, - annotated_types.Len, - annotated_types.MultipleOf, - annotated_types.Timezone, - annotated_types.Interval, - annotated_types.Predicate, - # common predicates not included in annotated_types - _Eq, - _NotEq, - _In, - _NotIn, - # regular expressions - Pattern[str], -] - - -@dataclass(**_slots_frozen) -class _Constraint: - constraint: _ConstraintAnnotation - - -_Step = Union[_ValidateAs, _ValidateAsDefer, _Transform, _PipelineOr, _PipelineAnd, _Constraint] - -_InT = TypeVar('_InT') -_OutT = TypeVar('_OutT') -_NewOutT = TypeVar('_NewOutT') - - -class _FieldTypeMarker: - pass - - -# TODO: ultimately, make this public, see https://github.com/pydantic/pydantic/pull/9459#discussion_r1628197626 -# Also, make this frozen eventually, but that doesn't work right now because of the generic base -# Which attempts to modify __orig_base__ and such. -# We could go with a manual freeze, but that seems overkill for now. -@dataclass(**_slots_true) -class _Pipeline(Generic[_InT, _OutT]): - """Abstract representation of a chain of validation, transformation, and parsing steps.""" - - _steps: tuple[_Step, ...] - - def transform( - self, - func: Callable[[_OutT], _NewOutT], - ) -> _Pipeline[_InT, _NewOutT]: - """Transform the output of the previous step. - - If used as the first step in a pipeline, the type of the field is used. - That is, the transformation is applied to after the value is parsed to the field's type. - """ - return _Pipeline[_InT, _NewOutT](self._steps + (_Transform(func),)) - - @overload - def validate_as(self, tp: type[_NewOutT], *, strict: bool = ...) -> _Pipeline[_InT, _NewOutT]: ... - - @overload - def validate_as(self, tp: EllipsisType, *, strict: bool = ...) -> _Pipeline[_InT, Any]: # type: ignore - ... - - def validate_as(self, tp: type[_NewOutT] | EllipsisType, *, strict: bool = False) -> _Pipeline[_InT, Any]: # type: ignore - """Validate / parse the input into a new type. - - If no type is provided, the type of the field is used. - - Types are parsed in Pydantic's `lax` mode by default, - but you can enable `strict` mode by passing `strict=True`. - """ - if isinstance(tp, EllipsisType): - return _Pipeline[_InT, Any](self._steps + (_ValidateAs(_FieldTypeMarker, strict=strict),)) - return _Pipeline[_InT, _NewOutT](self._steps + (_ValidateAs(tp, strict=strict),)) - - def validate_as_deferred(self, func: Callable[[], type[_NewOutT]]) -> _Pipeline[_InT, _NewOutT]: - """Parse the input into a new type, deferring resolution of the type until the current class - is fully defined. - - This is useful when you need to reference the class in it's own type annotations. - """ - return _Pipeline[_InT, _NewOutT](self._steps + (_ValidateAsDefer(func),)) - - # constraints - @overload - def constrain(self: _Pipeline[_InT, _NewOutGe], constraint: annotated_types.Ge) -> _Pipeline[_InT, _NewOutGe]: ... - - @overload - def constrain(self: _Pipeline[_InT, _NewOutGt], constraint: annotated_types.Gt) -> _Pipeline[_InT, _NewOutGt]: ... - - @overload - def constrain(self: _Pipeline[_InT, _NewOutLe], constraint: annotated_types.Le) -> _Pipeline[_InT, _NewOutLe]: ... - - @overload - def constrain(self: _Pipeline[_InT, _NewOutLt], constraint: annotated_types.Lt) -> _Pipeline[_InT, _NewOutLt]: ... - - @overload - def constrain( - self: _Pipeline[_InT, _NewOutLen], constraint: annotated_types.Len - ) -> _Pipeline[_InT, _NewOutLen]: ... - - @overload - def constrain( - self: _Pipeline[_InT, _NewOutT], constraint: annotated_types.MultipleOf - ) -> _Pipeline[_InT, _NewOutT]: ... - - @overload - def constrain( - self: _Pipeline[_InT, _NewOutDatetime], constraint: annotated_types.Timezone - ) -> _Pipeline[_InT, _NewOutDatetime]: ... - - @overload - def constrain(self: _Pipeline[_InT, _OutT], constraint: annotated_types.Predicate) -> _Pipeline[_InT, _OutT]: ... - - @overload - def constrain( - self: _Pipeline[_InT, _NewOutInterval], constraint: annotated_types.Interval - ) -> _Pipeline[_InT, _NewOutInterval]: ... - - @overload - def constrain(self: _Pipeline[_InT, _OutT], constraint: _Eq) -> _Pipeline[_InT, _OutT]: ... - - @overload - def constrain(self: _Pipeline[_InT, _OutT], constraint: _NotEq) -> _Pipeline[_InT, _OutT]: ... - - @overload - def constrain(self: _Pipeline[_InT, _OutT], constraint: _In) -> _Pipeline[_InT, _OutT]: ... - - @overload - def constrain(self: _Pipeline[_InT, _OutT], constraint: _NotIn) -> _Pipeline[_InT, _OutT]: ... - - @overload - def constrain(self: _Pipeline[_InT, _NewOutT], constraint: Pattern[str]) -> _Pipeline[_InT, _NewOutT]: ... - - def constrain(self, constraint: _ConstraintAnnotation) -> Any: - """Constrain a value to meet a certain condition. - - We support most conditions from `annotated_types`, as well as regular expressions. - - Most of the time you'll be calling a shortcut method like `gt`, `lt`, `len`, etc - so you don't need to call this directly. - """ - return _Pipeline[_InT, _OutT](self._steps + (_Constraint(constraint),)) - - def predicate(self: _Pipeline[_InT, _NewOutT], func: Callable[[_NewOutT], bool]) -> _Pipeline[_InT, _NewOutT]: - """Constrain a value to meet a certain predicate.""" - return self.constrain(annotated_types.Predicate(func)) - - def gt(self: _Pipeline[_InT, _NewOutGt], gt: _NewOutGt) -> _Pipeline[_InT, _NewOutGt]: - """Constrain a value to be greater than a certain value.""" - return self.constrain(annotated_types.Gt(gt)) - - def lt(self: _Pipeline[_InT, _NewOutLt], lt: _NewOutLt) -> _Pipeline[_InT, _NewOutLt]: - """Constrain a value to be less than a certain value.""" - return self.constrain(annotated_types.Lt(lt)) - - def ge(self: _Pipeline[_InT, _NewOutGe], ge: _NewOutGe) -> _Pipeline[_InT, _NewOutGe]: - """Constrain a value to be greater than or equal to a certain value.""" - return self.constrain(annotated_types.Ge(ge)) - - def le(self: _Pipeline[_InT, _NewOutLe], le: _NewOutLe) -> _Pipeline[_InT, _NewOutLe]: - """Constrain a value to be less than or equal to a certain value.""" - return self.constrain(annotated_types.Le(le)) - - def len(self: _Pipeline[_InT, _NewOutLen], min_len: int, max_len: int | None = None) -> _Pipeline[_InT, _NewOutLen]: - """Constrain a value to have a certain length.""" - return self.constrain(annotated_types.Len(min_len, max_len)) - - @overload - def multiple_of(self: _Pipeline[_InT, _NewOutDiv], multiple_of: _NewOutDiv) -> _Pipeline[_InT, _NewOutDiv]: ... - - @overload - def multiple_of(self: _Pipeline[_InT, _NewOutMod], multiple_of: _NewOutMod) -> _Pipeline[_InT, _NewOutMod]: ... - - def multiple_of(self: _Pipeline[_InT, Any], multiple_of: Any) -> _Pipeline[_InT, Any]: - """Constrain a value to be a multiple of a certain number.""" - return self.constrain(annotated_types.MultipleOf(multiple_of)) - - def eq(self: _Pipeline[_InT, _OutT], value: _OutT) -> _Pipeline[_InT, _OutT]: - """Constrain a value to be equal to a certain value.""" - return self.constrain(_Eq(value)) - - def not_eq(self: _Pipeline[_InT, _OutT], value: _OutT) -> _Pipeline[_InT, _OutT]: - """Constrain a value to not be equal to a certain value.""" - return self.constrain(_NotEq(value)) - - def in_(self: _Pipeline[_InT, _OutT], values: Container[_OutT]) -> _Pipeline[_InT, _OutT]: - """Constrain a value to be in a certain set.""" - return self.constrain(_In(values)) - - def not_in(self: _Pipeline[_InT, _OutT], values: Container[_OutT]) -> _Pipeline[_InT, _OutT]: - """Constrain a value to not be in a certain set.""" - return self.constrain(_NotIn(values)) - - # timezone methods - def datetime_tz_naive(self: _Pipeline[_InT, datetime.datetime]) -> _Pipeline[_InT, datetime.datetime]: - return self.constrain(annotated_types.Timezone(None)) - - def datetime_tz_aware(self: _Pipeline[_InT, datetime.datetime]) -> _Pipeline[_InT, datetime.datetime]: - return self.constrain(annotated_types.Timezone(...)) - - def datetime_tz( - self: _Pipeline[_InT, datetime.datetime], tz: datetime.tzinfo - ) -> _Pipeline[_InT, datetime.datetime]: - return self.constrain(annotated_types.Timezone(tz)) # type: ignore - - def datetime_with_tz( - self: _Pipeline[_InT, datetime.datetime], tz: datetime.tzinfo | None - ) -> _Pipeline[_InT, datetime.datetime]: - return self.transform(partial(datetime.datetime.replace, tzinfo=tz)) - - # string methods - def str_lower(self: _Pipeline[_InT, str]) -> _Pipeline[_InT, str]: - return self.transform(str.lower) - - def str_upper(self: _Pipeline[_InT, str]) -> _Pipeline[_InT, str]: - return self.transform(str.upper) - - def str_title(self: _Pipeline[_InT, str]) -> _Pipeline[_InT, str]: - return self.transform(str.title) - - def str_strip(self: _Pipeline[_InT, str]) -> _Pipeline[_InT, str]: - return self.transform(str.strip) - - def str_pattern(self: _Pipeline[_InT, str], pattern: str) -> _Pipeline[_InT, str]: - return self.constrain(re.compile(pattern)) - - def str_contains(self: _Pipeline[_InT, str], substring: str) -> _Pipeline[_InT, str]: - return self.predicate(lambda v: substring in v) - - def str_starts_with(self: _Pipeline[_InT, str], prefix: str) -> _Pipeline[_InT, str]: - return self.predicate(lambda v: v.startswith(prefix)) - - def str_ends_with(self: _Pipeline[_InT, str], suffix: str) -> _Pipeline[_InT, str]: - return self.predicate(lambda v: v.endswith(suffix)) - - # operators - def otherwise(self, other: _Pipeline[_OtherIn, _OtherOut]) -> _Pipeline[_InT | _OtherIn, _OutT | _OtherOut]: - """Combine two validation chains, returning the result of the first chain if it succeeds, and the second chain if it fails.""" - return _Pipeline((_PipelineOr(self, other),)) - - __or__ = otherwise - - def then(self, other: _Pipeline[_OutT, _OtherOut]) -> _Pipeline[_InT, _OtherOut]: - """Pipe the result of one validation chain into another.""" - return _Pipeline((_PipelineAnd(self, other),)) - - __and__ = then - - def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> cs.CoreSchema: - from pydantic_core import core_schema as cs - - queue = deque(self._steps) - - s = None - - while queue: - step = queue.popleft() - s = _apply_step(step, s, handler, source_type) - - s = s or cs.any_schema() - return s - - def __supports_type__(self, _: _OutT) -> bool: - raise NotImplementedError - - -validate_as = _Pipeline[Any, Any](()).validate_as -validate_as_deferred = _Pipeline[Any, Any](()).validate_as_deferred -transform = _Pipeline[Any, Any]((_ValidateAs(_FieldTypeMarker),)).transform - - -def _check_func( - func: Callable[[Any], bool], predicate_err: str | Callable[[], str], s: cs.CoreSchema | None -) -> cs.CoreSchema: - from pydantic_core import core_schema as cs - - def handler(v: Any) -> Any: - if func(v): - return v - raise ValueError(f'Expected {predicate_err if isinstance(predicate_err, str) else predicate_err()}') - - if s is None: - return cs.no_info_plain_validator_function(handler) - else: - return cs.no_info_after_validator_function(handler, s) - - -def _apply_step(step: _Step, s: cs.CoreSchema | None, handler: GetCoreSchemaHandler, source_type: Any) -> cs.CoreSchema: - from pydantic_core import core_schema as cs - - if isinstance(step, _ValidateAs): - s = _apply_parse(s, step.tp, step.strict, handler, source_type) - elif isinstance(step, _ValidateAsDefer): - s = _apply_parse(s, step.tp, False, handler, source_type) - elif isinstance(step, _Transform): - s = _apply_transform(s, step.func, handler) - elif isinstance(step, _Constraint): - s = _apply_constraint(s, step.constraint) - elif isinstance(step, _PipelineOr): - s = cs.union_schema([handler(step.left), handler(step.right)]) - else: - assert isinstance(step, _PipelineAnd) - s = cs.chain_schema([handler(step.left), handler(step.right)]) - return s - - -def _apply_parse( - s: cs.CoreSchema | None, - tp: type[Any], - strict: bool, - handler: GetCoreSchemaHandler, - source_type: Any, -) -> cs.CoreSchema: - from pydantic_core import core_schema as cs - - from pydantic import Strict - - if tp is _FieldTypeMarker: - return cs.chain_schema([s, handler(source_type)]) if s else handler(source_type) - - if strict: - tp = Annotated[tp, Strict()] # type: ignore - - if s and s['type'] == 'any': - return handler(tp) - else: - return cs.chain_schema([s, handler(tp)]) if s else handler(tp) - - -def _apply_transform( - s: cs.CoreSchema | None, func: Callable[[Any], Any], handler: GetCoreSchemaHandler -) -> cs.CoreSchema: - from pydantic_core import core_schema as cs - - if s is None: - return cs.no_info_plain_validator_function(func) - - if s['type'] == 'str': - if func is str.strip: - s = s.copy() - s['strip_whitespace'] = True - return s - elif func is str.lower: - s = s.copy() - s['to_lower'] = True - return s - elif func is str.upper: - s = s.copy() - s['to_upper'] = True - return s - - return cs.no_info_after_validator_function(func, s) - - -def _apply_constraint( # noqa: C901 - s: cs.CoreSchema | None, constraint: _ConstraintAnnotation -) -> cs.CoreSchema: - """Apply a single constraint to a schema.""" - if isinstance(constraint, annotated_types.Gt): - gt = constraint.gt - if s and s['type'] in {'int', 'float', 'decimal'}: - s = s.copy() - if s['type'] == 'int' and isinstance(gt, int): - s['gt'] = gt - elif s['type'] == 'float' and isinstance(gt, float): - s['gt'] = gt - elif s['type'] == 'decimal' and isinstance(gt, Decimal): - s['gt'] = gt - else: - - def check_gt(v: Any) -> bool: - return v > gt - - s = _check_func(check_gt, f'> {gt}', s) - elif isinstance(constraint, annotated_types.Ge): - ge = constraint.ge - if s and s['type'] in {'int', 'float', 'decimal'}: - s = s.copy() - if s['type'] == 'int' and isinstance(ge, int): - s['ge'] = ge - elif s['type'] == 'float' and isinstance(ge, float): - s['ge'] = ge - elif s['type'] == 'decimal' and isinstance(ge, Decimal): - s['ge'] = ge - - def check_ge(v: Any) -> bool: - return v >= ge - - s = _check_func(check_ge, f'>= {ge}', s) - elif isinstance(constraint, annotated_types.Lt): - lt = constraint.lt - if s and s['type'] in {'int', 'float', 'decimal'}: - s = s.copy() - if s['type'] == 'int' and isinstance(lt, int): - s['lt'] = lt - elif s['type'] == 'float' and isinstance(lt, float): - s['lt'] = lt - elif s['type'] == 'decimal' and isinstance(lt, Decimal): - s['lt'] = lt - - def check_lt(v: Any) -> bool: - return v < lt - - s = _check_func(check_lt, f'< {lt}', s) - elif isinstance(constraint, annotated_types.Le): - le = constraint.le - if s and s['type'] in {'int', 'float', 'decimal'}: - s = s.copy() - if s['type'] == 'int' and isinstance(le, int): - s['le'] = le - elif s['type'] == 'float' and isinstance(le, float): - s['le'] = le - elif s['type'] == 'decimal' and isinstance(le, Decimal): - s['le'] = le - - def check_le(v: Any) -> bool: - return v <= le - - s = _check_func(check_le, f'<= {le}', s) - elif isinstance(constraint, annotated_types.Len): - min_len = constraint.min_length - max_len = constraint.max_length - - if s and s['type'] in {'str', 'list', 'tuple', 'set', 'frozenset', 'dict'}: - assert ( - s['type'] == 'str' - or s['type'] == 'list' - or s['type'] == 'tuple' - or s['type'] == 'set' - or s['type'] == 'dict' - or s['type'] == 'frozenset' - ) - s = s.copy() - if min_len != 0: - s['min_length'] = min_len - if max_len is not None: - s['max_length'] = max_len - - def check_len(v: Any) -> bool: - if max_len is not None: - return (min_len <= len(v)) and (len(v) <= max_len) - return min_len <= len(v) - - s = _check_func(check_len, f'length >= {min_len} and length <= {max_len}', s) - elif isinstance(constraint, annotated_types.MultipleOf): - multiple_of = constraint.multiple_of - if s and s['type'] in {'int', 'float', 'decimal'}: - s = s.copy() - if s['type'] == 'int' and isinstance(multiple_of, int): - s['multiple_of'] = multiple_of - elif s['type'] == 'float' and isinstance(multiple_of, float): - s['multiple_of'] = multiple_of - elif s['type'] == 'decimal' and isinstance(multiple_of, Decimal): - s['multiple_of'] = multiple_of - - def check_multiple_of(v: Any) -> bool: - return v % multiple_of == 0 - - s = _check_func(check_multiple_of, f'% {multiple_of} == 0', s) - elif isinstance(constraint, annotated_types.Timezone): - tz = constraint.tz - - if tz is ...: - if s and s['type'] == 'datetime': - s = s.copy() - s['tz_constraint'] = 'aware' - else: - - def check_tz_aware(v: object) -> bool: - assert isinstance(v, datetime.datetime) - return v.tzinfo is not None - - s = _check_func(check_tz_aware, 'timezone aware', s) - elif tz is None: - if s and s['type'] == 'datetime': - s = s.copy() - s['tz_constraint'] = 'naive' - else: - - def check_tz_naive(v: object) -> bool: - assert isinstance(v, datetime.datetime) - return v.tzinfo is None - - s = _check_func(check_tz_naive, 'timezone naive', s) - else: - raise NotImplementedError('Constraining to a specific timezone is not yet supported') - elif isinstance(constraint, annotated_types.Interval): - if constraint.ge: - s = _apply_constraint(s, annotated_types.Ge(constraint.ge)) - if constraint.gt: - s = _apply_constraint(s, annotated_types.Gt(constraint.gt)) - if constraint.le: - s = _apply_constraint(s, annotated_types.Le(constraint.le)) - if constraint.lt: - s = _apply_constraint(s, annotated_types.Lt(constraint.lt)) - assert s is not None - elif isinstance(constraint, annotated_types.Predicate): - func = constraint.func - - if func.__name__ == '': - # attempt to extract the source code for a lambda function - # to use as the function name in error messages - # TODO: is there a better way? should we just not do this? - import inspect - - try: - source = inspect.getsource(func).strip() - source = source.removesuffix(')') - lambda_source_code = '`' + ''.join(''.join(source.split('lambda ')[1:]).split(':')[1:]).strip() + '`' - except OSError: - # stringified annotations - lambda_source_code = 'lambda' - - s = _check_func(func, lambda_source_code, s) - else: - s = _check_func(func, func.__name__, s) - elif isinstance(constraint, _NotEq): - value = constraint.value - - def check_not_eq(v: Any) -> bool: - return operator.__ne__(v, value) - - s = _check_func(check_not_eq, f'!= {value}', s) - elif isinstance(constraint, _Eq): - value = constraint.value - - def check_eq(v: Any) -> bool: - return operator.__eq__(v, value) - - s = _check_func(check_eq, f'== {value}', s) - elif isinstance(constraint, _In): - values = constraint.values - - def check_in(v: Any) -> bool: - return operator.__contains__(values, v) - - s = _check_func(check_in, f'in {values}', s) - elif isinstance(constraint, _NotIn): - values = constraint.values - - def check_not_in(v: Any) -> bool: - return operator.__not__(operator.__contains__(values, v)) - - s = _check_func(check_not_in, f'not in {values}', s) - else: - assert isinstance(constraint, Pattern) - if s and s['type'] == 'str': - s = s.copy() - s['pattern'] = constraint.pattern - else: - - def check_pattern(v: object) -> bool: - assert isinstance(v, str) - return constraint.match(v) is not None - - s = _check_func(check_pattern, f'~ {constraint.pattern}', s) - return s - - -class _SupportsRange(annotated_types.SupportsLe, annotated_types.SupportsGe, Protocol): - pass - - -class _SupportsLen(Protocol): - def __len__(self) -> int: ... - - -_NewOutGt = TypeVar('_NewOutGt', bound=annotated_types.SupportsGt) -_NewOutGe = TypeVar('_NewOutGe', bound=annotated_types.SupportsGe) -_NewOutLt = TypeVar('_NewOutLt', bound=annotated_types.SupportsLt) -_NewOutLe = TypeVar('_NewOutLe', bound=annotated_types.SupportsLe) -_NewOutLen = TypeVar('_NewOutLen', bound=_SupportsLen) -_NewOutDiv = TypeVar('_NewOutDiv', bound=annotated_types.SupportsDiv) -_NewOutMod = TypeVar('_NewOutMod', bound=annotated_types.SupportsMod) -_NewOutDatetime = TypeVar('_NewOutDatetime', bound=datetime.datetime) -_NewOutInterval = TypeVar('_NewOutInterval', bound=_SupportsRange) -_OtherIn = TypeVar('_OtherIn') -_OtherOut = TypeVar('_OtherOut') diff --git a/venv/lib/python3.12/site-packages/pydantic/fields.py b/venv/lib/python3.12/site-packages/pydantic/fields.py index 408fc2b..2a8f768 100644 --- a/venv/lib/python3.12/site-packages/pydantic/fields.py +++ b/venv/lib/python3.12/site-packages/pydantic/fields.py @@ -1,32 +1,29 @@ """Defining fields on models.""" - from __future__ import annotations as _annotations import dataclasses import inspect import sys import typing -from collections.abc import Mapping from copy import copy from dataclasses import Field as DataclassField -from functools import cached_property -from typing import Annotated, Any, Callable, ClassVar, Literal, TypeVar, cast, overload + +try: + from functools import cached_property # type: ignore +except ImportError: + # python 3.7 + cached_property = None +from typing import Any, ClassVar from warnings import warn import annotated_types import typing_extensions from pydantic_core import PydanticUndefined -from typing_extensions import Self, TypeAlias, Unpack, deprecated -from typing_inspection import typing_objects -from typing_inspection.introspection import UNKNOWN, AnnotationSource, ForbiddenQualifier, Qualifier, inspect_annotation +from typing_extensions import Literal, Unpack from . import types from ._internal import _decorators, _fields, _generics, _internal_dataclass, _repr, _typing_extra, _utils -from ._internal._namespace_utils import GlobalsNamespace, MappingNamespace -from .aliases import AliasChoices, AliasPath -from .config import JsonDict -from .errors import PydanticForbiddenQualifier, PydanticUserError -from .json_schema import PydanticJsonSchemaWarning +from .errors import PydanticUserError from .warnings import PydanticDeprecatedSince20 if typing.TYPE_CHECKING: @@ -36,58 +33,43 @@ else: # and https://youtrack.jetbrains.com/issue/PY-51428 DeprecationWarning = PydanticDeprecatedSince20 -__all__ = 'Field', 'PrivateAttr', 'computed_field' - _Unset: Any = PydanticUndefined -if sys.version_info >= (3, 13): - import warnings - - Deprecated: TypeAlias = warnings.deprecated | deprecated -else: - Deprecated: TypeAlias = deprecated - class _FromFieldInfoInputs(typing_extensions.TypedDict, total=False): """This class exists solely to add type checking for the `**kwargs` in `FieldInfo.from_field`.""" - # TODO PEP 747: use TypeForm: annotation: type[Any] | None - default_factory: Callable[[], Any] | Callable[[dict[str, Any]], Any] | None + default_factory: typing.Callable[[], Any] | None alias: str | None alias_priority: int | None validation_alias: str | AliasPath | AliasChoices | None serialization_alias: str | None title: str | None - field_title_generator: Callable[[str, FieldInfo], str] | None description: str | None examples: list[Any] | None exclude: bool | None - gt: annotated_types.SupportsGt | None - ge: annotated_types.SupportsGe | None - lt: annotated_types.SupportsLt | None - le: annotated_types.SupportsLe | None + gt: float | None + ge: float | None + lt: float | None + le: float | None multiple_of: float | None strict: bool | None min_length: int | None max_length: int | None - pattern: str | typing.Pattern[str] | None + pattern: str | None allow_inf_nan: bool | None max_digits: int | None decimal_places: int | None union_mode: Literal['smart', 'left_to_right'] | None - discriminator: str | types.Discriminator | None - deprecated: Deprecated | str | bool | None - json_schema_extra: JsonDict | Callable[[JsonDict], None] | None + discriminator: str | None + json_schema_extra: dict[str, Any] | typing.Callable[[dict[str, Any]], None] | None frozen: bool | None validate_default: bool | None repr: bool - init: bool | None init_var: bool | None kw_only: bool | None - coerce_numbers_to_str: bool | None - fail_fast: bool | None class _FieldInfoInputs(_FromFieldInfoInputs, total=False): @@ -109,49 +91,41 @@ class FieldInfo(_repr.Representation): Attributes: annotation: The type annotation of the field. default: The default value of the field. - default_factory: A callable to generate the default value. The callable can either take 0 arguments - (in which case it is called as is) or a single argument containing the already validated data. + default_factory: The factory function used to construct the default for the field. alias: The alias name of the field. alias_priority: The priority of the field's alias. - validation_alias: The validation alias of the field. - serialization_alias: The serialization alias of the field. + validation_alias: The validation alias name of the field. + serialization_alias: The serialization alias name of the field. title: The title of the field. - field_title_generator: A callable that takes a field name and returns title for it. description: The description of the field. examples: List of examples of the field. exclude: Whether to exclude the field from the model serialization. - discriminator: Field name or Discriminator for discriminating the type in a tagged union. - deprecated: A deprecation message, an instance of `warnings.deprecated` or the `typing_extensions.deprecated` backport, - or a boolean. If `True`, a default deprecation message will be emitted when accessing the field. - json_schema_extra: A dict or callable to provide extra JSON schema properties. + discriminator: Field name for discriminating the type in a tagged union. + json_schema_extra: Dictionary of extra JSON schema properties. frozen: Whether the field is frozen. validate_default: Whether to validate the default value of the field. repr: Whether to include the field in representation of the model. - init: Whether the field should be included in the constructor of the dataclass. - init_var: Whether the field should _only_ be included in the constructor of the dataclass, and not stored. + init_var: Whether the field should be included in the constructor of the dataclass. kw_only: Whether the field should be a keyword-only argument in the constructor of the dataclass. metadata: List of metadata constraints. """ annotation: type[Any] | None default: Any - default_factory: Callable[[], Any] | Callable[[dict[str, Any]], Any] | None + default_factory: typing.Callable[[], Any] | None alias: str | None alias_priority: int | None validation_alias: str | AliasPath | AliasChoices | None serialization_alias: str | None title: str | None - field_title_generator: Callable[[str, FieldInfo], str] | None description: str | None examples: list[Any] | None exclude: bool | None - discriminator: str | types.Discriminator | None - deprecated: Deprecated | str | bool | None - json_schema_extra: JsonDict | Callable[[JsonDict], None] | None + discriminator: str | None + json_schema_extra: dict[str, Any] | typing.Callable[[dict[str, Any]], None] | None frozen: bool | None validate_default: bool | None repr: bool - init: bool | None init_var: bool | None kw_only: bool | None metadata: list[Any] @@ -165,25 +139,18 @@ class FieldInfo(_repr.Representation): 'validation_alias', 'serialization_alias', 'title', - 'field_title_generator', 'description', 'examples', 'exclude', 'discriminator', - 'deprecated', 'json_schema_extra', 'frozen', 'validate_default', 'repr', - 'init', 'init_var', 'kw_only', 'metadata', '_attributes_set', - '_qualifiers', - '_complete', - '_original_assignment', - '_original_annotation', ) # used to convert kwargs to metadata/constraints, @@ -202,8 +169,6 @@ class FieldInfo(_repr.Representation): 'max_digits': None, 'decimal_places': None, 'union_mode': None, - 'coerce_numbers_to_str': None, - 'fail_fast': types.FailFast, } def __init__(self, **kwargs: Unpack[_FieldInfoInputs]) -> None: @@ -214,12 +179,11 @@ class FieldInfo(_repr.Representation): """ self._attributes_set = {k: v for k, v in kwargs.items() if v is not _Unset} kwargs = {k: _DefaultValues.get(k) if v is _Unset else v for k, v in kwargs.items()} # type: ignore - self.annotation = kwargs.get('annotation') + self.annotation, annotation_metadata = self._extract_metadata(kwargs.get('annotation')) default = kwargs.pop('default', PydanticUndefined) if default is Ellipsis: self.default = PydanticUndefined - self._attributes_set.pop('default', None) else: self.default = default @@ -228,39 +192,30 @@ class FieldInfo(_repr.Representation): if self.default is not PydanticUndefined and self.default_factory is not None: raise TypeError('cannot specify both default and default_factory') + self.title = kwargs.pop('title', None) self.alias = kwargs.pop('alias', None) self.validation_alias = kwargs.pop('validation_alias', None) self.serialization_alias = kwargs.pop('serialization_alias', None) alias_is_set = any(alias is not None for alias in (self.alias, self.validation_alias, self.serialization_alias)) self.alias_priority = kwargs.pop('alias_priority', None) or 2 if alias_is_set else None - self.title = kwargs.pop('title', None) - self.field_title_generator = kwargs.pop('field_title_generator', None) self.description = kwargs.pop('description', None) self.examples = kwargs.pop('examples', None) self.exclude = kwargs.pop('exclude', None) self.discriminator = kwargs.pop('discriminator', None) - # For compatibility with FastAPI<=0.110.0, we preserve the existing value if it is not overridden - self.deprecated = kwargs.pop('deprecated', getattr(self, 'deprecated', None)) self.repr = kwargs.pop('repr', True) self.json_schema_extra = kwargs.pop('json_schema_extra', None) self.validate_default = kwargs.pop('validate_default', None) self.frozen = kwargs.pop('frozen', None) # currently only used on dataclasses - self.init = kwargs.pop('init', None) self.init_var = kwargs.pop('init_var', None) self.kw_only = kwargs.pop('kw_only', None) - self.metadata = self._collect_metadata(kwargs) # type: ignore + self.metadata = self._collect_metadata(kwargs) + annotation_metadata # type: ignore - # Private attributes: - self._qualifiers: set[Qualifier] = set() - # Used to rebuild FieldInfo instances: - self._complete = True - self._original_annotation: Any = PydanticUndefined - self._original_assignment: Any = PydanticUndefined - - @staticmethod - def from_field(default: Any = PydanticUndefined, **kwargs: Unpack[_FromFieldInfoInputs]) -> FieldInfo: + @classmethod + def from_field( + cls, default: Any = PydanticUndefined, **kwargs: Unpack[_FromFieldInfoInputs] + ) -> typing_extensions.Self: """Create a new `FieldInfo` object with the `Field` function. Args: @@ -285,191 +240,146 @@ class FieldInfo(_repr.Representation): """ if 'annotation' in kwargs: raise TypeError('"annotation" is not permitted as a Field keyword argument') - return FieldInfo(default=default, **kwargs) + return cls(default=default, **kwargs) - @staticmethod - def from_annotation(annotation: type[Any], *, _source: AnnotationSource = AnnotationSource.ANY) -> FieldInfo: + @classmethod + def from_annotation(cls, annotation: type[Any]) -> typing_extensions.Self: """Creates a `FieldInfo` instance from a bare annotation. - This function is used internally to create a `FieldInfo` from a bare annotation like this: - - ```python - import pydantic - - class MyModel(pydantic.BaseModel): - foo: int # <-- like this - ``` - - We also account for the case where the annotation can be an instance of `Annotated` and where - one of the (not first) arguments in `Annotated` is an instance of `FieldInfo`, e.g.: - - ```python - from typing import Annotated - - import annotated_types - - import pydantic - - class MyModel(pydantic.BaseModel): - foo: Annotated[int, annotated_types.Gt(42)] - bar: Annotated[int, pydantic.Field(gt=42)] - ``` - Args: annotation: An annotation object. Returns: An instance of the field metadata. + + Example: + This is how you can create a field from a bare annotation like this: + + ```python + import pydantic + + class MyModel(pydantic.BaseModel): + foo: int # <-- like this + ``` + + We also account for the case where the annotation can be an instance of `Annotated` and where + one of the (not first) arguments in `Annotated` are an instance of `FieldInfo`, e.g.: + + ```python + import annotated_types + from typing_extensions import Annotated + + import pydantic + + class MyModel(pydantic.BaseModel): + foo: Annotated[int, annotated_types.Gt(42)] + bar: Annotated[int, pydantic.Field(gt=42)] + ``` + """ - try: - inspected_ann = inspect_annotation( - annotation, - annotation_source=_source, - unpack_type_aliases='skip', - ) - except ForbiddenQualifier as e: - raise PydanticForbiddenQualifier(e.qualifier, annotation) + final = False + if _typing_extra.is_finalvar(annotation): + final = True + if annotation is not typing_extensions.Final: + annotation = typing_extensions.get_args(annotation)[0] - # TODO check for classvar and error? + if _typing_extra.is_annotated(annotation): + first_arg, *extra_args = typing_extensions.get_args(annotation) + if _typing_extra.is_finalvar(first_arg): + final = True + field_info_annotations = [a for a in extra_args if isinstance(a, FieldInfo)] + field_info = cls.merge_field_infos(*field_info_annotations, annotation=first_arg) + if field_info: + new_field_info = copy(field_info) + new_field_info.annotation = first_arg + new_field_info.frozen = final or field_info.frozen + metadata: list[Any] = [] + for a in extra_args: + if not isinstance(a, FieldInfo): + metadata.append(a) + else: + metadata.extend(a.metadata) + new_field_info.metadata = metadata + return new_field_info - # No assigned value, this happens when using a bare `Final` qualifier (also for other - # qualifiers, but they shouldn't appear here). In this case we infer the type as `Any` - # because we don't have any assigned value. - type_expr: Any = Any if inspected_ann.type is UNKNOWN else inspected_ann.type - final = 'final' in inspected_ann.qualifiers - metadata = inspected_ann.metadata + return cls(annotation=annotation, frozen=final or None) - if not metadata: - # No metadata, e.g. `field: int`, or `field: Final[str]`: - field_info = FieldInfo(annotation=type_expr, frozen=final or None) - field_info._qualifiers = inspected_ann.qualifiers - return field_info - - # With metadata, e.g. `field: Annotated[int, Field(...), Gt(1)]`: - field_info_annotations = [a for a in metadata if isinstance(a, FieldInfo)] - field_info = FieldInfo.merge_field_infos(*field_info_annotations, annotation=type_expr) - - new_field_info = field_info._copy() - new_field_info.annotation = type_expr - new_field_info.frozen = final or field_info.frozen - field_metadata: list[Any] = [] - for a in metadata: - if typing_objects.is_deprecated(a): - new_field_info.deprecated = a.message - elif not isinstance(a, FieldInfo): - field_metadata.append(a) - else: - field_metadata.extend(a.metadata) - new_field_info.metadata = field_metadata - new_field_info._qualifiers = inspected_ann.qualifiers - return new_field_info - - @staticmethod - def from_annotated_attribute( - annotation: type[Any], default: Any, *, _source: AnnotationSource = AnnotationSource.ANY - ) -> FieldInfo: + @classmethod + def from_annotated_attribute(cls, annotation: type[Any], default: Any) -> typing_extensions.Self: """Create `FieldInfo` from an annotation with a default value. - This is used in cases like the following: - - ```python - from typing import Annotated - - import annotated_types - - import pydantic - - class MyModel(pydantic.BaseModel): - foo: int = 4 # <-- like this - bar: Annotated[int, annotated_types.Gt(4)] = 4 # <-- or this - spam: Annotated[int, pydantic.Field(gt=4)] = 4 # <-- or this - ``` - Args: annotation: The type annotation of the field. default: The default value of the field. Returns: A field object with the passed values. + + Example: + ```python + import annotated_types + from typing_extensions import Annotated + + import pydantic + + class MyModel(pydantic.BaseModel): + foo: int = 4 # <-- like this + bar: Annotated[int, annotated_types.Gt(4)] = 4 # <-- or this + spam: Annotated[int, pydantic.Field(gt=4)] = 4 # <-- or this + ``` """ - if annotation is default: - raise PydanticUserError( - 'Error when building FieldInfo from annotated attribute. ' - "Make sure you don't have any field name clashing with a type annotation.", - code='unevaluable-type-annotation', + final = False + if _typing_extra.is_finalvar(annotation): + final = True + if annotation is not typing_extensions.Final: + annotation = typing_extensions.get_args(annotation)[0] + + if isinstance(default, cls): + default.annotation, annotation_metadata = cls._extract_metadata(annotation) + default.metadata += annotation_metadata + default = default.merge_field_infos( + *[x for x in annotation_metadata if isinstance(x, cls)], default, annotation=default.annotation ) + default.frozen = final or default.frozen + return default + elif isinstance(default, dataclasses.Field): + init_var = False + if annotation is dataclasses.InitVar: + if sys.version_info < (3, 8): + raise RuntimeError('InitVar is not supported in Python 3.7 as type information is lost') - try: - inspected_ann = inspect_annotation( - annotation, - annotation_source=_source, - unpack_type_aliases='skip', - ) - except ForbiddenQualifier as e: - raise PydanticForbiddenQualifier(e.qualifier, annotation) - - # TODO check for classvar and error? - - # TODO infer from the default, this can be done in v3 once we treat final fields with - # a default as proper fields and not class variables: - type_expr: Any = Any if inspected_ann.type is UNKNOWN else inspected_ann.type - final = 'final' in inspected_ann.qualifiers - metadata = inspected_ann.metadata - - if isinstance(default, FieldInfo): - # e.g. `field: int = Field(...)` - default_metadata = default.metadata.copy() - default = copy(default) - default.metadata = default_metadata - - default.annotation = type_expr - default.metadata += metadata - merged_default = FieldInfo.merge_field_infos( - *[x for x in metadata if isinstance(x, FieldInfo)], - default, - annotation=default.annotation, - ) - merged_default.frozen = final or merged_default.frozen - merged_default._qualifiers = inspected_ann.qualifiers - return merged_default - - if isinstance(default, dataclasses.Field): - # `collect_dataclass_fields()` passes the dataclass Field as a default. - pydantic_field = FieldInfo._from_dataclass_field(default) - pydantic_field.annotation = type_expr - pydantic_field.metadata += metadata - pydantic_field = FieldInfo.merge_field_infos( - *[x for x in metadata if isinstance(x, FieldInfo)], + init_var = True + annotation = Any + elif isinstance(annotation, dataclasses.InitVar): + init_var = True + annotation = annotation.type + pydantic_field = cls._from_dataclass_field(default) + pydantic_field.annotation, annotation_metadata = cls._extract_metadata(annotation) + pydantic_field.metadata += annotation_metadata + pydantic_field = pydantic_field.merge_field_infos( + *[x for x in annotation_metadata if isinstance(x, cls)], pydantic_field, annotation=pydantic_field.annotation, ) pydantic_field.frozen = final or pydantic_field.frozen - pydantic_field.init_var = 'init_var' in inspected_ann.qualifiers - pydantic_field.init = getattr(default, 'init', None) + pydantic_field.init_var = init_var pydantic_field.kw_only = getattr(default, 'kw_only', None) - pydantic_field._qualifiers = inspected_ann.qualifiers return pydantic_field + else: + if _typing_extra.is_annotated(annotation): + first_arg, *extra_args = typing_extensions.get_args(annotation) + field_infos = [a for a in extra_args if isinstance(a, FieldInfo)] + field_info = cls.merge_field_infos(*field_infos, annotation=first_arg, default=default) + metadata: list[Any] = [] + for a in extra_args: + if not isinstance(a, FieldInfo): + metadata.append(a) + else: + metadata.extend(a.metadata) + field_info.metadata = metadata + return field_info - if not metadata: - # No metadata, e.g. `field: int = ...`, or `field: Final[str] = ...`: - field_info = FieldInfo(annotation=type_expr, default=default, frozen=final or None) - field_info._qualifiers = inspected_ann.qualifiers - return field_info - - # With metadata, e.g. `field: Annotated[int, Field(...), Gt(1)] = ...`: - field_infos = [a for a in metadata if isinstance(a, FieldInfo)] - field_info = FieldInfo.merge_field_infos(*field_infos, annotation=type_expr, default=default) - field_metadata: list[Any] = [] - for a in metadata: - if typing_objects.is_deprecated(a): - field_info.deprecated = a.message - elif not isinstance(a, FieldInfo): - field_metadata.append(a) - else: - field_metadata.extend(a.metadata) - field_info.metadata = field_metadata - field_info._qualifiers = inspected_ann.qualifiers - return field_info + return cls(annotation=annotation, default=default, frozen=final or None) @staticmethod def merge_field_infos(*field_infos: FieldInfo, **overrides: Any) -> FieldInfo: @@ -480,65 +390,33 @@ class FieldInfo(_repr.Representation): Returns: FieldInfo: A merged FieldInfo instance. """ + flattened_field_infos: list[FieldInfo] = [] + for field_info in field_infos: + flattened_field_infos.extend(x for x in field_info.metadata if isinstance(x, FieldInfo)) + flattened_field_infos.append(field_info) + field_infos = tuple(flattened_field_infos) if len(field_infos) == 1: # No merging necessary, but we still need to make a copy and apply the overrides - field_info = field_infos[0]._copy() + field_info = copy(field_infos[0]) field_info._attributes_set.update(overrides) - - default_override = overrides.pop('default', PydanticUndefined) - if default_override is Ellipsis: - default_override = PydanticUndefined - if default_override is not PydanticUndefined: - field_info.default = default_override - for k, v in overrides.items(): setattr(field_info, k, v) - return field_info # type: ignore + return field_info - merged_field_info_kwargs: dict[str, Any] = {} + new_kwargs: dict[str, Any] = {} metadata = {} for field_info in field_infos: - attributes_set = field_info._attributes_set.copy() - - try: - json_schema_extra = attributes_set.pop('json_schema_extra') - existing_json_schema_extra = merged_field_info_kwargs.get('json_schema_extra') - - if existing_json_schema_extra is None: - merged_field_info_kwargs['json_schema_extra'] = json_schema_extra - if isinstance(existing_json_schema_extra, dict): - if isinstance(json_schema_extra, dict): - merged_field_info_kwargs['json_schema_extra'] = { - **existing_json_schema_extra, - **json_schema_extra, - } - if callable(json_schema_extra): - warn( - 'Composing `dict` and `callable` type `json_schema_extra` is not supported.' - 'The `callable` type is being ignored.' - "If you'd like support for this behavior, please open an issue on pydantic.", - PydanticJsonSchemaWarning, - ) - elif callable(json_schema_extra): - # if ever there's a case of a callable, we'll just keep the last json schema extra spec - merged_field_info_kwargs['json_schema_extra'] = json_schema_extra - except KeyError: - pass - - # later FieldInfo instances override everything except json_schema_extra from earlier FieldInfo instances - merged_field_info_kwargs.update(attributes_set) - + new_kwargs.update(field_info._attributes_set) for x in field_info.metadata: if not isinstance(x, FieldInfo): metadata[type(x)] = x - - merged_field_info_kwargs.update(overrides) - field_info = FieldInfo(**merged_field_info_kwargs) + new_kwargs.update(overrides) + field_info = FieldInfo(**new_kwargs) field_info.metadata = list(metadata.values()) return field_info - @staticmethod - def _from_dataclass_field(dc_field: DataclassField[Any]) -> FieldInfo: + @classmethod + def _from_dataclass_field(cls, dc_field: DataclassField[Any]) -> typing_extensions.Self: """Return a new `FieldInfo` instance from a `dataclasses.Field` instance. Args: @@ -552,21 +430,41 @@ class FieldInfo(_repr.Representation): """ default = dc_field.default if default is dataclasses.MISSING: - default = _Unset + default = PydanticUndefined if dc_field.default_factory is dataclasses.MISSING: - default_factory = _Unset + default_factory: typing.Callable[[], Any] | None = None else: default_factory = dc_field.default_factory # use the `Field` function so in correct kwargs raise the correct `TypeError` dc_field_metadata = {k: v for k, v in dc_field.metadata.items() if k in _FIELD_ARG_NAMES} - return Field(default=default, default_factory=default_factory, repr=dc_field.repr, **dc_field_metadata) # pyright: ignore[reportCallIssue] + return Field(default=default, default_factory=default_factory, repr=dc_field.repr, **dc_field_metadata) - @staticmethod - def _collect_metadata(kwargs: dict[str, Any]) -> list[Any]: + @classmethod + def _extract_metadata(cls, annotation: type[Any] | None) -> tuple[type[Any] | None, list[Any]]: + """Tries to extract metadata/constraints from an annotation if it uses `Annotated`. + + Args: + annotation: The type hint annotation for which metadata has to be extracted. + + Returns: + A tuple containing the extracted metadata type and the list of extra arguments. + """ + if annotation is not None: + if _typing_extra.is_annotated(annotation): + first_arg, *extra_args = typing_extensions.get_args(annotation) + return first_arg, list(extra_args) + + return annotation, [] + + @classmethod + def _collect_metadata(cls, kwargs: dict[str, Any]) -> list[Any]: """Collect annotations from kwargs. + The return type is actually `annotated_types.BaseMetadata | PydanticMetadata`, + but it gets combined with `list[Any]` from `Annotated[T, ...]`, hence types. + Args: kwargs: Keyword arguments passed to the function. @@ -578,7 +476,7 @@ class FieldInfo(_repr.Representation): general_metadata = {} for key, value in list(kwargs.items()): try: - marker = FieldInfo.metadata_lookup[key] + marker = cls.metadata_lookup[key] except KeyError: continue @@ -589,45 +487,10 @@ class FieldInfo(_repr.Representation): else: metadata.append(marker(value)) if general_metadata: - metadata.append(_fields.pydantic_general_metadata(**general_metadata)) + metadata.append(_fields.PydanticGeneralMetadata(**general_metadata)) return metadata - def _copy(self) -> Self: - copied = copy(self) - for attr_name in ('metadata', '_attributes_set', '_qualifiers'): - # Apply "deep-copy" behavior on collections attributes: - value = getattr(copied, attr_name).copy() - setattr(copied, attr_name, value) - - return copied - - @property - def deprecation_message(self) -> str | None: - """The deprecation message to be emitted, or `None` if not set.""" - if self.deprecated is None: - return None - if isinstance(self.deprecated, bool): - return 'deprecated' if self.deprecated else None - return self.deprecated if isinstance(self.deprecated, str) else self.deprecated.message - - @property - def default_factory_takes_validated_data(self) -> bool | None: - """Whether the provided default factory callable has a validated data parameter. - - Returns `None` if no default factory is set. - """ - if self.default_factory is not None: - return _fields.takes_validated_data_argument(self.default_factory) - - @overload - def get_default( - self, *, call_default_factory: Literal[True], validated_data: dict[str, Any] | None = None - ) -> Any: ... - - @overload - def get_default(self, *, call_default_factory: Literal[False] = ...) -> Any: ... - - def get_default(self, *, call_default_factory: bool = False, validated_data: dict[str, Any] | None = None) -> Any: + def get_default(self, *, call_default_factory: bool = False) -> Any: """Get the default value. We expose an option for whether to call the default_factory (if present), as calling it may @@ -635,8 +498,7 @@ class FieldInfo(_repr.Representation): be called (namely, when instantiating a model via `model_construct`). Args: - call_default_factory: Whether to call the default factory or not. - validated_data: The already validated data to be passed to the default factory. + call_default_factory: Whether to call the default_factory or not. Defaults to `False`. Returns: The default value, calling the default factory if requested or `None` if not set. @@ -644,36 +506,23 @@ class FieldInfo(_repr.Representation): if self.default_factory is None: return _utils.smart_deepcopy(self.default) elif call_default_factory: - if self.default_factory_takes_validated_data: - fac = cast('Callable[[dict[str, Any]], Any]', self.default_factory) - if validated_data is None: - raise ValueError( - "The default factory requires the 'validated_data' argument, which was not provided when calling 'get_default'." - ) - return fac(validated_data) - else: - fac = cast('Callable[[], Any]', self.default_factory) - return fac() + return self.default_factory() else: return None def is_required(self) -> bool: - """Check if the field is required (i.e., does not have a default value or factory). + """Check if the argument is required. Returns: - `True` if the field is required, `False` otherwise. + `True` if the argument is required, `False` otherwise. """ return self.default is PydanticUndefined and self.default_factory is None def rebuild_annotation(self) -> Any: - """Attempts to rebuild the original annotation for use in function signatures. + """Rebuilds the original annotation for use in function signatures. - If metadata is present, it adds it to the original annotation using - `Annotated`. Otherwise, it returns the original annotation as-is. - - Note that because the metadata has been flattened, the original annotation - may not be reconstructed exactly as originally provided, e.g. if the original - type had unrecognized annotations, or was annotated with a call to `pydantic.Field`. + If metadata is present, it adds it to the original annotation using an + `AnnotatedAlias`. Otherwise, it returns the original annotation as is. Returns: The rebuilt annotation. @@ -682,14 +531,9 @@ class FieldInfo(_repr.Representation): return self.annotation else: # Annotated arguments must be a tuple - return Annotated[(self.annotation, *self.metadata)] # type: ignore + return typing_extensions.Annotated[(self.annotation, *self.metadata)] # type: ignore - def apply_typevars_map( - self, - typevars_map: Mapping[TypeVar, Any] | None, - globalns: GlobalsNamespace | None = None, - localns: MappingNamespace | None = None, - ) -> None: + def apply_typevars_map(self, typevars_map: dict[Any, Any] | None, types_namespace: dict[str, Any] | None) -> None: """Apply a `typevars_map` to the annotation. This method is used when analyzing parametrized generic types to replace typevars with their concrete types. @@ -698,35 +542,23 @@ class FieldInfo(_repr.Representation): Args: typevars_map: A dictionary mapping type variables to their concrete types. - globalns: The globals namespace to use during type annotation evaluation. - localns: The locals namespace to use during type annotation evaluation. + types_namespace (dict | None): A dictionary containing related types to the annotated type. See Also: pydantic._internal._generics.replace_types is used for replacing the typevars with their concrete types. """ - annotation = _generics.replace_types(self.annotation, typevars_map) - annotation, evaluated = _typing_extra.try_eval_type(annotation, globalns, localns) - self.annotation = annotation - if not evaluated: - self._complete = False - self._original_annotation = self.annotation + annotation = _typing_extra.eval_type_lenient(self.annotation, types_namespace, None) + self.annotation = _generics.replace_types(annotation, typevars_map) def __repr_args__(self) -> ReprArgs: yield 'annotation', _repr.PlainRepr(_repr.display_as_type(self.annotation)) yield 'required', self.is_required() for s in self.__slots__: - # TODO: properly make use of the protocol (https://rich.readthedocs.io/en/stable/pretty.html#rich-repr-protocol) - # By yielding a three-tuple: - if s in ( - 'annotation', - '_attributes_set', - '_qualifiers', - '_complete', - '_original_assignment', - '_original_annotation', - ): + if s == '_attributes_set': + continue + if s == 'annotation': continue elif s == 'metadata' and not self.metadata: continue @@ -738,9 +570,7 @@ class FieldInfo(_repr.Representation): continue if s == 'serialization_alias' and self.serialization_alias == self.alias: continue - if s == 'default' and self.default is not PydanticUndefined: - yield 'default', self.default - elif s == 'default_factory' and self.default_factory is not None: + if s == 'default_factory' and self.default_factory is not None: yield 'default_factory', _repr.PlainRepr(_repr.display_as_type(self.default_factory)) else: value = getattr(self, s) @@ -748,234 +578,122 @@ class FieldInfo(_repr.Representation): yield s, value +@dataclasses.dataclass(**_internal_dataclass.slots_true) +class AliasPath: + """Usage docs: https://docs.pydantic.dev/2.4/concepts/fields#aliaspath-and-aliaschoices + + A data class used by `validation_alias` as a convenience to create aliases. + + Attributes: + path: A list of string or integer aliases. + """ + + path: list[int | str] + + def __init__(self, first_arg: str, *args: str | int) -> None: + self.path = [first_arg] + list(args) + + def convert_to_aliases(self) -> list[str | int]: + """Converts arguments to a list of string or integer aliases. + + Returns: + The list of aliases. + """ + return self.path + + +@dataclasses.dataclass(**_internal_dataclass.slots_true) +class AliasChoices: + """Usage docs: https://docs.pydantic.dev/2.4/concepts/fields#aliaspath-and-aliaschoices + + A data class used by `validation_alias` as a convenience to create aliases. + + Attributes: + choices: A list containing a string or `AliasPath`. + """ + + choices: list[str | AliasPath] + + def __init__(self, first_choice: str | AliasPath, *choices: str | AliasPath) -> None: + self.choices = [first_choice] + list(choices) + + def convert_to_aliases(self) -> list[list[str | int]]: + """Converts arguments to a list of lists containing string or integer aliases. + + Returns: + The list of aliases. + """ + aliases: list[list[str | int]] = [] + for c in self.choices: + if isinstance(c, AliasPath): + aliases.append(c.convert_to_aliases()) + else: + aliases.append([c]) + return aliases + + class _EmptyKwargs(typing_extensions.TypedDict): """This class exists solely to ensure that type checking warns about passing `**extra` in `Field`.""" -_DefaultValues = { - 'default': ..., - 'default_factory': None, - 'alias': None, - 'alias_priority': None, - 'validation_alias': None, - 'serialization_alias': None, - 'title': None, - 'description': None, - 'examples': None, - 'exclude': None, - 'discriminator': None, - 'json_schema_extra': None, - 'frozen': None, - 'validate_default': None, - 'repr': True, - 'init': None, - 'init_var': None, - 'kw_only': None, - 'pattern': None, - 'strict': None, - 'gt': None, - 'ge': None, - 'lt': None, - 'le': None, - 'multiple_of': None, - 'allow_inf_nan': None, - 'max_digits': None, - 'decimal_places': None, - 'min_length': None, - 'max_length': None, - 'coerce_numbers_to_str': None, -} +_DefaultValues = dict( + default=..., + default_factory=None, + alias=None, + alias_priority=None, + validation_alias=None, + serialization_alias=None, + title=None, + description=None, + examples=None, + exclude=None, + discriminator=None, + json_schema_extra=None, + frozen=None, + validate_default=None, + repr=True, + init_var=None, + kw_only=None, + pattern=None, + strict=None, + gt=None, + ge=None, + lt=None, + le=None, + multiple_of=None, + allow_inf_nan=None, + max_digits=None, + decimal_places=None, + min_length=None, + max_length=None, +) -_T = TypeVar('_T') - - -# NOTE: Actual return type is 'FieldInfo', but we want to help type checkers -# to understand the magic that happens at runtime with the following overloads: -@overload # type hint the return value as `Any` to avoid type checking regressions when using `...`. -def Field( - default: ellipsis, # noqa: F821 # TODO: use `_typing_extra.EllipsisType` when we drop Py3.9 - *, - alias: str | None = _Unset, - alias_priority: int | None = _Unset, - validation_alias: str | AliasPath | AliasChoices | None = _Unset, - serialization_alias: str | None = _Unset, - title: str | None = _Unset, - field_title_generator: Callable[[str, FieldInfo], str] | None = _Unset, - description: str | None = _Unset, - examples: list[Any] | None = _Unset, - exclude: bool | None = _Unset, - discriminator: str | types.Discriminator | None = _Unset, - deprecated: Deprecated | str | bool | None = _Unset, - json_schema_extra: JsonDict | Callable[[JsonDict], None] | None = _Unset, - frozen: bool | None = _Unset, - validate_default: bool | None = _Unset, - repr: bool = _Unset, - init: bool | None = _Unset, - init_var: bool | None = _Unset, - kw_only: bool | None = _Unset, - pattern: str | typing.Pattern[str] | None = _Unset, - strict: bool | None = _Unset, - coerce_numbers_to_str: bool | None = _Unset, - gt: annotated_types.SupportsGt | None = _Unset, - ge: annotated_types.SupportsGe | None = _Unset, - lt: annotated_types.SupportsLt | None = _Unset, - le: annotated_types.SupportsLe | None = _Unset, - multiple_of: float | None = _Unset, - allow_inf_nan: bool | None = _Unset, - max_digits: int | None = _Unset, - decimal_places: int | None = _Unset, - min_length: int | None = _Unset, - max_length: int | None = _Unset, - union_mode: Literal['smart', 'left_to_right'] = _Unset, - fail_fast: bool | None = _Unset, - **extra: Unpack[_EmptyKwargs], -) -> Any: ... -@overload # `default` argument set -def Field( - default: _T, - *, - alias: str | None = _Unset, - alias_priority: int | None = _Unset, - validation_alias: str | AliasPath | AliasChoices | None = _Unset, - serialization_alias: str | None = _Unset, - title: str | None = _Unset, - field_title_generator: Callable[[str, FieldInfo], str] | None = _Unset, - description: str | None = _Unset, - examples: list[Any] | None = _Unset, - exclude: bool | None = _Unset, - discriminator: str | types.Discriminator | None = _Unset, - deprecated: Deprecated | str | bool | None = _Unset, - json_schema_extra: JsonDict | Callable[[JsonDict], None] | None = _Unset, - frozen: bool | None = _Unset, - validate_default: bool | None = _Unset, - repr: bool = _Unset, - init: bool | None = _Unset, - init_var: bool | None = _Unset, - kw_only: bool | None = _Unset, - pattern: str | typing.Pattern[str] | None = _Unset, - strict: bool | None = _Unset, - coerce_numbers_to_str: bool | None = _Unset, - gt: annotated_types.SupportsGt | None = _Unset, - ge: annotated_types.SupportsGe | None = _Unset, - lt: annotated_types.SupportsLt | None = _Unset, - le: annotated_types.SupportsLe | None = _Unset, - multiple_of: float | None = _Unset, - allow_inf_nan: bool | None = _Unset, - max_digits: int | None = _Unset, - decimal_places: int | None = _Unset, - min_length: int | None = _Unset, - max_length: int | None = _Unset, - union_mode: Literal['smart', 'left_to_right'] = _Unset, - fail_fast: bool | None = _Unset, - **extra: Unpack[_EmptyKwargs], -) -> _T: ... -@overload # `default_factory` argument set -def Field( - *, - default_factory: Callable[[], _T] | Callable[[dict[str, Any]], _T], - alias: str | None = _Unset, - alias_priority: int | None = _Unset, - validation_alias: str | AliasPath | AliasChoices | None = _Unset, - serialization_alias: str | None = _Unset, - title: str | None = _Unset, - field_title_generator: Callable[[str, FieldInfo], str] | None = _Unset, - description: str | None = _Unset, - examples: list[Any] | None = _Unset, - exclude: bool | None = _Unset, - discriminator: str | types.Discriminator | None = _Unset, - deprecated: Deprecated | str | bool | None = _Unset, - json_schema_extra: JsonDict | Callable[[JsonDict], None] | None = _Unset, - frozen: bool | None = _Unset, - validate_default: bool | None = _Unset, - repr: bool = _Unset, - init: bool | None = _Unset, - init_var: bool | None = _Unset, - kw_only: bool | None = _Unset, - pattern: str | typing.Pattern[str] | None = _Unset, - strict: bool | None = _Unset, - coerce_numbers_to_str: bool | None = _Unset, - gt: annotated_types.SupportsGt | None = _Unset, - ge: annotated_types.SupportsGe | None = _Unset, - lt: annotated_types.SupportsLt | None = _Unset, - le: annotated_types.SupportsLe | None = _Unset, - multiple_of: float | None = _Unset, - allow_inf_nan: bool | None = _Unset, - max_digits: int | None = _Unset, - decimal_places: int | None = _Unset, - min_length: int | None = _Unset, - max_length: int | None = _Unset, - union_mode: Literal['smart', 'left_to_right'] = _Unset, - fail_fast: bool | None = _Unset, - **extra: Unpack[_EmptyKwargs], -) -> _T: ... -@overload -def Field( # No default set - *, - alias: str | None = _Unset, - alias_priority: int | None = _Unset, - validation_alias: str | AliasPath | AliasChoices | None = _Unset, - serialization_alias: str | None = _Unset, - title: str | None = _Unset, - field_title_generator: Callable[[str, FieldInfo], str] | None = _Unset, - description: str | None = _Unset, - examples: list[Any] | None = _Unset, - exclude: bool | None = _Unset, - discriminator: str | types.Discriminator | None = _Unset, - deprecated: Deprecated | str | bool | None = _Unset, - json_schema_extra: JsonDict | Callable[[JsonDict], None] | None = _Unset, - frozen: bool | None = _Unset, - validate_default: bool | None = _Unset, - repr: bool = _Unset, - init: bool | None = _Unset, - init_var: bool | None = _Unset, - kw_only: bool | None = _Unset, - pattern: str | typing.Pattern[str] | None = _Unset, - strict: bool | None = _Unset, - coerce_numbers_to_str: bool | None = _Unset, - gt: annotated_types.SupportsGt | None = _Unset, - ge: annotated_types.SupportsGe | None = _Unset, - lt: annotated_types.SupportsLt | None = _Unset, - le: annotated_types.SupportsLe | None = _Unset, - multiple_of: float | None = _Unset, - allow_inf_nan: bool | None = _Unset, - max_digits: int | None = _Unset, - decimal_places: int | None = _Unset, - min_length: int | None = _Unset, - max_length: int | None = _Unset, - union_mode: Literal['smart', 'left_to_right'] = _Unset, - fail_fast: bool | None = _Unset, - **extra: Unpack[_EmptyKwargs], -) -> Any: ... def Field( # noqa: C901 default: Any = PydanticUndefined, *, - default_factory: Callable[[], Any] | Callable[[dict[str, Any]], Any] | None = _Unset, + default_factory: typing.Callable[[], Any] | None = _Unset, alias: str | None = _Unset, alias_priority: int | None = _Unset, validation_alias: str | AliasPath | AliasChoices | None = _Unset, serialization_alias: str | None = _Unset, title: str | None = _Unset, - field_title_generator: Callable[[str, FieldInfo], str] | None = _Unset, description: str | None = _Unset, examples: list[Any] | None = _Unset, exclude: bool | None = _Unset, - discriminator: str | types.Discriminator | None = _Unset, - deprecated: Deprecated | str | bool | None = _Unset, - json_schema_extra: JsonDict | Callable[[JsonDict], None] | None = _Unset, + discriminator: str | None = _Unset, + json_schema_extra: dict[str, Any] | typing.Callable[[dict[str, Any]], None] | None = _Unset, frozen: bool | None = _Unset, validate_default: bool | None = _Unset, repr: bool = _Unset, - init: bool | None = _Unset, init_var: bool | None = _Unset, kw_only: bool | None = _Unset, - pattern: str | typing.Pattern[str] | None = _Unset, + pattern: str | None = _Unset, strict: bool | None = _Unset, - coerce_numbers_to_str: bool | None = _Unset, - gt: annotated_types.SupportsGt | None = _Unset, - ge: annotated_types.SupportsGe | None = _Unset, - lt: annotated_types.SupportsLt | None = _Unset, - le: annotated_types.SupportsLe | None = _Unset, + gt: float | None = _Unset, + ge: float | None = _Unset, + lt: float | None = _Unset, + le: float | None = _Unset, multiple_of: float | None = _Unset, allow_inf_nan: bool | None = _Unset, max_digits: int | None = _Unset, @@ -983,11 +701,9 @@ def Field( # noqa: C901 min_length: int | None = _Unset, max_length: int | None = _Unset, union_mode: Literal['smart', 'left_to_right'] = _Unset, - fail_fast: bool | None = _Unset, **extra: Unpack[_EmptyKwargs], ) -> Any: - """!!! abstract "Usage Documentation" - [Fields](../concepts/fields.md) + """Usage docs: https://docs.pydantic.dev/2.4/concepts/fields Create a field for objects that can be configured. @@ -999,33 +715,24 @@ def Field( # noqa: C901 Args: default: Default value if the field is not set. - default_factory: A callable to generate the default value. The callable can either take 0 arguments - (in which case it is called as is) or a single argument containing the already validated data. - alias: The name to use for the attribute when validating or serializing by alias. - This is often used for things like converting between snake and camel case. + default_factory: A callable to generate the default value, such as :func:`~datetime.utcnow`. + alias: An alternative name for the attribute. alias_priority: Priority of the alias. This affects whether an alias generator is used. - validation_alias: Like `alias`, but only affects validation, not serialization. - serialization_alias: Like `alias`, but only affects serialization, not validation. + validation_alias: 'Whitelist' validation step. The field will be the single one allowed by the alias or set of + aliases defined. + serialization_alias: 'Blacklist' validation step. The vanilla field will be the single one of the alias' or set + of aliases' fields and all the other fields will be ignored at serialization time. title: Human-readable title. - field_title_generator: A callable that takes a field name and returns title for it. description: Human-readable description. examples: Example values for this field. exclude: Whether to exclude the field from the model serialization. - discriminator: Field name or Discriminator for discriminating the type in a tagged union. - deprecated: A deprecation message, an instance of `warnings.deprecated` or the `typing_extensions.deprecated` backport, - or a boolean. If `True`, a default deprecation message will be emitted when accessing the field. - json_schema_extra: A dict or callable to provide extra JSON schema properties. - frozen: Whether the field is frozen. If true, attempts to change the value on an instance will raise an error. - validate_default: If `True`, apply validation to the default value every time you create an instance. - Otherwise, for performance reasons, the default value of the field is trusted and not validated. + discriminator: Field name for discriminating the type in a tagged union. + json_schema_extra: Any additional JSON schema data for the schema property. + frozen: Whether the field is frozen. + validate_default: Run validation that isn't only checking existence of defaults. This can be set to `True` or `False`. If not set, it defaults to `None`. repr: A boolean indicating whether to include the field in the `__repr__` output. - init: Whether the field should be included in the constructor of the dataclass. - (Only applies to dataclasses.) - init_var: Whether the field should _only_ be included in the constructor of the dataclass. - (Only applies to dataclasses.) + init_var: Whether the field should be included in the constructor of the dataclass. kw_only: Whether the field should be a keyword-only argument in the constructor of the dataclass. - (Only applies to dataclasses.) - coerce_numbers_to_str: Whether to enable coercion of any `Number` type to `str` (not applicable in `strict` mode). strict: If `True`, strict validation is applied to the field. See [Strict Mode](../concepts/strict_mode.md) for details. gt: Greater than. If set, value must be greater than this. Only applicable to numbers. @@ -1033,24 +740,22 @@ def Field( # noqa: C901 lt: Less than. If set, value must be less than this. Only applicable to numbers. le: Less than or equal. If set, value must be less than or equal to this. Only applicable to numbers. multiple_of: Value must be a multiple of this. Only applicable to numbers. - min_length: Minimum length for iterables. - max_length: Maximum length for iterables. - pattern: Pattern for strings (a regular expression). - allow_inf_nan: Allow `inf`, `-inf`, `nan`. Only applicable to float and [`Decimal`][decimal.Decimal] numbers. + min_length: Minimum length for strings. + max_length: Maximum length for strings. + pattern: Pattern for strings. + allow_inf_nan: Allow `inf`, `-inf`, `nan`. Only applicable to numbers. max_digits: Maximum number of allow digits for strings. decimal_places: Maximum number of decimal places allowed for numbers. union_mode: The strategy to apply when validating a union. Can be `smart` (the default), or `left_to_right`. - See [Union Mode](../concepts/unions.md#union-modes) for details. - fail_fast: If `True`, validation will stop on the first error. If `False`, all validation errors will be collected. - This option can be applied only to iterable types (list, tuple, set, and frozenset). - extra: (Deprecated) Extra fields that will be included in the JSON schema. + See [Union Mode](standard_library_types.md#union-mode) for details. + extra: Include extra fields used by the JSON schema. !!! warning Deprecated The `extra` kwargs is deprecated. Use `json_schema_extra` instead. Returns: - A new [`FieldInfo`][pydantic.fields.FieldInfo]. The return annotation is `Any` so `Field` can be used on - type-annotated fields without causing a type error. + A new [`FieldInfo`][pydantic.fields.FieldInfo], the return annotation is `Any` so `Field` can be used on + type annotated fields without causing a typing error. """ # Check deprecated and removed params from V1. This logic should eventually be removed. const = extra.pop('const', None) # type: ignore @@ -1124,21 +829,17 @@ def Field( # noqa: C901 validation_alias=validation_alias, serialization_alias=serialization_alias, title=title, - field_title_generator=field_title_generator, description=description, examples=examples, exclude=exclude, discriminator=discriminator, - deprecated=deprecated, json_schema_extra=json_schema_extra, frozen=frozen, pattern=pattern, validate_default=validate_default, repr=repr, - init=init, init_var=init_var, kw_only=kw_only, - coerce_numbers_to_str=coerce_numbers_to_str, strict=strict, gt=gt, ge=ge, @@ -1151,7 +852,6 @@ def Field( # noqa: C901 max_digits=max_digits, decimal_places=decimal_places, union_mode=union_mode, - fail_fast=fail_fast, ) @@ -1162,25 +862,18 @@ _FIELD_ARG_NAMES.remove('extra') # do not include the varkwargs parameter class ModelPrivateAttr(_repr.Representation): """A descriptor for private attributes in class models. - !!! warning - You generally shouldn't be creating `ModelPrivateAttr` instances directly, instead use - `pydantic.fields.PrivateAttr`. (This is similar to `FieldInfo` vs. `Field`.) - Attributes: default: The default value of the attribute if not provided. default_factory: A callable function that generates the default value of the attribute if not provided. """ - __slots__ = ('default', 'default_factory') + __slots__ = 'default', 'default_factory' def __init__( self, default: Any = PydanticUndefined, *, default_factory: typing.Callable[[], Any] | None = None ) -> None: - if default is Ellipsis: - self.default = PydanticUndefined - else: - self.default = default + self.default = default self.default_factory = default_factory if not typing.TYPE_CHECKING: @@ -1197,10 +890,11 @@ class ModelPrivateAttr(_repr.Representation): def __set_name__(self, cls: type[Any], name: str) -> None: """Preserve `__set_name__` protocol defined in https://peps.python.org/pep-0487.""" - default = self.default - if default is PydanticUndefined: + if self.default is PydanticUndefined: return - set_name = getattr(default, '__set_name__', None) + if not hasattr(self.default, '__set_name__'): + return + set_name = self.default.__set_name__ if callable(set_name): set_name(cls, name) @@ -1223,37 +917,14 @@ class ModelPrivateAttr(_repr.Representation): ) -# NOTE: Actual return type is 'ModelPrivateAttr', but we want to help type checkers -# to understand the magic that happens at runtime. -@overload # `default` argument set -def PrivateAttr( - default: _T, - *, - init: Literal[False] = False, -) -> _T: ... -@overload # `default_factory` argument set -def PrivateAttr( - *, - default_factory: Callable[[], _T], - init: Literal[False] = False, -) -> _T: ... -@overload # No default set -def PrivateAttr( - *, - init: Literal[False] = False, -) -> Any: ... def PrivateAttr( default: Any = PydanticUndefined, *, - default_factory: Callable[[], Any] | None = None, - init: Literal[False] = False, + default_factory: typing.Callable[[], Any] | None = None, ) -> Any: - """!!! abstract "Usage Documentation" - [Private Model Attributes](../concepts/models.md#private-model-attributes) + """Indicates that attribute is only used internally and never mixed with regular fields. - Indicates that an attribute is intended for private use and not handled during normal validation/serialization. - - Private attributes are not validated by Pydantic, so it's up to you to ensure they are used in a type-safe manner. + Private attributes are not checked by Pydantic, so it's up to you to maintain their accuracy. Private attributes are stored in `__private_attributes__` on the model. @@ -1262,7 +933,6 @@ def PrivateAttr( default_factory: Callable that will be called when a default value is needed for this attribute. If both `default` and `default_factory` are set, an error will be raised. - init: Whether the attribute should be included in the constructor of the dataclass. Always `False`. Returns: An instance of [`ModelPrivateAttr`][pydantic.fields.ModelPrivateAttr] class. @@ -1287,16 +957,11 @@ class ComputedFieldInfo: decorator_repr: A class variable representing the decorator string, '@computed_field'. wrapped_property: The wrapped computed field property. return_type: The type of the computed field property's return value. - alias: The alias of the property to be used during serialization. - alias_priority: The priority of the alias. This affects whether an alias generator is used. - title: Title of the computed field to include in the serialization JSON schema. - field_title_generator: A callable that takes a field name and returns title for it. - description: Description of the computed field to include in the serialization JSON schema. - deprecated: A deprecation message, an instance of `warnings.deprecated` or the `typing_extensions.deprecated` backport, - or a boolean. If `True`, a default deprecation message will be emitted when accessing the field. - examples: Example values of the computed field to include in the serialization JSON schema. - json_schema_extra: A dict or callable to provide extra JSON schema properties. - repr: A boolean indicating whether to include the field in the __repr__ output. + alias: The alias of the property to be used during encoding and decoding. + alias_priority: priority of the alias. This affects whether an alias generator is used + title: Title of the computed field as in OpenAPI document, should be a short summary. + description: Description of the computed field as in OpenAPI document. + repr: A boolean indicating whether or not to include the field in the __repr__ output. """ decorator_repr: ClassVar[str] = '@computed_field' @@ -1305,21 +970,31 @@ class ComputedFieldInfo: alias: str | None alias_priority: int | None title: str | None - field_title_generator: typing.Callable[[str, ComputedFieldInfo], str] | None description: str | None - deprecated: Deprecated | str | bool | None - examples: list[Any] | None - json_schema_extra: JsonDict | typing.Callable[[JsonDict], None] | None repr: bool - @property - def deprecation_message(self) -> str | None: - """The deprecation message to be emitted, or `None` if not set.""" - if self.deprecated is None: - return None - if isinstance(self.deprecated, bool): - return 'deprecated' if self.deprecated else None - return self.deprecated if isinstance(self.deprecated, str) else self.deprecated.message + +# this should really be `property[T], cached_proprety[T]` but property is not generic unlike cached_property +# See https://github.com/python/typing/issues/985 and linked issues +PropertyT = typing.TypeVar('PropertyT') + + +@typing.overload +def computed_field( + *, + return_type: Any = PydanticUndefined, + alias: str | None = None, + alias_priority: int | None = None, + title: str | None = None, + description: str | None = None, + repr: bool = True, +) -> typing.Callable[[PropertyT], PropertyT]: + ... + + +@typing.overload +def computed_field(__func: PropertyT) -> PropertyT: + ... def _wrapped_property_is_private(property_: cached_property | property) -> bool: # type: ignore @@ -1334,54 +1009,21 @@ def _wrapped_property_is_private(property_: cached_property | property) -> bool: return wrapped_name.startswith('_') and not wrapped_name.startswith('__') -# this should really be `property[T], cached_property[T]` but property is not generic unlike cached_property -# See https://github.com/python/typing/issues/985 and linked issues -PropertyT = typing.TypeVar('PropertyT') - - -@typing.overload -def computed_field(func: PropertyT, /) -> PropertyT: ... - - -@typing.overload def computed_field( + __f: PropertyT | None = None, *, alias: str | None = None, alias_priority: int | None = None, title: str | None = None, - field_title_generator: typing.Callable[[str, ComputedFieldInfo], str] | None = None, description: str | None = None, - deprecated: Deprecated | str | bool | None = None, - examples: list[Any] | None = None, - json_schema_extra: JsonDict | typing.Callable[[JsonDict], None] | None = None, - repr: bool = True, - return_type: Any = PydanticUndefined, -) -> typing.Callable[[PropertyT], PropertyT]: ... - - -def computed_field( - func: PropertyT | None = None, - /, - *, - alias: str | None = None, - alias_priority: int | None = None, - title: str | None = None, - field_title_generator: typing.Callable[[str, ComputedFieldInfo], str] | None = None, - description: str | None = None, - deprecated: Deprecated | str | bool | None = None, - examples: list[Any] | None = None, - json_schema_extra: JsonDict | typing.Callable[[JsonDict], None] | None = None, repr: bool | None = None, return_type: Any = PydanticUndefined, ) -> PropertyT | typing.Callable[[PropertyT], PropertyT]: - """!!! abstract "Usage Documentation" - [The `computed_field` decorator](../concepts/fields.md#the-computed_field-decorator) - - Decorator to include `property` and `cached_property` when serializing models or dataclasses. + """Decorator to include `property` and `cached_property` when serializing models or dataclasses. This is useful for fields that are computed from other fields, or for fields that are expensive to compute and should be cached. - ```python + ```py from pydantic import BaseModel, computed_field class Rectangle(BaseModel): @@ -1405,11 +1047,11 @@ def computed_field( Even with the `@property` or `@cached_property` applied to your function before `@computed_field`, mypy may throw a `Decorated property not supported` error. See [mypy issue #1362](https://github.com/python/mypy/issues/1362), for more information. - To avoid this error message, add `# type: ignore[prop-decorator]` to the `@computed_field` line. + To avoid this error message, add `# type: ignore[misc]` to the `@computed_field` line. [pyright](https://github.com/microsoft/pyright) supports `@computed_field` without error. - ```python + ```py import random from pydantic import BaseModel, computed_field @@ -1449,7 +1091,7 @@ def computed_field( `mypy` complains about this behavior if allowed, and `dataclasses` doesn't allow this pattern either. See the example below: - ```python + ```py from pydantic import BaseModel, computed_field class Parent(BaseModel): @@ -1463,16 +1105,14 @@ def computed_field( def a(self) -> str: return 'new a' - except TypeError as e: - print(e) - ''' - Field 'a' of class 'Child' overrides symbol of same name in a parent class. This override with a computed_field is incompatible. - ''' + except ValueError as e: + print(repr(e)) + #> ValueError("you can't override a field with a computed field") ``` Private properties decorated with `@computed_field` have `repr=False` by default. - ```python + ```py from functools import cached_property from pydantic import BaseModel, computed_field @@ -1492,22 +1132,16 @@ def computed_field( m = Model(foo=1) print(repr(m)) - #> Model(foo=1) + #> M(foo=1) ``` Args: - func: the function to wrap. + __f: the function to wrap. alias: alias to use when serializing this computed field, only used when `by_alias=True` alias_priority: priority of the alias. This affects whether an alias generator is used - title: Title to use when including this computed field in JSON Schema - field_title_generator: A callable that takes a field name and returns title for it. - description: Description to use when including this computed field in JSON Schema, defaults to the function's - docstring - deprecated: A deprecation message (or an instance of `warnings.deprecated` or the `typing_extensions.deprecated` backport). - to be emitted when accessing the field. Or a boolean. This will automatically be set if the property is decorated with the - `deprecated` decorator. - examples: Example values to use when including this computed field in JSON Schema - json_schema_extra: A dict or callable to provide extra JSON schema properties. + title: Title to used when including this computed field in JSON Schema, currently unused waiting for #4697 + description: Description to used when including this computed field in JSON Schema, defaults to the functions + docstring, currently unused waiting for #4697 repr: whether to include this computed field in model repr. Default is `False` for private properties and `True` for public properties. return_type: optional return for serialization logic to expect when serializing to JSON, if included @@ -1520,40 +1154,24 @@ def computed_field( """ def dec(f: Any) -> Any: - nonlocal description, deprecated, return_type, alias_priority + nonlocal description, return_type, alias_priority unwrapped = _decorators.unwrap_wrapped_function(f) - if description is None and unwrapped.__doc__: description = inspect.cleandoc(unwrapped.__doc__) - if deprecated is None and hasattr(unwrapped, '__deprecated__'): - deprecated = unwrapped.__deprecated__ - # if the function isn't already decorated with `@property` (or another descriptor), then we wrap it now f = _decorators.ensure_property(f) alias_priority = (alias_priority or 2) if alias is not None else None if repr is None: - repr_: bool = not _wrapped_property_is_private(property_=f) + repr_: bool = False if _wrapped_property_is_private(property_=f) else True else: repr_ = repr - dec_info = ComputedFieldInfo( - f, - return_type, - alias, - alias_priority, - title, - field_title_generator, - description, - deprecated, - examples, - json_schema_extra, - repr_, - ) + dec_info = ComputedFieldInfo(f, return_type, alias, alias_priority, title, description, repr_) return _decorators.PydanticDescriptorProxy(f, dec_info) - if func is None: + if __f is None: return dec else: - return dec(func) + return dec(__f) diff --git a/venv/lib/python3.12/site-packages/pydantic/functional_serializers.py b/venv/lib/python3.12/site-packages/pydantic/functional_serializers.py index 4b065e4..849dfe5 100644 --- a/venv/lib/python3.12/site-packages/pydantic/functional_serializers.py +++ b/venv/lib/python3.12/site-packages/pydantic/functional_serializers.py @@ -1,14 +1,13 @@ """This module contains related classes and functions for serialization.""" - from __future__ import annotations import dataclasses -from functools import partial, partialmethod -from typing import TYPE_CHECKING, Annotated, Any, Callable, Literal, TypeVar, overload +from functools import partialmethod +from typing import TYPE_CHECKING, Any, Callable, TypeVar, Union, overload from pydantic_core import PydanticUndefined, core_schema -from pydantic_core.core_schema import SerializationInfo, SerializerFunctionWrapHandler, WhenUsed -from typing_extensions import TypeAlias +from pydantic_core import core_schema as _core_schema +from typing_extensions import Annotated, Literal, TypeAlias from . import PydanticUndefinedAnnotation from ._internal import _decorators, _internal_dataclass @@ -19,26 +18,6 @@ from .annotated_handlers import GetCoreSchemaHandler class PlainSerializer: """Plain serializers use a function to modify the output of serialization. - This is particularly helpful when you want to customize the serialization for annotated types. - Consider an input of `list`, which will be serialized into a space-delimited string. - - ```python - from typing import Annotated - - from pydantic import BaseModel, PlainSerializer - - CustomStr = Annotated[ - list, PlainSerializer(lambda x: ' '.join(x), return_type=str) - ] - - class StudentModel(BaseModel): - courses: CustomStr - - student = StudentModel(courses=['Math', 'Chemistry', 'English']) - print(student.model_dump()) - #> {'courses': 'Math Chemistry English'} - ``` - Attributes: func: The serializer function. return_type: The return type for the function. If omitted it will be inferred from the type annotation. @@ -48,7 +27,7 @@ class PlainSerializer: func: core_schema.SerializerFunction return_type: Any = PydanticUndefined - when_used: WhenUsed = 'always' + when_used: Literal['always', 'unless-none', 'json', 'json-unless-none'] = 'always' def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: """Gets the Pydantic core schema. @@ -61,20 +40,12 @@ class PlainSerializer: The Pydantic core schema. """ schema = handler(source_type) - if self.return_type is not PydanticUndefined: - return_type = self.return_type - else: - try: - # Do not pass in globals as the function could be defined in a different module. - # Instead, let `get_callable_return_type` infer the globals to use, but still pass - # in locals that may contain a parent/rebuild namespace: - return_type = _decorators.get_callable_return_type( - self.func, - localns=handler._get_types_namespace().locals, - ) - except NameError as e: - raise PydanticUndefinedAnnotation.from_name_error(e) from e - + try: + return_type = _decorators.get_function_return_type( + self.func, self.return_type, handler._get_types_namespace() + ) + except NameError as e: + raise PydanticUndefinedAnnotation.from_name_error(e) from e return_schema = None if return_type is PydanticUndefined else handler.generate_schema(return_type) schema['serialization'] = core_schema.plain_serializer_function_ser_schema( function=self.func, @@ -90,58 +61,6 @@ class WrapSerializer: """Wrap serializers receive the raw inputs along with a handler function that applies the standard serialization logic, and can modify the resulting value before returning it as the final output of serialization. - For example, here's a scenario in which a wrap serializer transforms timezones to UTC **and** utilizes the existing `datetime` serialization logic. - - ```python - from datetime import datetime, timezone - from typing import Annotated, Any - - from pydantic import BaseModel, WrapSerializer - - class EventDatetime(BaseModel): - start: datetime - end: datetime - - def convert_to_utc(value: Any, handler, info) -> dict[str, datetime]: - # Note that `handler` can actually help serialize the `value` for - # further custom serialization in case it's a subclass. - partial_result = handler(value, info) - if info.mode == 'json': - return { - k: datetime.fromisoformat(v).astimezone(timezone.utc) - for k, v in partial_result.items() - } - return {k: v.astimezone(timezone.utc) for k, v in partial_result.items()} - - UTCEventDatetime = Annotated[EventDatetime, WrapSerializer(convert_to_utc)] - - class EventModel(BaseModel): - event_datetime: UTCEventDatetime - - dt = EventDatetime( - start='2024-01-01T07:00:00-08:00', end='2024-01-03T20:00:00+06:00' - ) - event = EventModel(event_datetime=dt) - print(event.model_dump()) - ''' - { - 'event_datetime': { - 'start': datetime.datetime( - 2024, 1, 1, 15, 0, tzinfo=datetime.timezone.utc - ), - 'end': datetime.datetime( - 2024, 1, 3, 14, 0, tzinfo=datetime.timezone.utc - ), - } - } - ''' - - print(event.model_dump_json()) - ''' - {"event_datetime":{"start":"2024-01-01T15:00:00Z","end":"2024-01-03T14:00:00Z"}} - ''' - ``` - Attributes: func: The serializer function to be wrapped. return_type: The return type for the function. If omitted it will be inferred from the type annotation. @@ -151,7 +70,7 @@ class WrapSerializer: func: core_schema.WrapSerializerFunction return_type: Any = PydanticUndefined - when_used: WhenUsed = 'always' + when_used: Literal['always', 'unless-none', 'json', 'json-unless-none'] = 'always' def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: """This method is used to get the Pydantic core schema of the class. @@ -164,20 +83,12 @@ class WrapSerializer: The generated core schema of the class. """ schema = handler(source_type) - if self.return_type is not PydanticUndefined: - return_type = self.return_type - else: - try: - # Do not pass in globals as the function could be defined in a different module. - # Instead, let `get_callable_return_type` infer the globals to use, but still pass - # in locals that may contain a parent/rebuild namespace: - return_type = _decorators.get_callable_return_type( - self.func, - localns=handler._get_types_namespace().locals, - ) - except NameError as e: - raise PydanticUndefinedAnnotation.from_name_error(e) from e - + try: + return_type = _decorators.get_function_return_type( + self.func, self.return_type, handler._get_types_namespace() + ) + except NameError as e: + raise PydanticUndefinedAnnotation.from_name_error(e) from e return_schema = None if return_type is PydanticUndefined else handler.generate_schema(return_type) schema['serialization'] = core_schema.wrap_serializer_function_ser_schema( function=self.func, @@ -189,77 +100,57 @@ class WrapSerializer: if TYPE_CHECKING: - _Partial: TypeAlias = 'partial[Any] | partialmethod[Any]' - - FieldPlainSerializer: TypeAlias = 'core_schema.SerializerFunction | _Partial' - """A field serializer method or function in `plain` mode.""" - - FieldWrapSerializer: TypeAlias = 'core_schema.WrapSerializerFunction | _Partial' - """A field serializer method or function in `wrap` mode.""" - - FieldSerializer: TypeAlias = 'FieldPlainSerializer | FieldWrapSerializer' - """A field serializer method or function.""" - - _FieldPlainSerializerT = TypeVar('_FieldPlainSerializerT', bound=FieldPlainSerializer) - _FieldWrapSerializerT = TypeVar('_FieldWrapSerializerT', bound=FieldWrapSerializer) + _PartialClsOrStaticMethod: TypeAlias = Union[classmethod[Any, Any, Any], staticmethod[Any, Any], partialmethod[Any]] + _PlainSerializationFunction = Union[_core_schema.SerializerFunction, _PartialClsOrStaticMethod] + _WrapSerializationFunction = Union[_core_schema.WrapSerializerFunction, _PartialClsOrStaticMethod] + _PlainSerializeMethodType = TypeVar('_PlainSerializeMethodType', bound=_PlainSerializationFunction) + _WrapSerializeMethodType = TypeVar('_WrapSerializeMethodType', bound=_WrapSerializationFunction) @overload def field_serializer( - field: str, - /, + __field: str, + *fields: str, + return_type: Any = ..., + when_used: Literal['always', 'unless-none', 'json', 'json-unless-none'] = ..., + check_fields: bool | None = ..., +) -> Callable[[_PlainSerializeMethodType], _PlainSerializeMethodType]: + ... + + +@overload +def field_serializer( + __field: str, + *fields: str, + mode: Literal['plain'], + return_type: Any = ..., + when_used: Literal['always', 'unless-none', 'json', 'json-unless-none'] = ..., + check_fields: bool | None = ..., +) -> Callable[[_PlainSerializeMethodType], _PlainSerializeMethodType]: + ... + + +@overload +def field_serializer( + __field: str, *fields: str, mode: Literal['wrap'], return_type: Any = ..., - when_used: WhenUsed = ..., + when_used: Literal['always', 'unless-none', 'json', 'json-unless-none'] = ..., check_fields: bool | None = ..., -) -> Callable[[_FieldWrapSerializerT], _FieldWrapSerializerT]: ... - - -@overload -def field_serializer( - field: str, - /, - *fields: str, - mode: Literal['plain'] = ..., - return_type: Any = ..., - when_used: WhenUsed = ..., - check_fields: bool | None = ..., -) -> Callable[[_FieldPlainSerializerT], _FieldPlainSerializerT]: ... +) -> Callable[[_WrapSerializeMethodType], _WrapSerializeMethodType]: + ... def field_serializer( *fields: str, mode: Literal['plain', 'wrap'] = 'plain', return_type: Any = PydanticUndefined, - when_used: WhenUsed = 'always', + when_used: Literal['always', 'unless-none', 'json', 'json-unless-none'] = 'always', check_fields: bool | None = None, -) -> ( - Callable[[_FieldWrapSerializerT], _FieldWrapSerializerT] - | Callable[[_FieldPlainSerializerT], _FieldPlainSerializerT] -): +) -> Callable[[Any], Any]: """Decorator that enables custom field serialization. - In the below example, a field of type `set` is used to mitigate duplication. A `field_serializer` is used to serialize the data as a sorted list. - - ```python - from typing import Set - - from pydantic import BaseModel, field_serializer - - class StudentModel(BaseModel): - name: str = 'Jane' - courses: Set[str] - - @field_serializer('courses', when_used='json') - def serialize_courses_in_order(self, courses: Set[str]): - return sorted(courses) - - student = StudentModel(courses={'Math', 'Chemistry', 'English'}) - print(student.model_dump_json()) - #> {"name":"Jane","courses":["Chemistry","English","Math"]} - ``` - See [Custom serializers](../concepts/serialization.md#custom-serializers) for more information. Four signatures are supported: @@ -284,7 +175,9 @@ def field_serializer( The decorator function. """ - def dec(f: FieldSerializer) -> _decorators.PydanticDescriptorProxy[Any]: + def dec( + f: Callable[..., Any] | staticmethod[Any, Any] | classmethod[Any, Any, Any] + ) -> _decorators.PydanticDescriptorProxy[Any]: dec_info = _decorators.FieldSerializerDecoratorInfo( fields=fields, mode=mode, @@ -292,109 +185,42 @@ def field_serializer( when_used=when_used, check_fields=check_fields, ) - return _decorators.PydanticDescriptorProxy(f, dec_info) # pyright: ignore[reportArgumentType] + return _decorators.PydanticDescriptorProxy(f, dec_info) - return dec # pyright: ignore[reportReturnType] + return dec -if TYPE_CHECKING: - # The first argument in the following callables represent the `self` type: - - ModelPlainSerializerWithInfo: TypeAlias = Callable[[Any, SerializationInfo], Any] - """A model serializer method with the `info` argument, in `plain` mode.""" - - ModelPlainSerializerWithoutInfo: TypeAlias = Callable[[Any], Any] - """A model serializer method without the `info` argument, in `plain` mode.""" - - ModelPlainSerializer: TypeAlias = 'ModelPlainSerializerWithInfo | ModelPlainSerializerWithoutInfo' - """A model serializer method in `plain` mode.""" - - ModelWrapSerializerWithInfo: TypeAlias = Callable[[Any, SerializerFunctionWrapHandler, SerializationInfo], Any] - """A model serializer method with the `info` argument, in `wrap` mode.""" - - ModelWrapSerializerWithoutInfo: TypeAlias = Callable[[Any, SerializerFunctionWrapHandler], Any] - """A model serializer method without the `info` argument, in `wrap` mode.""" - - ModelWrapSerializer: TypeAlias = 'ModelWrapSerializerWithInfo | ModelWrapSerializerWithoutInfo' - """A model serializer method in `wrap` mode.""" - - ModelSerializer: TypeAlias = 'ModelPlainSerializer | ModelWrapSerializer' - - _ModelPlainSerializerT = TypeVar('_ModelPlainSerializerT', bound=ModelPlainSerializer) - _ModelWrapSerializerT = TypeVar('_ModelWrapSerializerT', bound=ModelWrapSerializer) +FuncType = TypeVar('FuncType', bound=Callable[..., Any]) @overload -def model_serializer(f: _ModelPlainSerializerT, /) -> _ModelPlainSerializerT: ... - - -@overload -def model_serializer( - *, mode: Literal['wrap'], when_used: WhenUsed = 'always', return_type: Any = ... -) -> Callable[[_ModelWrapSerializerT], _ModelWrapSerializerT]: ... +def model_serializer(__f: FuncType) -> FuncType: + ... @overload def model_serializer( *, - mode: Literal['plain'] = ..., - when_used: WhenUsed = 'always', + mode: Literal['plain', 'wrap'] = ..., + when_used: Literal['always', 'unless-none', 'json', 'json-unless-none'] = 'always', return_type: Any = ..., -) -> Callable[[_ModelPlainSerializerT], _ModelPlainSerializerT]: ... +) -> Callable[[FuncType], FuncType]: + ... def model_serializer( - f: _ModelPlainSerializerT | _ModelWrapSerializerT | None = None, - /, + __f: Callable[..., Any] | None = None, *, mode: Literal['plain', 'wrap'] = 'plain', - when_used: WhenUsed = 'always', + when_used: Literal['always', 'unless-none', 'json', 'json-unless-none'] = 'always', return_type: Any = PydanticUndefined, -) -> ( - _ModelPlainSerializerT - | Callable[[_ModelWrapSerializerT], _ModelWrapSerializerT] - | Callable[[_ModelPlainSerializerT], _ModelPlainSerializerT] -): +) -> Callable[[Any], Any]: """Decorator that enables custom model serialization. - This is useful when a model need to be serialized in a customized manner, allowing for flexibility beyond just specific fields. - - An example would be to serialize temperature to the same temperature scale, such as degrees Celsius. - - ```python - from typing import Literal - - from pydantic import BaseModel, model_serializer - - class TemperatureModel(BaseModel): - unit: Literal['C', 'F'] - value: int - - @model_serializer() - def serialize_model(self): - if self.unit == 'F': - return {'unit': 'C', 'value': int((self.value - 32) / 1.8)} - return {'unit': self.unit, 'value': self.value} - - temperature = TemperatureModel(unit='F', value=212) - print(temperature.model_dump()) - #> {'unit': 'C', 'value': 100} - ``` - - Two signatures are supported for `mode='plain'`, which is the default: - - - `(self)` - - `(self, info: SerializationInfo)` - - And two other signatures for `mode='wrap'`: - - - `(self, nxt: SerializerFunctionWrapHandler)` - - `(self, nxt: SerializerFunctionWrapHandler, info: SerializationInfo)` - - See [Custom serializers](../concepts/serialization.md#custom-serializers) for more information. + See [Custom serializers](../concepts/serialization.md#custom-serializers) for more information. Args: - f: The function to be decorated. + __f: The function to be decorated. mode: The serialization mode. - `'plain'` means the function will be called instead of the default serialization logic @@ -407,14 +233,14 @@ def model_serializer( The decorator function. """ - def dec(f: ModelSerializer) -> _decorators.PydanticDescriptorProxy[Any]: + def dec(f: Callable[..., Any]) -> _decorators.PydanticDescriptorProxy[Any]: dec_info = _decorators.ModelSerializerDecoratorInfo(mode=mode, return_type=return_type, when_used=when_used) return _decorators.PydanticDescriptorProxy(f, dec_info) - if f is None: - return dec # pyright: ignore[reportReturnType] + if __f is None: + return dec else: - return dec(f) # pyright: ignore[reportReturnType] + return dec(__f) # type: ignore AnyType = TypeVar('AnyType') diff --git a/venv/lib/python3.12/site-packages/pydantic/functional_validators.py b/venv/lib/python3.12/site-packages/pydantic/functional_validators.py index 2eed4ef..5808cc5 100644 --- a/venv/lib/python3.12/site-packages/pydantic/functional_validators.py +++ b/venv/lib/python3.12/site-packages/pydantic/functional_validators.py @@ -6,13 +6,14 @@ import dataclasses import sys from functools import partialmethod from types import FunctionType -from typing import TYPE_CHECKING, Annotated, Any, Callable, Literal, TypeVar, Union, cast, overload +from typing import TYPE_CHECKING, Any, Callable, TypeVar, Union, cast, overload -from pydantic_core import PydanticUndefined, core_schema +from pydantic_core import core_schema from pydantic_core import core_schema as _core_schema -from typing_extensions import Self, TypeAlias +from typing_extensions import Annotated, Literal, TypeAlias -from ._internal import _decorators, _generics, _internal_dataclass +from . import GetCoreSchemaHandler as _GetCoreSchemaHandler +from ._internal import _core_metadata, _decorators, _generics, _internal_dataclass from .annotated_handlers import GetCoreSchemaHandler from .errors import PydanticUserError @@ -26,8 +27,7 @@ _inspect_validator = _decorators.inspect_validator @dataclasses.dataclass(frozen=True, **_internal_dataclass.slots_true) class AfterValidator: - """!!! abstract "Usage Documentation" - [field *after* validators](../concepts/validators.md#field-after-validator) + '''Usage docs: https://docs.pydantic.dev/2.2/concepts/validators/#annotated-validators A metadata class that indicates that a validation should be applied **after** the inner validation logic. @@ -35,10 +35,11 @@ class AfterValidator: func: The validator function. Example: - ```python + ```py from typing import Annotated - from pydantic import AfterValidator, BaseModel, ValidationError + from pydantic import BaseModel, AfterValidator, ValidationError + MyInt = Annotated[int, AfterValidator(lambda v: v + 1)] @@ -46,31 +47,31 @@ class AfterValidator: a: MyInt print(Model(a=1).a) - #> 2 + # > 2 try: Model(a='a') except ValidationError as e: print(e.json(indent=2)) - ''' - [ - { + """ + [ + { "type": "int_parsing", "loc": [ - "a" + "a" ], "msg": "Input should be a valid integer, unable to parse string as an integer", "input": "a", - "url": "https://errors.pydantic.dev/2/v/int_parsing" - } - ] - ''' + "url": "https://errors.pydantic.dev/0.38.0/v/int_parsing" + } + ] + """ ``` - """ + ''' func: core_schema.NoInfoValidatorFunction | core_schema.WithInfoValidatorFunction - def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: + def __get_pydantic_core_schema__(self, source_type: Any, handler: _GetCoreSchemaHandler) -> core_schema.CoreSchema: schema = handler(source_type) info_arg = _inspect_validator(self.func, 'after') if info_arg: @@ -80,26 +81,19 @@ class AfterValidator: func = cast(core_schema.NoInfoValidatorFunction, self.func) return core_schema.no_info_after_validator_function(func, schema=schema) - @classmethod - def _from_decorator(cls, decorator: _decorators.Decorator[_decorators.FieldValidatorDecoratorInfo]) -> Self: - return cls(func=decorator.func) - @dataclasses.dataclass(frozen=True, **_internal_dataclass.slots_true) class BeforeValidator: - """!!! abstract "Usage Documentation" - [field *before* validators](../concepts/validators.md#field-before-validator) + """Usage docs: https://docs.pydantic.dev/2.4/concepts/validators/#annotated-validators A metadata class that indicates that a validation should be applied **before** the inner validation logic. Attributes: func: The validator function. - json_schema_input_type: The input type of the function. This is only used to generate the appropriate - JSON Schema (in validation mode). Example: - ```python - from typing import Annotated + ```py + from typing_extensions import Annotated from pydantic import BaseModel, BeforeValidator @@ -120,151 +114,68 @@ class BeforeValidator: """ func: core_schema.NoInfoValidatorFunction | core_schema.WithInfoValidatorFunction - json_schema_input_type: Any = PydanticUndefined - def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: + def __get_pydantic_core_schema__(self, source_type: Any, handler: _GetCoreSchemaHandler) -> core_schema.CoreSchema: schema = handler(source_type) - input_schema = ( - None - if self.json_schema_input_type is PydanticUndefined - else handler.generate_schema(self.json_schema_input_type) - ) - info_arg = _inspect_validator(self.func, 'before') if info_arg: func = cast(core_schema.WithInfoValidatorFunction, self.func) - return core_schema.with_info_before_validator_function( - func, - schema=schema, - field_name=handler.field_name, - json_schema_input_schema=input_schema, - ) + return core_schema.with_info_before_validator_function(func, schema=schema, field_name=handler.field_name) else: func = cast(core_schema.NoInfoValidatorFunction, self.func) - return core_schema.no_info_before_validator_function( - func, schema=schema, json_schema_input_schema=input_schema - ) - - @classmethod - def _from_decorator(cls, decorator: _decorators.Decorator[_decorators.FieldValidatorDecoratorInfo]) -> Self: - return cls( - func=decorator.func, - json_schema_input_type=decorator.info.json_schema_input_type, - ) + return core_schema.no_info_before_validator_function(func, schema=schema) @dataclasses.dataclass(frozen=True, **_internal_dataclass.slots_true) class PlainValidator: - """!!! abstract "Usage Documentation" - [field *plain* validators](../concepts/validators.md#field-plain-validator) + """Usage docs: https://docs.pydantic.dev/2.4/concepts/validators/#annotated-validators A metadata class that indicates that a validation should be applied **instead** of the inner validation logic. - !!! note - Before v2.9, `PlainValidator` wasn't always compatible with JSON Schema generation for `mode='validation'`. - You can now use the `json_schema_input_type` argument to specify the input type of the function - to be used in the JSON schema when `mode='validation'` (the default). See the example below for more details. - Attributes: func: The validator function. - json_schema_input_type: The input type of the function. This is only used to generate the appropriate - JSON Schema (in validation mode). If not provided, will default to `Any`. Example: - ```python - from typing import Annotated, Union + ```py + from typing_extensions import Annotated from pydantic import BaseModel, PlainValidator - MyInt = Annotated[ - int, - PlainValidator( - lambda v: int(v) + 1, json_schema_input_type=Union[str, int] # (1)! - ), - ] + MyInt = Annotated[int, PlainValidator(lambda v: int(v) + 1)] class Model(BaseModel): a: MyInt print(Model(a='1').a) #> 2 - - print(Model(a=1).a) - #> 2 ``` - - 1. In this example, we've specified the `json_schema_input_type` as `Union[str, int]` which indicates to the JSON schema - generator that in validation mode, the input type for the `a` field can be either a `str` or an `int`. """ func: core_schema.NoInfoValidatorFunction | core_schema.WithInfoValidatorFunction - json_schema_input_type: Any = Any - - def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: - # Note that for some valid uses of PlainValidator, it is not possible to generate a core schema for the - # source_type, so calling `handler(source_type)` will error, which prevents us from generating a proper - # serialization schema. To work around this for use cases that will not involve serialization, we simply - # catch any PydanticSchemaGenerationError that may be raised while attempting to build the serialization schema - # and abort any attempts to handle special serialization. - from pydantic import PydanticSchemaGenerationError - - try: - schema = handler(source_type) - # TODO if `schema['serialization']` is one of `'include-exclude-dict/sequence', - # schema validation will fail. That's why we use 'type ignore' comments below. - serialization = schema.get( - 'serialization', - core_schema.wrap_serializer_function_ser_schema( - function=lambda v, h: h(v), - schema=schema, - return_schema=handler.generate_schema(source_type), - ), - ) - except PydanticSchemaGenerationError: - serialization = None - - input_schema = handler.generate_schema(self.json_schema_input_type) + def __get_pydantic_core_schema__(self, source_type: Any, handler: _GetCoreSchemaHandler) -> core_schema.CoreSchema: info_arg = _inspect_validator(self.func, 'plain') if info_arg: func = cast(core_schema.WithInfoValidatorFunction, self.func) - return core_schema.with_info_plain_validator_function( - func, - field_name=handler.field_name, - serialization=serialization, # pyright: ignore[reportArgumentType] - json_schema_input_schema=input_schema, - ) + return core_schema.with_info_plain_validator_function(func, field_name=handler.field_name) else: func = cast(core_schema.NoInfoValidatorFunction, self.func) - return core_schema.no_info_plain_validator_function( - func, - serialization=serialization, # pyright: ignore[reportArgumentType] - json_schema_input_schema=input_schema, - ) - - @classmethod - def _from_decorator(cls, decorator: _decorators.Decorator[_decorators.FieldValidatorDecoratorInfo]) -> Self: - return cls( - func=decorator.func, - json_schema_input_type=decorator.info.json_schema_input_type, - ) + return core_schema.no_info_plain_validator_function(func) @dataclasses.dataclass(frozen=True, **_internal_dataclass.slots_true) class WrapValidator: - """!!! abstract "Usage Documentation" - [field *wrap* validators](../concepts/validators.md#field-wrap-validator) + """Usage docs: https://docs.pydantic.dev/2.4/concepts/validators/#annotated-validators A metadata class that indicates that a validation should be applied **around** the inner validation logic. Attributes: func: The validator function. - json_schema_input_type: The input type of the function. This is only used to generate the appropriate - JSON Schema (in validation mode). - ```python + ```py from datetime import datetime - from typing import Annotated + + from typing_extensions import Annotated from pydantic import BaseModel, ValidationError, WrapValidator @@ -291,61 +202,37 @@ class WrapValidator: """ func: core_schema.NoInfoWrapValidatorFunction | core_schema.WithInfoWrapValidatorFunction - json_schema_input_type: Any = PydanticUndefined - def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: + def __get_pydantic_core_schema__(self, source_type: Any, handler: _GetCoreSchemaHandler) -> core_schema.CoreSchema: schema = handler(source_type) - input_schema = ( - None - if self.json_schema_input_type is PydanticUndefined - else handler.generate_schema(self.json_schema_input_type) - ) - info_arg = _inspect_validator(self.func, 'wrap') if info_arg: func = cast(core_schema.WithInfoWrapValidatorFunction, self.func) - return core_schema.with_info_wrap_validator_function( - func, - schema=schema, - field_name=handler.field_name, - json_schema_input_schema=input_schema, - ) + return core_schema.with_info_wrap_validator_function(func, schema=schema, field_name=handler.field_name) else: func = cast(core_schema.NoInfoWrapValidatorFunction, self.func) - return core_schema.no_info_wrap_validator_function( - func, - schema=schema, - json_schema_input_schema=input_schema, - ) - - @classmethod - def _from_decorator(cls, decorator: _decorators.Decorator[_decorators.FieldValidatorDecoratorInfo]) -> Self: - return cls( - func=decorator.func, - json_schema_input_type=decorator.info.json_schema_input_type, - ) + return core_schema.no_info_wrap_validator_function(func, schema=schema) if TYPE_CHECKING: class _OnlyValueValidatorClsMethod(Protocol): - def __call__(self, cls: Any, value: Any, /) -> Any: ... + def __call__(self, __cls: Any, __value: Any) -> Any: + ... class _V2ValidatorClsMethod(Protocol): - def __call__(self, cls: Any, value: Any, info: _core_schema.ValidationInfo, /) -> Any: ... - - class _OnlyValueWrapValidatorClsMethod(Protocol): - def __call__(self, cls: Any, value: Any, handler: _core_schema.ValidatorFunctionWrapHandler, /) -> Any: ... + def __call__(self, __cls: Any, __input_value: Any, __info: _core_schema.ValidationInfo) -> Any: + ... class _V2WrapValidatorClsMethod(Protocol): def __call__( self, - cls: Any, - value: Any, - handler: _core_schema.ValidatorFunctionWrapHandler, - info: _core_schema.ValidationInfo, - /, - ) -> Any: ... + __cls: Any, + __input_value: Any, + __validator: _core_schema.ValidatorFunctionWrapHandler, + __info: _core_schema.ValidationInfo, + ) -> Any: + ... _V2Validator = Union[ _V2ValidatorClsMethod, @@ -357,111 +244,57 @@ if TYPE_CHECKING: _V2WrapValidator = Union[ _V2WrapValidatorClsMethod, _core_schema.WithInfoWrapValidatorFunction, - _OnlyValueWrapValidatorClsMethod, - _core_schema.NoInfoWrapValidatorFunction, ] _PartialClsOrStaticMethod: TypeAlias = Union[classmethod[Any, Any, Any], staticmethod[Any, Any], partialmethod[Any]] _V2BeforeAfterOrPlainValidatorType = TypeVar( '_V2BeforeAfterOrPlainValidatorType', - bound=Union[_V2Validator, _PartialClsOrStaticMethod], + _V2Validator, + _PartialClsOrStaticMethod, ) - _V2WrapValidatorType = TypeVar('_V2WrapValidatorType', bound=Union[_V2WrapValidator, _PartialClsOrStaticMethod]) + _V2WrapValidatorType = TypeVar('_V2WrapValidatorType', _V2WrapValidator, _PartialClsOrStaticMethod) + + +@overload +def field_validator( + __field: str, + *fields: str, + mode: Literal['before', 'after', 'plain'] = ..., + check_fields: bool | None = ..., +) -> Callable[[_V2BeforeAfterOrPlainValidatorType], _V2BeforeAfterOrPlainValidatorType]: + ... + + +@overload +def field_validator( + __field: str, + *fields: str, + mode: Literal['wrap'], + check_fields: bool | None = ..., +) -> Callable[[_V2WrapValidatorType], _V2WrapValidatorType]: + ... + FieldValidatorModes: TypeAlias = Literal['before', 'after', 'wrap', 'plain'] -@overload def field_validator( - field: str, - /, - *fields: str, - mode: Literal['wrap'], - check_fields: bool | None = ..., - json_schema_input_type: Any = ..., -) -> Callable[[_V2WrapValidatorType], _V2WrapValidatorType]: ... - - -@overload -def field_validator( - field: str, - /, - *fields: str, - mode: Literal['before', 'plain'], - check_fields: bool | None = ..., - json_schema_input_type: Any = ..., -) -> Callable[[_V2BeforeAfterOrPlainValidatorType], _V2BeforeAfterOrPlainValidatorType]: ... - - -@overload -def field_validator( - field: str, - /, - *fields: str, - mode: Literal['after'] = ..., - check_fields: bool | None = ..., -) -> Callable[[_V2BeforeAfterOrPlainValidatorType], _V2BeforeAfterOrPlainValidatorType]: ... - - -def field_validator( - field: str, - /, + __field: str, *fields: str, mode: FieldValidatorModes = 'after', check_fields: bool | None = None, - json_schema_input_type: Any = PydanticUndefined, ) -> Callable[[Any], Any]: - """!!! abstract "Usage Documentation" - [field validators](../concepts/validators.md#field-validators) + """Usage docs: https://docs.pydantic.dev/2.4/concepts/validators/#field-validators Decorate methods on the class indicating that they should be used to validate fields. - Example usage: - ```python - from typing import Any - - from pydantic import ( - BaseModel, - ValidationError, - field_validator, - ) - - class Model(BaseModel): - a: str - - @field_validator('a') - @classmethod - def ensure_foobar(cls, v: Any): - if 'foobar' not in v: - raise ValueError('"foobar" not found in a') - return v - - print(repr(Model(a='this is foobar good'))) - #> Model(a='this is foobar good') - - try: - Model(a='snap') - except ValidationError as exc_info: - print(exc_info) - ''' - 1 validation error for Model - a - Value error, "foobar" not found in a [type=value_error, input_value='snap', input_type=str] - ''' - ``` - - For more in depth examples, see [Field Validators](../concepts/validators.md#field-validators). - Args: - field: The first field the `field_validator` should be called on; this is separate + __field: The first field the `field_validator` should be called on; this is separate from `fields` to ensure an error is raised if you don't pass at least one. *fields: Additional field(s) the `field_validator` should be called on. mode: Specifies whether to validate the fields before or after validation. check_fields: Whether to check that the fields actually exist on the model. - json_schema_input_type: The input type of the function. This is only used to generate - the appropriate JSON Schema (in validation mode) and can only specified - when `mode` is either `'before'`, `'plain'` or `'wrap'`. Returns: A decorator that can be used to decorate a function to be used as a field_validator. @@ -472,23 +305,13 @@ def field_validator( - If the args passed to `@field_validator` as fields are not strings. - If `@field_validator` applied to instance methods. """ - if isinstance(field, FunctionType): + if isinstance(__field, FunctionType): raise PydanticUserError( '`@field_validator` should be used with fields and keyword arguments, not bare. ' "E.g. usage should be `@validator('', ...)`", code='validator-no-fields', ) - - if mode not in ('before', 'plain', 'wrap') and json_schema_input_type is not PydanticUndefined: - raise PydanticUserError( - f"`json_schema_input_type` can't be used when mode is set to {mode!r}", - code='validator-input-type', - ) - - if json_schema_input_type is PydanticUndefined and mode == 'plain': - json_schema_input_type = Any - - fields = field, *fields + fields = __field, *fields if not all(isinstance(field, str) for field in fields): raise PydanticUserError( '`@field_validator` fields should be passed as separate string args. ' @@ -497,7 +320,7 @@ def field_validator( ) def dec( - f: Callable[..., Any] | staticmethod[Any, Any] | classmethod[Any, Any, Any], + f: Callable[..., Any] | staticmethod[Any, Any] | classmethod[Any, Any, Any] ) -> _decorators.PydanticDescriptorProxy[Any]: if _decorators.is_instance_method_from_sig(f): raise PydanticUserError( @@ -507,9 +330,7 @@ def field_validator( # auto apply the @classmethod decorator f = _decorators.ensure_classmethod_based_on_signature(f) - dec_info = _decorators.FieldValidatorDecoratorInfo( - fields=fields, mode=mode, check_fields=check_fields, json_schema_input_type=json_schema_input_type - ) + dec_info = _decorators.FieldValidatorDecoratorInfo(fields=fields, mode=mode, check_fields=check_fields) return _decorators.PydanticDescriptorProxy(f, dec_info) return dec @@ -520,19 +341,16 @@ _ModelTypeCo = TypeVar('_ModelTypeCo', covariant=True) class ModelWrapValidatorHandler(_core_schema.ValidatorFunctionWrapHandler, Protocol[_ModelTypeCo]): - """`@model_validator` decorated function handler argument type. This is used when `mode='wrap'`.""" + """@model_validator decorated function handler argument type. This is used when `mode='wrap'`.""" def __call__( # noqa: D102 - self, - value: Any, - outer_location: str | int | None = None, - /, + self, input_value: Any, outer_location: str | int | None = None ) -> _ModelTypeCo: # pragma: no cover ... class ModelWrapValidatorWithoutInfo(Protocol[_ModelType]): - """A `@model_validator` decorated function signature. + """A @model_validator decorated function signature. This is used when `mode='wrap'` and the function does not have info argument. """ @@ -542,14 +360,14 @@ class ModelWrapValidatorWithoutInfo(Protocol[_ModelType]): # this can be a dict, a model instance # or anything else that gets passed to validate_python # thus validators _must_ handle all cases - value: Any, - handler: ModelWrapValidatorHandler[_ModelType], - /, - ) -> _ModelType: ... + __value: Any, + __handler: ModelWrapValidatorHandler[_ModelType], + ) -> _ModelType: + ... class ModelWrapValidator(Protocol[_ModelType]): - """A `@model_validator` decorated function signature. This is used when `mode='wrap'`.""" + """A @model_validator decorated function signature. This is used when `mode='wrap'`.""" def __call__( # noqa: D102 self, @@ -557,30 +375,15 @@ class ModelWrapValidator(Protocol[_ModelType]): # this can be a dict, a model instance # or anything else that gets passed to validate_python # thus validators _must_ handle all cases - value: Any, - handler: ModelWrapValidatorHandler[_ModelType], - info: _core_schema.ValidationInfo, - /, - ) -> _ModelType: ... - - -class FreeModelBeforeValidatorWithoutInfo(Protocol): - """A `@model_validator` decorated function signature. - This is used when `mode='before'` and the function does not have info argument. - """ - - def __call__( # noqa: D102 - self, - # this can be a dict, a model instance - # or anything else that gets passed to validate_python - # thus validators _must_ handle all cases - value: Any, - /, - ) -> Any: ... + __value: Any, + __handler: ModelWrapValidatorHandler[_ModelType], + __info: _core_schema.ValidationInfo, + ) -> _ModelType: + ... class ModelBeforeValidatorWithoutInfo(Protocol): - """A `@model_validator` decorated function signature. + """A @model_validator decorated function signature. This is used when `mode='before'` and the function does not have info argument. """ @@ -590,23 +393,9 @@ class ModelBeforeValidatorWithoutInfo(Protocol): # this can be a dict, a model instance # or anything else that gets passed to validate_python # thus validators _must_ handle all cases - value: Any, - /, - ) -> Any: ... - - -class FreeModelBeforeValidator(Protocol): - """A `@model_validator` decorated function signature. This is used when `mode='before'`.""" - - def __call__( # noqa: D102 - self, - # this can be a dict, a model instance - # or anything else that gets passed to validate_python - # thus validators _must_ handle all cases - value: Any, - info: _core_schema.ValidationInfo, - /, - ) -> Any: ... + __value: Any, + ) -> Any: + ... class ModelBeforeValidator(Protocol): @@ -618,10 +407,10 @@ class ModelBeforeValidator(Protocol): # this can be a dict, a model instance # or anything else that gets passed to validate_python # thus validators _must_ handle all cases - value: Any, - info: _core_schema.ValidationInfo, - /, - ) -> Any: ... + __value: Any, + __info: _core_schema.ValidationInfo, + ) -> Any: + ... ModelAfterValidatorWithoutInfo = Callable[[_ModelType], _ModelType] @@ -633,9 +422,7 @@ ModelAfterValidator = Callable[[_ModelType, _core_schema.ValidationInfo], _Model """A `@model_validator` decorated function signature. This is used when `mode='after'`.""" _AnyModelWrapValidator = Union[ModelWrapValidator[_ModelType], ModelWrapValidatorWithoutInfo[_ModelType]] -_AnyModelBeforeValidator = Union[ - FreeModelBeforeValidator, ModelBeforeValidator, FreeModelBeforeValidatorWithoutInfo, ModelBeforeValidatorWithoutInfo -] +_AnyModeBeforeValidator = Union[ModelBeforeValidator, ModelBeforeValidatorWithoutInfo] _AnyModelAfterValidator = Union[ModelAfterValidator[_ModelType], ModelAfterValidatorWithoutInfo[_ModelType]] @@ -645,16 +432,16 @@ def model_validator( mode: Literal['wrap'], ) -> Callable[ [_AnyModelWrapValidator[_ModelType]], _decorators.PydanticDescriptorProxy[_decorators.ModelValidatorDecoratorInfo] -]: ... +]: + ... @overload def model_validator( *, mode: Literal['before'], -) -> Callable[ - [_AnyModelBeforeValidator], _decorators.PydanticDescriptorProxy[_decorators.ModelValidatorDecoratorInfo] -]: ... +) -> Callable[[_AnyModeBeforeValidator], _decorators.PydanticDescriptorProxy[_decorators.ModelValidatorDecoratorInfo]]: + ... @overload @@ -663,49 +450,15 @@ def model_validator( mode: Literal['after'], ) -> Callable[ [_AnyModelAfterValidator[_ModelType]], _decorators.PydanticDescriptorProxy[_decorators.ModelValidatorDecoratorInfo] -]: ... +]: + ... def model_validator( *, mode: Literal['wrap', 'before', 'after'], ) -> Any: - """!!! abstract "Usage Documentation" - [Model Validators](../concepts/validators.md#model-validators) - - Decorate model methods for validation purposes. - - Example usage: - ```python - from typing_extensions import Self - - from pydantic import BaseModel, ValidationError, model_validator - - class Square(BaseModel): - width: float - height: float - - @model_validator(mode='after') - def verify_square(self) -> Self: - if self.width != self.height: - raise ValueError('width and height do not match') - return self - - s = Square(width=1, height=1) - print(repr(s)) - #> Square(width=1.0, height=1.0) - - try: - Square(width=1, height=2) - except ValidationError as e: - print(e) - ''' - 1 validation error for Square - Value error, width and height do not match [type=value_error, input_value={'width': 1, 'height': 2}, input_type=dict] - ''' - ``` - - For more in depth examples, see [Model Validators](../concepts/validators.md#model-validators). + """Decorate model methods for validation purposes. Args: mode: A required string literal that specifies the validation mode. @@ -738,7 +491,7 @@ else: '''Generic type for annotating a type that is an instance of a given class. Example: - ```python + ```py from pydantic import BaseModel, InstanceOf class Foo: @@ -817,7 +570,7 @@ else: @classmethod def __get_pydantic_core_schema__(cls, source: Any, handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: original_schema = handler(source) - metadata = {'pydantic_js_annotation_functions': [lambda _c, h: h(original_schema)]} + metadata = _core_metadata.build_metadata_dict(js_annotation_functions=[lambda _c, h: h(original_schema)]) return core_schema.any_schema( metadata=metadata, serialization=core_schema.wrap_serializer_function_ser_schema( diff --git a/venv/lib/python3.12/site-packages/pydantic/generics.py b/venv/lib/python3.12/site-packages/pydantic/generics.py index 3f1070d..5f6f7f7 100644 --- a/venv/lib/python3.12/site-packages/pydantic/generics.py +++ b/venv/lib/python3.12/site-packages/pydantic/generics.py @@ -1,5 +1,4 @@ """The `generics` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/json.py b/venv/lib/python3.12/site-packages/pydantic/json.py index bcaff9f..020fb6d 100644 --- a/venv/lib/python3.12/site-packages/pydantic/json.py +++ b/venv/lib/python3.12/site-packages/pydantic/json.py @@ -1,5 +1,4 @@ """The `json` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/json_schema.py b/venv/lib/python3.12/site-packages/pydantic/json_schema.py index be9595c..bf327de 100644 --- a/venv/lib/python3.12/site-packages/pydantic/json_schema.py +++ b/venv/lib/python3.12/site-packages/pydantic/json_schema.py @@ -1,47 +1,43 @@ -"""!!! abstract "Usage Documentation" - [JSON Schema](../concepts/json_schema.md) - +""" The `json_schema` module contains classes and functions to allow the way [JSON Schema](https://json-schema.org/) is generated to be customized. -In general you shouldn't need to use this module directly; instead, you can use +In general you shouldn't need to use this module directly; instead, you can [`BaseModel.model_json_schema`][pydantic.BaseModel.model_json_schema] and [`TypeAdapter.json_schema`][pydantic.TypeAdapter.json_schema]. """ - from __future__ import annotations as _annotations import dataclasses import inspect import math -import os import re import warnings -from collections import Counter, defaultdict -from collections.abc import Hashable, Iterable, Sequence +from collections import defaultdict from copy import deepcopy +from dataclasses import is_dataclass from enum import Enum -from re import Pattern from typing import ( TYPE_CHECKING, - Annotated, Any, Callable, - Literal, + Counter, + Dict, + Hashable, + Iterable, + List, NewType, + Sequence, + Tuple, TypeVar, Union, cast, - overload, ) import pydantic_core from pydantic_core import CoreSchema, PydanticOmit, core_schema, to_jsonable_python from pydantic_core.core_schema import ComputedField -from typing_extensions import TypeAlias, assert_never, deprecated, final -from typing_inspection.introspection import get_literal_values - -from pydantic.warnings import PydanticDeprecatedSince26, PydanticDeprecatedSince29 +from typing_extensions import Annotated, Literal, assert_never from ._internal import ( _config, @@ -51,10 +47,11 @@ from ._internal import ( _internal_dataclass, _mock_val_ser, _schema_generation_shared, + _typing_extra, ) from .annotated_handlers import GetJsonSchemaHandler -from .config import JsonDict, JsonValue -from .errors import PydanticInvalidForJsonSchema, PydanticSchemaGenerationError, PydanticUserError +from .config import JsonSchemaExtraCallable +from .errors import PydanticInvalidForJsonSchema, PydanticUserError if TYPE_CHECKING: from . import ConfigDict @@ -71,9 +68,9 @@ A type alias for defined schema types that represents a union of `core_schema.CoreSchemaFieldType`. """ -JsonSchemaValue = dict[str, Any] +JsonSchemaValue = Dict[str, Any] """ -A type alias for a JSON schema value. This is a dictionary of string keys to arbitrary JSON values. +A type alias for a JSON schema value. This is a dictionary of string keys to arbitrary values. """ JsonSchemaMode = Literal['validation', 'serialization'] @@ -89,7 +86,23 @@ for validation inputs, or that will be matched by serialization outputs. _MODE_TITLE_MAPPING: dict[JsonSchemaMode, str] = {'validation': 'Input', 'serialization': 'Output'} -JsonSchemaWarningKind = Literal['skipped-choice', 'non-serializable-default', 'skipped-discriminator'] +def update_json_schema(schema: JsonSchemaValue, updates: dict[str, Any]) -> JsonSchemaValue: + """Update a JSON schema by providing a dictionary of updates. + + This function sets the provided key-value pairs in the schema and returns the updated schema. + + Args: + schema: The JSON schema to update. + updates: A dictionary of key-value pairs to set in the schema. + + Returns: + The updated JSON schema. + """ + schema.update(updates) + return schema + + +JsonSchemaWarningKind = Literal['skipped-choice', 'non-serializable-default'] """ A type alias representing the kinds of warnings that can be emitted during JSON schema generation. @@ -106,12 +119,6 @@ class PydanticJsonSchemaWarning(UserWarning): """ -NoDefault = object() -"""A sentinel value used to indicate that no default value should be used when generating a JSON Schema -for a core schema with a default value. -""" - - # ##### JSON Schema Generation ##### DEFAULT_REF_TEMPLATE = '#/$defs/{model}' """The default format string used to generate reference names.""" @@ -128,7 +135,7 @@ DefsRef = NewType('DefsRef', str) # * By default, these look like "#/$defs/MyModel", as in {"$ref": "#/$defs/MyModel"} JsonRef = NewType('JsonRef', str) -CoreModeRef = tuple[CoreRef, JsonSchemaMode] +CoreModeRef = Tuple[CoreRef, JsonSchemaMode] JsonSchemaKeyT = TypeVar('JsonSchemaKeyT', bound=Hashable) @@ -163,7 +170,7 @@ class _DefinitionsRemapping: # Deduplicate the schemas for each alternative; the idea is that we only want to remap to a new DefsRef # if it introduces no ambiguity, i.e., there is only one distinct schema for that DefsRef. - for defs_ref in schemas_for_alternatives: + for defs_ref, schemas in schemas_for_alternatives.items(): schemas_for_alternatives[defs_ref] = _deduplicate_schemas(schemas_for_alternatives[defs_ref]) # Build the remapping @@ -214,10 +221,7 @@ class _DefinitionsRemapping: class GenerateJsonSchema: - """!!! abstract "Usage Documentation" - [Customizing the JSON Schema Generation Process](../concepts/json_schema.md#customizing-the-json-schema-generation-process) - - A class for generating JSON schemas. + """A class for generating JSON schemas. This class generates JSON schemas based on configured parameters. The default schema dialect is [https://json-schema.org/draft/2020-12/schema](https://json-schema.org/draft/2020-12/schema). @@ -231,20 +235,27 @@ class GenerateJsonSchema: ignored_warning_kinds: Warnings to ignore when generating the schema. `self.render_warning_message` will do nothing if its argument `kind` is in `ignored_warning_kinds`; this value can be modified on subclasses to easily control which warnings are emitted. - by_alias: Whether to use field aliases when generating the schema. + by_alias: Whether or not to use field names when generating the schema. ref_template: The format string used when generating reference names. core_to_json_refs: A mapping of core refs to JSON refs. core_to_defs_refs: A mapping of core refs to definition refs. defs_to_core_refs: A mapping of definition refs to core refs. json_to_defs_refs: A mapping of JSON refs to definition refs. definitions: Definitions in the schema. + collisions: Definitions with colliding names. When collisions are detected, we choose a non-colliding + name during generation, but we also track the colliding tag so that it can be remapped for the first + occurrence at the end of the process. + defs_ref_fallbacks: Core refs to fallback definitions refs. + _schema_type_to_method: A mapping of schema types to generator methods. + _used: Set to `True` after generating a schema to avoid re-use issues. + mode: The schema mode. Args: - by_alias: Whether to use field aliases in the generated schemas. + by_alias: Whether or not to include field names. ref_template: The format string to use when generating reference names. Raises: - JsonSchemaError: If the instance of the class is inadvertently reused after generating a schema. + JsonSchemaError: If the instance of the class is inadvertently re-used after generating a schema. """ schema_dialect = 'https://json-schema.org/draft/2020-12/schema' @@ -285,7 +296,7 @@ class GenerateJsonSchema: # store the error raised and re-throw it if we end up needing that def self._core_defs_invalid_for_json_schema: dict[DefsRef, PydanticInvalidForJsonSchema] = {} - # This changes to True after generating a schema, to prevent issues caused by accidental reuse + # This changes to True after generating a schema, to prevent issues caused by accidental re-use # of a single instance of a schema generator self._used = False @@ -312,14 +323,14 @@ class GenerateJsonSchema: TypeError: If no method has been defined for generating a JSON schema for a given pydantic core schema type. """ mapping: dict[CoreSchemaOrFieldType, Callable[[CoreSchemaOrField], JsonSchemaValue]] = {} - core_schema_types: list[CoreSchemaOrFieldType] = list(get_literal_values(CoreSchemaOrFieldType)) + core_schema_types: list[CoreSchemaOrFieldType] = _typing_extra.all_literal_values( + CoreSchemaOrFieldType # type: ignore + ) for key in core_schema_types: - method_name = f'{key.replace("-", "_")}_schema' + method_name = f"{key.replace('-', '_')}_schema" try: mapping[key] = getattr(self, method_name) except AttributeError as e: # pragma: no cover - if os.getenv('PYDANTIC_PRIVATE_ALLOW_UNHANDLED_SCHEMA_TYPES'): - continue raise TypeError( f'No method for generating JsonSchema for core_schema.type={key!r} ' f'(expected: {type(self).__name__}.{method_name})' @@ -358,7 +369,7 @@ class GenerateJsonSchema: code='json-schema-already-used', ) - for _, mode, schema in inputs: + for key, mode, schema in inputs: self._mode = mode self.generate_inner(schema) @@ -373,7 +384,7 @@ class GenerateJsonSchema: json_schema = {'$defs': self.definitions} json_schema = definitions_remapping.remap_json_schema(json_schema) self._used = True - return json_schemas_map, self.sort(json_schema['$defs']) # type: ignore + return json_schemas_map, _sort_json_schema(json_schema['$defs']) # type: ignore def generate(self, schema: CoreSchema, mode: JsonSchemaMode = 'validation') -> JsonSchemaValue: """Generates a JSON schema for a specified schema in a specified mode. @@ -399,15 +410,18 @@ class GenerateJsonSchema: json_schema: JsonSchemaValue = self.generate_inner(schema) json_ref_counts = self.get_json_ref_counts(json_schema) + # Remove the top-level $ref if present; note that the _generate method already ensures there are no sibling keys ref = cast(JsonRef, json_schema.get('$ref')) while ref is not None: # may need to unpack multiple levels ref_json_schema = self.get_schema_from_definitions(ref) - if json_ref_counts[ref] == 1 and ref_json_schema is not None and len(json_schema) == 1: - # "Unpack" the ref since this is the only reference and there are no sibling keys + if json_ref_counts[ref] > 1 or ref_json_schema is None: + # Keep the ref, but use an allOf to remove the top level $ref + json_schema = {'allOf': [{'$ref': ref}]} + else: + # "Unpack" the ref since this is the only reference json_schema = ref_json_schema.copy() # copy to prevent recursive dict reference json_ref_counts[ref] -= 1 - ref = cast(JsonRef, json_schema.get('$ref')) - ref = None + ref = cast(JsonRef, json_schema.get('$ref')) self._garbage_collect_definitions(json_schema) definitions_remapping = self._build_definitions_remapping() @@ -422,7 +436,7 @@ class GenerateJsonSchema: # json_schema['$schema'] = self.schema_dialect self._used = True - return self.sort(json_schema) + return _sort_json_schema(json_schema) def generate_inner(self, schema: CoreSchemaOrField) -> JsonSchemaValue: # noqa: C901 """Generates a JSON schema for a given core schema. @@ -432,10 +446,6 @@ class GenerateJsonSchema: Returns: The generated JSON schema. - - TODO: the nested function definitions here seem like bad practice, I'd like to unpack these - in a future PR. It'd be great if we could shorten the call stack a bit for JSON schema generation, - and I think there's potential for that here. """ # If a schema with the same CoreRef has been handled, just return a reference to it # Note that this assumes that it will _never_ be the case that the same CoreRef is used @@ -446,11 +456,15 @@ class GenerateJsonSchema: if core_mode_ref in self.core_to_defs_refs and self.core_to_defs_refs[core_mode_ref] in self.definitions: return {'$ref': self.core_to_json_refs[core_mode_ref]} + # Generate the JSON schema, accounting for the json_schema_override and core_schema_override + metadata_handler = _core_metadata.CoreMetadataHandler(schema) + def populate_defs(core_schema: CoreSchema, json_schema: JsonSchemaValue) -> JsonSchemaValue: if 'ref' in core_schema: core_ref = CoreRef(core_schema['ref']) # type: ignore[typeddict-item] defs_ref, ref_json_schema = self.get_cache_defs_ref_schema(core_ref) json_ref = JsonRef(ref_json_schema['$ref']) + self.json_to_defs_refs[json_ref] = defs_ref # Replace the schema if it's not a reference to itself # What we want to avoid is having the def be just a ref to itself # which is what would happen if we blindly assigned any @@ -460,6 +474,15 @@ class GenerateJsonSchema: json_schema = ref_json_schema return json_schema + def convert_to_all_of(json_schema: JsonSchemaValue) -> JsonSchemaValue: + if '$ref' in json_schema and len(json_schema.keys()) > 1: + # technically you can't have any other keys next to a "$ref" + # but it's an easy mistake to make and not hard to correct automatically here + json_schema = json_schema.copy() + ref = json_schema.pop('$ref') + json_schema = {'allOf': [{'$ref': ref}], **json_schema} + return json_schema + def handler_func(schema_or_field: CoreSchemaOrField) -> JsonSchemaValue: """Generate a JSON schema based on the input schema. @@ -475,63 +498,22 @@ class GenerateJsonSchema: # Generate the core-schema-type-specific bits of the schema generation: json_schema: JsonSchemaValue | None = None if self.mode == 'serialization' and 'serialization' in schema_or_field: - # In this case, we skip the JSON Schema generation of the schema - # and use the `'serialization'` schema instead (canonical example: - # `Annotated[int, PlainSerializer(str)]`). ser_schema = schema_or_field['serialization'] # type: ignore json_schema = self.ser_schema(ser_schema) - - # It might be that the 'serialization'` is skipped depending on `when_used`. - # This is only relevant for `nullable` schemas though, so we special case here. - if ( - json_schema is not None - and ser_schema.get('when_used') in ('unless-none', 'json-unless-none') - and schema_or_field['type'] == 'nullable' - ): - json_schema = self.get_flattened_anyof([{'type': 'null'}, json_schema]) if json_schema is None: if _core_utils.is_core_schema(schema_or_field) or _core_utils.is_core_schema_field(schema_or_field): generate_for_schema_type = self._schema_type_to_method[schema_or_field['type']] json_schema = generate_for_schema_type(schema_or_field) else: raise TypeError(f'Unexpected schema type: schema={schema_or_field}') - + if _core_utils.is_core_schema(schema_or_field): + json_schema = populate_defs(schema_or_field, json_schema) + json_schema = convert_to_all_of(json_schema) return json_schema current_handler = _schema_generation_shared.GenerateJsonSchemaHandler(self, handler_func) - metadata = cast(_core_metadata.CoreMetadata, schema.get('metadata', {})) - - # TODO: I dislike that we have to wrap these basic dict updates in callables, is there any way around this? - - if js_updates := metadata.get('pydantic_js_updates'): - - def js_updates_handler_func( - schema_or_field: CoreSchemaOrField, - current_handler: GetJsonSchemaHandler = current_handler, - ) -> JsonSchemaValue: - json_schema = {**current_handler(schema_or_field), **js_updates} - return json_schema - - current_handler = _schema_generation_shared.GenerateJsonSchemaHandler(self, js_updates_handler_func) - - if js_extra := metadata.get('pydantic_js_extra'): - - def js_extra_handler_func( - schema_or_field: CoreSchemaOrField, - current_handler: GetJsonSchemaHandler = current_handler, - ) -> JsonSchemaValue: - json_schema = current_handler(schema_or_field) - if isinstance(js_extra, dict): - json_schema.update(to_jsonable_python(js_extra)) - elif callable(js_extra): - # similar to typing issue in _update_class_schema when we're working with callable js extra - js_extra(json_schema) # type: ignore - return json_schema - - current_handler = _schema_generation_shared.GenerateJsonSchemaHandler(self, js_extra_handler_func) - - for js_modify_function in metadata.get('pydantic_js_functions', ()): + for js_modify_function in metadata_handler.metadata.get('pydantic_js_functions', ()): def new_handler_func( schema_or_field: CoreSchemaOrField, @@ -549,61 +531,28 @@ class GenerateJsonSchema: current_handler = _schema_generation_shared.GenerateJsonSchemaHandler(self, new_handler_func) - for js_modify_function in metadata.get('pydantic_js_annotation_functions', ()): + for js_modify_function in metadata_handler.metadata.get('pydantic_js_annotation_functions', ()): def new_handler_func( schema_or_field: CoreSchemaOrField, current_handler: GetJsonSchemaHandler = current_handler, js_modify_function: GetJsonSchemaFunction = js_modify_function, ) -> JsonSchemaValue: - return js_modify_function(schema_or_field, current_handler) + json_schema = js_modify_function(schema_or_field, current_handler) + if _core_utils.is_core_schema(schema_or_field): + json_schema = populate_defs(schema_or_field, json_schema) + json_schema = convert_to_all_of(json_schema) + return json_schema current_handler = _schema_generation_shared.GenerateJsonSchemaHandler(self, new_handler_func) json_schema = current_handler(schema) if _core_utils.is_core_schema(schema): json_schema = populate_defs(schema, json_schema) + json_schema = convert_to_all_of(json_schema) return json_schema - def sort(self, value: JsonSchemaValue, parent_key: str | None = None) -> JsonSchemaValue: - """Override this method to customize the sorting of the JSON schema (e.g., don't sort at all, sort all keys unconditionally, etc.) - - By default, alphabetically sort the keys in the JSON schema, skipping the 'properties' and 'default' keys to preserve field definition order. - This sort is recursive, so it will sort all nested dictionaries as well. - """ - sorted_dict: dict[str, JsonSchemaValue] = {} - keys = value.keys() - if parent_key not in ('properties', 'default'): - keys = sorted(keys) - for key in keys: - sorted_dict[key] = self._sort_recursive(value[key], parent_key=key) - return sorted_dict - - def _sort_recursive(self, value: Any, parent_key: str | None = None) -> Any: - """Recursively sort a JSON schema value.""" - if isinstance(value, dict): - sorted_dict: dict[str, JsonSchemaValue] = {} - keys = value.keys() - if parent_key not in ('properties', 'default'): - keys = sorted(keys) - for key in keys: - sorted_dict[key] = self._sort_recursive(value[key], parent_key=key) - return sorted_dict - elif isinstance(value, list): - sorted_list: list[JsonSchemaValue] = [] - for item in value: - sorted_list.append(self._sort_recursive(item, parent_key)) - return sorted_list - else: - return value - # ### Schema generation methods - - def invalid_schema(self, schema: core_schema.InvalidSchema) -> JsonSchemaValue: - """Placeholder - should never be called.""" - - raise RuntimeError('Cannot generate schema for invalid_schema. This is a bug! Please report it.') - def any_schema(self, schema: core_schema.AnySchema) -> JsonSchemaValue: """Generates a JSON schema that matches any value. @@ -616,7 +565,7 @@ class GenerateJsonSchema: return {} def none_schema(self, schema: core_schema.NoneSchema) -> JsonSchemaValue: - """Generates a JSON schema that matches `None`. + """Generates a JSON schema that matches a None value. Args: schema: The core schema. @@ -638,7 +587,7 @@ class GenerateJsonSchema: return {'type': 'boolean'} def int_schema(self, schema: core_schema.IntSchema) -> JsonSchemaValue: - """Generates a JSON schema that matches an int value. + """Generates a JSON schema that matches an Int value. Args: schema: The core schema. @@ -709,9 +658,6 @@ class GenerateJsonSchema: """ json_schema = {'type': 'string'} self.update_with_validations(json_schema, schema, self.ValidationsMapping.string) - if isinstance(json_schema.get('pattern'), Pattern): - # TODO: should we add regex flags to the pattern? - json_schema['pattern'] = json_schema.get('pattern').pattern # type: ignore return json_schema def bytes_schema(self, schema: core_schema.BytesSchema) -> JsonSchemaValue: @@ -736,7 +682,9 @@ class GenerateJsonSchema: Returns: The generated JSON schema. """ - return {'type': 'string', 'format': 'date'} + json_schema = {'type': 'string', 'format': 'date'} + self.update_with_validations(json_schema, schema, self.ValidationsMapping.date) + return json_schema def time_schema(self, schema: core_schema.TimeSchema) -> JsonSchemaValue: """Generates a JSON schema that matches a time value. @@ -782,69 +730,32 @@ class GenerateJsonSchema: Returns: The generated JSON schema. """ - expected = [to_jsonable_python(v.value if isinstance(v, Enum) else v) for v in schema['expected']] + expected = [v.value if isinstance(v, Enum) else v for v in schema['expected']] + # jsonify the expected values + expected = [to_jsonable_python(v) for v in expected] - result: dict[str, Any] = {} if len(expected) == 1: - result['const'] = expected[0] - else: - result['enum'] = expected + return {'const': expected[0]} types = {type(e) for e in expected} if types == {str}: - result['type'] = 'string' + return {'enum': expected, 'type': 'string'} elif types == {int}: - result['type'] = 'integer' + return {'enum': expected, 'type': 'integer'} elif types == {float}: - result['type'] = 'number' + return {'enum': expected, 'type': 'number'} elif types == {bool}: - result['type'] = 'boolean' + return {'enum': expected, 'type': 'boolean'} elif types == {list}: - result['type'] = 'array' - elif types == {type(None)}: - result['type'] = 'null' - return result - - def enum_schema(self, schema: core_schema.EnumSchema) -> JsonSchemaValue: - """Generates a JSON schema that matches an Enum value. - - Args: - schema: The core schema. - - Returns: - The generated JSON schema. - """ - enum_type = schema['cls'] - description = None if not enum_type.__doc__ else inspect.cleandoc(enum_type.__doc__) - if ( - description == 'An enumeration.' - ): # This is the default value provided by enum.EnumMeta.__new__; don't use it - description = None - result: dict[str, Any] = {'title': enum_type.__name__, 'description': description} - result = {k: v for k, v in result.items() if v is not None} - - expected = [to_jsonable_python(v.value) for v in schema['members']] - - result['enum'] = expected - - types = {type(e) for e in expected} - if isinstance(enum_type, str) or types == {str}: - result['type'] = 'string' - elif isinstance(enum_type, int) or types == {int}: - result['type'] = 'integer' - elif isinstance(enum_type, float) or types == {float}: - result['type'] = 'number' - elif types == {bool}: - result['type'] = 'boolean' - elif types == {list}: - result['type'] = 'array' - - return result + return {'enum': expected, 'type': 'array'} + # there is not None case because if it's mixed it hits the final `else` + # if it's a single Literal[None] then it becomes a `const` schema above + else: + return {'enum': expected} def is_instance_schema(self, schema: core_schema.IsInstanceSchema) -> JsonSchemaValue: - """Handles JSON schema generation for a core schema that checks if a value is an instance of a class. - - Unless overridden in a subclass, this raises an error. + """Generates a JSON schema that checks if a value is an instance of a class, equivalent to Python's + `isinstance` method. Args: schema: The core schema. @@ -855,9 +766,8 @@ class GenerateJsonSchema: return self.handle_invalid_for_json_schema(schema, f'core_schema.IsInstanceSchema ({schema["cls"]})') def is_subclass_schema(self, schema: core_schema.IsSubclassSchema) -> JsonSchemaValue: - """Handles JSON schema generation for a core schema that checks if a value is a subclass of a class. - - For backwards compatibility with v1, this does not raise an error, but can be overridden to change this. + """Generates a JSON schema that checks if a value is a subclass of a class, equivalent to Python's `issubclass` + method. Args: schema: The core schema. @@ -871,8 +781,6 @@ class GenerateJsonSchema: def callable_schema(self, schema: core_schema.CallableSchema) -> JsonSchemaValue: """Generates a JSON schema that matches a callable value. - Unless overridden in a subclass, this raises an error. - Args: schema: The core schema. @@ -895,31 +803,8 @@ class GenerateJsonSchema: self.update_with_validations(json_schema, schema, self.ValidationsMapping.array) return json_schema - @deprecated('`tuple_positional_schema` is deprecated. Use `tuple_schema` instead.', category=None) - @final - def tuple_positional_schema(self, schema: core_schema.TupleSchema) -> JsonSchemaValue: - """Replaced by `tuple_schema`.""" - warnings.warn( - '`tuple_positional_schema` is deprecated. Use `tuple_schema` instead.', - PydanticDeprecatedSince26, - stacklevel=2, - ) - return self.tuple_schema(schema) - - @deprecated('`tuple_variable_schema` is deprecated. Use `tuple_schema` instead.', category=None) - @final - def tuple_variable_schema(self, schema: core_schema.TupleSchema) -> JsonSchemaValue: - """Replaced by `tuple_schema`.""" - warnings.warn( - '`tuple_variable_schema` is deprecated. Use `tuple_schema` instead.', - PydanticDeprecatedSince26, - stacklevel=2, - ) - return self.tuple_schema(schema) - - def tuple_schema(self, schema: core_schema.TupleSchema) -> JsonSchemaValue: - """Generates a JSON schema that matches a tuple schema e.g. `tuple[int, - str, bool]` or `tuple[int, ...]`. + def tuple_positional_schema(self, schema: core_schema.TuplePositionalSchema) -> JsonSchemaValue: + """Generates a JSON schema that matches a positional tuple schema e.g. `Tuple[int, str, bool]`. Args: schema: The core schema. @@ -928,27 +813,28 @@ class GenerateJsonSchema: The generated JSON schema. """ json_schema: JsonSchemaValue = {'type': 'array'} - if 'variadic_item_index' in schema: - variadic_item_index = schema['variadic_item_index'] - if variadic_item_index > 0: - json_schema['minItems'] = variadic_item_index - json_schema['prefixItems'] = [ - self.generate_inner(item) for item in schema['items_schema'][:variadic_item_index] - ] - if variadic_item_index + 1 == len(schema['items_schema']): - # if the variadic item is the last item, then represent it faithfully - json_schema['items'] = self.generate_inner(schema['items_schema'][variadic_item_index]) - else: - # otherwise, 'items' represents the schema for the variadic - # item plus the suffix, so just allow anything for simplicity - # for now - json_schema['items'] = True + json_schema['minItems'] = len(schema['items_schema']) + prefixItems = [self.generate_inner(item) for item in schema['items_schema']] + if prefixItems: + json_schema['prefixItems'] = prefixItems + if 'extras_schema' in schema: + json_schema['items'] = self.generate_inner(schema['extras_schema']) else: - prefixItems = [self.generate_inner(item) for item in schema['items_schema']] - if prefixItems: - json_schema['prefixItems'] = prefixItems - json_schema['minItems'] = len(prefixItems) - json_schema['maxItems'] = len(prefixItems) + json_schema['maxItems'] = len(schema['items_schema']) + self.update_with_validations(json_schema, schema, self.ValidationsMapping.array) + return json_schema + + def tuple_variable_schema(self, schema: core_schema.TupleVariableSchema) -> JsonSchemaValue: + """Generates a JSON schema that matches a variable tuple schema e.g. `Tuple[int, ...]`. + + Args: + schema: The core schema. + + Returns: + The generated JSON schema. + """ + items_schema = {} if 'items_schema' not in schema else self.generate_inner(schema['items_schema']) + json_schema = {'type': 'array', 'items': items_schema} self.update_with_validations(json_schema, schema, self.ValidationsMapping.array) return json_schema @@ -1006,42 +892,33 @@ class GenerateJsonSchema: json_schema: JsonSchemaValue = {'type': 'object'} keys_schema = self.generate_inner(schema['keys_schema']).copy() if 'keys_schema' in schema else {} - if '$ref' not in keys_schema: - keys_pattern = keys_schema.pop('pattern', None) - # Don't give a title to patternProperties/propertyNames: - keys_schema.pop('title', None) - else: - # Here, we assume that if the keys schema is a definition reference, - # it can't be a simple string core schema (and thus no pattern can exist). - # However, this is only in practice (in theory, a definition reference core - # schema could be generated for a simple string schema). - # Note that we avoid calling `self.resolve_ref_schema`, as it might not exist yet. - keys_pattern = None + keys_pattern = keys_schema.pop('pattern', None) values_schema = self.generate_inner(schema['values_schema']).copy() if 'values_schema' in schema else {} - # don't give a title to additionalProperties: - values_schema.pop('title', None) - - if values_schema or keys_pattern is not None: + values_schema.pop('title', None) # don't give a title to the additionalProperties + if values_schema or keys_pattern is not None: # don't add additionalProperties if it's empty if keys_pattern is None: json_schema['additionalProperties'] = values_schema else: json_schema['patternProperties'] = {keys_pattern: values_schema} - else: # for `dict[str, Any]`, we allow any key and any value, since `str` is the default key type - json_schema['additionalProperties'] = True - - if ( - # The len check indicates that constraints are probably present: - (keys_schema.get('type') == 'string' and len(keys_schema) > 1) - # If this is a definition reference schema, it most likely has constraints: - or '$ref' in keys_schema - ): - keys_schema.pop('type', None) - json_schema['propertyNames'] = keys_schema self.update_with_validations(json_schema, schema, self.ValidationsMapping.object) return json_schema + def _function_schema( + self, + schema: _core_utils.AnyFunctionSchema, + ) -> JsonSchemaValue: + if _core_utils.is_function_with_inner_schema(schema): + # This could be wrong if the function's mode is 'before', but in practice will often be right, and when it + # isn't, I think it would be hard to automatically infer what the desired schema should be. + return self.generate_inner(schema['schema']) + + # function-plain + return self.handle_invalid_for_json_schema( + schema, f'core_schema.PlainValidatorFunctionSchema ({schema["function"]})' + ) + def function_before_schema(self, schema: core_schema.BeforeValidatorFunctionSchema) -> JsonSchemaValue: """Generates a JSON schema that matches a function-before schema. @@ -1051,10 +928,7 @@ class GenerateJsonSchema: Returns: The generated JSON schema. """ - if self.mode == 'validation' and (input_schema := schema.get('json_schema_input_schema')): - return self.generate_inner(input_schema) - - return self.generate_inner(schema['schema']) + return self._function_schema(schema) def function_after_schema(self, schema: core_schema.AfterValidatorFunctionSchema) -> JsonSchemaValue: """Generates a JSON schema that matches a function-after schema. @@ -1065,7 +939,7 @@ class GenerateJsonSchema: Returns: The generated JSON schema. """ - return self.generate_inner(schema['schema']) + return self._function_schema(schema) def function_plain_schema(self, schema: core_schema.PlainValidatorFunctionSchema) -> JsonSchemaValue: """Generates a JSON schema that matches a function-plain schema. @@ -1076,12 +950,7 @@ class GenerateJsonSchema: Returns: The generated JSON schema. """ - if self.mode == 'validation' and (input_schema := schema.get('json_schema_input_schema')): - return self.generate_inner(input_schema) - - return self.handle_invalid_for_json_schema( - schema, f'core_schema.PlainValidatorFunctionSchema ({schema["function"]})' - ) + return self._function_schema(schema) def function_wrap_schema(self, schema: core_schema.WrapValidatorFunctionSchema) -> JsonSchemaValue: """Generates a JSON schema that matches a function-wrap schema. @@ -1092,10 +961,7 @@ class GenerateJsonSchema: Returns: The generated JSON schema. """ - if self.mode == 'validation' and (input_schema := schema.get('json_schema_input_schema')): - return self.generate_inner(input_schema) - - return self.generate_inner(schema['schema']) + return self._function_schema(schema) def default_schema(self, schema: core_schema.WithDefaultSchema) -> JsonSchemaValue: """Generates a JSON schema that matches a schema with a default value. @@ -1108,35 +974,17 @@ class GenerateJsonSchema: """ json_schema = self.generate_inner(schema['schema']) - default = self.get_default_value(schema) - if default is NoDefault: + if 'default' not in schema: return json_schema - - # we reflect the application of custom plain, no-info serializers to defaults for - # JSON Schemas viewed in serialization mode: - # TODO: improvements along with https://github.com/pydantic/pydantic/issues/8208 - if ( - self.mode == 'serialization' - and (ser_schema := schema['schema'].get('serialization')) - and (ser_func := ser_schema.get('function')) - and ser_schema.get('type') == 'function-plain' - and not ser_schema.get('info_arg') - and not (default is None and ser_schema.get('when_used') in ('unless-none', 'json-unless-none')) - ): - try: - default = ser_func(default) # type: ignore - except Exception: - # It might be that the provided default needs to be validated (read: parsed) first - # (assuming `validate_default` is enabled). However, we can't perform - # such validation during JSON Schema generation so we don't support - # this pattern for now. - # (One example is when using `foo: ByteSize = '1MB'`, which validates and - # serializes as an int. In this case, `ser_func` is `int` and `int('1MB')` fails). - self.emit_warning( - 'non-serializable-default', - f'Unable to serialize value {default!r} with the plain serializer; excluding default from JSON schema', - ) - return json_schema + default = schema['default'] + # Note: if you want to include the value returned by the default_factory, + # override this method and replace the code above with: + # if 'default' in schema: + # default = schema['default'] + # elif 'default_factory' in schema: + # default = schema['default_factory']() + # else: + # return json_schema try: encoded_default = self.encode_default(default) @@ -1148,23 +996,12 @@ class GenerateJsonSchema: # Return the inner schema, as though there was no default return json_schema - json_schema['default'] = encoded_default - return json_schema - - def get_default_value(self, schema: core_schema.WithDefaultSchema) -> Any: - """Get the default value to be used when generating a JSON Schema for a core schema with a default. - - The default implementation is to use the statically defined default value. This method can be overridden - if you want to make use of the default factory. - - Args: - schema: The `'with-default'` core schema. - - Returns: - The default value to use, or [`NoDefault`][pydantic.json_schema.NoDefault] if no default - value is available. - """ - return schema.get('default', NoDefault) + if '$ref' in json_schema: + # Since reference schemas do not support child keys, we wrap the reference schema in a single-case allOf: + return {'allOf': [json_schema], 'default': encoded_default} + else: + json_schema['default'] = encoded_default + return json_schema def nullable_schema(self, schema: core_schema.NullableSchema) -> JsonSchemaValue: """Generates a JSON schema that matches a schema that allows null values. @@ -1248,7 +1085,7 @@ class GenerateJsonSchema: return json_schema def _extract_discriminator( - self, schema: core_schema.TaggedUnionSchema, one_of_choices: list[JsonDict] + self, schema: core_schema.TaggedUnionSchema, one_of_choices: list[_JsonDict] ) -> str | None: """Extract a compatible OpenAPI discriminator from the schema and one_of choices that end up in the final schema.""" @@ -1275,14 +1112,9 @@ class GenerateJsonSchema: continue # this means that the "alias" does not represent a field alias_is_present_on_all_choices = True for choice in one_of_choices: - try: - choice = self.resolve_ref_schema(choice) - except RuntimeError as exc: - # TODO: fixme - this is a workaround for the fact that we can't always resolve refs - # for tagged union choices at this point in the schema gen process, we might need to do - # another pass at the end like we do for core schemas - self.emit_warning('skipped-discriminator', str(exc)) - choice = {} + while '$ref' in choice: + assert isinstance(choice['$ref'], str) + choice = self.get_schema_from_definitions(JsonRef(choice['$ref'])) or {} properties = choice.get('properties', {}) if not isinstance(properties, dict) or alias not in properties: alias_is_present_on_all_choices = False @@ -1358,19 +1190,16 @@ class GenerateJsonSchema: ] if self.mode == 'serialization': named_required_fields.extend(self._name_required_computed_fields(schema.get('computed_fields', []))) - cls = schema.get('cls') - config = _get_typed_dict_config(cls) + + config = _get_typed_dict_config(schema) with self._config_wrapper_stack.push(config): json_schema = self._named_required_fields_schema(named_required_fields) - if cls is not None: - self._update_class_schema(json_schema, cls, config) - else: - extra = config.get('extra') - if extra == 'forbid': - json_schema['additionalProperties'] = False - elif extra == 'allow': - json_schema['additionalProperties'] = True + extra = config.get('extra', 'ignore') + if extra == 'forbid': + json_schema['additionalProperties'] = False + elif extra == 'allow': + json_schema['additionalProperties'] = True return json_schema @@ -1483,56 +1312,13 @@ class GenerateJsonSchema: # because it could lead to inconsistent refs handling, etc. cls = cast('type[BaseModel]', schema['cls']) config = cls.model_config + title = config.get('title') with self._config_wrapper_stack.push(config): json_schema = self.generate_inner(schema['schema']) - self._update_class_schema(json_schema, cls, config) - - return json_schema - - def _update_class_schema(self, json_schema: JsonSchemaValue, cls: type[Any], config: ConfigDict) -> None: - """Update json_schema with the following, extracted from `config` and `cls`: - - * title - * description - * additional properties - * json_schema_extra - * deprecated - - Done in place, hence there's no return value as the original json_schema is mutated. - No ref resolving is involved here, as that's not appropriate for simple updates. - """ - from .main import BaseModel - from .root_model import RootModel - - if (config_title := config.get('title')) is not None: - json_schema.setdefault('title', config_title) - elif model_title_generator := config.get('model_title_generator'): - title = model_title_generator(cls) - if not isinstance(title, str): - raise TypeError(f'model_title_generator {model_title_generator} must return str, not {title.__class__}') - json_schema.setdefault('title', title) - if 'title' not in json_schema: - json_schema['title'] = cls.__name__ - - # BaseModel and dataclasses; don't use cls.__doc__ as it will contain the verbose class signature by default - docstring = None if cls is BaseModel or dataclasses.is_dataclass(cls) else cls.__doc__ - - if docstring: - json_schema.setdefault('description', inspect.cleandoc(docstring)) - elif issubclass(cls, RootModel) and (root_description := cls.__pydantic_fields__['root'].description): - json_schema.setdefault('description', root_description) - - extra = config.get('extra') - if 'additionalProperties' not in json_schema: - if extra == 'allow': - json_schema['additionalProperties'] = True - elif extra == 'forbid': - json_schema['additionalProperties'] = False - json_schema_extra = config.get('json_schema_extra') - if issubclass(cls, BaseModel) and cls.__pydantic_root_model__: + if cls.__pydantic_root_model__: root_json_schema_extra = cls.model_fields['root'].json_schema_extra if json_schema_extra and root_json_schema_extra: raise ValueError( @@ -1542,27 +1328,52 @@ class GenerateJsonSchema: if root_json_schema_extra: json_schema_extra = root_json_schema_extra + json_schema = self._update_class_schema(json_schema, title, config.get('extra', None), cls, json_schema_extra) + + return json_schema + + def _update_class_schema( + self, + json_schema: JsonSchemaValue, + title: str | None, + extra: Literal['allow', 'ignore', 'forbid'] | None, + cls: type[Any], + json_schema_extra: dict[str, Any] | JsonSchemaExtraCallable | None, + ) -> JsonSchemaValue: + if '$ref' in json_schema: + schema_to_update = self.get_schema_from_definitions(JsonRef(json_schema['$ref'])) or json_schema + else: + schema_to_update = json_schema + + if title is not None: + # referenced_schema['title'] = title + schema_to_update.setdefault('title', title) + + if 'additionalProperties' not in schema_to_update: + if extra == 'allow': + schema_to_update['additionalProperties'] = True + elif extra == 'forbid': + schema_to_update['additionalProperties'] = False + if isinstance(json_schema_extra, (staticmethod, classmethod)): # In older versions of python, this is necessary to ensure staticmethod/classmethods are callable json_schema_extra = json_schema_extra.__get__(cls) if isinstance(json_schema_extra, dict): - json_schema.update(json_schema_extra) + schema_to_update.update(json_schema_extra) elif callable(json_schema_extra): - # FIXME: why are there type ignores here? We support two signatures for json_schema_extra callables... if len(inspect.signature(json_schema_extra).parameters) > 1: - json_schema_extra(json_schema, cls) # type: ignore + json_schema_extra(schema_to_update, cls) # type: ignore else: - json_schema_extra(json_schema) # type: ignore + json_schema_extra(schema_to_update) # type: ignore elif json_schema_extra is not None: raise ValueError( f"model_config['json_schema_extra']={json_schema_extra} should be a dict, callable, or None" ) - if hasattr(cls, '__deprecated__'): - json_schema['deprecated'] = True + return json_schema - def resolve_ref_schema(self, json_schema: JsonSchemaValue) -> JsonSchemaValue: + def resolve_schema_to_update(self, json_schema: JsonSchemaValue) -> JsonSchemaValue: """Resolve a JsonSchemaValue to the non-ref schema if it is a $ref schema. Args: @@ -1570,17 +1381,15 @@ class GenerateJsonSchema: Returns: The resolved schema. - - Raises: - RuntimeError: If the schema reference can't be found in definitions. """ - while '$ref' in json_schema: - ref = json_schema['$ref'] - schema_to_update = self.get_schema_from_definitions(JsonRef(ref)) + if '$ref' in json_schema: + schema_to_update = self.get_schema_from_definitions(JsonRef(json_schema['$ref'])) if schema_to_update is None: - raise RuntimeError(f'Cannot update undefined schema for $ref={ref}') - json_schema = schema_to_update - return json_schema + raise RuntimeError(f'Cannot update undefined schema for $ref={json_schema["$ref"]}') + return self.resolve_schema_to_update(schema_to_update) + else: + schema_to_update = json_schema + return schema_to_update def model_fields_schema(self, schema: core_schema.ModelFieldsSchema) -> JsonSchemaValue: """Generates a JSON schema that matches a schema that defines a model's fields. @@ -1601,7 +1410,7 @@ class GenerateJsonSchema: json_schema = self._named_required_fields_schema(named_required_fields) extras_schema = schema.get('extras_schema', None) if extras_schema is not None: - schema_to_update = self.resolve_ref_schema(json_schema) + schema_to_update = self.resolve_schema_to_update(json_schema) schema_to_update['additionalProperties'] = self.generate_inner(extras_schema) return json_schema @@ -1675,18 +1484,18 @@ class GenerateJsonSchema: Returns: The generated JSON schema. """ - from ._internal._dataclasses import is_builtin_dataclass - cls = schema['cls'] config: ConfigDict = getattr(cls, '__pydantic_config__', cast('ConfigDict', {})) + title = config.get('title') or cls.__name__ with self._config_wrapper_stack.push(config): json_schema = self.generate_inner(schema['schema']).copy() - self._update_class_schema(json_schema, cls, config) + json_schema_extra = config.get('json_schema_extra') + json_schema = self._update_class_schema(json_schema, title, config.get('extra', None), cls, json_schema_extra) # Dataclass-specific handling of description - if is_builtin_dataclass(cls): + if is_dataclass(cls) and not hasattr(cls, '__pydantic_validator__'): # vanilla dataclass; don't use cls.__doc__ as it will contain the class signature by default description = None else: @@ -1705,7 +1514,8 @@ class GenerateJsonSchema: Returns: The generated JSON schema. """ - prefer_positional = schema.get('metadata', {}).get('pydantic_js_prefer_positional_arguments') + metadata = _core_metadata.CoreMetadataHandler(schema).metadata + prefer_positional = metadata.get('pydantic_js_prefer_positional_arguments') arguments = schema['arguments_schema'] kw_only_arguments = [a for a in arguments if a.get('mode') == 'keyword_only'] @@ -1728,7 +1538,9 @@ class GenerateJsonSchema: if positional_possible: return self.p_arguments_schema(p_only_arguments + kw_or_p_arguments, var_args_schema) - raise PydanticInvalidForJsonSchema( + # TODO: When support for Python 3.7 is dropped, uncomment the block on `test_json_schema` + # to cover this test case. + raise PydanticInvalidForJsonSchema( # pragma: no cover 'Unable to generate JSON schema for arguments validator with positional-only and keyword-only arguments' ) @@ -1796,9 +1608,7 @@ class GenerateJsonSchema: # I believe this is true, but I am not 100% sure min_items += 1 - json_schema: JsonSchemaValue = {'type': 'array'} - if prefix_items: - json_schema['prefixItems'] = prefix_items + json_schema: JsonSchemaValue = {'type': 'array', 'prefixItems': prefix_items} if min_items: json_schema['minItems'] = min_items @@ -1811,7 +1621,7 @@ class GenerateJsonSchema: return json_schema - def get_argument_name(self, argument: core_schema.ArgumentsParameter | core_schema.ArgumentsV3Parameter) -> str: + def get_argument_name(self, argument: core_schema.ArgumentsParameter) -> str: """Retrieves the name of an argument. Args: @@ -1829,45 +1639,6 @@ class GenerateJsonSchema: pass # might want to do something else? return name - def arguments_v3_schema(self, schema: core_schema.ArgumentsV3Schema) -> JsonSchemaValue: - """Generates a JSON schema that matches a schema that defines a function's arguments. - - Args: - schema: The core schema. - - Returns: - The generated JSON schema. - """ - arguments = schema['arguments_schema'] - properties: dict[str, JsonSchemaValue] = {} - required: list[str] = [] - for argument in arguments: - mode = argument.get('mode', 'positional_or_keyword') - name = self.get_argument_name(argument) - argument_schema = self.generate_inner(argument['schema']).copy() - if mode == 'var_args': - argument_schema = {'type': 'array', 'items': argument_schema} - elif mode == 'var_kwargs_uniform': - argument_schema = {'type': 'object', 'additionalProperties': argument_schema} - - argument_schema.setdefault('title', self.get_title_from_name(name)) - properties[name] = argument_schema - - if ( - (mode == 'var_kwargs_unpacked_typed_dict' and 'required' in argument_schema) - or mode not in {'var_args', 'var_kwargs_uniform', 'var_kwargs_unpacked_typed_dict'} - and argument['schema']['type'] != 'default' - ): - # This assumes that if the argument has a default value, - # the inner schema must be of type WithDefaultSchema. - # I believe this is true, but I am not 100% sure - required.append(name) - - json_schema: JsonSchemaValue = {'type': 'object', 'properties': properties} - if required: - json_schema['required'] = required - return json_schema - def call_schema(self, schema: core_schema.CallSchema) -> JsonSchemaValue: """Generates a JSON schema that matches a schema that defines a function call. @@ -2001,22 +1772,6 @@ class GenerateJsonSchema: return self.generate_inner(schema['schema']) return None - def complex_schema(self, schema: core_schema.ComplexSchema) -> JsonSchemaValue: - """Generates a JSON schema that matches a complex number. - - JSON has no standard way to represent complex numbers. Complex number is not a numeric - type. Here we represent complex number as strings following the rule defined by Python. - For instance, '1+2j' is an accepted complex string. Details can be found in - [Python's `complex` documentation][complex]. - - Args: - schema: The core schema. - - Returns: - The generated JSON schema. - """ - return {'type': 'string'} - # ### Utility methods def get_title_from_name(self, name: str) -> str: @@ -2028,7 +1783,7 @@ class GenerateJsonSchema: Returns: The title. """ - return name.title().replace('_', ' ').strip() + return name.title().replace('_', ' ') def field_title_should_be_set(self, schema: CoreSchemaOrField) -> bool: """Returns true if a field with the given schema should have a title set based on the field name. @@ -2089,7 +1844,7 @@ class GenerateJsonSchema: core_ref, mode = core_mode_ref components = re.split(r'([\][,])', core_ref) # Remove IDs from each component - components = [x.rsplit(':', 1)[0] for x in components] + components = [x.split(':')[0] for x in components] core_ref_no_id = ''.join(components) # Remove everything before the last period from each "component" components = [re.sub(r'(?:[^.[\]]+\.)+((?:[^.[\]]+))', r'\1', x) for x in components] @@ -2153,13 +1908,14 @@ class GenerateJsonSchema: return defs_ref, ref_json_schema def handle_ref_overrides(self, json_schema: JsonSchemaValue) -> JsonSchemaValue: - """Remove any sibling keys that are redundant with the referenced schema. + """It is not valid for a schema with a top-level $ref to have sibling keys. - Args: - json_schema: The schema to remove redundant sibling keys from. + During our own schema generation, we treat sibling keys as overrides to the referenced schema, + but this is not how the official JSON schema spec works. - Returns: - The schema with redundant sibling keys removed. + Because of this, we first remove any sibling keys that are redundant with the referenced schema, then if + any remain, we transform the schema from a top-level '$ref' to use allOf to move the $ref out of the top level. + (See bottom of https://swagger.io/docs/specification/using-ref/ for a reference about this behavior) """ if '$ref' in json_schema: # prevent modifications to the input; this copy may be safe to drop if there is significant overhead @@ -2170,25 +1926,33 @@ class GenerateJsonSchema: # This can happen when building schemas for models with not-yet-defined references. # It may be a good idea to do a recursive pass at the end of the generation to remove # any redundant override keys. + if len(json_schema) > 1: + # Make it an allOf to at least resolve the sibling keys issue + json_schema = json_schema.copy() + json_schema.setdefault('allOf', []) + json_schema['allOf'].append({'$ref': json_schema['$ref']}) + del json_schema['$ref'] + return json_schema for k, v in list(json_schema.items()): if k == '$ref': continue if k in referenced_json_schema and referenced_json_schema[k] == v: del json_schema[k] # redundant key + if len(json_schema) > 1: + # There is a remaining "override" key, so we need to move $ref out of the top level + json_ref = JsonRef(json_schema['$ref']) + del json_schema['$ref'] + assert 'allOf' not in json_schema # this should never happen, but just in case + json_schema['allOf'] = [{'$ref': json_ref}] return json_schema def get_schema_from_definitions(self, json_ref: JsonRef) -> JsonSchemaValue | None: - try: - def_ref = self.json_to_defs_refs[json_ref] - if def_ref in self._core_defs_invalid_for_json_schema: - raise self._core_defs_invalid_for_json_schema[def_ref] - return self.definitions.get(def_ref, None) - except KeyError: - if json_ref.startswith(('http://', 'https://')): - return None - raise + def_ref = self.json_to_defs_refs[json_ref] + if def_ref in self._core_defs_invalid_for_json_schema: + raise self._core_defs_invalid_for_json_schema[def_ref] + return self.definitions.get(def_ref, None) def encode_default(self, dft: Any) -> Any: """Encode a default value to a JSON-serializable value. @@ -2201,22 +1965,11 @@ class GenerateJsonSchema: Returns: The encoded default value. """ - from .type_adapter import TypeAdapter, _type_has_config - config = self._config - try: - default = ( - dft - if _type_has_config(type(dft)) - else TypeAdapter(type(dft), config=config.config_dict).dump_python( - dft, by_alias=self.by_alias, mode='json' - ) - ) - except PydanticSchemaGenerationError: - raise pydantic_core.PydanticSerializationError(f'Unable to encode default value {dft}') - return pydantic_core.to_jsonable_python( - default, timedelta_mode=config.ser_json_timedelta, bytes_mode=config.ser_json_bytes, by_alias=self.by_alias + dft, + timedelta_mode=config.ser_json_timedelta, + bytes_mode=config.ser_json_bytes, ) def update_with_validations( @@ -2265,6 +2018,12 @@ class GenerateJsonSchema: 'min_length': 'minProperties', 'max_length': 'maxProperties', } + date = { + 'le': 'maximum', + 'ge': 'minimum', + 'lt': 'exclusiveMaximum', + 'gt': 'exclusiveMinimum', + } def get_flattened_anyof(self, schemas: list[JsonSchemaValue]) -> JsonSchemaValue: members = [] @@ -2292,20 +2051,12 @@ class GenerateJsonSchema: json_refs[json_ref] += 1 if already_visited: return # prevent recursion on a definition that was already visited - try: - defs_ref = self.json_to_defs_refs[json_ref] - if defs_ref in self._core_defs_invalid_for_json_schema: - raise self._core_defs_invalid_for_json_schema[defs_ref] - _add_json_refs(self.definitions[defs_ref]) - except KeyError: - if not json_ref.startswith(('http://', 'https://')): - raise + defs_ref = self.json_to_defs_refs[json_ref] + if defs_ref in self._core_defs_invalid_for_json_schema: + raise self._core_defs_invalid_for_json_schema[defs_ref] + _add_json_refs(self.definitions[defs_ref]) - for k, v in schema.items(): - if k == 'examples' and isinstance(v, list): - # Skip examples that may contain arbitrary values and references - # (see the comment in `_get_all_json_refs` for more details). - continue + for v in schema.values(): _add_json_refs(v) elif isinstance(schema, list): for v in schema: @@ -2360,15 +2111,11 @@ class GenerateJsonSchema: unvisited_json_refs = _get_all_json_refs(schema) while unvisited_json_refs: next_json_ref = unvisited_json_refs.pop() - try: - next_defs_ref = self.json_to_defs_refs[next_json_ref] - if next_defs_ref in visited_defs_refs: - continue - visited_defs_refs.add(next_defs_ref) - unvisited_json_refs.update(_get_all_json_refs(self.definitions[next_defs_ref])) - except KeyError: - if not next_json_ref.startswith(('http://', 'https://')): - raise + next_defs_ref = self.json_to_defs_refs[next_json_ref] + if next_defs_ref in visited_defs_refs: + continue + visited_defs_refs.add(next_defs_ref) + unvisited_json_refs.update(_get_all_json_refs(self.definitions[next_defs_ref])) self.definitions = {k: v for k, v in self.definitions.items() if k in visited_defs_refs} @@ -2399,17 +2146,10 @@ def model_json_schema( Returns: The generated JSON Schema. """ - from .main import BaseModel - schema_generator_instance = schema_generator(by_alias=by_alias, ref_template=ref_template) - - if isinstance(cls.__pydantic_core_schema__, _mock_val_ser.MockCoreSchema): - cls.__pydantic_core_schema__.rebuild() - - if cls is BaseModel: - raise AttributeError('model_json_schema() must be called on a subclass of BaseModel, not BaseModel itself.') - - assert not isinstance(cls.__pydantic_core_schema__, _mock_val_ser.MockCoreSchema), 'this is a bug! please report it' + if isinstance(cls.__pydantic_validator__, _mock_val_ser.MockValSer): + cls.__pydantic_validator__.rebuild() + assert '__pydantic_core_schema__' in cls.__dict__, 'this is a bug! please report it' return schema_generator_instance.generate(cls.__pydantic_core_schema__, mode=mode) @@ -2441,13 +2181,11 @@ def models_json_schema( element, along with the optional title and description keys. """ for cls, _ in models: - if isinstance(cls.__pydantic_core_schema__, _mock_val_ser.MockCoreSchema): - cls.__pydantic_core_schema__.rebuild() + if isinstance(cls.__pydantic_validator__, _mock_val_ser.MockValSer): + cls.__pydantic_validator__.rebuild() instance = schema_generator(by_alias=by_alias, ref_template=ref_template) - inputs: list[tuple[type[BaseModel] | type[PydanticDataclass], JsonSchemaMode, CoreSchema]] = [ - (m, mode, m.__pydantic_core_schema__) for m, mode in models - ] + inputs = [(m, mode, m.__pydantic_core_schema__) for m, mode in models] json_schemas_map, definitions = instance.generate_definitions(inputs) json_schema: dict[str, Any] = {} @@ -2464,16 +2202,16 @@ def models_json_schema( # ##### End JSON Schema Generation Functions ##### -_HashableJsonValue: TypeAlias = Union[ - int, float, str, bool, None, tuple['_HashableJsonValue', ...], tuple[tuple[str, '_HashableJsonValue'], ...] -] +_Json = Union[Dict[str, Any], List[Any], str, int, float, bool, None] +_JsonDict = Dict[str, _Json] +_HashableJson = Union[Tuple[Tuple[str, Any], ...], Tuple[Any, ...], str, int, float, bool, None] -def _deduplicate_schemas(schemas: Iterable[JsonDict]) -> list[JsonDict]: +def _deduplicate_schemas(schemas: Iterable[_JsonDict]) -> list[_JsonDict]: return list({_make_json_hashable(schema): schema for schema in schemas}.values()) -def _make_json_hashable(value: JsonValue) -> _HashableJsonValue: +def _make_json_hashable(value: _Json) -> _HashableJson: if isinstance(value, dict): return tuple(sorted((k, _make_json_hashable(v)) for k, v in value.items())) elif isinstance(value, list): @@ -2482,12 +2220,27 @@ def _make_json_hashable(value: JsonValue) -> _HashableJsonValue: return value +def _sort_json_schema(value: JsonSchemaValue, parent_key: str | None = None) -> JsonSchemaValue: + if isinstance(value, dict): + sorted_dict: dict[str, JsonSchemaValue] = {} + keys = value.keys() + if parent_key != 'properties': + keys = sorted(keys) + for key in keys: + sorted_dict[key] = _sort_json_schema(value[key], parent_key=key) + return sorted_dict + elif isinstance(value, list): + sorted_list: list[JsonSchemaValue] = [] + for item in value: # type: ignore + sorted_list.append(_sort_json_schema(item)) + return sorted_list # type: ignore + else: + return value + + @dataclasses.dataclass(**_internal_dataclass.slots_true) class WithJsonSchema: - """!!! abstract "Usage Documentation" - [`WithJsonSchema` Annotation](../concepts/json_schema.md#withjsonschema-annotation) - - Add this as an annotation on a field to override the (base) JSON schema that would be generated for that field. + """Add this as an annotation on a field to override the (base) JSON schema that would be generated for that field. This provides a way to set a JSON schema for types that would otherwise raise errors when producing a JSON schema, such as Callable, or types that have an is-instance core schema, without needing to go so far as creating a custom subclass of pydantic.json_schema.GenerateJsonSchema. @@ -2511,42 +2264,25 @@ class WithJsonSchema: # This exception is handled in pydantic.json_schema.GenerateJsonSchema._named_required_fields_schema raise PydanticOmit else: - return self.json_schema.copy() + return self.json_schema def __hash__(self) -> int: return hash(type(self.mode)) +@dataclasses.dataclass(**_internal_dataclass.slots_true) class Examples: """Add examples to a JSON schema. - If the JSON Schema already contains examples, the provided examples - will be appended. + Examples should be a map of example names (strings) + to example values (any valid JSON). If `mode` is set this will only apply to that schema generation mode, allowing you to add different examples for validation and serialization. """ - @overload - @deprecated('Using a dict for `examples` is deprecated since v2.9 and will be removed in v3.0. Use a list instead.') - def __init__( - self, examples: dict[str, Any], mode: Literal['validation', 'serialization'] | None = None - ) -> None: ... - - @overload - def __init__(self, examples: list[Any], mode: Literal['validation', 'serialization'] | None = None) -> None: ... - - def __init__( - self, examples: dict[str, Any] | list[Any], mode: Literal['validation', 'serialization'] | None = None - ) -> None: - if isinstance(examples, dict): - warnings.warn( - 'Using a dict for `examples` is deprecated, use a list instead.', - PydanticDeprecatedSince29, - stacklevel=2, - ) - self.examples = examples - self.mode = mode + examples: dict[str, Any] + mode: Literal['validation', 'serialization'] | None = None def __get_pydantic_json_schema__( self, core_schema: core_schema.CoreSchema, handler: GetJsonSchemaHandler @@ -2555,36 +2291,9 @@ class Examples: json_schema = handler(core_schema) if mode != handler.mode: return json_schema - examples = json_schema.get('examples') - if examples is None: - json_schema['examples'] = to_jsonable_python(self.examples) - if isinstance(examples, dict): - if isinstance(self.examples, list): - warnings.warn( - 'Updating existing JSON Schema examples of type dict with examples of type list. ' - 'Only the existing examples values will be retained. Note that dict support for ' - 'examples is deprecated and will be removed in v3.0.', - UserWarning, - ) - json_schema['examples'] = to_jsonable_python( - [ex for value in examples.values() for ex in value] + self.examples - ) - else: - json_schema['examples'] = to_jsonable_python({**examples, **self.examples}) - if isinstance(examples, list): - if isinstance(self.examples, list): - json_schema['examples'] = to_jsonable_python(examples + self.examples) - elif isinstance(self.examples, dict): - warnings.warn( - 'Updating existing JSON Schema examples of type list with examples of type dict. ' - 'Only the examples values will be retained. Note that dict support for ' - 'examples is deprecated and will be removed in v3.0.', - UserWarning, - ) - json_schema['examples'] = to_jsonable_python( - examples + [ex for value in self.examples.values() for ex in value] - ) - + examples = json_schema.get('examples', {}) + examples.update(to_jsonable_python(self.examples)) + json_schema['examples'] = examples return json_schema def __hash__(self) -> int: @@ -2594,28 +2303,19 @@ class Examples: def _get_all_json_refs(item: Any) -> set[JsonRef]: """Get all the definitions references from a JSON schema.""" refs: set[JsonRef] = set() - stack = [item] - - while stack: - current = stack.pop() - if isinstance(current, dict): - for key, value in current.items(): - if key == 'examples' and isinstance(value, list): - # Skip examples that may contain arbitrary values and references - # (e.g. `{"examples": [{"$ref": "..."}]}`). Note: checking for value - # of type list is necessary to avoid skipping valid portions of the schema, - # for instance when "examples" is used as a property key. A more robust solution - # could be found, but would require more advanced JSON Schema parsing logic. - continue - if key == '$ref' and isinstance(value, str): - refs.add(JsonRef(value)) - elif isinstance(value, dict): - stack.append(value) - elif isinstance(value, list): - stack.extend(value) - elif isinstance(current, list): - stack.extend(current) - + if isinstance(item, dict): + for key, value in item.items(): + if key == '$ref' and isinstance(value, str): + # the isinstance check ensures that '$ref' isn't the name of a property, etc. + refs.add(JsonRef(value)) + elif isinstance(value, dict): + refs.update(_get_all_json_refs(value)) + elif isinstance(value, list): + for item in value: + refs.update(_get_all_json_refs(item)) + elif isinstance(item, list): + for item in item: + refs.update(_get_all_json_refs(item)) return refs @@ -2627,51 +2327,20 @@ else: @dataclasses.dataclass(**_internal_dataclass.slots_true) class SkipJsonSchema: - """!!! abstract "Usage Documentation" - [`SkipJsonSchema` Annotation](../concepts/json_schema.md#skipjsonschema-annotation) - - Add this as an annotation on a field to skip generating a JSON schema for that field. + """Add this as an annotation on a field to skip generating a JSON schema for that field. Example: - ```python - from pprint import pprint - from typing import Union - + ```py from pydantic import BaseModel from pydantic.json_schema import SkipJsonSchema class Model(BaseModel): - a: Union[int, None] = None # (1)! - b: Union[int, SkipJsonSchema[None]] = None # (2)! - c: SkipJsonSchema[Union[int, None]] = None # (3)! + a: int | SkipJsonSchema[None] = None - pprint(Model.model_json_schema()) - ''' - { - 'properties': { - 'a': { - 'anyOf': [ - {'type': 'integer'}, - {'type': 'null'} - ], - 'default': None, - 'title': 'A' - }, - 'b': { - 'default': None, - 'title': 'B', - 'type': 'integer' - } - }, - 'title': 'Model', - 'type': 'object' - } - ''' + + print(Model.model_json_schema()) + #> {'properties': {'a': {'default': None, 'title': 'A', 'type': 'integer'}}, 'title': 'Model', 'type': 'object'} ``` - - 1. The integer and null types are both included in the schema for `a`. - 2. The integer type is the only type included in the schema for `b`. - 3. The entirety of the `c` field is omitted from the schema. """ def __class_getitem__(cls, item: AnyType) -> AnyType: @@ -2686,7 +2355,9 @@ else: return hash(type(self)) -def _get_typed_dict_config(cls: type[Any] | None) -> ConfigDict: +def _get_typed_dict_config(schema: core_schema.TypedDictSchema) -> ConfigDict: + metadata = _core_metadata.CoreMetadataHandler(schema).metadata + cls = metadata.get('pydantic_typed_dict_cls') if cls is not None: try: return _decorators.get_attribute_from_bases(cls, '__pydantic_config__') diff --git a/venv/lib/python3.12/site-packages/pydantic/main.py b/venv/lib/python3.12/site-packages/pydantic/main.py index 272c10a..355a912 100644 --- a/venv/lib/python3.12/site-packages/pydantic/main.py +++ b/venv/lib/python3.12/site-packages/pydantic/main.py @@ -1,38 +1,16 @@ """Logic for creating models.""" - -# Because `dict` is in the local namespace of the `BaseModel` class, we use `Dict` for annotations. -# TODO v3 fallback to `dict` when the deprecated `dict` method gets removed. -# ruff: noqa: UP035 - from __future__ import annotations as _annotations -import operator -import sys import types import typing import warnings -from collections.abc import Generator, Mapping from copy import copy, deepcopy -from functools import cached_property -from typing import ( - TYPE_CHECKING, - Any, - Callable, - ClassVar, - Dict, - Literal, - TypeVar, - Union, - cast, - overload, -) +from typing import Any, ClassVar import pydantic_core import typing_extensions -from pydantic_core import PydanticUndefined, ValidationError -from typing_extensions import Self, TypeAlias, Unpack +from pydantic_core import PydanticUndefined -from . import PydanticDeprecatedSince20, PydanticDeprecatedSince211 from ._internal import ( _config, _decorators, @@ -41,29 +19,34 @@ from ._internal import ( _generics, _mock_val_ser, _model_construction, - _namespace_utils, _repr, _typing_extra, _utils, ) from ._migration import getattr_migration -from .aliases import AliasChoices, AliasPath from .annotated_handlers import GetCoreSchemaHandler, GetJsonSchemaHandler from .config import ConfigDict from .errors import PydanticUndefinedAnnotation, PydanticUserError +from .fields import ComputedFieldInfo, FieldInfo, ModelPrivateAttr from .json_schema import DEFAULT_REF_TEMPLATE, GenerateJsonSchema, JsonSchemaMode, JsonSchemaValue, model_json_schema -from .plugin._schema_validator import PluggableSchemaValidator +from .warnings import PydanticDeprecatedSince20 -if TYPE_CHECKING: +if typing.TYPE_CHECKING: from inspect import Signature from pathlib import Path from pydantic_core import CoreSchema, SchemaSerializer, SchemaValidator + from typing_extensions import Literal, Unpack - from ._internal._namespace_utils import MappingNamespace from ._internal._utils import AbstractSetIntStr, MappingIntStrAny from .deprecated.parse import Protocol as DeprecatedParseProtocol - from .fields import ComputedFieldInfo, FieldInfo, ModelPrivateAttr + from .fields import Field as _Field + + AnyClassMethod = classmethod[Any, Any, Any] + TupleGenerator = typing.Generator[typing.Tuple[str, Any], None, None] + Model = typing.TypeVar('Model', bound='BaseModel') + # should be `set[int] | set[str] | dict[int, IncEx] | dict[str, IncEx] | None`, but mypy can't cope + IncEx: typing_extensions.TypeAlias = 'set[int] | set[str] | dict[int, Any] | dict[str, Any] | None' else: # See PyCharm issues https://youtrack.jetbrains.com/issue/PY-21915 # and https://youtrack.jetbrains.com/issue/PY-51428 @@ -71,66 +54,21 @@ else: __all__ = 'BaseModel', 'create_model' -# Keep these type aliases available at runtime: -TupleGenerator: TypeAlias = Generator[tuple[str, Any], None, None] -# NOTE: In reality, `bool` should be replaced by `Literal[True]` but mypy fails to correctly apply bidirectional -# type inference (e.g. when using `{'a': {'b': True}}`): -# NOTE: Keep this type alias in sync with the stub definition in `pydantic-core`: -IncEx: TypeAlias = Union[set[int], set[str], Mapping[int, Union['IncEx', bool]], Mapping[str, Union['IncEx', bool]]] - _object_setattr = _model_construction.object_setattr -def _check_frozen(model_cls: type[BaseModel], name: str, value: Any) -> None: - if model_cls.model_config.get('frozen'): - error_type = 'frozen_instance' - elif getattr(model_cls.__pydantic_fields__.get(name), 'frozen', False): - error_type = 'frozen_field' - else: - return - - raise ValidationError.from_exception_data( - model_cls.__name__, [{'type': error_type, 'loc': (name,), 'input': value}] - ) - - -def _model_field_setattr_handler(model: BaseModel, name: str, val: Any) -> None: - model.__dict__[name] = val - model.__pydantic_fields_set__.add(name) - - -def _private_setattr_handler(model: BaseModel, name: str, val: Any) -> None: - if getattr(model, '__pydantic_private__', None) is None: - # While the attribute should be present at this point, this may not be the case if - # users do unusual stuff with `model_post_init()` (which is where the `__pydantic_private__` - # is initialized, by wrapping the user-defined `model_post_init()`), e.g. if they mock - # the `model_post_init()` call. Ideally we should find a better way to init private attrs. - object.__setattr__(model, '__pydantic_private__', {}) - model.__pydantic_private__[name] = val # pyright: ignore[reportOptionalSubscript] - - -_SIMPLE_SETATTR_HANDLERS: Mapping[str, Callable[[BaseModel, str, Any], None]] = { - 'model_field': _model_field_setattr_handler, - 'validate_assignment': lambda model, name, val: model.__pydantic_validator__.validate_assignment(model, name, val), # pyright: ignore[reportAssignmentType] - 'private': _private_setattr_handler, - 'cached_property': lambda model, name, val: model.__dict__.__setitem__(name, val), - 'extra_known': lambda model, name, val: _object_setattr(model, name, val), -} - - class BaseModel(metaclass=_model_construction.ModelMetaclass): - """!!! abstract "Usage Documentation" - [Models](../concepts/models.md) + """Usage docs: https://docs.pydantic.dev/2.4/concepts/models/ A base class for creating Pydantic models. Attributes: - __class_vars__: The names of the class variables defined on the model. + __class_vars__: The names of classvars defined on the model. __private_attributes__: Metadata about the private attributes of the model. - __signature__: The synthesized `__init__` [`Signature`][inspect.Signature] of the model. + __signature__: The signature for instantiating the model. __pydantic_complete__: Whether model building is completed, or if there are still undefined fields. - __pydantic_core_schema__: The core schema of the model. + __pydantic_core_schema__: The pydantic-core schema used to build the SchemaValidator and SchemaSerializer. __pydantic_custom_init__: Whether the model has a custom `__init__` function. __pydantic_decorators__: Metadata containing the decorators defined on the model. This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1. @@ -138,95 +76,63 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these. __pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models. __pydantic_post_init__: The name of the post-init method for the model, if defined. - __pydantic_root_model__: Whether the model is a [`RootModel`][pydantic.root_model.RootModel]. - __pydantic_serializer__: The `pydantic-core` `SchemaSerializer` used to dump instances of the model. - __pydantic_validator__: The `pydantic-core` `SchemaValidator` used to validate instances of the model. + __pydantic_root_model__: Whether the model is a `RootModel`. + __pydantic_serializer__: The pydantic-core SchemaSerializer used to dump instances of the model. + __pydantic_validator__: The pydantic-core SchemaValidator used to validate instances of the model. - __pydantic_fields__: A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects. - __pydantic_computed_fields__: A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects. - - __pydantic_extra__: A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra] - is set to `'allow'`. - __pydantic_fields_set__: The names of fields explicitly set during instantiation. - __pydantic_private__: Values of private attributes set on the model instance. + __pydantic_extra__: An instance attribute with the values of extra fields from validation when + `model_config['extra'] == 'allow'`. + __pydantic_fields_set__: An instance attribute with the names of fields explicitly specified during validation. + __pydantic_private__: Instance attribute with the values of private attributes set on the model instance. """ - # Note: Many of the below class vars are defined in the metaclass, but we define them here for type checking purposes. + if typing.TYPE_CHECKING: + # Here we provide annotations for the attributes of BaseModel. + # Many of these are populated by the metaclass, which is why this section is in a `TYPE_CHECKING` block. + # However, for the sake of easy review, we have included type annotations of all class and instance attributes + # of `BaseModel` here: - model_config: ClassVar[ConfigDict] = ConfigDict() - """ - Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict]. - """ + # Class attributes + model_config: ClassVar[ConfigDict] + """ + Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict]. + """ - __class_vars__: ClassVar[set[str]] - """The names of the class variables defined on the model.""" + model_fields: ClassVar[dict[str, FieldInfo]] + """ + Metadata about the fields defined on the model, + mapping of field names to [`FieldInfo`][pydantic.fields.FieldInfo]. - __private_attributes__: ClassVar[Dict[str, ModelPrivateAttr]] # noqa: UP006 - """Metadata about the private attributes of the model.""" + This replaces `Model.__fields__` from Pydantic V1. + """ - __signature__: ClassVar[Signature] - """The synthesized `__init__` [`Signature`][inspect.Signature] of the model.""" + __class_vars__: ClassVar[set[str]] + __private_attributes__: ClassVar[dict[str, ModelPrivateAttr]] + __signature__: ClassVar[Signature] - __pydantic_complete__: ClassVar[bool] = False - """Whether model building is completed, or if there are still undefined fields.""" + __pydantic_complete__: ClassVar[bool] + __pydantic_core_schema__: ClassVar[CoreSchema] + __pydantic_custom_init__: ClassVar[bool] + __pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] + __pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] + __pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] + __pydantic_post_init__: ClassVar[None | Literal['model_post_init']] + __pydantic_root_model__: ClassVar[bool] + __pydantic_serializer__: ClassVar[SchemaSerializer] + __pydantic_validator__: ClassVar[SchemaValidator] - __pydantic_core_schema__: ClassVar[CoreSchema] - """The core schema of the model.""" - - __pydantic_custom_init__: ClassVar[bool] - """Whether the model has a custom `__init__` method.""" - - # Must be set for `GenerateSchema.model_schema` to work for a plain `BaseModel` annotation. - __pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = _decorators.DecoratorInfos() - """Metadata containing the decorators defined on the model. - This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1.""" - - __pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] - """Metadata for generic models; contains data used for a similar purpose to - __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.""" - - __pydantic_parent_namespace__: ClassVar[Dict[str, Any] | None] = None # noqa: UP006 - """Parent namespace of the model, used for automatic rebuilding of models.""" - - __pydantic_post_init__: ClassVar[None | Literal['model_post_init']] - """The name of the post-init method for the model, if defined.""" - - __pydantic_root_model__: ClassVar[bool] = False - """Whether the model is a [`RootModel`][pydantic.root_model.RootModel].""" - - __pydantic_serializer__: ClassVar[SchemaSerializer] - """The `pydantic-core` `SchemaSerializer` used to dump instances of the model.""" - - __pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] - """The `pydantic-core` `SchemaValidator` used to validate instances of the model.""" - - __pydantic_fields__: ClassVar[Dict[str, FieldInfo]] # noqa: UP006 - """A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects. - This replaces `Model.__fields__` from Pydantic V1. - """ - - __pydantic_setattr_handlers__: ClassVar[Dict[str, Callable[[BaseModel, str, Any], None]]] # noqa: UP006 - """`__setattr__` handlers. Memoizing the handlers leads to a dramatic performance improvement in `__setattr__`""" - - __pydantic_computed_fields__: ClassVar[Dict[str, ComputedFieldInfo]] # noqa: UP006 - """A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects.""" - - __pydantic_extra__: dict[str, Any] | None = _model_construction.NoInitField(init=False) - """A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra] is set to `'allow'`.""" - - __pydantic_fields_set__: set[str] = _model_construction.NoInitField(init=False) - """The names of fields explicitly set during instantiation.""" - - __pydantic_private__: dict[str, Any] | None = _model_construction.NoInitField(init=False) - """Values of private attributes set on the model instance.""" - - if not TYPE_CHECKING: - # Prevent `BaseModel` from being instantiated directly - # (defined in an `if not TYPE_CHECKING` block for clarity and to avoid type checking errors): - __pydantic_core_schema__ = _mock_val_ser.MockCoreSchema( - 'Pydantic models should inherit from BaseModel, BaseModel cannot be instantiated directly', - code='base-model-instantiated', - ) + # Instance attributes + # Note: we use the non-existent kwarg `init=False` in pydantic.fields.Field below so that @dataclass_transform + # doesn't think these are valid as keyword arguments to the class initializer. + __pydantic_extra__: dict[str, Any] | None = _Field(init=False) # type: ignore + __pydantic_fields_set__: set[str] = _Field(init=False) # type: ignore + __pydantic_private__: dict[str, Any] | None = _Field(init=False) # type: ignore + else: + # `model_fields` and `__pydantic_decorators__` must be set for + # pydantic._internal._generate_schema.GenerateSchema.model_schema to work for a plain BaseModel annotation + model_fields = {} + __pydantic_decorators__ = _decorators.DecoratorInfos() + # Prevent `BaseModel` from being instantiated directly: __pydantic_validator__ = _mock_val_ser.MockValSer( 'Pydantic models should inherit from BaseModel, BaseModel cannot be instantiated directly', val_or_ser='validator', @@ -240,49 +146,34 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): __slots__ = '__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__' - def __init__(self, /, **data: Any) -> None: + model_config = ConfigDict() + __pydantic_complete__ = False + __pydantic_root_model__ = False + + def __init__(__pydantic_self__, **data: Any) -> None: # type: ignore """Create a new model by parsing and validating input data from keyword arguments. Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model. - `self` is explicitly positional-only to allow `self` as a field name. + `__init__` uses `__pydantic_self__` instead of the more common `self` for the first arg to + allow `self` as a field name. """ # `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks __tracebackhide__ = True - validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self) - if self is not validated_self: - warnings.warn( - 'A custom validator is returning a value other than `self`.\n' - "Returning anything other than `self` from a top level model validator isn't supported when validating via `__init__`.\n" - 'See the `model_validator` docs (https://docs.pydantic.dev/latest/concepts/validators/#model-validators) for more details.', - stacklevel=2, - ) + __pydantic_self__.__pydantic_validator__.validate_python(data, self_instance=__pydantic_self__) # The following line sets a flag that we use to determine when `__init__` gets overridden by the user - __init__.__pydantic_base_init__ = True # pyright: ignore[reportFunctionMemberAccess] + __init__.__pydantic_base_init__ = True - @_utils.deprecated_instance_property - @classmethod - def model_fields(cls) -> dict[str, FieldInfo]: - """A mapping of field names to their respective [`FieldInfo`][pydantic.fields.FieldInfo] instances. + @property + def model_computed_fields(self) -> dict[str, ComputedFieldInfo]: + """Get the computed fields of this model instance. - !!! warning - Accessing this attribute from a model instance is deprecated, and will not work in Pydantic V3. - Instead, you should access this attribute from the model class. + Returns: + A dictionary of computed field names and their corresponding `ComputedFieldInfo` objects. """ - return getattr(cls, '__pydantic_fields__', {}) - - @_utils.deprecated_instance_property - @classmethod - def model_computed_fields(cls) -> dict[str, ComputedFieldInfo]: - """A mapping of computed field names to their respective [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] instances. - - !!! warning - Accessing this attribute from a model instance is deprecated, and will not work in Pydantic V3. - Instead, you should access this attribute from the model class. - """ - return getattr(cls, '__pydantic_computed_fields__', {}) + return {k: v.info for k, v in self.__pydantic_decorators__.computed_fields.items()} @property def model_extra(self) -> dict[str, Any] | None: @@ -295,7 +186,7 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): @property def model_fields_set(self) -> set[str]: - """Returns the set of fields that have been explicitly set on this model instance. + """Returns the set of fields that have been set on this model instance. Returns: A set of strings representing the fields that have been set, @@ -304,23 +195,15 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): return self.__pydantic_fields_set__ @classmethod - def model_construct(cls, _fields_set: set[str] | None = None, **values: Any) -> Self: # noqa: C901 + def model_construct(cls: type[Model], _fields_set: set[str] | None = None, **values: Any) -> Model: """Creates a new instance of the `Model` class with validated data. Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data. Default values are respected, but no other validation is performed. - - !!! note - `model_construct()` generally respects the `model_config.extra` setting on the provided model. - That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__` - and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored. - Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in - an error if extra values are passed, but they will be ignored. + Behaves as if `Config.extra = 'allow'` was set since it adds all passed values Args: - _fields_set: A set of field names that were originally explicitly set during instantiation. If provided, - this is directly used for the [`model_fields_set`][pydantic.BaseModel.model_fields_set] attribute. - Otherwise, the field names from the `values` argument will be used. + _fields_set: The set of field names accepted for the Model instance. values: Trusted or pre-validated data dictionary. Returns: @@ -328,42 +211,25 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): """ m = cls.__new__(cls) fields_values: dict[str, Any] = {} - fields_set = set() - - for name, field in cls.__pydantic_fields__.items(): - if field.alias is not None and field.alias in values: + defaults: dict[str, Any] = {} # keeping this separate from `fields_values` helps us compute `_fields_set` + for name, field in cls.model_fields.items(): + if field.alias and field.alias in values: fields_values[name] = values.pop(field.alias) - fields_set.add(name) - - if (name not in fields_set) and (field.validation_alias is not None): - validation_aliases: list[str | AliasPath] = ( - field.validation_alias.choices - if isinstance(field.validation_alias, AliasChoices) - else [field.validation_alias] - ) - - for alias in validation_aliases: - if isinstance(alias, str) and alias in values: - fields_values[name] = values.pop(alias) - fields_set.add(name) - break - elif isinstance(alias, AliasPath): - value = alias.search_dict_for_path(values) - if value is not PydanticUndefined: - fields_values[name] = value - fields_set.add(name) - break - - if name not in fields_set: - if name in values: - fields_values[name] = values.pop(name) - fields_set.add(name) - elif not field.is_required(): - fields_values[name] = field.get_default(call_default_factory=True, validated_data=fields_values) + elif name in values: + fields_values[name] = values.pop(name) + elif not field.is_required(): + defaults[name] = field.get_default(call_default_factory=True) if _fields_set is None: - _fields_set = fields_set + _fields_set = set(fields_values.keys()) + fields_values.update(defaults) - _extra: dict[str, Any] | None = values if cls.model_config.get('extra') == 'allow' else None + _extra: dict[str, Any] | None = None + if cls.model_config.get('extra') == 'allow': + _extra = {} + for k, v in values.items(): + _extra[k] = v + else: + fields_values.update(values) _object_setattr(m, '__dict__', fields_values) _object_setattr(m, '__pydantic_fields_set__', _fields_set) if not cls.__pydantic_root_model__: @@ -371,12 +237,6 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): if cls.__pydantic_post_init__: m.model_post_init(None) - # update private attributes with values set - if hasattr(m, '__pydantic_private__') and m.__pydantic_private__ is not None: - for k, v in values.items(): - if k in m.__private_attributes__: - m.__pydantic_private__[k] = v - elif not cls.__pydantic_root_model__: # Note: if there are any private attributes, cls.__pydantic_post_init__ would exist # Since it doesn't, that means that `__pydantic_private__` should be set to None @@ -384,17 +244,11 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): return m - def model_copy(self, *, update: Mapping[str, Any] | None = None, deep: bool = False) -> Self: - """!!! abstract "Usage Documentation" - [`model_copy`](../concepts/serialization.md#model_copy) + def model_copy(self: Model, *, update: dict[str, Any] | None = None, deep: bool = False) -> Model: + """Usage docs: https://docs.pydantic.dev/2.4/concepts/serialization/#model_copy Returns a copy of the model. - !!! note - The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This - might have unexpected side effects if you store anything in it, on top of the model - fields (e.g. the value of [cached properties][functools.cached_property]). - Args: update: Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data. @@ -407,7 +261,7 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): if update: if self.model_config.get('extra') == 'allow': for k, v in update.items(): - if k in self.__pydantic_fields__: + if k in self.model_fields: copied.__dict__[k] = v else: if copied.__pydantic_extra__ is None: @@ -422,40 +276,31 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): self, *, mode: Literal['json', 'python'] | str = 'python', - include: IncEx | None = None, - exclude: IncEx | None = None, - context: Any | None = None, - by_alias: bool | None = None, + include: IncEx = None, + exclude: IncEx = None, + by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, - warnings: bool | Literal['none', 'warn', 'error'] = True, - fallback: Callable[[Any], Any] | None = None, - serialize_as_any: bool = False, + warnings: bool = True, ) -> dict[str, Any]: - """!!! abstract "Usage Documentation" - [`model_dump`](../concepts/serialization.md#modelmodel_dump) + """Usage docs: https://docs.pydantic.dev/2.4/concepts/serialization/#modelmodel_dump Generate a dictionary representation of the model, optionally specifying which fields to include or exclude. Args: mode: The mode in which `to_python` should run. - If mode is 'json', the output will only contain JSON serializable types. - If mode is 'python', the output may contain non-JSON-serializable Python objects. - include: A set of fields to include in the output. - exclude: A set of fields to exclude from the output. - context: Additional context to pass to the serializer. + If mode is 'json', the dictionary will only contain JSON serializable types. + If mode is 'python', the dictionary may contain any Python objects. + include: A list of fields to include in the output. + exclude: A list of fields to exclude from the output. by_alias: Whether to use the field's alias in the dictionary key if defined. - exclude_unset: Whether to exclude fields that have not been explicitly set. - exclude_defaults: Whether to exclude fields that are set to their default value. - exclude_none: Whether to exclude fields that have a value of `None`. - round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T]. - warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors, - "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError]. - fallback: A function to call when an unknown value is encountered. If not provided, - a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised. - serialize_as_any: Whether to serialize fields with duck-typing serialization behavior. + exclude_unset: Whether to exclude fields that are unset or None from the output. + exclude_defaults: Whether to exclude fields that are set to their default value from the output. + exclude_none: Whether to exclude fields that have a value of `None` from the output. + round_trip: Whether to enable serialization and deserialization round-trip support. + warnings: Whether to log warnings when invalid fields are encountered. Returns: A dictionary representation of the model. @@ -466,52 +311,40 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): by_alias=by_alias, include=include, exclude=exclude, - context=context, exclude_unset=exclude_unset, exclude_defaults=exclude_defaults, exclude_none=exclude_none, round_trip=round_trip, warnings=warnings, - fallback=fallback, - serialize_as_any=serialize_as_any, ) def model_dump_json( self, *, indent: int | None = None, - include: IncEx | None = None, - exclude: IncEx | None = None, - context: Any | None = None, - by_alias: bool | None = None, + include: IncEx = None, + exclude: IncEx = None, + by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, - warnings: bool | Literal['none', 'warn', 'error'] = True, - fallback: Callable[[Any], Any] | None = None, - serialize_as_any: bool = False, + warnings: bool = True, ) -> str: - """!!! abstract "Usage Documentation" - [`model_dump_json`](../concepts/serialization.md#modelmodel_dump_json) + """Usage docs: https://docs.pydantic.dev/2.4/concepts/serialization/#modelmodel_dump_json Generates a JSON representation of the model using Pydantic's `to_json` method. Args: indent: Indentation to use in the JSON output. If None is passed, the output will be compact. - include: Field(s) to include in the JSON output. - exclude: Field(s) to exclude from the JSON output. - context: Additional context to pass to the serializer. + include: Field(s) to include in the JSON output. Can take either a string or set of strings. + exclude: Field(s) to exclude from the JSON output. Can take either a string or set of strings. by_alias: Whether to serialize using field aliases. exclude_unset: Whether to exclude fields that have not been explicitly set. - exclude_defaults: Whether to exclude fields that are set to their default value. + exclude_defaults: Whether to exclude fields that have the default value. exclude_none: Whether to exclude fields that have a value of `None`. - round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T]. - warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors, - "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError]. - fallback: A function to call when an unknown value is encountered. If not provided, - a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised. - serialize_as_any: Whether to serialize fields with duck-typing serialization behavior. + round_trip: Whether to use serialization/deserialization between JSON and class instance. + warnings: Whether to show any warnings that occurred during serialization. Returns: A JSON string representation of the model. @@ -521,15 +354,12 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): indent=indent, include=include, exclude=exclude, - context=context, by_alias=by_alias, exclude_unset=exclude_unset, exclude_defaults=exclude_defaults, exclude_none=exclude_none, round_trip=round_trip, warnings=warnings, - fallback=fallback, - serialize_as_any=serialize_as_any, ).decode() @classmethod @@ -583,7 +413,7 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): params_component = ', '.join(param_names) return f'{cls.__name__}[{params_component}]' - def model_post_init(self, context: Any, /) -> None: + def model_post_init(self, __context: Any) -> None: """Override this method to perform additional initialization after `__init__` and `model_construct`. This is useful if you want to do some validation that requires the entire model to be initialized. """ @@ -596,7 +426,7 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): force: bool = False, raise_errors: bool = True, _parent_namespace_depth: int = 2, - _types_namespace: MappingNamespace | None = None, + _types_namespace: dict[str, Any] | None = None, ) -> bool | None: """Try to rebuild the pydantic-core schema for the model. @@ -615,77 +445,52 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): """ if not force and cls.__pydantic_complete__: return None - - for attr in ('__pydantic_core_schema__', '__pydantic_validator__', '__pydantic_serializer__'): - if attr in cls.__dict__ and not isinstance(getattr(cls, attr), _mock_val_ser.MockValSer): - # Deleting the validator/serializer is necessary as otherwise they can get reused in - # pydantic-core. We do so only if they aren't mock instances, otherwise — as `model_rebuild()` - # isn't thread-safe — concurrent model instantiations can lead to the parent validator being used. - # Same applies for the core schema that can be reused in schema generation. - delattr(cls, attr) - - cls.__pydantic_complete__ = False - - if _types_namespace is not None: - rebuild_ns = _types_namespace - elif _parent_namespace_depth > 0: - rebuild_ns = _typing_extra.parent_frame_namespace(parent_depth=_parent_namespace_depth, force=True) or {} else: - rebuild_ns = {} + if '__pydantic_core_schema__' in cls.__dict__: + delattr(cls, '__pydantic_core_schema__') # delete cached value to ensure full rebuild happens + if _types_namespace is not None: + types_namespace: dict[str, Any] | None = _types_namespace.copy() + else: + if _parent_namespace_depth > 0: + frame_parent_ns = _typing_extra.parent_frame_namespace(parent_depth=_parent_namespace_depth) or {} + cls_parent_ns = ( + _model_construction.unpack_lenient_weakvaluedict(cls.__pydantic_parent_namespace__) or {} + ) + types_namespace = {**cls_parent_ns, **frame_parent_ns} + cls.__pydantic_parent_namespace__ = _model_construction.build_lenient_weakvaluedict(types_namespace) + else: + types_namespace = _model_construction.unpack_lenient_weakvaluedict( + cls.__pydantic_parent_namespace__ + ) - parent_ns = _model_construction.unpack_lenient_weakvaluedict(cls.__pydantic_parent_namespace__) or {} + types_namespace = _typing_extra.get_cls_types_namespace(cls, types_namespace) - ns_resolver = _namespace_utils.NsResolver( - parent_namespace={**rebuild_ns, **parent_ns}, - ) - - if not cls.__pydantic_fields_complete__: - typevars_map = _generics.get_model_typevars_map(cls) - try: - cls.__pydantic_fields__ = _fields.rebuild_model_fields( - cls, - ns_resolver=ns_resolver, - typevars_map=typevars_map, - ) - except NameError as e: - exc = PydanticUndefinedAnnotation.from_name_error(e) - _mock_val_ser.set_model_mocks(cls, f'`{exc.name}`') - if raise_errors: - raise exc from e - - if not raise_errors and not cls.__pydantic_fields_complete__: - # No need to continue with schema gen, it is guaranteed to fail - return False - - assert cls.__pydantic_fields_complete__ - - return _model_construction.complete_model_class( - cls, - _config.ConfigWrapper(cls.model_config, check=False), - raise_errors=raise_errors, - ns_resolver=ns_resolver, - ) + # manually override defer_build so complete_model_class doesn't skip building the model again + config = {**cls.model_config, 'defer_build': False} + return _model_construction.complete_model_class( + cls, + cls.__name__, + _config.ConfigWrapper(config, check=False), + raise_errors=raise_errors, + types_namespace=types_namespace, + ) @classmethod def model_validate( - cls, + cls: type[Model], obj: Any, *, strict: bool | None = None, from_attributes: bool | None = None, - context: Any | None = None, - by_alias: bool | None = None, - by_name: bool | None = None, - ) -> Self: + context: dict[str, Any] | None = None, + ) -> Model: """Validate a pydantic model instance. Args: obj: The object to validate. - strict: Whether to enforce types strictly. + strict: Whether to raise an exception on invalid fields. from_attributes: Whether to extract data from object attributes. context: Additional context to pass to the validator. - by_alias: Whether to use the field's alias when validating against the provided input data. - by_name: Whether to use the field's name when validating against the provided input data. Raises: ValidationError: If the object could not be validated. @@ -695,128 +500,95 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): """ # `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks __tracebackhide__ = True - - if by_alias is False and by_name is not True: - raise PydanticUserError( - 'At least one of `by_alias` or `by_name` must be set to True.', - code='validate-by-alias-and-name-false', - ) - return cls.__pydantic_validator__.validate_python( - obj, strict=strict, from_attributes=from_attributes, context=context, by_alias=by_alias, by_name=by_name + obj, strict=strict, from_attributes=from_attributes, context=context ) @classmethod def model_validate_json( - cls, + cls: type[Model], json_data: str | bytes | bytearray, *, strict: bool | None = None, - context: Any | None = None, - by_alias: bool | None = None, - by_name: bool | None = None, - ) -> Self: - """!!! abstract "Usage Documentation" - [JSON Parsing](../concepts/json.md#json-parsing) - - Validate the given JSON data against the Pydantic model. + context: dict[str, Any] | None = None, + ) -> Model: + """Validate the given JSON data against the Pydantic model. Args: json_data: The JSON data to validate. strict: Whether to enforce types strictly. context: Extra variables to pass to the validator. - by_alias: Whether to use the field's alias when validating against the provided input data. - by_name: Whether to use the field's name when validating against the provided input data. Returns: The validated Pydantic model. Raises: - ValidationError: If `json_data` is not a JSON string or the object could not be validated. + ValueError: If `json_data` is not a JSON string. """ # `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks __tracebackhide__ = True - - if by_alias is False and by_name is not True: - raise PydanticUserError( - 'At least one of `by_alias` or `by_name` must be set to True.', - code='validate-by-alias-and-name-false', - ) - - return cls.__pydantic_validator__.validate_json( - json_data, strict=strict, context=context, by_alias=by_alias, by_name=by_name - ) + return cls.__pydantic_validator__.validate_json(json_data, strict=strict, context=context) @classmethod def model_validate_strings( - cls, + cls: type[Model], obj: Any, *, strict: bool | None = None, - context: Any | None = None, - by_alias: bool | None = None, - by_name: bool | None = None, - ) -> Self: - """Validate the given object with string data against the Pydantic model. + context: dict[str, Any] | None = None, + ) -> Model: + """Validate the given object contains string data against the Pydantic model. Args: - obj: The object containing string data to validate. + obj: The object contains string data to validate. strict: Whether to enforce types strictly. context: Extra variables to pass to the validator. - by_alias: Whether to use the field's alias when validating against the provided input data. - by_name: Whether to use the field's name when validating against the provided input data. Returns: The validated Pydantic model. """ # `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks __tracebackhide__ = True - - if by_alias is False and by_name is not True: - raise PydanticUserError( - 'At least one of `by_alias` or `by_name` must be set to True.', - code='validate-by-alias-and-name-false', - ) - - return cls.__pydantic_validator__.validate_strings( - obj, strict=strict, context=context, by_alias=by_alias, by_name=by_name - ) + return cls.__pydantic_validator__.validate_strings(obj, strict=strict, context=context) @classmethod - def __get_pydantic_core_schema__(cls, source: type[BaseModel], handler: GetCoreSchemaHandler, /) -> CoreSchema: - # This warning is only emitted when calling `super().__get_pydantic_core_schema__` from a model subclass. - # In the generate schema logic, this method (`BaseModel.__get_pydantic_core_schema__`) is special cased to - # *not* be called if not overridden. - warnings.warn( - 'The `__get_pydantic_core_schema__` method of the `BaseModel` class is deprecated. If you are calling ' - '`super().__get_pydantic_core_schema__` when overriding the method on a Pydantic model, consider using ' - '`handler(source)` instead. However, note that overriding this method on models can lead to unexpected ' - 'side effects.', - PydanticDeprecatedSince211, - stacklevel=2, - ) - # Logic copied over from `GenerateSchema._model_schema`: - schema = cls.__dict__.get('__pydantic_core_schema__') - if schema is not None and not isinstance(schema, _mock_val_ser.MockCoreSchema): - return cls.__pydantic_core_schema__ + def __get_pydantic_core_schema__(cls, __source: type[BaseModel], __handler: GetCoreSchemaHandler) -> CoreSchema: + """Hook into generating the model's CoreSchema. - return handler(source) + Args: + __source: The class we are generating a schema for. + This will generally be the same as the `cls` argument if this is a classmethod. + __handler: Call into Pydantic's internal JSON schema generation. + A callable that calls into Pydantic's internal CoreSchema generation logic. + + Returns: + A `pydantic-core` `CoreSchema`. + """ + # Only use the cached value from this _exact_ class; we don't want one from a parent class + # This is why we check `cls.__dict__` and don't use `cls.__pydantic_core_schema__` or similar. + if '__pydantic_core_schema__' in cls.__dict__: + # Due to the way generic classes are built, it's possible that an invalid schema may be temporarily + # set on generic classes. I think we could resolve this to ensure that we get proper schema caching + # for generics, but for simplicity for now, we just always rebuild if the class has a generic origin. + if not cls.__pydantic_generic_metadata__['origin']: + return cls.__pydantic_core_schema__ + + return __handler(__source) @classmethod def __get_pydantic_json_schema__( cls, - core_schema: CoreSchema, - handler: GetJsonSchemaHandler, - /, + __core_schema: CoreSchema, + __handler: GetJsonSchemaHandler, ) -> JsonSchemaValue: """Hook into generating the model's JSON schema. Args: - core_schema: A `pydantic-core` CoreSchema. + __core_schema: A `pydantic-core` CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema (`{'type': 'nullable', 'schema': current_schema}`), or just call the handler with the original schema. - handler: Call into Pydantic's internal JSON schema generation. + __handler: Call into Pydantic's internal JSON schema generation. This will raise a `pydantic.errors.PydanticInvalidForJsonSchema` if JSON schema generation fails. Since this gets called by `BaseModel.model_json_schema` you can override the @@ -826,7 +598,7 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): Returns: A JSON schema, as a Python object. """ - return handler(core_schema) + return __handler(__core_schema) @classmethod def __pydantic_init_subclass__(cls, **kwargs: Any) -> None: @@ -863,12 +635,12 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): if not isinstance(typevar_values, tuple): typevar_values = (typevar_values,) + _generics.check_parameters_count(cls, typevar_values) - # For a model `class Model[T, U, V = int](BaseModel): ...` parametrized with `(str, bool)`, - # this gives us `{T: str, U: bool, V: int}`: - typevars_map = _generics.map_generic_model_arguments(cls, typevar_values) - # We also update the provided args to use defaults values (`(str, bool)` becomes `(str, bool, int)`): - typevar_values = tuple(v for v in typevars_map.values()) + # Build map from generic typevars to passed params + typevars_map: dict[_typing_extra.TypeVarType, type[Any]] = dict( + zip(cls.__pydantic_generic_metadata__['parameters'], typevar_values) + ) if _utils.all_identical(typevars_map.keys(), typevars_map.values()) and typevars_map: submodel = cls # if arguments are equal to parameters it's the same object @@ -887,34 +659,31 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): ) # use dict as ordered set with _generics.generic_recursion_self_type(origin, args) as maybe_self_type: + if maybe_self_type is not None: + return maybe_self_type + cached = _generics.get_cached_generic_type_late(cls, typevar_values, origin, args) if cached is not None: return cached - if maybe_self_type is not None: - return maybe_self_type - # Attempt to rebuild the origin in case new types have been defined try: - # depth 2 gets you above this __class_getitem__ call. - # Note that we explicitly provide the parent ns, otherwise - # `model_rebuild` will use the parent ns no matter if it is the ns of a module. - # We don't want this here, as this has unexpected effects when a model - # is being parametrized during a forward annotation evaluation. - parent_ns = _typing_extra.parent_frame_namespace(parent_depth=2) or {} - origin.model_rebuild(_types_namespace=parent_ns) + # depth 3 gets you above this __class_getitem__ call + origin.model_rebuild(_parent_namespace_depth=3) except PydanticUndefinedAnnotation: # It's okay if it fails, it just means there are still undefined types # that could be evaluated later. + # TODO: Make sure validation fails if there are still undefined types, perhaps using MockValidator pass submodel = _generics.create_generic_submodel(model_name, origin, args, params) + # Update cache _generics.set_cached_generic_type(cls, typevar_values, submodel, origin, args) return submodel - def __copy__(self) -> Self: + def __copy__(self: Model) -> Model: """Returns a shallow copy of the model.""" cls = type(self) m = cls.__new__(cls) @@ -922,7 +691,7 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): _object_setattr(m, '__pydantic_extra__', copy(self.__pydantic_extra__)) _object_setattr(m, '__pydantic_fields_set__', copy(self.__pydantic_fields_set__)) - if not hasattr(self, '__pydantic_private__') or self.__pydantic_private__ is None: + if self.__pydantic_private__ is None: _object_setattr(m, '__pydantic_private__', None) else: _object_setattr( @@ -933,7 +702,7 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): return m - def __deepcopy__(self, memo: dict[int, Any] | None = None) -> Self: + def __deepcopy__(self: Model, memo: dict[int, Any] | None = None) -> Model: """Returns a deep copy of the model.""" cls = type(self) m = cls.__new__(cls) @@ -943,7 +712,7 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): # and attempting a deepcopy would be marginally slower. _object_setattr(m, '__pydantic_fields_set__', copy(self.__pydantic_fields_set__)) - if not hasattr(self, '__pydantic_private__') or self.__pydantic_private__ is None: + if self.__pydantic_private__ is None: _object_setattr(m, '__pydantic_private__', None) else: _object_setattr( @@ -954,9 +723,8 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): return m - if not TYPE_CHECKING: + if not typing.TYPE_CHECKING: # We put `__getattr__` in a non-TYPE_CHECKING block because otherwise, mypy allows arbitrary attribute access - # The same goes for __setattr__ and __delattr__, see: https://github.com/pydantic/pydantic/issues/8643 def __getattr__(self, item: str) -> Any: private_attributes = object.__getattribute__(self, '__private_attributes__') @@ -978,7 +746,7 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): except AttributeError: pydantic_extra = None - if pydantic_extra: + if pydantic_extra is not None: try: return pydantic_extra[item] except KeyError as exc: @@ -990,105 +758,73 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): # this is the current error raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}') - def __setattr__(self, name: str, value: Any) -> None: - if (setattr_handler := self.__pydantic_setattr_handlers__.get(name)) is not None: - setattr_handler(self, name, value) - # if None is returned from _setattr_handler, the attribute was set directly - elif (setattr_handler := self._setattr_handler(name, value)) is not None: - setattr_handler(self, name, value) # call here to not memo on possibly unknown fields - self.__pydantic_setattr_handlers__[name] = setattr_handler # memoize the handler for faster access - - def _setattr_handler(self, name: str, value: Any) -> Callable[[BaseModel, str, Any], None] | None: - """Get a handler for setting an attribute on the model instance. - - Returns: - A handler for setting an attribute on the model instance. Used for memoization of the handler. - Memoizing the handlers leads to a dramatic performance improvement in `__setattr__` - Returns `None` when memoization is not safe, then the attribute is set directly. - """ - cls = self.__class__ - if name in cls.__class_vars__: - raise AttributeError( - f'{name!r} is a ClassVar of `{cls.__name__}` and cannot be set on an instance. ' - f'If you want to set a value on the class, use `{cls.__name__}.{name} = value`.' - ) - elif not _fields.is_valid_field_name(name): - if (attribute := cls.__private_attributes__.get(name)) is not None: - if hasattr(attribute, '__set__'): - return lambda model, _name, val: attribute.__set__(model, val) - else: - return _SIMPLE_SETATTR_HANDLERS['private'] - else: - _object_setattr(self, name, value) - return None # Can not return memoized handler with possibly freeform attr names - - attr = getattr(cls, name, None) - # NOTE: We currently special case properties and `cached_property`, but we might need - # to generalize this to all data/non-data descriptors at some point. For non-data descriptors - # (such as `cached_property`), it isn't obvious though. `cached_property` caches the value - # to the instance's `__dict__`, but other non-data descriptors might do things differently. - if isinstance(attr, cached_property): - return _SIMPLE_SETATTR_HANDLERS['cached_property'] - - _check_frozen(cls, name, value) - - # We allow properties to be set only on non frozen models for now (to match dataclasses). - # This can be changed if it ever gets requested. - if isinstance(attr, property): - return lambda model, _name, val: attr.__set__(model, val) - elif cls.model_config.get('validate_assignment'): - return _SIMPLE_SETATTR_HANDLERS['validate_assignment'] - elif name not in cls.__pydantic_fields__: - if cls.model_config.get('extra') != 'allow': - # TODO - matching error - raise ValueError(f'"{cls.__name__}" object has no field "{name}"') - elif attr is None: - # attribute does not exist, so put it in extra - self.__pydantic_extra__[name] = value - return None # Can not return memoized handler with possibly freeform attr names - else: - # attribute _does_ exist, and was not in extra, so update it - return _SIMPLE_SETATTR_HANDLERS['extra_known'] + def __setattr__(self, name: str, value: Any) -> None: + if name in self.__class_vars__: + raise AttributeError( + f'{name!r} is a ClassVar of `{self.__class__.__name__}` and cannot be set on an instance. ' + f'If you want to set a value on the class, use `{self.__class__.__name__}.{name} = value`.' + ) + elif not _fields.is_valid_field_name(name): + if self.__pydantic_private__ is None or name not in self.__private_attributes__: + _object_setattr(self, name, value) else: - return _SIMPLE_SETATTR_HANDLERS['model_field'] + attribute = self.__private_attributes__[name] + if hasattr(attribute, '__set__'): + attribute.__set__(self, value) # type: ignore + else: + self.__pydantic_private__[name] = value + return + elif self.model_config.get('frozen', None): + error: pydantic_core.InitErrorDetails = { + 'type': 'frozen_instance', + 'loc': (name,), + 'input': value, + } + raise pydantic_core.ValidationError.from_exception_data(self.__class__.__name__, [error]) + elif getattr(self.model_fields.get(name), 'frozen', False): + error: pydantic_core.InitErrorDetails = { + 'type': 'frozen_field', + 'loc': (name,), + 'input': value, + } + raise pydantic_core.ValidationError.from_exception_data(self.__class__.__name__, [error]) - def __delattr__(self, item: str) -> Any: - cls = self.__class__ + attr = getattr(self.__class__, name, None) + if isinstance(attr, property): + attr.__set__(self, value) + elif self.model_config.get('validate_assignment', None): + self.__pydantic_validator__.validate_assignment(self, name, value) + elif self.model_config.get('extra') != 'allow' and name not in self.model_fields: + # TODO - matching error + raise ValueError(f'"{self.__class__.__name__}" object has no field "{name}"') + elif self.model_config.get('extra') == 'allow' and name not in self.model_fields: + # SAFETY: __pydantic_extra__ is not None when extra = 'allow' + self.__pydantic_extra__[name] = value # type: ignore + else: + self.__dict__[name] = value + self.__pydantic_fields_set__.add(name) - if item in self.__private_attributes__: - attribute = self.__private_attributes__[item] - if hasattr(attribute, '__delete__'): - attribute.__delete__(self) # type: ignore - return + def __delattr__(self, item: str) -> Any: + if item in self.__private_attributes__: + attribute = self.__private_attributes__[item] + if hasattr(attribute, '__delete__'): + attribute.__delete__(self) # type: ignore + return - try: - # Note: self.__pydantic_private__ cannot be None if self.__private_attributes__ has items - del self.__pydantic_private__[item] # type: ignore - return - except KeyError as exc: - raise AttributeError(f'{cls.__name__!r} object has no attribute {item!r}') from exc - - # Allow cached properties to be deleted (even if the class is frozen): - attr = getattr(cls, item, None) - if isinstance(attr, cached_property): - return object.__delattr__(self, item) - - _check_frozen(cls, name=item, value=None) - - if item in self.__pydantic_fields__: + try: + # Note: self.__pydantic_private__ cannot be None if self.__private_attributes__ has items + del self.__pydantic_private__[item] # type: ignore + except KeyError as exc: + raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}') from exc + elif item in self.model_fields: + object.__delattr__(self, item) + elif self.__pydantic_extra__ is not None and item in self.__pydantic_extra__: + del self.__pydantic_extra__[item] + else: + try: object.__delattr__(self, item) - elif self.__pydantic_extra__ is not None and item in self.__pydantic_extra__: - del self.__pydantic_extra__[item] - else: - try: - object.__delattr__(self, item) - except AttributeError: - raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}') - - # Because we make use of `@dataclass_transform()`, `__replace__` is already synthesized by - # type checkers, so we define the implementation in this `if not TYPE_CHECKING:` block: - def __replace__(self, **changes: Any) -> Self: - return self.model_copy(update=changes) + except AttributeError: + raise AttributeError(f'{type(self).__name__!r} object has no attribute {item!r}') def __getstate__(self) -> dict[Any, Any]: private = self.__pydantic_private__ @@ -1102,69 +838,29 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): } def __setstate__(self, state: dict[Any, Any]) -> None: - _object_setattr(self, '__pydantic_fields_set__', state.get('__pydantic_fields_set__', {})) - _object_setattr(self, '__pydantic_extra__', state.get('__pydantic_extra__', {})) - _object_setattr(self, '__pydantic_private__', state.get('__pydantic_private__', {})) - _object_setattr(self, '__dict__', state.get('__dict__', {})) + _object_setattr(self, '__pydantic_fields_set__', state['__pydantic_fields_set__']) + _object_setattr(self, '__pydantic_extra__', state['__pydantic_extra__']) + _object_setattr(self, '__pydantic_private__', state['__pydantic_private__']) + _object_setattr(self, '__dict__', state['__dict__']) - if not TYPE_CHECKING: + def __eq__(self, other: Any) -> bool: + if isinstance(other, BaseModel): + # When comparing instances of generic types for equality, as long as all field values are equal, + # only require their generic origin types to be equal, rather than exact type equality. + # This prevents headaches like MyGeneric(x=1) != MyGeneric[Any](x=1). + self_type = self.__pydantic_generic_metadata__['origin'] or self.__class__ + other_type = other.__pydantic_generic_metadata__['origin'] or other.__class__ - def __eq__(self, other: Any) -> bool: - if isinstance(other, BaseModel): - # When comparing instances of generic types for equality, as long as all field values are equal, - # only require their generic origin types to be equal, rather than exact type equality. - # This prevents headaches like MyGeneric(x=1) != MyGeneric[Any](x=1). - self_type = self.__pydantic_generic_metadata__['origin'] or self.__class__ - other_type = other.__pydantic_generic_metadata__['origin'] or other.__class__ + return ( + self_type == other_type + and self.__dict__ == other.__dict__ + and self.__pydantic_private__ == other.__pydantic_private__ + and self.__pydantic_extra__ == other.__pydantic_extra__ + ) + else: + return NotImplemented # delegate to the other item in the comparison - # Perform common checks first - if not ( - self_type == other_type - and getattr(self, '__pydantic_private__', None) == getattr(other, '__pydantic_private__', None) - and self.__pydantic_extra__ == other.__pydantic_extra__ - ): - return False - - # We only want to compare pydantic fields but ignoring fields is costly. - # We'll perform a fast check first, and fallback only when needed - # See GH-7444 and GH-7825 for rationale and a performance benchmark - - # First, do the fast (and sometimes faulty) __dict__ comparison - if self.__dict__ == other.__dict__: - # If the check above passes, then pydantic fields are equal, we can return early - return True - - # We don't want to trigger unnecessary costly filtering of __dict__ on all unequal objects, so we return - # early if there are no keys to ignore (we would just return False later on anyway) - model_fields = type(self).__pydantic_fields__.keys() - if self.__dict__.keys() <= model_fields and other.__dict__.keys() <= model_fields: - return False - - # If we reach here, there are non-pydantic-fields keys, mapped to unequal values, that we need to ignore - # Resort to costly filtering of the __dict__ objects - # We use operator.itemgetter because it is much faster than dict comprehensions - # NOTE: Contrary to standard python class and instances, when the Model class has a default value for an - # attribute and the model instance doesn't have a corresponding attribute, accessing the missing attribute - # raises an error in BaseModel.__getattr__ instead of returning the class attribute - # So we can use operator.itemgetter() instead of operator.attrgetter() - getter = operator.itemgetter(*model_fields) if model_fields else lambda _: _utils._SENTINEL - try: - return getter(self.__dict__) == getter(other.__dict__) - except KeyError: - # In rare cases (such as when using the deprecated BaseModel.copy() method), - # the __dict__ may not contain all model fields, which is how we can get here. - # getter(self.__dict__) is much faster than any 'safe' method that accounts - # for missing keys, and wrapping it in a `try` doesn't slow things down much - # in the common case. - self_fields_proxy = _utils.SafeGetItemProxy(self.__dict__) - other_fields_proxy = _utils.SafeGetItemProxy(other.__dict__) - return getter(self_fields_proxy) == getter(other_fields_proxy) - - # other instance is not a BaseModel - else: - return NotImplemented # delegate to the other item in the comparison - - if TYPE_CHECKING: + if typing.TYPE_CHECKING: # We put `__init_subclass__` in a TYPE_CHECKING block because, even though we want the type-checking benefits # described in the signature of `__init_subclass__` below, we don't want to modify the default behavior of # subclass initialization. @@ -1173,10 +869,11 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): """This signature is included purely to help type-checkers check arguments to class declaration, which provides a way to conveniently set model_config key/value pairs. - ```python + ```py from pydantic import BaseModel - class MyModel(BaseModel, extra='allow'): ... + class MyModel(BaseModel, extra='allow'): + ... ``` However, this may be deceiving, since the _actual_ calls to `__init_subclass__` will not receive any @@ -1202,20 +899,11 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): return f'{self.__repr_name__()}({self.__repr_str__(", ")})' def __repr_args__(self) -> _repr.ReprArgs: - # Eagerly create the repr of computed fields, as this may trigger access of cached properties and as such - # modify the instance's `__dict__`. If we don't do it now, it could happen when iterating over the `__dict__` - # below if the instance happens to be referenced in a field, and would modify the `__dict__` size *during* iteration. - computed_fields_repr_args = [ - (k, getattr(self, k)) for k, v in self.__pydantic_computed_fields__.items() if v.repr - ] - for k, v in self.__dict__.items(): - field = self.__pydantic_fields__.get(k) + field = self.model_fields.get(k) if field and field.repr: - if v is not self: - yield k, v - else: - yield k, self.__repr_recursion__(v) + yield k, v + # `__pydantic_extra__` can fail to be set if the model is not yet fully initialized. # This can happen if a `ValidationError` is raised during initialization and the instance's # repr is generated as part of the exception handling. Therefore, we use `getattr` here @@ -1227,11 +915,10 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): if pydantic_extra is not None: yield from ((k, v) for k, v in pydantic_extra.items()) - yield from computed_fields_repr_args + yield from ((k, getattr(self, k)) for k, v in self.model_computed_fields.items() if v.repr) # take logic from `_repr.Representation` without the side effects of inheritance, see #5740 __repr_name__ = _repr.Representation.__repr_name__ - __repr_recursion__ = _repr.Representation.__repr_recursion__ __repr_str__ = _repr.Representation.__repr_str__ __pretty__ = _repr.Representation.__pretty__ __rich_repr__ = _repr.Representation.__rich_repr__ @@ -1242,45 +929,37 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): # ##### Deprecated methods from v1 ##### @property @typing_extensions.deprecated( - 'The `__fields__` attribute is deprecated, use `model_fields` instead.', category=None + 'The `__fields__` attribute is deprecated, use `model_fields` instead.', category=PydanticDeprecatedSince20 ) def __fields__(self) -> dict[str, FieldInfo]: - warnings.warn( - 'The `__fields__` attribute is deprecated, use `model_fields` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) - return getattr(type(self), '__pydantic_fields__', {}) + warnings.warn('The `__fields__` attribute is deprecated, use `model_fields` instead.', DeprecationWarning) + return self.model_fields @property @typing_extensions.deprecated( 'The `__fields_set__` attribute is deprecated, use `model_fields_set` instead.', - category=None, + category=PydanticDeprecatedSince20, ) def __fields_set__(self) -> set[str]: warnings.warn( - 'The `__fields_set__` attribute is deprecated, use `model_fields_set` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, + 'The `__fields_set__` attribute is deprecated, use `model_fields_set` instead.', DeprecationWarning ) return self.__pydantic_fields_set__ - @typing_extensions.deprecated('The `dict` method is deprecated; use `model_dump` instead.', category=None) + @typing_extensions.deprecated( + 'The `dict` method is deprecated; use `model_dump` instead.', category=PydanticDeprecatedSince20 + ) def dict( # noqa: D102 self, *, - include: IncEx | None = None, - exclude: IncEx | None = None, + include: IncEx = None, + exclude: IncEx = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, - ) -> Dict[str, Any]: # noqa UP006 - warnings.warn( - 'The `dict` method is deprecated; use `model_dump` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) + ) -> typing.Dict[str, Any]: # noqa UP006 + warnings.warn('The `dict` method is deprecated; use `model_dump` instead.', DeprecationWarning) return self.model_dump( include=include, exclude=exclude, @@ -1290,25 +969,23 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): exclude_none=exclude_none, ) - @typing_extensions.deprecated('The `json` method is deprecated; use `model_dump_json` instead.', category=None) + @typing_extensions.deprecated( + 'The `json` method is deprecated; use `model_dump_json` instead.', category=PydanticDeprecatedSince20 + ) def json( # noqa: D102 self, *, - include: IncEx | None = None, - exclude: IncEx | None = None, + include: IncEx = None, + exclude: IncEx = None, by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, - encoder: Callable[[Any], Any] | None = PydanticUndefined, # type: ignore[assignment] + encoder: typing.Callable[[Any], Any] | None = PydanticUndefined, # type: ignore[assignment] models_as_dict: bool = PydanticUndefined, # type: ignore[assignment] **dumps_kwargs: Any, ) -> str: - warnings.warn( - 'The `json` method is deprecated; use `model_dump_json` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) + warnings.warn('The `json` method is deprecated; use `model_dump_json` instead.', DeprecationWarning) if encoder is not PydanticUndefined: raise TypeError('The `encoder` argument is no longer supported; use field serializers instead.') if models_as_dict is not PydanticUndefined: @@ -1325,35 +1002,32 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): ) @classmethod - @typing_extensions.deprecated('The `parse_obj` method is deprecated; use `model_validate` instead.', category=None) - def parse_obj(cls, obj: Any) -> Self: # noqa: D102 - warnings.warn( - 'The `parse_obj` method is deprecated; use `model_validate` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) + @typing_extensions.deprecated( + 'The `parse_obj` method is deprecated; use `model_validate` instead.', category=PydanticDeprecatedSince20 + ) + def parse_obj(cls: type[Model], obj: Any) -> Model: # noqa: D102 + warnings.warn('The `parse_obj` method is deprecated; use `model_validate` instead.', DeprecationWarning) return cls.model_validate(obj) @classmethod @typing_extensions.deprecated( 'The `parse_raw` method is deprecated; if your data is JSON use `model_validate_json`, ' 'otherwise load the data then use `model_validate` instead.', - category=None, + category=PydanticDeprecatedSince20, ) def parse_raw( # noqa: D102 - cls, + cls: type[Model], b: str | bytes, *, content_type: str | None = None, encoding: str = 'utf8', proto: DeprecatedParseProtocol | None = None, allow_pickle: bool = False, - ) -> Self: # pragma: no cover + ) -> Model: # pragma: no cover warnings.warn( 'The `parse_raw` method is deprecated; if your data is JSON use `model_validate_json`, ' 'otherwise load the data then use `model_validate` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, + DeprecationWarning, ) from .deprecated import parse @@ -1392,22 +1066,21 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): @typing_extensions.deprecated( 'The `parse_file` method is deprecated; load the data from file, then if your data is JSON ' 'use `model_validate_json`, otherwise `model_validate` instead.', - category=None, + category=PydanticDeprecatedSince20, ) def parse_file( # noqa: D102 - cls, + cls: type[Model], path: str | Path, *, content_type: str | None = None, encoding: str = 'utf8', proto: DeprecatedParseProtocol | None = None, allow_pickle: bool = False, - ) -> Self: + ) -> Model: warnings.warn( 'The `parse_file` method is deprecated; load the data from file, then if your data is JSON ' - 'use `model_validate_json`, otherwise `model_validate` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, + 'use `model_validate_json` otherwise `model_validate` instead.', + DeprecationWarning, ) from .deprecated import parse @@ -1422,16 +1095,15 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): @classmethod @typing_extensions.deprecated( - 'The `from_orm` method is deprecated; set ' + "The `from_orm` method is deprecated; set " "`model_config['from_attributes']=True` and use `model_validate` instead.", - category=None, + category=PydanticDeprecatedSince20, ) - def from_orm(cls, obj: Any) -> Self: # noqa: D102 + def from_orm(cls: type[Model], obj: Any) -> Model: # noqa: D102 warnings.warn( - 'The `from_orm` method is deprecated; set ' - "`model_config['from_attributes']=True` and use `model_validate` instead.", - category=PydanticDeprecatedSince20, - stacklevel=2, + 'The `from_orm` method is deprecated; set `model_config["from_attributes"]=True` ' + 'and use `model_validate` instead.', + DeprecationWarning, ) if not cls.model_config.get('from_attributes', None): raise PydanticUserError( @@ -1440,28 +1112,24 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): return cls.model_validate(obj) @classmethod - @typing_extensions.deprecated('The `construct` method is deprecated; use `model_construct` instead.', category=None) - def construct(cls, _fields_set: set[str] | None = None, **values: Any) -> Self: # noqa: D102 - warnings.warn( - 'The `construct` method is deprecated; use `model_construct` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) + @typing_extensions.deprecated( + 'The `construct` method is deprecated; use `model_construct` instead.', category=PydanticDeprecatedSince20 + ) + def construct(cls: type[Model], _fields_set: set[str] | None = None, **values: Any) -> Model: # noqa: D102 + warnings.warn('The `construct` method is deprecated; use `model_construct` instead.', DeprecationWarning) return cls.model_construct(_fields_set=_fields_set, **values) @typing_extensions.deprecated( - 'The `copy` method is deprecated; use `model_copy` instead. ' - 'See the docstring of `BaseModel.copy` for details about how to handle `include` and `exclude`.', - category=None, + 'The copy method is deprecated; use `model_copy` instead.', category=PydanticDeprecatedSince20 ) def copy( - self, + self: Model, *, include: AbstractSetIntStr | MappingIntStrAny | None = None, exclude: AbstractSetIntStr | MappingIntStrAny | None = None, - update: Dict[str, Any] | None = None, # noqa UP006 + update: typing.Dict[str, Any] | None = None, # noqa UP006 deep: bool = False, - ) -> Self: # pragma: no cover + ) -> Model: # pragma: no cover """Returns a copy of the model. !!! warning "Deprecated" @@ -1469,17 +1137,20 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): If you need `include` or `exclude`, use: - ```python {test="skip" lint="skip"} + ```py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) ``` Args: - include: Optional set or mapping specifying which fields to include in the copied model. - exclude: Optional set or mapping specifying which fields to exclude in the copied model. - update: Optional dictionary of field-value pairs to override field values in the copied model. - deep: If True, the values of fields that are Pydantic models will be deep-copied. + include: Optional set or mapping + specifying which fields to include in the copied model. + exclude: Optional set or mapping + specifying which fields to exclude in the copied model. + update: Optional dictionary of field-value pairs to override field values + in the copied model. + deep: If True, the values of fields that are Pydantic models will be deep copied. Returns: A copy of the model with included, excluded and updated fields as specified. @@ -1487,8 +1158,7 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): warnings.warn( 'The `copy` method is deprecated; use `model_copy` instead. ' 'See the docstring of `BaseModel.copy` for details about how to handle `include` and `exclude`.', - category=PydanticDeprecatedSince20, - stacklevel=2, + DeprecationWarning, ) from .deprecated import copy_internals @@ -1527,32 +1197,29 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): return copy_internals._copy_and_set_values(self, values, fields_set, extra, private, deep=deep) @classmethod - @typing_extensions.deprecated('The `schema` method is deprecated; use `model_json_schema` instead.', category=None) + @typing_extensions.deprecated( + 'The `schema` method is deprecated; use `model_json_schema` instead.', category=PydanticDeprecatedSince20 + ) def schema( # noqa: D102 cls, by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE - ) -> Dict[str, Any]: # noqa UP006 - warnings.warn( - 'The `schema` method is deprecated; use `model_json_schema` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) + ) -> typing.Dict[str, Any]: # noqa UP006 + warnings.warn('The `schema` method is deprecated; use `model_json_schema` instead.', DeprecationWarning) return cls.model_json_schema(by_alias=by_alias, ref_template=ref_template) @classmethod @typing_extensions.deprecated( 'The `schema_json` method is deprecated; use `model_json_schema` and json.dumps instead.', - category=None, + category=PydanticDeprecatedSince20, ) def schema_json( # noqa: D102 cls, *, by_alias: bool = True, ref_template: str = DEFAULT_REF_TEMPLATE, **dumps_kwargs: Any ) -> str: # pragma: no cover - warnings.warn( - 'The `schema_json` method is deprecated; use `model_json_schema` and json.dumps instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) import json + warnings.warn( + 'The `schema_json` method is deprecated; use `model_json_schema` and json.dumps instead.', + DeprecationWarning, + ) from .deprecated.json import pydantic_encoder return json.dumps( @@ -1562,52 +1229,44 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): ) @classmethod - @typing_extensions.deprecated('The `validate` method is deprecated; use `model_validate` instead.', category=None) - def validate(cls, value: Any) -> Self: # noqa: D102 - warnings.warn( - 'The `validate` method is deprecated; use `model_validate` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) + @typing_extensions.deprecated( + 'The `validate` method is deprecated; use `model_validate` instead.', category=PydanticDeprecatedSince20 + ) + def validate(cls: type[Model], value: Any) -> Model: # noqa: D102 + warnings.warn('The `validate` method is deprecated; use `model_validate` instead.', DeprecationWarning) return cls.model_validate(value) @classmethod @typing_extensions.deprecated( 'The `update_forward_refs` method is deprecated; use `model_rebuild` instead.', - category=None, + category=PydanticDeprecatedSince20, ) def update_forward_refs(cls, **localns: Any) -> None: # noqa: D102 warnings.warn( - 'The `update_forward_refs` method is deprecated; use `model_rebuild` instead.', - category=PydanticDeprecatedSince20, - stacklevel=2, + 'The `update_forward_refs` method is deprecated; use `model_rebuild` instead.', DeprecationWarning ) if localns: # pragma: no cover raise TypeError('`localns` arguments are not longer accepted.') cls.model_rebuild(force=True) @typing_extensions.deprecated( - 'The private method `_iter` will be removed and should no longer be used.', category=None + 'The private method `_iter` will be removed and should no longer be used.', category=PydanticDeprecatedSince20 ) def _iter(self, *args: Any, **kwargs: Any) -> Any: - warnings.warn( - 'The private method `_iter` will be removed and should no longer be used.', - category=PydanticDeprecatedSince20, - stacklevel=2, - ) + warnings.warn('The private method `_iter` will be removed and should no longer be used.', DeprecationWarning) + from .deprecated import copy_internals return copy_internals._iter(self, *args, **kwargs) @typing_extensions.deprecated( 'The private method `_copy_and_set_values` will be removed and should no longer be used.', - category=None, + category=PydanticDeprecatedSince20, ) def _copy_and_set_values(self, *args: Any, **kwargs: Any) -> Any: warnings.warn( - 'The private method `_copy_and_set_values` will be removed and should no longer be used.', - category=PydanticDeprecatedSince20, - stacklevel=2, + 'The private method `_copy_and_set_values` will be removed and should no longer be used.', + DeprecationWarning, ) from .deprecated import copy_internals @@ -1616,101 +1275,84 @@ class BaseModel(metaclass=_model_construction.ModelMetaclass): @classmethod @typing_extensions.deprecated( 'The private method `_get_value` will be removed and should no longer be used.', - category=None, + category=PydanticDeprecatedSince20, ) def _get_value(cls, *args: Any, **kwargs: Any) -> Any: warnings.warn( - 'The private method `_get_value` will be removed and should no longer be used.', - category=PydanticDeprecatedSince20, - stacklevel=2, + 'The private method `_get_value` will be removed and should no longer be used.', DeprecationWarning ) + from .deprecated import copy_internals return copy_internals._get_value(cls, *args, **kwargs) @typing_extensions.deprecated( 'The private method `_calculate_keys` will be removed and should no longer be used.', - category=None, + category=PydanticDeprecatedSince20, ) def _calculate_keys(self, *args: Any, **kwargs: Any) -> Any: warnings.warn( - 'The private method `_calculate_keys` will be removed and should no longer be used.', - category=PydanticDeprecatedSince20, - stacklevel=2, + 'The private method `_calculate_keys` will be removed and should no longer be used.', DeprecationWarning ) + from .deprecated import copy_internals return copy_internals._calculate_keys(self, *args, **kwargs) -ModelT = TypeVar('ModelT', bound=BaseModel) - - -@overload +@typing.overload def create_model( - model_name: str, - /, + __model_name: str, *, __config__: ConfigDict | None = None, - __doc__: str | None = None, __base__: None = None, __module__: str = __name__, - __validators__: dict[str, Callable[..., Any]] | None = None, + __validators__: dict[str, AnyClassMethod] | None = None, __cls_kwargs__: dict[str, Any] | None = None, - **field_definitions: Any | tuple[str, Any], -) -> type[BaseModel]: ... + **field_definitions: Any, +) -> type[BaseModel]: + ... -@overload +@typing.overload def create_model( - model_name: str, - /, + __model_name: str, *, __config__: ConfigDict | None = None, - __doc__: str | None = None, - __base__: type[ModelT] | tuple[type[ModelT], ...], + __base__: type[Model] | tuple[type[Model], ...], __module__: str = __name__, - __validators__: dict[str, Callable[..., Any]] | None = None, + __validators__: dict[str, AnyClassMethod] | None = None, __cls_kwargs__: dict[str, Any] | None = None, - **field_definitions: Any | tuple[str, Any], -) -> type[ModelT]: ... + **field_definitions: Any, +) -> type[Model]: + ... -def create_model( # noqa: C901 - model_name: str, - /, +def create_model( + __model_name: str, *, __config__: ConfigDict | None = None, - __doc__: str | None = None, - __base__: type[ModelT] | tuple[type[ModelT], ...] | None = None, - __module__: str | None = None, - __validators__: dict[str, Callable[..., Any]] | None = None, + __base__: type[Model] | tuple[type[Model], ...] | None = None, + __module__: str = __name__, + __validators__: dict[str, AnyClassMethod] | None = None, __cls_kwargs__: dict[str, Any] | None = None, - # TODO PEP 747: replace `Any` by the TypeForm: - **field_definitions: Any | tuple[str, Any], -) -> type[ModelT]: - """!!! abstract "Usage Documentation" - [Dynamic Model Creation](../concepts/models.md#dynamic-model-creation) - - Dynamically creates and returns a new Pydantic model, in other words, `create_model` dynamically creates a + __slots__: tuple[str, ...] | None = None, + **field_definitions: Any, +) -> type[Model]: + """Dynamically creates and returns a new Pydantic model, in other words, `create_model` dynamically creates a subclass of [`BaseModel`][pydantic.BaseModel]. Args: - model_name: The name of the newly created model. + __model_name: The name of the newly created model. __config__: The configuration of the new model. - __doc__: The docstring of the new model. - __base__: The base class or classes for the new model. - __module__: The name of the module that the model belongs to; - if `None`, the value is taken from `sys._getframe(1)` - __validators__: A dictionary of methods that validate fields. The keys are the names of the validation methods to - be added to the model, and the values are the validation methods themselves. You can read more about functional - validators [here](https://docs.pydantic.dev/2.9/concepts/validators/#field-validators). - __cls_kwargs__: A dictionary of keyword arguments for class creation, such as `metaclass`. - **field_definitions: Field definitions of the new model. Either: - - - a single element, representing the type annotation of the field. - - a two-tuple, the first element being the type and the second element the assigned value - (either a default or the [`Field()`][pydantic.Field] function). + __base__: The base class for the new model. + __module__: The name of the module that the model belongs to. + __validators__: A dictionary of methods that validate + fields. + __cls_kwargs__: A dictionary of keyword arguments for class creation. + __slots__: Deprecated. Should not be passed to `create_model`. + **field_definitions: Attributes of the new model. They should be passed in the format: + `=(, )` or `=(, )`. Returns: The new [model][pydantic.BaseModel]. @@ -1718,56 +1360,57 @@ def create_model( # noqa: C901 Raises: PydanticUserError: If `__base__` and `__config__` are both passed. """ - if __base__ is None: - __base__ = (cast('type[ModelT]', BaseModel),) - elif not isinstance(__base__, tuple): - __base__ = (__base__,) + if __slots__ is not None: + # __slots__ will be ignored from here on + warnings.warn('__slots__ should not be passed to create_model', RuntimeWarning) + + if __base__ is not None: + if __config__ is not None: + raise PydanticUserError( + 'to avoid confusion `__config__` and `__base__` cannot be used together', + code='create-model-config-base', + ) + if not isinstance(__base__, tuple): + __base__ = (__base__,) + else: + __base__ = (typing.cast(typing.Type['Model'], BaseModel),) __cls_kwargs__ = __cls_kwargs__ or {} - fields: dict[str, Any] = {} - annotations: dict[str, Any] = {} + fields = {} + annotations = {} for f_name, f_def in field_definitions.items(): + if not _fields.is_valid_field_name(f_name): + warnings.warn(f'fields may not start with an underscore, ignoring "{f_name}"', RuntimeWarning) if isinstance(f_def, tuple): - if len(f_def) != 2: + f_def = typing.cast('tuple[str, Any]', f_def) + try: + f_annotation, f_value = f_def + except ValueError as e: raise PydanticUserError( - f'Field definition for {f_name!r} should a single element representing the type or a two-tuple, the first element ' - 'being the type and the second element the assigned value (either a default or the `Field()` function).', + 'Field definitions should be a `(, )`.', code='create-model-field-definitions', - ) - - annotations[f_name] = f_def[0] - fields[f_name] = f_def[1] + ) from e else: - annotations[f_name] = f_def + f_annotation, f_value = None, f_def - if __module__ is None: - f = sys._getframe(1) - __module__ = f.f_globals['__name__'] + if f_annotation: + annotations[f_name] = f_annotation + fields[f_name] = f_value namespace: dict[str, Any] = {'__annotations__': annotations, '__module__': __module__} - if __doc__: - namespace.update({'__doc__': __doc__}) if __validators__: namespace.update(__validators__) namespace.update(fields) if __config__: - namespace['model_config'] = __config__ + namespace['model_config'] = _config.ConfigWrapper(__config__).config_dict resolved_bases = types.resolve_bases(__base__) - meta, ns, kwds = types.prepare_class(model_name, resolved_bases, kwds=__cls_kwargs__) + meta, ns, kwds = types.prepare_class(__model_name, resolved_bases, kwds=__cls_kwargs__) if resolved_bases is not __base__: ns['__orig_bases__'] = __base__ namespace.update(ns) - - return meta( - model_name, - resolved_bases, - namespace, - __pydantic_reset_parent_namespace__=False, - _create_model_module=__module__, - **kwds, - ) + return meta(__model_name, resolved_bases, namespace, __pydantic_reset_parent_namespace__=False, **kwds) __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/mypy.py b/venv/lib/python3.12/site-packages/pydantic/mypy.py index 1ac1b87..c2eb919 100644 --- a/venv/lib/python3.12/site-packages/pydantic/mypy.py +++ b/venv/lib/python3.12/site-packages/pydantic/mypy.py @@ -3,9 +3,8 @@ from __future__ import annotations import sys -from collections.abc import Iterator from configparser import ConfigParser -from typing import Any, Callable +from typing import Any, Callable, Iterator from mypy.errorcodes import ErrorCode from mypy.expandtype import expand_type, expand_type_by_instance @@ -15,7 +14,6 @@ from mypy.nodes import ( ARG_OPT, ARG_POS, ARG_STAR2, - INVARIANT, MDEF, Argument, AssignmentStmt, @@ -47,24 +45,26 @@ from mypy.options import Options from mypy.plugin import ( CheckerPluginInterface, ClassDefContext, + FunctionContext, MethodContext, Plugin, ReportConfigContext, SemanticAnalyzerPluginInterface, ) +from mypy.plugins import dataclasses from mypy.plugins.common import ( deserialize_and_fixup_type, ) from mypy.semanal import set_callable_name from mypy.server.trigger import make_wildcard_trigger from mypy.state import state -from mypy.type_visitor import TypeTranslator from mypy.typeops import map_type_from_supertype from mypy.types import ( AnyType, CallableType, Instance, NoneType, + Overloaded, Type, TypeOfAny, TypeType, @@ -79,11 +79,16 @@ from mypy.version import __version__ as mypy_version from pydantic._internal import _fields from pydantic.version import parse_mypy_version +try: + from mypy.types import TypeVarDef # type: ignore[attr-defined] +except ImportError: # pragma: no cover + # Backward-compatible with TypeVarDef from Mypy 0.930. + from mypy.types import TypeVarType as TypeVarDef + CONFIGFILE_KEY = 'pydantic-mypy' METADATA_KEY = 'pydantic-mypy-metadata' BASEMODEL_FULLNAME = 'pydantic.main.BaseModel' BASESETTINGS_FULLNAME = 'pydantic_settings.main.BaseSettings' -ROOT_MODEL_FULLNAME = 'pydantic.root_model.RootModel' MODEL_METACLASS_FULLNAME = 'pydantic._internal._model_construction.ModelMetaclass' FIELD_FULLNAME = 'pydantic.fields.Field' DATACLASS_FULLNAME = 'pydantic.dataclasses.dataclass' @@ -96,11 +101,10 @@ DECORATOR_FULLNAMES = { 'pydantic.deprecated.class_validators.validator', 'pydantic.deprecated.class_validators.root_validator', } -IMPLICIT_CLASSMETHOD_DECORATOR_FULLNAMES = DECORATOR_FULLNAMES - {'pydantic.functional_serializers.model_serializer'} MYPY_VERSION_TUPLE = parse_mypy_version(mypy_version) -BUILTINS_NAME = 'builtins' +BUILTINS_NAME = 'builtins' if MYPY_VERSION_TUPLE >= (0, 930) else '__builtins__' # Increment version if plugin changes and mypy caches should be invalidated __version__ = 2 @@ -129,12 +133,12 @@ class PydanticPlugin(Plugin): self._plugin_data = self.plugin_config.to_data() super().__init__(options) - def get_base_class_hook(self, fullname: str) -> Callable[[ClassDefContext], None] | None: + def get_base_class_hook(self, fullname: str) -> Callable[[ClassDefContext], bool] | None: """Update Pydantic model class.""" sym = self.lookup_fully_qualified(fullname) if sym and isinstance(sym.node, TypeInfo): # pragma: no branch # No branching may occur if the mypy cache has not been cleared - if sym.node.has_base(BASEMODEL_FULLNAME): + if any(base.fullname == BASEMODEL_FULLNAME for base in sym.node.mro): return self._pydantic_model_class_maker_callback return None @@ -144,12 +148,28 @@ class PydanticPlugin(Plugin): return self._pydantic_model_metaclass_marker_callback return None + def get_function_hook(self, fullname: str) -> Callable[[FunctionContext], Type] | None: + """Adjust the return type of the `Field` function.""" + sym = self.lookup_fully_qualified(fullname) + if sym and sym.fullname == FIELD_FULLNAME: + return self._pydantic_field_callback + return None + def get_method_hook(self, fullname: str) -> Callable[[MethodContext], Type] | None: """Adjust return type of `from_orm` method call.""" if fullname.endswith('.from_orm'): return from_attributes_callback return None + def get_class_decorator_hook(self, fullname: str) -> Callable[[ClassDefContext], None] | None: + """Mark pydantic.dataclasses as dataclass. + + Mypy version 1.1.1 added support for `@dataclass_transform` decorator. + """ + if fullname == DATACLASS_FULLNAME and MYPY_VERSION_TUPLE < (1, 1): + return dataclasses.dataclass_class_maker_callback # type: ignore[return-value] + return None + def report_config_data(self, ctx: ReportConfigContext) -> dict[str, Any]: """Return all plugin config data. @@ -157,9 +177,9 @@ class PydanticPlugin(Plugin): """ return self._plugin_data - def _pydantic_model_class_maker_callback(self, ctx: ClassDefContext) -> None: + def _pydantic_model_class_maker_callback(self, ctx: ClassDefContext) -> bool: transformer = PydanticModelTransformer(ctx.cls, ctx.reason, ctx.api, self.plugin_config) - transformer.transform() + return transformer.transform() def _pydantic_model_metaclass_marker_callback(self, ctx: ClassDefContext) -> None: """Reset dataclass_transform_spec attribute of ModelMetaclass. @@ -174,6 +194,54 @@ class PydanticPlugin(Plugin): if getattr(info_metaclass.type, 'dataclass_transform_spec', None): info_metaclass.type.dataclass_transform_spec = None + def _pydantic_field_callback(self, ctx: FunctionContext) -> Type: + """Extract the type of the `default` argument from the Field function, and use it as the return type. + + In particular: + * Check whether the default and default_factory argument is specified. + * Output an error if both are specified. + * Retrieve the type of the argument which is specified, and use it as return type for the function. + """ + default_any_type = ctx.default_return_type + + assert ctx.callee_arg_names[0] == 'default', '"default" is no longer first argument in Field()' + assert ctx.callee_arg_names[1] == 'default_factory', '"default_factory" is no longer second argument in Field()' + default_args = ctx.args[0] + default_factory_args = ctx.args[1] + + if default_args and default_factory_args: + error_default_and_default_factory_specified(ctx.api, ctx.context) + return default_any_type + + if default_args: + default_type = ctx.arg_types[0][0] + default_arg = default_args[0] + + # Fallback to default Any type if the field is required + if not isinstance(default_arg, EllipsisExpr): + return default_type + + elif default_factory_args: + default_factory_type = ctx.arg_types[1][0] + + # Functions which use `ParamSpec` can be overloaded, exposing the callable's types as a parameter + # Pydantic calls the default factory without any argument, so we retrieve the first item + if isinstance(default_factory_type, Overloaded): + default_factory_type = default_factory_type.items[0] + + if isinstance(default_factory_type, CallableType): + ret_type = default_factory_type.ret_type + # mypy doesn't think `ret_type` has `args`, you'd think mypy should know, + # add this check in case it varies by version + args = getattr(ret_type, 'args', None) + if args: + if all(isinstance(arg, TypeVarType) for arg in args): + # Looks like the default factory is a type like `list` or `dict`, replace all args with `Any` + ret_type.args = tuple(default_any_type for _ in args) # type: ignore[attr-defined] + return ret_type + + return default_any_type + class PydanticPluginConfig: """A Pydantic mypy plugin config holder. @@ -238,9 +306,6 @@ def from_attributes_callback(ctx: MethodContext) -> Type: pydantic_metadata = model_type.type.metadata.get(METADATA_KEY) if pydantic_metadata is None: return ctx.default_return_type - if not model_type.type.has_base(BASEMODEL_FULLNAME): - # not a Pydantic v2 model - return ctx.default_return_type from_attributes = pydantic_metadata.get('config', {}).get('from_attributes') if from_attributes is not True: error_from_attributes(model_type.type.name, ctx.api, ctx.context) @@ -254,10 +319,8 @@ class PydanticModelField: self, name: str, alias: str | None, - is_frozen: bool, has_dynamic_alias: bool, has_default: bool, - strict: bool | None, line: int, column: int, type: Type | None, @@ -265,103 +328,40 @@ class PydanticModelField: ): self.name = name self.alias = alias - self.is_frozen = is_frozen self.has_dynamic_alias = has_dynamic_alias self.has_default = has_default - self.strict = strict self.line = line self.column = column self.type = type self.info = info - def to_argument( - self, - current_info: TypeInfo, - typed: bool, - model_strict: bool, - force_optional: bool, - use_alias: bool, - api: SemanticAnalyzerPluginInterface, - force_typevars_invariant: bool, - is_root_model_root: bool, - ) -> Argument: + def to_argument(self, current_info: TypeInfo, typed: bool, force_optional: bool, use_alias: bool) -> Argument: """Based on mypy.plugins.dataclasses.DataclassAttribute.to_argument.""" - variable = self.to_var(current_info, api, use_alias, force_typevars_invariant) - - strict = model_strict if self.strict is None else self.strict - if typed or strict: - type_annotation = self.expand_type(current_info, api, include_root_type=True) - else: - type_annotation = AnyType(TypeOfAny.explicit) - return Argument( - variable=variable, - type_annotation=type_annotation, + variable=self.to_var(current_info, use_alias), + type_annotation=self.expand_type(current_info) if typed else AnyType(TypeOfAny.explicit), initializer=None, - kind=ARG_OPT - if is_root_model_root - else (ARG_NAMED_OPT if force_optional or self.has_default else ARG_NAMED), + kind=ARG_NAMED_OPT if force_optional or self.has_default else ARG_NAMED, ) - def expand_type( - self, - current_info: TypeInfo, - api: SemanticAnalyzerPluginInterface, - force_typevars_invariant: bool = False, - include_root_type: bool = False, - ) -> Type | None: + def expand_type(self, current_info: TypeInfo) -> Type | None: """Based on mypy.plugins.dataclasses.DataclassAttribute.expand_type.""" - if force_typevars_invariant: - # In some cases, mypy will emit an error "Cannot use a covariant type variable as a parameter" - # To prevent that, we add an option to replace typevars with invariant ones while building certain - # method signatures (in particular, `__init__`). There may be a better way to do this, if this causes - # us problems in the future, we should look into why the dataclasses plugin doesn't have this issue. - if isinstance(self.type, TypeVarType): - modified_type = self.type.copy_modified() - modified_type.variance = INVARIANT - self.type = modified_type - if self.type is not None and self.info.self_type is not None: - # In general, it is not safe to call `expand_type()` during semantic analysis, + # In general, it is not safe to call `expand_type()` during semantic analyzis, # however this plugin is called very late, so all types should be fully ready. # Also, it is tricky to avoid eager expansion of Self types here (e.g. because # we serialize attributes). - with state.strict_optional_set(api.options.strict_optional): - filled_with_typevars = fill_typevars(current_info) - # Cannot be TupleType as current_info represents a Pydantic model: - assert isinstance(filled_with_typevars, Instance) - if force_typevars_invariant: - for arg in filled_with_typevars.args: - if isinstance(arg, TypeVarType): - arg.variance = INVARIANT - - expanded_type = expand_type(self.type, {self.info.self_type.id: filled_with_typevars}) - if include_root_type and isinstance(expanded_type, Instance) and is_root_model(expanded_type.type): - # When a root model is used as a field, Pydantic allows both an instance of the root model - # as well as instances of the `root` field type: - root_type = expanded_type.type['root'].type - if root_type is None: - # Happens if the hint for 'root' has unsolved forward references - return expanded_type - expanded_root_type = expand_type_by_instance(root_type, expanded_type) - expanded_type = UnionType([expanded_type, expanded_root_type]) - return expanded_type + return expand_type(self.type, {self.info.self_type.id: fill_typevars(current_info)}) return self.type - def to_var( - self, - current_info: TypeInfo, - api: SemanticAnalyzerPluginInterface, - use_alias: bool, - force_typevars_invariant: bool = False, - ) -> Var: + def to_var(self, current_info: TypeInfo, use_alias: bool) -> Var: """Based on mypy.plugins.dataclasses.DataclassAttribute.to_var.""" if use_alias and self.alias is not None: name = self.alias else: name = self.name - return Var(name, self.expand_type(current_info, api, force_typevars_invariant)) + return Var(name, self.expand_type(current_info)) def serialize(self) -> JsonDict: """Based on mypy.plugins.dataclasses.DataclassAttribute.serialize.""" @@ -369,10 +369,8 @@ class PydanticModelField: return { 'name': self.name, 'alias': self.alias, - 'is_frozen': self.is_frozen, 'has_dynamic_alias': self.has_dynamic_alias, 'has_default': self.has_default, - 'strict': self.strict, 'line': self.line, 'column': self.column, 'type': self.type.serialize(), @@ -385,38 +383,12 @@ class PydanticModelField: typ = deserialize_and_fixup_type(data.pop('type'), api) return cls(type=typ, info=info, **data) - def expand_typevar_from_subtype(self, sub_type: TypeInfo, api: SemanticAnalyzerPluginInterface) -> None: + def expand_typevar_from_subtype(self, sub_type: TypeInfo) -> None: """Expands type vars in the context of a subtype when an attribute is inherited from a generic super type. """ if self.type is not None: - with state.strict_optional_set(api.options.strict_optional): - self.type = map_type_from_supertype(self.type, sub_type, self.info) - - -class PydanticModelClassVar: - """Based on mypy.plugins.dataclasses.DataclassAttribute. - - ClassVars are ignored by subclasses. - - Attributes: - name: the ClassVar name - """ - - def __init__(self, name): - self.name = name - - @classmethod - def deserialize(cls, data: JsonDict) -> PydanticModelClassVar: - """Based on mypy.plugins.dataclasses.DataclassAttribute.deserialize.""" - data = data.copy() - return cls(**data) - - def serialize(self) -> JsonDict: - """Based on mypy.plugins.dataclasses.DataclassAttribute.serialize.""" - return { - 'name': self.name, - } + self.type = map_type_from_supertype(self.type, sub_type, self.info) class PydanticModelTransformer: @@ -431,10 +403,7 @@ class PydanticModelTransformer: 'frozen', 'from_attributes', 'populate_by_name', - 'validate_by_alias', - 'validate_by_name', 'alias_generator', - 'strict', } def __init__( @@ -461,26 +430,24 @@ class PydanticModelTransformer: * stores the fields, config, and if the class is settings in the mypy metadata for access by subclasses """ info = self._cls.info - is_a_root_model = is_root_model(info) config = self.collect_config() - fields, class_vars = self.collect_fields_and_class_vars(config, is_a_root_model) - if fields is None or class_vars is None: + fields = self.collect_fields(config) + if fields is None: # Some definitions are not ready. We need another pass. return False for field in fields: if field.type is None: return False - is_settings = info.has_base(BASESETTINGS_FULLNAME) - self.add_initializer(fields, config, is_settings, is_a_root_model) - self.add_model_construct_method(fields, config, is_settings, is_a_root_model) - self.set_frozen(fields, self._api, frozen=config.frozen is True) + is_settings = any(base.fullname == BASESETTINGS_FULLNAME for base in info.mro[:-1]) + self.add_initializer(fields, config, is_settings) + self.add_model_construct_method(fields, config, is_settings) + self.set_frozen(fields, frozen=config.frozen is True) self.adjust_decorator_signatures() info.metadata[METADATA_KEY] = { 'fields': {field.name: field.serialize() for field in fields}, - 'class_vars': {class_var.name: class_var.serialize() for class_var in class_vars}, 'config': config.get_values_dict(), } @@ -494,13 +461,13 @@ class PydanticModelTransformer: Teach mypy this by marking any function whose outermost decorator is a `validator()`, `field_validator()` or `serializer()` call as a `classmethod`. """ - for sym in self._cls.info.names.values(): + for name, sym in self._cls.info.names.items(): if isinstance(sym.node, Decorator): first_dec = sym.node.original_decorators[0] if ( isinstance(first_dec, CallExpr) and isinstance(first_dec.callee, NameExpr) - and first_dec.callee.fullname in IMPLICIT_CLASSMETHOD_DECORATOR_FULLNAMES + and first_dec.callee.fullname in DECORATOR_FULLNAMES # @model_validator(mode="after") is an exception, it expects a regular method and not ( first_dec.callee.fullname == MODEL_VALIDATOR_FULLNAME @@ -543,7 +510,7 @@ class PydanticModelTransformer: for arg_name, arg in zip(stmt.rvalue.arg_names, stmt.rvalue.args): if arg_name is None: continue - config.update(self.get_config_update(arg_name, arg, lax_extra=True)) + config.update(self.get_config_update(arg_name, arg)) elif isinstance(stmt.rvalue, DictExpr): # dict literals for key_expr, value_expr in stmt.rvalue.items: if not isinstance(key_expr, StrExpr): @@ -574,7 +541,7 @@ class PydanticModelTransformer: if ( stmt and config.has_alias_generator - and not (config.validate_by_name or config.populate_by_name) + and not config.populate_by_name and self.plugin_config.warn_required_dynamic_aliases ): error_required_dynamic_aliases(self._api, stmt) @@ -589,13 +556,11 @@ class PydanticModelTransformer: config.setdefault(name, value) return config - def collect_fields_and_class_vars( - self, model_config: ModelConfigData, is_root_model: bool - ) -> tuple[list[PydanticModelField] | None, list[PydanticModelClassVar] | None]: + def collect_fields(self, model_config: ModelConfigData) -> list[PydanticModelField] | None: """Collects the fields for the model, accounting for parent classes.""" cls = self._cls - # First, collect fields and ClassVars belonging to any class in the MRO, ignoring duplicates. + # First, collect fields belonging to any class in the MRO, ignoring duplicates. # # We iterate through the MRO in reverse because attrs defined in the parent must appear # earlier in the attributes list than attrs defined in the child. See: @@ -605,11 +570,10 @@ class PydanticModelTransformer: # in the parent. We can implement this via a dict without disrupting the attr order # because dicts preserve insertion order in Python 3.7+. found_fields: dict[str, PydanticModelField] = {} - found_class_vars: dict[str, PydanticModelClassVar] = {} for info in reversed(cls.info.mro[1:-1]): # 0 is the current class, -2 is BaseModel, -1 is object # if BASEMODEL_METADATA_TAG_KEY in info.metadata and BASEMODEL_METADATA_KEY not in info.metadata: # # We haven't processed the base class yet. Need another pass. - # return None, None + # return None if METADATA_KEY not in info.metadata: continue @@ -622,7 +586,8 @@ class PydanticModelTransformer: # TODO: We shouldn't be performing type operations during the main # semantic analysis pass, since some TypeInfo attributes might # still be in flux. This should be performed in a later phase. - field.expand_typevar_from_subtype(cls.info, self._api) + with state.strict_optional_set(self._api.options.strict_optional): + field.expand_typevar_from_subtype(cls.info) found_fields[name] = field sym_node = cls.info.names.get(name) @@ -631,31 +596,17 @@ class PydanticModelTransformer: 'BaseModel field may only be overridden by another field', sym_node.node, ) - # Collect ClassVars - for name, data in info.metadata[METADATA_KEY]['class_vars'].items(): - found_class_vars[name] = PydanticModelClassVar.deserialize(data) - # Second, collect fields and ClassVars belonging to the current class. + # Second, collect fields belonging to the current class. current_field_names: set[str] = set() - current_class_vars_names: set[str] = set() for stmt in self._get_assignment_statements_from_block(cls.defs): - maybe_field = self.collect_field_or_class_var_from_stmt(stmt, model_config, found_class_vars) - if maybe_field is None: - continue + maybe_field = self.collect_field_from_stmt(stmt, model_config) + if maybe_field is not None: + lhs = stmt.lvalues[0] + current_field_names.add(lhs.name) + found_fields[lhs.name] = maybe_field - lhs = stmt.lvalues[0] - assert isinstance(lhs, NameExpr) # collect_field_or_class_var_from_stmt guarantees this - if isinstance(maybe_field, PydanticModelField): - if is_root_model and lhs.name != 'root': - error_extra_fields_on_root_model(self._api, stmt) - else: - current_field_names.add(lhs.name) - found_fields[lhs.name] = maybe_field - elif isinstance(maybe_field, PydanticModelClassVar): - current_class_vars_names.add(lhs.name) - found_class_vars[lhs.name] = maybe_field - - return list(found_fields.values()), list(found_class_vars.values()) + return list(found_fields.values()) def _get_assignment_statements_from_if_statement(self, stmt: IfStmt) -> Iterator[AssignmentStmt]: for body in stmt.body: @@ -671,15 +622,14 @@ class PydanticModelTransformer: elif isinstance(stmt, IfStmt): yield from self._get_assignment_statements_from_if_statement(stmt) - def collect_field_or_class_var_from_stmt( # noqa C901 - self, stmt: AssignmentStmt, model_config: ModelConfigData, class_vars: dict[str, PydanticModelClassVar] - ) -> PydanticModelField | PydanticModelClassVar | None: + def collect_field_from_stmt( # noqa C901 + self, stmt: AssignmentStmt, model_config: ModelConfigData + ) -> PydanticModelField | None: """Get pydantic model field from statement. Args: stmt: The statement. model_config: Configuration settings for the model. - class_vars: ClassVars already known to be defined on the model. Returns: A pydantic model field if it could find the field in statement. Otherwise, `None`. @@ -702,10 +652,6 @@ class PydanticModelTransformer: # Eventually, we may want to attempt to respect model_config['ignored_types'] return None - if lhs.name in class_vars: - # Class vars are not fields and are not required to be annotated - return None - # The assignment does not have an annotation, and it's not anything else we recognize error_untyped_fields(self._api, stmt) return None @@ -750,7 +696,7 @@ class PydanticModelTransformer: # x: ClassVar[int] is not a field if node.is_classvar: - return PydanticModelClassVar(lhs.name) + return None # x: InitVar[int] is not supported in BaseModel node_type = get_proper_type(node.type) @@ -761,7 +707,6 @@ class PydanticModelTransformer: ) has_default = self.get_has_default(stmt) - strict = self.get_strict(stmt) if sym.type is None and node.is_final and node.is_inferred: # This follows the logic from the dataclasses plugin. The following comment is taken verbatim: @@ -781,27 +726,16 @@ class PydanticModelTransformer: ) node.type = AnyType(TypeOfAny.from_error) - if node.is_final and has_default: - # TODO this path should be removed (see https://github.com/pydantic/pydantic/issues/11119) - return PydanticModelClassVar(lhs.name) - alias, has_dynamic_alias = self.get_alias_info(stmt) - if ( - has_dynamic_alias - and not (model_config.validate_by_name or model_config.populate_by_name) - and self.plugin_config.warn_required_dynamic_aliases - ): + if has_dynamic_alias and not model_config.populate_by_name and self.plugin_config.warn_required_dynamic_aliases: error_required_dynamic_aliases(self._api, stmt) - is_frozen = self.is_field_frozen(stmt) init_type = self._infer_dataclass_attr_init_type(sym, lhs.name, stmt) return PydanticModelField( name=lhs.name, has_dynamic_alias=has_dynamic_alias, has_default=has_default, - strict=strict, alias=alias, - is_frozen=is_frozen, line=stmt.line, column=stmt.column, type=init_type, @@ -846,9 +780,7 @@ class PydanticModelTransformer: return default - def add_initializer( - self, fields: list[PydanticModelField], config: ModelConfigData, is_settings: bool, is_root_model: bool - ) -> None: + def add_initializer(self, fields: list[PydanticModelField], config: ModelConfigData, is_settings: bool) -> None: """Adds a fields-aware `__init__` method to the class. The added `__init__` will be annotated with types vs. all `Any` depending on the plugin settings. @@ -857,42 +789,28 @@ class PydanticModelTransformer: return # Don't generate an __init__ if one already exists typed = self.plugin_config.init_typed - model_strict = bool(config.strict) - use_alias = not (config.validate_by_name or config.populate_by_name) and config.validate_by_alias is not False - requires_dynamic_aliases = bool(config.has_alias_generator and not config.validate_by_name) - args = self.get_field_arguments( - fields, - typed=typed, - model_strict=model_strict, - requires_dynamic_aliases=requires_dynamic_aliases, - use_alias=use_alias, - is_settings=is_settings, - is_root_model=is_root_model, - force_typevars_invariant=True, - ) - - if is_settings: - base_settings_node = self._api.lookup_fully_qualified(BASESETTINGS_FULLNAME).node - assert isinstance(base_settings_node, TypeInfo) - if '__init__' in base_settings_node.names: - base_settings_init_node = base_settings_node.names['__init__'].node - assert isinstance(base_settings_init_node, FuncDef) - if base_settings_init_node is not None and base_settings_init_node.type is not None: - func_type = base_settings_init_node.type - assert isinstance(func_type, CallableType) - for arg_idx, arg_name in enumerate(func_type.arg_names): - if arg_name is None or arg_name.startswith('__') or not arg_name.startswith('_'): - continue - analyzed_variable_type = self._api.anal_type(func_type.arg_types[arg_idx]) - if analyzed_variable_type is not None and arg_name == '_cli_settings_source': - # _cli_settings_source is defined as CliSettingsSource[Any], and as such - # the Any causes issues with --disallow-any-explicit. As a workaround, change - # the Any type (as if CliSettingsSource was left unparameterized): - analyzed_variable_type = analyzed_variable_type.accept( - ChangeExplicitTypeOfAny(TypeOfAny.from_omitted_generics) - ) - variable = Var(arg_name, analyzed_variable_type) - args.append(Argument(variable, analyzed_variable_type, None, ARG_OPT)) + use_alias = config.populate_by_name is not True + requires_dynamic_aliases = bool(config.has_alias_generator and not config.populate_by_name) + with state.strict_optional_set(self._api.options.strict_optional): + args = self.get_field_arguments( + fields, + typed=typed, + requires_dynamic_aliases=requires_dynamic_aliases, + use_alias=use_alias, + is_settings=is_settings, + ) + if is_settings: + base_settings_node = self._api.lookup_fully_qualified(BASESETTINGS_FULLNAME).node + if '__init__' in base_settings_node.names: + base_settings_init_node = base_settings_node.names['__init__'].node + if base_settings_init_node is not None and base_settings_init_node.type is not None: + func_type = base_settings_init_node.type + for arg_idx, arg_name in enumerate(func_type.arg_names): + if arg_name.startswith('__') or not arg_name.startswith('_'): + continue + analyzed_variable_type = self._api.anal_type(func_type.arg_types[arg_idx]) + variable = Var(arg_name, analyzed_variable_type) + args.append(Argument(variable, analyzed_variable_type, None, ARG_OPT)) if not self.should_init_forbid_extra(fields, config): var = Var('kwargs') @@ -901,11 +819,7 @@ class PydanticModelTransformer: add_method(self._api, self._cls, '__init__', args=args, return_type=NoneType()) def add_model_construct_method( - self, - fields: list[PydanticModelField], - config: ModelConfigData, - is_settings: bool, - is_root_model: bool, + self, fields: list[PydanticModelField], config: ModelConfigData, is_settings: bool ) -> None: """Adds a fully typed `model_construct` classmethod to the class. @@ -917,19 +831,13 @@ class PydanticModelTransformer: fields_set_argument = Argument(Var('_fields_set', optional_set_str), optional_set_str, None, ARG_OPT) with state.strict_optional_set(self._api.options.strict_optional): args = self.get_field_arguments( - fields, - typed=True, - model_strict=bool(config.strict), - requires_dynamic_aliases=False, - use_alias=False, - is_settings=is_settings, - is_root_model=is_root_model, + fields, typed=True, requires_dynamic_aliases=False, use_alias=False, is_settings=is_settings ) if not self.should_init_forbid_extra(fields, config): var = Var('kwargs') args.append(Argument(var, AnyType(TypeOfAny.explicit), None, ARG_STAR2)) - args = args + [fields_set_argument] if is_root_model else [fields_set_argument] + args + args = [fields_set_argument] + args add_method( self._api, @@ -940,7 +848,7 @@ class PydanticModelTransformer: is_classmethod=True, ) - def set_frozen(self, fields: list[PydanticModelField], api: SemanticAnalyzerPluginInterface, frozen: bool) -> None: + def set_frozen(self, fields: list[PydanticModelField], frozen: bool) -> None: """Marks all fields as properties so that attempts to set them trigger mypy errors. This is the same approach used by the attrs and dataclasses plugins. @@ -951,7 +859,7 @@ class PydanticModelTransformer: if sym_node is not None: var = sym_node.node if isinstance(var, Var): - var.is_property = frozen or field.is_frozen + var.is_property = frozen elif isinstance(var, PlaceholderNode) and not self._api.final_iteration: # See https://github.com/pydantic/pydantic/issues/5191 to hit this branch for test coverage self._api.defer() @@ -965,13 +873,13 @@ class PydanticModelTransformer: detail = f'sym_node.node: {var_str} (of type {var.__class__})' error_unexpected_behavior(detail, self._api, self._cls) else: - var = field.to_var(info, api, use_alias=False) + var = field.to_var(info, use_alias=False) var.info = info var.is_property = frozen var._fullname = info.fullname + '.' + var.name info.names[var.name] = SymbolTableNode(MDEF, var) - def get_config_update(self, name: str, arg: Expression, lax_extra: bool = False) -> ModelConfigData | None: + def get_config_update(self, name: str, arg: Expression) -> ModelConfigData | None: """Determines the config update due to a single kwarg in the ConfigDict definition. Warns if a tracked config attribute is set to a value the plugin doesn't know how to interpret (e.g., an int) @@ -984,16 +892,7 @@ class PydanticModelTransformer: elif isinstance(arg, MemberExpr): forbid_extra = arg.name == 'forbid' else: - if not lax_extra: - # Only emit an error for other types of `arg` (e.g., `NameExpr`, `ConditionalExpr`, etc.) when - # reading from a config class, etc. If a ConfigDict is used, then we don't want to emit an error - # because you'll get type checking from the ConfigDict itself. - # - # It would be nice if we could introspect the types better otherwise, but I don't know what the API - # is to evaluate an expr into its type and then check if that type is compatible with the expected - # type. Note that you can still get proper type checking via: `model_config = ConfigDict(...)`, just - # if you don't use an explicit string, the plugin won't be able to infer whether extra is forbidden. - error_invalid_config_value(name, self._api, arg) + error_invalid_config_value(name, self._api, arg) return None return ModelConfigData(forbid_extra=forbid_extra) if name == 'alias_generator': @@ -1028,22 +927,6 @@ class PydanticModelTransformer: # Has no default if the "default value" is Ellipsis (i.e., `field_name: Annotation = ...`) return not isinstance(expr, EllipsisExpr) - @staticmethod - def get_strict(stmt: AssignmentStmt) -> bool | None: - """Returns a the `strict` value of a field if defined, otherwise `None`.""" - expr = stmt.rvalue - if isinstance(expr, CallExpr) and isinstance(expr.callee, RefExpr) and expr.callee.fullname == FIELD_FULLNAME: - for arg, name in zip(expr.args, expr.arg_names): - if name != 'strict': - continue - if isinstance(arg, NameExpr): - if arg.fullname == 'builtins.True': - return True - elif arg.fullname == 'builtins.False': - return False - return None - return None - @staticmethod def get_alias_info(stmt: AssignmentStmt) -> tuple[str | None, bool]: """Returns a pair (alias, has_dynamic_alias), extracted from the declaration of the field defined in `stmt`. @@ -1062,53 +945,23 @@ class PydanticModelTransformer: # Assigned value is not a call to pydantic.fields.Field return None, False - if 'validation_alias' in expr.arg_names: - arg = expr.args[expr.arg_names.index('validation_alias')] - elif 'alias' in expr.arg_names: - arg = expr.args[expr.arg_names.index('alias')] - else: - return None, False - - if isinstance(arg, StrExpr): - return arg.value, False - else: - return None, True - - @staticmethod - def is_field_frozen(stmt: AssignmentStmt) -> bool: - """Returns whether the field is frozen, extracted from the declaration of the field defined in `stmt`. - - Note that this is only whether the field was declared to be frozen in a ` = Field(frozen=True)` - sense; this does not determine whether the field is frozen because the entire model is frozen; that is - handled separately. - """ - expr = stmt.rvalue - if isinstance(expr, TempNode): - # TempNode means annotation-only - return False - - if not ( - isinstance(expr, CallExpr) and isinstance(expr.callee, RefExpr) and expr.callee.fullname == FIELD_FULLNAME - ): - # Assigned value is not a call to pydantic.fields.Field - return False - for i, arg_name in enumerate(expr.arg_names): - if arg_name == 'frozen': - arg = expr.args[i] - return isinstance(arg, NameExpr) and arg.fullname == 'builtins.True' - return False + if arg_name != 'alias': + continue + arg = expr.args[i] + if isinstance(arg, StrExpr): + return arg.value, False + else: + return None, True + return None, False def get_field_arguments( self, fields: list[PydanticModelField], typed: bool, - model_strict: bool, use_alias: bool, requires_dynamic_aliases: bool, is_settings: bool, - is_root_model: bool, - force_typevars_invariant: bool = False, ) -> list[Argument]: """Helper function used during the construction of the `__init__` and `model_construct` method signatures. @@ -1117,14 +970,7 @@ class PydanticModelTransformer: info = self._cls.info arguments = [ field.to_argument( - info, - typed=typed, - model_strict=model_strict, - force_optional=requires_dynamic_aliases or is_settings, - use_alias=use_alias, - api=self._api, - force_typevars_invariant=force_typevars_invariant, - is_root_model_root=is_root_model and field.name == 'root', + info, typed=typed, force_optional=requires_dynamic_aliases or is_settings, use_alias=use_alias ) for field in fields if not (use_alias and field.has_dynamic_alias) @@ -1137,7 +983,7 @@ class PydanticModelTransformer: We disallow arbitrary kwargs if the extra config setting is "forbid", or if the plugin config says to, *unless* a required dynamic alias is present (since then we can't determine a valid signature). """ - if not (config.validate_by_name or config.populate_by_name): + if not config.populate_by_name: if self.is_dynamic_alias_present(fields, bool(config.has_alias_generator)): return False if config.forbid_extra: @@ -1159,20 +1005,6 @@ class PydanticModelTransformer: return False -class ChangeExplicitTypeOfAny(TypeTranslator): - """A type translator used to change type of Any's, if explicit.""" - - def __init__(self, type_of_any: int) -> None: - self._type_of_any = type_of_any - super().__init__() - - def visit_any(self, t: AnyType) -> Type: # noqa: D102 - if t.type_of_any == TypeOfAny.explicit: - return t.copy_modified(type_of_any=self._type_of_any) - else: - return t - - class ModelConfigData: """Pydantic mypy plugin model config class.""" @@ -1182,19 +1014,13 @@ class ModelConfigData: frozen: bool | None = None, from_attributes: bool | None = None, populate_by_name: bool | None = None, - validate_by_alias: bool | None = None, - validate_by_name: bool | None = None, has_alias_generator: bool | None = None, - strict: bool | None = None, ): self.forbid_extra = forbid_extra self.frozen = frozen self.from_attributes = from_attributes self.populate_by_name = populate_by_name - self.validate_by_alias = validate_by_alias - self.validate_by_name = validate_by_name self.has_alias_generator = has_alias_generator - self.strict = strict def get_values_dict(self) -> dict[str, Any]: """Returns a dict of Pydantic model config names to their values. @@ -1216,18 +1042,12 @@ class ModelConfigData: setattr(self, key, value) -def is_root_model(info: TypeInfo) -> bool: - """Return whether the type info is a root model subclass (or the `RootModel` class itself).""" - return info.has_base(ROOT_MODEL_FULLNAME) - - ERROR_ORM = ErrorCode('pydantic-orm', 'Invalid from_attributes call', 'Pydantic') ERROR_CONFIG = ErrorCode('pydantic-config', 'Invalid config value', 'Pydantic') ERROR_ALIAS = ErrorCode('pydantic-alias', 'Dynamic alias disallowed', 'Pydantic') ERROR_UNEXPECTED = ErrorCode('pydantic-unexpected', 'Unexpected behavior', 'Pydantic') ERROR_UNTYPED = ErrorCode('pydantic-field', 'Untyped field disallowed', 'Pydantic') ERROR_FIELD_DEFAULTS = ErrorCode('pydantic-field', 'Invalid Field defaults', 'Pydantic') -ERROR_EXTRA_FIELD_ROOT_MODEL = ErrorCode('pydantic-field', 'Extra field on RootModel subclass', 'Pydantic') def error_from_attributes(model_name: str, api: CheckerPluginInterface, context: Context) -> None: @@ -1264,9 +1084,9 @@ def error_untyped_fields(api: SemanticAnalyzerPluginInterface, context: Context) api.fail('Untyped fields disallowed', context, code=ERROR_UNTYPED) -def error_extra_fields_on_root_model(api: CheckerPluginInterface, context: Context) -> None: - """Emits an error when there is more than just a root field defined for a subclass of RootModel.""" - api.fail('Only `root` is allowed as a field of a `RootModel`', context, code=ERROR_EXTRA_FIELD_ROOT_MODEL) +def error_default_and_default_factory_specified(api: CheckerPluginInterface, context: Context) -> None: + """Emits an error when `Field` has both `default` and `default_factory` together.""" + api.fail('Field default and default_factory cannot be specified together', context, code=ERROR_FIELD_DEFAULTS) def add_method( @@ -1276,7 +1096,7 @@ def add_method( args: list[Argument], return_type: Type, self_type: Type | None = None, - tvar_def: TypeVarType | None = None, + tvar_def: TypeVarDef | None = None, is_classmethod: bool = False, ) -> None: """Very closely related to `mypy.plugins.common.add_method_to_class`, with a few pydantic-specific changes.""" @@ -1299,16 +1119,6 @@ def add_method( first = [Argument(Var('_cls'), self_type, None, ARG_POS, True)] else: self_type = self_type or fill_typevars(info) - # `self` is positional *ONLY* here, but this can't be expressed - # fully in the mypy internal API. ARG_POS is the closest we can get. - # Using ARG_POS will, however, give mypy errors if a `self` field - # is present on a model: - # - # Name "self" already defined (possibly by an import) [no-redef] - # - # As a workaround, we give this argument a name that will - # never conflict. By its positional nature, this name will not - # be used or exposed to users. first = [Argument(Var('__pydantic_self__'), self_type, None, ARG_POS)] args = first + args @@ -1319,9 +1129,9 @@ def add_method( arg_names.append(arg.variable.name) arg_kinds.append(arg.kind) - signature = CallableType( - arg_types, arg_kinds, arg_names, return_type, function_type, variables=[tvar_def] if tvar_def else None - ) + signature = CallableType(arg_types, arg_kinds, arg_names, return_type, function_type) + if tvar_def: + signature.variables = [tvar_def] func = FuncDef(name, args, Block([PassStmt()])) func.info = info diff --git a/venv/lib/python3.12/site-packages/pydantic/networks.py b/venv/lib/python3.12/site-packages/pydantic/networks.py index 2221578..7dc1e5a 100644 --- a/venv/lib/python3.12/site-packages/pydantic/networks.py +++ b/venv/lib/python3.12/site-packages/pydantic/networks.py @@ -1,33 +1,18 @@ """The networks module contains types for common network-related fields.""" - from __future__ import annotations as _annotations import dataclasses as _dataclasses import re -from dataclasses import fields -from functools import lru_cache -from importlib.metadata import version from ipaddress import IPv4Address, IPv4Interface, IPv4Network, IPv6Address, IPv6Interface, IPv6Network -from typing import TYPE_CHECKING, Annotated, Any, ClassVar +from typing import TYPE_CHECKING, Any -from pydantic_core import ( - MultiHostHost, - PydanticCustomError, - PydanticSerializationUnexpectedValue, - SchemaSerializer, - core_schema, -) -from pydantic_core import MultiHostUrl as _CoreMultiHostUrl -from pydantic_core import Url as _CoreUrl -from typing_extensions import Self, TypeAlias +from pydantic_core import MultiHostUrl, PydanticCustomError, Url, core_schema +from typing_extensions import Annotated, TypeAlias -from pydantic.errors import PydanticUserError - -from ._internal import _repr, _schema_generation_shared +from ._internal import _fields, _repr, _schema_generation_shared from ._migration import getattr_migration from .annotated_handlers import GetCoreSchemaHandler from .json_schema import JsonSchemaValue -from .type_adapter import TypeAdapter if TYPE_CHECKING: import email_validator @@ -42,10 +27,7 @@ __all__ = [ 'AnyUrl', 'AnyHttpUrl', 'FileUrl', - 'FtpUrl', 'HttpUrl', - 'WebsocketUrl', - 'AnyWebsocketUrl', 'UrlConstraints', 'EmailStr', 'NameEmail', @@ -58,17 +40,14 @@ __all__ = [ 'RedisDsn', 'MongoDsn', 'KafkaDsn', - 'NatsDsn', 'validate_email', 'MySQLDsn', 'MariaDBDsn', - 'ClickHouseDsn', - 'SnowflakeDsn', ] @_dataclasses.dataclass -class UrlConstraints: +class UrlConstraints(_fields.PydanticMetadata): """Url constraints. Attributes: @@ -99,655 +78,115 @@ class UrlConstraints: ) ) - @property - def defined_constraints(self) -> dict[str, Any]: - """Fetch a key / value mapping of constraints to values that are not None. Used for core schema updates.""" - return {field.name: value for field in fields(self) if (value := getattr(self, field.name)) is not None} - def __get_pydantic_core_schema__(self, source: Any, handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: - schema = handler(source) - - # for function-wrap schemas, url constraints is applied to the inner schema - # because when we generate schemas for urls, we wrap a core_schema.url_schema() with a function-wrap schema - # that helps with validation on initialization, see _BaseUrl and _BaseMultiHostUrl below. - schema_to_mutate = schema['schema'] if schema['type'] == 'function-wrap' else schema - if annotated_type := schema_to_mutate['type'] not in ('url', 'multi-host-url'): - raise PydanticUserError( - f"'UrlConstraints' cannot annotate '{annotated_type}'.", code='invalid-annotated-type' - ) - for constraint_key, constraint_value in self.defined_constraints.items(): - schema_to_mutate[constraint_key] = constraint_value - return schema - - -class _BaseUrl: - _constraints: ClassVar[UrlConstraints] = UrlConstraints() - _url: _CoreUrl - - def __init__(self, url: str | _CoreUrl | _BaseUrl) -> None: - self._url = _build_type_adapter(self.__class__).validate_python(url)._url - - @property - def scheme(self) -> str: - """The scheme part of the URL. - - e.g. `https` in `https://user:pass@host:port/path?query#fragment` - """ - return self._url.scheme - - @property - def username(self) -> str | None: - """The username part of the URL, or `None`. - - e.g. `user` in `https://user:pass@host:port/path?query#fragment` - """ - return self._url.username - - @property - def password(self) -> str | None: - """The password part of the URL, or `None`. - - e.g. `pass` in `https://user:pass@host:port/path?query#fragment` - """ - return self._url.password - - @property - def host(self) -> str | None: - """The host part of the URL, or `None`. - - If the URL must be punycode encoded, this is the encoded host, e.g if the input URL is `https://£££.com`, - `host` will be `xn--9aaa.com` - """ - return self._url.host - - def unicode_host(self) -> str | None: - """The host part of the URL as a unicode string, or `None`. - - e.g. `host` in `https://user:pass@host:port/path?query#fragment` - - If the URL must be punycode encoded, this is the decoded host, e.g if the input URL is `https://£££.com`, - `unicode_host()` will be `£££.com` - """ - return self._url.unicode_host() - - @property - def port(self) -> int | None: - """The port part of the URL, or `None`. - - e.g. `port` in `https://user:pass@host:port/path?query#fragment` - """ - return self._url.port - - @property - def path(self) -> str | None: - """The path part of the URL, or `None`. - - e.g. `/path` in `https://user:pass@host:port/path?query#fragment` - """ - return self._url.path - - @property - def query(self) -> str | None: - """The query part of the URL, or `None`. - - e.g. `query` in `https://user:pass@host:port/path?query#fragment` - """ - return self._url.query - - def query_params(self) -> list[tuple[str, str]]: - """The query part of the URL as a list of key-value pairs. - - e.g. `[('foo', 'bar')]` in `https://user:pass@host:port/path?foo=bar#fragment` - """ - return self._url.query_params() - - @property - def fragment(self) -> str | None: - """The fragment part of the URL, or `None`. - - e.g. `fragment` in `https://user:pass@host:port/path?query#fragment` - """ - return self._url.fragment - - def unicode_string(self) -> str: - """The URL as a unicode string, unlike `__str__()` this will not punycode encode the host. - - If the URL must be punycode encoded, this is the decoded string, e.g if the input URL is `https://£££.com`, - `unicode_string()` will be `https://£££.com` - """ - return self._url.unicode_string() - - def encoded_string(self) -> str: - """The URL's encoded string representation via __str__(). - - This returns the punycode-encoded host version of the URL as a string. - """ - return str(self) - - def __str__(self) -> str: - """The URL as a string, this will punycode encode the host if required.""" - return str(self._url) - - def __repr__(self) -> str: - return f'{self.__class__.__name__}({str(self._url)!r})' - - def __deepcopy__(self, memo: dict) -> Self: - return self.__class__(self._url) - - def __eq__(self, other: Any) -> bool: - return self.__class__ is other.__class__ and self._url == other._url - - def __lt__(self, other: Any) -> bool: - return self.__class__ is other.__class__ and self._url < other._url - - def __gt__(self, other: Any) -> bool: - return self.__class__ is other.__class__ and self._url > other._url - - def __le__(self, other: Any) -> bool: - return self.__class__ is other.__class__ and self._url <= other._url - - def __ge__(self, other: Any) -> bool: - return self.__class__ is other.__class__ and self._url >= other._url - - def __hash__(self) -> int: - return hash(self._url) - - def __len__(self) -> int: - return len(str(self._url)) - - @classmethod - def build( - cls, - *, - scheme: str, - username: str | None = None, - password: str | None = None, - host: str, - port: int | None = None, - path: str | None = None, - query: str | None = None, - fragment: str | None = None, - ) -> Self: - """Build a new `Url` instance from its component parts. - - Args: - scheme: The scheme part of the URL. - username: The username part of the URL, or omit for no username. - password: The password part of the URL, or omit for no password. - host: The host part of the URL. - port: The port part of the URL, or omit for no port. - path: The path part of the URL, or omit for no path. - query: The query part of the URL, or omit for no query. - fragment: The fragment part of the URL, or omit for no fragment. - - Returns: - An instance of URL - """ - return cls( - _CoreUrl.build( - scheme=scheme, - username=username, - password=password, - host=host, - port=port, - path=path, - query=query, - fragment=fragment, - ) - ) - - @classmethod - def serialize_url(cls, url: Any, info: core_schema.SerializationInfo) -> str | Self: - if not isinstance(url, cls): - raise PydanticSerializationUnexpectedValue( - f"Expected `{cls}` but got `{type(url)}` with value `'{url}'` - serialized value may not be as expected." - ) - if info.mode == 'json': - return str(url) - return url - - @classmethod - def __get_pydantic_core_schema__( - cls, source: type[_BaseUrl], handler: GetCoreSchemaHandler - ) -> core_schema.CoreSchema: - def wrap_val(v, h): - if isinstance(v, source): - return v - if isinstance(v, _BaseUrl): - v = str(v) - core_url = h(v) - instance = source.__new__(source) - instance._url = core_url - return instance - - return core_schema.no_info_wrap_validator_function( - wrap_val, - schema=core_schema.url_schema(**cls._constraints.defined_constraints), - serialization=core_schema.plain_serializer_function_ser_schema( - cls.serialize_url, info_arg=True, when_used='always' - ), - ) - - @classmethod - def __get_pydantic_json_schema__( - cls, core_schema: core_schema.CoreSchema, handler: _schema_generation_shared.GetJsonSchemaHandler - ) -> JsonSchemaValue: - # we use the url schema for json schema generation, but we might have to extract it from - # the function-wrap schema we use as a tool for validation on initialization - inner_schema = core_schema['schema'] if core_schema['type'] == 'function-wrap' else core_schema - return handler(inner_schema) - - __pydantic_serializer__ = SchemaSerializer(core_schema.any_schema(serialization=core_schema.to_string_ser_schema())) - - -class _BaseMultiHostUrl: - _constraints: ClassVar[UrlConstraints] = UrlConstraints() - _url: _CoreMultiHostUrl - - def __init__(self, url: str | _CoreMultiHostUrl | _BaseMultiHostUrl) -> None: - self._url = _build_type_adapter(self.__class__).validate_python(url)._url - - @property - def scheme(self) -> str: - """The scheme part of the URL. - - e.g. `https` in `https://foo.com,bar.com/path?query#fragment` - """ - return self._url.scheme - - @property - def path(self) -> str | None: - """The path part of the URL, or `None`. - - e.g. `/path` in `https://foo.com,bar.com/path?query#fragment` - """ - return self._url.path - - @property - def query(self) -> str | None: - """The query part of the URL, or `None`. - - e.g. `query` in `https://foo.com,bar.com/path?query#fragment` - """ - return self._url.query - - def query_params(self) -> list[tuple[str, str]]: - """The query part of the URL as a list of key-value pairs. - - e.g. `[('foo', 'bar')]` in `https://foo.com,bar.com/path?foo=bar#fragment` - """ - return self._url.query_params() - - @property - def fragment(self) -> str | None: - """The fragment part of the URL, or `None`. - - e.g. `fragment` in `https://foo.com,bar.com/path?query#fragment` - """ - return self._url.fragment - - def hosts(self) -> list[MultiHostHost]: - '''The hosts of the `MultiHostUrl` as [`MultiHostHost`][pydantic_core.MultiHostHost] typed dicts. - - ```python - from pydantic_core import MultiHostUrl - - mhu = MultiHostUrl('https://foo.com:123,foo:bar@bar.com/path') - print(mhu.hosts()) - """ - [ - {'username': None, 'password': None, 'host': 'foo.com', 'port': 123}, - {'username': 'foo', 'password': 'bar', 'host': 'bar.com', 'port': 443} - ] - ``` - Returns: - A list of dicts, each representing a host. - ''' - return self._url.hosts() - - def encoded_string(self) -> str: - """The URL's encoded string representation via __str__(). - - This returns the punycode-encoded host version of the URL as a string. - """ - return str(self) - - def unicode_string(self) -> str: - """The URL as a unicode string, unlike `__str__()` this will not punycode encode the hosts.""" - return self._url.unicode_string() - - def __str__(self) -> str: - """The URL as a string, this will punycode encode the host if required.""" - return str(self._url) - - def __repr__(self) -> str: - return f'{self.__class__.__name__}({str(self._url)!r})' - - def __deepcopy__(self, memo: dict) -> Self: - return self.__class__(self._url) - - def __eq__(self, other: Any) -> bool: - return self.__class__ is other.__class__ and self._url == other._url - - def __hash__(self) -> int: - return hash(self._url) - - def __len__(self) -> int: - return len(str(self._url)) - - @classmethod - def build( - cls, - *, - scheme: str, - hosts: list[MultiHostHost] | None = None, - username: str | None = None, - password: str | None = None, - host: str | None = None, - port: int | None = None, - path: str | None = None, - query: str | None = None, - fragment: str | None = None, - ) -> Self: - """Build a new `MultiHostUrl` instance from its component parts. - - This method takes either `hosts` - a list of `MultiHostHost` typed dicts, or the individual components - `username`, `password`, `host` and `port`. - - Args: - scheme: The scheme part of the URL. - hosts: Multiple hosts to build the URL from. - username: The username part of the URL. - password: The password part of the URL. - host: The host part of the URL. - port: The port part of the URL. - path: The path part of the URL. - query: The query part of the URL, or omit for no query. - fragment: The fragment part of the URL, or omit for no fragment. - - Returns: - An instance of `MultiHostUrl` - """ - return cls( - _CoreMultiHostUrl.build( - scheme=scheme, - hosts=hosts, - username=username, - password=password, - host=host, - port=port, - path=path, - query=query, - fragment=fragment, - ) - ) - - @classmethod - def serialize_url(cls, url: Any, info: core_schema.SerializationInfo) -> str | Self: - if not isinstance(url, cls): - raise PydanticSerializationUnexpectedValue( - f"Expected `{cls}` but got `{type(url)}` with value `'{url}'` - serialized value may not be as expected." - ) - if info.mode == 'json': - return str(url) - return url - - @classmethod - def __get_pydantic_core_schema__( - cls, source: type[_BaseMultiHostUrl], handler: GetCoreSchemaHandler - ) -> core_schema.CoreSchema: - def wrap_val(v, h): - if isinstance(v, source): - return v - if isinstance(v, _BaseMultiHostUrl): - v = str(v) - core_url = h(v) - instance = source.__new__(source) - instance._url = core_url - return instance - - return core_schema.no_info_wrap_validator_function( - wrap_val, - schema=core_schema.multi_host_url_schema(**cls._constraints.defined_constraints), - serialization=core_schema.plain_serializer_function_ser_schema( - cls.serialize_url, info_arg=True, when_used='always' - ), - ) - - @classmethod - def __get_pydantic_json_schema__( - cls, core_schema: core_schema.CoreSchema, handler: _schema_generation_shared.GetJsonSchemaHandler - ) -> JsonSchemaValue: - # we use the url schema for json schema generation, but we might have to extract it from - # the function-wrap schema we use as a tool for validation on initialization - inner_schema = core_schema['schema'] if core_schema['type'] == 'function-wrap' else core_schema - return handler(inner_schema) - - __pydantic_serializer__ = SchemaSerializer(core_schema.any_schema(serialization=core_schema.to_string_ser_schema())) - - -@lru_cache -def _build_type_adapter(cls: type[_BaseUrl | _BaseMultiHostUrl]) -> TypeAdapter: - return TypeAdapter(cls) - - -class AnyUrl(_BaseUrl): - """Base type for all URLs. - - * Any scheme allowed - * Top-level domain (TLD) not required - * Host not required - - Assuming an input URL of `http://samuel:pass@example.com:8000/the/path/?query=here#fragment=is;this=bit`, - the types export the following properties: - - - `scheme`: the URL scheme (`http`), always set. - - `host`: the URL host (`example.com`). - - `username`: optional username if included (`samuel`). - - `password`: optional password if included (`pass`). - - `port`: optional port (`8000`). - - `path`: optional path (`/the/path/`). - - `query`: optional URL query (for example, `GET` arguments or "search string", such as `query=here`). - - `fragment`: optional fragment (`fragment=is;this=bit`). - """ - - -# Note: all single host urls inherit from `AnyUrl` to preserve compatibility with pre-v2.10 code -# Where urls were annotated variants of `AnyUrl`, which was an alias to `pydantic_core.Url` - - -class AnyHttpUrl(AnyUrl): - """A type that will accept any http or https URL. - - * TLD not required - * Host not required - """ - - _constraints = UrlConstraints(allowed_schemes=['http', 'https']) - - -class HttpUrl(AnyUrl): - """A type that will accept any http or https URL. - - * TLD not required - * Host not required - * Max length 2083 - - ```python - from pydantic import BaseModel, HttpUrl, ValidationError - - class MyModel(BaseModel): - url: HttpUrl - - m = MyModel(url='http://www.example.com') # (1)! - print(m.url) - #> http://www.example.com/ - - try: - MyModel(url='ftp://invalid.url') - except ValidationError as e: - print(e) - ''' - 1 validation error for MyModel - url - URL scheme should be 'http' or 'https' [type=url_scheme, input_value='ftp://invalid.url', input_type=str] - ''' - - try: - MyModel(url='not a url') - except ValidationError as e: - print(e) - ''' - 1 validation error for MyModel - url - Input should be a valid URL, relative URL without a base [type=url_parsing, input_value='not a url', input_type=str] - ''' - ``` - - 1. Note: mypy would prefer `m = MyModel(url=HttpUrl('http://www.example.com'))`, but Pydantic will convert the string to an HttpUrl instance anyway. - - "International domains" (e.g. a URL where the host or TLD includes non-ascii characters) will be encoded via - [punycode](https://en.wikipedia.org/wiki/Punycode) (see - [this article](https://www.xudongz.com/blog/2017/idn-phishing/) for a good description of why this is important): - - ```python - from pydantic import BaseModel, HttpUrl - - class MyModel(BaseModel): - url: HttpUrl - - m1 = MyModel(url='http://puny£code.com') - print(m1.url) - #> http://xn--punycode-eja.com/ - m2 = MyModel(url='https://www.аррӏе.com/') - print(m2.url) - #> https://www.xn--80ak6aa92e.com/ - m3 = MyModel(url='https://www.example.珠宝/') - print(m3.url) - #> https://www.example.xn--pbt977c/ - ``` - - - !!! warning "Underscores in Hostnames" - In Pydantic, underscores are allowed in all parts of a domain except the TLD. - Technically this might be wrong - in theory the hostname cannot have underscores, but subdomains can. - - To explain this; consider the following two cases: - - - `exam_ple.co.uk`: the hostname is `exam_ple`, which should not be allowed since it contains an underscore. - - `foo_bar.example.com` the hostname is `example`, which should be allowed since the underscore is in the subdomain. - - Without having an exhaustive list of TLDs, it would be impossible to differentiate between these two. Therefore - underscores are allowed, but you can always do further validation in a validator if desired. - - Also, Chrome, Firefox, and Safari all currently accept `http://exam_ple.com` as a URL, so we're in good - (or at least big) company. - """ - - _constraints = UrlConstraints(max_length=2083, allowed_schemes=['http', 'https']) - - -class AnyWebsocketUrl(AnyUrl): - """A type that will accept any ws or wss URL. - - * TLD not required - * Host not required - """ - - _constraints = UrlConstraints(allowed_schemes=['ws', 'wss']) - - -class WebsocketUrl(AnyUrl): - """A type that will accept any ws or wss URL. - - * TLD not required - * Host not required - * Max length 2083 - """ - - _constraints = UrlConstraints(max_length=2083, allowed_schemes=['ws', 'wss']) - - -class FileUrl(AnyUrl): - """A type that will accept any file URL. - - * Host not required - """ - - _constraints = UrlConstraints(allowed_schemes=['file']) - - -class FtpUrl(AnyUrl): - """A type that will accept ftp URL. - - * TLD not required - * Host not required - """ - - _constraints = UrlConstraints(allowed_schemes=['ftp']) - - -class PostgresDsn(_BaseMultiHostUrl): - """A type that will accept any Postgres DSN. - - * User info required - * TLD not required - * Host required - * Supports multiple hosts - - If further validation is required, these properties can be used by validators to enforce specific behaviour: - - ```python - from pydantic import ( - BaseModel, - HttpUrl, - PostgresDsn, - ValidationError, - field_validator, - ) - - class MyModel(BaseModel): - url: HttpUrl - - m = MyModel(url='http://www.example.com') - - # the repr() method for a url will display all properties of the url - print(repr(m.url)) - #> HttpUrl('http://www.example.com/') - print(m.url.scheme) - #> http - print(m.url.host) - #> www.example.com - print(m.url.port) - #> 80 - - class MyDatabaseModel(BaseModel): - db: PostgresDsn - - @field_validator('db') - def check_db_name(cls, v): - assert v.path and len(v.path) > 1, 'database must be provided' - return v - - m = MyDatabaseModel(db='postgres://user:pass@localhost:5432/foobar') - print(m.db) - #> postgres://user:pass@localhost:5432/foobar - - try: - MyDatabaseModel(db='postgres://user:pass@localhost:5432') - except ValidationError as e: - print(e) - ''' - 1 validation error for MyDatabaseModel - db - Assertion failed, database must be provided - assert (None) - + where None = PostgresDsn('postgres://user:pass@localhost:5432').path [type=assertion_error, input_value='postgres://user:pass@localhost:5432', input_type=str] - ''' - ``` - """ - - _constraints = UrlConstraints( +AnyUrl = Url +"""Base type for all URLs. + +* Any scheme allowed +* Top-level domain (TLD) not required +* Host required + +Assuming an input URL of `http://samuel:pass@example.com:8000/the/path/?query=here#fragment=is;this=bit`, +the types export the following properties: + +- `scheme`: the URL scheme (`http`), always set. +- `host`: the URL host (`example.com`), always set. +- `username`: optional username if included (`samuel`). +- `password`: optional password if included (`pass`). +- `port`: optional port (`8000`). +- `path`: optional path (`/the/path/`). +- `query`: optional URL query (for example, `GET` arguments or "search string", such as `query=here`). +- `fragment`: optional fragment (`fragment=is;this=bit`). +""" +AnyHttpUrl = Annotated[Url, UrlConstraints(allowed_schemes=['http', 'https'])] +"""A type that will accept any http or https URL. + +* TLD not required +* Host required +""" +HttpUrl = Annotated[Url, UrlConstraints(max_length=2083, allowed_schemes=['http', 'https'])] +"""A type that will accept any http or https URL. + +* TLD required +* Host required +* Max length 2083 + +```py +from pydantic import BaseModel, HttpUrl, ValidationError + +class MyModel(BaseModel): + url: HttpUrl + +m = MyModel(url='http://www.example.com') +print(m.url) +#> http://www.example.com/ + +try: + MyModel(url='ftp://invalid.url') +except ValidationError as e: + print(e) + ''' + 1 validation error for MyModel + url + URL scheme should be 'http' or 'https' [type=url_scheme, input_value='ftp://invalid.url', input_type=str] + ''' + +try: + MyModel(url='not a url') +except ValidationError as e: + print(e) + ''' + 1 validation error for MyModel + url + Input should be a valid URL, relative URL without a base [type=url_parsing, input_value='not a url', input_type=str] + ''' +``` + +"International domains" (e.g. a URL where the host or TLD includes non-ascii characters) will be encoded via +[punycode](https://en.wikipedia.org/wiki/Punycode) (see +[this article](https://www.xudongz.com/blog/2017/idn-phishing/) for a good description of why this is important): + +```py +from pydantic import BaseModel, HttpUrl + +class MyModel(BaseModel): + url: HttpUrl + +m1 = MyModel(url='http://puny£code.com') +print(m1.url) +#> http://xn--punycode-eja.com/ +m2 = MyModel(url='https://www.аррӏе.com/') +print(m2.url) +#> https://www.xn--80ak6aa92e.com/ +m3 = MyModel(url='https://www.example.珠宝/') +print(m3.url) +#> https://www.example.xn--pbt977c/ +``` + + +!!! warning "Underscores in Hostnames" + In Pydantic, underscores are allowed in all parts of a domain except the TLD. + Technically this might be wrong - in theory the hostname cannot have underscores, but subdomains can. + + To explain this; consider the following two cases: + + - `exam_ple.co.uk`: the hostname is `exam_ple`, which should not be allowed since it contains an underscore. + - `foo_bar.example.com` the hostname is `example`, which should be allowed since the underscore is in the subdomain. + + Without having an exhaustive list of TLDs, it would be impossible to differentiate between these two. Therefore + underscores are allowed, but you can always do further validation in a validator if desired. + + Also, Chrome, Firefox, and Safari all currently accept `http://exam_ple.com` as a URL, so we're in good + (or at least big) company. +""" +FileUrl = Annotated[Url, UrlConstraints(allowed_schemes=['file'])] +"""A type that will accept any file URL. + +* Host not required +""" +PostgresDsn = Annotated[ + MultiHostUrl, + UrlConstraints( host_required=True, allowed_schemes=[ 'postgres', @@ -760,116 +199,119 @@ class PostgresDsn(_BaseMultiHostUrl): 'postgresql+py-postgresql', 'postgresql+pygresql', ], - ) + ), +] +"""A type that will accept any Postgres DSN. - @property - def host(self) -> str: - """The required URL host.""" - return self._url.host # pyright: ignore[reportAttributeAccessIssue] +* User info required +* TLD not required +* Host required +* Supports multiple hosts +If further validation is required, these properties can be used by validators to enforce specific behaviour: -class CockroachDsn(AnyUrl): - """A type that will accept any Cockroach DSN. +```py +from pydantic import ( + BaseModel, + HttpUrl, + PostgresDsn, + ValidationError, + field_validator, +) - * User info required - * TLD not required - * Host required - """ +class MyModel(BaseModel): + url: HttpUrl - _constraints = UrlConstraints( +m = MyModel(url='http://www.example.com') + +# the repr() method for a url will display all properties of the url +print(repr(m.url)) +#> Url('http://www.example.com/') +print(m.url.scheme) +#> http +print(m.url.host) +#> www.example.com +print(m.url.port) +#> 80 + +class MyDatabaseModel(BaseModel): + db: PostgresDsn + + @field_validator('db') + def check_db_name(cls, v): + assert v.path and len(v.path) > 1, 'database must be provided' + return v + +m = MyDatabaseModel(db='postgres://user:pass@localhost:5432/foobar') +print(m.db) +#> postgres://user:pass@localhost:5432/foobar + +try: + MyDatabaseModel(db='postgres://user:pass@localhost:5432') +except ValidationError as e: + print(e) + ''' + 1 validation error for MyDatabaseModel + db + Assertion failed, database must be provided + assert (None) + + where None = MultiHostUrl('postgres://user:pass@localhost:5432').path [type=assertion_error, input_value='postgres://user:pass@localhost:5432', input_type=str] + ''' +``` +""" + +CockroachDsn = Annotated[ + Url, + UrlConstraints( host_required=True, allowed_schemes=[ 'cockroachdb', 'cockroachdb+psycopg2', 'cockroachdb+asyncpg', ], - ) + ), +] +"""A type that will accept any Cockroach DSN. - @property - def host(self) -> str: - """The required URL host.""" - return self._url.host # pyright: ignore[reportReturnType] +* User info required +* TLD not required +* Host required +""" +AmqpDsn = Annotated[Url, UrlConstraints(allowed_schemes=['amqp', 'amqps'])] +"""A type that will accept any AMQP DSN. +* User info required +* TLD not required +* Host required +""" +RedisDsn = Annotated[ + Url, + UrlConstraints(allowed_schemes=['redis', 'rediss'], default_host='localhost', default_port=6379, default_path='/0'), +] +"""A type that will accept any Redis DSN. -class AmqpDsn(AnyUrl): - """A type that will accept any AMQP DSN. +* User info required +* TLD not required +* Host required (e.g., `rediss://:pass@localhost`) +""" +MongoDsn = Annotated[MultiHostUrl, UrlConstraints(allowed_schemes=['mongodb', 'mongodb+srv'], default_port=27017)] +"""A type that will accept any MongoDB DSN. - * User info required - * TLD not required - * Host not required - """ +* User info not required +* Database name not required +* Port not required +* User info may be passed without user part (e.g., `mongodb://mongodb0.example.com:27017`). +""" +KafkaDsn = Annotated[Url, UrlConstraints(allowed_schemes=['kafka'], default_host='localhost', default_port=9092)] +"""A type that will accept any Kafka DSN. - _constraints = UrlConstraints(allowed_schemes=['amqp', 'amqps']) - - -class RedisDsn(AnyUrl): - """A type that will accept any Redis DSN. - - * User info required - * TLD not required - * Host required (e.g., `rediss://:pass@localhost`) - """ - - _constraints = UrlConstraints( - allowed_schemes=['redis', 'rediss'], - default_host='localhost', - default_port=6379, - default_path='/0', - host_required=True, - ) - - @property - def host(self) -> str: - """The required URL host.""" - return self._url.host # pyright: ignore[reportReturnType] - - -class MongoDsn(_BaseMultiHostUrl): - """A type that will accept any MongoDB DSN. - - * User info not required - * Database name not required - * Port not required - * User info may be passed without user part (e.g., `mongodb://mongodb0.example.com:27017`). - """ - - _constraints = UrlConstraints(allowed_schemes=['mongodb', 'mongodb+srv'], default_port=27017) - - -class KafkaDsn(AnyUrl): - """A type that will accept any Kafka DSN. - - * User info required - * TLD not required - * Host not required - """ - - _constraints = UrlConstraints(allowed_schemes=['kafka'], default_host='localhost', default_port=9092) - - -class NatsDsn(_BaseMultiHostUrl): - """A type that will accept any NATS DSN. - - NATS is a connective technology built for the ever increasingly hyper-connected world. - It is a single technology that enables applications to securely communicate across - any combination of cloud vendors, on-premise, edge, web and mobile, and devices. - More: https://nats.io - """ - - _constraints = UrlConstraints( - allowed_schemes=['nats', 'tls', 'ws', 'wss'], default_host='localhost', default_port=4222 - ) - - -class MySQLDsn(AnyUrl): - """A type that will accept any MySQL DSN. - - * User info required - * TLD not required - * Host not required - """ - - _constraints = UrlConstraints( +* User info required +* TLD not required +* Host required +""" +MySQLDsn = Annotated[ + Url, + UrlConstraints( allowed_schemes=[ 'mysql', 'mysql+mysqlconnector', @@ -881,63 +323,27 @@ class MySQLDsn(AnyUrl): 'mysql+pyodbc', ], default_port=3306, - host_required=True, - ) + ), +] +"""A type that will accept any MySQL DSN. - -class MariaDBDsn(AnyUrl): - """A type that will accept any MariaDB DSN. - - * User info required - * TLD not required - * Host not required - """ - - _constraints = UrlConstraints( +* User info required +* TLD not required +* Host required +""" +MariaDBDsn = Annotated[ + Url, + UrlConstraints( allowed_schemes=['mariadb', 'mariadb+mariadbconnector', 'mariadb+pymysql'], default_port=3306, - ) + ), +] +"""A type that will accept any MariaDB DSN. - -class ClickHouseDsn(AnyUrl): - """A type that will accept any ClickHouse DSN. - - * User info required - * TLD not required - * Host not required - """ - - _constraints = UrlConstraints( - allowed_schemes=[ - 'clickhouse+native', - 'clickhouse+asynch', - 'clickhouse+http', - 'clickhouse', - 'clickhouses', - 'clickhousedb', - ], - default_host='localhost', - default_port=9000, - ) - - -class SnowflakeDsn(AnyUrl): - """A type that will accept any Snowflake DSN. - - * User info required - * TLD not required - * Host required - """ - - _constraints = UrlConstraints( - allowed_schemes=['snowflake'], - host_required=True, - ) - - @property - def host(self) -> str: - """The required URL host.""" - return self._url.host # pyright: ignore[reportReturnType] +* User info required +* TLD not required +* Host required +""" def import_email_validator() -> None: @@ -946,8 +352,6 @@ def import_email_validator() -> None: import email_validator except ImportError as e: raise ImportError('email-validator is not installed, run `pip install pydantic[email]`') from e - if not version('email-validator').partition('.')[0] == '2': - raise ImportError('email-validator version >= 2.0 required, run pip install -U email-validator') if TYPE_CHECKING: @@ -966,7 +370,7 @@ else: Validate email addresses. - ```python + ```py from pydantic import BaseModel, EmailStr class Model(BaseModel): @@ -995,8 +399,8 @@ else: return field_schema @classmethod - def _validate(cls, input_value: str, /) -> str: - return validate_email(input_value)[1] + def _validate(cls, __input_value: str) -> str: + return validate_email(__input_value)[1] class NameEmail(_repr.Representation): @@ -1015,7 +419,7 @@ class NameEmail(_repr.Representation): The `NameEmail` has two properties: `name` and `email`. In case the `name` is not provided, it's inferred from the email address. - ```python + ```py from pydantic import BaseModel, NameEmail class User(BaseModel): @@ -1059,197 +463,182 @@ class NameEmail(_repr.Representation): _handler: GetCoreSchemaHandler, ) -> core_schema.CoreSchema: import_email_validator() - return core_schema.no_info_after_validator_function( cls._validate, - core_schema.json_or_python_schema( - json_schema=core_schema.str_schema(), - python_schema=core_schema.union_schema( - [core_schema.is_instance_schema(cls), core_schema.str_schema()], - custom_error_type='name_email_type', - custom_error_message='Input is not a valid NameEmail', - ), - serialization=core_schema.to_string_ser_schema(), + core_schema.union_schema( + [core_schema.is_instance_schema(cls), core_schema.str_schema()], + custom_error_type='name_email_type', + custom_error_message='Input is not a valid NameEmail', ), + serialization=core_schema.to_string_ser_schema(), ) @classmethod - def _validate(cls, input_value: Self | str, /) -> Self: - if isinstance(input_value, str): - name, email = validate_email(input_value) - return cls(name, email) + def _validate(cls, __input_value: NameEmail | str) -> NameEmail: + if isinstance(__input_value, cls): + return __input_value else: - return input_value + name, email = validate_email(__input_value) # type: ignore[arg-type] + return cls(name, email) def __str__(self) -> str: - if '@' in self.name: - return f'"{self.name}" <{self.email}>' - return f'{self.name} <{self.email}>' -IPvAnyAddressType: TypeAlias = 'IPv4Address | IPv6Address' -IPvAnyInterfaceType: TypeAlias = 'IPv4Interface | IPv6Interface' -IPvAnyNetworkType: TypeAlias = 'IPv4Network | IPv6Network' +class IPvAnyAddress: + """Validate an IPv4 or IPv6 address. -if TYPE_CHECKING: - IPvAnyAddress = IPvAnyAddressType - IPvAnyInterface = IPvAnyInterfaceType - IPvAnyNetwork = IPvAnyNetworkType -else: + ```py + from pydantic import BaseModel + from pydantic.networks import IPvAnyAddress - class IPvAnyAddress: - """Validate an IPv4 or IPv6 address. + class IpModel(BaseModel): + ip: IPvAnyAddress - ```python - from pydantic import BaseModel - from pydantic.networks import IPvAnyAddress + print(IpModel(ip='127.0.0.1')) + #> ip=IPv4Address('127.0.0.1') - class IpModel(BaseModel): - ip: IPvAnyAddress + try: + IpModel(ip='http://www.example.com') + except ValueError as e: + print(e.errors()) + ''' + [ + { + 'type': 'ip_any_address', + 'loc': ('ip',), + 'msg': 'value is not a valid IPv4 or IPv6 address', + 'input': 'http://www.example.com', + } + ] + ''' + ``` + """ - print(IpModel(ip='127.0.0.1')) - #> ip=IPv4Address('127.0.0.1') + __slots__ = () + + def __new__(cls, value: Any) -> IPv4Address | IPv6Address: + """Validate an IPv4 or IPv6 address.""" + try: + return IPv4Address(value) + except ValueError: + pass try: - IpModel(ip='http://www.example.com') - except ValueError as e: - print(e.errors()) - ''' - [ - { - 'type': 'ip_any_address', - 'loc': ('ip',), - 'msg': 'value is not a valid IPv4 or IPv6 address', - 'input': 'http://www.example.com', - } - ] - ''' - ``` - """ + return IPv6Address(value) + except ValueError: + raise PydanticCustomError('ip_any_address', 'value is not a valid IPv4 or IPv6 address') - __slots__ = () + @classmethod + def __get_pydantic_json_schema__( + cls, core_schema: core_schema.CoreSchema, handler: _schema_generation_shared.GetJsonSchemaHandler + ) -> JsonSchemaValue: + field_schema = {} + field_schema.update(type='string', format='ipvanyaddress') + return field_schema - def __new__(cls, value: Any) -> IPvAnyAddressType: - """Validate an IPv4 or IPv6 address.""" - try: - return IPv4Address(value) - except ValueError: - pass + @classmethod + def __get_pydantic_core_schema__( + cls, + _source: type[Any], + _handler: GetCoreSchemaHandler, + ) -> core_schema.CoreSchema: + return core_schema.no_info_plain_validator_function( + cls._validate, serialization=core_schema.to_string_ser_schema() + ) - try: - return IPv6Address(value) - except ValueError: - raise PydanticCustomError('ip_any_address', 'value is not a valid IPv4 or IPv6 address') + @classmethod + def _validate(cls, __input_value: Any) -> IPv4Address | IPv6Address: + return cls(__input_value) # type: ignore[return-value] - @classmethod - def __get_pydantic_json_schema__( - cls, core_schema: core_schema.CoreSchema, handler: _schema_generation_shared.GetJsonSchemaHandler - ) -> JsonSchemaValue: - field_schema = {} - field_schema.update(type='string', format='ipvanyaddress') - return field_schema - @classmethod - def __get_pydantic_core_schema__( - cls, - _source: type[Any], - _handler: GetCoreSchemaHandler, - ) -> core_schema.CoreSchema: - return core_schema.no_info_plain_validator_function( - cls._validate, serialization=core_schema.to_string_ser_schema() - ) +class IPvAnyInterface: + """Validate an IPv4 or IPv6 interface.""" - @classmethod - def _validate(cls, input_value: Any, /) -> IPvAnyAddressType: - return cls(input_value) # type: ignore[return-value] + __slots__ = () - class IPvAnyInterface: + def __new__(cls, value: NetworkType) -> IPv4Interface | IPv6Interface: """Validate an IPv4 or IPv6 interface.""" + try: + return IPv4Interface(value) + except ValueError: + pass - __slots__ = () + try: + return IPv6Interface(value) + except ValueError: + raise PydanticCustomError('ip_any_interface', 'value is not a valid IPv4 or IPv6 interface') - def __new__(cls, value: NetworkType) -> IPvAnyInterfaceType: - """Validate an IPv4 or IPv6 interface.""" - try: - return IPv4Interface(value) - except ValueError: - pass + @classmethod + def __get_pydantic_json_schema__( + cls, core_schema: core_schema.CoreSchema, handler: _schema_generation_shared.GetJsonSchemaHandler + ) -> JsonSchemaValue: + field_schema = {} + field_schema.update(type='string', format='ipvanyinterface') + return field_schema - try: - return IPv6Interface(value) - except ValueError: - raise PydanticCustomError('ip_any_interface', 'value is not a valid IPv4 or IPv6 interface') + @classmethod + def __get_pydantic_core_schema__( + cls, + _source: type[Any], + _handler: GetCoreSchemaHandler, + ) -> core_schema.CoreSchema: + return core_schema.no_info_plain_validator_function( + cls._validate, serialization=core_schema.to_string_ser_schema() + ) - @classmethod - def __get_pydantic_json_schema__( - cls, core_schema: core_schema.CoreSchema, handler: _schema_generation_shared.GetJsonSchemaHandler - ) -> JsonSchemaValue: - field_schema = {} - field_schema.update(type='string', format='ipvanyinterface') - return field_schema + @classmethod + def _validate(cls, __input_value: NetworkType) -> IPv4Interface | IPv6Interface: + return cls(__input_value) # type: ignore[return-value] - @classmethod - def __get_pydantic_core_schema__( - cls, - _source: type[Any], - _handler: GetCoreSchemaHandler, - ) -> core_schema.CoreSchema: - return core_schema.no_info_plain_validator_function( - cls._validate, serialization=core_schema.to_string_ser_schema() - ) - @classmethod - def _validate(cls, input_value: NetworkType, /) -> IPvAnyInterfaceType: - return cls(input_value) # type: ignore[return-value] +class IPvAnyNetwork: + """Validate an IPv4 or IPv6 network.""" - class IPvAnyNetwork: + __slots__ = () + + def __new__(cls, value: NetworkType) -> IPv4Network | IPv6Network: """Validate an IPv4 or IPv6 network.""" + # Assume IP Network is defined with a default value for `strict` argument. + # Define your own class if you want to specify network address check strictness. + try: + return IPv4Network(value) + except ValueError: + pass - __slots__ = () + try: + return IPv6Network(value) + except ValueError: + raise PydanticCustomError('ip_any_network', 'value is not a valid IPv4 or IPv6 network') - def __new__(cls, value: NetworkType) -> IPvAnyNetworkType: - """Validate an IPv4 or IPv6 network.""" - # Assume IP Network is defined with a default value for `strict` argument. - # Define your own class if you want to specify network address check strictness. - try: - return IPv4Network(value) - except ValueError: - pass + @classmethod + def __get_pydantic_json_schema__( + cls, core_schema: core_schema.CoreSchema, handler: _schema_generation_shared.GetJsonSchemaHandler + ) -> JsonSchemaValue: + field_schema = {} + field_schema.update(type='string', format='ipvanynetwork') + return field_schema - try: - return IPv6Network(value) - except ValueError: - raise PydanticCustomError('ip_any_network', 'value is not a valid IPv4 or IPv6 network') + @classmethod + def __get_pydantic_core_schema__( + cls, + _source: type[Any], + _handler: GetCoreSchemaHandler, + ) -> core_schema.CoreSchema: + return core_schema.no_info_plain_validator_function( + cls._validate, serialization=core_schema.to_string_ser_schema() + ) - @classmethod - def __get_pydantic_json_schema__( - cls, core_schema: core_schema.CoreSchema, handler: _schema_generation_shared.GetJsonSchemaHandler - ) -> JsonSchemaValue: - field_schema = {} - field_schema.update(type='string', format='ipvanynetwork') - return field_schema - - @classmethod - def __get_pydantic_core_schema__( - cls, - _source: type[Any], - _handler: GetCoreSchemaHandler, - ) -> core_schema.CoreSchema: - return core_schema.no_info_plain_validator_function( - cls._validate, serialization=core_schema.to_string_ser_schema() - ) - - @classmethod - def _validate(cls, input_value: NetworkType, /) -> IPvAnyNetworkType: - return cls(input_value) # type: ignore[return-value] + @classmethod + def _validate(cls, __input_value: NetworkType) -> IPv4Network | IPv6Network: + return cls(__input_value) # type: ignore[return-value] def _build_pretty_email_regex() -> re.Pattern[str]: name_chars = r'[\w!#$%&\'*+\-/=?^_`{|}~]' - unquoted_name_group = rf'((?:{name_chars}+\s+)*{name_chars}+)' + unquoted_name_group = fr'((?:{name_chars}+\s+)*{name_chars}+)' quoted_name_group = r'"((?:[^"]|\")+)"' - email_group = r'<(.+)>' + email_group = r'<\s*(.+)\s*>' return re.compile(rf'\s*(?:{unquoted_name_group}|{quoted_name_group})?\s*{email_group}\s*') @@ -1264,13 +653,6 @@ A somewhat arbitrary but very generous number compared to what is allowed by mos def validate_email(value: str) -> tuple[str, str]: """Email address validation using [email-validator](https://pypi.org/project/email-validator/). - Returns: - A tuple containing the local part of the email (or the name for "pretty" email addresses) - and the normalized email. - - Raises: - PydanticCustomError: If the email is invalid. - Note: Note that: diff --git a/venv/lib/python3.12/site-packages/pydantic/parse.py b/venv/lib/python3.12/site-packages/pydantic/parse.py index 68b7f04..ceee634 100644 --- a/venv/lib/python3.12/site-packages/pydantic/parse.py +++ b/venv/lib/python3.12/site-packages/pydantic/parse.py @@ -1,5 +1,4 @@ """The `parse` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/plugin/__init__.py b/venv/lib/python3.12/site-packages/pydantic/plugin/__init__.py index 3620305..78d2271 100644 --- a/venv/lib/python3.12/site-packages/pydantic/plugin/__init__.py +++ b/venv/lib/python3.12/site-packages/pydantic/plugin/__init__.py @@ -1,12 +1,10 @@ -"""!!! abstract "Usage Documentation" - [Build a Plugin](../concepts/plugins.md#build-a-plugin) +"""Usage docs: https://docs.pydantic.dev/2.4/concepts/plugins#build-a-plugin Plugin interface for Pydantic plugins, and related types. """ - from __future__ import annotations -from typing import Any, Callable, Literal, NamedTuple +from typing import Any, Callable from pydantic_core import CoreConfig, CoreSchema, ValidationError from typing_extensions import Protocol, TypeAlias @@ -18,32 +16,17 @@ __all__ = ( 'ValidateJsonHandlerProtocol', 'ValidateStringsHandlerProtocol', 'NewSchemaReturns', - 'SchemaTypePath', - 'SchemaKind', ) NewSchemaReturns: TypeAlias = 'tuple[ValidatePythonHandlerProtocol | None, ValidateJsonHandlerProtocol | None, ValidateStringsHandlerProtocol | None]' -class SchemaTypePath(NamedTuple): - """Path defining where `schema_type` was defined, or where `TypeAdapter` was called.""" - - module: str - name: str - - -SchemaKind: TypeAlias = Literal['BaseModel', 'TypeAdapter', 'dataclass', 'create_model', 'validate_call'] - - class PydanticPluginProtocol(Protocol): """Protocol defining the interface for Pydantic plugins.""" def new_schema_validator( self, schema: CoreSchema, - schema_type: Any, - schema_type_path: SchemaTypePath, - schema_kind: SchemaKind, config: CoreConfig | None, plugin_settings: dict[str, object], ) -> tuple[ @@ -57,9 +40,6 @@ class PydanticPluginProtocol(Protocol): Args: schema: The schema to validate against. - schema_type: The original type which the schema was created from, e.g. the model class. - schema_type_path: Path defining where `schema_type` was defined, or where `TypeAdapter` was called. - schema_kind: The kind of schema to validate against. config: The config to use for validation. plugin_settings: Any plugin settings. @@ -96,14 +76,6 @@ class BaseValidateHandlerProtocol(Protocol): """ return - def on_exception(self, exception: Exception) -> None: - """Callback to be notified of validation exceptions. - - Args: - exception: The exception raised during validation. - """ - return - class ValidatePythonHandlerProtocol(BaseValidateHandlerProtocol, Protocol): """Event handler for `SchemaValidator.validate_python`.""" @@ -116,8 +88,6 @@ class ValidatePythonHandlerProtocol(BaseValidateHandlerProtocol, Protocol): from_attributes: bool | None = None, context: dict[str, Any] | None = None, self_instance: Any | None = None, - by_alias: bool | None = None, - by_name: bool | None = None, ) -> None: """Callback to be notified of validation start, and create an instance of the event handler. @@ -128,8 +98,6 @@ class ValidatePythonHandlerProtocol(BaseValidateHandlerProtocol, Protocol): context: The context to use for validation, this is passed to functional validators. self_instance: An instance of a model to set attributes on from validation, this is used when running validation from the `__init__` method of a model. - by_alias: Whether to use the field's alias to match the input data to an attribute. - by_name: Whether to use the field's name to match the input data to an attribute. """ pass @@ -144,8 +112,6 @@ class ValidateJsonHandlerProtocol(BaseValidateHandlerProtocol, Protocol): strict: bool | None = None, context: dict[str, Any] | None = None, self_instance: Any | None = None, - by_alias: bool | None = None, - by_name: bool | None = None, ) -> None: """Callback to be notified of validation start, and create an instance of the event handler. @@ -155,8 +121,6 @@ class ValidateJsonHandlerProtocol(BaseValidateHandlerProtocol, Protocol): context: The context to use for validation, this is passed to functional validators. self_instance: An instance of a model to set attributes on from validation, this is used when running validation from the `__init__` method of a model. - by_alias: Whether to use the field's alias to match the input data to an attribute. - by_name: Whether to use the field's name to match the input data to an attribute. """ pass @@ -168,13 +132,7 @@ class ValidateStringsHandlerProtocol(BaseValidateHandlerProtocol, Protocol): """Event handler for `SchemaValidator.validate_strings`.""" def on_enter( - self, - input: StringInput, - *, - strict: bool | None = None, - context: dict[str, Any] | None = None, - by_alias: bool | None = None, - by_name: bool | None = None, + self, input: StringInput, *, strict: bool | None = None, context: dict[str, Any] | None = None ) -> None: """Callback to be notified of validation start, and create an instance of the event handler. @@ -182,7 +140,5 @@ class ValidateStringsHandlerProtocol(BaseValidateHandlerProtocol, Protocol): input: The string data to be validated. strict: Whether to validate the object in strict mode. context: The context to use for validation, this is passed to functional validators. - by_alias: Whether to use the field's alias to match the input data to an attribute. - by_name: Whether to use the field's name to match the input data to an attribute. """ pass diff --git a/venv/lib/python3.12/site-packages/pydantic/plugin/_loader.py b/venv/lib/python3.12/site-packages/pydantic/plugin/_loader.py index 7d1f0f2..b30143b 100644 --- a/venv/lib/python3.12/site-packages/pydantic/plugin/_loader.py +++ b/venv/lib/python3.12/site-packages/pydantic/plugin/_loader.py @@ -1,10 +1,16 @@ from __future__ import annotations -import importlib.metadata as importlib_metadata -import os +import sys import warnings -from collections.abc import Iterable -from typing import TYPE_CHECKING, Final +from typing import TYPE_CHECKING, Iterable + +from typing_extensions import Final + +if sys.version_info >= (3, 8): + import importlib.metadata as importlib_metadata +else: + import importlib_metadata + if TYPE_CHECKING: from . import PydanticPluginProtocol @@ -24,13 +30,10 @@ def get_plugins() -> Iterable[PydanticPluginProtocol]: Inspired by: https://github.com/pytest-dev/pluggy/blob/1.3.0/src/pluggy/_manager.py#L376-L402 """ - disabled_plugins = os.getenv('PYDANTIC_DISABLE_PLUGINS') global _plugins, _loading_plugins if _loading_plugins: # this happens when plugins themselves use pydantic, we return no plugins return () - elif disabled_plugins in ('__all__', '1', 'true'): - return () elif _plugins is None: _plugins = {} # set _loading_plugins so any plugins that use pydantic don't themselves use plugins @@ -42,8 +45,6 @@ def get_plugins() -> Iterable[PydanticPluginProtocol]: continue if entry_point.value in _plugins: continue - if disabled_plugins is not None and entry_point.name in disabled_plugins.split(','): - continue try: _plugins[entry_point.value] = entry_point.load() except (ImportError, AttributeError) as e: diff --git a/venv/lib/python3.12/site-packages/pydantic/plugin/_schema_validator.py b/venv/lib/python3.12/site-packages/pydantic/plugin/_schema_validator.py index 83f2562..2ab16ce 100644 --- a/venv/lib/python3.12/site-packages/pydantic/plugin/_schema_validator.py +++ b/venv/lib/python3.12/site-packages/pydantic/plugin/_schema_validator.py @@ -1,16 +1,14 @@ """Pluggable schema validator for pydantic.""" - from __future__ import annotations import functools -from collections.abc import Iterable -from typing import TYPE_CHECKING, Any, Callable, Literal, TypeVar +from typing import TYPE_CHECKING, Any, Callable, Iterable, TypeVar from pydantic_core import CoreConfig, CoreSchema, SchemaValidator, ValidationError -from typing_extensions import ParamSpec +from typing_extensions import Literal, ParamSpec if TYPE_CHECKING: - from . import BaseValidateHandlerProtocol, PydanticPluginProtocol, SchemaKind, SchemaTypePath + from . import BaseValidateHandlerProtocol, PydanticPluginProtocol P = ParamSpec('P') @@ -20,33 +18,18 @@ events: list[Event] = list(Event.__args__) # type: ignore def create_schema_validator( - schema: CoreSchema, - schema_type: Any, - schema_type_module: str, - schema_type_name: str, - schema_kind: SchemaKind, - config: CoreConfig | None = None, - plugin_settings: dict[str, Any] | None = None, -) -> SchemaValidator | PluggableSchemaValidator: + schema: CoreSchema, config: CoreConfig | None = None, plugin_settings: dict[str, Any] | None = None +) -> SchemaValidator: """Create a `SchemaValidator` or `PluggableSchemaValidator` if plugins are installed. Returns: If plugins are installed then return `PluggableSchemaValidator`, otherwise return `SchemaValidator`. """ - from . import SchemaTypePath from ._loader import get_plugins plugins = get_plugins() if plugins: - return PluggableSchemaValidator( - schema, - schema_type, - SchemaTypePath(schema_type_module, schema_type_name), - schema_kind, - config, - plugins, - plugin_settings or {}, - ) + return PluggableSchemaValidator(schema, config, plugins, plugin_settings or {}) # type: ignore else: return SchemaValidator(schema, config) @@ -59,9 +42,6 @@ class PluggableSchemaValidator: def __init__( self, schema: CoreSchema, - schema_type: Any, - schema_type_path: SchemaTypePath, - schema_kind: SchemaKind, config: CoreConfig | None, plugins: Iterable[PydanticPluginProtocol], plugin_settings: dict[str, Any], @@ -72,12 +52,7 @@ class PluggableSchemaValidator: json_event_handlers: list[BaseValidateHandlerProtocol] = [] strings_event_handlers: list[BaseValidateHandlerProtocol] = [] for plugin in plugins: - try: - p, j, s = plugin.new_schema_validator( - schema, schema_type, schema_type_path, schema_kind, config, plugin_settings - ) - except TypeError as e: # pragma: no cover - raise TypeError(f'Error using plugin `{plugin.__module__}:{plugin.__class__.__name__}`: {e}') from e + p, j, s = plugin.new_schema_validator(schema, config, plugin_settings) if p is not None: python_event_handlers.append(p) if j is not None: @@ -100,7 +75,6 @@ def build_wrapper(func: Callable[P, R], event_handlers: list[BaseValidateHandler on_enters = tuple(h.on_enter for h in event_handlers if filter_handlers(h, 'on_enter')) on_successes = tuple(h.on_success for h in event_handlers if filter_handlers(h, 'on_success')) on_errors = tuple(h.on_error for h in event_handlers if filter_handlers(h, 'on_error')) - on_exceptions = tuple(h.on_exception for h in event_handlers if filter_handlers(h, 'on_exception')) @functools.wraps(func) def wrapper(*args: P.args, **kwargs: P.kwargs) -> R: @@ -113,10 +87,6 @@ def build_wrapper(func: Callable[P, R], event_handlers: list[BaseValidateHandler for on_error_handler in on_errors: on_error_handler(error) raise - except Exception as exception: - for on_exception_handler in on_exceptions: - on_exception_handler(exception) - raise else: for on_success_handler in on_successes: on_success_handler(result) diff --git a/venv/lib/python3.12/site-packages/pydantic/root_model.py b/venv/lib/python3.12/site-packages/pydantic/root_model.py index 8b3ff01..da78831 100644 --- a/venv/lib/python3.12/site-packages/pydantic/root_model.py +++ b/venv/lib/python3.12/site-packages/pydantic/root_model.py @@ -8,33 +8,25 @@ from copy import copy, deepcopy from pydantic_core import PydanticUndefined from . import PydanticUserError -from ._internal import _model_construction, _repr +from ._internal import _repr from .main import BaseModel, _object_setattr if typing.TYPE_CHECKING: - from typing import Any, Literal + from typing import Any - from typing_extensions import Self, dataclass_transform + from typing_extensions import Literal - from .fields import Field as PydanticModelField - from .fields import PrivateAttr as PydanticModelPrivateAttr + Model = typing.TypeVar('Model', bound='BaseModel') - # dataclass_transform could be applied to RootModel directly, but `ModelMetaclass`'s dataclass_transform - # takes priority (at least with pyright). We trick type checkers into thinking we apply dataclass_transform - # on a new metaclass. - @dataclass_transform(kw_only_default=False, field_specifiers=(PydanticModelField, PydanticModelPrivateAttr)) - class _RootModelMetaclass(_model_construction.ModelMetaclass): ... -else: - _RootModelMetaclass = _model_construction.ModelMetaclass __all__ = ('RootModel',) + RootModelRootType = typing.TypeVar('RootModelRootType') -class RootModel(BaseModel, typing.Generic[RootModelRootType], metaclass=_RootModelMetaclass): - """!!! abstract "Usage Documentation" - [`RootModel` and Custom Root Types](../concepts/models.md#rootmodel-and-custom-root-types) +class RootModel(BaseModel, typing.Generic[RootModelRootType]): + """Usage docs: https://docs.pydantic.dev/2.4/concepts/models/#rootmodel-and-custom-root-types A Pydantic `BaseModel` for the root object of the model. @@ -60,7 +52,7 @@ class RootModel(BaseModel, typing.Generic[RootModelRootType], metaclass=_RootMod ) super().__init_subclass__(**kwargs) - def __init__(self, /, root: RootModelRootType = PydanticUndefined, **data) -> None: # type: ignore + def __init__(__pydantic_self__, root: RootModelRootType = PydanticUndefined, **data) -> None: # type: ignore __tracebackhide__ = True if data: if root is not PydanticUndefined: @@ -68,12 +60,12 @@ class RootModel(BaseModel, typing.Generic[RootModelRootType], metaclass=_RootMod '"RootModel.__init__" accepts either a single positional argument or arbitrary keyword arguments' ) root = data # type: ignore - self.__pydantic_validator__.validate_python(root, self_instance=self) + __pydantic_self__.__pydantic_validator__.validate_python(root, self_instance=__pydantic_self__) - __init__.__pydantic_base_init__ = True # pyright: ignore[reportFunctionMemberAccess] + __init__.__pydantic_base_init__ = True @classmethod - def model_construct(cls, root: RootModelRootType, _fields_set: set[str] | None = None) -> Self: # type: ignore + def model_construct(cls: type[Model], root: RootModelRootType, _fields_set: set[str] | None = None) -> Model: """Create a new model using the provided root object and update fields set. Args: @@ -98,7 +90,7 @@ class RootModel(BaseModel, typing.Generic[RootModelRootType], metaclass=_RootMod _object_setattr(self, '__pydantic_fields_set__', state['__pydantic_fields_set__']) _object_setattr(self, '__dict__', state['__dict__']) - def __copy__(self) -> Self: + def __copy__(self: Model) -> Model: """Returns a shallow copy of the model.""" cls = type(self) m = cls.__new__(cls) @@ -106,7 +98,7 @@ class RootModel(BaseModel, typing.Generic[RootModelRootType], metaclass=_RootMod _object_setattr(m, '__pydantic_fields_set__', copy(self.__pydantic_fields_set__)) return m - def __deepcopy__(self, memo: dict[int, Any] | None = None) -> Self: + def __deepcopy__(self: Model, memo: dict[int, Any] | None = None) -> Model: """Returns a deep copy of the model.""" cls = type(self) m = cls.__new__(cls) @@ -118,40 +110,30 @@ class RootModel(BaseModel, typing.Generic[RootModelRootType], metaclass=_RootMod if typing.TYPE_CHECKING: - def model_dump( # type: ignore + def model_dump( self, *, mode: Literal['json', 'python'] | str = 'python', include: Any = None, exclude: Any = None, - context: dict[str, Any] | None = None, - by_alias: bool | None = None, + by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, - warnings: bool | Literal['none', 'warn', 'error'] = True, - serialize_as_any: bool = False, - ) -> Any: + warnings: bool = True, + ) -> RootModelRootType: """This method is included just to get a more accurate return type for type checkers. It is included in this `if TYPE_CHECKING:` block since no override is actually necessary. See the documentation of `BaseModel.model_dump` for more details about the arguments. - - Generally, this method will have a return type of `RootModelRootType`, assuming that `RootModelRootType` is - not a `BaseModel` subclass. If `RootModelRootType` is a `BaseModel` subclass, then the return - type will likely be `dict[str, Any]`, as `model_dump` calls are recursive. The return type could - even be something different, in the case of a custom serializer. - Thus, `Any` is used here to catch all of these cases. """ ... def __eq__(self, other: Any) -> bool: if not isinstance(other, RootModel): return NotImplemented - return self.__pydantic_fields__['root'].annotation == other.__pydantic_fields__[ - 'root' - ].annotation and super().__eq__(other) + return self.model_fields['root'].annotation == other.model_fields['root'].annotation and super().__eq__(other) def __repr_args__(self) -> _repr.ReprArgs: yield 'root', self.root diff --git a/venv/lib/python3.12/site-packages/pydantic/schema.py b/venv/lib/python3.12/site-packages/pydantic/schema.py index a3245a6..e290aed 100644 --- a/venv/lib/python3.12/site-packages/pydantic/schema.py +++ b/venv/lib/python3.12/site-packages/pydantic/schema.py @@ -1,5 +1,4 @@ """The `schema` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/tools.py b/venv/lib/python3.12/site-packages/pydantic/tools.py index fdc68c4..8e317c9 100644 --- a/venv/lib/python3.12/site-packages/pydantic/tools.py +++ b/venv/lib/python3.12/site-packages/pydantic/tools.py @@ -1,5 +1,4 @@ """The `tools` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/type_adapter.py b/venv/lib/python3.12/site-packages/pydantic/type_adapter.py index a6cdaba..4ee100f 100644 --- a/venv/lib/python3.12/site-packages/pydantic/type_adapter.py +++ b/venv/lib/python3.12/site-packages/pydantic/type_adapter.py @@ -1,30 +1,93 @@ -"""Type adapter specification.""" +""" +You may have types that are not `BaseModel`s that you want to validate data against. +Or you may want to validate a `List[SomeModel]`, or dump it to JSON. +For use cases like this, Pydantic provides [`TypeAdapter`][pydantic.type_adapter.TypeAdapter], +which can be used for type validation, serialization, and JSON schema generation without creating a +[`BaseModel`][pydantic.main.BaseModel]. + +A [`TypeAdapter`][pydantic.type_adapter.TypeAdapter] instance exposes some of the functionality from +[`BaseModel`][pydantic.main.BaseModel] instance methods for types that do not have such methods +(such as dataclasses, primitive types, and more): + +```py +from typing import List + +from typing_extensions import TypedDict + +from pydantic import TypeAdapter, ValidationError + +class User(TypedDict): + name: str + id: int + +UserListValidator = TypeAdapter(List[User]) +print(repr(UserListValidator.validate_python([{'name': 'Fred', 'id': '3'}]))) +#> [{'name': 'Fred', 'id': 3}] + +try: + UserListValidator.validate_python( + [{'name': 'Fred', 'id': 'wrong', 'other': 'no'}] + ) +except ValidationError as e: + print(e) + ''' + 1 validation error for list[typed-dict] + 0.id + Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='wrong', input_type=str] + ''' +``` + +Note: + Despite some overlap in use cases with [`RootModel`][pydantic.root_model.RootModel], + [`TypeAdapter`][pydantic.type_adapter.TypeAdapter] should not be used as a type annotation for + specifying fields of a `BaseModel`, etc. + +## Parsing data into a specified type + +[`TypeAdapter`][pydantic.type_adapter.TypeAdapter] can be used to apply the parsing logic to populate Pydantic models +in a more ad-hoc way. This function behaves similarly to +[`BaseModel.model_validate`][pydantic.main.BaseModel.model_validate], +but works with arbitrary Pydantic-compatible types. + +This is especially useful when you want to parse results into a type that is not a direct subclass of +[`BaseModel`][pydantic.main.BaseModel]. For example: + +```py +from typing import List + +from pydantic import BaseModel, TypeAdapter + +class Item(BaseModel): + id: int + name: str + +# `item_data` could come from an API call, eg., via something like: +# item_data = requests.get('https://my-api.com/items').json() +item_data = [{'id': 1, 'name': 'My Item'}] + +items = TypeAdapter(List[Item]).validate_python(item_data) +print(items) +#> [Item(id=1, name='My Item')] +``` + +[`TypeAdapter`][pydantic.type_adapter.TypeAdapter] is capable of parsing data into any of the types Pydantic can +handle as fields of a [`BaseModel`][pydantic.main.BaseModel]. +""" # noqa: D212 from __future__ import annotations as _annotations import sys -from collections.abc import Callable, Iterable from dataclasses import is_dataclass -from types import FrameType -from typing import ( - Any, - Generic, - Literal, - TypeVar, - cast, - final, - overload, -) +from typing import TYPE_CHECKING, Any, Dict, Generic, Iterable, Set, TypeVar, Union, overload from pydantic_core import CoreSchema, SchemaSerializer, SchemaValidator, Some -from typing_extensions import ParamSpec, is_typeddict +from typing_extensions import Literal, is_typeddict from pydantic.errors import PydanticUserError -from pydantic.main import BaseModel, IncEx +from pydantic.main import BaseModel -from ._internal import _config, _generate_schema, _mock_val_ser, _namespace_utils, _repr, _typing_extra, _utils +from ._internal import _config, _core_utils, _discriminated_union, _generate_schema, _typing_extra from .config import ConfigDict -from .errors import PydanticUndefinedAnnotation from .json_schema import ( DEFAULT_REF_TEMPLATE, GenerateJsonSchema, @@ -32,12 +95,67 @@ from .json_schema import ( JsonSchemaMode, JsonSchemaValue, ) -from .plugin._schema_validator import PluggableSchemaValidator, create_schema_validator +from .plugin._schema_validator import create_schema_validator T = TypeVar('T') -R = TypeVar('R') -P = ParamSpec('P') -TypeAdapterT = TypeVar('TypeAdapterT', bound='TypeAdapter') + +if TYPE_CHECKING: + # should be `set[int] | set[str] | dict[int, IncEx] | dict[str, IncEx] | None`, but mypy can't cope + IncEx = Union[Set[int], Set[str], Dict[int, Any], Dict[str, Any]] + + +def _get_schema(type_: Any, config_wrapper: _config.ConfigWrapper, parent_depth: int) -> CoreSchema: + """`BaseModel` uses its own `__module__` to find out where it was defined + and then look for symbols to resolve forward references in those globals. + On the other hand this function can be called with arbitrary objects, + including type aliases where `__module__` (always `typing.py`) is not useful. + So instead we look at the globals in our parent stack frame. + + This works for the case where this function is called in a module that + has the target of forward references in its scope, but + does not work for more complex cases. + + For example, take the following: + + a.py + ```python + from typing import Dict, List + + IntList = List[int] + OuterDict = Dict[str, 'IntList'] + ``` + + b.py + ```python test="skip" + from a import OuterDict + + from pydantic import TypeAdapter + + IntList = int # replaces the symbol the forward reference is looking for + v = TypeAdapter(OuterDict) + v({'x': 1}) # should fail but doesn't + ``` + + If OuterDict were a `BaseModel`, this would work because it would resolve + the forward reference within the `a.py` namespace. + But `TypeAdapter(OuterDict)` + can't know what module OuterDict came from. + + In other words, the assumption that _all_ forward references exist in the + module we are being called from is not technically always true. + Although most of the time it is and it works fine for recursive models and such, + `BaseModel`'s behavior isn't perfect either and _can_ break in similar ways, + so there is no right or wrong between the two. + + But at the very least this behavior is _subtly_ different from `BaseModel`'s. + """ + local_ns = _typing_extra.parent_frame_namespace(parent_depth=parent_depth) + global_ns = sys._getframe(max(parent_depth - 1, 1)).f_globals.copy() + global_ns.update(local_ns or {}) + gen = _generate_schema.GenerateSchema(config_wrapper, types_namespace=global_ns, typevars_map={}) + schema = gen.generate_schema(type_) + schema = gen.collect_definitions(schema) + return schema def _getattr_no_parents(obj: Any, attribute: str) -> Any: @@ -55,152 +173,59 @@ def _getattr_no_parents(obj: Any, attribute: str) -> Any: raise AttributeError(attribute) -def _type_has_config(type_: Any) -> bool: - """Returns whether the type has config.""" - type_ = _typing_extra.annotated_type(type_) or type_ - try: - return issubclass(type_, BaseModel) or is_dataclass(type_) or is_typeddict(type_) - except TypeError: - # type is not a class - return False - - -@final class TypeAdapter(Generic[T]): - """!!! abstract "Usage Documentation" - [`TypeAdapter`](../concepts/type_adapter.md) - - Type adapters provide a flexible way to perform validation and serialization based on a Python type. + """Type adapters provide a flexible way to perform validation and serialization based on a Python type. A `TypeAdapter` instance exposes some of the functionality from `BaseModel` instance methods for types that do not have such methods (such as dataclasses, primitive types, and more). - **Note:** `TypeAdapter` instances are not types, and cannot be used as type annotations for fields. - - Args: - type: The type associated with the `TypeAdapter`. - config: Configuration for the `TypeAdapter`, should be a dictionary conforming to - [`ConfigDict`][pydantic.config.ConfigDict]. - - !!! note - You cannot provide a configuration when instantiating a `TypeAdapter` if the type you're using - has its own config that cannot be overridden (ex: `BaseModel`, `TypedDict`, and `dataclass`). A - [`type-adapter-config-unused`](../errors/usage_errors.md#type-adapter-config-unused) error will - be raised in this case. - _parent_depth: Depth at which to search for the [parent frame][frame-objects]. This frame is used when - resolving forward annotations during schema building, by looking for the globals and locals of this - frame. Defaults to 2, which will result in the frame where the `TypeAdapter` was instantiated. - - !!! note - This parameter is named with an underscore to suggest its private nature and discourage use. - It may be deprecated in a minor version, so we only recommend using it if you're comfortable - with potential change in behavior/support. It's default value is 2 because internally, - the `TypeAdapter` class makes another call to fetch the frame. - module: The module that passes to plugin if provided. + Note that `TypeAdapter` is not an actual type, so you cannot use it in type annotations. Attributes: core_schema: The core schema for the type. - validator: The schema validator for the type. + validator (SchemaValidator): The schema validator for the type. serializer: The schema serializer for the type. - pydantic_complete: Whether the core schema for the type is successfully built. - - ??? tip "Compatibility with `mypy`" - Depending on the type used, `mypy` might raise an error when instantiating a `TypeAdapter`. As a workaround, you can explicitly - annotate your variable: - - ```py - from typing import Union - - from pydantic import TypeAdapter - - ta: TypeAdapter[Union[str, int]] = TypeAdapter(Union[str, int]) # type: ignore[arg-type] - ``` - - ??? info "Namespace management nuances and implementation details" - - Here, we collect some notes on namespace management, and subtle differences from `BaseModel`: - - `BaseModel` uses its own `__module__` to find out where it was defined - and then looks for symbols to resolve forward references in those globals. - On the other hand, `TypeAdapter` can be initialized with arbitrary objects, - which may not be types and thus do not have a `__module__` available. - So instead we look at the globals in our parent stack frame. - - It is expected that the `ns_resolver` passed to this function will have the correct - namespace for the type we're adapting. See the source code for `TypeAdapter.__init__` - and `TypeAdapter.rebuild` for various ways to construct this namespace. - - This works for the case where this function is called in a module that - has the target of forward references in its scope, but - does not always work for more complex cases. - - For example, take the following: - - ```python {title="a.py"} - IntList = list[int] - OuterDict = dict[str, 'IntList'] - ``` - - ```python {test="skip" title="b.py"} - from a import OuterDict - - from pydantic import TypeAdapter - - IntList = int # replaces the symbol the forward reference is looking for - v = TypeAdapter(OuterDict) - v({'x': 1}) # should fail but doesn't - ``` - - If `OuterDict` were a `BaseModel`, this would work because it would resolve - the forward reference within the `a.py` namespace. - But `TypeAdapter(OuterDict)` can't determine what module `OuterDict` came from. - - In other words, the assumption that _all_ forward references exist in the - module we are being called from is not technically always true. - Although most of the time it is and it works fine for recursive models and such, - `BaseModel`'s behavior isn't perfect either and _can_ break in similar ways, - so there is no right or wrong between the two. - - But at the very least this behavior is _subtly_ different from `BaseModel`'s. """ - core_schema: CoreSchema - validator: SchemaValidator | PluggableSchemaValidator - serializer: SchemaSerializer - pydantic_complete: bool + if TYPE_CHECKING: - @overload - def __init__( - self, - type: type[T], - *, - config: ConfigDict | None = ..., - _parent_depth: int = ..., - module: str | None = ..., - ) -> None: ... + @overload + def __new__(cls, __type: type[T], *, config: ConfigDict | None = ...) -> TypeAdapter[T]: + ... - # This second overload is for unsupported special forms (such as Annotated, Union, etc.) - # Currently there is no way to type this correctly - # See https://github.com/python/typing/pull/1618 - @overload - def __init__( - self, - type: Any, - *, - config: ConfigDict | None = ..., - _parent_depth: int = ..., - module: str | None = ..., - ) -> None: ... + # this overload is for non-type things like Union[int, str] + # Pyright currently handles this "correctly", but MyPy understands this as TypeAdapter[object] + # so an explicit type cast is needed + @overload + def __new__(cls, __type: T, *, config: ConfigDict | None = ...) -> TypeAdapter[T]: + ... - def __init__( - self, - type: Any, - *, - config: ConfigDict | None = None, - _parent_depth: int = 2, - module: str | None = None, - ) -> None: - if _type_has_config(type) and config is not None: + def __new__(cls, __type: Any, *, config: ConfigDict | None = ...) -> TypeAdapter[T]: + """A class representing the type adapter.""" + raise NotImplementedError + + @overload + def __init__(self, type: type[T], *, config: ConfigDict | None = None, _parent_depth: int = 2) -> None: + ... + + # this overload is for non-type things like Union[int, str] + # Pyright currently handles this "correctly", but MyPy understands this as TypeAdapter[object] + # so an explicit type cast is needed + @overload + def __init__(self, type: T, *, config: ConfigDict | None = None, _parent_depth: int = 2) -> None: + ... + + def __init__(self, type: Any, *, config: ConfigDict | None = None, _parent_depth: int = 2) -> None: + """Initializes the TypeAdapter object.""" + config_wrapper = _config.ConfigWrapper(config) + + try: + type_has_config = issubclass(type, BaseModel) or is_dataclass(type) or is_typeddict(type) + except TypeError: + # type is not a class + type_has_config = False + + if type_has_config and config is not None: raise PydanticUserError( 'Cannot use `config` when the type is a BaseModel, dataclass or TypedDict.' ' These types can have their own config and setting the config via the `config`' @@ -209,313 +234,81 @@ class TypeAdapter(Generic[T]): code='type-adapter-config-unused', ) - self._type = type - self._config = config - self._parent_depth = _parent_depth - self.pydantic_complete = False - - parent_frame = self._fetch_parent_frame() - if parent_frame is not None: - globalns = parent_frame.f_globals - # Do not provide a local ns if the type adapter happens to be instantiated at the module level: - localns = parent_frame.f_locals if parent_frame.f_locals is not globalns else {} - else: - globalns = {} - localns = {} - - self._module_name = module or cast(str, globalns.get('__name__', '')) - self._init_core_attrs( - ns_resolver=_namespace_utils.NsResolver( - namespaces_tuple=_namespace_utils.NamespacesTuple(locals=localns, globals=globalns), - parent_namespace=localns, - ), - force=False, - ) - - def _fetch_parent_frame(self) -> FrameType | None: - frame = sys._getframe(self._parent_depth) - if frame.f_globals.get('__name__') == 'typing': - # Because `TypeAdapter` is generic, explicitly parametrizing the class results - # in a `typing._GenericAlias` instance, which proxies instantiation calls to the - # "real" `TypeAdapter` class and thus adding an extra frame to the call. To avoid - # pulling anything from the `typing` module, use the correct frame (the one before): - return frame.f_back - - return frame - - def _init_core_attrs( - self, ns_resolver: _namespace_utils.NsResolver, force: bool, raise_errors: bool = False - ) -> bool: - """Initialize the core schema, validator, and serializer for the type. - - Args: - ns_resolver: The namespace resolver to use when building the core schema for the adapted type. - force: Whether to force the construction of the core schema, validator, and serializer. - If `force` is set to `False` and `_defer_build` is `True`, the core schema, validator, and serializer will be set to mocks. - raise_errors: Whether to raise errors if initializing any of the core attrs fails. - - Returns: - `True` if the core schema, validator, and serializer were successfully initialized, otherwise `False`. - - Raises: - PydanticUndefinedAnnotation: If `PydanticUndefinedAnnotation` occurs in`__get_pydantic_core_schema__` - and `raise_errors=True`. - """ - if not force and self._defer_build: - _mock_val_ser.set_type_adapter_mocks(self) - self.pydantic_complete = False - return False - + core_schema: CoreSchema try: - self.core_schema = _getattr_no_parents(self._type, '__pydantic_core_schema__') - self.validator = _getattr_no_parents(self._type, '__pydantic_validator__') - self.serializer = _getattr_no_parents(self._type, '__pydantic_serializer__') - - # TODO: we don't go through the rebuild logic here directly because we don't want - # to repeat all of the namespace fetching logic that we've already done - # so we simply skip to the block below that does the actual schema generation - if ( - isinstance(self.core_schema, _mock_val_ser.MockCoreSchema) - or isinstance(self.validator, _mock_val_ser.MockValSer) - or isinstance(self.serializer, _mock_val_ser.MockValSer) - ): - raise AttributeError() + core_schema = _getattr_no_parents(type, '__pydantic_core_schema__') except AttributeError: - config_wrapper = _config.ConfigWrapper(self._config) + core_schema = _get_schema(type, config_wrapper, parent_depth=_parent_depth + 1) - schema_generator = _generate_schema.GenerateSchema(config_wrapper, ns_resolver=ns_resolver) + core_schema = _discriminated_union.apply_discriminators(_core_utils.simplify_schema_references(core_schema)) - try: - core_schema = schema_generator.generate_schema(self._type) - except PydanticUndefinedAnnotation: - if raise_errors: - raise - _mock_val_ser.set_type_adapter_mocks(self) - return False + core_schema = _core_utils.validate_core_schema(core_schema) - try: - self.core_schema = schema_generator.clean_schema(core_schema) - except _generate_schema.InvalidSchemaError: - _mock_val_ser.set_type_adapter_mocks(self) - return False + core_config = config_wrapper.core_config(None) + validator: SchemaValidator + try: + validator = _getattr_no_parents(type, '__pydantic_validator__') + except AttributeError: + validator = create_schema_validator(core_schema, core_config, config_wrapper.plugin_settings) - core_config = config_wrapper.core_config(None) + serializer: SchemaSerializer + try: + serializer = _getattr_no_parents(type, '__pydantic_serializer__') + except AttributeError: + serializer = SchemaSerializer(core_schema, core_config) - self.validator = create_schema_validator( - schema=self.core_schema, - schema_type=self._type, - schema_type_module=self._module_name, - schema_type_name=str(self._type), - schema_kind='TypeAdapter', - config=core_config, - plugin_settings=config_wrapper.plugin_settings, - ) - self.serializer = SchemaSerializer(self.core_schema, core_config) - - self.pydantic_complete = True - return True - - @property - def _defer_build(self) -> bool: - config = self._config if self._config is not None else self._model_config - if config: - return config.get('defer_build') is True - return False - - @property - def _model_config(self) -> ConfigDict | None: - type_: Any = _typing_extra.annotated_type(self._type) or self._type # Eg FastAPI heavily uses Annotated - if _utils.lenient_issubclass(type_, BaseModel): - return type_.model_config - return getattr(type_, '__pydantic_config__', None) - - def __repr__(self) -> str: - return f'TypeAdapter({_repr.display_as_type(self._type)})' - - def rebuild( - self, - *, - force: bool = False, - raise_errors: bool = True, - _parent_namespace_depth: int = 2, - _types_namespace: _namespace_utils.MappingNamespace | None = None, - ) -> bool | None: - """Try to rebuild the pydantic-core schema for the adapter's type. - - This may be necessary when one of the annotations is a ForwardRef which could not be resolved during - the initial attempt to build the schema, and automatic rebuilding fails. - - Args: - force: Whether to force the rebuilding of the type adapter's schema, defaults to `False`. - raise_errors: Whether to raise errors, defaults to `True`. - _parent_namespace_depth: Depth at which to search for the [parent frame][frame-objects]. This - frame is used when resolving forward annotations during schema rebuilding, by looking for - the locals of this frame. Defaults to 2, which will result in the frame where the method - was called. - _types_namespace: An explicit types namespace to use, instead of using the local namespace - from the parent frame. Defaults to `None`. - - Returns: - Returns `None` if the schema is already "complete" and rebuilding was not required. - If rebuilding _was_ required, returns `True` if rebuilding was successful, otherwise `False`. - """ - if not force and self.pydantic_complete: - return None - - if _types_namespace is not None: - rebuild_ns = _types_namespace - elif _parent_namespace_depth > 0: - rebuild_ns = _typing_extra.parent_frame_namespace(parent_depth=_parent_namespace_depth, force=True) or {} - else: - rebuild_ns = {} - - # we have to manually fetch globals here because there's no type on the stack of the NsResolver - # and so we skip the globalns = get_module_ns_of(typ) call that would normally happen - globalns = sys._getframe(max(_parent_namespace_depth - 1, 1)).f_globals - ns_resolver = _namespace_utils.NsResolver( - namespaces_tuple=_namespace_utils.NamespacesTuple(locals=rebuild_ns, globals=globalns), - parent_namespace=rebuild_ns, - ) - return self._init_core_attrs(ns_resolver=ns_resolver, force=True, raise_errors=raise_errors) + self.core_schema = core_schema + self.validator = validator + self.serializer = serializer def validate_python( self, - object: Any, - /, + __object: Any, *, strict: bool | None = None, from_attributes: bool | None = None, context: dict[str, Any] | None = None, - experimental_allow_partial: bool | Literal['off', 'on', 'trailing-strings'] = False, - by_alias: bool | None = None, - by_name: bool | None = None, ) -> T: """Validate a Python object against the model. Args: - object: The Python object to validate against the model. + __object: The Python object to validate against the model. strict: Whether to strictly check types. from_attributes: Whether to extract data from object attributes. context: Additional context to pass to the validator. - experimental_allow_partial: **Experimental** whether to enable - [partial validation](../concepts/experimental.md#partial-validation), e.g. to process streams. - * False / 'off': Default behavior, no partial validation. - * True / 'on': Enable partial validation. - * 'trailing-strings': Enable partial validation and allow trailing strings in the input. - by_alias: Whether to use the field's alias when validating against the provided input data. - by_name: Whether to use the field's name when validating against the provided input data. - - !!! note - When using `TypeAdapter` with a Pydantic `dataclass`, the use of the `from_attributes` - argument is not supported. Returns: The validated object. """ - if by_alias is False and by_name is not True: - raise PydanticUserError( - 'At least one of `by_alias` or `by_name` must be set to True.', - code='validate-by-alias-and-name-false', - ) - - return self.validator.validate_python( - object, - strict=strict, - from_attributes=from_attributes, - context=context, - allow_partial=experimental_allow_partial, - by_alias=by_alias, - by_name=by_name, - ) + return self.validator.validate_python(__object, strict=strict, from_attributes=from_attributes, context=context) def validate_json( - self, - data: str | bytes | bytearray, - /, - *, - strict: bool | None = None, - context: dict[str, Any] | None = None, - experimental_allow_partial: bool | Literal['off', 'on', 'trailing-strings'] = False, - by_alias: bool | None = None, - by_name: bool | None = None, + self, __data: str | bytes, *, strict: bool | None = None, context: dict[str, Any] | None = None ) -> T: - """!!! abstract "Usage Documentation" - [JSON Parsing](../concepts/json.md#json-parsing) - - Validate a JSON string or bytes against the model. + """Validate a JSON string or bytes against the model. Args: - data: The JSON data to validate against the model. + __data: The JSON data to validate against the model. strict: Whether to strictly check types. context: Additional context to use during validation. - experimental_allow_partial: **Experimental** whether to enable - [partial validation](../concepts/experimental.md#partial-validation), e.g. to process streams. - * False / 'off': Default behavior, no partial validation. - * True / 'on': Enable partial validation. - * 'trailing-strings': Enable partial validation and allow trailing strings in the input. - by_alias: Whether to use the field's alias when validating against the provided input data. - by_name: Whether to use the field's name when validating against the provided input data. Returns: The validated object. """ - if by_alias is False and by_name is not True: - raise PydanticUserError( - 'At least one of `by_alias` or `by_name` must be set to True.', - code='validate-by-alias-and-name-false', - ) + return self.validator.validate_json(__data, strict=strict, context=context) - return self.validator.validate_json( - data, - strict=strict, - context=context, - allow_partial=experimental_allow_partial, - by_alias=by_alias, - by_name=by_name, - ) - - def validate_strings( - self, - obj: Any, - /, - *, - strict: bool | None = None, - context: dict[str, Any] | None = None, - experimental_allow_partial: bool | Literal['off', 'on', 'trailing-strings'] = False, - by_alias: bool | None = None, - by_name: bool | None = None, - ) -> T: + def validate_strings(self, __obj: Any, *, strict: bool | None = None, context: dict[str, Any] | None = None) -> T: """Validate object contains string data against the model. Args: - obj: The object contains string data to validate. + __obj: The object contains string data to validate. strict: Whether to strictly check types. context: Additional context to use during validation. - experimental_allow_partial: **Experimental** whether to enable - [partial validation](../concepts/experimental.md#partial-validation), e.g. to process streams. - * False / 'off': Default behavior, no partial validation. - * True / 'on': Enable partial validation. - * 'trailing-strings': Enable partial validation and allow trailing strings in the input. - by_alias: Whether to use the field's alias when validating against the provided input data. - by_name: Whether to use the field's name when validating against the provided input data. Returns: The validated object. """ - if by_alias is False and by_name is not True: - raise PydanticUserError( - 'At least one of `by_alias` or `by_name` must be set to True.', - code='validate-by-alias-and-name-false', - ) - - return self.validator.validate_strings( - obj, - strict=strict, - context=context, - allow_partial=experimental_allow_partial, - by_alias=by_alias, - by_name=by_name, - ) + return self.validator.validate_strings(__obj, strict=strict, context=context) def get_default_value(self, *, strict: bool | None = None, context: dict[str, Any] | None = None) -> Some[T] | None: """Get the default value for the wrapped type. @@ -531,26 +324,22 @@ class TypeAdapter(Generic[T]): def dump_python( self, - instance: T, - /, + __instance: T, *, mode: Literal['json', 'python'] = 'python', include: IncEx | None = None, exclude: IncEx | None = None, - by_alias: bool | None = None, + by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, - warnings: bool | Literal['none', 'warn', 'error'] = True, - fallback: Callable[[Any], Any] | None = None, - serialize_as_any: bool = False, - context: dict[str, Any] | None = None, + warnings: bool = True, ) -> Any: """Dump an instance of the adapted type to a Python object. Args: - instance: The Python object to serialize. + __instance: The Python object to serialize. mode: The output format. include: Fields to include in the output. exclude: Fields to exclude from the output. @@ -559,18 +348,13 @@ class TypeAdapter(Generic[T]): exclude_defaults: Whether to exclude fields with default values. exclude_none: Whether to exclude fields with None values. round_trip: Whether to output the serialized data in a way that is compatible with deserialization. - warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors, - "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError]. - fallback: A function to call when an unknown value is encountered. If not provided, - a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised. - serialize_as_any: Whether to serialize fields with duck-typing serialization behavior. - context: Additional context to pass to the serializer. + warnings: Whether to display serialization warnings. Returns: The serialized object. """ return self.serializer.to_python( - instance, + __instance, mode=mode, by_alias=by_alias, include=include, @@ -580,36 +364,26 @@ class TypeAdapter(Generic[T]): exclude_none=exclude_none, round_trip=round_trip, warnings=warnings, - fallback=fallback, - serialize_as_any=serialize_as_any, - context=context, ) def dump_json( self, - instance: T, - /, + __instance: T, *, indent: int | None = None, include: IncEx | None = None, exclude: IncEx | None = None, - by_alias: bool | None = None, + by_alias: bool = False, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, - warnings: bool | Literal['none', 'warn', 'error'] = True, - fallback: Callable[[Any], Any] | None = None, - serialize_as_any: bool = False, - context: dict[str, Any] | None = None, + warnings: bool = True, ) -> bytes: - """!!! abstract "Usage Documentation" - [JSON Serialization](../concepts/json.md#json-serialization) - - Serialize an instance of the adapted type to JSON. + """Serialize an instance of the adapted type to JSON. Args: - instance: The instance to be serialized. + __instance: The instance to be serialized. indent: Number of spaces for JSON indentation. include: Fields to include. exclude: Fields to exclude. @@ -618,18 +392,13 @@ class TypeAdapter(Generic[T]): exclude_defaults: Whether to exclude fields with default values. exclude_none: Whether to exclude fields with a value of `None`. round_trip: Whether to serialize and deserialize the instance to ensure round-tripping. - warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors, - "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError]. - fallback: A function to call when an unknown value is encountered. If not provided, - a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised. - serialize_as_any: Whether to serialize fields with duck-typing serialization behavior. - context: Additional context to pass to the serializer. + warnings: Whether to emit serialization warnings. Returns: The JSON representation of the given instance as bytes. """ return self.serializer.to_json( - instance, + __instance, indent=indent, include=include, exclude=exclude, @@ -639,9 +408,6 @@ class TypeAdapter(Generic[T]): exclude_none=exclude_none, round_trip=round_trip, warnings=warnings, - fallback=fallback, - serialize_as_any=serialize_as_any, - context=context, ) def json_schema( @@ -664,15 +430,11 @@ class TypeAdapter(Generic[T]): The JSON schema for the model as a dictionary. """ schema_generator_instance = schema_generator(by_alias=by_alias, ref_template=ref_template) - if isinstance(self.core_schema, _mock_val_ser.MockCoreSchema): - self.core_schema.rebuild() - assert not isinstance(self.core_schema, _mock_val_ser.MockCoreSchema), 'this is a bug! please report it' return schema_generator_instance.generate(self.core_schema, mode=mode) @staticmethod def json_schemas( - inputs: Iterable[tuple[JsonSchemaKeyT, JsonSchemaMode, TypeAdapter[Any]]], - /, + __inputs: Iterable[tuple[JsonSchemaKeyT, JsonSchemaMode, TypeAdapter[Any]]], *, by_alias: bool = True, title: str | None = None, @@ -683,7 +445,7 @@ class TypeAdapter(Generic[T]): """Generate a JSON schema including definitions from multiple type adapters. Args: - inputs: Inputs to schema generation. The first two items will form the keys of the (first) + __inputs: Inputs to schema generation. The first two items will form the keys of the (first) output mapping; the type adapters will provide the core schemas that get converted into definitions in the output JSON schema. by_alias: Whether to use alias names. @@ -704,17 +466,9 @@ class TypeAdapter(Generic[T]): """ schema_generator_instance = schema_generator(by_alias=by_alias, ref_template=ref_template) - inputs_ = [] - for key, mode, adapter in inputs: - # This is the same pattern we follow for model json schemas - we attempt a core schema rebuild if we detect a mock - if isinstance(adapter.core_schema, _mock_val_ser.MockCoreSchema): - adapter.core_schema.rebuild() - assert not isinstance(adapter.core_schema, _mock_val_ser.MockCoreSchema), ( - 'this is a bug! please report it' - ) - inputs_.append((key, mode, adapter.core_schema)) + inputs = [(key, mode, adapter.core_schema) for key, mode, adapter in __inputs] - json_schemas_map, definitions = schema_generator_instance.generate_definitions(inputs_) + json_schemas_map, definitions = schema_generator_instance.generate_definitions(inputs) json_schema: dict[str, Any] = {} if definitions: diff --git a/venv/lib/python3.12/site-packages/pydantic/types.py b/venv/lib/python3.12/site-packages/pydantic/types.py index b5c4fd6..5d1bffa 100644 --- a/venv/lib/python3.12/site-packages/pydantic/types.py +++ b/venv/lib/python3.12/site-packages/pydantic/types.py @@ -1,36 +1,34 @@ """The types module contains custom types used by pydantic.""" - from __future__ import annotations as _annotations import base64 import dataclasses as _dataclasses import re -from collections.abc import Hashable, Iterator from datetime import date, datetime from decimal import Decimal from enum import Enum from pathlib import Path -from re import Pattern from types import ModuleType from typing import ( TYPE_CHECKING, - Annotated, Any, Callable, ClassVar, + FrozenSet, Generic, - Literal, + Hashable, + Iterator, + List, + Set, TypeVar, - Union, cast, ) from uuid import UUID import annotated_types from annotated_types import BaseMetadata, MaxLen, MinLen -from pydantic_core import CoreSchema, PydanticCustomError, SchemaSerializer, core_schema -from typing_extensions import Protocol, TypeAlias, TypeAliasType, deprecated, get_args, get_origin -from typing_inspection.introspection import is_union_origin +from pydantic_core import CoreSchema, PydanticCustomError, core_schema +from typing_extensions import Annotated, Literal, Protocol, deprecated from ._internal import _fields, _internal_dataclass, _utils, _validators from ._migration import getattr_migration @@ -39,13 +37,9 @@ from .errors import PydanticUserError from .json_schema import JsonSchemaValue from .warnings import PydanticDeprecatedSince20 -if TYPE_CHECKING: - from ._internal._core_metadata import CoreMetadata - __all__ = ( 'Strict', 'StrictStr', - 'SocketPath', 'conbytes', 'conlist', 'conset', @@ -68,14 +62,10 @@ __all__ = ( 'UUID3', 'UUID4', 'UUID5', - 'UUID6', - 'UUID7', - 'UUID8', 'FilePath', 'DirectoryPath', 'NewPath', 'Json', - 'Secret', 'SecretStr', 'SecretBytes', 'StrictBool', @@ -102,31 +92,19 @@ __all__ = ( 'Base64UrlStr', 'GetPydanticSchema', 'StringConstraints', - 'Tag', - 'Discriminator', - 'JsonValue', - 'OnErrorOmit', - 'FailFast', ) -T = TypeVar('T') - - @_dataclasses.dataclass class Strict(_fields.PydanticMetadata, BaseMetadata): - """!!! abstract "Usage Documentation" - [Strict Mode with `Annotated` `Strict`](../concepts/strict_mode.md#strict-mode-with-annotated-strict) - - A field metadata class to indicate that a field should be validated in strict mode. - Use this class as an annotation via [`Annotated`](https://docs.python.org/3/library/typing.html#typing.Annotated), as seen below. + """A field metadata class to indicate that a field should be validated in strict mode. Attributes: strict: Whether to validate the field in strict mode. Example: ```python - from typing import Annotated + from typing_extensions import Annotated from pydantic.types import Strict @@ -168,7 +146,7 @@ def conint( The reason is that `conint` returns a type, which doesn't play well with static analysis tools. === ":x: Don't do this" - ```python + ```py from pydantic import BaseModel, conint class Foo(BaseModel): @@ -176,8 +154,8 @@ def conint( ``` === ":white_check_mark: Do this" - ```python - from typing import Annotated + ```py + from typing_extensions import Annotated from pydantic import BaseModel, Field @@ -198,7 +176,7 @@ def conint( Returns: The wrapped integer type. - ```python + ```py from pydantic import BaseModel, ValidationError, conint class ConstrainedExample(BaseModel): @@ -227,7 +205,7 @@ def conint( ``` """ # noqa: D212 - return Annotated[ # pyright: ignore[reportReturnType] + return Annotated[ int, Strict(strict) if strict is not None else None, annotated_types.Interval(gt=gt, ge=ge, lt=lt, le=le), @@ -238,7 +216,7 @@ def conint( PositiveInt = Annotated[int, annotated_types.Gt(0)] """An integer that must be greater than zero. -```python +```py from pydantic import BaseModel, PositiveInt, ValidationError class Model(BaseModel): @@ -269,7 +247,7 @@ except ValidationError as e: NegativeInt = Annotated[int, annotated_types.Lt(0)] """An integer that must be less than zero. -```python +```py from pydantic import BaseModel, NegativeInt, ValidationError class Model(BaseModel): @@ -300,7 +278,7 @@ except ValidationError as e: NonPositiveInt = Annotated[int, annotated_types.Le(0)] """An integer that must be less than or equal to zero. -```python +```py from pydantic import BaseModel, NonPositiveInt, ValidationError class Model(BaseModel): @@ -331,7 +309,7 @@ except ValidationError as e: NonNegativeInt = Annotated[int, annotated_types.Ge(0)] """An integer that must be greater than or equal to zero. -```python +```py from pydantic import BaseModel, NonNegativeInt, ValidationError class Model(BaseModel): @@ -362,7 +340,7 @@ except ValidationError as e: StrictInt = Annotated[int, Strict()] """An integer that must be validated in strict mode. -```python +```py from pydantic import BaseModel, StrictInt, ValidationError class StrictIntModel(BaseModel): @@ -385,22 +363,7 @@ except ValidationError as e: @_dataclasses.dataclass class AllowInfNan(_fields.PydanticMetadata): - """A field metadata class to indicate that a field should allow `-inf`, `inf`, and `nan`. - - Use this class as an annotation via [`Annotated`](https://docs.python.org/3/library/typing.html#typing.Annotated), as seen below. - - Attributes: - allow_inf_nan: Whether to allow `-inf`, `inf`, and `nan`. Defaults to `True`. - - Example: - ```python - from typing import Annotated - - from pydantic.types import AllowInfNan - - LaxFloat = Annotated[float, AllowInfNan()] - ``` - """ + """A field metadata class to indicate that a field should allow ``-inf``, ``inf``, and ``nan``.""" allow_inf_nan: bool = True @@ -429,7 +392,7 @@ def confloat( The reason is that `confloat` returns a type, which doesn't play well with static analysis tools. === ":x: Don't do this" - ```python + ```py from pydantic import BaseModel, confloat class Foo(BaseModel): @@ -437,9 +400,8 @@ def confloat( ``` === ":white_check_mark: Do this" - ```python - from typing import Annotated - + ```py + from typing_extensions import Annotated from pydantic import BaseModel, Field class Foo(BaseModel): @@ -460,7 +422,7 @@ def confloat( Returns: The wrapped float type. - ```python + ```py from pydantic import BaseModel, ValidationError, confloat class ConstrainedExample(BaseModel): @@ -488,7 +450,7 @@ def confloat( ''' ``` """ # noqa: D212 - return Annotated[ # pyright: ignore[reportReturnType] + return Annotated[ float, Strict(strict) if strict is not None else None, annotated_types.Interval(gt=gt, ge=ge, lt=lt, le=le), @@ -500,7 +462,7 @@ def confloat( PositiveFloat = Annotated[float, annotated_types.Gt(0)] """A float that must be greater than zero. -```python +```py from pydantic import BaseModel, PositiveFloat, ValidationError class Model(BaseModel): @@ -531,7 +493,7 @@ except ValidationError as e: NegativeFloat = Annotated[float, annotated_types.Lt(0)] """A float that must be less than zero. -```python +```py from pydantic import BaseModel, NegativeFloat, ValidationError class Model(BaseModel): @@ -562,7 +524,7 @@ except ValidationError as e: NonPositiveFloat = Annotated[float, annotated_types.Le(0)] """A float that must be less than or equal to zero. -```python +```py from pydantic import BaseModel, NonPositiveFloat, ValidationError class Model(BaseModel): @@ -593,7 +555,7 @@ except ValidationError as e: NonNegativeFloat = Annotated[float, annotated_types.Ge(0)] """A float that must be greater than or equal to zero. -```python +```py from pydantic import BaseModel, NonNegativeFloat, ValidationError class Model(BaseModel): @@ -624,7 +586,7 @@ except ValidationError as e: StrictFloat = Annotated[float, Strict(True)] """A float that must be validated in strict mode. -```python +```py from pydantic import BaseModel, StrictFloat, ValidationError class StrictFloatModel(BaseModel): @@ -644,7 +606,7 @@ except ValidationError as e: FiniteFloat = Annotated[float, AllowInfNan(False)] """A float that must be finite (not ``-inf``, ``inf``, or ``nan``). -```python +```py from pydantic import BaseModel, FiniteFloat class Model(BaseModel): @@ -676,7 +638,7 @@ def conbytes( Returns: The wrapped bytes type. """ - return Annotated[ # pyright: ignore[reportReturnType] + return Annotated[ bytes, Strict(strict) if strict is not None else None, annotated_types.Len(min_length or 0, max_length), @@ -692,29 +654,16 @@ StrictBytes = Annotated[bytes, Strict()] @_dataclasses.dataclass(frozen=True) class StringConstraints(annotated_types.GroupedMetadata): - """!!! abstract "Usage Documentation" - [`StringConstraints`](../concepts/fields.md#string-constraints) - - A field metadata class to apply constraints to `str` types. - Use this class as an annotation via [`Annotated`](https://docs.python.org/3/library/typing.html#typing.Annotated), as seen below. + """Apply constraints to `str` types. Attributes: - strip_whitespace: Whether to remove leading and trailing whitespace. + strip_whitespace: Whether to strip whitespace from the string. to_upper: Whether to convert the string to uppercase. to_lower: Whether to convert the string to lowercase. strict: Whether to validate the string in strict mode. min_length: The minimum length of the string. max_length: The maximum length of the string. pattern: A regex pattern that the string must match. - - Example: - ```python - from typing import Annotated - - from pydantic.types import StringConstraints - - ConstrainedStr = Annotated[str, StringConstraints(min_length=1, max_length=10)] - ``` """ strip_whitespace: bool | None = None @@ -723,7 +672,7 @@ class StringConstraints(annotated_types.GroupedMetadata): strict: bool | None = None min_length: int | None = None max_length: int | None = None - pattern: str | Pattern[str] | None = None + pattern: str | None = None def __iter__(self) -> Iterator[BaseMetadata]: if self.min_length is not None: @@ -731,14 +680,14 @@ class StringConstraints(annotated_types.GroupedMetadata): if self.max_length is not None: yield MaxLen(self.max_length) if self.strict is not None: - yield Strict(self.strict) + yield Strict() if ( self.strip_whitespace is not None or self.pattern is not None or self.to_lower is not None or self.to_upper is not None ): - yield _fields.pydantic_general_metadata( + yield _fields.PydanticGeneralMetadata( strip_whitespace=self.strip_whitespace, to_upper=self.to_upper, to_lower=self.to_lower, @@ -754,7 +703,7 @@ def constr( strict: bool | None = None, min_length: int | None = None, max_length: int | None = None, - pattern: str | Pattern[str] | None = None, + pattern: str | None = None, ) -> type[str]: """ !!! warning "Discouraged" @@ -767,7 +716,7 @@ def constr( The reason is that `constr` returns a type, which doesn't play well with static analysis tools. === ":x: Don't do this" - ```python + ```py from pydantic import BaseModel, constr class Foo(BaseModel): @@ -775,27 +724,21 @@ def constr( ``` === ":white_check_mark: Do this" - ```python - from typing import Annotated - - from pydantic import BaseModel, StringConstraints + ```py + from pydantic import BaseModel, Annotated, StringConstraints class Foo(BaseModel): - bar: Annotated[ - str, - StringConstraints( - strip_whitespace=True, to_upper=True, pattern=r'^[A-Z]+$' - ), - ] + bar: Annotated[str, StringConstraints(strip_whitespace=True, to_upper=True, pattern=r'^[A-Z]+$')] ``` A wrapper around `str` that allows for additional constraints. - ```python + ```py from pydantic import BaseModel, constr class Foo(BaseModel): - bar: constr(strip_whitespace=True, to_upper=True) + bar: constr(strip_whitespace=True, to_upper=True, pattern=r'^[A-Z]+$') + foo = Foo(bar=' hello ') print(foo) @@ -814,7 +757,7 @@ def constr( Returns: The wrapped string type. """ # noqa: D212 - return Annotated[ # pyright: ignore[reportReturnType] + return Annotated[ str, StringConstraints( strip_whitespace=strip_whitespace, @@ -849,7 +792,7 @@ def conset( Returns: The wrapped set type. """ - return Annotated[set[item_type], annotated_types.Len(min_length or 0, max_length)] # pyright: ignore[reportReturnType] + return Annotated[Set[item_type], annotated_types.Len(min_length or 0, max_length)] def confrozenset( @@ -865,7 +808,7 @@ def confrozenset( Returns: The wrapped frozenset type. """ - return Annotated[frozenset[item_type], annotated_types.Len(min_length or 0, max_length)] # pyright: ignore[reportReturnType] + return Annotated[FrozenSet[item_type], annotated_types.Len(min_length or 0, max_length)] AnyItemType = TypeVar('AnyItemType') @@ -878,16 +821,13 @@ def conlist( max_length: int | None = None, unique_items: bool | None = None, ) -> type[list[AnyItemType]]: - """A wrapper around [`list`][] that adds validation. + """A wrapper around typing.List that adds validation. Args: item_type: The type of the items in the list. min_length: The minimum length of the list. Defaults to None. max_length: The maximum length of the list. Defaults to None. unique_items: Whether the items in the list must be unique. Defaults to None. - !!! warning Deprecated - The `unique_items` parameter is deprecated, use `Set` instead. - See [this issue](https://github.com/pydantic/pydantic-core/issues/296) for more details. Returns: The wrapped list type. @@ -900,7 +840,7 @@ def conlist( ), code='removed-kwargs', ) - return Annotated[list[item_type], annotated_types.Len(min_length or 0, max_length)] # pyright: ignore[reportReturnType] + return Annotated[List[item_type], annotated_types.Len(min_length or 0, max_length)] # ~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPORT STRING TYPE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -911,24 +851,31 @@ if TYPE_CHECKING: else: class ImportString: - """A type that can be used to import a Python object from a string. + """A type that can be used to import a type from a string. `ImportString` expects a string and loads the Python object importable at that dotted path. - Attributes of modules may be separated from the module by `:` or `.`, e.g. if `'math:cos'` is provided, - the resulting field value would be the function `cos`. If a `.` is used and both an attribute and submodule + Attributes of modules may be separated from the module by `:` or `.`, e.g. if `'math:cos'` was provided, + the resulting field value would be the function`cos`. If a `.` is used and both an attribute and submodule are present at the same path, the module will be preferred. On model instantiation, pointers will be evaluated and imported. There is some nuance to this behavior, demonstrated in the examples below. - ```python - import math + > A known limitation: setting a default value to a string + > won't result in validation (thus evaluation). This is actively + > being worked on. + + **Good behavior:** + ```py + from math import cos + + from pydantic import BaseModel, ImportString, ValidationError - from pydantic import BaseModel, Field, ImportString, ValidationError class ImportThings(BaseModel): obj: ImportString + # A string value will cause an automatic import my_cos = ImportThings(obj='math.cos') @@ -936,6 +883,7 @@ else: cos_of_0 = my_cos.obj(0) assert cos_of_0 == 1 + # A string whose value cannot be imported will raise an error try: ImportThings(obj='foo.bar') @@ -944,45 +892,28 @@ else: ''' 1 validation error for ImportThings obj - Invalid python path: No module named 'foo.bar' [type=import_error, input_value='foo.bar', input_type=str] + Invalid python path: No module named 'foo.bar' [type=import_error, input_value='foo.bar', input_type=str] ''' + # Actual python objects can be assigned as well - my_cos = ImportThings(obj=math.cos) + my_cos = ImportThings(obj=cos) my_cos_2 = ImportThings(obj='math.cos') - my_cos_3 = ImportThings(obj='math:cos') - assert my_cos == my_cos_2 == my_cos_3 - - # You can set default field value either as Python object: - class ImportThingsDefaultPyObj(BaseModel): - obj: ImportString = math.cos - - # or as a string value (but only if used with `validate_default=True`) - class ImportThingsDefaultString(BaseModel): - obj: ImportString = Field(default='math.cos', validate_default=True) - - my_cos_default1 = ImportThingsDefaultPyObj() - my_cos_default2 = ImportThingsDefaultString() - assert my_cos_default1.obj == my_cos_default2.obj == math.cos - - # note: this will not work! - class ImportThingsMissingValidateDefault(BaseModel): - obj: ImportString = 'math.cos' - - my_cos_default3 = ImportThingsMissingValidateDefault() - assert my_cos_default3.obj == 'math.cos' # just string, not evaluated + assert my_cos == my_cos_2 ``` Serializing an `ImportString` type to json is also possible. - ```python + ```py from pydantic import BaseModel, ImportString + class ImportThings(BaseModel): obj: ImportString + # Create an instance - m = ImportThings(obj='math.cos') + m = ImportThings(obj='math:cos') print(m) #> obj= print(m.model_dump_json()) @@ -1009,25 +940,12 @@ else: function=_validators.import_string, schema=handler(source), serialization=serializer ) - @classmethod - def __get_pydantic_json_schema__(cls, cs: CoreSchema, handler: GetJsonSchemaHandler) -> JsonSchemaValue: - return handler(core_schema.str_schema()) - @staticmethod def _serialize(v: Any) -> str: if isinstance(v, ModuleType): return v.__name__ elif hasattr(v, '__module__') and hasattr(v, '__name__'): return f'{v.__module__}.{v.__name__}' - # Handle special cases for sys.XXX streams - # if we see more of these, we should consider a more general solution - elif hasattr(v, 'name'): - if v.name == '': - return 'sys.stdout' - elif v.name == '': - return 'sys.stdin' - elif v.name == '': - return 'sys.stderr' else: return v @@ -1061,7 +979,7 @@ def condecimal( The reason is that `condecimal` returns a type, which doesn't play well with static analysis tools. === ":x: Don't do this" - ```python + ```py from pydantic import BaseModel, condecimal class Foo(BaseModel): @@ -1069,9 +987,9 @@ def condecimal( ``` === ":white_check_mark: Do this" - ```python + ```py from decimal import Decimal - from typing import Annotated + from typing_extensions import Annotated from pydantic import BaseModel, Field @@ -1092,7 +1010,7 @@ def condecimal( decimal_places: The number of decimal places. Defaults to `None`. allow_inf_nan: Whether to allow infinity and NaN. Defaults to `None`. - ```python + ```py from decimal import Decimal from pydantic import BaseModel, ValidationError, condecimal @@ -1122,12 +1040,12 @@ def condecimal( ''' ``` """ # noqa: D212 - return Annotated[ # pyright: ignore[reportReturnType] + return Annotated[ Decimal, Strict(strict) if strict is not None else None, annotated_types.Interval(gt=gt, ge=ge, lt=lt, le=le), annotated_types.MultipleOf(multiple_of) if multiple_of is not None else None, - _fields.pydantic_general_metadata(max_digits=max_digits, decimal_places=decimal_places), + _fields.PydanticGeneralMetadata(max_digits=max_digits, decimal_places=decimal_places), AllowInfNan(allow_inf_nan) if allow_inf_nan is not None else None, ] @@ -1137,25 +1055,9 @@ def condecimal( @_dataclasses.dataclass(**_internal_dataclass.slots_true) class UuidVersion: - """A field metadata class to indicate a [UUID](https://docs.python.org/3/library/uuid.html) version. + """A field metadata class to indicate a [UUID](https://docs.python.org/3/library/uuid.html) version.""" - Use this class as an annotation via [`Annotated`](https://docs.python.org/3/library/typing.html#typing.Annotated), as seen below. - - Attributes: - uuid_version: The version of the UUID. Must be one of 1, 3, 4, 5, or 7. - - Example: - ```python - from typing import Annotated - from uuid import UUID - - from pydantic.types import UuidVersion - - UUID1 = Annotated[UUID, UuidVersion(1)] - ``` - """ - - uuid_version: Literal[1, 3, 4, 5, 6, 7, 8] + uuid_version: Literal[1, 3, 4, 5] def __get_pydantic_json_schema__( self, core_schema: core_schema.CoreSchema, handler: GetJsonSchemaHandler @@ -1166,15 +1068,7 @@ class UuidVersion: return field_schema def __get_pydantic_core_schema__(self, source: Any, handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: - if isinstance(self, source): - # used directly as a type - return core_schema.uuid_schema(version=self.uuid_version) - else: - # update existing schema with self.uuid_version - schema = handler(source) - _check_annotated_type(schema['type'], 'uuid', self.__class__.__name__) - schema['version'] = self.uuid_version # type: ignore - return schema + return core_schema.uuid_schema(version=self.uuid_version) def __hash__(self) -> int: return hash(type(self.uuid_version)) @@ -1183,10 +1077,10 @@ class UuidVersion: UUID1 = Annotated[UUID, UuidVersion(1)] """A [UUID](https://docs.python.org/3/library/uuid.html) that must be version 1. -```python +```py import uuid -from pydantic import UUID1, BaseModel +from pydantic import BaseModel, UUID1 class Model(BaseModel): uuid1: UUID1 @@ -1197,10 +1091,10 @@ Model(uuid1=uuid.uuid1()) UUID3 = Annotated[UUID, UuidVersion(3)] """A [UUID](https://docs.python.org/3/library/uuid.html) that must be version 3. -```python +```py import uuid -from pydantic import UUID3, BaseModel +from pydantic import BaseModel, UUID3 class Model(BaseModel): uuid3: UUID3 @@ -1211,10 +1105,10 @@ Model(uuid3=uuid.uuid3(uuid.NAMESPACE_DNS, 'pydantic.org')) UUID4 = Annotated[UUID, UuidVersion(4)] """A [UUID](https://docs.python.org/3/library/uuid.html) that must be version 4. -```python +```py import uuid -from pydantic import UUID4, BaseModel +from pydantic import BaseModel, UUID4 class Model(BaseModel): uuid4: UUID4 @@ -1225,10 +1119,10 @@ Model(uuid4=uuid.uuid4()) UUID5 = Annotated[UUID, UuidVersion(5)] """A [UUID](https://docs.python.org/3/library/uuid.html) that must be version 5. -```python +```py import uuid -from pydantic import UUID5, BaseModel +from pydantic import BaseModel, UUID5 class Model(BaseModel): uuid5: UUID5 @@ -1236,55 +1130,14 @@ class Model(BaseModel): Model(uuid5=uuid.uuid5(uuid.NAMESPACE_DNS, 'pydantic.org')) ``` """ -UUID6 = Annotated[UUID, UuidVersion(6)] -"""A [UUID](https://docs.python.org/3/library/uuid.html) that must be version 6. -```python -import uuid - -from pydantic import UUID6, BaseModel - -class Model(BaseModel): - uuid6: UUID6 - -Model(uuid6=uuid.UUID('1efea953-c2d6-6790-aa0a-69db8c87df97')) -``` -""" -UUID7 = Annotated[UUID, UuidVersion(7)] -"""A [UUID](https://docs.python.org/3/library/uuid.html) that must be version 7. - -```python -import uuid - -from pydantic import UUID7, BaseModel - -class Model(BaseModel): - uuid7: UUID7 - -Model(uuid7=uuid.UUID('0194fdcb-1c47-7a09-b52c-561154de0b4a')) -``` -""" -UUID8 = Annotated[UUID, UuidVersion(8)] -"""A [UUID](https://docs.python.org/3/library/uuid.html) that must be version 8. - -```python -import uuid - -from pydantic import UUID8, BaseModel - -class Model(BaseModel): - uuid8: UUID8 - -Model(uuid8=uuid.UUID('81a0b92e-6078-8551-9c81-8ccb666bdab8')) -``` -""" # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PATH TYPES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @_dataclasses.dataclass class PathType: - path_type: Literal['file', 'dir', 'new', 'socket'] + path_type: Literal['file', 'dir', 'new'] def __get_pydantic_json_schema__( self, core_schema: core_schema.CoreSchema, handler: GetJsonSchemaHandler @@ -1299,7 +1152,6 @@ class PathType: 'file': cast(core_schema.WithInfoValidatorFunction, self.validate_file), 'dir': cast(core_schema.WithInfoValidatorFunction, self.validate_directory), 'new': cast(core_schema.WithInfoValidatorFunction, self.validate_new), - 'socket': cast(core_schema.WithInfoValidatorFunction, self.validate_socket), } return core_schema.with_info_after_validator_function( @@ -1314,13 +1166,6 @@ class PathType: else: raise PydanticCustomError('path_not_file', 'Path does not point to a file') - @staticmethod - def validate_socket(path: Path, _: core_schema.ValidationInfo) -> Path: - if path.is_socket(): - return path - else: - raise PydanticCustomError('path_not_socket', 'Path does not point to a socket') - @staticmethod def validate_directory(path: Path, _: core_schema.ValidationInfo) -> Path: if path.is_dir(): @@ -1344,7 +1189,7 @@ class PathType: FilePath = Annotated[Path, PathType('file')] """A path that must point to a file. -```python +```py from pathlib import Path from pydantic import BaseModel, FilePath, ValidationError @@ -1386,7 +1231,7 @@ except ValidationError as e: DirectoryPath = Annotated[Path, PathType('dir')] """A path that must point to a directory. -```python +```py from pathlib import Path from pydantic import BaseModel, DirectoryPath, ValidationError @@ -1426,16 +1271,13 @@ except ValidationError as e: ``` """ NewPath = Annotated[Path, PathType('new')] -"""A path for a new file or directory that must not already exist. The parent directory must already exist.""" +"""A path for a new file or directory that must not already exist.""" -SocketPath = Annotated[Path, PathType('socket')] -"""A path to an existing socket file""" # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ JSON TYPE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if TYPE_CHECKING: - # Json[list[str]] will be recognized by type checkers as list[str] - Json = Annotated[AnyType, ...] + Json = Annotated[AnyType, ...] # Json[list[str]] will be recognized by type checkers as list[str] else: @@ -1445,16 +1287,19 @@ else: You can use the `Json` data type to make Pydantic first load a raw JSON string before validating the loaded data into the parametrized type: - ```python - from typing import Any + ```py + from typing import Any, List from pydantic import BaseModel, Json, ValidationError + class AnyJsonModel(BaseModel): json_obj: Json[Any] + class ConstrainedJsonModel(BaseModel): - json_obj: Json[list[int]] + json_obj: Json[List[int]] + print(AnyJsonModel(json_obj='{"b": 1}')) #> json_obj={'b': 1} @@ -1468,7 +1313,7 @@ else: ''' 1 validation error for ConstrainedJsonModel json_obj - JSON input should be string, bytes or bytearray [type=json_type, input_value=12, input_type=int] + JSON input should be string, bytes or bytearray [type=json_type, input_value=12, input_type=int] ''' try: @@ -1478,7 +1323,7 @@ else: ''' 1 validation error for ConstrainedJsonModel json_obj - Invalid JSON: expected value at line 1 column 2 [type=json_invalid, input_value='[a, b]', input_type=str] + Invalid JSON: expected value at line 1 column 2 [type=json_invalid, input_value='[a, b]', input_type=str] ''' try: @@ -1488,20 +1333,24 @@ else: ''' 2 validation errors for ConstrainedJsonModel json_obj.0 - Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='a', input_type=str] + Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='a', input_type=str] json_obj.1 - Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='b', input_type=str] + Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='b', input_type=str] ''' ``` When you dump the model using `model_dump` or `model_dump_json`, the dumped value will be the result of validation, not the original JSON string. However, you can use the argument `round_trip=True` to get the original JSON string back: - ```python + ```py + from typing import List + from pydantic import BaseModel, Json + class ConstrainedJsonModel(BaseModel): - json_obj: Json[list[int]] + json_obj: Json[List[int]] + print(ConstrainedJsonModel(json_obj='[1, 2, 3]').model_dump_json()) #> {"json_obj":[1,2,3]} @@ -1530,15 +1379,15 @@ else: return hash(type(self)) def __eq__(self, other: Any) -> bool: - return type(other) is type(self) + return type(other) == type(self) # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SECRET TYPES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SecretType = TypeVar('SecretType') +SecretType = TypeVar('SecretType', str, bytes) -class _SecretBase(Generic[SecretType]): +class _SecretField(Generic[SecretType]): def __init__(self, secret_value: SecretType) -> None: self._secret_value: SecretType = secret_value @@ -1556,206 +1405,41 @@ class _SecretBase(Generic[SecretType]): def __hash__(self) -> int: return hash(self.get_secret_value()) + def __len__(self) -> int: + return len(self._secret_value) + def __str__(self) -> str: return str(self._display()) def __repr__(self) -> str: return f'{self.__class__.__name__}({self._display()!r})' - def _display(self) -> str | bytes: + def _display(self) -> SecretType: raise NotImplementedError - -def _serialize_secret(value: Secret[SecretType], info: core_schema.SerializationInfo) -> str | Secret[SecretType]: - if info.mode == 'json': - return str(value) - else: - return value - - -class Secret(_SecretBase[SecretType]): - """A generic base class used for defining a field with sensitive information that you do not want to be visible in logging or tracebacks. - - You may either directly parametrize `Secret` with a type, or subclass from `Secret` with a parametrized type. The benefit of subclassing - is that you can define a custom `_display` method, which will be used for `repr()` and `str()` methods. The examples below demonstrate both - ways of using `Secret` to create a new secret type. - - 1. Directly parametrizing `Secret` with a type: - - ```python - from pydantic import BaseModel, Secret - - SecretBool = Secret[bool] - - class Model(BaseModel): - secret_bool: SecretBool - - m = Model(secret_bool=True) - print(m.model_dump()) - #> {'secret_bool': Secret('**********')} - - print(m.model_dump_json()) - #> {"secret_bool":"**********"} - - print(m.secret_bool.get_secret_value()) - #> True - ``` - - 2. Subclassing from parametrized `Secret`: - - ```python - from datetime import date - - from pydantic import BaseModel, Secret - - class SecretDate(Secret[date]): - def _display(self) -> str: - return '****/**/**' - - class Model(BaseModel): - secret_date: SecretDate - - m = Model(secret_date=date(2022, 1, 1)) - print(m.model_dump()) - #> {'secret_date': SecretDate('****/**/**')} - - print(m.model_dump_json()) - #> {"secret_date":"****/**/**"} - - print(m.secret_date.get_secret_value()) - #> 2022-01-01 - ``` - - The value returned by the `_display` method will be used for `repr()` and `str()`. - - You can enforce constraints on the underlying type through annotations: - For example: - - ```python - from typing import Annotated - - from pydantic import BaseModel, Field, Secret, ValidationError - - SecretPosInt = Secret[Annotated[int, Field(gt=0, strict=True)]] - - class Model(BaseModel): - sensitive_int: SecretPosInt - - m = Model(sensitive_int=42) - print(m.model_dump()) - #> {'sensitive_int': Secret('**********')} - - try: - m = Model(sensitive_int=-42) # (1)! - except ValidationError as exc_info: - print(exc_info.errors(include_url=False, include_input=False)) - ''' - [ - { - 'type': 'greater_than', - 'loc': ('sensitive_int',), - 'msg': 'Input should be greater than 0', - 'ctx': {'gt': 0}, - } - ] - ''' - - try: - m = Model(sensitive_int='42') # (2)! - except ValidationError as exc_info: - print(exc_info.errors(include_url=False, include_input=False)) - ''' - [ - { - 'type': 'int_type', - 'loc': ('sensitive_int',), - 'msg': 'Input should be a valid integer', - } - ] - ''' - ``` - - 1. The input value is not greater than 0, so it raises a validation error. - 2. The input value is not an integer, so it raises a validation error because the `SecretPosInt` type has strict mode enabled. - """ - - def _display(self) -> str | bytes: - return '**********' if self.get_secret_value() else '' - @classmethod def __get_pydantic_core_schema__(cls, source: type[Any], handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: - inner_type = None - # if origin_type is Secret, then cls is a GenericAlias, and we can extract the inner type directly - origin_type = get_origin(source) - if origin_type is not None: - inner_type = get_args(source)[0] - # otherwise, we need to get the inner type from the base class + if issubclass(source, SecretStr): + field_type = str + inner_schema = core_schema.str_schema() else: - bases = getattr(cls, '__orig_bases__', getattr(cls, '__bases__', [])) - for base in bases: - if get_origin(base) is Secret: - inner_type = get_args(base)[0] - if bases == [] or inner_type is None: - raise TypeError( - f"Can't get secret type from {cls.__name__}. " - 'Please use Secret[], or subclass from Secret[] instead.' - ) + assert issubclass(source, SecretBytes) + field_type = bytes + inner_schema = core_schema.bytes_schema() + error_kind = 'string_type' if field_type is str else 'bytes_type' - inner_schema = handler.generate_schema(inner_type) # type: ignore + def serialize( + value: _SecretField[SecretType], info: core_schema.SerializationInfo + ) -> str | _SecretField[SecretType]: + if info.mode == 'json': + # we want the output to always be string without the `b'` prefix for bytes, + # hence we just use `secret_display` + return _secret_display(value.get_secret_value()) + else: + return value - def validate_secret_value(value, handler) -> Secret[SecretType]: - if isinstance(value, Secret): - value = value.get_secret_value() - validated_inner = handler(value) - return cls(validated_inner) - - return core_schema.json_or_python_schema( - python_schema=core_schema.no_info_wrap_validator_function( - validate_secret_value, - inner_schema, - ), - json_schema=core_schema.no_info_after_validator_function(lambda x: cls(x), inner_schema), - serialization=core_schema.plain_serializer_function_ser_schema( - _serialize_secret, - info_arg=True, - when_used='always', - ), - ) - - __pydantic_serializer__ = SchemaSerializer( - core_schema.any_schema( - serialization=core_schema.plain_serializer_function_ser_schema( - _serialize_secret, - info_arg=True, - when_used='always', - ) - ) - ) - - -def _secret_display(value: SecretType) -> str: # type: ignore - return '**********' if value else '' - - -def _serialize_secret_field( - value: _SecretField[SecretType], info: core_schema.SerializationInfo -) -> str | _SecretField[SecretType]: - if info.mode == 'json': - # we want the output to always be string without the `b'` prefix for bytes, - # hence we just use `secret_display` - return _secret_display(value.get_secret_value()) - else: - return value - - -class _SecretField(_SecretBase[SecretType]): - _inner_schema: ClassVar[CoreSchema] - _error_kind: ClassVar[str] - - @classmethod - def __get_pydantic_core_schema__(cls, source: type[Any], handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: def get_json_schema(_core_schema: core_schema.CoreSchema, handler: GetJsonSchemaHandler) -> JsonSchemaValue: - json_schema = handler(cls._inner_schema) + json_schema = handler(inner_schema) _utils.update_not_none( json_schema, type='string', @@ -1764,52 +1448,39 @@ class _SecretField(_SecretBase[SecretType]): ) return json_schema - def get_secret_schema(strict: bool) -> CoreSchema: - inner_schema = {**cls._inner_schema, 'strict': strict} - json_schema = core_schema.no_info_after_validator_function( - source, # construct the type - inner_schema, # pyright: ignore[reportArgumentType] - ) - return core_schema.json_or_python_schema( - python_schema=core_schema.union_schema( - [ - core_schema.is_instance_schema(source), - json_schema, - ], - custom_error_type=cls._error_kind, + s = core_schema.union_schema( + [ + core_schema.is_instance_schema(source), + core_schema.no_info_after_validator_function( + source, # construct the type + inner_schema, ), - json_schema=json_schema, - serialization=core_schema.plain_serializer_function_ser_schema( - _serialize_secret_field, - info_arg=True, - when_used='always', - ), - ) - - return core_schema.lax_or_strict_schema( - lax_schema=get_secret_schema(strict=False), - strict_schema=get_secret_schema(strict=True), - metadata={'pydantic_js_functions': [get_json_schema]}, - ) - - __pydantic_serializer__ = SchemaSerializer( - core_schema.any_schema( + ], + strict=True, + custom_error_type=error_kind, serialization=core_schema.plain_serializer_function_ser_schema( - _serialize_secret_field, + serialize, info_arg=True, - when_used='always', - ) + return_schema=core_schema.str_schema(), + when_used='json', + ), ) - ) + s.setdefault('metadata', {}).setdefault('pydantic_js_functions', []).append(get_json_schema) + return s + + +def _secret_display(value: str | bytes) -> str: + if isinstance(value, bytes): + value = value.decode() + return '**********' if value else '' class SecretStr(_SecretField[str]): """A string used for storing sensitive information that you do not want to be visible in logging or tracebacks. - When the secret value is nonempty, it is displayed as `'**********'` instead of the underlying value in - calls to `repr()` and `str()`. If the value _is_ empty, it is displayed as `''`. + It displays `'**********'` instead of the string value on `repr()` and `str()` calls. - ```python + ```py from pydantic import BaseModel, SecretStr class User(BaseModel): @@ -1822,62 +1493,19 @@ class SecretStr(_SecretField[str]): #> username='scolvin' password=SecretStr('**********') print(user.password.get_secret_value()) #> password1 - print((SecretStr('password'), SecretStr(''))) - #> (SecretStr('**********'), SecretStr('')) - ``` - - As seen above, by default, [`SecretStr`][pydantic.types.SecretStr] (and [`SecretBytes`][pydantic.types.SecretBytes]) - will be serialized as `**********` when serializing to json. - - You can use the [`field_serializer`][pydantic.functional_serializers.field_serializer] to dump the - secret as plain-text when serializing to json. - - ```python - from pydantic import BaseModel, SecretBytes, SecretStr, field_serializer - - class Model(BaseModel): - password: SecretStr - password_bytes: SecretBytes - - @field_serializer('password', 'password_bytes', when_used='json') - def dump_secret(self, v): - return v.get_secret_value() - - model = Model(password='IAmSensitive', password_bytes=b'IAmSensitiveBytes') - print(model) - #> password=SecretStr('**********') password_bytes=SecretBytes(b'**********') - print(model.password) - #> ********** - print(model.model_dump()) - ''' - { - 'password': SecretStr('**********'), - 'password_bytes': SecretBytes(b'**********'), - } - ''' - print(model.model_dump_json()) - #> {"password":"IAmSensitive","password_bytes":"IAmSensitiveBytes"} ``` """ - _inner_schema: ClassVar[CoreSchema] = core_schema.str_schema() - _error_kind: ClassVar[str] = 'string_type' - - def __len__(self) -> int: - return len(self._secret_value) - def _display(self) -> str: - return _secret_display(self._secret_value) + return _secret_display(self.get_secret_value()) class SecretBytes(_SecretField[bytes]): """A bytes used for storing sensitive information that you do not want to be visible in logging or tracebacks. It displays `b'**********'` instead of the string value on `repr()` and `str()` calls. - When the secret value is nonempty, it is displayed as `b'**********'` instead of the underlying value in - calls to `repr()` and `str()`. If the value _is_ empty, it is displayed as `b''`. - ```python + ```py from pydantic import BaseModel, SecretBytes class User(BaseModel): @@ -1888,19 +1516,11 @@ class SecretBytes(_SecretField[bytes]): #> username='scolvin' password=SecretBytes(b'**********') print(user.password.get_secret_value()) #> b'password1' - print((SecretBytes(b'password'), SecretBytes(b''))) - #> (SecretBytes(b'**********'), SecretBytes(b'')) ``` """ - _inner_schema: ClassVar[CoreSchema] = core_schema.bytes_schema() - _error_kind: ClassVar[str] = 'bytes_type' - - def __len__(self) -> int: - return len(self._secret_value) - def _display(self) -> bytes: - return _secret_display(self._secret_value).encode() + return _secret_display(self.get_secret_value()).encode() # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PAYMENT CARD TYPES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1950,9 +1570,9 @@ class PaymentCardNumber(str): ) @classmethod - def validate(cls, input_value: str, /, _: core_schema.ValidationInfo) -> PaymentCardNumber: + def validate(cls, __input_value: str, _: core_schema.ValidationInfo) -> PaymentCardNumber: """Validate the card number and return a `PaymentCardNumber` instance.""" - return cls(input_value) + return cls(__input_value) @property def masked(self) -> str: @@ -2026,6 +1646,24 @@ class PaymentCardNumber(str): # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BYTE SIZE TYPE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +BYTE_SIZES = { + 'b': 1, + 'kb': 10**3, + 'mb': 10**6, + 'gb': 10**9, + 'tb': 10**12, + 'pb': 10**15, + 'eb': 10**18, + 'kib': 2**10, + 'mib': 2**20, + 'gib': 2**30, + 'tib': 2**40, + 'pib': 2**50, + 'eib': 2**60, +} +BYTE_SIZES.update({k.lower()[0]: v for k, v in BYTE_SIZES.items() if 'i' not in k}) +byte_string_re = re.compile(r'^\s*(\d*\.?\d+)\s*(\w+)?', re.IGNORECASE) + class ByteSize(int): """Converts a string representing a number of bytes with units (such as `'1KB'` or `'11.5MiB'`) into an integer. @@ -2040,7 +1678,7 @@ class ByteSize(int): !!! info Note that `1b` will be parsed as "1 byte" and not "1 bit". - ```python + ```py from pydantic import BaseModel, ByteSize class MyModel(BaseModel): @@ -2056,72 +1694,24 @@ class ByteSize(int): #> 44.4PiB print(m.size.human_readable(decimal=True)) #> 50.0PB - print(m.size.human_readable(separator=' ')) - #> 44.4 PiB print(m.size.to('TiB')) #> 45474.73508864641 ``` """ - byte_sizes = { - 'b': 1, - 'kb': 10**3, - 'mb': 10**6, - 'gb': 10**9, - 'tb': 10**12, - 'pb': 10**15, - 'eb': 10**18, - 'kib': 2**10, - 'mib': 2**20, - 'gib': 2**30, - 'tib': 2**40, - 'pib': 2**50, - 'eib': 2**60, - 'bit': 1 / 8, - 'kbit': 10**3 / 8, - 'mbit': 10**6 / 8, - 'gbit': 10**9 / 8, - 'tbit': 10**12 / 8, - 'pbit': 10**15 / 8, - 'ebit': 10**18 / 8, - 'kibit': 2**10 / 8, - 'mibit': 2**20 / 8, - 'gibit': 2**30 / 8, - 'tibit': 2**40 / 8, - 'pibit': 2**50 / 8, - 'eibit': 2**60 / 8, - } - byte_sizes.update({k.lower()[0]: v for k, v in byte_sizes.items() if 'i' not in k}) - - byte_string_pattern = r'^\s*(\d*\.?\d+)\s*(\w+)?' - byte_string_re = re.compile(byte_string_pattern, re.IGNORECASE) - @classmethod def __get_pydantic_core_schema__(cls, source: type[Any], handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: - return core_schema.with_info_after_validator_function( - function=cls._validate, - schema=core_schema.union_schema( - [ - core_schema.str_schema(pattern=cls.byte_string_pattern), - core_schema.int_schema(ge=0), - ], - custom_error_type='byte_size', - custom_error_message='could not parse value and unit from byte string', - ), - serialization=core_schema.plain_serializer_function_ser_schema( - int, return_schema=core_schema.int_schema(ge=0) - ), - ) + return core_schema.with_info_plain_validator_function(cls._validate) @classmethod - def _validate(cls, input_value: Any, /, _: core_schema.ValidationInfo) -> ByteSize: + def _validate(cls, __input_value: Any, _: core_schema.ValidationInfo) -> ByteSize: try: - return cls(int(input_value)) + return cls(int(__input_value)) except ValueError: pass - str_match = cls.byte_string_re.match(str(input_value)) + str_match = byte_string_re.match(str(__input_value)) if str_match is None: raise PydanticCustomError('byte_size', 'could not parse value and unit from byte string') @@ -2130,19 +1720,18 @@ class ByteSize(int): unit = 'b' try: - unit_mult = cls.byte_sizes[unit.lower()] + unit_mult = BYTE_SIZES[unit.lower()] except KeyError: raise PydanticCustomError('byte_size_unit', 'could not interpret byte unit: {unit}', {'unit': unit}) return cls(int(float(scalar) * unit_mult)) - def human_readable(self, decimal: bool = False, separator: str = '') -> str: + def human_readable(self, decimal: bool = False) -> str: """Converts a byte size to a human readable string. Args: decimal: If True, use decimal units (e.g. 1000 bytes per KB). If False, use binary units (e.g. 1024 bytes per KiB). - separator: A string used to split the value and unit. Defaults to an empty string (''). Returns: A human readable string representation of the byte size. @@ -2160,27 +1749,25 @@ class ByteSize(int): for unit in units: if abs(num) < divisor: if unit == 'B': - return f'{num:0.0f}{separator}{unit}' + return f'{num:0.0f}{unit}' else: - return f'{num:0.1f}{separator}{unit}' + return f'{num:0.1f}{unit}' num /= divisor - return f'{num:0.1f}{separator}{final_unit}' + return f'{num:0.1f}{final_unit}' def to(self, unit: str) -> float: - """Converts a byte size to another unit, including both byte and bit units. + """Converts a byte size to another unit. Args: - unit: The unit to convert to. Must be one of the following: B, KB, MB, GB, TB, PB, EB, - KiB, MiB, GiB, TiB, PiB, EiB (byte units) and - bit, kbit, mbit, gbit, tbit, pbit, ebit, - kibit, mibit, gibit, tibit, pibit, eibit (bit units). + unit: The unit to convert to. Must be one of the following: B, KB, MB, GB, TB, PB, EiB, + KiB, MiB, GiB, TiB, PiB, EiB. Returns: The byte size in the new unit. """ try: - unit_div = self.byte_sizes[unit.lower()] + unit_div = BYTE_SIZES[unit.lower()] except KeyError: raise PydanticCustomError('byte_size_unit', 'Could not interpret byte unit: {unit}', {'unit': unit}) @@ -2192,7 +1779,7 @@ class ByteSize(int): def _check_annotated_type(annotated_type: str, expected_type: str, annotation: str) -> None: if annotated_type != expected_type: - raise PydanticUserError(f"'{annotation}' cannot annotate '{annotated_type}'.", code='invalid-annotated-type') + raise PydanticUserError(f"'{annotation}' cannot annotate '{annotated_type}'.", code='invalid_annotated_type') if TYPE_CHECKING: @@ -2259,7 +1846,7 @@ def condate( Returns: A date type with the specified constraints. """ - return Annotated[ # pyright: ignore[reportReturnType] + return Annotated[ date, Strict(strict) if strict is not None else None, annotated_types.Interval(gt=gt, ge=ge, lt=lt, le=le), @@ -2407,7 +1994,7 @@ class Base64Encoder(EncoderProtocol): The decoded data. """ try: - return base64.b64decode(data) + return base64.decodebytes(data) except ValueError as e: raise PydanticCustomError('base64_decode', "Base64 decoding error: '{error}'", {'error': str(e)}) @@ -2421,7 +2008,7 @@ class Base64Encoder(EncoderProtocol): Returns: The encoded data. """ - return base64.b64encode(value) + return base64.encodebytes(value) @classmethod def get_json_format(cls) -> Literal['base64']: @@ -2479,8 +2066,8 @@ class EncodedBytes: `EncodedBytes` needs an encoder that implements `EncoderProtocol` to operate. - ```python - from typing import Annotated + ```py + from typing_extensions import Annotated from pydantic import BaseModel, EncodedBytes, EncoderProtocol, ValidationError @@ -2538,11 +2125,9 @@ class EncodedBytes: return field_schema def __get_pydantic_core_schema__(self, source: type[Any], handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: - schema = handler(source) - _check_annotated_type(schema['type'], 'bytes', self.__class__.__name__) return core_schema.with_info_after_validator_function( function=self.decode, - schema=schema, + schema=core_schema.bytes_schema(), serialization=core_schema.plain_serializer_function_ser_schema(function=self.encode), ) @@ -2573,13 +2158,13 @@ class EncodedBytes: @_dataclasses.dataclass(**_internal_dataclass.slots_true) -class EncodedStr: +class EncodedStr(EncodedBytes): """A str type that is encoded and decoded using the specified encoder. `EncodedStr` needs an encoder that implements `EncoderProtocol` to operate. - ```python - from typing import Annotated + ```py + from typing_extensions import Annotated from pydantic import BaseModel, EncodedStr, EncoderProtocol, ValidationError @@ -2627,25 +2212,14 @@ class EncodedStr: ``` """ - encoder: type[EncoderProtocol] - - def __get_pydantic_json_schema__( - self, core_schema: core_schema.CoreSchema, handler: GetJsonSchemaHandler - ) -> JsonSchemaValue: - field_schema = handler(core_schema) - field_schema.update(type='string', format=self.encoder.get_json_format()) - return field_schema - def __get_pydantic_core_schema__(self, source: type[Any], handler: GetCoreSchemaHandler) -> core_schema.CoreSchema: - schema = handler(source) - _check_annotated_type(schema['type'], 'str', self.__class__.__name__) return core_schema.with_info_after_validator_function( function=self.decode_str, - schema=schema, + schema=super(EncodedStr, self).__get_pydantic_core_schema__(source=source, handler=handler), # noqa: UP008 serialization=core_schema.plain_serializer_function_ser_schema(function=self.encode_str), ) - def decode_str(self, data: str, _: core_schema.ValidationInfo) -> str: + def decode_str(self, data: bytes, _: core_schema.ValidationInfo) -> str: """Decode the data using the specified encoder. Args: @@ -2654,7 +2228,7 @@ class EncodedStr: Returns: The decoded data. """ - return self.encoder.decode(data.encode()).decode() + return data.decode() def encode_str(self, value: str) -> str: """Encode the data using the specified encoder. @@ -2665,7 +2239,7 @@ class EncodedStr: Returns: The encoded data. """ - return self.encoder.encode(value.encode()).decode() # noqa: UP008 + return super(EncodedStr, self).encode(value=value.encode()).decode() # noqa: UP008 def __hash__(self) -> int: return hash(self.encoder) @@ -2675,52 +2249,12 @@ Base64Bytes = Annotated[bytes, EncodedBytes(encoder=Base64Encoder)] """A bytes type that is encoded and decoded using the standard (non-URL-safe) base64 encoder. Note: - Under the hood, `Base64Bytes` uses the standard library `base64.b64encode` and `base64.b64decode` functions. + Under the hood, `Base64Bytes` use standard library `base64.encodebytes` and `base64.decodebytes` functions. As a result, attempting to decode url-safe base64 data using the `Base64Bytes` type may fail or produce an incorrect decoding. -Warning: - In versions of Pydantic prior to v2.10, `Base64Bytes` used [`base64.encodebytes`][base64.encodebytes] - and [`base64.decodebytes`][base64.decodebytes] functions. According to the [base64 documentation](https://docs.python.org/3/library/base64.html), - these methods are considered legacy implementation, and thus, Pydantic v2.10+ now uses the modern - [`base64.b64encode`][base64.b64encode] and [`base64.b64decode`][base64.b64decode] functions. - - If you'd still like to use these legacy encoders / decoders, you can achieve this by creating a custom annotated type, - like follows: - - ```python - import base64 - from typing import Annotated, Literal - - from pydantic_core import PydanticCustomError - - from pydantic import EncodedBytes, EncoderProtocol - - class LegacyBase64Encoder(EncoderProtocol): - @classmethod - def decode(cls, data: bytes) -> bytes: - try: - return base64.decodebytes(data) - except ValueError as e: - raise PydanticCustomError( - 'base64_decode', - "Base64 decoding error: '{error}'", - {'error': str(e)}, - ) - - @classmethod - def encode(cls, value: bytes) -> bytes: - return base64.encodebytes(value) - - @classmethod - def get_json_format(cls) -> Literal['base64']: - return 'base64' - - LegacyBase64Bytes = Annotated[bytes, EncodedBytes(encoder=LegacyBase64Encoder)] - ``` - -```python +```py from pydantic import Base64Bytes, BaseModel, ValidationError class Model(BaseModel): @@ -2735,7 +2269,7 @@ print(m.base64_bytes) # Serialize into the base64 form print(m.model_dump()) -#> {'base64_bytes': b'VGhpcyBpcyB0aGUgd2F5'} +#> {'base64_bytes': b'VGhpcyBpcyB0aGUgd2F5\n'} # Validate base64 data try: @@ -2753,21 +2287,12 @@ Base64Str = Annotated[str, EncodedStr(encoder=Base64Encoder)] """A str type that is encoded and decoded using the standard (non-URL-safe) base64 encoder. Note: - Under the hood, `Base64Str` uses the standard library `base64.b64encode` and `base64.b64decode` functions. + Under the hood, `Base64Bytes` use standard library `base64.encodebytes` and `base64.decodebytes` functions. As a result, attempting to decode url-safe base64 data using the `Base64Str` type may fail or produce an incorrect decoding. -Warning: - In versions of Pydantic prior to v2.10, `Base64Str` used [`base64.encodebytes`][base64.encodebytes] - and [`base64.decodebytes`][base64.decodebytes] functions. According to the [base64 documentation](https://docs.python.org/3/library/base64.html), - these methods are considered legacy implementation, and thus, Pydantic v2.10+ now uses the modern - [`base64.b64encode`][base64.b64encode] and [`base64.b64decode`][base64.b64decode] functions. - - See the [`Base64Bytes`][pydantic.types.Base64Bytes] type for more information on how to - replicate the old behavior with the legacy encoders / decoders. - -```python +```py from pydantic import Base64Str, BaseModel, ValidationError class Model(BaseModel): @@ -2782,7 +2307,7 @@ print(m.base64_str) # Serialize into the base64 form print(m.model_dump()) -#> {'base64_str': 'VGhlc2UgYXJlbid0IHRoZSBkcm9pZHMgeW91J3JlIGxvb2tpbmcgZm9y'} +#> {'base64_str': 'VGhlc2UgYXJlbid0IHRoZSBkcm9pZHMgeW91J3JlIGxvb2tpbmcgZm9y\n'} # Validate base64 data try: @@ -2806,7 +2331,7 @@ Note: As a result, the `Base64UrlBytes` type can be used to faithfully decode "vanilla" base64 data (using `'+'` and `'/'`). -```python +```py from pydantic import Base64UrlBytes, BaseModel class Model(BaseModel): @@ -2827,7 +2352,7 @@ Note: As a result, the `Base64UrlStr` type can be used to faithfully decode "vanilla" base64 data (using `'+'` and `'/'`). -```python +```py from pydantic import Base64UrlStr, BaseModel class Model(BaseModel): @@ -2846,17 +2371,16 @@ __getattr__ = getattr_migration(__name__) @_dataclasses.dataclass(**_internal_dataclass.slots_true) class GetPydanticSchema: - """!!! abstract "Usage Documentation" - [Using `GetPydanticSchema` to Reduce Boilerplate](../concepts/types.md#using-getpydanticschema-to-reduce-boilerplate) - - A convenience class for creating an annotation that provides pydantic custom type hooks. + """A convenience class for creating an annotation that provides pydantic custom type hooks. This class is intended to eliminate the need to create a custom "marker" which defines the `__get_pydantic_core_schema__` and `__get_pydantic_json_schema__` custom hook methods. For example, to have a field treated by type checkers as `int`, but by pydantic as `Any`, you can do: ```python - from typing import Annotated, Any + from typing import Any + + from typing_extensions import Annotated from pydantic import BaseModel, GetPydanticSchema @@ -2889,397 +2413,3 @@ class GetPydanticSchema: return object.__getattribute__(self, item) __hash__ = object.__hash__ - - -@_dataclasses.dataclass(**_internal_dataclass.slots_true, frozen=True) -class Tag: - """Provides a way to specify the expected tag to use for a case of a (callable) discriminated union. - - Also provides a way to label a union case in error messages. - - When using a callable `Discriminator`, attach a `Tag` to each case in the `Union` to specify the tag that - should be used to identify that case. For example, in the below example, the `Tag` is used to specify that - if `get_discriminator_value` returns `'apple'`, the input should be validated as an `ApplePie`, and if it - returns `'pumpkin'`, the input should be validated as a `PumpkinPie`. - - The primary role of the `Tag` here is to map the return value from the callable `Discriminator` function to - the appropriate member of the `Union` in question. - - ```python - from typing import Annotated, Any, Literal, Union - - from pydantic import BaseModel, Discriminator, Tag - - class Pie(BaseModel): - time_to_cook: int - num_ingredients: int - - class ApplePie(Pie): - fruit: Literal['apple'] = 'apple' - - class PumpkinPie(Pie): - filling: Literal['pumpkin'] = 'pumpkin' - - def get_discriminator_value(v: Any) -> str: - if isinstance(v, dict): - return v.get('fruit', v.get('filling')) - return getattr(v, 'fruit', getattr(v, 'filling', None)) - - class ThanksgivingDinner(BaseModel): - dessert: Annotated[ - Union[ - Annotated[ApplePie, Tag('apple')], - Annotated[PumpkinPie, Tag('pumpkin')], - ], - Discriminator(get_discriminator_value), - ] - - apple_variation = ThanksgivingDinner.model_validate( - {'dessert': {'fruit': 'apple', 'time_to_cook': 60, 'num_ingredients': 8}} - ) - print(repr(apple_variation)) - ''' - ThanksgivingDinner(dessert=ApplePie(time_to_cook=60, num_ingredients=8, fruit='apple')) - ''' - - pumpkin_variation = ThanksgivingDinner.model_validate( - { - 'dessert': { - 'filling': 'pumpkin', - 'time_to_cook': 40, - 'num_ingredients': 6, - } - } - ) - print(repr(pumpkin_variation)) - ''' - ThanksgivingDinner(dessert=PumpkinPie(time_to_cook=40, num_ingredients=6, filling='pumpkin')) - ''' - ``` - - !!! note - You must specify a `Tag` for every case in a `Tag` that is associated with a - callable `Discriminator`. Failing to do so will result in a `PydanticUserError` with code - [`callable-discriminator-no-tag`](../errors/usage_errors.md#callable-discriminator-no-tag). - - See the [Discriminated Unions] concepts docs for more details on how to use `Tag`s. - - [Discriminated Unions]: ../concepts/unions.md#discriminated-unions - """ - - tag: str - - def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> CoreSchema: - schema = handler(source_type) - metadata = cast('CoreMetadata', schema.setdefault('metadata', {})) - metadata['pydantic_internal_union_tag_key'] = self.tag - return schema - - -@_dataclasses.dataclass(**_internal_dataclass.slots_true, frozen=True) -class Discriminator: - """!!! abstract "Usage Documentation" - [Discriminated Unions with `Callable` `Discriminator`](../concepts/unions.md#discriminated-unions-with-callable-discriminator) - - Provides a way to use a custom callable as the way to extract the value of a union discriminator. - - This allows you to get validation behavior like you'd get from `Field(discriminator=)`, - but without needing to have a single shared field across all the union choices. This also makes it - possible to handle unions of models and primitive types with discriminated-union-style validation errors. - Finally, this allows you to use a custom callable as the way to identify which member of a union a value - belongs to, while still seeing all the performance benefits of a discriminated union. - - Consider this example, which is much more performant with the use of `Discriminator` and thus a `TaggedUnion` - than it would be as a normal `Union`. - - ```python - from typing import Annotated, Any, Literal, Union - - from pydantic import BaseModel, Discriminator, Tag - - class Pie(BaseModel): - time_to_cook: int - num_ingredients: int - - class ApplePie(Pie): - fruit: Literal['apple'] = 'apple' - - class PumpkinPie(Pie): - filling: Literal['pumpkin'] = 'pumpkin' - - def get_discriminator_value(v: Any) -> str: - if isinstance(v, dict): - return v.get('fruit', v.get('filling')) - return getattr(v, 'fruit', getattr(v, 'filling', None)) - - class ThanksgivingDinner(BaseModel): - dessert: Annotated[ - Union[ - Annotated[ApplePie, Tag('apple')], - Annotated[PumpkinPie, Tag('pumpkin')], - ], - Discriminator(get_discriminator_value), - ] - - apple_variation = ThanksgivingDinner.model_validate( - {'dessert': {'fruit': 'apple', 'time_to_cook': 60, 'num_ingredients': 8}} - ) - print(repr(apple_variation)) - ''' - ThanksgivingDinner(dessert=ApplePie(time_to_cook=60, num_ingredients=8, fruit='apple')) - ''' - - pumpkin_variation = ThanksgivingDinner.model_validate( - { - 'dessert': { - 'filling': 'pumpkin', - 'time_to_cook': 40, - 'num_ingredients': 6, - } - } - ) - print(repr(pumpkin_variation)) - ''' - ThanksgivingDinner(dessert=PumpkinPie(time_to_cook=40, num_ingredients=6, filling='pumpkin')) - ''' - ``` - - See the [Discriminated Unions] concepts docs for more details on how to use `Discriminator`s. - - [Discriminated Unions]: ../concepts/unions.md#discriminated-unions - """ - - discriminator: str | Callable[[Any], Hashable] - """The callable or field name for discriminating the type in a tagged union. - - A `Callable` discriminator must extract the value of the discriminator from the input. - A `str` discriminator must be the name of a field to discriminate against. - """ - custom_error_type: str | None = None - """Type to use in [custom errors](../errors/errors.md) replacing the standard discriminated union - validation errors. - """ - custom_error_message: str | None = None - """Message to use in custom errors.""" - custom_error_context: dict[str, int | str | float] | None = None - """Context to use in custom errors.""" - - def __get_pydantic_core_schema__(self, source_type: Any, handler: GetCoreSchemaHandler) -> CoreSchema: - if not is_union_origin(get_origin(source_type)): - raise TypeError(f'{type(self).__name__} must be used with a Union type, not {source_type}') - - if isinstance(self.discriminator, str): - from pydantic import Field - - return handler(Annotated[source_type, Field(discriminator=self.discriminator)]) - else: - original_schema = handler(source_type) - return self._convert_schema(original_schema) - - def _convert_schema(self, original_schema: core_schema.CoreSchema) -> core_schema.TaggedUnionSchema: - if original_schema['type'] != 'union': - # This likely indicates that the schema was a single-item union that was simplified. - # In this case, we do the same thing we do in - # `pydantic._internal._discriminated_union._ApplyInferredDiscriminator._apply_to_root`, namely, - # package the generated schema back into a single-item union. - original_schema = core_schema.union_schema([original_schema]) - - tagged_union_choices = {} - for choice in original_schema['choices']: - tag = None - if isinstance(choice, tuple): - choice, tag = choice - metadata = cast('CoreMetadata | None', choice.get('metadata')) - if metadata is not None: - tag = metadata.get('pydantic_internal_union_tag_key') or tag - if tag is None: - raise PydanticUserError( - f'`Tag` not provided for choice {choice} used with `Discriminator`', - code='callable-discriminator-no-tag', - ) - tagged_union_choices[tag] = choice - - # Have to do these verbose checks to ensure falsy values ('' and {}) don't get ignored - custom_error_type = self.custom_error_type - if custom_error_type is None: - custom_error_type = original_schema.get('custom_error_type') - - custom_error_message = self.custom_error_message - if custom_error_message is None: - custom_error_message = original_schema.get('custom_error_message') - - custom_error_context = self.custom_error_context - if custom_error_context is None: - custom_error_context = original_schema.get('custom_error_context') - - custom_error_type = original_schema.get('custom_error_type') if custom_error_type is None else custom_error_type - return core_schema.tagged_union_schema( - tagged_union_choices, - self.discriminator, - custom_error_type=custom_error_type, - custom_error_message=custom_error_message, - custom_error_context=custom_error_context, - strict=original_schema.get('strict'), - ref=original_schema.get('ref'), - metadata=original_schema.get('metadata'), - serialization=original_schema.get('serialization'), - ) - - -_JSON_TYPES = {int, float, str, bool, list, dict, type(None)} - - -def _get_type_name(x: Any) -> str: - type_ = type(x) - if type_ in _JSON_TYPES: - return type_.__name__ - - # Handle proper subclasses; note we don't need to handle None or bool here - if isinstance(x, int): - return 'int' - if isinstance(x, float): - return 'float' - if isinstance(x, str): - return 'str' - if isinstance(x, list): - return 'list' - if isinstance(x, dict): - return 'dict' - - # Fail by returning the type's actual name - return getattr(type_, '__name__', '') - - -class _AllowAnyJson: - @classmethod - def __get_pydantic_core_schema__(cls, source_type: Any, handler: GetCoreSchemaHandler) -> CoreSchema: - python_schema = handler(source_type) - return core_schema.json_or_python_schema(json_schema=core_schema.any_schema(), python_schema=python_schema) - - -if TYPE_CHECKING: - # This seems to only be necessary for mypy - JsonValue: TypeAlias = Union[ - list['JsonValue'], - dict[str, 'JsonValue'], - str, - bool, - int, - float, - None, - ] - """A `JsonValue` is used to represent a value that can be serialized to JSON. - - It may be one of: - - * `list['JsonValue']` - * `dict[str, 'JsonValue']` - * `str` - * `bool` - * `int` - * `float` - * `None` - - The following example demonstrates how to use `JsonValue` to validate JSON data, - and what kind of errors to expect when input data is not json serializable. - - ```python - import json - - from pydantic import BaseModel, JsonValue, ValidationError - - class Model(BaseModel): - j: JsonValue - - valid_json_data = {'j': {'a': {'b': {'c': 1, 'd': [2, None]}}}} - invalid_json_data = {'j': {'a': {'b': ...}}} - - print(repr(Model.model_validate(valid_json_data))) - #> Model(j={'a': {'b': {'c': 1, 'd': [2, None]}}}) - print(repr(Model.model_validate_json(json.dumps(valid_json_data)))) - #> Model(j={'a': {'b': {'c': 1, 'd': [2, None]}}}) - - try: - Model.model_validate(invalid_json_data) - except ValidationError as e: - print(e) - ''' - 1 validation error for Model - j.dict.a.dict.b - input was not a valid JSON value [type=invalid-json-value, input_value=Ellipsis, input_type=ellipsis] - ''' - ``` - """ - -else: - JsonValue = TypeAliasType( - 'JsonValue', - Annotated[ - Union[ - Annotated[list['JsonValue'], Tag('list')], - Annotated[dict[str, 'JsonValue'], Tag('dict')], - Annotated[str, Tag('str')], - Annotated[bool, Tag('bool')], - Annotated[int, Tag('int')], - Annotated[float, Tag('float')], - Annotated[None, Tag('NoneType')], - ], - Discriminator( - _get_type_name, - custom_error_type='invalid-json-value', - custom_error_message='input was not a valid JSON value', - ), - _AllowAnyJson, - ], - ) - - -class _OnErrorOmit: - @classmethod - def __get_pydantic_core_schema__(cls, source_type: Any, handler: GetCoreSchemaHandler) -> CoreSchema: - # there is no actual default value here but we use with_default_schema since it already has the on_error - # behavior implemented and it would be no more efficient to implement it on every other validator - # or as a standalone validator - return core_schema.with_default_schema(schema=handler(source_type), on_error='omit') - - -OnErrorOmit = Annotated[T, _OnErrorOmit] -""" -When used as an item in a list, the key type in a dict, optional values of a TypedDict, etc. -this annotation omits the item from the iteration if there is any error validating it. -That is, instead of a [`ValidationError`][pydantic_core.ValidationError] being propagated up and the entire iterable being discarded -any invalid items are discarded and the valid ones are returned. -""" - - -@_dataclasses.dataclass -class FailFast(_fields.PydanticMetadata, BaseMetadata): - """A `FailFast` annotation can be used to specify that validation should stop at the first error. - - This can be useful when you want to validate a large amount of data and you only need to know if it's valid or not. - - You might want to enable this setting if you want to validate your data faster (basically, if you use this, - validation will be more performant with the caveat that you get less information). - - ```python - from typing import Annotated - - from pydantic import BaseModel, FailFast, ValidationError - - class Model(BaseModel): - x: Annotated[list[int], FailFast()] - - # This will raise a single error for the first invalid value and stop validation - try: - obj = Model(x=[1, 2, 'a', 4, 5, 'b', 7, 8, 9, 'c']) - except ValidationError as e: - print(e) - ''' - 1 validation error for Model - x.2 - Input should be a valid integer, unable to parse string as an integer [type=int_parsing, input_value='a', input_type=str] - ''' - ``` - """ - - fail_fast: bool = True diff --git a/venv/lib/python3.12/site-packages/pydantic/typing.py b/venv/lib/python3.12/site-packages/pydantic/typing.py index 0bda22d..f1b32ba 100644 --- a/venv/lib/python3.12/site-packages/pydantic/typing.py +++ b/venv/lib/python3.12/site-packages/pydantic/typing.py @@ -1,5 +1,4 @@ """`typing` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/utils.py b/venv/lib/python3.12/site-packages/pydantic/utils.py index 8d1e2a8..1619d1d 100644 --- a/venv/lib/python3.12/site-packages/pydantic/utils.py +++ b/venv/lib/python3.12/site-packages/pydantic/utils.py @@ -1,5 +1,4 @@ """The `utils` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/__init__.py b/venv/lib/python3.12/site-packages/pydantic/v1/__init__.py index 6ad3f46..3bf1418 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/__init__.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/__init__.py @@ -1,24 +1,24 @@ # flake8: noqa -from pydantic.v1 import dataclasses -from pydantic.v1.annotated_types import create_model_from_namedtuple, create_model_from_typeddict -from pydantic.v1.class_validators import root_validator, validator -from pydantic.v1.config import BaseConfig, ConfigDict, Extra -from pydantic.v1.decorator import validate_arguments -from pydantic.v1.env_settings import BaseSettings -from pydantic.v1.error_wrappers import ValidationError -from pydantic.v1.errors import * -from pydantic.v1.fields import Field, PrivateAttr, Required -from pydantic.v1.main import * -from pydantic.v1.networks import * -from pydantic.v1.parse import Protocol -from pydantic.v1.tools import * -from pydantic.v1.types import * -from pydantic.v1.version import VERSION, compiled +from . import dataclasses +from .annotated_types import create_model_from_namedtuple, create_model_from_typeddict +from .class_validators import root_validator, validator +from .config import BaseConfig, ConfigDict, Extra +from .decorator import validate_arguments +from .env_settings import BaseSettings +from .error_wrappers import ValidationError +from .errors import * +from .fields import Field, PrivateAttr, Required +from .main import * +from .networks import * +from .parse import Protocol +from .tools import * +from .types import * +from .version import VERSION, compiled __version__ = VERSION -# WARNING __all__ from pydantic.errors is not included here, it will be removed as an export here in v2 -# please use "from pydantic.v1.errors import ..." instead +# WARNING __all__ from .errors is not included here, it will be removed as an export here in v2 +# please use "from pydantic.errors import ..." instead __all__ = [ # annotated types utils 'create_model_from_namedtuple', diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/_hypothesis_plugin.py b/venv/lib/python3.12/site-packages/pydantic/v1/_hypothesis_plugin.py index b62234d..0c52962 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/_hypothesis_plugin.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/_hypothesis_plugin.py @@ -35,7 +35,7 @@ import hypothesis.strategies as st import pydantic import pydantic.color import pydantic.types -from pydantic.v1.utils import lenient_issubclass +from pydantic.utils import lenient_issubclass # FilePath and DirectoryPath are explicitly unsupported, as we'd have to create # them on-disk, and that's unsafe in general without being told *where* to do so. diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/annotated_types.py b/venv/lib/python3.12/site-packages/pydantic/v1/annotated_types.py index d9eaaaf..d333457 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/annotated_types.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/annotated_types.py @@ -1,9 +1,9 @@ import sys from typing import TYPE_CHECKING, Any, Dict, FrozenSet, NamedTuple, Type -from pydantic.v1.fields import Required -from pydantic.v1.main import BaseModel, create_model -from pydantic.v1.typing import is_typeddict, is_typeddict_special +from .fields import Required +from .main import BaseModel, create_model +from .typing import is_typeddict, is_typeddict_special if TYPE_CHECKING: from typing_extensions import TypedDict diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/class_validators.py b/venv/lib/python3.12/site-packages/pydantic/v1/class_validators.py index 2f68fc8..71e6650 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/class_validators.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/class_validators.py @@ -5,12 +5,12 @@ from itertools import chain from types import FunctionType from typing import TYPE_CHECKING, Any, Callable, Dict, Iterable, List, Optional, Set, Tuple, Type, Union, overload -from pydantic.v1.errors import ConfigError -from pydantic.v1.typing import AnyCallable -from pydantic.v1.utils import ROOT_KEY, in_ipython +from .errors import ConfigError +from .typing import AnyCallable +from .utils import ROOT_KEY, in_ipython if TYPE_CHECKING: - from pydantic.v1.typing import AnyClassMethod + from .typing import AnyClassMethod class Validator: @@ -36,9 +36,9 @@ class Validator: if TYPE_CHECKING: from inspect import Signature - from pydantic.v1.config import BaseConfig - from pydantic.v1.fields import ModelField - from pydantic.v1.types import ModelOrDc + from .config import BaseConfig + from .fields import ModelField + from .types import ModelOrDc ValidatorCallable = Callable[[Optional[ModelOrDc], Any, Dict[str, Any], ModelField, Type[BaseConfig]], Any] ValidatorsList = List[ValidatorCallable] diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/color.py b/venv/lib/python3.12/site-packages/pydantic/v1/color.py index b0bbf78..6fdc9fb 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/color.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/color.py @@ -12,11 +12,11 @@ import re from colorsys import hls_to_rgb, rgb_to_hls from typing import TYPE_CHECKING, Any, Dict, Optional, Tuple, Union, cast -from pydantic.v1.errors import ColorError -from pydantic.v1.utils import Representation, almost_equal_floats +from .errors import ColorError +from .utils import Representation, almost_equal_floats if TYPE_CHECKING: - from pydantic.v1.typing import CallableGenerator, ReprArgs + from .typing import CallableGenerator, ReprArgs ColorTuple = Union[Tuple[int, int, int], Tuple[int, int, int, float]] ColorType = Union[ColorTuple, str] diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/config.py b/venv/lib/python3.12/site-packages/pydantic/v1/config.py index 18f7c99..a25973a 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/config.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/config.py @@ -4,15 +4,15 @@ from typing import TYPE_CHECKING, Any, Callable, Dict, ForwardRef, Optional, Tup from typing_extensions import Literal, Protocol -from pydantic.v1.typing import AnyArgTCallable, AnyCallable -from pydantic.v1.utils import GetterDict -from pydantic.v1.version import compiled +from .typing import AnyArgTCallable, AnyCallable +from .utils import GetterDict +from .version import compiled if TYPE_CHECKING: from typing import overload - from pydantic.v1.fields import ModelField - from pydantic.v1.main import BaseModel + from .fields import ModelField + from .main import BaseModel ConfigType = Type['BaseConfig'] diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/dataclasses.py b/venv/lib/python3.12/site-packages/pydantic/v1/dataclasses.py index bd16702..86bad1e 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/dataclasses.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/dataclasses.py @@ -36,28 +36,21 @@ import dataclasses import sys from contextlib import contextmanager from functools import wraps - -try: - from functools import cached_property -except ImportError: - # cached_property available only for python3.8+ - pass - from typing import TYPE_CHECKING, Any, Callable, ClassVar, Dict, Generator, Optional, Type, TypeVar, Union, overload from typing_extensions import dataclass_transform -from pydantic.v1.class_validators import gather_all_validators -from pydantic.v1.config import BaseConfig, ConfigDict, Extra, get_config -from pydantic.v1.error_wrappers import ValidationError -from pydantic.v1.errors import DataclassTypeError -from pydantic.v1.fields import Field, FieldInfo, Required, Undefined -from pydantic.v1.main import create_model, validate_model -from pydantic.v1.utils import ClassAttribute +from .class_validators import gather_all_validators +from .config import BaseConfig, ConfigDict, Extra, get_config +from .error_wrappers import ValidationError +from .errors import DataclassTypeError +from .fields import Field, FieldInfo, Required, Undefined +from .main import create_model, validate_model +from .utils import ClassAttribute if TYPE_CHECKING: - from pydantic.v1.main import BaseModel - from pydantic.v1.typing import CallableGenerator, NoArgAnyCallable + from .main import BaseModel + from .typing import CallableGenerator, NoArgAnyCallable DataclassT = TypeVar('DataclassT', bound='Dataclass') @@ -416,17 +409,6 @@ def create_pydantic_model_from_dataclass( return model -if sys.version_info >= (3, 8): - - def _is_field_cached_property(obj: 'Dataclass', k: str) -> bool: - return isinstance(getattr(type(obj), k, None), cached_property) - -else: - - def _is_field_cached_property(obj: 'Dataclass', k: str) -> bool: - return False - - def _dataclass_validate_values(self: 'Dataclass') -> None: # validation errors can occur if this function is called twice on an already initialised dataclass. # for example if Extra.forbid is enabled, it would consider __pydantic_initialised__ an invalid extra property @@ -435,13 +417,9 @@ def _dataclass_validate_values(self: 'Dataclass') -> None: if getattr(self, '__pydantic_has_field_info_default__', False): # We need to remove `FieldInfo` values since they are not valid as input # It's ok to do that because they are obviously the default values! - input_data = { - k: v - for k, v in self.__dict__.items() - if not (isinstance(v, FieldInfo) or _is_field_cached_property(self, k)) - } + input_data = {k: v for k, v in self.__dict__.items() if not isinstance(v, FieldInfo)} else: - input_data = {k: v for k, v in self.__dict__.items() if not _is_field_cached_property(self, k)} + input_data = self.__dict__ d, _, validation_error = validate_model(self.__pydantic_model__, input_data, cls=self.__class__) if validation_error: raise validation_error diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/datetime_parse.py b/venv/lib/python3.12/site-packages/pydantic/v1/datetime_parse.py index a7598fc..cfd5459 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/datetime_parse.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/datetime_parse.py @@ -18,7 +18,7 @@ import re from datetime import date, datetime, time, timedelta, timezone from typing import Dict, Optional, Type, Union -from pydantic.v1 import errors +from . import errors date_expr = r'(?P\d{4})-(?P\d{1,2})-(?P\d{1,2})' time_expr = ( diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/decorator.py b/venv/lib/python3.12/site-packages/pydantic/v1/decorator.py index 2c7c2c2..089aab6 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/decorator.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/decorator.py @@ -1,17 +1,17 @@ from functools import wraps from typing import TYPE_CHECKING, Any, Callable, Dict, List, Mapping, Optional, Tuple, Type, TypeVar, Union, overload -from pydantic.v1 import validator -from pydantic.v1.config import Extra -from pydantic.v1.errors import ConfigError -from pydantic.v1.main import BaseModel, create_model -from pydantic.v1.typing import get_all_type_hints -from pydantic.v1.utils import to_camel +from . import validator +from .config import Extra +from .errors import ConfigError +from .main import BaseModel, create_model +from .typing import get_all_type_hints +from .utils import to_camel __all__ = ('validate_arguments',) if TYPE_CHECKING: - from pydantic.v1.typing import AnyCallable + from .typing import AnyCallable AnyCallableT = TypeVar('AnyCallableT', bound=AnyCallable) ConfigType = Union[None, Type[Any], Dict[str, Any]] diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/env_settings.py b/venv/lib/python3.12/site-packages/pydantic/v1/env_settings.py index 5f6f217..6c446e5 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/env_settings.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/env_settings.py @@ -3,12 +3,12 @@ import warnings from pathlib import Path from typing import AbstractSet, Any, Callable, ClassVar, Dict, List, Mapping, Optional, Tuple, Type, Union -from pydantic.v1.config import BaseConfig, Extra -from pydantic.v1.fields import ModelField -from pydantic.v1.main import BaseModel -from pydantic.v1.types import JsonWrapper -from pydantic.v1.typing import StrPath, display_as_type, get_origin, is_union -from pydantic.v1.utils import deep_update, lenient_issubclass, path_type, sequence_like +from .config import BaseConfig, Extra +from .fields import ModelField +from .main import BaseModel +from .types import JsonWrapper +from .typing import StrPath, display_as_type, get_origin, is_union +from .utils import deep_update, lenient_issubclass, path_type, sequence_like env_file_sentinel = str(object()) diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/error_wrappers.py b/venv/lib/python3.12/site-packages/pydantic/v1/error_wrappers.py index bc7f263..5d3204f 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/error_wrappers.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/error_wrappers.py @@ -1,15 +1,15 @@ import json from typing import TYPE_CHECKING, Any, Dict, Generator, List, Optional, Sequence, Tuple, Type, Union -from pydantic.v1.json import pydantic_encoder -from pydantic.v1.utils import Representation +from .json import pydantic_encoder +from .utils import Representation if TYPE_CHECKING: from typing_extensions import TypedDict - from pydantic.v1.config import BaseConfig - from pydantic.v1.types import ModelOrDc - from pydantic.v1.typing import ReprArgs + from .config import BaseConfig + from .types import ModelOrDc + from .typing import ReprArgs Loc = Tuple[Union[int, str], ...] @@ -101,6 +101,7 @@ def flatten_errors( ) -> Generator['ErrorDict', None, None]: for error in errors: if isinstance(error, ErrorWrapper): + if loc: error_loc = loc + error.loc_tuple() else: diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/errors.py b/venv/lib/python3.12/site-packages/pydantic/v1/errors.py index 6e86442..7bdafdd 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/errors.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/errors.py @@ -2,12 +2,12 @@ from decimal import Decimal from pathlib import Path from typing import TYPE_CHECKING, Any, Callable, Sequence, Set, Tuple, Type, Union -from pydantic.v1.typing import display_as_type +from .typing import display_as_type if TYPE_CHECKING: - from pydantic.v1.typing import DictStrAny + from .typing import DictStrAny -# explicitly state exports to avoid "from pydantic.v1.errors import *" also importing Decimal, Path etc. +# explicitly state exports to avoid "from .errors import *" also importing Decimal, Path etc. __all__ = ( 'PydanticTypeError', 'PydanticValueError', diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/fields.py b/venv/lib/python3.12/site-packages/pydantic/v1/fields.py index 002b60c..b1856c1 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/fields.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/fields.py @@ -28,12 +28,12 @@ from typing import ( from typing_extensions import Annotated, Final -from pydantic.v1 import errors as errors_ -from pydantic.v1.class_validators import Validator, make_generic_validator, prep_validators -from pydantic.v1.error_wrappers import ErrorWrapper -from pydantic.v1.errors import ConfigError, InvalidDiscriminator, MissingDiscriminator, NoneIsNotAllowedError -from pydantic.v1.types import Json, JsonWrapper -from pydantic.v1.typing import ( +from . import errors as errors_ +from .class_validators import Validator, make_generic_validator, prep_validators +from .error_wrappers import ErrorWrapper +from .errors import ConfigError, InvalidDiscriminator, MissingDiscriminator, NoneIsNotAllowedError +from .types import Json, JsonWrapper +from .typing import ( NoArgAnyCallable, convert_generics, display_as_type, @@ -48,7 +48,7 @@ from pydantic.v1.typing import ( is_union, new_type_supertype, ) -from pydantic.v1.utils import ( +from .utils import ( PyObjectStr, Representation, ValueItems, @@ -59,7 +59,7 @@ from pydantic.v1.utils import ( sequence_like, smart_deepcopy, ) -from pydantic.v1.validators import constant_validator, dict_validator, find_validators, validate_json +from .validators import constant_validator, dict_validator, find_validators, validate_json Required: Any = Ellipsis @@ -83,11 +83,11 @@ class UndefinedType: Undefined = UndefinedType() if TYPE_CHECKING: - from pydantic.v1.class_validators import ValidatorsList - from pydantic.v1.config import BaseConfig - from pydantic.v1.error_wrappers import ErrorList - from pydantic.v1.types import ModelOrDc - from pydantic.v1.typing import AbstractSetIntStr, MappingIntStrAny, ReprArgs + from .class_validators import ValidatorsList + from .config import BaseConfig + from .error_wrappers import ErrorList + from .types import ModelOrDc + from .typing import AbstractSetIntStr, MappingIntStrAny, ReprArgs ValidateReturn = Tuple[Optional[Any], Optional[ErrorList]] LocStr = Union[Tuple[Union[int, str], ...], str] @@ -178,6 +178,7 @@ class FieldInfo(Representation): self.extra = kwargs def __repr_args__(self) -> 'ReprArgs': + field_defaults_to_hide: Dict[str, Any] = { 'repr': True, **self.__field_constraints__, @@ -404,6 +405,7 @@ class ModelField(Representation): alias: Optional[str] = None, field_info: Optional[FieldInfo] = None, ) -> None: + self.name: str = name self.has_alias: bool = alias is not None self.alias: str = alias if alias is not None else name @@ -490,7 +492,7 @@ class ModelField(Representation): class_validators: Optional[Dict[str, Validator]], config: Type['BaseConfig'], ) -> 'ModelField': - from pydantic.v1.schema import get_annotation_from_field_info + from .schema import get_annotation_from_field_info field_info, value = cls._get_field_info(name, annotation, value, config) required: 'BoolUndefined' = Undefined @@ -850,6 +852,7 @@ class ModelField(Representation): def validate( self, v: Any, values: Dict[str, Any], *, loc: 'LocStr', cls: Optional['ModelOrDc'] = None ) -> 'ValidateReturn': + assert self.type_.__class__ is not DeferredType if self.type_.__class__ is ForwardRef: @@ -1160,7 +1163,7 @@ class ModelField(Representation): """ Whether the field is "complex" eg. env variables should be parsed as JSON. """ - from pydantic.v1.main import BaseModel + from .main import BaseModel return ( self.shape != SHAPE_SINGLETON diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/generics.py b/venv/lib/python3.12/site-packages/pydantic/v1/generics.py index 9a69f2b..a75b6b9 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/generics.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/generics.py @@ -22,12 +22,12 @@ from weakref import WeakKeyDictionary, WeakValueDictionary from typing_extensions import Annotated, Literal as ExtLiteral -from pydantic.v1.class_validators import gather_all_validators -from pydantic.v1.fields import DeferredType -from pydantic.v1.main import BaseModel, create_model -from pydantic.v1.types import JsonWrapper -from pydantic.v1.typing import display_as_type, get_all_type_hints, get_args, get_origin, typing_base -from pydantic.v1.utils import all_identical, lenient_issubclass +from .class_validators import gather_all_validators +from .fields import DeferredType +from .main import BaseModel, create_model +from .types import JsonWrapper +from .typing import display_as_type, get_all_type_hints, get_args, get_origin, typing_base +from .utils import all_identical, lenient_issubclass if sys.version_info >= (3, 10): from typing import _UnionGenericAlias diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/json.py b/venv/lib/python3.12/site-packages/pydantic/v1/json.py index 41d0d5f..b358b85 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/json.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/json.py @@ -9,9 +9,9 @@ from types import GeneratorType from typing import Any, Callable, Dict, Type, Union from uuid import UUID -from pydantic.v1.color import Color -from pydantic.v1.networks import NameEmail -from pydantic.v1.types import SecretBytes, SecretStr +from .color import Color +from .networks import NameEmail +from .types import SecretBytes, SecretStr __all__ = 'pydantic_encoder', 'custom_pydantic_encoder', 'timedelta_isoformat' @@ -72,7 +72,7 @@ ENCODERS_BY_TYPE: Dict[Type[Any], Callable[[Any], Any]] = { def pydantic_encoder(obj: Any) -> Any: from dataclasses import asdict, is_dataclass - from pydantic.v1.main import BaseModel + from .main import BaseModel if isinstance(obj, BaseModel): return obj.dict() diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/main.py b/venv/lib/python3.12/site-packages/pydantic/v1/main.py index 8000967..683f3f8 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/main.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/main.py @@ -26,11 +26,11 @@ from typing import ( from typing_extensions import dataclass_transform -from pydantic.v1.class_validators import ValidatorGroup, extract_root_validators, extract_validators, inherit_validators -from pydantic.v1.config import BaseConfig, Extra, inherit_config, prepare_config -from pydantic.v1.error_wrappers import ErrorWrapper, ValidationError -from pydantic.v1.errors import ConfigError, DictError, ExtraError, MissingError -from pydantic.v1.fields import ( +from .class_validators import ValidatorGroup, extract_root_validators, extract_validators, inherit_validators +from .config import BaseConfig, Extra, inherit_config, prepare_config +from .error_wrappers import ErrorWrapper, ValidationError +from .errors import ConfigError, DictError, ExtraError, MissingError +from .fields import ( MAPPING_LIKE_SHAPES, Field, ModelField, @@ -39,11 +39,11 @@ from pydantic.v1.fields import ( Undefined, is_finalvar_with_default_val, ) -from pydantic.v1.json import custom_pydantic_encoder, pydantic_encoder -from pydantic.v1.parse import Protocol, load_file, load_str_bytes -from pydantic.v1.schema import default_ref_template, model_schema -from pydantic.v1.types import PyObject, StrBytes -from pydantic.v1.typing import ( +from .json import custom_pydantic_encoder, pydantic_encoder +from .parse import Protocol, load_file, load_str_bytes +from .schema import default_ref_template, model_schema +from .types import PyObject, StrBytes +from .typing import ( AnyCallable, get_args, get_origin, @@ -53,7 +53,7 @@ from pydantic.v1.typing import ( resolve_annotations, update_model_forward_refs, ) -from pydantic.v1.utils import ( +from .utils import ( DUNDER_ATTRIBUTES, ROOT_KEY, ClassAttribute, @@ -73,9 +73,9 @@ from pydantic.v1.utils import ( if TYPE_CHECKING: from inspect import Signature - from pydantic.v1.class_validators import ValidatorListDict - from pydantic.v1.types import ModelOrDc - from pydantic.v1.typing import ( + from .class_validators import ValidatorListDict + from .types import ModelOrDc + from .typing import ( AbstractSetIntStr, AnyClassMethod, CallableGenerator, @@ -282,12 +282,6 @@ class ModelMetaclass(ABCMeta): cls = super().__new__(mcs, name, bases, new_namespace, **kwargs) # set __signature__ attr only for model class, but not for its instances cls.__signature__ = ClassAttribute('__signature__', generate_model_signature(cls.__init__, fields, config)) - - if not _is_base_model_class_defined: - # Cython does not understand the `if TYPE_CHECKING:` condition in the - # BaseModel's body (where annotations are set), so clear them manually: - getattr(cls, '__annotations__', {}).clear() - if resolve_forward_refs: cls.__try_update_forward_refs__() @@ -307,7 +301,7 @@ class ModelMetaclass(ABCMeta): See #3829 and python/cpython#92810 """ - return hasattr(instance, '__post_root_validators__') and super().__instancecheck__(instance) + return hasattr(instance, '__fields__') and super().__instancecheck__(instance) object_setattr = object.__setattr__ @@ -675,7 +669,7 @@ class BaseModel(Representation, metaclass=ModelMetaclass): def schema_json( cls, *, by_alias: bool = True, ref_template: str = default_ref_template, **dumps_kwargs: Any ) -> str: - from pydantic.v1.json import pydantic_encoder + from .json import pydantic_encoder return cls.__config__.json_dumps( cls.schema(by_alias=by_alias, ref_template=ref_template), default=pydantic_encoder, **dumps_kwargs @@ -743,6 +737,7 @@ class BaseModel(Representation, metaclass=ModelMetaclass): exclude_defaults: bool, exclude_none: bool, ) -> Any: + if isinstance(v, BaseModel): if to_dict: v_dict = v.dict( @@ -835,6 +830,7 @@ class BaseModel(Representation, metaclass=ModelMetaclass): exclude_defaults: bool = False, exclude_none: bool = False, ) -> 'TupleGenerator': + # Merge field set excludes with explicit exclude parameter with explicit overriding field set options. # The extra "is not None" guards are not logically necessary but optimizes performance for the simple case. if exclude is not None or self.__exclude_fields__ is not None: diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/mypy.py b/venv/lib/python3.12/site-packages/pydantic/v1/mypy.py index 7912317..1d6d5ae 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/mypy.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/mypy.py @@ -57,7 +57,6 @@ from mypy.types import ( Type, TypeOfAny, TypeType, - TypeVarId, TypeVarType, UnionType, get_proper_type, @@ -66,7 +65,7 @@ from mypy.typevars import fill_typevars from mypy.util import get_unique_redefinition_name from mypy.version import __version__ as mypy_version -from pydantic.v1.utils import is_valid_field +from pydantic.utils import is_valid_field try: from mypy.types import TypeVarDef # type: ignore[attr-defined] @@ -499,11 +498,7 @@ class PydanticModelTransformer: tvd = TypeVarType( self_tvar_name, tvar_fullname, - ( - TypeVarId(-1, namespace=ctx.cls.fullname + '.construct') - if MYPY_VERSION_TUPLE >= (1, 11) - else TypeVarId(-1) - ), + -1, [], obj_type, AnyType(TypeOfAny.from_omitted_generics), # type: ignore[arg-type] @@ -863,9 +858,9 @@ def add_method( arg_kinds.append(arg.kind) function_type = ctx.api.named_type(f'{BUILTINS_NAME}.function') - signature = CallableType( - arg_types, arg_kinds, arg_names, return_type, function_type, variables=[tvar_def] if tvar_def else None - ) + signature = CallableType(arg_types, arg_kinds, arg_names, return_type, function_type) + if tvar_def: + signature.variables = [tvar_def] func = FuncDef(name, args, Block([PassStmt()])) func.info = info diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/networks.py b/venv/lib/python3.12/site-packages/pydantic/v1/networks.py index ba07b74..cfebe58 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/networks.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/networks.py @@ -27,17 +27,17 @@ from typing import ( no_type_check, ) -from pydantic.v1 import errors -from pydantic.v1.utils import Representation, update_not_none -from pydantic.v1.validators import constr_length_validator, str_validator +from . import errors +from .utils import Representation, update_not_none +from .validators import constr_length_validator, str_validator if TYPE_CHECKING: import email_validator from typing_extensions import TypedDict - from pydantic.v1.config import BaseConfig - from pydantic.v1.fields import ModelField - from pydantic.v1.typing import AnyCallable + from .config import BaseConfig + from .fields import ModelField + from .typing import AnyCallable CallableGenerator = Generator[AnyCallable, None, None] diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/parse.py b/venv/lib/python3.12/site-packages/pydantic/v1/parse.py index 431d75a..7ac330c 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/parse.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/parse.py @@ -4,7 +4,7 @@ from enum import Enum from pathlib import Path from typing import Any, Callable, Union -from pydantic.v1.types import StrBytes +from .types import StrBytes class Protocol(str, Enum): diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/schema.py b/venv/lib/python3.12/site-packages/pydantic/v1/schema.py index a91fe2c..31e8ae3 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/schema.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/schema.py @@ -31,7 +31,7 @@ from uuid import UUID from typing_extensions import Annotated, Literal -from pydantic.v1.fields import ( +from .fields import ( MAPPING_LIKE_SHAPES, SHAPE_DEQUE, SHAPE_FROZENSET, @@ -46,9 +46,9 @@ from pydantic.v1.fields import ( FieldInfo, ModelField, ) -from pydantic.v1.json import pydantic_encoder -from pydantic.v1.networks import AnyUrl, EmailStr -from pydantic.v1.types import ( +from .json import pydantic_encoder +from .networks import AnyUrl, EmailStr +from .types import ( ConstrainedDecimal, ConstrainedFloat, ConstrainedFrozenSet, @@ -69,7 +69,7 @@ from pydantic.v1.types import ( conset, constr, ) -from pydantic.v1.typing import ( +from .typing import ( all_literal_values, get_args, get_origin, @@ -80,11 +80,11 @@ from pydantic.v1.typing import ( is_none_type, is_union, ) -from pydantic.v1.utils import ROOT_KEY, get_model, lenient_issubclass +from .utils import ROOT_KEY, get_model, lenient_issubclass if TYPE_CHECKING: - from pydantic.v1.dataclasses import Dataclass - from pydantic.v1.main import BaseModel + from .dataclasses import Dataclass + from .main import BaseModel default_prefix = '#/definitions/' default_ref_template = '#/definitions/{model}' @@ -198,6 +198,7 @@ def model_schema( def get_field_info_schema(field: ModelField, schema_overrides: bool = False) -> Tuple[Dict[str, Any], bool]: + # If no title is explicitly set, we don't set title in the schema for enums. # The behaviour is the same as `BaseModel` reference, where the default title # is in the definitions part of the schema. @@ -378,7 +379,7 @@ def get_flat_models_from_field(field: ModelField, known_models: TypeModelSet) -> :param known_models: used to solve circular references :return: a set with the model used in the declaration for this field, if any, and all its sub-models """ - from pydantic.v1.main import BaseModel + from .main import BaseModel flat_models: TypeModelSet = set() @@ -445,7 +446,7 @@ def field_type_schema( Take a single ``field`` and generate the schema for its type only, not including additional information as title, etc. Also return additional schema definitions, from sub-models. """ - from pydantic.v1.main import BaseModel # noqa: F811 + from .main import BaseModel # noqa: F811 definitions = {} nested_models: Set[str] = set() @@ -738,7 +739,7 @@ def field_singleton_sub_fields_schema( discriminator_models_refs[discriminator_value] = discriminator_model_ref['$ref'] s['discriminator'] = { - 'propertyName': field.discriminator_alias if by_alias else field.discriminator_key, + 'propertyName': field.discriminator_alias, 'mapping': discriminator_models_refs, } @@ -838,7 +839,7 @@ def field_singleton_schema( # noqa: C901 (ignore complexity) Take a single Pydantic ``ModelField``, and return its schema and any additional definitions from sub-models. """ - from pydantic.v1.main import BaseModel + from .main import BaseModel definitions: Dict[str, Any] = {} nested_models: Set[str] = set() @@ -974,7 +975,7 @@ def multitypes_literal_field_for_schema(values: Tuple[Any, ...], field: ModelFie def encode_default(dft: Any) -> Any: - from pydantic.v1.main import BaseModel + from .main import BaseModel if isinstance(dft, BaseModel) or is_dataclass(dft): dft = cast('dict[str, Any]', pydantic_encoder(dft)) @@ -1090,7 +1091,7 @@ def get_annotation_with_constraints(annotation: Any, field_info: FieldInfo) -> T if issubclass(type_, (SecretStr, SecretBytes)): attrs = ('max_length', 'min_length') - def constraint_func(**kw: Any) -> Type[Any]: # noqa: F811 + def constraint_func(**kw: Any) -> Type[Any]: return type(type_.__name__, (type_,), kw) elif issubclass(type_, str) and not issubclass(type_, (EmailStr, AnyUrl)): diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/tools.py b/venv/lib/python3.12/site-packages/pydantic/v1/tools.py index 6838a23..45be277 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/tools.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/tools.py @@ -3,16 +3,16 @@ from functools import lru_cache from pathlib import Path from typing import TYPE_CHECKING, Any, Callable, Optional, Type, TypeVar, Union -from pydantic.v1.parse import Protocol, load_file, load_str_bytes -from pydantic.v1.types import StrBytes -from pydantic.v1.typing import display_as_type +from .parse import Protocol, load_file, load_str_bytes +from .types import StrBytes +from .typing import display_as_type __all__ = ('parse_file_as', 'parse_obj_as', 'parse_raw_as', 'schema_of', 'schema_json_of') NameFactory = Union[str, Callable[[Type[Any]], str]] if TYPE_CHECKING: - from pydantic.v1.typing import DictStrAny + from .typing import DictStrAny def _generate_parsing_type_name(type_: Any) -> str: @@ -21,7 +21,7 @@ def _generate_parsing_type_name(type_: Any) -> str: @lru_cache(maxsize=2048) def _get_parsing_type(type_: Any, *, type_name: Optional[NameFactory] = None) -> Any: - from pydantic.v1.main import create_model + from .main import create_model if type_name is None: type_name = _generate_parsing_type_name diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/types.py b/venv/lib/python3.12/site-packages/pydantic/v1/types.py index 0cd789a..5881e74 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/types.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/types.py @@ -28,10 +28,10 @@ from typing import ( from uuid import UUID from weakref import WeakSet -from pydantic.v1 import errors -from pydantic.v1.datetime_parse import parse_date -from pydantic.v1.utils import import_string, update_not_none -from pydantic.v1.validators import ( +from . import errors +from .datetime_parse import parse_date +from .utils import import_string, update_not_none +from .validators import ( bytes_validator, constr_length_validator, constr_lower, @@ -123,9 +123,9 @@ StrIntFloat = Union[str, int, float] if TYPE_CHECKING: from typing_extensions import Annotated - from pydantic.v1.dataclasses import Dataclass - from pydantic.v1.main import BaseModel - from pydantic.v1.typing import CallableGenerator + from .dataclasses import Dataclass + from .main import BaseModel + from .typing import CallableGenerator ModelOrDc = Type[Union[BaseModel, Dataclass]] @@ -481,7 +481,6 @@ else: # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SET TYPES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - # This types superclass should be Set[T], but cython chokes on that... class ConstrainedSet(set): # type: ignore # Needed for pydantic to detect that this is a set @@ -570,7 +569,6 @@ def confrozenset( # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LIST TYPES ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - # This types superclass should be List[T], but cython chokes on that... class ConstrainedList(list): # type: ignore # Needed for pydantic to detect that this is a list @@ -1096,6 +1094,7 @@ class ByteSize(int): @classmethod def validate(cls, v: StrIntFloat) -> 'ByteSize': + try: return cls(int(v)) except ValueError: @@ -1117,6 +1116,7 @@ class ByteSize(int): return cls(int(float(scalar) * unit_mult)) def human_readable(self, decimal: bool = False) -> str: + if decimal: divisor = 1000 units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB'] @@ -1135,6 +1135,7 @@ class ByteSize(int): return f'{num:0.1f}{final_unit}' def to(self, unit: str) -> float: + try: unit_div = BYTE_SIZES[unit.lower()] except KeyError: diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/typing.py b/venv/lib/python3.12/site-packages/pydantic/v1/typing.py index 3038ccd..a690a05 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/typing.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/typing.py @@ -58,21 +58,12 @@ if sys.version_info < (3, 9): def evaluate_forwardref(type_: ForwardRef, globalns: Any, localns: Any) -> Any: return type_._evaluate(globalns, localns) -elif sys.version_info < (3, 12, 4): +else: def evaluate_forwardref(type_: ForwardRef, globalns: Any, localns: Any) -> Any: # Even though it is the right signature for python 3.9, mypy complains with # `error: Too many arguments for "_evaluate" of "ForwardRef"` hence the cast... - # Python 3.13/3.12.4+ made `recursive_guard` a kwarg, so name it explicitly to avoid: - # TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: 'recursive_guard' - return cast(Any, type_)._evaluate(globalns, localns, recursive_guard=set()) - -else: - - def evaluate_forwardref(type_: ForwardRef, globalns: Any, localns: Any) -> Any: - # Pydantic 1.x will not support PEP 695 syntax, but provide `type_params` to avoid - # warnings: - return cast(Any, type_)._evaluate(globalns, localns, type_params=(), recursive_guard=set()) + return cast(Any, type_)._evaluate(globalns, localns, set()) if sys.version_info < (3, 9): @@ -265,7 +256,7 @@ StrPath = Union[str, PathLike] if TYPE_CHECKING: - from pydantic.v1.fields import ModelField + from .fields import ModelField TupleGenerator = Generator[Tuple[str, Any], None, None] DictStrAny = Dict[str, Any] @@ -406,10 +397,7 @@ def resolve_annotations(raw_annotations: Dict[str, Type[Any]], module_name: Opti else: value = ForwardRef(value, is_argument=False) try: - if sys.version_info >= (3, 13): - value = _eval_type(value, base_globals, None, type_params=()) - else: - value = _eval_type(value, base_globals, None) + value = _eval_type(value, base_globals, None) except NameError: # this is ok, it can be fixed with update_forward_refs pass @@ -447,7 +435,7 @@ def is_namedtuple(type_: Type[Any]) -> bool: Check if a given class is a named tuple. It can be either a `typing.NamedTuple` or `collections.namedtuple` """ - from pydantic.v1.utils import lenient_issubclass + from .utils import lenient_issubclass return lenient_issubclass(type_, tuple) and hasattr(type_, '_fields') @@ -457,7 +445,7 @@ def is_typeddict(type_: Type[Any]) -> bool: Check if a given class is a typed dict (from `typing` or `typing_extensions`) In 3.10, there will be a public method (https://docs.python.org/3.10/library/typing.html#typing.is_typeddict) """ - from pydantic.v1.utils import lenient_issubclass + from .utils import lenient_issubclass return lenient_issubclass(type_, dict) and hasattr(type_, '__total__') diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/utils.py b/venv/lib/python3.12/site-packages/pydantic/v1/utils.py index 02543fd..4d0f68e 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/utils.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/utils.py @@ -28,8 +28,8 @@ from typing import ( from typing_extensions import Annotated -from pydantic.v1.errors import ConfigError -from pydantic.v1.typing import ( +from .errors import ConfigError +from .typing import ( NoneType, WithArgsTypes, all_literal_values, @@ -39,17 +39,17 @@ from pydantic.v1.typing import ( is_literal_type, is_union, ) -from pydantic.v1.version import version_info +from .version import version_info if TYPE_CHECKING: from inspect import Signature from pathlib import Path - from pydantic.v1.config import BaseConfig - from pydantic.v1.dataclasses import Dataclass - from pydantic.v1.fields import ModelField - from pydantic.v1.main import BaseModel - from pydantic.v1.typing import AbstractSetIntStr, DictIntStrAny, IntStr, MappingIntStrAny, ReprArgs + from .config import BaseConfig + from .dataclasses import Dataclass + from .fields import ModelField + from .main import BaseModel + from .typing import AbstractSetIntStr, DictIntStrAny, IntStr, MappingIntStrAny, ReprArgs RichReprResult = Iterable[Union[Any, Tuple[Any], Tuple[str, Any], Tuple[str, Any, Any]]] @@ -66,7 +66,6 @@ __all__ = ( 'almost_equal_floats', 'get_model', 'to_camel', - 'to_lower_camel', 'is_valid_field', 'smart_deepcopy', 'PyObjectStr', @@ -159,7 +158,7 @@ def sequence_like(v: Any) -> bool: return isinstance(v, (list, tuple, set, frozenset, GeneratorType, deque)) -def validate_field_name(bases: Iterable[Type[Any]], field_name: str) -> None: +def validate_field_name(bases: List[Type['BaseModel']], field_name: str) -> None: """ Ensure that the field's name does not shadow an existing attribute of the model. """ @@ -241,7 +240,7 @@ def generate_model_signature( """ from inspect import Parameter, Signature, signature - from pydantic.v1.config import Extra + from .config import Extra present_params = signature(init).parameters.values() merged_params: Dict[str, Parameter] = {} @@ -299,7 +298,7 @@ def generate_model_signature( def get_model(obj: Union[Type['BaseModel'], Type['Dataclass']]) -> Type['BaseModel']: - from pydantic.v1.main import BaseModel + from .main import BaseModel try: model_cls = obj.__pydantic_model__ # type: ignore @@ -708,8 +707,6 @@ DUNDER_ATTRIBUTES = { '__orig_bases__', '__orig_class__', '__qualname__', - '__firstlineno__', - '__static_attributes__', } diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/validators.py b/venv/lib/python3.12/site-packages/pydantic/v1/validators.py index c0940e8..549a235 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/validators.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/validators.py @@ -27,11 +27,10 @@ from typing import ( Union, ) from uuid import UUID -from warnings import warn -from pydantic.v1 import errors -from pydantic.v1.datetime_parse import parse_date, parse_datetime, parse_duration, parse_time -from pydantic.v1.typing import ( +from . import errors +from .datetime_parse import parse_date, parse_datetime, parse_duration, parse_time +from .typing import ( AnyCallable, all_literal_values, display_as_type, @@ -42,14 +41,14 @@ from pydantic.v1.typing import ( is_none_type, is_typeddict, ) -from pydantic.v1.utils import almost_equal_floats, lenient_issubclass, sequence_like +from .utils import almost_equal_floats, lenient_issubclass, sequence_like if TYPE_CHECKING: from typing_extensions import Literal, TypedDict - from pydantic.v1.config import BaseConfig - from pydantic.v1.fields import ModelField - from pydantic.v1.types import ConstrainedDecimal, ConstrainedFloat, ConstrainedInt + from .config import BaseConfig + from .fields import ModelField + from .types import ConstrainedDecimal, ConstrainedFloat, ConstrainedInt ConstrainedNumber = Union[ConstrainedDecimal, ConstrainedFloat, ConstrainedInt] AnyOrderedDict = OrderedDict[Any, Any] @@ -595,7 +594,7 @@ NamedTupleT = TypeVar('NamedTupleT', bound=NamedTuple) def make_namedtuple_validator( namedtuple_cls: Type[NamedTupleT], config: Type['BaseConfig'] ) -> Callable[[Tuple[Any, ...]], NamedTupleT]: - from pydantic.v1.annotated_types import create_model_from_namedtuple + from .annotated_types import create_model_from_namedtuple NamedTupleModel = create_model_from_namedtuple( namedtuple_cls, @@ -620,7 +619,7 @@ def make_namedtuple_validator( def make_typeddict_validator( typeddict_cls: Type['TypedDict'], config: Type['BaseConfig'] # type: ignore[valid-type] ) -> Callable[[Any], Dict[str, Any]]: - from pydantic.v1.annotated_types import create_model_from_typeddict + from .annotated_types import create_model_from_typeddict TypedDictModel = create_model_from_typeddict( typeddict_cls, @@ -699,7 +698,7 @@ _VALIDATORS: List[Tuple[Type[Any], List[Any]]] = [ def find_validators( # noqa: C901 (ignore complexity) type_: Type[Any], config: Type['BaseConfig'] ) -> Generator[AnyCallable, None, None]: - from pydantic.v1.dataclasses import is_builtin_dataclass, make_dataclass_validator + from .dataclasses import is_builtin_dataclass, make_dataclass_validator if type_ is Any or type_ is object: return @@ -763,6 +762,4 @@ def find_validators( # noqa: C901 (ignore complexity) if config.arbitrary_types_allowed: yield make_arbitrary_type_validator(type_) else: - if hasattr(type_, '__pydantic_core_schema__'): - warn(f'Mixing V1 and V2 models is not supported. `{type_.__name__}` is a V2 model.', UserWarning) raise RuntimeError(f'no validator found for {type_}, see `arbitrary_types_allowed` in Config') diff --git a/venv/lib/python3.12/site-packages/pydantic/v1/version.py b/venv/lib/python3.12/site-packages/pydantic/v1/version.py index c77cde1..462c497 100644 --- a/venv/lib/python3.12/site-packages/pydantic/v1/version.py +++ b/venv/lib/python3.12/site-packages/pydantic/v1/version.py @@ -1,6 +1,6 @@ __all__ = 'compiled', 'VERSION', 'version_info' -VERSION = '1.10.21' +VERSION = '1.10.13' try: import cython # type: ignore diff --git a/venv/lib/python3.12/site-packages/pydantic/validate_call.py b/venv/lib/python3.12/site-packages/pydantic/validate_call.py new file mode 100644 index 0000000..8058486 --- /dev/null +++ b/venv/lib/python3.12/site-packages/pydantic/validate_call.py @@ -0,0 +1,58 @@ +"""Decorator for validating function calls.""" +from __future__ import annotations as _annotations + +from typing import TYPE_CHECKING, Any, Callable, TypeVar, overload + +from ._internal import _validate_call + +__all__ = ('validate_call',) + +if TYPE_CHECKING: + from .config import ConfigDict + + AnyCallableT = TypeVar('AnyCallableT', bound=Callable[..., Any]) + + +@overload +def validate_call( + *, config: ConfigDict | None = None, validate_return: bool = False +) -> Callable[[AnyCallableT], AnyCallableT]: + ... + + +@overload +def validate_call(__func: AnyCallableT) -> AnyCallableT: + ... + + +def validate_call( + __func: AnyCallableT | None = None, + *, + config: ConfigDict | None = None, + validate_return: bool = False, +) -> AnyCallableT | Callable[[AnyCallableT], AnyCallableT]: + """Usage docs: https://docs.pydantic.dev/2.4/concepts/validation_decorator/ + + Returns a decorated wrapper around the function that validates the arguments and, optionally, the return value. + + Usage may be either as a plain decorator `@validate_call` or with arguments `@validate_call(...)`. + + Args: + __func: The function to be decorated. + config: The configuration dictionary. + validate_return: Whether to validate the return value. + + Returns: + The decorated function. + """ + + def validate(function: AnyCallableT) -> AnyCallableT: + if isinstance(function, (classmethod, staticmethod)): + name = type(function).__name__ + raise TypeError(f'The `@{name}` decorator should be applied after `@validate_call` (put `@{name}` on top)') + return _validate_call.ValidateCallWrapper(function, config, validate_return) # type: ignore + + if __func: + return validate(__func) + else: + return validate diff --git a/venv/lib/python3.12/site-packages/pydantic/validate_call_decorator.py b/venv/lib/python3.12/site-packages/pydantic/validate_call_decorator.py deleted file mode 100644 index fe4d9c9..0000000 --- a/venv/lib/python3.12/site-packages/pydantic/validate_call_decorator.py +++ /dev/null @@ -1,116 +0,0 @@ -"""Decorator for validating function calls.""" - -from __future__ import annotations as _annotations - -import inspect -from functools import partial -from types import BuiltinFunctionType -from typing import TYPE_CHECKING, Any, Callable, TypeVar, cast, overload - -from ._internal import _generate_schema, _typing_extra, _validate_call -from .errors import PydanticUserError - -__all__ = ('validate_call',) - -if TYPE_CHECKING: - from .config import ConfigDict - - AnyCallableT = TypeVar('AnyCallableT', bound=Callable[..., Any]) - - -_INVALID_TYPE_ERROR_CODE = 'validate-call-type' - - -def _check_function_type(function: object) -> None: - """Check if the input function is a supported type for `validate_call`.""" - if isinstance(function, _generate_schema.VALIDATE_CALL_SUPPORTED_TYPES): - try: - inspect.signature(cast(_generate_schema.ValidateCallSupportedTypes, function)) - except ValueError: - raise PydanticUserError( - f"Input function `{function}` doesn't have a valid signature", code=_INVALID_TYPE_ERROR_CODE - ) - - if isinstance(function, partial): - try: - assert not isinstance(partial.func, partial), 'Partial of partial' - _check_function_type(function.func) - except PydanticUserError as e: - raise PydanticUserError( - f'Partial of `{function.func}` is invalid because the type of `{function.func}` is not supported by `validate_call`', - code=_INVALID_TYPE_ERROR_CODE, - ) from e - - return - - if isinstance(function, BuiltinFunctionType): - raise PydanticUserError(f'Input built-in function `{function}` is not supported', code=_INVALID_TYPE_ERROR_CODE) - if isinstance(function, (classmethod, staticmethod, property)): - name = type(function).__name__ - raise PydanticUserError( - f'The `@{name}` decorator should be applied after `@validate_call` (put `@{name}` on top)', - code=_INVALID_TYPE_ERROR_CODE, - ) - - if inspect.isclass(function): - raise PydanticUserError( - f'Unable to validate {function}: `validate_call` should be applied to functions, not classes (put `@validate_call` on top of `__init__` or `__new__` instead)', - code=_INVALID_TYPE_ERROR_CODE, - ) - if callable(function): - raise PydanticUserError( - f'Unable to validate {function}: `validate_call` should be applied to functions, not instances or other callables. Use `validate_call` explicitly on `__call__` instead.', - code=_INVALID_TYPE_ERROR_CODE, - ) - - raise PydanticUserError( - f'Unable to validate {function}: `validate_call` should be applied to one of the following: function, method, partial, or lambda', - code=_INVALID_TYPE_ERROR_CODE, - ) - - -@overload -def validate_call( - *, config: ConfigDict | None = None, validate_return: bool = False -) -> Callable[[AnyCallableT], AnyCallableT]: ... - - -@overload -def validate_call(func: AnyCallableT, /) -> AnyCallableT: ... - - -def validate_call( - func: AnyCallableT | None = None, - /, - *, - config: ConfigDict | None = None, - validate_return: bool = False, -) -> AnyCallableT | Callable[[AnyCallableT], AnyCallableT]: - """!!! abstract "Usage Documentation" - [Validation Decorator](../concepts/validation_decorator.md) - - Returns a decorated wrapper around the function that validates the arguments and, optionally, the return value. - - Usage may be either as a plain decorator `@validate_call` or with arguments `@validate_call(...)`. - - Args: - func: The function to be decorated. - config: The configuration dictionary. - validate_return: Whether to validate the return value. - - Returns: - The decorated function. - """ - parent_namespace = _typing_extra.parent_frame_namespace() - - def validate(function: AnyCallableT) -> AnyCallableT: - _check_function_type(function) - validate_call_wrapper = _validate_call.ValidateCallWrapper( - cast(_generate_schema.ValidateCallSupportedTypes, function), config, validate_return, parent_namespace - ) - return _validate_call.update_wrapper_attributes(function, validate_call_wrapper.__call__) # type: ignore - - if func is not None: - return validate(func) - else: - return validate diff --git a/venv/lib/python3.12/site-packages/pydantic/validators.py b/venv/lib/python3.12/site-packages/pydantic/validators.py index 7921b04..55b0339 100644 --- a/venv/lib/python3.12/site-packages/pydantic/validators.py +++ b/venv/lib/python3.12/site-packages/pydantic/validators.py @@ -1,5 +1,4 @@ """The `validators` module is a backport module from V1.""" - from ._migration import getattr_migration __getattr__ = getattr_migration(__name__) diff --git a/venv/lib/python3.12/site-packages/pydantic/version.py b/venv/lib/python3.12/site-packages/pydantic/version.py index 28d77e9..d65780f 100644 --- a/venv/lib/python3.12/site-packages/pydantic/version.py +++ b/venv/lib/python3.12/site-packages/pydantic/version.py @@ -1,12 +1,9 @@ """The `version` module holds the version information for Pydantic.""" - -from __future__ import annotations as _annotations - -from pydantic_core import __version__ as __pydantic_core_version__ +from typing import Tuple __all__ = 'VERSION', 'version_info' -VERSION = '2.11.9' +VERSION = '2.4.2' """The version of Pydantic.""" @@ -20,14 +17,16 @@ def version_short() -> str: def version_info() -> str: """Return complete version information for Pydantic and its dependencies.""" - import importlib.metadata import platform import sys from pathlib import Path import pydantic_core._pydantic_core as pdc - from ._internal import _git as git + if sys.version_info >= (3, 8): + import importlib.metadata as importlib_metadata + else: + import importlib_metadata # get data about packages that are closely related to pydantic, use pydantic or often conflict with pydantic package_names = { @@ -41,44 +40,36 @@ def version_info() -> str: } related_packages = [] - for dist in importlib.metadata.distributions(): + for dist in importlib_metadata.distributions(): name = dist.metadata['Name'] if name in package_names: related_packages.append(f'{name}-{dist.version}') - pydantic_dir = Path(__file__).parents[1].resolve() - most_recent_commit = ( - git.git_revision(pydantic_dir) if git.is_git_repo(pydantic_dir) and git.have_git() else 'unknown' - ) - info = { 'pydantic version': VERSION, 'pydantic-core version': pdc.__version__, 'pydantic-core build': getattr(pdc, 'build_info', None) or pdc.build_profile, + 'install path': Path(__file__).resolve().parent, 'python version': sys.version, 'platform': platform.platform(), 'related packages': ' '.join(related_packages), - 'commit': most_recent_commit, } return '\n'.join('{:>30} {}'.format(k + ':', str(v).replace('\n', ' ')) for k, v in info.items()) -def check_pydantic_core_version() -> bool: - """Check that the installed `pydantic-core` dependency is compatible.""" - # Keep this in sync with the version constraint in the `pyproject.toml` dependencies: - return __pydantic_core_version__ == '2.33.2' +def parse_mypy_version(version: str) -> Tuple[int, ...]: + """Parse mypy string version to tuple of ints. + This function is included here rather than the mypy plugin file because the mypy plugin file cannot be imported + outside a mypy run. -def parse_mypy_version(version: str) -> tuple[int, int, int]: - """Parse `mypy` string version to a 3-tuple of ints. - - It parses normal version like `1.11.0` and extra info followed by a `+` sign - like `1.11.0+dev.d6d9d8cd4f27c52edac1f537e236ec48a01e54cb.dirty`. + It parses normal version like `0.930` and dev version + like `0.940+dev.04cac4b5d911c4f9529e6ce86a27b44f28846f5d.dirty`. Args: version: The mypy version string. Returns: - A triple of ints, e.g. `(1, 11, 0)`. + A tuple of ints. e.g. (0, 930). """ - return tuple(map(int, version.partition('+')[0].split('.'))) # pyright: ignore[reportReturnType] + return tuple(map(int, version.partition('+')[0].split('.'))) diff --git a/venv/lib/python3.12/site-packages/pydantic/warnings.py b/venv/lib/python3.12/site-packages/pydantic/warnings.py index 6e874dd..4b7b760 100644 --- a/venv/lib/python3.12/site-packages/pydantic/warnings.py +++ b/venv/lib/python3.12/site-packages/pydantic/warnings.py @@ -1,18 +1,9 @@ """Pydantic-specific warnings.""" - from __future__ import annotations as _annotations from .version import version_short -__all__ = ( - 'PydanticDeprecatedSince20', - 'PydanticDeprecatedSince26', - 'PydanticDeprecatedSince29', - 'PydanticDeprecatedSince210', - 'PydanticDeprecatedSince211', - 'PydanticDeprecationWarning', - 'PydanticExperimentalWarning', -) +__all__ = 'PydanticDeprecatedSince20', 'PydanticDeprecationWarning' class PydanticDeprecationWarning(DeprecationWarning): @@ -54,43 +45,3 @@ class PydanticDeprecatedSince20(PydanticDeprecationWarning): def __init__(self, message: str, *args: object) -> None: super().__init__(message, *args, since=(2, 0), expected_removal=(3, 0)) - - -class PydanticDeprecatedSince26(PydanticDeprecationWarning): - """A specific `PydanticDeprecationWarning` subclass defining functionality deprecated since Pydantic 2.6.""" - - def __init__(self, message: str, *args: object) -> None: - super().__init__(message, *args, since=(2, 6), expected_removal=(3, 0)) - - -class PydanticDeprecatedSince29(PydanticDeprecationWarning): - """A specific `PydanticDeprecationWarning` subclass defining functionality deprecated since Pydantic 2.9.""" - - def __init__(self, message: str, *args: object) -> None: - super().__init__(message, *args, since=(2, 9), expected_removal=(3, 0)) - - -class PydanticDeprecatedSince210(PydanticDeprecationWarning): - """A specific `PydanticDeprecationWarning` subclass defining functionality deprecated since Pydantic 2.10.""" - - def __init__(self, message: str, *args: object) -> None: - super().__init__(message, *args, since=(2, 10), expected_removal=(3, 0)) - - -class PydanticDeprecatedSince211(PydanticDeprecationWarning): - """A specific `PydanticDeprecationWarning` subclass defining functionality deprecated since Pydantic 2.11.""" - - def __init__(self, message: str, *args: object) -> None: - super().__init__(message, *args, since=(2, 11), expected_removal=(3, 0)) - - -class GenericBeforeBaseModelWarning(Warning): - pass - - -class PydanticExperimentalWarning(Warning): - """A Pydantic specific experimental functionality warning. - - This warning is raised when using experimental functionality in Pydantic. - It is raised to warn users that the functionality may change or be removed in future versions of Pydantic. - """ diff --git a/venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/METADATA b/venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/METADATA similarity index 91% rename from venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/METADATA rename to venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/METADATA index 9b98dfc..b7ca267 100644 --- a/venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/METADATA @@ -1,15 +1,16 @@ -Metadata-Version: 2.4 +Metadata-Version: 2.1 Name: pydantic_core -Version: 2.33.2 +Version: 2.10.1 Classifier: Development Status :: 3 - Alpha Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Rust Classifier: Framework :: Pydantic Classifier: Intended Audience :: Developers @@ -19,13 +20,12 @@ Classifier: Operating System :: POSIX :: Linux Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: MacOS Classifier: Typing :: Typed -Requires-Dist: typing-extensions>=4.6.0,!=4.7.0 +Requires-Dist: typing-extensions >=4.6.0, !=4.7.0 License-File: LICENSE -Summary: Core functionality for Pydantic validation and serialization Home-Page: https://github.com/pydantic/pydantic-core -Author-email: Samuel Colvin , Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, David Montague , David Hewitt , Sydney Runkle , Victorien Plot +Author-email: Samuel Colvin License: MIT -Requires-Python: >=3.9 +Requires-Python: >=3.7 Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM Project-URL: Homepage, https://github.com/pydantic/pydantic-core Project-URL: Funding, https://github.com/sponsors/samuelcolvin @@ -104,7 +104,7 @@ except ValidationError as e: You'll need rust stable [installed](https://rustup.rs/), or rust nightly if you want to generate accurate coverage. -With rust and python 3.9+ installed, compiling pydantic-core should be possible with roughly the following: +With rust and python 3.7+ installed, compiling pydantic-core should be possible with roughly the following: ```bash # clone this repo or your fork diff --git a/venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/RECORD b/venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/RECORD new file mode 100644 index 0000000..546cf34 --- /dev/null +++ b/venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/RECORD @@ -0,0 +1,12 @@ +pydantic_core-2.10.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pydantic_core-2.10.1.dist-info/METADATA,sha256=WGUIBHZlOo9atU3rxpgTG6OSeI8Bb1bd1W_euCfgKLw,6514 +pydantic_core-2.10.1.dist-info/RECORD,, +pydantic_core-2.10.1.dist-info/WHEEL,sha256=Q-k7sgnFAZDxP-9P2jtPmCpI5l3MZojpu9e7PGDJ4NQ,129 +pydantic_core-2.10.1.dist-info/license_files/LICENSE,sha256=Kv3TDVS01itvSIprzBVG6E7FBh8T9CCcA9ASNIeDeVo,1080 +pydantic_core/__init__.py,sha256=WQk9nOr2kAjsCk8pd2NBCN67BD-QdOqrJP8ML-CU0jk,4165 +pydantic_core/__pycache__/__init__.cpython-312.pyc,, +pydantic_core/__pycache__/core_schema.cpython-312.pyc,, +pydantic_core/_pydantic_core.cpython-312-x86_64-linux-gnu.so,sha256=a4S5LWAjKwdg1d0oQteJ2aqdZQJkj5GMtMTxJE41Ue4,5019712 +pydantic_core/_pydantic_core.pyi,sha256=Wm-59ewesZFPidlOEVjvT48hP0DAYW-SxVtUqeCCFHM,31733 +pydantic_core/core_schema.py,sha256=2zEA2bnYNOmM_3x4yqzoMMkJUl86803JqlpABuvjVrk,132468 +pydantic_core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/WHEEL b/venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/WHEEL similarity index 79% rename from venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/WHEEL index 379e62d..b707a14 100644 --- a/venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/WHEEL @@ -1,4 +1,4 @@ Wheel-Version: 1.0 -Generator: maturin (1.8.3) +Generator: maturin (1.2.3) Root-Is-Purelib: false Tag: cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64 diff --git a/venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/license_files/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/pydantic_core-2.10.1.dist-info/license_files/LICENSE diff --git a/venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/RECORD b/venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/RECORD deleted file mode 100644 index 16c7172..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_core-2.33.2.dist-info/RECORD +++ /dev/null @@ -1,12 +0,0 @@ -pydantic_core-2.33.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pydantic_core-2.33.2.dist-info/METADATA,sha256=78lBoOZz4Kzfzz_yMI_qFHMFs2SE3VgnWpeGPtjycKs,6757 -pydantic_core-2.33.2.dist-info/RECORD,, -pydantic_core-2.33.2.dist-info/WHEEL,sha256=S1kMhEh6EykiwczohhYmFNC42qiDle6DE4gvf4LHuck,129 -pydantic_core-2.33.2.dist-info/licenses/LICENSE,sha256=Kv3TDVS01itvSIprzBVG6E7FBh8T9CCcA9ASNIeDeVo,1080 -pydantic_core/__init__.py,sha256=TzOWuJMgpXaZcPiS2Yjd8OUqjPbKOupdzXp3dZjWCGc,4403 -pydantic_core/__pycache__/__init__.cpython-312.pyc,, -pydantic_core/__pycache__/core_schema.cpython-312.pyc,, -pydantic_core/_pydantic_core.cpython-312-x86_64-linux-gnu.so,sha256=JxGjRu_zhJCQmK5aHR24qPdB8jAMWcH8ZR85w3C40LQ,4776920 -pydantic_core/_pydantic_core.pyi,sha256=xIR9CkJaClUD5HcHtGEPElBpWiD33PaxLKnss8rsuSM,43359 -pydantic_core/core_schema.py,sha256=98qpsz-jklOqmsA9h-zWg4K4jNkkk6N_nDBLW3Cjp-w,149655 -pydantic_core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.12/site-packages/pydantic_core/__init__.py b/venv/lib/python3.12/site-packages/pydantic_core/__init__.py index 98b64b8..a46a77b 100644 --- a/venv/lib/python3.12/site-packages/pydantic_core/__init__.py +++ b/venv/lib/python3.12/site-packages/pydantic_core/__init__.py @@ -22,7 +22,6 @@ from ._pydantic_core import ( Url, ValidationError, __version__, - from_json, to_json, to_jsonable_python, validate_core_schema, @@ -34,7 +33,7 @@ if _sys.version_info < (3, 11): else: from typing import NotRequired as _NotRequired -if _sys.version_info < (3, 12): +if _sys.version_info < (3, 9): from typing_extensions import TypedDict as _TypedDict else: from typing import TypedDict as _TypedDict @@ -64,7 +63,6 @@ __all__ = [ 'PydanticSerializationUnexpectedValue', 'TzInfo', 'to_json', - 'from_json', 'to_jsonable_python', 'validate_core_schema', ] @@ -89,16 +87,11 @@ class ErrorDetails(_TypedDict): Values which are required to render the error message, and could hence be useful in rendering custom error messages. Also useful for passing custom error data forward. """ - url: _NotRequired[str] - """ - The documentation URL giving information about the error. No URL is available if - a [`PydanticCustomError`][pydantic_core.PydanticCustomError] is used. - """ class InitErrorDetails(_TypedDict): type: str | PydanticCustomError - """The type of error that occurred, this should be a "slug" identifier that changes rarely or never.""" + """The type of error that occurred, this should a "slug" identifier that changes rarely or never.""" loc: _NotRequired[tuple[int | str, ...]] """Tuple of strings and ints identifying where in the schema the error occurred.""" input: _Any diff --git a/venv/lib/python3.12/site-packages/pydantic_core/_pydantic_core.cpython-312-x86_64-linux-gnu.so b/venv/lib/python3.12/site-packages/pydantic_core/_pydantic_core.cpython-312-x86_64-linux-gnu.so index e1797ece2d1159f02bc21497eb3025aaffdfb2f4..dc568250e1ca530b26a474e2662582ee6207348f 100755 GIT binary patch literal 5019712 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
    1. sYy4(`pLLS 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 z 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≺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
      8|yPNv7)cnM>gTqy=8aI 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%0ArDMqs7MA3K@$Y<`7uc+>Eo% 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

      Mi5UyF! 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%0Dmg40!&V3i|%M~2k)uw?}t`s$K_I|XJ_?2EDn#= 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 z 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

        +C6m(9q2?C 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

        ^<-Sv)wk%2>_kvSp%;Jiun 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

          S<@*7qi_h?*yE-k`55T(`_G$OI!v0giD~I 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 C(e|GJ literal 4776920 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%0DvM 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 p?Pf0IZcGd|TVV^H}qUHJ;TG9C7){Oeb) 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 r*sPIaN zQ;S@rs+31|m3z@;n)SZ%S&#IjR~&ic1b?dtE-`&}w=*5CKHQF!mILW)y_Ihg3c<)M zV5niO^a|{-QmL+wu1FnU*)>}jABv91GC6laB|^K&dWGDFq5t!W;9KsWOM0O)KY+M| zn!~NKH*}m6Is-_V&Y z@}>jI>sMA+br|sMQ-mDefQ4}W;4*jF{KSBL4NnMAcF<=|_}xK2xd(&3lyf{w)2a`9 zNi}-&jIF~xQ@$-wtXwBNh?RUib2JKU?ooYN&AF|GFKK^$Rev;fxo%-+rRSIR=z1=n zj5}-m zH70}(^ykZw0*2_1;YhBL^CE-IO%Th-t8}y?lTbfWGNT`h)Ld7Dk2rhPm15NxIW)-^4Gg(&tahPFXYA%)O#SxV^ba=F>U0NN8 z{>Sbm6PfFSD}w9gk_2Gkf?}I{_8x6{ND)xN7Yw5)0lM{KL*bs%iL@Lf+a40p-XkWW zVG5T?WrYnZma^SuBuru|v~^c{Y(U_-jhrWjS%<7!+9*V|*efD_8Zp>|Rmc#lbyr%~ zn;rJSXCt^#7(eZGAkptIU&C$8uh~$(bN3vd%0@spBWu`iHoww#-+v?Xx0#jp!m8ek z$fI9kv(;`6?Zyape5IYNm3H5Se_*A3u`AH;FZNFh4d&FF9B|idc!ce}+=S9@p1hlt z__&9mn$#2B?q{>S@TRn|TjQ%=D2BzXy#27vM_%OC?S&}s5B`?IK`myxbw}I{@Iw2u z9aNtyoPp?E4qv>fBGe7iGfbo>D^~zvmoU4%+kLh`fd`wf;ZC4q%$Xb9J1+nXL2@d4 zyc|LB?UtmwGMm9)E9i;0HZ{5>LRyrJ>D4GvI%1JfCIyRLHr%Sa-LpcWdUGRklqJ+k z!ll+-JLf~puJ?t}Q(6u`at;e}iwows8qvRK^<0CJV`|txU+}QhZmAV|gugIkk6j=D z;t6{+MEAiV!2cMYxOZZZ0w1CHRHGGq=K!;UQ9vbD@CkMWvp>R6Y_U_1!8u3Hrc~z( z`Ru*X8f8SDRyAflYtxLppz@(Y0-HRNxJ}KzNI-@vA_RGSp4fjFOV(xN5$K^pp-dmm zfq9|FKcjS{PdN6uCL*4K2hSM=`^Sp%}k6A+J^R6DK6oj>JM=qU&ALX zY+wB(6|0+@&w*@maE7F@t^VeOM&ukH+VKaR>3sD%H#T;v6Gkw!{5N`n1sOU$zauCD z?vn=b;F*zI+!gb>r(usO!Dyf$08q{0@?CltM-UYJ9wJerp-~OZPWU#9TfXwwXt_!G227(gpsMEX~N2XUQ3*f3^c5iMgV}wMKkzgUK!D&|sb{0mCfYw(vgkJU< z?<{w~cGWUFSmf_K^68t)Z3)x0_Ceo^c*<^;_lyKQb(Izs0`mZWXy`|HWOZ z&g-+GQSQT6gK`g(IjOUCYNtC%=(B@y&-y2{f}sj{TCYa`BHTjPs4!-YsnZ_ksK;K& zN1+;xg?!|3!#E-a(Wudo61(!LPB!)}!EyFwDRA`FUjtKP2JdV1PDxfW=Z3L7j%MFV z>Byf{B7E#4`yQ3%{`dwm+YDk`S?#SCw)*+ma(g3F+atxj0rW1CWpI+;A)0+SB@Ff0 zEGW8DA_j`@bm)2v6kl*7P;AG_@T3h(OWX?(v{{`(uKIU*Ydk4haZU4(E(uizj-LH@ov1%*p zZYq^Ik~xVDMpR}g=%wQdazkD0sjF1%&O2QGH!-#YukI6YzO{@=00OOVOvhFBqr)hR z7yadNS`d!W1U4s`24Sd-zDi46ltqg@X`Rz;d~WdTaVN81#5e_C!(R=h@fNO``)S_X zH%7CMWaO>2aSUp|27B^aYfwFnTnX`RJv15NRNUA2sle!^BU#FIH2bqlz}k71A5h&= z?^v{(>oxsyGT4!i!8s(NAe7wtKdg<3m9#;X5>JPB%T%QgLAor7BC(!??ChSN{MF6kRQtiElQ7>|Q}4R?XE z9`BcXwiO>E(e-+Uh4-+F1vNfN*|3C8w;^hFwr70}XdUL;5HXIWVk&|9TEK=We_MlB z?&yQD^nx{&JoN{=`Gcom)w{>Q*28|z2Rg(e(S$e>N&UAK$P?QnSSrGx0hcFZ&}c)R zlc(`kZ!SX7>>n;-8tYPKBl#HZcX%xf(pVxza5@neW+XCG%yHdZsPFG9ot7+w>_6SQ z^&cEJjSnXCftGQ8)5)X4JHF2%NSl?$krVH_7(Ws7$kaoZ^t(U{1dqr@b8kvc`MBI#dz&Kndj;{xUj5g_{cJf{lKkyBH>xTS`bQ!PR8ZwTsEC?O5;6w z8}%|o?mTs!Ya0I1Jh~#+p{LDUZ+IQ$@d}zQMO9IVLuavu1cP9Q%84SnvEw9sQ?3RR z%NWcwzSW>^b_hSU&)r~&`P26Ix6^a}xy7&ey=j==P31wWxUlRgsk5$e-%e*`~K}MImhvj8k zJ-K{EozOjYPlqX*u6wH>&litS;sm=UDaaGDx!d}Uu%nB}*GUnNau7Z3*EMRiR}pUl z!F7^NiQAvKFs_^fd>W?v$#FRV`8bZCl^bePSzhU*?EChmul_vxVHE#{3TV+zH^W`7 z(+r;}@wEK+ncklUU61o~Mz@c9=77$7T|}?Vd5;3OnMMY0!Tz~>*XgX;@QtRa$Ra>4 zf+B9GomebloFdR9wBtn&*-bliDre@gahn6Ov4@nHo+`qKV~K-*hRHcTE3%i%4ru%% zx1@X*9aD>tH1~tQvoVKuDs38)Nj3unY|F-S4J&r|_k(acE}bZ-B!e{4hbRt;A^8Q+&#TpSzz)d4cUlobKh)BS1IJjD)U1^SQ}A z{WL(AB02sia+pbUu@&;5CBfRlH$0dMJ}Js&PRe2&k(YH7KK7P+{2}js4X+Jv#YA!- zg{@F@_&9@)VYU`SUctwyx&|LnfNeFo%o3MeyGo$>EmgfIVf#UotNs9gztz7}F|G!XOmeHsV_4%aMv>tcSG9D8*N~ zoBnKf$OP~8WqZMV*tQ7fTcK5cS6OTS{^C!t4vMnxQ+xc|T& zXhh354IF0V=}ZR@5f!`pIB+mpoT;qL4r4oOwZ=wmFDUv)Oyysn(ZEnSXjDjeQ8)kh zM^%%-s5YYq5a@F0Ph{-3LJZo{HmM%E7hfi_*7@8VaW1GTaWc)*P>noS8|=&W%b$*6 z?DZ=xG;ArWAvl;)mdB43U8th_8ukdl*}k~dNAYk+9=hi`EhZS57AdV$Gl zL#<2zSv8z%3*+wu55uSBt*?n73=T1YrkN@qJR>KD;;w_uKgOJ<^_o{WBgu5AVo^kuax`^~{kf5oyr8SDNk)G2E{u(1aYHrhYAV zr`#{H;%O?aNvlibAiD<4d#nqQQ($-88P9itVFWIjkEYj<9nw|+G~G|$+uLrL?+V*2 zZYB5hV0!A&pK=XD>^$_RpRR+;TX(es_1 zws7LZd<{*g@WqHi3*~WH*T%E%W&>rNQCLSBEIMV|&92G&&Jys%ZoIuhBAitn&pJy& zvyqT~Twy>8*Y0ar#Wmz3qWm`^OQFk&nU00Um;>*u7xjV6fj_uy%{~|<=`*xDn%!`= zPGps>G2xw1(eFE7LpL*mqV;I2VWc+jLmmdy;xJNLl=;4fKchzG)mOaohYDk;;eNHd zVWo_9*RV&vhG*H=Ei^o(lol3hGSXwuGV~MX1ct>dFoW%^&|LSgpX)0tBSflx)Ruwt zZkT)0V1nI#%4WGI=m0h9ZPV&fAV`t=6`T{QRegr<+n*=W*RhNVimn5+zOn^=n-4=lEWbZ8>pJv_Qpj^mk5V<{Yu6{6fBf78OMH@QKyvb6{$%NOvg zPL}AGHdxTerI?U)_Ma$>iQQ8VgRqy0Ri?65>1X{p9{#OYT3vtobOwxyj2(_9gUwd) z#R(cE4rGtd_A=|UzPI{7UksTFTh$cl#fXjxTh>krrj}B@rjG=6SnAawGKPG9KqceW zVw^sMLyFylx+|qMt|eefoQipb2N5$)&=g=}w$beja5}Z53!YBh984$PsZthX0^M|h zOcIQK0j;?w+m!%ikR|weOfB!8_bDjD5LL!qv^d**5J!wxKZ`~&xM%trW^ko)dgZ=D z#)Zg(dIE!JX}M*vZ1tdOuDjD2mVc?gnsQoePk$kNMEUpz$3X)Y%aXd|Mu{&OV01zq zFxsf4KXU)|8zzzcf1^EN>uhw(b#2@D8Wid!bZ<1{OfccQm?{s+i&V(?7kn$lMAy~V z& zA(Ur^Qp)5X{D{%J-?(ig5H{ZK+tO`ejZ~e=XFJRM-eyH-rpB(E`02C-mT!HHNb)vl?EY17K|urdmC?_!$n=MfN0=n?;Uh7wJksy&ADLPJIO zav#lZfiN?f4aPhS^~g^)a%a3EUp4j#FQ&kl{O*0&GxV9ybz03{s^&zhG5QCyMH^EN#3mL+=WAH=F%vY= zYfF1aAjCv54tgrrzbey8!XiLGQY#|yJ!YRtltqHwXGK;dIV zJO2Fx^I*@giK+aqz(hN~=14L`Cq+Frta6^pUTMp&z0s6?-Il$zL)p7kc9< z+%%39cWP$>DF~;4t3{J03Uh6&b>iH{S8w+6j147AAEG0@GwJ%KbD{iw&+w~AwfuEd zGdxFs(J%i%;+*q$%X>(&0enMaJjpZWyfnAlK<=EXC zt+uOCZOu~5jC8pV^~z2ISM`t`_%EzY&7C?(gq}ZiEo#(_)jN@g>`#W}s5e^gmf2_k zqJ_rN-#F|969O>90t%l2ez8BJF54Lp;LK(j)o1mR zy+2Emmd$dRyUsV+*iAocC8?hxQWZJb>N>k(E92gN*`QpAvZLgv$rh`b;StXiXGtnF zwlMd-rJ~RrN}p)MwtEI&fs$&&Jejn{r50x{Kau6izt_%O+g) z0`TL@Mcwm!SLzP*7 z1cRG$ypnnjg0nb+To`Q{CP9Q2LhipW=mkhqx@^Ky&3UUGI!>>J1_HSI%f9PLZI#sf zmxPzGx1aI0WWzj`SgYEDJ+2A__YJ`DND8P3B0_y zb!L8z7D$Fq`#F0C*Qr%J)~<@k3o0JYIR8kSAGDeJyVpOWyrAP3h;Z6W|0D(}ToVbK zRuWh=snlXo&9UvKV{;hf9`krR^sz_5CIHYefBD7{(l*(Fc5>LrGQAFGJa$A<|K~p3 zN&kU#VRK{&CUEVA5Q6&o%nI{ZjX6xIJ15%oBVF^9zn|o3ld0MGgx*IvZ$p;pGPWUW zD~HKzJ>A>n4Tjyl57Dy|^aSQ3@EGwea+ph=;*KNCP97miHG~1mmM_Pd-qGw0!`Z<1 z@~Zs#QL4;x3m-JRMJp?RzCZYx*7?)E^{}%W-Ikx$aR6&Ao!jzxm1n*o>kyK`22@O5 z{`-sqqhs;~DnOJ#y&@ZdVlsTkU3osq73do3E3|nI>Fx~&j)Ka4VPOW8AT_0tJGZ;Sla=DW zmfoEjPyX&cVO}hEpIaxGw98+_2y7BkCv-&tipT0R#S>@~l#r1%Cj*u7B^;654TA7J zPqm>n>(|7+qjch0S_*B8F-R#Dmlu&wZ$!6}_<^R3b)>>9eGM%~n)wsW{!&vfmCuRz zfpgA8OWN>DE|AK z)oyTnIGe4(`l@00vzW94z|O4fGM168yY!VL(6oT|1~d-Z8InT9 zK!azNK*QcPo>bGJD@qJ##IDCdbK>mIKy$iLrv3gLrho=A@u|A5-c}q>Zx`!Mpi!cP zOt;TK0SA~$h^%Fr_3mrDLiKv?O&4$-&EBNu&g2r&(Ah|G z`|k#7sv7;$lGR^N8%-Gxl2BaO`p%!d3|f`E1do_XgirR%X!br8Dgr_&+d~YY?4QnIb2r4s^@*&N~W<=TtX2ek|oQgj43XEOHj$NlT znb|+xeqdV3hWY9K;L?Dvyv0u@t-4jn&l@tNadg3ufau1hnb>=WkYB5r7)c5)@z<@T z#0)DX2X_j&@YnrF zi5tz4JlbacU^x zcJ?u%je{H~cv&UCEVMym_^k>AkDtKr#6a*CttuyYofuIk_@dS~cUtXy{y3460#Cls z-X?`pK&z5g@xvp09a@Ium~@qlVJXktzl^mhYq05>95fE+zYb+OG2oKvCzg7r%6pWQ ztLG#=f~Kr6H4i3-i#_#{yp zv1M_!T-Lm0aWU7?>~H8zH)&8Dd?OBsb>&^C}^36EZf%luuT;uvg+O_d#BIXNw{L+3ZeW zT|WU7tjj2ep*cj)!4L+9ntbA30xq}$9;8dmgD^(3e^o*JS!3y;Oa-Kenp?J&6}*&O zK@vvSQGpn=zqPJo&Pc;7dN^?neGo0IS!w9tWPSWmBE);#G*;>+NL!Jh`OH)6qko#? z{(5JU{=s`c5BR!kw>A2SPm|v(8&!$&(U27{abRGkTRqFNVt+87<&lnw2B0^!PCqAy zw2q;S9%#)>e*6`nMeJAzZ;=|lDTG}$kpi;h)H&`41kATfbvcJeg3mSIu1n5OlcZlU zDZl{+(sIgB9(x`xl&#Pkia8dJq`*T8wD4_CQFJK7ad+!61abA^m;xmtCfj`}4Pluy zWTA30I>Hq_#zXM)rqF@>fD*=9BEOnj`u?PY=Q80$8Ym;q#PEpb$g&c(m2U)CVHhOW z5TY)2p)%1rrwhje<-uGY&Awx>%-shdJA;dqG`-D7;4-;Q6TKBul7lMhYfzRaX?#p> zuXz4xdRO30^>K@p| z9AD-SUz_8Gnq=*nYhVLdq%X$(cOFL(b}rI9G01ZkFd#s!=p9vdE6*)B8{`#N+H{e& z@ZVXqcqet57kT&w|%uz^4&0bG9oMaUP3f^nL@qm z^r9OVqgZg>2k3HSEfD8pdaU&CyKJ_{KbLmi<1cvb^*9Qv!p2?h0Qa-QF;I3F>VPS2 zhsELkfme`I(6aZPF7`wymE{#&k|_93ui)_%+$&zAGJvSYhZ6Bd){2ygC`JA;f4@TmzMxr371AR zooLTd>!z1%POryaqUZ6LwaouWytEk25$11`>qXLIa1|>)rcc#b4Yg*}outru z?Ku%G%)v~s&WIT*i`TB%i`d_5iDVhyFE@okg$1^XK71o-NBth zc(bS%7GE;MYjY3{+c8<@bA61Um7KHeD)v32`em)9W6ynU>STSd}@^JRl(VX?>NC- zV1Ot&Sm+2JH(1&PjX4)?Z~VD3h7Qhe8C+oAcBJ7uGtkzxNynHJU8ybDK*JDxfbks( z!9~;`UTLPd3=K2+#5KpyP-{#So+-&*p=oflQFr?p8TQ2B0+B}km^5+r7+XiF?L=ye zxyaJ=c>G)B0o6BkzEP{1&rqdlV|T)kSCe=#yRZh1EODs(ph0N*b*Ox}dsKskwXLNR zPg@`sGr`(ojEA*FZD|&8mOJxLRAuJeXij!AxZbUX0FIZB72|4R^2D`*r%5a;^0~(C zof8s6oAy;)r78g0rC+U!#`gb{_{@FgVY~m|)XDx21l_fpvPp;Ie%i_V_1$>C)V_Z? z`F-qsjj5}}<|j@_8Ixp2XdWx$0ietn0-*e|-G__*j*SP(^5jo!zTsncm>}l@EYmRy z0;=Vo-7}*-IbuUP-};DPXXg|10oz_bA`|6}AI17;rL8N>C)W(?QjHfkIVUy2hQ z(%}zXKUz9!T(qiD2s!C8X#7QwYFcq=3(k(tuHKFAci z=GG^KbZ{R?9F<>Ufg>#HcS|ndo zoSHT5Ts6>|b__=pH|;pSXG4O7uU^uOY1P){{=hg?lPZ?HwnD#sY!H<0*LwHO{K~eI zW=40TkrbU^xwY+ReV`8}QxO;Fs$*Dq5!x zN;kCd;7+d4>4<&JuO2bZ@l9UB##X(r)dBDBQL>$l3ZD$KtBZ~PpY=1&H(~a7D&L~= z9aYM&Q&KdM{u!gdUg9D>@wErnn%x$xfoa=LUk;W(slHH!QM74rAQF-4yoK z_u@`v^jiNSJ{}0T3pBv#JQ?TvU^@eHDV!eF1I%j-`#CWv#&Sp`HU6XesM%s?v$&fv z5|BvPb)#8_?v5w#3|5SdA1!!0HCY5{2c8tr0jmnsd7z(K-V%Pic~lG_Dm~qn_SN6Q zlzDh?gDyQhxQ6Q(X5AA1GBVbbo?%T=8iRZLfxX0Qk4djCH7a23q!TpHveqTfYWr@( zr@GEGWAR~_Fh%+6tW!Sd7nKG|A+`u->WH~e(r20?Ud`RU7_*$RG|gpwWj z>D88nJm+J>Pbcd`rr&G$q1EW6UBxdJ? zx|q+z`DetLorgyO;&AqeZw#|jJWZ)w#_Bw=EU*a-5wmmIhB&jM?Mb8|%lJwdW=Fmf z`H&c?7#jHq7DMDLrY`Y^{$i*aCmUrd5d+625na=LIBUe@WkAo;y_B0^4?!Hpwwn_i zk?G#|pG}oYv`$KDUvD*V_T}oh~(~6Mbn|Y*WC5~ zP^$;|D@mU=b#*2qDq}!9mTAcT;1YlEeUmNn7g_lf+$vvm*>}XRjpjGN20O<5-k4Wq zp4aD1&~K15a&R_md>dUSr&n5O(^C%cFzTCuqTYyYGVhXmyF|z8PUEGo4|Y8BOC|bE z62oJ1-Az1~jvOP0yc1!WRMIvTI&|g{#c4099Z-e<@6zb|rJ?Kn+?R&_5-{aBV1qd= z4cezc^VIu7Nd@#pqv>fVUqGtS%cYWXc`nvpk=-?FCqyb^x3 z&k8RBVAl$lT%pvJiaRcD4CGyA5Kq3^*Y0P1wc~I>>OrTkJpxA| zP}n_nq{2z)HG|q<;hbJQT*I5LVS0vTGYzmKz2u5L9FoLSJta>(P*Fic~p zkeuMI;*@fYS9CGWD2aMs_8TEK2Gflf zbazLciMg(BZkEodtTD+ztu9+j2=zxoW97lkim~cK(#*((dzP9AWo%O*wdPJbZCxTz zzu9;ZZNz4TAoGKm&Sn+s_jl^!|-Se_c`Z6&^`?0%v zK@>Ogsn&Q(2U#$h=N>nDYa7DBePj?5X;^V`Z>UA;KZW}HOgxamkIl<^K{`*>|N2ky z`sD)CN&Pdu`X4sG^?5qvDe@)gQPMO%uSe@W<%Jy7U^5-Wnpu2htQl!c)y%1hX2ctJ z(#&eFnNPiD-c&Q?ydDsN9b4~Vue$vL(U-EkD(~bxHXgO?ss{jb5WpN&9cwu@ z%9@TX*EE?J8&x&Bbw6E?G1ay{OCuM(hr(EIX0g)E6=Dv#F1$uqLfPNP8;Q+WR>wws z4KgN}wCXF*KQQeDBH*ZvQ)E^7L{-`5RVgIPpA_qN51tBQudw7iILQIBliAr1gcp+S zY<@X@iQmX)*e1)^H8Q0X@iYyg9;kBrXa91D`14CMOHCGJusve2{aXR=JZQD_<<~dH zuszG`NZ(jTs{41+iP2ssq%iQ2+oD*V7#-_GNzdla$# zyN{z&thjgVa(r6^fdp~OO6$H#=l7e^x|Qh)e(hPeLih7Z?XPgC?hEvCPg#@U+q&a@XfOdE&GEwP%x>4t&Lw7)`^2`kguS(PG$=pFJnu?Ye zXfb#)x%TmCd@W^9Ex*P@=x{2eQNP(|zI?At{M z-rot46rtbZD{^WFWWF|~XC+D4KifweYD?ie?pN1zNvm1y1Q*Rom`mIHTWL-BgTIoM z-|d+NH8m3RQrkUWIij|wEoh+}c*!QRK))jWNH!M<^$Aykt2afAo!30Zd1mj>rv0=@-muz=|S{aeE(Nqg-mCHwEkg??3<@rw4L%T z)K7OgR0M46O=kq-WqKPPpQk;fLOVw}9x^Iq*ugTTJHg*zO{{~ydeP%Re>mxy3I6bz z>BGWZ2Ri-cIKH7+wc9d`#}oOC-9Y$|HIz(q`csGRhI8niMA59{!+n3#^I5UM6`SPd zB=&X>JsKueV;Sg;1wa5GR+{NxYge^5BG?z0pGKrKCZ#c;y;clKrUWzbB!V81Iu=y0 z3BsN9>Jv5OySP-r39&F5J$#0T*hJ0e)|bk!8njR6x)*YahY!=~1XBVgR_(SB+s8+( zW7Qswp5`5wHat84ZK??#KTR=)aPHzO4Tq4c+c9F)B<)1AAJ6lq?O3X+XxLEGN3Ft? zcg>?}!>X6K|3v179}=P^?YaPPy~?nV6kKcq^n)Keq5i~{;$U3@U+Ot2d<>DgsT@~3Pw%~T6}(V%JglY(r`GVd$S~rn8#2zr)6lS zL5!B6S(-dJ5nqp?2pB~@qkYrdn=U7se`Wh&(Qf%MdwbS9p23V6&F3q_6;Q-fqFpTi+ly$Qv^Lj6#crh>e zHv5cSMT|MUM^1msPwQgsM`-mCWR3;96((L}W@9Yh5X8h`Tj%q~mgw!3*vpg{q!K%; zM0frOIWpbh9I&8B9YIgdAV5kO=8i*I-+GXH1{SM$Z94JWs}MWRPy5p|>L_s+QC2MF zmkUv=OiPuYgc&5g1uu{V75AZ23?+{UeM|WDzowS?S8HGt;1Cd0urY||tTW!Zuz|x!`j^7yF@g91yw+gv>jCSZA>mWw+ zmFg5}j+x)jm(dsD`3RHTi1?h#&Bbx?>o%(6PKpv?FDjJzuP<9q%d!~HQR*>9O{ z+>U*qp{%_C~|msAUH8cFX))VN=6K&KCbfv!7*^@Rn#@6WL$8x zGp;N+0qZ&19AWP)plMnAMY}-xgXFFblEXTjapAW_9U|&;nR|jT-D41g+e&hwA)i;euOG_@f%6272ZBa8Ax;I*mob8yvTatMVVpt&{RiaL_*iqxc4mOUrWm3b z6T#%R&;B-Oe%Io|{ZT+Yg%NIW*YC9}MWDS}4LYmb%<_-X?DxRKigZL(^Nti%8hyv6 zF7lds>nPh)qXAO9sewsNHEph`^V>Bwt@Ea~@tQi@YwE7lruI*2YM;$DwQ0YkQGs3z zx_~G}chdsIH&$JhJ434uL6gdp2&-}V>eoXkx5|BbG{j{uh)X^X+{@{XdA&P#@|l>% z>zGH_LbF|p$mpqcA$w1x;?P#g8e&o9mU;{Q=Xusc%Os$;PKr6v>^XZ=Ewi2PrNVe$ zoz9JBKf&|X1*!x?XIeFB|CqpN_HBCnNZfy`0cz~7Z8ZAI0he{uR~8{6xJ&K(Jv({d zkj49F?E7CYP5OQ-<=fkL7Yp$_@@?f;*`9oRw`~IXw$l2ay-%tfx4^bP>3`7vKla*+ z_LqJcYk#+R`;5MRgh{^BS;#0O5&-d#JQz!9!^Ckecm_5B*@N8ag^utf; zMa=)i8*erOh&$cBzcKlJtUvUlSp9)4nf~l3bwc*uJO561K5GEM>l9vi6t%*ydhLCk zt^U*-{Ma+OJ@0)+4)342!P@^XN$PJ*pFMST8=#2U?+u?K5(a%MI)9Y(3eb;uCSP~R zpS-xk+z!G_Laz|1=lf8`kC%FCv17E*!$r4T!tx7?S4DjStMrZg=nd>RLVF{rRTGQm zsYNHMcA7A89XRERhZ`+YhA?RiXSjB#$QUOir@r6`Y-A@YjO_&CK;+k->Z5Dy^ctop zf>B;GDz?*2?!&84%%e3Peno~^r0jjOosAz&xJ&G#VVxlJ)AM>zncZp*w>`MFKLG#hdtOHK6Cf#6h0XS zKFx9Xob=IF!{^%^4?eTO8e?S=d}eU7S@_)L-vWFVVVwmXw#tn3`$!a^cS54FS385x zP7kz)&qK^>C-`%2tMDfQpQ2@34WC85Jor2SBE{iz8#kMU&qQYn@Od0#^M4OMhtNC0 zC+`&xKKS2BCnUc_DDFCB7T3MsKq<-fXEL+ffRry&O3XDT5GKM(5|Ie*`nz^WBNJ;$ zny>yPvyh_he&6n3v>W>FN1iFYSi?KM`fBQE${1f$oc1bLtT__)AK(cKN@-<;1!Yq- zp+hT~&xE~4bTrEfK9-^yS;vUl&l7_K`!bJ~seYXHQYc%tVhFQbem$b^N$J5K6 zKL$9W**%dwBSzrHIfCp}8=NC2c6QXknYzH3k&+IeZtjFQvpmPjXp!mYk3H^plY2`A+l*Wf z3~1Wf3e&R%`i<_-FLtEI9;UpC#a$=#dQM{OM<+s`SU2azu*CQL;No#Y0ilKO`D>1O zG`;!=cSsN1!#hljM~=kLNuE{|Ui6}>!!Q1ZGAuaf!@#5hSk6fuGGiwLo(P&qnRAMLvb2v$-sGA zfbjjhSP0+wf)-;fLvBaU&$y>Oz50oPcS5hSn^O0?hIhA`UhPgN%zpO+^Bo89N^Uj_ z;01$I0UQV>F$Mo=`ft*!Nk+O{PJBvd^!&KLwTI7ptm97L)B8WE^!(g+wi-VFL4Gvw zc^gcO!)Goxn}yG#gSG&lkAweB_?%{>+vVmLu;!LRk{^h?;qI~r_L2nw!nVwOkYGG zwx0>Piyw%c%6~4tD+QR)yRqOwC-`?JQ6~j&CP&vsrvAF6j(b zo;&dcH~cX`ZJ9}5y_1E~${7iKt6N>=A=^`Twues{)CKsQ)DF>*60iG2>At`gkP4MC z-W;f=*}A*AqoE+bBe9%IH`+@qjzye<2X+pO9AVAr*Z)yqRBZuemUp+n`0%;S(C_=O zfTqf8eVIq#F(3&Zp~<9>y&~6r`z>%pBCZwI?0QKR)GnsM_QM8b64d%0*ZHu~i*9ts zHT=@FuC$6-JOT ziO@!gpAx;%yJi|4Y+V0JqPdnKIbs{7M=i;RZR9r}Qt&%~E27Ko0f#<8fcs@Y=YT_z zywN?h{*MA~OZf6MJb_5eBhSY1#o7;Gzo)KFV_amjR2E*thM#qt0cMQ30+<^i4FcwM z03gO-xyRUI{>M!+*ePv*d@412!y4C%b;k)5w;E9bO+`X(7gMR!3d2u$O!MXm> zm7wA&xfmt=ect2HqNV6LHQ9H`+r4~+Ql$r1(alIN>PaQrB^H|h?4JtF82<{EE_at- z$3)q*Z%){Tglo-yOHW~Mom@%Z*08QdnA>G8LWE6x4a$GC!jM4{Av zOtk&z-L4<_*rDQwRd@faPUy-B5%2}Y!6D!-DpX!Q?&(P>z&M3ojO0J)S@hmt4@!G6 zLv8N;u>IEPj3|x1PdX!l#S}C~@K}%Jp0C}m^PabTM9;ga=UagLFyTrP+;4h_4z!MU zLMP<<`=63qbG9Z+6%en@6mhOgrO8DXFK}g|zzAF5+*V>?H$T%K0qCR_Cm)6UvKPH* zB_GV@zxsRXR}&ZUm5=t!&Xqc4ow@nnlS!kUI4aij+-5Y>vhWmqr_X81IP$!BoLjy? z1Tj4aeBM8BAWI9{S(3R2fYJnK8EdB|B+H-@W_yImcFy7$2YqHFzcn=(fjggUW%$b^3VACkLha@d*}tzQfO#R zG&{{s--S*>V8ljZh}Ut&smm?KiRY@B2~++D#LH?@6QtUiRdep;6VAQplFOz2gfw(> zW}S7}xfh>%-c{rMlC@`DbjjF@&${fAvD{@jvo1fk`l_?Xo?Fdb4ikV_IusAL9zzQV zDXj>eSHe~YjX9YPM%_!clbh|T`P)WKT%sPG#v_xuc=k8N{vD=}U1bFETg+Txn?H24 zlfD@GlhkG(JT8DI0IKI3ceOTN;_|LgLJy49Z`2~^bJVyBRnK5*(bZE{+a9i7DA zgUHsT#4P)pZQs{8p2soO!a+3X!k;y zs_?W>r{N5(GY5qE`+hcw;&dJhc@96yGh+;rp8rvv%3VgQM#&SU-2oF%&gai?qd1XA zwdzbIG^ZO|g8Su-?YG~F5D9I+IzlkE{TlU;3GgzTEV=-Q@(H=3KUMB)*dUt*kC9Dz zI?Xf=Av$R=veS@~(BR_GumE@Yrlc>+=j*c*yAH~&li5Xvh=HDH{Ag)If*CC!rzy&3f+bN_&mN1k@6)9?t(<73-V*Z0 zsEPtP%-CE5`aW0RXIaz5HigYNU69z1z)9)2@_7yXhTwKY3I)|rz^04_2x{kRe9mI6 z(cnCyYpK>=*aob) z<~!SA_T#yzwyjxF!xAeBb4*S}Xfh;ile^>VV&Yre zuAg9MY>~x;TP^HsAY&4MFY(sed1kHMo6cH0EeS9&!hY@%sbEPV>~~(Z6)TO_h1*tT zUg^a@#9U=kEib+3g<$P_BpDQDJ*N1#$eq!`#dB$HrUAJx7w8Xo;W;v+ONOl~8gsNY zG&1_=1)1*6N5mYM2YL?7DI8S7(3sS75}MLxT#0!)k@a5gzi{?bCnz%K>lYLhA@7(6 zE?iGei*qw8Lf7I;D^JBewKU++&<)4@Xam7>%w)9wRW*quV5a@*(L7UASFfg1sL3C? z2wPdXSJOTnYf_dmrZy{5Ap%ampGH+irAzgTpVw`;mloXvmYFP{zWTkG4mmrG=DjJn zEVyRqW0b7(tCC+U2IBIaBXtIb>M*4QF-W; zlM0n0Z4|-1QC@2gsj>b=Z>U_oqDEsUqyfNHlPv%gCHV7Yd7K0WXvaYib>W!OG_i&hkHWtg*6iywkr;Ht z4xok!;LwM~5fl1|%NH^VXb@?$U0q#i@mLaudhk(|@c8ru@Tzz32)F?GxL>2!s(nmk zq^|Hqs#O)Z|CX5P!HA+W4)Of;liw+16Uvs3s*DniRC+?p@0ajnJ>XVf^Ye`Txy$}6 zNIZ0X9|7CCxnnf7rFGY)v5Xz6l?RlZ2lb&g-bypoHyRHw`2tVZb9{lP@!L^fXrId; z*py512UdN|YeD2k`2$N$l#sY2wLPPD`ix||@}rBCq_+1zJ#SvL^Rm%B|1J_p zaL6G4hqG;EadK{t+f1~J{KTiJ5?r)vz26+@jqbC|{f&9K=GPw4roox#a24h`Ttxxz zBgfG}Tt>>;#ebLuE+Ak<&y>jXk4WXY?&eDtNg z*_!wCJs(g#_+^A}k-<{cvy8`CWoUGFjQmQ^J>(pZ_h+c4sxbP(X!_`oS7_rGLE{|JAeDV(u~9;?>-V+ z!Zhunnu7D3FrYSVOlS)P^9^M=%5-F`%{P`WkK0`5!ug|}^krHn6LiSOPi7mNGupT& zJHE1IrLR&6KJw*j3FmFtz#$(kzWUcq#Y9aw{eJM(-AuJe8&GlF_Ta}V-NO&vi=&y} zENkSnYpIyh*KUi;uZ*!)RgD zA^zZrMPi8pMW9-bvZ9>QU|EqE%@d0bDGdgS2Iy!3;lFuX(&RPSSXKlMM9`}kK=~T7 zAsA!~*QqJFVlDH<#g)W>hC6Evd@X6BwTfuLQMl3ci?v{!XqZgqW{YzlU_@0F!2x*{ za&NAHhGdm;MXx92?O6`cbIT!9dE@AMUOspA|^b zmS0{@D-Voc-b4+q7zsYho$!XddHK#u9fs$sCXJle?HA75y&8QUALu2B{-CgK7s9 zyfy{buVddkRL2Zt|Ly(0X|Ena&F)zYEV7F{bwg-7`z`ZbFYQ}t?SOq=oAUR_Os;Dd z$Y(0QWgC?@Dhop%V?Wb+|E-qZgqZ1;2AwDG@JohaZ*@ zLz#(1*L*X{V=L`EBOT*}cN`T64_M%@YcXL7CHmO9q*E(%hX>{ysq{}%$_Jyt{lPgH zxy|8_l0NHw*D0#P-*3a^I|8#KUz@T+WF`-M4MHlXKWOM{(1eJ7Uj2T!e8<`WJG|z*>3ludQFUd)`kbmg zJ)F_yP~qruB5T|#KNEeB;Kd#_TB~q^s70+t10W`%o;vN*L(K$}4~KGT?n#5m*{Sty zz@_C53XuuRUHvXNt(od)D8Sgf$}1=Xq8U8f2Rs{pu)(uaR~_x)+0TP%{t0TW`NH53 zzS@D{5AN#+0w2E2RhUASx+VhEHIJkd0_gG%3n1G2`*la#AdkqqVolnwkU743ml!4n zKW_EW7CYxFZ`4QbIH!yCB^SDsunPY1HNapPaA*gm57c_N$ZIlre$(uQOQ2ly2ui33T?FA817%rB_zPc?fx|!ho32e6V@Jm6 zRn)y{8xOckC}M^l2p*V9t5&&93#1B>M~oJ*sZow2CB(rwK@@*qbR8bGYdlvu7Y3N*euLYlbw>@30nj?t_#I6*#*bknK;$1AP|RzJ~^~ z^3Ps&D932cZ3^5p_W?EU+W`CDvhmk~eo+3$}tJZ=@tpBVl`lz5cPg?sE z4m9(0=9jUx|Jy(s)tMTseZk!F`w@5E{&w+aNkTO#uX=RR(#nB=ox|E@g3v3|PUIx+ zOkh_egb?AYzf^C-8TGD^`5SbWh3_bvMSU5eG2vt1`r_y`H%Hq__}II8t25m%SlAby zJEK2uNGfWN-x)H96~DXZX0*XQxDQVDc2nBq?#+$a)HUFN47l}h8=*t@a?@)1wL&vY zwpEU=&owlpm1S<8G_cFwc^dw0XW(3q@@F&cU(045Z;IZD7!;zz9cojfubOE zUS=}@!_kd!lzYs{v|QX~j+K>=lm*r+u0y6r1*N5#`zQ0-^l|7(bG~~Z^m3ldy~D3$ z4JSmJEByxRz3^(%Q+fB(X-w}Ic=u+%L}>@!|iop z`VU?gcDG#^J}BOWqAhgchqpU+fh{AaLq8%zKW9^%rEc=CR_lgj^sqpIyj-Gu@DS%O zSrjBWK;zK7R*!*QayDWYa7kFc(%1M9N+L8@1|zHYYU;iwAc_up&v$p<#OVP7;M0^b z?!xwL8k0dzK(Kj@=Al@8Vm!0J1_G{`s*)+FA%{}p( z*W6IsoUJYRa$YTCGf_T^qS@aGiy;cRu{Oo!PoscBv0{1H#V4UNc!@b9P^>9qH`B=X zu0PhohrHDq5tqUi1y6K`>J8VMgynMUfd;V=S;c??t%#k1VpJjV+?ZEOwKm2|!!-d` zRX}$%aHuMgU^#JI&~bDzfeRw7Z1kWw+7cUSHRf}iU=op5>Hm<Fu-G<|({2kybAo z?Sgw!riA2r8*J4FMvnzlYZeeYnrz9L+_*P2{}g@BoQ&2?=hLb$t_W__lw}3__q8Ed zCw&G0a2fb_IwUL}dR0K^)%<{tTu0@l_2|~P*(`Rx6agasYNOt$Qc(nzFcE7*zdM>> zEL=e;SV3N9A`7*;J8SsUPi?~kQX3`^E8g&QzI1>6rjv$MsTx)Z)9~Uo9U3;vqZ*;E z-H6Ze8lIDuGGfBAyoS-lyVrNts%kW;!c3E=wrf%zut3Geg}Nu*iU5&Vq5Ztb-TFsS zjMQ^}-gJHi${hC^neA`Ztrn`cWG!+FGYu64m6p-CvA$>Q{;9CYIEPHx!=jBQTh@b? zE%=9k6QhL_dq_+GTdK@ANTxy~y)i}-?XO^a3E_IpHDZ&zjR_~QUrvNY>l$=sujuNex9L+(Zo0D4i7u3OapEl6F*y-gg-OsET2Rx&={Gc| zW`}WgQyjMBa>^ApYxgkY=1`^;e5jB0%=LcluL}b z4l;l3Z1INmUaGtqc9~3k*0?h_s8t0U=W1Is4YTd7P-EPiM&Uk7#KDgv9!UdsgbxNn z#T>Yr3%N3)*1%RItMt_-Q@lb=t-STXHxN#u&L>tM9_TME1{D<75Ei9M!$pfef|WQ_ z#8(v)0GWG;KMFrh1OD*v$^ata1i!Cr@r!gQ&F?G!003zZYL?uT8%S>h|NJDo=UKx& zur86~_|ufJ%h33~lu5S?W&cWJ3U_bqAK#Y-@r12WEF_^tgY5PQt;!)3G#9v?WO(X9 z`7MLY?kIW&ds4zw9i{1~2PBbiMg)r-p!@K#p*;;Vbb7O4h7Mas%MilDEjx5{KiHuO zNiGDt=knl86P|btMJ0m&fI!h2FpsLtqgC$bdeqN6I!P5mk8<6GdYETJ7MtzQoAzf} zQUfng%C|%7k;qArcLhI5RpIRP8vu7D$Pn)ti72H=}$78*2G_UXGb?fC+`&@eK@%#uw_GeR) zQpfbm<_qT8+sI%95Mvo$5cS-rka#o|KX7H{ix( zlU5?$kFC+2Fv7&oy-c`u`*^>v$zkGF+V}T#^1jH&`vUuZQu2FDU!$F{bSA+q9V&d_a4ZEs8!wh`y;Z1w|DBq3u1s493lHbStd8V!w zb+*P*^#E4`5L;xZXt%wsSu`pBa{fMBAAh;%7%%>El*o6u=z?Nc+3;AgK_}Yy%lzU0 zhw+yhrbLF6_{*a>nL-X3iw9&t2q5pV_)9UC;%3DBX+z}j_9|`2)49g0V6?8M*=t9- z3wG;27?;^U?SCGZc@WAC_dhy9^&$2WSZ9r4dyN5!^2Zy9%N$SyF2tR~!IxD3@V&8n zruzGqL1R%Aw2#m1{etRmQGDjd4|H@5pP1_QdnK}Ud+${UjJ#J1ckWH^P!zQcA)^i0 zo*asC$)EnHpTL&fet%d2O$HE=>mjL~=+lzI4%qaSG}VViGzlDduogkYC2K9Gs|g2+ zitspeZ~p#6s(e#r{4TAXT*+3YL|aW6gGf7VcD88t(O=O6eO`tLYK%$j$x?eg{J0Io zayFoT#6~Q$l{BlB;#WW_dCBxaVxU!_;{>rpLNm;*2KK+Qnh=2Ns<%xTgDM|)kNO}al?4eG+-0$Nwegj@bF7T1t;2FT=z$A|a)Et4)c zWpq8x)30gf4*%YhJ%0o~CeF^v6#no~4#1K&3L8MKgGWI=AConNMQjxFeV7US_bls% zBs873ZsB9eKo@hI>8qbYNgF-4Wyq_l9QW1heu^5+M5K-dSNe+jOgn|m4B%_7(*o%n ze>y(aF}j#9h83-6Sza%r2T+EkM^#V?t!|R;gdhK)7vw=j^sf#aAMR#RUI_%SQ*&*ZIRkuq!NaUV*Ua-#&qTe{-Vq7$Snbcpve?uKP$b zAZsoax13`c4{epQD)|?nJ_cIk#dz5PJqkLa)z)c?Qg>gsbUoIMrofF z=!u!i3gjh@hU$y@yC06$5!hzhOkKw|P|8g^ihMwmz3LqZoD>fz!33n_Tt|=IiaIEq zv9D=g@6eC8Y%bB!!K(S;gACIw^g=+EQSGjtJlWZD%-&Pv*f{MM1?5xldxvd(6yhn~Fki4>C*voQaB3dV}w+;--e_5fvVv6iqkWM-yenPK+O z$v`E^b7QkR0|_s?Gfex1d?m*AoT*Z9w%dR1J12$U%KsCB#QxJhKK|>G2-QjP@hAPQ z<0iD3`1o%H4#mgMX0^rRlV)(U+4!UzcjyiE+{`AmXw-jmlM2u~k-D;4tN%^ipC_N) z9zG92{5yfq`q_d{QvCN{w;Dc@YYluJK=TrZ&u!dn7Cz&*-vWFdANk*e&mr_q@X4E! zfKSrK{fm3*St%f5&z{QEil{cQdJ=oKKOQf5_cNB}{2#;%UW^#LnRvnc?K*>DB3|&E z%0C9i*uHuO`cp5zSgO*JChM^;c+d&H^=?kZw|RGNHNO3s zei(c!1oh+imdDLz@$J`cox#eB7d&Rf9|IHu>J~!eUjD#BX~v`kz9nKEzB{8me0oCO zfKMm!f=7HVH0vy0Fdqt%qfksk=uMTLFD7ZM@9aSwt%81F~xZQR-DkEY%B zqxTrnA2K>0JzD;a?%@^x&Cx&mo*n&TS0~92v3&2-frS_M_R(nu2m~F)0@|W1dr_bn z6pA_CJLY5-Dd&;V4p;#!;0X~1&;oQn`XHrvgM$cnzi|gKDX0>+;?(DS&ZmMwM(xB# zY)(_)z>`njIokMj%WpC7-jta&fV!_;eph{2!-j~NdAMH zlG_7ZZ@$s@;@If)d0)|u2n~G2Id*_Rk#CN#+!g3@(>OX%qT%ODc`VlBhi3L2uS8qPran)I|Xvcz!^r6j`*IiDf!7x z(|OC1rs>bzY~3^!gU0b`YFJa^yMJEf&_u00l56d%8)WG$r@vJE4c4m97AN&EZ1e!8 zyrH?ociX(k#zYm1KTPV_Y~82|r6;$wDAl*r@UdDp&?D7y`@G1riCP+yYq^G-tsCB- znDvz5-8ZjwqzAF0<0>yVb=2*l z_q>^EXati}=@3-v?4bP4AyN?9jl8f;3);kbvextezYQ(*7-Yj9`Wg#_-X@>2uOW|X za3PwV^#=C9UAe0WT|9w+wuwM95IoLos0OO;t8WpSg41ICKPlzE@cYryWNE)07OL)@ zIV^NyZ#Hi7c~LBRwy4LgL3*mUBNy?#@y||`mp&hrg4oDQU6%;4|4{s@e-SIJ z^Z3;+zjVG9^0gL92W`b#NDitqa!;}~fb|;VXGNZ3)}KJ0(=m4SoUWb~NC3OymmLT? zBAMh7+Go9pwJo0Oq53Vm=RP(v1!zd@OCTdLemQB4hO>YCnY~dj?<7vO4Z5*+DA5?K3IEgC{hBX|WW_s^*%&Cbm z)6RsyW9UtL;m;F6e%jbMJk4@AV&GQ5GbvPa%X)wr^DRuC9G|Q$X(w+iFlGt7IyULh zN1dfK9W>{l!zrZ&=5Ma~o29=xEvE#`kVP8Sx~Ts)67)`!p=J36+qrp4z*ILktFC`~ z4S^~kAqV^^4pgfOKlqdL*HKAlVc_aS5{F{d(Xx5a6+GLEcY`URoh%b~s%h?1s7XBm zF=JTPhA!#V2dTMy(_FEcJ`R3#n7Is zjp@ug z2uCK1c#(CWiC1KA=z@$=)Y6<>WND%ZIi=F;I>Xf7XpWdsNTH6LvFo)*CG$VUA(u=^+)$U09{UkU@eE>YWEefvS$!L76~2+> zYj}^L8WMB*>z0D|!lTwaIB}lV4_?rm?^PdR4qvF$M3YBh;}^c#vo!t}c%Xl^PTlM_ zr{4nK4ae)THiB>Yps9P?zMd^mhmJrza^LmLfrn8JbD7ZTQ7Q=FjVd#ZWbat74RkSD zxfebL<-xS-5%q?pW_DI4F`hc>wmz>`6=16yBdAtseuJO8XZ%Yad(L>~SliuzgS@FH z7z`kC;bH0{;fDv4T$3HzSKrK2CscGCj_*z=dmuld3_pMC+DPJ=1sHi+sFy+lg&sUK zMWIMo4mBY-xFP)8U8vz*RfUtSyZ`*(YksbPb-#WL~Bp81G=i_-u z-+Rwmb?Vfqs#B*9%uHtIFImLQ{R%&3#*g?boeZe@R>s#Cepqe%p_4a41dZ$D1O@Lq zs;YOTsyUIW2CAz59jS@}Ebb#f=M?2vNpAr62)&yc2(9W(5YkZXUUva*#Hdmpgvc;k17eq+f8lC zR%Az}lr?h(_b(M)^$T==1)_L5t~Hp0p#y$rN{@cm|05flsuHSGG+Dqb1MCbza0zA{PnL0S|O zRq4AIkh;`F4IWf|`P&r{*fZIeXV2q;B(xuc{m!HH1wP+R_C>2o2d;xJ0!;46mIZ57 zqwoAJ(kPfqigh*`mAMg*fTK1F--@F&O35pD9vkIi%XN0`MW?4=eN}-JWO)U$)k=#f zB)hn>JA?fJrc2cIlCOj3i<>cgDT2kS&-0`-D=iOlfsMi>A6hsYWqp5bILxLt6otlx2 zu-5kJj5JIVSp=>YWM*H!x(NM~10oloRoGd&KGP{>sIJ|+oPTPDYQt+Gel6FoT}J^y z@CD&%Ji^|V^73_rb!vm?Xm)@$>wN581J(Bs!H{AqQ6gAG!11z)FK+43I7E=PJ9IxO zn5)tY=(KE=XE+`$!c$96U7t)`EP*C79(hjn3EdfARZxkKDt>XvcBq`eF0HEJ6hC zA-6lC8{Yto*($XB51~;o!gV&JNe}H?pQyDy`?zjypvD$4O^UhZ4Ne9{ z`SObWYgjndOF{p2%t2kA82WHHa$AL&}7!uHQaA?6%mUxX5=>?M5n7~gmd9Mr*i zd$4diZkL6|aWMw*0~ndU?AO?%H1!M5i77MU09Gk&OI56Ngx!ly?8Vw2a2Q9L@)+CH z4i2Ddha@k0ffmOSeS;gbT(+G{C>pZcL#)@93#|oj(D4K@BS?Nmk=M8tyH9sQ-nc(6 z<{0M6hd4Rq1Y1jxxPjzeKVbSnOUPmHZbHi$4c9J4K7?miVG9uzjk3Jp=HC%Z!lT_= z$3LH8HZH?JtBFOV4P)W4KI10}aZ#)Wd1#saq@$X33i=uBj~R)BZG#FO~hzbznx&{xgBQ^H(EZ*c6K@#%S_+G;g*W!U6 zEMpnE;$I9=XkaGwp>A~gl-Lnq2{|A~5FrjIpd)yAq<{f_1i};~2~F3d7G()wTw#SP zpsNfasH&ucLs^d5fi$utbrBS+CQ^f4c=<)3$C=nQwAyR%=G^>;d?@CJ)hSlHRqZ3E8Gp9QkPzBHU&Pp~rhGpc zoeA=u(uPTQBPsM?!|wz6{q~06yYYL!hTnPCG;~RDaifhet{IO>C--Xya!2SS_>C$W zTxnMU`pH8%tJH+s(nu8cs5_6;>|6U`WcJx}t_B}CJdv623|%N?;+Vrfld_z~i|&`` zitS)7;0RDScPui|B))`|LF9u$B!N zRh|O)&ARkPUWT|NwD7UYD^g~|DLiE^bUX`i}e*;cXVdB4f>L)s=pbYExddDJ1bpv!HRSN ztG(TYn}gQBr1_ORPYY`ckW$aH3%G3nH|S;0Jq1kB$U^Le&clu;BD3$o&s;hqyJiCy zKt`SQA2&{6`4{IcLTBprIYaRo|0;EdR&j>zufyzy>m_RId>F^2ahiBi+uh;0Tnt0) zqDkkXS|m;V^!M;wQ5#V2x1Q5du8X_zQ|^yX7@w|Q^BkV!hf?SYe-6+Q$RS}EoW%HX zk>rZ4z(8>nc=2lw{_@Y0a5kWlUDjsdCbzaeNG^c1M^=_lPK%ogQYI}2?bJ0G0>I1j z8o9`C4XKdx4PNXZMg6Dkdp8b>^S)jOUdW1}R#+1uCvrk4MY|k}Mx0$XUl~sAo4Iuc zzfzWI7``zyoDrbt@T&(gG;(xq<$k(h@<1a5B#2pT2*3H#o)H&U8Exy<&tP%vg>J39 z5X+XTUb14wW?JXo!y)H=J|k|Rdlct!rgfrx-E1u%9OvJWuz!W<1{)DZg%c-`(f()3 zXj};4Z=7=;`vW|^4+cCK6`)qH$z=z>;K#w_D zOboD&lwYR@^wfHf_Wq;%R1xyvJ|sd8f1Yz7T4h>BTX+yGsrQ5>gV%VA)x$N|zql~L z?kC@gg-q+!;qXkoykvW5Es6O^>*G^Ck^U$T{$<0#F5it*7|O8jN^b#)Bd+{Vl-G{8 zj^KNYnP_LY0o~Eh)A-P}qaI-CSPlcQp9fg}Xo1Qj=V>NE*0<_M3cY>9ghu`KUk8E| zBUAQPCCAdbim~Xte;?1XffQYHNG;r_IDNalPoYezBtiPGNE#{S9&8JJ}(sQtEXs5W{n%C2~SsP^@Wq1xtU zkkLRX)o`2|3JbTxT|KCv+fYpV?rCXL{X`%#Dd~+EYThbBDcga+JXm=Z8-Pj|H4qT4sSF*4rU3M zx@zz)qG%yLh$z}sJxmuX7evwNVg?oAbOthua4O?yek{$J|6>U&@7~ifQIs<1GYWk; zJL19F5!}pe4naD8ZpDu*k@Lh(Mje8ULb|{eF<(|PAjsP)TpkS0!&nA7B?VmRAIDAF z&S4oqP|aUJkdNP~z+AQ9kX%?~id?apjXgmb%PMet?WKU zy7%r?$0N8<^!0^tyTkO?iKmEhr}D^Yu24eOTaY!6v&zG1fMzMTFq%YK>f7QBQ_&%@ zvXfaEE(Zo#EqD`^0VPYlMu^}pxKkZEt-CVn-`Vu~KJv8x=k@)J7o+R@H@l8yeQ#M8 zS>Lyv)5!YXYFK0I`_8}dE6#tF#jWr0@=fJ%S#O3PP6Gki@s{K~q}(qyVcQU)Im*pk zR-B$X6@U!v|McBt`mOLZU7oPX8R)!I&PU{~xR<=Y!{%?v``?xs>6(q>qL|qTaJkio z;54o7X$$g3JW7Nu!@@^$A@7Y_1h6SS_Z_vRk_OogmmPFfTPdG0KLrM?2>rTN{2F7x z2;>arTlF-T6cGacJ?j*1K0#y={-<+B@U4u7o%iIWCG0r7q9Q*ZuS@$BA{ZHj$w0=Q z33O2E1K(6i6Z(gzNRXzt(GxB&PA)Gal=6cqS&6bFOUUz(*Q}`z0qy3f9B<$iX$7mE zwFg^tJhV?J_o%phspX>x_ZAjLB~J8?yH_=MXKZMhuSJgtyCidw`Hxj|gzf1HAEKSF zQM*z_If1EdGaIKl*&U{N|9qM2!VH4ff$4H2?}S6yX1y4uZD z=$eVDZFJe}04p`WB=tgaDdTt- z#mEDmuo36Db^if*MDI?QSt4pj1Z;jEngE|AQIieyIC5(z@CX7y(49LzUZ2kFI2 z?9?NRnC|eLf|kUlXB)SaY-r~xRA#Eg1(FLa=a=oi9n6PFIyK{lbindS94vibw_(YQ zgXL{oj#LIb&b}Fh=mhKmOwGt+6@m#H9jzi&Y(S<6I=J2e9q{qM^@uYAckhS{SZk}wygPjMs%738Zh7iD{33wua{QOqYG z)+OKK!*CS4M-{t570XF1){e#cAXll%)lTL5b$UYOzyE<;`EiwR_y!-exDQM40fEH= zFWAg@vlSkPV}@>s;*=qjt0!*pgBuO}%3j9OeG$Hg&f}lU?Ho><-t}rIqTkyIV{{L)-EwK5x$|ogO{^}TLkaO*9aV+^}X2TRXSyzI^y&l@J zk}K<)SlM-~3}=#;h88P(6=jedggVrXPH>PM#D!%6Wl9=8&J>k=4-TTc!W$r1wbRXy zE0HGl5PrxksqsIUpH_hYD2sFKDDwVAAR*j9vf1hZ4iow*rqf3B&#O87Iav}v;YN&H zR2~4oraj~fG+~w9A@V}^M$(snYg@%Cy?uN-{RJm%Q|uH*6WP}&X81QASYdpv2YZ50 zWr0E$pbxaHxQ?9J>E*S_lV2y;v=R)CS_$~6A_V^{qc&Vye!R;#!C#Zc%N)QF5I;mP zKZ@oR)Q7>?6b*}c^CGs3id5rP>Z#D+vgI2~PW-$0Pcecpm_~Ymgc9aTkBb2M7gCP| z62VUjo4PPBV$m^U=pFhP$I>Zd`F)(VDATHHr=-aoY;|X*Dr*sxRprGO4S}ER#TPn7 zH)mIKEYj~tIB=$$-3ve-bl;|#$9cmd>*7+7RlQhyB&|HdIs>0b1snUs$-5J_RSKd& zZi!von)iR|;&|PxW*6@OloD3Muu$dDgS@qe@*aLM`&^&wK{M*GI=!>7}1CwSt?SZ!WaPxsM z;*-*FMF^I-C2cac{Q60gJ*&DPaxp~twt7_X^sGP9?v&u}?0 zar;W@mAcQk5|^!b2K$Wbh9K8KRcIKm`H?-EK<7L5or5lAUx$>r+31XGwj{t3yQ&!5 z3Mx!7j8$S!{eObz8Y=;wzsYM9p0VmR0#C^s3Gn<~QX9b2rXf7j_X<1)3M9dE{?_rpk=l1w`&*aoXL}hJ^5@U?x6mF4uQRuKU~H-ABbzha z?2+x6j2hH|J(x>zfuY(#Q;Y637>CeRYV!kHt_fGyK<6tf3e+VG;Vq!8Og&r|+cnCl z!Y+<(q{GUWF-q0>(&RtFbCvKd3;D$*_LfmR!N&H#%*-f0wuHghn%MsWAXuTf%W%|q zT)B`}|1=(#^JcNNBOaHrO+*@ZG#=MqfpV+z24(+HiB3r09SrCxXF0@CFfe8f3 z)GM)`(c1yQ_?SG)dt=1DpUY|^`&(F5GBL>`Ck*V6wlRD91=~oQ+yiQ{olo2Y>RgF~ z{FrziIHALsK5LXRraN7;DXiPZ^m#YXl+wKbrj*agMIbuqF^_evN~wJJf-OVMnndGy zye2hMDX}p#x2jp)4(+5=^i58@R0LrtDi$H0juMNCl~_b8JY4fdWWnt{`RodlisO9F zCoCow$g3HC3a+$y%BtgH*X?bf{&^L@#(CEx%(o~v)(6>G)(9RXCTD7S51RK!P^YHS zM>|8Aiak{XFLZu^t|z>aGL^mWrb5>cB@{?7Xh3+C+?hiMt3dW||Dc*L=aA=#FcQJf z36MjQw&28Wl!tz!E`(3AZvP+FU!{H|snmBqL&XFNEfw}k6o__>N*moHsY$nKlaa!M z4!joUcw&AR9JPXV+?N2oA-EP`)UnT@46!v*O-$YU13|DT$;z0`z7J|tDNEX0eagPv z##VEV59e-p8fs1puF+`7Kto*jYrFp*7J3z#RgtR4*b)nbRt=oc5}4@{L~?`alXdn6 z(?uKsbdLl8$3CFE(fgq&nyS!aW~TzV%Q_9j$2w6PqjGPXwL2^)YtAOvs4xn4e2tgEhE_?sOXx>@kL|H|lH{`03YL)_%Snb@E1PD*x3&BIP@h1rgOJp1k4`w zcs6nUYelYAaW5%Rc8M|4c-(ZuBBNF4m+1J|_nnE^+{074VcGO^$p=JGFDtt%<*pR# z+a2w|(iZ2t{8yw`V3$o8tBo&ww|nd{XLSW*lksScJp=U`)5^&4x_XS1-rB53>Hg!= zW=;0sR}bLGzc?ykHkGU^v*!OzT^Xjv=N}l4IQenHHVf0Gx3SV^)bW%$l-Pr`5OY4l zHq6*+^Y7mireQc;t1|JmIsF1BZqP3yy}%0_FJ&Tb-KYlk&P9(AUlv^i4{M44(c6Xk z!KsVn8r_wLjKaRg36)c;3JOu)Id!H)Am>z`A=Tr&v36n_j=9oA#uj0HSvrL_qm4EMDxm;Ht&VBE3&>`wiufSPYaW0P%T*xo~+gs#! zy0XkQ!YTkMgkd-VSSHNrLAhNM*UDULbF?O~5C%ZUjDQaOOqTwb1 zae=G&(hIPc*1P&`ak8gX1_#=>9(+;3~0cH$K1EMm`6) z3_GHAw{vtM6&;m#>cEDqy^T_EFAf7JnAor>xE@ci4l4?__`S?ZdH8{?5qY?o_2rd-nb5*4NcE?)(B)Fgb zY5gOj_0QQ7>3^BBPhJflL91-Mu>m6QkBd)FSf5A}YG%vS zRH9|0S7km0U65i6repZ7me$Y(>hvO(S^KKYKNp1>k{~Se*r^1+0HvdD4Bj3qYcS)> zqajGWuoLzrqsH3N3la)FUg*#hk#2EkDb1dMLHL=IE5*}lVob9|zbS~1^9Wok#$gM? zYpPw)IDrOVX0vp}iDeo{QO+1TKTOlAxGA9r?0qjYQ}332pAhkgOxHXl@p88<`lRJv z&AnB&7SBOX1P-g!73nzh4S-6%k@=Zm&&^yOf>)K z@`Tv;*=GDY4kkJ{j)_86+GEvWxOpUp=L+*|CaOo6D2|xJPcX(rZ;xl9gBxd}Pfv+s zq5`DoPTYjzyd+-&(S5Z=5nY~~nzY{EMJ;c5>~t%-(ubr6UJh4b^nfY|mg>8~`R~Tw zzp!$fY262ot;SEAbUV2>$4g^3t`=Udf;z-vauS814!0QT+RiYO>I(5!3kle@{@@4>VjBP{V|YKCbe1af?P1HK?Nt{?~Mqh4BmAL84wJE>goa6 z4%o$uI1P*U@#KM#LGd4mi}J==eRl&>{>AX>P`($oRs@DNl`Vjwi3

          N0k7YJZ+2o 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%0D(f0GS=`cdJ(wR58UldS&? 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 z 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

          <+-K~`JZ^NSw$OM0Sc+{s+ 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

          XP!MVdnSC1arT1sL^*D&RlwgaD zy$XEsk)i$sJ?1tX8Qc<`MJ6COQbR=Ksf<*ctNt@i!Jf8;U|K<~>m+vqf8D(m&NYYQ zquC1QiP#^jvRzvtV4@f3mm<|mO+T&KFEj7S18H*tjQmi87x;dd^%_mrBws?qSy#Ps z`dRqsDI5a>AZN=>N9}2=Ig17BZ#5NcHLR__3rN=UpFyd`KcXt}x0*{KQA694!~f&X zFxVdn8&|rvIn-u$hR+V1c507ZVe*jVwcRV{B`^oGsn31k#`_Ii4fzpo7 zOVhu9f!a9zO_uKVC6`{NX;iN|=S)CH;E*orHyP^Zldj#VUvnX&4+BzW-vu&5>8`(r9ZV?$py*UH<-3qn+2M52y6@e?D!rYiGWPc9lWYw# zNrn1=n@oFf)@NGc>?D%n!f$bFb^1g+Pg~JOTB~zbv4NK}eH;j_Q3&if!P*FwUFfc% z-EcJ)e9Y0elZc{EvVawRu&Vkh5DDLhc<(apUCGU}w>H ziSggTpc^sW8r30H^SPoqaByMN<=`+b7ZO zlhkcFVZ4~BH2k^@Q3;9dpKZyo#OvUE(2S&GHCdsy`h$_-&nhOtPCH*>1OMYUxe$#u zauee>Giy3%7+&uTCWy_0unbUg_vad>v)#Lru7@&=ZWl z?c62}eF+7PEsS>`&77X9wUc^{9(YGcPl-da7#T8?Diy{= z)@{T&#CFb?)d5p_@f(`bhC_+E)`fPg*GN2FR;n}4LQf=BSttGX?$)7jh7>et(HTVh zOo&zvqLqU^>)as>#rq*FB+YpB{Mw18iq)n!7>cDm6D4k|aCzmMRUL3Vs*{XaRifbJ z<8|03S8oNe`M&-IWbAEL{2t7xCU9-TosN>wjI?W*JJDG<3kfg)mPMS8-QPmj!cNjS zdHx2oQq&;PRDsp>9Ru?oVya(ak>n)mdJ>rWQv~QULr$krxxNG_pkYhpEEce)8w0B< zszQMEXxgCa=ywH{xl)$d@XdmOU-9lSb{-g1cz{x99`gk` zd-ipI{h_Nv416a;T)m%j5^oBo7Iu7E!hPS}N?w;PdB83u7n(EtT?Sxw0I_DTf-UZa z+?@a;0GAmAIv5blhuAh5-(0|wN%wl)_x3uFZd-TE(0g|EdT&5b=e+kl9VhIdK~aXh z_%(mXAM_~9iD4E=U8VGGLz4RV81`s1#D@_wsYNCRUxc5a=ZNYw2YhazN7)1Ps zYbQ1rH{AOh^S)ci=6;mj?)8~=*LxR1d(@R*nReIv?T+ImLpU+h?RVW1{DHi-l&S{% z=?_S&#|QA}GY?yjH2oa5ECY%yECy^M5+gtMzZ}dL?{k@AV3)Flsy-QO;B%9zeUo(9 zal<%>@phUOTY4Vv72f+CuEFkt?0yi3)f|T@qE}735`fchK#m8$axUakHt?9BwOL9!P zbF;lTA4ZXGZJhLn6R^OjKdx=O%z+y6hqj-+$gmh(7O4Lh8l&PF1@W=_C-DSWI(z*w zISY_(bKGrc{CTkkYg%)Za{DK>pGkYe%c41YoDvwluJ!9XDzm1-EW*dK9 z$pOjln3PET*U0TVt?0q(RXkXTsF+_BiU&gRFt;A>kh(L{_YSE$Bk}trf=Bw^Cv|5X z&L8YZ!o1=Nf3RbH9>)HgeAh2rlXCD+jeCa;_zOiQMg=-oE*&zHCpvwjojvq8+ zP`C)=rt?rrv^DiI+MYj}9uX(F`U@-im2ie0A$yHbkK#c(bd%qqoBR&l;dkf`zeCIG zPmLtZt6FDA5dRhUpWYOKi!~=Uy1S()C)-g$ea`U>3K}k)1-Eoc4Yi*C*Nh)@*#Y#c z;()p$^Xq67#VzLsel08hj!b^8p29p%tlq zbu;}#v4)9LdPU;r)YRbuIy$pNm7X(fY<$G6sEDoD8LTq`grd*csOk4D$8-g&X(sG= zBrzQ=0g#ZomxWA*XA(Z9PfH|RUBB`a=mZ};xyW#QMg{{ zs2ki7Mk6`6or}#KcEGr2z_kH=VdYF?QzPB^{pLpkL}tD`7RTXLC$D~uj=nvY#ectD^Jogh0M(9Zy1`>Zu86A5(C zLsSkOR`f;{ijOJ}#*1SD!Oy{optFM7skYF%wH*+w9mt)nrls{i0)zkr0rYObUCUVr zJ3~#kxUHyD;e>8>!-yIZt5g}UQsL@PphKJi(7xBKeAS;!`$C5yz^fAADQE&d&A^IK zzW__Z?{cm4OwCbM1@zqQW7WGQ|y z^-KK1j-B+9`1Ks#)Hc64v#{2A&wB|z(agz*Mu$1AgsF&_skm(~b(S#q+#C(#@jf~Y zoEuHgSZy)O0Ke0_-be%&Blcp^gbRvqLryBK=|hmLGD6ujL?wi>0Tc(Fca^jZTZqVX ziqXs&B>}F<){5r^=cw6}s!FOKuohLi@EDT$rZlKrJ@PfX&imoP?Py&)B5B;!N~=a# z=vryLXq{tH)EgI-Sff&aB)>;C-fPHjb0D+@_c+ zx>qB911LW`jFE~yj})aU-nmOzzvy6k@NJl-7_R<+{#emVDWawLQ+{im_mic>-_ma% zGVKI3A?N)%Ek%6z@60U2)0j*Flx`Fs4;tK?fn#0Z{jh*{6u<*;vrRFho^eKCk-EkR zb}+xXy5js;@y>D2q_Bv~y@x@B459AQIBKUbrz$eJu_U@9U3fo7Lvc9w3*nu0_=nWu=rI}jl#{Y0&Dfg-TCD38D zm@C@sDP2q8Z(6L{!d4$Rtv9Q7iXnQ&KB!Bh*u0r4{W<%{8%u_;^NQVN4&!fQoYEL; zm{S1-Brm5X;(Xx!+VBC~U+yxUF{cao`0_I!OXi^O7zq~9`w2*p9zcc_2`p9T+5gxG zT7Dof`*3PB>-Xq119D(CWsK7LF57MsC}g_Hjy&|E-bG1HEOXrq@pzr?!%&BAUo6AUa3X3b21+0$;HnHguY0W^^dynfJn zU?|ox`|NUx>HjVWf1K$*F70%>U*~KB^T9?uy&K*Ns*sM@O{jRY@IFIN8uZmr>=Tiq z_F!VdchPThP3RA6)bi$K^%JyvAmpH-wwfg}pfz%qB##R^ou;7SH;X!VD_15a)Gya? zp@VJYPPge!&RZ_voy4lKs3Vf6r|GnB+ZQH`L3|o|`At?d!KlNECqD|s?`rAea?r=+ zNX_{NN*a8m8WaD@=}hLq0f_f}Vv~d<4i7r>fKQH>X9mcs&G8O^9-3e}o-zJ6OoNJC zPm!=r(ZaZ!HHBVBk+jE-{mbyWJGlrYo(EjgvHSOtg+KGM3zulf9=wEO_szCX84M$S zk*3z!0d?nS&A8l5H!FR3RW>-T_gnowaNI=y*>Vi#2_ibp^t<&35PvrmxBg4FU<%&X za7?$Lgi`745g2RL0s`=^vxJtCiTW4H85H#ht=_40YENS`$0Uv*dJqsztLqJOH=+Xl zeVPXPJB-}DcTvIm=Y1;pYi13XS*XG*XHa!wLB$PR?ixAE+}ssv%R@I;=X|SU zDk=&K`L}UV0k!N!V3xPi=%b9zs7e9cRUyj%Fju8fML6%Ud1Am7a#p%ep>0&8In0Lr zx}fX??zbw<*AzP~ShI?pfu8VgRvG0ICr(N{@w60>V98K%Ln;DK}nH)d7fPh*m4 zlnq^~1J9DFj@@@gX9@kkAYI=0nAOIJMEVt%7QB67^y?gitnYeOK=W^9FlxDbm?_?H zzQ3np2wdlU?cF6A0maMh>w)EUIg(Y~)R@QqSO(_FC-|Rea0PStkRD67125FBU`4jtbtT!{i#dZp=T`fKQDkEF?k0~j zZ|>nMOJ6GC5BxW3&%D{`cKUBDN^$nZX^{JO|III+qRzjV^hl@FbaOecywh2QH1o;h zrhrW|O@4vn`AQXTga6piJidpFmnaR828SbD8am7WdVi+)>u#<8=5qSvo#9tLi?8H2 zaq7;{`|;iHGkF@wkr}3>*y3O}=!!5el zUL=2@_~N!5YHU0)cRKpZ^YL@Lc8#>fXg=`jj|NZ}fg3Aokn8YsOrMM!s}oI|*UB8` zKRUAd0r_0%el70v;%$xAQl+y^BdgrsgU;PLVY)NLj`zl248yx&Ehd#06}Q=em8muS zHJ%C>BR#?Cc&NgPnT|0mb*%p%0k`~XIj3+mR&eV6f=y5dUn}18VFT~vA9ZsemIWI> zU_kODzxvETCGk4c->=A2WIT~S(_K*?U|Xow)(vCa7^GuI_&$ke40A6ZY#=>lQQXdl zp}8`;9c5aRO2x0|mcW={w5i$t)8WkaF}zP+yoX*y%QPI*i}I{q7-qyA_jQgcr#yLl zZwlT_VQGFLu zm-!0Zh*j&Mz#T3H?r@{Pl}waY;3oTawQ1C(??;^XYXLb5Ou_s^HWjROG1xf?+f}5> zN8oyS7?xJ=d?a=#t*@v9LCeC`s~V;nG3_d5Ig+>r{Uth`J17>0Lz33w_-bh_ezYg8 z#npzd?pEI|q=_!A#d+H84XZT!3m6&6KfJ*!V3?~;g=wB!W@t5}jgoQAiCoc;W;OaK zoHh!FpB-d0YzM1-V!j7`39l}&5-kC0hm{y%i6uv6Fg8A<&Dfw$0bW7hWfq_vZ50~ z81E=LCHuH4$>)_KFkIVA8|s2J*=n+V>E#~OWLP-5M}8qZCfWzJaX>;v;*Bb0M^&X@ z#L_wVmrX*>8^%m?KSpBAH1`rneetF1!ii39)0*$mM)SQ6_Rs_=3GoG0+0RC%q?R>c zWk^OZ9SIm&P!5}-Nv6@41&fgdQOgpS5~bl%W>czZ-AqqU?87uq@^j2&wM^ydicT{I z{770&6L=M_USUPYl92yQ1MSY<6v|0X*-dEMMVyvhK(^2pnI`{Rfm_VwRPAH?s8Ds}&d_J9q8MXP07ubmN1N}FvwW}^D)jrP&}+_(vtT} zEQAB=#aVu`k2cd!+~={BVPAEh+y;}_Ii`>vAw3eBrL&i&()&GwGC>-Xtwvj{&}nXS zy3lo|5Jb~2#gTWHBzPg^_9*=5;^!Vj)NiQTOtS2kjPc9iG+BSrAYvbmJqD$Hb$jn2m;KniQwa_>^^h{ z{g2PSOS^_mMtY$uOV?`G!YMO1olr?0q^@H`BF{|U)7w>4LvL~JX@X0LTY!y&8cF66 z4M__M@o4Jq7Qfc1$iLsRaG65196h z6mqP2<8$`#^Aq|RetzOT6i*ba`E!P!zhSWH=mb+$XYwhk{Tb=xSKa)O@9GyV#0{K} zOfPp|{GFUyt#UtO2Jot%m*vDix(M{kc;@#8fuK76C$CJWmA4-I1e3>=@ja90UVmLS zZ!CL>uJ%kQ2BH#h!A7PBq@sSL2-Vo~1$WUt!(l~9`mOi$TKo>n+Q83_A8kIm_wiQk z>`OcDq$9ECNZ0RHKm@vbn>zgMcdF9eO_eSstx~J6U7wQwUjIHD`m*y2Bk@a0Fz>G) z5Y|+uTzNFdm3~b)^=iXLb88E)%4rxFSNf^Le?x74FL(8=ukp&hgm@R_>>BPQ;AAIW zu$6A|)8%Y~27Z`P$hOg5xmt!R{p|P)lXy&(4pi+xL>FhGFSJ9$avKPNf%${dd^y+i z?t{V2$YZ9x_}Fq|&LJR`yU%^P9~~TSZuDJKcy8+OrEgbt#V0roVTFhTS5c>=r?F5M zVvTgBN*^SXhMK^1$-Hu}QkSEPW|~GX=D{DIDL?fGJxl*0T{@~r4csKWp`3On`0XB( z>8r{|Pt0uyEK;xCLm5ZLtV84K&$F@5aj%AnA;trqR;cQl8mcNVRbkK4&ChcsQB%la z*(GI~!a-Oq*zu!3daEjDTzo_l(|S$lWjnR4rc&?JRj+R#V8-=@IraN#oCfX zzRX-6`zJGD$-2PV@kQRy4Uq);!bsvWRrSws ze890r@$;qo<^g$>U=@7fZpE{$tyQjnNco|PN<3RdUoPb2yy4YkA4<4Sc{@|dB;JSy z<`5FjS!-l?_aJVUi-iF=5sBGB0(#|FSp5UQc1kwimQ{Ox1yMjat7Yx)$em71nYHej z`@mB^>t8;P?kJspsNM0;g5ZL3x^r^k_@8PqFZ$O`1-(Fy+tH9rF6Wh)o7d1)BwsSd zWbj_d?pf_H3Sx#ZF_rEXcV{a56J1~-taU%pdsg2wGofQ<{?D*6iV@8)G4Z0G;b~!g zO+Mf;{1?iQj@1Q`#E@RH*kU0c1&hAgj{drYg&!_&SZ~imsM5biopL08@qRW8qTd7> zjucMW@iQ6xHxjj>KW#bob6usP9osqli*ba)#txr{cc1G^0u9&kQx#~K;g=p)*_P8* zWIx|sY9X5B{U}A$xnzujc?~D~1w($pk^B(s!(g=H`B~2}ZD-onGevEC!z&bZWOY2+ z4u$9)JFCxRSXJ-GhS2T^FUT||d@2VcjD6SXVEx%;xrnY~w}-2l`R3mZXHgi$}r7hL#*zVTBFt!MUL5*kn*h*Wz7;;b);y#a`2XyYsg zmm6M{f!Lv;w#n?aFIEI0iqFfuBvpDTD_EYtt)}x;UE&%-FFc){Axs7^2JaKYL$Qkr zy~`mDs;vC^5}&lDN{=9mcLwj_d=zDjae)s@+;_ppy7;r=6>z;%q95NSAKm^L8ib}t z>4GQ&iX19LlyNm|)?ZnKUe>_^z5T&}%%tlp zvTmW9e?TtKzqX=(UOgH?BS()eQyhwNtN-Xicy*xe?SMz}gBKhsnVBLLe5!_ z=NQRCdNEW{5oc;iY$EEb(v}BdwxSu=_g&Gnq>n7O2A@>o2MP4@44bw27Q<$p^T!OE zRaTC@s%3ly&R28pj$Ub1p&{@4i98+u5gbiFqdf!$k?L*N(S=p+&+FHx)UU54FL2rZ z=+~-pl3#SQXTCouZ8^ruH9h1@_StpFq4bd7!7F%r$jjgGhkX97L&hSuEH-g}hP}!k zwr#>o{hXkPEYK3M!9B;lIoFJP`^{$D7e0^~cljZ^j5}}lagX@$d&m8Y={?7N!mAp$ z>{Fqw8g5P3{QhR|T?acRJy`dsuEBo1!XNAfyAF1;GqJ2A$uwh2TWT?7|9zTs{o(fU zhdX^vX1GHS-etH03U-_3x(~j0xHG2p9PXG`{Nb{{XZ90?ur<5M94$|ATx;DM`ezS4 zQau9t83VyUgSzFlv8Tui6S;JQ9yjzMlbu zqsCws#7vd`5j^4M$1m;pzzRq}{Uo0TPBPuV(fnal1MI%OU-HQN>{+X|XDL$d9ucNJ z#~{qogh800l=RKMHx4uq)Eb$u`rSA41VQ+E`s`lNH#f)kVFA6+61lciO9R%yERDUF z12f-0g^9u?zAgHKXs;iXv!XsFY2Fd_;6aR0+&9XL!wt~y>D!!nSBz`W*q>f(X15PiEl(#5V`UPkW z?0SPkg59je>V{cudxTw6>IjPTyAfK5Ecfp}WMKEyf!)}rCfqx6vtW1l)<913Soh}# z8UG+6xVr;z<93HqA=nx}S z`U7Agpq<}Ed94!dIQ=K^zl|3afv68-1wKT8Rt#8ep;aQ%HN-OO-kQdJXTWo2n*q-P z6aoHzJ zq};J=b??3$6#6Igu#3DhYyDj`W;>kFE5f_HG>Ion>z7_sAa8KEC zi<;yBM?clv#vX;Cfd8_31rat@gdP7|yk)9s+P_L|S94GM6;;Hfmf6EmzryC={);^F z#7AI^79DnkoDuVEtP_Z};+P6}uR%7>EFy}A%pv4ea7u0b(Yd@eD*B^&Sr=FvM%oJa z16u~)B~fJ|M#B{qAtz}R|MHBKuI-6H<4pONhKZ)WYbz!Rmyp44t7sH-p^fESt>dPc z+ke>(95tl7(1$Ka4h$1*Ip(uF*5-!u<`3gt{15_m`@X1#E{jxuXWicMJgvxa%sV)ZfMds9$?ffS+;?kj z6Ia23b$Ko55Y7Z|4+@#n+!uz?JDee6cf$RN7I}_FcrM2oJPi1V{%ytmL&MfgzcPMS zLGzmpA10?~55l;0PUPRiylNoPYiAYa&;Fs}BfD^tjXOb9yfyMLovWi**C?ViWRnM_HO%s;)NbT`V}y*40U(xDRXL0E7W z6VkRK4=?%mj+8f_S0F@pBaR73P~w(N&1#~zsqA$8O(t+bKU{aJtk7~DX=zfv(u`~| zGa|oLfo)+tqsyP@6R_UNO2O!U?rk@&IUh(p(?Lw*#oW*^ScO`1!4kUhyp*N!{EANL z>~nT^ENCc_9WO?z4;DHB=j{9>{ZxK>hC-sIkTKt2J2Ol0mTKNJZ8^@&{D?ENF!@+| znx+>88(#&JS0@L2f2Wpq!vSCm(!tBR!O(OCy#%{P*zo}s&PfB*sUcSXQTa};FGC>9F)pkbH_u(Vkv(C@`@pQL;t;!N<(arlfppJC6d!b(| z7utH(%1+8~nyA(67rXJlB0XvEVv+&4Y_!&GkwH+G>O_i!hW<-NmtjPa#f=VKCK`Kt zdxM2%1zDP`a?is{Q1Zht>Xa}Zpz6IC22ceEpY}YKxc>Ey9J(zM*o?hAZ01mcmEvmo zU7pJA)Y66x_~T9MliS9Yr{fEkr@f1zAj&AL={O>ga#*Uo#FUBtX_*~A z<9&Ph8S`ZH)9`pC-hj~<62+W_k|^r;B8DSM!t%Q6wGHniA8o5${gc}EdSda#YFEc< z+ieGVBYNG^ob(mXp{XPqwMKhgwNIq_#|;xA*fGso ztnWsnYm|56N`!!@@Yt!jK(YpHRfkRsp*(0}^_EZduoi^8tKQUrB+ek*Q`_Ogo&wPB zl(&u6G5MfIZuTFhm;A;rrixdoHrP!=%;czo+G=!EX=}3@W*>DrS@6JUD}wXjO?LGg z*6c-eQ89i+8TrGJnl%_5v3MN%)l|{QcWZD&ev9#Quh&!XJl=4$P9EVo=r(mpEbVmX zVv8QB{-M>B%L>vmdlusB{Tpb7F`JeGG_a6JQm8OH%DEaJ;kH`5W_4Zlruru%iSX)3 z{1lftLKQsNXSgEHs7(>))NNL!|7`WowK2DjE-a5Eg5_MjC=b(FxZ62K&;p_s04hE?K~s#}SED<6e4>5LoW|K;u}Y^lEamf_+*LqDyq|Kq~! z)qsD!3_Z%y?;7?LR^fCk1AYqcy07N3hKF&1(TRb-4jMlJ{>gmx@_GyVp}i6VC)Nfw zU~rjSPfynFGYF?Y`9;B>^e3BTFoU+-ECAkiYj3nJA+T#Pf`Lb1$dyJBxMhycCHpH>C`RsT2MKF3?h;}dw@Yx><>MlKXPz2XP8!#=f|E(eqBc)>mL z$1g6pndiy6+q6M|x1PZbKPE``^Hu=U8j3#517IlLt9IDiSVD!YvF!xjzM^BYHK`pS zLr6MH!qx9ZtTEqwWle3*nQTpURUp5Yvb8H)=KX3m%Wn>~q8m9om>jmQ=p-U|zf}K& zDDx5ZU9pm~Z-ypYtCml;l1uqG@+<%23O-WP^le3a+{VZ4V9>k2`_9K8O%!p(uUt%` z#_lu`T$mbA-6*SV=S~UUldT($CD#pOOGw>N&Yw##MY^FT6dP+Z*p&t)o>@-MLlvd` zJ-uQd1*;ek8_SVVVbQzh_`PT|mkY{ji9fxtLx@Yo5O3`CT%K>PeD zZJ~;NV`G1*3RoJaSL|gygI?U!J(a&qmuaD2$ESq5@A#rb)vqoK7Hy*5OM|?vEm}S~ z{R=5oFi4Fb zrZH8RG3{^0bf6j20pByG*1uA)dsuhsq`(?{=i~gS#diHVt@;6oHL=#Eeri&zb(ucJ zZ>$){4BF1k@AGJtG*#4SarAFp&ZBexYW{|t$3Ejnlfcf<>XH^^HH&C)>n45L<=_c2 zVVf-l2rdVa7e_cLQN3*E+FPp3w&Iq*2c6OeqiFNTOs=)A98;p?_2v3Ixe9+qHNmzq zHh%Dn_|?UbfkON-C-Hajm~pv)*7su9)>QF#`a#BiBxUVEvXbOeesU^F-96@Q2}uEm zq($-xKe<=XsyuH(UHr^RG&F^8{Y^ucnue~(4YrN@rD<#q*(voWzf@n65BbSrk`MaH zJ|zF>C-)Au-CHq-bWPjS6%X)BGiOe%i{I3!blZGkks4|d`lziIVN7mqTZ^#Dv?$c! z%au1NLCv@GL;nsSd7Ga+kfi7(Z}$(iJyfBKLA+A_5Y5WnyH6Y5Vg_Q7ihXNhFB&Wk zQKHPMWqf|eo283ci ztFUTf^%Z;7wAEMatrR8dEBYukRjFd7DwXQ1R6iQtj|H$lzkT>Ukl$i{58xNCA_ZG- z$s#|7@*vZ~i^vI1+s`WcgNXw}6^(+a^%cX6LAu+YuZ9f{RZNA? zg0qJOBYedsv4MU@?ijg!nyExxC1#zE-L@g=SK`}lGD(QA+ysVuu ze|?+UPA}L*!PEF>H@hN};W6GxTsKiWT7?67=MU5SC00}+AbOazL#|BoltJG{okiyEJV# zR>b)U@vCJISELe}HK4aDpEeVs2ue^CCfd6SJ4rinn<1*{8}aak z_g^iQ#I+SfgMZr4XZM|Zwu45Xjads^K?*xtYth8~o#-aD4lAD1>Q4<{DkKU9JZr8+ z#1M;8YiioAC~PY@2w(mS$|#a5-TP_Sb}?j%ZpN9j(UXRq-WZ=8wSNum<&IigK~%;4p3Te@-`_9Zqi5E$$W@br+&l_`qkV$0v3pb3&(+h1smsQ? zArgPIoMa^aXC1+VE-h8&_XZl3j|i6ltYjo0;*csmhboEKtsZbHnC<~Bvsv9>;sn#(FCU=0qB5El zY$}Qv|6bkWrv?MQ{i)-7W~MfFNq@mlm1rY3@Efi2eh-Fa%J=chqwK^;%0I?TPp}T& zGABl<(ubcg6Y@S4CVzoxOPLY8zJ~88{MrI)Rc5?;S*|~oZ3XZ2qqRzdN6S@Mc=R{Z zl}=IO8jz@*@)VE=T!n&Qe96}UKyk&MpczpqzpgB6u9FfYs@1F1gke@CMU7g)Ij;oW zK^elous%yw;-9k!W8AO5*x|Z^ELg|i1-Ho1SqI)UlU6>Wf@!xIj;FM<6wyy8cnagb*g&hqipg>EN zzWoTQjU&k@b=tGPN7ZnUd#qnnfbs1GjWtxc>vC&PvT^%q9PIQVQ}=?;=)>I4I&jTI zTxhI*c2Q1YnaE4Y;=X>&yPN9FKHQbN!IJ%=pUeFXpEaIS)!My~uI|>*cf!Gbg`T8a zlQAuK;-a(?pi1DmM#>U%(8d$CX-n%@L8#ujkICbveqk*oo~wFApjpSoj-ypz5qog5IqqR`ps zHl1%?6;LBS;JHRke7(i0KMOM=@fl^$sna^~+`7hUl)p&(IkpDm zeW>!J#E{F)7t|7RVw!guN5oLhi6De5`u|C8>4qk1VNB6Eso8Jt7baSmCFKa!Wx zp;aN_;{5;h2JGvoQ<#JD2vzGC?E1u<4#x0pmHXZ$`{#JyQsKNpn&fWK*^H0Tmke#E zL)P6LR!rw>jI+>JB-S4iTiVvItdEH_Ap@)07t&*Vk$jBX?<7`YsnXy5kB9<8M)ekP zE`cy!UE(&>vJZ0f)HKOxp}1K5olM@avF{tx{Qe;HYGZ}w)~3Y z19(Kv=R9g*;X><~g^VqWGBS($oLA3ho)jKS7)jivQw2 zp!h?EF-&9mcNCD&EMCznxzTs_U2+PO{%n-f?ClN+G@(hI6zabV7<&Ji8xo3#b95YBeb~xT7$Cp5OqBb7witUdHr1358T0Lk4$%6E|o$gz_v-%qATsn~|J@(IR zQe({~m2z`wC;1b%?Hega7a7~RJGhLz!?&Uqk7PR#E(~uw$CO-5ANegaR@7t4vBF{TYw|i!3=-^McrUB5 z0XnZ4D>If2mzXCggN-W$^N&~_EA2yy<$*|-f07&d^Q#T~*|;u~x@ZGExcT6B<`)-qlqtpsgJqD5~T9zr=nB6%wyi4c4n)4N4+3E7d@1kcQ^qO9Lw8HPB zK=__OrZH_~R(}Q9)Y8kFb2IJC*(2P7)~{ac%AN(b_UxX$wtLV1pTPF==DbXgR{viC zje=Qy%K^!al1o$i>h68}e}fv3y9mg=yg5J9$8yuo9*p#EFH8KJ0*y58%k-ytW}POJ*+$n zX|(eENjl4|(eW+%KQyVM94FZs?`rCDyaZzO>E25bUZouiAx@ksE~o-7Wc%%$|SAk zSvUQIF6fKqDx-YkT7!E~eZQ^}?i^~SpG_v$WUId5hHb16>%DfBm_*5u(1INK6!1@1 zo|EW>*zvXfC)<(DMDE3; zY{>K~o#9?GAW;efvn0x{dY5GCbI+}YZMxYg40`l^(N@3jexC=~Mj-Gz*klGnd;|cZ zVY&OM4y-hN__#~|Bugyr2j7T&lG3G2Q(EAJh79*u(n? zi;Pl1lk@48>;ZOL=X7ZrGWv+^4@tyZk{rk%YTms`w{;IqKKAFHO~eNZe4Y^u*0`L{buW&Jhclcvg`=B8k?=&Ci|fyo@C7-(!^Nh4FA}ad?1Z_~Bj+*wUh^OMcvU%%2j6PGR@OPe zDjrw(Ux(E>r_}Jc+JCg`oUW47 zJN}g5;O2dSi2Qi(fN)~IF4M|Rr}tED)IBwo z_iq0S%$#tqD1!+bKi2?8E=9}jPEQ*B_}fZfLOQK4YHL+w<%$5eKO5CZ8ei>rt7a|| ze|!!v8y6^3uKd3zD?lkToALNuUfOZyBemR)e!2n!NFe;&3E>)`UpjZzu36OuU$r6UC>769aCE1eV)* zXR&yTm)lsf&FXlA3~5l%qc@XSxZdgqf_Z8RaIiZ*&BN06$;KCiN`d+Y;3K@V+kr(VC-Tq5EGs{fH+I6fL~)$1t&HT2pLlX&L=E;G zcHT`ILpYJYU1m>-{62O;xwdd$8@LE<(E0FCfPGe@&KOF+nvSu0B|vaDt=*BzvPYY> zeyLzP-`M?G&HJ;37`woKfgCLSURv}UzRFtk*Z@-?$dzKNDNniMk5oKP(~U39rbmH> zqEOr4qok5-!CQ3Wbt+!ge6d+(BW3Q*hbX*zE&86zp&tsY@-o?tDy~>V;PAbX7HXR? zpk2Zj9bw8+rN-tD=3Hm`7XOjzbqz?2>%0%hL!{4!z2ePNNe*wW=Px#6)$6R5mq?;? z9(ay_1T96HdPbyu2S(FvQgFvb*vO)C2N&&4tZE zqt4>IZjz+nDd9u|CQ)Bmt=I6GsA<;hX(Z|rt&{lSICJ0&(1#j;(?hNe zPh{@c*BNgZ`rZf*H_r3nSKQVp@KItwvXEN16|6A;N7>a@*>YLOv9S!%P!=q7=geWA zO)R@J3^?nr29!osTYm;u0|(?-O`DNIGGLYNpt(N{sB?d6OR zglA#JWUj-w&S!>l9e15sPRYwM%jp6C{Q*jsFfvuM8SUuWVch ze&C)kP%BGua!<#i5r3%lXG5JiqPV@I#=31uP2rbDT-Z0Zlyw*2Bm;6$BS4yaW}2&E z5$AZO>0(Sl#V6s7@C_oixC75rXTTYjYXdC5;r8EiKYv2=%75%6A7-L*Shwh{AIPhl`$4Ie&eS$>{I``-U#O7%Q zXDF<3gDSQ7F=n&(RkBSVp$Lb9i@@4(U2u$_QT77uA_=Z*zy^Jt7a%)i{CivJ+&|L_ zw`>g^znxK!900YR<;2}HwN{85^tTaoME(Hqw2<)>?5rf(tr zXNvvD3&5letA$luz32wP0TTexd8&@>C|$v1ZOHmi9SIqKp> zgotC*+}6Nxi*M4VyHM}*%_blm_AyrLMXIuTyEXe9(^X%`-I*im;Y`VoI5^95a8Th) zpz4|BHLZqfRyW@Bev!JP+x6Z&jT-b?VfqbE;0AB6w8hU|M4TRUw4b z8S6n9F40J!;kWYUFW+J{td`sL`TSunE&&tl0{7qw)3IhV>P8`OFGGDJz7rTQpK&0< zU{G@r;2o%;C{US{OPG{90@7tp*?2DkTJy5NFVb^jvP{g&8f08tqOqC+(**)f`hbxx59f4LLC3VFh1WAVX^7eh6+RT;}Q&K%5q)}jm3 z$BNT*`iUO9k|9wi{Mhg8wh10&X@&ziEz#SY&#?krGCG~)h>`dN?ulo$K%VB%6}B1Z zxSIHhGg1Gk_BTkr(v$qIiCL?8oGOV0c0+;~Ckkh_&O48rr}><);tF9I+u`PU$@zTY zs5G&$y(#@x&JM+&$0OV!$Rz?!@D60?H)hIP8SgVnO_U6ErJMZk4Wsk~ZTltR9&=qu zL6rSmDIV%N`*@>!-%z?ibdpx$da$`tMT*I+xoU``nAnFn+WH4IX2QJT99O*mFs&8dTg{0L8~UnI z<%W-SRk{9b7xBI09P|Az!ekek5$~pLq=bF#u^;M*#0qN^CDoj(=y}c~u=m5X?W#GC ztx208E%MY4X4*Z62PO)L*Bd%D`Fc|m6vKWdChL4(84T}O7lA0B8GwN(myFTyqUjaA z@g%d%{9hd%U*vls-?czGR!)Ca0?SwTV?N^@9YQW!C@t`d6x_Y)Oh?vUBS5{?rMJzl zEc}Txp*4P(Kfm@+bW@Vb{N-~dvX+EssT6wGskiEQUenGo@uE42j&k(Tk zYwA#c(n9SpdRe-G<#8p`ocz;uPNg_mP-*ilKQ{V9k06kE1>jdQqo>FeAK%YE`3*e; zqOX+7DEFa1#Q8PzM|w5(p(0moSdX(|kKG(rnQ?_-p?&z|7adZ8x)z3IgQkK)YR*F@sxgrh3kx_N6^NW!WQE_| zU!0jRmQgmsVpUo#C8fC|p=9)+e}U+v-ht@#er^d0#(I5y)1GOIFL6bAfrDi1IGhen#4gPLgi|q^?HN{=lycwB0B*AiM8l)iNK}P}MOCUG?ALp& z(?ox)$AW0vz}W?%VE&4h6|DRy4p1ZO3zKW#u-i~skVCKCCaw|pc4HBHC==|6BBPlU z9|er)h{DR~KrWWvRP%;?{6IJV^G^Qh1#Qbl6i#|%@Q4nR9p^&ckak5lKN+(xF zR`|>3TMgeIsg!~#T$)lHaiB(@b9$9C-m6JX_3HJk3oVEi2F~tuBd0H0R#ryG6?|vC zqIk}oU!yVpvkN8@;;ChYI-{g!h+QNKlPP)uI$naYUy>@>im@Y?Bsp4oK$#qA@uppy zAc{uhR2@~b%Y?5$j)7UmmX4oD%uc5EV07S;K=d-kPCqLo!_6-rmlceXd4cGt!lr_J z7&9+2HXoI`CZF|IJW``K81H?voOk>P(@*N6PD>#E+p#_K%<*!+D$*@imDC=LjxVf= zvWe049wxpP4(qiEMB6j2lIQidB6wJFYeNvUf?5ts4VnU==92>);WIaJ`1>pg#5(PT zXTi_%jGw)hwYkMCFS6oSHK4IF+Ue%uO_fu1m@Dt7NT;cR`bL_-vC!Go`Lkra})O5ic1tiDoqYEL-HDZ6QjHThtraF1R2wn;1Pdm*doS*zg%1B`h`5yxW1>)+^^ zH@%?9e$;$M9Sxx9hRVRqYB&dg>LO+3Mk*_;1z`J#B&<*uldZ3tZF*kwAmx`(C}^t^ zq4j7M^_x3e;YO&Qz~EE9*{jVgro0FQ-{5c^oos~~l{8bDNfHb=9^>GcD6UYKq6S!X z7+lcB3P)9FTxOwN(+V|<8i_(>6bhZJLIE@`v74x@m!$ebr@=&83a-W!(#Wuc&KTVbv?5xe2E1 z$AN2f8*9qlDiUMDHsnWXitpW0oVO`tK2Yz^P>SiA^_>^VfzuyT!ZVr$nOilxTh9-! z2ywGyUjWBTXSK~MnZtdSrh!gNX|fd_3o+~g2D^mu29_n738!q92%zPmok&f7?ZwKpC`a*B| zVM_l4>8W0{B6kh|LZTq*wdyVb7ce zT1|3#m4Dgl8FZn&;E4=g+?^t3pfz*RPWY#>)8hvk#blLt>{9L&=A{wo*aHqb^=}V4GJ`Eo$K>O;}tzR(*`jo5FvYP{ArxRseT46S-W(XAIUL#N znggrq{ylS`Pha48&4E7v=s#=@_yK8H^1opY?80>FPPhNGIk4jS+~&YZnxBnEw_S5! zPdD3t%N!W$;P|hZ1MSla{a4I^`x)RVg8v82fn%QgADRO@0wAk7FjZS-ga6b@c}kiC zUuqQmOXk4SPKp1DIZ*VSXL`RYcv&XH9C#R=D<{kR+vdO@)_VqBD1`oz)ax8AG2I+^eCq!@ z=D>a5c$l_jmb_{)bEPGtLf$GV~U zd5T#&oK3&{eD?be$JYIX3+HUR6WM;nhFGn+F^3J&ZKAOuV!-ljDd3f>fUUnU>VDmJ zcoDgnupNBmJrY|9_oTKGM(p9W9U?s@<3Xp5gvX3ck!vI2Zd13rJ#@XZk-$RKkF~NB z5_fGz$0WBC+R~83c7o~XmKD0HW3b(YWp}c%p-|1Ld-agRto6_ zEZYbjHQCE4*p^v4wqhnp4W9>8B?!mSD(v;b2+63yi z71WGMZW;vpY`|@J;QwILKo+Yp544A(b+Y=wOpM8i^D48Bws6vFdnE4OCVh8Lx;5F> zYKWGl7qSmAfpx5hJtOeU}DaUAHbWb;wV*-z5`-# zQ8Q0Sq6lhig{-tEP=Sgy=mtjD5@EIbz`wZa?RzBHk7zAhN7LsdvZeMT!ka+Ke$2(= zI&!8~-B&&Ot7>*N1+>t5q3Wq{>p2>rLdU6xRrb4pR5^WMe}n8ds`78jBAogqaq{ka zbQe6%YB+d1?m#X)a~Hg!RxKkD>gMQ^g{ne*(r+Ig5;}VujW8|8-zwn7cr&{Yk+Wb6 zcOiF@vv$OC+cB(p+Wq-s%GA?9tDzb#(3G5>XCEWxS2L~?Gb((OizNc#!AFekXf|AT zRin4MfCdA|?m{gFY+nPmzy<4WF3kf~dyyE+(225{6^!syFi{MpIFJI_fLnvpx=QP{ zlB)13c3G+-YkYNU8hv%!+>I8UTCjgdEzZJm6wku=5x2F{6fYL6v|Wfh*Lc)`@IL^P zxeIZSnZnb}4#gmk|M9xEdA^dly2&#+{TZ#v3iqNO`)3xrj633YJczR_eO<$g)&i%T zvv;y9L)uc<-k!v}5W^lLvZ+%vQduq>hdYMGE?b4SGmqIXC>@U+Sv3!`WM=<0Q6RB9 z6*;{m#TQ4Y+r}mdcEt%0tn;m{2zCo_y!$xyuc>c(g08cI*Ufp#Tw;Db@H1H9%OQAO$_SUXu=kDY; z25lebr)qp z#BA%>{U|n|(e7~QVslT`l4JM6K8zaKSc)7h(fEoB2mCfX< zBAeYqO_Dr6T=kgQ!rAxPU#Z(zcX#^iNrs$PhD>?G(`yc1yQJY2LzhjLsP;`NlCYz= z%IX6{9@mVT4db^qqh2_#l^J!B_5vac?fnFeU)|D+&!9b@ag^L`DRqV(-M2g0XhN!s z6Lf9EcY6pjjYP7oQghdEe#d#e5TN!(Ufu1B4`6I3X(uRV?^vu^N_!XaPF=BFIwoHF zp+u)kK=#_gpMtXex9`By9d~QFLM&-zhSxwVCp#%CNx6c*-~u zMvdXmtj0uE&Qs1>q?}C#3QsT)F2xM0ARc}4BdoAy&9`oOqmp=Xqbdv8R${Zi0?$!j z;bujF9L0xCiz`YNS6I(4<`iI%4MY>z!V1l&&2~Hf1W~-0qPqF}EO4AuV+EXAGXC}p z{Ppny-)p8~Ys3bB%!fWSUx`KBl){7K@0Y`fw88`TLfjc|vq@amW$eP$-PQ7u_y(R* zW}M4L`sG=+oAE4rln#_%plm@a)PF~@l9ldWG1dy50VF@>Wc2hr46}!jyx9!1<8}i0>{S?MKNr*-?J>+&;LX+d-#5%; zlew1ZqzdOQLrnGh*PyyWWSC7>vJ> zS~akcyiouff6=4(WNLU@H89U$NN=(l_Dn#o{~0CBX@P5aeNK|prfyb42T>V>%8dJ1 z=cn#=O|K1TJoek|ftcuRT@Ry5fxg(PpRH!&U@^ovl1&FiTWX@4`4$ySW}ZmqryQ3j ztO-nu0M$4SQL5KCL;)<=vBhzQI+4;+o^{u(J<@>E5Y#0|e>JL%i^U-h7L^?ldV{|I zLr=mk_QguWL-Y(`v_F4bj7rkb@2G;)3x*^;)$&!Oc+r1I%RC@yF?_ z(CMILHJk-1rY!c`Fw=W3ZDcXHC`05`clFG(>YKq3%pnnEHl!H`3GFKWB*3L%fo@H%N%y&k>iVlY{c)kEPOJX9WM$NU4)wcr9xU>HpKMCQEmV*oKyLys z-r4Ajtn<~a!o2(0HSc~4M)pfv^yBWqzI*hKgcM->ze``(YhKzS@ zz2k+!Lk5n?MY}0=5 zVc2ug&g@gb!@M01D38S2HY*{q!bd2Z4!IlCu!x6*jO#^$DPc^*-IQ&kA>FgayWG}R zm`TrK8lF2g8)|Zu!zx_MkNOZHW?WZ8f0xN8A3V4u^jEz^Ohu_IVPlz^fP+|rcacR_ zAs4}U>>$NdaqXbV^8lcGxEY%ES83S>d9!_C>QSaYsCzN-#(~^+O}uXqI>y9Xt%t-o zieK}QN7W3?R#M7Atr$Hvn~7o{L}jw>dhu(|R3Yqc>3X)0FDVo6W_rbKTAi$ShetPn zeS*p4a8)B6-9@PRLoY%-fo-3p`Hv>9Mv7!N^@;(Q)ztgFNyujE5#-J>^^B|Ad*EJC z_e+Ycc}baiykG=8K^~b0CDzpY^_V7#271u0;dW`)$u;!eE}~9rGugN4Gpp|RDC33@ zs_u$zX&5A`I)yChRlWIvclesg-SsT9`;a?1m=gyctndXgN{)XA@`t{@(&kj*{EKDs zB}Sn9{l3MJXnxn|7i(lwXtJuivIP&n#Y%ZjhM5lHV3-ZY?n#!#IIOwD?qKmLvdKPB zwezc0A*ZLM+k1MtC*0vSCZ10_QdUlbr1#fJ-0h#}YzM~8=`eQi!g%$4FN_y}k%I6U z5RxWeN5lZ&=*IhK5KpPDP7rz;-|Y{Q*(N#ld$MVH1<{C4Vhf? z@J0r*Qy@Z5q*pGe6VyLjD3x+}>lS~1hx9$KZt)G=AC#oLEXN@#w=3c-{=b}pn`_YE@Dn3N!*^eu6iFsC_0ehL=7x4awXW9#WCku3;MlL21)0ETK@zFcOy4W1} zVx3qzK6)`RtrAB`CPC=!9wkZkg4qHx#wt$lZ&S@ixG23EyNkD)WF7lwt%EI~an%SjqiT`dW)k*C{jEO5{xXCW%9OwEa+;GaPxYp18 z0Wwqd-e{7|S?f@#OjPpLKdJaC@+k@(Ml+S-zSUe4!)J<&P1!|b^W*e>%C6gGSTfYAnd4@76`IC!*RihU=qhM1Mn zLz3Ngr!g(uZcEa02J=VjKHDBW8{d>9kh&T3wNYDV(2!t+YboV%--jznam1EY{IY4G zHDVEQ=k#$Lj`Td-<}AfN^u>P!Oh@(I{~VhSK1yDS1)ZdA#xJ-kBP2G)IucE%i;^s6 zPx{sbF-Zz`onH7sDq6aB8M&NcoPCmNn`@GqlXH?P1z4s^TbEYp0n$_>^6#b6IBxJ9 z=-Uy8cBT@X;O`OB$O(S-TKT|t*rplAnxdl{*7KKmUEo(A+2Mx{^K5PCXI5yXRcOv= zMDAwx%-+g7-6}Kv?n`sFaumQaE4@ovb_Qt=%~|PyT$L&YMs{caHIOW`(q36AUFeWD z%L#)wVV|r@hZcIXSE>^p$th{1^U`56a{2;hO!>3N`<{c`o>TW-zU_N2@u_?A)3DDq z+$GyiFGqG%z_)fSP@Hc8ee0`l^Z15ER)P&BOT~%Q-SeKUsk%R-pOc7u>U~+}%vBll z-X(Zb*khZsOhwnp(+&F|7-i zW-ol#2d$ZCg;@qlH#sk2I*1>47F|2rK7LW_GLL5|Q?D|6s*GWWOS2TKZCxy)>u0l% z%uBHsv-0a`^y}>W`a6JS4wAgql};-au9yGTv~TjKt;_sF8hrX_o<^Mcy!bGcG3~o2 zOR<@)i$%W9DPNyMVaVFP+gMV{-oE>?$k&oAm45t>TtuzTRq25_D~$jwlcLuL$(YZI*_@ofZpsPl{#?MO^RR%qbPLuHLTJkvZ|JS%F*9nR~07D+eooY@I8smP_JdpcIv z7RB3*RVU21<4_{Akk)%M3%#O3?{N^_wGqF_QgHt)1+~2vzk`CU#X%_&#oqd{M~~Ru z%-D$&Z9eZyFVujfx}nX|vjZEE3)s}0z<$ih?QL@bQ~amwn0;yJC`Io_doR;<&ht^8=L1=ya5cK6p6_i? zc-`;2d-7Z|FZKO0G~i^{=x`}79X7+lb`=VwTl!eTK~Bxnd1kCxL(~;ge4ULw!iL3) zZ(*v@j{IM4@#w*SL-Zx9Sn7SzHi=tBds8=6_#)riZ!S|E!)_f+*I(*%{k=RVbkTV? z3%Y~NNd}(tEMG-9YtMs~bFnSo9XH$EN-`)eK9m`33=2n~8|}#RVCQ-2K?mmz*c87I z*v?dUFcsQ+I*A8RNbNdCsj=d-d2L<~f_G6U{tleT$HVk-DG%=;nYgh#R(y>f7VvP4 zl3wRwiiB2_CFSO)dFx7PZ7zcN`Xxo=6ok&x~rzEnLG&eYi-^d4hlEJ4lj*~Re zy+&`xtGywt&znI=pUr6P){|G_lsdYEgSh_ukFVIp+#ZIH>#oG~A*e~g=HCz!yLfLk zVGI4m^DaWj(f8wEsi081@ldWvS-QeZ+X+-vVhygt*PcUa!jE=GNLGQLN_Pk;4S2d<~z|RyVFz? zd~(Kkz7Cn;gk{v-Ql`lY^K8{UE})a=i$FBeY3q%`Fc7<4Idt_Bhi_Zre?{ja{3T7) zN&?G1U0G@FW^Vyp-BrEwYj^TbzN)AW0$Wo#!q4)|?IpkrMyDu_O|=3;RjaD#RV7tS zQwLtv4NnPTpWMD#+68fyAIbNzc2trVw5r~(j4Y~OLGb3UbOmC5pnfT4?ILbV8XTDY zMLTHWZ)$|WS^`$(8w1`C{J4RIr+mQ8_Upo=zHS2*%_z}2~^Eh8+p!#=wahYL4zIAUr1L`Iwa0xx*c;<7C=E#*69%@5H0>w$c?UP3*Wa@%QKMMl(!oH$^0@-`1vP49kmUg!c+YRuFm5&-sDy zM8g&Zr32n<9%+Sf=4zp>rlTXL6lyKk4a`2)ce)#VmpFb+c}||ug~Sj=@<#a<8D01i zf&%s_l;qVKYNWStfq9&zQYS28poZQ|g+=^*O)@Ov3)>DdEYuqo+Fne=>k-HC`=f?g zPSf*z7>X;MD&2U-C;5nI?1t6f8a*O5(sb}%P6vM~BvT!{kXPI0PcV9h=~CTfMmk-3 za-vJkwRk;BtMRCzOD|Ed{Y&tthYhM&4yId0=Gb_eRYL|kmgqPGOPzi#XdYj4DdW3l zT#y`!s*UJTRHgDuN(-&2Au0}(&zp3;K3-|MvO4l^5GG6XW{{Yd=T&L&ruAi|`Z5^V z;B+LRk87tY9$wq#qS_Mf3Uj*Wgu=)%*}AX^RhSrV%M`HM5W0EZb~@~iE7Cgb%`1`} z*6x>ouEQ4gr<1;oY;Dnfk%XG=R;{an7vMo(|GJsRYDf5^Q&UseU0_FRhL~B)s*}El zxO1kkCQV^xx|&@Li2AwRxZK4qMJ~H@L@}^3=ZM;S4LoOl7-8TwnP^^<=j)q4@}*Iz zmYa*f=Et??TR(((fdf^V7YeiknW$?{=G0(fXhvr_Q^Q@()IeM>hoz1y8SrWFz~j0F zt>GW|qq96S1Fm)@ni)1$MmCt4;hV(FunaEQ;LHqb(r1SGni;;+%)k!BoPhS$K5~Sy zbNzu;R|n<%lbZ}FC(qYhkl8eCSE^~@UWpk2ePpbpwq}G~FEca3wx18uj9_)~NY&wt zx8^g+(}l0`6Q`Te_fQefe&=~|SDx3=$>e!e-}~!3#Pe40+@+?1dz=ccBU@5zuOz!y zY!4`N#CBkLbLzgfw0NFlf|0lVChj)F)t`twZiP2MgSr>%={dxynJS|*%6RifuPE{7 zZ}OKfvl{*(I@Q0ZT_<{ZDR1&VER*0yTordV(@Krv))UkFop{)&66bL?jH%EBGAHIV z!7{5OE2_COd_UZ%HgUOQ4RV9_>h?iSMO790nyQSTY_1>xr#0nks@bTEF$>K7Jj8Dx zHsLiI#%q{!TZ)?o%R7Uz=3*V6wM$ijAn2d`xJvSBIuIqarFgf)Q9DbHT$9_)NdoGBn@ZQ&2zm6M97ScOO7U-X3 z0Z}^10xLwn=ro4~E*A?JC#5&}tWGaU@qwbfnsCw}`2}q51|W`yQ67WQvzZ=FgFTqs z9jZAT0M+9kj#dWE`t>bsYEkn=CPXw-nXj%c)(QlAoR zWK@z^@g+zKn3X{P@i#G*4IA~A^bi|KxqF7M2{ua7Y5k!N8@2zm8H1`$4a$@sbNrEa zoNLty`s$CiPjb+6WKMFB6vcE7GD1Y28!6^_MsG~-B{0wGJ#|SA{rY44XfO@(uw6#+=dgc5(`8#B0`VJN^Z6_rf?Y(@_)g$W4%%)RI| zF0!Ojfo0Pqfm5xw67lDQz&69XlK>T&*!j(k13qnj1>HO$7mV`Z%7p}u@rz9x5deb{ zqn^qQV!Jzt^%lG`C!%Gnm<0e0T#fdgxZ0U+n%%=Q+B@;pbW^G!fkT{L`t2vpE#CXp z7~i_~C)&>Glf0ViE2rNlsqR`gfyfX3NLLh37`9s1p1u>88Ry&7KELK#)@5scs|%3` zp?Vz0V*}`HeWa%b7?9P3MGizR zZF4_!&62wGa8nDiayRAb#t@>rMo8B(25WO0qlwWk-Vv&-W&W6AJ4XnrJ?ydb%}jXf z4`!-ewMSwmj4yTA8;QsODQYP`V1PrO;Y*N(Gu-t6DwK*awD#P@?MQ^PJ&PN6WxQ}x z{O2?JJ9k9O$}Jp@!iEA$Om%ZPbYYguq37PS8ys#<<~dC+q{+0P1m#NhU1V|m+mXfY zwZY9VCN6c|7T^1#DFsBxE_N_s}+k z>YdG+#%+z!F5&kTaCwFD;ry|IUk;)YpQ(Ne+R<_osOjM7Osz9e>1`nMH)0kiE^HzC zvFU5R`buUKKDw|nvS467$1qL_#HvQio8&&y0R`Px5Vg zProOlAmTu$)&(&zunweaYH?w&{bg>>^+)b5&7*+`R}h~a9P*&ajI;~|OHVN-VD0#x zj+amE`J9VrRL#+_p&v4{Pm?v}nMz@y{++$HZJ_O|j_VJ>S_9G3iEVp2P5(WSk+?7c z?)b!W&H*b#O-}}fKAjkq-N7pmt>s+DwTk&{P5pAX79y%ks$&C*@myI7otRgTi52wp zx6rxh6HjBta`^!LQU|nZ9DqZ8dWk;10w?6N-xKork4J%QX2@q2D$YOLb8LgD5-5qt z&wsZ+WxlE||8in{1Rf$i{cgzTB?i=p!f1~d!=Ki?ZU1G?%PdVa>P zNPK@(-*bg{u89)fc~XNXwDU@P_&{3G@@{qHS_BQ(au9fTc=VdGg5mW;%kpaWSG4B- zRzn47938DJGtrt6YXv`5N3YfO*R^wO-JHUNS4PL(2W@b4SS-Hx`4=bOeXc zhaAlYj_90-$$Z*{P7t^D2FOnM|fEJlS-C!6{MZM@ECu zpxqeE&no|PPyShH`IoBU&{8p*P59-I@}HVQqK0?3S@vTur) zj`<*N%Y!XJoz9O^%n7jen35)wB-<@EXg`_kpPb;FnP(Z3i6@A%S>(j4Rok?|WQAvenXPl^u9LseEHM$6&m00Y1tU0?i2d}Cv+Bkt=ANI8WmsmpmFbZ+7sG~_Qh|6hs+kfCQnp3R! z?Q?tPrMMvc0DFYuf<`K`Z+Bio&*&w>3ynxbTb{zil{~x9i;-u~fKI9O+r8=KN}ox3 zstc{iW6H7FiJSecM$9ZSDB5y~Dw23Qv2;wJ{6h_`l8O7eqoXJ7az{rZvf9TSL3~Wm z6)3)|VW0(u?pxDP-UAIKiLzWd?dycHVdV*0mD&j@WTd2rmA@q)42G5xVNW*QS&!2W z6;{I?!d-EQvu{KHfjY9fuY?(!*>{d_1fn@-KSW4&$*foW?yPTHZlvX}**lh_euXvl z3m%#GM*Cx4)_>-HFRN(uc~~Wy2+p0IRbc1Q3bp)K@Gt``OQ>b)y@}-XI*+7I;+rSf zGm462q(f@(*r%y!3Tl23NXJJFc23%RB#E{U4F4>_5^#C*uP6=IypVl`67|Ya!oRe7LwCM z%wScOM(1Px3q9Dr8so2DE$tCaw13}IHgjJO@NL6bf359Ue-uD08;v+ zuNa%4GO{f`e0?V%YPh9YI;mHe@pRS_S52Ex(s;1corl)Qo1|Mgwao7w5Kz= zB+pyaoJ8szFH+%S`-`9{=!R})AlVXJzyj)^tWfXtLft71YG0sch1r}Ok}o??9&cP{ z4BW4Aqce9-)!)<3)(u+5S9>OzTu%d?g$qU&2f5K#9Us4!yXq8WIrZiA4_XNb9W=R3 zkQ7?s*ERWxbWSc!{z8HrWYOf;mr2?EHBJ7U@?X{Df7d6MCVvN2W4>kF3*#iH+r^){b`@@}7|7lJB=F@X)@|_d3l%lyEP5vXZOoCYd zPigYMjQ!U%`FGOtFO?GUAJpWJM&n44^*^Y|?+V%(cc`RvxKK__e)(xRH2JXv;*4AV zR?;n{$+IH(FKY5cKaQ7H84qul1&9)#Ptcj(=T~A49v`(UDD)KiV)*HckF6 zf|M?@YCjVjU=*VdDD|Y`+YVvp8 z=0PevsMmi+ldnvJx(iVMf7RqanwzP~-`dnlK%{B%CQcPw8`{wD-k<2M$p2Mc;|4o6 zEAm>MW)r%0p8Y3|{AJPO_dn>L(c|wX*RQO|KeT5qJ$_N&?dkEeNzJCmFW)PN9{-g| zFnYYPh@4=@N0?y8trz8wX8q~kSd`aQ-@m#j-(BmT|H7jDJk!)1s{HZP_|GiLpI-{S z{#O^}wE|jS4DQKku_m$fyV~Bh1K2422P_OX-J1NW)+yZO;Vp&AL*SfW(((+^%Agwo zc^P@Mq&j69lc)kz?B`jHwx;%i(qBobSpAb=Lg>420S z-m569`B3oOZVV1nP^_| z2cwLo6exe&YUr%yDGHE*p`8o+ASy6#K?6}?x!v9|lvng8`z1K-~w3&6M?XB~_2N~?& z@F#P5+iIA_db}-nBsZwlhty_2rw<+$*tUC$1+G*#{WeLer?)_=;NaGznhPNBs%1Ts zVT)azTtpj@eG#qU9%b8)L^FiXg^lbNOA$TR^SdVlSG@?|xKAO!6T$c!;M=oVzBL^c`B z2O;~X;nPz5T9;OcD3-D?G5f-{09I}}Y=E^#2I`*}WT{2o`W9Z{P_x8*e_Hu*-trq^Hm5ux z*}Ua{;MFPpuErDrpd`w+yNmQ2tt)FSceHnb`Htxx4KSqb3eVQScnPN5yGR46QjxCu zN&@O;KvCoOkSIlsH}~;SqlJo{*1SqRDQZkvNxrqpqoBfq9 z0cj#V~;GG>3}OjfAl>r1j)WfzmlK7tHJlAq37 zVprvOCG;Y}>9Lm?K3+L8ki%g|LbutGwNw*RjF_H1FaHNkY;EsRg; z?bcfuYdg0#d>UAF*JjW0g2(R*8n5iFJkN+qo?P6+8G~#>XlEs@uM?fxm+y9eL>!4^ zE7I%hT}>=MUM~fx{Wh=ePQhDnxRdi>$YYY6ZG!lazhh|-&{%s0@iSg*C5>fdYyoHc z9TxlD?u-{t^>9zPfS%NqmF{MZ8RbrgUPYHAOD%8kmTHsM|DG~W(HM;PI=U~vrmsJG zx5pc-F@!%EcMlU|Dj0pxM0P?TT@r*ROPWiJnkn#Pq z8kQ}g1G>`y$0bfgIN1vSSVUg($dk^R)fjR-;;is0zUxkQIqVsapGPR}kK&Q`z8v=g z(W8rW1hIbQ27hcIr#$B4;_Ym`1|y#+2(ugxeJ#hAq*hRFR#niuQRpT6**+e?DgU=% zWJ$2k3iI8$UTYv-&yQVcxFXt`SSP+ZPB9 z&m7y$xRs6b<5re3Vow7X$B3 znc-~i(zz1nY1g~!_vlM9QqwQx!BH%6D-YgL-$Pha&bfmJI(;EhGcLv*8y&i_I(jai zV&~#1b}2fhdc$~%&GmSSB`)H*My_J#;wmP85IJP_qhUu!3N{*dEc*taCNJWtM->T1 zuf)@M@AP|k(*4A)hLp*Rc!>9$a1e7Y;yL`^cMy|X7|x?*x{0W^!W_|*hgbcXh;P@{ zynIa37QGu=)TAHjNw+57s1f4YqIKlKqf*-`errmHVgNm#Pw&*2kk7sSiOY6w7ZK%5 z_M>DF)Re2x&3vS+6}kkyLiFpOFoE_#>2Xb<)D6Y^(5ZG?{+P}mh!|JlDdUO1n>hBS zQK5S{9wU=MyrGBNFxL?MOm!;q_V-3B)S1Zgv?&G_dk{Oh(Otf|CJ(4yF%Fg7Yt}%KcUloU^qa#(7Y;&$L+G>?9mdya{W>hQ`#F=HvXkr!MABHwW2b*S|9X#h7v6)GXWFwL z8vagqR+Ci`Z?_wvOiJdfS5vc#72ZRb%ZN31@^s-r*6a@YDz~yg`S;e8%MmaMUJ0#t z^!S`!Yp9cX_7e~+V~`c|-3+pQK+usM?jRdOlBuVIrye})TkNk4oYY8fX`dSDr;0)D zOwzBZ8Ty@dAR&+>lRZSdj8-Hx)K^OD5U)7$(jdrba1 zKAZf;+Py-VE;k@J)N34BOd_UkSsFeq#UHfEKxC+tCVO|o zGmukXLv8d`H}=Tv{Q(Nu-=i}kq3s`e(XU00lu38UjvkZlM3Ni>;T<~HW6}*F!DZ?A zq1SkI)i*VNr1T!KVhVa^FZ9vyh6A0uro7M(_Y9c$M^}5HKL~VlBZ#X&+ntpe3t2aj zZP!BnS^BjsAs*sufA48+=pgAjKNW%m4OGOo>}K*$WXozM52B{*Zivr9 zHRFaTmqL3bmJaugrA7`fDKnWD45e3PMGi>}sHsotEls8!l!p08sS7EG)g4d~vJ%p_ zX}MK*1~?dksM;&`NW&ymWtsRkt;(0L@`%w;4Pw;8cpb9qS9dKvO(${#&FXMFVHz0)xI9dm;RBj=W` zS4!^#6c*&VmuL@M!*TzOR(P%=4ySwejpO{|wtij+<)9-=_$i^vuMKenbB+QqgqAfpc$NmjQzK9=4h~?&; zQt!t+>Yesv4Tn`Igf(m~oY9(q+8*EdqR=-xIK-cbo>pK^ybQS(y?bY70!N4c$#c>u zGFB>llTOm4=xMBGBG3?1P<9ewdbuM8vrOW&#NP)qDabLsG;@lR4tyL#>=YhuaKg5q zO8Ip3PDn#9h1+yZaK^s)XK|ZASmyr;ZqpVgaI1_CPEzmL7rfL<9h^}}9-)_hNXwW% z1oj9-ba2L%nhDx{Kw#nj34VVgzA>ERVKm9tz2H(idob10#Sr^2CB%=|Ng>&qd|Xmw zFF~@k2IGfs>@PKa7|rV3FVPJA`+8Z-zQC+3rJuwbGSdY930*{h=(_7l2wiY8hUB1w zn|okVS8eojJWp#7`d4>dw>Db&QUW2AZZpdO_DBjwk1Oy;5B8VOyg;J0;X&nzJ~xh+ zXxH2ALUQR+cdZjnyHT%jnie&byvQV*Xab?qCFW&^fhVHv zkha2kedrqn&UmG?kg=vEX0ZEvazY_fsVP#8I5KWUg8Pk_2JVKl_*YEiGoD z$GZTO%oOPsjEpOcj4rZ2B41h<+4b>b_ih!2axZKR9c)UmksTy7G%-n{BMNAMmXeZO zy3=#ehyky&mVRyp3Lj2fX$0IaLQDxdREhf0QoQb`eyG27*OZ>*5p_f@vBEZS@az-5 zb~)hel{E9HeF&Djl-bMSic$J@h`yZ#6J=`AH=>DV>ZviL~Gx@5KivF7ADHYdEiTYK_1l zg7ZxWCsLy;;jB>MdK%Uq?#bZnnjWnF=>2^6vzxP2dPSbTw zSvhSsmQi+2y9;$cJKL_!#kO@hfpNJ|4qy-G0(N9hV3PrsT#heAUMFG|&bJ$+ro@VG z{R)YuXd-Lkclg{;pOT2qxhxx-AY+hDI|?-7dlZTj>^g$xX0p?BS;`P`mv~_9UGBLj zOR?*+6suLSr&Mfq-M1c_+TnnK%rKdimt}!+ji6j)D!1=k+PX|ZmNGL{=CCBf&u1z2 z4i-cvZ5~sxmUcN1uKuufoGh?sGOlx~TX)V<>Fek- z*_l{3I%ORZm*%YW3V>yH%{_&!>D459y}LuYct|Kf&(A?d+>i|HoWlOZEP&n?poZ*# z4p(I7&Q4_KeVLO8#-m-LvLiF%JFk!buv;tfGmpx$iJ#Lx^^B}Losm`9p)t~A!rUjv zTpohjRoEY7$eCv!m(jFCgUU|sVYvj*W0)-21<>zunxDTwm#lqvQBGi5~xMWsZ|B^hKUK2{vUZ#+}ElsybiA9;29o zUArn&LPqZYF`{h?(+X|u|Jgx#c8QTUiB*S_VUVOGy4L&hu=iz!_oY4RYqHD$@5_fK z266)Q&E6o$gT3N!A}?UGvnc)%6zBQiFA|)xFn(xxE>3wkSLb#$!!esYxH_k*B${Pq zyAMo4HehGv1U5DoFh#h{&ci{YcXcu`s26!yZL{ZjUk}@z?s*P-p5;T}vh0a-Q_nkd z?MAYf&c&urzTEhED%bs{V;wA(^NjI(=!fcx#fkvGV3bWGL>rf_}T5 zRbIZ!-cUgJsm|+7Pm^>t&&kTRAoh|k`(STTgZ(~*+@-)sdv2O4giM&dBa4_y^HMQo z7m+c3s~6m^KyX_-gZa^Ye)%)QQui8kOepgo4oeN?T7!hs%6mM|3wUxtm+VUX1w*!?m!1%EyL-84j68+=DoDbFSfzUu!`pBNYL>kGmcuyy3Fs}-fUEEy{ zYj}8SF%O^faHbwU+-;xvD%a^1~lTEi#( z)Suu=AkKI@WQ7~A+7n-G@;Yf+gz(CYzuKbDsraiKd9^#!wTiz=C|&m36;k(7PyAI@ z-GdRuUp<2j`Rj<}b!mw&azs_+WJ0e_>>Y^J5^#v(JEqj zLRh(3m-$)ttO!O39ma-_KbD9;71@z)Xz3xII-0f;J}b6E|2>m|S%3F1U1#vzek9#N zpTe4B1{yZ)qUUR1o>aue^U~w7m9Yv$JSswV`4xJN*lb6+As1^qO|MgIHkM~QH5WGV zR}EFfGzdi4KEla;rDa+AZUxIe@erwjXuCj^bvwl-++Cq)X)_|4Erq#dUP=(UtcN+& z$?{RByjsG3wKal(5`+JKiyki!=?`)Ka{0wX=HP zTU-F&lABQE1dj7Zk0BiB)g=ljNnlZVF!XsB*PhM(*vNb`^skPd*FW&%gQbcXYtyABs6@+_3j*cuT2l`ogMw($-Avw9+^D^&=}5wv%?r$4-|m=L zkA8vZ#l8LI&6C;(BB%BCM?MckkHKx_>zdxI$bBu0xxQh*ra)w2OYtxvEyf*-mqZfp zKxA2<4?T5GX~o2A1F@??zrDW?th-K^drztBiT6uv=t`nFwz=ZyK;)aij~@r~zvF~O zTU`aR6wtL1OmmwgC0VhIaGUH*K!Y|2`4MjnPsaIU97S zUd#Js{&IE?Chn!@(TT-QLcOVzyxbv8CfXJrIm3jd|BT%{U-a=(g>9>jUX7>E5Gynq zuj@c`1WrRgc{dy`;i^T3u%C`CEHqmWR}KpQS zsTQAW{-i9dI{S(U2+Rs}@lzj~)#pXihj$~&+u_6@qpKADHcAlYXd8chBf=F0;p7jMUP*c|Hs}kjWjok0Y!F75!2XA~sTrlEUFGpd$K$uQ&|kl1 zgTL*w2CRZXGwR2y9HNv6(JiA(aQYk1KG<`bRQP_SVbMgV)BOQLng)jKq08rm?3H{^O*CL$COv-T3JVJ!2IeJs@k{eJmv|C=y9zn)O{RyQSKz%o> zK|06v5Bmg7jFGtiK=_Ek(4T7=-u36RXS9IOiO8M_43`a7eapV=`cX@s|AR01SQ3nO zogc6scdZ&moCPidf<*leFs!XK^k>pj-#dVj2d&}f0PJKY$}|F&hN ze+V;&RbQjpc`UN(FVv&BWqPMRWqzW5kKw~$e+O&oC>|=K7ZlhZs(!^alkY+~U*$|z z7465^l`hiapZ!&vK(sCR72#oJVvc<#*Pg`jrW%5c5z8BEi(}490(UHFQ2I}V&_*>ozMBb>*Ut0UAzt6{}CjyZPMa>n7 z_B<#Ca@u2peyBaf+9RkYe5i4p)3q89ksmqB=N~R+!*!D^vh!T64IwaTd9xurR^hw%Z|eMUay<^+!VcY7<{B zAxowu0HtJ!SVxZe`=9Pprx2pt&6O=1*E_ ze~wygYB(n?&u$=Wocfe!w(>}1`pZAJrVf|?sCsIy^2BNxEw;bjF3{GKd{eo6V!qX| zg{1(yS?dAHx*Jop!v<3?D&djw#rEsp6D5`eW7oC>%ePiXekS7imx@I!KCyoi864)3 zUz$b~%u~?Y-aS77_jNr`*v!_7Dp~)Fz&l)4P;QQwtOZT`a~G3cq?f0ac%2eY<@?Kj zFvSqbPww6`Z$bwu>SKbXSI0@I4V_+K#AL_KzB$JEMIL+kEIn!JnE_e ztL#t2c1pb4lPKR0f1hS6WR777ZNzFH6EW_pYm;71I>#l4nF&P+XPK>SCiJpH&R0B4 ze(yYacP^J&Q_tb6(N5xPPr{|gXeHsl(iCUOs}6jey`mRHWoasI06!f*jBot9O`fl$ z38k0SE2-pg8R|COXNB*gFYE%~(=em^XiW5JuHCt+*lXwLzO2zdFZ ziitLj|Jas$nyj^=yxO4sqH>xS!&nT%b9ZGBgf9@~izUEJq7}MH869E9;Ol%Oxg0;i z4H~SMr&7Bm{Qjh!#Rlz0zLw&}OIzv6(<^(7x8+Z(jt;#+lWZMrF{iTl%5L${J}F4t zi`7zmb89HWr&kUgZ|iIqK709#995>aw)U@jUK$1Abs^0^bC;L+!)kx-C>dmQ8c}~t_ zlyfI}NJ+9b(dxRPeRj0MukvK?FP!j?(;Cfo9RRg2Z5#l9(1VoW_?0K%ZpQ;k@R1Td zc&s_h7OKWBQ14w?SBC1D##Hu5YLfHck?P1t02avqhYtZ$ihPM23Yy8`&;taWCJa*( z-lnm}nE2W5Oxf%!&^}EBy16=YYhW^^?X&n}9QS6^Y+HBC;f$ObPP}*>_vF;oo;LwlUC(p>W%TvT^WpB7^OeXfL&Bses@6VD2JEPwDn zcO14K(%9WkC2?dOBw^3*(flS?443O;y18ZSN9-%C6D%zAFb=C~^RgaJxaO;kEs+e@ zd~|edS)miN*|8>eFy?rV&Blf#PV-y#15%wLOMcCoczU;g)tb1G65F#TIM(4>6DV$J z)VH)&+(Fje0?$Dzq8>AZ-yd}(uTZ~_>$DH8KTx0;T=$$^0IZ?wWuQ@U7^E7i} ztjq~cR6Ee8cM|X%=0sO=8FK<_HM=OPCYDeMOR95JE%8f5-Rj1Qx?fytVmF4E z-517jtcl(Jf&zZa=3lZ}6BQw>qvx5zlIFyt(x7w|(2e+7is5BW+@_D)H79NtjrQly zfUk}I6^v{)YVMNSiz`chsn|3RHP@IE0fAD3?H_1Oki$?@IwRYu$(S6k$mBR#v?dQG z$3~^8$dkT$bs8V8rPJ&S)pJUjhn9FOiQ z6(VVsY?f6r)cJ~vbcpkmQlpHT*n_W*ns{6wX_f3tYcs8qebiZAt3;+teC*2HR*8u} z@e0ae!dM7D%+RzS^L#i(RNYx>bi$mtQHkmclpoBA4INx_;%l+~cvA7g4U~sUFOdG& zuo92X00)%E@fPhn+3qN3%J=OGe&UBD*q%jfA3H1g5Hinxg#ytER=u^j?OaRcXS2lK zof3REtDts1FNrabJg(%JE#ttarMP5aE3?HhICiHc#%}oyM77^QW0c*}g|D((x@Xue zpS+U;%v-b-yJZeP7$)6~-O^qV#{*Gz%NFQhpUsP#9FFVDaeQ$slYPtxklmt#iq1E= zAUIF6_{LJjE5J_~C25D2?jp(2M*j{+CyZPoPfwYwGRCObm)me0qayqSPH+Rh&eV&? zq=8>fp5$0L5Ck0XlheT)Rxse_9+d=tJw-Et+XAi`V?AxI8`>Q+X*EywvFOq=lXOmV zyJnK2LOA@d2UF#7$tpwpYSg97r2W_t5kq7%lN85CW)impw%G5Yq^HcJtIkfg*bj0} zi*BV}fYi%wigjWfXEnt-fNFNH3>~?|ieLYLHp`dCXKidP=VGf9XRoS-$n!WM{F(`O z3waVI+-Jswo6H9@4v}`<43V@?G$#H?rE9-k=jo)$QrEI~QpKjvt-5*8!Vq58;}yH6 zVPmR$P!^WDLMqdk_;6}TY#p5eAu>5|BDpiaE!vnc1)F$~DR{(ZSxv#gl(ioqk5LtN zW@y)4(_N zPe9$OTPAQGcc6|=L7fdxWI}z4jNrvg@@MDCJCm@!HG{9s&uy2)8`mW2QWPZZP{u#w zZmz^q*t%7SCBjg+s}nPkbdNLk&7^|>9V{z5a@Pj&F*o>l<4mi~*v=uyN{)K?|F< zd!p%6*z2g|t6$3*gCBhzn(QFZWKB;H#rO^Lo3yI;hTcwt?}lzXc^k|TpaxO%ViYJ( zA6>o9rDhvimJpD)KuuQWG6{M-c^&wdWIeRdkM!ohd4QiqHm9o|@+E>&8?zxSqh^FV3X{oC=NN^=Cw7spW|zDog8v7VYQYX`6?d60JfVrpq2jl&zQ>gQ_i_9 zi10QdC<{CZrhdsjzTFYg8GT%*S>-}9xg^=qVFjSpz&ov>p21i90HdR)5M3HyMNEX| zoxNBtjpu=7hI*(C-yVVx{wCv4#`5aOXYoIN^-GKYCB}{Z)hTRAxI)&h$dTf%>d2S& zDjJ_Tn9gK`q;<(z8i98$MuSV7QR{$QPdf^-JQ(>r-n(_JZy8WJCFM>#fk?Cc8c1hW z`W3P>t0#Q-2d!OU+Lq166}_H+@A@w%sMOFI$e&9 z2-B-S7J25{S_aK5u~TM=2UQ|qN;rr9&ZboMS$7vyjI6WnIMW`lymCh-m%F&VgHXeG zz*S{qe0sbUPxJ*Z!&vfwVW|b561SV|A)mKyhly_KRqbb}9g{z5lgIX0DI*}W;l;*! z@@OKu<|saz0xl;VL#gZyKQdRtwabxRB)x;am>pQBT)@IPf$0XW?7;p(BeHghb{4Z^ zX5|ESLoQ%)@yZTt8BCd+e9nP$c3eEU@OvSn0e=`fd>pQV;Q zDGJLaQz{+uIR{BD^uA~(%oXM>hT@$%%=h8FUV&{$U2i>`sB2mL-Hx8R)_H*x!I8nQ3JTP8f#>;ssnfCI7 z{u525EzJu_^(UTJ@Lc&gr7m#t)aiMw^ZfH;JdbvsAK|%q7c!4jh9Sx(XNke&yJhbnCUI zC}68`?X~J};89WLX6O?ZhF=sd(X^f6-uuo+@Cs>Uz{l5*BVqAz>&nXmx4%<`D(_jbJfBOV~Wb5=D{@AU5-s`M)vDkC# zD=-G$l^y2i5qx1x;c0Ws)xWPPHQsY0e3EuQJF86_{E?OZNICX#_b>K=@Y+esdl^&R z46m)n7U%tD4$Kwe0}IY4pJ0kaEq@e0oi3D`Jx6;uU2pg2Z*2J@7z^aH^;8&$d=bFs zxqclU+K(dgFm*<=}0}tG2 zVff9Oz3YFnd=CLH25LDRre%g&Odp+Ui_1rwCKZ4&bXxdN`lc2e%*o{q&p+S z3#}qwk=125uft2`5AU6C)bFYRjq&5BXaPkxHFKSC{oD%YBI;;<%K}iif}OmnV(NP~aYr^6F^vL|G0dL0dzn1!j zuu)w~sp*xaU7M%+qq9mV8;stiZ3YunYCX*iMgusW99J^n)9T2_)qNJ?=*AAwtj&Ty z`-`@ZtLFspyPNt1Gn*l)qPJUhbyN*4O)pHIuWur$KgyWVCbwLbp)kJ6!3g+8jw60p zZ;mp2nZ3EsTxXhFa{=ol1-5gG+ptS-LL6Mx&WMJ$Zs7TM&hwvV@Z80D{=M>?q-RRv z6aS?@g7fpR&%WxVVKetirpnk34^jBF1BGy8X}qxg)|TdeW`SpRciDf4q@4+`PlqmgIfvMdw+UwL8zM+2OIBdgPsFEp8mv(vp`~ zi^Q2* zKbAxsq!TTl%|}{}r$AcEZ#R`B@$t~Njf0Y*ua2mweHXYWCHRRcEEu%{v55LIZQ?mr zC1QJ?y;(#Wv`EY1u|Wae;QW#Nyv(3PpgV%qnRwc3;@OXtML3C5Ey(n=`O-gm-86&7 z20v3^?B=Ja(jR+Ts(?TC(hQPo$1e9!Zyd%2^I;BBA%_q#Q49X3{lOs4N1)UEt&F#c( z+Jojhl-qnNJuAS;DLY=p;u-|&Hpd@5(w4M#^##xQG9WYjG~(U4kG{CGSDx=x$mKZn zw~S_*WVxUMCB z=g?vtI5uo+w4QJDA=s_kW>*%jlpCTi@{gJupUUSP2Tq0@X=0zxAH9+py`l_iTtBN< z3TxW#Q4>=mC7L38m;6{W(NeRvkTGD#GG*aHYfO%YFYJb8iA) zWp(`jCy+>}zzr5^s!~!LHMB0lN=+)!To!q*-bfG?(5h4s(b|fV2z3o40d6k0qQz<# zm454jt!+_J5w}E;fL6sFwF<6%u0h46iW~X8KXabDg`oZZzTf}C3%Jj6p0mu%nVBETHAbRv;}^YfBj!uxSyEA*n6am`pdxD%BQ9o)UF^%L7moqqv9UM9 z?e7$giM`qWPBBSXA2x5zv4jkaDVrfJc!oTZr|7_;z(vPS#8wQMfG z(_^=m&Eq$kI7eMNhvVj1U9F*lkqlOGRbH&!Yflyt^HVS#f3w2aBkgY&FFX#4h&@Eu zMkx_AgDM|t*lk&U{ROf1_GB>%K*jW`_WGIXExMVyoG8@U62SEw z3^-UKDEC=<#DoTwt6+tRx?rGd{%r$ot^;?S(`m50vb|w(PJ2Jiv{(3M0m`!=x>6A9 zyf!_hoT54BZKw$UK-5VWC}YUH{mnEoo7Z3vxGkT+nz?I4h*`7?)(1QlP&Pdj_G9gx z&xVFJQcm*Bi;suwCgg|iYSg^+5;J>|EKd=ElZx6m7Z>K|<>$5gMb>cp=AynER(ngnn!F|1=s~9qDR|#>N%bRN{4TRa?=9W%&)8iKPk0UI>GD z%&fadnm+5*0KXRe4d*GQIiJCN{7`=Vw6G=fBA_B4hN!2VSBLIC7x0Yh4LJJxG}&z- zYy0%d!V;fEW9xB2gNj~6i!Jy1J~9UHE#lMK-zxR`KBt~X^51WNot{7H@i#VpDwB>Kds8TMuCiFFS6p@Nr8C_86Kl%X+;-)p8mYBKt zZQ3$Jp_s)f4jGA~FD6EuCk}}urz%zhbf9ZPtbKWY^ZNP_^~}hE(eiu+UEU{_f#iri zOwO+y=63y+>G{wC`jk`}{T0F2T96NO*u?~m#t35&^GXyRc(z8V+04^jbXCq%W1L)9 za4os5=am+fsYySXnt_KZ;5p1_n&K2wEUwaj1dBj(TSIlsM*=NrM+mLbvbA;o~Nv z_N>z|Fcu^(Z?pkTn(8I)p37x4vB2@$tDEfZ`eu87YDF}0cZ)r_tR|WmUl&c_?pzz| zSC*v&jre1Z5_F`yO({W>+-*5pPX($H+Rua4PCnS#mAwpzRlBu)BYntY z6|+NSbGlcCnpSwGtLzWmDjR8)W%QAc`{dXE024z8^A??4UmoDTJeYu#>~8e3FT0K7 z%em=sxcQo{k69hm_cCP|*1_~XyT03j*c9}`9E-?byVn=!pD5RX3My6kW?9uC9H@Wv zyM~d5x*b%|hkg{OpqarMeV0Jr{h{x^S+u?O3TWH#)p%J+?;QZVd!|=R)nHh=xM2}| zlQXQB4(q-?YMfKDBhJ<|rUB=wlyT<{9s;S7ZdEQ!RS7-W{5xJVuxSe*)ijMxPLMagGzZzp&Aybl3K69?>jorrwIi;kRQ(hjs( zbfz+vR1?D!&mO=;pM>SDPx!d-@%~2+np4y4G~myTJBgHiTH@l6%hbEMAJ86b-sdCn472Ga&Z(&Ea7;AU8 zsm0h+?$)>xg>(rD2s&`KcNy4mb`Y-_8bF^_+_YN_G{aF9N&4aa+_~>TO!Un{5?~ZH}hbp{JXHH z@qKi0kKDl}|H_lUGOLe<-WrkvEt9!>-Fh3wjmkBeZ}h zdL1UudZP5@e7;SE*r1_L^D1?n=ywwT)@e;O$4hu6@!O~JnDQgzS5DIvi44LzyDzWi z&fZ~Vry~P|VhO8Wj5IxiSMrOYrnh(+iIFr2C9UeXvXP;d^Y{{ltludVXXnRhY}}h( z2E9(*6F~8_PTE?9t|s&J?0wuqcB-D1>*)-hE}?c^&x{hKwcLQQqO48*Xj4vz4P4z* z%70pIZ{)XT;jLwx`Bib>o;R0m(=VBiwQMnS8`s*5<8Pj~vXuXebVYT=JW>rM{Hli1 z;8*Kq-PiD|mOOq{u1@!f!q5UKqs?WFs)ov?2Y~`!HCvzcZYlTC*sW!z`7lCH4~=#5 z@ER4yfeCe8`)i3MWsN-XcmJ1LmET1(k;M3tC;<<1u!%oWKb#cgSj-j1)N(EgX=f>* zuWaZqupiE+$z~qvrc^hxxsg=`yk8^QvD2aEE7T4$i*=;*Ty=nDXpIa3qxDjsM1%AW zi38SuZ%dcc^22xb9y=WNcX3(y=y<^c!Vmn~uoeJ;F$o9(g55xsCrATL9b4rv*rsB@ zY#qPO78)dq&OwY&J0^|V8w|CoCxzNHI;lxWEDg#Fks#>s7PngPv{0xM8D~%fooTMj z)RRWNVKkHVWNJ1>$cExCeA8ACKfrTV;Y0I27g!S`ytM%Ubp#``?GuHe*K|G2bnU}Y z+DEa~E;z6?YTFT7DI6o;O1Fw@Vn1C77j3hU^EyT;_cb6HRmu;KSjTmY(l`JdRYMfJGVd1-QrUj{4de}J2%sQDvL!V##b`J zU4Rkp7vgZkpQqan=@{Xjb<0bRA!Q_y__^e$7>DvzrnOC8B!3IJXCBa{mi{6?LdKgf zp(yhpUJFe>tStGQV^;qrYdcb!to8cB*$T?UQ>V({wnvu1ZP#WDqFv95)OVu?9;XO_ z_fjBpzTLVN=UX4_$tx%%fDe2qHNVvpfwt5!&(!R9yDF^8XZTZIceD5QLQ2AQrz$l} zdIZUlT4v^I>7R@Vq&q7f!7#()yEezi6<~;oPwE%H44}9)?h%;;76mwDm&9xVKW2Lc z^NC0f!j_OPF5SXp#fBO4kO=IM#_CG>E%#z`D)_AgQTI2A9FRS-C5Uw;m+&8Ln$BVd z2wsVFR}U2pnE_&5@X?H~q1(<=y~H@aB?%RDXqCR^#d@iSL8Xru2?bP2K6ctT)wKbM z^#1~aQ^(YX9Kk5Y9)I@a$To7k^(sb=?yy_!Ko@|A&HBwY5VzS=1DR1#tH9;IsJjS^a)M$n^AdZl(_vf+HspZ6{mJ=+ z!FE)3fQ!`OGYlsv3VoI~$3#OZ6$blqPlfnF)Bc9)=dsvrbzcv_V_(NCF z>3DP5W<4RpSg6>^kkG*1k*>Auc9zsCzs4*;Uz`7l4JlL%@r8yJlu3#q7wcv8zgRQo zGryRDX+w4fq0>+V!Yx$XJ2Z?BB1&xB=)QXJaO6^^5+GHVw*4o^Oa4{c$cLes*(!i21x$yePdZ^MR`)09(6C?{p84*iungBGJBXDLXS4g{VIrG#~{8E;zO)}VF1oncz9(R?7zPBzYq2Y zU#8pm;FsbJ^_V0jR9qfg-8J~RB?sljHYV@k8J51=O^8;nUvN;K-|yBzdFJ55rnx`* z@z1(CLCR`ZNj=AtP(jz=tNFb10QZJmk>9Z^yt`woMP(J8uow*B zRL8Zv6tC<&P7Q??vVj_ArtAD(lUD~W<>Hh6OZRqjSFYbg<0Iy0 zyWidU5A9AgQk?02L~OYoC8mK7EV7QPz45dpRq$`_*f-3NJL~ZTu>t zp)ntXngrE4b{Uof=I7S5ed>Dj@|1nb zsplR3N&Dv5r>uOIJ?VV+iP@7<{v+k7Pcq|?|48h$+SoTD_$~%RdXnf6hBWk9v$y%>o2+WrR4*3Q7l?F$6CB-SxjBASVS_neHlO9jQwZWqY<}Q z1J!qnsV4UMjolq!aruc6mvRR&o%j^QBr-}{24(EuH8A!Unz6snP@~vfV}CQ>n0%y9 z8Go}?ci50@KBZiQH}0LGpUimXZZSnTH6%O+Pz%mOw*PWuG!d?eCMJxDCZ>2^VoEfc zIIkj__+@D{@zYv{evH(@qS{z3gF?-a2XCVPHz$}K9Si*gp2##WKdHfc+2aYA=6{K` zbb{IB`88uazh;H!7s+UQgZ*9cIl!@kRgk-3KGl9^TgQ`tp1tSc~&_^k}*wyQQWzrJ4Q)JM52l`q|_zeld58 zmJp)c#H91R#Ozto#JG9{!%R~Vqp`lhZm(9f<5-x347xa}4*Wq6gX`U+682I+=j;o4 z&35ku$f2-`S3ItyLNI<_4am9xqZF4A&FoTM)lq7eD>a$NQ+WiUe@W9L-Y_hkH;0l9 zptn)jO3c0hYzosnvALC)4bfa7Z1ZHPD^pV&n=6d-L>TAJP@R}PnTKtvc^3SP)D=!0DEUWP9Vl$ti8_$cH^u29 zu}`Cks~5uvqKWI5^W!D{-p0-mP68{ri^SfDXxr9Qgaf`iS}%s2$e2+PR&y7A(4;uA z01ghnKbV1N-lQE1!)$%pE(YzgzAB+y9lvkka$1K_)Uy+UX9q)#b?kX))ws(y_Of!v zY}wvb=NIi|uoRlp6n%2A|FyDG)Z2T(GI}ll$ISSk>^aP2FFs%IyttkG0q@Tb{Yt@l z=+@d7i7&Sbm~%7y#+!G?K6sZo&tnJJO3nUWVGY{(=y{11_HdO5rE72um1}rgxak3T zi1)&8o;2cUm8h+OzdKs+^w4{4ABHY76E;pIc3HzG=IGzh&y(AV{xo)0(y|=v)tI$B zua@-~J21MD5n`KuwW|IwbS`@i3}Lz|uA3eXJgI;B>YhA$zAbz|@4$`zH?Qh?k{Y{8 zrI3GiIrTCU)raHaHoa>rVvA49_O8Kq#N_)uO|}cS;Sf#SP^N?Pq+)N=VtYoYm~9=F z;?Xjn|HqVVRCSAK&5IvU&*ugoLdCkCRq+xPFAo)K%O^Cj*>+R7SY)<#E|xfBJLg(+geSS9c!y&_XyL!V1sYbkO@;U`3_>&bdevkaCja9?sr@ux003j> z@_I#C<~1vcfJ){-7A|uvUU+2i--r|uMP|`(XjhrX0_6C0f5&${tS3*t&U&mK6xd?m znr4>&y{#mo!SB0V2n^gt@6$J_cQgD;xJ6|6EkEdV{&vz|A$57}CLXZpkoX-UaQ}xJ zh)1~BNVoo5tfmf|uLy^kQz9MnJudX8>0Tq#`aL3v2NcY~#tMG_qrLbYB2+(ow6!H; z(Y{nBKmu&`vIS2%!3!2`w$DAkniq-cO{cKS@jqp!OD zZ}$t{mUV(H$@$_|k@&B!5x0t?lXN}eHNCc#^!6-eI*Pj{RD>HJ5cA5fKaFC>)Z$mv zfjKXJ+YI};r^0?>mHfB}nMmdMM860wcLiQ=d1Mbd*2`b*B?|6fvE3H!9hn@-Z;vDj zp7ip!d4(JFwHp{^s(<`5xNc(bON{4%a-inl@{|ShH5&|b_>r2A#2&+x5bv7^E81pu z9i0VSc^vDDhM5YA_|3~%G#YBI2KY@s#{0FNGB7mxNi?pUM{R7?{F#3$o)EPwqgZFUj*mAU-0j*8K z1Xoy!nrxaenFV$)-n5Qkd)#_<8@IQ%=1(jZ9q}mz__V(l@2zqsh%M)2v#}0hmb|9- zF}p9a?bB%NOC4b@E0~O8HPW=OGECFze2FN z0V*@WAD}jQIY+ssoAzXQ5!|GkKF9b1G(yeS3fyoF!znep86kvf`>;0VcR5sk?2g+d zc=H{O4w2=iQkI(vFP?%T)|*fZe1=#l*TrIfs)JlJ++b_+fVSKiqUsb=0g0q5kZ*gt7qitumuDEx+0z5z{qwa&R}yOZMu2rA zJTUK58>ycmEqnl)xiJFxJ@;PhF^%UM>l*-#4xH8EPp|yVTyjhc*Ck%aInTE^ZNQ z;@24;y4UznL*JU#zlaHS_98V`F6IRQ;eL6c;l4J`zJ~RFZ?&jie0NxqDyyse^= z{!sQtli%jy@HQjtT8KiOZM!D-;wLA4?0z2f&qA4Zy8Gx%nlf?w%8B_O-;s z(ii|bpkcPE5;r&M04%_;{OiBs4p}|z$QSKhB?@1^0}C_on9B9g!*iyy z)HvQjH67zhxui8!lJO+ibRKiM*Q2U&e?|lEgy*o8$UtgiuljRP^|E*l>ag}KZ$Nt- zzTUPVFMy^_C=SOs28(s@+%+?Rf0mZUVO;(oA~ubR-XaZ9^6y4BB88a1mu@i1c^)*_ z$2FKCbcMJI7a^l(VYW26FLexmClWi5w&9;g7LScxS`uvX=1fvBVpC94=;SJ)aC1_D zw*s-~FysHR$T72kmVxpyw+kkV%9aXfkoGbIUg2zQuW`HF-7X*bb>McmOU57|G#>9X z(|CS+TuS4)d%X}|n8$;jxNwRTi0H^1BKHFd`^VUa)rac(eDG(I#(`%SjV$%$4n*W6 zA|pKKHa9{^<&+4fD_7m-Mre{aQTX^_IX&xvpj?H?n}yg!_4J?G2!~>AN`BiwT|H5K zd|bBrMD-C9xqis53wP!EKOXeE$MWHnbyi6)*M`1N-su2)xn7@5y#@lCh9-G`BL3Oo zFaAx224776!0jT=(l1vKxlcr-jMOJENDQ~4_5;5NLdwNGE=y2iYttG*1)dkg?+0@tbBIxBapIT=K& z-U-diXDqcGs28nzKeXT@xGP#_1!LteUpZ-{&Q$V1o^CbvyU0Y3{QjiJp>KQ(9dk05 z$nxERP<|lGZCdOaXr`#U5}2I2LYo?_W=FWG3M3CzdHC2&DV^J_kB`U&NImgA=uR-^ zTD?}y6wF3=u8D&DvN@^kst1$iXuew766RAm3&h$UoSMQtM6GLAGy^6*I zUl(a$#{&srFVy^mRR#`|)j(Tmjx!j6u=vnA6>9l}OV!%FKf!WAeQy3ceF*r-Mk}7Z zc9qU(JVZKU3ZDTon?KJ%X8qBo%1G215}S2qRTOEj&t}3vu-gP`ONqa5gtWTeMg%P* z8JJ)*Cy*_oE9Ci@D`Z3on2+Gw86pMl`^Ns=)1V`r!@IgZ?wzloI<$S-$5K6}jF4n# z#K?!v+d3%u2p>Dfje(eP=OtI_2`pfNPbch^EtbMMPcT9uQD5@c)}~u^d9iZMI>Q_d z%tXM&|11G#%aedw5`}mF*-1AM4Z?2gAre8T`RqgYAlg(Su3;>M7>C@>)eL&6{M7ALMZsAkB2qZ`3n zx3~dqcDF;ndO)tWYeaee|ZLUSEB~)o{mT8|i&KN)B`?OO0Od>AD-$b%^V1bK97lc-*;L zJTU<&3)t?yjQ3LJm;BIz>p@E6{ehLLie)T1!&oz=zV}Fu(jc)MRscuyzP8wH(faU? z{9v)u(ATYV8b8dBvK$hs%}7X6!Ox`HUirzlSiKBzCzO6lC1a=#8&Avn&{gdgL^a#ku-b@-lHws!MeztX9gbXmUEG8ywo1hIA1Bt%TDs%+yrl zr1$B(Fb$)LYOvYOIy=(z1(u|DLe0z601|F9Z&ckn`xWZo&zPaM)yCdOyAb9uXQ>py z+8?32NykvHvd7C9p`!Sc0L zad}71{F=@yF}xBJ^HJRaP;`mFKvd}u7^)J|FOc%}nD(4zBbq3e04)~?L(MW71IXk` zhN|#nt}_s^lQE-m#tJRaF%vi}zGuu7V}`*u@N$OjM!{yHfAUY_>1IS>Ofc7y8^q0J z8%q=(cc7SAfU2E{Cj>HnNU?DkRz?gu4L)_~z0^qGMb9<`qOp-IvrXwn+v{{odydJ) zzUBY!0Ilwo?}^AUJC*_v)kI=1+mNEMHzgj9XX%P18_A$^k-OtIdBF-T`vQ}!Xeb!t z44X}ivCzhtf@WaaAf8-qam<#*bdS--D+SN(ym58$u~>NqmDBk4K<8I)bcML*`VwfE?=>N8cv+X6oM zKmHrt*j?Yvb9MaSSR2+MJW7_ik**xg>t9>7)&1P-<1yGK3*GC1K)|neuWwY*8C<9Q zD{}TvmO+lSxa}z_>`AwQ8{aK4%F>oCXaNVZuPw9nYNNOmiC#**{I+P7@0KTFnG6w4 zgiuakBQD&C#hB7e`b#(xO1p#wWtw-pugRHr`>1Tw;fSQOD5f?f*wPy?I$9^S7(PmZ z51}EJ5@EsPIx{b~Gd6KTO^;HE`S0q3#dO#CRmQ_5Bs?o+Z>xwve@@MUylkh24auDg zGcWOnAYQ}P(h?3b40>vdwG3=W;$x<@vZU-9ep8F-e`uiw&!}vz(P}yrZiSE25ZC)f zm=h_nHivK287I(~0(QU1-bWI@(Q4X01)zbDkm*pfL$V`63q`t-K*`#=Y2;RnxF%Ru zW9Yb{tdZVF<8F;*OXwSmRLX7NsIN7uX`xER+!^uFs&mASClS`@7Smfp3y$I@XUoQn zhKp<+A26~-&Llu(5<{x2gkP93r>mtFr~4u2qIQ-J`nP(!s~dZ$`52xWE51~(Va0V4 zMh2(YGakzCHhSoPV}X-xygUv|r!Bu86phLV`Je&6*$`tJH;1G2uyNy-VsYHG#5|W% zkE%ATQj2HZXBCZ*6DkpMD#9unU)qg9xY%n_5*m3NYGK2;EBOXOGmGNm9E_Bq_c@@IV!d#| z_%mE%a7rkV8FvqH~GWd%;a83{RCgy=A%ee+P&7Y@MUe!ASXIWw{rjIWYS3 zN?}qzmr8)<*G44(r%CqoMs0Q)HPIqy;~yo9s%cJzXI<;6yEoH$j)&Sy#;MFXQsYZhKu z&fW`_C2Y-Xko(K`?dlRvS94mI(Ma-2XwbmHTsJDD>!M!uz|*hWN}g%Wh3N#Rc%04+ z3xhgqwZ7~)jf^?1T`;a_T>}L@GlcA!CW}z$nGcmzh%7omqy^x5TuG`2p)YLxuBn^kIYRIYK zZ>E!+I4@Fhqcl$D_g6nj{Ov{znRy8fHfe{gWe;|Xxz#vL!UlT=V%ZJ$QDDkyGKY&L z4`b_v)L~B0rlstM;)V2Vv3eHIQ9#85O$%+Jr)ez|$0~|jR^5f7n!^@q1Dg;@q;Cq} zM)EevLMcF8dx+`WM<~?Z!5ZI{l?@8rRJ5u@zv<;NRas zn8gNW0b9og&Ji1MJDHZZO;y#v3_>jtKEei^e2M|~+~7go8??hhMBN=E=Fj0ft&sZ; z4azH^2ABa`v&mcAnsM3OCU6}n(0no10p|QCA}~@`84G%bUzmYxKi&FEaF9%@?8M`8)8 zF*y`q5HUO`9G@?;3?DY%=(1%Oh#?K``AWK;ETHJetCd~(xttM(VgZUEwq}OFO+@&^tWFQPTt66Lv1W#rW z(7%{dJK!_?06nFTOPuP4bIJY?P$x+!VEHQoy<$nQ)z)lU0N|Dik^B?K@&KdVvRzL& z7d^MS3+_q2u7jT7K#~sh+5ZFE$;s(_EEg1jX23}PhzD7GO2@3sqM(&XeitDV%q&KX z{EL=VB(KFF-xH3WupYQ6VKf?=e-axE$&=I%0OIRCJX*ve5)w586x*9QmUede*jCX_ zH=au0#kU=>dXiRAS;fYb&BWPd4t4bC?1JQ?g4$Tem|)|$mRql?(;yI9unG`3#Y`GNR^mYO(o`RQ$27G^8Bk#lkT3iH~QCL1=`#O(8f07>$fe` zGKPnS4*02?((^xp&XV5|77|X;CfJxOfmc9)U)eT~P$Q|0$*=zlm!sHmJvrshQ?%IG z1JN)G$Lx`#CHA;oMc>o*zyjhf{QYkJtgALABrwV-vuU}S(rdqe zmG&=e_+CUw!#4yxCvc<~*C0m^r;Q^%Ow4tTj`k~FYow4^6nfCuArfvswm!TC2fQiD=R<|2c>~5zF`g-yZ zFp~Yn2NTurR~be8c^F#*Npp&*er11fItBcu5F$6Y*ty2NS(j_xRwgfpx$ya)e<1uj zBD#QU&F}w+h^FYnHA_W()jxNA(D%tR0>=!^n&i7EVZ49m`;=YxUn;vJl&s*hrmdNi zZJRI+Il-mGj0sfI1ILuv$V4b1K>byqFH2&P;a*|`3NRnr^O-Hlz373JPbrMDz#%X? z{7Zfz@=L3i$|Wr}mRus#LRd8^B{-`e&cQ3_2gw10ejIH5*v0L?vwJwi`jKi;T%Dy) zFXT%y!7zI6&bvQ%-O;Rn)&wCrv3N|8-AW&%U9VR z64~*DP0D9|Tv>7BgTbcJFAXj0$UuU7C407ZP{&KR_Ft4i!M7wjnk zS;~=Kc@4!%Zv-JhW9JpGE!c%1h*#?S*rtDdqt}#^i9>``?!_BU7tRQNVfIBcFm(Pkdx&3#B05hQdQiddKxs4s;~6C<~oYU2D&`mQ&_?l*x?;CG~kE_NaC!ETz#B!9Ov&D{>f#otoxz z$LW>IEq_S<*m&V;_Xu-|ihI z42?rmT{?NTvpDLaHgw~r$kVS6U#}xANEZKjG&J^w@!z|6VA1&R?KQBr@8=wy8fqB; z2u8Io`q5(g(AhU={I*_nWj#6K$Fi0k5SFt`%Sbhxi0l%LAB)N3$xze10E?T-vGGG% z$8r+d!czoI639o|-_=2!#kKLDl}4*NLrr@?CAIO3peXaelhCONw~p41UvG43IdE1| z*;r0^A9`fyuI2%Y`G673eHDGFPc*+h8pj$z7(`PSO>k2hj`v%LZ_dIKkv8Gj<2psA ztIq|a_$IXK)jiK2%>UmB%@f&kHDuPXyvioYC_=1X%YZvB9=d^qzhXv+rb&(21r$(lal9R9*YO zKwUu<)H%b-KCIN3pmL@Nxn&I!%R=qjvLJN+t!8(mQH19>Q7!Ix4JY?3-l>VNx zHsHkX`cEHA>&%2lXQ&rZZHAICu|xipd7YC&cm3*et}@MyP4p`YcNx@cX>$I*X+lsR z7cW={MT8a>t4*4r#YI%XiK#8`L_=eqW`>i^E6N!S_zEzGysT}2)?dw~Xrr8~6v_h| z;KXY#u%^d*0;fyemr{D6LKHW3aw4cT`_i?_cNe+_)?qKZ%USp>g zCBM&yoCRZxMx*k+YZG-}auS4P@C%K4gd~k6BK@XMdo}DuUPz1$#PhEE zOh$1|we8%)IKUK*n5SKjLQX6O{eyTX9PM|e(lU=DF_$K3M+GH~PuDn2srsCa!I=V75n@oc`#76qx3BD zAS#K&WMy~4CIJK$ZhsZxfqwNL;=?Ffh9T6@3dTDo_J}`tukG5ZXpxO2_N2HoGhYSM zbPqEwh)Pn}Ny8kSP%xCZRLz!G{Qc@29EMI89F(AM7lXrJO(VkmKtpl4zajft(VnYCsLY2nIvFHk8aLE@q9929{OX)y@$bUF}wPVn5C*T6v8Y@R^z^@GnUL*12ijvTZeyj33FyM&AjqmdcOW@3pQ!iv~>CH z)8|V7W@tic&QHYPdWY|WQ_|nli!AVGG%CXBrJ;eN%e~m>O0pN$6!DsSk9*8ToBaEy z?anx~1*9(A!*+vU>c!T6=-mj5i-D!7uC5yDno3|-RadN^P1q*BZMAw4!bl~IL#m(DEX zPNw()WrL(lil6V^{>3*bp;zIJ-{*X}VuNOf@4uL7-^!=*9i6=>lkbSF7(n0Q-pzh79-^nJ2s>-K^UpY9nV)-@+@oJrZrR3(ly9OlFk?QDLGW+I+c?G{@rWgAc-OC z7Fr6GnS`^@>daPa^%OE?t`gKU$y3rP$xe92TI=CFyYBf1YS%Psv$ zMJD}8P*Wqlj>bo{@TI|nMEd%wNMDihgpgc)gGQ|y?B~}t{HT>mTB+kY8vD~^ z`?+_j3Y4Rf^UVx<^aC$}u1-7YUebWq(bR?b({JJ?{cf^9M(@L4MBG1sj=Ex%ojzZsNajqf`|Z ztuD<(JZ^4^J?00A=A(+F&il>rFD-#Q&^jUnKMZtkrCHIE-$YoXBpfFVS{ldpVO_tz6`@)K4t>$7VzL%r}W9KW4bd048 z%Zz=g((U54am#E(okG#YhsAGL)6KywL|OH%d6Q5RUt};gk16Fm#x~oiDgcOnBk>E; z4rVTU#$PBDnt!9dO%#@N?axmzjx3XVhl^Os_S~xN$8@|VE+ac=e$9XEGxXwLP>r1< z+465e3@DaxhL(*@V`Y!~Vnu|$DU`<-Xq_2M4Uv%G6KdI&4_g~$$^z|`$pQno?Oshw zxqU&%GrX!tU1jrrV_jEvjy0hLF>XXZ{9qZV?;dLz5RtaOL`1S&FXlIkh;sTIYF2uS z+@5v|RSZ0lMLD1eJyVOT690*Zx?$;|6qatHM#D~DkxkVzp#?ffqc(O13d-?B{x_6} z3K(@>vXuWBOeNQ-O6lpHY9z`I#+kH}V->y8wNrm^iV`^Tv=Xqs1w;Z`(0pv9%CJj3 zTlH+i5HcCa*MV+a0^9p}x+}?RDTk~4Hh%0}U>C+0pQ{Oa*j(ofax?F|s%I~FD7i|j zLJZQS($wR|u>gi_92Ndww@IvQ?3@5w&;KU0v&d+t%r-I{>=d`D$it_|s++aFSzlpO zk38tMwOLCKmHOj&(lm_4is+-Bi(RM1-^paae%}8%=Ls2Ux|Qeq$rIH%xXx6qlcArd z&p*{mj1t?KeZqgla%>ffe?G%q>o|^4IBdDG5tfn)Zkru2_|BOg{Bf&*6GID)s$m(t z68#^Vi9q9;^$ETdOuP4IYP-ZXe+m!yJZB2_xGi3jwJrV*+h%_8LNYhou78`_3#hR> zfAfDUdu;Z;@khYTc!v~0qe@LYCFrSoEwrGM1-h2)Vok|c1-?Y}38h+I4!(L|%F_Dq z0!in>BYDsh=SYmvxU+Za_NSzOs(n>msp}@~Aq9NPrk@upFscAnIv&=x?L`->K6TxP zCD%`v(K^&3wN5jRL`dr7tx{6ObyS5my=O`sLWv}YG}4+)6HI=x{ce2um+JG-4T{eb))X&mu};#a;QP){Q+zmz09-*VEgRG5SN0VZd}kd zZd9N0qX+fHUSv)u@rKQUM`mk8tKn>rM1h&>2In}yc;@7jF%k!!#4Ofx;q-vxwK zsB}Hx&h*9YABim|&((Mn)r*9a_Z(K&h5l2l{*97;tR>4HkfTpIePDYk^TdR7=82b4 zTvNK#pBLxoQdh#VY{TTQZuOESEFO6nVw6)(`>cvxP)D-jyP&C|IY5$2iG zpvH11p+To;1&WcT1*bVj4j|JkzVKU^`lklk(m{wLDF7A!L3p^1yQoU>no7UI4C+B%A8K2wl9*mY&9Z?jaJNM)S`@pI2U4C6bIQ{<)p;pT zq}^2A8IU`rX&c4q>I|nbZ4R|40#N`#S%NIEm`@SoGgo1>B%)qW+Mn>p-`h?8T2z9x zq<0KkM9~|&TM913iB}r95LBM*L8Re{#E!wNq!d6R-E7$sw3XC>f6HJ&f3ks1D=Rnk z(z+&IQ4wmErQUI)cw-Lnen`Jl#GB+=+;5qFp^6lc1t%%;OZkm(w#dAFMK*~O!19LB z0;R4JmibZtM`mMMGKGntNK(VJD93dUn`_Tq%JjOMdSmuCFdPVU#O-VThxc@Y?Z@hw zVEcWmJq6nXc`Q(d0cG-U+++|XmaMwuBymIc>TY(`)gLL=YG`VnBBaNhuAsi40tLI( zCH@T`rlmrt`H%V*d4Tc`i6p4+>RH z!mS;mE)zo=ke0q^_(}BNK0`8mk)cOuGxQ}2_dCluJ}g)1MB&sACCo+IJqEl6wPk$V zO4)w)M>k5MR{ygv*JsX?g57=Kwd}3_^@FTo7t?JUc9LUD_}Hy7f}UHCA(Bc|k8##* zsUfHv9zDEZhEqMHhTQ(aSN4_~+=fk}x~|0J+!b`u?YBO7nP~wvJV=c<9cmi%CRYpC zSEHL^UsWHh>r3XQM*4>U#`sq`*{=mxiGSbw=>c7_hjh=O`0OB)>{!@5Or=&mZ(w)iIZPsyE9}KW7 zov%SzJHlxvg}a%ZGL)Hf!r`$TS*yGOL3Wm8z2SCHi?xO?N$<{<6;aW1#j3FPzypnGQ@PKfo5`a;T*@x*{l^ zyGDeUB^{-j7c9^3d{geY^Z~_-6=3ooY9Qf`%*y7ci6u^%;8emy|G%6rmYQ~T{O9T7 zOy=tN?ROnxn%W~9#m^Dm!V+u5tJ;(*xX9S&wFO+4U&1v5U>WdEG^UJzEMlT+()fQ^f;f3L*`-8anb5O6s>1;34*>Vx{aOqz1 zT5`BYSVf)Ha{}dPAxqscZzU{OoDIh+Ii>c*xt3M2QWUGH8i^-dx8~ZTAYPyOSQ4#j zGd3Z`yO9Ben$DGYM);QVvA9KfZTvJC$c0pLELrDHgmGBX73%DPaYPgQS8#j+n!by2 zF=BXEomoij(fFNR=j^p}`yx2il`(6=X&E3ULd-;H-e$H& zIkN~RLuS&axj`?i<0b6`uBK*LU@0(FfJPNLhhRe2a~1-MCoH8nyroi6gM6eeXf05| zZ>agl_LMFghdD!caF_}y>zl0=XA;pupw8dV6O%F9wYaA(0Y299K}&$Yvy)a^^+l+u zO(Mo@r$1DjkF%X>x-q*XY14SXi|SLtfQ1ISsS--x!eUGsv*r$=a0t|-{NFRQs_o4T ztsXZoi&l-);F>D$2zDuja|t%oaw+shcuI;^>$#1@&xXQ|G75vzzM8^3m(nncz(fg~ z>2He4P<(?WrN$;w^Z8Aa+G1eS)(b;0IL^#F4!g7%#tc-bHb0M>~6h^bn^FnD_ zb~(@~)r;m%hRB@k5pk_kYsjJv{MtdZA1Q1tG1@IL|HVy@M5d5;i0m8@8OhinGIcv3 zGEoymCJNQiggp_N`WqP2nIzXD)*R5OPGOV_CORK!420DI-b=#q|(9 zvXdWrTC5)T6m4e{7E+HLvU(+Dh_xcDe5F;k!fjUA%SV$p@C@p6_PlFUKnos;o!Z!Q z(b$vz`L}jkfXx$3wE#QM7`t0cvc5%Lkt~pB%=;QqPfd>fA9acB*}U$tspr*HAJdrKLrM_a!PkwBQ_c zm0C`=CAhvg+%5G5+YWa=?9&~T>bcdK=gq$y{L20N-=k9r27B@X;lDPicUVMRt1}~n; ztHTzX)xEjU>KhZV^ZZnus0vx~+(T#8L8d;hL0zO5@jLl(crt-#> z(%OEx|J2RhHl>t8zfFvAIPbS>IS$+alw19IZEtg_~$!63}=hTk5V_Y$4- z662hPWd}*KZV@#&4lyQnAzsEQq9qC~$QsDnicp$NjNb1J?vPI36@iB6Cq2m)IXM&Jc@^DG=D2hpT$wa zhc%bEojeQc#+!Wp*|5yyAy!3TD}rGH4rQX5_crV|l9&WIFht6J@8y6ab`;P^c^g2^BCNCi$sTi~iyFKCW8{W+uGV+JR0Prh zfqvEKB&>wu`9q{Ko`9D+wh~NfwJ}z!&cp`N5w(^-Huji*)F!DKSz(rg997kG5Q+Q) zVqM8w=?p1V}qO)kqy1Dt~96hAR%~Wunjxk=Uy|2}0 zt423i>FbhPY!`>-Eik#IEn`+%7Y1^Ros~ll1eq6o~HDvkzSkr>?g;lHSyd}=#h2gPh8kea?;`pA#-asre2MCF~9z+81Qo@;w!eKq^U)zrW$R`Y+7HcC@?hhbW_O6j_Cn1%Pe3DS ziO`0k?%{n7gMs-YtwG&j8dUO(58Q}tWIJtVR`+%!1Zk&!mQ>fN8RAL)A_&iRjlz0N zEzrbF^#Af0$9I_TfEYCIKi=^j7=7W47rusUH2;zu&Lc;ItOh@Dfr;;LFN5W}{6omSx4&MJm zbugXuK++HO#f@Ei2ALjCMb zKQl4}a3)vqNw@RvB`Cipo;LoAEJGf-u|V_xck#5_aam^6|L?}rzOajHG&`QQg$OIN zLHu9G(|&WIW?uCdZ$l2Bh#V5tGe0v1l;4>WWt)C#&zFj1o~8`(v@X8kbN>b{?wVGk z+HLXz@9m!w$R-zT_tZa@Tc)7@*~+)O{4r2!Xy};WJnB@u$)*!6xWk`Ga0+S+Q>Vi} zdRY*h(#!*vDU)asGf-_+`}yM{RqJOTM}Sc@F>;ScK4EQz2b_3NUg)mFO)x&vwL$!R zaCF#bUZUR~UOthe58=^)SH}tDbKeEWj*~2u2PQj$4HXlpkNa<*ra=z=9#5i5Ed02? zacX9N#fxnt@tpi5=xL>b^-J-FYqDWU8KgG)St>exVmc-GsuD`?EvJU43Ud!`y z?-hTg5FwJGu$a=>%5+USH7HQtT)`n*RX@eyX6C-~&&R z@dKdFMoYNsN?$a_%;}(5B%j6N#G+{IqTqBB92N$T&l7;y{D0iP54`iF+MY05*7|=w zIU8gF{?)L#r4KAWDvx2_7M$0eZtd1U}zErrrthXmNbH9_*7o*Sk0yUkUpI-ckWXWdEM-1jG z^tjcFb3EyUqL1_Q>-RL8WIm3lIK(F5IY)ffwTk6NUgx*duZl0Xn7Rpig^|eS=aN4e z+cNsqq1O|^8OwWs`5^@C#V@QN_LtT4h%I9?r@_m*Qp84yI}Kh({+=35RKM`EUYP!- z5xTm5^qr`Oj*Y z#FE1v3e9Wd8qx|aSkHxb*a>x^c}uyf&ELu?A8dAzMX_tW*YxUEFL4N#!L`M;`R_-R z$Q60S>S=wr>)6up$9?ka2}ROuz!p^;9kw+(?0t_=drKrQ^`2?M3p3B?j34QBY#!z} z6uUsLfuoDE-Uaim!cndW|2$7ken5NvxW1otb>g3{dw&nz+yy0{_gI>er~kxe)v5Nx zDEYV(^`!6;p70$W5NXG%ASxqslHOUA@e8c{;1OJR-j`uPir)g7Goo}}zA;77s`YRW z%<$~5pMRPl3`3}l#sIFzfa{8ho-LW)QG@jX$W4_(h}{_u{g6N5_uHiWyX9dE0AH40 zZ?GsKg0}})%m5Zdp5Z^EBysTi1j?RgP9JxL#RJnz?|+3M1n2Zo_7AP0WP|O=cP``f zu@~k1&=jfxg-F!byjU+(m<6UT_diB}BySd8^$+Y#PyK(Ngt$_CoEINi);0LZz6AUc z?RLuY>}WT~FYqam8$x_MgtxvPtLAtw8Xw2TBlaRf_r3U}nO^+v<<#o6d|Z!Gc6S@s zwY|O4Xz$AxavAAeSLyY>dZ}I3c;gcV5ift8&Zy_fQHg>!Y=Vou{H^e$8i4$urdsdN zuiM;x{D`i7ZZ1N~4Q-^ji|0-0OH~IOPb%U0D)cXg(Bbciq?nS4hXdL4pI)IB6+vVr zgZ9evPVd+1lLM_Okcc%->?YoTrzlJWf|p6z^<3 zfugt^PaO!gDXNORx_O<$a*IYYMJrv=165Q3z^Uk36aQ31eRFRbtvMRgOMDQ+?0-NnMQ|1{mo>s;7-0mWSljjLL}Mc3DzROyQbR^F%dSBn`q}6Dzklv<~lBa+8iS*qp{%9g|TQo7gBAS>DD<6-l zMarEJAcs}&bNe(H^BJ{l)&Dvpj+t}exh3?v; zapZT{y^h9SjC4ITmRyZhkAy>4QS@mtWHoH+Tzzz+px4ofe!VmQAeU{`k>?M^50+~~RoY#`$!t7RZ&^CQB^TkA8{_5m;TR!PpZ2CiNYu0+z z+^pPsb?=Dr?|u1MB|#Ssw$?iQLO6>g^lEW~xm!fU^0i@pOSeYnJUgXx{xr}zXZE0T zI__Iz^Zg-zIBY+yZ?;lnO5gN)(l=8x$ElnMHKww%Y@u|PI;AswsL+{KI?q3pE<2_3 z@9j?Mtoa(H^JdEVzta`~5cYzqrFLF-gaPLHhfM8UwiUJW06Oen$`(_gc4GMM8vOY7 z18H-U|JIG@oi;!INASuwX_bOkK2-3(39o@a%7NFYAEn`SS=)aGui2FI&#v7OUcWfp z;3asXrq98a?cj9`GcFrm*L~^Wb=M6kctNjdi3DXZz+@{ zjK&YR<%cuEC@84`OBfMQv<4wxFMcPc{o^rpw9S58OR3bKArG zUo}`F&g@lpk2bWeAg9nOJc613f&B9eVMI3n{}=Poyuas;`DhY%Y8R--d^Ddiw}!Wo zTxKiMx)&#dvRXUB_~rjfKAI2P(F)=>{73m{o@NAzOUF>KAMBXCSWmh z{@eLz{>_B>|8G8;Cq6weJ0DHWK7xWnrvD*62wC}PR>=pV~(cdsYIS?ENk$7Kw?#EJ%n3 z{3!^G4lQ_FlPPl=;S$)8T-n`egt3V^J7Cjz=}y^w&IDx6X@og}oU$Kc`Ef3*+AH=C zY?P1QSpFR!xXcZp4l}U*2I(P7n2V5|#2um=4FdB`j{7hQ)N{$7@j5jB41JO)d|{Q7 z1~a6lb&QjBmt$;q%pEdt9iaQkxX&;mky4QJc*Cv7lw-e^qYE4c*MxAW_{ieWK(iPT zEVnRP=4C@W!AAdP>J!?jVUz)g-_C=ze`lk&Cgoej3<)n(Zw+jJqYp?meqYnbD7FP-y*+cFf)S@f~d z#j&GH5H9p2uQMEt=`2&Zst7YK`^BsNGb?kOsGpoq5 zpLu2*;k>zm**PEjkG^7igoTe|XB@!&NO#}=iPWCqU&d;l6h1=%+3|9S0$U)1$UVaJ zUJCk0+DFwxpXB;%D1?e%-@x@LTxW!n>}8qtT%cz5IG-M5I9ZhQbBH`cIaPHzlq2(- zqny8U)$Odq9p)3pfUNoS%EjI1)9oNx3I*r=l7QL#q4wnwb7`urI`nv|ZO@1@j>aC^ z12TuVbw1y1lGKTKG)X3>CkfTyX2v9$lQq;UDVG`QG2?TFn&71ys`~Ojnj|b&aApZ6 ziKj_&@b)jeO_H0`WlfSrx)40vBq79G3luai0l>|RB=Ov=``y$~y_u3T`_;_LTnuly zZ97LKkIl=k-(9^fXB3z^tmoO*|0Iq!RON!0I+sJg-+Rd>$~lh)6Xl!k{tfP(pV+)n zHc|e<15FgBb%uNPG*Pakpg+Vus{U9e|L_=_C{O8n1lP8n*kOKnv8Pdnv*UyR4!kn) z!To}{Ve!G=sm-C6UmLyXSh4XoH7s{i&7JwFq&K?;UW_%3|7I(DnlQi?2b*^6ExzEl z|5B5qUzvsXx}dNhQz6TF!osdyC7Pk3OYignQs_I_fZfbZP6vT!9fPCU>`! z7kDf$Bx_4%V54bEGrxvUZ zV}~FNrio*-$@2>2tCTk#w~KhOuPe@}<*k59%SEM&2FR;|zpQUw+yPL@zgDFyR@`f5 za!A^wMZ!3^x#XFve};7?Al=_Xx-&K!>E4FCHXc9O-49!zBHa#lKH>3ODIn6V>qfdv z?OY!Jyd?i=_EGg=BIEhm|4CHuuImfA&hYpg`rW9R9eb3ty_Q(^i*$&)j<6S}?lGiw z*3Z)??1ftHqGT3(e2oqE40}B2s2r+jRap|?;=N5VnTkuhi30-J=n`A;t=Cv!%_BCI z(x*r_=hXgWB&YUIsokPtT@#A!;pEtE4Kx(Fn%QuC$xERxBXN@cITt7j4AiAHxFXhI z#$^`>S^DGH>9(`$(@%RbhjCRpX;2$kap7G=MApGXnbs- zGTst2*fN$84R4D*0vQTZ>E-3gtK}SzDciW3g%Z>&84aGd5@3Xs*W}l)h5RS86UG+D zpjsvu&eq#z*^#53#We)+a$ePEv#ym}V4ZvVbm!$4`~}*Zwp_FqECjPSXAgSkZ|{f7 z-WVyp^AhyV+S0MDwPGVR)+$@@9wK!tb^(_^L;M7aW^#@}w$8{Ro(T**Lp&dh%R%oL zUOLR4&s9dYUfqKNYGj}$W~zzZy%-b(1RBcHDrsq_ID+xgx5Z0Gz!73kCKtmBq%l*N z(Whp&K^SJ_vInqn?%(vW_|aIrLQ+VZ4KWy%kO`GnP7)%HOBK-t9tGl=Jx?j`Fm_l& z^S-1_B|KknDK*5_fwr**zp_AOkZitG4J2NWcGJ=o>6qP_H!cEie>pXuBGwK`1Wz-o3 zbVL%ifE$5v!4+J&Z7Yil1Qh!BJ#}v{S-|Lf|AmjH?^ac(PMtbiojRp0*iR9E$j?{? z*xGkf?emuM$#H=K5!?U48Eh zBpa2KkMyTWX#pNgge0k}ELxeYYqvD$AZ5PN`^eMdmF+Q)wQtng9wVb1cR|uHGJm?9 zQq_N>uRfgdWSU9RKPGrYrRqgOTutKK z*621*`n%xTnvjv3We?Z-$R+&9;{0sgii|H1cc#nol=eRk_MG&T>c=HKe|1l_ns)8C zRwP&G$82TV{jpTGcn-0?~$4KW+C)ZRveo@S}pxAC-Ml^s5L8D2ZI6 z&~IVIs)0xtbqLo(Pg>>Ulx{`T)?OhIwJ)ktP3AF>)T;AhJg}C!+1L7J zk$ls``exKI;?B$YM7~k6#p7hzY*5^F*;bzWf#e`9^qTT_*GhC+3=>Ko3nUijqzad z*oQ~#6q-1mZ)AO3t;a~@Nj%W)&c(9pF8thLlw3XhqNq^5@VsZ$&z%iC^o1W37pfk9 zPxqmL{Mv79RrtLr}*$neW45Z61oec!s}0(~ zT5n7I##t_Izp-w0zi~bui<|@2EddqhPvTblRF$3LHN4YUZ_QJ;-r0WRxfwDxzj;iMHfDf9Ois4KG`!_AzK;whBkdnawq_*u2WRohPp@=34wKRpu~&0g!yGx@_p&#_6>Z(>+Iy~92PLELg}phLe*msJ*I!CPFm z!86j3szm?97fNC$4B-33?W)Ol(4Q6oGIZNRaKF0sfoy`x%oEMMvFL9&E=oPC?rG@h z#p{g>;O1p1FLi^(=gl~LGOVca&*Ds$`hGM|p9_A1b8^$F46_;T=f~$$h zrL(W@MR=$A)C{!{q)sYO@oh#+%5;rIb&%@)FEvz`B*nyfD+hu3LT;6HowJo@ z9-cU2s0G~V7VcEiQX(KT&`V}OhiB1>7sK{5S(K>!G!~2YZS$}TI3l%Nb)m3*zGkVB zaMD?XT@q}K!<*!C?xu=d>7wO1>c$b!64}xtT8GfT`w@jnTWUkgq zP4;?ctNu9gJzxuT}lK5$`N^EbK z5H3bRLQ-D=N)9yb;7#=w3;yTSKq!RkWr(hse+AByY&i1-Pi~)FE#G6AdODnB!w-JA_M&!^vo%IiTy7ClyYR3yhPbni3 zrz1wBO^=eOR}({qoQX{=w*%}A>TTXL*Upobo-bgoTv5Y|apECvp1{8)A5a2S;#KZunl zj#WJECLkab;f?>GOZ}EN<|;*?HvetUA6E}U$qOG9xKy?R4Bb6P?uPnKQg!|Lc=#i$ z=I}>b0a5%hL-^yO>ss?iVZN#71^xB}6(S|2RfwcSW|qKHz@ujS_@GT8vOiefdI zB(U=8%yT7d{~Y%O#z{`EAb8C!(QAL@b9A?E`;Y`x=H*jWzf$8;Eq)u9$BY0(*in4u z``IZ$Q2(>|%-hIo`ZMvFe@tyH*zw+oq|E4Kd}jaDO51ed7sO|7xbkP?Gyg%V!9>K^ z&w{VwyYyg5TJ=eg%O}enGCyGG^Dm$w09C0fc5qQ;Ev|zpt20V!R*c*YTqQ{7Lvb!{;&s$Z) zhn#EX9HEXw`eILW^bS>xxt>V^&m_jl4hOn8MMG=LkLqBLw6*4N_9FID#L{Fw4iAg- zqlCWQYJRthPu=G{_;_2BgJAxnW>9(i_*6O_AM1Z!uEx6M5MzC3YD+&m)(QUfKaO7} z_}YqJhNu2pjSoQYGmHM90+vgcw{u2; z9&%?8mz$m@XBJl<;gb_PWovGwv#Byg&sKZ4+UUb=boX2TV<{&pbT+BGXWI&|=Po1Wh1qlo2)KoU>Y!EY#n@svUXe9 zDF51Ibty~SPK4l!0-s5Lq6ALMkLc^ibgCcci?RLa@txGy@!rnL_LYrt&iGQ4Ks7$~ z>D{9oOx|99?*ow7vEuR#yl9zBN=bhj;O5`g8P)Y=%qFvk0n&u z;JgRb*X!A52IW4{n}pteO|#XJCoHp;r5@+3Zp4yBR|5OT z_jG0= zmcutKe$|R!N`$tcmvh9As$eB&C6q-odZ=LaPbmZH34WzX5225UU5y7wUZ5WWr(z`lCCcFL& znG8QBmBdr*(PV$x@k^LroMpE4ZR`i|cD;FEmDQV{_ify7@k$h@Zr|P6nLeB%eVBc8 z(m(UF{te-m9r`v#3Ft`!JH_ji*p5Ly!3O!DzKpw4d>OaKeHk~xAz_p=EJk_#9i3s6PyQczwtE0nWa)Qtd3#8I zhV&?j>ICmw0n{D&GA1-y1JI!_^|=bA=n!CsqEnxqR#K5sePl^R&+43#ieA<2ru)J4JdV3OAl||@y4@51wg&4^ zy4_N1p5M>>IqbI13}5+wF?@F%$^41aSF(TY0FE=KQ&aRgyPLhFo89PU;MI=wx}_a= z>D`yCF16F`Ua|U7LqA4`JJXMw|3p959q|kK)rl$Egw+x4o<@42-Lo>|RXW4wi;U)| za@{5riWL5p3;1!Z?~xR(Ptd<;QD-Lk+6MtU3$PRWPYFHjq`v1$(f8`JyOd1GsP0uV zK}KOhufS`q^uFaOdf#(#z3*{b?~`q-tyS8%?pN}nH9QB={T9R0CRr@);ZSFKyZHfn zdwgzOf9j0BH?Z9Z(aAWevAHp!_r3m=rT3|M)7ED@b(z(Xhui9YuP{=d)^~=$1_Wq-oUM@F=b;&*H1pGw%1ZTOW3 zVBuG{_fq`o#OD;hx`jLVRV3r!{A$to*8GZP+LRVMw09ExX;_>;4ObKQMBz{MV>3uh zmlpVC-mmsr(ml`qJZt)!rCmG=#=ofT491Va?lZ5>O2v4BUOK^_3X=RO-p#iQp}_U{jfYbW$q z)sM$JVm%+u>&!&xC!qhn596c4UV_TapT?G=;J+n1U7F;U|F>+MjO9G}itPOj=5eDK zlf03e3nSORo8JTRPK+Q=|{G4@>F? zo#K}r`oI1OlpQ;h%%`jg*|Go2hV#&hTOEd%+1%@Y+5Z&-u#Q0bg@_*gj87}!G zW|_I09E1N0{;$E(pAKSqu6)uOfR6oNH+6HU?jU%A3ago)6;@zem$w`Yw zRs5`4n2}}iiRP!5o4Qdq->4M9*%};yexl*ah_whxVk`!;zv;3*sXeFgnNk@8K#%+ z(6v!J^x(=ovULW&@j7;^9Vktsiqafix=d~wHKa?LY<(YN>P@3|3N}<|-l!IC)v)u5 z-NU1D(IEhMOy1g21+=cV?C(-%!h4N1>~IRCRUa=AdOxt|RIBZY@LIU8acei9!z7Ht zU-wO5bL4v}m#pt4-g!UONJGIl`KyP{cM`R%)i$cvH)O~`0ad;-Hn9YVe`iAz!gSH8 z(D8!DBplb1uU8oP&#GLlvR{p&3kR?^RNrkyKb3AWmb2s~MIRgzt|awpP-#W7#B$1b zCHc}>j=U+qz-oX!IYUQF1Lyta2*6=C42i7f>c)U|c8^v0+{@@4XxnCev^ zmC#AKc5w2FfSecEPfP;QDFJq`Qn%Ui;@((<)7DT1Ue2E=i*8VBfw^%Z`8{8uukx>k zFicJeQg7v;-s=fW$MEvWW+AD=!-}~OEF+#0M#wlfZ;q0E;a5CDuVu^ba>CxP%*sniMO%9izlS14zN@R&7A88!vkiQhx>p@-C0zS8fi zM@kF16cPMoc*D0$d1*1V#&YhZN_i)pRGqUp0{QJGd5wQaDuIZ#T{n&^3m;|xVHSBE zl&_#5(0y!9*iOiJCIN^q{r4dJH?Q|ivl1UEc<%dde=M3|_JKdD$!^y&SVUsJxhI1R zvQD<<8mrh-6w8_Yd`eoC0`u=IJquTuci~s9^6isp^AMz zn+DuQ^+>BO1UN40Wvg@l+_@hvBwO?Z!EHuq zPb}xRstu&D1kFK^M7@0}`IGl8-ox(C(`8qVyMC&(oFUL7vnA@PlZcrFz;VQ^Vd^MC zIwWFZP7rek#bP<%Q$Pf2c>*c&Tp{HKUV)VNrw&Y0bdl)kx*hcN9eQfXbRi{k;#W-n zA_2LEk+WV%P3A~>(ZBTz0nR*;7m7v5%=&>UqXW%v(iMY{Cwmy+!^`FRB?-1rsY2Gqn$^dWmI3&r4tI>~@=vQ8c#_AL z{?K&={<7c%+0v+{1#F*%My<<6Jo`(BVHZ592hB&e} z4yhRvPJdd^%ef*o?w94Aig}h+7O^u{F+z0;78ETt$skHILTG8~*8pc10b@GZ);GelfH4w{NI#Q;=d_c1i0m zo=nvCo~lji-7>Xpy>9@ph>r&VnBz=^v-Pq3;c!Uv(g!RWmf4KJAlbV$laaVRWSfpv zE{%*Pq1x4}`3U?p$apghB64LIbonhcwOjup05KFU9>`FfAIn+sq%DY}v*HvdO_)?6 zSsE>54ExGT2t1!(t$^H(g@mBNKb*)|k8w?AY7lDI$P;Y*W=I>xhKH*;?04*Nzsvww zDxZw#OE23a`k@dE5DP#uq5`oVdR|S(#PlrPKJ#pWT4te5Ks^O&ML-3lUFX1@Nn-J3kS8L2^IKblunJW;?AR zd^uld6O7W{VmaqA_pDL9+(ZhAxhwx_yrpZk+GCL6i2>HbbMmC#l)^_)SSzpxA0^8k z|Hx7m1f4Ve8rjtUxVT3yHgoZaT(A^7r(Udr9MB1JDZqdZ}8LIt7l>?b@y92^K;NGPp;KtBHvi4|x{K z25qfYa{iBIllJK{9oVGp4J{SQ)v+vtD$#M{wl3bTD})tzLWA8(S^tbOB(y303iZjJ;e*^NVQT0!KGz(vEH1RZONIJuE|S)hk7 z{=_LZ$vk^J0)+$yp3t@V1A{Fn6;bJA;w$4TkFl%VFwIh`l@HZ7k{L2}fNEC)R;0HL zMXveKhM&;0ptQ*SqWY^$R&uWO_|5nv{>dZABiV+>_{wqvJa%?U8$GBE&k#^flRPsM zL4|T#FfQL((@utFw;CGBK_%|LStka z%+5E)WDB?hwX9L;MwiHVHJ;s8Tp_MloF2O2(3{*D7MO0QsItnL#-c*F+uzk!&s#hv zY#qK@95esaBDze@WxO>wCD4ewMobYu?vs>`-6_m8{Mh zyY!6_+3Hxh?nT!q4c>M@{b-}!+`(R*=CI6&U?>-9!+gjRPS zkH>}w?&pV1C-htX&GnY9nK8G%+wZ#$PJ2b_t1;WH&#!eXg$RP5rCkm0~`9)#cR$OXl0||u?OszZQ(=AuI#E~Z-$*zLn~L|q zJjI_k?|?%gv>Iohv2(^z`bJamTG$BcT+3Vnoi>Uz15j=BL_N69p=-<61$Q+B8{Hct ziV^Go*{c6%J9(n@joVcsBjNo8da$8IN=+mC7hl`x%eM@D-TZ&FZr$)cyte;owbt#WJ*P)w7%Nz|k6rbs7r!JKPU z$vv5Mpg^1d0A;+f^h-gnfqd_lh5%}0iJFs#0DkRd)Ja?13Ppe(WmA8~5b$9r+Q9pTu2LSI=sXzE5 zSDU%=mu}G(Y*0-iuq5;SY_fycTIhDlN-igD)b26iY>SZbt2!Z#SkA~t2f^mEf8-l2 z_^8xCFQ}Km9zR~Pgaj>`eOSf0|RKr~Qe&BJx@q^5TLXM`|5zAQx&HKc|D;rgC zaf{$(*mYsAF2xh+grI?qwR;`fg1d#E58|F3=<@Zn>VHz3zx2)OC)}Yvc%RaXV`UZT z3gCvaKFmGM(_}Q(>~hpHW_y5`)6hnGjhpd%tw&RTll{6Gdg(h_tsFnEEolJwwNw{) zE^Dpb5#SLZs6=EA}`F2nB)js%#P-NXB6wt#HoG$`tnwm(mY015eyEN|+9P2QavxhgG z8BWiVtYyJ^8Xgn!Y-;g^jv*JqSmUBiEnZ2h-<07mZ4Ph0cFn%zbul)WKz?S^zJ_msW?$K@!F^`6p|Ts4+!o>$9j*9XQ(Sbyn;z?;z$RZFJ| zx@-1w;+kFZ4Yhk}Z?vl{ny^ufL%E;%0Ou!RVX1k^b6p>6n}^ zUHH0=CQq)9H)fFhhb!D6QNG%)$JTfyp~x1otxm?86CRnN&h06U1U|C9E&XD~Pzt=J zhtuDnLVPLtkn)GR;|;08YsmR?jK`PeS7;yJ;A-^FHQv&10&GgBUedXJYl^dwsFNuv zI9(o7!0m7cO@}sr6WtJbIRGinQesybTUHo-EFE66u|!U<48~lt8s^l3Ymi8xGd%Dk zcc^=L=n_bCeR=6BA;{wOr7irpHP3oasFx>nHt%BPrT^hw6DP=cO4o6<3bNhe6HOIC z<|%nEkcV6(x!+w##|BU720m%wm!~brpr6RNABz#9yM$~qNd2k@ zcXYKTG73`Dnc?AU_0qjs@Jqq9j7KHoSsC)ZY0W`zIsnRfIG$36-JAD);VCWUwIBGj z@~HdRsMqmbdGY6-Qg0^jSF4HZhX0qUa+>EYUwG2a^4d*&{h8mm=?4b=`iwJ;As@Pr z{mSonzj!w#vqc!GHr!5W1blq#3(q#KMt-CbzvDkvBLk!nDdf(TLg4;;U+DMFaYjBJ zYuJi7^P-$#SouOX3jzklp@pW|b;!skgZ=NG_hklycbGvlmIc2@)*kR<9Y^&7*# z#R8@0KTt7C3frk}`if{*W|B41rTaJmG?X>Q7;ln22eruhjLqDU8(|*EXiH=$Z8Da# z;2~ru`Hl;>SN{f{3K8#Rv|d9TJ1Gr?ulJU|5%?NUOZ9Mn=?-mvF{%zDhw`PCH}gEu z*MM@PMY5_DnNAozH-0kp2KO_mdmv3BC-TrHi(ODiXUXD=4#}cS$l`8A7G;pd-9qG$ z#cZ1_WW;Q;C=;@{TaiVXkVT;?*On{>?rBFAWkMBqE2?0VwzP3jswne96?Y3&lnGVb z{fnuh@X%DzVQ&vc6`y$>-&@1|Wr8XoQJMcx1$pzK2BD1X&%CkK_J=|jH&}Eb_=Xn5 z%82Dm{nH>g>VALW7u93Og@>?g)nZNLRggxO6xL(w@YO&XrQ4<#E9orSZGnutq;wm= z;3H`wh5JN??J@ho%pwo*L<@evBLv0gGlle&x9h<#_QvoIM)^<}wD=lWvCbP49ug&> zG0!}L2g}9edqw`hg(Y)_2U-#>lf`WqiCn!ApY@q=q5+X0)inFaHrHQm^03o`{T%>A+T`i|eX^~p1fXH)uO1PD!V!rh)-QU4m zmb}8<-V9iN!;(WLY+A-w=8vD_Au^gc5)UmwhJ%cYv7C<{5Ol@NKMqe#ewMJu#-BqP zvCueDIF*e32L@d9zz9N5?8(=Z91C zop`5syuKnd;9WQR8?}|MlMY=V^)?i5swf+qZtLoE zDDLhrMA?1KU;3U_C$%z4X`|lthgjP`oCY?KrezoJ z1BWX%U)mVxnZSo-^v2JK?n*z#cg?O6M*noQX%Y*udQ7ffJaA?eNXBjL4G%d6 zhrsDdAB>p81od(n_-B3xoN}9*ve>2(GmkflGmvm$N91_!I`S{Yy$pqo%X+b>iJL_I zXrs`N*5O&gJ1)dKhDXm9A*XYJ`GOmV3zTMDTU<2D z#S~?WfDBQ5#k|9_gPL}c*iIPAoGI@!((`9l<5VON&c!rHM|>S7p%`ok%F}`~(Xa4G zdGJW>L%v9=JW^b7vYR>#XPE4%&;82&WLvH?JFzypFf^ z@W8opwyom_f9ZbZ!fN)Ft_j?Zip+jry%0#@D1f&gvKO-ekARR2Vz0m#Vg(sv3ooWM z1j_!V#&f|0cIE+`S(8!TA{Pi|>UN8bKD+vH>h;prVs$=7S$C##;4rRPA*;ycCgI8Y z7V-Ob{9HjN2g++%6Xef0blxn^sK&RI>4iXb2Oh2_{G!{n+B0Dk03DG}upzKGF6UUl zbf1ITV16CA(*#X2HQKh}?@SvDXhR&LGtL#lp_*`}<85JLx--4=)NvYLd2WsK=(EsIfMHb$T5u_1EBQj@)v$D@hm+shyY6>^`lEFHl zcO`OLbB@}oImd3*vc~X#1=pi?a=(*%{%2`h&Xeq;W%bgsxU!mljgf}pqbY|>pIKiG=l&qJv-Rq);vRFbrq|i2tF0q0uE&$BgOF&sv=HZ zlVW=5ws9vQ zQIlm_EGh5CZzQ^mNrPL-g@yBNuP`4rhTIqzATk13sCeBfs zGrfpEz9P9CUz9hB3Qv>2zSDS;m42EC-zITnSw6D0MUt9tg~~lU<8o%cmwLy92mVoz z;d6YWEB3YqAN$FASMj+yBEG`Cs?pRA0jmODx{=jg8GgIXNv)a*uA!;Mz-k;3a~1a% z7al~;`c6}`?qJ?Gu%+0S-;6wfDBngjy$@&h3n7$s5uGK_+fN^J*(#SSw|?Uj$ykne zWFxr4UEuTz63+s&=kfnon09wxD8pCQldl^CnZA%tS+A58jaf8R%F3GmW-*Y)g$G>d zZu|^M^C6EK#=!*Lf@25S%GVZAF)(mOD}T8t4QO?Gb(i<}L8ke-|g3s4;3TbRLI zuEZZu`l?ph2#1lQ$> zaq=45JtYks`;4Q^62N0AG6reYScC#x{w>Q1e$Hqp{L0(-Rl2_H$tSFTKJA%i(2+7b zw8HU(GZ*^uT@qwfL@-BnF3w_aX?lL3r&nmhD^f664dlMEYsIrX9+2@GD022YzVi6D>pj`ZApSO_v3)m=}r0&_o~gm3~!yD%u>B|7mI|3T45ueOX&M z)+dW4#zy{cK(YKP@(0L86ilXki>2*kGuc^E!h!RTh2k#Q?khY{Jv=d=*f7%da`C+H z0&D5{{83EA2}4OyV-%?bS1WPwu39655=1M>t#+ZrX!D~W4~Yz<+mJW3r(A*9w2(kK zyq_srWWEjm6}}gY;Rk$P{D5Ec#KyT5H56&fMZ)PPV-cg;g9mW_DU;(>y>#P@i@n&E zWyN55Z6H(5@{0(rn|7X?ux~AS1hhO znBQZ0%Zj28`@uZ!?S^JrMavNECrVPVFSzmbWg@5dwfts9esF(*!adu8M0L(~`9-I} z5dr3hED+b(4u9dc>ZxF!8bwiBE4(pJxzWBoI9p`N6G^-V)UOM?=P&(2p>+Bn_sha- z1(m4MT2KzYi9C#{$6%YwMbePG_Cp?O!Q({R2BmCNZsqD9pQrVT+6H zOH(XIwaF^7(yB*X$@Vzf{;OK?Uu{AS!F%PTK8fVOC^$sA@qK^5u9No6Dep@78eoZ{ zuZY?v%l@|tV0+BJ6{hU>szf>JVe<-GH@d4q58ZwTKEQ)Z0}{Y*G&3g~(05n*L(Z{f*_t(dy-Z)d>;^S` zl^p0r&8y;aV2sFtRp%%N{3cv5GP|i}qn}k0JWbXT!8&i~2yfYuQVb>ge7L~{u&q_R zgcer{KfrgziUn$~6s24%>Pm>A6g?c_RE2PIp{9vYX(hJqtD#4{oW{#ZDZE9?x>fqB zW!<(|{oMB~KXUwn3o+gu&A(Zgm2lOu=Jbr{l`{y1;4XY#GjWa?!YfTK^5kN3D^Qe- z6mcnj9hA0F&4F}SvpM4gd^{BHE{cihC0dpUJx(ak>LSjd(gT4_(RB84y`vl5CFYTx zO%*6RV{_$ZGdFpwto@zI^}#CT|GC^3VyqD#>*FK=)XH-4g}V4l8yOTOs>dNd)DSg# zO4bE1I~zNe9V%|GV}H*&=4N*snl7}OV|-Wb5_#5<+vj|d%kA7gqj}n~+ef_mNw?2H z?vn1blziOr_@Wg5Pg>6r;{Q=Ut^Geq*UtzCZjSzFY}6LYNiC98 z|2)gxvv6H~?~E-n-GF_qIrNU7_w~%9h7Nr_n{N?c57gEF{2s^0di#GbTEKvXdBEAUkKK>pH2dHHjA%}`Da@p}k z8oGrYU!=|)L;?9V@kM>9<{p_s{^#v@eA^bhb_#$-&!)_m6bgzhvUm9N|YcQ?j zi`*){=tiDf@kML6Y8zkl0Rw8q7j5K9#TTuUM^^NU6<=g)UMcZKNQ{v>9uOQn#1?%v zSH%|1QL#mTk<#>cimQJ5f%-8qf{TWYjR`w1Uhf_@^8h?R^K8Ig6x|)}qb;3zV6su9 zE!kzcX0W`*B4rOCDyC!i9*74P9nc9Zda`w3(bY7Zj2{u_%%KB|{v^JbQ^7(9fkpLw z-1QZX;@GeX;+p`rVVE6QgmX_!6m&A9Nt79FX-{^+`O{EQaMBB~Yr3f5qRFrkWE>r+ zkl>=HBj@tqmj)MYP~>um_@83>5DzZ0Exb+#7ft`U%0EU8#6E5lT=WAv%OQh{o)f}q z6I>LekQH3?Jy-P;y1446b}e4-8aCAd34q>K;YEK;gctoy=qEfOy_4ZZx6`z?v`2-u z^rEv5O!gSZOde%;&OTs87$J?C18*fML?Vn%WKdEfjQVq%h%l=x@m8#{lRv8QIR+w3fjaMiHpthBQNKwU3}5r zZt6AhMK|J!Vbd=AVY~8^K6bK^erB5pBTlh-W5ytf8Y235_%-s`bp!)3Z{smWr>Ddi zF?}O}53H|=F*=PRXQFU$=m}dCRD6-DfYONwqZULetJq!a2%|0VLA5^ft@#h}m>ep? z=xaJ65|dyh6=5WLNbt)Ri7?`vThWdSU**4)P$SIYcW?^0>d)}NqTKb}%j++JM%R~@ z*s(^gl0>jkeJ@Y_*}ROEmn4FXN?HXQVT>k%jY{IdMkNOiHjsSWSq@HWh2M2Pe%wkAVy;f3LjubKEcQ zXyuzzLXGzE8BbNHk*7ZU((?LCncFJT$Ria4GoePqvd7t>M%vQMag*&(Bdz>3>vk+c z!1LND`z9StpmMTN(LE7Nlf+jdzG#+A1uq%VgIf>ay6WL&cNb5HGMY}5(SejGBUgQ) zr~Z2BsAt$L0f=tyb`3jtoDmr{Mxv$Kkw({J;B@iSPgC-G*ffWy9)FTTRr#=Zq|vN6 z&ICnPq!HT4AOzRI3*5(kSnl}T=h!L$`wO?mLyaWgDiC*3p++YiB-98{4hIwoHX6sG z-1YHbBebDb!A2uir3M=j&!#Qut}PksfS|_4tcasw6$fN65)ntEn3z!fx7yO*O*W=e zp%rm-0K0tHn3#Nu_A+dg6iP-MX-n5Pev+XrZRojfve6|aDPLRvQ+0hG(Stno$3PEM zV~;h(9Wc#~;bNl=!2PMEp@n=i-kD^KWFoZtxQ#_0u(WVUl<%-COuE z|8?Mz(v9~_52JunidCP%a8HRvlBa`YY>Xzq;|nVm$x<8TO*U^7r%K!^-tF|66_x?BSKU2wILk!5|e)8hV`Dm`?%WG=A$ z$!@i;+&oDbm0FqPqK0UsK$nSx{`9WA{}haWf{$)cX~^kW)-oEGEgRNvT^m@BCjdNhPS}%cXMAP!Y&Dy>TRVuJ6`3w zKs#NBkV-5bvqxf1hF5!rC21nO_L_qz7hPMtKKd>IM3+OqNqnHha}uG>UsIvG1AP1q zBq#B)<5BR@wtTLXe^-pM4$6K6c-_3j4S0P7~T4V9PIfJrl zzecO_Ru{Gk2;&c3{u}|G}-wKhsh9 z5-BfRbvr75X{+*6J1Q?IFee5krI1$tf*d7(hK$^r9f`3>Kq zo8wRBV&2-tR4=+t&^op0z;9t(#wzv2sja>+KU1%^n9)AuP8j+!VoTx6%CG&S9SSK8 zPwV4;Wj57{XPaD}X+FnyT*h1Y@UecfV5bLH5lpzne1lusH}92NxBPo=EJYr%>Z`nZ}npN zk>ovl%n%h6uMf6x$VH8Uv`(I>C4T8q;r;#6#I5xn59R*v z)Z;dqf?HdHEk#=0t#Cni&GJUx5>|OSWGx9}WXrn>;N5K+a3^o55|@!DpT$Kd!C6_j zm_>hgDZjt0SrtihRsPT|&f?w35ADGQZQ*gadHkW78CvaLYI7}ITi@;8HI}lxW~N$i z(Q3!@4O_Xbh!;c&`Pr_r(tuQH1-|@AS^-%A$OcnIxX&cQex{LS(`RthyD`VvG&(mA zpdXCS>QutJsK$(i?0kVZSvW*n{HG>aJk~ zWaKWrw_m((602c#nbi%uR}v3tkBQSAuKXz2Ql>39Oi=J*w6|=9Pt$bmkwz`JM=mAR z4j6U{hFP0Drw9!5JKC8{+oFecmMhOB4bL3c+R+{dy9y)a5U*Qh+==`ESngnK>f8ca zdp6jDd+kcdUzTwZA?>z7AL35o{r>L=-W;yDjxQA-e{kwaMVuk?=M>PVB3`1ko#~2<5YWSw zb-|W&ZT?Sy<6*~0*_1RjJMLyIeg#gtM7CL2@MyJVQhzXZxmGuhXAxQ1Y%`TEnIM#k z8?=%0U}Y+)#pNn%QZa!h$yI?&rD;HoMY<@zM#gI17&VGq%D);J@6_p0NLnVIYlVyQ zo7L|<`CIwbLw14{60Pi%=hi&6K9blr@<>6g zgx*Tck%#E8^tC2Ae$#PkDSABk_;rbt+2vB$&HD;R{dM9f(OARJ=Sx}(39qPnQF7Fh zZB(20CxJ0so3C~zg-OP$ULk7bt?Ff#t3)F7=%G&1!Z{iC2W$BtdXpZet0bawQM2Y; zlrJmWn)9CgN$U5Z{Au!=bs>D`oJmj+yl1p4iOjQ#+TuS;V&({@$#O*A6FE-U^lYk- zcJ%~wk|x!V5c$3lhkO*iM=>G$z;d#}U4IypCfxf}GHs~tnm2x@=;?~NXG68CgDu^) z1&dY3d*66%%KYji)v}0oX2#mlu8hb~ny1Fw)J)uB)#&*ZH7efFG}_ghDke9L_H<8= zypJZr6!^VX`!Mr~t3POUukku*Y_x%vh_q=Ekv2)m54IBLyIx2q3eCxhGjP29HyoB0 zY?-6geoA#ov{jTuw(vOLk6|&p0`9A1*Dxm`rfC1<-YYGunV~ zNY+R9gjuWZb&dQ;ZLOuo8PsY?jY6)JjC+m@|L`#Llc~0ho5q{gQezOYKy9Hon20-! z<|7-#Th%#^9Utdz5kJuW!a`jm97FX>3-yeA)_L&aM1$P7u-YYpo%>6h>=K#Q`9kp~ z1(RwZyG2g@<)v9#vP!2#zHjL?!11;-U}M{wmt@K= zvgP2u-wTDEUS2!8f?hXMsi2v`mIAHr6qX%? zQR(6tzI+HYt^)C>zDArTQ+%PSt;7tQ{_wT=>3XP&uy+^!o0pYDQOT8YpTHG;p^1}- zG7JpItRU#>`Q&?E`i(wb>9=IODDwbUGF^>KRzsvPH)V>?0DFcGI3Ugt#HD~^Njje~5s0Tu zVgF=#{WA?zBv|M|dNL3Z=noRa9YhYZdm1wud8*YOK?~mC+&mQhd*!mJQug3MALQ)i zJ_Q&({E!mnBER&P?odDyZ4$V6P?~4qlXCA3T}r6$r3C@{F}Hx87hi}C^Wk=?yXwcS z@%7EA zC`X*YNNRqL38+x1uDDilb54;4c_Q{zE{-Ay2eCb#dW`efmr=oku_eUUSLFGP6Wfu| zDxnu#YTI8_?m?OzGP=D3Vk3{E z#<+IB-L^`yMNs;iRsubywo`%JSwO7=2I z86M-2`G+Sk`PJSxdvr|KPUbvli;gnidP-Iz2uWx9nI;Ba^hC3PXVC$Pr*|S1b}U>nW8If7iWGqH^*{in^ry*TYq~P0uayg{~;luX=SW(6M1OQ&yAo z&?PN0!S`&@=KY02(z{$mlcGC8$F;x3>J@jpZcz7C4XUtXwJ-cseo>sr$Qr~7Q!MAT z3kCt$#VIYL8sH6Ir7hZtjSD&9*X6G-AFF{F?*jf_M6#a3hw_EGwL(jG7Tp8|MRqd= zSEEV3th%lyglgt;n(@>>m7f7ZsW(qUBi|{tNQybR5&c$fTymofQEsZ_CXY7} zP4)I=)eGUK{dS0+aixCp}%IKepK`jXb>bq4+u5x3WIqOPW(-8c? zos{HYefiT^&g%2gG*EQ~KcebdD(^i?<&~*`?U6MWvm@)gX-o<~>E8XuWT(5SBDWv# z>#=g?lN|UkZ?zCZ3eyep-s^b1oW3gyAtlz;c?o^~WoSGKFx||P6cJ)Pq`Wht^i2{& zb(&US4@rStcUG-qsq-C|W%$6K)|zX+sCpfX*_Q5|yuT(n>7n1UjoG;Sg$9l#z$Tz$(GR z!xQtA{!pKlLz24na7B?&DMSnpm07`jxJPAL7TYopBr5uqUx0>sU4q|`i@wxaiErD0 zY(snBs{(D4N;KXYT1j0i^-7*>86?S*J#_H7!V;~iW`1=Qg47;D4upscRG%@N%gb$H zdL28VS|iJD`DNUa2g6ea3CL|c?LW`P(^0_C0iL=+?LP9h3eu7z%Cc&l$jr|QRYASU z0;8u4GDwjT@r54EU&g(+^h4FXDdVl~JgIOxs0<|JK!$g^IEd*Yqb(9&HB%C7I!(~ zGMl>`PG4Gcm&xZ^+(m#F?jpSuLwX&*o!~C=x%^`ZY*nDQfGFf{PK=1Gg!h|A9}aoW z5}Q)>Dq1U6vwV}3q9^@yB;?Wi^RrV(#{D^h^a=!NzjF|zN3iY?ogle6at4i-E`4b} zTF)boRi~-mWLs~NV{6vPH+fd(ewj>WojlM|9#r!{JItzu<5Q8wb_XWhfk2*O4#u$I zapVO`r@k)XHId>0vkxCc`=`D-N=mxSA6PEpah&3!gQA70U+uY_uZ}b~SYJuAGIh+I zfT@Ih@ds+S<=LXXAd3&wY#(XgD8gIG*Fr+I9|X>eULviPMpFjiKilGi@Ss%tTlIl( zr+XV};ZD`PtP#42m;Z9GJRVpSQAwOY1C?63MhMAaUceWkZEV_&wlM&ZliEfiKg+r9 z@p1;#1B$@jO}e}fT&3&{SFq(Kt!@VW!R76>*e+fr7b3fEG026~Dv57VDu{gLGlt}Q z!%xdA{YC!BzZ$Qtm$2E}(o3G;sUI!Gch%0VT%K9FXox5-TAj)afhIjI&Ug{YHamG^ zO+QI}EZQkNU)*%ER!dRxAu+FoO|*kv8`YR_t6&*}MI(e*^&xit#UG130T^LF_`ls3c| z7kEjRYFYFTO|~3tb#LI`@P-EF`@+i?OHWf)l;VmFsJ4+7LVKxOuhs66FHvKJF!b>G zbZH`k;mROW48)z8EA+5c)#k~C&@E?ioJizXC`+DimS0Kh7!<1-LRZ8revKZ=tr35M zrpgllVW|mbBx_CIsI{h3@Y4B(-)Ob_7%Jt6DZZ+2B8t76cV(h52$Q85@hv?8S-ekdOt%q$zp!=~AfKi;03dUN}^UH8P zf1wTIn|#Egr$-QD5v z$((ZudqR_kh|~a*%mEUTb;3_GsKI#6M$H4LSPC^){T=27JwJGXjhc`7E`b_i`eHd> zGCdAGd|u;dK@A6ZDbySZ_~pgl6mN>`0Z>Il?FX`BXycT&iiu)V+J8}-0`-;0ElS&d zz76VjnN6)It?Xw(MWsunGyzp4_fCGzZVNFTAnyYBlg#2Ie~Rn_D{d8nA8Ep!XnPiO zlb5p)DDD>=&pN<=hWeW>gz(ot$jl$8)eQy{9lZZ`wh&JB2_3vTeX2kM$#_e9a7KXW z#O-Em$4IpHEpc+5jQdx33+zGvIzAt&|7H#PqZ4gRM#RAopATx#ca8ZKgHA90>2Q;5 zjOfawP9Q5aN}Xgk{ymNEjJMqxB$5}mnJ2@1oR!x(;~I!Og3Orby`4awx6Owo#eitE6^5snJ{svbqTy6-U+MDJ+wp}Xf0LMFVq<9e}@Z>vasJ`2G zk8ZM%!7sGl;{J~ zUJ(*Bx8Kd#2OF5L7Qgsheb&J^_AAG|8aWL>Az-K2uOgtmXpd|S?0tEatUhM5x=%vE zr>q5J!;F2(u@{JKoH2l6`v;!o(h}me`Rllj59DU9#s5+z30@}Fcf0wKgw8s>k^x{2 z*5(4I&&bp9R|vMHDv7XAwd18}=3a>`q5`x+a)}g@Q{*6{f_=aW;W(YVBNGu-`Np^@ z{A3#AuH`4s7&lGi*TQiuFH{zROGX@IHD(FPSPS1A2ckF0&SGf8jiZtrzrs6A^`N4a zWu6=#=0iJny(&rQ$6kCGgdS`esnrc&Ad)X;&%i!hACdI1HaDNE2C6(a@*qQ!Y(Ojz zc3ZLNu?Rp^1sOJ#2vtB?3PJIjzcepF0TOSi;8IENxR{R%cu|-BuE{u+r@2G^42D0i z6?Y5V$T7P@ZcwC1jYu)pxgIW`6ggnQSQ7a`U2ratYGmkdZ_h)1VFWVGFB7B*5!WnV zMR`2NA^wVY$HhZfiBql9i?PLs5Pr+zPeq0_W1ai-e7;1Uv}QRn)7|!0=O|z-f(}*u zl=5M`KKU|o0iP+W|LD_1Zf`g5xsiFX6j11ytklV`#i-e9m7Av3J|}pW;~~Fx4QlsM zL~`a^Zh$9MwN0l=wFk@*R2#i4;bu_dk@EyEt)a5UMTp619xk7jSf9SDDw!Yu4ozCV z*m(nA^s~O$n&O4n&U1U60R7GUV6Jj59AQ3p&)%4%2NlNwSTB;%5ay6VK7wNc&N1md z$H4;Kd22)^ySKqzyQaENQtY)5#)y}oTQtXZLMWAFIt?Yv`~q_ZSQ9fp`X$!KP}*)4 z|5xAbzy8b&pTK)ec;8O30+ERxGOm_mxFh=c!NJV0=eGc8EMrRPg@ciQ|yES`r`}F<-6C} zNn`#U;}R7-`ex!27O3!{@8ErPA76N?)4WxEvLpJ9s;(#1#d1D9Lk2l!?)!ocdtj{b z_~0M);K(%mBZNZ7a$e>uJvb*fEzpH{&d{8^3u7ld&a*iD=g5K1BrMZj+BZ@U?(1Uh zjwO*1BT?cN=AJ*eUesTLIW)k$ni6r`ffDtTyZS(aygPMaGq zObO*r#$(E109(xKg(AXpCYl9`G~ywcu@f?=M@CwD`O^sLdAD{5qa+JWlhyg1&iG*37s zV^(S-rtSN(WtMaPV2WPH7O_9058ey!2frV?;F^4+* zj-O=pNr>~&Pi=Z*eyf=6*eWt5I0Eb)B1!QoUzo0u+ZPmnb)yOqj&6na1h&{~GHK^J z&5i0sEGnC|%<b_>QsPITRP>|dl!AyAnVV0lcd_VKQtg3{!KJ=P z342Q(C&!!pQ&aTNAU(LehMH0JlSip=_XBeLaFl47k*(e zKg0y!WjMNewoH;8XC0On*7pSWcAL>l?#E3*1^Fb{l2^TJL=7KLKig<*jAR7&9y8a8 z_{94!!l z8W*Nm>M1RP>lsyI!53-s$2nw<#mqmb2c_DAGwcUv@xX1YQ6n*f_>RY<w-;6^hubE~uoAhe%9GP8!e-l-7uaW4n$X^|T!*=Qb~ zxij&3X8iM3h5Muy*4)bhI4v@q!roAKZ)hxJM*i3YEm?j|Atte1Cdo^(BW>1dJSnyRS(0>fQ@guLAEz=J2)5kdM^3X!Eb(J~2zOnI(gnC0gBh9$Pb|ugsJ} zW{OrfQXVE}%by~Hcwo(t*Uz#hjA`92w{Dp*@3tXb*)ndCE{KJ6@4nk2-Bli&be(+A znsl9~|5DNwA9ch9a7?AZc_fJ;k|D+f>qUg&bRSuemSOm&Nxskn)t9>WY;|jQG-^w- zOM@$$gZp}F3nUFO`AoICTJdbfnjFnD-iplT+Fnh6R2~Np^qld0@uuPiZOQPgU{iB2 zM#*z{6Hc!Qr&sE+m1H6c;03{#AWnj1G%5dTIGr)_NV2lS71JAWbqUKwH`ng9EYW-N z1uY+&y{;8&&NdmN>CrCH#GFJ`yY0Q!;uU>d=|}UvuAw2>*VX;{9HlFYJvDE&Jhc=i zj(JDI$;zq(S#k`f*lSqi7eQ|l1mu(;Am@3ogfF$i^QLKqV<%~a>IJD3NaoESN!d!E zUDjB3Rh&m`9*GH!3X5I~p6;4Z0HMT_N(98G@TSz0Dy-0Pfs zSa5Ie>fZ$S_Nnf-D!4bR+8Ny2Kk!4SGM)3~;LjZFE5=P(MMmIMuAE#s1Grr(RmQu( z(Ol*6ERUE9*_~8YQ4qlB0;;l#qUeg^hUgP?h`&3X{OJ z-P%GSbzkU~jOwfFd;jxxr3y0h%q=c^jz7u!l;x0bV>tuyys&>uSRkve){d?j&bHC& z$(VR=jNS)V7bO)X%QY5#l9ks9r!tl9nkO+6d=>6?DfhaZG;xS@oM%dzf81hEzno(Q z=-p;$O3L(8Z8Ga}-x1}hoql8Gw@wBtoaI%)3i-j73$?n3g{y_S`@)MC(?vbB@LBnR zhm#JnMjk0lLP?=Z71zE*s7j-TV9T(;S#mSodQmRdyLGBw6KuJJ?3>(9uwMPv&-%FB zzsqaNRjZf7)XTs&ZzwaLY_LwfbXVZFmOC9aMxhudb$b4DT^62MEX&;hlfdf5tGo;& zhk5u5NoD&guVgb{-QT$oheTg0(}Mrvu4cHlLc2{pCtIB??SFeyUfN3{kp-eP{K8!p zsx>R}(u;t0BP@sa(Q2nbQU8~{caM*%y88b!B!Pgy2}m$1>YzcPfQAY+5zq`Ia0Vxe zcUmvSiinkJBom;D5SXN9GM!ed)>_-jQ){c$_Q7gVyg|4Gya8VE4tRkx4hU-HrZB(v zXP+~Z31D0M^?6>uKOSB$GUx1b&c3X@_F8MN+m7tL6oZQwOUV(xV4CZ|Zp$YEN+Mr7 z#XG?N@Vv`aDNF5Kcp-0d0UeM;LmZ|qY%YqMMwceciBaV{YrBoAA94C(>*r%>D~Y@J z>HLP``3q0h0k?ac*T5Co^{2Gi_1|A-?E15KLrT*U=gY-9kHpBc+JbFQZxCt=?ARIT z#D6}YF;)YV<3i=nOz%U3-51X}j7HuVB<$PC;dLRR_^+m^I&ywLL#p0sy+gj$q9$^M zTbC+YS9)R&bjTXARi|JY?N{LYmtfvE$yOeEiC9TN}8S zVz}(_`CRdRs%YLxxMnt)9c&v*!~13z3W5pM!)M!a0H1Ax0fi^Aq;5E;w~`S_N01-P zojqR4-Pft>aSL7|`iZ+R@aq5vexg<-NfX?dc_7~7K7jZLk^OSo z&_#bPDsbE|ULGI~fw+{y-bR0CRpjP#T`pr< zS+6zPi6<8=ThJXjB+qJ)(UvPvyNi33Z#C*v@I{wRy{7JD%UXD0UgXmsb$-@r=;4;u zOi7nsrcxc#wCJ+h%dbk8UZv8lD*eIK%dSb6Uae9wjYXGV6P}hXovPAjR66OZD>F5O zRVpR=qARCeR+D~ric0TQ>C|gyT#+uFrqWwgS~KmcOlziwxu&%4n#5(U!4HXQy@-$2jS zJNIxc%K5+=@auEX($k;2`Y&`72tZJRBMqWm+=ggGn8es@)f6O8ZqEOXI#p^qHPGu+ zC8VQ0#$`@qF-hFlJBu8(yo;0_uBfQq45JP{3@n!1oZRRRKovW4F3TFgZ1XAnX*Hd$ zpwq5?Rr1yYB>G-#o36|sn3lIXbN?0cmR@y^&91z!SNWZ){QVnf7X5RUeqrtwV^K6& z02G|`V!-fUzX?t{kF{@b(N-ciorLd>zyDDqd_KCU_^^al-`X@yz&)G@E4KDd+K1 zJRxZ=@1%t!(dkrCr*FB2<^^h4rcd*m_HrLRfuP4J#Hh|B7@ocCdZs5CPJ(x~pf$6@iTfllVw|1;vgB8^0>oz`YtY#?Pg==Ug zx`K?beRxuuJ$L819cYN~b?`}vmHew0BQ*8J-OvFTnvmfHm;!M+3QYSlz|qU0a>r_L zV=%BV@}V8Sp_k{>0PiR;*&dEd{M`)vHn+x%L*Vb%7{MXg-xVDE&ay`h?B3~Cl4COe z2zGxb#7?NyjX5?vibX5sIOjuJjc-wy&YCcDn$RRX$)L!U4U$Sz&K<)HiiCgA9z7gX zDH*)P`&#%a@9X*c?eUf9QN-iK+sOPL68r^bSkxP>%*5eYiKy?mWVewB1U?UJYr7e+ ziK9P8sraIQkq88vO@XlSV^iub5Q$grQ+J=kI~7e+#v41V9Sgv%N5KJoR*z9IL!ULE zgI8GCoL>{kP_Zi*B4p2M2;^&VwC<%emkw0BYH!87L z>LrF$Q}ETWyS1KISY0)MaiYd6C@fO^D8x})>*(kSi9bpyfPa8%K8u-8pb`ZJtAFbH zr(~)?jf_~80hh2UaUXN=FLCt-4LsIKC%YJ2We4eMYY6u+vw*{edY1)QLK6*SQAirl z8WoZtjx61r-*a9Dx}A>qpqtNv`C8C@VQvPxOZ&N%H2$9D;W7$=-MQc*Z0hS-xxvNh zUZET8+Ol-T12E zdHE%95#Jzi0Is$CdV_3m@zkx_<))$NgN8|Ra@sxxIeaYyK6_3EfyYRVBJ!X!-@XcWGV%IB^?Q2N`P&6)VKy>67{c1%lQYl-_6}3dCk*rwUg*t%k^guc5KBG9T z>I%jGU{*W*F+2OQ3ibreJ{8@QPRPyeYtnb~E33a?7fRMI{y0LRjN?g*8qzVU1dVa0$Qp zb=^k2FMfIOFGQR5#dzY#M1SzUcUK_AE_aF4kU5JQ_taq@Ep@V0-yOs;N!QV$#v`V z`k_~x#fk_~7aIO35z{zA9C?QHjaK7dB+O!}U@l$JV2UR*Oh^|1DdaN1rmYO_Y?(;p zl+~n@%#dF(NS@ABbN*957NVw{t>5zK;KgG69v$3dHZ!NPti*>ZvSW+d6ui(ns2>#2 z&2DnUc5$e`(8ZK$EC)F0v&AHZ+=}@ zTd`Ew;zT%SP5bW1C(w>OX|OoQb&Xp~5$BEB*Y-k(>Xc{=qovFNM%!yoU2IRH2UmZpt*DPYQgf)t;pxJ zFQGx53SRvJVqYHe6DO&GG6jeo=ao!S4D)$ffRzUUs zQ`{bqS0Aa(NBc$9V{{+jHwgHRfZNwZM~C)DULfm2c=Y)85M~wR81L5Xaa#M2v-khw zI3K1JcbvcDsyV--H_q?$_r`gz0N4&~BS(CruJW4lenzya;;2+ZmF`7 zdY9Khz75ZvR-ifA=QwAay|9r~q*q!EwD?{q9pHUk4nKfiz(BGS7VPI--%C9sJcggF zwa7N9UJqa^$k`XmRB@+Xv14=159MWM^FhG^@5R!f0dLOy4ghqsGxH>Ioztv_DyB>Y zS5kndgXG)(c6n7!ovlkUgXD7FJ6Fij##nEdWZl3(WbgOGLo1^k`Mf@|WN~EI5z~&x z&p_Rpc2y-aw(iSAp~-bUk{1QyRWEUz`HUlj);%k0i`3W;t6YLT4Ma#RG~kA>lc@JT|fSSuHVl(_*V=m({&+N;&&`oGyj9x zM>dqmA}G8tr-rJ0@o2@?O%hK9(SqggSo7{+?<>d3UZL_YtVoo*K>dh5n9gQ%$)+>h zONT~AYPcI+KVlFMuHZ6+z=KwAn>}E?WP?J>xJadSL{`%)S#r*V_al7;qhlsgI)wt_o5##F znhsZ4l(+~YWi|cXF#T26otR_jRS?eq*|A>3@`)klNFl-VRegMDA4G8S80dgUy76tg zL9F&ftWRh0Dq-0Z!E6!|TrpEgP8#0kBSnR<2YtjGt&VSMjdA8a5`}egs@D+(r+Ame zd`{3&DEguOB7)<#YTvdq;(3d8v?SYxTxR3ETm(!GSVmJ29MH;H@oQ~Ry*O2r-wQhQ ztHvc{!{3f2yV^QyZ*agCb28_bz8Qbv^z_9#J$+nk*1&>svGWE}%`09t%iU_|C~-ll zq9+c`)U?5jLq}Z&Teh5zQ)>ub-NdlWT*_YQH!G3voG0Z5L%%9Sppc!>-564Z*X&HZ zX03VU5@F&uP7z9tm;2oCQ|j`a&;OK4(YZgUbNZ+-lsg5PWmjmxhUs`h-ZGwoDhqHg>k4K-f_pw6VZG2Bn5feWZ|Hi6cen#NQRVl=)@ z018GsCQe72!KurY1B-P6^T7T(fq5WGigwaVJF;cReq#V@HC-ms%ozH+>!o2SeKZT> zxNF^oajxIP&$BfzZaf#$GN1PhTHe+3V1#Ucc?J=c#bQ{-Xm_y~eGDZtxtNk3Ad+Ma z(b^M@jFX`u#1oO>WxLhDu9F?`wgZ?|s$ZPlnTOSP01fYQJP0m*YDJs5x?+*p;osX+ zJNzdNDRRdBmtGsWs2hgOl8HzOS0WYM%AIJ_T$_Rmc>Jv#Hh^_dbWGK=`J9Im?xSy# zsmyr_^OWIzk~D4`>)mLVcoR294*4iWl6o-;b7qtCUCPrcfQ^V8nO%EvPG;BsXg3%C zaM`Yym?S|V60#u1Veb9q2fZy-bemp5Ab9YRY!9b){_U@He1&W<0Mv z6hFJHviZzX$>2FdUJ6E^V|F?6s}n9nRm~Tb2I{}ya#`uJy58m$-G{Hy3*jkMWzU5# z55~_at1e#}v?^bEf+})I`1~g3W47(LFX4EH>gdZsoq7HqC3SxY4L>DZfoN1ZE?QY$ znsvgbPSGtlr|6cOQ*_INDYQT{NL9wC8F^$GDPxjP;7SmTe(u!#UhIUJ!u5C*6eRCA z@fC_^AsI$w3#$<&0FfO#ot?)^0GT?wPh?kk&dHHoKe8I0rK6EuwRKgkqYFADo;P>r zginm@I^Sw|+}vGNH-Kk32?;fkU3FH&Z_UNbx}FqwOx(#G7x@V>V38xXUOSxM{y~&D zJBjlzcbWvYYVFnTlFB*CEUED9G@o%rg0oQ$N$%GUM5%M z9q}c*@Ha1+$KTvGx*+RSWO(KvMWdfgRE&Rx;Oz7de!;P~} zrLMpIZM-P(@QFP(pE2MFQ5eRLX{R%e3M#CH_9fDZ_v0PRi9sdUURV=j|uvG1k~u zdswxnRWj?S@98e5A-^D9km%_b-i$1t;OD1kghh<$cs_EPzboIGk;}eddb;<`nx3lB z*oWKgH)J_!o1`8knxqS%c&qVm^h8--GH&G8u^A7xxsP)xNa&xS|NL=AG*gjo z2cK$$=Z02qc5f_|g!a^Y9{UAvc67{EY*`I2wdg9pmp9y~@Zy8q%N49_r8)g3DLTMc)64|>wP zf_)o)<`wuf6wjS{IGr{VKKv;O60SQnjSu_79>Cn`m_tD)qw*TnG>FuSB$6?&C$5Kc zqzz+H$MdHipZ2HrlbZ1K3jC=nnx>ZY&A3yuPx{z7Zk;T-#+^FY=1%RmqaUS;u02HY zKE|CoA>qsOnf_MVXWF0bGTk@3kz;T?JeCm`?F)SKRfOzq}iOr_i0OO zhOsW-UV@VRPaEfRqeX*CG4r4_^I!l{U)!>gM}t{5)6BBTyV6}YLyNs-a~99rFPpht z+0%#Vp#T1AG=W65wFRR&V6-vdJ3DW@pM_-dGm!LRy=FodsjW-#fds*)Q4* z`;wboyRjVSD&a0ya{Xf%OX4J8E<2QquYIjXV;}c)hPJ0OEKBPQsnX~S4ZuGzSsqGE zFLesQhak2A`p>U$JG!{H*U?UG^k7nJ3Uq<*$fe`K zlI@xT^-}-p@j`^N?Q|l8dgmlsfs=0jc#NSEzu^TFU;hl+2bJ#|Ci3uijn!Ll`05^c zo+upa-#seE^l*=J&%=l2>;SXK@key7)zDE?1lbv>Foa*BCnlS0mk3KWI$&^SFtP`^ zPqxhlSzINr+QjjE+b-W}Mb>GysQ?LaT-Qa-Ns(q~p zC&cdhIBoGIV_9+EpZ42?q+>g}E?BrK&EYnns&Ajb1=-h>3%_)@rcsQlB~ zL+VEqF1hiL#QTJwSdH)Sms6#J<*!v(x39Dso-!clg$v-qZ*!#M%u{!?pbq{ArH1Rz z-B-`$v_6Z$tQ-yoFW|=FH^-M_jLvpseGVrZbL4&UXMv{O(Vdaa$BecX4(bvS-P^Z* zdg)ke;l*8iEgyCaMBYC=&^bxz_G!oSPPj{l$mUKhn|lUY-tQRMbb4jycRTM(*0*f# z*m+xYUn0!1XxZE~(D{qX=(`D>KJ4l1e%|KjKNxiZ{jEDgi9y*VNzQ)!RC?<4R%!ub z8@NSVV78{pZh9}Hs4m}UMegAOZNShaR$OV+0of&;QS$kDQNd=%@RF&rwy)k=Jf{zD z9KsuvK9I2dvt<-F=O0GeabuS-yLKV`$V0sq_%tsVOW9tC46b0Q zqUL;veEb5=A>3^bcyW4P^cKC`rXDLu?;3Q*Q!~4n#FKnp_d(G23jU^wZh#=LpVu+YSim0Ypw&Ge z_*F;$fnrnqkj*1~35bp!k9~du9?28! zXzdj1w$U~1#M#6^B_C(+%X_#ChFbTt0{D+8AMdLTuhuUA)QU_NHpR#L#y0oyu{b*s&)aUfi@tEyqMrS9vG#y2Z*+@Cld1A;A4)PGoEK{nv!GhGn$f@b6rh| zX3z28j4r)^*Q4Pp6q6xlVQ%vSi3J2U-~YSQrb5 z8EHDBv}v>=Ty?%^|f*pFu&vh-}NZ(01T#>noxX*=hp z>iMj;Z+z@p9V_;WCGoQsM|K~<@tXxL@v(Pf4x+4JRXC4fJsa74Vw-COM_M1?pjXJEI_cwdv{26Ws03 zlFnW~_cDfbKi%z5w}0NnP&BjsVV`z1y*fab>?MLu{yDO1qV*G{wHA`hI~TJ_qL{m^ zuzOoGdTY=0jMk3ReT4f=G&d6Ly_&{$(cCsGq2EWSADTqH4;sx~YZ||WFC)9IpMGCL zdjixEg%rq)nGW!tomNN`W=BZ(XbbSBhaWq)v}z}6G!j_>-cS@Y67Qe}$qMlPPJg4P zWBNGY;AkmaK)qmjN2{?1Y%o!8Iy4xEPwoy9^Ib^a+G4(YWOu5k7xOKNKdr=YUr%c> zdbInvXZFX3dNJRMQmc+%i3Z*4R>N-iwmRFbhpPl?bSOx#zWH?5U45R~h!@X0L8FRm zQaHq9FPURFeQl}k+=+lg+?!`Id^Fp>7gHOpM+@eDa>X^QyoD7VBHJfT?u`4abh`^W zCCZrt9>y`T88Pkg+65>tm<|I;+;q#)I6F%Xm`+B7A;xzW@9*WjM2=x8fG@IKASs zD8nyz{d3B26rUyJCh9rVEnd*22_N3aDAvDvwAG2VJeCLo!w?G*zqspeBZAcI9?0FS zl1gX(O?qeK-E4%Nj}FP`NH;lsPc+KYOL^0|Y>a1dnW_D2u3X*!4WBl)-N8c0t+bq>dpRkuwV z3wF@q6O6bTq|^1M540LZp$XtOdKb8@9bG%^*u+ih{KCU@n9H7loSnq2q~M&$9+3V$ zE{5zF@)E}c<((3UEWuquCmF7yI1ul()=stB<=g8vM%NC@c|9iw?zWAb2nE|x(|)WK zf}kRva@1kp;$1tc zL$HTUdE+=b*X_0!j>vgjj!o|I*2wS9tMgcBk>$l0`Z`$)b6Pg!@?O)h67aYe!dADs zEkfx$DB$c;J9Z}e!ywJHrZ%?8JL63>E3O4Y-ePJ#GzR`pLjyk2k=|rVvt}H|aadt{ z$TJmXgSrzJN79G#XX`#qey0)@=;wE-eL^zX!oN5!o;QF1co+p4D~-;HgtCFML5J1- zC3ysw*kq^QV@F@7!v&f7x@6fCK8BRsoE`qRU;LRPP{fY5BTv+Gg;4Vg)K{!A_Ug8c z!vpr(h@LRNDK15<_0Nt)7U%~;hG-U<&$X5op|S|b&JhINhT``$Q5uRrpofxI*@w9{ zhI$HI8v`D88Hr7cFMt%M7^7?Gx9)E_EW`MaNE$BmivQfjvonnG3htyJZm*5(?lR49 z+>`oQH=QIYZqezqrT?}$HS|czRPR;1pSDY&k9=6e3Jrf)9j>$31A-Xc--EDSCt@3m z+)O!EiBe+^H7_U51RiNIAY+v{Gb03KYyNu}tAuJr0{HpUz%llOYP55oP`h%OgpeQs zy!9y<<$FMdiH{L-_P0qCwqxnpP4ska5_e_Tx!%lh^X$)hW`B05Ym>N4bBl5p@uC_G zc#8JZvY_NyAfIMY6Eh4gBhY#Yu;WHPoP%0eewIc?oO))OXZoa7_1hBtgrcRP=tRV!8YTLXjlxbD%tUMy5@%t(+j*DOy8TC0CWwb( z_ZYy(42*>c6AR4lBV<(Q_aMWn@Cn2%SLdE`tRgT_4!jLZ)FdG`jn6Z{e;+<=0>A5U zED-HUgD6;?2GNXt9*Dkc1nC1nw0Qg11yLvZn|K{G@;oqZ(j^Rnt3A z=gTdjd}!DB?8TAI>mw_>#4lJI*>|cndYwqr3AiA2hJ`?yUZ`6aZJGOtc*xuqF%j|t zblR4(ZW_jTGUftE0vi%m_J1Jqj78jVGwn3c`{w)sp)`Ch-0Q)|I1_p2LuH9QcW?VQ z;WIOhLIr})V-f@FN0bb#JK89sst9J@3(H+$&HDg&C3|{O(#;fiw&ty+?4QGn^MiS3 zBrD3YZgRNH2H&d0lazS#aRiqnL}BT>npkh8HMri^sAucxpvgtduLn>sE)m5JYhx6w z$2;RTIt~faQ|Ly=!H(QOTRS?gSl6peP2>F0QDv>8M&z@!?50s8vt_;xiN8t;cGVmE zobN_N5wzEBFOvR=iZnmrE1UD<IQa6;%ni1*oJ1db zuXz~}eg zob9ede0&@KMho^Z37hB z6;T2ylAWZSr#UrFBFJ?>O84C@PXv*dwAJuEulR%x>Dg+NIG$idw+E^f`4eTTW~VPp z7eTUvd&K2K!;OsOxfG7OWR^3po6K^Be3z|w_+ADS+1vCi#e)Gw z@xreL#UvCU9w>l;)wqK$Cr)OZ(rsXdtR0kgiul(`g=9PVrjo>D5KlR6k(x)79bG4oOS-JJhPRT?vo+38_s(C}5)KA*)mu1p-1Z~PO?Y%h9< zK4gg=n(A4-+r)>pU4=a{O}4g!Kl0{PS#lAz>8rJ{kPTht1M7M#*;xE+gn``%120I(oxwjgbYeXDUF_8)*2X*2Tokv6lll%eThMB+OPmy zdARLZ2X6cOp`Q9?(JN^_I=D|ZAMGFoPKJ{{9F+oxo_A8{YIl3*>(>FYl?90|$M()) z8$G8W)$dxiRoUCo%AEH6cBVlqLQFp=T?}KyXc51#m>kZLeLce6Bm26CJ4g0)vl@Rc z{EpA?Q$K|B!IEO#N2|8m(du2C&C2zSa8;Br@$^AIzcFbIC zjvo$LQa_?&m+%pqdQPSIG&#X!j&Xj(`EzC;ZYx%F;^SulPnP-9v-x%E!CvV0eW#G& zL!luAJOomh-NZpY6W|g5C+39vi7!t{6_2YzuGq*ZB+QD8qssIXuk!6&hAD}i3RpThlp&*DKg>#tO zTBG5q@r&`aW=y4KlGi(rGbTIQ2mQ@aC((#vqSVUCWs(Flt(bw4ql3fLvYLsG!ZvD} zc!Y>K4d^yn)jZ8)L?N>#pDd}TELF60{otHLxr(AwiH(Zq50NDuQLKXN+gTz1ytV6* z?K7>7aa(I_QFQ`e##j)GCrspiU9ZQ=6^L5=BI5aH+WUAG(!>K+;~zKXz_O$jzN2? zp`V8!QxZj7DP_Xz09J7|8~Cll9u`Lv&eq;uSz*GYwY^tF#CY{Ko)`M@{`3uhy4%@2}E(@%&YrG!JFN1AdM zyoS<}IFN3nit?x;S)```U*ysG8$>60wkc7=%j|tDMT5U2>JG?5_GFVf_kL;Z>X`SZN&EoHm?q>F!_n?&-&r(Rk>a7BEQ!lHC` zrRW%0WQaa8y6TG+?gU=xL4VsM0G9NrveE#jGne@$2f(ljidL@FdLZfx-I^m!wj!HI z)wflVdp(1Z6(lDDRqJOJr@B;Im3xDc6mD?@kO`j(Yx9O|P5y|8k+@vJaVuCEkZTEp zA+Vn9HcOxb1VGd7_fy_Fsy_oq(Gbrc^SUr)6pJ`zT=JZEaEybjHh#)`a`D54fa9r0 z?)s;Se)Oi?K~RS8(7^rG(V-=e!L!V$Fr}jm4aKKw1&T-$*W_#=lHPQlATI(UF2Par zM-|o4x?=CMD(a}i<&-ZmHxjLZykvvl<1u6pAW)6JK$E{1y+}A3NgBua zC9U+!`pmpV3SmDfgbS?!qyp2X`gVQ7_v5|Hh9-&90l7yJoi4Yq5nvx!XN(gapA(*+ zSJLU}Qy8RU4U+uiq2PGOPgy41C<{n78$n^x#QH>v{ES~XD?b;matMnSkU4^-AFo`r zti8ShO9w7q$WGBOls&Rt`q-#EBVKd5-)Eet!a#AelJke+{f?uHq2Yr{>JDKNwS2GN z))V|$ZGev6+f^WdCYZVEOb8-1jRwN97%8@;I7>!J(r<5_rkDB+ue*b}b&in_+pP!j ze4F$+qQi=O`jEIi1ymaJ27Chs#2z9!$CZB?!k!!Qg1MC_k#*qJ0U zs^#b+wAIklXtURe@GYU9AZWs2)lZrmg{`YCWQx0T#nRQ9h>%X#77=ilSDQV!zp5^? zSb2f2gPZJa8U2)YS+@+wK(ufxc)xm8r2BoGnXHrx>61G8V5Mo8Hb8 zZRyN%N)`R;wZS-|ZDRh+y4~UYiF%BKuOXiy-)6108l-RIzVZpU%drvW4113PyC+z$C@ zIi^K28p(lc_=u7^oMgAbc~4k{#-(|SG%kENsx@zT7bvIuTKS}sDb`OW(Va8mT_=ev z*V8jPu}XO?F}n(E0M(Sn`w(d*;@w|!D0TpR{LujZ(icHZcd)<^QOA*^ZIfN^Rak4V>74e3Mrp;V9(WE)YP}-VesdloFeV zHBep`q4>;Hb@`XI<-wh=1bxfx;joZ8&eYMMzpd78PioM#)|yxBw>g^zCPUoK^L4N2 zbK}!=W`BD?OWMka6xNr9;v-H3yX0G+Yd`V8pWS~PZS#5vhkMxi06TtWu^n0B*twU&v{u)C1VF2f z@&m%6_oOjMZc(Ip)DHltao_8|}A=KisE1^w$r zh6a45#Rw9yd(g=yE(QVdc1M~FSz?4nsEx-g!Mo&J!T8wXYTuSnZ17K2HCS;jo+=!L zrNiP@vp7q-R1erU?KEs$hG8LL1ybbYsp3e2sR(Njcoe(PxV7%l#FZ2o z(v^@e0L!Mpg4&=VhdmF}M0+|!Nk&?^6|GX|ag1%`2JsTz>~ zUtqxI5?w!&e0 zNm-@6k1G7!yC<~b1`;1OM9*(-d;hOIPlmmhZ#|Y82dl=~wl_wpaD)mkZ7Xa%hQi@0 zlzWi(dEdSi9;?Ev27jqH2dMCvwl_akA%VI%36o-59xCx+J{6X#@N@onb>0hjTsLv| zrR{!Rk{4-WZQDyH_T{DVZPj0{nu_$2vRipImFT60w)-*El!OkMw#Vp;!+4mS<(1r{ zhP2?5KlDm|qjyeI34v(ls|uA2QOOvuq)xz^tCFE!$sb$r;PI=39h>>;e%0JvC9EV< za+XStp+sREk>z%3qbO-!6qlk53Y|70gF?wy5x01OHFzpJpLQxMJ4YF_;lqZ!g>w(06ZK~c z+qf2SFdoAjTO5jA+usO7%DQ&P5)RJuSCdyu9@^mx1Fd5NKBWtW5|BN_y1gaP<*bT& zj_UiP?UT2>)$klW7*#*( zeBAcMLq8OCOT+)5aC^YTB%q zpZ#6O?C&}S43HC70QEN5n0Nql+zc#|84u@bF9u0k1+gw6kZ-^I=q}}#F#x%}Y{=F{ zMl!&VUTE*!i1o>;|D%u9`~;aq^>0qFe7$wktrRJ>Qp0F2n)5##K$uVgV|ZGBkdT~1 z-tsv4RlFc!1%yI4*lw7%m^xV;tL5Tj*f^~7M}?eI(7~E_Hx)>zFJ2__DG_5Q`9fA$ zH)An)$GU^1))Xq~Wb5E2)<6Zheh4J(giF;XeMqLH3!C#VpgRH674rvy+_~XRuRkkH z{mT%LnN5S{#xHEy^GscIsH-2UmcAwk8PGPR9BpCUUCG{0XlS5(5}nVE@I=F>F;{83 zB#9QKKvy(eo?;0l3stCxrAGeO1DLo3RW=e<4~}(PZfA+9fhScv=q@lN)=BBB9S&uT z>6!2oW`~z5x}BX=@~@1Uez4Ad0)tZ!5_b6AJ|x+ml+IF^1-NUB_FuwM@i`7BqgiyF7+$5%9xHw zupE((AUE!gDc+~WTZ&f08+wuT$L4Oj-Lf$+D-#NdP?U2}*#~>%6$Inc+1J+^B$x)@ zx(M9eS7b%@Q9-a}Q{Gweq0@sq-wl{!3m|#J)wjuGQmHfId8Z+KmJ%ewV0M+(y_Xyb zVeTIqKBG8X4(0aq25oQHukBp5ovXHU-L_|-$KKbWcC2^00U{m>CdscTdf-0BCwjH> z{v}L}$iTkjJqT#8nCI)w!&ax2hdfDiVV$V^wWGhX>km{NwCnSj!6~LrveB+~Ru@Tf z<0w&xRia>+SeLjyZUcl*A;{a&&zd`p@YfNCbpwc|<4!6he)Q=BzY|RX%{Za&($t2@ z5@EStnOCCkt%bXsnPsqqMP^Z_c+$58Y%NvC+tew{A zPb-?jB^}&umABOPwH8)(EsooF$H#A|-`&w#_^dU06>B^9aZzNVwq6QBSXo0TD0eyo zM<1FKh@9pNUo2^XWrWEIyFrE31AGnXtRKZ`)phVOU2dG#QAn-P4rZC6JIxrVP^nVq zD9pKnSZ$fpLt!Z{n3idE0zbKa4IqqoVNIns_BhfU|fV5qj{7t28Me9N~9kDGm6TR`vuB`Ow+-0@QPt>#Hn^pxw`SlD9!j zr7o0$YeWYU`gF+2xergtKl65rQ_xgd(o1k)cb+GU(<8rTFic;8@`#wL;dng=bPvu=m6A!EP>`D7tnKP5 zqvdgF@}sYzZO&RX`9-!Q%Cs1wEg;efCbAH1zquP|qVdD@T+dj$yM38p{OahI;D9f! zdDB%Bo2Ztp{-7^Kg2HarP5o(RQ4YI|O6#74HSYp*3(qpQk?r)fk{-5$O7}beW2hvb z{m-D1oFD?ONyyRC>ym?J)WB~7pg!|dw?9BR|GguGrv}()Z}d@_J`((y38MwnmN5hG zVrL?eAhM~hM`4m^r zMfT$=`_z;zwOc+qHnJzz`o+?MXRXFXe8R_FXBY7I_&F8H6KEv-LvA`-4GZ{+t1fj{ zpeHQ3_?m>Gr5^GnhS4F)yM<@*_t?6z=IOBsIcrjILb!&%7uS`V;)@e+t5@-1s}F-z zF^2$Qy*eFjNo+-9WL_#wJgS!BdM-I&4y1uYn*Wr`cZ`W(i^Af+} zb@S!4#Et386B5(Xm*IqbOvK-cE8&@Pbr zD1XSJH@GzjJYF zL|f`NF4^(Mb)Ae)Qu6f?8)^r-Gl>2#j7EmTzuvc{i(BuMvfkIqMyX+g1_m9{) zqjkh~Ln!UYn>mEw&sdmzmLwf$q%h6g-V&Z-L>p^iN4j!IbP4?^PW*^zYI-)>64`i+ zqF8zdA{$O0v3~lutcA0B`vNT+Iz~2=zhdQx?bAe?dv}Oz?9{TcC#fuWuk)_XtCEkl zZ0uOsxh1+P`InZBT|2Ld?n?dvD!C5H(s{f`Hb|n|BddJYQ%fS-`?NSvQhOg{W|vtC zJ3yZ3_CSln5-l1!;0WanD6E8#?RJX`>6Vo)+vApX%`W@GEdw*#-uu!m%gZj?8`)$v z_v#IEQsb!`S%-Q5xVWyhGH=HX)}xgr`zA}Fg#5;~qf^saU0TN;(gj;jJ-8@IYZ zIvdZLLhch!yqzs$x6e;C6Ff30+wrIQJ_;z@KI3C;zJ=Ipr#GF7|W> z^O_m=p;=zjda=Cr_nO(Frd>m8+G}R`(@2HlQh@_M$nu(b<%3k}-}0Kd`aPNlg&Ek* zY7IP|LXSe;y;yn^b!BNS&bm$|~UffO6hAJ+=qJrzmE830eAg#4?mpRNE&?;5e&Ru3Ot)y|& z*}zodF4Kv(4(2Z7Q=|WuyUd^RTmXKRyUdlyI2wwk=dR`dYAEg8WkO!n2X~jb^a+Mz z@cn<^U8d(}J^y#yW$r{sHBz7?{d_G2F8us5lWiu>gS*R&T*vOXy}Qh>sm}TE5C22% zGE+B$a_QCg)$THXzqrj^=FX)D#WM*?<2}ELV#yIQ$-b^%Ho>trcbRW>fLMCu_$%CH zPFdt`e#@M0#~;L9ra1HX<9`34yUeSPL1o*y%S6`W^xEbwa~m}aQ!yW*Oh_;K-{~_1 zWzXjS)$THNdNEfodW^+6j`~G>Z}@(;yUfkli!$++(}|C3=i>VWcKfCK zm@T7!+UxFGVqNU`b^F*r7mz!7JHPpLoT7J5LGnWg!|z(5sFx32VEbCNMXE_{YR;cb zcJal2YDpDcq@^w+?$apNwe>0Rgv;?Ln(V^Xieh9uxvom_gy+KniQq+7E9@8>MAag9 z1)7GTyQW~}uhCYT1ys4Rg3^?c?M}xFljWdw>68j*mG93Q$g)dUcCs8O_4LN3Dgf8i3Q%AKt zj)S%E2K0O=I4>G+i$Dk4_Y98MqvS4>~Rl(Y!zCgjs=&BuS{c9_8HdIF6 zCo3BP^Va}EJBD&E`kdYJe!lc^-?HOf2cqNHpqr!In;&oY)%CPvXFJV31E-#!Q`fQn z$GdXseqopAmAFobex$2cT38Clgj6ABNRL5R9>wfTJqm=ZJgTs@@~C1Ty)FO(hfr{M zG;~xS(>&pUQT2k1jEMk!3dLZ7vF{ZJ>TmStSPe2zHs@bNrgCp7jE5K)Xgqwlps~%Y z204L>N@f;=u;&8ysSM&GY3PFSUYs4fbgc<%Ht1}^7D_c74yP(wXN^8Kn*yxj0 z48%xxAAQqlGQGe@C|XtcnRRXMXVx4>`8a9%+R})^IN%lVZ%uCWWjngmVP6afex20a z*c>WjR~Ms6A<`Mt3F4Znl~fK@tQ}J8^YyC3cQohURG1mSEJkDo zFn|FBI=_2RT&^nrxGK7>${Mw=N><09d^=sPrcF!irzQ1ZhiHkJn1D-#C~h*v5Z-{N zX+Tk=_3k43J$kD3o$gq^F{oM=( zOtycrbuE$`K$MQlkOp{Pjk_YmF`NR!4?`Y#P`cBJA>73v3ipu8qOyE%G!c1GzqN;O z5PkVZt8pBtUxh*Tmo2)zO`5ERJ#2nOWGWJ5Vs+slM?tX#3j%mFO3zgNVvrzIQ`VWPUPIN`#u}lXxTg8&~>DxaI$S(vvjgmv!v3_-vyEkc?m!r z^!QA=1s0@-m2v9 zwMqUY9lg7Ot8E+gC!q&>`7`-T{?zQ8|7pOgS?zE=eTxdVey)O7oypc)FX}#J?$>ai ze0Flc+V<>Z>*{AFTeDYJ>}d6cJGIvP*(<8`w?5`iavOiH-pZeCAEmD@-%1Z=f86qM zLHZNzX>+LT+UKZsjcTRFYhUDI@+-Vs^U-`Rr$4XDPd?XstNHWR3%cK$5wjhWG2-r}IArEc+auxLr&b z2)&?!x7N6Q6bRP|WE#^pX7y^orj}NG(jnc>{I7&tz`FW{%CP6ndrOzMOxBm=kK<;uNx8jq$bRYeuov*~UfOR>bu5SjL-P;5M6*$?V^+VG zh{7a~@~Ka(Hwt`l-IbXn(#m&f6GV>ExHZDjECZ@!2YL`QyCPtP{b11Wy z$>vZ6364-;s8b3uL%rldZ>UEyR3on^{ET?#8%AzE{F%;gF#5JFfIIlg@$+{wU^T)>wEAroJ|#0fjHal4Tw zCR?>@^X>S}MyA*ynPNf*7BVu$ME7^_6!&*njr%)trhX+;toibAbJ6XB6c=fk;$5@U z|HoyDH5EHnN~W0S|4QEINf)k6v8`nrGKKp|MK*K%#$<{$E!&VO+!iK&E%rE@Pmw9y zPwTTg_l?UGyOAl}cIJO2+_DJ$?haXCTaw+gZ%n4xjZES8Xv5b6+KSz|S$+GTl__>3 zQ@DNn_hgFQd0AcipOGncBU89t`kFGu?)-G$@>)k_$rNYrV-bJDGR1CW3OY$c|5~Ql z-7%|Qo=owVy@s%SGcv_)WD2)4Uq`0c-6`Fz+|~{-u~u}$OI@Mj6RYtMgo?zpd@0#efp-ha{p6gHx#Xg>Qo+EJoRT4Y*vAlRqz@G>0`jPr%Com0`6r-(;7b1K)|{5A?${o6sG7snHdfn z_$Q}$1qF4d5fm9no}Mg99!eRp0pYXRRHcgEyAzZ27>bg8l702ItZy%Lg&I(5D;)6@Q{7=xEFLa~+A%VqXJPE^3{G~Wz}y(`+Ad5@yT2{9y% z);k$=0OMBt1eLg^3+0+X5fW1Ic_mZSBPo8?Fnk=Yg)S5AC}G&63!R2v)6MeXR)fiW z2NZ67{Yw?lb*tfFq=-=Y<%QNy?&pg2HE0`|wcdSXtS_U>WB( z^(Yt{3w8OjD%u52PmjVpK1}1ws>E+~M+{xd=6qvqTL~_;ppIAtC995AY^Y{_8@dAi zP&~LHgx#6sro@*Fa0yT-I(B;~df~3NqlP;v=~iSVDyV=zsG7=Ota~K!9OE$E|C5?i zG;dqiaYX4+m_Mz1Tfeh=NNf(QC5gKzGl6YiE)r=DJmwcT@y14bG_gO= z;%E8fd|(OJp^G@rCyE4`c(;dcLTAT3b8J-fS!c*nDHJ%S*U+=?D7^XqOdG%*oyh;&oP7M zJtCs9%ya(RKM3E`Fia4`8t3$TJqxR%vbE$OI4pLpY5Yexk?wUfSZuDJ*uFQ&z#fdQ zllrtwZ7AAjp%+TNGqzc6Vei+)H(jo9_v;V;U&+*iK(7%lrJNCZK1Q{ zewW9sF3+CZ{o?iJZYgFOj6cScCOMUOXos3Z+t{F8PU6c8u<4U^g-$kjiMJjp*}!<3 z$M^v^258SSi98Ui$uh^faqf`%S?)7`XW%-u*H~^B_hAxv=FLnX>^v>i17ukt%pz|}+93#Ye zeocI;bNp`RR|#%Mb8#|T&r z7wbdOdOFfSg!Q<&q8RW_ksvppSJjL0BD~Ckxu<-sSMGY4b&%bH(p4&LnN(7oKV+-S z4mJAJUq7pVF}^*=Gvg@b`xjRG_E}B4Xw+(Ov#?&h-Gl(9ihgjLr~2QiE=kS`ivg2w zM5tUr?aFs!`*bATJSmMuomfb4dORhT->Pa%UNl<8|D->D?2~A3z&<1%Yu;ykK(ZJ3 zrkkVYHr}sR$S$AATLsR~oN>_U6klDw+M&COE<|FeP}V1=ZaY1wroqDM;X_N(Cjd13 zmStg`APNn?7Xg7!;AIRzFD@t$^U`PJ#xEeV0ujr6u8QIQbkmNkK(@lo#%g>8wvc#~ zSLHl8p7Z38#`}}aE z=#gLWNNrR$PwkIH!{83+`>%dO-_Je1ec$l`XBe{z%m4^$m|8#(X}aUUDKU~2WV~V$ zO2X>p-fncglikE^gl!BI8EGiE6davuRNy>@d!B@?s2{#JEUF~ z(prrZ7?3=J*pie9UKN@<$fXT#k`c|!I`PV@Z}H-ld4sv@jyR)Cj57a}8Y9F0ZLz~3 zDBSs3yT+1Ii)C6$yh=x%kXiANk{{Azk&c+n+FYfDGey)y49=w{K`TJ4%YM{k#jiz8 zu2#hwkp9&ZBlrT#7$_yjY;;TU-{w)I5oSwbnMAY4~Q`E`e!+a>E2cx*#LOB=#4 zo{a+dAdca=I@dIRuXx8Yz&(w1l|G$gg2Ba)wKTyzNC-zB@sVFtVFIMqIC1&Uj7=(K zJowd-p2uo>jh|Na(}A0}0F!Ob3Gf520N*pp<-e6pk-Kq@(wXrcbKy27F_ zSpK#(?`KpZ^AocV*I*I+_s^+@yp4u(YB8J{n_5~hjz5LL0dFf8;=Je7|M-YwjJp%Z zYs}IozGV61SBMrdZ~}MbB~aHc&tNg zTrO1p0Ukk|@8c&FtE1VvOtTlN*=d<(4Q-OhFy4-GIt>?q={#0CS2emSY`VChICh(< zEB1(6^LYh_N5chuOrj|=0Ud*tg#o8RThIoG2@`t994bCPG6*JW*fsfC9l*p|4Clg@*>AH?3I z=mt@M^xoul6&F#wk2>0lXH)EMS>U~;IpGT7a9Q$X(ReqM0hZ%pOseQ*b~}bDBz{f5 z6FOQ>@3~3tNE!BU`gxKxlF`6FG@afV_4l7~qWEtvOpfJ3S%qM~z@Kg%>Wu`LJY zRXlOgXHGLHmPV6b{O$lWF}QR+MG}H}_M<&M|1p2*SnooH~3i-!^J!AcTM&CMCX+FQ?x@rr0Cq(<2wr4;Fr+d3M5=>0jAKVf;A+2;{5Mhh6dO@Op4ZOJql*J&V|Im`L&|I} zy&DN-%eTqBf7l*2c){piXH*}fWgwvmy;)XxRy5p?@AFDXG~5q`RxUY)EBhhLB5lq= z6_VZGWynDa`y{Ezh>}#%eGM)&mJCd!-25AnEr=+e+Rm0%t z`!F=wy09AFmgEyzUg~ADh}9HUp`C2p!LGX{{D#@GEEe_RU#CzErzOQ5_pfStHh?BD z6z_Uku_#ETcb#Uyp)uQ&(v*2txjx=nm|F?cPD|i_Re>8joDQ0 zCo5eC*10Xl+hmEnO+H$WtpT&=r|$3IJ?`(Y4jWAQ$S(So+4HhD-HUF{+g!-oWJqc< zKCJ8iH~dWk*6dY*9ZO^{o9l-msssPbiM7g_?GVabkp8B^eDlqEv6?=$IECppzLxRR z`?xs$aea0NzhSSFN^3<+hjc^pzY=;Gw-fjMEa)xC?%X%zc%nvf)1BI&2L4^QO!v#I z?&YvpGQOGLus^FB%S(6DZyNea%rg$H?gv@DtH|!%H{{Z)M)K3Wny3c84)F3bD&1PS?60LvJs^)H= zy^TKpe`Vdnc&oFQq?9<R$#YP6| znf|!VM_yQt%s(65Y&Nu&7m8iY?tf}th4qu)8c2ro%1o!iC%Oi#4>4e&R46d^UF=P0 zSY^y=!9?{!opIpZ#5j_bq1fe^yLfvmR*XS~p#eLlpTJ21gNn(yUOA|cx=qU1LxZtd zgJfYQbzmU14&CM;YFj~VTkBf2O*Lwl$gcc0RI?f-mSeZ7_`8q3*L4iVhL$A9%ccaF zbfa?{IGDq=MaPGI{*sOg!ivYl_>e0bQ+0W{uJuF)Ds%**lBk88rvGR1`(14@GJ{}3Z^ZlvWgjtq=RkH(Pe{d1#Z%)=t_fki#wp(uDs&-3ltB$d-=KT=h5v1>~ zh=4pPhAgQrpOs%Y{Sc5lzZiWpH+%^Kx7K}_oDAvfVf|u>`T7?v{N&A8tkAf=RFwR? z=Zay+2H!tRT1#hKEd2lR_U7?XRp;aXOcn?jya^ITMHw_`qM$*ECI)0COp-e=fglK2 z7qB3rq9U1rs0e{cBsb$&TWzb|^i#Xo+PbtBkt!xE37{ZoRonp;?=UEf3IT!ny`OXM zOeTP~-+z9-By;b%XFtz5&vTyD#a=l&H^02i>+0(m)$Vnvy)r61-(_u+L-DuCIM$fY z{V8OrVj#f$#C&xbY@klYN@+TBadiZXt)^U^MW{ytFy4V=%!2>gERWLm>D*n>C2(C3 z;MFwBHN4H#+d2T7cl?DP>#bigkvr!0k*gztrOy>0t#*DI-6EJ+j>m^(<#8W4=S)3P z1%I(4ZC)+`UpWQy?s}uYqkdRU``ptx>SWE>rYVhrmIW_|`{Z*OPRmIXaeJDQjHlUs zZb8V=8r;T6kHbXK)h`MMEbn&3IcPHn(q&%f@)|7_=*HhU&#_NC<(l}^Lm~tcVLI4M zIp(*|PzDBk=LCjYFyzn3pKoj4OpRDl$&#}qv_ylH>>5u@9aNkd-P;^a?xWoEYjmTh zE!&%urG#ym#Ts*5INvM4(@v2rhM2;*df$ znxpl2CwU2X;3CFGFtiYA=Og{VN0x1|7_XNg1;O@4$p^te<_olp%dmN)A{m1fL^w?% zcM9d8PObm25{0Yeu%kPZsS)#Sk%kml=O5}3=W({CBX|rCJ6SLNL<@byNJK@0Jure* z3$Yx(8^9aVnvS$zgrjF+`$}^sGIrX~nk5DSP)%>eKSiVLf6GrAQ zjRjwe4Nh&lnzkhe1I-fYB(m1N67#9_qu}D`As|wHi7H-sB=63}vLQY;-K#7{-)fs} zGZZ?HNbADi&+-+1DLAhh8bBBb;J4Fx`27<0^q`zuOMYuLs#iYPifvcOlmS_}P1$c6A| zKCCH|SUDxIPl1%ah_a!ldK9M$F;YVtN;Dd-pG()3Yb@7^rrC3`uljyMAsF#&-ExU|G9 zd^2YM*{2G3xb=$+Z^^I{U8`E}E5!dU?3N?Wc^}~Wl5=f66Dgl_f+LVW=73sj8QnKp z=yt2mGCJUFzt(s*fCGtBx&e&}-D%{zhH|78fQT(?G5yAEv4Fhx>wApyv8?b`n-jWZl zQAYOG=bX`71tbmJtkMS9_H|Rvcg(k{jSkwCnjBURb5(Z+eE~0)?uzP<`4x$RZWAk4wBjcg~W0R186Bh>G6`n!?hQkS`n@ ze%kQwSB@)pp_LjX~poSRr5&!?e?k;Y!*2tQIeu7=7Jr0 zsp4rvX439V*Xr0cU8{S+t`4!CBlc|P8nS!{t8uff?}wy20P8q(5N}M}Pa~NREf5b( z*$*Mii*FM#2e`77^y$7cgx9|f%U0!?GOD~phZht90Z7M{W8&YAKi9EbE@;ss(v?s< zzTT1*+{#BPn3_ceszcWwli_MB!^Kc9s*>0+y=(Q?N%b-{_PN)k`V6b|B1~f?xFr+8 zBDR^^(#4D7>b^i-dzN2%<5RD%;!fzQb8!LRdB792GO0I@X5W(1m%7Yb)kNnU~Utlp? z&Qm9;ads?2)Sp1a7VMELo_FUgo3e<#pA_-!{-Z5&Q8}u~AzSLEQ)Ekd9gdpj%mJ?t zcD!0c$KrXX%CQ5nQ=;U-_|Rhg4aWe!nx(0jMzs zDMaGr?`huKG}})Xs+}SkQ_faXIC;E83 zHcQBpX&H+Meih%UhZZ8EGKsC56CZfWZIE(6P?rF^=yOjTFGqzLIPFw5v4;on8@{)I zz95jgAwKYfTZJ3Oz5ZU*dp7bS`*ugJC2M3QUZX&4n|bc5EEDIaI)4;AOabxZP?RiB z(W)ZiPUcN5cYI(2HCZdqd8|I7I*w}7EY(8XY@h|HPnSTy!bv%oN*E9-Sq*)8RQmHG z<|?CrR4Y0w4z*se75YoF==uomO^zg&oH7z=CQ~(Yz&wj)y3DV2ezMxcyb68i40f}@ zGcu3ZqOVmm_Vt`R%t34`bqQ?8UxNyaEG#mgS0CarwBQbyt8=1+hhNck^?+CQD#E6C zmKCB*u?-Gp)TR$<0e$RYRS$!bXWgUDsb(Cj#J4F*d({c>Glv|G>z8xpF#glvmMUf* zrqn@D?i80?L9XaTv`F}{tj^F^q{Knm%T3xmiCOZ6ub2FRP3&B>5-a+~xcWmKN#u~y zj=+UJVa`Q{x^?{7>&}hb#uo|+s5{XUz~|4_3_a4vO`NyenP4Yc)eCZBjUo~Z-{%tA zVMKL!hN{+Iy7ferO}8rp9d}kXn#zbWRBg;qFci>icu-oxd#r81E%h#Z^xjR}Cr<|2 z}M7}Oxe8J;AEdI@_r&EjhvYsP1nrxzsx&$Pvh_-k|^Yz%euUpQH4gHyo$p^j67w~__-aXlyo ztR*sbQRv_R6-P^JJPOx7VTED$HS`%ZxtkcYB{^))476gRLaprWxcT@TCP#WPfnLB2 zumJ=O8#LQ@P8V8>$&sK#HS#n$`Z-Ogj{VZ^SZ}(V(z7@DuEzee7EfeMO5a|RzGdXo zt{Nmiwe!5_d|9mI=FE>;lHEFBW+l3{o>m~wxC9E%T>?d2tvV&j?DPliOd_a8U#4!H z=*At8BDLcZVW@K4^uAo%ih4Se zzPe8(Z8D>SNR;lVCVrZ1B7=RLs%Vzlxil;4RkTftYD+PA>h(LTzGz)%QaIVfG!hd5 zvQ)r)qDb_0rZ%C>raF`;>g>|JwAAjU+rhQYr&)E266@N(Jc@O# z1$O(*-|(We*pwyfF?%w0!*P3ZizGo%@5uxqghxb$FuJVd7C*R|GHITuywSg=ds9VLny zyjDJEP%bvH%jYYs(zE!Y5O3`AE}yrStEMA#i<^6DrzTnjzm|e2+=C~fpKy4cnsc*N zhp-4N7QlbFPbK+**7`DC{_s>ty4hfmBuV$~&%b|(_Xlo)|4$sOL33H^`9S6IbX`&B zT8Ft=L)UHk0W^MVYHQ!S*bNNB#@C9U8QKNzh44MCIx-4!4Z5@1I0eN(1dF@C&}aRa z+|W5+sYw_qKPmyB-<(S@+!)W%-KVRBy#iZZ#h(c^y&}%9Pr0zncxZojXW+sbz!aZk_AWb8tfpw+BVDge zZ$c;^H$@xBYu~$)^Z&K>vIAKd3wb^l1O%9@ey@y)oN*^|Ab%`9c+C0NIiG-00c;}0 z`$%q#sDO%`yY^j2Z0uazbq2sant_7q9q2c9a|X(ll!Yxai#ZlyylfGG6y+$7_F_i9 z1UBnIu`Ia~*!1p?cgRLrore4)_C>B$oDtwTPDz0$cv$Mwg|j`wz`&Ro{n8JnehSxRT{xgOs{lX#L}fJA7A`5!Lf z$9B(CzaY!%&(SA;pg*st_UFX=@qVW0*!}2ju5vYx9pG)AbWZb>bKT8%=6jpR4#Z9U zd&E5YmVe*zyq(`DL`RF#vU0L2Vhy`RNW`r|l9@u1?eTM~?$B?0zr^!=+CQ9VC6#MS z{g)B{oyc?pubg>?qk3Au2T%iW|0~V&Vw&e)Y0sy5o=fw@KlK=!JoQ_h9^*|U%Q$fO zI^d@0gv*L3@CXIG#+y_^Mq_jRHfQWzkFnV!4;wwkyPoOMy#Mjk$I}?zCt_5DUjXkX zZZbi~eJOI*JtTbPp%O}A;Kmp!@|w4)%GJcYHBCCFiFs>c-kQduZ}({dXvgJg{i3g@ z^|KsL>*rbi9;Uy?R)3EUe~&%>9-VNPdg6#3Zn#@>O@95Mv_K{bGy#Ha6}44mIgG08 z6jcMG`>Oi8hh~Jw6$N|O-(BnoW-mG<#$2@-4R6-mW{A@EiJ}6FTv!*IQ_f8O(?U7BI54BGO~>~t(R9q8WotSLHF@oW!tAZ5>vlXx-IfMr{`>{l;X)tA^O|X0*x`4{ zt(L29cR50I19on^6$)KlgG@m%N{h$jA}SIUpo1W1LpK}V%^7-pr7|6nDqLD2Qn*Pu zN(xtTGE%q#&Qh&_r~;j0I9-@figs379Om;8OGm_#)}Mv;SbhN!pRJo{iUG&B<1G@m z*LP-De(=?D)z?+HUhKdB$><>N7~S6{S);q-hevl71cHRYWz`d7b2kkd*W^WH{C#69 zrOb)PcKs?v!>f?K<~tAkZ$mr79@-^`7+R{nXlPdn$V!-V;ErIqFyU1Q;sG~^5cz<) z=;l6{!~w8MX)7MjVfC_n?UhQq2OgI)<$=qSgc*!cvcgxOs+U=9?2cU_%DeadN_g<^ z8*8e|E`l!|DgN+!tMYtR`NXX9_KclOsH5DNwKJm{)l1L zIJt;xq3eO9^00UNVb2Q3R)=G_cqI+=kGB}Dsc~IAM%$u;@$S3h+WjX}pt|(178=BZ z--wlmhr#!J+x+A)Vdd{M)_6+WJp9$FzQXzZS8~>5RhL~EJcVhX&ri^2vv!8e#>6bb z-d7rf4$f~GWUS_X6>^Be75vH$pymGY4i*)#mc&o8~ z(LTo(!qcpDICjU44T}y*f9L*KwN1mHTxU(zft#$AC^rUml(&03kZb2~Awr>G0T=Ou z{=(>-D`a745@Yv1robd0?u1i_gj~$F5Dpmga?GQnxf)kOg0rogWmK>HUTF!OT_X*t z*t@@eLZ!^7=@@!cd12KD4wR$j!N=97A@XUrz5k&ig@LL>J%xL47&Iqs@~W3I=!i!d z1)66{I9??UBds1CqrfMSTfvdC-{35~BfdkvHInB^=lN&RQ=&x;eC`ikptK8$MdxKk zJ3CNsAE^M*HYrP`N+gfFxd8po;HgM#VplSi{%b`Q2!9Q9C$`*ubb|!k7JwXWe^@2` zq+oel#%xD<)2!Lf>c|3AX6^+VkHYk+r~42G*5Y0U9I4FBvu4LZQSrba_t7;d=BO$Q z>?&s`s%#omhi+h<6U|82C}{A=n(fsVv+P(kk4&uFY#3!MQ|hYeM4d2AAFI|^sPUI+ zmtG_`!XvzuH~Xi?>kq~QQx$|atE4_t8{Q0DOWfO|>q|C+KEEPJt;g7ax8yHzm`pzd zX9*ljznW&%IqhzVi>TkLNa-RrixfZgBOv7IPpx^0Z3Je{V`QeGAY}L@@_e5KEgx4a zKvlTmcM3>`QC7jvXdX~WkxwuER(;xg&3}a-8Ky_YR5Cxp8t9suv;5BHJz5MH-6wxXMydhD9P(F;W_m+M#=l7yesf8}2c2RR` z7|jFDWjxEJ@oM86(d5ahF8yY%*9V!8YVNmMXc~D&LZ#h&l)v7a2#ND zG~Upvj(P{YTe8w)KuMLatQfF~U?!f@j@lvBrJrk|-cr1I(48Zjue;M(T{a+4J+f)g z%_EzxyP3sZT`gKm@il~^2{y&X0}n?TO)K?MRlCG5Ub?4brB=1qQ?du6_j?J%#fQqrsx9D#|JEdTE}Z+@My zXyVmk#zW)LX~}%!Y4Cgv_2OS-tcB;VObGP9SEFEtb_ZhG*)8H--Cbf#);skIu1(b| zIJ+@bD4cTME!rgkj&NV2f^s8hI=gwKXxC&(*yOb`CCV2O5B0wA$^IeRP;E)G0*{Ff z0HoFcxL6!j9FL%$xrkgRDv?5gd1?tK$are^fRW%)3x(zwUe6!h_*=gG`VF9{nu+Iv zYKN<7&TRi{k}Ld$x$jy>R)*h6PDJK`eck^6P$9^q#mJV|S~7eL_YWUcWJ^0dr*)3jS|zj4+S{n9jj#jGh~ zg17(praAhhbGqq02-Q|Ec@Pz^mQ9HQ>~c0Y9C%WV*5MYTe;+BW(QftYT9}(G+kCr+ z=VkIZq7TCi^Bco3@cBeHP_doGEr3u%joa%OIJe&bG3$^+&g$WRcmyy_=HMG z=L~I*TzpkFw9`;=H^t>#bw&)Tu^^hwN7^<7rpdvko4&`W# zzh?~eutN2$?MdljvRC)>O`=CWL=6J@kIF9{0)D}1hsWnYKwZ?QA@UlsF&Y3=?e9ld*zxE<7BNy$x@ix+Xv}%pp6N9&B z`nn?L#NvI{v`vgzS15br`B$s*MM>sA@a=V)<&7LoSr?svB?9FCE4HWQj(QH5F)^*fpK!S9B6>3;b(K%X2_tYX$Uw z{(ou<^!ly({eZN0TkS2dml1Ubv zFbD_E+N#d@?UK>XN`J~fk&o;ViiuqE>J29*LLV(?x|mxzbCJa z>E1m{#t$}j1YkVCgJoWzpt<+cm{fE zTQkt1cA`V=#P`SqC!DTH{2Pn1c6Zx`XcZ!e;VZ6&qJ8gS2G-uaH>(-jUV1=V@;OgK z)-5{Pr@zCo>=n2%O2;zt(8nBg{z%4E++XjTbfKfXbZD!tRjwp9$(?HJXIzz%WTE=h zq?+rbaA%ep5Pz5V(~fyR>6rI!$GoHV)}_4jhu<^Y;fz+Cgg)F_x<~s3q2JUL^tVXq z2WGLI&t~A}Umr@PPnAAo{ldN&D_fe7upsR#d0-GeeZsXldg+1Mi~W&>_?E=|?b1M< zQ(HQWJ@LNz_#gpE+^Zf9a?k(7oU)IdgbNs9E9U)b6m$QlpQJV>`f11;$4h%G@(EkI z)M{yTRygBeIB+mSmS}QrGH7{qgv=ebXtFIW3FWb+F(QX)d%6XFBNh0Si&ahn?mVIS-8c0NUgUGO`yvbB%F>T3harqJbf$5;_>0*(bsg zL;V7-s61hshG0h!p+8*P*I!nfg&AuEqt;0A^s5;6`8T0vkG;?6NcLR3S+O_BE(QiJ zHixiJCuFfZ{8?;|3>aLfwbo))mCgmtZB1a(ThD-mdPjDu2c2HFy2ksQRJOmKixR3D z*{OOIy;4h^Z0k|{fl>+m2$egbnxfA)_DnHfP$2&b4Mc-5FbJ5+$&^W5}RoFg};&E zbd%lV@?uAYU;Xl%l$i19c4|V9u)S?hm)ZFV=ga+`33($;#<`NU! zy1rVDyF_i`@Jzkg?T6c-HD}HtpUqslc{p&usd6nmI@^xcr&YY}Hvm6s5kp?14yp#F zcFb2?*1gcEDPX;etPP75i$UG~e62}WRwP3Bbz!Te7?b>APDiRe>Y`n1Qh%3p;%Qi(JH?r!TvJt}t%Bu3?FguG^l_c|&#u}85cSj={>qo?$h=KD z#dNxcM1`x~1Nk+o=N=bceeOiz+S(;PqTE7-umiw;FR1+Hby;H1!g>jthN+yD?^5({ zflMYs&x1WI$M3q)Cx3=dTd)S((c5JRey2pt#>OEk-cp%=&SH6Da|y9eBfXBK#Oucs%!16oQ|k9``OopoP;r{85+2E4%P%fK@@uSs?KN!jlWrtP$VJ!Z z0h6rEs7QuAD%Dk{0JqK*(sCY9wP`tzF2fSsxg8 zSh;?zHC_wegUqaQT$Z^wM;28Cd5cIw#HcmOsW11u7xG(p zvafoy$|HN$E^NNnrtYH+`SpB}4n8C~WK}r``!a43AuDOJ`Am0fb&F&*XJe#qEv`-5 z(rS#gh)MW9PxH{rxRH&E4@NRCq!Wcf+_@&uun^@FFNtj@Ixn`7O}3 zE`Ws=Xac_$tip$oYFMX~UOV9vj_ zaFhsc=$u)Zw-z#Kg`?qTE=(7%TugR7N!A>F-&87e%T%5rqZ9gkEcUYY=z^=GJ!E4Y zH_5*~ev$*_KQzHqEQG_?y{IiY!H;!L@U0g!!Nv*aV=SNK+?pyB_MFp%NSGWd%L?|A zYrjxZjXza`lpG+V8agcZpBk;OA>XZf|AI;sPw`X5{kS9wfeLMpd5QU|B17!(M1oHH z3YA%-<>IohJ&jGv#FrOD4|H%EQ@VwO)Mb9cUS=&<9d6X^h>ER@fPan9F{acI9t}cd zKj=22PIqq64e+13v50hai*j4_FUcFxi^O5Lu4`Vx7@sOzPn}a@W^B`eeu9RcD8O{L>V5MZ|2Ergn1F4I;+8f ztwm^qz9HV0~{1&bxKvY+A z+kJ$SnTs}Swoeh3xV6G{S&5bF^>Bmj3EYm?LDzKwhAqGJDYYDRL3tg7H}83i-@J|o&BW$IP-a;WU2V{&*+fD!rX zv>X5{*9RtKW}!nRFAx9`mnfJBQ+}s)Sx{t|OY$htfts>1(h1Jz-R9+-v)r(A0EXSt zG3t?F>0+cn02LR{>`3r2XIu_1=qgtiexohkMP^hNUQ&ZQuuZEU1eZpFQIwELTXMF% z38)DduDRDsVf!W|9dW~rGd~$-QygbXP6I+2Ad`?S(xM)IA-}KuroW)3kcN`C1Yvjg zv^O&~sc~_&kn%2}C``%;P;KOR)WfU`qz~PyBRL4G>17KPBE=IYLgf3#NhW4Q8e{GS zEEq1!%!AO+9qRXy{49HJ6x^^U@isRhYmYGgwnC72vo@)wsG&(};%sv8>j;dL24&jJ z{v5V?obCYP7Vyf(K=Z}grCQ_rkT5a-D{?0gdfUyfBN|gox|bDLn;*U^o3+83A)1mV z6wZ(a)B^3HOzbh;`IZnPy0qOwiflpPxGKxM0D4cAkc_ItREkQSQkP7?Z26^JUm35U zAKuM$305EejrFnYH~CUX$l2oU6T~v}WtCta8OvN!#Hz9~3mCuF;+Qt5>SQ_#s8;Sv zCGy*ab*h}u;4w6EodD`5riPmpuEJUleDT5t`v@Kl(aZ&w=1J%7!9JD#s_X8xO7vuX zOgRP=+49l}*=h>wjY0+5{t&yQyd$7R@#uFJnBUcPF^2RbWi&6J>9Uk!K9-lMs z@OY$3aDM)88X2x05|3pnqLRXM&J)d&iTnY?zu!4s}w--s75*SQ~TUD~c`q1(GE@S?1kbMsjp8vrD3K z`Y0cd8RYRWBRO0$lQvXE|3PO?P*Pf#onbnqnR+rQ(N-+)1bJiAPn38a0VVs(hXnf8 z8iLZWO(R8xVa#W_@;0RL%>2gl9zGvYqG&WoK_OVopMIR@h@m{H<|9XX^ys2ER*b%r&4|CUu?MSUoaXscrMsc#%*^0~%dK7r8GTZM_W9UTflpEv_A*_%A`o?h{W9 zkzrp_p#y0Z`Xe~BMZN2W0tinhEQUMf=4iG9xkFk!N-UV+!C#1{sS1UaE?nJ&eSkIp zFjuh=ur%9knFFvVR91TI6T}DePQ}t<`4w1NSUim#=HBa) z@&lJ6@cs4+#pkj>?C$FIT_p-B{t8m&UuL~kk7T?9*2z-h60HH1bc-4L1rMTy*_^p{ zaZ)7th57ZR_MD0#shUu~arvun_D}g;_U$KR{croW(-=wFi>mWe+0P=HjMTt@IF#j4 z3`3tb5`vMF&Uch3u~~%KX!Vz_3>LG_CtY%e!#AzZLw@JV_;!)0pqNq6oEs`}26M%v zDpwEVl&fr9Ra_JT6DrS6bsoERSTT3OvP>jq4lS5`B|2+!B>l_6@$) zT$#mbNycH&3aCpi4_9TERb~hO5xtZIyqW$*G-rqNjHe_j7}GcSOC6n4kq}i3Stp(+ zagcc(%U{{tXH?Y{eF$z9RAory8ZO{DI*LE| zS)$q-2;(n0i^5Y_ZQ8wVIH5@7K*9xb1M)2BgYkJjZ1io z{)ulQiM~e)RQ0=}vY*y?hsuV$l+}z~n*bg{ldAM%0q9IpE5m)(SC#cyt2GYgttt$f zRRB~vVLg0r0ib?TRu(H)Rl?<4oNCG36U~4{-DpY>U&S2SFY%Ms@D}}?KWdUb=Fc61MEb)eC=-%c9et-CmB6ss0)%E+Fp8CB6n?mTr z;l#e+s!$=($6(C2AZ=Rb)4Z)(!vNZ@4v#DF>~D7lx>Ypa~D24>Q5wCT%en$`POQj(|+lB-YEylg?J)|8&RSatkov2*Cwpg+SdL? zE7+{HZLX_0>BqW9$xG(aq1cZ-`_r6((Z29iEEqJYUV6x*J={{!&_?Ztl>6paWqy=_ zv|sb?8}erCNogEqd?9vyW%m@Q3<$(qqcf;d8RSOi%Vqx2#$0sh#;|;=MuonrHSZPHi6G0>oSB1;t1V&9 z><IUnD4_3Ob_D*!mwZ%)wClDX$(*r{>oCm{9 zI+SU-I`L~G4-JVcHj}u4JFtB=#;k4nGFXlB-$Hz|&+~JX1uqaz7( z3l(t^D87|FR*DaHIqWr zo`44X>v}l{g_IS_mOU>56ia%7O;G?%ruh@FDFXL&VE)r4hDDg8#@$WBltjf>x@QSrLxEg+Y`W;ES$S2GE`kO+N$nQwKl)k(&3%4x-NyBuPd~N{eaB*_YAwXU50Jb@~CLrv^)&Sj3Mig>b>C! z&wnGMGOG2tHJ&8XM~yqt*q=Df8vC*pGWG^K zFXC@snPYbUPO%IJk%NCa+|aRbMTIHbeN~O88F_I!R$49QP7xw;w_2s>u}=CCr8RXQ z$I#w5;4u!Hp0^RgW97Q!mp~pUq~Rz0dX4y^1Iosqff#H`2T}S{GFUN8g z|G0td@fw>cU11!=#O-yjv0W_qOE(AdJ&~*NHuTk^{i>EWsYTp3?T*j+$Q!vT?lJxo zJ5x35qPYs=P=#?=d_iG%yZB^MAn9q5I2+zlED;}Wb2seM8oTph#XTZo8ZLjekkZ(W zWVK2ZSn*6rn?HPsPB>yQr~5r$MS_8q_=NmyFJgflFO1VZ{%|Sb za^(j1tz4h5{!ar9kq7L`AHCVO@`9twViR(B{Msbfh0H-y|dmf%U z`Q<3f{KW{lKq9JQlc-CGeF1e*CwU=w4Hyyl3n8ERJS2T9r2qnqA&>-E8bF(Vv}@gOw$<#LNHfQ8jMiy^UIb^vaJ^t){yqHZQ+^ zmCIef#+9hZZ&lQfim*SnD>{a+!YnKs&iz@KHu&H8hP@%C>=|4t*y~<#@x9a1g^Lvb znT+b%@viyVpN~RY9g6+76B%{h?<{;IT6WB>OE^3OfjwV%3T|K*Lgx`irSWOHJ!4VX zv>Ack{M1ehoW#$pXXZb>QOWtGh^QzNDBGU#=$v6p$pdzAg^@I+NnAgj%J^4m$cM8t=G9@!zw1%Z*X&dRRwuqm1S=6s(V9C@en-O~Jz;V2;Q9C=j+iv*BN>! zmabfA5_;(!{Q#O|!(G4RBnuB7!p?z{5Pw^L6sDtAu?4Ad;|HFXg(&oEW4HPcKY5KU z5*|L1clZhxKRgU#a6%3{>Fw&mZ(-cL1Mk5q@7F3!ga>|Y%%@WB9J^ev)mAy~3KO!r zmJ_RkED9S@Y5$n=xk`ylS{}UEssV&Lp`dFG=&Qw1&OMk?-lvWI&>s;WH6kRvgoBc(*1KZoP7bAEjWOGJ}|aU$x*Abe^OfepKNL*^RZex7>WkP1E(#ZkX^yGQ&ST-JvdD zv9tL$?UqZsQ92{E_ZAB0^L?%q24!#(3hg_IFg8u1A+GvnNmbyEyyY|Sj9$EP=IMa` z7wYmQXle}QJoR|c%K_CerC)fO_JzfxSxn&GC@wh?53O|%663Kfsx_qcgS`;>-U(Q#t~M(msl>siy`^@ zU5h_5$c>D}?ZZi%*Vw9HbMOOCC=j!tgmJNgiT$XcMD{ZaSFMfNh%w4|03-G~)86|s)-4mc$g%e!&QIulxgk7GDZFJN;}X8B z;L{t1;FX_hMTrQUvdg!b>FtM8Jhgk-QiS51(2Zm29be%_T^q^q#3pQqK_J^E%bw*u z+&@I!F-O|tB$Mn*f~l)otrt(NA4wC z5~H`h9@2rc`})Gyot+cg-Z{yg^r?j(Hp+ztp)qtH01l7NZ+wZ$tZ(z~YUdG45uMXh zx*Q&ccFhDQQx$y(e`60nU{#s|ybcCZG2Y356xZQPwD6j!;l?a<2yF>DFoh;{$9>|17vn>E>z-y!!qIXL3Kc^FtB zU=S%Ltfxac7XYc!;7r&&(WiII_2OW906mn0S%HE4&D0tr6j#rC{NmE?&Lh1%jZyTBA z>|_O4_DC|SRnirmUO?TO>%L;|B>cA7uFhibu(qN@C#Re-3D&ANe+b+IXlo6Z-Dchk za05w$5Q3PFt?Lv{B^Wd5-GKu5IcGkTN|M;|P6|5LCo=q+cjGz!$5BtRZE=cqn zEUo&Td%}Kqg0^-4Q1(t;+FSQN?VT*`#o=v#?>rsX-v51hqIvr7?VY}b_Qd+v{K@}Q zdqe)0_JkFRzOYL%7BTF*D|?yZ945s4!@9=@)@35*Pr<+AVV<&or?@O5t}<)_5nUq! zYWyI84-b(`j72|ww%8aE*Y==XnXtNw4AnQ}e2F7@MJ>-hSKW})g|OZ^?x{}GdgdhSy_j%~x8u%|`3P~3d>6*oA87jXe<&b$x5 z;TA2esBG+9vH(ABd*?LuRg``er}Dg~BdCn23g=l2Cm2Bmxxm=V5%X(`KUvVdtJEEJ-)zu(GkD#(gZCW8d5(|k< z2>X*7T(V!vl!m+VXEobWJ9JamGt?#f%`N+_MyyJvo~RNq;dd~aW!t(z4(3IjHQe*R z)j-MF=8M$f!Cfe}c&8%w>@D@V%+{6c7Fu|TUx|I&7nZ{sj5%P=h)aGLT;@h>gk$}Z zuW{;O$`fCoVADxevvK%tKKzk&g3K0`w|XW+YH*7dx2@g_-ws+TZZ5wECAUzj0q9d) z#q1liI&BCX^m9oP?v?yk@59N%qSY-t3ZVg!Cv2e373zzcp<1DUkZb?XEA$egBy~AM zfAUqO7%D3?l)C=66}p@9$rXB_vj$O3_#bLeD^yG!$FI<{qCd$B{h8nIS)mUBgOn9I z!W^Zn&@&Lq$rXD3lmD_pV$3cp)c0+dg^w zyS!oFJbaeCJ#OWzljn!!OEzB?%UdIF+DS22tXr&K%ol_9Q#_K{P~t+!)y4CkbfD6e zuF_Ls;{lRw*g(nYUd)B>Aw}@*&;D$phS3(=mU?2R(BsfQSk{fjOmSV{bfReb@uN!c z;$S~tyIYP_ho{Z0TvAR>pwTO5CD1N?&C}dujUtpewtY1We7@N{*@x#_v0zUX|GLVY+Vyoh6w933+oQ@dp4QZ*r7f%o19w-O2>6<)# zqfaZi$vb@H0vab2^bYgxF^WCXQ*{R|hIh=Z)heZclo(nfdGBVSKw~-GTEnN#1wF?9 zXmUM!Bo-#6_gsP%pbl%h+S4sOhkv}%aYOi39@e2$+|J$v)DSGX8&zYnTE>d zVKcoY2WvCY=#LeaH(xi?>1pnBTgh9s7qem<{!D9S)3B+qY?G^|T;y%gLdA0Il)gRZ zFHuqa)|T!=W)}CB970s4E#0gw{ThHM--k0mZHc;2mcFfp1YM9V`!;+N2W~^Wy!73Y z&03Y@_LS_$pWc4fdEV`GXZ+s z!DD$-OA=#NBxiYZznPWIftk1_bOp|^c1s{RE;aAb;D*>4(mu8^m#hBSy^``VY@)aN z3)jxMI|0$Yur3}3eJM~~1yn;PSx{~MQ(UF7)qv@{6EIz1!}KqOj*SezW4w|KlrkkN z3h1f%>}Yi^es+~gk9H&7C+WXb>3JQ8l6xR%r7R!|+)LRNAC6LcU>GT}U7Zl$<^Bel zyH^jRLm3%%JM|)f6Ipi;Q}K)cN&*)m37AFDG&uychA?T0cRc)BIV9ue?b$Z(xQQ=v z(IjN9Y9D?#eh7{Zax|mh%1&od+ z5|dtzb$f3+ZQVlL~(|AlOqK)VO zPx$2t{{|=hkNyoVd_a1P(n6%yGR_wn8z-3dL;ek(AfNe9n7Eqq07BDk4=Oz*^CG%n z)^UEFK>qXp8-6*RNfe+C_cOiWS!Tw_aQ18Fi{M6Dz|LD~t>#);5SA!rCKjT2)bolVY} zo=yj1_nZK+Af^3awvgcBo{e^`j+$pgtv<NqxO3m6+5z8r0yVanZ>e9A3Z%0S+B&IthRpIH|GRni*`#q(v z*LwVA7X&e}ewPz02!WFMLw^R#RkD+xv2h5xv1_JUuA457P&ukC&~lH zN5d_L+5@PdqV#hwX6U#SuFxuXsaiaE=YFIWPya`7%>Q=j5hPSuYe@{AFB)yn(^_Te z^!*vyk`^AB#|mRtHNL1Civh9dUq~b30?J=+dyONpw}l9C>1Am_PEDD^3!KQsaX6iz!{w*=*?aYKUA$QCeW^^#QCZ=r1R=smYExtbn$Tq%RGwy9n*vo z>l%a1N@F^92jWnnbD34e(Z5QarH5-LgFSPpMNB*03I>ldEmD48Ik(iU$;OPYl&YTj zVUIqRuDOCI)sS{dhG{n<$3W>9!KE>ndQ=F1&|lc0ExupsY%f<-vknM?NDs;`uEB8w zdmxEO6&=WXj=4s-Y(gj4=rkQW3ZV{vD|jO^Jm0S{=5Bg!VbYttvT=u>$C{bfRI29( zN2@#!$1kw4sz>F?`~BB)06?;SW%jpH3do`^a9^4Ck5mW1j-wZVRlC|ha9+bjzY~@& zE-g$<1W<6{wrCkI=*yT;`47dhb}jTb8E^`29SUxZkk*{}8Q$@2yMef=W&RL$y#|km zKa5?URb;fnt`j!O#MszXJS-lAT^qhW0d^I3Oai-3`yA~0OwXh(z)|z_LCnQ**tJY5 z0>zF0l_(jd=vPfn^5YYNaI^n!g{8^$1K)p^|K2mL`i*X~fk$Rl8bdp9^WVXaML>^-H|pQ;wDK$W{q>8w zAii`&V|~8^wc=g7I7n_@jX_BNdgj==&x$)N_8CI0qv1Pp_QBiL3W+$^yr55W=J;_a zZx)d=o~M6Hhv1PFYdP2u5@|kXJo9e3CDC#@1n4l^hu{4mh zq8f6zMB?^njiQ`@&~1q6DcxnP(Hh5c7DVMnE?w>Ka4aa5hlTX{LD4GYMLMZ9+(|AYMQ`HcDPy^7^*@%`Go@T#1V-H#@YH6#;BTjV*a)-Sti~C%zRC zXqpnrq@==P7Jli(@rljVoVjBRz(zj+wh#7Mz;-5qMva*nHhpbvaAR~1Kt=QsIiRe- zDw7LD0GHsu+6pj})zw@ATZv&-FXl#6+fg$22}p<@PkDIO){e^X{H=$LouTb5T;Tf{ zI~Q$t?7^KEtPJ(+I4sZEKI8R8N8+D29P=*mEQ$*~GPkh0>^!aEWad#t)@aYz>evcR zVa&G)-Wi11l#H=9FT}?Zaa$8QvT$C}zgcJWO5zLW4pcRWCx^&r_ymOKFtVYTQ!2o# zQ4{U5!1GT2xBN)s^0tQ5xRuI}q{`c~Jk(RWwpb`Eukl^z(-!=t^a&EN=etFp%D{NV zmgDzivXU4dN!f%grG)2|cs$*403QYEj$n<~=s2(m1>1BMTuj|mZ-s4YbybM_&aTE^ z^BA8*w*VKyJ{yVS>*(hKF|UlE0DA8u0#{Q$aEGVIm!3$q^VpGA7`vmtwhMQY!lIu? zcQl7|hrhvAuW|6e<^!$rqBV?Qz)G=9rS5MXp*5T?Nt5{_>)m)7&zap}*Hj*nl) zTYH&dDj5M*3vXiEgFC7gbXi#)*=Mz79-MA_a6hhM3t*l=7^|pEtYI!XqH)UmY!!=2WzsP2mq9s-=I5P4E1>UB3!8+>97*GYD? zQX`sl_pK`5S--x11@{Vv`$Z=P3C}sBS2HzK-J7cSSXF0Jm8W$lEo`TS_4Ub?WdBtd z-&Kf!4INYEu16P#TtZtDbRuv%idMnX-AmKl4RP^PnfH3@AV*Zhr|zZBSRSc3gi>$m zXmV+d|KvGQI}+o3chlufRjk9y&ZX zPQ8tt^p&pCQyHSWenY(?sTg52NPY;xx9NsiGfWYJ&&#t{J&Px`cGge`x6DPP3&{lk zVnV)aNZj0Vr6T?YkglRGS#ghQOI7N*k}C74Ceys0R5_2>mZWL-Kgr)AEvy{s$1god z6C#fXpZo?&we;n+CEWyv{Is21*dc5#eR)$~>e3^lrt!L-3=c_>$hb@FuWKb^WYp>E z>-@D-`IN0b&EHf+dN(_ru8&K%)4^V&((H7w8UdfAp<$aa=O~@ODFY)CJn%l}48^Ae zIwE5?)gSCRXOD5Pe%mMYt*@ehr-gLV!Cd0V6Awt z$6R0}^QmNpZr1lV(qbRCbsLPrwX}5Lz1UCd*A+FLtUkuuV=FuRB>bEj=rpqd&;$$H zbXR=fAIw1<{+9OJqddz&@Z3*K&Va7*W3hMc%i$7~`3>!wsYgVASE&G((oYu16rGGBXq<{wG=$m7%7=njgCU0eM5VfxtjM18!K zYL=gIqAzz#nKMuH=*tLc?(`FVd66=) z>yBySr(};+9h2Bc>JV|)aZ9mVz6?Fl7nghyHG|{IeE!`DX0k*EaLS3Yw@5{UPW0t8 zDbr7VNyy)81mFlpq!;eN_}V#_Xjx_fIl6|(+6hcvg<1lt!FEiEH_x`tH?*0KYN6jy zBH_8ZNDsB8DKO4<;9*D^4}^~P__vUCXfl0_*1+A^*8=h=(W*Nde6j9G<e**hkr9&?U{e08k3Br3 zC8^KA`CtVH)I;~cT|QGsX&xmlgx29JETcKpymow>3+y&$PV{mcmulp=SVSU@3>sTh zHWb!2!CXQS3|1XZ$GLl2cf2kR5&%ft@U;ZGF}H!<9B~VAywD+@AL0XZKVw39IzE22 z!g6%b~;aPi39#lTS&r z;{*RBX{vjc!9Om%6J?}=y!)*(*zxipeEpv{+xFp!Rh`YD>QnelW>m0!iD-Vg=^x9a z%O7c=SIhZ9DaGuB zsS}%>$fHy-Rh}U#&&Vu%Afj1@I}8dsa1#k9tboDIR?rk5xO}@BtM$4{ZfLsnX~>(y z24nRj&4K+y`9SIu?K!tVjgF_T+Tn>tJ3IDrqKl&WbTLRpkO(aTad7R-+eyK>m*qJ@ z_)!+8t@NO92xMS~Isc=TLTsvr#gv+>;$$Kh>dK{V4Up4jP84iKF97n9T&n?SEjK-S zh9KNCV@wQ@mXl2$qQ+R3S$O)w;@?ocj*+473Kt@Dpy7RQ?y~fmk972TbMKXiLw-(28E-y zDsXeD3#qUq>HWF@lP&xLwr;RYTbdI(bYUPfbZBr81b)ma$5z&tUKkvW#6yo%!j(JP zo2AeeUnpxoqB*Dj(BQy5+R`_v!J?{#jT{+AMuG-~K9^ylx`>HK>tu4|2K*bSD7PyP&-h$KTer!hRIxWx<lWt1b{? z*hUAa&w1#sP0rSc`fZ0k`LQ{ct(+iA)2YF4d>#8Rk+AP0i%RX;rAl29 zlyrp9mF@RASBXmbAs)qw=|FtoD-_}(`t3L9;`H}gSlRM-U*Hd4CVmLD0*7!D9fbj0n3_8-$LwYDyL@i1xyqKM>HQdEtB?m6XW4P?$ zo4(4mcK#iFkpL0Kj;JPwfVcrd$b8^EUDG#uUKU!6>sQ;}a~%4jgE{95qoRW}&r9;f zw`}w^_m{l0=JugnB!E<|4kz8RQgV5W^`63&o?BMlOTJd~6z^?YrdJfcU!lGDW_9Go z!(1n-W|SM=?8D_ePEwCYs|nCfY}2jZW&%C){vH)iqoR5vPAH;_WTW8m!0u9_FLLO3 zmZ@H@NcJT%{8Z^Lcbfw{QoFRyQ`qXcr8U{5O>}89U0PQinVRfUhU(H-=~4z=+M3#> z*eyCt@6e%Xb1ybF4V0TAm#14=tO|2)TRXjQ{i5xXti6~mgYxI&+GI5*CpcU^)U&o% z{raNvrU`Je;;+X}P7K`6)42cc$prb#j}MMjCtA7ehg*Tj8@xyEX4&J8Z|v5T#yl%z zhKB5~F5Cf7)ZOJ#`vZ;bK7rE}Se%V#aRG}lyA)X9P~K=C6%mm?=mf)%-zi|<<2RsR zu!#rhu`LR08k_vD{=-Go-gqECS2zyeO3e{ZOaBF1X_d^wM|cAjde$G1p%Y zXZFWA$*Xd}(tLcAkYtzn3-{r9#OW_RR9iMW(&s#KIlJbHxA+S`B}R;O5LomWqTkqN z?v{UgQ5_>HQ0YH-w$%oISt!JIJqEvLJ1>TTu=T#Dw*Crjy*Q1J1* zN98b}Q*;$y;wUZP0Ll)+A)drx+0%!jL@-DxW9FVhOB_=iPhXhsZ{^_q#B8c(Ufvum zedx-MFR^F<Q*_>4sHb4AdS?OZJ!r3m@9gV4 z@FBv+%I5iljNC_)NQj zurwKiK(kaMSEArQ1-L$=C($8-{pk_1;uJm9)(tHTR&B)l@@VzExA1P-6#FjWlJra=haRa9ldraLi25(^b5jiin$ z6qepD!f=3F>9`*e`6pBh{Ps6J#%@o`ZkTp&w1{Y={>bQ&PVnZGQ%!kMZy$e}B%C-q3x2|1U3Xp38a8<#Rsgb3XUek{>)io6JEx zVSPy~Sg$n_XT$44dvkJk#ja#WkN;7==z)NV&wI}oNJbvL@Q+4$iDM=H?4eQS*-;AU zRbzDHWGB8!rqS)q<^+rvDlP6GJ&-Oj&PYTPnSwDND_eW&wR|7^d~)=2+)>}N$7|Nt z2Z+N)mp>k{4DfOQ_{972t4LCGouJ9+!rRA)26=dL#S29ML`5 zx}Bq#>vj8<#=i3k2KzEsSYNXxcCeX9>{}amBfk-Uhf{qh{1~}ylVo66WN(^o9Z6(e z7ROR7ar`?uK@Fs7aVF0%Chz8I%cH(WMCawU9@baCd7V+2>AJkZBb?T5x3NVoqOmM} zb)$Rqwu{!~r|}qG&K-^Al7+FayXHjT%H7r~8&;9YS6r%|uZt-t%rbAKeB0xlyeyj^SDVU1!6 z$%e~&fcbV5)*D-#)_R9kPP?AlT6ib8AKkziq-`}PCA*3Cm}vWr4Z%I>706`IG-z*f zQtJ|nrSiMU_1c?Jqk-1{sH&5-CIG1x^qbWIk)~=_z1=|w|+ir+}e`JFj|7` z>BVgoFy7BJNQ*V~(ud^w3Ri9Y;@6T<$7(U{aIpHw3PEiUvApw<3vwCZP~Rp3VAa|@dykEshm zqb5hReW=Uc0=Mh5M~xXaly1fK@qu(+d$W~P<8#~8i1z0?=WY<=g|Wd|xFIeX^XUMAs^JGKFF}dFXV$sqA{o%<_Ol$N%Wm0Spd|{Tp50*CH^(Nnk0E6)YI!I@?q!A z^-?6u68~6=eAW5%GK&1W^JcUZAw|PVDIzvhRZ9*<

          ze6RhtiMeLj`EJd!6r!su; z`A+noBzh=ye~5c2*vAsTPYRZIzSwLQl*D&c-{He8se*kiaR&u?BKEdK78kFjUgcQg z7xU^V?ai#YEhe6>2T#}6oDe)+FwuyLauMuWFIc*AM!L4LIxV>=c&3l`_*&|K!~Wf8 zA`y;zQzs+dUOo**FH|{<<-AnlWcH*c zdIRr;3C5GH9Mn7_<|yM>^ibN|q*{iD2B58o9<(v72rg7GmMiO1LCAM|y(}iy5i-3@#u%d?#;xw2Ih0TR4%Y=FkW2^Wkja95& zV@khPW^h2tso1A|m;(0uBHhR|ZbeYq!?_34Xlb4z>U6A>a4oV&|LOElQyo62X{v2d zbGj6w!ZM|mQl;eNa!y;%)#q;6>ir?~bN|JBSiC;AjG~U=oYpW80lQwjHxz$vSB}|DW`5~j`pUr zpkIYCwIBCd-Bc|uswPweY&{$u{734Gi_3oZhS=#ptN7@yi zO}AarEcu`Wez{$|cFn2De6*kd1RZX(aJ0z?@TaVhI$Mn1TgbQyJ|;lYz}ofQ_(a z#^yEaUVq_dy7tO3PO-VnIkzd7J=0;VcNIombE5{R;E2WsI93~Vb#)|<-po!n(sBQZ z(!vv@;E5i}Hb&veU~@zd4dpkh!dRGL+@4)lH$TT&SJtmi?{Adn#{1J4V;>n$LN>Z* z#MlB$qBl&E{w?lHfdM9P8jogL{cPj5fr*2P2UQG<5{(z<66~?{vb$^u%&|vtHH7P( zk;B?iz1CLV)(_EDbwKD*yWs|oD zpk*qU4Fk;vJLHTmE^y2tYowW;2NyJP=je1fJ6m4Wm5Y5{V`m^fM>0m{ zoC8LPI2FnG)d*R1%Hot}nxC*d;hvh$oG?eM9WmdEy!C19{6PaPq^BfT>P&do`aL6X zppj*gvLqc#-ZYeV4wa*Xsz2?|`Cv4Iv?BFKGR8<-25j+ty;|U2mbJ9-HUSOBI($ll zJw2*0XN9CY%74mXv>IC+Z*P46{rBD4D~(|0Mb>&zes3*o47|rFcIe1BI!aW)vi0e~ zWO~(Ys+(@oZu$z62D6ooJ6qB07cbQC2_A%l*pv7{s(To=se|#VO>62LKY*F zR>;Hem=E9KTE&8$;)2LG4_24esB%@`;*weu5#Gr{GW`dRW?6lsJ@-`M2>6rS*qd^| z%*yLKaadb-L6wj>PPKZZUwQx3Pw7u8SVX#&a>d=9Dm*mF$*kF^EHqN`Cf%q%b!evOebi z3AGaVixDf0Wg(|{VC*rMhw^S{o-#DmRf#D+sSUJ9f3;dkFFtpj)L+<$7HFvK$xc}Y zU9CLW-O5G(w^p9%YUPY@L^#IVz*^4yRMr~or=)}`B`sXG+1l^O>N zo7hEjm2V-(CZlKoidQ}JX|EY2(je2ZJAT_4y`=1%)pC28r$TkO9>Nf8Oe6deDAKm69;<52q?_Ia7`{|z^L3nEF@wo=pwhSOi2a$EJJ97^738jknnWKi z2lzxAajla$gVYOg*Htf;%Zp}phX;ay(5{|8#dFaDEWfWiAE;7B9Q9QS$Hlgs+@!7P zU%P%`AEdwFi6Y-;iSLou0rkM*Gb9tNUo?_1cruW|nP+7aBH<%sUi zbOhTcBO-G0bg=16aNmWAfn1#CsfO^F8QeG7X>X41%M9+GY(J6seQ_I`8vW_e!{~)! z1dQhRnarNqYK2}dyCFx2qHov=YiPYMFRT^UPwcNfTfbTaZ*58xz>IHPk>oVs6XE{6 z(|W!0|0{f}ji_4mda^!+Z0pSYD~8oGqS^);-ePi8%=Lzq3D20 za4zBgB5P~qu(@p_S`=70iCO( z9zEhG)4Xl08!JW0(aP=dsXRoPhT8Q(uDr%!ci~}lLMiUyL|SF3YuVsYjzGf}2g=#% z%N@r)e{F;okk5!b-a#;v%eq5bdL{Qx>voi7?vl9weY{gW#>PaxhXCE7W(6lN7d1!V zK<_EtyWl-2L1f(q@no$}oz2AT2lI8iN%Et+c(?ij?&1g3quaF5E-qHfMi@MKhZYjeL;OOs>Qb%~S+t?{m6l_B zw1C)At&Q4J5lUPk_VDF=$QjAnZS@Q=dPEy=XF)zgY~+d^Bl!^!T7N|QL5pC4=h}0@ zhMBGSdyH<7TFA5}=m7;gqTNZ6JNlhV5#Sb0=B-^jnyaplGc@z#sC>*;Xa#wQ?(Igg z$JKj6aj@Mqh$-Y=DmS5%u{w*9$Qfp$#o)^vZRs?w)ByJJN>tKA|HBYSl+}9_k4@?^ z3K5vBQEjQ%1w=gUJ(`bye&5uoJ zaJYN+t5zj3U}PBD4U;NWN?;Oy1MNgmpiH6qa>Q_rm6;7JF77Z%K4PNmJJF#2km>&!;UL*546mWCfqH zSMPBg+w(0tD7Op!P^>Tp4hh76YxxrJo!Gpkt@UY;Dz_t1QF_8XS zNgBT)-w`}{um1vfb3MCF(xH-uCa$bQsLn}agox8bZBUV~hA-G3TKM4jy;|)s&k`Me>pY=hZ z`9WVQPfXvaQ5@vhi(h8FlqPMSY=8R1oRnWTixNmH3H)NbC- z(Uf^nV!!$>!OF*f%;qpICk_jdnWC0>fND+o#L^m@vV2KDu@6mSpxv0(7t+da);PIL z%Zt=MiGjX^+oB2TKQlQ>WXhMIaYxm;ubm4K_upk~L|AgHAtuChxlIi6L@JrnlVlzj z?>+Ti@iI-~gLhFfFQ0`Cj;s?y61*MeWz#PKmBa7s=a{zZ{^;vCTX|pIkhn0OuUS14 zF(~q&`T+E2C`mO6hG{ENlW8k&F1WyXe|;$`dSkm|wH)Gw4yHwaD|MU~=ELpi)X~YH zO;hF?G?3PY=$`b5?Yo7I)-UHa3a!Vi;8c4*e1bxS`vv79dEw_$aRp+9K9k+kIYIa# zagJNCfYD^JIB<;%Fk-I8Xd%(-!9q4iWmPGr5;mtSCt8X43D_t*ECe*s3`Ayi-F@1y+ZTK%!a?as&z@?rLZS$s(CIL@x^*#!Af5*K?S z(>XvRO8-q0D|Bw4Jj1}$IWhX=Ou z#rg8ZbLN9uDTNj%<2>FZ7ICqUO5>kVgzN9hr~S;5PssC`=Jh#pEvc0$^SE?km{jR9 zA54~)gU#z3q&@L~jEjpbr7z_{e297d$5yW2Gh3>aTF#Mz!f{gY_ww>-^SWO?=>n(l z@ZT45QNl&7RP&Vic7c2<3nBil`QRxYB(9>=BB?_#g6og@RAnrU|K5C%;HC1Ck1G$% zNX9IAFp!s$$v9)I)Y@0>9_H>*-X+LTnBkQ|dGZ*MAmei>bgtZaxa%W>6=(j$wcHJp zUZC>ISjJ=ZWS@M?;l60@dEBq_z4RZ4!AM3(Y8%9R)2$(X^dy2+B%@TSWvy5e`?wn{ zg@(vo50mOGIynG(u*l<4qldF5fkTu1m#qGs;FA37IsxO$r^4yxTRR~!wd;*m{}-Of zq7|GE79RQLYIH^6G0(3=cQnYPpOJD-4taG@N|Dka?pevna=gmx}GU#30XT$X*zx4z~it6?&?O)A=nljWMr@{iS0;8&bLaLm8lETDx}F&U)JH&UcJ))vqUItTIHTZrn{RD6{Z*?1fL1$(Z{9LN)C)c+4^t&%53Ox8j`(A7 zi5q20@9F8moIEQU1jDtQUakPO(F?g$ra>4zZGfvD$vr3~B8!&CUa&#Sp6Z&fE|-~b zmM|&jnsfD(%#Yl6&CWrh1FiYahr3$nC*Tapk40Kb^Opt|wRFR?>D%C`c$*YNx1}KZfk5;hW`}>F z2B7*6V#yFf3cC)Prq0gxWc;WqUw$1`Wykl3M+&YQCH;V#m?`qGf{${!E<)9)Eq#G^ zptL8f&4`S%Bcpk==||b7X@F1gOQ;oQg41a{+O!VxC|GgYHB*M_!?zUU{=0Yny}J1G z%D;eKxPg;zsw>E0<`*kE;W{^QavHmraZA0&@NN;$LF1MdCX5Z7`NMYr_RomMoO~W! zwB70(fuf@w-3gMxmCOV@1T3C9&Sv<3Gp4_Mag2zLMeV3UV(e!9HH)^q$_>$P0z z=OtgF9()Av+A4fEh}}KlyU!CIPTKzgNW|`vT|}&fIF;jhy1?{_F_gUTNxKRJCK)mQ zU5n`Wj%401SBZh*gi^!{DAgQid4yeCkZsuti9X%O0!-%B3JK}QPKV}&{Of1_KH3Z=@o28& z^a{TjED?C98U2AF%Hggw*q!S`5=w5Dfr@Q$QA_OJ^-9$wxnQ-L7X=dGnIQh6?Rw-N zxh%~!zm@fA?0}~+{xH-MR1ed&TG>ZrF&4U>;{SkFSUaDB{D|{6KVn|zr_B5*GJo>T zAE{T5{9XOXC}x4QK~66Bxg(47Q!n0}yKZXwJdYR6<*^zueZ-WxE^RlFkDqSPI_%Zcf1)qH!ref0)C{ zgwib9E~<=U#YdBQs{sd>(oU8da()6|rK_&{)o6=45g`FfeN}1aouFhguOFR&KQvvy z5CB!Cgznv`2YpPbd~mtk%=%Xpbe7qt<7?^<}+PPrV5S zoO)y5;0$xD+bo+SxbJI+eH$D2L(B}B(YOCiO_0+#!*N2g6MhKx`iCdCfQ8r-zU$z}i5_rCtx&w2{;mnx z{#|s6<370e^tZYu=vMzmo}{64$7+a-OE#sIH}_9-O(;(jMV%|O!S|A+c9==%@Jw@< zI6%0K^?Jm0TsMmJh_^#G2FPK2kpGV&f^-}Zvn4j=v}^)uf4iyt80krqleOBH7$n$j zbb!&96|WbDCZIO?VI9e-Saut2T|7+UaPJKZ&p72%21mVMz+W*StqnY0a zH>3fTLB2VmRxTYtv(AweAUY%s6 zjDMfkSR)_8ISuDNl`-fX6ELasUWqDbR*mQgMJC3V$v1R;VQzDo;(PV*q}_)FnrsXK zUZIlznEPheKcygx;h)L8In-*nwoAyMY+larqJO&RFM;t_y?l1r((ba`s6fi%#h*75 z9O4@-bX*=v>@k5+uTHAqa~}>R&B?rpvUUtJcr2MWiD~W7lj+)%E2SG8t`UsFtvxAV zGlRN7N40qi{q#>_ioY9S7(GRy2wbqSXjPXe5<&#}ZD=$>N##9xMw z4?Jcb$a%kj(@e(hAGw;-|`2H0TzAz*`k~5+cZ?6-aR+Ol0uvW(Fn(#-C+r5Bs0gr zAg23?PIZab!>I2|V(pACcuY^XE6;*SJJcQTl@0oqm@bE|^?T>1fIpJ)JAUr7-WAIL zEQ!@B5Oz^V?3W5`yJCmDv1F_S+Nh`^Qqn5#jPF^#d&^BX>m^x!ou=MvggTc@&-XjX zUrz*Fbx|_!SI8jrzn?=jJn0G%N&M8LC+h?Sn*v4r1uDXoDQSlI=$9zd8Xs!umRD2! zm@emB!QyK#=#PJ?zb#+#FThc-FpBdyPuU?}Y~B`!aYU`+?!v}4V-uRXET`dmsnWel z%q7L^-Nr8M1<&KB960nC>(xWG$$5=W-NsINwbN^S>EcTxiZan~tq{j$!}WaPd_onU zMfQ{Yksg29^TnbOk;e(&$ui`f#O>CEX8aXS;@IK`mBHilo80Qi8qy+9rrex){ zZ{<`s<8W}dHM*N*h`Sv%yVKBcz(UpRvE&1&=$^6W;X#G^@a-<6-BHs{jWpSQq1(>* zkB~a%TnB8M*WLh097#9w;j{*M?2Pfa%V^+TuGhZ7VI0QS8Yf-IwS9xjIPJE#87D|Y z6WpEev9EWkWK3W%4PL3*uvpDDTF3wtjpx?vR^73;8b_l0?Q{;Cr^nu=+Z&>X2G#7V zr(KV|nY2C8m=R4h~N_N4IZtui=AwfManF|I}^YL}B?V z+CJ88Z&F|Kj@!$)b=zSnPtq!*JoeGCCO*p1YHtBd9%Cl+bIYpO&l5u}M)X+g(P*as zK{%GZ?G)12@<;wzJ@#Y4MK9$nn5CxMZPc&o$78qgvCP$bVs)v9r|J~k)7|!uP&#=u z=P^Be%PL)Swi%m)`_lC2z6rtIbaMAKy8VR5ewZV=F~3v96Q0T0%+ll34cig`%atMQ z9_fgF(ce+?FH0Fs+Bs}94#=as`*`fTJ>l6;$(#n;a{+dN+YYehLnfFHHIJRMfNxph z0$t4#7rTsBW-#9!-HnU$9*d0{qkAr7dR@j|M{qBW0ef?Srq|x&wSNTMYRS2l#WFp>Az58|3@3Nx?FU{jj_{m?`h_Eva|e@-CNm zj_3g#qd%7(JM0_1b`lgH)@#;NYZ^O%TXSzh^m)!{90PvQedjriqrtsp(Y-_LBvslA zRHXe}1ik0kCTjN4F9yDEn9DfcjpzMkS(t;qz^&#elaD;Zx9avUJ@zkk`zepT(PQTj zX+fk(GD`nM5K)#wx-10;6*CZbbl(uSy;)|0fpECixnBF%(9RVj&1Ty#@z~ozH+ZEM z4@w5seh}#wl=Rp;^wkc(Z_exoeRDmamhy8OOoUPjr`!8_{dsK$AhEs4-n$@Fw^Z5#o(mu>-n#bOtQ+XF<(^pf8eC~D^ zzemM2hadFKp69WDtiCT}y4NPx!el4EOuC0RQ;`Q1hsVyj;^$ke5*2##J#r z!Fq6UF6YBW6MZBInlo&yucp^&y3+SaB?RI;ngL7eC-|CZ;^as-=je3FS3TmfYQBh3 zUKBQ11IGof{l0%};L&rEGqq3vB$8ttZKhx>wYt?26!Jk2wpLuxBfl-EH60tXp{!!9`)oT!f8ZxVBZKvD5=k)M9 z%4rF{^$!RJb$WQ7q>?4wDqNoyx>hh;-1Cr2F_7oASSI z{Gh05`gm(a^Yk*SC3as1kKoNh_uAwF2bEkpC@?2`fQ`zD<;yM$G;NWy1_EdLRN@XU zS!H6cvS?7gYPI4W;fahq{M2aSL$$g>Dq5DY;Y>=8qT=~s&0-y|pp%i722g{kj&j{yWlCt zUcAQu!LHa;{Awgrst?Y{4mm_rEE-&@)j%tDT0{Pa@P$z1kAM;Ro zTwU;cJhA4fB6{SVg69?Vz8$>1f%+%d1L1x+U{Sm@wNNR5bQ>Qm%Xs}X$3U(vqbBty znfJmUSuO&VJQdn*+0xlj@ZW%nr*qif%W|oMg(hVGmrtsVam z?%c$*g02quX49@`B1u>LBh<=T&7O?1oUKHa9VJeCE}jWq6*U(4s)0X zIJnnMK+RLD0zc*GKC*7#%h3+jeU5*~yW#_!utw@y$X4tq;}8vet?cJ8d=sg}%m7ms z`wRT3Bxcqf#+@&NU`z;=;!DaY5nub?PNlI?30&yl*T0e3JJ3BKEo2I8w*V1RK8Npo z`&Ocp0A*d{dxh zzRPP$HPh1Qwk&T8 z4P}v429^G0G&|}W%=Y21dc&7fAlp;8-(yWAkS%SODLisVrWMIWHePbm#>?*PiOd4U zSc`h$ehJISCi=HDU()&H$C{nE7>fz)N4gce%QkP}zRIcOy7#1yE}&r#%OzK}>K~(r zaUjmX0}nWHy4OUhfLTO_YT!K4-wAS%YMo}-$#BUv`@U4H7WzaYtQOS7#T(geJUB|F z_+$|HlmNO96bTjrDrPc?&18^TXe*B$fyEA%?mi*QJLBTEz?MNcuo|{lW=vaWB=5N} z_+gTT=2&{n)L-6IuBKIDYeS=j;^2_s&zGgONehWj(z3xC-id5>I4D-ekH|e>*-w?ua8v zQ+?b%}=_gW@Cf(Q{!;en#6CZFuVFS44j&>Z7CrNUtS{QUcyY zQgb~tO06rsWS#cQdX?0IBZQuog_y4vqC1@F4L_LeE?fs|>gaPrS%4||Z{6CMc(HRW z4pnQBxc1DkTx}NDNU0MpdcUV|59wDf!YN9t9>Q5pzWa;UJI9yy_YG%8Sn~cOi8~-& zIk7Qi=1P?noa=W~D=+p;ytg2~`ohwTs>!U-%VdQPRm*cBWC{jF zKJ^Wvm8#mf*b!Nb`SEMyBAiJD^cngek23|(+|hMC*3>Ki>Zv+c{JR3D%7@n>v6xH$ z2Z+1H3QcN_YdFpJYEMZ!Ch+!eF@e8}3B27y)Mj$M ze=A*~cxc_p2Z@cem!K`iH|%kFbtd-0MpIttj+Lv>4%Js^OOR`DTCB>gXwI_sj9m*{ zJHbB~#&m-JbB995ls9E2S{+=b+$F7Aa3kGU`U12A(AR9=TT=q1{U?}b3AiJ7unTV` z&)W`(05dp@>Eo(#)9~uLfMc50VjbJ%2sZa|L>@$TKQnaz5;W;He2(?P&O8-g=FXdEw8FPho1gp#xdkpOk$sA+nkkmWLL9V{8eT)L&89obIC?waB z`M67*$<~5$5Q+Atub{t^h*Reo+IJT8uP}U0aw|Z2TgaR)<&(tl3J*y)pGbX?!xuKE z`XHym80VDo!FmGaE|L#AOW&0$-KV>BpYGD9&D_{srHfLfv%5=YcbCSr*UYqal@?u^ z^gXk?bY^$yQ>NjstMmtSOG?|iOWV3jpY%P{Rq`*Xl4;!~)4EHZ;0SG2M(_l%cv_Vt zG0>aiJd`M?Fl-)hG8@;9NZvEGtWRO^_2y<~DH#j3!*PLYTJ3c(l@;1UwgUdNRA>*k zX7i_mKZ)p<+LGy3tl;s>C=)z&xmJ5V7v7Th#AYZn;Lv{F=*r&840F}s%HBbSd>B9w z)m7WJcqk6CHZ2(Ei6Atef6678BN!2ElgGF$5hU-8tP6{0ueUX9J_3;o?okaQhCIeMjP1=7*=54tv67 z>_|LD$u#bBoc5g@pA)YF3XCVC2bYX*bY}>=(0c?`Hpy$`L^YH|jmL&U4W^TcL^MZi za+#!XG_6V!7#zv#6F?^L?mUr{&_gk9%Epur5myN|$$pidc-~Y3_-+>kz~To*RfAfU6Kyc9JsI3p);pa8Nvz{f;H0@D5 zMD;h`#a`kK63P2ww;&Jn5_XSB#zXu_#HF_88paV@$PzS@bRnvdPgV&LLz8*+%Hp&u zwtZZWc&;F)(Q~rp5)@U>^S)PhTI7fB{Z&r?AX}|E;iT|58nVifZuDCoD{MW!R0*^( z>Hy!x0`eYvprY0$J!hxnB=A(2+7yCe@wAeJL5Y=J`myrZr3|6C{*Fe|9xX05L|L&~ zt-f@&S*+eSE=ERw_rn1w@KWbFsFdDjCZnn%Pq>O4Ls$CG0SV3#z>rMfE9Au3!!Hi7 z7zgE~lqq%Nia5?m^71BTBFhWUZZSIW4uFzX-KsL{OAvlpVDIFzz@|W1osY15oMZ$^ z(mmmy(#31PLR68$VJfk45G<|lhyJ4Pw5m2f=HU{QcjhClH=uv)4vi^g(t+NE}* zgN6zw=LERP=-E`JL*YXy~k=SNQWJmAg zZWfaX-(K?J9Nid91maPWg0L(6fP5gg$wqRU>^(DNyPDodd$XFf4Kw;zXb(pDe^Z5a zcT0ssd$3;qv~stlLi=H>+%)idL+5K|^TF-h@c$1#uF&S~U{B!L!&_ue_)_)+-YmJZ zAYaniga!cVVro3LQ$H76YOzYPoY0SWs&sF9VY6UDbAzIcntNL@sbP-o(9dP#*_;kt zMs0T(LgzMp+p!fd9PD^YCfQ9guaY*mHlt0~W;9Ep94+)QB~zOhQUE1ap`f&Q3tQZx z1fC)PM=L~ni>iX+iGnIhs$7Lak}8j<3aTol?LVu6%C8=tap9n~5MGO3NOr(&l#&0N z%q_EU6A1%#?FPKant6HxeKTn=iKfzzBS~Ka^OELnmcUGR;aQ~&FP_`03pqKUdG=`T&GGXA95cFBrV}&HiTKqbQq(5b$h7I2`&j%2_28%qMdQJy z_-r2FgjoxEIn>D;RJ6Sl(afEgPN3lGLYSReU6>9zR8+XPa7PNgK$^yQrSLShJ5^R} zI&dm}x4Fr$`blb&7bW%0+j`10Pn92?KGf>FM2}1#7S0aeR*Lk8maaOtWJC3Q+2hB9 zF$;!8RRQ(^IfEuv@R%A1&1asg5SZGp`mnGkR2$^ zUc1DW81BDNFKk6cM&Fn0BbTrxDkb@*nDd`%2Rf|?DETqDHT{da<=2`oo)a_y zr`~$O3CIvc+!PW(Z97 zz^iC0vqS3_UP@rA45V%V=JIx8r%$b2Qs9o1f6eV2Vy8ccclsR0=`&)d6N!PmIRh7UVPX(h z1W$iP@U+QS!BiouQF1pWTVYA%;6(p3#cedk=^{iIPuby(jLuY6os$aOAM1rtPswgJ z(3EG3@I>Xw@=@-H4IfUpMz0YoZgZCqnDA_q7J8Sj%Ib~~sRrPSaJO7|0V4~Z=~r#n zUOcQV72+cM9__AINyfyAD$s_#Zf9#fvunW>++7E_+fyACn@>mOXl-Ss1k-iFdv|7V zFYw-EKa=E>Uylr-9t7`#qDZJl5512 z(KS4pbm4FbB2cOeA62lPm&V7ZizyrGIHD+uU?A;c4&53ES#5X;v> zW_nUjL0OX{+up4|5G!Ty9aV$Hr?j@>a*@m{hL6VuSr$c zvO02Wbg3j#RZ4#?zPCjYEX(H`l_f`R42nPXHa+~?0%=sS0!L%}7@V=rGw}`8DL=VT zuKL1HX8?hWGdBI#;>>J*Lc+}}C%B3A(~Tzzqys8J`vo*dsMR`Uk9$Gd=GzWw0T@Xg zot7dY{A>) z29QCmW1dHlg0bYJ=e^mno=C~QE8W>68Y*@u2X#T{Q5zWE(0MvsUCzz{L!( zQ-3ZyHn5vl0280^M^vB0ysG^K2ILE!aP_h1m+0Ep*+B?o3%(bp-YzwAcrk6nDuc|E;1Pq(?`*;#7Al+5{}; z4mtJo|1rpJsPDnu&Xg}=2gfs56;DkUP3YJA@9UblF2pn!Z)X*v05#%f6)rTmEet;X zL!@%Sj>jbH9@w!~`{_oY7~jin`1;X|OwEN>Yc*#kULm*xPo(R#-A*aFxn0E1C(M-r z8EAGW2~_#$JCuDGkmn1XAs0zgSuV)GFZKxhiO~q)eS?Fi?(}Ij*e3^Y5(&w==UWqf zAkCzGvT;yx@YGn}CMmLBnpCSVwHjVm6h~GQndLAdj2){zE4B?^W-{+Bw)D_W8N059 zcGGDkYzQU19YP=9%o8oNhtb0joU>4N?!&RGv5Un^STSzsoiGuX1WL7fEi#hA@j*Nn z83@+{_3j*bx9FVsDVou!62=v$3`*033Z*97IHVRu)S>J#@j>*V zDO4b5MY4bt-MB>j7-A<`>Voxm2|k1Mj~2}FOnga!SEVIxm~T=_fp_fuXQ7mxqz_gN zYB_4GJK};`PG^3heNAa5!K1r))`8eDH-U>pQl-99!A2)zHliIpkraWEs@0%9YLgMZ zr%14Al#}(DFWZqi;*uxXPGfWd60AuFB+E>bGDJu;pAmBz@z`I7%lemtUYWLQ&1oAU z-jd^0_s*hc+t}0CkfF>K?YRi!=u_}^WhhQEUhWYe z+?18x7@p>6%CZ{MN&1jG%^_YrO<8G;;akV41GP{ok_2T z?a%nhOVYEP73!P?mTq;GpS+M2Zjqb0yI{Gi<@bRrV-` z%heJ{q=IfWXKP{ya{N`*RV=-gGtwwhVUPNT$g>Jx=d<}d?`J$f|*5e^JwQK3yrDcEA7Xr81PJM*ljeC6JZ_pZvlJX!6)65$za-xaK18$5n) z^>*`crr57Lzw~({<$s9iYlA1xt2{4w;=IbdNI55t^r`F@Dc_3Cqms?%GJl@Y6x@{0 zYi%klJ^sW8!QD5p?6DZbBJI*M#qb4wQfBpiLGC8C7UC7Kd6F-v6SfZl+p&K=8@7pp z6ijcbnOre<-fZ?W%eO%`x*}~NF;EuNEkdAj_;#boAGxfrFD(zG!KC0wOGqT?jULTa!LVu?# zp2#$eJb#PRUQhDP#4;1# zo=y~qwBWLD@ff&y*2g6|2v2fc_?jA@k|;1flP8U;XXH!m@_(rLVkoHRgbljW3F$1u zOz1W~R08We$^nkUKhPYSx%U5gpGh@Je=4jnD#Iq*cnCX*3s4a26Vp{f{x?&FhIAEj zj<=2#FbkiBF%a?A+*%Y%ik%lyT@FAkv1izRV6gnT0SIlHzc{Iu&aA}V;PJ^za^PEi z7sw_wI58x6yi5zVuql~P&Pseh5&vd!DJh3vP}}$!w&2%o@|6~P5bj)Cc?;oy3uh2CWDTC| zSDoq5UffpsiP9|AoDA?`dk}V7=KX`J2e-XecvicSU>olTVu+7g zwmV%p%|P7`>c)r3ys?jn?j9!_p{8`?6VT@8pANOe7Xnb7g9@;_k+>6wu9Ek}gAMJO z>y#vU;koGCgpN(tR!-)))`jOe>qyo5rK_&NZEY~lL=V#4ac^iZo~inWfUU4WTRH*; zSC0&%A=O$#dhfF9erKnotKjV)o z)@yow{Z=UvU#8ntd_WoO54zuxX80FS4msiisO$x%2=Dm2o!mdX)m9>w3WxR-H%44l z9&5c$nhB|A>I4esvX=^;qX1rVtWdd#Jfq%nxPe`r8)*0n=8N1lSB^W73p_cl13z$G z6eOADtV7=Nq&Pvvz`8MNMKT_9iS_|jA(C;~`=V<7wnVc(29-%P8@Z}%Hnd8>B>UrE z-w{2lR;z#LZ@VGzH1wDSZVkrHnwrj?%z0s_yu9&^%D+E50ETgXeANJI60A0vl4>eaWLyiCbE#-Q%ZQDDy*Pxw z*#w>@-WLSnJc`d2>jInk7C*SyiCLn6C$B2d0ENgq9GR5!SF{L%*0G;*`VH-w)z%IJ z9)byj`R&AI`Ht_^Q5bwbJv-KyuJet!O4X`!hf`RuhY|a+r1C-bva&L)P~%MmHnfyH za$9z66Ah-u^Eflc5stWLX-_vui86ueC@ok|&*aN|5rkzu2~}c7SqiAMxPT_APMIq! zHL{SovQnLi&F*e!G!)frNT!0!at|r_GxfDuaq4TSd}_q`vL#}3IR4J23~`<$=VdK; zB7OpSrl*mNbwG-R4`P4a3AAL;x>D`!iEjYW0MIgw7$F>xCH0@ENmx;7!TL{v$4j)w z#aoux_FRk1GG{2i7}bKm;+aeYBCyaL)mN&$6AV#H6@eM`Nv*sSMbp2L=aucNo(C09 z94>2DawS?CitEy&`Fi9H6Mz`7C5hK8tq|S+J4$O7yK*y184rpK&^@+#Z(|fFJWcGPKm9{@=;_-9IoX zSL;fl>_L?Hj%tT z9}-I{-W-m9DEUO3Pmf_1(Kw!RVZImc979UK>S~wv;>N0n(J12ghH=*a&-gXefn;FH zQcJAlmL*FWwjLy>YHSB$Tp*rHEIp&C#zvhpI@!;?$}r&|P|O}p{DHTM{X9;9W#VVt zDdw|@*u+H8p_mH{Edk)B1$WC#a|Ti28F$IQwWShe5EmOOeY{AkeS=#>R!YD;C@!Ll zJH%56GX{xuVBsV&g2(vEOZ-dm6+(HGe0{HQ>Ud7OWs#1V|BwmD`EL^c!yJs(!+lLB zg%cP7wWZ6YBY<4FYGC^MAo=0-5nHLSu!&|t56Ezb9v)l(xPh|q0VkZ-{y{J~U0wux zWuBz>leLie^u@2^k3&TliE)V)sV&WsM`CHRS{&~ne_&evrzL)rx~2w7FJXa5X2nFN z7COc+$X5%xq0kiea(8UY+GD*)vhvMW`Oe>s4gN^zSi9)`#DPIlQE3-Cd-=E5d?7pw zMnEQBv6esxl72$qh#clHcO7DU$?Tso?l&ZcHKkmGC=HSZg>GeIfi5DQgB61d5Pi<~ zBE2curxMwxt!f_cDC*x8zm&2@YjC%S=2B#z5@m|G^A&XAlL#}HNfkDp-&~MR+T-Z% zfg4&rXlCrPZ%2#zm&W5=q~zr`+L3irnFcA%$4Rwv*X5c3>=6$4*CqK58S2 z1s0WYEZ0|BZ86`**GMyTV}9(SznjQ(jVC;gD3<gBwPI?CACO-DgXS%!x?y%h(zPoFPpAgOk__~LP>tHf3^Q=+6E=|mr zCKl4feAR@>p{mnoxAq6#)em(8_fgJw6+pao=MLc&zowb}5e2=Z!oQ zZAI{Qx!^?EdHhbnVfUJ=MnWs`NcLQV-gCC-J-2=Hxl44PwUS^xvASYP4OL#Qg?!wa z3#9f42r5}UhZ6h2CDjqg6bR3>9o!20N8|2~%T0mwf zsLG)I#ISEPI;K~nj&~RXw4lELQ8iC^FW2tKEo>^&v)sY<s; zJVvYN5pYZQlx$frgFU6g6TVaH@EZSguNj;A=PmxX`yUpo`Ojk<@DzUTv40}vj(dy0 z^cH^NwSVG%JCOS48UBf9_yJGJC%!+UDbpVRC_|Y3f1!OBZgae>JZQvv9|wp$4DBej zkHsG6Kfq31)rVC8z2@`q&pYRn51VX7%x9AzM*JPV z7Q$F2gi(huRx2Hb2=UO~vRKRCQnYtFW~pzXy-xuHL6WZRMbX}66}@+u*R|R!MUez> z7JF;|rG;er$S5X!_>MGWB)g3=VEzb+GDe_`r!XcNMBbM)&|fH@@}-P^M#Oe;T`QqB@IkroRee}b?Aq8j z?sFJqyWS%<0eJUz#YK(d#@*8+NcbqU#5dv)B+lb|Fc0i8%>#Qd4{UJS+Y)~xPDxA( zE=eKMmLUI@IFIkaCeR8eo%ksrGnXPB%z9ymUJ}DON%4Chk(9vc}r&DdHe=Vz+8lC8Rt*%B4Lpi;Ne_jzoHm+#$pc4S1Lr|V)Ns-<^rxM}mb#qz zVhoW(bzx!vE(>f_U_5mDH>`UWxMF@T6y|3QxM_j^=~30sQ&p+2n&46@_(%aFzFrg- zl5QJ$Lun3d*Pv3@Ie22}92SZ1E=k$oyM0-?HEU1VcXMImZh7To$A47X?2$VmiNNEgnrINDmDY6c}>!?@N)5W z^;kP}IN-QXUPtow9w=mXn`0F(i`RbMA$7YswvSuIotz;QbICj|Z@%WV^!2Cj0taq= z*L)q^o7E{P#AQeCp{oKH!BylqqW5E`T4ZX)L>t57N4WI(-DohNRWClPXjNr7G^mIg zVgZ^(WRZR*9_Ury=I;9bs_KI{rRuvoH~w$x`%lFm{bq3oV-N0uX&hJ3X{Hp|E|sH| z02zOi_+x5Iw{TTlkFY3YjPT-M%h&ODc-EsS)?@5ET2RX|tSg;d{CcIY%G)5yA+&ZN z_`%rIzf=wfzhG48?d3MCX7Gaj2K&xqZ_pV=%M`<_{9s#=hn6ssGX zW|op;*FOZ3KcJ~t8{|86mi*qB{THh0Th&K2b};cm>fOQEfoIjbw;-9yFBt?74d0O! z;DA9$-~k_rx6I}hWJn7k|q30 zcI@j{P|97v@}~N9s@H0NCCz?o6X?1JGgEw~g|^G!A{h_J+`-~M*1$c&;5fEoad%HV z>#q?pq_SUyqo#Bi{!O6=d8}&iUC0*;hDzzROQ3XSCts(g_#NP$ACBxRJ$O3Zl%hRQ z&wQn<6n2R$p^8UgMtMFs_P_{02h)< z8(nIgii|YwstIgcQ<0IzAtQ}N7CH+OwH>lvBY95?{g^=$EQH}dA7P1={Fy1ep3PIC zf%fD;E-802@02+hUI$G@?8p-XEWyUKPW*|_qB^a12fL@+IN&b)WWfXu85&lHU7-{r zeT`JYdFh2mu8)+CV}pGCX{Z<4E|MdZ%@nUdABS@@mGSFUJy~7l*|{kmqBz)>%p0T% ztDkR@Y2U^|HDuMvOh34Mea!HFqp;hID+0P&mvP<5V5KOjMFyO-^XlT zA}LHXvj-;BYfm`U*P>Q8aE)Wxl#A{Ec0s#Yl5++e{+Wyf{kU@p6P_V+1vAEQ4CT`XiC`gcceisKP*fE}MMOC;Yn|GJEtzU@HfF(~#C-YW*AE>bQ#w%42 zoJKC;;8HhHVrFap!Q#al3W6HRyg%H^a29gu4!g4nY}X|}x>cF`lN*cIlbA>=tGmLT z#C6kXz!|q>kGR46{!vyZ!RJV5;LApl&pu52nH4cdXXT8R?nNe5L^xm}s-T7~L~lku z5qL0DvG4qyh0&Mt7qv-}S!Zz9|ie00{9m_=-njADE|oo+Lk(>!#1iSQhzhn&C> zR+D2V&HLx&9+{RwFXu|IQGuAn^;blh6xxY_#zecLKJrB~0}AcDVYvH}y}m)>J`KtN zVJLhu?+)l1i_dHDS_UH8;zmUdeSO@J!erhIshb_{M_=zlTN{v0^w96ue9^)KuN+IW z87~|OFGM^9v?!vDA$ZAU#~$37vM>4;iB(zzG`c=Zt}xoL=z^!A{Cik}!P9pV%Eg7^ z*uzvDJdHwBVs9KrUE<-fS9TN>p%K?G5?1;bCWDkq>ZAd zGQN&~A_YLu3DlEMJsS6}@FEn3sTwBHMpq4`+^8DZs1DGJc(D+waJq7iMeva5^2eT} zYH=#kSBuZt1QZ9lkyE4xr{-eMWf#I{)Qm~unA@YCu#G6(6S0ADp`5KL7=2pYrW|d^ z1Q=`ij@qPhWs|y`O=_^Dm+HAmWs2Daxs(2wrk9oQCh~W(q9$JAbkv3r3Xr7d!k&z^2Wt@egKoMR9aq1kWr{uV{ zv_%|o(#c0AeuQS;t#zz0Pdf3FxJF6ht?(DKy>#M+p|qAy zV|bN&N712CQi@~Xq#wpK+1>zV^BRNY!z(gkyyZAF5^g1b1bC~jQRDaCHSkaDu6$-jWgj3r4xk8LkoHm_jl!?PT9 zBr7rc$A2iBhnk#Zd<)lF=uQ4Y(%y4{qU9i2@HE!4x2Z*}s=1xM;HKpnKH3bt(8K7; zjpMPG2eRb$Q$rcSDeyK07s^5EBt$r$w2x3U&R)1#T#1wejz?5wqGXHi9Yy}GY`6WG z+fHaHepk(^J##oQeTDRq#@*eFUqnw+BN5-9TDu|<{}R5QUE~fJrtYD~2Qqg$ke4hU zzdv7vlY~au1d5%D#Uu(R*b@HFMB((m{u5Dnos)0kdl8S(dys!yrU8EdE!W&gwZc%r z^E?s`!|e5oa7D^!XnF?tFPF1awP#^lTp@HIzooFyruoowN$dse+(s<+@^D&N%R4AR zwmtqh?E(1@&w{)Oc=&9AG}$q;b^9^Npvqx6#F1-HE)X6nc!KpfPp;mY_s~6e&ztj5 zm3}22q1E^u9rfwCP{DkcMJ<*AU`kq3u|FBS*kXcIm7|UVrz{$k%j?}C6&Vc|~+=fj1;Gx)k1RTS_ z^qm4=Woe8=mABUr!nIJn> z3g9J{8}~WsE>7PZ+{a>aEX(RNDUFfaz!EVjjo{J~z8@dm%hX(tpKQ+cbN6)3HNh90 z<7wP4TM@cQRu+nf5h+kOaMZ4tV&sexYLynx6kIbg0@onI(~Rpd6Nglgn{IH~FUfM% z4b%>ie*g7fm=9%dCjE4ZkH3x_iBs|!7GeWVNd3bR@#)QD20!!aHOfZu4RkZigR5K zt&pw;*R=*ukEy;$M+HZP)Q_7}tO_wix#h8xbg0_HO=bZ$5ibkj;f#~95watipurPC zJ%k3~-N8ub#K!Fs$e?@xcD=o;T;Z9c;Cx2A!mc7$*gMVBefK?mBx9Su0$681i5*f+3OBS&@i(0f{Ct`Q~9{KkU2B5N= z^^!7n#s2t)P?f6O_>EtkC4uac@ht6peJ(BZ{!|!%dpcjg&TBCAT~B)D@wPD*bX360S-WcH1^8YQhw71XMs##F0~$45BhA*8BeUsj5^!?fbv)ect_i-n(>L zIcJ|e@3q%nYwb0lK`kp!bNyLjM-C=hIC$=Tr|31!4US>PLkylj|16YOt%i$13tssj z@JITW1_Eqd3?5*XkO9tyS>lTAAV9?zJr{QHL+hrVydY0F7G7xsR3UR2&nIcPEJCaX zxo)L0_SuM<=w)zA)7&c7nJUJJ5w~ty%M1IgUrzJf()jDVm=bPq8@Kt=_zi%rDGeLy zBY3(mI;jvzq{=U7<81WRZ(J9S;TVF-wEZ7Qtm+B^# z5nS-%ht;QU!ud{uuehkcC?_4HNGrBVeu}m#H@8l_n?a3(#omp8y~8I27d{8rgA4tl zplyZ6Ghs$Lgl&1d4k!D)08ve0bOO&&HN&`bLK}*P82@z6B>Zkc-&loaa;mGnO~@e| zr^BIClc5f7&@S~x$1pk7{5Me?${2Ad)fFZPs^$YGEB;INn-#9(*YN0qCbmjXc1(N` zGy}#hQerHz!dJ24@FG@&IiuVgdX5Q1XT4OYa*I?!U}~6_o|awa1Fh3w3?UC_qHY;`Rz;o2q9foQ^Tdu9CZbfod#bAKA&tvQLLiI-?K zcoNB&YqMR?-jSb$jLkMqC6ONr9L<`idF(R7V>1kN`~{fLa$gm}F@nsu_sM*FU&egf zHs;&AI8|zp`60W)e48vQGt^QGRzLa&c=QlLE|!=78r2vfyKd6P(v!P z!pE~v84K17UMUWw1Qxa~Om#ngietqCL4Aea4)$uemZ5bF;We$ zWD!&Dosg8U3LM{`MN##KB;X+DAS#G|0)f{qGY5vbL}Hnp!?Lo+t^ITAs!6%NdQ?Dv zr0R{Y0l2cNOXXNY4j1Vd1Qz%0M>Gl_8CT%WBPORP^Erj_Jxq@2x6xv@BVWhAU~rPF zrw&}Xbm8dbItIGqbWPFw&a6*1n=EYNdgdl4u*Obp?PSpq@+202uf99j--yAv9b(Qw zC_6_$KNUqs&=vSo9b(4=y1JGICtk;Yzkr#{8i1?f`Ni_ z(Mb~wz<-B)r+`Z?j8QqrhJZ%6F|uKn{Z(6nI3yUf`DC~IW6qIE$o1gnypxYH9_h&w zyHcIn=Df2+GaY2p{?w3?FHyGP8`M_?8mjox_+=-X`&`L> zYaqcjLB6V`vn;OgI=wiryCC#s1EI_K1*U5`j-am+ME>(aDRLChp+q} zvR6+9uPQe77n8NXkvELu!FR4DF?w9aHn>l1>{6p2KS8#^GwY;1R`qUhQ@lTAjG-?% zGnT$6(YH7CwH8Q)ojRl-f1tf@;*YxOM@hV%-x+3uPzi#x8y85D{2frZc7iXuaP8$LXiBJBH z-@6Lq?6A#F(M>6p#ls9Yf;Rls5Q}lN;b)9@HQ_--DDYuS`=OBlIew2LUHC)`UC2!v zD6bYI(6BE$3rh9_l=7YPX*qFod*EG?1yw)^gqkr_U*>fGqfn27mY_P2XaIsoo+L=Z zq6aN9=hj=ZoynQ_H|Uoi8`|3s#d)(N{oYR=m18_I9EQ$K>`d2SPkzKbOJXD55A8mE zcA@=De16Va`c*Acwi%m4d*=l{#DOCo9jC7%l+CpKS$7rl_d61%b-T`e#?|ArBj&l! zcz67+XaUc$1v%TlNDlvQ8`np_Zs9FQZ%Ms1-?%s@XFFQ|?yIWmchRp^?Y1|0K5@LM zYTDORtSLK4dzZAgcz$Dwb;VlVU*S2<-=(B?JI&;svVw1~PO&b2Y04;TT?@_~Wtd#B zqF~ji0x;(hhAkRhX59ZJH>LbCD7p~FMRH3D5r90{s>Lc2l;G@m0is*fc+%OdN7s)T zw-Pid>x6I?|{QjEY>}HSvfWhd7l?I|?-t8~(v` zNn?sSvI$-oNuqP_P1!p@{*lxEAL@+fTKt)mzcFhT0wC#8;n0>VZCtuYxgGPQTOZX3 zBEw3@#`+%z4f&#^){+AC`w&tuM1+c-cGWvG3&1f&IVT5t@G@%y-MFhiTut9b^u9bF zqSIlh^I@fdBYjotW_6U|#Jr*0rWP_c1z87~CZK#(D#IAbs)Mg(j45U>F@_YuMG1uK z!`EG9#`&i*##y0pKGk59%<^g2rCKD;yRFG2mbi(D&pA)p#!rCoMoQL3mP#-rr6(wi zvdW#l@>h%!@%@Iz{s!z<$T}BW;Z5YOZd~4!Km9jqWV7?YXeL1bA&nW?;Z@+MAK)Qc zx9fifY-q0O`piZP0++Q6{HMqdPMmj|A;q0} z^Y=hmNX{R?D08j3^w?yiO@E?QGY9bFtTcDBJBVj(w45(4OhCNSup98o6+jYN=)nP0 zin34z1uu~HO+b^4OhQa&SRYNu%L6s&5uviA=@A;o3PlFljw}-tFu)z0ts1!*sIF@evxu1glZ z3a^%sUWz*~cdUbxMgJ5J2ciDz+xyX9DSzsS4N=>(ELf3P zqr{haMHl&-A;FeV%X^_cLuNk1WlP$o{0%4ZSjOLVCb%Wj_xR5lxzooyZoDz|V2%z*}*+^Gh4BB!F6VayY}lK8hH}D-t*2IMw)B?Tn4)t{NQoOkCpv&T6hodjl1h< z(^_y9-;C=>Qe0!x^GVSQ7gBE6ozTXd_-MfiK3J(3?SG7Dsd!cV5LFD8D3*w!s#;PNO@nd2Y%->~;laqn5OV$S&s$ZwkSlWjeRiMUe*i z+`|6Togo7l;E!AkRL(41KC;-uKCWOZ4Ty|9G;&rStH;O^(5w}Hh-wA$GV~N$)OHYk zLKNb3$fsn#Ct&wno8`oBtcDlJmKqR(JaCQ=_tU{EyiGMZx{Gz)pUcQ^u%;b{G#-3L zNR8wMtDzrBNX;U-xZg^t{EbxisPKBQ&&4!t`tqCR>XK#ntU`_Imu8)^JA`WVPAl@x zcji7WG1eR~x-VtOXnB0*cp>(EgliP;SFD>_T(Ti4GqPdhLIym4X{nAXPzU{Y6~3slxmzoWKOpsqiuvGn6HZeg`Qb%{~mW3Mw^>is`tn8 zdMHk0GxR@kBAbPO4>jaLrRa&&DGvn{zv}N25sl$;^j!D|DXV0EJpk_bn{g_pI#*b<%exRBt?C*uV{bg$+buImVHM^IWaLJp~!7l`>H z8;3e#4_$-lu1EH0C9+48q_TGCr8&W47^C+nts`o$}W5d zJL4U{N+#<-2d}Z^Q|1>lX{>EOr`SH>EchDy^Q5pAAf=ITUn}p2zR1Tq4;=Kr44GxrXB6T{ysqth8ATra_s?MKMST2SdXM#ni3doJ_Hy zP+Oj1z0CzLW0mxB_p}A((_UqLiG(c>22_dw?UHjBVRI zTXf*^wOa7Cck1~2ltv+{3KM^8<2bYUgV5)LBWN$xr#86f{REwvuv_pAy&Yi^M#a=sggnwriVP2nB!Z#c*p>&6*X2j=EOD! z%wFg2yP>I!egygIMYDv7H zaI?$dz1+)^9oOv=ua@Z$fodb~V|U9)gk(m(nxQx3e-*6qvMaDK5*E07!l{=)Xe{(d zIoTT3G7Nu)l3*Zz3C%C|1PdZ9buQrlR!_ zq=A4vLy*a&0`@R7VpYIZSqo)Xl6y;l2T zy}A;5Yo^ZA-a`U?Qn3n=5Bwzo240_yH;w{t_>H_Ro*r$DwP1IK}iW|fRIHWc#@qt|b+ z4GgvRsm?ZTGCu<}f}e`^y97$F{9EfkTCB#8sL#k^0*6&MzSfk#Z-Gi}c1|3a;)psS za;o+0GsHh9I+7!Ei4|n`coE?HqFg6cwahqL@~Jx)^Jv}GQm{JMoey|wR`~8IG+`v2 zP=&Zn^CR5gc0ZPX=AUUI0?LWy|I2{!mC}Z(al69<(yf{jCXT{bWJhX5qQ7=@~k=nW|Qd<{O zb#s3wdlp~rEYRXEDY-x4}i$ zU=%2dJCoScP5cLmWWV%WRB41#gqH80Db6irX#1%X{+Y3;bq9|w8wXahXoDg7-gmxi zHTbmMex53_1{wdpQPJ68or~Z$E(2sd}Qv7L$J_1*jQ+yN`G+5Kr=8CwgQ!g*5DCOc;J5WfW(1J z6U*-0d8#DqMr%T%{h=^FQmJcJT#L%Kb8GblYNqm^oP10i)&G6`qFF7tEu4f zCjaXjxQX#vYilZ``oYo8k#9$Yyc63w_gtOm+h$(m5%h2kNIHc3$Ytg+iq1-v)Rw5MPi1S%Bt;4`S50S^+Ej28ex`7p+ z&T3kf8nwqLQC~nGp{P%qmrOQ|Ec7QUE<1NFJ2#I<_QqTeTs@W|dv?iu zWRGWy;R-FCnzj8Tnm!UbZ2+eJF|-sCy>&xya{aJ_N!X`^a$FGcmwoWtLj-Z}y8=-m z&L?M}tShHPSaOlYometnlg@~ccaIZQu2;wfQ={9__KpL%rTolU(WuQDER6T!AV{yz z@W4;amL175xm)(^tEg!KHJCuPAxqua>g<`oMxLhr6_F6@b^_^U^Hyl{-sdLn?5=Oa z9~qz8yjt`Rr%~`!v!@b|i-f3vgh+Ri%-55d`ktdG6D0VmOE&Z#9y}qHB1T$9ZoAfhYpoHLL?GnVkDSkY%2c1B34|xY6PDC-h?*7 zoEm53flk;(D7IGAS3x8rxYuowRn$-TfaS9|lsYxf%}aC(!q>j0<}A0lXfHLl*jX}N z&4~r{;67k?;-9Jhn$Eg>w>o>2I*V^EViEMBvzMCE6!^kfpb9?MIYg8%?lxxN`oC-8 zjbEsvIGiZNQ$1GSFVV|px0mNuRP6}tP<>;mZ%A-+axtoO$(27A_JFxEohR&p=1S+H zIQx#N&MUlF;z3TCl?moK8ScY*m-RF@A5dVNney}D z(!t&rgeBO|lO^jYqpa4H&H;qD>_bHFB>a9R$b7u#mNl>SiR>L+v z%M}Zr85%cYZgAExe5VLwuY`W!vD&(8d3C|sU>D=N+`3h+^}uIv`uwNsGX*9qhYQjo zcWIM*x?ih}Z&Gf#IMwPrHDPq8@1{X0B%?lMg(WVoKONOq3DGoWBS`?+ln4>YY~`i_ zYLVpP<)bP(jGls}UB6S1Y;&6-Rxp%A^7(1tAcZEiZaqhNlgoX{*Av&V4i_@rjCq!= zF{9D-70gP)%ZEwk!>hA~xTCs_+xKK*fOcaiqjd&;^?6>0VidntD2uw66XZA*{-2!8 zexkq%OLs;jDB_2$&f!;sB{Z2ZQ$AvDsT`D^GvG0hOv~01ji5w_ftW!>RW%V+gvqC~ z6GufjboV+PzvNJXaGsnK=nW|X)|}IZHIw~1i6m&3hLmggk~)L1e%&RFupU6Lo4CyM z!1zGVB2%0XZ9c0kXAYnhl!3?;9%0$2pAt~j@L$tSW z>~Ubmj072C-`qA4VD+NntlK8WVrY`7$)Yi&3+-I=V*A@B_@j3458b)bkX)zwVxwiH zEXrD>ttjiE{;EB*2Bs+MljzvB=>rvBW3O`u*I>|V=!DQgQ$%2nLLym`t|7p@zu0dA5$|&Cb8d43QI zny6RTe+GNq2f}MM^_g(Y&V_*=X!7qu8ts~d-UQks6OiI`$J|~F)a_ugCk~3=L|!W_ zm!|Oqk0K+t8rP&uPiv>BY!@~@=(6jxNOpNJ4zf~s8=W=9uH0XZ4^)ge?n*4x-xDv|sc?)lT zz4g`G`{|;^dc&{4pg-sv_MkcF2gC-wqqhNi`)3Hu6IbknESF$GkcllZlf zBG>PJasH{4+Nao)sUewe;2PQr9mksDJ(8Pc>Op?o`8C~UdpmC@3=LJ9w&HS)+%{n; ztsA_~#kv)a)avHlh)a>=rsx>hH;^zg2w^K%+S8lxMk~L=t-2hnhFzTljOPzP z=YdzG58a;NtP)#R0!L=(UBi#HR+nfX{zx_MkqzlUwYnqIm5T6v0UjJqoK~D8s-*QBu7fs&rKlK)A`%#1Nsx{ph?+I=U^;-zt;ydB!zx!Ss8dHtRsN-5Rh*8<-9>pU}pL+h{WaCLA{ z{dKuRf+yEsmlq6{*I$<(3?5T|UB}CVN7P@}>5^dY`s)gY1bf)6%Q50i8mk-=rKep> zv4I^bla(v|v7dN|@@MWQz8KXs1Ra8HC@ajFfO}70`Py2~T0hPpBMEPP^2DI7`0{4v zjg53&>Pu2)ja{_^+MS>>dI~-tmqUV@*tx5?-Z^N-``-G^{MY&-WjoGT9q+^%tESLL zN3pF>K?m~;WcUP|rOjV*IfM)DPjDUiHQBe%u*oum@L7xTE%_08Dj)SU@pV6CV{c7# z@+B85pl(g)FTJSvP_Gqwl%_L%uF;vbCO(GYQw3@#9})XEkyvAbV=k^PSQoflLvi&h zbjyqoyTED)2|CQ;5?aai2CrA>rM*3^hJU2K7W3NMYWTZeL(RybTMli_6<05Q!~BJ? zepUz^XU&N&u8yR!rL`k@2gm;*NrGo3GV)e!M|{bhpSMux&W?1=b%TP&2L1i4qfs5T zqo>+jJbJz`nNwA>;l~#)H0Q&stQ-r`nyZRT3;5Pg{D)zLIV^%yl6cNUR^)A(-u}8! zS$Vr$Z}%VI|A#A28Daq49k~Qx2QIcdzl1H0xfB@9Hm^qU1F}Ra1xE3~mAof6?QDVF zdq8zZ=M^L3KN1cM`uIG0Sc@C}epC2&Qd+)U8#~)WziT6J)Rw>O_h8_*+F#X*?KgK< z7qReMGp)Jy9e`-ljIQRUuq!3<60h*vA+em_+ysSp5Y{_@rQ_2*$(>7P(SxXhzCE)G zG(`92xg9IlB=UpEw|78v*jCNkeyfH@sFD5vhPmYreN!^C4@8v}?gbPP20hOTEnvG> zuB>d1SFtMo2#$VY^YAFQc{f~!zx)ebQIxNUw4gpESuNMF4UaHxHUnI0_)Segq}3*S zP2~pqaRv&{_btKqr4^RH6y^gx)iXRwZLan30cR8swSDN&_952_N7_E*wtdJ81X9)H zwI${=b8g-FZHXNNXI8FMdmWpt`&xXSmlH$mP?9lj?5G}7z{p#;?nQyBqsq1TJuk5| zEJrXNKb~pAf3DoRF&Llc4Y>VW`^99A`#&2t#r@wDYgV&#zTfzHF^9qJWX8d3ZEV;o zfB6cYLLcVJ8*|@peJxn*_x+~U^O4_r{5{?(=#wbIhW8{=h`eo9=MJ9Xa_!;G4Bz{V ze*M;n6`YEBGydRSpVL3-?v=5$vN^xj z(<-qg<<9j91{_jp*N2UOrUyv={B zr&w>I@;?2YtvtLl#kS_X!`xu`&z0}K;6w2o`qZvHW3BU<9s2NFOa^={pXArZCRWoJ zmqgULZHsy`zFEIB)ekiFuiVJrZ}_&G#@A)K^1j=HH{Vs>i&uSFL%HqxJ-F`b)ET^9$457 zA5g<){$ii-=2l+_W+SxpTdUzl&S_FUXF1=}a=taiXU%)Vu6ip7_wZJH5XidLvn>9k zkaje$6r(QdrmdLZMMsxat{j$Y)vQ3i7&qQ{77AKr<=mkC4E)(CcQkRmqc)oQ=e_ZR zZ%G&xS?P;*UEzzor0pI3ombm^TS9w1f#Kt#=d38GMfSF99is0}RnPh_i1DoRj&+tQ}` zmb!a&j|F`%j|G$lEp3>J4ps9mtdSSxp{{*y%{JlKhusFWxi}!!dEO` zCa>h{N`2MOhL?putnjO%LZ~i}>ORl|0CF`zaS6~e`D03atP=X!@DZt>k-CM{ElSnT z27u{J3|!uPHMASC+q_hD1?lPz`tMiQ)e4`Ss;+CgIt~B7**lbuHvwlFBfHxjY|sCG zb-k>x?3PtsuXJ^X{P(LX4vbb+#p$XJ`!7}XmX=|SmH`B8mVt$SvxUSJ+Py1;j912G zqfO-#1Tuihv~Gu=Z$O58`+-bR5A$WiVzO&6@37>c_{kes@|V??0Ufo09n&zp8;wLJ+NEJ7E=zI59q9t?bb!}Bgg=ob$)cfo z#2Q#H=|t*IuPN9wXJ@V_aIujjTZM$i<8BXE3OlUAb4qQO$Aqseb|xz)@^a`O*&j-v zOpM6z`FciD1WAeO&A9v}Ss`hYBYcW1OBOxaffk*(w8@+D!@uaC^I{?6Nfuq(F*VM| z!4a^x|12WLCaigDb-{^bAmzBH%5zvEa0Nfj9HlK*S+|4EgT+2~4J37JkvpA4&h0U- z;7e=%m}2W-{9(0@*-amEoXMABy%9Z%fhUU|E1ETlGMKwcXFG1}ESAqfv*l2G4t~p!Juq(^$U2E-@t!D^68>MW4Q&76m zl>gXd%`ft9=bau#xNU`XG9utMa_vu3Y8Bk!A5F_XA}mBZr6vp~&q3Em-u)g`0!JS2 z%^_{z(a3OYiA=(!^`=5yl0TjES^AQE=t5k;bKSt+IS7AY1;7%UYD5WtXdS;{ts{!* zC->m4S*Y`wjZ1x;ol3N+K3I*_ERb2aPFBM}G5bY_(2;mKk4AbQuOf|EFL{n7x#DMg zl8GTNipzUJaO_-IwJVwRI*!-GVQ5e0o2ytB<IY?~|RgPZDvHBC$!F=MY z`Q)TpJ`gZZqlg3}C;us1)NlBQcK0PVG89+(J-@iNd^5BQ#Q#1}j+vH3N6A;^4$iSX z@Xp91xljpwzMH9<^xX+L&I5nMN(ESx0Nc^{uM}`p8{o)as&BgVR`5>tcA=zT5#nni zYD3V7gXB}jU}CHCn0Yt`iLG$L16` zFQ}xT9FZ8%1FG~#1|pp$n#8zbmN?J3g)j>7%>t}*llf$Pov@ILm0E1xCsX6Uc*mdyBR*3EeUJR2{56)Gud z5i3K?x<*`58=VW{NIH0T0QIwrp7{0z9QV#ebUD11N9Xq6n~tPG!n(Cb7wt>ofvzq{ zTj479FGdW5Wx8P(_<>(&@4W(%9*pie8T?T?FOndMwaH>gQB zWLdpT_B)KO*hY2&u+`H)u2Zk%S~hxBF#*ISng-)d_eTeP@y!W2@u7%7zb7|phs6Y* zjZMU+;`GX;Q_Cd6a!&^r_M^6^jl3W-l{(`a^9y%)0eTl{34{ zole34{+=3YqmPvirjQC(>#r2DoKzbXBtZL|%JTY*n;Ty1Ypb3rox=yKp+D(*b9iH< z8)?*PC|4qtO=O7lBbnDzhJ7zW? zO}FMz2K_bz5)JpMNNBD|tY4eba|g#yrYPMj*ls7SV7@bN7fl-&PbLFhNE`#LYo1fl1eT9zT}+qT~TKABS$v5eLd!t$`_J6J{?HkpspJlHR!(QvPxff^73%R{ zkSOq%_1|TtsSThWR062Yh>ht(fi16PsXnZ?Vvn2cTSHJ*UgVFFJhp8vdQ3l|>~V%1 zTj+k7YO*acFAa@k(EBZy)4JguCi4Ki-Oh*jUh`a2B7g{XW*SPIemf1|0RMDdGvo~5 zA^wd!rC1w*edn9HjXfFh9^DrgFJJ4vxOjP%`(nr6aF^Ds)F1KcV`ky8oo3Kw&KqZ^ z8hVL`cp9LcMM~C^S>YSBMrP~HrcnGUUegOdAzj@hzL3b8Bpok_W_KrxMyo&pd&5Y` z<37H$A#Gn(LmBXFh2xxNzS#46aV`mW24`<`ZuzAqqTwC^e0z|1MY%)IZ(;`BZLJNC z{_EFT*5`L;lC{B;MN8de1&N`h58)!2eG#7V8|VyOPM#Laki< zTFoz%tktlV!_604WKL=4PcKoF7agC@fAA82-7G|Y&Co28bg*6^NvFCbX{C9Eg-(&A zkfs@u6s8oC^!{Oc&_or(2_)_qwmn?;ABkt|HlL0jT@E?}c2xi|F1M#C-PB-o5mPZQgAhpyF?#Fn~}HXwD& zRAGr-<(WqyY3`^UXO+XG(1Q{?sj@syPFkVosXFl*ttE?=?_mEeGEFTql!KFZW9OVW zA+XJ~iF$B$)RVG|6e#)b_^M=@T}s}gm$qr!Tcy_@o3^P#v!?C2v6*RWVg>*GwC$z9 zk4@W4(D;x#U&6J;$C&OS3xRU4PIt>>M{CXNkIm7jA)2F01X`P&yK6N^!%6|I zQ&|cl-ta+W0b5rh;}{CL6+FlXZ&cvCOI9C10J<8s9!%xK2nC4Rj3(lf=V@XfmE-4s zl}tJv{D9YmdfI&!PYR0Wb{*}~Xnz0f-XGPz_r?FV_cv9k_vjsoOMRP$yrI+Sys?o4 zBnK-rKs8QAi))9@Hrru-fpfI!`Iy2pBYn1;NSU*x^@A;P(%A)Xjygzea_oM##Vzd5;{Z}K20C|jwe$Cr)RZu+$Us}qib{2+MojW+!yioVgYjPA`4h;hA1L>EsVR4ZTP{CS z?r@d+tIC0t3gdUs2lr_$RK7owFfWPGnWvL7PluRKys{V-y0Ol8E`$;w{D!C&-s;>p zkuAK9aNlgvI^lZ|ra2X)#BbHpr6Z&lsrD04Hz}~z>yun4XT9FWtI3yww8Tknse97t zX6K-GW$GH6P8C{}M5xZ01Z5Nd<$>unN>^AnQ_{4kGh*Y?^p-Uny{2Y2EmBFQxG8tTA>25MCELKN2Y2fspaml8Jdmy>u z-MZ2DkE^r$ZYarLP{@RQZX5YHlG;Z80pv;iNT9^|6Q$cGE=6A6#g zd$X%QTGc;G=6Lb`)&D_Nq^lQ1mpQ*u(ue6<&76#-w)i53oHg15n49puX34Yg8O|u( z1)WpvoWF@#yUwhIS>ri_o%M@Jx{M@e(iyvw&P0CFt+t!0RiBxu(q6N|6F9n@tu>6r zufxxs7q{cwx8QLzf!nxyg#IjkLdZjB%x2(#FRavZEWuM1Wm1WrStN6Zf za8@^9&>J>FEyl;EOTsz_ifUs|m5Ptn0esiz@Bopo5}&5F#T>Xom$tu!`WKdE)drQ{ zaJy>Dr#9!^;hE{u22V>FGW*FDHH=Xu5-p_nleQW4*sAAwnQ?p{r1zjy2GZ{)mvizc zmM@l_Uyyz%sToiN(%*L4AbsCRzP;@XqMK$S%_E_~V)g?hx2304xgwK9=9)kRiKbX#!Cc1A?>gIH6{JqT6^30QH2^U(c2s#)% zM4~<;h6`M5i0NxLBN8)IHUu~O^Zbv zQ3KBW4HV3XK7CbTL#rdRB7@|8&e&k*ENQ1Qh;(-|7$W{eGDwUm(Vvqu0>rSp5(`?!bG*I7R# zH8k6ms`@;wMv~|&-wK_FpO8Q=U+jL#TSeQVqzUE=y~v%>Q^lCt(^beJbuwEh#Y?i4;a!|9qcm>;|}A63t~n%(}0 zBN}SZlVr225?1&W?aa%U{HR2DZAKzIKw&J5O!#b-!*RQ0!sB@UUYYP(Nn*=bB_y$% zKSmOJ{4JZA(uL{_GV*GbYcCU)((w1ngypI%1B_NfS1SEJnQ#Zv(=uT^{Ohev7<`Gk z@NhJ{3p>+Yuo^ca({TmDRzpSv{HUgLDPN2f_;-4n^u1Ex$<%G+AORTD>&uYux(N~s z%Xux|s*#agx|v2oORBjD-B05AB4^z~dXp3XqdH>ve2qr%U%+4Ig=e$){3m%aUPfSN zCY_MQjMeF-jT!Tq*B@iX{?%XXOp4Dxs5-;28d?l6<*s?Exqhk^i?5AT;vYISb@NnW z$GCYKMJdCL>*i@}WS}FTC6Q^mbSiUtixty#<^Nqy|GQ>w#{)S1%}CZ#oc_BXvOJ$k z3Z2Fohg}0-|9L9KAc+E{IHWLfrN?JYTyMR!O6U*%p7x-mq3O`+6gP^^ z>2s>Y0LNZ&HJ@d2Y|1>X%sl;P`pLili8RHWNSiltBAuTC44p{Aza_q^j&i89%USV) z1Z&GnbO(lrNJrA!iRYY>L20}lMT%tlay5O~|4{l2@!yXgO3z&VZw{q<$dEadu8?qu zL+Kd2?j~DI-GA9q%>cOl}?N6TL-c6r8p*hv&OhOcc1G;LboB5(k>(EV`lg_IH z=bwU_52*`Gx4LfuZGaQ!(DDb}BX5fmINB+J2vhdJtdI1k{M4(ub z-)LUjbO+E2$_Q#Z8A0vNV}*wx0&ALW&fXA!II0prJcFNh`XaQ7$7i|yFklnx>kFOEfjrlsF&)NPt_zd>e)TR} zB?EJqHzSHJ&_+bwh_36VPWb-VEk*t44Fd)%=~)Bug3roT9Ntr`&=80|+q2OqV94M$ zwEGe~_QksW;wM>Z3i99@o#$Rwb%w+9MNe*P)~;gSlJbis7_LHttU<;t_$w%p0$8DQ z_-WkjRc*7va$+3+g@8+Qky48>mcu>Uc87+X^aM}BjMH4>1Ri!RJd;Jg-yp6jnYc@K zN$w81og|2q1fi_jHc*e$clOY9_d7Lq2>gvmJKy=x*<&V*oPK0_FQN5=(gyk-Uem%h zN$*Oaf7n*92iL`CxZ5FX=8@@YLMDoBZ`g>W$QQx~lNJ701VnVcoh;h*4*TdWLn5`J z5TtfYxfLP=-4Ns~pvMjJ=9=jgx_p$X??5&y z^eyyG{9xvA;aJ8JU&L#=y%*{=I>AL(6{klA+gB%xK3*?uulC&}T3$_(S|D|*+pC8} zNk!))!Tu-T;&)`#JkOmf#S72$>ffx?&+9TPb>LJHe=AiL%~zY|8_r;O@guVvtu|x1 zFx@CpR}#zw?tc#cA2cowV>1EliI3K0Mmy0R?NbzFw3CxX zt$d6BF}ohKxx$lxQRkggXk@&>8|^@SnKpzh^$g^EZdG&Te z`uMH(Xu9ui$v8>Q6n%XEz>lx!qfZ|fANcWc*52u_kAD;tw6FHpDrxCsV|Gb1!6qD$ zv!jxazsdgSc4(qXzNL?25B#XD>@3vB$^$h!E$94Kxci_k2`uMCq4mj{*i9X(^kB1!iF;^e!^>I%&yt_00DM`-7`uMJ%&eKyd zSN6_0Jzb-x8a+Ltr=faUqNhqd4b;9kPES!i9igXx>gixTeWs_*dOA%tCr{>Sj-I~O z(>*-t{6;?K?lddhRdBpsA3N|A{{+A?D*Yx~Hhu}ec>sR7CY3Z5484?ss&#t&DODlc z3b!SLlC1C_Qr{=W@8l^_k;so9>uwykrO3Cw*!*he)<44lTp#blr^E$`pCu+HCM3>D z{3KE5R%XE9m&$W)T(-aQR#i42QJFZ|&5#;bV6c&N)UzbGZL?^fX zw$5c?kO$w$rgwZ*d8MMqHal;>;!^*`zADIoprvt^IKMxMNt37$<0c5A&CWv?Z~`}x zkQsPZ-8IxLgf%fIaIeZwPTWRJT>#Z&PBbP`rOXkPI!331M&grQ++(s)Lg#d1W4fFY z3~kU*rMzeG97GUqc< zgYwFW!oY9VFcFykdt2@Ygn35`|~pydJ;Esgg#0u9(QZAKZ1|R)<1?=Nl5?r zz11)dB~+c3gv~qMRWyCwWg4V^j70e)Es6AxT|!mM?MjWZxQApvhst0f&NE(eQc4Sc zy|l3qHRiRAgq)CU-jzD@wHqCdlJ5?m#xsL)QpjFADFGV9`BGot;j z6S{R0eVXwfahcdi9#HFfHSwAg`E$9*NHrF`+s`ICK~jTAUTMNt>xug#W8H2%Ofj?1{E^Ga?<+I{%mn`R z$Ck*f-0VOF!zj*XcvI$zw%GQ_=!)tlrZaw$_Ij-7i@yQRa`E|^bJ~$?=2+1#QvAlB zxzmpnKUVa$Ropag@>ydR#~%lrh_;2JL)#kDLiSB=1@fM=^9U-45))9Yf!#V<*K;{> zKMkei;ca1{=D^rsi*CGdSdtQ2=oT7G^21lVAC6Ju#cmBMu6K11RpxE;&{&UlR; zOQk}Z->5GKY*<72AH%p?v!7*;h%cPLS@>(h01J)@a8YDkcaMaY?+$KC1&_cQqn3CZ z^KqPo!4dQ!lWaEUw+h^x(inFm0bHWqaZN49KdWTL70YkE+_gEWmS$J$2;IEN=A@82 zButZXU+I%F97r5)>;(=q{urXkG-EAftdifA z1wg?w`ciPect!%X+Q=(@?ABJ8F1>0T$nDg&#oEig-^7Pjv7A7iLX<C6|C*quE$M0)>N)UVunv_Evl`l+fAxJvZ&PIuN6K~_YL^G_BOT_8f%JY@CEHu3)_bTP0 z_tpF*d;YKg1o)Bu0I!wJ3gl1$HebS8fh7BJdsSPt*a~;&;Tg9IU|jj1Aiw$4lTX6A zM2hI359?Jgri+bqOaIjMNAx%Llu1KxiS;%6^kXesq}k8PspKpgPY2icRA`K9cp&=&}GXvi3mh_fPj->PccYPiz$)}1)4L;blNQv{pvlhZ7HG_~{%bA=;m zAEpThiF*x@iler|Iim16YT>G{U+MN;ssnKciW%3k?1A%8#u34=?${@mlpKh0n}-4`q;< z_15HMt@jNkvp}{A<9v6Kt+4plcs)NUTok_N2P(KMm0$j38!=H$yet3(6mOPb$8Px~*KXOI3%=wOw!*K% zzxhJMJhfw26$Ini6)0Y6>r5(W;^f}>P#HUAn{(!6t` ze*)}g;R>hg6?>A#ym%_V{?a*C;hm+8e6Y&zEG?n^Dc1a3N~I3QL%1}D2RzUg)Nbpx`~+H>=6>TL zmATCAjC-i`7>_~p{IiPr8CejQv8aFOB7>Z*(4RGBj8#}Jdzk%xX@=<{OGbK2={@Ao zU>`9h;AE{H=ax|AxI%s~{AB=q$#D{Qx!hp2J(RO4cq9k=?gv~#qR#nlA-1(F&O~8U zgYa3FYCEz@hk+J@b$ZJE5b28BAHShpI%0%{|2UKL9EFB+5AMwAD>PQ>Ejl81Q9z9s4w67d{mYT`i$mSZisqYXWh$+35&JCN zY3y}u0?1FY$J668NXBhJe`x#@j~r>6Y*xG_)lInZkQ9GDBi_|)1X z*nimu@W(Rs?G4~@kFpZ$cY{FyoLk&o1~k+$E)v3}6M3)>zSDq{Q2Jor`M>;CyURLR zVwzY{2h-ozoM-7*)@0rG?M}2=5`7a#L7cjK5Aj3N8Gk2xue);=_$iT>=#ZeNCg@+* zW@=u{Snwda{&Km757TBlexCT4^usuf)RBpYui8kf3A~Gu@f1vOf5L6b$ARNPpqx<0 zAjVkco@1wz+gF9VHLo5b!&(*Av}$Q^y}#;1>t=oBKn;%KP6GmRoptki4sd*J`pZAC z78p13P;GYA9tg-iB7PbwDNzX#J3v0==u#F@SczY;k8y)$%LzI&R-rNIVX)>-57j0m za!ctZ9{e#hr1-0O)?fY8*4(bYia|xoEgwSUg$+)_TeBVuGz~B}u<xi{WYp6-7DiSb-4J;AM-2DWKnV% z3lqz~=Ux{=Z#Q|v2H%?Ol&dojk=LQ4{E?O3FX?cDErPk7b6nFX}X$ zM^v4%OMyZ&AqaGaP`FnoqX|WnZjS03c_Y4R43cion1V5ah~ZIu_L{V;vSH3c|nj{O>>+L@Kr7eunsDoFZ7@{tNfD!oRS+_18-?xIInQtCXNG(Upx&&`nN+RdMaA? zTaf{<-#eW_-6a9IzQ8%=qCH6yt1|wPiyvMxnPA*@I-SS_$F&(}s<>J!@r9ZT72F4R zWau$;fyj9Yn(kgEh%Yc*1Z3D_h3=)A#Cxm!+}A5HV@g)3wEp4rB!}kLM(_V{qS9FWJ^8cFAfx z!WRsfwSDZUz$e_oWF>yBQ(Hi3CRs@O9&$KW{lb;fO*F@rzMI2)Di1oo=IC$xb35g0 zWZ-S?v5m_Bu!cFdz5n4J+ZE23C*5Ovu%O)RR61Igb!;9 zi?i-za{$(P0@shQUu3ZCk{46%fX6Fl`sTc8>sOr*l)+UAQz^h`0aLG4|JHv$3u4!>SfP0k7|W zl${S0{F|f9-T&^1Wsb6HO*coG&bBl{;E@K>UCu1rQ;f+>fC5vXfh6BG(?wLSBEKOj zo85;LpT-6&gfd@XYFlJbk25{S5jWG0;y=r?$&T=+3a7M^?c33=ILzFChlkBwV^&`> zGyLg=|Hr+lND-w>`<&-eMClWz%Mg#vJXjE=8jRJR9<|MG&Huw)S-3qq4A&rr=DwW* z&e;cXX0uPOhreI$ymT>(+>=sShyHKBGKYS@)R|tG6FfruLkr^k>=twI|HRtw;LqxC z>$9vr2mkv&|1p0eH-5g5-bkb$%is8h;DggtXO?{==^% zz+yVrC~kHmVK&6(L-*XgHq|4>=Q#1qRAFwwz%{^YknSkkKN^58@d{GizL| zOw|h{1ZYcYQa?AZ25}wWVg=b1_N=daq$Xu#x=H8gBB@E80aNh0hKgIE;@T*pUfCR$ z)DDHKOWPbyC8v}p&};3#8?Lfe5@EWF&EfFAbWbdobH~9vjpWHo?5OyIIx=I!t(yR& zSkY-`b8*p+$#Euifyl1YF(ciu8g}>#${8J=_xuUaAE!UV%sfVlJKCG&ekMKI>-5q# z+L`9{$42`>PS$7#_DYXd7xq6k+Uv;q1EU>R!Wbhu%catj?|hfly$yP4>)xB@^~bt5 zBD;IPVfNg`kS2@io@^))XfoC97GncB59pq2-nQBKo4CN9Ity5?%zYB)QwLXVt@oC` zbh6vSmzw*e3dGiI36^DaXO=}|+Ygj`|8rArnpaa$KlGllQXz@PqGpe(#W|Jzg2v9(qNnfYbnKug@~-IE>0c2%eudV_UAsQlY%JP z1T`<;gE(x)u_)#j;P$4s-$R9`EmWs2Mncb(N5h))Mr*fSxt%Y57?eu9eUhccu7pTk;oJ48{D0yE`i*9Plz`sR^SS%lTI@{~KLSFbI73BPGEEi~8y;U|db59;It_Q)_QvuSG@vy>!kdCR~ zKLB=&0a)=PoQ@5TQD;+rrCO^ttsR?gO(!L-xiN9d;1aAd?!B$D3ref49uq699(5&F z51Vi~T#cA6yh*SZ4DTq$W@DY=MWz?HMrcj02JGTeMsg`8!KgDe0W|5!bpm%DuPJ|B zLv4V@S$dUGdPo-iuPZa*oJL3uCJF z+JS1NkRZp6zo4S{Mbsj!BKLx4laT1Cx7eV+QUkqoYH3zz;HMM0(z`!@KmFV}E}w-5 zZBE!~D;yLlgB#<>*KkvB(I9<-tBN5ygdr>T$B@dzY;Kz3x%P8^`Lp}aXFa|i|Fdr+ zkCy*8!$8N*23GK&o_ii}vwG%djIi6c=4igBPF3q66UD5qDnyFZq5tnfZHEWSs_V<8r1s=CB_I;XKF zr?&h%Yk`THg-s=D1l%)gcsNBJVQh;G<%^2Fv3(6@gKV zD7J%MD)3PVS$-xIY_^*+BU+<_t*H*4l$NLYLImTw>4Nqh3@u0PT0Q(1K|@nrlp{5n zea7Z?FkSr1-}mbx;vIlV-3%@3km~1yDMdxereb-Aqa4kZ|1u^Nt(~`@6S&*f$n|Cw zyHUTyZpX58kDG8hfaITO#2^J@^QA*m%;Pz19kW&&lSSW>Bk}G+mW0LD@S*=zFE{zF z!Xo~}{))U{>9WEc0u}Nh{w?%|>q{}R(b>M49bpy^UQ=6?1@xZ~C@r%Vj3IYzWSi9S zS-4Adsl+9oBsk)>@k7dfsV)E1T5zNQ0`&_3kn59;CgjpB`WTy5?1wNduC+#?@NKKx zo=-TdxT6gIHa?j5bkkBMRMQ*|KcOV6LO`+Q^fm=Hw2nm#APMSe@^)yf>0tfKL*)&+Nqrt$mZ&xze3-z%F)hU<=R@yo2Qz6O}pNVOvxrnJq7KI<9IatVh$7i#U?fmP8 zKA&pvmmIIdMCyKi1VHFrq>~1f1FqerGE!lM2Wfk>e3IvjT}80iEqS0UM>po&prz0i z+YP**dpX^8(ba{!47z&n&uMgZa1ub{BERuFphf5ka0*C#w3l~a{yD;;8CABwKc0g5 z&-oy1933D>v%bhyUpaaXNz*x_>jSppa{6fU`#s;7#bj%OU;-D^R()=T|0bwtfNh7g zw!(@|cV={8$(hk}N(!=3P%g1NtObg3fE~}lx`e|-ROi9UziEA!qEPcqZPh16Z9gz6 z@mJ~&Oc2^|E57L+nrW-J9qMqaeufOD>QHM3?)A9)r}8TgtUUNGM4oxxq_Lkr=%!^@o5M zPs0YK$VkmhFIkLEl50DFeTa^Mt|1SQ%H~Y*OocvQ6Tp} z_W-$53F20{A^tpY?_!)boU|q0#~j0QZ<9-}0yn_kXC&tC_?AqVSQd(oi=T zd4^iPjL&$47X8p%=n{CMn8P3L%(Cy{B4IX1*F}tqo5la*fFiCKEjysdMAUW^P^2_l ze~XA9|FiK#PGlngH=fA<^YKJN`+EOxJdyv6C-VRCcp}?S5QzS7JdyU&9^FMm-uZtc zp2&B*dvn?Ieep!TGGG2To(NGdh;{28C(FjcT6j%f*lAf@Pa;-a>?N}cvQPbr6zLw2I z(j18a4#F^46CZ&O7fe?rRXeSlrLACei;YAFn)CNuOct zL6#u)6IT|>^}N6DcHJrGgHzV6P)IoGiGFDS%UAw)u@2$JZE^Jy^C;bALZG*Ruf!3k1F$y;(mKnH)1HZYIqG3SgS;t z=zoG@O&fviU~!=toexzD?~Q!T$q9VSP+eP5&4HO4F?q$c<&f@W{>XIkUx0#CM_iYD zg|4;`p+EZF$6_qZfJCUd2Rz!~Y#t3LX>o?9VqUg!+c~9W_x=QP%9cA_G?I5uFRbRWDPt!SDIf?)!564MzyFB*iv?Fqdn)l(*Ja?(+40 z9e)6YR!GtU!J04T-AJ#$8@L>IHzV zMY=l?Jo2^?@ER1N$XW#`%B}a8bGf6f7MWNWUo0^Z+~NH(0;w9oKE1B>eCO-?+Lt5P zAcM5R>#?^f6fh5>l>{-`+=XASQKd|r*W0^XO;wLGswsfL#q5>qw=<~5b9gmkglM_h zGhTG5UHegQ(?Ly`OZ03k@HU<4X{z&h8-LPMxw{DGg zH{QB8)ph5sd!yZ*H>;`6;_d$;?MvXJDw6*bAP^9I;TVYE5hO^!EAdQ3FaZK@V1fjQ zMnyqE77+n8D2hTb6P$x_(M3f?WtCM{QSm}l)Px%k#2ZABL*P9I1<{3w%KX3I>YkhN z?{AlnX5OpURoz`(Rb5?u86GoyJWQVG3gUr~>mTJL4%~DZa$Nodf|9(gfpI$f2F4r% z&I6SHOtZ_t%vVCv>TGRZ{MQH~oMtycs+jq$xbry>5vk&SyT74R`5oMS2qqp~47wAF zL8LpuihbRkKo+DsS(n_MtTMe9=OPXd63#%s+@$Vg1gw6fJ8=chlkNl)Auxm)&cH-O z^S^VZ?>FvgLjqjX#-lmHoyau}>_kE#M+HJD68)*jU}v=2nf@)V@PsfTu4f^5`g5eH zN1LPD`wolSRVTuEfq9RTeOM=WH+vvI)SW%@8a~ z!v|;=j0mhNH>Ks2d3TRREYQuZAwTysmhW;k9>bk$T#kt|_I^cA;__c%x%|*Ykj)>6 zc};U!*oI)XWF30(Oyk}kK^0Gk;IC!}%2VEEvCk{bl-`VQvIpQK}i9gcKy=HY0UWggxg(`7YK7GnCW*<$8&pY*_{fo8c0fV;{!5uppw}K#n zv$AHw48alEC4S)HFYKR?)~H=U|HoL`7CoEYlU+XKFQ(6b2q3L|b|W^nI`B2U&eb_q zRKY^&>pA@p+;06ci%TYH=;AwiS4>AgIoJVK;?Fz!Omy_!p#D?})zfEEe8XKmLcelf z_F;5r11=iV3qAbfV1x_nZ(t#Cy{ju7lM26?hqs8`@>iW?IsL;=f|et0Z;dR)$z)u< ze+W;@rP<3l-`AN&^mu5HR>fbk|u(xGen9GKHSXk zk(VD*n~UL7i;oMo*(E+ymGy81`lE;6h_d4yORZi09;j1BR&h0?$Nd7N$5)!>Ywf8> z^Q8Mq(|zUXo{Dr&37#AI${Tqq8hJ_@`AQr6${Tws8hc6_`%0Vm%A0s9ns`c@_)0T; znWv<*CT>lw|ozTl>mUmDZk;*1pmp-1bdPyK=5aZ7b)#GxZWjdkHYKeC76qQ@q=M(uXIU>!>mheBO1 zo`Z6RlNnHCBy)N{3^}^sgUh>J4m^#Ne`2~Se-+M0!&(h8Pe$N5CbPk&yF8;ic7gnC zOveN-23c6p8@vYVe||hYvi|1*&6g1@e4y3Ff5Oj?+vC)ySS<|aWvml1Qk%fh8uqQQ znH5RBTA)cTu5!n*YVhN{eY3f=XNb|dZw~q?WINXQvTwfWy%Ba;8j5XZf6cDP`;l~K zEIW$bGDWd5VzYl?awLPBJUh1<1X#mtxe?Xq?&5NC><#A(nq)Z&e*uIf_NA~7%Hi%0 zVj)Go6xqHS&EU(p|Az=SX5BB`s2a+(KMN8$QFux668TB3I)2|l-FM1Nm{Z>zqwO%% zRZcFDdLD#s#wX_%JF#V_e>8nQI!S+vm|>(5LzTl^70_tilen zq>oq{oYAq<3#qn#MQni>r5~7kh3L`HGbyr8>RIgU_itgYgf z4^@lou6TmVyo+;Hr68-7BuyC@a=Z`uB;gtgDb|!8w&wj7RvF#`&So!WvzxSUA^??q z%0cghT}4LsCb>3OHpQw>xO@{UW6S5}VN!pETrcWWpw|Hul1DhAqO~}g8wHoO`M!*i zIOt!C#&A`7!_Bpx5RW;JC5lI*i;k%hSn-+h-B!qmR0@Z(pdMNqu~pQ-@i91Y2Uo}oba(@a_g%xvU1^akFPtET*26bsuI4sz|+>Ay1=ujB3WPM%iftN4H#naCc}s{V&gvHZYRz zw6-*r8Ov~#zC>wW;))x{y89qL!{w4Cw1;HT*?IUx&T<(zei2*|9}1ocD;MLtp)7Nx zEQoyKHcycxEHd%;&!(?|diB_XdQmq@mf>a$5M>6|;u#!*L3qU{fWQ`_O*4b@KyH;( zyd%lwP~bQ(i?e4K)MN+!h2TvHm!!o&!N>`wI{d;Xn@{^4MLTuY^ml$M6`V9U;e=`0n!NvL24FS&!v% zI7!Je-20-dLh_sNR_3*>FQ+$$UM|k9<5z4AT!-IiSPJo}Z0Nf{a_}n;h2aM?{7{*L zr!}zojrE=!9>oyodgnFV!#5^(GFKxPvizCvk{a``#;@gkCo9bj!!;2yBmJrARohy5 zc1qO!Lsc%@tg5mNXyK~-h+%^Z{u5nu>v+_IZjpr-az2lhIlz}ljP3tk8ARpAsS2Ro zr<(q$SW%9eNF}VKk}uj65hjDh!FVSR1uye{WLWAA(a5* zk`8xMDL3{qJyeZyH(=SKI)b!gJVjm-G2vVUq<9Adur}6RbFl4*UF~#y!*W>k zzvyUW8^n4ltFkkjK8rMy*cqq`df?q+;eNHIB3rwNI>E93A#0IiFNhq1&xuG3{0jRg z+#i_Cy^+uU58P`~nZUiBOBMIt&;C>H{rqW4?!A2bpL1_MDEl(nZjIqy@4svA`SC5D zdw%Md;@+b=&#;w_=iWugmaUa@EJ>FO5nz|0u&>-5R#*_){F+B+*nq&Ge%M1H3bl-O`$pVhrr_TOf88tDq zr+vZ(RJ~EyN1*3MA7LY^V(rD1QalC3!b{ja_^+z-&k9u?;j2~{<*`|}y{786zdiH7 zFgHm{-+=F_`vYnzr(vUh3{US{#Ip95vT99*>meLjV;=s}tpD*6aU9>29H7C5`xQL; zGXB9s{E=m*RXVP6LQ4f;cBy9d0H2k%tMk)N);7`Fzf z{tjKltr`%yDepQB;E^L_=v3VQBp}r`alXt2`olKl8TMsP)v#rR8SXoA6D*w?%3#Qm zfsgjz2!fx%tD0!$txLCMViW)M*nL(S_8aDOQF4;xXmq(1M)e5qVhx<%=>v927+a*- z&m0uUgcT9UTm?CQ4Iu?gbB}_YRZqyNgiKbD67hZ^A)7GK*X2mq98xL%``okrnQ317l^Pf zgr!l)-6fFTO!I?+bPz}vLbfQ#{3W_ME09p2Mlj7T1(_)j;pb-xa-Vo>MNCt#Ag>EV z=)9yLp9%z?N}Bz+f@~Iu2#jArb_nD&rny5w4hcl~`8Ne=B+AmAX(|-t`?0J=4k3LN zq?x3VmMTz?Y=Pu5%_$1fLm*PZRthpeAeS)BZ$C=is|3=G5L-dK0y&qEuN34tKArH&6O$P0kjUiG|2zQQ9(vu{_BlLaCYe!YTRD0(4$ z8>S$|0uf~_QIJ6b5e}TKAR`1KGIo-J+#nE9{Nohleu0RQ`Sl0kz_{xpyxpT9Jw*qF z|6eG`P=N?pVK^}@irYXp6qA9|S8x-U&fr#u~ zt|0G;i4$EeRS-)cV!qB*kY?|(7Ge`RD@b#Jh%_32lt{OTn4q1mzBiKZV(|9k!dBRW zmI4ub@GT%PUEf@fGiti|u@P)}I;+|msA9!9rW^Kx*svC&*+S=8MWF=}bwte$sBjYS5pSCD$qKPkyD1^GcBE*7GMkoa-<+3Ov`p69mT+sZVCEK_^nB=YYJ-}_JM~MaL>#KsP)g>ioqE}tryZ(s$kpD}oUUP9EaP|-RL3&Jl%EZg z@n3nS%?5=%)9G2t+1~YU#i|gTO>wpv(TIz!J*~@&KngQgTw+Ayt?_F7VTQ*a67ke= zRr_5;U6R{*;UoV;J39v^v~!*={6rM~PulrsnDG?teCUS1*3Or0jA`eYGj%)nhJ3}h z^M+d^?ffnLj}+}(ja=({!dH(~0@|+0_YPLwV?j6VdDT5||)FI5EtVk0pMfhUe zUt`euAIC6gRJCSM0U9QrK`-1AVbF5)Eh!i@61m#nU@{?Dg06e`e_&8EGl4<7pHU2Q zBa;6o67-HPDs+H>z*tN1+TZ>fgW7F~VbCQrG=p-{F!2nUeRG6CkD)_M!JyvA)qXpJ zD_c28z#`VtH0Rn<2_fM*WeCaT9gh&wnW6sV!+6Y|{el}1yoV2eXP8G1e_8+IDOS60 z6i1$b8H#WOv7m%tQjwG`97~J_@MH^y_2gK_E??8r2Fqm_4ub_NEQgt@Ndvs)qzZLO zIZ?n8xa95P%2%~Tm9K}G$uS&3Plz{I&%-0o>JIKk43=#*N2yq)V;U@;_=Dw~-&j2(9lfEwt6hH(qGJnivt<-SAXW2(1^n z+D#i%tK+)2oj}pu8`Ka5MKCZN1+M^38H4~sUu?EO6g&@O;C$07A)Q6*l-)vCs_mB5 z73tZ=IpIzzcK*WdC#^G<$NS>4J(L8aY+1c@48dfGzuPxh{E4+febE8|Oj=W1G5v=4 z#kSTGa-Ahc9157!ZTjE`YVIRVL<+ZCHKV}=H$j-nlY-px|1ZcBTcjWZk_z(rcd8(# zr7TE#s)8K3?oZS~g-ZvLp9EDn?Vm~&s$dEu)+$*QuERh*g)01V?O#)c;W*P<$MW`D zGw#r;unGCbtHOsjMpR)7ob42q&fmT#@<)10iJlq9QdTiBv5~-AqzKz^(-kV@O>|QbQG~`xU9tiqv^Yq%I<<)1suN z;=1}6QU*yi!)IX>`)!_!N3n zD))&>`&3feMNB&vX>o{2magDPm~1H(j=Hmm!Op-M@dQ$iM@ltzwwH%fDUJ@~=Rqn{ zpUQNE%Jj^nOwVPer>L~osI>ViZF*ALW=#7t#@nd)IVx=vmG+B@#ENfOinQD=inL8t z+D*NLN&ikt`x4VWrqX_mArd5Du}XV)Qra4(outyfsM1!ewB<=@FK61mD(yWg?QoU0 zYf{?NnYM#Udzng`r_%m9Jh5(}*O4{|H9*~ZsIO0ToTzVcm`lWYzfBJY20M4ChmT{7JOI6ALbg)XUMS|pdcoK zz!R!a2rS@)Sx1E1@D4hKj{^)d=$~a!UWN~kw7OL^??ca4ybZ@Iku`el7 z6YanAkB@(9`KOwHrr{5ZDpM*|mj#_tc~w+(V3aQIg`jKm3R(LO{E4DSUxrSr1HSX9 ztUNVU6q%I?jZ!sd$xY0SRD)?DhYcwAUQ6omkzJtjiB26eA@i<)^n{GzzMr{+jz{SH z6CdsAkpi(F&g0S|=7Kq*s>gzURaE^2>vjl!Dfmoh6K@hzsEIn z5usB$22YFP;?RGYZw{Z39~PVO8byr@W8|`2KFDr&fo=lHkfSG|Sj;;tL)KHu`K}cu zSkOCjUm6+#>rHWZT*$HbIwa#diUkZ-LPD0aMEF--=06)}#c?0ETroeJ-vg~SVY1yE z-DDKo69Pd$dI%cH4{+P+;GW^mT5Iv=OG8SZLCK)BjuF2H8ZG#*~>#UqYLEiqc-K(5B# z`kC8Vek@)!z3-dNR~WU8FkisC?=V=Hxr()qthWqxJr{fmmuwzO_UU+4k2MJ;d*6kU zy@8-mnSTIAf|p`%nPclWY6MuUua4Vl{jwx84ckhJ7 zf%*hezd~Vk}|8B1X6P@)SMLQStswddz45YfQ8}jZ|7JSa5VoO1JOj z%rqzu%I*F-L+Xe?jpL8|!}RD5lisRmx>qEfuHTi)rdV@tP~3ARly){&DcN@rBQOAt zoMY7%<(e122|Fc}$3GY0T&1GSD+aO1R#U!6Q^uV^aq@KzDW4LhJTgN0I88Y#O8F>y zMzpq~{0!E{vrV>*Q)NDqAi0}xQ>DFHFa{u`<=8bR%#AR2mqxj}P*GNG=hBpCY094@ zP@Yc8yv^R}zdXw+vZNHodhPiL7ltZ|N`8)Ti6P2*o~F1Yf#MmYctUI$)@h7J8snt| zj3Z89>_JDXr61eiHO9ujDSo_|fU%Akug7AH(HKu?44j`A*ESCkqed_WN|`Sb^e$IYf_DvL zRlN!mN_oIUDZhmrYT3MMFV@zRXhb$QJR2$Da;6JQ&=^hm2~F8Zp!^Ui*8n4_oj?3{ zgd%-3P*m;QMpJZYia+*<=V(7tEKnFq*0#xF!jRQbWBibS(S{fy7`;e4zo;>+>lHut zC17kD01TcM9KpCtV=UDe!32yKiNOH`Z6n(5?LcB1&yKe7ow1Zp)s#nQ$}18m4=3f4 zSd0T)?ugdxp)u+cFis_g5sUGz#%LI$>RXq9aiBjizJ;+!YNgW_MOtYUzDHVVf~NS4 zrubw6#V1J7uP{_A;XZ09b(O|=A^~FpFoGi@3_ngMFV)F?SZ5KIb1wJq#pGv3l7GYX zHsDEno!py{{CFgnUa9JKwZjGH;8$`}(m12F>`dYwrPhc-@+O? zIu=k@diSWN{`qyPJmn~OEWe=&B;;f%O$O@ z?HEn{2~9mKf%-$Fjw5EGQhbian4mFsVhd4hZO0I!JQgEOV_c*$b|he&LyS{mF*f|7 z>YS-DwkKeu5#tARG!fmJuQ9$vxQjmgwgij~CBS%FFd`Dy{oZgJFtAJCu;E`34R}aV zR}$A-Q=h7-ccMEUGeVe5>Q~28Z+m-U8$24NUKmS#8&)e)o;zylKVqRxEcG^|9zr)0 zsqKpz!@5S*wo5{7w_zQ=&8uW%Wa64x;o2UjYuh4Po<)kfs_hU>-KVL;-H9vDJ)}M< zwmc_mj7p8M3JV=#YcPZuy?}w((fk(O)2#i^HRv4!4bI39%c27TJAWA z)}JdK!7=MdW8MzJ-S zMasB@H%$472<4WV@_A9pLt`l);ZjAE`8-Ye!vxA_kTUMpi`H_T#%QE5p2QA-*s>hy z4U9dpebPf3W8(S|xeE7CuRImeq9LkuO0F8XatRzbN0;um?D+chVCg!N0$I+ z3BB?67o*glpi7F;{YgpGkB^pmv82`g!EjCeK27~i?o5cWbhAkPR)wLsc&f%2p)qD- z?N%(taAK6iVjSRdMbw~&#_%U#oJtHM7UNxw(Qt*Tvo8VTKu=(Ni*6=jA!cigH5$X4 zfblLdo{z=2Qe({37@h=-*~GXb79&q%T&FSaO~AO47z1K44sm%RYM!q#W+hU8e@#c zI1yb-tlWIT^B<1^KF^V1b1X5MVfYK-d=Fp7zB zW-P`xdsThgYm93XFpek2Z|Jci8vdNd_`X8bV^jjhHx~k9eJsXQjq!@c7@2_a95EgS zMyZMc9GM=L&9KKb?xJwdSbLjF*A6lqjHCYWWS^j94iAkMxtbXo`z9#j_H8$AzSLKQYue z@!g$?v7~z*j8LAeDCbGfl&vWb)s!<5C=Vp%3l)aaq1~7QCqHsD#@PwA%O*w!Fp_FF z_~A$y_Mroc)DCx>3&jn?w3SHkMAw`TimwVr#Dlrv#zd_=@JNLEeX-Op(9|bu>a_{f z$B{bsHAJMeiN@%yF{VS5V%zTmVswec_!O%M$di^DWQS-TreaeH{i~&HimnOBhgl}(CtL{F-KE=zg+R7B!TjZb3yqf!HCGf z)|FxViM4ssQ|yaMm`|n6gRhnkeeV@1Nq96-hqPMXuTdo_6pd)AOH!;$@@ay+6tW~; zfkCc?#ljkTVZ_R0DQZevmT}1>ICgM|s@J0l{_5UyKLDv?3VS zX^iBLsW(cXeg>(ZpfHrYuhSTfG{z&SKx|tc zIU5*z(CI|@^N_~aSf=Vt6y7vH4+L#^aS3^Tbakpc{{bq&W$}4F znKJeDOzn$LeRImx7b3NN1wzd62*oK8ni3%|3BgE-@WmTIIE-*@d=6Vjq^j;hBCJV5 zcp)XitweY*3E{4k2z`h!CJA9sN`%%#I5!EQV@iZ=OM%cR3BkT9Ri$4d!Y2sx#&c;| zN`&b|SdfHpZ%TwRB1}p`xGW{YiA3m~gwQo5LJ)x@yHygxFIT3j^jk#u265i_O0P_b z;3dNINeB<5M5rXfoke#y_bnN@Pp=1Asi}`V%_k&@VB$ z`xlUKdavPpFuLuu#Kl%C;|tw9WuZS_ffc28APM1>ln7Ia@Msdk z%#;WNh;Ty^!jO~*?TJvBgm6kqgk3KJp;;2bkHb<``ZXeai5PD@m)=Q4ijClZ5a>N`za9 z@L&?cT`3Xz5MfLb!l0B0t%-1M5<6eJ`2?D+GTw0bAVLA~O zBq7|J5}}L;ladfFONnqI5qc*fbWMp6{5KF(%%nCRq5x5@L>|dt0@ug zAi`rw2=}B!Fo`fe386eCLI)xgB_ZUbMA-c=AY>*X>>rq_(ytSNLF#xey_*ujO@wEX z5CSO?h7n;(62gd-2&WRE9}sv}J6C|psq%<1Pic+~7a_-|XK>rpVe9=*cgI}F7I*(i zCf2Q+-q&P%tNAX64)|A%J1G&SR#&0b_Q#0AJ3KeDAI`_Y0Se0{Fv#PHi-GIGan~-t z6URi{ft_m3Y^NU!P}juX+^9FxAddwgZ5AEiMlNincj3tQ+F_v0%N^^t;kx+~*Odiw zPvN=DLs*LNk%v5{ahbd?%&o((89)N=+FHjK{BD$wLS$f|3AUcNb4@Hca?4rTM(t)6+P^qAhe`4jRZ`!GHRpUMijk*D&%(vgTY0Fan=QLj0O1TnNc;{n zs}4q{eDHY@elzv+l9=Z@{mg?K+po`r1cz|v0?UQN6O>RI?!nwIbK~!mT}2Jfh{73e zC&1Y5HOZJY08es*!Z4_>%obfOkcGM1K%dfW$?tqwA6~G*Nx+QSvV zQK?9zjvM6}^egr@!xsGI(n{De$VS5^sn20{TtzThEU5b@8Za%?rXMyaOIQJK|8W#Op_r!?r}f}UNS%qPmC3AFHIHI2Y8wk<2>BVRkW;;&2CpC0JA)I2t=8^M>a}gmG&g^;@nCA4}tyoLFJkt zLK{BipE^1UU^d)1{-WU~v(k86{-Evlga4i!dYwPAJ~zYpnarD zb)|Y!eS^n^^T&~3)J z(0e)P7J6yljEeEjgW4c8$H*!{Fw2RHjmqaI z*<8y;M(d!yF7G8S@1^LXq!So`1BhqjnBLp-Oz(hvm+GtrN8CV+WOI(44B5~Mji#uHI>xTX$^i^ChgJW(1if>-lW(u^{ zojXtJrL94<`+}-%Lr%e7lzB&_du+Z$5RW2hC|bX*W*?A4jd zZgmt@4@xpbewBfIHJyyw25js4bxOC2`5BrZ$Lp{1Tvktyuh3pY1oir`z+G9Dlfh%ai`+VJ+8`+9z%`Ewyt-J{oo2|{( zWrLA8jh%I%1FQp(i9{EHbH1jxL^@(7jJO-Ep{%V-;251?w~#z>76%Rnn#{|}c$o=y zi;j}e_K@@grtxz5zgwbBN+5LV_-Xx~5%sCWL-D}~Qk2vVSd{ZsrXr-tY74uk{doBV=* z)n>su6!qMyPWXEsZiz;w&YFvJ(eh(*v!}GTbHf0`eF6)F8%MMAqUz@?>X*A|$~oxb z*58J13&oztwnbGI;1~N(Vl6SglEZQ~fD=|_ld8OM9~kTn@t;r$>!Iiw@Uqw#NRxx# z9Hd#}&dtLk?iyaKS~-wW_-i*oEo4%yqSim0&1HY~A9NR>{E`=ry=GpN7?sa=R;LY_ zg3R)nUQG1!7j{s+_k(jC$hfc#1q(WW=Pr#@56<$DmLRh?4Hpt15Wt0bJRDw1k6L6S z0UV)7>AGHwV}@!ERjHv#hf_`$DPI?*0uZhgo3xyRFK_Pn>*OGN$%PH#!##l zSWcwh`CDkh_ENp3bY|g1(E{hY({R*vw<_=s{H4;dT}`IPAGvDq#C2wpS6}Kw2V&y4YtTZ+W;0XJTci}p&JUoURt8-8Q+VzX2 z5mg(Q{!4RAubIO>9z!srwTb_EG6Bq{xpn~QquS`o0~zOss5%33)(#-OH0vfzmzsW@ zv4XR(LXN+8#+erv@G?NROr}Wv4fh$GCjrOulm~Lfi8#F@Tjov_o2|7@CKy2~-&x}~ zz)$jSwLil|Lrp^?qxKJ0C~*F+o3qp2DrKhG6K#YbF-0X^l6?#2A$b}~B@e(@#9~!J zywrj9BzVOSbi9*Ug^TDxwn%FV$T z2j{9AwVwk?TtVi9c2W|~ahRAU6r&Ec!p&IpzN`~h?g{zk3mXotOt0!At_dh`ZBm{5 zstTs+lQFKL^izqfjdf6<9Eu)uV9rAz#j(x~yK8=*!|$=uj`xsbaz`ldN_efOVjdSa zxkLtRc0GgUsBHeE+Y3v?e~>qfNIG!Q5dBffJa-7r`UB}v6OgJGQr&kcmj<^QrBW3f2c3~ra)Q}KOx1w`#uk?>-lZ~F4rF2+ z$NV95zx2l%#S_6EYx7O;ig@cLzS!*mVG6LALSzND?g`nI>Z4W>VYCMXUrk42*taVT z`x2cfr63Q>F2^&Rh2DQFys09V zD;J+xPPH@oG=Rc8qdW4M@v&DO3%aG`}j9#cIw(LD11pmQMy-X2&|FaBtHGbIMnfQeSVf29DSje#s z22winQzfn<;)1vVBZW@y;4G|W!7u=QM^Bfx!Bt?vZ^vDe4a~HrVGJ*bY_$QG1w~Fp zGX2wV^ENK&9*1^742H#v#9&skD4A0Vooo9`DT4n*@*GLtz}#!5;bgJ*0n19n40RpX z4#!z}f8k1=$3tKbRFW0o@tNP=kCXThHA5e<98~nxvn9ri{+V_!=?Nr{ss+~YNf3)i zbe>hERzJS?#(SQW;aTB8-%Mx0YMd3;M z>U`@e5;zM4aIq!YW;aK6HPfom--h`fJEeR&bnSCR^uq;x#93eg}%O0ciCQ~!40Zbzj$6~`(XsSw?gHrZY zDf8?q^&m3p9)TAti1>jZ#%#)5Yeyo2D)vEU8_e?YLTf7SBuP9yj=f)CMa z4})#ISdSC@T`c%srk+Lc-LbUaX6i`uSuFT@f=3ek&sgwWf=z;bvEaK2E+F{U zSTF-TR!4$I5DY`U0CvHuyr(q>m3&UeO<(BAXlv;q(;I*hg2Rgk+@Gv`!T zmBusMYO^~VRt84&ol`mMiERYMnP&nGkhAOa(#D#`#P$4BH`bU?Z{)RVGge=CO_zVN zM0j!awdzHUwra-!jr=&;E{u0xnW&=s3-Bt(qWx_CtHj?71J}kS-ex@QcQWIO>|kBq zJ2RbuQZ!8?`a3wMOwAWsXWeY0H`-%ewvAns%vE4qL(c-yV~i$vxpJ{s-F$WPIEJH5 z4EI|YQQ<~%d^7S8m_S5vaNf_f%GpkD`*8PSKaEt@@*BY2qj)j{ilh1jH#ostQDAt0 zF!Q*Z%-VTAjxK(NC|;smiol^YgHN~dX$qh23I-W^$@f5rT@rf9_x4Kn=-Fr;|X!q!< zf=r>k3lG7&IbEy_@D}wUN4(WwPVnU5s9?w7q~J}#%HUV(sUemQwv3W%hA4 z=<5J*RQl1Yv6J7J&lUegPGgi97B075j>7U^wdrr_L>wy}(+*Pxxcs+4BjQ~aoR#UI zp+-!kzj(K}R2nkdH_P-6;>FT1_A>W__MzW#P07fWF8_4Qj^CE$D%xh$j=~3`;2!EM zm-p7};0K)FV$_wc#XZw`D|)l^s;&@dHF-+aj;J)9SyAbAc%VwZi6h7LE#)ub05tKW z`XLJ_@ZOUXReHobi7GwT*uNeZ*mJl7n=u2yZYuUv(dlZysMB-sOD?eF)ak9`l}@wF zQJrq8bh;@WqjA(}3!h!yTcFb%6~rht@vJLuqEd&fncw`0Qd7M#h0ZX8sPz4?fB<_8r*+4UP;2rPI7j8RdM)! z@T0hWC*){%JdUCC?kV&BA|8f1sXMqeMir0tJp|*>YxM6u(ySLd>pSCc6^ONqAG|AB zm8Dxy6^Q6HFT-nIbj=}HpHtkZYg+t$>Qmu8m3cR~5Q(V6H^$r8nDC)Z#DAu8c?Fx> z>BnWT2+cO|8-xwDbBA9zRlN~#!+l2=e8sS9skXmt&{p^!vJG82}8q><6{~hBo*;tw5|gSfswySIb!bY%0P#Po&|d=2OmO? zd#Sa4jE_LYg%Qaz{Gz>8E@O=^RgkKz=nuoaE)&?x6g8+WGAkrK@&mI7sKIQtqQP$> zT010%>|`FMf36C2)$h%#*^y4Lj1~ezM)7$OlLYQxN5=uLrjQ&`%;!;fcKIh4f*RN` zSC)^+>;#_kg|Z^Sp(sW_3s_5(>VW*t#sQyHiPv%~L1ygOv1f(lLx%IHW@}Cua(4X| zjGe#%=H|7Wq17@Uiv(CD)5P@OmBBh@Kq9DWpihm$TxaH?>gVx0hhDop0?32CJTV$BBzTIQI`&Yba}>&#!u zD-jS}=dAfX)42C)P{vcbF{=kfq~`a=#;i7Y^0)2d@7Lvb^IXlSbM+JzR^$|{aHaob z7JOpX*LN^y{uE*vF|Yb&g!tj@rnjC6yz88YcO$*|*$U2Ru>G8!an(UB7JC@p6%yh}@!=E;b&-1cizx?z$?|o&@f5 z{ZY;DS;oCvQC`#EHq6d};BA8$<*8<9LB0JfN(b?ZkuNl0HL)QpGIVB_g1YfNO}K!* zhUyKAIy*O0@=-d@6xsT{K^h5@!-6?qW(-~4g}IyXE_#`xNGSs#U5Le`en@G^F||4B zEwhBHA;_@5l(;&OOv88(h@}Yr0zy*=NB}!*<*;Z>R0D0f%q0O{iPyJ5RA5vqz)r!Q zYhV|wH@zQo3L}%@S~rg^r`l{|V%St#M|zKNq&_v=XXC5s?~@-hGgwofhfW^{bR!{J zB^N0`=1XqqM*bv&yt1(i9vJ~ZdH}Qopv1es6mxrlTk<9Fd>3a%lq>8CU=W4K0aA&iO+SzzFmd-2y&c&EDxLb<(GKD@IoH4y$ zha8>2%o6V^VdqmUAw!%}yQwX8jMF_Bhoh8WWCd%06xDChKBb`>2`LLqdcqS9$QP5# z0Bl1N8MD5l0m`y8!@5F6x0&G%;%E#PSAH;r1~;5G$d43;w;qR*BwB9T>Dm+F*V>)X z?8X~y`xs06by3?2joP!bSzUDA8^!k>=pWwY0LwweGYgK0h`S)HEV~OVKD;9$<+L15 zM3IobEs`=?pi;!!mYSojje8zN{v7eutj)r$CBWzqRw7!>W9g9CB}slX>-G=qD?k9t ze{OGNxNC8$6q*?l(pe;=_HAgJ{Rr9xdqreAtFO#aB`fS zHeZjCFBhDxp0ig@M|%zLxG9NoSnt%6A+TGBRw>@9{S`h2N<(8iTi(^;MxhDAws4ZN zg+}d<7`oVJAeyuYDlkpT_i`TF1a4LBEqJ%b63F6NAK!|Bs7ST@J?@LAl(P%YXMTlr z;fm=aqyhbBV>)~}@evlFM)rQ$M~@TU@y)uIbksToWZF*zaK0E98O+k^h);Y#5t=KO z%f6B6(7TaDtSitI^L%&TgPmE_sU;VOyO1ajSWfh0LW&|T&-A)_E0f2r*P$$wpgH_Sq1hy_rn3uQ z1_p^Co{?(?!p_!gK{NgIHPP}7lH4tZH+*}#b=>dGxloSf zL0e4X5rxQBBmh0#5};s-2>43oFkdX=#gaEC&43sRrx%9eF`~^}MSnLEfyFAgu=C~J zh?P_M-uimmKu?azXE+0P@0#uDc>4tX`bGumr6BtI#p-Q6zONf=T>HLC(=#s3MM*S@ z6lAkXU8qxo#!AqDhj5*yexdq;j)Y~oAW8>r2qEXk(K%122AvP0WjR-4DU5S82GV@3 zAO-q+%{Eqa8$Rp+@=g?DJ7O$&pRq7E2VJpuW4(0>Qq=L`WR)6K9<`3|C#iS&cA|RT zh;R7++E4hsQ_S~{3AiVy_f1Tfth?u+NtMF__i7N zUo(B%nD1>8a9hWG%Tmwe0BU|MxNse~pgEAGInYccl8QFf$UqP#WW;=HqMqZJ&^YFM zqd45ihfgf^$O^6cLBMfM+ariA$rvtvo0Aa0kdOo+*Y4Kf{bG-g$ys@I* zqTI9kpObZ{J}68;6JP|DkLsgSgo1Qa2zBc1H1#HOpdei}LG_laQ-dhP`dWxJX>^H8 zb83_Z)Q8_Y$9>N+-dLvqYaO)BZ>>WeN;k0_~i>U;ON?|JGi(kd#=nQ>{( zNTP9;{;muIWMkAS6asa=4rXBj3N!=0C!7g(7WjcTWud#mTQ<0cx3BR=53P>I$*AQj zKz!V!lD@-_YJgb14d1z5#)KI&W^olDmoVkPmYV^+APy1HK&!{kLDax&;t``kq&2-m zFo3|AGSKSL9h`humfQ3mug|O>%q}Mf)RDA5k`6{vwbH@r+#w6r83r44Xszo=4<>OP zf3=O~(EWt7m~OEeAY=ZOqe5BHg(Gj-R$ff;MnK`}xV&eX*iP>9-i8|Vml_Zm{Zcdd_Wi-8!THvT z?|7G;8VfK(js@5=Rf9a&Sg_Y-00&M6h6Vbg2Or@IsIiEYY5^eO+FM64&nHd!)R*Ccy@->O=Hwp$cd)rhumBKju9|lm`o)@ayb}gcwf95rnTvGPa^{ z0b_0HaQzu${^)^P=!I+bb{bJ`}7k zc_Y2VSclw*V4ctrp)Mq6C8L$P9)*MpP8QL5kwE^}*4<7V<`wa7idb>DWT+N0 zI4sptl@&my6i=^HQsbNs03i=@3eH#9<5Eso#Pf0!(dGRQm9>}>iRKW=>^T6F*72g~ z@@H&6f<~_0h0!DvQgrPH;bLP6g8N@sW#;rZ$%Qz19^r~JE>3BZi@_pZAdb+FL(q@u z{1nM7?1`E5#GXQ>3bxq4V8M~Mu^e}=2Z^=!sX#`^@o$n~>{R)xMlJUcha3+OoX3Su zC>5nj4P37J6{U4wg}tQ3o(XVf(GZyJ3=d#xYq<`%XRik#xK$3*fBtMdgd7`CMXE$5 zTt(9#8QyreT4&e|9A4#sW*r>$m?4ChtIHsSg$zr}=@+R66Y4TRk)Eri4P_<4#|Q*- zs~5*V#Xc0(aBs$DPWbo=2V3$Bb5)ho7m&chi5{I2E;0ogSlAb?C}sqg8mnt!)E=S##Cx1b#`wkD;m{cxM#q>xA$YH4;=KfU%ihFZnej; zu<0wX6cgj!x~$-1s%kaMmZ4;*)dp@2RRe%oVk-WmGIdg!rHl9@QMeTKslz={sLy&` zAM!7@KJX<{)rUzV^%;Uq*>+1+A9VMsJ}0xh@%3TA!Q*7B@usO}*zbhrkYmTskk@mh zF(pM|Oo}rkMIBRg#-oYfh!Tf879q`HBSa|`XxWyck&Bl9-g57 zQp}eHXnB4y`9dj-8Bo`uSoSZ-NqSbM!~=HY03TixyeEb|8J|LLohQIa=pTR->45FY zP+MQd-^wF1N+bS*evvABgmx*=YF?AX8Ko9as~M$wP7)&%$w=)p#MBZ50?zCL6jau- z6x0=Lae7xfy&Gt!<^e2$quBBBsR!8;A8X{Ci7#WF#>5RWFiu1LqSZq1x9&#?L5ga6 z7w1-kxSb>Qd3Z>qKC^$(^*KS+XIa(yOcoH&3{o&BF;H5qzesN@WUH}Drb z5RfaDUP|7~li?0bmOyq=wbKHmimSfixrU*5EyhFfjQHM95Yhp7^krm|#m1ZR4NVk~rH) z-^<<&w-L56VoUb3BJs9_treJD7!KYRd}?j!(+Z_TQ|oXo2jph$mPEBT+}n9LBD@O` z<^Y`t@7FR2urj~k5}@SG0LA-z=x|x>F1EXb%i#ErLId%H%e2prjh9J0%)=lV#yFn= z6(PuL*{aE<8iZ2WEpQ%XOgD={u0vugtyK$T8i^vhd07)>6{hF^*w>ogpgkLrD;19i z33Qy{9%h0S6$xhhXWeBTzU!{VKWh*9?h;66$ zhhWeYnF-Jt3OCS8IHpuNL$yD{rStX6?aZlwBcSHXcz;mD8oURA5cO+8A0^PLW*E0l zVB}ex*&S)QC369PhiClJ2a9&Pt5+mkv%Z@w>^X+bR!$Vm9H#p#fgCm)@V)GRihp_j z987_me#iaz@n<}SzcmfGYU&xDe(iVE$j7j!m@l=n27ed!?rKj34aJ?>9TE-4s#M4y zb~##=;~2aSGs&nuiZgyo3l70;%>xqR(6vi|5&W>=(}Ftt-#G3SJuKxGLCne6FLnrb zUqUC~|Cs^R4Lgl~A29*epw)%DVwcgcF0AGzh7MHQ$Q;cqFfyw2Q_jYORMbmF>&!u7 zZu9BgOHPT+L6M$@WyR!;{SppK)=H#I>0j#yq&tpG!_ZZx+a41xZi~C#*ja32)>t)| zoZ_dwD#bB-)6emdvosx#-KD-xTpe?;7Tt`k8}KfrmJ;4RnNp5!Mb$ffifjSmOUN-z za#ib6n1ogz5fRxmxB$;a+hW+0%1nN%#yh@cK~-UB(Q6iCnM@iD7gnpo(_V(Bw5kI4 zmZ~$EKVMaNJ)FNl5MP)4`4V#cW~*9nlEmWaJwQvWJJDHq4mrL=B6}La0W3&k$0<4; z$oPXh&+$5rrVsbKZ)6OoinhBc;x?J={UY(3fW~4RXKjCWFTyep5?K`)jM3nVSiI1! znuA})Xy(Z~S`DeKZCxcsQ`KFmI)XFrUcm7Jj63Q_W&RLgNGr-&wP}XHQ2nhNs-S8{^#MgU6#?k|{a>S)IS%Lz?PoZ+I!(${+ z^hIWiG$Vz4VL+3bF5Trl8da?gZF4u ztUzT^xNePwzyrdXlBF^fY-;+>W;Xs5qoYa#UYflbh8|0+il4+D#eZCarH%7p$Ny_` ztY035Lqav4$2jw=t-{~&9CFm{f>m(i5s^jvD}L_TYah&+1S)poA>`ns5&IF#!rkmQ8ywxYawo`OLrNi4dO1MC&sho^8Sjra!gFQ3>UD&L{c-X@oDr8Lt^im}z`XwouBOCq=vf{Ai|0!TY<^j zqKSFBV5(^fYwy3X?EM65C`=x}&QEqha`ib1AAj3JmSDK2fQ(F+y#t8-H-J_`kV-(|GO}DSaQ?N_0b1+}fWX#_|(qhaH z{$R|12XYerpdqH5VZRQY4>nT!82pXVwqR(HW@v#h)Fi@bpr==6dG4W^P{K3i4iTKL zOfpfI)Z*u34*8CLqu9PJWr}Zf3VI4j?0yd)xrzAH;6*yCV#RCoz5@eVdKrC zz|1GUk>`3N{QetORd;-g)HU)HsfVz;m_wfpi}A-9OJ}hiT>gu&s=k9>RsY22 z7-{ir#Kq!@;TQ^Dsf&j7evY<9NBo)^eAObFv0ts*moW`iXo6<395rLO?*$Uvy$)DX zcoi=$hU_B-RGcrXsX83TdCNo2^fggSNOc%z79r|zDbg3z@grJ+p-Jni9nCS`7=W>d zTaP^kVCbf9qqV%1P>y3PJcBEANY^M4?c$+tzoOgPhNr~T+Iz(;1|}njw#VL>re(( zq(R7r11W0BIUQ;WB*(OwOo#M!I(@c&7p(#QHsDjDHVXZZn8hYMlEg+NHQHh>9={?n zlwJ5)5DX@U*e#L5;3y;##So}k-qAq#<;ZsteyyGZ_l6)fOp6(P#ZSY1eWuLwQ@k-= zxI+tP9bUsjXU5FY#4f}~fKDkv+_wrd#%$h&2YvN(hbJiR| ze&7tNF{>#CzJOrffl;%}GR*Wa(5?4J;^!CHTc3{N!W{t4M0@t5{bYzv3i=d1a| z&YvB7{{&19%|N?OU?tX%VdF$UCu_N3 z!YTyQFD;sTy4o=D0Ryt>-#Y!TbH4=Q1}^WXA;;yL>7y$igH0G~)joxU7|c5TwKC#~ zosCs%@;8HSbWQ$F1n>*$7!s}rJi3hDsGSBv#?n5&GGIOl&%p73V^D;anDLX@Qq0>; zM<@$ly!ar~p>vqRJ&d*R56Uu&jx*fc#>XY)Yno)9;qu>_SK!uA-iXTQm&SMo9}%($Uzm*u`*n(iH_X=OQ!IHw*Ky)9civE1v2( zqEfoqMAjLL%Aq^Oh#Y2Rv(*YGo3ir|czkCuPv#A9hK{VYc~*=%j@iT;t#c*ITl=bp zn#z@lY()4~>a0x|!#$>dt{fO;c%LFl&$-fFU|kiQdV3}q7~XG%z8>NRLGG73Ipk>n zC1#e5Nq9z2XWM8-C}CDaE$_Vt)ptS}xo3cSI0#B98*j8SYE8t(n~4|^ml$tAZ?Vat z9fCJ_r}WsXFdCzn3<{iafwO48(-^QHMxePI{bU+_EY3K2ESaffnUtcryu-1yhBH+2 zQ37LW#zzHQXb$Id)fZxXU6`I2g_4U>viyeoV3uf-DZ3$0x35RO$nz3s(LUt4FFDVu zNS@${tgz~%^13#hSEb5JG01S^s0*m-!EgqjAp>X4+D2vR-<3bG;XQ#O$+^5;Tz*KL_n^wl4uCcW<*sx{^HZSV3gDc+qU|nY zz;p9;D-HL* z1sk9|bZNx8Mx(uNNvFpu9n2+7$%ADIAn9oJ0Q;E31hd$NFI7?4CyBl zS37BBYs_?@vr$d&k0Hm?pJC*A9oj7dxu1~b8X^rpgOI6WEUO%+o)+CNGYPy@9&xP= z9@w|zJwnGxthazw27{Mn@8De~aI~u-t&0C#yXe82XbpA^iZHmkizhXNtuf2V+c&Yh zqY}pcefUKIbIreHrwcBV@yn7Az1Tf3xf6BtU%m2Uu{Mc8J ze=wj#L8OTPN2W-WvxWLymV-ZoF@-h*`&zJ36ZNs0HRm+ae0iZuJ{3UvCDr(~?-w8B zD`)+lCa%Wn)FLy4sq>Tm`3Za9u5WFi9(+Nj(JjQVpuy=kI39$*Rm~O`pRi~%cDRX& z=0b+!^?hxs2&};#E9LymLu;7nmWgARkTuTinG#^(w*hQj zRDrXxQE2wgwDkXvwKsu}syhGw6G$MUc!L;0MIAJj;F^eNB8v$mID-k`Ql(W}+z^!t z)|jj*HsK9FiGmm4o%1&UX>6II z0(0zZEWkoKfj^@lnX1&`!(~z(V7FjnY6eo^hnkYKG=zAhKi#Vt`on8o^0i*!R0%4` zihhegjr+5{*SP3yyocPMXNm07Y<=$BpQkGYo`=jJsk&l~b9%OpkR0-wjv@z^61hrP zH{e5z?E+O!Nq2Bfo;%tkd6mj!oKAZg)}(ui(}>tzCL+|vKCF%Xr!Mxjny_Atq@Yc@ zQa7q|u%r#(LbXJkwvZ)W(`jUoC$xHzHhd8TAl>ccJC{NwV$0;!{5eBzSm4DD;VVe_ z1{^-%1@Jem84H79Zpkb6=p$d`puP2iFSx7*hY0}S73Ruu<6c3Jv1`#aVJe3MoLjr4 zC=+T+)8gl#!Cl2q4W_9@>Z`h7HGoXk6|}kqRy4+It_)xDm47+Aj=k?ZSLV@3q9q7& z*07ChBC*%Jxw{L=>6vf}`3+h#{2BQ)?_udq#KX2yKm}gYenDcn$#h<9bnqMso{cq9 zm`x2TTBqjWIqgNy5ib$ikpjtucIMxGyVHsVMB-EYLyvqrS&wa7TRkelwCnE{wAodo zWsZz=xt3lU)iE;U&(lg_VjR-Ic8A~~iZp;4_r*4k6sWh}*jMll^P2C|@HKtju;2Xr z!Gxe+LK7LcH09>lkG z3HN5%?fDd3@Ls)P$gI&BP9x`qME?9pcUvBvlSOhvC9A9B3`h>L$^M6B@41w-l15bo z#uhCEV{Y8e4GTMx!`J>>md_Ro>=3eGv0w~5nfQP!XyTz_&u#@)sm3?x$03$uv~uj5 zm3*`%4E!Y9eBbb7JFX;luZ5b_Uryh zcua}VCJEG4to7!71OYbTu2y2-m^mYNZ;@4PikE0%Wx#)yeg$Pbp)%l40E?AUubEWl_Bn=jkOgRoI>EfjdKobRm0N zbeW`&pM!_<^Y7X_vyS;EFvaXM`Ra3`@9S#@fr{oGw!iw4=sR(ib9L>A?}Sv-w`@=* zz*AZ#!CksGm#QHJ(p5irKqxXs7@eKnAB3zZI`M<_Zy}iqRrJf}E4myh2 zd1~I=aPErKI&z(I&b2KImXNhmHix3XxPRW!Y513D>xWP2^E@&Hh~Z$GeMoc6C&UA<1&L z5-KRK23rtJ53Qa{gXc7IRPrntL}Tga2rlfK&#ohBWbit%LXT7F^A8Es8q3yGA&~rrr=ok3E+Ef zJ31I8q9X+6Nhir^1I78+4`;5BAraC1O}FB}C`Qn-epZkMrrOy|jmbTYlDUc1iF7v1 zOs_U4aDZp*QbpH34gtMH?(kbB-Wq`|iT6xWlg(ecDXfRI`l*>HeDR-GK!bpiXQpSc z+Rd@$uKt}=KNtWCG|1hoPVQ!V{=~VPiQ8qnoBaW8SDWAz6=>rt-drtai?kTZ$7h!+ z7FW^2z*R}hc(PHwBDG)va7n9xTPR`v;N6fT<{z$2Uy3w!+3j#z4zH5e0@I3og6-_{zAIQY+b;yuCfLs(+LwKfXhG-F$WN zL0sG-9K*|^2^nNh(7dB_CWR)4{S%#^iLI~0vF(cG+ZEqxZw*>9B_NRpdIECXJ3@5Qd2)~IDc!c*^ zLQ+!fjj-+0DKgI5%i_3P0LHQ|O-0`YK8dRhPJ!SZ5%G67`4SKqg`&3bX_4M(M9F{rA@tEcKSY`Y(>%&EsyjIC} z{A`f>9!q{g$+y|4zuDf%UklZPd0EAK>I}h3I@$TfiC$I z)vwqSj%Uli1@*L{%p{R%l-JJs6#-s44M6{n0oeN?`OH|BjG3StZE1H(5>+!@i>(X7 z+x`wN4cn%QQXQpqH!s%lI%~|*jzl&u;K1kusiH?aib$_qr3skVyr23A)F4D6V!jL( zwArHntL*`8^q&(d0}Eqo^<#{sj$KR-4{blFeQ0|JoQ4E&+QZ;fsk(Pmf!9z#dvEUA z$6D@8pSRrQv8{D#tNP^!RBL0VBDPd7pW(GeVUAkdRrkDCFX@v=TJq0_7jQ;^7E~N% z-^=YgpS`PfA+J~`ZdDRGo@yZL4eD*ar8!%$lTCX`HbuTTP93f>b?ECeBQZ>6Orwj_8_F#np4aqWF})F^4u{}-O%bNOIZahQs9K)D@;SA(Q9tMr zMv%^pd^33SGmTg3iAcp84Zf2{>YY;bm~@c2PYSWJ%qjf=$=My3A0SLaQxt68NEl|{GLMcs1`6^ zHFpoa9T`Z4Za}uAqmdCc1U_k2JHhr+7D<01uxXNV1%CM#UZL@&*I_0q<89AvHKO2H zt7>fjfKG(!SHlGVD7kkJ1WD)CGu#JAsiJ-P)w1!e=!@C?uZztnh_shdkBKImJkj&4!45QW(~xj)t_`P#|a6QDFZSBv{29E9tgY zX_H0Jz3%5!%e`uAcfGjX-k@Sjk@K1#Ry-`pLFy9I^ly5Ok1S3VT|`Fzk9y3SdnE~} zMp~On4BwA?Uxzwm*<2n?Zs_bv|929+Z6!e&x_HgSLIR1DifuE12hhfs%aTN-T`i-4 z)7b#_@jW8284qpkH)`14Nbk$M38c;Ldb^m{VQLO~d!Hbg)!RQAWYyc>lhOY_JtAeW zR3|kjr~afcJlSb#L3qyVh(p^xE_n|`CDWMiu{H=tHvhm!?!hhrCl70%U%PU^mmnr7VjNvo%2^Ho5FJp(AEbVO^in*eJTn(`>d_x50Q4>imu-qN*(; zzHKtdZ5RI_iydXN;f0!})%C@~^|g`Q7b1h7h_wEvXC0^44Sh3GaS6CSgXZ|24V#-W ztNFr`Ww!#LBaXC0 z-eZ5;M=a`j6yLFrcxU;R&tv}1&mTqj?%?c|gZ@UdB+0%d-kIq8Oy5qySkj!cz_tS0 zNingpAvBi5qLP}%mb8s6rAThK^&z!Dz)v@^>Az}Xz=#Qf&Pg*+A@rA?egiq>1z*Q3 zO=ph|bDyg}2G?&VXf!1=p~h$_CiaZKFdGa7k=TpLM-LVPoK_q%1mNrl&H3*_f>R6H zQJ#li0kNixRMB&Q2=@$eS)g6E0Q3!X%EHZ|cQ^NrKP( z1ytHZ?@SOnfiriB7-yq(5n254Bm{)yFrFPDNq!3bTibR~F$aG7j7h_#^rPc+fKCcP8Bq~+|$L zZUabr@l=!ex#XW0YGP|S&`(PdQE45t^T~u6wH6$ zCV`yEnJH~1y!uD*c}*g$zO~lG@cDc}Uw*=m=Fkns>8$RXLyl7IZ_RnX{Zcgb`3sRu zPX7{9%{8!{EVbs{S5a&Bu9D1HJ$PwVY!&tlQQ2yKva&598@6=W#{=#7h+qgBMjQBt z{uym$7-uA+>#$+;iS}y!{KE2gr`>#UYoOf#n)-p=nV4QCM_N$t#>&1pcrD4jo7aEP zYmB#7hP&>coCY{+5o0kUv1kN3uu90j#*lVTq8ek?A%nLltfft7JLkwYc2L&Fr-WT3 zgqHPH-hC`yHr>Zj64@)0`3rOKmrpUJaQ>0x(8MtPflS&f14+hf2z(MBRm%EZVPdXnlYE<`en zUNg`V*@>x`w@M`EjV`e#dn)Lo62o3}pPelyr_0I2ti;J)^d~Mc-;1sY5~q35JzZii zY@|WrY|I=kk%+7}TcTS9@uJu6W5pJDQ8AXf3g;f`MMq-|qP5%9|5|Bx@Xm`~>eBku z|3YcfK)vYPGRwDZ{dlFR6|}m-(zdHVL}_a*t#q`d^{wAiX&O5mZK^D7`}*ybw#m}Q zk0q`3y}Svrk)`9?s!O#Rmx`onbGQR_4}Ru@o7Up@g5|Y%J5wmhB&)q$K&w8I(Fn} zym&UdkNS9x|D-{4R+f%wK6d2ck<@cyE6s;c>LaSBcIa1959;ElW0YcR)>~mb>Mz{` z5u4+Ld+{`bJs;0Q~ii;Oj(58>Cqf!f7bR>@gvWDtuDs58fN{?QHQReV=~gJ zgOQD|dvk{u(FsjF_1G<2adsF9%8Bhpx7XV(tLoef(3m|4*_@e>-hJB=BLPbQqj$hJ z*`xO=iCX4ZG}b2G>pXgk8U@s{r}oR0i`JOdW_u3DgRzU>Z)5j4#sjbEcXSqqDCTI3 z7aho~3?~pdpqJs;F@<)XRmDiMDb{zG{VNsc7I;llcmPEVmlk}T-J0J~eOb$8Jq?qt zQ+ww=DT0(`ZiuzOg>K#_<7p=|e_?7JTO2yh$4WBcB)|ZUa-o_)sXtk>bAg zuHqxY3?9nVjy)F{`m&*HeWeZ}YTBr&AFpGWo~<4FUTwu@@6rK6<=j=Zx$LD%v1@Mt zY6bMPNApCmBFA>^eJ!l0LrTr9t2mw3TpeJPcIfR{7i%c=Zv!ZNz5_d@B{;L?N#_Rb zdkakduS!VtJ>p*B^ma#q)3pw#{lj_F0jC~X*@GrESrdEV2hXOs)9JrzeBJtAWAs-5 z2%S(H`<3F$8mnHJ1>aOrUuty=6vX$Sr%|_K6w^pp7LZCozN|%L{bSy1vEDKb1WhCH z-4#{5K0nrzTf-wh&k+J^JN=E$ojf{Q35;V2SN)Z(?sEPWX9ULcR@s2cNn0BZ>U-c0 zOJOb4C%c}=A@v@sjRrT%k(=`FRT_UX5tJiRJ}fNF!WVZ^AhI_02gX@5KxpDjW5P}n zRE8y-NrDJp6A}}lvz{c@%w2)MJ&b_Qyy!HtD0MyGh!pBu85){S{PyO}&2SNPHsuR6Hj{YB;rtHIh1l(L0;f9e3tHUHlAoHRKg*E5^?9cx3a9 zVYpk;F`%%5p`>KrquDoMyBa>D|A818`%&Dkd9Dd#S4=tWU%3U=k`H=%F-MylkTxKYib_GitWKNw!JC z4+|aSq(2sdvediuYw)`Lcx~om58*Z(!^s{(NN(4SicKYarrmoh)UrkSCvB3(g4y=i z8v|l+962JfBk0%=LD|0*DK8w~mXcF^*L=&KDxd|1uA5j-#a`T9v#5~3aE!_JL{iqg zL~meBPO`m2Tab3Y43V@p_EtC-R&mE(6qMMJ-aOBigXiH>+f*$n5O#QDKaptDJWn~O zvq`IvH2MxGimhwk^2eajOAb<_nX0jd9KRV^K2@~WAA)y%Wd~#u7_c)T{NI5B#q*aF z``xtb>&+V3lLM>%PLda`K(wI7*pnhu@DqK^q$sBW`kTr^&{S`zqnMg4AztX6&Cno| zDlO$+?1+o%iGFwldGM%I0{l%EbE}CZ8`t%W`HgSo)h70yviE?T$fzUQRb3*vw=fS;^j4ziZ6^~Pp@s>?jtSZs)SiM;$_%$OlDjH0 zctxajU0x*iMBPvpu7A58@m8d};=E0G0O+oDQ(h!7X}v2hkK)e9-fbrsuGg7{c|g~m zR>-0#3))ogvCkVn_vSt&7!&^XsoZC$Hg5L3%dQ90*sLA8FEyrlyPW3Q!oqOs$P)iH zR3kC1BiYCjsd$=g!B20wk>w;t*vzCM7?{wkNxq9<*Z2(}j^YDV34=N|(uOb`!ry9R zo5Hb+Agd?gphZPTCi05$zMvA0_uZ7)EwjdU%WNtaaeIg0v99d@eHN7c?)3q7o|YhLMreJ8|A{WzzxnH)=zpCiHQx28;i#);FpK zYrPl!<`A`ey;N_SZdF}uFq&QrkktNVw13%_?JrNazmF^ZfOPx!PPhM7ie@R=!Q*8L z6$xTG)9zKYdzGehy4`E7-P@>RStMxfrvXf!zb=4DyX1NfHH*a9LNuY!Ux+?xixQi| zZA&FCCl9#2AV-SxME215H#0}4E-B3MUk!LW2a0UCN=pb&GxaS5jERckA^3kn%qOuj z&5ltfA6t5pS5E4Kd!?;&q~#|>0yRQ2zvHWENSWGY94|HE^EU%9$Kv7#^b^z@q+g1L zPozs;D+W=Re0vrLYFARcd7Q-S5R=!3hqAS5Q=WI}eBesN<$|`nf^!O|PzJLp&$_bM3L&K2i>@pWvnMV|82Q%f?|GMGyM=%~D zaP8sGRMBlM0-}Gfyg4Bzc*CWNo~8%>_6EQpP`RZDwd}etrcI8OX zGZJ*)9RCaq4%QF(2^J*%TjbfRI4tq1O~yl>G8i9K2w9N>KkE>ZPRki5Osx|_@&cI2 z-8hOq4s&3ya2$C$Jtna{i^O1~=-9E-)oXbuPww}X+%qz4t57wGZS~d-hQ)j6yi7+O zBzz#~z(3wPavrq&L?r0g8_BPG;H?rLflzttSy*+DODiP|nD9{8yPvSJ>1fKRCpYB7flT8LF5s3u2T{ysJzDBRu}2F+Oi3P3l2rw;iPnlsd3gnc0#?_n}sJ~CY# zQGo-RtQ9VzFAb;V$5Awp`hFnVIkyjzGP}a60HyziOlFN=eC1ts%W#TnY-RsP9{T`W z!``@V_5og?Orn~SN9X4kt>33(FJR@Lg1vxEuw~Ot(i9>L`ul~#AggKk_o=BcU6UfD z%+LS(M_Dz!v>>QySF4Fx5k_i@V^5880sQXC9STZXq4(+z`jwy-jk=A#2DGj zR@KBZ{>{=CfDy7iPz_0I6F2kq%%^4*seCnNwR$bG2@<1 zlbJMOeUVhG9hOZ(c|`0`fK8KCN1X8TKU8z_m zFJUm5>K%}O<8}jb8hUy0Ht`{;!RC(_^0ze_n*Y;!O;$#^cv-#(!_@nx>_X?Wu zi!<<&PvjrpfCGPDAeDUVO^SMDWRBd=QDOY$Z0bvHqDaw+)jU)!$IO@Ow{iRUO1?mT zdw4F_z z&VQK>6ylSeoI|};1Sp*Id9FWzgm8i`gk!r@H?un@F=`@T(T5wRS|6?g60Q$lyg?s| z=tJ`Gpy8+U@$#`W`$TT6*^tK0&7S^ynmwM^5%kFrO5C|bvJ?cC8tg{xvtE@Iz58ow z8BD8_{ROFeMyUOxhKwXY@~_`xv~N}d*es1T94`%M@zudW%`Q4w^7?;+60F&TrMrqj zJ`u!ayH{TY`s|0g&(dczDrW77y=T!_FS-jJ;t@D%$AYi9U5*&F7)-MT-+Q=We%nwj7VD=-d05XI+YvPr z!r-=hV`5ap3n=LfN-}{XaNjvz&vM^kDbKu>##sh3bM90esLLc*Q}&L&Dc>s0PJ4mz zhp%Q}wrCfM#mZnzYs7A+{Z1gcc7N5Kb==iGlAT73x*ZT0L~i0HRrDtC6GY~xAp$x$ zh&(nj1Cieq1rU)Rl{IIsl;OCl)$d<(_A95=3|(7; z@whHA`|EL-*(OdM7pu)1soUf2b~HiMF+-=;ZOG@m6K~#cd~6gqk6B(l^6>q!BinvT zkqP;^{*n_z{C^|p(|@&nJKC;ymGZ#SyT!aSg10j(0S^t;tWFfI{}5^tgR_P490|^1 zGDOZ+$(eQ~nuCe_jc02?&S~Z3C?{2aa4O?(aH^0M`-_>OoQJ@8#>f_Y5ZRLPOC`Mq zO#dG=$v+J!s)>_m;z~lw`$aTS2~$XTRtb4Q!b}oYE8)|$WG^|_sFcxk6=%n1BmF_ zcIw(dx+X&eRAR+E(U50B8y3eO;UQJ@00atbZ+b|HCbni7g%s7{(RVeH<5;O5SGX<3 z*4jbV0k{v`9Y;X8f$PcT!Fq@2;6r59A8|QX5M|V=3wGhTELmw5g|{F)J{w^6;KKiNxt6)>LU9*6hVfkqmdLJds<5F!9cAj;bRrq)5o zy96@QC?`j^Xdju|DyxpD^WlfpaQ~Hi>)mk=h zoJoYkfwAI5dks(`foM%2+MN8)iFS05=E`%3W8Hv9wC`Ky$__zaT{~`c_|5wKO++}TY z)M?sGBQ32{OPYSY1I1;LvS2|nKu<){J&`>8F>E-NgV=*d^s|W@5*6y06{`-(jNMw; ztAXqXjoq7%fX#=aDyfo7$GJ*&?_9|v<(W!u{!x`&pi0)Fs;QF4f}RZOT*>(rnMzLi zQI!;_l7>JZ>>$7s_67en(HzZs2S11(1fV4kchD^9(i$<7z=h+TMl^brmCY1e&pWg6 zw=i8z)?*^ro^Ai~_mBgVtOr(k1_qOQ&>1AB zDZ0AWRAIUAm+Mck#jW8ZQ3xQHqqxNLkKosc=*xR6d(naRGCk>NdGeVLj21zNkY!kpWNyK6@;1@wpUiU13Mbp@{tJA1>0M!5+e1B#ePJv&ohXuscu{G# zCCShxpbF=o{(B>HG4$(g4YnTaax1(oZ?o z7OmTzV0R!p7^7V?8Zf6(D)xjBTPw=yGnUnG!m-I(uVy_f_IlJC9yfjNEL`x)4~kXF zZN}27SYNK+Efdk~{n;+ejpCMSd0A0`WhTHFL7WRsm*yGr;48Ke6-Lbygql=`Vz1Q2 z*4N>nfBP%a(Y9n8V?*SMyQX&Uoc8r^oyw?Ab)RD`IjY>6u~jNnFgy6c!zv-QEL?F{ zunet8Kf!Rog=TkqC{B|;l6*ejfvCAxb@Ms7Ad)aBHV*F$hgwr(<3NjFU_NrI9m(3p z_X*MUT88~zI45Ag=W&Dle~Dwi1v{(bhKLBVXI!A#pa&hZ0fT9B{YAlq&|#9{>iP9Q zY$_a%0W5nedINc-GJ9%*h*8M=alcg|rd_nSW<)jH`NA0E|b;wlt z`7*HPg*}BeY*N@Dle#6o@RT-w!A!VvfoF-e<#^jnqgC0%8xSZ~h?S-Wu8NC0bp}QVj z#G=>c-1P&%)4Fk!MzYcc9Ngo}JGAp2)NRi`@@HJG@JTr(5J{p7kxr^GEek&~G$@VL)5) zVbCPVAkPEmb=L!jJU=_@yO3uV2Hoz+n$imO0fhp%LJMDLxZbm&-qxQ6QGNTFX1b+VSleQ0}D#wey zi;q{@f9pe8UJLw+wVAhyW{SNSkcHD+(UxhQ!xk3g(&VWedK-=na`Y}(8c*{{2@{H6)j>WQR%_e> z&nQPG@9EJN$egF)kvDGHM}ak!oav*}qDBN}Zo)pt~wJfQM@?e16Qu!AA8E@#xoZ!2~j z#kT)dVhi%Rgg78DS>3oo-B8U^Hbdm{*KwvF=8UwKVp{)thC{2)tB}G`O|WgHm2r7B zz+=({0oUaC+fk)f*o+dasA*D1hM=ZJFeCqb9ad;Vh@2NPeypa1lGh^v1!gbB@B5+h zdF1X6`CL-5X)>Lp)+m9u=yqpC-o=a?Z&s^Nu=e3g?Qk<7WNRO5lmJ49{G{%>vnZbO z=}utAII}2HO=pSy^=&#Nb~V5xcBJ1f7R9E2VCl4FMgLwwG9lfi^*)A+bbp$itywy-o&IlneYvJSJ*vIB4>;3+9O|S!0 zSa&@+@^XbMa6N(AbnZ$2te$kMd*}?m>BN&CWLVtUI4W5C|G|!(Wk&quS0drZb}}QL z6i%@$FrKJreu0WHI6U-r1`dbPbOQl+MjVJva5$59ejmPC435(e=fVmd@lSzqGuP!o zz*1WBj60zxe_{Q5E7oXR*`28gv5u13kN95M@V=_wCD@PR0++B;oxmlm=KNu%wr#y; zAg_)6q&9XAUUU~*G==q4;Po4a>1&3ojRj}6vIg`fIpc2*vo-(eYha#ahDk}sUMU~+ zY){VZ9sO$Pl`1NxQcYV^mMokcK5HwoSXKQFs-_&6BnQ6PJICMryf84$wcecp$$tag z+%$e?oHLt*+9x#s@m`bzP_GDmY$F!Ky}O1glE*S@PL5?%U^xCA3fn zEMexeU~I8Pm{U_kIcgKEg|Mt$kgEVK=n%-9j*z_h3zSX3Q;FLL+asQ0iQLT^)coEe zD-*FLVC9`juerJ0;=4xT$A`iM@4tdX>7=I#NcO<;H8qY8+32`$Fs9BSAFv;fH_;_M z)S$}rc!^m(dWVM0adE-lCVVFgyz_hpJw;{JbggA(X{0q}Ey+VZ$f%;z=tQ83%3Pv3 zhAKK8avp=3S`l|SXzILnCoY9KgHyX0c@&&cMU!de6Thy4-1_3Id3e@YTh2q2&@o+< z(4Hqtsxl>1jm~DRkyx^hIOl`^B@Eh934O~fH{Yg&&ia)@3U#M@CG@A{(2$$!vazSG zh&4=Qq@M6U`UcD4cQC#oXTXmBi|p}T88=TQsd)B%!EpzenIlH3aKGmWx&H}pBtO!*O_!Z;2BE$P-cVfIKki> zJFHNsft@+QHs7opRs8vH-%`cc?^(r; zs$wox1h|rxgr=2L&!2)|HMzWc{_NvwP~H4!@wJ*B5RN%E zB6nGsT8`1Wl1Dauh!jmSdW20yWFP;k>v*GO9M=wFrT!lYM$Xh02pCLMR^7^QEHBH; z(YyeW?K;cMSH6)a(;`|z=iqb?ovGO?k! z+TOAG$2`813AK78cY=zzO4&Y7I@M& z&%EO=dAd`R;|pl=LY7dzUEfUG;>MtLp5?U8HCV0%RM*95XH5pKRZ7?6h!I?>;dUbh z2_q=6<3h2EOR8hz_CumX+n6xW)3WG|&LV)ubJd^3D76p3#2H!n3wxTSzy2wqi|JkW zyNYA%{2=fj1^^wUo}B%2v7&=JnYLU5x4_xNlPXISBVCQjjFq51Ue>6~Uh@Vyqy}o7 zulv}W{#RTjgscJu5JFPRpaHj-jdl2|DAX)9yv8M-{~o`#05MrIb-d_Vdl?|L&?9-{ z&n$3)kh%``U~bi3({pHYP9^pm#5Cf=PjkhdZpF?>7rTQi_V}P!>!cN1(@|`}tC?c2 zrC8g@eh)KD9N!qK+$x33{$X4UOZ=Oye)Msqfk^Ci|99lK4-esmzk{@;#BPPxrUU4c ztuQ&}6v+wIlGkVBoIZsp@;%w`mNz8Q_@sG1utj_d|2arTLK^Tc$KkOr*v$sA1JdWk zY5!idas|zceN0S7cERouNwsk}-!RVRd)qccn~*2xprNZo?UFRzn|BqzoC?cEzxut= zc6OVDwo`FharycEtUC0ZP|HQz`ZXY+*L1khkb?}$&!e$4#tt&r)>pg?uW47kRFA^o zlnPHyJDC%d@Uhd01=d6L&U%^4(JW3hOBEd^b41VEf~5oCpziAEg1vNd!59uM@S@8x zecRauFHVwdb8L%uIxc)mn#HHw7@+~P5 z1dsbCFOTNs{QUElW~kh>sYd0z=p!kMv>n=l>vz1Z<1QRs&`Ts?C`hwaHU^z3DH z@WN^68HL4b{vDpyPD^L4mituE1yc}-W^o&d|FXb#==O;9tPLb1rynMJ{i+Y0%b$o4 z6HWxmCD!Id{_96=hGA7w{4E5!Q^rMq>Anr8p(?P zU$PssT%s4r@O4nQnPyN(8(zEk&fSj*&pv=Mo1B z-vg?8P35u_u~3flcvCNZSH;_IEkH(5*GH*&+f`aC@aMw>s}`AUz%ha@OVk5Yo904g^8wY(=Zi21JA!p) zt=n#~&ioEuxBe%OeS5i&pZJ5zy=zu8AD!_D^=#EB5IPQ{02ILTHkLBk z<^I5^zK8_wZveo+_JD7G@ZjEYLYKiknlggHJwms^;Ev!P`bTcR)N+{2@7kl;Gv%Kf zt$jw6AT!p^fBjCBYD=OtjAEoESY{SUM2IBo7^!W>sf`$LW-t8x09tZ(y zCoU*lUR{uPI-5bKo;>|L?E{_07ErB|-odvp5TmR&+WnjU|FlY$7jx65g@3kWrJBFiZ&pkp^g)HgN{0Fr^1!%dQC#lKWrfy4J#jbxEn#C7Wz? zc9ptzr5VCT-JS?BzI|txpLBN5GR7l>iWp(<_S-@ur&wMZ;t(&2~aMsd$`zh(L4 z-yeOyQTz>ZqQ3wNn_PV>9ez#XLSoeU(||zPJtSPmCL$7Qln_$F>m=BYz~u80_9j1r zElsDPIyb00SCCt~kN-&xG zex{4VFQp1hOKxtXif{Nf%N}yT6~yXJjC!FLd#ZN756mA=6G&J(TEHy&PgPn;D7zi# z?eAXx#l2jfdAXxr7P^XZnVr(;HWGFlEXN9PG2# z8q=#_pCaIkLbm`?*@h^m2L+EQ@Lzk55q@7-_pW~S;)kOWd&&c`Od9Oni(iHpoeL5)iXK)I?TFOjThI`52A4sC#LqFdr&o^ohdD6TWswQHT z%v0V9YVgbSBZH3rv_9A~s1=;53y?pVRfTNZ+2IyW{v#Wte+z zy9dnpbI0@5dcI1TT9y59?%KEaU!W=Nz1#Esm9Clo+g$zX;4|7Riq!oI!LXlpVmkF( zo_5lY9ExIXonNmCx~?I7bgarS6Nemtnm-kD$QGR5R)PsmcNpIwl!0p#ljmGg{8pFj z%UnTCek;&x?+oxRvdM3)PFIRQHYhbc#Q!K}RK8A+z_)e(;Gh_xY4-ryA;{6u^Q@C# zHXM_Ijp_Z?{m*0va@`M^-1r|Q(EX5qCwKl$)YV?=&s3_QYUVV}L472zh=um%P5-w+ zjtsD(e^3hJIgs&0zB?L{G%v^m{KK|Hu|Z>v%vx!otv0R+Cq}Yqv2A^-Xo&K^B)s`d z#5lGLK3#ukz-@p2L}5<*KFME0P|~fkLsz7~^f&#bK%Fh{KXl)!8G=bN_ij)!hgKvH z;oJ6-_PX}s_6TLPPs|iF%5|+_xE1s`?P%Y}UUrPlkq)h@EobkBk?f;Uwu6<;q~`kP zg<~w;N|#+00JuQ9>|z0zZI)-~gTDvmYDC*l;h}w&e;7^n<)ze4AbDto9S$&vA}la^ ze_L+eM;}w%vi8%mO6VRZHXr3Cjp0PMg8FMg4r7;H=gZ^v(ycZG#{U+PaN$hGC(3KO zOKCt^ixU0}9)cNxunAWQw-?b)41vU1f3qD8bD6j3Q|*lI$2wDc55=|rDEZTk@1`1` z>Jdw>_wKvg%*|f(O#l;H+W2q(4N4OVpStY7BEr@>`BhoVn3FjU)|=pW!vu&<6&R4E=2*=flaTn$?pKg3c{{ z;2=7)eHZEpH;%}`A)DQ}siNf*a9L=)xFDzAY5a?LPP;t2UIeml^6AwZQ-SYJt?E)2 zlLIJM{_b0PUIIYkcGsUA5*jK=#z|P}~!?0S|nmU6OR(~{VQ@HXr_{i3|NS$o2 z15#;hKDqtb&WvIB+!b5XzKoMN-uObxYAdOLSFR zT|?|%&?edLTQcdv^bo`+DbYY5;)a#?X+5*yKa-C3_=y{;*=d2q4Z+`!*+}pKa|QC6 z)~OVxm<=}L777RQMrH>h!)JplH38xmzl|pKrnr}zI zzn8o-QozyxZvDT)Wr6T8x!Pcj)tYmpG~&7MMq=l56Zes65gc-~=19#S*ct-w=XXnP zBSc-QsFh^@Jw3UW;`?cD!Y$&~xl~+@AGk)&~-S;m!uhS%O2< zCYl@lQXOArRKRPxn)Kk9vx9vpaTU zrgEA9X27mD(=C9WOnT(`cNLv4I){o(O&P1q4f-C+rmp7Hzp4(YgYEw!ovj!3KQ%Ty zP+7+ZEii1dsb3y&;L=plP7Gyx2|3#L3QE-Mun+_Ig=rK5TA3X52SuVJx9>Ot7 zfvuCp^d-3mKUK$99d}H)@dMVz53BYTeawJWy|Poz_*1vLmzbNWw`wacDQ}oq_G)ZR zxbext6RLhu^~)znE3N;ay@G4F{+)%n%2WSF`%tbW_5W@k%(b%q>Gqv#D-N$;*1iMb zZt54eZ_A~j7q2GO-&YrZT=>4QhawdJ#SV|cdQ6Ira|35suP^(&nh1fvfF&&Kp;hzg zybWT)pG%^N2-wq3=N>sJRg?$J{Nwdhamh35xusp{BcaOpZI96zE|)kJU5$X2W; z!XZc~beUD&u)QHvfr7I-l$urPMPJ}OZ)wjIp+|4-C)K~Sa9ggE>!0P9A$UxAMjYxz zA5mdMY@9W%ej&dMs7|e^t$1*bflus<2RDq0#LI&lvb)@a8!ZKxW!I+yGQ>Pq+E#whL{TI}m4J&c%DLNF8VBC*eOR3QUbG16Sqn+EDVa$s!4`>BNk zG<2JQu(oWlSj#$dGDj~4>cyKHft~9{%whyzuuM8`NOWDM{8mzU$8ZjzNbW*jv{-lX zMVeL?9cx#ftKz-br_-}4#+D1$ zu{LlTkDn@k0q-X{lnTc-xnXfARa-HWq1jW}H8dgRwxRK&JG#;so;|FzV0d(x`nm@7z z4u$KjC(qB(rI-H&9C%^A#jRhsli#kV?fiFi>Fd9)%l7_Dx)l1)>C(?%q00__t1kWh zhjr;=>j(>X^zYJBk^dK6cK2`AWsrZJE<5{I=(39+(`8rxQeAfQf6GORi|a!dAE*ba z-2}h;{mv7-^ZA@%#Ozu`vpIlBqM61_P7N`9Qx{crJvciCu18>6h;SfhB>o%Z&_^xa zZ(aOcmgVm^CdHQ#9i%PJTNRJ!Anjvx>lId2Y9YMR9u`G(diGJ=TXb5Nfg_QfYZzsm zdwgZ{{l&-gg7dSFwtSq84Fbt+wrU`Y3~n)7>qDQ&`6+&0ski7UvC1U9K-|J#eH(>1 z(PNI+lrs>K?a^Z2o}#08Qq9wZlJsH?$sIdOYvbpcT0+|^$q>$6A=cfvX^3}KE0-P| zp<1xQi$+uk`bju`0`3{CfYVG#y6aRS#yAlS+sB|Q&jOpdaR<-h>3UwpRo{no<@@#O zrs7fyh8PH)Q5d;oT%ZPwr(&J(i4;AFy!u0`k)BdOQ0M|)Ci31?Nh^38NgP3tm>I5+ zsbTNp)^Mv|()bp!4K6QET80TzbT1krJy|db$5FH{FW#irkL`cSHMRSHcGP4IahQ~B z{~5zSLNOv7^M-f>M+9wb#@5OCpK&kMN=$z*LWgEj zjQ(Uu*L|vJZo1pcP}PaADzQ>;5Cu!23)?C+em(`t(pyIgPHGw!aZH}8J#YT`Y|#*ZEGb%cPiWlO_^g59`IH@P2&%bpLnwhjo-{WztT z#8yN$zN?6KBwLIi7d*BuK9wMI6G9x45E=YZcL#;6a0*S(BQy0%4f}MgHzV(08`yho zge~mr8f~T;EDN!mEeZGfL~Sm?Vu?w#CVXbHoI;4=zuy|jF^j=$^+b^f#~+ZiQX6}d zEs1rpZ|YDCidK)^hhXGi)x|y%uX#*S(dI5&K{n#QU(CC31)v9mH8s>Ssh}Fwh8`|Z z_y1^u`7P2kO~^vt=~-B+XE6t1>v~we?Nug$wcIpx>Xd!2a{4>lf#KtN zfkN1wVPn|D+WNFM*;_vprUBIV#?!4A5JusRy~Mok` zd3G&YmjIP~=cGJpIFs%iv{qMrfLg}HMc(-7v=7lc!eo}|?p1LOHt zK*!2>(`A-$p{B0{OIIxCUR;k=Jo;)qlu+|q@4VPW7_T0&o*8{4Gh5R-5=+l)H?7N{eys!Q5=X3$#QTTK zzKq1j7St*{^xK`Lexz|zKkw47XjWb9`MTKJNaNDNNMj2h?O-2`;Ui||+nLs>RF`Q} z;j9<^Rw>s^k~wrc93M!0?Vgni4mA?VAv?fabcSsVKNg4?PB0hsNpkoJIzsxw3_6^K zFPktus@R^$fyw(<`j|Dm=>K?jdR1%`TddfD5YrZQ$-~s<)1^ip9OS{8{P^wYk0znRf4A);XKWxHB-K8lQ`E$O~~<213wdEQ&R`8 z!N~@@(oC=E9n1hOq$pco0_wS9DiKRTx9B$jldW3)0X}j;^j%=X)F`1WqXDn+?62a- znCoPctyhb=p)ZueQk`F6XSUQYz3eDgpc0d1RE&XVuk_+!LPafuKR447(+!feM z)zEUepHzysw@@CnRO`S&E8%cuPLIbqDkL)=iX4?TH?bV(NGUhYbWJH&n=#G5*NSk? zqFLrB)PzL-X^&v730(CcfZSg^Pz^3gu9o+LD2!}%rM{+d%=4!zrYoxz{kow7`4eS1 zvSk6;^uzJKqm{tIK;LkD)Ir>*ifRv2mh_Cz_WC)9H{H&C!_aJsw!vmU{as}czqq9} zSs*Q{tWXGYTk&MzFN9gg>u@a3HU@}j%4DT?_%z6VH;vcYAt2^Z3mVVinjAEIn+^y! zU2pNk(x{g?telfZBnoGpG_o+aqk;bRMg}%i%~_&aF=i|_*`{H#X~&0Yl~eN#3$0ot zCKC3l0hbo;np$cT&YE27Rkw6c`;*6aru`!sI59ewY13qZEj5H3NZvf(VsME;EP;v# zv%N0%zpU1dW`;y!A9i9{yTh^?cB-0lQ8}$oG4kA2K#o4+)`lZ31k}bp^bf|sl+V&Du+4YZKgdhGwWg-vPpE4hJ)ySw?f4%2IwESNfo_1!Ubi>5k=@2sn{FIihaz* zK17)hYyDJnE`W)!!~q1{*eZ>1Th~pn$wRflAL z1#*q(FK639nRXliIbTcE=vUIG^mcPd<(C{%Syyq&CNFv{GQR&u<{)3#F$(S^-y<|4 z*@slt#XgBNE^(q$^cI>GiC?t{_wtuw$Zzx9Az0SMUb2w-^YgzV9Coll zXgz3W%Qt(A{3QDBcSKje^PAu8b}Nng6vX$0`2-=7IfR{~hB*BIsvF2)+q?OpeYTGt zyfu1!D{rPoymMYQ;oB8GebrQNX3PIbzPQbB%qxL8`#*sx%+Igr=)nQ$9vn??>A_j! zy7u6;ced=ojQl0Bz;hnulvx0ChcxiZB060ESePO;FV{pU7qeVIeyYJ_} zhi$E&5A(+Q;v^0K5k@UlbQ`JuNgJ@7ea#?S+rN{{V^e^K-7up#BD-BgIbE=MvGDOU+N@53L4);L(2!vk}#-PVOgBfi|+gh1tUJq4n}9~L$os|xp61$^WM@2 z^gyZ)ihSD`nm7UIV2A~$_=phw-F>&Ql<(Z=!s%D>DL8wsy0~SN=HYLb#r^lU7G^Qv zPLoUgV@saP7@EkNR(!iVH1af>BqY7pK+|20F_xn{npDCYotK0QRCj{nHoUfe8S$|h zVLf$6D1y39aqzET90QJ4q}%_WI9eBmkmhJ>An=)^p_gYfgfB7-;dzF{{}@d@U1p*YdbBW{u|aJ5AtFLJ*6zOu!#C#N!7+E#K8E)o!pn>VWmPLIzN>bJZrt`R_CWTa`4Pu z%yOL_8g&%rqhuoyHVsbEmU;pS*}E_+v=M2&HvZCcci7||5cOZO4vrM|+9InYV%r<`@)6$gc^(2{6odeEs zb9G?f;B5MFCYl^#V#-fgXt?C~68%mbsNW+BB5hjE!lxO`=186p5fV%4V(-?)^NLw| zcgq>!gtL6Ye&lNZ%`T{)J+ToCEwIX*ztNV}w_nKu24)*~&W|+NaGZtoOj*g(SX&HZ zs}g}IuoAbUL~&-DI&^srO~Yja@oL5vmV-+oAv&d#L;2eLI@+`tha;}Kk{EUKfAI49 zxKRcI5h14E)-4#dv9J6K7}6}~=0{G!K_g+N5hN2DAh>2CggfDa`X{LoO1^}K-{?dR zjgfkrC3-aToGp4>AG~k2fn!-@0SSIJN<&r?%GHEEG(jsIEi%@(`lYdzt?zp%04Ow^ z#Qpy0#U(Wx;z^cj)L_ zym*_B|3f3VpS}*6@wVbZ2u-ZD)!##!k#2T(xkd9==y^ByZ0`oSd$gS?s0t@PulKuV zz2BwFw>!J%SCnsHkdJQ#idI^&ROthPZ*;$tyI1*Ec2U;59o;>=W(xmLUaS25v)=E} z<=cK)?+V?$Ai)2Vfx;<3A%K9kp2S+`68=kv0SiH_uiFRT^NqowuY0z4+qwHraM(8M zeV;DhZsVQ}4h2Cz%IyS)-oZEOS1)&;fkS@QyF7Q_2@XB8-uLMAZRW-EoT```V8PSC z0JJ^@R0`~zA+Z~qB|}^`uvByACmn?`N0hR6r}xF~$&f{bx;%Sz%CqMdWej#HuejWy z*h+_|%#N+r?{k0_?7d4y2>y|#&|w;UwD~9E>*uuU2i6?Wuol|kjAE~1`Fsz7 zQ#jSaAVzYvzpOBQ`kN&Ueil^{F_~KZ3)TVrmh{Z3jUCWoJPBMrY*I1s9hQ^WxYFc5 zdP#3PQQ<`Di%X5Zc}G{8-70LeU`l$@B)3Vvr(h<5bMIGsNd9(EXZbW8jT)&e zh#i2t`^Jzhm|==z6~99PZX@*5{QO%9DIFLVuLGq`dFUa;P4s=?piX8vtSL_!d}MO7z`NKLI8ys0|Y<~8L*p8R5dY7$|c3)or{!wEch+oaxZn z{G~isC&ua9_0=&V{;yS#mM{3}RN`CG|8k@ZCq|7!#ZTtWV)M{-GR-7L6)9o;`6N8g zdR&$qH*+#uU23uteyN0m1J}`ynS*I8eV2Q~(x-r^|1wWmUk&9eZ(Dzea3Qw5eP4bu z~HJdIY-}MU%@YS$9IBrYopij(h9F7#lMUv|5dO}W%aePv=Kq9O?R&Kk zZZB0OPDve*R#G_@2PO4Y3TwwKy`1%dhW-4-eBIuoT_s>iqIPiVaQmWX!=YCD-}J$L zR)ejl%;O6O!-k8ki!o(5j|{$<+EviES%Q8}cIDW*C8*qTbY}_Loi{bnRKp(ahgyTX z%k$-KD!)5J(K>tc?NjGb@@Q|#{ZG7`%JOH$LwcIdik0{6j>Tb|TVrjhq7?K^^QUPw zFi92VFzxJd7{d^bt&^@*iQ#efKn1ms7n|yjg_uP^(`t665pr@T1e5j$+;mdol53CEbmH{_;3lbsElt-{5G2%MjP?FAWH7#GrEIFC@uzxMA$2T2+Aw6mE!B@WU8 z2Wj<6`i9Ph)f`V)AFtn$(n`mMy#B|O0@DKjAF#tLaqqRs8$cz%B6a`T-9A?p^X7_?Jo} zTtNRoWy8PSpd{J!uYU*rojBu1;$P2$yTiX1i6ob%f0{L-f4^hie;@kS`-kISVf}gC z(7uAEr)IZ>QxL*}hQ~$VvI*PS05gjcu9_%J%uu?!n|~~(J#w7@=_nnRyiSyE$nUc- z?Po^m?jq)WfN6gM)zg^vR!LV(JEpB0Ogm)yRx$0#&XjKbgso!Q$vbU7w#xgV6{<0o&{f-Enk#+KgUiXQSDcka$to7cG4G}YF|b$}mo4zAva z>9z5xJZgg(Lb*NT%M_o0JIUq6avtTrQuj%_=W#N=5i>)nq5}mXn6%t)IJkk5f)ZZH)FI4jGs!-!Qa9* z&l|XyZst5xuDrSI1WWso-sU#HQDci<;XGZShH_nD&uQasaCi9m+G{+Er+EIO=LYI_U&Ms67LyCuTiv&wbg$`4g}936AO36b zphL{i40j6!;U<)u_s9ek)n_1{KbkM)b@rxxJ8A@vwekFFE~xr7cIkV75_7)@FHXC} zhrN4NI4|=Z@@b@bnfGNukh`AVWoKdvsPZ1%u^5-t>XE5hoNLO~r(I3I*uu-ad(RyC zz{Xw-mn{pwu&gTfVb$DsQ-@pcuAI3~PIb(0eJigvaWE6*!UE(nJW^yOic}oHvCtyp zpw*f*hGR+6eX8gHaR|+gHrgtKf|9ci=42>Kl>#o8+m#8ZD}|MC)n9GJ7hcoJJXlwo zwAILauwZJ{u0Q&37HjI*5o;R;>wB|RO;3ij%(1*^ zOG6QZHlJ>Vo7_eauZfj;hWE1k8)s;|!HdgnrAi(eY`OH`81iUe*Zv+s`_HnSI(=UzHhS0gHyz9lV{VElKYiyPE{=t%@GL=lY<~U=pExR^s(boJS!$9 z7&Us&ec@upoXn#6vF&=`sw%FU<*I69ejm;5e$2=A4**HfFN*n*V@?o0YH;J8Pe0P* zKEK(5Iw_nv!}=RD^*&vu@3&Zu>8zoQr)g7Q1DKo)JeH7-VMJvaEqQr{ue ze*U^@#0SMRX3593rXEWR2K!U?#Oexc-OwCt8zc|5(LL`v`*{sdB;M_YN}O$7Ey zg=x3~k&7_j51z7%VpJhdals%(gLZV1;*T+5ubjNW@xJf?^@wajRxtNUi(A(-eqOHY zFbE8vbip72qAAwDsB64W&Ajug7_;g6Epx!)IVG}-1Y3GBuzR5S`0+)oi|Bkz?STD^ z>ji`F_jx}ZYIjf<-2QkDJ7Y3$__}l$>-yUhJAp}y zN$Ff};;!^_yROTf|2df4NDsScZ+1C#zS{M-+8wF0rR#4~rmszhzv=p0pILkp-E`63 zs$J;c`O!DC03dO*0Qim2dt;U>*i27$bJs9kf?}Ux6r)*Qg93wor-I_as;)hXPaa0M z3P|_nPU{_g%Mj~Rg?tNLbLIKrUc^nztI$mRGiiQmTw(pAjl41qOQd_K;w&lXD$v5< zhbPg&yDWFRX>iB6q+hS}&I5GUc#wH%*WYeEhi@n8TQmAn^NAI0jjpavZmfo8mfQl+ z631Osz0>V{8`$-?*$b)qb9&POLB43>Ev0t`byj!EEa_b4lLFe2i@6J=E?Gc*H+Eg$ z6;FJSZv9~w4eh!;AI{8yEST}F57Vu9XAP}3t8aUll*4jTG=pC5zc$@kHm^qQX1 z&1LnUb*t;%+()bSIk|(Y=esMBCprBxj;bn6Z;EM;;W!4L`TYIlzcZh2JTpkQ-p}}y zWu9ly}-Bcbp36?OME-5>u=llXEeUm`CIVIgBZTv zoj-_Cubx7MAD{qs0Z8%1e0!$rZ)JD#?Jr$_`(Ps9e$F>rxp=w&nfen&`X$-;I$v)W z>n(NY1!u9oR6hYh{VB^(!L*t$(g)-t9D9WQS&@o0?{hpEhJV1lw);qptStzBdisWR z)#5SxAaq2i3yb_2U*zTW$g6uL{7_ZwPZcr`FJb{}Q9%*K^TV@jF>6E~FLn~vLo+Dr zRwP@}#V7Xyo@2=3HQd33VN*LR56KktZ5)~5bv4oD9ZoVV7H+u9b+jn$AEq|cv5JhWfE&g|6*CpfU@xK9Xsu0$t zv>^SHF00PypPM}mwvyPHKQo`F zJHpqE)-k`&dh)xED|)dylMw^)GTD5>*!ggg)L)xAi{I-tqJpz^dB1qB_B0 ztaK`WSvD69O_veL8dqc)C+e*V0{OIMef}yy+wH~L<3-sAlb}B(O8lYO@?jJ0)*+vy`kJ$jrhB}t>@YTqlrlQeejYt z`l{XS-=MA5>ZXGCPtSH_b@!+vFPT!=cW|eUT>t0)K}UX4N=K&Bkt()Jrbg`b-7Scr zSS-#dKaKtGk4nRSOn-=D=@w!9Z(>*vjydgJGy|I(IjD+OT%6Y!*t{ber)xIahX2&Pnv)Z$v}6 z01gv?*L*@~KJnkDb^vgBegxnSUkTtaDh9CtmK;~Y?@$4#%6T722ZTzVPs=@FF5WVr zD?o49m3w9)kC@e>QDBmGlp+~!^dCr(upF70vw-^Z0}0RlvnFoyw32XhsPG#+E<^Kh zDzl+xQAzk7X?!e1Sttr$;{^pBjrj^~7$Bakf*ztJKfr7F2k8bGZok(>Ut>0&c1m_O z9+wxP{wVc6)%SX@BU{P;neHc-Nq51EysSE(11gCW6iCz)@TyE-@X790sS<))KI=t2owY6FbE#27RhOn!<-_W&X*ucQy}r;etKO8)(Mi@3 zcOr(J6ZviOgQ4pDccZ@Rcpe}SYP<#=Ln!^IBvv=co?#?lw|Rv?5pIJ1-2E?-X@NhSu(-3@(^2gHV)4%pAQ zu}@Vmh>{uH-lcveF7*pIHR#I1@Ggber4BtCT`G9vm<=p;W6XBrz}{xo7Q=lB^)xbS zlM`cfGbF%U$E1g5?2LNgY-eZOKtfja4|^#fS~#gj<21xl&{l9nhOy+;g~8fiy~7@& zboj7oEsMgxiwucVJ6e>(?^52w@h(wSpn`mTJ4zE^l{%5(F8y96PVl(k!6U)6n)^mu zP#*)2{)IEtiSP3oo})iHzAoJ98|ssvGJ~n30)F!^Y4>wM@M@JsE&kVC6Vha!1fx{- z?W%f)tGX&eH0zB{S{CPKP_{sa9*PhMso3uUc+uYo2TGTzJ~*N3+Fp1 zyt%cdTu^uDnB#C1{Nwob>DGd8W{|ZeG%&w*fc@sx?Ig^|fDgVsU~{^)Z}#=9g&0A6 zGmf-9-!ukas{ejcMqf4rFaP3g1)BcXL#B8&qV>|j&yUu=ugK@X92^*qgk1&m$A6lh zd_%i<4m;B=`S+^iKd>Ph<-=%TYU(vc@0-lKMWbw;1;zMNh;Mm1*WKfdKRYbnH4Oh`>E?J4KW}@ z7m}1Nt^#m@{D=yrBYy_HRRKjwX?=QFZ8z=IaHX63r5Ett&%#8^BO##802ZWXV9OP6 zhV^tI6~BiRcOlugUw1B~K)i)_{nHx0*9gM&9aYB40fj2^4;fFFKNyUo$nXc2IaUFo z8g-S;rPpwatgZFxs3G7D&o;e-pdcWUvLNC#0Sn=+W~pz^2mWEcwIU~(=FVK z*5Vu4;!|(d3K0_mM3b0I!7tZv76j1gMTV8R| zY2(lX=3esp9qoJlumbrm02vwm?-PJqQ^LgQ$^S=VzT;DFu0U3D#SA$$Ko7F0O_R19 zwYXxU#-#}jr_rC3Mf^ZE^Jbt>gBqvc(VO4KU30J1VXj3IwN1G~FB7Aesj@Mr@M1UA zOtsWRX+3Qi4MmV%=Z=QM9Vgt`G#6w%IGXXwZp^yyY;2(^)m0V$f^emgTEyh|x?4!$ ztOOAg$ILyRu^bD$8=*48^P-B8DuajOB03FUiRmnosq;VNK$4h_)p!w=L>*m46*6ng z8crRrGkjvD!-Dg;by{84XI=9#pwcS)6D?}s1CqmIG=NZvUX*tozoNN~`pwn4Kh#0_ zvn|!J2F><)dY9JyF%L1q(DB|Knc905ie)1yRm}~iTbrMmcg~^bEYd|hRi_@YFJMM< z7~Q(i^lJ5HDhcSJj#4cqqFEmo?w%Kn`%oISJdsd0E))Ghk#-Kkh@#WQ!AA(`^b=z2Q|75Fe*VHL z{kOQfe1q4pD>Ij~mxPkL^^wMB^BaUWnilx2Q%XHCi;*tiM<)U>9*vcddjzFyP=>*0 zuu6i*Uv=Xo_}zHFt4bM#p`=Loot?!)Gptpsy8FHSw)Xg`t1y7oh04!H4_njEJ=*M~ z4`d5mA(F5y6*}`bv)aFs=XCK1a)eLuXzS=t2P4LF)x~`gKHOBs%bG5(TdSIKQ670+ z>660VG}8?8Pkc8>XZ)=;{rH$JK9J&IH1fK}%Kuq6E3AgBMVR|Rn4CCpEq*w2u?`0= ziTmG;!>6sQMC^NF2cE(zrcZ+7NAK4(qG_Qhn6V8C%M<8G^><CF1b!&HBH@;ZFgY{}UX3qGrQ?$l(W|BK_waKDqM$j~qTZ1rER2 z`zj89%1NC#{Kap=;m;2K9S+~~{jbI0dtLu^IQ;4t|8ovs{d_KmPa+ik=B_w=-Me4K z;g2InE{8v^vTF|i({Rfiex2ISaQHPRwCC{pm@Yn^;vG3WCv4?%cpd-Oj>9jh=*;0~ zQ=2&aOcN>*hrg}Rad_um4~G58HmY(TFEvVa3gBlrZFiHUflS9bb&D-6N{(NJWN9kc zmQ(WEEw*%1hh1Dan=9Ku1O|rh)prSd>`}52jz%Q$aY5H}PI6o541Ja2QC86Pj31 zof!3di>p$xx3wzufezMtf=Y3Q*&g75+GmzIZ2=84Tr5z&27ETKKL${V?zM+8unAti zc1_PjHQlM2o``B{5o{T)eMR(QIFs-+oJn|QaaQ>VZ(Eo+qu$D$IJrvGxAY~0=!N&n z`+)`-?AVit!-oF>B=^0!B}i`3mkcC3{yqcAj|;xq33IAdimq<>knP|NJ)VO&@!r7md_w#WsZBT>`xivYz34kB^%QppZ?E#&D-J5`7KYN%xxDef_zrk^hsDXD_>`~NX znKjwZ2k7%;m2Tss+Em^JAJr`wO$ARL-hq!kBvKO}y^!z!b3Xc3&;OE-&XWy9Usr-0 zWX9BveO;pDYfdJa_3y(v^mX}~OkY*3>jnBqW(-sP$P5gHw)JmS&U=UTZ|c%N$&SoI zeLLB)u7HL5#}vrj2KRFmXg5X{48BPTDG^$={~+mTEAnUoG>6 zhhv|G2lJ=(%J5?MLDX*?CN&1zI61x~*r$Otlu1Dyt5xz@clzF!@8N-z4vy7=mesDi zh+BUUUZ|gMwO$;RTP3IoB{J_p@Ir!m3xmO~URm=o3CQIKp@fZYJ+$=@O658dH10t~ z3x)az0jJnmOSu_lQ+;r?YSq~aesfn!;iT8vNtB%HYRB=#6{LrzNj&izsw%OnGTsSX z1-bIDziKmE6z;;4 zVUx8VuW?Y6QJ4Dm)pPQVFb&#*K6EkY#UJu!4h4E&d)(ZWwCwKV1uuB`48I*m$7{U7 zWwo=$6FjGj&wm9q|8gF^tv%gO;Wu~XqCQfpE|c*FCI+tg)AdT65(hyf%rnc_cJRwT z;En;tKVQV;%J}Em_w>4R%D)XI$SJQH>giPE~WTP81JNXSBsmj=ETKbueJ5v*eWS ze06et`l$7alC%|qF(v=h1vQmy!tK)G$K^z;gQu5tv9cBVK8t-5;UA;EfOjzB+0Vj*W8x+bu=OS3e2!Xzj3w%Vqpo@<&55KZF`hPj zEzAxK?S?@{0f|V>bzWz=8HZ_HkTCP#AtdI2MSlK^nvAPN@B9Y#%l3Br&8XDwS`rQZ zUfPUZzQCI~&W1O0uo}x!e1&IGad@+ZAS z9i7ryRyaKatvno^Iv|L3$3d=ALQQ8U_MDXx54pqToY*mNlm|MH%vmqT=VKx-2TR$u z(et^N(8ciYnvvaEt?*{9qEsw(0Jk2li+S7*6yIDhPnuH9 z8@(=;T<3bdVU1V+S5=>U+!qJdKdF}+v>Ex@d-a96*RZn&N7s1;5CL1u*Xk@dZBcmV zA7Dy4eXUg@I2e<=sYM)kHoxH>QslBi#^Y!TmuHW31 zhw%f0b-PIa-3S1X`VC~ky3NGcS7`mQUd5m+)9{|1eFxXl_2D0A{iD}DcxUdk&8yL(z}PVs<*NR$;ZiGLnkjPJ zn6zKQgT`#7{lZT43p-K$_;1{5xEbyBq=ZlMr_G5I$*ygjXwoGTmp!Wqol$|k#zI*T zk>L6qDAUC!kR$xa9*@*x5x}O457*<%>xDp0DjTl17Yv<{{;qnvkGH0RRUG~nZ6$dD zg0Klus7asd+wZL%0o;zi-UlE-SHTbVusb9;ag>$ddJ@TY;mkeA<_3xTNFZB2+o^zH zm(^TUj_91HC2kBI?~XWnI1n)0>exNh*Z$kS(KqR(Tn#syZLeGQwh8CH;o2Qw-Pylr zXOQ0{qE4<2_S=hbWp_L5F!I0-{->jxf#E^gUrU~?mFFJqzfm|thQ);m5G**v53`OX zF>iA$367DXZD>6ja~AeVp!W$wTG*dvTl+@K`7VUQPid)}B6;dUs<>u>h8>=5HN74z zFJwOSVAoo5VY>LN6=iwJAiToBB&=tB@Jutd+f{m}%qoqa=|DMjv>#>kaiuoKCKzw(?e&L?+xFONB)!)FMD8F*Q$noqYl{}u+!i(dl3O$E2?+rf=+Ei`7- z^aFM1OU>~T>VdueH?HSDf7&b09hn!wwnVU9a}!RVrh?BoOTL|3y!Dv~w%5t^<**Hl zU_({;Z(SUHf$^)|<6lk2VSf!*#@&!3f)aN@nBiuK%SbESgV!AQ!R)WHW1VCB!ly(V#!!Z|=Ee74?c3xSo(IZol^C zURdEbvksn!l*#FZm5;$0xb~eBbW26fNEkuJ^_GQBgQ;gQhqqKEUzFuRl~v{O&oI%) zQX}C9#ixrONd1{ef^;bA4yd5Yd;q*i6VeNm@8V(ff)I6*O<{6A5D;lNrc{<-FRrnq z`uRjHR5c$K+`wU6)-VBzim)o8HpD#D0iHdSD2227&mBoLQ&oIzeziCHbB&!&gS`Do zb?I>fu$Q*((wq~dIC$xpX{-;pV~o&HhJs?NuJK;me-p7*_H0Wx5f9ZrHD8l?sL+D~ zsZkSLkjo7MVxA>?qc9D8{dm@?(fs^AkK5>i@+F2w*{au93~`%BiPc#F9L<4_2*FGw1wd%_8**#W6 z=Rp?Yx6Qd_J2zD)2GrEfhT-gJobR?@7H;g<`G4d!()dXeYT=jB@b^Li^2_IYGkefW z=`h@IMR+~Ng)%}wRuP7xtH`aQ%5Ze5GSPR!DaMH5mWr3~E(v1k{Mvgtz6YIbO0*X@ zPV4L^&AW=Mdt#?$e*WWTGR0Wlp3Pif^5AiaH6I#Z1`VYD5rr&ejmZkYMXBJ6^kVB3 zRIb#V1H2UI)@<-RZ0@S6^2M~ybLqi6e_8mxyToyDwI}|FSt+2834{E;??uM>1d0%fx0zjBXa|`jSn`G z-`}v>t3Q>DX5NyZe==`3nt6K!Uu-YYcH%`cZ=dRK2q@YuGH-i z3pqj~D4kLuYTOOXBGD*n&`r@!T4cCTwK8EW`V4Egf=PWJVY<;$Mha6hc>Y~D1go&Z zfeyaWeD%s)Ot)9&&Jz@s6p2>B{W=h&cl+gCo-M2mSAYjs!fcL7_6a?@h6h=<0c|)A z*Eq=4BB>M~nP0n`s;svrCNkW4#;CYl6git?A#+F}UB)Il{Ru+)%hz4Hl-)QG(vn>v zBxD(c^vL3fkP5b?g$Ku7a?uaYx$x3+FpU;f6xK?>OwtJRPtPJGl~c!R)G^ZJwpE%O z3sZR31emICj?KD(Wm(KkGFm@Ut&0q><1($^ssYC8sHdQ?IZRmPT~zE9MS;15>Ec5Eih3tQs}<`Pa<-cD$<*zYooR<&>b5diN0fI*s?pbt)D}#58zL+!s2MUK2U`Wh zqt_C$^0j~TYPcyX_~*_pvpR-6DR_=|v)YW3=N8<*OLkc9wuylH^lFjN=$w4bTiK$( zRvpl{G(ulZ2~A$DHb4@O3HRvpm~@X5dHj)k)JlKBPk1)GRV{{Wq4dRWPjM9+qS=!> zFrPm|@+Ma<9;Yd|cpOszL~bvB#H^-SoI2BhH2fIuBkI!t+pdl?06U{0h|8NC&JhcJ#W9hqLurVcx=wIErj{T+h(S{5;_SE0~4 z+v{IiK%jL^^bFw&gpA^*^x!vtYSY@JjEa86)9TKLGa;$d#lM3&Wp0s=(>a+o7w)hD z$B8zkE>lXbE@rK@Uj+FH{0F%2rfN9$OsL6eWQm(mzQSz;=6|AD$$M{_RkkTFc`mx0 zz^=VHtmCnAo^ZsD!HkndXb+YUiy<#*2~gB&!kfhS_3DfhG<+PRRhY6tN{v``8y@51 zo-JY*zul|hbl+h9uv{to1&q1!VKo;%r(v7L;yx+xkH?TMR9WQe;P$Kica^sf0Sfo5U@IuyrJ^Q-s` zj=0vvO%(+vuVVSSUVc6&n-kYtgil7+n-c0Id`d30qHJ5)x;9*+_)ivC&RTHfU znxJ~W9Gu&3XaOu@HF3lw5P;(AnkeQR95fp09FF+L zZnZ}f#{Q~as6uRk*B7E!M-h?nlZrkkS-EjC&`*wM_YHn#0OGkQ*r$N_^b~7ImasOs za^Qw^{7U(3W12A0M2j`o4fN(ZzZ-2X0iM_)b%k}D9(HA6@E~RIcN86+9JQ`0&1|nj z46bDYD__uD>P|?>nvmfexK|`2hXJ~g0C)f) z(;q?UXdc$w({_LK)SaM=gQ^RDw)!2New2{Z6l-iz|577P+-U$mj&gF2w8M){LBkzq zhzuGOxSRKs0NJ)z8yFTWI{xBm&-&PNi0%e!DFS2P>rjSSoSJ01arg&%o-SVcH-t?g zk4**FaE5r~S^nXpkp{J$@tMAVeX5;j87K0ef7a!#GD4GfBN)91r&+?0iIkP%KaF*&I_HKDpQOAdN`)p$iJr{3f`w$%E^IfEl4<+~>`*Zg1&$>aiU`^GQPV$r6`^-y?A~0|=4M*_nM z1SVB`X^_X<4B@A+Pf8i@G>B}@F-cS}UuukN@?tYwg$QMVYg*od(ITeKT$7K%>90Dj z`Gp3T;Wjam8c{OfOSq=6r<0f7+&1ExN-(aujt3oA7NM_8u9?B)4Qdf=%@!CN5wFHI z!)I8VOBdfVmw9^@k4*(9a3XZXFpqpNB6v^!vQ*z|mULv8^*40EFj00QZV3wAsDhw~ zRf5Ry36y)s8iB>JMs)-mu7zJW?Z1pQZUvyYqr<5jfT6&a`}vK3mS4A(Ae|W{ITV9=SwvnHqyGL?njJJQ9o?MI06xRl-B~%ba}Dpp+;zRW!*y;-Oh` z>Ni?b(+P3ZHx6yqhRH)~-y0(ACC=P~aDsw!_<3|Mk?b8>3Hbx|w1BNJHZQkM4u@w2 zZuxITOKmG~u@7Kd(^ZJETm>Y-PUkc4H|S8Ls4q@BH`EZ=*kzF zwp)>*so+CS-HyoYO^DB=*6FG-)py9Ej%4=Zvpb)+bWz_+dq-DTXi(}w1vsyg^R<%G zvyU0(yNdvIw=D)r4{v4zIKpN`J~sY9=(0O|yoL*TmM^lSQzpIJ%=^pSHuLZ)jy-ZB zErv*IFP-3|S>crNY?y2sCE3)htKk`6%oNlaKiM(-zD3B1oT_4YE9^aTx+2($g7>d^ z*IMKzi`vo>BQO;*idAkCh~fk`)kG3T2>eR37t2+>(iE%87kY_$iYSB3MSYMyLo|!q zQru%5TW=!|Y*uCEzQJ_y>x^wCSPaS=S)kG%iiN3y;G~jl5D(LhP=3Cri|SJS6!kIws>pg>41nb_(&r2R7VzD_A0P2q>cA- zD=5^s&8?uf65}-9+!~8Pl&;6^7&XDQE4J)g$n;)#GP(Bs=g7>EXb@$7c!|5rG;mv0 zWiD2TL?kQ5G;xiAvVr)G{4&AJr|gZDi3x#>Y~(f+xuG6W6%oHzO97=tg9Hk>wX>l6 zY$u&(Qx7w?_As~oSIe(Fu^s*j*nZYpPbenabfv%jiTRq8?BbyfwUEC2P8GprgWJ=$K4NE3f~|NN`Y!*p?ziTWaD>6^ zofI5);yb!7lvSrh5A7LuOq)A#I;8m#4ic6zn|qo0)hk$iftE8FWL?oF zcS4(k3pax|m!a2)+ss}hvI&Mf-31*oSngykx7JF4l7vr9C%QaSh1=2PFaXllYH=AY zhBors6fHGI6q$G>OOO@q2r|#CE~kKWO^}!TvOPgoID(WL%n{_yx$dKclsq3a)})Jv z{vnqncj80%K6w+bEu_BusGSt1cUDfr`YS$gaPJ!T9Hwt;*lNuE^)N!oGwz#^qvAwRGGM9v4tPuYI2 zWLz5)49y9rDj{Un!Sr~;-ruCfPA!b$ciT9e6yvbho&{Qy;9n3b+^)wn{^8W_2&E8*^CvE=2LHnyXH ziR-Le;t7t_v+Tr+evgWy3wd+2p{L(O(7bIN+bNS@M@gKp%9OLyCz_I2!H-iCulk(I z8>!r+kehK@%((#!l4`T?7Q;3QZ>|_(c^yeq82oZs7aTwb#@X3=PKOi)nItOud&e2S zlUDX%*_!bkB$2b{+9XjrJMlqbjwEuIB7E7zzx?OzCw?S}beE8u_){V8Hc3=vurM0K z@5!C^iXRFugF|tjXwJO<`;*N3?N#I(n)eSI+Y64rQd9q48wv45jl!3UB&iB80J%2A zZ&|CZ{eF&I;_Q=XEjot_aPiGq&|K!6MP}a6T)Fhd_E|o#R->qo;6)|c4gom?9$EJr z3qugoHgYj$aQlQTGx!LZWWp&h;pF=0ryQZtEoqlyB(Wk#^!De%4EEEs%%uG0V%sTQ zhqGF0>j}$1`yT_RZ5eUxN`?%->CX(@f(XRz8;)6{a_E0H(&o6xqb`i>Eo{V}IKNEktK?UJY;%ixi z{B&x@T~W0ZTufd4_4;(h`2V_3+6hzq4fN=Yi!wdBYzaO36?bN5dt30mXruhS;6M^V zx$PQ8gGQGKDQFi%j56t;5X`LR!4(PJkxvx-3Q^8=? zM{>QTeeZ%d%NP9%(ZM(BEoDAS>db}=g2R^KDm|7>9!&+ea;A4K1kG}t2!gWzDFhEM z1%h821cN$2&^rTxOt=3X4h|Lsdo%hu7V*Kae8N$sISFM-7@ecG3{=AKoE*KBP?D3d z{$&!poP@VY;12cs=uJ2pq=vr}W|NOc{uP9D#=pX2hRiSI88Qzi@f*GZ-={!$6mrVq zb9rg4?9lCBf#oj)2Wbu;4A9Fx!2Cy+8c~)r{}anj6&I zVs(r!3Fa%yRzYvFw5rzZES`8~&Mf}@<6mg!@SC4lMVW~zy(cqKP2w_9FTPz9RiJ;u zJZ~M{2G?b{2hg#D2@a^6U0njovB4am_I5zklBGRR-M^pVu7iLm97H?8(c}uRZP%D@ zP800kV9j{Lz@BZ58J*=~;4x*{D(KazvGvGr$8PRjKx6kZF2U-5(pWi-g~j?)#2k+iEx{03JPu}t2mryr|6U3C`NCz&ygiv6c8O6~_8F&S z-=yR;i$3bg{k%j#nQAg|8m-)|9Iv??q7;dl;4pppy}mpim3`N!>v8p4W$CuB&jr0$ zZMiRktPMr#b0-v?%#wGwNT6RBHHWCEFb}YVMvb0|!og&4&SxmMiwsJG>{t*Iw6gkx z5(KniV!X=ER11Bg7TVT}zuOZ?3;8Atd}+PfK%d$O^2}Sd;3J2;`lzTHRSVx83yobF z+!1{~(tU0n5>@YdlLKtBEvV6u|F?Qbu?>!B^n)I%cK0AgwZV8-cU!Iwj&i~bCK2cO zV+{>5bV@MbLWXUo8>whU&(NFA=(@{I?B4N9LU}LzN+f9XT2$6TS%y;uo5AbK(92bR zm#;2QheQRzuBJLjH!gn+jx#E_c%7qr8nB7makES}8pyJ&;%w=EJ*udGtgkFk+eARI zQET}u%CKQ<(P$$4i)f(zdA%DURhe-mRmo4QlArtYFqia?BO{6Hce_o!hSPA>#8Q_O z&LQAUicKbJ|2@(bwSUiSH6rShc-;y+l)$R7MUBMYS2d4iS=njIJhPn45uEg185E%3 zlhKGZbDxJITX0_uRqJ{fCTms?BP~T0zeYJlQ2X+yK}OmlTabZhWL4^-60}JirumiJ z8Q~=kr*99HP+Aui2C@9je*O#I+@XW3i`XesnSfOEOpi}VEcJdi zrnEr2K1BLs5OM2UTvR^y${GmKF_U?e5bIMPbztOGp1V_4>9Ptn&)nT#f3%#$!*NSO zy7;u)6iekcnLn>DsY7r5If3u5SL6o1+o|8pJxXzmXs>xyvPY?x_!$tnz2-XYT+V>m zq#!Nw)-wS4b*JHP?1`)UQSoa)Q-A&PPlY6rjrv-9=7S~VC$;tza5el{_S^dTPf6ty z3J72GlmGA%tI_OQ$LRLxTzoathjj5@fL2~$ami_^a6OH2ibA@$`WMK^Q_&xXFKxZe zf{ur`w9b~@R|G;BN10VV&SfZ1b9HF2*Td+Yb^)q6XM{O(?Z}w2H4SkI9$b`&%&ii^ z$Z$>KgG26Ol#9ysWApNB2UazoivPi2>?at@S9&u)QDb74RifIe#XanfXO?_4A9CVw zALEtnD#M=*b&0GN`OKoTD1QRwg|aOL`eUr}S=x!Rh5e~Xb633ye!i8hJL(zd*vWj7 zr6JOg%`i+^>D55q)vHyM*LU?&-%I#ztJK3tFoZ}lhuGJ!fr1fl&_~5AaZ6pnP`#uw z4t9cd3U;=X8hqnp_whsHrlUNcQQ@W$YC?!{|H#5M1ef6JuakecH%wFOnNK5bu zUcb49I3?%6V`A+jE>Mx#HR2yqQ&`8114>FwFATbULQRZBg#`=XL~5jlSh949Pn>UZ z!ocR*(w%~*(#V&6=!*p`2{m+ijx`nSWd|iKyz9GA;SsR3BzhMjylpePTnm=oLigJi z-i3eF6oe1ERd*HF{_hRk@*DLqCq_xs2$~45+7w*-a4&fpSW)M%;*eNnuV-8g{j=Qz zXy!o?N-g{fLpSIba98Lz)A)55#+kJ&Bi6(T7z-9QzZ+Ehty4-lt$0tKR6?{9?C>BO z*+FD-v&KstsAs&)xK?14QM{Z6i`$Rd=2ZBI86h`vuzj?$niTzulb$bDkm|ee?v5*~ zk4^1j0slI~b6dm{Sj&>#JX*CruHrWw#}a2#!MA8J*YN6}X?D0Mr)$&C(P8H>B(W1> zQKB%UtaOUE^s`9G$n*=y6}7sBoTUHfX zu?_XOB?kpq6eZZn_dKctS6CAxcX-x&2KFZF_wLgny<|%w(X6|)o$C>%dBf5%t zxH>4#)=GbnEz`fEfmgJF(JAuix=3 znHd#YKYEmg2cmG~_#5h$fxC$S3EyNJ>P_&saENFOt;T80Zo1i;GN5)|Qx4Qa*3Q@2 zFUvFb>msHk0;JuEV;9;mNE^BG9IY|e;<iKcB{J!(xvmRr!k|ul{cgt(kjwQV?RstItF=Ko9^^0R#mx=$U@ko$jsB6h=hp z>EekL(*CoeXjPCF>uxu>CD(``rfI+q79WKD^9gZQIh44^(ob@cJCIkLIX8iUP==E> zy-EUhsOd^-YP~F2$Rd~JaH~GSWF@nlNOJ4p`oQ#>1lpzqpKsvmlyTV|)N?>r&^U?Q z-wx`dO2}J5-kpLK%DV%_!Ah{}d%W}wzUwlz_Kg4<8fIR4)xfmH;M{w?;tE=|Fe-f-uub=UIO2fH!C+FS#9=$6< zq^Mxs2ZTJ8F_n0JK6S(C2dYF;4LF&KQ!G>r(GH7^! zemdEU|Ax2&p3c6ERiwVB?Sk|>tH%sKe@S|k#&D?i%rxw#J-~1dRYG2ZP*z)D+Ne_5 zB+&O%FY$zwd4aZOJCHKBSA65qUSbMcXyY6AaqwamR?f*EHH_QR=%Y7xN&K@aFEN%Z zDgWvE&w6|D;q*$E2eeeB>ex~9k)k}N`sE+{-uPwSHRnqkYu>Ju`+2|Z&D|7B^*#Np z9rH%lkMi=o#3`n#^{9`(>-ni3ZEwc9*SZAAw@_(+> zRBrt}qWpG%Pa9ZK{=aw1Ul8TLwafZvb;{o}%70#$`Ooi^zgLw1kS_C&>Xe_!Wcb;- z%lv&hgREqOcY+%N9EH$;Q)Ips}^@~asbu4voTdDj`rTRyuUN%#_PifP3!#Q?g z0j!`q#VYGZ6@m{Pe;0!vf)YQ!MKdgavCqD8j@{`)JdZfqh+EKlJl^<_-!iI+^2MO({^Rv++{T9pT1*W{ixw^h4=UtU+oz?aY*eU z76zeYhhj%EGiNpKAFHNRpQQ1SJ`-|y$Z~5Vr_|f0WlQPE+4iL(PBQcNASe8(K4%?W zGr-#4i{O6OZqQi3FB^v1pgde!uZ-N-c=lcQ&t26w*m@RbIv#6bBd@M7LWb@1v7AWi zqF~ybPf?3>LYkKQ*RAFAsT^67JZ2Yr>F5Aw3 zD5u_K-pqPNno_mM@5TO%cXc9IOuW0g`~|OJ649RUbiemvQ`zbn0RnqiRnSl*?~Obx z4@dr^=mZ1Yf2#mo^ss_oxDk@a-7$vv(K)sfNGp}BI2eAd^1vRDtfnIll~Z*XCtdnB z1SPH(=#VNzVlpy^D&S$5PAc)kzoNyOL_Vb8_-o2=)?I^`Ll?eke9>gzyQ-z?5jv)S zSI2e<{0H6h+N*W3&-E>2#boMxM~_IhPfZt})ToohPU6g~edl`(+Jxve&E@Z8Z)m}j zuNLbUBu(~?U!ao1t>nH-ylbvhUB0*X0tyz7CK+;H$oW~`zR&vJQA>n0>p3d4dTs}N zNqs2v8nzQ=K$?^Q{nK++_NOk`)5jW7dbrUv_A&C{9wCFyW+4maJOfn4WUt?GCHy%` zq1)ZVr8+DOgqsNhv#p_o8yT`YD0pzk8cz1gtb#JDOj=H;Bh#c#RG2z(+)luS>ycZ9 z6L%UIj6k|LnZOAAnT8;}Fm}lKrBg56&u{KgI@+7tV`$3nn(%tTntH4lwUsyXQ*;!3 zgz1nYNZ5CPVe$u>scalq9)5_%ZR*p_Nhx*)0k}rd*hCbS+nPk%f%mxZ><`O z!snFB=_NGr8g;Nkemai}+#@cgg1g+KcF14n9(^@9mFMu6&;^`q3__i>Ec^wfY!S*@0Rl!J;q3PoB)ajaXNi=gnlvG3OEgj^y)1fnH1fS{>)F1-<$=f>{S5j*FYE4h zKlbyNrPpMsFL3~%1?g9y>^=4Lsh*y(ebyP{VUX1eS%q_=^oampTM#TIuVVuaT3Em} z^{xXIK-(PU_KEK#Is75-tSWg81&XHXiF#Dq||% z+OgDqZKaZ(N@Xm?b2^r~qOH_%ol0da#r-;#8rN28aK} zuik)=T^u&)%OQP_g^_U@%0lnP`HA^nVkx=cQ?s7?NU6ne;y@{c@%Mrd|45ka%#0((SZcgobILiK~>qO6j%j@=sR!aHXHZlUWp#U@35& z>q@8EL%&!lx<$soD3O9HoM6wIHi%a}{6!?VTvOYs%GaN#%HHjosuF06lzzC)(F|xf zNz=g}mHtxH^`VmWi3j1d!A(m46Hjdd_iJm;Qp%XDj{5cIl5Oy;14+w@bfM=~I<{YrFK6(kCiCuJnw8aMOFH z@z+DhtcOkRE_v!iy$yLJ!rkJYt%uDK$)_xz91^J>9x8giAAf_u3SXz({RGpkYF^%9 z&V}JUT9ZcNG*+;OHkR_!@l7R{^+~>1<=wH)n>mN9Gd8JhFMhH%+2()d=coNL{?6C! zl*=W+!bNpLd-G+u(u-pmVd30Kbe%t3aUvX{5i z9yZ2%)K8CP`LXdZL?@vHoG_$fW0T8bI2XK`O}WKRka*3XU!C6)E1R!_qLRz~vKMPl ztwJEepHc2dyPLNvBI1C zkN76s$BUJ96J;dB;|rdSZ|d#Mtl$~#>+BcXStw(pSB)EAcaL6YyVqXPYc$RU@4k?u zs$rqL@j})@dH(XqLfHrY^<@^yo753mC`;U0i$=AjwF=tr`9n(mRQFsZ^Hx(o}P&|rx1 zw&SYn9=ms5bsgHb_mlFVXxUX*YNSCFL)3EDvI`rV>}?wzp$P&76aPv4{L;jaQ@c$~ zX5W>qDe0P)Ua{1@QG_tDca-2>S>kfWqT*V#j@@FrlF15L>*Y1v%d^qNuv*M3 zljEro*Fll3oSQV__s?%ZK)ZS)TjGRYAfwNsqA|&(@zq1{9S^CDzj=6N{bz4@*Gyxo zkTO2Ma{ik=E90vUAKQB+UtoO=Ojf>3=;p^4caN{`HGg&g%K59vvzk2fD|;^u$Ej@c z>G^95_}0e0qCvMz7%<40!P=4pZS2-NoTue5_V{#3%aT%^hj{g0mtrusEQ z@U8-RZ-Gi7dbu2KL`o&STpjgt318^tp8?vNdpVt)-#xyj*Zeis$@sg6kLkU*_onby z6pTR?gdQ&T^VjK2xx|S^S{GxLuuIS{TY$Aq-Gjy^UYULyt z^LV<~aHl3-8CT6L8@|4(d_K0$qF6q_FXg4~G231{Ho1}!&;V^C&@1cz^~SV=c{?!z zdku(RM(Vmt%1J#9m=|@YKre;`sMpZ3H_7qb*xrwawQ^yl7iqx8_J))`8cXcPBjxvAq{q>T_X?RJYbGo)aAMJ0b@LBPM8~W^-lzrWP-C2f~!siC@t8W8U@G(J5rh z=Oj(}yfXea0K6SF-Wp04A#N(?zsKPbn;?rzDLfVdn|RG|u_+>qI6)Q>VGv(AKU||q z4WsF09K*z0{ip$tc|SUjrD79>D=O`l_GmPu@~*OBSgE`Y}hn%LZ%B z!7pd{Y9|kWwtm$1`_>Nj(+m9a6?GrC9{#N#I>qqjE|bblJP{1M2_o!Ee%?~;fOpT@GqqP%@F zN>VJjpN>ysivVY!Xwl)~^IaT?hE%%mRIxY-3_l4*Qlr2ZkZD)+-3+&hour2VuEdx6>c;dV^VAZyR zlM&|jA(VDPtAs*)^*_B>P~vrN4`zH+XlXO zcs>?d@3~kJmxMcNA;nP|vE*T~Na>W!T>jB|TWF|iKB-7IGTBijk{p%mS%^v;!;?hC z-E`jTH>T7#k*e>`k;FqJTUl5t;myXu3E6PRcQrj1!;HrCeyI{3klbjBg0;*}H&@2j3<)>W8k3KD zen3{9qKdq>ifqoQ6)s~kY>1QueHBqNMz9xN=H=n^QrZBo;YXUD<<1M_HJnMJ1gZMf zw$kC$pl}L_@H}|6f`WP4*K4>-{y#sXr zPNVqZZu3|7sqDREY;u11jJ!ZF|M_eBjOo1~{6ep(>0iM6JSW1$C0};zP?G8yVJ@#9 z!dIx|3?Qzh!FWRSd`5J_?a3i|qnk!~t^K2f8={1Y6>BTjFXs3YN+o7fsw%mlx@^Jl zGJs`Cy^7S#8pu~cz2Rg7=y)33FElrSnvs9X_NuAd*(DI3p6#V_B; znf|KbD*iYY2Q`GnCI}OzqDW`VIMuj*hQWohqJ_0cCuMZj@B3! zJl;-&zax5`LuS4vqSx8(^_=Kc)0(anjO9J+Y(;|~%t7DL8bkjJBmSlfSiVeyuT-6G zjbV59C=GsV_b3g1-2%&C8vOG-gE49FOhuqTeTS7nXErA}?+86zZ(;mR#vuOq(-1A8 zF2~3WmE_u=j}g&+i$_Pax|k}oYnzOLr)tbiiT=r@ENt<}yEcP0HK`r5Ja&x3cys~%;`maQV&`NDHx};$MiHxPcLP^zQt3H;x-d56`oB?IcXOvt%kH9 zPi0?#7r2^N@f5s2pR@wDO9yN8w40t*>M5qD<$AhaPfzISHJ&mY22O#gdgWx;%Yizl zKyfBv*&B@e+^L%@>Nle!rWrJ8kf@BCc!dSaxgwQuA}ZsXsEjf3%#a6mk*aK$f zR33~~PU1lZs0PAsM)~4dXo(a9w>}&uR?3DexZo%*MH}IQX~~lp45f{n*Fn5`Ta$5b zGWyN*y%lS;V6wewJ|~w4{T}*+s{GB&*Vg_#AfMJCpVst@zk_A*BGXW_^5YCqH+}#m zJxc)fA9#pwE~(u$zIhlzmp8Huv!1u^j9CMneK>PS9+5Gv#Ng@m4fnd@z4Z&wN=~tg zV#y_s0(f4m{Anll29g|>$R&XpU}sBd10(Bw=01Fd2^hTb7=!!_PvJB}*5jJwnMKQ= zoDE;L_0jC2<<(J=7A=3F8BBE(!zNYG`a&v8BXi4^QK_^)mKwU)p+c>qV^>w4Nt$F&l;kKY^u&WB48>DBU`$wWjsx z)|ftL2TcM0!JdyYXgahhIGqMs_iXLox_fIW7anibx^wGJtvj@Kb6a_lMMM2(TWO@BN$48s}2T+7E*%l4tSS8yAFKSnT{qZK%(KAD*P~+slxef zf|1n17T1=!Zo_6OO5R1ulY@KOl5OyR0m51*M6i|Q5#cntl~Z(W`+2=U2|-NjzQM&& zx$M~P=%+HvztZyQFMkM(cQG*&v`dy95Dw~Ntjk;*{E)HJ-oT&e7|`I zzxk-bSo5Ey*H>;>#9yqzS!|LOYFsd{ml#gK!klg#mYIA3y|LN_HP^^Lth+UC!PJj6 zPcE@jVfHT+cE|F64Itt7bJiGVjKhPZD${J0_J3B+%tkSPdeE?Pg8Fm!czZ;f#PD#zLqah zI^C3#=n(zp3ySO#lGov>Xk^VThP8C@Oigk%$N}zD_(16@fe7G%e$hSG@vDDQp(-*D zK3%qy8cSg?ro;EAj$|I=9ik@iflcOWzK!?h!oR8ScKJe~PH2lZEYgr|kWb?3Q%@L& z8~D{~^euV^fZ6=&-<-!N%~7}q5_am9z6v}6We+sy%1!|V`lqdj<_bg@$I1h4 zDGg%ftzLYtP-LKPx6<^$6mF5WYjlqw{Fz8d0MK4C1d2f7*Maiqjj90f}fH#Q-8g!khT88DVH< ze(HEQ$G{04uWgP~P3GEWVkoAfLxr>=C-XW!#SU>%d|u*3RSNtX+ar@ZZH#XEQ6{km zEb(@?L$#2d`6m+)!81t_{g@RtF8tbfalebu6W)Q5ronHx*_z-6T?z?+Vf^YOC~4mj zY|ELKy3uK^bAhszv{H!tI9vs zHRVWu>h}_r)-!pL+OC=Am@3s$NbcyQ&{?JRqOs%~+9}q2=>3y$p``y2ofaD9VJD`V zOTKRRIXV8RVX{=MIJ&u=I=N6Ab`#eEv$jvS7)(!ii9bO2%0G_;?sPiaPwupY6RmWU z(-We6WsLUOu!#n+5oLbr0at(X;32@2e$K&?#I?OS{haNi$(;8H8r31XuU0jUYW;99 zFipMzPEyIq-_dr;XkY)w(wC3<*^s}95i-$zBJQq>umIR2*0%AU9+AH;RscL zTdByK`7Ic`D1@bioiO=cV^_m#e*9nVekY==R{F`6ZTCBU0*w-@*v4UXPVBX>i*k{z zh0L^1aW5O&`;gTF@G+e8_0bGi=Q-VBqoEdXv)4Q6l)ms+Hc3RYkP@4|u^M$~Lq$Zn zxSAwSqK)l-lG_^-cTz+wYv%8wwu@-{c-q$X*;PVr%FXL&2dsu!nnpzsT$wq#NWK@P zD^|2#zhw!#_Ee!pI`&UAbc4zWeI9NSC%?Gd&7gI}DausFU;_7Isfp=)WT8xuv%Iw{{jb6k zTD7Yaz1AlQ7m;S)Ll@$u2|RO%wg42ahgs%I|&>~?%LWfmDVOMCoubBXeY1; zABxM!k*>vXsvua~p-~g`4TXyFOfC$2>R0;1Nf6QP-q8j6BabE1)OYJ(W6`DQ#lLXa_G)yvz;uK0-l1-as*U_3{pl@xOM!aQbjl1SH zO&+2q8>ul}JS@}XhsAutf4WXtAe}i3px&(rp&V*Vd&dQguESbo`DWQE3)(p@QWU9W zNL2(No-IW!dymtjS!|`an*nVqzKB^h6;8ojP95oeXjJLYs1aTA)UWL#Eaf*KaXUd? zLQvIWcl|XKSH!cJpYbXq(AN{}Mc2t6^#3aY;9=oA8ln8}MojY^ z8f+V(*=mV@qPRwN99#<_dcQ^QObjtNrQaRBJB80p7=0JT>bnrwZsdk2)uEFa%-7~T zPSM>;-OyW-{S7Q(YG!MOt8|hB+jGYr9NQwS#?mG%nSvk9)ArDNZGgoKGU7smrrvvr z0!B+r&M`hcnKZ4?6GH~$6FrL}MJPrfWf9Nf-3Wzu>kp8LU@~~A{Htxs7%Di{PiI^T z!Lh&>V^YWREOX^B4RR4_UcX8skQ(>w4miEIF#Nr_Wr3s}BXt^7@czs%boEYnU$ki& z5y$!8b5F)7>_^hw`E|oNd|$%Mu$z1_IJl>~0?po~*u9SjP8r12f*6qE$~^VY&e=ML zG+qyjUT3@4A<^p%?lmuZ6&A?6dX6ir2AGKVajbYW5$~E9QPwP)Y~I>*@2&kDec~99 zUxb&C(a_y-6HBP>C#ud}es;5a1Q7+Z+@svCx4TCAPuCrABN#2wzp^!x8uJp&#oF>Ee~gL7gMC^kDbSTw}0))fCh`@>AE@ zVEE0ILo?INE2=E?imF&C>&TZg=7ZOGxWts51m!jC&vUx?1c5MA$-rk*^td`5F5$Gv zuwGvHu6RN6UQ@iCyVF;PuO=Qpd~k1}JKF_x@``Bi+fQ3&YE|;}u|z{RXP}$Djf1R? z&0YnpWRqbh={L?f}dT#$?O< zUuD>@-PcB{xeVJ&v_v;7{cjjG?wVtN&wM@`49neqH-5`%c0(sOaK4NV)7ZY!d+41( zx|lk-xjMO!3t7oAyoJZg#tKf5=r_E4PcAcL@bZSgf^&Z=+2AtIq+vum{SK(U!{;3G>Vhz-@YvB%0s5=-d4xc) zqLGSAR8qSC*)5(Cjqmz(R9R$KYfPn8<0Ij*-JZcW%AR=YRpV)I4>dTD#^82Srms z_=gS+t~@4caQm(r97Z=72pz*Qu7uyAG{|b;xI*=hhKt%Yi~@vwnB{~JftnfK-KS1* z3P%j9LKOjR-MyltioBxZge=bE;4iX=zeIy2;8{j#;m<@r$#v4;tCR0~i9_f?xVM-c zSVS907yq_eCgD2-qS*GCcE*D^qKO@7=&F^{>7BkK<|q|G#%Du|Td6gb;pCk;OE?)+ z#n-VK8TkPT@|ez2Shy=dVXagpU&y!yF?E>2nQUMuRdD>9UDznKJ>`g$k>nQ)%9Frq=7X7`&u+#3Ud=Z`ojpb|&bab>t@(3IcM+i1#|Cd`F3JB2vRC;Bn597~C40G88M!Bq) zi*-??$l1VCm3+eB8N@axUDu-a>gdKB!A-k}jpCgoWkRy_L+zYIbjjD$I$uwpFIrL;-E-V-(R6MPNV`Q~02FCz=ah`$VGw{*+8P zpI9RCEBEq;I zrU*+{+|RP%XTF7!6;1a>2eIN7A}8m7K16b!HpTM?Ov+>{dICzqmj?fMn&|5J6-oI1r1K21`b`1N}vG z&SSE8h?>EZs_cj0G32*yJHw1pQX>ZMi)@;Dn{$TF2BMRRDN zT-baG4Cc(QZ)p0zj(h8yn*N`c0AKs*ACi=r{=G3Dn+i_;ZKvsf)k)Fx{~Ni# zvFYFVz5ihPzoN|Trhkd->#sfikL66EubTchkNAq|KaQ=*Tb%w&hj*O*Kaf}O%clR% zdoukmzV$zx{;S4zIsFH1|DR6(0i7W31H|p8fBbv@`Sjm!(EoP&k00OV^uGnCxu$;$ z#*bSSajPLpPZ#%Bp?_!k&uIO3r~huYQ@u^iTfC>P1#;?L)~}t|9%Vq3Jlhx;0u7jM8sz=5Iing7*0~-s zykcC~0NW*xJY>pe-?<*hsYBJtcfu8HHOMhK-uod&M=4I8oVcVHl~zPrTzgWEu{|Y` z)9dDKwMWA(xQClnRUxd>T}*eIioIkLB1dg1=vI`+qA@($vG=2Mw9*$^|0}K3=^kxb zX`4ohZ*P1F8Yz~xPd9s8#Ay7z|0fu&@7adYV^Hs! z3fAA2#b_%uY#43e+=8#v@xKX-engm@!)WbZ?XmgS;w@v7IP=J|>3Bf-85PVzY>(N{ zw&trw+Ti3}v#!P7XE`-B{x7t~R=!BBR8EyNH#j9#L%6NjLPjyeR{Z~XI}`XQtLyJ4 zKp-yg1Z$MmEojuBqCrHVh$bvL0~5u%;htKhSQlbV6zf7TGn!!-i!D~$(toMiy0+p{ z#HBVUn@bg?C~8&QpT|_e4XE3^-`}~V+;cD6O-$r& z(-AwE$TOm|0wyBmpgSf~t#qoEc-K7>x$a=cM3h5JBq~ua#sCwk4w;Br&~R$(-I>`V zCZaqM6S40w5px3xUJHjhDI99Oe#4=vzYXELQ77YR=3T9bGz0~K$Ug;i3X#0 z71F!9EMQn6bF;!#XV0CetT8##)XJr-;l()#b4l`*e z4GyQgbNESQEBQ7AMGhG2%_SZYSJWsJC`4)3?@1$gWS4l%HT|#xAP2sZ)uBV zl%wv$*c-pJ%v-R+6e8x9LyQgn=o7n<65-3;Dv7(E(p5?v#d!V;DN$?nS15_+?kOqp z2E$Hs6I({-YFj=WQ;0tLqwF~nz|_z z9iadrt%b@CitBY#PNy0cd-_I@=dHo zx4-(W`NU^TutGnZVlQjaw!*^Be4>|<#3xqL$(bdCuib=C{2=c5!~o+H{{#zUqHLyW zAv9LouP_?r-TMlxNA6x>v3snmaD_7e@k!lq1;NcObadf_)RcCkML84gH#8;fb9`4W z(JVUeqD#)4+sTrYd?9a0g54JwlCDtMuiz1NyZ5sC=Lrn5eZ{mJ@+faO7d5~s#5(l| zs~|>#(OI{wqH&k5bhZoJQ;;Q?OgF6J@$Fz0J7qhw3Ohu{A9HZevkF-Fm$8bU9l$0U zJ%m@>TF5Kz)Mm%8jaN83n0TRhg-EhnUNL{?u4A}^A?L5DrKrEdad|B>e<^pOc#Z5b zHTnaqP`s}^tI#E^k8CdK&0D2>V?ashXw=Sq0q`ZkEv*e>)Ck;5Ml%l4WFyWg{FO zTUoDBb!TxB-*^l`&>3JQDv47_nq<)f&m!3q@{>5_j-;Qfz4ma^_H>?e<@1KIhjl!U z;fC5f!S{%Bk$>4T+G?{^Motku&AG!dQs+rpV2u0$wH1oP0-?ksTR!Mgv%MFJ!~Z8{ z3$iGuN^18bk`aTYeB_LNq(*wF1usc7n`^mbFI0Wpla8`F>S@6(lo{{;>)4mRl1+%wShpyKn?gIWLV-cdmxzuHkDjF<>RlPT2S>6fAmw~-Oqf(2+zi2%LEDg|4@_jUYg z%2w!?DJufRcbV6XaLlj&^o<;Dy-CZKWy9S+=V-|F73KcsBfW0r|8S(ke(^sY>G_{% zq|PCu%5OaiHX5PGV<$VEWDTR1jv-(OmNm?GWW6!10N4qJ^`y(9a@8|J(r=6p7eD^Izb)39!in&M{zT zPa;;yQ_o4dahu!s!eH&?T7ek;QD&fKx5j?w8fTD>(yDj-+|-3wdS5}`c%`V(Nd}4Z z0qjiTDD38sXJlx%YiaB&v=8}*yzzQ|xAGR6*91?4BwB{|VuKJFc_J_J_E)g`uiVO1RWcHp#*Fi11MdmCE>@1Q=osx@9;V&P-qG&m2LDg5 zzn(W1>Bv#uyfIiky@`_fo~j!4bSOQQdUt;>;e=bk+1gxNxV3qMxbs(O@CH&^i8S~& z`YZSffd21J=w5?YAyG}Wrij8S6pUEswyc^pUrdQ)qtHihjU|cYe1dOy?cam~K@*PO z4r^?(SOT?zL`$GsZwhQTUh5@t)C`xvb9v5{|88%Vz{xz?s;7l+fEL%$S}OsHfVIg& zcLrq&7dn@zW1%x^1Phe`#_T?KXi5O3a;jvjeg}=MtO=ge_yLyk`fcxatW|%uwW^!t zKhKCpAMe(x&jcDkXc8|2sQ(sRW}7Gehg|07S^rxubMrf$xXj0g6>ynR$ctZ>%S7DR znZvx++=>tz@V-yIuNT?YGkbv%uk&VNtk9GR6MEW&>1BnzL>reKPO258+w3sA{tc7V zF{W5pUcoG@mt|qe2}iR|9!7G%{lN0{VEN zE>9nq;E3ty!%!6Z5aLDj;n38vF2ixJ^$>YFhxGA%o;e?^cK6{i5+CF;c#~nAa~Uks z&}7!um@G%g(J;J!S(oq{_pC2dXK2yVTh@MllAkz?(fg2mqo8G{YKCe zMxhRypb934#T3d>v%_~2kRZubQ%01-4971`$_4&jq`rID&xmig6MGMzx>IxUG@$x_~ zWZC~aY<+xp!&XHFY6$K%C-#D+LG657m;l)6GXU(-oAmtK))?V(RlEz7)$It%woI?z zO;F~sU{CUxQ#jFI3dA3*;E#VOufYtPfbx4b-wh!WL*IJ;dnC7?jXUS{9cjIlc3eT( zEtC)|Nci|<5)Po$*;Z!Fmpo1n==D{PNax zzIZsd1S{b*!L#~&C2LJ^9dc4|DxyU2u+koMMS@qzMNxdtz0_kWu|j{&bE$!%OYl|k zWUi!QE(c#a&0T->MH11myCO?6oAWdgw;aLszPtLr=qNK$3uD*avt3jM8j$3J#jtTZ z+eY4r9;znUGW>}jy^#z07N&g83Ke|9K>eYv`rrlESsTg{o`XmA=WLf6Jma9Jv#5&% zxTX4YhD!`C1vrdTAI}h+&e5O#E-}!SD<6ZIVdg_gZ=XhrdZ%?5&B-^&)|Fe{$UL_2~yRJMmK&eZ9h=S5ZI2F0`GGFn6N5R zwp2<_ea=M8zR&~g#a$fa1x3I4b>v5yt@584S0E#O7m3--DgNi@(}hh3f#uqt^QaBt zU*xbZb{#~czSsBY!Fw4RWXP|mGZ@d7*IHf6aF0yqJQBajyjw{ zoS>N>LA@4}kA4bA-@cg2OZ}b0=D<-ysjm2T*Ukkv+MC+I(RZ7^9IvOV3^+Qm6OOKe zo`eNbjQrc)2S*<+OgVlmJyl3T|L3lHb#k2R_ zAJ|3U#3?cDq3= zSZ0Ix{Jbw1#IN+d#(#2Qjp85a%Zt z#3f9Ee?nC6TYi7lTk6NdPJ`H{=58|oI~5@IU@8J<$~($*i)VjQnN1M;Q=xf;*eh{< z4BjqGnNdq8R}1ME{1lwg-9TVO(32GX-Vy#Pkc{3_?pGD6-~RjJ=D#ME8%pyNHJlZ16c`d} z{5uYEY-Ejq`(cdZYB;>ldg%3>|IAdRxSg6wFY0uE=Cx30Ed381w}=V)>_tr~xD0j# zQD)}Y=)Ba?cq+uQqf77T;Vozy(eimuFLjfWGMwkWutK&a)sV>GfR^D($jqVmkFe&_ zO$!clFf9>p<$`!3^Fxb*GEbf1pKcMGBE%&qdddBZ-JWl&KA_&u<`>E#Q|JrLo~nd% zgcY~JQK#6xSJ4l=Lu5D7dD2sV1}{jzoGU*Lnvu3zt)b~$MhhA5tss}SSzc8g6ZHul z!mU&LcJ$E7yBjYwZU9q03i|)e5W_W_yEvQ2GJPLmK%b5m8||Amm5+H0~; z7W+Uxq*ADtlbK!7DaDP`)WHgYU13-RAusuc)>`aAPRr=b!&brem+E%lUvpF@$nJWYk&7_|h`B~1) ztukQAkfBYFGX0Ws9s|*)hnR?ZQlXxLLT!3CcqM2?B`qg`B5txAbDe2~5~2bEMR=(* zRfI-;Wx(7$k6(Xp(+mkPpj<@1;D@Z&U`p2}_9Q&BI0aN}C_iJdsIwqSL@aZhQBDOF z>z}CBDyM&{5Bj-ik)t0oor11ndR7_qGeG?zZKK+xcy!(>Kih`Kik0RL`ww|XqW2Va zU9I>(dbAI74YAs-_o?fFLzE@`l3zZ=te z)95gzgkbvDzWeNiZiE$6Po($a=GuoV6c|Faf}pCxOHQRyMB4m7fA&bHf&PUy^qE0c zS8I?UX*kGbe6m0)b}1}3&y_a0_OiXsR`VQ7;sU;<9P%k~dpzEl<#L)}e`Y_e`bE)I zfH_ZB0bY>;y<@BoEaZ>{_M-?=$Lj+;(wt5VG;U>afD5*VHloNH^BI~&*5I5qXMv9< zbbqI_z+=A~LjN})-7*(mBb?&s9C_g($S=Jje2R#}j`(uKB*&zT0+5#B_9j_ialx zGq*WTVI1r=3XH8djrikD;!mpAKcDu4ePyP~4m)+@uEw~mFMmFRj#2w0wMy&N{08r1 zxU!S^MP`qi>-q-oRb5_L4d?A+7MZ$;++wG0;5Ai2Ps7wk_H;Nz>pbVy$z90?Q4Dd+ zGFG79W*g@$H(uUb!ye4mFKr3x>e03K9y0eU-;&(t4l=6ST5?1<^vKbQP(n3%gA$q` z7CKGHaJ$e`8SCRC7B`+BdK4`WySSVnS$6Is;^#PNJtgGRagC z)9g1R?{>FViTao;ucu@zN3X(oRf&ZjgU@GH<5snW(8-nI62PI1KrEGq^b z*{`dvmfK-9NKw#%h}3d-gs+|j-m@~cDQ8t!f*|D8I)hxJ2G*z)Kt^wIoLysFq1lLL zNB!kp(*c8*zp3n1%5K?IyG@?+JyG#yuvx>JN4nnU^BbHO!fBl{Q}@QOP*M1<^-+b& zcvt1NHd44k?-5O$Iux2X-hy>GNmNmkH#`$t^zOliQd+}W|3FPPns8|KUUDFn%q;oW zROUECz%76Cf#I363ze5!BDgLGe6F#!MG8bVFU^%t_znf&Z|aNwg*X_7fuWODfKJ-t zP6b-r73W;?fSWGF5skP&f^TW-FQE9=7LuUqWqg8z|Gw@&2RM2WSr{y^S>5b(_uz>v z=lH9pm-vHmSn>cgHao(j7v-4S6KEf;!E-E_vd#LkU32%(hu?o&0B>`4T^M z4535N#4|rVD3(61Gsx#_#d$02}9V1>_c+xCAQIkvH!$e6_9BJFINyF zKDeH&dL5AO?{KAL%PWh7zYmxw<^NGxr&(5*r7%j!BBZMl895BX3Ss=k1`{rFYj~;o zt1b3zl<-fcQ+c_Yk`0zQBt)uh*1(~1hl8MV_+9m=*&^cx5u`#0sS=r@XJp3xgflgDco^Ih?@zY{3AnB9ngngGlfQdMxCIp@4-K zfF!J3UX|9c{)Z1FE(T=2EynrM*2Bw!MTX}VpLU*r9t?+(W%cv~`$7aM2>JCl=%dUr zw)4|b`s;Ihvma3~cvLk1SECa8@RnaR8E){Q5>3c)A$7$B{9nC_k!S{A{O#zn+XmBT z*wLm7S`eGJ-J<7$p*M)8ItEk)*z)!Um#f-Qc>w58fvA++VesyB-heu3`dAC0aKuWzUj#YORP~h@Q+*42Qa@|xiHd9wLI&;*p zPwR$oUG_t<^osa~SM)$NL!OE)TC{C!#(O#Hj}fYM1Iiz{p0a0RqO6P!c{sL`PzHEf z`y=Wy1ehh~Wbd4|$zFZi`(8sEFAd8%LBx#`vz+JOz;>>KpStx<1cm2v_Qpk%$9m7M z8J8mRb{x$@@_?SPH)K(8KaSsHy?cPM zx8SH@x!_m4d#N{>M{Iy~Aj_jc3rUA%62sOp1LK*AjX*yRg}Iq<)4<#?6Ls0c&=HO< zN-#a#P>>k1I=11}PIDD+`A>iEvhmbdmwrBxJ*h0-vS?jA^BqdW5f~CfR;WZ_o$;23 z$@HJH3swc+p;#ibZ#;8IDd7VMy&W4_asXiUQWrolwVB>I;Crk<0TxdK_hAHx*233j z0aHkB*e>SeXa6QS#ncM9QZK1dg+&;PO+>N`h@J6>L&tC=jul2@K@?kBi9F<&Mp&n8wrWb&b66dTm!L^ z$d@&<~GQt@wxJvK5o3J_sKrlTia$pX;8#Z^&yNe8_#UXZCbSoQ`UNk z@K(0AMjqs&5$uUV!zP1;&*aL&-jW5(;u~^mTVdDxr!V9BF>thMJy6GKBaKRTu+6FRWu+3;Cda)0C`-y{GfM;CA%Az^dqVy1Mk-fOByPu ztyZ-;EIGtI3QH!qM`6iC_h?vh6we`+zzrf4Y1Vv$7Ong`6v;1v7jp!3pEe1I{P(Kl z($e5;^i<{`_=BL4EpI61jMM8A5qR!aSF>X)bCbsoTvMA~9IcAbwp&od%iW4G)vXv_ zYB^S!$=>-OMdOOekZ`Ka8o{5t_%RHhM#8~)WRh6lrjD}imib$-Z>5y{%FrP@1S5=W z>Dq~?f$5jwk6an#u90k<+NY>xB&ybW#>sh~Dj3^b9&6Vx#ZW7U9LMr91k}zn*m`u? z@06M?eB=SCGIMXk*x%Q>3#(EzvEY>U)`yRUZ*bS-MzG z?y6KS`>i2BP~#MrmQ?+dHIY@=^lbLOkP-b)e~7a&`*xL2Xubu28^_vXEHjP6b8d24{v>7}a&Y=z zDv6;B8+Y?{%e3A&6w7hYR=nTxT8Ps#P&mh7!F@WIN0VYg3&|_qqbW+=%1hwEgc9j? z7-GouB95mj5d~lM-@paYOzmc0-(LgLC;!h6I=`v)BW&R?&d7`(S@U=t$!iQ~)3=NvNVfI7V! zUPv{;7C=q1^)!q4^#F2?)gUjz%NKQK@1p5&cp*CUQG;F3L8BSKXi9^v%v5}oKsg$_ z3yQky$LKP8Funq;bYx`cDXNL3zYj@`F6Ga7WY5vq-$(5+bSK8t_xsQ8%Fa#62@L(g zJvHFtMC5nUqnRbYA~JVKFnUv|HZzwn`-TD`jAZfoLKqc_ zKfUGYSxO@hmZ_z)ROM6Z5+*7mRz!vQdQTry4P$Z?O&1S=>-LVN&mo?``EZWI1_Vc8 z(*RE{{}?>EZ#>n^RI%)TITQ1S*i6h{WiyecayJuC5)ia~Pujau?Tx3s_8khwal?Kj zY{};<^m$J{dt0=hjGo-i6>&~m_fLErsCFX^eE3O~+dDIRfYJ6-_o4LvNdVdn49M5; z{YLoB%}VxMa&Vb}3KPNx|1KU*y=QNxjg2nbdsRO645tKUSEwkMbSi z-xH=~3fILCaIR<{M)B@?zdyZqqRcdfG7@)_kb?-bJzvB}w*JHGxLnk9_P22Q`YKd* z=^1$)J(lThfdEs-va)q3?AJhod4)YK#A8Xv%8u5)JIEBzoCE?9HgaUi?ilsF)RqVh znVwQtwl{9!wDjc$EGNk-`remo>2y6;zV364!5FsmdWV@Oaur4L7B&ryEz1F64K)|2 z>F0bcH9hF6rhkT-Zl1a=pP{BdsWG>FhMIo4k=)jmV>6qhsqgVW(A48l+qLw$J54>2 zDf!u_jC$ZoBXPLc*06^TU47#?iRl*rVdHHL>KsaY8`WvW)q>6kCyFJ~Z%BV%reJ~t zS4e-iB{)84vBZD0_;ohTjg@{Zb09+g+jZ%swK;A~U8eU*|9}$ z^^Enr1TOD(eT)?o1Rd#N8alkQw{)Y!&!)$l>hS5F!HcHCe^%yQ@zW5{iJ?8vT z$^TZXMuu7N?%7<*{2saBJn7l2pwgJZy)6Knm(u=ws4JV??HTAO2-iUHNk% zw){{KCyUfY815JA$ng!QAs`hh$;#iYmfWEsZz&D=DU*^TO*grOX1_#BW*1idD$su8 ztgCKz=7+Nr?}-pxhZA)?JzY_XP4Arnti04t%3?rVu(@m>Ll{_s_ro)ZJ!Jow0Dga& z{i6z!WSepFuLTC)*K(o(&gf!AgtjVqRB)vp6%W0>bn<9d=iK0=M_pYBl_*K_Vs z8rMti(KN1Cd1g&SFK4wdmG!IDF8_DiV*9>F(wT9~31DpB|Ij@z`42Fb7LGc+W6;CH zXAOG$@L7W{3ZHGzuN4k@Jz?TQV?_IgaL{kT2lICqbPPGXt>AS5&|MPyhH=oL1$mq!;F`qz2%d&ji3Xf>Sqz)ljLIoF3Lx8rAgE z`;d%2T8FM%PK~wML#51btW7VAr~lot_QQ)hGGVx8PR8{o_bACV{hnrM9G0+}WUXOR&C$+Ke+1CDO0eWlo1?dsRj%nHixL zxan^?JXe1IhYrtElc?ZJj8M+b(=2;KWap9b!Gxp@?^P8Ar}OqTEKx7q-C0%HO4Fm= zURk&|6BKM|yr?VhHL=ZWJx?AdW`*)n@*y-!)CFq)ID0D?ub27*h-c$n3jV;snhwg9 zKlVX5-gi5VSJwX#XJX5HTCx_>ZeB0+QbMYrUHI_ThPF@d>O8!^77XvQf$Ds=ylgGv z_2UO2?ca`YAj@EIjJ_1ub;g)JUcR?-UZe*AV|Ka&Sm>1dURF29-OzS>NU0Rym8;&zOo;z&-(vu>?_%EU92j9n&_-5Pq0HP z0S~JRZfUXfmX!)8(#*7*7ZSg)-LGR=N%pjD_^+eBK}$HCp~9WxRJfy^s{io6f%k?3 zf%o%RUYx~bfK~c6O$NJCPl55?ON|5vFaSP{X!EFy_>0Vlf1h@PJB;|j2G@L}nx97V zSV6jyJex4F^f$Akl>erS9py9(HF-OVzyY2r$|TzxtFA zbG_uB+|+by=P(ZT->SgB+u2m$KQA>E_=)yN1vau94vjm#x0QbQx9!TTRd!ChR%vCV z%`ACkLY{J-SsMxk%LRdK->q`rgIVC?TT?n%NSE!K{N1LM^9_s^pFM!i+{{{3(7nFu zN=glGVzKyvQpGQ!0W5qha6Dkr;c_~p*5F_&!f*cHa7W$w?q=bZlOq0cDa6t3448)a z-_F2x18oNOTw*iO>+NU;#*bn+3xL+lk}JmNA$#$=A!M@-jtf8Q3fVp8{#TH_{(d04 zO&+pkn)thR!OXC?1GObwr-U6~(WwA(8Z?5p@bs*GZs9W~5v>owlj^5@FE;owRehx@ z93_4`!+mkk-b>#y`ZkbnT3Cz}Qj16y5%`-ICZD6^pDXzTpp?&jEXnN``7alyt;D+0 zKFoitBdx)I`PAM;?MM3eglR|v%hea#7x>_xc zD_HI658~-hBc(Y~qIHK$B6DdO6ftAPj>h>XhF2e^iR1UN--s85khNZ%sZ1U{1l@Ar4v`!p_m+{zB{@I_P}N>=FQrtqc8{Oh#^q9tcO zsqx&CiS$Kf6SBRg*Lr2WI8r@!DNBU;QH{m3$KBVO?Yq1KAnFD7TLI)pavAOhAa2CX z*6MAxSrB6*sX7maj`1>8n}_Ky7AIl97Im@%P$f{BODO+u#@n)8v3*7tpA)6}qN| zJqNaV^i)wNr%@dRsScsY_1O2l31($a1|4?2oyW=cZ*Om>q&fz~FWOkt$Q@=QYjgi( zTWbJNY(na1e{lx6v2_T^3j7t+SdAJZN;q)%@~*Tmz%G5&o6z!ySl!*hcbj6wY&Pt3 z&_`WORX6o zW`t<nLs&nK5E;l+$^EciGEmv{l6d9{8;u-~=9-r0C0}-3 zv)!Y2hdiA#sUv2VgG$bZ#9aiL^ocx=OVY`6cu9c9-o=aTqm4b%JrkKTfZ;n{@^%tyX-H<%H?;+pIipH` z_sJWTTj`BGxz0A08TK?s|6-Z)mHcE%UgU4fMp}3XVVRFhcxN1dCRbh?grIk=54+bD zyw3_Qjtc(96}-(AM03rRmqrCASht7Ga|Qok1#gWC{?rPV{E`WFceM_3xi3>qnPC@^ zZV<&i=pJSQh12k0b8SC#a{9Td+1r=s@c5_e!8$03QMYfp3S z3m6^C$n!z>Fq>6Vp?3#Cl@ngA;=ax_am!ky9%H<@@_W?i)}~UY;&HpnjKxB;0{S=B zaQSPH?Q6B(g0YojWMsX|uG|=QunyQ{%4_(^l#J)EP3Z%M2E+E{J)S`WtabRTa|Nwx zHyIb&h0BV=M=y1*t8uWaac`?}cvRy>uEvU}#WO&Xc8--Mr#rn;7+V}75xjDcKvt|0E7tMGD=rl7Ex?X&)!7uDlO(7tau-&Y{RFa2@N?Y98iAqnR(GE38n!p(Ef~|my^>!YgmKFVU>QuXscpe{>L5N^$JjSc}QJS&IEQkI`@Nd4S zH-KXQggx6*d}+?o)ZpHzk426BG(=U9D{p(5mNLTz>4;XQd=GvyCHwIgtZZbPZBzx% z{%;S^5tm_G^Bggp6>jEgy*W$04u$lFpIqfR$*TMHRur) zddrp^V&Zwy?REmGDu|R=xorFn{yv|yowSZuIazGv7b7FxUN)wq!N$u}rm5 z^odk%UA+Y)Q>c~Xe#~pIRw$Ppb^bOC^4$Fi=sVQfAN5Bi)GMLUCETrq!<8`CCG-?r z4pPEkgnsJSN(qCNaI{MpsD$m6pg?5gs8+%jN_g24v^Fy7wxf&BhX&+tdG`8TIPc}^ z8~BFI;5bRJkJ)!l)ROwLKYAj1R!;_!DG&1*1`Cft&-cADF-d&8K<0QEe`+hd?;KH$ z|0bXW3u{Y*T+|DH{o$swfo;j(e#_cAD343Jyw>Ygx8}MJ=T&*mmGAo!(>p8QWJ^br z7k%p{d$KfK?oi50{Y=miA}xQBmd?@}9ni`jON)${ZwXLf?v2WDBJXlHnI+9tOE%q3 zO}7`~2qcw7F%pr2B0*=Sd}1-~rgDv?nQe0qAsB2MeT!v|7*I3w+`+MBwH3e@0M9al zl|QtRJG*`&clm*8J!*A+$(hOL%B)gfF)@#=Bbkc<-@fk zc~7Yjpr^4VFZm{G;>?m+3UFU|sp~~z77Q_2zjdB1fqX)`MEW3Sagsg-Qu@2!g^v!P z3OP{nU$)HZCU8CpadAxZ4Hj-C(id_``2$vUk(WHfdiQ|QX|81=As=i+()2e)r#@trl+Q>CJFr%Ow$3D-bat|mlM8#g_He^89n0B0{Mm4arLkm+X5Y(#ZGg>mvG&R*m zkHJYMwS*dYhKsthZn4uv1ap(G=hi!|5cH^4^I5lm0$8C6_g_SyKz9B+no2t@v&9OICj4>?g>k`9eqjiQ z3Xv;6<~aaxnchX)`q$inHT0vTcR$S2SamrxT&BfJ&N=E{nLptO4vTDM&-VcbzC7V? z`?Rh}1^+vVDenAK|Iy$OqhOE8PLP36cnGFP4`9kIuo*b@))nB?zWahx|0xr|Mm?j1 zfl4reDLZP363UeDtmP0^ychQvgt}l%;8kAR&rg>ID`XM2q$f!VDMUtSb%}pP)i{#|F94AlypN=s-PesrZ-jZv8$U^Zo8(#s2M~DrI zC1hvf3^S-c5mW~Sr@De6mMdb7dH#rY!%NI|epW(m{)$7avKN*5tH_0O5?r4ZZhU&nb@3d*&CVM@sFRN* z?EG;Q12|m0l&}1|{y3tfNuNoz)p%Dg38rvE@ywEI_sh?I7M!x#|C?IP_I>27uCxE} z?QZr9U3}L*;vE|~|G8xw>gw?S^S*Oz)l$6w{CoaLARX@CeuWzXI+3VRW_Ox|=B&ni zc|+djkHKCVT*4*fGfUPGBRlk3T&1bkD*ZET7cuV9&6f1Dt~-{mO#rd{^Y_@4<-_mS z{-uE5iys8m!B7HG;H(0{yY*qhO$&b{qTR!DuKef!1Q%}Oab`)PqffO_pZcj!*}j*& z*%g)-(5{H+8&Oj5f4WxMv1qgb{|9%5LPxmYLu>@&HI0n|UguSnbr^Xzlw~DvB+_TF zzML_@klufGFxc`7Q}aw-f$h2=DO7~eVBw>Bgrf)HkPl$z@2NWoJrje8V&n+q*8=TC z`uidR$>@pnAl?0}WhO2^4S1$}V{gfArbsx_)P77Z$DD16snDv=8rQ4R>pxLlj!9ss zk)^`;NeA&4u!SvFMr^@reP3KBT5aF3-oPG$r=1b)I90_ZUiA|x^fsmUD zYQdudQzWf9?Q$b^=gLogN~~sBM(0T~<+J$7l>CanX7jkzgt}pu@{Y{|`*N=QXJSq2 zQF^KW%=2&MLYSnf?CZb;D1~r|3sJq+A?lb04|?v(Gm0ntk4^>K+RWxTX94h@;B&}R zPYMCobd>SbyZO={XFM-#X5;x6Kbev@`D^3(yM(dKuqSwDJfVVn)2faU^~#SZxi_R@ zeGJd5^by;pZ%0_;+hlrR11w4Rh-bEmjQf)5i5XD?dde*Ood2hfH={Xp5r3~eLDjc# zN0BPB3n(c2hBT3Fc{a`U;}r~fGv1VAdm$-i4&^B0IrxxuSRaO3r0hQSVRxQ`49wC( ziVh~nkhb7Bei-3goe9d6|Bjzb$&LKA;h$vFS^jh0!=in_RSXEndT%d4v{`Sph=P}q^!MX9?eb`%kL`K+6fbnIMoVQG|W|=@7S*LdX z2UGH6W2G^}1v+FwF*{f*0G908A!j0e1{Vkg#Bf8U z0}ef{lUSD5JRA=W{sXK#7RBHXfoQuoCqhb{m0u_8BAayRyPcQQ>KP$78+liALVJmq zdV#Wn-NY^mD2&Z5GO@@;9i)_%6=t4cVpqaQunpMC7k~P@q7IB4u!eR@Xt8DwVOu?O z@}L9@#>|rI_RLEU*FXh^EdOUX+IQtkU03RHmu$MpJ+<%dJC_$B`4BkiOYKGbv1-jM z*|(#;-J|w?=-T_yChe`dc+>U@q^z(xq{v!uth0$K__KgxsBrA4Jnr1(mRK1>y3$Q7 z>(oZ1_Rcb!zYKZ6c!*X-=Y`0PU*)te5oKSi;c7S0pNHS zNN0KmzeX#VS#nZGi$923yvVh9<-fYN*c!I@rQ#lhR%_fPcnxHqS@H>i;zJ>K-Q(ey z_HZriwMh%Red(Bjtt0?sM-}zJo_c=;_SAFDoo$q-gjr0H}~LD~yS`@ha<%ak^gw3#Jk z9YZZ~Lv0*EbK_p<3dnmd+>|<|_WkvaAvFf0z=ncmPos&MC3o(g2jq<)k0FN%irK!e zJ>Rv3qq}Y4fP4#s4Bt-asPd?&%K1ipeP?e{Wsh#Fe0_(g({XhgIE3LyZZE>gg~(x} z_RX;&*LNo-=NHUY!LYK*ab!Wl#Yz}mkZ`6Fh7=?muY`(%gt!t4U1^4sp#Av8ViPr; zwPh5sVy7)*3;yl0DgqM*XVGJF2dms~`++u>R=zty^K?peue?vNFG#Q!tQG0CX)luw zhmzhtP!;BdZNd{pX3>w9I6ncpE2(gsff$8O^$+`=V$RwSBDLiVk&ILNo!T-<2^5+b z=wJr9LvCZoG(v7OnJ<`IW6WE%oTFUch-LbJ#or+4OI1`5JRMb}k$bKGR_RC! zd6^dzsDGqto^m-OEj=f_Yne;a*ye!+996rCAOAIdyEV*Dh#y#wym4ty0e_jc0OVLd(sml zhfP~vRn&-VuH6J>=rFfjN(MFNq*hZ)e6<^D&Hu7K9!DlSo@YJl4qFbe_VZr~Og%eT z1K}pOR2H>O5L8S(J^0i<-bQ34x8bqNu)de_y?r14 z2*wb?mzj-zK>=-^Z|+d=ml$yr1m~ik5D<9Dw#1V0b{g9y9`HiUvAD&@(;H%DAp;!E zOKXQ?Lu%_CQ#4@Ht+9}@IrCj*eVlk0EJ5sif@-<)YoH0^U-$AgmPVqBXHH>%q zqQbMo!c&BI6t<&U6rRSr{^100R^?tb&7bvXD&cwRSn~=Pe4u+hbX@D$%H2phbPU}; z3)`7?!dEalV&6!oq^5OYP2;=;I`V@qSY|#nzr>uv!7p4S2TZQ@&KX-dh#aR?a%CA# zlbK?3JSn!E7n4&xV8@p0*a1^0P%6q7R~=Hnww31b%No!9L_CabCDJXwlf6rmm5QD= zw)KX}zwv9XEiaob&c)4&WhR!!&UkE!6o_Ji*0=yUwWaTP3u;C)y4}(Lb}L@!Gp2i| z@h9eu15356=I1$DW!4f0)75WP#2}t! z6DEi3YEE&W-)cq%#Lo1Gw{JOlHg3nuy`+@ox)F{0 ztZrJ%X^(wYC^}G6|5(ODL>{>X0zba~tJ(?d`I3dznJQZQw~a4eyjEdig}`m%Wp21u~Y#ryrjh|_7?Q2O5&yPFd(Qb_7=3o1`#SwrL*JK zB?kKAS`Vxm*LrbLSuB@y;S&`JAWb$uw&6vgWpzBAs9L9|N!a~2Y8kazRzzdmU9{(< z$yA0i|BRu%I;NS;TS@v8z0??4Q!{hzf=tDJF)ZLyl{tk~J}g(PrMN5*0!hS^Y%pwL zjk@rnTB0F&$wef@sXztIPi^yb&*)ufG)({>dACIx^^#A8$R_?aKE1s&u)9nerYKe2 zo+qRo>5de6NmXHvR^xDb2!5hBTcW(wg&4ttesbt&`GiBES_$JrN5+Sa-EN}-U`4@` zf;M#2ao#;WVUb5|hx3Fs;h~8(^6R3(*Qr+yn|XgtorHZHG)@c*VuTJds4sVb9ueEv zR8RZ~;En^RXgnsu!5L*z0_v$|1gL)4YDwjRyI|2ubLCIB;S}m|I7+V?qDqnAGD_E0 zNg>BD)QZ9=DxeG94bEVwb(yi-t%EplJ!60hJrxm2G}0KMrxMvQiX#;p@^L{NDags? zAw#@nBax@(3z+xHyQ6rei?s4kSz=&&paZOS*fSvJIHm+vFd%MDv4VVNTA8*{v7ETD zrLrZ%({hc-k&-v_$GBG8w6FnBDb^vKT&%sjSR26uNHAj5(kOq%)IG`zvIs2%9Gh{_ zxs43|PFM9NajtoJvk9v-tlWRLA}sAKBjD7Y3WiQ4%W6x>q5#Z2LyW@B1P9Esikh}` z0o=W$IeEd;I7OiCo2KpXLEP{l$nGL%J+I26p8lPgVg{@EYz(t8Y#9=9XF@q7X=`B& z145}q_Xer7Sp|R8=z)%x635plG{lH5#tnJh$uo5$-fZkQK6Bt}@!Vqn_vMJ)?}&X# z8YpUXdv3?wXQ2n0>{8`c()|lw{8ab8da3>KNX3Ova!`Q_VJw4l&3{Zs4I>1kU-Ex> zdvBY{HY%_{)BG}(?sitMY;L%HJ=gfUp|2Rdq9Kbjd2lEVD7XjRNs%J;Vo0p7hTfLF z%9Zy9Fb|;lP^ONCq#c##4YTRPG z(v@bj?7~tN`mZ|lZ|01G*5^{WEVKOKc(2Z`v9|B7lu%;6U}`(WT5Y`RyI*{puC%z# z#ruyc0&g7tvnji3(CoqShiWIVNnZUcZpe zJS+ITe-$StRC^8STJU1}O}`TxxI}UPHjN@6G_R*D(+AfQ__X--+J{#s3$S=u;J45mOKqx^c{A3q z3h3VVGZqe~;Y6`tm;Sd*n5j9SYmg+ZHhYK;o~~o@X_^IM<-1by!+y4oBKvr$gF!!& zObB(YlUhjph;fos2EJoxso?~B!8y5q;o5OY0vBE=zd3-uQALFjQB!*?{ zh$FE8Md}A(HbKv_5kx=qWC}M1XE_8`$qlPx*#prYRr*d!tNwb`502D0HlMWcwg%H` zQrwL8luV+~7{;8qXOwqXf(s&Vj3{|3?kqYgd_2FQN`0X`Ttb!lY@X3VtloKU4il9P zx$?w4w%YJ)u+yiYmb_j{{)-6sJrn7Nf~z@H7jIcSfIYIa;LvO3q99DNF|%`zf2Bma zg_QPEKcJxamk6!-qCH8evmqihKQZKK|CTL2vaN8+izEpj$5jPhYE&7|AxR*T_}4$# z&#+QB-@(hBJBX8BBxZBc{`~|Of26Ko&!|oB>}x~DXCOHQ5~ir+4VHl;MHO_bl}6dk zFH4LZ+JR|JSYTf!?A2cva5iEi;mKk|9vPqBE8N#FGsN^}yrWJsXQEdju;{sfABDLb}wg&cb-kRNQ2OepoJad5tMTsIq1;-E-@_ z8LnbsSn46xrvjtY-S2#m3#L+VA@fxfOp^bFZONrg5~-~){GN=O7|+UC6N$#D08TN1 z=bZGZ(#x{O*R(RR6H*~kUjROubkxpxY5MQ@W zze96ji2lE|@{DLQ7MR7s&}pDtC(QJcen%uB?%wi>3v{jAK&4)0YSrPFuF$r_Txa4M>FgR!TWe0#DX8knJE5vq z@t3fevTORl1Xss;Iy2RME|0t1qBi$TEJu)3S696F->9c`Bi4GUL6T{SD-g{y@i+ae zj??;uZZdWz3PD$IN^bG5 zoKL8QZPan5tU@XKm>#-ihS!W-tD0_@&&lsd4rOU5lql!4 zjV)bsQ*qOdYQ?CAsHy!sEoHmThb2V4+IYtsx$qt?O^!c&B_|GH{R4_1RInR)2|CU@ za}CIwr@7PRQ&mJB#9YyO>y_G2g%2_=q+p2W65Dh|ZOoOgAa8Is@9x5dASV|WI$@G< z)>#hx39r4$EQiwMY2;7{94De_i%Dl|%3^1>4UZMWH^xfOI!dTH8v6wvk{r58>dH~h zLt!#`6rMH9)F&;tPUA%eK>WkH(qN)iHFd&^My+lthZl{?^P&Uq67Ompj3SN^BqWszIkzH5@`kmzz?jsh@gx{@Z+yi??ZkX8G;vKVj&bA2h^Ovl3NeD! zEizu7oS`={!_)y3QatQLW*RLJxF&lGGx*gEq>zW-lpC zjGR{CwfsdXTzi!0Ich0QI3sx6zdfsrZl}gr`{uPpjeJ|#T#U}YJUP_9&@0X z_r_uhJ4{F*_ZryUnpqyNt+w%yH6k{IpDY9~nSRH9IvAOPX*C27;VmNF zFzc9DaHc#d7(fjC)QTaNAV}F-u*r(i7S_CiU#%F@4Q$2GIrIFbE`ztdqpIkBk@y#^ z82VHPAx104O^hX;J-_t6W!s>Jx{&p^sS&aMUmdA97vYJ8>_da zl-T&){6{V$Nj+i<1YwEU=`%Qs;L3s{%{Pgii`Z@Op-JY6;aI*VrJmU-ToWc57dcDn zNvJ|)E(SkY2y6Tsf91k%d>LbW?N%{HH-SQ=)N8Q);1m9ME%JGd^r2k&uWz9{eUy|P z_R+2i6EeqS*zoF*XFHbYR%7OwW-ZaNbT6WqEx`U=+p;FVP@8cNO&X;2-@CXEJ=k=a z9u~XRElI}gN8Z})G93dA1b$nt+2{HTqv=?wgQ+6n$dr78#CZm! z|96cW{}7ormU)*y;B#f+lL(YsKpfI5x20qL6Q>i+hjj>dXmqb&OVVUHs0Y177EX-C zl*7CAS-jNvov0_`zky?+qk z{=vCrfMY;@!h)UUZUH8K8GVkq35<^BQMz>sucdKA+6eS}&0DM@Xue1<+k#9W=aoAM zIi0LYfEo3tMncL$VC~=BFYkrJ4#>y>Y{X=T&AJI1gJTT$pTDsafeDhs<2^5B`Rznu z7l~iw9*(C^E(`u(&~qBKn!T3yczU%z{mA!#zk9dv3zO*{C!c#Y?JJ1RQ!#w9^QVr= z8jnRsj*fh%*ZL{beAi+E7SZ!I0H%hQ+iw_9o`zTRZWy$NhfWx@ zj)bUbu8Ht}TLg~pVqI{6(0t&sdj0o$QF8%orbnf) zP1Cv<3osF6hn@Z>rV;=CRX2#^bTScWWpQS!;0aciZwtEK-T~`l)R$TPn&GztU!Xy-VfR91BgGMN=@9;qe*E#EEMk)L#NBbfd%G zpfB0m?Mt?)LvjBs1*MBW=-TJ3IxE9*{ z7B7nzFJ(K!OVxA(v%BLGsbtXeTCbCdRkk#Akkr+BkweKZt^*aX&>L~5BrLeNQ*nlD z7JAJ&s`TdGv29#nR?5M7Xnb@9oXMXdA|73}Y;-l5*`shOgO@s)iPff(LPn+;rs|% z+BO%)HXEY620y9RYXiAGqI;C-BDfo;0VuZM_I&CWzkTjy4cVfsfrp6H+*PZ0*D%K zQnr|`xjiG z$q)CWfvpl%ScO!-wUa)Ch&QgF*T1*Kw*h?CKP9)>Z`f%DvqtZRXUcQ-~<=-#Wo+* z86I435M_?6;LikhPN#Dj&zRw^uC(2-8Fh&@avnp9&sZYj_ELYxu#A158)y=PUW+Yi z?-^V8-a7Y>>!MZ*UE9bn)0&81^9R~G_{0Z&9$)ls&xCjTI)PD`tbh3{^BkUsx6?6q z4#n5|D-MG4HD@4>-}4Zs1H~|Q>0j7F3~{U;OqnzwXnD%EEAmh4uy!>KZLJdqqZ!WS)6AtVNWHr=wCA?6r;1wXv9V(8R$a+ z8X@F&piw&)CaAft^+wI#(Tx2u1ondk!2UpPXm^h)fX!QD>FCu=y}#FcALRVq^=D`P z1ZxBeYXnK=sSO|Hf|dCcJY4Q6-o(Ri?(bluk(e4>$5dJQU~N>cP*Vx+EJXa>(uFqnYRSi}fOIf5Tk3{Q`R{M1jGyAN*eRJiQip&gLn|KoG(42-}UJWH}})zi?BE|+~or*BcGKgFu;lHIY2t5sf0A;&7xRu}e* zRw@s4ZA5UcB~gp$U8bTut@OIoruw$1zQPP*{Qj8HK+-NEQ7?jDL^XACIM|zxZR&8~ z|2n+uV50gki9i0>sGatTu={z*)1BFy2Vv&Q|3XO#mqrKZ9lm;UTDOdkS1)ViT z7>{Xo2d!xuiW#;GcUog=C88NryY_QjpCUr`F9tRT`Lo&nYTwsB2|C6m$s*g7zl1D# zSPrNqe?Pxo`FkjWV2F{|YUJDf8sm9^_lkPQ2-gXo_`dAI-g4uY7~2rj1lx#!#)8w#tU7xF38oE7b|LN(RLImz^Q!QYkMFC3i?zfF zVA|uwD^asEi5tlHm~fYJkI!zu4%gc6ZJ@9mm-~xmW!hbAdBOlUG+U+S=~Z>uD++$3 z-ck6)^&#t4!+QVBgaST^$-cj6oROP|VA5-E?;-VxUk#)BkUQVnl-qqWNu(wn_ z74O}t0O6g+EelVF$!+6s^Wi;IF1*tR7skU@?j7RVO9-P`9lAI5YJ>;zAciT`30sR+ z_0YOT9~RO{7VKGe*>6qjZRUJq&b&|YMc%!u_%$!lS}j^34A^@pji0ephNDFBM$J_X zF!JUsif6A-V(D|OY@@J~CtwucD`3_>Fpa;s*1i(6tqmaA9LvU$loDw10H8hufG7Xm zy7XrR1*^;cwUk2Z$MVrj&ZsCVnvm_amxPc36GkKm$m)&5A;pQ_8f)q|WP!gIw1Bb9 zym!YBRPX0jsuPxV3<>ef`4xn0%$1)V;!L`Cgu?_8mwQBQGXkq&IdMP?phX&O@b-ddYukUqy%2sq?IzV`->>E8lY3)J;A!>n^~Fi*V3%`sAj3F?+GCB|O#YJNG4N)2jT zM43qMw>mUkTPB=Ig)zpYZ3y@#UU=vxz)Jp#rUkFm&4}882skgLTr1!mEIJ9jZH_}G z4_@3S%+jan4$eRP5})gvjqzPly8en=DPQ5G`miq*PydU%BgGn*ja2v6`ahocW)6qn z_VV4QH3vf|nGOssPb7GNF=L>NM^`&&%Z`K$zxvX$No{x5FG$KQd8l{^9ibn*_1U?MyYB(m=oqm+z1ot(<*BOX@e;%oPaq5KbNm* z+U}A@H%~nqDI51)!1B~3TgX8x7nul1n z*Pc*IapQ5J|7Ygnmo{SG-+nfy(@r^{FkIyD9YiMbtaafc`!ssO^RR-ZCGFeT!LH*q zKLzQ3)|`t>@E^5vD&M7Qrnv)JO@m~xvehue0$5Sg!75jwKB^oO|H{v+bW>tIxFf&X z{L0m`U{A(D;L1LoyiSKaU2w9sMfU`TbCMmldzDPbx>^W(OXZ3QnG<&(E{j|Tzc+3? z*=u=l8)mBb(^wAo=A&T$EgMg}V6)hddR-nXUYA>=n=fk2r}jGo1e@(E3z{79a1)kb z*JgYKSnj1hz)witNEHD1{wo3S=fgSx+yM{o%2J`W-TDUb-zP;p& zVha1i2;?4Gft6h@p`}7AFpx$0^~SBFi8ym?Q&qg>)8eKPc9!U)y7Z@^Oml*jNB>FE zouH1lI6=>IpsE3`s>aR9QjshF0a>WDN8_zf+2`@>*_b=WZH)3L znr^OqZ}Q*{Ns!^kn_g+ZOe?!QA^3kHdhgwpvzcBkRP*>1tZuU3@CXlwZ@OGb{V~hK z9J@c(yP_6e8gKcSlN;|dM?7(I<1eI*%k&$QIcl3PzVAv#v}UlX-~>n48>&~uhAfG# z#F5j}0SQ%WsD)npl~hx72kSnq-N;>GLZ1D}~+OgXM0w!Fz+eB}11UPE;+aQ2Ca*4a2_R$dVD%D6j20CMxf@b zMsU+cxV`#v$}l%ZEtldLMaV~*6xnO!MS^uQmfdnuqWC?5aJKQ0(8rQlsps9!8QHJh z4#CMQy@>srkVjokF6A7R+w+NMe`O0D<*y}cJhOKJ0p;3aBbIo{&7cM1dml1QjCo!! z_cBEN3N8?xS2n3yGa{(UhN&^i;ylrQ-3Yz1nwn_VcqTA?2(7Z3 zdOaHy%W4|*JdbjM`U*PR0d-vM^xmI5d8ku14|VFyL%rtfLVc2;KCyy7F_}sYHWE=J z_Gw-6lAG(TV<$&$CtAhw8#(GE`kz4UfMmrX0}-EvALfcBt^j6}A-G^KYFtqAI>D0v z9s|I+^5kg0kcG!gS^6?6xqTa{FwDYNL&_&$MomZ9+crIRKGDCh1w<;OrWtY zdV4Cy&I#fxHO_sFB^&e-wRLjWaPp+K0BSi=65Kh24gg_;bb5^Qfl#lQ!7-)tixD^L zaf5gYKVJ!EsR#E{{+``LUw%wq5T>NUU#>A`w9C&J)dhO={1nDm_gh^*aF#6@r+`cUngEU4*cECA6z@RBC;ZX{X6URLN^ z=mWB>m;3{KT5i)x^P?{-SpvxM@6=yGPy8_VFv0 zs$0xnc8_>5Pc3D#VcdKv8;|wxTAsE zNsdj1`D*MJHfg`GNq+I6tkITAgFVlxR5RM^5o@#hs>1r&je_bbovuE(QQX4`2(<)J;Lf3cwQv@?mXgk zKu059W53}BT)3qe%ivR{&co1PSY8=6zOo4u*^R9C%1(gKqxLJEb)w#Worjr_yoUE! z)|?7sBe)B+75<`;sR!yw8}$kxA}?(=TJr$Jb;rdVR=4IUAN3hAg9n;=)uaBz(}%=V zhuX3YOZyG`!ih5Vje9Uo9?qX*s`zu*0RG^Kl6qPu%1K`9kG7>`Qjw)0ss68tu2*rU zf_pBm2x;mc6Bt<7K0k!3h|tZ^CC0xGcx3!}m4(ic)-j z^-p~^GG^TK>^&N9h#-vHA)rGLjkk?_f}4;@QdTK{G@LRGtnB3Bf>AZ!Z0)w+&PYi( z{Fur+%tAbX7#LJct444P3s3C>KmjLoQ!T=!B>7iZzo{+$fiJQZ@h4u>i-IfV!Vof8 z`M))AU#yvBH7Fk3sCaP0;$g1!-z2(uG-DFoZ1(_axd+Epf;uV}fEp~7y4+{#as{X> ztYWSqlhq}x;h_r_vkX=6LBlQ++VL*^R__D&m6PPbt;z5Rv6Fe}Yj{ksN;w^mp&EOk zQ~E_(OPyS;ud|%>FH@W;BdT^u8eIuP$-@%+xMv^*3dxXZeC%x%z#=ViT(}@HTK_Bn z0?+!D6i#eWw&?Yh1ud4P0GU*v$2>10*&&sNQ+8VbSFu55Wrk~4| z??QJZXZ}G|=R%Pm#8L*`uR&073?nYkU8cVU3GXjR4L1m4&$VB=bhjnxCiS8rkNBs( zqUe`yv6XGeWKgP|$7k~(<5y?bj2nBY-RQPRq)hSJG!Oi0=oR*Ewd<3zv{KUl=%<{8 z469e~3aeL@^=k8`unjMDI>K2Z{eeut7RuXKFTJE0en42ENrd_SZ)Uh-k1I%2Pqo0; zabxws#b0#n5ef^TZMarLfe*%bQ+w^stFugpN~A9f?cVTRPImnxQT$3`;Ct>+xQ;$1 zMoii0rFs}wc4xxt?N*dmFS7|s`2q#!A4|O%XK0cEra;l@5Rb?fCpw26xLKREXB)Fa z_G#)D+%Q;GtoCO7Ne_U}CQq5X^qyAd18!bB41ik=BB$_!NRrGQZ17aDkGQC+rHsg#i+^P^hm8yF2U=z61o?lrd-kv#?|6(kg+$n(C_r9fyn# zQr>t8;@bxEaF1HgTPQ!@BP{ii9@If6leu8=)aN$-G@F}j{2flcw%9OzVw7w6HI>di zFnMcWneK??90XG{0^%nw=tcX5l8QMQa$03guo3@pSw(DG@U;L1>uFXFVil~su|e&d zI$lT+iAY&UEDWC~P!0M#hR+4Q8Rl~#QAqzp&JvGG!{@SsXNgHl_b2Tj+H1tZ2yQF4 ze|aV0g_nUqLgjOaqH|6ej-vyD%YkX6AT%EDIQmbXWe@i-rPiC;uoa_~P*o#I?LJk( zzvkGGr(!Mt>1E^|^F}{~lhv-#MkJG52azD_1K)d#-%wSU879gX#FMceL?% zKF?RQ@d~joI@&;)iGe_4!ck1jm0xlZm@-tDg1K*+1Vjm$Mwa!)J0GZA?h$i#sst0K$p*cc;n1}CP90a~fKaA~CRYMEzt<|{hDUhnlEvZNi7+Ga+{__g ziFJSfP97sTR%&L^+^bzGRlAL+__O~BW>4z!ZHghen1>o{xpX2ua@Barw>ghs{l@?G zLJ;eD-n$fcs&!jfT>ag!I$uHa%@pujuIF!XC8{vzFWO?opT}C3a=?69S#01l!5qXI zvn0x7Twp-dMW(?*J}x{AAO*v_wv1(ybnE*nv7^)rvg=-2L)_wNvgqm_m8)v*@WC%XTp}))6+*~wM{nwm}Be(i`b3q7#u+o-GYdZRr`iUX{H_?&o zI7r7&6NL0>teeJ?CmPu{mfZTp*3h%F$F30wz&9@I#6^;thU6 zMP0^MW8k|R-ecptl&jas5>5U)kg|W$)1c{VJasABK-R_*{~$gC>lz1Zj47X;AHjN3 z$GDQ$QGqeLT=~Dq5d4C7T!Cqr?RCPRJsM~>=xa|q_Kg{N-RPOUh6bxh^%giuRMO=Y zln^Va76Izox_^@(M^uwT7Xl6aYmUkC>ZF4vPCBu5p)Fc3sUUe;7Y48u+Pf&e`v9n!@;Y zI0u|5sY2qzsd~WF@c(Fg6Zj~r>;FFifXlYAZZLw9v4TC5kbpfr4S`qi>aa<4;aGn4AbMEs@CJWSW zf8ReZ&D`hi_uO;OIrrRi&qXsUb_cQehDs%+N#y2r`m)53Gm6ZH{`gBcaOafs`iAZ# zj6_#v2eOIO8FtMc`DZ*Z^jnn*Wvt)>6j26K=Xg9b^haN!RvI;{XHjsq&UZt= z=3+}Pb34c8+qL7(41MchZnvEIEa-I#`5pzb40@wK{;!y+jU*@MT=va@jcG549>j@6e5*e`TU}*_!9R&hcB^t zdaWlPR(`);nwOLNst(7pcsb@_+ZXtMs4SuGTiq_goS<+rLgw-9GHa^+OUay{_T(+( zloYc@&GJuSF%tM5P<0sP?{px>X1^h)buPGTEg-W_%|V87ojNq1`GGp&oZDjL+i70g zgVJSI=^SgUHuZ^FNKDwChEf=O-qp<*7{gOvv}<6abC)wBMzSbnZ5#^dgLBk+y5!~u zfjXB(>qj8nX7qt{>sX*3lW4M-Xk*1=65--#eNSSlwZeN6{zIRG0pU=GfCAcq3RF#l z(F$$`?gFFR(v0uxEp+>4WN1l~wqcTVQyw2OzO;eo(^%i}%(PPfY}J(3LQaon$I0n- zZR)5M@f`PskL$~FR%!phSHZZFHyM!-XlL7PgaFW4y&6D#(f%mBsS(G|0A9#!k1A*) zD9yEBx4*KR8lpV$=}S%SO*cusRB#ka`&Hb#okO15%wH^#I{IrOxuKE2DmsveT#>yfjh# zM4}2$Q75RIsQ>a4bylf==FZ^VXaClGJNgO7t{zUanGfJ>;kLQpp5@qdW;6Xtq??Ou zm36DA2`^V_I$6&Grnr+oA?_|$YGBa;ga$S!dy)1@PV?@sy{J17&R;Ew1}33P723f> zF4oup^0gjF1jneu5k7tOX0L+Pc9~Q@m_7)Zya5a)FInaDw>Hmj*t#;j=R4^q%(-(-TnoWVt8UvT6OtH41WRrhudV*Rj=<@GU61!*mop2IU`8#x+7vvQa$^5rpTM z$|+xXGHAB#+_!U9Wd6Tz0K@3F5iVI-CBKrjkch!gfR~bt8g@<$YBPte9FysDsHlPZ zuV3pps5IWb-Bo0x3NNZ7AytU-ZHYSkS$Q)*Zxl}A^P(t!6KN42T(M|t8yA6C!&Yv8 z*;+jc=`4`qL+Uu&Ob6c!#1c~X( zM7nr%SY#udP5=8b=*1^5OS&7?*ZAiVYxFTLbU6WfC2gPQG*9vdL4@O`#%{(#tXnzR z$ESA2$@&Pe(j19|Y6ZZi;{DA@gd88h7pg^6aOObWVwjpl`$aHPl6OP0qLH#*vI0e| z)`1mBedLeJfI~1oHmG@TzLL_yC!LP_DZZpzX3nzGGgg?J1y`lI!S?zI#@sMlM9#)! z-Y(F0s}JVzV!%skFHAM%8@3Y7n~{KmUP{UgJ?s-E=6g+uOXK&Y6oAz%_=DCKQn5Wl zDiu*Nt$qzMqGF-|g;Y#bpe+>>EeO_FlY`^bN09#YiO zev+c_2=v~I8bNqI0Z+wh%Q;`s0+Qdmb@m$`Q1IxQ*E_+9O>uBGwa+YhVP#%wTX`XP z#X3ux5q_p;_p91_h?urprye3i6!RV;7T5=xsTKm7WH8#1@nB!N3V3HsWHeHQX-(G> z&c&|#36!md;LMT{tsSb0I#gON$oFixvVDi9jO_Fsq&lyE$>S}3jG@$N_}riyFruQo z@>OT^)Yd8Wwlr>ZJM?mc9UO1yu?kcY|BrgwqE1Ag{STFdFN`779OjG*?b3mha^pgc z@BfbZ*{8x`K#Kr?9Hv=dX3B*HbBWW;EYPo;jqFtgV)BP~Qo)=1XnGFEgLo)Z9{{e~ z^z`Di9%!6*MSEzxyh~@^?H_tn`_Ye|tNf4?HrEjX9N5q!#=@N~(dSUeC5~=}=DK;T znjowiK2T_8WSIpc8VvDADdhrONV7n}W4>HilB}iyS_66(V5v`~ zoc6hMTDB!N^71pyV%vN9IeIcMph{aAJN(#PE+{9fe^T1H_+h7OE`F-py7;Ni-+e&= zvGe(E!Y8)PGclhBoy6y1OHU)Fved+*%oG856rFEddX6MsZF^2@$Y~m82lFl3NvGe1bymKr9%;g*L8<1qm3hAR ziJE9-p1rT#D)Zc7Qvafv$%;mxH)H9NxA0Je%%qA7S!b}n#0mO6mu#ZsHfOMOVMHO& zg9&O~H{BjQ7h*n2 zVl?NHyZuYKr9YX`TftEBE+L$Yy>|{n`jT~}%EjanISe4-j*F+u-9smveq#@vT(`r% z>?KRec8VT4*>@qG^wj?dTRwZCP=Ht>=pxdZ01>f>0U;0K+gJrGti7H12;?RIi*ip# z{ah2#S~M*&(p0RJbuKm_i`<3l?QsnhlM zv`4p^(2QY#{~@jNI%)lhIvf|a^8f`JBzLBm7;+ZxlO{5_oEXHEaMz!EprLN{ER4T$ z>SJ(c7kD`^M6{LKe*8r=li{EasHe&x)`Nzk)QfIi}Po@bO2Vh#FFH6 z)cyX(2LaY49Zw(}5gf4i^}erK$5Q=<_cmIXdgG z)5_qij(Mf~_mU;*_b^rWRmUuK?s#C&u)54u)&7ZtFe?ZT7lP}d2c4phk1r|Te}G!q z(RQBY31xXgSsvO_mOGW@PGz}iOIfZ~maCPeVM|#~SC-S2<%BI|sZy3IWjT0DS$0yE zos?yJLfA*v4yeayHaVKrBPHdu_>!QlGXnILj%|uEieu`ZXp(Wy)C#wM@3tb5>BB?i z6W9(*#p#l97~7pacE_tA4~$bK-ZAoWc+Mr9jQ8yISs#v)yG>`~oLd*l2Ga~Do69A$ zI1zlBHJ&s=PZN*rTRR{1n;hMY!R_Rg?1Uhp(D=O&PAep-1hRz(h4?^1sa zS3kbBgxbvH!5qcpZ-;P$gzC%4h~HfvZGO7pjo^6enFD|=%I0@s5g41MRnxgY>Ey$K zbsA@7t52hMH&`6nb`C`Q`rp1?QWQL1kWCfUKjgo-kdxbcqp}uxw!cJ?KZqi=EkILz}f7+iaR9BZgTr zp$UOAK3Llh1^|!w^`E(qb#%KhIn3#LFt1NO=0A`6!3~{^+MR+=%Gc90Z9ILFSLvvw ziNTn5eX8HtA4Y$8>^PJIv6cujxduQO$L*%vix9GbMQDgmM!60)YI zRp(;&o(d9LMs=k%iM``*3X&$%OXp$TA>LHm21Olm(D|!grf_ZkXXrfqNhi>;fh8-M zA;0!sW?(;shAZ?U_cNo`s%AGMg0L<$_-GKu_n3#M#HD$AOp#z~?ra29r>#Pz@id4g?CI0J;D7!v?MqQrRpX)^^ z51sW*!#wfcl>b-)FWXFz4 z*B|PSNl)OyQY0;YlkUk}M9O0H9b~jkt7J*raJQ&vh1FE~WPE^8c2!qEcxgbnqDu24 zWVfJr|E85r8>~9>BNJ?t({{%wl$(~Vvsv(xoBj!6ZV++{R0cAqHt|26sfsWdCNg*g zI%+Dx4NC<;j6bPf3?Q!(To2J@Fc|5QLI5jW3q)6cq!zpwVL?~){H_PS#~t4KgA1+l zYXQ>?+Da@Rt-AEPnIELg_jRwg`=crwxkW&AzZYXlG+kN7ZU5KGB>Mr3Z<-9Wx+Sv8D$2IT&VLk zcM96>dWdF`>me8z_$LVe(|4bB zveuuyPiy<~(2>d>BKawP5dXuV|{9_`*wMlA%6q5ot#IM>auJ7Ji}Q8Zu<#0E1&dsVzk z%FfAchC?#tKeQCg4AE2zQi=Xf%irb6qK2}uLmIFVK_dvbE_Yp4>-d>wY4H zjNM;Qg46kbXR_K+N{-3Q-W@Z&_`#0}|g5eh9grRN}R1!t96)=~c8zpdSf_1;1LZ<#) zX9Ee9?JPmn#(&WY?=Kt(SNLv*53KMrP5^4X^i{B_p1%}b684SBd#!2+ypUQ8alUIk zT9M&dcf^>O>eh#wISV+Yzuyz)5Bla}r=LPYIarE2n9y4DC(LAxCqN0_e?Ok&AE0RR znkMiU|5oFPNDwqLn7_~wnMr6!Vo)|`e4Dy0qVcPTJ0GfA2kNYKI)#2uA9EGSM_*yA zh9Qg{Pj$}P`6uE8@YD6EzqK~1QNe|4WOylRcb6A159b;q$y8v>C0feXvFI4WU+#a9 z3(U+mGjzvo(U?v8Go9hO_&ZJrCDsn*wQpJv!{4iQx))kInF%SQl=%m~1OXr)bx zdl$B7l|9pDl?6wX>Y!)r-}0KX;VcZ(oR!;Qeb1|Y*j{rsZU4?*pw=PJA^=nr?1rr1 zNc=F3<8{*qUQto*AFR(Z^q4NST%Y~)*~wHjir7X|)qSwe3JRtuIxv8fidt`N!U{>w zI%P(Z?h{|~R=31}wMaSZO$&MMIMkAM#2Gw5!+tY*qu^$!gMYa~#gGsGB83hYAz@M^ zhSzEHRpOsYyo<_AtM=2Fk_WG^Z_VX|<31ax;b7IUEup9em$n(zwZEg%J|fgM?cYk< zG@ms0I6}exF?qS_d{t=|71Zg}FAsi3+M`NaKq#uSS|WJzN~QfyX+JMWbA7o$?Oms| zA9m==c53e@N-HjC&y_n&<&IO@{vFEoRobCS>(wFcYar!+PiY%E!0Z;4`|6LRUEiVH z<0|*M(jM$kZobl%D($x&(q<{`k4n3yL)uiOrIj|RL)rwTO;OsI4rzmxcB0b0-yv-` zr5&NP9Xg~HDQ#D!ZA5(?&5?uW+r;>}Kalncq3?vlcN}ZyerV0Xa+CGeL7hYg^sDOi zo?w4_nzU9FD{lIkz68n&Nft_vh-3x5KBOm_g3H+qu{7s)K4!P_sPUcnbeNJCp^DwQ~^nHo$ZwW&A!zgKmI zC%SlZc77b)G-u}r3-X)EZg$Ppp7nDvj9C=?3ZoY$r}6@Fc&wtR$8aMe;r zc$}V-mjq0XKWQ{V02_ch?Yw4afwTD0KOUkpX3hakG*X(OaQoBEBWO*DLcI=0pSy&K zvjyGuCBIR-G*I2vHln&v=6TujxT9b_>Q@~cj-2Q*bui)9AUq{uXd`fj<7SYwILAm zxWpCwhHCu7?*I#X>#XlUg)UQQZ-o{q)K{Tb6zZkW30Xqj6q>EjmvagIQ=#<=eX7vA z3dOm2pM9^0%};sQ@Ta>_!62fN4uU-sf+xmd4+OsSv1KZNsT|7mU2TVC@RunT`xqVO7SZHj}% z-9C6b7o7BjFx3&!{|8V#&A_E7Dx>lcRCzb{f)M}mK)QpE{|g`;^^cA~nm+;{9W&xT z0V!aeg+MY}^F;A-G%p6J0-zwMWw=N9-(aEIGoh7DHqGuFpmAB3e+=`4C=Mb+EKOaOf5mTe1`OPlHh)C->1Vz za!LlI45?U?vQUiAo5T28Q8~FW&+OZ>V>VtLO>?p%60UXVFjxqukr}KVh3WK;eMyC zD01PMdG;Us4R}_i8Q(*H#3fvpTd#snp~5y-LCj?xasKT|Oo1_#K;}tO}yF>7$+T1SNBfCxTv4Z)bwO-VmFcerzQ>%ZCiK_1P+%w$dXAT$AIK!|+ z)u_G=+tHtL|73M#d$cK7$!zi`E-L{c%(+WwjKDRkt|)*K1D=KfByvyldS>Q!p`w3R zITfZ}&%U4chUq0Qwwo;E&&8fTinXB^bNxfE$Laq;{Bckyyi_`$OiZIr1QRSOdQ=x2 zNx-yBnu~B+f&++*2CJ*c;kmVzWngbJ7R;Z7(ClkbQPtvHgEjvf?N;yxf2MmaoWg zIOEw}txG|sH65KkiFKfme*)XLMAg6RdnM9Gt>t=@f5(kX+J}Ps8dh-Rz4Wvp=DpNQ zzJ<~t$nwX(|Cb@uvyWN>jzk5Ik>(nFijV<20+&0-jsPKDnOm6es3QYtH+WU3y$gRF z6x*F{zj&m`kEmFO)9r@}lC)0E(Y|F(Pn&8l6$EBF)7rQ@tN*du3iIK)N6pI_a&V*m z#Pm5!A-#m<2*%C|_0bdzDUvxYxzbYZg& z25%7U_qzcYyrj?%egUJI5d2yt{-8g1=ua!Pva(Vv9#RH^%_A|po2xZqh3D^1!k@I_ zdr_C0k(>D}Xj}FrZBEh~s#*a&u?U~|VHfMNM_aM%un zS&*2O{Ba4lbiD~ zU=wW1SN6!@Le+kLR9T*o+`KCS$hQ9Qs5&K>to6q0NF3RGe!G$6&3Hu-+RsX+c-m4w z4y4I;QxqY|2x<-fO0*xO5m(Heo6R8yoi{NmwW4dG{;p)q_vJ!0IZdVhK`B>b^Q#R# zB{zu2xTO|#u<>JZk5TSswIRS+k;LkE?HqNpBEs3q#WoxcDBg+ks7aHxZ;`$1t3>{!@rMIIBxmtRS<_ZCBavye+y9%kFEv3Fb#_8t-+3YSTglvogA({)&9Y z2YhADY1%wg-U;3 z#V)N9o_pzGjDl@u@>eoc!?goAwN5yKoTJLQO^Es@yrh?ovt_^wn5FY@GU3Uz$~EYk z86zsZCLUjCKB!cpka=HZ)iBP&Bb~$UDC>`dk5Io&Rr;wk^BtWMRby>f^FJ3!d)Q%@Gp8mVv#k%IxjaH z3zulE_ElINDpSB9lgfH~B1e5#Y%8qR8}4gWNkN0(K43&Y9<);GOx6H1D?Av$c*Qz1 z$G-EOYx;s4f|s&3SpL=C9Gqs%ac{k6F5~VR9)2j)$hudrYrGpCmnUMMaO(Y<^3NK& zR6bWTFjhQRE;uHuS(MxhG>Fs}{?mI)ql<56(xsb~wMe4r+iqU7 zc&nD$I?MS{F1GTB`~wNYfh>kY_<5Vw(?~Y7H2Ef*c6%z}T2ck6ItF4@s4?5{q+Xl0 zy<4wdaw3~_#!{!T)bAFxl#5+{2-t;%>wMz9>%LH~D=Iv2^BNp5D4XU^T@|2%D7A$79syA(K?=6cjd6x^nhb@a2zo;1yv(j(5{myc3PQbT;`p)3|K*I;`2kVzO zk9}8tu8So!Nd5SSwWdsOxiY@wO?=%SwvsmyMHJT1iXD!~WK7%>>6%yMFxTk{CS&yy zpZ>%QS_tnpBMVShZR%T6G#55RmcL@-58%pD{~BvEX9u-a>%8Q3d`aw>OLC%WxtF{I zIwNv%6A{N|w!gYIRk4DZSy383$*qj}?ig;;9od}_PoJh7YJGA!Qkz^q;yLa1rY}=B z1qcl(4gf^N>Jz~pY+6{a_}{!92lkJ~$%P+ZDl%H}crOj7yf!r%UA7wsKw#QjAH$>W zv#CR7YX(~YCD@y@7Qf-8x7j|S@=v`M)MCvUtvUbUJM7+&#($f81}I(W zv3Jccz&6|d@%BIu;8p95UWX(7l0{lSkd<|{sdW$7s5ZUfHP(?^6mC%jWqi=Sk*Hec zT{lYgz=`mI*F2ZOn+!1x3}(!?{Q^H25~${Ac|nkxXVc4&+&Sxwpu6>hE(u+#Wf=kD zoX$JYEG{?qvp(- zv(DggyN}eg~p<>0&YV>uX%TUfj6SE z{t4p&M_EbNna*2tHF12topPT8-RBeGr(it#+8^g}4ZRRH%}R z{bgW?+PmyP2h+Xqyvf02uh!KW&m14baV6Tc=ODKOadWAohRB`J;GaABB>rx7>#&AF*nyP*re4}5?{tK=#RF)DPD|4 z@4aRin|oty`do(EtpYKkv?kT9Lf>)~Xs*#0sA2wTeQN=ihT#@|^$(Ha6p0iP@)n~|`{P&OjI_Jo6aFtxM5O0-d2KC>TbEsR6@`{3~+|-Qb(C=|eAJ9$(8Mz#BPyTEpVOv_ve{}(i$iOG`-ot>9_|cqZ%0Fhq+ZdMMzzDVyd~SY2 zOcIf04JZbysTJVBErkY)+e;3yx7`5;RX}m{zdgRdLmuAM65bd zb@FW9c}+NC%5Fm`U53StuYzoPjq`eh2s^&1U;#3wQX790G*n6L2(RS58#ep3MOq!a?GR+LZ87&V~UzG1cF z0fo|4z0$RY%q(~y5ylLJ1;JD$W6PxC%4Wc%8WmUX#w(t57593>{K9V)_I6B~@eo%` z=k$k-qz9(E+t#dm^?mpz3-v4a)V^b{hPiROJ%#M3ufrrD<7U6W^uF@LXp;0c!=U85 z&bh#By2-@Ma!@U!7B>pE4~&IJgXQ$S5$r33>}-8U-59e8(Tnw4XG}I20+Qxp@9Yal z;ifs4obSXTb?C?8e+Gm+@jS_&nV!!NZf~kN@}*8LIU}k7oV+gwK{OBNMReD}6S%n^ zytyHCF)5InoZ?_T$DG&4Ss;_W-i7aoXs@JdY8LCStK?Mr-gbSN6weBYgt3_=E0X<- z9-@t+@OiLBnk#KK&tc6jtL{=iX?f9!=W^>MS`evm1LL^q1@~DsXZ9CJ=Uewj4UVVA zl@_cA)yv}2j*e|{`xIUjRj$c&Az>j!kp7-mGnbFs%OXgk`rU3-fNjq9nilhz0A zwx?@%8C{!M@@-Swk$kjYIFi5g{l6KB!+wqA0F7jC0NqM2lbb}2^5ZoCkA^B)m$%_E z6!PMf@sdU)L&P(oNq#Gl^KbkRRn{y7tvs*qAPYDWjxouPpNHz+cO`1jLm1qaXuh`l z>(oo;PV_URgL8?BUen=)0X;QPNCP!Y|NO^0r-4fJ%C@nW3ARiDfsqsg-I^TnbAWSR zxkPmgl_4iZbcA)AG@Q28;K)GhwU~12y<;|h17;k8umI>!90>*7AOt5y75O*LDWrg( z+8|pgU^#4FxVl9ONP1feD8V3Dgrq16r{eM_RHr%|`5OUU5$#h-Z?^aPP#F=v8JgpC z$u0YUf~|zFW+8+RZJ+dr|u)0ijKntB7QCbtc#4sQP3sI>8!DdIEzLq5aumLS)T zL_2wtIS;9Hup>P-Vt83O{Xd)9G*4pMk|GA`H{;B}u=VYqXV|@myC;YQ7=)4G+}h^O z($EV}GG7N*J&hG)rsOPsoUeo1E@Gm#MVynV*VUN3HGNUs!0W;WKri`IVk*tSaQ~Va zQ>ub9_|7k?n(GS})#HZNu7`$vt_Q4OEmYpKM72a9c;E7EbXSX@h;&==h^%+AG$r(UQ>|kcg`OD zLk~IoVQk0)i|A}-mh42=Ym8fmEW0Ecz}xJ1^DH~hu$PZ22XKJ+D)3|!wpmxfM9=Jx z&F{bhX06k#cKmuI)@8y+N2S8eIiBW>{>%p4h5~a5XyO;>7hiJ`6pFFJ3w9~B4NI2@ z`Zgb+p0RzSE#HB)i)q@nC|Xre37&$>6A9^kgorS){=qWXaAk|>0D?yDwQ4tclQ4pT zxV@DljPcY4sW0Q1J{x!&K&sWg%EfQF{c;RpzoD`ed@{DPWW9Tc!?bsT4UiR0mBeds zQ7r}+6*uxF0&VmoVuO;BrH;^HUV@u{$&@OgGC!6;qSr46Z!|$$#dsCCZ)p6kJIWQqaTRXT3U+*1J(VvIK+1$B)a?Vud zUv}h2Mze&K8lML607Tzzd6H4&MDa@Z&lpN(Mkf9!&o^H33D8tCVtf!zS5EPnA=05P z7ycw)eSqqUyph^)rt48>j6sxO8?_R1qZ%!)@sj5GQ z=dEdUJbfX=G0Erb!ahaIb@AdSLS%JP8cI{s)_t-oXIr73onf@V zTG7CBr`(@%U5Kh?49tBEl5(*n%Ab2YJVBt9hWS#JPY!)vNvJx!XdERcx4hn!rnqFF4k1lpQrbvhoPhZtK!^|Tc+fU-k z{JpC>!8>Nt;azm3$s(52LxXMb@LUycgNJ9LDlWuBt%&c6hXZUox-~q!p`RsTOA;R#tG;pyKA2_?=rBph4yZ961f zYDgH*aM4_&N_}idcmZpx00~z?6m?z&626aW!4=WNR@|l{DHl6R`Gtf_XD~6e(h&*o zc_fd7+Y9&XQ2)E(;Uw98%mUkmDC(we6TI=Y?m0RYHuoLaTn{afD7}u~P#d~KD0j&A4LjK4og{?08bsySQ`2`jABofqj!dZrm5d}I z`J=U3R=MhM9Y{cuLAm53=z3*5bt=T)eDAHn2b1**uh&nR%O)iH$uWex#e6NM??sib z^1kLeU)*Hqg^#oMec(d&zK2UWs|)Evl=%oQY2+96`A-4N?<=O=jyu@h`uU$^k8sE0 zlil$=g ztV>*Ln)ux0+N#g%;U{_4#Z`%rYTO!94a`0`W;h&V3;B@HZLq+Z;w@~+A%AadD`zP& z7wbj|=td}I(N4o3;xZw~BMS_-&cFD9Jn8t9V=Uue@9P*C3>G7ZBmQb!As5pYn&yp# zWuF7vlVbc)%%!istr{B8YKxige;Du{V(TX?viTL1DIs;5WJ{t`E{Xafn5CB)AcBT4 zsh!l1xwNHz@PFs3bPcHA-#gPGkwU5es6;mvQs6I{DisonS#bgM10$r&b#zb!uMv3Y zTZGS8Dc>SvB7k{V{8U3VFzj|86)Z-}C=IoDEa{--k2oG#~G2Zd4(=lqn`JWAxv4INqM*xf%X~bAX;>Qcw z#C@Zk{p{D74H=-yGPH>gJ9FGTl03SlhavJELIUF(8g0iyWuHbKeT3BX`L~fd|z#Q>X(sZW|sW+g0}kgUz9-yrCrk-?|HSu ze|=H_U2w+)&m4+!y_92unI#9bYjW49N$rFF51TwqO`c;-F2YTB;d#h>FC3+gwf_&B z^beuQQ5x-W1R}gUx z5#DyeUuZEH2^@pF`GX^2(^5SKtB!DaA>lkO|A`N9Ik<)2;CA@G8Szsr+mQVcKh9SF zb1Kz`4F7|Z_>=v4b|ewP`#N_B;+V2OJNVFe$y9=F?$_4uF$@pt}Y zhetiEOu{+4p78bMfjg3-c?;vpam#eX_0B7(#pTRTyq2AzG(J6jI5Cu6G zZ$|n|75nC+iHWCqx0g>zW()ZBdtKJ6DCkFuzmMx+u$E|b6s|K@lO;oBZ-!leK#hoW zYOyJ7)vnc?QlTQS8|wksf3AML&9~JsLgx!x(E*CcBI7zaTnJE2@lI7!M=U@F>Orc1 z#pw=?6#ZXS9xC8y#7R1!;G2J=(t9Dd{(j%JQrYjW139{w1=+Z&H(Ab1;Px{gftZ5@;~bW|wRSoM4MhfFN~@77Xt08S@{W^&{*x7om--&HSvC>mxEu@)joC{fAk^+x>^Gh!x;RsYy_G5sQ9t zWEs~PwgGGDrqdk~9;~qTvC5$P4&AxyRGXgW&g@Z9mXn4t8~TRQFfh!yXMzWTupl#HI#aeGPB1c*(mN+k@qlmIb3<%d4=(FL(=|WVE$vpv>yU zDq%f=Nv-!sWM^Q9mh@D#fck5bPkJ|us3;LN6z3d~T3WNQ#oco7M)FD-K$*eIQ^4Qt z-R`w9)~3Gne|w3u_*1<0@H(*%&2R;Ja1b8-ZZ38e>$fJg%*_3UlhVPmZ3H|EeFf%z z%_@kNW;Q(`vS=esl`MZ81}e#(o_IFTOPxM}w75W*;__?aG$yBhLEGxw4mj z-D^Hcf)>lS+`pzGlF&_kCJ>nMPq_uKO_p{a$$VBtwZVc2bpyDM7X<7yL2t&?Y#fQF z9D5aqhqXbo#PV(x8abzoLf}GsZTp4n(_cjZ{VK{UT~lGo2moxRB-KPPSu6@-g45}t znUe6KY;#qdYE)d+EKqS7lqelzI++@nO^Lp-DOq9pOGaywT5U?yXVv7NhhK>#Yxs0! z%M2P==gdhoh5`#Z2Y7j|{n9V#XMQo;LfZN($QYK*)zAinW_k3rk#F_2MZZzYJ<$u8 zjU$nUg2`LiO4*_O;mpzAr&pAC$svSPLcsQK*$WXu)bZY!?pIZGYb-e_-~4Kp&@ zD_Ec0Gj6v&|GhVEW>CVhVtIr^O1L`1b85Dgs#8Fgh4tUzNN|Mo3zo5D?BU;}-p%z>aG zib1RYm??h_*im?b#rDCIH!Fmh~WfF4%^>Efwn|f1*F=fdX zZc)M9z2*~1ka>skswx*73^OC7TOG~ACGDOULM!Bm^)c(DBNKGpO(+33n`RtS4Tu8U zNV1lUVvE`tMmfSxDG_$pZKHQ|bZqLdiUgNvAkz{U+-~boSx0KOrNWtEt20u|h^yyR}?;J`$5`05QxYhYM3qCl> z=J{S{W(weJA?0_O?N7GXsH>c8ud`qFboT4sLe%mz@Uz4=E8dvyhtKHHfD;nI7aRlR zHf^fOCQ?;^hxWJ|cx209vW^=kCaPYq|C#2Xtc{(Xj0*!z19&8w9Z3HBW4>1a z&Hp(>s-A*rzLtpWW!Y)E{3RCLu8vRVvh_IAAHpG*<-kh?L&x74(WCteqO&_^hlELU zmDGDBNeB8pT!~Nw+s!sx-6|S(G}3w77yA`u5kr<`dxq_n`@h+hxBK$wj4<1Z$_?f| z2XW+F%IUiQ8Mkw7`H!_*kjK|Zc!DnARuGi>%v)G9;HWMQ-I12rLe948Sp#*5= zHUFqDU!ai+)TVhtWOV7qMrp&!dChbegtZm{bYhf6A9d>LWX_EA#q`PdaUQ0ci*wCxlxXfWbx2@v%T((PfM}HNT?5C38$2z*y z>epO?^o+2n+4@DCy@_A_i)U&WCtf`nXX9mqsm~oudd=DW81cd%A6VV^jf2Sr6+^s* z!w@Z#kDVy*0gHEPUOb~UgKoqCdP>mgg$ z+pQ*cEoYT-tMY7%#`5A_qT}gfv3iKzwk_`~RIT=!bBt_#+*?wVI8=n}p@Xizq4uE9 zj-MFc^p>uGSH3tlt@~EB++$^N4XnlVsdBv%E5D3auCiQ9;+3meYKcwjc(o@{xh(Pg zvav9w{$n|QW0SMS6{xLzuCoF!B`TLEo?jlX+!Rl3rn*Gs^R<<0+SQ9dAFo^X0T*DdkPZp|=i(Dk*%l6Sg|%N%t;qG@><*l;A^vwMY=;J)F}d(5D%niI=vGe2Ux zflpGuYa;b}qUpWOi2=*wO<(ok^7_|fi(z1!7R!TDF81?Hly<}n#MJybI>Dth`*0gd zp^VPuW!vj(R@vDtu-|zVi|m(4S30OBlQjK{5K|j7pKnPer5-G!Hhmc=o~z%s#%|zq zO^_qLDP#Ih@-7@c02Dk(5~3DEtAA5v-!+l;Kwt9!JEVg8wRR36kVtJ)oBA2Bbe7G! zNj8~2U_O9d9Dy0PRy6W6$-639F`a;J-#7DX%j_X~mQc^ep8vT@C5k`t7EY+>-}q%0 zZ_bie|kzaP)7jC+r)+_XBr zoVPn*=Feww5M*!b3E)xXB13i5$F)*Ii3m4()pgRZ~C-Oec^in z-`+w;lAug2VX}ywlH=j`T+I{TFg|zWRJWsos;_F*%Fp zW?3bYOUAb@LW3lk&ET>NURLSnGd8-U= zCTc)J^bvItVukSodby1uy?R*#NG;Wt1?gg*T}m38`ifWP#6zZ07OXl?uVO+Egembf z>QMWIq1i7e!f$Qy8}SG89K!qCO0Kh)de@Ct-Y`9rU7XA>w5(;4SJ$!uH@OYHT{r^CG|eZG$v|JWq2e#xW}-b?F8 z>UEn7cDEjOYZ!(c{O~ii#X)?pFXBty=qA20UmO9%V$xgnb)D8!TUEE& zYo4!)pl2dK@$}U7aqy#>of?}XT}v{OpL#2i`k*%TnrR5ulaT=83V~eg$qoDQ33bq? z?U0or4o+4JnyNOD%GRddvG;deg<6OMX_vLK;ZsDuDt2gI^K|;1(7QKwO~DqIn9V@D zo0~wdoV>GKHHXeIO%0rP400pu(OH+J_A)^vT*xeSTfADd$!2XXp5MvlsLZ?WDy*>L zhYlHY=!ks~4&DoNbl$G*HmzOytL&{Ky!*Qjhqdg((FfT#PL~`BJ(%AQG%qXJakRUL zU(T@k{A`r_EOVbPgr7z3b7A-BOB~7mVMa_>d(b?{3Kj$p8$eH z>WS7>+e&Ecz3QeGaGY>$7}nMN@nP8R=AX!iws0e- zJwhKs&&(_!jCH(EkMGZ)yyusBMs-_Z z-MVvN#*d286M2Lf{W0A&rL;VmiQJazH_reRQ$$RG;ImGbUPQ-VB7or2nmJMRxR*Rg z7IUT!4(RJ-h6535(L=3N4o}56S z(Pui9kLp7hsV1s|D1zAEl=N^xVdF<ppReEZv3AJAHDM(A{lGkvy-n5y6 zuYTOe(P7PyL5~sTCGUdBG0myLWYheqG%fb075&TWBQ<;Kin^vWh5Lq?gg)hjDXwyA zC;2XU!tZPh|1?ccc3JP;gXupRcp!+>)MHI=c1;{;sRi*CNj$qPjY^-n*a=ZH-=i5}m7?=&pG}22-L_530j9g095+eO$duF# zLovb}m+6zHBluhQ)F1v?mk5^=UgjRd>ncL0?rR6rsKzoq&uyu&&l&c4uT_;>mG9lA zm%ZtK?2i>c?05Tt#&aA5jOkdnm}m{%`lCwtHc-KI4TwCXIej`+a0r`PGW`v@(`ZMv zE8{&L^O~nACACd1b}O6MV0$?$O6!@h`f@tg|4t5E@g(282DY1M8dg-lt-Q(QV#mEJ z`gwUNn0q9P&U7O~hzkzXS9;L1;EcFVTpa^`;y(V7zd-pl!SsX?r_XOI_l3jTqTO8q zx8IR8r=ILCXqbq%WL-Dj1&wEpD(2DG_2}K+*{`VP5wh8+2 zUKt6Fm)g3Vd`4Yd0Ij%A<80gCT>5?0#W?`g$PIe4>Jvy8=r=XIbdhV#orKC&$_-2G zg)5H2HCAZsoR(4~x;t$^8yoOF(b^-Y{qZt;OMp}DSCD3>GWI*qnw3THVOm2oRIuLp zJzx7at1eRSG+m&|r#~*OTEQWqT-vm*7^DjEd2EXZ9e+(9W@EFv?$c*8ny#Ht!}y(W zksj<(YKu4EoXdDg517cc@#6Klb>X+vMx5zssL@6#jL8U(iZ$BRy?o53Z%t7)_YV+%d zaLGr_wCVA;`)(aP587JuhOdUpTyv#~I@fc>H}_^i1N9^Q?@@VnnBqh^Y~uf_ni<(# zBIxnKb|2qOV9>>IK0ljYbGon_dQrNF>|WECTrUrvHhgwR4086Bj^1}F_nL3hrR2<@ z@*z%4UPo`+oX<;%WGAD>V#M4Y>8=yfu8>U*J%2`VGcBB1(v#DK8av#vKe^b~pucgt zCm}4RG%mSlbss|AXO^rRmOs^dAp#1SoP<%`{DI!Q_$6=OLC3Y1Jc82jx?_xU9LZDN3Pz+Kj6qu zbK2!M(BRCHljus#qt(FJ{$O_!b*Q&>=yBtq0t^B7b|!&2W<}xk=j0XU<@KI85NcE4 z0mt>b-@2pZgZ2n2;>FqEGN83+94!Sy{HL%nTb&r9h3THqpv^1*{ouVAGSZayjms zR*vsm79=KFgOXGoRjHF-sF0m}ji{(oXtFyKpDaw9hwL?5V268hI`9z;p(bz0rA0V*or#1D)>Hxp_M4s|4=&Duw%cX zjqLF*vCh!))x9MFjjZmB@E20H3oa|boYvaC=D$W2gk=A2k^Lr&0Sa5WEy~mh#V>4S z-!`o@T^WZaoKA%h^6|X?`U;>Q%V(<`g=R0FdOkl79{>se?mSZygC;fL>Jf@jc2Pw1bwO?LSSpUd~*Aa-%r(ad}=P1TSLd^ciPfr4*E}( ze`o0LJMDi7eRhFi?M;_gx9eo{hlo)@PrBy+ScGmho`O1pBitDbi8^_?UUX;+-Q<%H zWPjA5)bS{xPU_J6tSsq$$O5#g9Rv|Y-h3&7;KX*FOEypw5Uk6^9wAdONi;uG@&&?~ zsIHMZ_L9rD@HRSB^xNzDVIQ#{_AH<6Z@zbCRN%!$>OHZ-zJ!gHUak4rR*%WC+b@IP zOL(NE9J&Q`{Jp)ER8+G4Bzo%_;UGtITD>=jiO9vg``TP-QPQ4Lx}O7;&% zRk?osJp4RZUIM?!jLJBT7uno+$sDJB)tsx)scSxAwr233S zluQLA$ohOj_M>O8*(^xqjfo^`O9H`gK2X!|kT z5~N<61S50dR(8i1rOSjM2fvjQBY{i3gDWRT(~!SUB`7jf5G+hOP)Vgq+Pi&{t}pu^ z4kT$W^`WqoPW1ifl=MOSB)zlZ->)QDRJAG9qNH1uw6J~Bqjc4uuB7|a>B6>Tf$C3E zQe#*uWMbg-aYQS#$;r*`#3JNJ7Xk$TU==&3Jvaud#y(2=e*1pxuB0yze(kBRHvQ0> zp8i@TZEo8|`mvno{I10&CHQxksYSnr@^j(8&A;|16Wz zh_eR258BLT{gwWy5Z6~@*0yDRR=DBh70{R!nxRQ{>3W)l?8vH;92j; zj`LXjKZkB5t06Kbt&Q0Rh-7+R@$Swne|r@3Ai*fp^P^;Ergp0a^pWCNZm3v{S}}-L zPA(&W{*D-)d7tByf}ui@IBFbp&LJH|NYk^Vi}2KmVE|rxMI;ctDd99Q=&1@wfN6s8 zJ$8jozTJs}|IA^!!^@Kql<`0LohI@ElKC@Hr^0ozADt{^*;H1WNrThaBskTh)0CZt z^2uN;=9bC^4|8L?4MF;Z8|m5JZKC?~X!0cQ;ucO|S55L>dQ8VD7xbmqsk@9s)p7u` zj$zA^paoK9~p?vRehuR%QnE zeyKu=691m(N@%j+-C#t$2r_o|l8c=Tk>XfJ7M*26E+e2cqu%+w@gJf{YqR~;mI=>M z()3{V^v5Bg(OiG*Kg09ULH8I1Vl~(W zzy$lR`icWI)D?XBH^>L1&hzAwM#@REt=UL7JA)Tar^wO@r+VPD&#fZVQruaGBP&03 z*jf3}x2sn(s6|w&f2fZQkA)g?^51-rQRI*dh7#>w@F&4YY$X@la}{IjMU)oaldraN z*hdJ%VZkl4vDM81{I$~>n@Pg_l|c$SlXWy4{F2IguEjN22V-@z#ZX+i2DE04p@U7fN*Jrq3U(+05Vnufa>Gk}|VrR2{TbBXHLDX%% z9baR|t-&?M7l$^a5F}O%fNK6_Z#)o|s=Keggknn}@xukBaQ$DBW`=0$Rtr@bH5tTG z5{jQ9&GQPyrUyOpZ=q3aF+b^&75ufss?k#XrVl0IZl#9<^2V7|IzO3xI%Q#W*kW8FAG;FF4725VBUpZ^R%J<5RU-XiI6kL$c=)k{#(h63}L zWVy{_%xMbhb{QheafEZRDsl%S6#W3b&_CYKd)999u;sM z*9hMt9%l%;vm$C!ujgVnYq;ZIr+YjwvpV?tMLm$7tIZ6$sG<)>ByR`f))=z-y<2(~ z1&^28q#{68yC#VDuw<5+@vA99P^*#r-KCH$!m? z6?X%1RO04xJYCAgwtWhCFC~X7U#7e>mG^w|>Qar4%H+>=dB zVVafjvney_(BlLOc0KG|P$f zb<5qLWFmvH&;y!Z!A!$P4Q4ZEeP9~f$ub3!isR+4SG}7Xn{Fr@ zJEVaZs5!iWn;-Bj3jKFimaur&yQ8h6)+btDpynn_F7`{7bRxHGY^tFwQT%bD_ygW~ z^qR-3Px2WS?N)ex`nHQSiSW_z>c%#beOv9_z2=QNPDmpufkYnguYsw*ULG5FudoHZ~C{spT?K`UW1NF@e#wiUjpEWT7r6-`x#a6E%$HNwt zw~F+ySi~!qspSSq8TMlMf>{p&R3)-1hJ<~Q>y~UbheeMt74G#6)TE^91&yGmL|Vw$ zs*pemclFY;)>s=_Kze2D9MdecKW(zw3uv z6*MJvP80CTwNyfVWH8=jB8Sb|d2V>9BW>0CT2GH93UNrLg>r{_)GD)p%qxVm?2c1B ziAPX^F4juCi>KC79AUm{M86Z&gi~0)g6_jl?hTJ$)wveLW&4M+ouO=h+FG_>18Dzn zWlIs-Vx#A(Hc#13+gfeIl+8zX72vz9Gwq7&+xL`hiL&+FS~k5^<=?Dq9}?PP-=4%# zsQ+_idz4VyZ0V9advf6o*PZp_(3ISu50o3?Kqd;8q%CHGPEy#MgrXU$@6;&>44==`sCXEZ$r z*PB14C7cmEe@riZ5BBwEb~J5aVanEO+g-ng63MSF2V~EiatY0MsA_Jblbxb$J1g6{ zTgw(#wheodZP?bb?WJu0RJQMJIUDMM`DBSyyiPmtG2Zz)8H-ePUh-sBTd!(sJFm9R zX$_7KtIb?q?Kg8e)fU+IAaQllgu~bKXy5OxCeG-*CoWsHvc10t*$&@Yww;x2sj_)n z%eFx(nOl|3C$z=B{ZrW*lx@k@vdvSramse{*0NoxZ2KwO&k2e6O%z!g;x5H`%^#tH z6@3;?O4@NU)VIrIT+S1MPXy0OeH<B+ z?*jhUeHEH9ju1S-0RZB@L1+Vd{KAy)nAQqt@bUw+JH z@?c@>y#Cc@?y6WLp2x2$MM~0*#d=scf`n2q&v-<w-#HbV`NeSgWNwi59#_Vn?x6(QrM?t%Q2+92 zZ@X6!RM0fdDoMZ=gk)Rq5_m09YE<>bab3uGd| zy+0RlS6?~@{XH$rqPch8h)IL(vRrYr->!Iga|Y$y924M7T{jt^nz~L)LidTp%RrQx zjmwG~(7(*Hwc;gTmFxx%DA{km1f#bniQ$AEd)l4;j%|~>{ZsPgJ$+Okh{J*OE@ZB; z4VMT{Z zV*M8HSCm>497QxHG0!oBu^osC?j&drnEpnAP?wW&>5r0r4MAQp!)e5`Pb-7ra{q&S zg+K~kL}4?t*Zi7w>3go|qw^6rA$A9I9`Ko2^385+u6gF6=u!R2 z#XbZVt=kXt$)uD_esO2RisjX1=l-aEm^NRtMJQPWX3oj?Tzy9qHR56s^NytVsYf8a zA${hE+ux0RPXAn|;tV8jJWJIg$OXc3m9rt`!a7S-gj-D;l?`tDSE$rltPP$2^5+|J z!6L4_ImLhmBVqE<$2d=q-LR)>3Q_C?Ivi@JwNToIG6i12lZlnLtiDs zV%9(YzOV15h^t>Eg7-U%{J&Ympa)b%CUze2W@b4MNsnUw zQW-+X$scU$F@MC1+uQ2Uyyf@RoW6-4h*i}oKCiFBsg%ZPKvU+IyT z{3ZEjmh6EGblEnKdx~0xjW>|UwhZo}g<_SaUdhF7q$ApAyNETKT_Kg0sf&X2>6_UW zCfWoW{Jj|$JkNRv4J_&i+rZX7#F{yQuL51lu+Nx=-GLXNTZ>hXKOhF7*q(^WT(-pK z3*aU15_s17Uw%sNkJ0c%q(ahqwe5^hTswTwSx2VlosX7Kf(wqBo=5zQ83V}-rFe64 z`6w}IuxnH~Kja#Px&ElWjKIKds;C`bascmZb;IaDEu%(CHCk@?&eE~got(0ZXlkfT z>_s>i``|%F+*Q%2C7RcPl_3>L)Z!lGBG`NJKld9^}sDO8T8e38H&{HrBu&6IHi)LN;vHuQXiM?YD{v-0y% z%KCp+!P)TV`Jv7v+#-cf4DTCEU}o~` zgC%3Eo3kEBh^^>M$sxOIy@U%oQ*x-+hXQlLop2YMC0UlEIw@zum|NYbmg;0se6}nC zocQejCAU4-02~oWe)cT*o*DYv4{RSgm3+J=R5M@H%^d_TK7y+J(LF$zUC{PAy@*>& zem6U?Q}` zeN0oKiBPeNm<$(rU-{FQPYqrr5C}Kiz?9ufKIKv;1`^}5hi6NI1>`V0EjohXM>v>>rm)%Km)iEK`q?9V=N7)^MoZ8$j+atS8@R@@7QM6k1 zY=19MXjRWub=5B6b$=v|6-}~=R~^$==Z}|{`@PkL?c+^L`zptdLs?FodXqi8?Zn#_^LB0JeMw`7bXv&v~R#g@F66^#;^cQ!>%gm^J zjp5PpondYLb##1#YUAj5gle0S-PvW1s(R)I^~=AQdcs=To!{Jj8*TlWaThcK4P8g4 zvd`t~ny4`z(nMXa`TJ8>@GB-b_%RYia4vuHRonQrM$N)#$@Z*KSs0lUBg@pz$au;< znsD^(G*?t;WPEa%V2JA_H`9I`Nu`Bs!8?2e=6}>^QB>SZJ{RViuUwM5g4GIXH3!r6 z`Ith#P%bN3DEdt6C7|NOvwJS~1&u?M>PKY1ADl<`!=C3F_EaAP3wJ}NC_6d0Raqn^2Y=F^dHk`=fxzgBF@XFe-ASy!+jdNnqWt4&9v9U= z$WF=rf3&>`e3V7<$DIHJaWPI1M^Qw=8Wnauf{4NbYob9Wl4x8-aXmJ!7oMO7#nsgy zGn!$T^#E5^QBhe>R8$nagNWjdHy(dQL4BT$2kQlR&HMdTKhI>6fa1RIn-9$MJbhGG zS65e8S66qR)^bYApIT0AIo@Tm9canVNaXhn>7iy50ztD0LN<2&-L5^=0-P5qa?Rtd zWpGRHmQK08ijqs9>#q%^EsVkv@9Tqipx|W&H~%*9!4}cfowTl%K|Xq)UqS69oW1Ft zb1WX{_<=k~T6?+v%DGc_A&1UXkP5Y|0by7;RB(_>&TgjhKd%gZ!VK$c&1Z!qH8rjK zg-sym=b-3y3K8;4pjpd7>ycpBeiurfN81)~5S+zMg^AUM!buds?hGN^vX{eqXqeu= zNThV^oL_I(nIxmKu}!Fg$g9~y&|I36W@D?_J0r~9M8M5Hz3%GfySZX6&jBZU3BU>( zV#?4<#WT+;<>`I59n(ln(tpOW!Sjcy`#ry*xGT0qvZKlsEy)A z%^OXQN8u7AMPQD8UQG- z{nMXo-${$wm^Wp&E%KeCQ@%GSfrkwWZSreNdQNFPJuDmB^j<2j(3K#ajTNi&=#ZTw z1(Yc(2y~98r#p$CmVs1v$Ej}dDa}8!&Nb97L5fHB<#jCigY#K3=5iSVCeE>E?ok8AsV zUcKnEp(j*EPhZmZ$e4kz4E)v(j2Xmi&m9;OebbZwP#W6cy7(+chbx=4|2KIq6NVGy z8Zm*Fud1Sttg9_tQ`_&8d4;$+#s(M2ylCkYLrK6vBwdEFn>+O>A7zEn2b$vpU}5m9 z&Wu`J({IIoO*;>(YC5%ZiSB(|s_;dha2Cz-ngMI8*Ss$al?b?hs%F?~b%_crF>41l z>o6@^KX4i!I?eiPH2Ej9=S(v;4Nh{_*d9lJ?;oz(d-u+iqe)EFXz1s!j{0Nb?U3E<1st8+9#Y}3yVt{FcNIUep&G;YoQ#O=i$|}@()i`o6FyduqN-2;LPY`O-L38`=5Jf!-p9)FQSRR3W(DCLD_Ms#PzGQiBnsmN^M3aNhd>@P zXRP1_8CroGWY~v$Qq!9BG38pWO8!Y7fyj}$Lzu{z;XxLbDeUfS!>C6^z2Xg{9u;-A zm_}Ni9b)zn6~s$ev^D}Ny1&D&<3_-m^tm>{Zu+B2OrM1O+EjFTAo8v|8a^9)^)@Gv z6FZZH^K<0&qXS^!ud#|+2x;|)58+d6#RKEe3RFAv>yUq=iF?6JVo_BZo!OKfM#Gol zg1Hn~bpFy3JOShZvYNMO|jS>ZY#edQp!tNeTjKyM~=Rg(jjMha0bAy&;SEDuO zpjAy($1Exe1!4}{BaCafq!j8v*1w8S~FUn>P|%Y%?OCEqK~}5NK@1A19xQCavj-a zVsU7E?Zji%BgYwsaY`1V#`Vq_W&PEG(Ia49mJC<(WgVylI{^D;ZvlG>QAT*0{V!%N zaJd|llL1vBkw8z*jLe?U&r6}bd?Yu!Q_zSGOjixk5dota!`dDZ;0`)-+xcrV`?23& zCj?Zdf98aM9zf-UfZAVkLO}H5ch+Kqcu9Oe#Hv~}Qb(;0Wd(BhcJ6#DO?CL}6MQzh z&!74zwyJCbQ6C2H^;(u%!Ur^}l4p9_DM3@DqQp~O$||R(3*V@gBE&fewf#Q!kD!h= z0$;(4jliE!2^)d!>pi~QQ0$+nr0MBypmIlCwj%6%voDoz&`8?!-0^4&LIStR1GOCx zL$nD)7P?hyU7{_;)F`X(9-KwhgKMsPRA9i>*jnKKA0vA-Ij{$MOmJ?*9&2owxigAD zv+!GMT7dr}!8W*!EST7Yc+1ANx)G)NZ?F(57pv&hukC(!KB zj>*3%6M*XUVeBGyc{w0Ip3!9a@}s&?xrVYj9S@XPY+CtYb#0ObGqe*)ne#(T>>^!) zX@>@N{e`QuNNJ>bkfqC5X5zmmrJ?12pI0k~R%behLu*hj)AiHj_vo5l)1!)9p~?PO z(-%T6N`Mt8SxPe|?FzVi94#MDvGLQC0j`N9T40n+dctYK+_Siy-f zw2@6ZHg>wP&uSRpmZ3J?SP(B<8;bT&Ool=@yCR-Bi#5Bz5>&fplLG$*5hEnj_a*t; z0!QTyn??bI0Fn~KZLLmSzjbfm1SJN}Sfag~n4kK;{ZiGK5o`>2g>~$p81dyXr*+j~ zHe&29IzJ~QG$M7z6GhKP6ZPVm5U*EH(8Lvg4zZp1MIb)E_2ba5sZ!E8Q^oFfa;UF@ zp#JO5%kg!k;UI?aI<%CZ19aL!S8tcSwE-%G>N-|#*|L?Rr!@b@PTCJ_VsAbv+jE{u zoam$BNz=yJCTC{_8s=PUW3@#uFjCuMg_yV2-Y+w`8CI|C_ECXJFg@d3`g4ll+OfY|T(NjgKbE=o$VE zv^hzsxypZ*z_K)S`w}!)|k6W;+}4?VYMd|#nW{*GdC&SD+*3|z5>BCOjp&+GInp>;Bv9rww2F@E@o;8 zY4CV?$KPL_C*+Ugiu1dr?vKrlNobc70(6YCXq6$-P#LqtV$wb@Bi^n#DIoyHPn0zh z;@_^)VU!^-n-o!ju_26Uf=;iY<4#%NDk$qjSuW^SHDTQGCemeOo&^fioS zvI|d*6n(c-=mqlQwQk5s^wz3mrg-R`?YuyW?-;#4H=WGtp5Xt*D{&6BtpF&sLUWTK z<>eQ=bYO@;22x1s-WR_XWbKRM$OHP}3b8r!OrLKVeOSRaGL73a42D&yuUoJE83k!$Nvt`?`&)?IsNnS+ik~%FOWXZo*;zc z$Qp^IXmZ{cbb(D^kg1V9*5=xD0Da6v$8c4hGwtqZ-==R?yEa|a*5^{}l{-*TJecFq zg%oE)rns^Fkmlb38VuQ}2(2>b(}ZM>L$r0YmQBt!j0b(JL2Y*q~-PA-&UrjS|wOS8w zOI{>)4q>8}1aCYOz)n?`N;<1txz3uD?orKo@P+;;l=?gse6nEFw}Ii<6`8dj82baG zQ;52dji=B-{hzduBcUh8L<3O46Kw~*`m-jv*1yrNlp-6u8^Pn;$y++H{j%-e%RkT9 zDU=Kq-!8!{e>ebuoG}gt}hq zpCMf;l<)on(u7liB~2REL_^uFGDy3vx9@3g7i0bowy#2ymfBWT)g`|3ZY2XJkj7MTQTp|Gkhe5$(e zN!zh@ELc_Jbr^^pU4iSh{6V&mIl+$Jwq{#@`o~lw6jFtkb9&ncoDTxEhlJGrIlgz( zvS;^4P>s+OflWLcDk+-SOGUwBjX`rrr--L2%}2bBcQLw}N>k?vdiFS|G#W7dy@*zT zPmHw(@2|uo%{W)kV32&M1%x56!{HwbO{s-kc#wu^*PV{i%os(nf8%5Iur^~?A8o6E zB$DsmWAndnH6)#5Wtob8nXyT_Q9VZps;4};!Uhl#I&lZ&^o!MxGJ|)# z(it&KlNl;Lyc9`6#18oprHc57Eo9E)I|4`LiNdp=K@^VBc1O+%{0h)qeZ=#1aX@XO$r**>^T(0tlq`>HqXT<)kn0DXdq4&V-sB}FSklS10;O1S znQJYO>3F~lp)=r{;w&0q1*zKb2}=`-%FP$5hc218xd~T8!ZlgTuGVN)g+n;l;n^pC zo)OmH#4`%j#O^5CnqhM~3bbpcBhXI2R07RNfILTYoJfloE{PW| zt{M7OH2DF-z9#jJI+>&7_#&^@o?MMQ@Z0K_Ka#r~`(zNXt1?XB65loy=lX7^d(?L~ zAoy-$>z+T3mbB}O{iD^7nF*J0e5W32xVUI$T_uhqV9T!F>JPqzk@I3(wrTUJlGP+$ zFVcqyd#4P>bI~y65M*N=u-y}EeKV99yfEYY6A-17;Xf~tD~mXZM{lv>Ueen*;##(K zMTa^6tynn~dHaVs{Tuo8|E`}4`LXm|Y^nmqhc>bcI0Kq@0@-uuKe)##Z3R-PnBy*1 zUeb-_>3x0_#Wd(`QIpJ;dPf@Xl+yydW!sH5Wu;&U@sV`lq#XD89XNuEdnq#fUp`Qarso+XEtsv(EC|X+P5Kjw>6BHMx%K zaabUM>nEP9Q+~}=svLsp3S-vt5&}#i%ORuwLLIs&co&cA&+S5Q=%O9yy6~`{x@%^{ zW!fsjrdhUUeDnb%Nxki#&Uli$)Uv=Bh*b(lbtVXt%*fFQNXEG;?WsMktXIoP#9#N zOLqT~T>x~$yL1ki0>$2XojRIKLlAP$i_CPL_d6Y1* zqv)$YoY+MVeP(03g*m@a&g@gNnOH+;pHDBd?z7MrC6Wct-8nHIhvaN*0FuVa>qZJz zs=4ls?X;RZu%?u*WoMZFkA&CeI_Zp6Q#~V^xP&w!vWc6_rl$#^I5!Zbwq0s#)bZ4j zOK}8QqG3yYX8oS>A6yc6%By=8MVl5mg4?Fv`+4`f)9*AVmunT9kG7r)(Z|!F^6!gK zLkcN$vwvO82*2|go72deccjfbzt{vPuK$VWLO0fiB_%FM8-XF`&IFBDN=iA zDy_LfG`Tsya#~AP@uI5@m<0AGySk)!NgUWqPtECvlSX=bDFG6+YJg}D1_*>}!dk&h zdyT3eN4mjz#&L&~!D%&RMjY@ za;-=5)nZlk_Uz56Fxs|NCrY5fluvlivCVRnW zv-=F!JFP3HCa(=*m%7*jJt$(K`z#7R)uDl0qR+`sN^{A(4)|L0kV zE;yqIx}YPt^~GjF{Ks)oarT!kT*ry4<7yiynkFL%XUj({yedzfVha?kNPNIzHk_<5 z`F;$^SeAK12^qFZy+#eeWGMx9fxiVJHgHzCO7^zQhzSFCDDWPB=j*J$1Kt}>AkF%! zSgu$)iQ!9f1u~D3>{nLK2L*MTmC z)`vLX8ed%{>{EVRA13d<`7(#*-N0!@Q*ZSe!*%HxJqv|vT3I7W+zFzY5yQ@8H{r!s z;e=3*RmW{FO}*zWd=RZ@J3^*L3RmQGv2UkHBua6VJp8W}AK7I(;{_$4wwOMKGEtxz z{Q%RC#z#_b*}xaSct!hVi3$K{MdBI#G;!a~6yv$BlGYPWl7a~u8CAjzYA#m@H%i-P=Wh}{z_?H4cRluQP`qP!Z zcVJy^vf4UP1ar7EudMT}CdOZ7$&l}SWMf-gK+cy5%F~=@EPzM8!`&t?tWjYf6V@U% z)0Z=kuRZe8Ifpv=>udrl!#iNNRauNL4Y-$m;(Y+B13zo&O45q^3uVO)HXF{|DWVND z45S)aW-KaN)XEnM&W)VxAi zcxQj7-&(vs$UR#wP-05uW^JaI+Y3?=K`n#%S-%F?7oynYx?LN0Bm9@zcqQ<2ZM^4^ znn8w45pDVw)Z6IZA1T1;-nWy{f1U4W-zqAQ1vhm_MkiCF^0e+gFotQ}`=_^Etv&CF zC>{f8E-T|I)}krRome@IS2i@dQN<2l%2buHJ=P5^+Rhqh z?s=V?8;M9x(3{nyZC6Q->&qnuoyL}>(i26tHUeEiP z!FwIL`o&xa5L~%%p8ABu!d}H{wkKOB57nui%W5*GanI1HWn9OIqzB5WK;bYG9ZXgd zIWYX-e!|G^;Rlx#Mq=TIZYqqdd7Yy@xRa6N{iG%}gQ))Wu5lZ>Afe~DdoBo*=u()D zs~sZuxPcxT61V!@*j?)n=Occ?tNjM_wzaLvcxG@b6V$7ap&-fLRBkZeqpW)9=QuN? zIoA%|Et*_v9#=;)QfEd~{SEPaNx#-xnB;L)9{tCbP=VDo4ybV#b8;2a6vkYsJVMnj zph7?#MRxHGjm3)1ut+Ub_uyZlg)F3gS=k^YjcRs7@|fV=a(ti>|D7Q&*WEr1{8WtZ6z<;?cx2q@bl|y`_^C zIO}1$`i0v0M52Qu7*g!D{1X3EMWN$KZfh4u1y3!8*)SL^HfaCC!rUFS(Yu%8dCt|g zV<^;ZS-2i8+-+H?qAHc?t@ceMgN(|p=HlSChUaao-UVKr@P;S0m++iETXJ73b9lymMs7twf zZ@rOHt3S0y=EkgqHVK5MF@Hg4H4nuTM7fXo!h^E9-%A5OBcLLBCHo{AV#mCsao8Q- zd_Y9=W>@zf+-+aw&)r?S5>cGM(mU9n^-XO@eJb;bu1+$Zp#I6t@l z;4!yz2hYw6Z2!RwWA}i~v|*}sA{BIiZqdYed^e>q+0uvzu_JBGl!Z&2$!@dkpfA|2 zg+&_R0^gVWdH3VwPj&Ox+37-k6QB<~CE&ivvzb!+Ta%!@y~8#(ETihRgSw3#)UelD zE+FQ9WdA<7SNDZ=<{InNrhb%|DALvGXiuLt9Hq5!+Z||EPGD5I=WJ**<;TK?eYmV6 zyst~wQIuw5SGu@P4Lio|mag--rE64pN!KRaA(V}sNfO3E4uXDR;)iswRtnW}3=b1D zHC8lnH4E0J9`8eXe;Qw^(XP?3z8O5p)sUINFE?OMnDsn1-LFj@b`~Rb@^TV*ue?jl z4%D(Tx?n4KscJ7y*N1clJaP`e#{;~QkzBsTfidgv6Lq}KoU&$cv8@b!A*s^PjU~5~ zu#xT}1= z`w0Kfqn9j%2)Ln?xU{|2pY|n}R;^K+IbfOGR$Ti2>q|dn9aqrRlhz+d&5R*)?N`H9 zbh?Kw^JmUVS+u&=bOHv4c%>d)^pl!lBWA&{(HU->=ibj}h%m>DW?nSj;o@7O zI?XyOV87d(>}tb)yHVkQ{V*p`Gh@H^DaCm25=kLwTTg)9-%hPtdC|nAe;}NP5t7_& zP}+*S*8OAXe0eVP)%{-d-zUiLA(3UeeCm5Nnfsn=qioFxJ{yI5No1mZI%Vtd;9bhr zh~Qny*4CV4A1GU!g`I4zhpbE$2+$fPQ;K0U%T7Sb4cBZd7$ssd;mWog0Y$$XUl=UBUf(%K`EviLytEoo zEbUuokanDzY+ZQ`GrZTI`#Rf_2@z-*?LDc0Dh1S==2#_+Q2Z-!VTcd(ap3Qgf4Nlc z=F&H}aF_FiV7M74mn+zpejzh8yAik*@=p-vXCU`%0~wm=-YTvbGMd!+pHSyqd5K1d z?rkE}&uuN>mY*-+#vbcIyL#Iu0eU0~eRQYQ-xEz_mG_bn>R%Bz_jMuoTa$FFXLv;&+bo9%Jpy&zy zr;Hq}we--__O=jQ26YLw--Fi-!Zxf_j`v>k?m#Y-u47XplqDm3vr^2r-5 zWS--#HT+S94^sGjZNg=N@p>!#Zr)ncXOzCP!l$%JKT+W=D)*E&;YTU_RfQkiCj4;0 ze^}uMwt>Hk(%+=;?RjHb`u=Kk-DY zC4@M_*el1EtwxdR#8bduM;1pDn-oczgxPA-=k$s`aB5k7?XYvg^NOD*89IT^D_(6! zn4i;&+^NsKn_kD7ms32Pus;Bgagj-FOk1vaT6v}DB=eF+6T1J#TTGtP}`Y)=hc3!rOZv%p5ry_?_}WEXqNlI8j4BC!LKu^+~#6Qgdh4ZTm)@r6HZ3w26X&_;T*`~hNs3?t% zeYYpm15)q%lc-hxKsRp~mc@?^%1oJ+*1= zpHIR>1q3()Dap)0YDEeJO5Z#{de_y?%jevc39CnaRzEa$>*0^SiyNoz1J+Hm_yl|V2=JWBzD<5+^HJrAzmJ-m=oUgMP%S&h&J5aS$&4*sL znk4+AjKSwT&0r=$8QyFv8i)bxS_7uAEY0#I;XBtIgBrxgQzJWEc{S2nuGt`)kHmkx zH=l7155mg(ZipOc-F#Bh#HFO9E3qcciwsSA5-_c71ur%)sTV0Iay0?sya{|)PswuS z?^$>+Dn=nS8T>tQGU{(r6XlUDuojcz-`7^BjX6X_yDt0)A(dsYQ7g*!ot(uB zhH3BN6x!*fd`yju;~>c3l-8rfgvtU1k?BqK1(#9|@La znu7+NCtUd>+k0E>VBjQu1~#Xf*`-|?-^Bb*)qCCOb);=b>3t&F>&3j9E?cax{Vk%C zUXL;#-Dz%4F9)bK%j22hh3=xF=Hp56o=gUr5s&mktnA&4Sh?;00}+8S^VjbP>RfmBUHe9k5fRL0s=AEOm)3y-s|GJ zRexXv-D)!P#5`^3_UjOUCFBFp<^pu30A=45^B~cuG8|}MirNl^qDgy=Mhv^A59Jm= z*OSu=Gm%4}sJm?7WUY`qN!Gkoll=vMUfZxe6*h~ok+}4;mKC=iCeb=ujYOl$K;oUk zu|U#J3mdjl!rbWU+Nd{MZVW|}z8hGxM5Zv>xSETWje;N07MNO~F*i>2H19n8C$W}9 zlSgaFJc}R0%RB3hV4!Rm8x-goC2y2dvnb9+IcrTmY?M<|2L)3vjdCrM)G4gQO(@ZB z(U=-Jn}g{Cjz0zVvVJF;v;2E3Y>|Eva=DE2;lEo_kL zRu0H(4L8DCYgnHOnnInRT~nOExjN1MTb@RmuW>94TEM6Ky8a0H$3n-li6Vd7g<#RX zX<An}n~9u5-w?f2W;?>GU;7UuNb+c2b`3P2`c_!M!mxrY6+=3zR)cZ{OSLX_ z2ddf2qIAek5ACkTI zj^p$f&uBNLv4RcH;u%qJxepS>UXmkzV{>L5t7cTG(-Ihf%8T>uW%r?9015j#GJ9qa4p ze18_;{j2n|t3ETlwe;>~!oOMzeP(t?Z( z>4|kf&ULecS=#qMA;h1{Pf(1NJybDQ3yWO?ppHP7D0@(IoeN|YdgN$oei~oy+|8#| zrziBIfzA%1^zYN#UHni;IMaL`=WTx;VJ%1alNB#g`Xalp(S?-$74E6lcLxD0op&Ur zq?W&VGw!kKx~aRj1Y>hnCSTd$o*e8QHRL%Wf@uw~PQxyLs_v%$yW7wxD6KAlJ9_ zZ`o33RVpc>DL7WPp;rqQ)%Ka^Y1$=`qCd_@>Qd$$BRpnNEDTTFR1izO2f2W}i0-G}6EI+ZJ_~nzJoD#gaMM*t#(DO6-);)JMWF;q zywk9Y1o&*w{>Ay+XyA}x8^J0O2HQj;0PO479YGTK9b zKrC?(dl0u6vX$gFdX0Kk&gKM8jf#oWyQVB zx1-Ghgsvg=l0jTZAGgmx0+EHH)eG47&218FqtH(__I{8cF;i4dEqSV<%c)Nn)Q&&y z_=lB19!4l;gBxAxldbf0So&!yJrg-gkuYn8cr!itI6fURzYCFBX2|?LL}pV}FB4=S zZa!p3vsC2hi?lA*f>g9BxX~@m-TDXV(ahQj@)jy#Y6K?$H!u9GsOgKusgfF`$D<~j`d$d3M z3VJyFEs3_nIGjaNlQPu7kuP#Z+%=2{X6*(jRZ)ba#yxLyc9gO1bJbCf0Qv2PIPB1F z1{^5)?Plp{w{k5HVp6eoJNQgzXEA^TD$={|W@lJZwY(d4)J__RO{BIG&PA}q7(ONu6nG7dppSY z8sxbKIeh~Ovj79oqPv%W=BqU z0+gYl6B~P3goI7iiNFM+&#-=sJwnH772)fjI>YkMavhD~RQ+66LMP880#fIR+9gyBaRvh|6ly_uNX#$~8~%Tgp--19C1c>|vra&Az(*vmEH!v%$TN0@~mE9Pz1lm4)jr~V{4m+48^atl$G`DH73*VEH; z*jXiPYUiNEk*Uwqh=4MADc4svevC3a-?G&NjZ~A495sg0fhHp9Pm)_uShd|tIucQm zY5LQGpVb)i8HTR|ebkXeS@~b0lNyzP)|GrVX$>%&-EeYAP=qJ4H1TIvLaPaLOlG z#4I)T3U?6=K4L2A(y=3Xq$4NrYbwk`B_z&74p1a{Y&1^~-rLeLzhggo2>uhmhMW{W z^Ko+HXoHzvPp>Ru~)GGM<3UZhReUFiI`~O z3hMLFYE^>f({P2e8t1V8N!1v9r#6bEV|VdLM;7vHwfRvl2#tIE2Ok9v3i<{OMrn|~(cn(zx29_JFc5Fz5qeOre_JlL- z$=U`_vEy2vhAZy{o3w7AE8^Y4)nAlW2X*(RNL#-r5?(`%Lg}Gm(UQVw38#jXa4rdV zU)CvTfZNLBQs!G3d9+HP6x!rfVb1_Uj~Qh%72ji8S(80c z8TCXjSPs?g=1hBX{iQu;l@-BJQiB!-`Ig#qM%i+E&MNbQ{F>J&-P+*0fAC$Tnu6aD zzJ*_};JaB*zMFUo-^+M1HoXZlH1;KX(-=OJM+e{&> zBSfQ#*wH+{2O}lKpQXx@=*bv?WWD+hoBeW+?SYQ36NM(s7ux`o{1P_6C9Ydj=ZDnP z>P*XkYXSr`Ytkdu9l*3C`(|rj6Fntg;7Y>jP=C4DdRsk@bmU}yt+&mVzLOsOCyTV+ zw%{PcAe6V!V=BNk8D?cJ;RA;=7tr9PQG)PPEsVO z7{=*72LdSjs$7GY!b65|AYV)tzFN`bt~w8wH+5>W#ui!on|N}AjV4+reXqiFh(|Ml z54n=*>UAQZJBN2E5i$ljxfP9PDziGX6lqmOhn^5^s-+?(cB}Nlg`PAsBAo>+rHnS! zgz@|81$zx^pM~zw-AQh5@kmJ!n_UNk9IU)T#SYt-@i`c|(vdr;b2M>?2L4-7kR*Dw zcu*Hj>@QE&6Ceb;I<#OMP1f_F23C*LWw?87Ep3_I*L<7K_?(HMX=QIISK975OMOF_ zA`{1<$@)^xvaz3P94jSX6e}?&u?C<|1#^>&_!&rsILD&`g>*ABNoS6jG_-Uu!~&gIyR7;)1wgN~+` zeEgmL3M&pXc<3{(`1GhQ8UUQE#@E>di9I$D$smuoB z=4hg~4aP91)2SpCHEm>;hS;S%=Db0hlHxL9r#6=K;(KQB?K;vbu%Ja&78|>P4THnqp=ZLNo{rl$JNAB(d00 zCIIy|vE4(n`Kd_{_GppH>>DC%lW6dCH!_k#v-VMFHh*D9DXZ7`x|Qms7cc#*QWut2 zrB2+VCN+LYJT<<8@cO1vik{Fks#;T2Rkmr={)99%jT)`<$>U9c zOK^KgC*FX7|29iR%-7mzr5R^Tu;WdzDxNyp_0+^4O_VqtH9qCLuBg`0SYghHr@^Bl&rCzV4@hn+?IO9Yv{S!D zerGar(X)Su9X^*w z3(PB;h#k(mKVS#lxvb9ntJvX27_to&E*1D;k$+QMG_l$^IM3$tF#);c&gP;q5madX z8O}zXXLG3uhUIYFObi0Ld3&(kk$vFhWb}X3#COVf5xm10GaozV)Kk^V9+=c+%9?Z3 zjXDv^0dM|2Kd7Y#kG4&Cl40o~*;poEz~tM2%EtaNGN97qGJPPTG#Ywi=R+dI6z_DK zm#tC>H-%Rts_$%!Nz?zyat`*-S9^sRbPq9D00t(0@y`y?I5QuOm+#9*V-sj2p(^vh zMq>~xF|Ykw-nHzfax3-NeWK^$13187qCVFe^NjUCk|3{J&%A&1zh9;B2dvQS3m%C3kCF5 zz*Cfx<2lu9C9Wxf$w*DAlXEZ`O^@u1va0{#hXQoCCLj-^H>SbXWJ0uok06N6B&+h%tw13SpsfbbI( z6auCchF8^KW=H6+Z6@^R7?X}ntcoVPw1Hj`K;Pb=v(`OE(BG9>k{L0U&gy-|ou2-( zRYu;OMDGt3aGSg7VNV6TtboNXV59p{Y;5G-m3d~Ad)URl?E_!{%YMhsv5XM|cXgIJxhe5-tZ=k7p0 z_v#8_fqY)?xM3?Oc|*0kp}^U5ycq)H3~9))-SS{<^w58ub=Lr1RU3F!dGK0ItC%35 zrY7=@5L4xZLtJ}Qk5_)Wiv}gnzbhZr6Z1gls%?t1fH79iu)|{f4Cyopl_jfPdoSBM zZ!Ly>p?vy1m}I%MD0?>NNo@yfTrfs0xS!lzb^VUXX=aT3nZK)H*ZY2Vs);^q3|GBu z%p4G?PO5ZnMN5LU<=FL41C5P&p2XI2Uj{cNYEdN=9_! z0AX!B;V{MYWhBCp6*#DexKO*7VB(w!t+5F=xniAi=U@V@sR_|GHPP(Mz9WCk1dDp^ z^LnsQ4IRI%=j=O#ip|r)x|B|KM!?_ca{+V7Wlzb=a=W8A>74DHk^l?q=nTS zCynF7sl4hbLe#taH>)@a+dqi+T<^K#j{NpL1??)oeJ8c{_P_#`YhUMXoZmB@3CzF8 zDnH`Guh>p~)O1{lVpxP1LTTF8S@2osng2T}HEtt^8tS)a(ommbwP>F(-6r9;-nuhL zxY*1a&S2vCw_6QNF^neq1~pirXQ*y@eB`DoYwaVLsubm@Oz>H*L@tN3_oPLnA zZl&gs(4WiC)JWp0+-Py`uwb;%YAe0t{{7pJ7CZSHFkmOyN?Z~Dscv7DBR8Um$ZoAw zdB@+|3OS^;km|4yd7DD7WQRi5eDVwR$T44|oW>U)F|8-3N4=t=kUyFin7={2x^mAM<_Y1i zd9S@x{^pkaUb{7k^LwpHhK&*bEe%s6o43}XTdodTkjWJ98*krC_ka8g6x5zb?LZEV zavjc(f_P4T*P?Arjm(&lqhN|YV-)<0D}BkR_NDK&zS7yVLz%&{b!dejAL*Pnws%rX z=u84JPC>)6GBvVYYpFfMQom!%DRn-uL#c~C`h_~nq%dP@*voQN5A}I(;hvlXjR)}R ze=s_PvUufFU9>nLR~444|2@dgZd-sWhr3%)j-A0Zl0EivoJPvTy^1Z8rl&N!3dV$PCLLl{dBWZU~; zW3?(X)3GjUfMQuFnPglE;g!Y4sk~Jbn*j5zwo_u`cfMECNYS1sp32Pff(>@6d_46Z zmT_D|d${a$1yMZ1b?d{BRq~rLq_NT>df2AF|>kGB_7hSysJG_CUuWKkX(Z zBWx6ujBODV)({9b>3}JU{0BLT5l5 zu+xvW*@GdpAmI3gK=w*E=Ms}|3DKClf-K>f`x@`r*klUwpW)T4{b%WGEK`uFk@CxO zGG+&Wnv6M%n$p{k*|)undG&*h={sh&Y&tv9&x+Ay(8Q*n{D}|bWM%64Y%Brzs?-Pmf2=2P ze3fv)Y&jOG{*XGZiP@)Mikj3}OKVc+EsORSp?mDR+$|97>%q{lI4ijOuALhBfg_e5 zUroMj?7w6(p7EtOGbMqZr2?yHl*4Rnyiy>nE;Ih$K&yPXE2|UO~w*q zH*PdjXRuCz&?(hN6Zvy9o0)vLnT`Kf$_kmzrR` z7`kq+@g`irQ)MN48Co}J0?~#7EZ}M)oVsLKocyM`25xXg(c~1pi!)E#87VlCFBDk- zN*hCi&1tdXMSQ#cB@(m2I>GsG1nUF?mG^YM!kC3F#>x9^tOxPdXG;C+lbSXYu3_?dAJd z?`(v8f2uK*?*redP5tEDeVRU^^+Q^`#k+Aw_uoUM=lJ@W#`5pAwt=TOaQ!vjv$5Bh z*80!z3Ont93GZjv>7YA)o}C`NasBL69s`Q3++yn3X**$kwGFE8 zH06lC3`Q`be~)s_pt|Ys_C&wn?TsM%K^KNZZ&jgjFB6LwI0tRLdfV*a9Jke5f^fZh zoh9#`-*sG+g9|&$A*5bL%()dd-NZFYa`IV;(`!; z?Mq${;>VP&AMt7nH^jTg)10E2js0_{Jk(Dj-j}GE8ad&T9MO+}?+oi(O#~KS^@sLY zZ?Z91zx(%J!1|8u*N^pd3vYw8ru)aO*OO2saUMiY1-fW&xp$wIgU$3uUyQsC;!LwrypU``X30RfD&HrD(y^;s+ zC1&;9uHzoS|6lI*UqkK2ZAr?6MrhW$oiItM>5@3%)2c6-~f z4;A)L!o*j2g&r-mF2K-~m+vvsv`owkxKjbgxd5p+-Yf+ioEMN*z&?3d{-%I|c>yOW zpfoRFtOBBW0iy_rcK3Ip&*6`(erh`urtQQo*(bo*D?C@b{47S=mUpINURTT~TKh?o z(SIb!9qc%j%nvqHasduw==)ZA{|UMXpjvth9zCv;NODaoDUL`nI2Rc}YK4Dr^aFD)MIc6!A#bw_9wb}F7=}9CujzVmQ$XbDdROo1s+uJEB3-cf z+4Q_i=(_FWd|0=AcY9La<5I3qNDlA2esNP~;cc4ejNj%pQ5Et2Vppg2!Ckf8`r$rr z;Re@@8ol$Oeom}^+J>S2V*^mnZVz=yzdT%L3hGt?RL8pF(2%MR=v`Eu2P(eAdrKF$ zr54)az7}nI$EB`Lb!8_F@1}@cq|`ckH)wAusAL-c)x?Edu|TC1UP|7yUujIzufefv%m z-RapJW@j5%f6gXSN!mO!NGIyDL8C^Dw25~n9@a8mRpW%9B_cr&1$q~Fd^#W&52e*b5 z(5bYTTf`FB_bO^J(1Q?Kt?{B8O#T_e=+g%DWqu84SF>A39#kaLx#bRl+bu0+9OTM~CeJh2e+prr zX=@_b|CAo@b+aO5B2R4X=Giu7r%t7+kdpA;pLcl9-pljCOB5J{m*%}|Do{!|C%q2g zwX@tqaPWCN9!Z4O8gSoZab55BG#;NxeoPz?V z-lxSyS_An|SyJ4_GJ&m0^{qQVhXm~t=Sew6raFaXB4$T`YGe7NhH@|0-@wmo<+g%P zn-(gy)JnxyYe(PtGzg~&vf*9+xjS0N>o##abVm+m38$(j^a-b`Ojrr8O|8*BfpUY2 zE3NRd^%o%~PgP+N&tUA-6ReC_naE?Cxi%5~6)gaY7AdI1-s2H_d=7DxS%}xspt4-3tn3V9Dn-8&L>oA1><&(++ARwng2M~4b-k1fCpS74M6|l+ zps4POzLID)lqxFjQ6;6S&*ll&%)%ik;F`-NIm9(Lk_G*zCRNI|VHjteF%E6$$R#Nv zKEPt1HehV@;FFC#6Njq=$4DbOZG+#?$VDF_brzD0l{fibZIoX5<7AAl)VcYep8*ku!!>?wnn}(pcL7S1Hfn@ zz)az)sH{56c*0AScrjG=f^_iH8GwxZ>AUS|mdgH5SC$h?|&C-7+>-`$ts3fqG$~oK{s5%X@(Hnp~nS8R^(lJkpV6 z{F;F5Eu(vS@Is43BJLgZisU2Wz*xn$juDcJX)mNLNw0Nqt}{5dhHzGCYg8t3nIgf@ zQGW1bOAA;pV5np#h?tG}w6f}&ykC8fUTf*e7j){wx5)3*kv~junS%%(AKC8oo)Bsk_l{|lE_b^d1{jZbo!Aexu&o&UORx4~kZXk9ouk@uZL(97 z?3?wG`l4;--?q!_HPaIzXL6PBgolY~XPEKkx#V&uvg)Z&s(?$i`;F zNtSB}ang3D{M3ylKenOR_ZzUJT}OE!*HIFI_8!bBQ(Kcj8|S5i+5UxeY%$L3>BtNG zTHOXxx0>`W_wyZ3596kdZ0xN7$>g0T4&H`kOdLE4Fgx^QE#WxJPAKI1K1v%~Ip5CX zQA4UpM0Z+U9W@+qF;U{Gs7Q1DmCG9ktaQPC&Mn* z-%#H@MEw#Cr0K!iIMnes3i1Ar;r-hXZ+ydOk*cx^YmW5bb^EKXvF~`KBV9sh`#Wf# zS|md8Rk+Bi{e?k$ZOh!=zN3K0-oARue$jz?$w0luuhF!`fm#%TY6?MhhBDb$3Q!gI zyM2Pk3b*v&n;o2649-0v9PM5s@?RmG3gA?wRvK1Y8>l}5s&c*qbuysRk#~;^kf@bN zOpkbyZ+8{aZ^Rtw5%&=wX=c)eo=mop{ z1BZwLPMdV+*fxGxsLhU*jjIYd(qIB=$KS121yiV}yOEPtJ%<5M^Jh-b=7ZC($CoMq z5i+WO4ZDj>ex*jivNRci6-|f5E1JevS2dluf74$^vw^5a_`U|-56v;2Dg|GEN0 zC3d20XYESoHk?E)(hG^raRIY6T34=ll3&iI_#S^adJQ|+Eh+oVomfvLXzX07D*W)o z@H3iqn9r5mD>iZ0cv>?W=%$`qllqT$4b_rbCw&dSPX!lNr*J=SRMRRqJtdlWRpUHp zTZexd+(kwDPBwN0ZD^GJKRM~45LuEb>#$Yy)zme}!W7Nkr!-%GCCEWI1E*1D2^1uh3 zAo0D?rWO7;!9N!GRbc^kpy&lwz}#E`|51jw*cHEo%}n33iSYO;ycXYZM16CR9o0LQd$~EP_uMPAf%dN zQktG6oze^j<-D|`rSB0YItq?=J3tV0LG!$$D25YhZjt3lXe&6*zY! z6=406ype-Add6;JsA7&%r4OtvHayvF41cf?E&!``h3F`Za_r;02lVLb_mn8~uBbJ6NJf%|$&06hquN?+yC;p~7!yMJyb)38CpyYtm zaIZSM#I6jih(7QQc2%#i0pILO9o^r?k3ocRehioIs3pZ#cYNCtxu5MikPhlqBy`om zYJUYV)Nq`!NyE8qHJpm7Mnt<~KGt2@&szT$!jjKSWuT2VU9N5yxJ)N`&&Hl0l|PZ! zsgVm$M!!PBqg*t=!X|VMlF-Q%&tp@K%6PiM4)!MGw~wrEX4K^vypfxkMCLk<-;M2_ zQzP5A!tNEq?&4q{(gF5U4?EaxU3PD+cP_h_rf}Jn2AmXqr44%D(?vo_r{yiNsPq9%lnvc-dtqN@1uuSYaeZdQ zHQ()6;CDw1@80bh?w$wN$8gh+ z?!a)f8Ti=$bz%TGXON+fpyc`K-SXE8n*oN ztW^U%_ih8WfayTUANhEe=9pu>5VzMXBJ2>KP0FwN{r?-p<@pe=X#-LBsQ(W*?nbt$ zk%hY0;TtzgPQ~KVm^gQIosm83T`I{?-FATv-pqR<9mtqNjov92edG z0nt(cIV(yXAJyqGwuhn3p&Iz&OK#hyO$Z4z2`nM+VNSu;xH1wI?mlrwG2?ukkOPH;O;U;}R7qEp_q%e5{yKP8M8WkZK<7z=ezn`@> z^;J5X+qGGMW2)DB70dT3G9An#6F*wl(Y&GQOT9`BX8r$T-u*TFOpQ$Ey!(K*P2I>U zBh@RilV*ya+_F8B?0NrsX$v*SM>hX+=*g3}{UYxwix*@#sc_ZYMAkE}{%ARlNl!Rb zZ_r6viuYi4rI`~$B5u;z)rjeHJN+`6SJ#GEhv?O0w3##L<#f>M)Thzpg?PsJk05cV z|6g0{564;kSDJmd_{ms@`g5J`dUlk!`XAm}e|Rcab1e{J$g9AFugX?2^K%PMSC*rcHf4{(0%Os$)L5pCYrY`Esi>}EiG#GZM4`|Zy_yi{t>s4Ipm%i zSy`V$bh(;eh>mfHZqWhJi|^eqqJKT?*C0Coh_;B%(YGObwcbKRfBd0sqtzB{sL>8C zbTJ!fv^|LK&}dS)MZ;+Fv6b8-8%69O*0j*rIx)3VqO>fp`DjCreAf4y$R(t)lDr0D zEgwqy9%(*fx#>!cp_JwSPC44>?3bxwZ3}JL@oL1m;b`9U& zv`M1dMvmp02uVe#NqPP?XwRWP=+%0cX1^Jz`P1~(1|6H98ahYY@Q^=+prU!`{CJLZ zOScrzQH2ec05o~nhQ6{fBeAWlfU_Srgq^&t;aw(9&WF$LSinw#dVeTE8w1ZAvw)|C zCbhkPP#)Ydyk}!Yz_d$%{wH|H=D|DB;4SU#*V^d&Z3uE;?JB&~csO=heiUC>?X4Uu|ZSK(9M-e7+WT zyEtY&fZOYJGHr;vs^Buy6`vQGr>x^-mWvn~9y6z0#*79YY)O3#`u+P^$Uip4U18BO({Xc;jJ-_1^ z`rHpB+X&s`CZ+oY-Qz+_<8+VpjK}pvw~svw`A$Hfulh z%%8hqiGJBZp+s+8lMI!JCz;lXyhe>%e%uf>9))NlQ>!+HAXkvIdeKLvzeJRiNmskc zN22})WPO|z`E+4y_WR1DH)Y-C(d1MtlZd8*=z==*jMJaxYWc{wR?~*!pX~V#TPogs zc``XPH2j(L7;60o5m-|r^AFDv_qHDc;>N}2nc|N&ZBN|8?$|JK2i1kdm02U}w@4%e zf_y68JO(poRdQEy-MX9E`G(wTcD_YGcUN+~Ihr}}%W$uo7nktnE!e${ck-=#+9e}- zNoFYQ>bBV$6?Spkuu}D{OxS1Rli}FjN8g9>x6?knd5vl>+iTin}Tx z-=p}Of$}J3gI0botXZ4Kce{Q6UACp16fM8!hb=UIsiuByb8M5J<44W}Uw^;txemY^ z(QjJ>?ic#))0QTjGxQTqw${+JrCx(M!*6)!K5mlwS(EVG1MSxCCxxkGV7C(-Wc)Z& zDUVWAYOy)LM4QfLB4}0;rXVNtj$Os?qcEj#unrI(g@%+$K5Qi`9Aw3|4(nH#MpYUV~eYz zrEfAl@`pN7YRHu77Ny0kV-G8?kBe(LPgPK{dhYHD&ByWcx)8@zdJAzJB^;BM9OJF> z{>~xbpWvQiAeM*ny*|g~CY|G0m;P4Fcz)g_Cn5NG)M?0-d~$xtFZ`F1pKu8OQX&01 z6w(-`2=C=`AE+S4zn5 z^@o0~P8SZh(WW`7q3cJ9D|q*(2W?avv=M-04fTrGeAfn0aT`GSYb!m$m1V$&nvD?x z9~&4g3b$!Pn!43+@I+A51_r5{h<3}+N!>OrQidyG*Xx_w1(S|w@*kE!%W8Y8QVT|X ziCVO{Wdc8eZ}8Zlk54?%`uBbSZ>b_$%fpHPLLB;nztR!Oxw~=cIk3!aZta(Jk>9C| zwvuxN;c5~a;}?I^Msn`q$Ukvs{4u_wurjZo!-^6cwlX*G8_3?WX>NH4;2T5QG|)th zfV4vbLKta(Z>*Ayov0GGYZ1P3B2@PcE+SGF&c=2U;;@U6{t#!!s0|PvnT_>V_7PUu zRSm4^XIuL4kq1z^VgPU^Z`s%z|IMSs(8c%?a&qDaGjVDDJu6+UF3l&jz0b&F9$mvc zqY)sQuQww6uzJV2+*r35N$tfGX9!P>Z(uz5xMCW1t{N<+aJVzQMJA*i-=@FKo-8bdF8;~_;m&iJJ?EFr;3@m8R(?d$ zae9)ePMIbI9~JtT#7A|yOBq&^)J0p9O2i`kRtQY3H5E2mCmIz=W0$}J`qO(a-brWg zr9pW0z%MwizH@ZS0LW$DOusj}1%*2zRFzrbaZw@@P=-Rqw#*X!59q0Uigo$?-RtsG zb^M`HmxHnj)4N(ue}ZDUNoVa$oJX8tml?d*Qcb=PspPX=%0zir?B%?V_bVlkcCkqE z*OAE-StaIM+Oa0_s$n)(rtU2p(@!EuYBAnd#~gr4y*pTBV~48aD)zqtx$4QJC;=KL zfFP!e-SkJ+9b2>Z4zs>sfM+@57|F*{eh8voxDhsvr~c@2qqUPh9joDyjvUIbb-Ban zxvt9%Q#=O`EThiq^$+7I)4tc?24RIBsX^VD72@f!C8+feu2qQ~GPUM|Xyb!Ql&M`S zN90T9>O;M8ZdreEc=BWdDj%a>%=0|aa|S+fTAFwj)fN=X(d{<;*h6S2_|{EoP-P;x06-*l-3I7UFq$e z8MO+oNqtw7`T)Pp|4OtlrXYWH7l%N|e^7bTo$zDo#QYx8D1YevQian1Mztf=7x7V1 z6IT$;*rEBlUIn31t&Uu2q}a-Zs)9H35Cyp=F;_9=LJ%6~!fE1M^}N;goMR%%wwp^P z*(yqW%J=waHc&x#QUes31g0ui;)s3rU+ieauNR&0zZ}OC(ZaHXtz9@7G|Q2Z7F17^ zz>uucg#%;t&FVcnCeYk_K^)`iTUdhRka!Vwf@;E_-Y4;{PrWyW;WEd)^l6asHLYFh zoYL0K1?sN)Q>L6y(Z(A%29jlCZ?6tAzip+OEV4eDJMT`8iAOX7Ce0j3^+*i<(?D65^#iou~|U zGO-_w0~tQa#%8wcSnw_CPa)@^sI?JBmYGbdB{J-UO6SsTB8>{?*pPR%y8c86wRkD- z?2B2;EBj&);sQzAsPO@H%3>!D)y@wQMcCjiU){FA+k7y4-GVNm4G&}R1XD*B3XG0y zs8H#O8Ac3RgV&5Br)p+Mrd)i!BsFShB8R{06D*h^p~&eOJr?zR~Dh`ZKx>;JGr@idI2>tT%Az4I7@`*SLsufJ6XQmdXqEaVMd zAz9dB>l^C=e#s2pchUAa30af+(7TE4%%bCQ=JJ&F7JF*^S9QavH4-99qe?vWWqiQ1 z@u6==FB+!yh642pF65Y5ZcckU8`~Uij~Aj;C>SXw3i^MQk3DG}N!m~=YhFl*Z)=R_ zTx0xKBZH9^{;MNK-*Kftof)eqtt`Iux)1tZ<}O!fUZ$1JCYYDl2X~jDc=dT!j{&o+ zXgV%ukbs!=;1%u#1y87k03X_&ev;nh4yw@+ZnPx!H-k6BSWw02+u%w8Fu3LJWg5pB zi&J`tAR0VMRZ~=Y8m@^L{ptNO-Zd=heP$4zjlJ_9muto%bkg%RjBxwf7n=)$W>Tb` zod-j^ZbKOJf^frLG~@;4kr%LIzYo!dW-~8h&*k=Hywh{&Q_;ki0Wzgz(Vq$n2Uoo> zgk1Xbm-i(yGh#Vs5qQ%_;GMFkyr?oGK2g9$3YckL!C#~}j`E6+cVr8yNnHPGSt|?Q zie9uE6{^V$-?L`ux|-;yb*P4$Jg9oqME6-I?XYPx63CA$`R&9}QzKiB+^InO*I|dO zSNUysi1DAdo@kofd7-jP#wtD3O-wear)WKC6;IC6#&=tHI4A1~*j6L_lK56?K@m^2qa>m2 zbJ~qOQZ2-gIsvVho_H(Frz|(4Ai?}Fnn)3?oP-YsUnKop($&-E>B$&5CSHGGQNiS` zq*U4lhfuwYh8d7at+3uk^*R< zGK;JXbP>`;tYYG#dqWVP4@rzR>QzP?sYc3C6XdWKB3>56dr1lrce>GiPB#K_pCH|I zB&60X@=L|K-r&tCDYDiPRrt88MM|G3F(rK^k96c^eo@jTJLe1QCO*XrUN9X zO#TPTV`XZU*WtvUGIcJQ{4>yRbQ8$SVDeC#!`eoZ|00F;M3#LM!KBaZb4(NhWa}WL ztzHI|Q>7$m;`(Ap5MgGVFx5|Q%CdN*-uF7}-jUDU(613g<5IkS#h9Gd$~9X`3un{d zzKQte6KOA+*wfTAXd{IN8V$1+LBdO=v8IWWBK8zx$6?n#JT<>9v*)8F6+C5^P|uM6 zt@R9=LQk=~I)+&i^b|=ft|lQeCWx>B!p+5mL!A;EBMUxt`iVG_=ozo(&qTpAV5+(9 z^{j*4;BCFAF*5um_pvn|VpK%p-|rf{DV_qCl=MM3N(B~-s?<|nw_lKf#KqR?D%GUR z*id6nW*7FHV>AC~57(9K2uR@Bk&yNbIuhT{RetiVRyy(dL40ixZwlh;i5ukt*65{{ z9z#SesvaZLNUdH5+`3pq;GE%gdl_7{jCE->g>`AQrMh&Po?syP=f*1+m|e0~oq>UT zy`JDUB*U?7}WCYSDVu*^x_XpFlWQ6U@Zkf1g1X%p0sas3qE$HzeO| z`tAo3-#;^(dc{;vXMU1YV^-I{n1lJalILu$GmviGL+MuEJ@`sAk9MhV2%>9UbV?Al7VAlCfvb^jp7qz?8zeThvwTB20hX9x@&qk_9 z9Hjbpb;3SXFVqxf&Rg$UIOsvC`jByk0Ef4mg117HXn`KktGlsPeIZd@TvXIh@9E9O zPs`$%xA)j2wrWEF3!V!g{4Id0H_HXwP-Co7LyG@|oB`;8BE0@kA!@hhCih5X4>tF$ zTx(Y2un+CD)Rfo$;=jo zTh{GS(A<&0{RB{mUfR|cHg{d1*wB*w+_GlDeym0ApzB@0MYUiKfcg~azBo@%G?w-t z+PrtGJnt@Qk>@?4RjHA(&oDy&_B{{N{)Zy(5g zKwJhpN(0fTf@<-IqCi|PybwLY&%ahITfZ%y$26!^(68Uwt3anBl9GwFRePPt{Q)x~ zPacw8^nO$lLCX37CUH_c8zWzS*_BX-%9R7ng+DmCnaVB&J*pTPGE)Z_Kn&PL^E^bJ zlmxHlJuN8^F{Cu<$=mBvzeb`#eWb+_3tc8yV&VFlGc3=NyjfEofFt#iq6&fTy?&#P zAsMHQzCZb$QOjpUKJS~Y)Ccbcl{(WTa_60>QOivUjcK=%-*V%?gkD<1|N0diG?Ah* z515iQ*9Ag_@(naMQo;`9h~hTndG{ZtEf?58ewG|XxEAJZ`wNB!T;;vTP$@$je>Cw4 zFf>0`<7!}0tBNa)>l#bvd<*(~tiHUM>1u&@P{~g;u&t=k)a;`5h92D+@@kFPtTEcm zHQ61Qv=vOiJY*@~>95Y&v4S?U=}9!Pt(=q^`(3+@b=xryYpNXS`}Mq}wL6bE$w8F^?kbb{|Y>2{m!*DYM5F1e~Eh&DCk~)N=2! zZ_yL7CdI%&0)^G_^1QM7J~bH*+7RFPMts>O?(bMGa}a=tc@`ny_Fu& z)JcA@61eo@gYXpO?J2ub(eJi=s?W@~Fv!Sq=%23JYXTvl9Y;;-!rF0!*+L30n`Rn2 z-~1-0@i-5u-LHUd+V*Anwu-MjvXBsLcVsaS@*l~;tw(ls>{mK+zC^9#5pN~iGqjpZ zPtwQESK)n41p{A&R|scf>)%8otR(0zHs4Fqn5}>4z;jyIUbBLRKF^v^o-}N&&-zF0 zEOEH5Jl(#es&QI7U7k6|TJ1Ie1~CY8`|8kWD8q1Yjud<0Mu3cF{gi&H)}+Rjl=(k! z6KjwqnmiY;O6yvEh4u*fST@Ff!AVusR@2)=n)de^eulBoyd`e4oh+$iJVb0M1xDmmNowOor4EeAYp*+@_Xsl)I)>zu<0moWmL~k7X z3bugsQ(#J8UT`^gigel!kBeUP=*ralPg2){C-&#Z+t3;LvEydRA1Jx4_Sb0D$aH^!E}EjAv{9t>&NN4?E_`#t3fWjUcu~EKxBQ@s(hejIVmu^b{M-{_>_Gwo zbsmNJ@3T!d6Px@RJiI|JVvYSSZY1Ap%J-9*N&D3(;VC72PC|2MX{L}TFq$;R3ZJ2? z(7B~9B8R+7x2Di1?b};6kye>`F^<$))~I#u_x)oK?(^ID(DCdRDU*o zV*Wr3#l3c5bL}$!&)QF=4bOvEZ((_cvFO z+byLEtaJgl1kCLKuS~rrU)5K0T!$NdXVXK_Mnju~l8_UJ1t0a6_#BJ7DJ z!GvIA=gWtRMP{1OjnU_W?lQMCUs9b}vXlT7l=XUMrB7gH=e_AGsn2XI{MxB9j(P(9a=Kq_in1}`xPfE)OKlD#q_7D&3cmuf7QrGt2o1ttDkiZ zk<+?{Q6xQ79JlrHYFYHwiWhaJOZyk&ndRb0Mn+kjbd9v0hgNYnL-G{X0SuBj!XQ}- z86*rjRv>DLnV%XvKlO=I^i*2;LeP*kTG@}b3CUI4VM!82A1+a?$UoG#IZ z8xI0qqQl;5*sTIDYuvK)m59{Qcv+Y3F)vTbU%G=S5X?6OzJ=?|O)t_QVGrHrfsZmR zb<5B{V(|x%w6R}Bd($ZY2yg`8XHV+etVX%M7`df8fCaCb>Ux)-N;lq;;bKpf%8P0m zF+fLlt4wTby`bqDNOv=fU8LkN`dbQ1iJ#ihdY$u{B~BE%Db&He`;BoJye-PFmL8LRea6jZ+ zO-AMcD@q*x(xWr6TmJ?AEPoYv?Lo9M^{%T2**D{;TC!>g;k0vev1fKWTuBSh0xo}b zm3^PC-7CIubS^r1E6p|1O*mtAR*x`!YwJ58bl7~i9?@!)n;gxKa0l$gS;F?6^`wfE zf1@X@VOCe!_lwCpZm~Np)tvA5cBlDN2vEUFkC6b`nphQ0*dAb-*Y&P30QHMBG+MKV zwR!pQ->%K5JzLb~ykYHiA@qJ>bJ9riOSI}*lSgXZ8Md>Vv}!b)qjPFI^1-)zFcdBO zxc#6WpJwe=?>tMt_^2f+13|@qiKeh*nB{9e%x1BMxMLE>*t+gCzYX=6>Wj{n$FCve zA8nkZ-YC8npSgM045bIYtt%+PzaY%$PY6RAg%ZPw1+)1}59!QCCgR>r-RSaP=V7MZ z;~|zO=Y>ZRZa&K4vqK1%n*0=o{Wf7pEw4Jk-v$kQwNik8?JWY(_~$ifVKg^~j3yr-o{8v-ZPyi zvnwy%3CU(8n|~Ry1Du8lCk;6o1#4|QtTxN_*T5}Fxq70`b_Lorfkhk(Ot^`7%cn) z_$_g|8~{3@@9Uf*w7YBFfH2#62c+2w;i`~qK_K;6M2qD{0WZ@=Z#E-fIA${;$XR=1k0UMh8ByH zWYpS?x?xr;Pj}GyWL!&MnK}n;ZB*f))Tpk5Qj?1*$HWUH3j)5m#D6kTxhi85g_t@!lQ>^o)+y zb1q9kW#gc(QmOlpH1d3HBOEgtZFWTai{oupW!6@vr6>Vlt$VR>^fEi-R*$ZTzWLk$PKizG z^pMK>O)Q3tf`Zy9N8aQs<SV#zD zXlh3YTvqpKo3iMF4e=f@wh(HZxIVtyixmxr6;(7$?ZwQ99!Gj*>Xpik@5Gm_ql>;n zXDV7>N%-j0sYRP43F%rNWMV6p2h91d7RP1FM3s`IHnltx8wQ!nQ_mQcU(kD<(SJc{ zdHt_AGSQ2pi8FLS1E16cV{iv|7MY#x@S_~kwx_DmT`R~X;n{BTQ-0b~XrVhx>L4=8 z-JtZe!pihHMa*MsPh*Ex{N=Uum++wBtCvX>{?exQ$jbClUGv@*XJY5OcWqJd>R0?) z*?0zv9{o23c{tR7;~s}vmZvx){)Nfw82)qChpN;^@=OpC_}^lkwXv&&{Qf=`u5Ri=PX~>A2d~X6x6!85I3H(XPpO;XvoH%B)D2`cReWxMlN1->r1$vW zc{{z<9z;UEX>1BWp9|>Ld{fLQP@Y<8d}C(~i*Fpqq_m%{yq;U45^*85@xAE9+l#dp zQWgExp|8{Xlb{|=MuY?Ptm8$%VVA2hoR*iogs^|UJhU2zt%s4m8xURca%G!uD|dUY z3Om!XkJ=APy;s@ey+M5^L!I-HaRVBU%Zwhd+j9d_FH=Y{g}?=LNZ7Xd3AKcJdKK#$ zH*>k0--hH&?8dOFhe;aHYO5mTN!JvbAde>BR`W*=l*B+x5|h zI0}bkw{t1AynbD~)Ux^y+hcV&_e_cM?XN}3WY*EAlh00$mDj)6ejyYtSYHu+=u!J} z@^dOyO|HMudH(G|(G`8yPfp<|@mOF;8?r)5`WGkSz1$b9^o45jKlcL@H9> z4CwuA@1{)b59*L2$PvmJ`(o){1@(Q}*WT*yM>N&ZUlNKCX!)udcu(V#ccXPzOQ0yG zhSH$#ZCo1gq~DhHaWmvx=14TJeeJF-vA7s47E#1SLgG@jDOD1&CD?_ht@*2$%Ee8T z*PtS*n`_V%CD07&a&irtWly?|J@K*76WZ1AEk`QN z&S>lvO@6EQA#ir)5_qxk8#T+o%=W5{U?(1b)w$31DNyez*m(kpHY+h#}XDkVj77uGhWYC z1UWa4r&Q?q76*Af$y99{5t@j(jR+ydKA!33?M>o`%VaI#jWNgH77$4@oNcDQS1+OU z$tHum_tZF-ZOmrb`Ucr-TDtY97D{q7xi=)pD*gG&{<_6LhhEj{TJD82p*^b?lG>`0 z=B)X1k>{b;7B&8>`O4|ckZhisD^&S84IJMn8r8cshRVM?3@o)`wX}({83z{mugFQ3 zdYYl)rg(d?II}(Umgy^`uAHb4{-zk=WR#;F0xQoHfNCtL<0=2Q275kQGLxq?ayKKN z6L|UIn5A^YKriN9;y5>UM6SQjxv^=|tJm%`dY#21J9cJ~gWTO+^z&sHMv0aQ2z(yr zDH1ANO;~?|V!+8~HeKGyAJXzsQ}sT{9l`KUeuLEl5)B}Udg%<)Aa${^iW7%+r(V%6L%K)1#Jfhjlwr;-&|L-ozt$L=8~Z2PAf&u*+hbbWi0BG> zMQz;MilpXp;?>qm*065GOux+ZP@maOd-D^HM~{3NRr|_QO+H^4Z}VJcUAAXE6neS2p?sD@&^`-0rwsg&aYPA=5v$lou6SFkx{U2$xH%GBCGPa<6 zZK+o!7=H%F7;C+a+DckKZ3qM`;2cGjk+f2UB_fZ+uXhURp=k3cVJXsI1b2rtFNYet6Uk6AT_f%Ri9XSM%4XAOIckYYCY z;T-VE9kefO;P|rRZ#tgAu%C}&75A6+nD0uoDw=x3zkRhK;JWAg$OdnE5ujfq1YRzA zrIOE5^3wd|muV(%h>}+l%I3a7x%(>liu~LoPL+)p6?z|%nYkDSngicrH&bQmjIO}IH)`R|2=t|7)?Xc(wO`C?GDH-E zzzUnT(TCIG#B$l9i3e#m?_J*ccM;0cd{2>Ug_3v5C)YMgen83X^OHAHq<5W?za$g@ zq09tHCU#APx(nN~ym^*hN^=Q$bFW7N-ps?#4zlsLa;Qm`1NF~*h;^3fV3~I&ROiYD%qj@1}>`e~MHQBYWcVnc3uD{o1wqm3k!mA|I*`o;=zjHJSF2KGa^8#GGcs4byDc z`|5e8YS{;||{Ilw1`1(aeqG6M^L;`^&WxNkx`Oz)C1TBezX!>OA`rBXz zWRarszvN%r38kbKfTsQw78_VN%XIz* z`2~e_?pdc<2Obbc;T#)zK|Exm^+DW$!$Zg>(ekfs{oU^Apb5@e+o7irOksZjPDS%anS0eAMPx}6CNnM9Pkw#? zLQ`9b6=~$g5$Erk-<7`Nl}uaeDjIUsMTDZd#*9ck2i=!1DJJ}+emKYJAs~u*cBPS> zznflo9X^9AdT@2Pb>#%*`Zsat_#|6@sk2Xyy`N9BErBT7iwearDzf%#B$T9;=>>@2(Y|^}+cU?#N z!?_X?91u|y8Fnk@vv(=Odxmua!Wc5pC%>FrR{lh>umF&nC2S_Ifx$#=B^0Vs2gOsT z7gnW4n>wy$^tv;c`A_QnN%=x=@Z#OLcECV2KjQ7AvUfr^_PQuEK%tHboknPLYY4u) zvMro=ZO$N4J3^S4NZ4kYxD{igTP!I=4YjBdP@K!MPXo`%wlb}dcgzgu@iogB`|bF$ z58I=lP=Tq1g~6Wd>-8!iy?5bX^M`GCVp}AvooMk-#@mIT(aqmbQ(}H?_`U0XabY`=fZ$A|aP#Jl= zPU5b8lv|K&<@yYZ!3Wd-0hb?_dxz+In#u+3GJhvlwI3BxR{Z)6ykLmHOk7$l3YaB6 znsmpP0qnSY0hZ)Vu)u1J7j0OSm-l{!#ejP%uR#%1`BCfz>r6%_y zSz3ag#0V!vwfD4|6pe5R zniP%UBVg6|C+q9p{1`244i!zvk3fo)e<*?GW19#0Q3VE?x)~77byNCDS6+EDehfgUA|7!Oq)@6~ub;d1^O$}l^89=GafpTWevlOJ zxptIxmqMAJgI08E_HjZ(DnN5>^BK)G&EuQLHUFh~O!Mdf2)F-68w5U_wB1A4CT(Xy z8~-M~QR}tPeD|FfXuh?j5T&}gNAnKZ75AL}T-&vI>&?Gie>dWFAz<}~0e?V2E&c9m zulsEpWL$^L8u7BjzkCj5Vivdf?=fo6pUntrEQV&c~bSG)rqf%w^3R z{G(U#c2D;OI28*gor}sz`UFEew>M=6?QNMFtmfsLTmB5~Xc?FGancI98dsxYKzVh!ssA84qMcdjG<7suC*f45YnR>A@^?GoG*jhCJ zYMRFr@>A>5HEbZ^JfnAcq$8j5YpXfmpz-kXMdI);TF7k3Z*shnif3Zi&}}R_+`JD< zA9GL^7?h?EN*DKXUKYyW5XuwCaONK&l$~70D;$(r2Ia;O%DWDiOR`W3LnyNhN~aLY z>n`J12j#B@r8b1}i$?r(>8V*L%aOfSg)x#=z?)2J!sCQZy0@_;E|53;@9X~!N--jYOtB&K4lOb z?~)nXQ$MnVt<{KNb%txOqU+wKp$$L2ZW&S$bs&W1^r}7 zpk*aMDpxBcH*v`=E5vOxS0t{vks36p+(1{<*RLD3*7Hb5e&pAvRhcX5ePu9e4b3kK zxnxBpO6o+Nu(YNiVx@^ag3=B(QnGwPQg&%QU3#S}{VFScPFVW8$diDEb=lJ2XvkJH zP$WYH9ESzfHLeS*D-OdUmbOeB0spj>mH6Z+b@HEUHa@WeVo#} zXVdG$^c$646r@i+&tN>Sw4VdmlSf;c*5a*2>BCJ1J$M(*k0;z|nb@PZ zTQHiK381RRT6M&Y-t;cvg=;#JSLAEW9|KWLV`PCZ0 z1~m0)t5%{1xcxr>zDb87>F6;!R}*O46$NMC%6R#(VvYUIV7HNX$Ocr7Z`~z-yLmj1s+9sO(f|Gnf9=@E6O zHV>T<>Hf=Jp*^UZOiZ*$p)natq;&hp(D}~Z$S{$$H!h^XEGN_9$m4^Zm9eWGLC)6f z>?JF5pev3y1`F#H$e0r^l8^;h95D*}Oo1h;;D%JZSb<^!-Q$he@>K#`Q2J05n@F%Y z{N)NQpt6lbdr%uA-q+s|J(67{k)?NP7YW?R1qTb^Zax^u^5no`f`m_^*n#9@i!*WW zSWZGUF4OGZQf~f|*)p%S=I_ltN6Vmy|7a2Jf6*cagJ_o%SoJ)HRZos$SlP~2JqM^s zf^{HuC7V)ge=}@#m16(boj@0z4&qDp|FU)w80cogrnv@roT^dVrylq(4YJpuph1G2 z@+g%?3IAL>A8hjusEtIBmG&8w`ouqmT$QOWx71VPMqP*~$E4`Y-N@+|3ac&j>dGh7 z63ScE_xq{a$e+zQM89++NALIjceK%F4M<)MNv@VeRtJ$HNnphAIQGOWQV01jMbws5 zPu)&?AF6}B4>g(CC`xKo`0-)kzp5O{(+HIwU6&23zV8RJ*PdH2n{tWl(=wpN~S{_g&HMY z{sU2=r%|@~g#T1~YAwihpwYa~e=6OT8e*Ys5Q#q+253l`*vHq?AAUka=Gg>CzM}c- zQ`!F33)7ST0|j||era#=8HaIpOH`c++$~deqP+>Idb*bA9aX6XoUEYlC#PYwCpHzNg`Op*M7k@F275jMV1#KNpcZjFsg&QuGk)$}9 z*oKAj3gGGn^?#!@?r8_@#P;Hmj`ZT!G`ZRVeBT)9s+TB$1rafRX(ytU-1o)#pa?Aq z{N(>4{v>vPls{K#jgd1ibN)5+h>~MI5B>GFzN1)WYG5xh z{w(E3#S;wq!s+|U)Jeq(>tn**$y-#(wK0{c>4lXmJ7|316dko&t62>P*t)UxPLssC z!TO$gG_&QwF3tfb(hXrdCuNY$((QGX((!aApK z3eQYz`e%)g*J!d!8DGnjZ4f)N?>`bvXdEQeiM;^(x%_(1$X?la)Gw^M z{~>zWYIfH%CLh(;ye4ppe-2N=b<(E=GWvLj(n+;yufc8WznM6?)3Rt{huvKI*zsX{ ztvSgyBZr`dg`uui+Z zQg7Z?EWl;qVPzqh0F5Nvur>faj*WA ze=gx-!njY0aXHp@X3#4+3{dbJJ1^Nmn#0VJg%)*Olv%Cq)gQ$jBUm@4SE_K0IVzZ5 z`O&x8UisFw0k3^|j0hU^$}zcKsSYiC=J7QAq0@Y&HAbGVcfE2UQF1i#&|mKj>WPYp zrZNL6E`gw)DLCql27|eJwY}%qcFR9II8Zf^JXB7SM;5vjd(RPXp1ZwIyaD0JUbE9IDb# z7;8vS5gJb^ViJ#ZWE#I##N`9^vfC))DuP|YnOH;1Qc__lr&7xNw#+J6wV{A0-5t0; zt~R(o@kmD^A?nYT+sj|v%U|tfVfb>Xd%4P5qXceUyjg#~|0RoFD?Rx_>a z7xysm+qgPKtxh|Jb(*7|n=b9*UT$kIcMf09axXuoC|Br>0hcFtutIOTI-u!H3bnGX zD=jE^gwx7Phq%fdXO%gHU!&mT{jIeA*;-VF0JlP9V4n{G-e3*FT6cT3h<&t+gSe|f z>=8mdPY@d;UG$Pl2a=~PQHQaIU^G!P#0v1Q3Znm30SwSi@&v;@=S`>GFmIBlF>=Uf zzi*f~xkd3?8s?n>5e)Os-s^_>mICF@P@r7(RaT%}7GRo4(+F9CQq80;JDShFXp5t{ zJJ6>0n%*09lA+|E+@;IR!$cC#R_}Z1fRAEnibi6$XHr4$nHgHKS>mP$I3Te`(8^D_ z6&QYh0Zrz9bhUx-{cbSRzn=D#U=dY7xtaxNFfO2meF!;w4U# zLxs>w?~?c3)L6K9$}`)Xuw;y6bmvSN#qQl_7s$3>sODMmF6p znmwb+R;3rs1J41hZ>BmURI-^s*vOD(s(-ZIBhNw_{L3D&UJ9T`F$7o^nUD-Xkx8Y} z2PFW~vH3jGk;VL4hr6JRuhONr+smmX#hm*V^3~INrQKeov)!lH*r&I;Pwj4jX!2bHM$$ZjgBb1sAd^q1WpV{OU{4S{NEwYi2t{i)FTg!x?Gsq%@Y zYe{dMV+j@FXkJt`Vv7ZSMQT(1+IAJGA8c<-&r$nHqpL_3#M^k8wb}Miqpfb)XyqGM zQXJEenGQ};1e^ha>_FB{N>CRH!GzQZ^DohX_(YA-XZ_n z4m|^XgX)@*^U<*oeLfO4e4@lj-q}41u zv?%Gu{F2;g5){^Fi-p~&!k%W*+oD>Zks3cV@(TPBP4pZAIkGc3RQ|n42(t?%T$E{2 zHNQ14b})%&PCdjD=4Jwy8HkX-=Gc29Oam|GvFYxYXkwDej!-J%?)I~y`HK)UlKs!`{58)0n3 z#>%q7gH*@#A6N+bZpbRfJw$5qKVVa;JeV8 z77i}{+fXlTI}Naj2UMe+aLe|Sn+N0?S-n)fFR!ySml0KGS*Jj%kcLy`G>=ivESOsW z6HlLB#Jw=u@8a%-sbsqXI<16hwC;B0kV>b&x_EulCf%KM8HW(K_CA*YO8cKbWAqZW z_e=+*8mSK{w>!)t414JbWAqX8@P~+8wvxQ**m54}$n*S~bnSO2FB>C|>LuR=%Ew(q zo$_(E6N^$c)p*h5E*x`{iH)4$3Qit~l9)gJaRXE2H5~W_&uk6(3`$ru5n948f0`o+ zp+BW-cnZVSgo}wV{TV~hraxkG&39@@fJK&W<)%MVEc&Pk8#nzaVNRc&H#7ZF;bwB< z2_--NB&)5w4d)scEIUdaX!Ge$p~?iet~@En=vAz=#>fljxgotfQF8R+p+Ds=2y+Lc zf)(*{e_p0b2ea{(COMWzI&w0<)+GPb7}6Li*Gn}?C(FA(QP(7I1&yA3mp!B0zt&)Q z%hF;@l>E3--!miChp02wroiJyQ^8w>@DO4mVTk1a4^6U9r{8LlrH8=HsZTaNi$ukv&9Hzsp!&VtW7z!Rd*|o|rqExt=hyF~UiUQ(Q`(%-O zL63u_<`Ut`SZk*t){W|zslflM{B^-t)}4zF zJ#)f@anVG7PKmns&~alY)kYJWVhWEOJA&}me^hwaa*9!Co?yb>6 zevwzb=|`Q~U#2FCCJTnD!#cI00q!M{9(14WfQ{YHBOQ61U+Y1CJy0)Ww-T>RA6OD< zB;Mt(b(9ahAmSqMzzIn8Id)gIR4bLEJWkIN3q` zk#omd5Fyn9;ynhDTIVM$Hvf^cyQkKhFtU;SiWwa%U&({CYj%?*i=^O=#RgK?+y z(b=31eWy7UMiUna56IS}T2a7pEIOv zGBBmLKB3l+&E=7f{DWVFRlKp=^@P~%w7>E?kw~AeC($-Obn}6pdDY;*Lp7zaMw6>q zqR6VQxoO)yWdM;TI#&U7W{_COc(3^Y?VzA~Pfa}Km)kJt9fKb{^cR^px9AEgV8;#N zBjF&hiGU55ci@qZ6!B|f_IRP3F5R@$P<1#aF9Nentb*?zZmZQ7s$QOY0rW9D z?m|_f$)2cW1hkBWiv4Qa_I|cuXvqX-2+3{ufO6(i4oKX_ zBOSSyUqj;k-uCk97D!AmB%V}ngI$u90O-A@0uL}c1KSM1Nu5H?0*$SruU_o(CT6KH zn0!98(jW6IrpD2RYn7gYhe?YjWb#0LylaiBjv_uMC@OKLWm~}_3?s}J1607*<mT|lMu!p6-`YfsNv64GGMQ^rs8xcwG-)U^#m6$z(wKpgpod$z9~#^p}?5F zCuJo;@$$q_ws`tT>}41p2uF+BMvIOviWVJTtV>R2DX9mN&Yqa*c~&(JZ^tG#HIBZ} zm)BFOZs*WzyPn9N!RK60)S&lVPc+4z=<0f6y^|WMUFoasIlE-7J-JmwPYi7Hg6|gE zb9Tupd!n!e-^*sMd|nVQ3gVlH3%_FG!mki`iqF@R_!Pkh-#VVib$q>CfR#W3EHkpe z-~y~H5KtL$p6amD4An4wR7UDPvu!FKw{$KuQaX(>jHmt-mU^kEI`Lcrk|srhhr}rs zLS2K%FhzUE z%oCY%uskQ4#8X`QhqHO75CoFOKTU1k`iLK-@X1t@Yp z0Tn4W*zzHa!_QYM>h9&%7m6Omn~hWx!N6bfWSm2`bc$m!*>Y{&YJs4gy@Wl1kUfb@ zUFf;Vy7%T|bq%qqcjH8@HDIh9kidmzyf*N`KlAjNGn1X7q+kvFSi+gu-RCg{tgxJJ z3b=6Os1aii=&)$)Im5>tFu0voCucG(V~MZ#nuX)W*0SEcXw<~;UGl{pMQbg*dow@( zl|6ZExX4u`%hx+&*EY`IP66>XWDOK1>nyN@TGS>Kstd|^!Z8G#uZ0x#R%4!YY5xTx zR;+?YIx?7F8+_mBp&}S+meX~fq50Y{PWN$H`&w3gXIYn!b$(mR{3e+jm>Q6GUzfM1 z?76lfH>^j}=Lv`hq9gr0C=+g^r zQ3Fe}YfrpB$jwM$ZwGcSPmS-zY~jE`snLB9)9M;V}W%ivAfOZLtmo0XyQ_;n$1arY0ScZP!iaYD7z4|KP#K29rjQlRcI#U z8$@5xO@DQ2@wo)bH>^ZIJC5CgmT9Qu5tPvQ=dS~Ug`>w!7#@0I)QVxxfYu9ZC)bP% zQ%5QFF6IIVt`$$<`I!2SYX%^I*$@7Cp4ktQy>=HWttBTTu_wt7EJ^cILg()x#$=*{lZur>o&fc>;n$R(n z@r8e##ES_Nds?1}J!>wg9fOU?Y(nJ8?4ms9OdeM|w&$1$mS@a_NwqyEPaK!cGp#~- zMvfXicKp~{xk2F5fSsx5#8IO|6I60B@;T>W)Abn`eLEpWyP2}dm?9OHZepZTSIt^+ zZv52fr8JR&(qzTCm?-^|I;dwA`cJPhXZ9X2oVg&4QZ~6DnX6GkhjGJ31HTd*WqIg) zI*Qc$K5+vECl&Y?0*HQwQm%O*Zd>haRpx!~VO-o>tPah$7Mbl@&aFXpq&00R=Br-x zg&*6p7K6Gl<~*(ZbmHBHp*-uL zjL1Ssg;4q$lo<|6(EDEqmN%px$qx4XNBO<~e~u8F&IwqkbXQkku@$&aSm0MyVCQYE zz??DC3ee@GW7p<`eCu$5baG;To4OykYUG`0a*1`Dre$jj7ZuUywoPn#WojFI7z;W5 z?2W-FsN=gTbW$<$qx-kmwodOgC^fy0LZi#@Z;b2hK+IU@4MVb=>>vMDCbL*QmX6I@ zA^U5L{VH*x+c=R9zW;B(-}~9Z0)JcHXNO$55tUC0$iEMRL?(7*jf*B$sYeC^)Z6-l ztqc5_d#fRX(ORE&2tS=YQuT^HnatYij&k_-~v4)0b{;Fs2l3eGT(0M4!fw2Lk{hGV3^F)y^l z>6QATwD#s0^>(KBI*O3kE8aHOct7U1-}#@=J`>-Nz;FUux`5djT2aaSr3LRDMp;=C zyG(cK(wVcVPCC}eBOSSpUy}+y>`dLvupYZm8Nw#o<+ToZ_VsI+TSgyGlpHD55>sF? z3WTi81f}{N=RhBCpid1!$GT-fm*seYPEhXA@F`uKeYI|sH5uzzx3cQUYhhG4hL zf$fwJc3cavAN4V?OImx!(xq#!Hd=hhBOPhx*J$xejutN|Lr9BlTR=_$Ir{h< z2lzfCLzq)yWmLO-^ZKb|#&jlHnbIZtmFte|YnDeJ#{*`xj7y18jCvT>pAc_G2YfSH zQ}~K+$jHlzZxXNYqmF`5lT!CI&(W~K^E?@5dXXeU&S;&BSWAGkGScdlt%7_B<#Sah zS<~UsFw?slhe<{QfTag=Hi@(E5XSv6VUR|brw0Csbb%-MN2Lpz(!~NQg5b_d7d)l! zMY_r$xVzGug7ltZ$K`s_FmONgg*~Y&+In|s;!@N1_0zAm(37Ky-kOxl(;`^?=UnuL zqrtj0>$iPBU+fMSuTqwrQka?))7;Z27H%uKr`5aGKALj=ljY zHY7~0VZ(V8-U0l-QEmbBJ&$xG!>=K~p9B9H@qFaHH>x`@*}l&_(ON<-%RwG~tU+Gv zApg@KuLvRU;~?MP8uC;iOUT7RH6OC$tQ_z|9Pnul_;dr_5CY%b0k3Hdd{;vo6ICnV z6(uz}$U8d7{T<{AgFHBd{I<1b?4Z_=SDYcVTS3mj{D}<~iM9+n6Z+9z{rvs{}?%zNYxA0dF7Rkj9-t8XVqxvYO!o-%{kU)=kiELF67tR zZ09qKB}Nbr+f3T0cl&Yw*6OI!s}m1a=FN_oCcAA91l(Q++f?Dm#Cn_TKhFM1z<>Ca zRz0Xx=dLYk?Q^A*lKeYbr(UB}?Of6f)H*?Sr^E`qn#e0186AwC-qznSG`;y!CL`Ov zzqi+_=sEP}%^kZo9?-6!Yz9_X(6!yLOWzj3a^0a=5wmX5H-;&qDypMY%K}|ZB09>9mLCg0A9ndiDeX$jKdve%h zEBQ7@`fh9aw)@-pf@qkHYzvk+RW-=#=BfUi{CVnr8mMsBlOTjAzhJ>0Ir1fsbYvsH z#*>3FPVw>s;%**3U@Y0Ble}y5@PVU)=sCg+v!0YzeX*1;0QUqB_V@E^;D$PI^NBlf z8^#3R>rC}bY~!dP+6!>9y`|Z0v$zD1y`S|T=bR|+X{*n4jwa4!WUlTpr-KEYFq9?T_zDpwmdc5MD=Ng(_XT#H`@ z_mLJ$=PIIuvQm50a8_z(6y{cHotMVtf8*P7Op(8ubT6D9mh#r-)VABrt&RgIMp!3Xv=g`3gGpcR)U;dPxIZ2O_gqpv|X6z9@H3V zcRDs}DFmttl#7}kqhJ3q3=kM&FCmIo#oKgyB&c;_)7M zI5Ne0DnkI%Tl;GVkk3i^JT2!M08_7R9K5K(+cAXqU=H3d^63lV&1wZNPq%rozrlN7 z+0(HPc%&mfzef3*9K09u;guOYCn$1);a?8aBM#J~2I`3r)Im8=x95ZU{ufo%sYy9d zuRBl;4phoOT^)k@8JQYT?fiUD{{U1d9CFR}1)$37K5N4gBAN=n%lXfy{n628ymF>D z(V3V{x{Uy4Eg#G=54P)RaCZgD*d^JE9)*|8>1A}a_<)A-L$FdFhZ26g-(i);q+lxB zSbA26oS)dM^lpu+?^s>3S%&3hneVbBXUk!!^^7%LS~=GmkR;N4E8;q!qOj>*gWQ-Wqa>E|%Esw^vX+8{ z^xI7AG@wBu)={$Z1|v#Wzw=5}Jn-XNl=aa&V4L`2*-+1)IJ^c!Ys9vLZTLf=1-b2# z8sRU$oe}<7t`m5;4Z{|G%8ydOfCK{WqkgzRy@KZg#dD-o@>f2#7xRy_A?^>+WHX^` z*)0vYX3Cu~UOt5FY%kjn?^z z0i#nsjD=$-^&C5XQtfavBwJ|w2w*ro5|5w?#+7H%>Oj~$rwk!!f4M*3Zm|=6oXX^EJUQ82rV2?<(d1e)e4TnX8ofdG3E4YO z(7Tx>%ZVy^3I!7V8xN2g?T|XlkkY)|M8M-Yq)yC7YD^2Hs`HR?gvlRMY8alJ0+o-H zRFOQS_9tq%ws$!40I6@>jPhHXQT`mxC~wFiwN@EIO1*ktKBewzfm9Q%l|#x+2yECC z!SeBv?v#huRYZlCEGH1_9f#Ki4zIr%UWpK|0Xe+JxoDlUT+&jFX3z4M2}KdGoqEJ1`lB1?8PUh zBWncJRKe0xf%(>I)Tpy9lR;&x{EE>Y<&onhX2>+xz|M)w1WiUIhfk6z6s z%&Wu78^%|ZH=G`4;IH&MH#s@$q@As9A6?Q;I-iq((FOO}Qs00?aQmvJ5#Gi<N5Lmg}Qel@L*pJ3?D6i-jpWo>1riM?WN-;zxGRg9+67vZ|j z{RxqE=AWx#HYDr?jL@ml^{@G)#_2CL5Xn?#Oo_Mr0~5V~KcNVo^qu@}>O% z?w<@kxB}X`BEF;pY`buxo95$LM*PZqhtnr#%rRR-q{4n%l`~VQg~hPa!CRUs z?y#>DCj0Evu4;UOhv5;@dEH=5@DU53OZ1Wcn*MVQx}x+Eo6k2!zPQ_21*DU(l(qB- zJ_;7mII@eAx(eHg7Apr9^Was&!AlJ+BCTs%OLKF6@5*y90H7X}!By~)!^tGeR+fN+ zCIJN3K71AILgw@@+m&35bPaK3h1&LWj7kJF}N zFR?v5sB>?=EYZifnR?YQnE)oKcZAE^I2{O=G?r*y9^C66Px5CM8_%60XoEGn8P+0LG)$<@uRzd z*y(#qIA2A)qJ*}eTEeC0ldwz)8`fDusXm#ngd}z*u##V@cdHWGxQcA2id?RQgIz^# z*C*4I(8rZ>C5{K)I3?WnxxpwFj8l~0ww-PpdTw?oCCUWDhaPDp~>N~w_q$+ z!ap30Hw5D$C4B2(Bn4xx68`333>9KmC}CTNSiOKwSHcPh^myesM+s#v$8aT_s)UPN zLX8rRQNkjZaFG%YQNnjFVX%PqP{Ioi=xIvms)RqfmYXTmJ1U{i5~Jx&O4x7*2^YA8 z&+AC|LVaNd)a&_@YRDd8@caK2zXtb~W3wj7r#;Wi~4=!TO~^iXe> z5>9X(u2u;bDd7xDa7v8#<BHUXqxS$)=_R`iir_qDOFaj=e&0k@z>oMH&o? zg0tP$SR}bL7!9f#aHPis+D!3K^rg=Ceg}@O7F~q&7q^4b*#8Qr`J<$onvP-I;dw{VaWdi~D|-`@W0&e*ewBuhI7tUEYx{?NLJOeR>8+I?30s^oDkH9@npMe%3s|I*!KnM7@ z|J%B_kwJ0!PVW;U1HQT9{J@29C)nJ(~6SPe7vb$7Boa$jsN@8zGi_CED;W zQ$e9BN6@iSw1j9Tc4nLo^pK6`f$*5WC|`IKqnP~;;o%=ezPt``Q5_7~I7EifFa1dr zB%N-dXo;>}k_;ri_kNv=-z&@uUvQ zdCPxNVn8~KzZA~hY@T=)<%pA<>KZJHt$RGb_EA>#w1_9YRobx{R?7E0o--m}aWJyG z@#V>4s+NhpSLqryS&dZ4yOihLi=f6u@*oHq_n3wGj5`sA&#e_Y%ZQ4R68@i7p8e$G zqHNF^HiCNd-?C9p(X+GBw_U~5;pnlm5NG-G%3^82PWS(vtKR-20uh#dVIFiHhnX|k zWg-8r3NhlMC|O z;wYm`a5`K-ln`|jDuFCb<#Y67*f^Z=s%OQtjh!+<)U{^~U0 zYK*KoRdlpdl5IfXY9l)#S>JopmVB3K?wcJ!T7CNF(~{KgQ%UN0YI^R|<6o!mX?kXY zoq2UWFANhQ#bsh@W9}Xm!Esz;NOkTM;>7uYReviM6#8EiasQ;}^BQfd$MPF(0%KZ! zK~}1x9iCyEyZanVKbt`@J- zQNC_NhyVRDie;frUt%7)V!5#3!XBdjR3gT@(&2186g3D0XCoq-3&;oghZOS@msJVY zb;iQbSm4g!e)RxN*5V zlA5pA6L=1d$hX}1s;HIO7-_E9%u-?2h&)S$L)BR-AgdK4$3yS4Q(K;=W{LY>`7x)r zdqqYkPpm=o<_f$4<^(4J7;EC$x?3DhaR%E{sKkiZBy?+Dh z`uccygb8`)n=Fr&_C|KWHHwNS@0bEluG~V#t@AQs74iP2jJJ?c2=p>R?LeS2o6O*|46U|X@e(8TipjhjgfngL!{9; zEIoHteeNiyg-|3%y2i+_Uptv8N@;8u#%l`{E8t&7!Fejpedklh#Yd5YGMdPcYU6*1 z!jgQ}Bo-|mZSYpn?bsqGBg(skGqJWupv=5XP#V}PT2IWWJ5LeK#MT~8j)eqgL~g!0 zTgj`+gJI-4?Ye91{Nj+-<6arqOB>DC5nCQz71Xz)q&jcxvt!ZxJs(tgJ#*#l9+tOZ zcPsDo&B|N-)qg9`ZN%)oMmk^f11jM8IoS#=D+?<0&OuhdFUPj7(1f6Xd>#AiXG5U9 zH`s6}4UFM%rcGJ>Jt;+mJ%x4%mB?c)j86F!e);{xDsQp-=5v_Frl@MJZY9(<+Hi!X z*+FX^KsXZ{N`AjPL2daxlqUnNw(_by_q81RE5~jGXGFf{Q00InKc=Sz{73&p0{nNT>dXG$b#k(-chQoc|uKHdUE1mn3l z-RAx2*)5dAE$BfdWY6m?7uC{P8uM(<-pMVXA8pWEXo+sRruo6|8?b8tfsryiH(Iv& z*U!fM)^wMdc5#Ax|6*E2cSKhr9bQ(1G0l0JG4e)MDg`-G2TO%Sh^N^18YI~r(TGpU zMqLxVcfGqNx(pJ+7vA~TeivL5y%R1c8tX-?LFu#XnrLYsgAP3_ye4`vnJc*_`smco zYb!HP4@#XCToZle?V8tqnH|VWP!H_(g~+b?=x-aK??xM;U-*BC{+LTzqQ8(GX6}~j zn-BP}=>J6KEu#O*Z7tFNqp3f!v$dfcKMARhA#J_U8$QisN4n$~N}Z8&m6ua{2l|!& z^HZ>OI##(Q2qi5bByte^@7z}hZ0W17zRxfB9=?))gj`d7-#*hR8V%c1xGm;z4q+i- zQzObUv9i8|3?{=XE%~9*4lBl ze%6xnf6le!orE*7slfMdP;%BPwo6!1Io;%)WOMN?NPXa03j`w6>aGfAYpdD1YWp86 zTAw*AnyfWK1y+XE=Ldg$5VuHhCWJQr`&Ztb$t(pXjm)VzpW2$t|G<25D=k#F3R*_) zHihDk)cd_(@jm>qJ#92+3;3$<>8~!{7;o1C`&?UvmxKLhHPY@pUM z!wkxfHL>{)^fncdmp0!a?ol0OF19ZN6_a>(LF5Q7J6*Y#UIs2nl0l-CF7ZnJ;63_7 zd-~d)TOd|`gNaLOIJ<4)0ur^~Wu^r&gH48Eu{xO^AC zOI0)8v0Ev3k-TG!w-hd>v`eBD;r#If5e3=luz$!x$A8xUPG8o}#KP|a)JA}W1(7{!|(iyPGTa;LVD? z=cCPw{rcI35VfH9E4?{KcD8d#hif%;wZexGFr~JdfV!6nYZhBfAc~8!EfHD;vhw|= z`-S3&E3=dt7NU5Svo6oBXib?80gAspa|ni!&E`Z|Tg+S==4YG66Mg(q6O0JW-!SkTr!n1)bM|Oo4}!s`_fLqYyZfIB)Cth*(AN*7hk9H`@fc zZGR&1!7jIuAa-<++dLVF&w>R7TQCLtD&oKvP-3%#w}Pp+*Sog@LhQ!itxC|_TNFpc zh=ELm5QiLddEmcur{%`^MMQvXcM+!zL}lLIO-yVyPfx^-Y0PNOPTP^{`ND28l9U(b zRONDfK_VxiVUmn7F!DbKx3HUR;Ziny)&c{X$&|&%v^17jVx%tb@cF_5>^ReJLk=Os z;>HLFeB&Vv%k&@opTs2MIpxt*NB4q^u_sN))8Cht5@7^DvR9c$M~hspkWwamsr_h^ z#sL|GktPs1GCWhfMKT>Xh`Sx~!3xg<94eu4Nj0fT9qw+nKaUm+-VeS4`_O8eriXe9 zizwa>UpsBEL4<&7=1MR@XYsA#^MklJQyNn>8eJV>mK$cmS)%$}qB&#Td}4vIj)A|p zoi(DY6GkmELTy{ z#S+2tn2Ei)pLD7V8TnLbs{d*QP&@j+#Ra%)?Icew`twZZXOF`h{Wr~sv}1|-$@M_U z#5VD{jXVRp3m|UVj*@m7fL%d!o^l{;Hc@Md6cJ&wt0VkUo6Xk6h=(u5D zp6wGLQY|3l$5%)cf@)$Fx>Ys9}kfQytTa z$-Jtc*EtKcvVeZLR*D6BE-C)Q^fi$!T;ZMdOEZ;X$L^g<>IOM+zt zZzCvt1eIL3E4s`pmK^7BPII<}vd6&-%>|4Y#^W#AS>$5VgH z6CKa|i0C*>JO=tsfng?<^g>%uL0K_2 ziA?yDcq3rO#z;+J3r3K$WQ!$;)O2%_r1^m9%nIJPiY@TM<5S=T2yQc5$xR_`Y(S!G zeuTEfwAwx=rq$9;OdCm}4U2p#9NgG&KVj7OOl-&QDDJoF4M?a6?<{DZGZ;LC#+2i` zpmZyh(jBt}rHj*YrK{66*Wnh-CS4ES)xPeWHjK0}s+oc0@Odp=NF9>9*56t}E+o#; z*XM{+Taizg->cFvu!uGc?zJM(pc#?Vli5kY2{5V+QhVcM%=GArJ}o8zZcRiA(;~hl zL+sl(_R!^rX#BlMC}4eg*{8@)uAIbMUiz@eOh4z7Z?lpT*%}W1ZqRq)Tz<~KE&68d zutm|g226{N2ovA`IM5Wu*Q@Q#Q4 zKB%}A^W0${)Jeb**VJ9aPyR}S$nAq3etM2;_6s}j(DG++&(^w5xaS68=Z$-Aq|QIQ zCac4~bC`yr#%*x#nYS}f=B$2GxKF-S>2JZiZ~i7UTW4c)bL(+#V{_&9?O?nPRiOfb zmi5z)y68Zazfss@BP6UqOFV>=&mE{s#AGC0t1xP$R-6HEl+r~ zYy?ohsrNTbA$egTx7(M$w?*QXi`?2F5a*fONrH5q1ft;2(P;3--wRgcyxHsuPyVhT zOy@q(r{k?2Fr`6+B1}P=a7IOTR2r(|TFm(t633l1ZvrmC!`B zsHIIx+m&W2ty1q6)yFBFyh-_0uCz+!O53F_VJdG@c7tm;t2?jKGm#h*UY#R}_?8@jp|a6GE)YZK+Z_iU(Y-3Cnq=?Za!fqJJ-@Xn=AeGTwAq z0T~}wIJO@ZVO3DrEj6hx&ql~+IYNFI{!i!S2>DFmEv2R!H9rKHBBamX1!|t={8hn~ z?1=oOy-$;I>pU^nOlj5gtZ>!euT^B-AXacQyW7K-Ak;TCe|}JwN>tY&$C^wm(KdMF zOBt5d&vzvYf?6+*W@8*0I8eQ4=OuaPb3e7oIgdeGuL`%MgPT^jpGVA_4lhh0=L@Y^ zkq1Nb99fvE-dl%78_Z#VvJrQ(U=@}Q^pq%s6k#l~-$F(H`|?g%(u`AbEa|Y{v?G^4 z&5}OavlEuo|KtLeG=R;G;2)RdDM#*{h5uG7f?%6Q{5#%oY>4Tde9_ zaFXP)a$N_T%iA_2+Qr>fLU`VAuZWZLW8IN(Qttl~=BuzCx47R}>QjHiZ#lr1y2*Hk z@W7cYoKsd#*~{s7Vmgt$Vg#|Bs(pp9%h-n1T0?ueHt%yydV=O-~j&eV`iXQ9D5=8KOi4}xSJMi;Rd2D zpJC>`Cz|Xh@#pI3h$>q3v&gco#$fHmpjfzEwT!h|CCyJYwylbwR2DK~>hqt%xSs>f zP<*j~)^rz)`M6H}L{0(bdKSOFLQ1Rs2>&D)b9Y=otN7TP&OBV4nA*UZvA z*dq>i5q4k&DW~~{Uq$WfnX{Q{ARS0lJZl8s0l>0>so}6TQ`Clkfu6A^59_l z^K%Ir_0)y+)cLP8P*1y>7bqn)g+Uhof=Zh|X~4YmnLi_}FW*ALIxQSyEgVh@*P|!@ z+-^6&sTSVxtMzr%+-B=ESGrDfU!1D7JAvl<(p)4%meIkrJ{&tUL*S6(a?h=Hgtj|04V z$p80l?MZ?qmQH5tD?Jl*uJ=w_Pub?i^p3yf3R1>BJdV2*?*$9a10uEus6y# zc9air?fNM*IBOB~bSCoz_|!Mpbmh|SdZgh0-My~PvzFQT&Fki&JdKi)Vp4jwd!7T{l3G@RI>mf745DFc_V4ycx6b$xr5X^ZS zBl?9^^dNqtzy&jBRgdMh#YGCpZJM}!y1JQjtFNw8KP}g~s0M8IHS((6w{n-Oev$j6X%&Q)lLh5_Y_%_?r_PUn2 z)z>Q7*@zObB`M@XSmJl^+qvRXQqrkxo0%Xn!!~k{L2%a&muO$-n?d=FT(iY}zGHhv zW{Gfltv<5fx!*CR6i0Kg-kQamuW7-!I4D=rDw~OLYI^1s;IaIFsCQw?| z7josHKwWZWP_B+gs4iJs$W?S4a^=^MdMoJXn*aZLZT&K6UIZEzLQ}RVL0KzG(A7#Z zCq0HIm4+BkX!z?oQ2x{Vjk{jq&nz47zQe1hX7>5MX-zk;X;+=$2~CB$Xg=eU7BWcd zlY=pb!DoJ0M))6$o23OODjDu4*HxmDB&(;>3FMkOi-w0?y-bR4RV)=N8`3hZd`N0i z&qOMS%@6vv#5U7yG!TJF71}yn*909a(%Q|LpkE)aHESEU|EO?lRzvQ5%^r-^#HoEn zl<^1s)~#9lfW>Z!El0XFYbNOQ+pO6=Ih9YC6ugza=EWRp4FXI=CT_b}bpGY{A!XN1 zlc;`^+ficiNad5vC6j_=E(~Mgp%iCeK(-0y>Xd0DbM4ICfBAi*xl9-~fc&nF>dP4g zsB5-!?0AE6Kh{hzfHr29?l~nVv+Z0S%4}UF`?5!}w}Ru_sbBoLnWoR|ob9l(_@ZHz zG|G`=F8s-q{^#Ru^;lECXqX9S(Xrd%rvsjuE>cmrX}Jbj-1;htlDDS_6w(d7pAJgnjsm903`~t+^hB4YHCuSi6NE=$kOCcrc4468tUvQOIk0O}K*6Fo(-C?e zAF~1dLsv&vpzdjvGRw0hS(>5uNnhFx%T%>5QIrC)I56gWI*h>Ya45IoMevkbOyPa_2ovx zi0PJWZBFaT+t|uIY_6tonRmq|c^jL^i)flCi!9ig(zCz)S^`H$hqBVcb8^TV<-br4 zncTY*Ib`l31#-y!uS3&zJd2An;A;_qL4RDah4A$;Z@Z#LY8b!2Y%Hdr#|XFz zm%l}})_J7r-*kyZ8oWDDJ0HhVh^j?cfZg+aWZtf}gIvN;lccvvHy1gOXNp*TPFKh1 zIlhpBIpuUJMU8UwwVh`;0W3e*RXquJkoxOcdrMc8p&M^+_TX!+>cF#OWyAiEL&SkX zQ>~$Tqzh=?>A&uXh{3#d{Z~)!@#GPa+idXCgESYeF)saL?%lx`aHRfWB?MP$gRC8x z+)Q_qrxL&; zPhH6jI-En<{@5dNApF&{QQ!}eE&tWuGrP;p9b?e&jVQE>3cZMXojc5Ah5kjMg4Y}M zja)bi(k@oob?wv6Qd&xNhcl0UY!i>?hr^pLEwJy*pw0HOh$FYmwJ0EcnSe)rr_K!< zM+LE;QNb$%t%8ZJg3s=cDkxP2-Kn6XO;@&%j(oWzy6H5r1lOX10~vFRMaILu*bjLL z=4vW2%sI^d`JoFstNq}@+Ecu=9r8a_^|v^W<~qKU+F?%S(D(3CM)Q2Xi}!3r-x6_z z{3U?Ns?)$BcL`&K9<}T^BeWjR*@|sTS#xU}+u_Rvg8=&_c-$8t$Vo~&yM5ZBN}H5R zTLCKj!<05AmuC34i_+>ya~AjUZF{$%l@Xw;G|q&~|d^uMf4Yz-0Aw z6^Zu$f+g>3J-7wN!qVc3X{T~jm7t?#N)=otGKv$+Ya>7hD0`qNb=*e!BD< z4DyJ0ev#;L8+h5aO<2Gv$f0tJ-2$T4Rz`C027-Wo*CR#0U%L0m8xsStNKEh?HL4b- zTeXDA{`beTxza2;`#b3*ACsj@USfiRcic-3nNE3;hHu6`>`y%SbG(!CeIBcvv~m*p z9P8{L<(#6NU0hDv_I%hzy!nMW>-p>AeeJdb7KJIC07+sk21&Kqa5t#|yv};Kb2!|J z@b_@{D*>n6gcq;n8wYI(IVb^y4h)o_s)9XSEp}DoTYPCurB^W%_H0;BwDiw@fdSmb zhyE!C*`R~_JCrz7B`#8lk(3Bl3fgbyK_^V}cUPI?_4GSeOAe@8Drb~(dg|*FI#mAs z^JMo^_R2BsVg83uGbh9t%IU409r-@NBdb4JnG>=9mk`m6g z&FN&dd>uIBADQoy<&0ELlX8ZT6PQE9#o>rT#0$yG%WB1um*i|PHc*sTHDWO*gp@}BHsPK zJx53Pi+bkZhR}hy(6V*dGq9%0u%?F+z?!Py4cB&%qKdW}nhlr#Z1)M2iooeS+w%V+ z+q)<@lehe+CbO2KQ5~V@)H}hQ{HjDJET|t_yE#0Wz>BrnS;_8&CHK@zJDTq$Cklql zfTQ~Z*3z{D-C#PaZXVvVxrW<#K{V!|`zC_q?;IToM)N|y0a|dO(*GrjaVLNBVA0?s zYIl+YOYletklb)zRJU{pi241#cTwA84qV}6>_F8K#H#cxJovM^zp-nd$f<5WZuU5c zNVFe!pN3xGfv%7h#%5KSv|JEo+6ac5_ zOi{xo0_RmcW-AW(4sdF52zkr>Q~5}~11Ip?cAbACU$$9S+=?5*Vu&C;K+l5o&df;g zTi*Nz*N_p+QtJlUE50RrwVQ|$fN#Ih1-a%#;xX;**M*%k!`9BO^2Y70;#btSE$N#o zY`#LcQxx*CbHj;c9JW*+Jea}ifRMjpqzx9-ux^y|fmTqLkl{hIY}@K~3^)Xzc^+{1 z54%r<%vRY&sjd-Be&*@G9q6e(msQFisn4g-?Y4dO=a^uGL-@8jUhgSx8}BFb4H^Oc zKEoG#lIx-rhZk=TEs{=7yuW9FpisE7Gwa{oWZr|$7z&|({2t8_sC4S|*GySmd+;Ad z9el_inlvbV<)Dq7@C$Ys3gyt1N(^=vk3$kIaIC0xGB@{&4`CiouhQiIQ_ z)i5RuxZHBJs*XY!GEV5;XTe*pg^-R*IEk?889fWDURO_AT{-&Lu#u(S_;n6lF(1>G zV`b67O-qRmZt5jlaVhoSJrAj?QdirZ^R$$xxL%0=M)BmE4Lj-stF7G!oz<4+L?FiHcyl^Pv{ z>NNnVl}Z6Z{WL_qaQ@2Ec?mlOFx)^wTg@ zRkN^@(`;Vsq`FQ!I?#E|!l+;_e{#?;?aNC#)hgl#m#zj+`cuqbwO>y5(XjmwpMWxM zp`8D^oM0nf=$$(3aC!_MW3ct7{AC$^BEoiS1A>2#@Bc*?Yq>(Mg+9icevb!=%x>9= zYRWqsTCC|Ttqf!08<84Ivn?<4kEjcHkeYw~GCrPeqgfJL@6pByXi3Ds0Yo}sUlmK^ zH(gI)m1#Sw*_v3Y%aD}cv~+FL8cxaIhLZz#Qx5W)FFG2-@+lK!Ys_Y!YdfD0UX`#~ zB}-9rYvU5NT$Qc3jZU;ZOeDj`Ig!Cm*?+Q*wasAIuFF%c%ZII^^l{z>n)PV_%Vync zS+UmXbIiP@N*?~N(wKcEaQ`gL1dA;xCrJL=ki~VW@y@V6o2x%_)NJ0G_+(hntcj0U z&)^U0%H2(i8UC6T-rcjR=fRk~-Cqj1~1w z&z6|i;ff*N-Hukzt{Y0{3S83bpNt9@s6(nRgPyY%AG(crAOVR47&dj^{XMA4HI23?AGGHdB7O^wNP+2nZ%KgyAOjf(276RCt*w zJ=0P+fUnNzV4WjoiYJpAYj#bu^(l_bJ9{B>g!we!?>x!{Vrdwu(TMKF(4%tNrURqka2dWp167CJ$-H2& zJB8hIcBkw6nAvFO8_e!Bk9l!+r)P#TInPmnVY3sWP>ru*X#Ts0A$V+VU|JY8{EX5{ zU0QCIz-a42G(U5z@6z|%PQZQUb#nYYhJT)o@b#ejvGoVnA5=f)z}Wd8uc803)EDv8 zcP)wP9z)m$+$i;`AK#uh7XX8`G^TohFki$<|8xyNB7Ii*h!a+GA;shSW_F;=l+XTDTXW4RK3D=6V=mV+Gpj<1kurJ7-hENi_dLQ zc*%FHLe3RUk$WwUYl+N+>QSPw19Z6@4vE_g5gM*)n3Twz1o4?tU55bZ|J%sqewDFQ zNuYUaT6hVidM4GDunu}dTHw*yT*rM`fY1*9EMXK$UT370CZUW;q^z< zA6b9Y5!RPVYO?Pdus@U@k&&?+-vpHh85a#Mqj}6ggUdnKB5!P~*Hb%%JwDEEOF;%1 z%QRG1`ZG>K3O<=7^AhR){rmBDbUZV3s^F$k&|_Z$kFdMdDn$NM6T{2=LvE9LRQkd! zH63QJ>l18E52xw=r>KcBb>P4TviM#?Jvzxc$9{=Ot>2!bIR6@}^m=m3>7pVVf|JWv zhjcsDl?$x&tOa`|a}>PATU#lJ+qQ*a@4DN^Q#F+#ctbv|#{FC8%V&7CKkCY5S^sM2 zQ=Xh&(hfg;O2^XMDDrXh0MzZ_PmWO`&}B0V6H9?uOd#bE6=q*if5YcHO+;+gA) zwWqyxw&FM_5+oMg1^B6(Ifvau`b2M)@1{zf_!{8#357W@Gp4R-c0iL$|GaV0BUA>Td?Omtt$c)?Qij_( zD#Z@)t@aB6(646d&ZzJ#E4)Bzk`qww`P2jyf)5d~1-k!5@1oRWTwtN~Hq}d>sPgFz ztDPj_wG=_!43MkoMLbnf9ZwU#OHzi{(ml#sYkA$9zD4%x0>J6`-9tAivKz0n6}_Uq zjHkQ|tn=ul{!Ne74h3vyS5Nbj=fI^B=|*I;JQ{qgH`#tgD?U&pZttlAEV9=#4e` zf%*cZWe#{dTXA%hF2gJ*K0{nWjr_yMAuhSdGFLHGsmJXyl*d&xy+MR2y`mmh>LJy& zaHQKud0X3PN~)W_XNDdGrMPiwYoHeauHpDZ`nXB-dE7qqnFd%Ck4M;1Vij}A4R?sZ zHo@%m^SzNXS3z$AKxzYBs)tlp8qBxCy+y9+ZHgMU&B1X*CWK=My?t5wz@gCsF^i1E zYTdCr!htIyhA2pkQ%Plb#nGibr!+yty~$V3l}Xf28c^HH{9 z5LvcNF-$8nJ%Y(|tMD0Ctc~VzTk1o}%&pLuqr9gq&oHGqj?6bAwLBOH$mZ=&hl0_# z)TT?n-pgW@HI(`zX(UXe7<9l}CR_ zH9|zD;`4gBAqWXGZn-`{W58gQzug{PiyRP>0h}a6PNRC}BOpnF6fO2bTzT3 zq*`NaUWHr(o6J^h*aj=|CI4hf4vS|>7A9&}c+IadOzt46ZS#_8%PalwBJp3zGe5?q zH+oW~9;#kSC$;H3hhP7Vi7eoKfwp>43W!AhtQTv{lb&A8_=sM7#G8tI&o8UdN_=i5 z5Njr=#Cu_h1L;##Vz`Zj5`$HumN(V$o_ei|nHcM<_6#wvQi;W3iMRR9b>w+o3>@DF z6nRV^WCks}5%K@Gtr4Zf$byW{+;G8yx)CMQmpq)E*(2YLWlxp2)YJkS{an0Cnf- z!E|S>mSJX4y%HW$!Y7s>hIrkfcqAENN)Bb-e-JAqfe}bV6rHE>daANB)04zOr_**Y zNsHRJY%E{tG5?p9Hmg!ZSd?mf`G2|>CMi0@N96DVTMHdt%Ci+Cd_acsa1}j{H4P}j z+!4KHrj_~Uvj34waB^89HHk5sU>$>zB-E7{_PYe2NX4r3P{l({?vUOlb$t`*{tLjJ z`gAuf;WI&DQvRisRJY&+UYU)1{>p6ZRL^W21>Gaz1|@8z1npipNUj~1o1TlIeE&Do z^MPTI=KQvNr8oRvR=N!fjIIx7vHQo=(e*z;Zf2JLb7;;j<0i1(;fhEvhfuk=c;^9HNr*3lcGcyYG6XyqMkkSIePUTk@tNJ6jP)Z@04&P}48p zr$hyBpu=l_0h15h8+1s5Uk;OZJ2=GThCzw+1j$9~vYww_-fhRuEInYK9L$G*SO{}z zf*{PftA0MrUzr`kLU!EOk-cf>Aknju%-UjGmksV(LU@!~0tB7<~#-?~z>|Evn9x0bz%Zsic9L#H8q-SY3 z8>pOOYvju<(uhMl(}Om8%Dwk4%on=v{2i7e5vX(OL#_QLMM>(c{Z!d!)~RA1aW!px1@VvhD2y(jpSjI8ZrJ9gC-4vP<^jj{sKvn?52v8Q!;Ng51h_ z@4m?g;~3lZVR;WWK+DtJ62&WGO|5Iu)wlPWOeHzCq$yVXT6QUR!LszwBG_efyizco zBE#00>QT%c{_Ymb#c#d*+bqG9lMhS4K@x`;rIu~Y{oj1GhTpvBtcF;XNKGp+EvdNz z4WOXGrG#8sr$H@ae`MI;U*+!;Hu&3Z)L_G(y!%?QnR?CRcTwKq)rbVA4&Ywb{YE2( zU%g1amS2SZr{$FQ1@Vru<@9lW&t=D`yznFS=0)cfax7S=}2`0PXoT}B$dU+XH zw4j|=IXb)!V31AlZwZ^~i#u=xn2TLg$;MFqj}|Sg`#-&8JXmm z*xeJU(<*VAG^Q?bw^dbt`&bF$?pD&ZhKF~cmU+pSqlyRtTa&2mOVyH_sT$kUxH8t1 zf7ufV&#C7VuJYBXw_~YC{jD}#o*j`sw=AAMvOJzXt+IYqH)bF~KP2W&r@>HwtM4m& z5YZIs!J9J>?G8b1JcaHR3pBxl$m<1=*|HPJ_@{s^;vJQHZRI7|M$SRz5uUyK;1q1{ zpdzcqSc0w(7?JuM-LySs25)3biflh5kjh~n#i$i)ZNZlb>Zn}z+pS;thHj25OBZV; z^{b!{ti?M0DO^qm(DU z-E)<`O~)oFeIDP&(k;{V!)vQ$wOkUujTEf?uz1B@t2cDp0{X=9ZDxS`Rx`V}Q z@WU7AF#U`@AhY4iDlo4I9`mA)#nifDP12Uk586^(!7q76KkL+qH6(cVjU3g2g3&U| zj&1RJAdl)fKb!CaRT(~J2xp=;buVKN(vhwTUg}!zsQwkdiS$u*I%rhHb1Z#SEDEH} zmm^2(pj=NC!m|3D+AHra59C(Y^jLB?v(HYiRNS1`NTw+r7>lLPt5Sfhr6jF-l=Vv_ zEfU96*GxaNUy;}RwY~na3R1t=s2wQkKlzVR8IVSiKajcPaWvl?jzvP2FfVz4CK#yI z#51Rt*;lcQvtj7#>+UKgx1oBRqm|7U8#>H2T!^PnM;~@VwngSOZ!Z#-XI2MnOhyN0n`2}edyXOTu-HmqbVduS$P2 zAY5Nt{Wn}+&-M}`*!o(bDF&n0=$G|X1j_55K}8u$m60LdR#?#IS6Dobg84TIsVCmFAf}zEn!Acg(b|&O4%%yhYBQlPhpUtfi64SIAWCz2 zt0>Xs^Q+)_14tue5LUCMPmBLexgvV;3SMN`$70@)uj;(Z7uDZYtZ>V!g~#OLMy&TQ zvu9VIS~FC1aTytLYDm2`qIS8L)G`^Fp7LR(k)pU7O+8j`l1zhLfi7Uy#Zo2J^k@NsE+d;fCvJZa8&r zpUl7NAr@8YE3K=(s(%y$7!^LEK;NvEX5+Tm1!i3c9uQxhOdNbhX29<{%it^PswN>; zy9Dd1Y^=%KKr&#FTJ*hr+s5a5+Pn3 zDbo;75|9vVy8XKLRIsn)u;c*@Llv`)t`Spvzr{oQwVHt9Kk|i4UuWmY`Sy}r0fDN5 zL7c<41db=cfZ#QsL4rPZ^=T1`;9K7rSf$S{F1_VSiEwcgQJ)pYO91k%BX=jvmkm{$ zqry7ruF1r&g$pQSmK4WrH@O)}VI5y;9#Fm11$i+w7l#QpUL|ZCCa51c1m&uxp3TFo zrR!$RR^O<%Rij{lOW`pm&s`7MNo00-i!K($;W2F2dKb@Ksb4Mu&@7o z0oZpFk?#ohZAdh**YPo6AJsPm`|y`Su&+mnSn5Z?o+oRXfc`|`DVTtR)d$Vrrd?Fg z&zpp0pS53%qk9%k!h8_;$0woLO#-W4i=g6P&oL1vX(9}^bi%DSL(!?_@usy9%^kVy z4;jz;+KXqeWk8kCC04v5?%lmnBX`Sibg@`ed`1yJb_Y-i1yw1e9}|9)+-gl8JzMhV z_fmwL=A#{M%I3ScGqhJN`+t2vTWUyxA)$DOlBhQ2Rtxk{%U73{^a)8KNp*auwJutc zNJEWH<6DJf%N;F}QSbazh~|imzjSXguB0QZg8o53bVV#%<~8pp*iueI@%^X4q*{Zv zQ^+cV+o?zM*yHjIjVCl|6ook1{F$|6V(kb1uaXk0p~D*ac*!3Tm2VXIq=9|$qCOdTG)PZeEba66m}$eq;;*s;yCWcc09ZJ zkI-Y0vno3)>&y{3IIa2S>ugYKBQ`mD(y-E^yNZKKAR-vNPM}gjZ^Sw66}X`;)ylKWTj|Soh88 z4)tdNvt1j0Bvq+yuY5n+IIu>yEsO%Lx_&`865&kHjZqb-6K$oMjSjXiu(!xxaDmg; zC#XbdiW0HitJu5nN)g>cm^ZKdSOX6y|BQeC(Bw}uYR%-Yiq`*p&;hGq-mmt%C*6F) zBBquFcdA}nNg1>!0M|<2#CQwnGX@as8vcv;@FNGR0Gi`?TEbmZG7Vj2RUpq=udfZ| zS51;toSs@|hCh=cRMDAjv`GZE8-4>W?n(y=;DxPdU3fuqi~QN=J9r(a5+S^fqD9H@ zFHvJ;p;{Ipjk8d7MF{;V3)LZaW1(6kZ%EcrO{{5Qw9bFpKC{z>XoikY-?)$Q>1A7s zPow4C%gEr<{|F)MEN02W)xFdT;#WftC6XKE6Dk=)7_Jn7Es>s7m6+_bt`&@bMDeHb z%$<6|;EFi_Y0Y-k`f*f3D!oLj5$Oq8^p^L%#x*)ddMR z;>LcDEq_RFxs5tad>q3=p;On-*ISnUQ;0i-PSBH3X<2VuI>zd3CJY%pbR&sn7sWCe zjW$vH6)GRf+|#Ia-sO*0J?h=}LM&6VNuu_%I`6WDx_>bBbX{_#*ZdWVPTP9&tq3+Y zu5&mI_4(Gj@H5cFNSoKPtK`klcE7#JSTL&fmcXbsR}OH%{8(S9{(NqTbPBjIx?C%x z1x~7qxlTxx3ZtZ#SB+pvmL+OAqDiLL{I-39hahiArTtp9-4Kil+M&3wDeg!Tx-nG$ z?sFqE0|vRv3=^D9{88!^U3lHqiq z$6s6d$V{b))JlYQ8OTp%vQ>A)ZTDmu+e9A>JmhO9Rw#Mec&paX2mU`FT+TvXVFX3y zQL9Nb1`Z`m*@y18GJKyO{`R8ca54U>&N#{!A5pS6c!HlWIwAL~eF{F*Xuft1hYNqD_QRMtygWTY=7u-Z$BrG6dG-qaXm z3qc0lDA3l*KR|K5l>RuvhT&JGg1t!&W!Q;N^e$?sh^6}+p>l5MEN?IL!cY?RPFu5wD)t_No;sY=s-w{e&p49Zgj^Di3$E=`4OE?XZ8nw@v}tZ~b*%OKaPU5s{vBE+ zM{^$cl6%V2SW3OV&!bRj2&D1Co0pTOuUHF(`+C}h-A0|42s`Sr-bF!Ay=8FC)#noX z*7{G-plgj)T5GLYL-{#7EAHIpMm?|*;LwD9c~5S?PM$Z~9Ac=L<-GD}v#xNYp%ZtI zG1&i7vEa&$HGKtxPkvJ-?qNi3$$jmK9B5IX3I~ut4#L8KcCtC_lulmQp$emuZaGa^ z4yAmH@K=ePG{>r2g*4z_`uh!v>Q{AVvTw1eh)hyv%TzA1?f>(;_X(s6Zx&?0t}zO0 zW;h_%cHu#O4^u2JmhPMy4d{#-U9gOm(iQI>(_Fn|5rmPTNWmJcCn0G5dGC*b#=qo! zDR7*ErfL7i%Q!>!C3Us~bn_FI(!UwyoNHod@RKgRgukXZ-e3}c#WddI>D^Ed-9qs1 zKeG#^-EwQbRJ(LA$5vZzM$4v_$C_7p$-gj(c?$-#wj(XOo^Vr=Vce$}d5F%h{>W~{ z+45n6z~E9U(KRe1kQg>rF42Lx0K92_@1oReK@lmDEPIC`A86!c*{vA%Psy^Gzm)$44cW_y?YN665DM6B9IBmx9@K&}Bnwb*u9@PN7;jqy)< zabsLg70k~0O6gcr@5vi;2SKwx8?S0r{SV8|oQBuYgRyJKeFY3=Q()KRIgXLLO#ReDbY!RA>j|*22ziLJsht(~QY)6TZ6X{_}3 z+zsh6Vizz6TXA`V#(hTL*O~bQf&wEPJQY3^dj_xSMu4DzvfmI>V551q<*)290r>;k>rPPqH*o z@@UCJqy!r5;}ZX5j^44R{?g z&$CQvsXE*3wN(7q%@%l4hf9>#T%rV|Ts)r+q-^lzo0`Iy9*;%~z}WuX``S(l4RROv zB=BU~nXH3s6XoBery-YH{Er{tazU-!6ID?m5&5*I2$f?hIrpR9e`hhf zWePu^3TF`2SIx}9L$MI3vSV%FPrO*~C*J6?FKeF%>KthT?cXw^W zv^VGlAK3JF=YS@sdQe5p9m>hDYJ5NAkD?u!4NJFM(zx^BVbjZj4Pn*O^io=+&9w>dfl$+! z8^h==i2H}%;gBu2@p3jqfO#wsIsE}|A~OzQmo>kqpkY)M3g#f7VZ@XS13l-p95R3R z_a8uJCyu^FY+#2#U);-wL-?>g&V6X;;Z}=e`zfbxsLR_z)#puy&Bv1+B`DSbYCCcyTPg%RFQ8+gZvx{;t!+ zZ5GC#|1fwYZ$Ef==TfN7>$%~7fBTOP|LxZqz7E$dH=W6eGQKZStCnu~Ti*gM3>8o^ zgD$ukkKsF?UcbnEeK|4azyH|^*He#uCc4FuObFkh_xCQE$y3mqqm}`P-)$7cl z4^+ow>Ig~Ak*<3Q*kY@J5-7;9l0yK0FM1f<`3hg-4=_(8bP2!Fkx)4<{ngSZuxXL07OXIl?C(EZZKtOxelMG*CmLd&nGkY9q7St;j8 zPR~tOMt&~vzR3yK>)J^sL+>>$SOMg9EeJqQ&~u3>uOP3fGnfDwj02>+^ULXh}6C{npl?dV0J@UVLY%_2qiLT)p9w?_vm({ z1?u?lh$v7;?=Fm|QNl~6;*i(zhuKCwP4|D=I^cyJxF>9~Qu1#*nB~_A^jC;hJqPl2 z!bzun&`yyt zSWpT+HC52;B_ZYc88CX`eS^`vhZ~F@nF4f-OxstEjYcEp8~jyx8A(Q`=1o)n zKTI+@S}74mM^#Lxir_8jUJ)BXfPGGIHVg?(37Sg;k2Am$=ZCM;m8~j;f4;ud7f{^3 z5trFQ-OV_S<`?T?BhteL4E65Ye{|4bcSUuwCml0`-Z&=FHm7X`7wnw8@)W=wtMNwQ zn4Jg5>vtMBWX}x6tkrXVfYCZ3_%+UoAY}S0&VgRlKb?bO$UrJc$-6d|d(G_cLwr70 z+qv1_2&b|#Azwk@ZWow3r&{?_dw&7Ocg0Boj6bj{ID?AA9v<{VJwy};V$W)&uw;AyvJHpdmKTqLmMHOj|MTGMOD^=aRJ5`K=TMH_6af z{}#Llz|wGIRi8QgK+-u7!ML?!+}Y`vw=MxSuuy0%XdOIZ>%brzEs7!4eXVXO^*Mb| zWqm8_)J4anxA`Lo_L+?&atUaVOMq!g}=s)_C zt#}mlmZ*~)%O_rW>HeE?B&v3c*aUu6nkLuNmUJvTt|ny;x-1TL~1ADW+HV` zdCc~SsBAj?l*HVjAejU=_(ICR+fj)LiRxmh66dMqT&m*=QZw7l7-YjKs(!<_GUZHh zn@ZzDD72Z+j)W~RWdwJ@E@MB8wd9yq8lmQ7yx3B ze&G(_AX&|8{t{LaoU~Xdg|wwbX}ceg>v%T=4o;w~t%J%*( zZ3xaRn2_L{YHLa(armkV4xhsg@s_;109cagsZ8 zT-)_l4Le*NVn1RpcBo&26x&Hnjyi}ELQm-+Vt;6M$KD~D=O+Siii?(TnHurO{k=5)h+BvnHZPtbp1l>s4FuNRq271<^Y;d$OHMKl=gO(t7 zvakB1*GhFTixfyZ?Qn;%jbrTa%a~g@6&f$>ONgtB7J{q$Aj$cs{DA;wJ{8)T9sKDG z!llR1+h7sN4QxeAj6URaM0;+QP-S%z_9Q!c$;D=TO}d4c8OO1^hG(mcmK;Du@zhg! zD&oFOweu`OVe4cW-?{oHmvOUVcnGr^PLT6wt3aM9eScG-R5EYX(Thn9ZstPIeJLXm zdPO+tPfCMk6boIBu3*Cv0@q+fXPkfNX+&nOw1Ywy_NG*$H=f|=k z9BQBRl6PUs4L+5ulrH^*X$Z~)An9V2#SWCc5pq!@+8<@|RW zD0H9-y&4sgv8_s2YCTFjo44&RcrAVOt)p~F_VRJXCLuVq{lK z;{#kh8Ka{N+fDp8Nd~_sZvcLG@D_sU9Y6S5=j~QKyuQ>q&hF}X5}+xW%*s^Fy>Q9@mGJzm~}WRoW9Q3Rr0T} zD?T-*^Xk(uodHo}Vd&|_)*C`kx0=oWKt5=@*NwUTN>LD)aHUviZuUnh8>E%o$-**E z!%&2nK^gY{1dp={i)(dvz7zNqWraNs8d+Uyt4+OQT?ZNu%U0Y@iM9j7me+N@N|WsX za)k}Bd*em6V{@uLYqHO@$Jy`=b9xGTy?@&m(Nxo{z_rc>xmje}seD|x+8Pyic>qr+u}kDs+|7gl8~ zlw#A)RuSZmI>mB0S(t|H{x7QW7%S?=9H$hnqK)-7=JS-jdqH-4U;Oc83rCFB-t*+w z*|yF6YgR_kh%&AwL(NtCeTNbs@=OYN8xZU>Nl#@ZT!5}w9;@{^EBSc5c7fNF2GK~X z+&5ja)DZgS?gaN?u(b^rnaegh9kysI$ z;3QTUM3~%4|Bijbmh38qs>l`uMh)P0GE+u1=Tb^jPEms?F< z^QmD%4$r-oJQR6_(Qj$&fgR7gJh9`KqsPTo zFN>w-$ND`VOFa==eN%Nz^V09p*o%+GQqOTptahSzQtL!-eCtYYYAdQHe;E39?4(g~ zBo`uyZ`hM-d!C=@H9R-bdvysRpEu{Z$2}{1^3AJ@2|Cbxn7XwbD{{fzup^tYTVha3WjhFnIjLa$7iM^gleco_y+f!~~&>p=3$cpFWMfVdU6F{83$qm->8PCX)LUNjcT`~KpcRmy-<#ovZ|W)P5dP}w zp;azg0oJ|`DU9{>D9+#F$qK%=A1Il7i>h^W`$u=>CcHuV`5c4TQToy_{X7^WJ>DU z2=qoU!Pu!hbN`!49LJ-z(+O4YG}TU~N3SdhF3YAPKtha-2XP3#Mxk@;RP z<^ew>{t87N(TaEY`nDn{wC%eroV4U`$THNGtNnNzk9b9$l**~H(me;@?9Nh+&1^+e zNx7#ucv>A|{59AB>NMH5J>VrLX_D0HEmlBQne?zxKSDJo#zKmb9)`O7JomqfYRvCI zH5SKuJt}f3YA%BDs{(?tl7Q2M#Cd3KtoYSfuSK!>A9mHX>?#`Xvt~r?cu2w;x)r?0 zS`lG6^iv}&pUaB1HjkXJh@kiz&G;-^x~1ts)hw&E?7IKfIJtEbbFSbUY47MO(bhG{?Q$Jeo@M2}%NbxlLIVw^hhi8x(m(3D}QjQ6iVINA&=>dev-V)p;1 zoQ`EHz6O15a*tFEnI8Rb!!ZXN=%Tu^9o6$pk6VVXdxPRvMq;a%~#1pP`o78^eE>`=a;u#=~g5hsFi_gS(a4moV|8_LdFo__n zsc4Oc#yDn()`UF5Z`^jd0(U1H!ojIb==8Ux=z0hKQl_*Ve;GF$l==#~T*wasI>2Ym&d zVaBvpgZG5k`2hz{47VA3pU15u~jl(P|5Uo z?`!S%*n;gN5VB_`dhU%Woe}i3Z5h2%aOBiZZpg)%mt3OADt;fmk_&is{vqBu*GG zK6M#`XjN{kL|-lNSzV#=nu58JBZ+cXjjK{e(*OJz;5UuRYtHa&T1y}DgY$U16-nh0 ze6VdAk%h8BHPiLW1{c&p)S$Z$C7`>%Z-ee$&mLnzc*dQVpzNpHr){CM(@C@b{P|M) z(+4by;XJ@0lwz+u&W4>_+1RG;$#!+mXxh328*_Vk4xxl{B0d*xBjSS$8xoyvEUjNQ zjC&9|KM9C24LJJ?@3Iv$FLz!5`&!Q=FhlO577zMWgu=-WtT7t@r7Z^cO7L;`K;R`U zBRMb5yaaG;&f7i3T2?hyJ;%$9T(G64Uz2h`kMX>C2s*-hyQO|A2`1G|S|n5q;*5s685a=vYP>TxLUUDBX9t(b_fA7mp+@ zR{V?|w-KK@U#Db~RZ3;QxqPeT;kp*7wJdOh-zBe3!<92APp7EoQtZrIVOC~oCIBKn$uBY`D$+`v9!Ajd{(tXgU?zG71UHn_CoYQNKs$)PXdbu zp?_S?CN(a&r2T3=aUrX9F$ei0LM@?YX6fx8=lXa(D62jmNgx04yOi?{`9FpDhaN@{Us01a;SK)D}PWPQ=bOAL$@Qf+H3wT!eMX#e?$Yz z$r3Ks0SEaBmaQ*l%wgX=vz|&*fe)<=RY8HNO+i{RgWf=^@$Y>Ph3gUO8;AG?7`ytJvCCQ3rd1nFhgoc4=y-|> zl(((d);(ANG`Q}?tabTL-a~4{#X{j>j*>bE4{p;gQckx}tpujQ@YnWe+exlY%;lSW zurk{=!Qbzl(4N+IX4thtBV&d2uzO>VY{iRd>M6A{&SKHtRyUXIoaWJe9-7A_MFOx9 z0Qy$-v(v*DXX!&qi1L~$aHbfJV{a$xF;oSP<(c^Bln%!6uLWG|riBs8i~D!EC$;T<$U#V&)yJz7g$peBW5Qi=Odq>wnUujj3Qtb(JE(S)Ym3 zQv8JaU@>2NNQP=!)2-pe_^~B32nWmQQlp~jad!09Yi_Ed1OeaSCS!EYkehkd`kM_V zm;*sIZ&W0b^ahGkdAmI(v(>oG6(MExVgxZ&EO zugkZGmNh;3TV$WKJ?%(v_ ziGx#PcH5tTGHcyO>w8Uqp}Ofy`VMXxv)f3yXQBbMd`hhks+~liFC-+5NFP^D7ZQDz z#cE&oF4&iDlU%lMX1CoS>!T9IONo@zvvDx~OkG-HUA+4@nuthf`nzh67yoxeN;M3X zc}Qbofv-MH!&so{FAR~}w07f$|HQaBCiOwj<{2qn1J z#M55q+NalG{`72pJb^ zLQJWOrHSRYB-ZDnMD0i31rJbjqWFn;X0Muf)A#Jv9}grs!ri51BtR>gnChM=CeHlX z)m7X?Mw5-j@!FleY@Go@M4$vS#!$P9%#R;1*BHdU% zqPCH-{Y_&_Ez<0b$V@CAys)J2VVaxzySWaK-OmpdpAXjF3PfV*`YLhFIbgFndBh(f zRsW{TF9+Wz2SKyd3#-{ z!K#f=_+yz(IpzL*%p3kZD7{|2bF23D`9`~mEgusAR`b_Y?S@`-Z~YlL{wx zSKy8)Up69jPEl|KL_S-w$Aw|uAcn5tIQcwU`x|e;K0@gm?}rN4=fvUQ_&tWP|B&P* z?`L+Sanf??BRiezDq(cv=!pJdj&OXvFA2iGI)0U>=U7-sjgR7)3DkE|@RHs^l))ul z2}6)9^{Z&Y&N$H9}(UusI24e$Dw{MmicMARDND7-K z)ZR+N-hHFWj6QwpKV4r6q)mV#Ecr(Xo#gG+A|>awU=}cvAj&ElmXCb=&~Ef9SCK*; z<7w~;K-N`MdOkovHv@pUZ{kWoFKaDd}aw0Wy-PgjnH=JKb6Yy z2_TMnLFLmZG=iA=@zgfKxdy$D62&ayTLhfUZtKNrS2BW?v8J`T+TXU?XHZ~7>RB5A zw4kqR!;9MJR?x;16lDM-QeT^mE@A%sn+LB+k7s%Amnqqu?JowgK!eCFhc&hwo}4IZ z!+y{^Mny{Rd^cPUH_Zr9{v4{0mV?MjO|St2nWrTg1PDgrgD^8(+c5S+2V2Qlhoe1m z3mokLiDQdeSx|U~B65WsG*;%KKKI!Qn83sb6h?g(8zt)VxdXoC4E^H@qP~j7CfvnH zEwf>2H2oWzL>qXLE=3(s@MkGVRe1^*^ipR-auWkx`+D~syiWMz{f+R5u807wv9a6~ zh9}h|I7O6=k#N_UrSOv-B=g}`5XW7gG!?)$bSQ{-hJ3` zV(Dv*%V~{QAy+3iV#&la+`T6CDUrD;%&%lz4637>@v65M&PRu(fgPW_jdLTfdN zR5kuc&heJzg8OfQ;IlnSQfT4mt=S4K9GmlOGJtB|K|ILPAoflx?6|5q*j&RE_YMDVpShDr@7d2GZ#tI660=of(jd zu@9mM`bUSaP|=7J93$lHC+ceU!K6Q z{A>V-sedten0T9h#n)W0S*#hc3|x(RC&t*I)yt^x1p~qq{$r(Y<@+4QIrN)bJzaf4 zT~cN2DSRV&7M`im=wB{Ctz&sebLt89CBj@`x4*#cN3B**h)!!gf^X^TAB;|GEwa8^ zXc^43=(H=%z$a{u`8$37epddTESBQmS;W?HJnANB0erklnlV8G)H>CuRgYGfVw8~I z*I)0;^`elTW2ppr3vb(UEE#~muYCv{^$Vob5lz7;VITK1oa-RT!z>3y1K?>rhQ1`D z%GCLHPxRhoH|rh8=+Pf!-Jokwa{338lu^v)n6;|L6cX&J@j92$DVm&22bE?0dVVRK zmFv>c?gsE_w&LWoVJ5t3n9}u{ufxu(1RK8+{t+hFI7HYj>SW!M*bFL)a)YIA!`T<~jJd#`VOIw0-Tn?P6Qef&vDV z&|S2-52>84Jet&^hF&@|HHk;Onvwi>_mU5B_D6CMLh(8A>@a-9g@XK>j(~jzqU$a^yU!N}ddI0iuV>!F#+MAV#{f0zJkOb1BgN2xSgj)Qr z;8*OFSWwpIR$BJ%8x3_kr3OY2t>l*3CR7ton2r5dTBrZQI3&W*)4t{0a% zazzyBTvtoMiMWt5QTvbq#!Hq|sM{!d`=_U@aWT(_nbzyL^$>bChmI!b`>p&I214h6 zynrLX#!~G(eT@E6Fo1~QAhC2BwSny9PSoDW?$8KCh~d}0iVr;wwdS$u?hgl053V3q9fpl0uMXVCcq&cB}clHuZHeH80?|-(u{>&C5A#7@WhaCa#JrvdVNrG#v>1ZBpyw zC*GH_S_9mw&K%133syTNUQTPehwN6!-89EOp^@aD0`AHbU{H*_=k zQ+Tt#nOi#GO}e}BfbM=t0shpS77lHisD9`8Grq_F5&oP==m^2Z;m@AEI?RrjYSehs z{cmQpKZ!S|K*6K#wZof3em35?Ku3~?a<*R+XXjLP=-IRjgEhh>qfbAAD?9y$LLsiS z5OUh=27CB|JjDK5iYo(;a>7!eag03JiS>+1)OZ>pN@lm zEQ9bLa;RDg#+w#EG<25O1kG}qkihBq-z;}hpC;`+%{0+TnXn09-oc7}sL$|WKPu_p z`EC~g1dY?w3SvV+80SnrP^d#WW%>7>f-`v^OMzVZ_r1S?(gJ)eWb_K~<5+ zBjQ=Yc?G@6HOTlwJ2bfck2H8rL4$Yxu|tC|>|4-am1Fk1z0c6@yL->Dcq;7`gh=3?%& z{w1TR0JxStiCe=%A8M5zjwnsa-=LNP^etM?yieTSg;2jz?-4kk-#!O}S=9U^;Jp9% z5C&t_h>U~Bos8)r&YPqrRVdKc_@D0G1qi@JL0T;O)atx(lCP`lm?Ek=u>@3=DGy6P z)1&3s02=<-c${uQ$GrRNJb1WDN_8e*R{YlU%y!_&gCeF1;7qjuKIlm>*h@}Be8^Vp ztcejEE-}dA{w_aW2fPDE0=#tBP8Q%*R=6wU>}0NIF>tpl_U~@=(VxO0CB=IFyA3ds zQBt2-$mdX^t_nURHfZ>jMU&q>{OZs8svzdy{)aOq3RC;(CO#$7q1v7*ZKOr$hNtTtqHyJyA$kFezs$#Ip5$zQBsG`Tp^zmmsu@n`SkMc()TW~@!BU_ z0}ubCqvaS=U^$EovEs~`{mUFw)O2em`#-x&hP@)*0e5Y*1*{V=d ztf>_UJ0X3ZYA93}8Nz`2)U*9?Nygh`zIt4PwioJd?<1ckQcIkg#+e7cR_$}_mjh_} zr6cN>7*x9}tRfwj`F09hmq!YZYHBq{3fmswoYPd3*5D7QYZsB(PF=gu5(?C{`svw1 zZEef0>fg`N)_!H7C_=%S^Zw1dQ?=GClikipq9&C--t@En;hWRe;=D!L8dcnnjk5m! zE^@vxfPpmzFvX%z+r$jK)~RooDPl7L|UiG`*8? zz^!M8HaLm5R99QR#-Z7!#P`CHzza@*1QLK3Hhua@z1eXhh~|Ka-cF_caQ18L=A}Od z+f1{!i`oYSC+f?luZeI!Rp!;E`D|vDz)9!FykVVi(*0COoOD@Nand&z7jV*UXN8>f zPby?|H3b1xeDQtDgWF8*_z6b+=MiD`*ID&v7gm4EnPK(QDHJD4Ks>dzEJKm?DENTb zN3!X#Df9b+ou%CFmD5Xh=WFfGG>@_-HjkRn${!Ln@fy2z1|_#Sa~zK3R1VNjdk5}< zuBkS-VGnWRG28gD05X_$oWA`+B5Y%QYvbN0LMTDN{H14v!#G~7U(_U2v+=A5YVnTw z>FQ67s$Yy$H?#EM!s^eDs^6fK>Nmzh=7jMdF&4alb~hqLq>0CEqMNLZm5U07uvOH? z)lvithG3S0luxkzyzU*G%I-iX5?XFr+@_-J4%XgI*4_pA_CECQoEC!Y_02m>i>c;0 zTYWHr=nFsH)R%&caQJOV*v!(+3Y!`nHFfDvG*yecms>Y4i=X_|y17e*)Mm4_c_YE% za}ww?r-#FvY*QwAq+s2gg)^3a%|e8!Qqe1kHU4+6g_671yg%QV)EexABbUp5E1!LS zF8gw2L+Pt>#upuAx`DQX@5!pams=XSuuTHfR__oN>8tlTEB{B8-^})V&UGdn)pEE} z$7`P3HGp`mU8}v7dvoWxfnTNEwjavvqTC&f#TIs5cB2nZBdf8KtY!XF%39KC*4@hb zwf4E&bycIdLRqJZxE2S`5rwlKmW8>-=i+_VdKbP@%@pzxW??y^$x}}^q4JdMwzqT{XJKmS8CsW6orabNZG&j>r*xZ%F~h9J zooAMgSWtjf(;7pp8cl&5EyFx!t+id<$@uxA?J0=dm7##bNQo#ha8UC^Nv|Via7y=| z#!I&1hRM#)cTY={#8VKldg%guAtXRrRBS|6v&#FY{ez$_d5e85eCszG&^PDKwPx&c zySBqzwv4FcEmiA?yutd9O0F=uWl~w8MLCj@v~375HB%kj$B&wTO{kW`awAa&8PGej zNu?{6@{=z8h`*-n|FKe;6)*4}Pwx?3J>kEwWfvFzzImA`2qwEa9Vy>(80q~=WO4P8 zZ68?(XPYKvVktyFKRExQ*MyBu|1x~>T9R*&6#D2*<2mR)Om!7VnVFOPQlSYH&QCJ2!uk33JKOf?r5g5y zYI%LeR(X9!5~GnzX<``;?wJJ0MnruXPY8pU#+~HdO<@MP#Jj4B^o7G}P+Ruz%LY;P zKy45W8{lto?@FEAXx^>HwQE&n=7tfYhyjV9Yqe92QM{|KQ@|e#`S_?|J;C;5(FMb< z`ETxmC+SFn(?xoVBV;e_@E&V;*F4f87I?|0))Oq*$rG@sFt4FcI2;Y;R`XD0SDs}o zb<0TN)jP5~*B*DXR!s-gAO4|G9~y0UMmW4b_wViTUY&1FA{m63zjjOqeWSA_;8*?! zWy2gU3(-ImY3S97r{lu=8O@#`SHeulZk#p#e>QlZ4gDivN9aDi=!V15g7tgIvl@i6 zP(Q#ZAs?(X|GwMXkHeYBz2@T(Ov9n<`m=^I0;M1ruCKyI!rj>#|4%0`r*B8Ga*2H| zFbeurGM=0OLhga8^elPgP5uH?6b`wkW5is0lo!Z{5>~m!77q`3w?|f9U0X7`d{`gg*up)If&u0lc@y- z?OY2o>zbma>V(wEL~74m#k$;Rzq+y==5^I03hS+&8+U<_HKJ+C>Ti6E$)Xew6 zLR9^5A7bvhjXXXT_M`1Z`k@`0`gvG6ieiuKcgTzZuRMO@Zn$z^|Hmy5$LHI5a151C z#O8mr!H~&IOCzyD)& zhxKIoyU;%m*d-5wf(Ief3-Zu_4n(CDkoz-sf~b5$>zXl$g~J021RYl9-+0OYL))9c zM^&Bw{|OL?vfQ8saV6NO!8H+3B8v$mFatqw#|?2Q#kzo+2=<2%%#36hN2$fueoI^G z-fy*HRirMEpt4yJaKWWzv+BJ@C8Dyq%nKvJi1pxY%7i0z7{ZHHoJ;Xc#EhI%)YgG1hW|@=aS5L<9?zk4q)F#e}BFn zAPfo`X#<7)Y$-t#Ek}C-Z?neS>Squmi!>tht+);GE#m9mGPX6)_Rg=K1$Lv1kD1Sq z{G?Fn?EtSkU)=E`g3$^Q<avJN zY@?g?&imvbMKv-!uiYD&{*T zV6pEGE}kcv<$n6>wwRSS#-v&!K(_jafxvP&%Y9t$Jc#v)rbY^=nGSXhMCueAH=A(? zU48P~9efid|DB`_K0nS~b3AxElnKx(k>OvyY0Z4pC(?JG*=nlO{05KH(TLWME@p75l}-6TmW$TWF|4d>Lh50wC3Gog4sb`Z2(}FmiP2JV`;Rkbm@Au zi%}YmV%c?eq9b)3+a#~o7cVlQ>;|YL5gZq8okT&CkH1pp_tOXlO}2RyIEBzUkHXV2 zn@1rsR|Ak=mN{yz^ZZKR*%nqL0od|vgv$?-}kBg z2`%{y=H0Jcfng|tUFzJml22A8a^4%JwSlYg>JW+be*b93$PH%e%Sw4jpkloKlmX4} z!HxF`hV9doLK}yXEbLV+D5zIQG*P1<%Vcr{A*rMoh2x|1mUqa#lvrxv*yud0m)_@X zfgt}#P`4Uq$FqC|e=(qh2t|ZdJ=1@%UV5mpgU0Kyye?6OBGvCaN$H+32R=VeZnIoxMI3J5f3DhT2PxB7T2J z$LQ!On<2!dcl$7;5MJx?>v$0@G~3WgDv?WoJR27RzxLNE(x5-Q^1APSI`bI*9#vh* z-%FgxdNg^iu5hC3)Y(M;-zdK8iz-bFzq@W%r>R98T)D0vxDq6_qteZ)^am<&eTA;? zw#`g*qH}CBXRCC&tua#9Q|xt_uCL;{BDSk;vs2!<4O42@@+IA~D(CcbD&`EzHQO)2 zFx?SnO9n+^V2CR^6kSqNTwGCKUDN^J`HK4KMLEn~M{lrcJEyLU^~QoMGPCEN@MjiW zV(`<0wAAxw@Nfx=RF+%#Kr`nchd-4%V>oaeaME7W5UlO=X6nycpM~^t+KS%bT(I8m z8c3{yAa;{N2hkbc(>d^bz&79T0I!Rj&iBTY3@aRZHn_d$6;*>ZfqGZD$srWoPf=h* ziM6k>tK#Kz>20v2#IW39F9(LM$W}v>u7&@{uPU4(>NIUm&c#n2omIZ1fUz&tpJe{X z3+#ZSY-9QX67|5{cn3!x&l}{E{lH{wGJeRHFT)$hsox;R=PTc@aGlIQfsT0%DsJiU z_-L`npp=qC|AkzKSBx;KFux{^l}?>}QSQtfK_085d;Wd&VckHHMiY}`oU{x7J5^jK z^ItlL@01&*!_*j&QDdN~ai3}wo6FzmvW!cl><{{21P z>k=Zu{?2Y7Fd>jg`H?kCc~AgJ+Fi7p?WWGj_vWj5SSzMzwn;J`cJLoc7Vt`lU-_fE zw*C&=HOWR2am4G>9uhcXn9l}X#SgW+nZ0o;Zu2DM4QJc_j#Eh`y&-So?f-qCzXF3wf$nvLHiPYv?Hy7VG1CBG@AyOqzn>y2~ zAZ7s|K4)yaJvCUgMi^9fO=m-Zlli@PQ5&;r7N~!i&sVf^^skoOrDkrONIpWFcO-5c z$^1{pF!SY1wt?3s?gWQ#m=GgC{-K-(V;kMVdWli8OR-RkX#*&%k%Km(ra{StdO3~>i(grq1)-+lMu=#-)BNbf_UhTqRKg+D*-cFSo zs`%gg-*P0bg!RM?#q42V0Hb;GzTPOTpJz8_ZK9$F3Tt^H;er!Lexf4lwTv_O0v^qo zXHOorovWyRev4E^I+t-TFQrozY413Z|JaW1%&D9Sf>cF1W%RJVj3-1oR}tC#uuD(H z#Eu1e8b9%z+xTnj(x2diLFv!AH+E@@DPk|D5x~P_W{tj%2cpnmfSD#g&|nLL6Yvw) zieZ=bp&~Rd$dGY&H-f&eGA&jvC$kL^r!%x9>3@F4o+=J03F830d%$cN7rPXe&yf!m z@PxD5^GLcub(&Xru!zjF3|jwKF!-gDsf|H_uarpJrz4LRHgMy8yjo=OJiO~h+YClJ zvK43(5{3p?+5S+Ya<|eeq9**PFRTzf4PTJ&+_`6f8L`6)Jx}{XfPvsCu$r`Xs}>T0`@-BS0fud z;c_A){O&$vq+8|Jguo#cUjKM_&1sOrA@ivnGqr8+A%5xZw@}V~4OT;frn=QpaaR=c zqW0cp&0-}A0f&4T#oj^QEJ^LfHa&|y&(Nl_C>HPv#`xf5l(&(aWd0vVLNFR%rIp0sCrgY3 z+^>Hi0U!0-wpGyq%9G?xp@EcExng*mS|v+!fS~Q|HlINL&7kfv?QEnn5d?JFz2s!M zdRmjDq!xoh-^+@04sm%%s?oiDXvMHy%m}ZDgg%~UlOh>__}X&*5CUPE$FkwFCLnq4 zslRHeznXo7m26`9G;h(MAELajeF)|C0d0LH23O;q>n^CRMPa~Rs5{oo1n(LI87oBG$kl%oA|5oAj1bYFOJ9h1itA+lt09{HbGpW( z88sG|8h=rZd(7nmU0$ymiTwFm4!wTEa`;8D29$rl3TFSBf~zT5nC;z+9pUdrz|s|t zQk5m^{p>0Ij~T6<%(tuTPUbwGH=Ulsjz3qli5=cERD(EQWZs?czdLuG3jZTcdxbkQ z@NdLkzL20X_t`?WJNz6(_hEc*MWcd69^_2(1qSz5v#j`BCK?tXA`ZsZgcT_)5bc$* z8>^wWigrT^hHx^nD$cz|Q9P7u???%+dUAWllNR}RgoF&j`L2^3E{rYsJT#zURTbvLOM(snD zLkBh0V?$O2u$pUAh1jtP`Mv6S0~TCE$%Vx==McOwl6eY0f+arYB`xtwFx0Uzw=TD2f- zmAx`-b7|Uk(VZ=6TVR`Okk)S<1U8)3lDq-fHf(dB{|WN;GkW`+6bZ#ah0|imbl)zM zx#ir#0^`-IbH8=V@|IWRcK9h9fDI}31Wox=o zu50p%NcjE|>1<6iOBkG4HL;Ge%LXf@fJ?5=M0kbu2b6aArT-~gQ|97pDKm(AyG6$$ zGa%;bMyjW#E?9Qb#Wyn^kj-XjVsWLNOm><61oU7!BE+@1TU*MQ-f5qIU+O%yZ%e83 zsaqh0<$dH#Y33%w2lz-xlEGb@=&3S`15X{~d^#t`C4T&K?Cl1bp57itt1>aJ07p?D zufq5qsE;A8r9QTi=_wQ=Ckd1&HonCv-ZY@3O%%q2HU55B-SSX+zU5HE$bIMI*ca00 z3NTr~ch-plcu? zy~>RdkUF7{dQ0^PdP88Too8@Q902YuF~w&!wQWacr;c6&vc#O6-w?Ce54L;9P#>0e zna#YeE6-|eu06fk#(!I7j`4GHpL6DuyB>ZILEhZv%FfS|= z1l<6oq@-$<>ggoTJci(p6RMm_{ER=<^(3xcdziS;$d#56jbXp31tVfhi*v=P{8mEk z{-^6pK4&(&{YF0@9oww!*-QUsJ1^3aNo8KeZJTKS;z&lb_~7)dN$Z>5bgpmpA^&X+ zA>JapC8e<=H3@Y1)JSY5L2`BBGN|73VpEokjUcL*vhF~wL#u7n#> z8`z%`=w0Di3SezW#mwjA|ewD{Fz(_)To@xzaT77NwlU1~8gc#N&n z`#|&6?Z+_+c=`ljxa2fO?Cy$F_exvWdr+$>|A=F0=x9B>SPc!g4?Eh1-af!I^ylw2 z^tc*2)YO$o9XqKiHj(`i%b_LVm`H)5LS} zpt^`pRcr#~cNl^~Iz*lqc{7AAiNQ0@!y*)$3l(f{4s2U{n)sqIrTGF;NTKIq7od+g z^&@hI1`h1AH0FG!&N3NWl5gO zen}bqI+f{hXWfnU;F|&luooG|lA?=F4RAX1Ad)wi_>=Id5YZYUQYwyg2MLL(*^iZVUUEOo#gsljT3KHemOyPQ3X5Z`xv(aiFAv z7@Ly$!%q!@jTZR2>Qq&hAcL-Y4cF3DIh2|1Or4rMixPKQ`g4*v_k2q~IK!IdUM8fO z%M7tiI;Ar3 znEIO72Z_1sJsFf3FQ^A~2c*WiD?8HEueo(!hy{=Wyf^5bnZY}1gviIa6Ogj?Q`t#g-a= zGdFJg2ij#d6}iW&%27vBWjSlfdsBbdy~y&qsq84VZ$<=dEY^+Gi&s!J?V0vQt^{#C za<`nqnfAviao=K>sOc7Op&I)Oe@qkRq}L!GdvU#`R*eKQncnyk>dXh|`DN#x%-+JFEHJD7Q3Zk4 za5pz-4PJy_8{n9a`l5sN4lo-XzIiR5k0kRSLVxr2=dvYmtQ{&}uiLHY@u#F08-?Qx z1e3}VgZ*_{H#4G6+RH!BR|v=YH4e8mGU5~WrG|}9Y`WK`M}XtEQmaQ=QQtY@?H1VO`qGtpMT zqu8>#t(?eKn9nQEy@vzf9}_Gwxs{Yv`Q>%5b`UMgYOZjec+|X8vsPl(Sjw^{o)q|3 zfyZjEqSUP^MdHA-KG$ixi6Ktamw{%YC zHx#o2IG{uIlR*^H76C}pkw+6b4;?AS&S!}56+lBD}qe``dOFQ24F z`+}f^kfE=v5VsySrfj3QVy&{m0ruEqK-{lbadM>}TY)I7lE$ubaZHy+=f zaLH5IL!Fshm5tF9Fa3{``AbWV&KjNl* zhIJp9OaZGNlvZO>6TVNe_jm3^^g!I|0u+Ngy)8)-ALbd2p>ALnIfF@MmCS#d+L$DA zS!f%z87uPoC$+FvcR~^OD7|Yihal3ah=G8yS#1Gj^P9q|oMk$v!>xb<(BDI-7df#z z?v&Yi;uoyD7GndmHpvtN;$riTX6Epb@~`lN7(hbJM_Nau2Fmpgdt-I&^3o&o! z{dR8FdSlQjtsbC(xv`%@JF?{ek{H}@xzR1|&M~^hl}9k*7V6m5GpPH9LS*=pRuwCd zX;y1ge))-*R4#k*M~G)^UXwPL1a!u$e%rT zHv+3Qq{I%bid_Nxe~xK-@F@vthFu5RZcoocLBx3?%YF7%x_dO;^@W6sOtO@Wm=JB6 zv8rQiJ}i~uEkVPgc615td0ho*Bhy&1xJ(OXTr&S}sGCiFeU9hz$1~|_Q!lq8l-WLD zA?BHd7*Xwvo-xCl;7FWJ_D3BTe! zzI~-ThuJa@2r^TBu34D5`gYjXZm}f#``rG-WPXR^sdKd7Kc7iR?y%8AMb^ghO}Fds zI-3p_xUa9>oOF-iV-xi+#V_$e9*rxrh~gu>5H5W=>TPv9TYU>T~R2P!y#0tHWwK7qVnzGDTRidBUL1fe&o?xVIM z;fb}Eh1Z}-olbA{`r`>US(~F1SG_xzO*~8W%M9qLR{owIBXG+P+T7{FHjBE z-$H)fll}lgvdV4vun{sX(@pzTx_O?uliBZy6qG-K=eW;xtUNkNXzk0RmvHU zi)#fpQY2Coj@QoRX0Mt5!aElj?&qfqHHrU74lrde$^T&eEt3B25m3)zL`oJGn_&{z zkom@mDjKMNqn3;kslhD4mVSJp(0x*ao8&+h9FWn$`71Ir+0? zPGbYR3;1gYb=cHXAOkaJB1<|<%LJrl9y4FwG&61|lqgR|SD7;tPW@s~(lle_QYIa_ zhqOfY#CK(6Rdv43H-<}{>i(cIp|Wy0?@eU*#R4V&YEj6&S%0vzRv`Cx9G8;$A8IjQ ziX_IzAeaXc;Cw9sDAp0RCH4>>$XJP_8LJvN_*dAdoXC7;LtjcIzkHGc&ZWP}bdh<8 z;TY<;<7j_?n}9#T-I-F(CnWPfqns`N(XpLQRDNeqki%?;(Hw9Ny_eBBu~TWIGQ#3M zlM7;qrf0e4G`u|qVL8F+ZZJRboDuvru6V0yi-#whhjui{{8{#6HCI}S!6;%)jKx6B z`-kjsZN^tC;Jb+H$^1s%x0M^IY;o*HEZT&4ZF+{;i=IzS4!)E!X;p}_3+aT4A65fU zuOh~y84#t?>3ZH%;!!BSY67m;DNGN~eyX3f5B?M@jax7s<@IP`nO*mN^vqxPM{rI2 zw^SFqs*CV*O{6!{+}O=lFRZt00}FKNH!zQD@?RE$$gy;dyE1CjnHtZj#xyP!*%qV< zeGjQFytY*a-u93q0Yr3-{JIw&E6h1Tn2?!Tcb3p>;NahZS0-)h-CQK|-zc(Ss-F}o zOh`3}eWny?PrbQ0NSk^Xk1P^%Ol5+6L-2=0|pn)qbYtZHP;l?fP!?8W1`>Y;adIf30-qhUfVnKEp?pTq8GA+gr_LW$e{t z{=?kKQ(_ZNRL028M}1IUV9+%WIJN~DdFj$1OS6_gqUU*g z;06NOGdBkuUFkp5X;U9g6R!xz_6`0BMkbyJ$NM7+vLu91p>O9IE(H=?VnfB0%G7g; z$|TcJEt!8|0l3wRqJU19yyqRrt(drF)K2|byYz---{PFnGE;ztUDteX zETN#tqpXeoxhe_e)=-*Zi(Ms+84`f;NBq40wt396FxZbU6um(OQW28*zo)KuIrkZR za^Ic@5UWvV7+0FT%N`+occPDjCx+Pv_-;%{Jo5Sx6if;I4&X4KF_+JxYPtz4A-unx zuO|k7(G3aV%)a~EqjlOgj`H2qWCT)1tGAuV1H9f8P1O^N6}}3i#b>`EvWPk5@6){# z41|6lGJtT1cHSX|E%a~fEr#Bnzgn>W{z~0$^|dve0}i@kmtEuuNXU=p?hk40$)bmW-Gn~$WYt{E!_Bsy^Cg{oj(giv-pT&Mbq36j;#$hx}_7#Nwd;AdFu*P z+73ftb}IuRDx)xgLU-_bJfAs_y;++NY$e6SP&tlT%P&Hs{ zujx8xY`VLZes?dVyIp7Qjit@Lz6DDg`_&I*X$xC+Co&d)s?M1#xdu2_B!(-aX>&zv zxf5L>pnk|7DYeRYG2aknuZET~G;4f_S>;|ce;&!MsSpB6o6`xnzYuyttNA3}@b1y6 z>%`#Spy9YTUXQl+Fr=@=EIxuDZXG1gqz<*0Lf0yZLUc4l^r5v=}c}8$7f(I+L%13P|N%^L%nB^mqw;9 zG@;S)n+uwrq*C7KtFP}liN{W_GI;){)klRAkLz9%)wSqD;aM-=Yo>i03wNUzATim%MGE>O_@tcXWJ4v8sj}KWtAf$kC-AIuXvQWQ~dsI@WeAT=!Bg zt$yI0Y+EgAdW0^Og|8kTGQ2|ZXb#{}RpJ@lt4r@l37Yj{9zS3XFTd+;2MU=ZF&p#a zq{^j7av$|ujO1PKIbNfCW!|58W-b<}QhY{%zHg4B#eHgV?-uuT=DilfK)pKJOPJu2|JQHyUCnR)wb@L^5j zQ})KrsGKjTR%WU-*c)pFR7qqVu=7Tn8JdCdenp;lsJ&q;4@YTYZZ&S%k1RorGWtdS zBuFQo$)y>MV-m|BfbZfb0Qf9wEaowZ>?vj1%~DAr+Z8;fP}>6DRQsU;-WrXhZaEf6 zHV(gQ2{fO@@M;6 zCcZ4QujP8D@2gK`^eJREv#DMiF1=kew1&W%Ek;{2je>xd>>tcy%@vw7MpNu}t9ndE zmwL4B(#ED!s9!++BCR}anD(N6unIp!^Coje9rKK z?^X`Vp4v@4OZD?vu&mg7gb%0#0`o0gM;mH{enp-PYFZh=Vy~XVXY!0ejp8ZZWc$3p z`;3dAQ77_8?z~I100W$eRDdX6xJA(r6`k6mXn=}-(xOP(wwFhd=u?Y)(vxK8;kic@7|pw+^ltSnVVQnNL-Y;3A5 z$BD?aO}z=JvW{dEwq;XNW#pc^+mtMac4Y5UCs{2y3))dVvHMP1{7f`g>6y0l!x>a|jsM!?# zy_{N&A9gr1b^`m@RfTyYV^zhup=A4VXVL6Dz%+;n7|Y>)LgM6o*HB(>3N1P)KbDEa zINwaX;`rVP>V@Jrk%IJgyDgluO~gEO?T-rVo#h`!h)3vM0;8&Wc01I#t3QKe5H z4YR|X8*1F#p{n$793y|$pVI8*q0;fWPV^$(1fmRFY=7gD7P(u+tud3x;LG=hw0n;E z2LJoLK8{zDsAf@lpF!Cr)VW3 z`cMT;!z}A<-U#-^Yi}t9NnHlJ_eQ)gq0ajl+FYz`&Y}zZ)P8NoHa?d_B{%P90wE2| z`MR^l^eLUuh+`YlpJ9c+z+`4EY{%HD7~5{fw(MXOh8@c}gzyf1vgb99F#&cM7#UEQnIrOrZ) zc+Qhl3MbA4L%`Bd6osih4@w%)e$C=pl=A}B6?1f_L6pJIa$6Pe`XWEr1z$2hT_00n zwijM};>>%hPWSy)(Ngp9S~Kd0Av{uQ)MT zRkAu%(j3~kHN-Y*_U=##+o+8Phh}}A)C|T}hIek3WI!>YICp*o5W^)a!mqEWi0z)W zC3%J!#^LG*Lnvxg?&=eSq`52sR#~SS(J8VdM!z0HRTMKVcm0#SM%T&wMGkL^l>Xa{ z(VAGRh}snraYSNQem)#)%Jf=QsfY22w#-%G#BmQc>8>S+usK zVd8$PoqHN2y3Nv;35*r&>g&2H_5tdGU>sRh!$G00eKdq9v*1M6_tPSu-F3($W^gwM zx|IUa5pbK6ek-yKZm)aaNJ;05i7QCXfc?;aL)?Xx4Uv_I6|Wc!b5C|yntV(*TI!OA zq_UOiw{CX_o7~p`pfr!7#Nc~!(Zt?}KG= z6Bl*?zakCAs*mKj8$(R%mH&bO$-i2E<=4=4C%ORs$jTp068g4R{?)>u4QCp}6Qk-K%P72)1fJ*Y=lEV?So@Hbpdi3NmB4b&qVRFG zyW7=tau(g`0uq*ESs%7c4gakQ7DDtIKqIT-pHI-hDsy+#{)JWxoXAQQfL9_#`WKG% zs7n0RZd*o7?q>mCPYpAN8|z*|g6?HwlC4Sh1ew!}HA;!Xk5lg;7on23S=H^Gy0<8h zH;{QlX!V-u|Bg_6QHaLE@j->eo9t>)IXV|$5`SxdbIS>ECpu7c#K#H4V%*znJ_a!& zg%i{lAHCQ-!q6*J!L)OS!4WRz89x_Xsm?0kPdIO)!c@_gdh6cx6+Tt3$u7=ambF{r ziP+%EHP$J*Qb{o69zp`1GI zQ@)d-1RgQ+3Q>2_Q{6Y4cQYWfWq)m9NO6nC0y_}Akxv`fKKBUK{0uk25{!(WDm|zo z@h#3`iPDG^Pbad7+9f+Um==nC3^8w43H_^YRui#3;cRw$KCgf2)?JAhswStpM z&i%Wb+ma(do>{wUX~wBL012b2bbECtQ;qUGcQ3?BO4`rJSP-SlKf9|h{`(>=Ljp|Ygx1}?m zPs08=&>p%(wI}SbLg2 ztt8E(%5wQNWnj4KYISK9$_!`f2s0wTKU%%_bF_o`J@qzS&ULyEEz(lhj{>d_3B}rl zVn2s&|2(gLWKVCC?AP*{`z)FN2gsMk8y#m2Sxc6%fm1r34V*=jg>Ed-n+t-a7mmFd zj=knSi=k3$PtXf|{4B19m8yjVwY4+KnB#5mN<#lDk#F_Ukmfz@AkBmSH*7?^V9J5cv4}*QOjw=Za zljwTbX>w7t%t;Yf%E}iT7sV0Fv$K4MJ_MkC^f%3|@OPgrP#LreX(&6AYt79F4KlU@ z1402lK*i*|?x-MrXDV{w%rWGv?>-`r@P#Zqj(mwgCG#id`1m>Ayo+DW1mYP^E5NG= z|C*BZ$^7Y^s1bY7eBhmf^np#-yV}TNcA{yaBa1wlzk#VyI^^hk<<309h(dEaYb{GC zrTLWX_JA>4-}MN6+1bb+IDQt*h`HRyEdq`yMmRSx7&y2i4Lgxvvvi$Bw!nCI!7PtPmy+0bY>woO;yE{Vq8?kL^v+Ks0HB|k!uq{A&@92mEW%lt=vQY5w*};7(w~sy?CEg-p`bxTW6Gv!ecn0;dQz!UiYj04fT{ zAa@mepJ1yF#nbb~1PuWon6^&}=J87F$8}zoU|3^Brv4#rlKDfyIgyA76w;Y5=u8F^ ze8a!>;rFzE>%;HY{;dzcss61GzoN@h@H?Wt55Erw8&S$vpQ>U-;kuU@-Xy5*B*Ctq znt+aSS!yo@xgqvafE#8n1-FpBoMs$GOIBGgIN@|S#(!h^zYJDCt!H`t6rcwE#d5^F zlmWR&p~DRoioM6#)zgfo0x!U>B$h<3#?~LCW~)GPkqzIF>wvlIM$CQjmtUJb)sR-! zyasv0!r3>2DN;|?_7;UQ4;!Kiw2- zWbeK1+jdS})KtcmnRa{+u&vEtg7iuDN#Ej{b1mN$W_houc<(y!>~lIHZ|_w_e&lyw z!%+x9ZBH}&i8bymFx zkD*x1*!=M&)K^77Jl=y2*nzy(9T(Z_wjY{|^Gsv5TE=yKHp)$`gR zUGPrE=t`r_6gbiD!!#D{OsW59iw9B=LI5A9Pfw8cI!PR{Lm`4QL`~Ujjn&UMRtp-T zy6zr2)`1P3u}p5fKFHzGe;1FXI}|B&&^Da|07Hp|mPqR9^c{J9OuYToB&l@1k2&Wyd$cjC5@N^erqUoy8zBS9#s&;qCm%BphvH!=EE1V9>KhF5@azn>t*dI zglDbLP6EkZu%t9ykH4*Z>=C<@O`GfX(AqC)t-QXXu++Pod>5hE>%tUcw(h|60VeeA zT9&*h`ZCo>^grYVNi|lW(=k~pt@tAJU??sdFX>PTwbi3HM>`)fN8SVT3bqD1Qy&5c zadJ0rVKFq=Ha1tGL`d;03&6ve87dfwu#L6CSZ-DqQB$iW&pDBUs8E&tF;caG3dDX& zAaJBH<2ZdA`Y1$kADPrH%j>C7M^;ykNnhvR=RLL+!ve{wH$ zsrVw%Oeb<8pF=~Kso33e+`jpnLMzBUSs>EBBK$nn^sg4Z9i{-RlKG#1O{Lf+sBt!_ z>Lu0&GePyjiHgEgh23Q|TST+I;&DXK@U>-p5#ha-%4s&M`o#SltGJ&NoV-iq>^k3Q zzfK>k;W~Y+%By$8UNJ|ccxXYm?j^uF!SYZTo#DSl{tHEZ14Vv=Vy@joA*cJ;aZdMf zlhV#sWz(#x?NflvTvIE`rF~?1b%eQ**p_k+|2-5C7AOgE${1nRHuun+_ss_SCA#;m z59Z}Qhl3Zf$}I0mIo1Wob5B7%H$i<)*#)C2yL_a>>a7Hrt$T? zKc2P*zXmpWYptg)E;tI0N2$w{tgcq`Th;ZpwI;FA4X!UacM0QDoH&O&)?*mxauun_* z=lG{v(bW4lwyQX1(s;#*-*|5tq{z8j^Y?RO#n@0gV*sn`z8+dc|6psrSO&r9<>l&k zGrYgZs)5&0pv>P^51h!I^uTJ_ds`}kxB^rla+gazco$JD*h3QM6IWHR+XnOdRN+eV zJKwl3NF97z_wgwODcHh61aJ59jqMCL4W0MZJ9@oDoX)IZKx+ltJB*P@30_$?GPyDd z5{Ol8lDrqo3^64}o_p=8oGkAWlZ(3zN=m9)(>o}kIpAg)MJ7q~S!!g96!zE#_k=Mh z>u>00@AKC4#C?iyrJHlIo~ZSPA&{h(9&5ctq_TKuOke_UCZaZQuLU?(Ff(@D8`OdH?!uY_?F;5b zVYc6Zo!bhXx%9opcqm?-o=j^hcl&)P1Djnb>XeyO1dIaRXcmPk;%HhJW&s)VTOa!2 zEE;w>l9L#ibgmqkyY;798=W6 zskbppK5lL&W3tT3H^%0nEMWqZ4BVeLkQa)4aepZ3gJsji~uy|uM|I^Sf zyn~b-bMJV+`BzZL*k{IWwKI*kIUv@EBL0l&(-LiULc8kXG}5Y@7Ek<*W{W2V-Ru$j zmPmUdpvgem^SMn62;s!Fg;?g_4wbT!YB-5Gy^zD(M|=sfH@n(lYFEW}m+u(SGn+*9 z@v{mzQ|8=OkCeNEtd7-PO(H&0^vv#20T9)S6TL#0Y@dSvsI@xG?C&3XyUChrn9Yus z10O!F^_ahN$K94W=GMojBmQ#GcFTulEk@XhKAY5Hy|~zp0jn~PG}o4{8IRMs-~r+B zW;BHUj;^VHGef-_1681TCQ;I+cg9|LA#`8^X00)_Gl1jZ{{UlKJCYkt8y0Iz%83@5yYt|29D~%O63+6S z2a8*et@D)Rau(PrU{y^~{MM}G3Y^2KBK~G&nE*orA~w&=mX^1OX<7YKCfo(aQ+(qy z_8i>E2A?*Fp_H+%Ut~X0ubF0Hf#%n$02`I#_r-rPuz0tSIbG@0|5mmIE$O*j=#XT+ z2^>1E$QWCa`Oi1|QcR_RE3zljyX~^kDCX^I7f4_zN+ndn02xHe_iho7U6I8Iph0Em z*5dr$TdesC35Z8XK=j*le{mV!(UyGB(wF*N+@7cw<``CFo+}DPN;T{dV_sgL}3nSU-5L$(yo?@O=%;yB75*7B!fZgNTBEKitEtbdD0Q zb!J})s|i*{R&A)Xyr}xrP~ryW%>s@{5h3Q`y~8^ylcYe&tewWJaaUp>6??~t+@ykA zuHex*L%8}sS90|mT|I9Y7NYbRPF-X(Hk46Ts^R8zMkBJQYb z4CW!dB|%`UR2fVQQcV`+TskVH%ACy#HJI_5cqc%v`!=sD+J$cL2Vr*xxI*m=P=_BBz;wTnDVTou zsSne;%KzWMG*dk+wvKO8{wwwHN5WKIiR1q%N-`QbMF+K=`U?m7@EXg7Lfw0Vs3Ey* z0?;;FS_A?uPOWChy;;cJM#t20Kd&?|DiPHGn6Db`#SzqzLfZKS3Qma?>&R?O}7 z+_ED@unD_<@U0VN^WL^!6Dp-xzV$9(E7W?3tzs32uU@03shCByvMW&Wp(4j6mX}N4})oa2(9Cks5Y_b=*Nj%&Ucy?TGS)VN@!rtO>QA8 zbN`;|8z?8nWSQ&&u&1PJNSmE>49OxqMrz^x%{Y7GvzSDEbjq$RLrZ}aySX< zDq)q^H|U}r7x2%?`Bx7S|Ga8hV0(RIqBEs|Ka-ER%shGTMV_wa>8kC{lvR4FKkvO_ zB=^Xxd`-<^XuE#1E;@4I^2S!)_&0C-TW{#kd+$^FF{PhU`l(9w=e?$h&KocB|EqPo zbDhWxzq#C?x&8n9=DIkMll|tp1kH8(@0-hWBAWrH#)vRt2YbMO-`qh?MBzcy+(AKe zJ^uUVdR7ltQyh@9Jv;OVHT9;ZVZEl|b$=R|=r=HgPg(gH7b_*qtqjSLs8j;@(U@bb zGnZTzik--6lp?G(vI!Oe>SX?)CQG@Z%cL$P24Av(9p(*ZptPQQme4ZAQLt`haHYD2 zBLXtmt};aicd`}?W$g|}`+vb&M4j{E`@vq&N!aaYpa1X7f&SI%^krQmLUpL8sm4W$ z9>fD6T%jN0-g*|2j<@HOuY zW3yQsioI5QOA+L>LM#XOY?;?$yFKUi0F5PB3vt>?Q4b$A2$4o0CFL>{&{} zr5l~dIqgMZ7LAZQD{6aGlT}_j6PV0vWIMQB$*Kq^8_$w(pQy>D=9tp&R^emj-1bYF zVBe^2OUjU{{T6n|Qu2*vN&r5|ZK?so?fkILuN zWZEd;fqjBKsuOEd8;wMJQ8t0JL|nJBAQZzfVyoLLx4pXTcKVwQeO4wa$9^+@BNAxW zLeglcqHuz-YHb#UgP=^2DXCdE#)Nbyfb%9JmhZz-(Q%0^6?>b{0(>J{&SwufZ)iU2 zG=KkbK4(eNXf>aoGRNPa&m*?)Z9eDXi)(1_5+O%CR~FjpoLF}*{S|?+(mF4D)7OK- zb$i_}uHQ~dahVw(Wf*p|s+ZYYVwwdu%rFlo+5wQ4L$No#dwC>3r&5M$wzv|!RX?iK z8;@NQN3lHT_TIcTDt_(>&3NRFidUSls|~kY=5uuHK{+5?IWOTrJ|4It7@ghUc- z4i|H*=v6VNnpM3Hkd!BGNlvWj{aSf!H*1WXJ?uKKXP+4syTL?HI&mE|CwrOFp@i!i z$P?V;bx~>`gUjuX+s#qXF9$<4iy1F@F1Ps9`8(kUo42zXvv@$G4d7#Kfw`Vpo9F-P zStwx%sCXNCbuTT46=ivc+h1f%AEC=YYZx*sq)Z#5q2k4QCXQ?@O~s+XJ(-Q_-msod zyTb8SVNE#3%bB%bpU@!Q#ztggiItDfsn!WY#Q2+uBYMQ*ATjuEQ>*K+sV2N$ zzZh}qGywPR;$3W1ec+8^677slxRMQox)*;IF8$-ZRB@u8YrOGiB$tQdzcF&TPukpb z^Y+(XxD*K^6sbwwS+5Z8M8-tl+-FBCWSj5Rk?4By)4k0zQF}$zD|1(!)!7)T9}rpy zbwcr8kU4mkwR%;V0F=+TG)6B>n{PQS=%i8d#cV}pgCsJhL&G7KNDY`n=GyxLa!gv& z64TTPyc-UN7?R3oWj=YYos5eWP(?^1eJE!JA(<%*^LOBV_gv;Q+v_V;8Eq=lSJ^my zWoSBTvIx5q_H1tii;eo6C(!=lv+h>yFGd%j;rSR;$Eaz+aCD8YMlXo0GmW@00m1OhzimDorq@EwKb zbrNQv4|`w#gR#dsr&Y&Uvy#;!pnE;Eby4$&`y$rIpYYMX9zTCGj}wFcH6F3Pp?SZ3 zF}d!Y_u102&F;QF^!^37eD9s7bok9aAJ=?A?vuU0eayyvetYLL-oD=6b?83dF1>o6 zk1uk8|G*Rb{SVyiIemGdxa(#qZ8>0ag6199r>}L6WJQNuscyDSx#Eu`o|QW{d(^#_qslu=zkU) zD&+9;C88{Wsbrt=i-%Ly%|4cQXYj5&`)SB7s+|rUCcO(+Y9U$?&VBSvd^ePcQ++4! z9+_^UQ%!~b>n_;Kz(vCFLowv!j_)+|A4N_!tkU-f?>b%0=Rf&E?<{&tFSlr{YldpE z*{gkPN{FP2@ z+3wtRuPOd!1wGnGG44Cro|A^0ap!cR+w^=%#%qhsYfUPCm|`TPcFygcAQVPcn*D&; z9(OTPVXr~1f0sjP>rk#@$s27AFR;B@(v#ey?3g@83+d`%b~GWWQ|h3r%}G=Q$pV zkrw&!>xxFkrw`BxtLhwg+sS?~?2#)f2IMkQV6-AHJS!gyxaM!t@OMq|`6_-##r}G9Bf~RyJuav7uvLFs8}2NaQ((1k zw&La)TdFskdQSACJlM%B&RbmOMBn4udz8$JY!k9y$aX%0t<}BSac&^~q~r>P2RFa4 z*Y|!a#SPtXN2N5dLbFF;cT$A7hQpiPkuuu_YpjK@hYMg~L`Yqc%>y8EL#}r&!wPX) ztw6`@qIonG91}A3;gWYi(e{f~J;a$&qkUB1GlE`4^}BTiB`65R=jvPGct3W=rS(ml zn{D>J%Z$~x{?K&2X{maathuA9n%+G63PD&@QAJ-3o4$Dk zLIDjUl(?g?L3QEwMSRM3G!D?e-%-B<*De(b2D^BW%ye(QWnVwF@sw)09O0LF{T_5B z4rhDyydxF*E`zqL@{j8FWY=_!tg4C;j{O!&OB(7&lyc`?Yml%1@tY8T;`t}=6VEx7 zzs5)J=wf}l|4H`Y$>w2c@bD1xaBw#FRq+!K<)@{#ZY|>`JEt0t@PtatA*~Zyh1N?VW2a!-Ar^9ZA#CCH*cwKv6-=lO*}h<=rS4nyrQhLF z9!#TS-zr{xo_G68vfj8M=h@~n0+XJ$n^!t_%r%qQe^lRnavS;T6tG9x7O%!25#&jOr;`@ z=bWqgD48@H_Ahe*)q3l=Hi1wjmnCDXSuQyA+}RFi$;{&^lh0={_pw_F$oy7@dm)8)>Ru}Sc_ z{@qi#=Nx$5o`R`eVsCL=t=YNlJQSN*duo|Sr|wHCNO{jrhWhNT%5E&#;YC603T27t zh2PA<<#k)nD6ieM$+^7?MoeeX1=;0|TRT!%u^&!2yJ)T)Y^3Ihc8K@w>$Y@i+;RXl z%Ih|tQNG{W^8HqNOW{qNm22FVTbJzR-1R2rQkkvh^Il!D2TBsJ#Y3N#pg7v4P-bD7YZAhhh>bMP^5K2lJAl!PWb6cEm zVY$gJ!A>waXUx&v(J5pBjyi_ESLKV!pPQeJ6@k5*>a`f|i8s1|_{`PER3$p}z)StL z^4dYUmsKA)v7G3a6U$%6$G!J!H6NC&YHIgHcJ4~eNhwQLsSt}117dyjLQL?!Qk#0coTY#`|Y zT+wO(-p{D(SEF0OIES{bc6GWMoeHWQ)wRC^-ZJIMYhs0MfA_yIL8_^!NmPlJ=_ z2?lX{*|+7jUoUm;x`xAFoQeE~l5gtX@6`A{Nb^2O^PYDhPdFo4-uQ8DdEFjxripp1 z6k&dfClrA->tTL6ItkWr>Z;LufhS@zbB#{-nS1wTY?6$Ai**WnKq4_x%owSI&D_Xq zp-f1YC;L*7_nCN*FF5Yf^JxDifbzjFwa$HBGj>R(%=%BGGov6Mhx*mG#_w!?Jl}l(XXXzS>u90iSckV{{%vdhp7#avQk)m^wSAtMU(wSn$M!XS{=<3s$l3;AelOKA z76iv(?p{-v)x@T-Nb11;Ropp|O@PxFYedNrnb?QkO=3cKM&FO&5fJ9>8R-TH2r%o6Zc%u!L7@4Wol*&!v z5xoWK6ja6ktT#i~Gz_T9c16KqfbuaOplkU*;+RCBPRUt5Ndtx8XB zr#}dd1oE#eCY(o3Rd%zQTu76M9D4tbeaw53s&jJQyn--ya+ z>LT{H{yrzmBT8N}*4;ZE<~^EJk?|h!cKA)^NWAWWW-vOo!aI^@p@bC!Nvg_H457`B zEieMD)8_)%?aVQGPM=QhVdJqm_tc^z{`o)Tlx|-2=i|E5GnaTalIMTp40VDe*2LiA zI%JRIj{+4R;q0FQ$XiAL>1agpMy|b=&DT?7mhC?F98(r&yXzbrW3N%*A0)JHG`TPv zE-wY+P4B~JTX4PAS#Z5!`Uo1v)qex00HfgT8$2GW*gtDWd(@5H(q0q&Z#V9*)?l1r zBdJPUE4hW(3Px_3@EMy3@$2~i(p)ePTw&%$$8YUfKBuw(BXp4t7gfT{$otaF#|(CY zmLj&^{a=ZoR>}oqz$;p_X;WOr6FW%?>#yk>*Pt0#DQzIMhlXpeWZZuBv>sHdy# z7`w?g@GMelO!BF?tMOt#Lv~Y-sot{j_ZnsptIj+93qH#;div8A=$5wjp!EEZ11x{oGW2j3O z6QGC^q}nWoYNXn=8e9WO01{)m6H4Z$Nuk7f$eojO{(flpEcT9#d_UO8qk~(^qYBs# zY3y)10@#|0IURD5yf3SEGG(weHSensHH8mAG*8ht>`{^|Ij9{y9Zup#r&EPVe}TC4}}vQy2<0x=Y8SqHH3t@smsvX>HQVsqRtn|TJ)jRb#A{2 zK2&x5wX!f+LN8bKUlJ4`)Lw=Dy3yGl!`1!nk4y|g50lc7%)bQm(a{D2iqd~Mk;Tu$ zjTD;0HW-}Z@bboE|uExulS;0?eO5IaRVeS6?t--j+sfJ0<` z^06(3f|Z-yP|>lcSbr%x_Aobwj$P9L9s8~BelSnt6sy;5DUE^W76yD)uQ$*sV+BI0 z@V0Y!t>jY?fuuehNT>s+665Dnm85M=Vg@z)8AkBWrEoQjN!|;*jw5U{6lygZb2pab zRG>Ez)B42Mmrv}yz2*b&KB6*0+GCC(^4?*Kbi2X(*c`uF(XMezm;F|kW7oYC+j!6c zBi!$C-#Fp_OT;4YBfG-BMZt8+jiR~rjLQAql_{gVZVQ*|w7jyIlITTz+?&N8%*?y0 z5;@D>J2Y$PoI#zM4)6<}@C(Y;ZYv`dmJ{hl<&tE$^er1yXoGSs#ny!TtaGBzJVRqw za9q98S+uGukzd2RBj$AJ-gJOpaFt(BzSb+}Os^C9nm4M@eoB`)(HHdg4*tx^8FWMn z2TPzGMu1ElZE*0qwXJdRXZN-d0J^G>&Ctm?&mE{0h{Pr$>0_i%qP61$Mr3&pHUWQQ zVwu4d2Ir}DQhM;6V8fHkc+6@mz;Z09s)a@~kX*898|- zk*2Us?Mmx-pW4;qx1{6B)RYAn1@|G4B9@;HlMPYX0E8WC}CHs~@P1 zRgX_;Vt4=ZhihWDKmUDA%%7x~s2t%@?@8rNGE3SLKYNIe02@YKbs`;~5}kO|EOc)! ztj3gk+n!9XFZbg*L1Ug3uoBq+#T#>$zpo^woO(05XDCroh(qRNt5|U%&C2>yfJ-uF z&Q!dKnH>dVu{*co5=NT{TJqj9r4c<6I&+QtVrge~MRk+}x z?Pl6F6X~_s*Ovk&P@3Lp+2?+UVZo+9-c7q0nv}0ud>I|FD)u?y2(oMX;zCqlrcW#` z99ts}&Ca?FY7mZnYhoEV(UH8Ck{f}AYE!eIer)O9Uh;bAQ+{*}Z}1YKFL>yE_pQAu zs7gFykvAsFb%ziCo?RdIAmkl`j{D* zty*EzOrl*jq3jiADN-5#v}Yx9>S_C6?fb9zyt!nD`zk@WB{^&N%)3>_%774vD#*ej zGOwM226HdjgPXP7zzl4&W(#C9CBZ5Je1N6@mZp&} zO#%{3NfV5fz?oc8c)8&@&1#t*PSL6}Hd%(UkV5y%$uO45A7}vm^PHnu5oo-}E|v<- zR>5%$0%XHHV1iv8_%syZYh+RpAtPnSIO>(N>onpn+w`g?L$nVIoKvxeSixtLdrb)I z$ckaYku0xAQrLm#(_6u$x`%bQYe#F;`#W;?;#_K)=zvSb%w*`pQ_w7;7*;Xw8Dr>R zn!rX=>SN=+Xq17WyZJiCJVwF~{WFM6-uos}l^OfR8aiM!PocK3C1eY%q|Qkde^2@g zJx)NY17KtrbkwlGYt2B~i@M{VLcz{X-mqK=|8oH>W)tLRaDnTxIXB@YKCHK%6&QMf zmkiGo9p9c$`PwYQdH$Pz1`J<67ryB&y`9Cca>D7&Dq2uHC~pZ9mtw=&8mUz-VKbWI zy$?6N1wWR0I`y@bh24JvK-eKU=BYrw(O(S=y>~zeO zUX-gjIX54elH#s;#+TyG)TVi&>%+@iOL2$%^!pmrwpGprDf@rm3TL+gVMP(MedruG z&ukrPIcvdzA6m|LAE4!IDUv}E9QlmHyN(9JjOW_`fRMwrfVe7lBU{gy?@+A#H5%ZT zo0~65W|LbSv2v8bFeC^oi1-{Cl#q5-Hpiw1lm51jd!a^|j~bh~7ix^*-XhmHQEQM! zB>~b1sq{vGRNgH}FLQE^CuX#-loc%UL3zMo29%e)+!~Z?u51gGQbZREI)Ls6?4@iW z;Fm}WMvR7b{$|S6NASgX*I$zd?0cIjw==PJGi9W)S6T~rXa(A+$ouI50=(oK&IQJO z?xVD)8MZas*AxZ&D09l%3OgK$Jq&$(Q`-{hZIn^0j;5_Cz1!+nq*|?^2Kkwo=2&fP6^Fl+Na@-}5HG!v zCtje#PEIH`g6-OwBRF#Q)&)h&N9@XW*VJxd%R@}h>-AUBAS`;HxdWQ^%kn-pO4vRD z&Vei@6Zc2zoueet+t^+#ZUfMg8Mo-FN zh(KN(Ngios{HEq8&5`b;n$~;RuQrZfbt2byTqB|?^8ZBy(IBGg(4Jo6Pqs^+XLjk| z8C`mtYq8V0%#!y$H<%*)@Q~?~`Ro?WtY&X#B72CCySjUrW$Y?nk7WO44T2;toNw|I zitisUNiN4wtFjVqy;pU0YnJz+9wSlMg?MTjfy{1I_cL)BHljL zG6G{&*bSmk$j=n7ZQ>?-4=hN77A;FhAijBZKiFgt49(gf?TJ7qatUx`2+91@ERNNj z4H92GiA|-qIx(nov_k?DsxtNzuJ(}CmeXXbJ~8LC{j@<5|U8>M}Z zyKp_e!3nA<{)dvmp5$+^&b|`9`okMNAhXenX|!qJ4}ZCP=F3O&a$EDT7hoOHm`s|! zkA;}npd==A$n4jC6i^^^$TL1rezy*wOiOC~ga3#`<^E3x*3QBBE{H^lf*C8UZmb2| z!pxds&3SOKB-JVQ=C=f+k0TJ)^!(H{92tDwqT*rt{uC*uiT($7`HvdaCkS8Os_(>P z!UUK0naq&K{3W|oK8=a4zj(eillkPL))J0WgyVW%7V@HwQTP;zg;!qS9C%i-??$S# zIo|()qRz>AH#haU*I4}qIj^#x>-@dX%+$Ndv>v0@nf zm-~#VSjlnOVY^bO%PNHBY;|L=0pde`XDA)VQa}C{uKyKU7=(}8_jLQAlrpxZ-LAJP z*k1KXX@(=IdKVu;BrpoIpm#%Y;Xl- zT*#2W<23~)oa0Fp2UOkN_~cgP;RnpPeJYKrbUlbivZP#h@^l*t@L!UIGWw;c-s+d) z(HL0ynt;q>;@{2s#kNL&ok&;&ecnG>OwKPhGZA0l*{-wEMcyW44RaNAOdESdY1sB_ zp|w@v>IQVE{z>rMJ$mAn*52!(8mN?^Odn4DBETvtHOl=Q(0TFvN~tKkb*BJbzB~bgm6|JN97+?FrnK zFCRg-eyS_#zK!)RsJoGCQ}^qKsJoUsTX#QpkiUN#cgMBq)40Pda+*HNaQ8R7@ml)# zT9b#&tm8*zp2q!@`BB?KVX)lHQs!ygDewF@Y;k1)1W9=R%YP8E2#M&Ho29nF4UIk3 zN;zm{()tXSoM22fn}t)5jVZEYHtWV1W6z?GlG9CzWIB7u3OQZxV^gvRte`U^3-}}H zobVz)&-J2Kua49_VfBXV_(g9R3}gkRb=JHYUB#~_R}tZ<)|q!FD;3)LdWU_|PD^b6 z`bs-HhO$gfpE5mhafewLTv%6I%ba4EEtoayK;U~*cPLbP*^iR>dss{M7Lmm|N5%Q)qsZLF^ri(}s<&sfUo|Z2%kRrRe5w>5`qp$5^RAE1L@ zx+1NE6AZ5m&K&u`=+9jbAZ&I@2d|bxBU)-Zo>?7yhyk9Y%iX_43iG3OeQ7)fFe)1Z z7&9P*7%LlQaTOurIFTp~8$!zc8BZ!n>J^gs<7+%AVye`T~;p6JQ~6{>XW}!^$qk_fJz6?P?0>nmM_Y z-hn~c+{pPG=39G#ktb42OgM4_L^(vW$EYkSt1|ERcklDe zOp=LW`+xa-$UM(|?t1RI=bU@)x#!%yMH&Ok;F_sbgX_cLt-2!?B2xT?6B1_cVq`V% z(G67F={+R`XJ7GOp*g(y?X-p(u>k4i^6nwU7ipf;9WQtbhi+uDX}9l+WE;(c#;6`G z9?V+sztB7ZVwwQ)>3Q^c1!ra%oOJwhCMvXZ9xV)nQm!O7u(z_anFPtrEMKnEnop=9 z8+ecqVmKMXhg#5>0y^45;&{N63wbtl<#!K2S32oSy|zoOFM1q*KY%?Whb{g~?bU72xlGATlHsTtz% zABuCHLw3q}L4VMfs(vx0$_6)AOD?}+!sXbdEhx)BS{`#Gfe1sFo8SA)O>eEL zDLQBAEm+s@)g|a9%7(AYJk94dd1?-3}2ahmR7a9VfU*Wks?UF4BDt7U+KogLec0nQ0 z5U-ZwLFuW~a*j2m(=6j3>t2RWNW0s46J*6Sv}1aZ-@3excpZPCJ4KR(TbNYCj5-2F zOXKvxyX{SATs}*OTUXl#g+FS1tlAb(n7gJK6wdo=3JRy({mY?n{`4$RxcTxnpm4+= ze+mjYn^I8t9-K1Raxw71L4$$?;GChrT(}iKVG{8Wx4Hq+r<=vNNrg^s!nT;V>X>(F2Zor-y5L?gRCpJmQ`=%F42dy zf=Sg#t`=?P^&MWh_x1xxr~H7?SEmf4FMlo{wQNZBeMIBVaf%Z%e;w+^uFUuzNe+WJyIUFcLOIZ4kI<@f`m zPJ0RLbc%8J-hYXbnvVxf4Xcb9bRLAJ=?)9CzddDOw&ct8b79)gvLjUJ#6`2n&e&fk zPzg!?Z*EH_D-X7q_Q1?F$)-}F+40DEPV6Kj?b#N%-*6|GHpnEko`4hisH@2(jh}aL z+aJ8&x4L*?N41+BRpoE!w23lh&a;D2MdMY*Spg2i@q2#Fj)vKHs_K|5+=nTZUx7>O z%yMdf982h?Z`Km2+*cS~O$;TuMIDg1WZ{zE)4_c-pZX@McgO{>&;nAteLXakVe+m@ zmNlc-B~11;<9?Gw7v=Kz=gHp^*5!X9<{cJ)oanZGF@5k}{UWGU^DvDXv@S$gy~?p4 zC!6w2krZEaYHCduVluG4xZg~Fo2qOc4df}l((7blCk;esV!ySlyL*b5oWURF}444*nX37Rmlybj!aNjyDyOLg^u2o zQPl&CDOJ_)crjI-p{i>1NzfCc5SYBelL6rw0%6^%6bKd4ZptvtZE&^bC^OG1{N2ni z<-;o^uBIcrLUI%@MiaD#ar*~{Gu5<%X;NtLYxYhEjEd$PhQW7bu!#@nTbaIH&bOvv{%t_a-zzMx0qvshE5$pOEdKOV2NaGWPdORrgA_{^ zK6g89uM7K{ahCXz(#WQ*RkH9-WqUc5&DfGVQ)Ve4yj=88^L4dfpU$P>)|+ccu^=aU z3#2q|r;Jkq!!Kw$+CL{%La_?(ra^ynn1m0Ds$VN3=4pz2Fr_r8Ng>=0<~do|UEteC z$qCWvhzopn=G7bVSvW}|{lgaqPEPy?9Mph10|)j!rzH-&@g+c9E_4C%8-@IzH5;XC4Z~oy1J{T(cI+cY~;YC#(QibWfu$28f`Sm{F1jr(>srG1(^@h%J+1bFVHAlMPfz#J5y;#rzVG<_-B%4L9#pqj_NA&`uR-EF{qUT2?E4FLJcO= z;B%ZznQtOfH(zJ(%xGC(q549SeJ(Ey!k5Cvn-Uf=yVzCUV%=!bmtfv8-3+8Xgaps7j4y7cwE>LyD9=)L%$TxWU%es-pqcUfexpDOT9d-~I4 z(@3vfsu!^>c$5(=wPwAhGe8^0^6)Aod6wg7@RG1^ra|)P)!VQ+mva!h;LYZ2E9kb> zs!2$lK(L$qs;g9`VSZEM9NC}i-5%z(%dVxDn0+`3Q4#H&z4@#x4StOorzE9)04Da8 zRl6q(HwqRQ1q2M%6u8qA;6&AXulLI2m_wYsYbctNGphXL@{`I(m7jQmJMpXTW(5+= z12@cDuyIfO@5c+owI$Jdj)oedz1MKG)XAA#1YH?YgSGFm(B6vDHBQYu^(Il+e_U6v zh+Ffq1wRt8u+)hirix=*w{vQ~{uN{euQliOdCJXQmR#jbujr|m?(+65Z%VO^c~0#n z0IhB35Q4luT|9+a*?C%eI4xJ&0wqzh6n9BZ?Oy?iZbu0zv8}Es{m!X4rsZqOu7*O7OlG&93vQB~6wDZccs;Xm_F3}IN^O7Bp4k+yWxlqEjM*jy?(w0MzW_k+BH zq9{ zi~$Fz#=h<)q8a_684IBq$x_!Dw3%Nh#^1^5p4Welo4X z{;o4n_~U^#HuoL;VndS%6rP!Z8-pp9$xj^hA$m;%jiEpzK0<)_;VkLRxMoyO$Gv|| zU2BYHZ@{0C4&KWgE@O!Jq%;6pj6go1NnytGmYL|MFU ziWo04DK`)<$5P^&Pfe|r#itk&yI-xPXf?T_=ewq2toHl=~K{kX}0t3=eBu3mN*^K06>5(hv14(-E-sHiz52pb*J*!JkT0_ zxHKXH?8JHEbElV|QGRCmS>bmddAGRUa`mgYR{tXlI>KS|QO@ucyP%ET710R;TU0x4lyv=e3| z_utZz#385FnDlA@9$3rt9Ku>GJmf0(lcd+edpA!d2*G=|%9n;U4iA@<#EdkjKb{KAWR259Snig4 zw`1);VI+g}61V$aX#E;2SZN%1>+|FE|9&0)} zg!1T|4xb31`T(eMLV1bgLZLP)Lt-cn#s?SoV_=8T2B+2e;*iJ!m_Xrtwl?pS;LQ0dltijUmE?TqoWpq%AXeLV_V4V^i{0LJv9URiBFqvRyjRne<*_7G{{chNfhvbJfIEL$ZuJ&=-Ch-QYebVJjDL!3 z)mxC=)*8W8vp~!a5tv@k8-TEqbhsSQG{!9fYBE8~1u3yR;bXO`YhSsOe;uq-*r)ov z;)giB3j>7DvjM^{K?({uu(c4FqM-3l2lLI^MMS-*Ih{qzG-=Xf zNwyP;Us1lk0WWLTgGJ>&SSD3<4GnOSCTO4Vd~W+Y?OLKbF`GdAPS4^5Od3jm9{EH?4^v9ODftfSWTDj`3<rs<9Gqxk`DZi)kkc*Z4 z8X+N67%jxiRr0eK*&So4ouIcW16HUlvyIG%`Z}bIsITiwD8p{8=4(B0)se|5Fnt|_ zZT}UvVPkQ*h92<15ec8ozJWh>;}ABA@-qvC{8Ah`-YHpFcmvdNmjVlbqBP76lP$sj zni>}di2|9Wuf0?4Jj#by;qk0!u@Jg`^5t5)RtaguSZ`iWvWT&U7sctscD_ZN&Z|q( zL68C}!<>yYa;6k}*K@4^s4H)WYz4H&}xiP!$DG&+YnFL3wQj`CD$qta1Gb30{( zG!N=mPU*}wpKy0Jv_z+{X58@&a6)gd(>#o&w+lup%@Gu{R|taMW{BbVFEekcg)z>& z2IIe!mn`EKT0LkM!_?x(&F`JTH8=bn@IH9T?BWKcXDo{0zt6TP*6nY0rnWkWybaE5 z)E>fH9)jDWAg!qpAmb7N6|Th*@y8UKVANxuuY8otT^?+0TPskDEN|%=9LkQ*G|$mp6;up z#gC^AvI=R1LD~(Q-H1^*oKLTVeTKYGb2@w@DP`*yK=vNxNlt~|k&0zW=$$=F^xZC+ zdxhV1jue?63=k`i(;XJhDNF!f92H$LSFv}w)pufX_hjKq>~678girC86k_la5U}K> zF#PVluNAPE582_j>$yZR`PXzr)pmz}fJ&8JRX2D?j=9b)1B0(6botWYnee+orZO@S z0{PzHgG;78!8?47?W(aYOcu_$7X2)7IYea+MJFW1mY?5+xv)Dvxqc{eYI_;f&Di$! z3=z;fGDFQBQC;gm3Cd z=?eUn@ovFWxufBPCO+(_AeFf=sRW26?(eKS$0<1lhR3;oXu|VxOocWN*7TMA^@#bt6S6bbATKbxm{m3&%A{a8pMjgl@1afI#k-Mop3lt}64 z)c#2|htkDeykwCs+9INoEZQQXdADXGqW|o{e840`lEox+G$6@B6jYMMMgz9C322d) zNwqSub6Lr+S8--mu5?Gf@@zX-vKwIUwiDn+qbXa#VS~|he}K$v+(>oQUMA7^^H;3} zu@Inz0kisJ+<2_>cKxI6l}R#;y*tJ0>_F?L7W-uNuj9fvy9(?gGgewpXba+O<}w>f zQbj4(hAR6+7!qy^EoNf5r8`5XKb)sv%IXkuQH0FAm7BMkYEdfC;9R~GGr4*`kLQbc zCYR8Vw-XtLu`A6+0}96+7(zBv$M&3D#p>d|?b-ir ztXK}tkhHmx=%WiXm(QwM2kFxVBbe4K_7Sm$_R@)hvEfBb7*SwsEsOjo!O>6!Y@{p@ z9W}90V7Ag;?*27lrUHHO&t|^t`(KbbXVx#sJiZ4}pSHCdlTPrrJ@ck0v8=YW<`4EG zy41F2KJ=Dfka^vtUogP$PyGd%OCI_K-DsNd3u>P8=`Vou#DREN3qXe`p#wpScVD(v znSWpR3%a~$&`p=Iw2gN4Du=aQpLhNh!R?Z3{RWz9`6~&y=i(^lo zyQ64A;gV6bdR~WH+}tI}l`c^W(;j7}wQGK~atL<26}?vxpdI;awTiFo&HLNM{#N6IBaRF$(J^FKn1FOq=fSYcH2)Rp!qwy&*kPQV>KkgBN&{yViGM~={mzaCw32C z%IhlgbVec@k{br7=f7bYujC8n{chr#+-T_+PV5_-bATepEMUd|mYjnK$-^MuJ=^aMQqM1AE@x`f{xcjAw)pb~W^ z=LwixovrO>&^p*@&&kO-|FQo}U%7)fjJ=W6VFE)=Rek^k6X@ISyx9hMPu(iB8qZ&= zQ-%2a-b)$z`q+Y{v8_i=*nz-I-;VDz6D-bYn&QS!EG}u9h^OSH_su5wEwm4~@=6vS zGS(h<*N&Ehio}3JdSH38_yt-QZ%7VdlV0Dtf?drW;J`Xur`W7XSR3JO;@bISvFbZ>)0^v6`X^hmw z34g?#=jg&7$NOX1BXgx&nus#{VJIJ@-WltUGXaKQ^@q#cKmNTl{iRsr(%7aW8H6*r zuM%gau*Z4$B`2mUqmcek-;TO4r)f_TX6VU939?eZprU%Mf6@{QCv|Cnt7x-L2Jglr zbiW9DJ_Zk$ms^Covp(fq?Fo~F+AB9wI^U_imm07F+WKNMqo5VR>y^~Y*M{JAw0(Uj zcoi1#^_Jk(U_h{%(n9-Y?=M*CNtse@nwn~Ks!}%mLGL}Sw%sU@9w)&nkm$5u2l_|_ zYt+M>KuISN4iAyu+k)SGP;n)Nc6DmC%v#Rn(*{OWoteyK9~WTRXIc>!q}Fugjn9q8 z%e~ZC{0pZi2Ws4ZIF~D~obC1U^Mu36`5@HzgQO)o7~ZYvo6xPryxroGv%`}9+c~$K zrNb%=%o=(x_AioYQbFDWbDM#;I(QAhdrt5gfOlZRr)P-Cw?Jn;3llv&nd_imT4jQ^2Ew?EIGkWM+o6*yr&@S zmq2o!L*UDq@hU`7JcDCb+uh(srW#5X{(UqwDxjQ`?jygh=C0Il=IRunv}|((kVN18 zm`w2`^|^(fs@hbsKo|e6nDoET==Fz%GkOHJQF4uRX>l*SwBLw2N0V~aBTrOW)Ybs1zx$|PEpS=%=?o@-l|L6)SBk93*8wJw9KNtt+y zGGF&e!Jw*j8Dvh%jA~J4X1Yvy>oUlllR?CM$fk?I$LCYt=Td-Zac^|FPvAE6X@;kG= z>T;ZnEJ`5d??C+63|3*HoVnS=wa=|6j3e<6>dxi_V*-2slMA8=PI_2S-Y#c+k}RKc zHrJ0o^)DcsQCXkS-cX^xKhumU)CaEtQ@AvE4VXej@EVe=gLzMpEHtmiIxS=h-l4aM zejtwcmkK`C3brHdLxIj)(KW}9>ZCi-cXfGN#-o=B5TWttkUH!{VSlnSujeGsnf}|J z)tj*(eaYItebkrC5V|4``pWXBwd2t3rg^>b%^x+^rq-yl4w=ZBY`;f##fPriL8o)` zyslB4fyC#j2B^^JluhRq<~ZJXqBMp8gE1q8D+d-g{=7F^NlK!;BDDJFH!)%G;YjQU zY-;YIO`>__KCiDsFg%6Yone50lxBpxl`sf|yBz;eaXBhlNlq(t1p?L^pK`&+&`PJ~ zRx)wF?=*DZF&7Jh@S7H?SYpUN*skEk2qsgF^o@ZzJhxZhl}+L|TjM`H6B_-a3A zNsEO4kiazE{-3N&Bbs=mxY|_sMc^c*$m?5;pY&M&V(h)UFd!YNO(Tmr_T!xIr;MWg??2j_tn+0) znx3ipn-p}eLvaOsne#bdwc^Wz?Fa4o?c^~jzAhqf+zZTohni9vP9NBF z!#A=oUMA*%m;6(F^|jIX7U$MqeT_n0CrWh)K^oAMr5aG*ou5i0RTC3xce^18X(pRM zNCFk!G6w1QW8rB=u9ObmT6bdwFj9y7qy0me0Ctcyy_6~bUL9xL^1i!6O#{(+h=@+I z5hfL@rwcF9_(uQwuhgRf5w_#rXHRmy;-Wze4Lq_KLrZ49G@Y8SfCgHZzz{*2mEaCt zka?fq9w7!WVkakLayelwTIV_kaE}Dj0>JG53)jY2YY_8!?J+K!Tm4ha=e5q%`6`j< zd-BXQY??tLIOW6}`YT+F3s)ES1=?I#&K$Z91U~A@$xF~v<{3Yai5WtWz@nT?>T6@oa&>bt1xg0 zL~WxR){gS=W3{6^u%h&Pr#5LJHy^$vT+&=+KrS1ps=L1B0x%XI-6gHBWJ=^q0|iAY zezaK{HRn(!~UN+<)@1r*h%n7>L&TBpWoe$`* zbNv+}u^Gfkd#0AO$>}=CIu7waFa){q!gW1z=CIAn@m_nF3mdb_gqU_iA_N^vAI*gw zro5trKSR1l;uUNPxxN!Wv%tUG*X-SAHY^eBEH#1%TU@K4Sm9kcCGBSiYvdz1on^;l z?Xz6iI?Mw9yw|Z5qo$_3BRlN_)a@Qc26PMCicEOKi8vXZNT1EMvm3qOUX1_YYl6ak zX0y#bD@foeIWr9TyO7mn?#}pkvuwl{HMRN&{tY{h>dt)>5IlQ~hWv=#gE16=P(7+9 zqmZlO02?Y!?`miYzbppv4O|bNeL@f=ZWg%dUl0A_W`hpZ^Nl(D!}KH?4A0PhnRRY| zfTjtN~g3s8Uzr@Nq%x*Jd{OHiDimU1{fEh*6|Hksr)V8G7g7G1CD zk9$_x3)PnCf!4(?yw8!6{Xr9lOUn6q~M`$&24(KMg3& zPTRuR3}&j9wE^~yD5K?Fsl{y47jRA?bC(N{V31=Q%!y13fx%E-&6*JVc791n-P=lw z3{6J}#@*|t8hh|5F80Gy1N&iQ#;L|qfhdYRBjma9k)epxE%A5y!{x(UW7Bb*6N$~w|DSsFa?f;+{(Z!DW+D#6QXBZvZNwp~ z$PvIsN`WAC8IyDbE@D#ZK*P?yfNyApmiW6u)UZsACZ4be9bd+9BZORXF5V6TGb+D) z{SXOc-Gt;R_R2Z>&kJNH6AJgeVsgS&P^7`6Na{KmpQ>8X`|%61yeee*S!>g-4`5QkTIr|0i^|D(EXVgm@9Ucd znYu$W6gK?cl{CDo$u zPY3?(tbb3L&lj+9E+S;B4KlWzUb?~MovIG~urqaH2LnV|f-h$PUg_g&ljfQP{Zdh@ z%Hze9WUM7Yr9XWcLBexC^g8Cqx7DEjbpIuB#AP28uhh*s}VW+-gmeS^UzH`9jX8jVIFQY zzz@Pa+^jSc=0RUI0^2lT`^8NMHvi1DcEw)KZ{QjoO+TIv#6xV#p-bYlqtn*p2K^N@ z!b&2NQr^y@Vs{Kr1QiA-XLcKaDZ{jdxD3<-4s z5c6jK8A5#s=E-J_a$7&-t2L+MZ{IIcLJBN)Vn+tu7_DE(j3hmLBpUPJH7i&=>>kW` zs%b!)+1j0O%bBoK()ln^@YUYLFPM@o0)M{WUZ29q8+p9gDbZIqMV1k_zwxd=pHSt7 z9KULiHqc+U=%DS`prR0U{I}MqroM^Zw(UH%eY4uh_a|qz9Z$8bug2z*=ngHBIX!o6 z-UQhB01rci0_@PSv*OQ50O?pFewOI&Xa(P2m! zqEC+fbo-{7omy1$kgDnPbB%XxQR)&(Y2{ct)b{mx&4iti_C}auw|2yb!d&A7=s+Gr ze+_%{jQH%|yVgdZU;!J$`N?k@3<>0@)<89bV$abGsIOcGP|rYI1sNATlvO0KI!Vk; z<6kzhh<;YVAl+h-H(nLLVo>=+vC|Wvz=YKUk$M<+6krj|xVwKb7$!7YrmXR;DJ8=O z+|G~`V9*ACy8Rv!CC;n7(MwU|09vu46veK6uZO7aYX2@%;Kz*l$`_W|7%2;SWx&C9 zcL#M~TZ!DKQ{7 z2d%(;4?-Av7(J4?AdZu<;ZK&9cm}tw5x}jQxaMT!J)>Iq%rz>rs!=SA{H>@fVt-~1^A82Jnpb%Jr9W9=VOZhs zZG}$Fr+ev~e?jVO*r|Dhxi^j8#wOCg+aO5LBUxz_X^LttHknuyPn(2f;lQB6+H(!+ z3^?~kdimjf^zz(8C=jbO^;nrUS=dKapF@&p-~Q+e{Bx0OjDwW>S81(r=EC(|{|;Wb zJY91!I{_AbESX!?i!<~RmKSlE$dtO(8+63n?6t8&Qg%Vg2ZoePIiAH#vEUwXW(mKu z8VFW+1YaOR&P=fi_16d~K;a_sj*<9T`TjkqHcW?~!q-cx!`sge6-^g^PK`!^`z{bO zI?LS=$`Lp4Q^`(gHtHa&Re6r5X}KKEEqFoS30#(3Z1$3q|Bxq@nhq)oe|I3<>AWs= zZtfe&kL&WQH}$IgRigZb{<}NBo7?b7Uj9qY^mXwyu|@f@jhAzA4C^R%PBSPk;#5En zjG8;pIED&Gr^L#t{?Rk(Ea&mL#pN z9sSGRR^=A&doPvNtMFnQ9==TdLXRdg04zA}$wklq%jV&JFYeKKz=%}Pwr#hH!5?sY%M!040 zzd+Atx?NjFKpr#2NAke+Y)M-~IlVdGoR)ZR4@{lgG-=xDiW{vz6dT-puVjn}YYpgZF$5i0#};-ltg8 zG2b^G3v_!O3ZPfdNSnpHX?DDI4$j-ad-n8X%<=!g$GU>V@E58#fr5<n!k z)UE?Qenr;S=;d2{&C>sKoLX$=_|mGiOP$&W&6oBq`!Sw7efmli<%ukTmM2n zOBZhu-s-Znx$D+mk*O}rw_CMFCNL$r=?024XU((&FPdd&wE@j`kKRk|SU``lfO;>6 zz;t^~DAM=CyR#x~^YfBue4Td&H{><~3I7;Ha?q7DH*umgr7O%;nN1b(HC|#&N2&6>@9%~Wt%BXOLPkyD4K{6tuRbQ##fGJ*sJc^#$jJ@j)vWZVRPd+7`D`i!I*g*84h@G@!6vNRr?g@ zVjSiH3hYz0o|`!@@PAmSohq3_5IH4jMdMThLVZy|>6}*b8&u~vQdDE;U3p*i=E}-@ zVq34R{GETW*#w2c33rV)dpAFxMZGAJ9jZLQ8+!5)zNj@F(C0Qs_MA z!`&crPm-0%OcZ6eBB?wuWkF(&n|3ec%m+nvQPUenU)}VQevI`)(+lE=MRlhjmdMq~ z$g~N~oBgZ_O+`K4ZH+V~zgEk3LB6Z!Ds^zN!>BAH&OpSmjqR)OZ#h_}WNH6k`%0@P z-RVD65DSbO`pM{IVbj}a53J9x$N6GKCGbdThhpwlm;(0L zPrAiz@cXs&V0HUaT?1z*&UDw>#$0JebAGXP{`I|6W2-jKzrOI!+1GS6vf)FgdS8&u ziS5N-BWUj54{6X50;WN8qACjnd7URCMi+TI{8qc2q50*pqd5RLhAh_K7t$S@t?h7H zm+vRxz~<0RXOl+2;1t;G$@lJ`2WapS&qlERbR1i4;=Ju(4PWxu@p`BybY|aojzn}F z_m(6Hwsx3i_zy~$kOrE$VnSA#`i#uyKk=V7KRw&_r@3u^`nK&)TigD0PuriqY5UVZ zpSD6$uV_NVG`>1LFz@4k=o_a4=2-G(uwJv{`d?yMYvyS|Su+n|GffWbA?%+#Uvo^_ zI~aaRtX?L=JJ?;yA6o#90@I9kFQQ%l9s2AY+U=9JpuW30o_#|0<5OE!UTl#^8MT2{ zX&HXH)UFJ{tUu13>5^O*$&nX_pBqX+%fmR2ZKEZ(?M^HZ%ro3_IW_Nb+RCQW`s6y= zz=}=~n>^DiS9se~RQ{Zn8o+9;C0lFHf30|ab1=lyHRIj|2ALm zEEYA5#t%s2ZBzymELv~e+13#kbxnB%c52jXL<_39kx}`xNNHo#*D$ouDHknO(-I>M zopMc8!yEwQBM#}GEOyy`)g50t<<8)wf{?SJk0%AU!!A+mT`N_d1FWyE=TRm*)2Ese zurJAxKjD(gx_dGWWp~JB(93iF2EAdYP))y#ORl**gf6*8(SFJ$*N03NJx@DxT0z2p z>yqmkQ}!oZay_XG|CLKFBeqztTz9JywtCtM2%bhCWk4@4Si7;qxT`V$U1Q?)C|Ucr z=YEbigUnpi8SI$_?bZ|JnW9CKr2XJ$gM#R&f9HoYW})Cr;F$iXop*m zw^93g4AXNfkJePFP)^leb|?#Ts0~ak%U7zKsS7A^+Y|fDbXDkl|wK_8}f2~?33J#^=cW^p0)P07-?=uet7Z&6{Q(_IEM8mi(ZUp z7r{mogeOzWKaV!hvJOF9d@aI^OI)c7cmVFG0m8{abkch9DvGl^3=t@`iH&z}c<{-BfKkn^JR@c3U zKJ0A5Ze_Ta$kzaB-_LX}@oSQ@yO%J&s(!%nf8bt%4je@0w0nt5cr)%L__8{9K9A>q zkQj2Q*EvqD7?a#f$c2Sd`w`O}mB!74>Lr?Q>YaeGU-Qy>Hcw$5GYF}j$9dfL!HXbu z5pAXZvVuBh(9GHp(YI!^b{;9lBDnS@p0q0=TIWq*mT~utdET01+?hf`Yo530hLjJY zvsDtz&d;qnRtf_o4da8T7p9+-mlvXB;qXI^{~@mNU@!It-iI3b3f6@FhjyQ2{SPhu zX8~8=%7QAp=T_}(Pkb;^IE2caTSf<;a6VLXTkzZu-$FK9nXQ$~i=12L1fOw1RP&{t z@lkEfoacK7>@6{FzTk)?G&Z$Vrm!W9War4AJR_ahrNu>>%`$i}mw*j9w~ohZ%o`|f zea6I%9L5LDixnl)ynP%RzyWq0ZJAYW(e@sB+ z8S3A6)z-t-r!9!7Ct+Q|I9&(gY>fC?tf~f6|8Uq=yXJf2U+pS`^+zlXrrv5zI(8O- z(4`(N*=T&9fEnX&o+@Ljf28nTvRsYx{~G~Ik3Pgs-^%55$S4v5i%bAj*%uR{~Nz<>PL|`s0+Sy zoY~x_4g?+8_;DUzBs0c&>!B@I~4AZ26+J zW>|qQ%GFkSJiiNDDZZ$S=$B*(Q10gf;~{|ndJhC!Yg3A-5E*BarYXV^B~!F_Fh#+# zFK#tOyZzJ@u^_sa)m_aRL^Tksf6x4eekq^G>X$ND|AVs4)eH1bbEW#U{@18JkX?gh z{bMaKoJEJR3x_C*qb;ZE2|GkBgaGj&abDl9nlyGx5?sn40kZ;dc!F18A0r7v)frt~ z7AKVL4Mb*}@1YaQy2)bzs6l0UH(fY+thk`5NKqiVKs~U+bZXY9JtVP$AU7+NTN5RL z8l@yqqXgRjjI&uO(oKKtx%+>fHw4L4`TqUv3;sevO4VRRPVHhcRSi8ujL|0MtMfut z16zyQtAk$YwD0Fs4H{#a3$~yr4}HxcuZ*^A_$*Ts^fM(qT}MjbYR)bF5EjR~m@Awx zLqb^|q{4DDT+OXjZ7OskAV;lY?4foNpCdl>ht5RH^bNy9trN(G_i)m~Ch_kFuu0rO z7-8(w51|GlWQ!i5OW66AtSUk+@0FT18x|OPhW=O+W)jVg`)(?zYwpu)ggNSfn_Kr- z5IcE+lQfQE7)vcHqj8Qg{|4hBD`3*8J}cO@L_=rdh3ef59`&!<#i4RZ)q%=RjV6H8 zOeuCjCT0OVhrT|p1ZJX_zw|zyHpoz|`u8MqBQgAxEIea>pm8JbQr%Qjx67~Pd#G?k zxa+C|&qvg3u(Fl=BORfnRBHaJ2WTxZ;Jwq0dFvC&BAK_|xGTq@tW0r!8*(6a4OUYd z*{i2ZzW!ilJ@0Fe8`D*n8fM#^)%4z-{xRm@w!swA&259pJm_YZQ=_cz3=~uPcXMQ4 zP@tJC=S=;J?uXON=w91uM)$xjEl2n01V*fI=Iej^vZ^g|pQdF%~a zJ>K@GS$tw69QuhetJ^Rp{}sN35NhY|>GNh5ULki)q_lo)f36JWPjFKt>{zaUKdIZio{T#b z|MwJ;gdhec2|?V~EJcw6$Vuu($0@zV^RWx}C!Hmaw?3D=VU?n=1zOA6_n=E+ zg40B~QvAWWqQ&9lcZRR@ef;_~>NLBgWyMm%3>R1!em>+E8u5<}1~^)yfzY1R+>(EU zEcvC6*-;jo{#4XNtql58ctO?-#28oLpJ}v887B#T4`Un?m{~U)_{ad$M(ek0MD3PC z+;e$lEnSrF7f@LnlxI1$X0eFB#Eh+(Mf^@pLe)S|w}|WT{vVVA>bM5OYnofc4-K-5 zv3sZX`3Z~o{Y*94X0)0Cgy($b9PvRC7+uC?9P0|S?x!__P~rl0RO%q3%d_HHs4=`0 zAwWW{G<)7R*TDQvGbu?Jbo2W^R6RYI;x1Q#Kw@aPot`_mSL0yd)9NJzDd86nzkt0wkiRHp4) zrX}H%$F;U3lvGzHYjf2!GK(Fd?cmkrR+w)_$JE(s)9Dt6+iA<#5c2*LSj1^PYJssC zk)_}*NByK>-)CsX%~|TKB7{ejNwpp+5}erhMBT}ZO9S6FDA(Nzo>sX{MTQfMTF1ddEI`xLo^jUpy* z7mZ(st^LIXQwDbT5Bj$;wF{X1ZLC3|_GErDQ2QEQrOO;5B`O{Auhv>k^gTX9!pL9~ zf`q0cwF7HB2CRw*@6&i#LWWGk{F7Q5=G*z6q@p|ibWvk|o@ttIiyo_@Z_2xfE@xu)P?Wp$wj!l$i80 z)u9P)VH`f5>RPe#ZCC<2m#gXjPZ$?EP3c5?@f@B_*6zy-=;hzf4y%>Ueob#&Y3cN{ zb_YnI8n?{rC#an|Bo6EE0MQ0leq;kCbE&GQ!P2n|91H0yjhGl%NKa6jv5>yZfCUZa zFTams0X}iV7cFk27?H;s$sb>YnL{t5wCS4bAM^yn{W&=)|C*sn7O`(0|VU-Hz-7^4~&bH?;s#u&9T6qFm7+udon zx0mepQzDFl@%R<=6yR6?SOf`M?QMLD{v1Oe0sb&`HN1#4LTLv0gH3XliEZ9i>#gui zPALRQOPMqF(6_T_#6}*}ZC>`5YL34>x`}Z0RNl-sNoecAPS_$iMaROzw0I zWyPJYLGbOHGt!VQ*{UG%R zw~@W|J)g(PuCCfO6RhlQAm!#eq%yf_Yx##6c34y<^ABtSZJL?P6Htit z*{0ciO=rFu(@4zosSNW-r{+IAU?R!!AP@dArVYEUQ(M%w6zl$_XpWrN@6C{`fkLvd zv?~LzP7VCeoMD+x%exD1r*eI1YGA;5Yi`5aM}uF*Yc!4@R&$UnMWpqMv&gwMCPho4 z?-k?IsQyzD&Wa=c%ZXHMkjEbtJF(}K_wk%Mr@W09ol|aSRGEEW`hC{Ug!*9XN86H! ze!lGHmR`Ahe1fhc zBJ25Go^?$e` zoaw!!*F@jj#$-j+@U~A1Rj=r6t^Q?zfi2bf7!pr1$Zo}e-b?Lj&+psDWvJR~07EM( zWQBzkrMi;27ikKmJIPg|fReMY#d2!KQi(Be{-YiYdAd(e2(zM{-fkbDyQ)))A$}pz zY|*a&&@>i(AOMFJ(B7HXWZV!4OBzjRrkIy`O(3n_^Usqpd!p~!^Rq&;)xz)5tDRZN z)u5vUNJE2z;Oh>wc%{;z&1=lBz1Nl!TUhZ00*E1Eofa|T+dkQr3j(u!vYt=YRtqn@ zIC3Y=Wx>d{FOH01%>O(u>zK1qm;(;ANVM%&N1WO>80t@7AGrgnula`IH1nRe=d&1b zB&>IBJ+4{mzGky8X*oWEaS}!;og)*M?*| zU&HdUW&<5cIbTa%h0Jihwvr6nE{3Bqjh~k9@1iS|8P^6YF}saw3z6Dorgu)k#xy8d zp#$}BISxMnD_J8t#7{}t8XQOtEy(}kw$EcL5C#CZjN<~AXy(oY2WPlx6gc+yhpjw3 zuBN}iahCLOXnoo6oNM%OkNk;_a)Va#AVJf$TTd2V)Da=$Vr_f*V%FDV^H?;ekmAig zZM6z$S3m9?Bp5|&@E)^?TAS4ZG$g5V52LayRxJQROx-K*$uY!EnJHJiL%lhw;(V&` zOBj)V5`?SCG#$!6l{XvNXK7w>PE#d~`wvl@-&q9CcD?pqp6%6G5@fuz)hk|0)sIRP z*C4EIhUd&DaU-pG-<_Ho$KOXYj_b+kt+0v4l3WzkzaS{jz)C=4zgone`i${%Rj;Pw zcnR&#HTv$tbtuyxXabM>m{_I;U$bl_SP+~%97&T+J5ji42h%+XV*8eWCc%)oNc3d} zU-2eX5^Q)mDPDiN=pAYMnPv*?sb=xj#$C5^sO3oBkL{4i?^nro6!PB{zfvtT$TvPWXraxTe|Z3G0aDovaMQ!!Mw{~YUPj4#m$W)@P ze0}*TnV$=ahd4v%Luxg6b8mYFHHSA1sx^vER7tvLQ1t%&LD4HRQ(k$C+Rs$0jVIfY zYVrYFgtWk!$S7`E-I&RByj6lzr3Y>_v$>0 zjr=j-3&k*2oMbJ#;*M5Bj6oujSC7Y0{~$fx9#j;4=_|to!vyB zG>@CB2j)+|WZ@)LY-*s@=7j3~H!Pu2z22>-qtptCQst?sL9V(YH>YX1_pcKzsOm$v z7)`y^g>b;PKM8`gHv>~Ri^|>1dfZN3<(Qp?@P#P#tR@p|)b8&H6Lh(HV%tp&SiiX_$J;bg%1ZCIAIjSe9SABaFcocQE2^R*4f5c> zu1IYnEg&K zKkG#~ax;rJvBPJ8g_vU#-P}bc<{0ohxqH(xN{#zsx13p!nVcqpZ^{k31aGr=>-$z= z@b(062j~rUm(z4VZ-?AekTXkzY`Wd8AI6=PlY2Eya$^hgy$^Epa{OxqF!Z*=sZVA6 z3vI%G-ldr4!avD?bh6o;*WV*a-5+FvW8 zZxhB$1dRAA#DBKQes=fzK_znLTJsTod@7fq@y;|{57mC4b(*-oq`s4SG2H$Pa$}9? zA>{`M)s75av7H}W?C1$^p3-sh)E#GVquwr(W_#J+q}j%-W{#Gmcj)mO=r0~2>rW`^ zy?D~GbezF5xX#2|H67H=NtPsTDhF-Jg$S&ZW2DZu?~nd9gzm;4&FIcgB^bXI^^*;K zsK2L3;C{>Ix$dTLz%MGHezHEg_4gQgW*SK|0BVk(u(_`m7Iad=T{fZLPE0X}Z#jOA zO*s9Kotb|<*AE*Bs88`Pu^)~&lZH&u)6CbKSuzU?JVjpdU7Ka&I1KCho3F!)C|lwm zYCjx)31v+yzp@FpJ{k^n2b-{%qQ+p||KSHS_OjI2n`}bSjbV=WNbu&p%W7l|7kHaD zL6GO0RxRZHNfw^fpM`i-r3AZlGgfVZ_X0(=YA5`KRoi&nYUtCb@{`L?Dj!vT;tB4= zuV%0y%j1jVZ$@6w{PM3lTE9!QehlUWBMP{W_icIg))7LMQ(VP^c51F=)s{b#ix2hq ztL3q+2jgyzl>U4f3GBjPd{aoX!T6A7o!CEEW5o{DHMohB34*dDQu-DF`Q|y3_B8@3 zM}p`qyX@plUmH#A_0$`M3LEh&IDpINV-sDfW2>BKqQeME6Q1i6C-y#TG%TU4Yz6mf zm6fPmWR*18BI`Pmn%7E<6|&a0&bqKwRzj_~v~||2T4g1W3R#0- zdl%`pLx5;0WR11XI=@v`f~1i3l-60b zi)mgfu~Eo+u(H-=j_S%*If;lu&i1Wx4sDf_I4ID+C|4q)pU~s=E z9&x)jFH_hGX^4J8nd?QUA#L63x^x98Iq=)-^+LkS=~(&WmS7%5>^;h06xpJT|5{k) zpRLLeeUCCbn=(+`x-NvM-vq&b#*|SU!D}gl|Gi@q9jXy$_mrIb|-EPfsPF5y?S z03RQcpll?*xQAY4rjl*^y(RK4obSXQCPnH5F23|>S7rn8efz3Ltw4OzYGelD>t-l- zrOADC5R7j=xr1PQNmbT7CXo%s_kn4pdAUTo+``u7Y(T!7fS~_?z9R7y@N4>-?;d!f z$l2TO#LYH3-%2pYxHj#s2LRTftm)`{f7{Lqkphj4&L_y2=zI-4m?K%Q+un+rf#~GF zVTdtL%_8*e?m}X#$zGj9tiBE7w=;5~f3buLfLY*=Hctp`O^d~Zp}-Ja)m_qr$|Fn| zQp1L75TrJeeBDZF@u3|3-i$_M7)p|1-4Q0aG)Mrgc_Qwom!DC7X8Bp=XP=2);T>ms zW2|9mY~zup+6mko$mmkzxDwI${HA+!)jg;8dSOW~H{R2YUj?#Y;~D4nWBl5pribxl zAC3RWWi=Zg5IQv9?aVIB-t~?ox*Up}u{DyIz|g*Qd#^(bjBRS~Is@lgZEwAFDEME{ z4$wuwpC+(uIam#z;?&&5*Yam!6R*Kw2><#w-ks?$bA0-TmxWqH_objZ3OG5h$!Yo25Zx@kl2o=9k zqCu;}8GVx|2Q3`+IhTzgV_KuU9ud4Y@amUtVbCniQ{22T@?8E53~9l^n&N8xvO{d( zHwZ(g7SaE%+n0bwU(Zy!31$++q%$4REvITeq&wnFeg(13_xTeg2BtnXJtpiEZ49a1 zJBw1(uB(yynnm8Sk>0*By=`9Zfpocd^|?8fw9($CXDN4Ky4*vp%h`x;H)SbzXu8}* zt;^Y{Z$q<`+psV-zTU0N*~o7@W-0eVy4N`Kj@hwkVg14!28KZeU%Xju1RW zh+9axAVS>R2Z@llD3v9fG!GM3fG0{55l@sWlDMKB>(Y(C?q6rxDu-3fM=o(zsIYXN7ms2!C6tQPE0v@qFHuHD~gyu##WKvu zcQ5=n-m2?;Dmzmgwt7p%sX1jIlAyG3*aEpO{e!Bf(Fe`%oyJN)S~9Unwp{*&rXPj- z*UNG4D)0XOD4}y1_EP`>^DsH^Lm^E^ILpO3%GipYP5Ldv0ncu#S^M+c*EQnN<|c6N z)wqb|rTQ4Qa8t=rL;RIn4Vgc&cr48J5WJf38cm!=3v;7A-*aP|5jM`?7HoXQxZgzL zo80>TrOkQb^J$*AT0HUjG*9%Ln(>Hb(fI3b>B8|P&h&1j)pM6rZ|*#SV7vt5>HjBZ z`cgNs=XFsW5+@guY25onE;dsX?YY9K@w#h@wzwNsxVcev;*8>v(e{kcLa`LCD!J2D z9GThVtpD<7MX_1f1l4&TSjXUzYC?j!Ri$$z7eqS0u@hiZiOD z6aPf%jbF5fW$y6;EVJiEd}^3!0pH+I67OnXQ>I)bKE?ZM@C(<2dI%~my)&a2+tfMz zEdk1JMj|~& zl8uql#&KT))ry{5Dx5)xoeSKaYa*o$&ZLjYAP)yzkR$wduPVn)HoB!;s;*k2MZyeX zyzKUTZ3b5tf!@|mS94%lSv)#g-)%>CPAGImbCjvlH5ujm7G|}x(tlx%X6MK#v zk?7`BB+7H6M_~{(9uE6j)m!|*Duw!@xS|;w>G^W>z%!5vd%ozO4t@clTuJ_k!X7vt zQyM$b!31D?6K9F5 zy>lN@t#7!E{xPw&x$c{vsP^vV7tO!;x9xKpHx>-eUE6a}UY{BfK!TLmW~UqvzG{m4 zxs5CPxZBejUSlqAz^BEPIhFZioYi?34@6s=qLAr@VG!6KBndN-H(+*Q&N}DR4jcWw zN#GK5-r*GU_u~cBF$82RlJ5&{p*|huz28mp&crS1vUAIibl#nF?5UIbEt`K? zAA=;T>>O=R;G+)YORoGr&yBx4;ZtAKC>npwJ+QL408EYa{8sC!H?Gb$A5!MrxiFIG zQ|gv3aAK>t#p>p6isr)HHdL3g6lZoL1?s8wwQ$^5{&f;IjaBPh@`B@whs3?|*h==W z_Z2s&Px4V3a;tpr$X!95z%QZMdd4;p3;Z8onnEPHGbq8oH8)4Xr)1O_(%|1u<=Psq z=VZiRz~Dvr8bE`*Z!Tc+3k8YzyX*zeA9t|(!i(RRoN?RS?@QeHBDc|N=WZZ|<1)AL zn|45=ojY-p1H|0;+6gOk1oIm7V7qZe?#x$TvH#ro8h69TZsV8jBgy%EJdeT?zBHJd z#~z!K=rmYtW6)_#<5!fPAfwP81di?yANE?&Qusy{4n)L0=7iXmMzP4u5GmOzLh!wK zhkX~;f!)8p8O;iSDH_syeIzldqi{a9k?rDa+EF8A(Voj~%HK&*Sk!NaP=`3}i26Qz zyDx;)tRm6>=uC39wW9NeG&zgFGir50D9k-B(SLfR@f&{o+*A?YP|@RcmcUk03MzWM z#u8amk*l|&ii?(N6;$M|<3t9J&*P!s8w)CXx)WdA(R6f6{oWZljMxV=H*wEeo^(F^K9Tz3CCXhkBMy_;7tA+)O4PmOQi65%8IRz z<~%ufOyGQpZxyt7*Nc_?Xu0z6a-;7ak$dM4!eHljFP6{ZH>Z3`s&Yz0;FVl@jCGTmWhBtEyI$4lTH3)O=j zFN!$-ZiwbC;SIc7FT9K7E>LHY;m?!{+8-jZ)i@ab-CS@Ye_S!{_ACtlDg2|NadW83 z;@^{qxd#7M119kAlk&#Tz(0hjr4|AEH}HW`MdC{%v86&llM>1@jF1lb3wtm74c8T zEe()VL?)+9iojJMm&M1gj3A3|3}VV#s$z?RsJf^Q~!)8*lQjmlzpe zN0d)Qp z5e+I`AfQ=7j2tYWZDiGU+*?&PxbfMx-!?(_a9ky*8KD~}w*S?giu5Hgy3 z=XZ9|&J7ps(y(p{jPK$mZpw8_Uqg4!qFq|KyKU=U6jjX5E9&K#WYCp_RgSxfr;C+7 zOY(cN@X1g2Wr6XDjfy@=MIL;*n@{CEKP*qqH@5T6l%r9_8-fovC>SuAN}OAs2jfy{ z;1`v%YeXxx62LhSN#T!j(!|hX(U-ZsB z#-tMO0I8h3TW5Z7%!J(Q?=Y!vv57XRseWugV6^awFa^;jm_2i`-f1k&sClL+U_{S*pcg%vux~V_wNCcSJ>+7_-M)*cZk-TN(o)s3y~mH%5E( z$KwYan>gqoyjULXOx{C*2+^4LoO|`&Y=z;T3k`1I>B4}w@ssww*Cz|tuGlwc43Jla z@ax3}!+3^3_jF6wII(N?faKNpdEIUQw83}hcfhC5>+9#{R^pFqfph0vz2+~8&qYFv zl)h5+JnQ6=V-wvDa-N-Ps&$@4a-2K9G?M#);gr4C56_+bne_Eg@{CO5cdii6FPp-& zY>1T3tBB7ti|$urVw+gt!=V`*D$UaNO&ph^d==(Zo2;gXA=gE1%6;$}z_$ zV+a$HaFe192|V*s+D&xe@StIh8|#--wbK|-(SS47uyIVRF*(jN>$ByeO%|>KRPern zyldevW{FPHY)l@5K-|ZipP;__S^m;FzxOpy_U1!iDCS(?~&OZkw z%^OnE7!GTcHf9ML|EE1(GCSSQOHgmIo#-=h?kn1-u$hW2*y{Fxk0_$K-xmepj92;M z3_;99oN}GPuW5q?D(Z@@R{RWxp;K1m{|(DC7{WA(z0cyRk?+v`cmLju4a^E&%~Jmf zHejq-S7|N42F$JA{|{_{b!?eKnk4=#8+a43J75E>&rCM(FZDJn8;Jb~7ubu>mJ5{6 z=CK(YFas1Dc-xTG|9@&w-KHR+zvtv$I(Db4=i?cVPm9=|r1cU>p@~GZ#RMX}G|}!xP;O%pmaM z0{x=7p9WmO&7J*07A~+;G%+Y(0&XdS!i(eHf};dXAdi0h1QUoP=S51 z1K#BMf8YTIcLKpJS@;Q%5~Xa(11@fp2PhPf=>`w__GDISpS$H{DD!~-(> zA&TZ62vtLJ$>$W=kNl3T;~agL?&*cf`Vfc zed6?PX+@&jxC$rwk_zTWl57n1TRL|fJ6`nz1+J;Z)?8Wm|EPNt_^8S&?tcanNLai< zjiPl45;auRMA1S4O_b%1P5`%x)hexu)S^;I3btATlR$=XlqyzhZHrZ_ZEdAi5nM14 zWpgP@6>!1edatQ0E@4rb_xpS9y)%;qv2WY=|M~Ozkh%9h`}3UVob#M>o^zt{RrZe8 zhSxSktYK^H@Ot-Wy1y#b6~cLR@DkJ+0+B7K8#|ncLZ9buOT`8sY}GzzyfJ!*2OT1$ zGSWp;71Q-JbL!wa+I)TI6f&1z-6=A^W}1G+HCjA{doj_|TByCvo2Q+a`ljeH@L|Mi zR^5QDNO(Qb+L-EQiPpxrMSL^Dki^FbLsq&~{D`c7G8=Mw^SNyKMJd3al6K6=HyMT zmcGIso#=5$Mha3HUKL3z6Dq^ID)V^{q#%`byQ|AR$=iYPNTZA7t;ac)@l}yNyODsb z;Y&fJ&n_Nct_C>RZZ^eAW+nWT0MYXBP)WjhCQUMXnb{ixo&#a{)4v){P$UP_li)$ z%IIDYNYtwRwa(Jk)34gGk58B4)iAJ zZf|gJrE0^jHh$OzNkB9?pxbzH5R$ZT?1Z*1;3*PcFL@(Mhaoy&(RlK}mnaDX$`(^! z;+s;1Jzqfv5Pz!-QTFas;qj+u(xs<{gQh)ce|tUwVqN6rrBO>xMZ=(ec)#?du)EyFxKuxBrrO^|BUVcZ*;*D zePIq^TA~~hzG{gUgtbU@TY<}D4{1RFrCkNAT9t+MO^-zsX8|HRtDNCfSGSyepo5M4 zuyUtcGarH^a{^m9!Kc0wr58D;gIU~8oSv-svy3_#e{IKWk@z}8m@G`MvX3hZAXEm- zUgV+GaYd((NC$+;e9u0v%%fyv(G_%cuLvg@$-`pv)=1-rMA13y3~6}!?39qyZp7zH zpU-XU;Y~LBsmA6ak%scheybMIQCNfBd6Ng})40)z1G`0@4CJ(xVT`i_Ic;TlcV#~B z84UF~c%Oxi##g%CaggBQ+c#0Y2qzEB?Owy6!8g6p0(Q?j4)s~%ZUqU;=%Kb*Qy<%T zfHiw9Ju$MrBox@l`g&e)cZYmMgUYnxEA%COwhSbgzN}9Y`m3oMfu>jsW!jKT+`sM!gp8w@CmsPD*EM z*43b!Nb+pdCd+o7H7Msu@NCt4W?oWeURE`3?p&5CYmtFv2rcgr4Tu{$5>CZlWs`a0 zVqG_}2kolfAk?@(C=+RcFZq0nCXD3Mm)Lq4GLlb&IDbKF#^^S~e80Geri=*2D`CZc zPEAo1)t(3j3=oYsPG09;#b@}C<qUc1St8J*79tZ?(Jm(2d7yu{HZ+C2WAPiWgbwwDkrEKktlo1B# z1b@aVbL1a_Gq>()XkmkKJg|d$J)@b=c(NNO7WeM1Jo#C9`yktM)V=MkNlk${I!wJ}{4= zF)GdlI~mzO-998%G&V!Myy1gF4ltH18|Yl@b10a|XJvd7)awnXmzpyz2Lb^AI#qbi z%Y6a=k4aGAnF(Bgl+^Ia7ocGk@!yJux${7*@fA`4BlG}l!!Jwsp=n!07x*WU$ujGX zXWf;%w5ZK+4bTu3z;>c{YpR2Cc2J`@$p(Ntwx;`xU7|hKEj1Li;cF2|-T~omMQ5-U zrXKf4WQlzae(y|&!0$_b&^&C8wL6gj%BKpYHfC zp{h5S)qSF>7NS?RMpcjcYKg``k@ND`Kvk0jF!8WDdnYx_=G?!im zG*^N;g&OV@eu3;Y={G*6w>g^eEU&NbF8TS1HFA6mc!!)bP~LF7K(R0L2zZB`@D9tO zVZ8+>4LFHKG)1V&*D22qwaszEifv+(n*&+aM4my;|2GpUf&D%};wvZeig$yFoGSoH z=8n9SiOj(c?n!BIgHz#9vdNyTimjosd(^vzp=0c2s5kLMF|6F>?+bk3{)ZFbQ*YVy z?Gu{Tk!c^3V8uMs$~F+S&Ro71?R`KtQ#IR!fpvbaI~G_fTk8(u$IOKLZFs&cT6=_H zHK3n5r%k=sFk8?mqwnOap|dmZ9;H(tzOXW}-P104#j21da8dNT`H864m~Bp)`(!U`q^Ev3_~ z7p@Vmib{Use*A)xa{sDo2CJGD43VD(`9q6wM@Z7olvG3#&qsnd>?C>-(s6E}i{fg{ zM%OmY)Q1?bRmU4*?31~_{w~j}&2!;pJTJi}EaYARZ6|S) z692A5#QofUkc=o)J*xS;%_o|Bq;N8PvGG7&L&DTEB}mYdZ7%Ouoh%tbJ@3tZ{R$d* z3E?yaM7M$`QFrW_%^$AouWvA?X=m$IZ>7ec5L_L%jvN*WW$vS5T(ZYbT*l>&>k5qD zh#ROVn*3QsAQe!8N|6)l&sQG|QCFl_cMp7?Tof}DvY_fN3_%Y$WMq-4}7%kfj zp~M1kw)%5@I~Y9uk;NfmyZ&NZ*%ySeZFu-sc*_4oWx^Zk+7 zX`!kskpggKJuh>UDs^-oCH(wW-Ord&m09-)e#WomWpN1&TCvM{j3jQbno@-up6MHM z&r^~?*4OE&NWDVu_=fv!UR$@o{psfz7xq;zRrSK&ovVu}r|<5qc-7n5{GsVqKHWkt zLB-hGId_cbe(&Z3THo(&GoMvIYd4qMo@OqK#_L~tQJ6hP(|9!e%{$%}`FU>Q} zOf}D24B|1<^tL;(!)clu%u$i%=)_&^=jdYU(;Q8?k~w;Mf95DXR_n;}EcoL-bRI$$ zT_EePOdS`M9_{G?d_BdAw zH>iT~7FV?j>;kz)D?)ZNUc%@C9x4+z60+<9u9@t%Vs~Gt50waoBk@#WP?GNtmA2Y5r{h! z?YGm+`ABQw6=hgle^E5`RAAVjo2Yf~<|)Ti#;Xg?O7-TV z!2P8Kk-2nrVzEaW$rf^Yei69zNCsY#J%2F|ef`3mJR>l8r5{TZ-xBH9lEDeq%)%4tJn`CQ{}3~?Ncd9| zezkV$H?>YCGN}h>GO=0#pP#FF(_YYK(PoOq?=zc7TIIHz$6d;RvO}XipIHm5ZsiHo zlAMs^UP3OSb2HH41$GL})e3wMjMbc8pbH+w$RvP*12a1WD0m->boNL{!3LVbvnD}$UQo-c65KAJBNxeWj+XlEDMgiJQ@DpWbmAdw0d73G!iCaW73Hj&o= zVH0a15XAG4PSWV~wra2TRc*LC*{RNRJM#)lVhS6=-L539eg zc%?=`XB+tSI-A=_Y`AB{E~W|>J_#cvNygddsAnkltb(vr5Gk+<@I%=TsE3>gG1i!0 z#>}tn8>@haIw2?$iF5Cxy+3jrj`O-`Lt3?2}jP*+7bgh?cW6(#{j z%!(W8HrO-g1gDr;_EsnIqn8a{S*>b?SAP;WX%4SN7xOGLDJ$T*H9TaHQ8fAet{^#XCb*6CK`^OCvtjZ< zNX&~&P2_13^sk2Qd_&!7Fi=_$bf=r?PJ1ZTc~DTg!2B|e{1O6+zZySIA}b11E#aWR zdp|C+;}?}=!6*Q63~B z)1=~Tk^}w?d%T;o=*9IUwWk;Fl`#9F7lTNKUUE0SlV+1R;{ zWU;Yg_(ZG;9bLe>;QZlVG{ia#i#Juqx1u-3b;C|R$>Go(M8JW=p&rbf=Wxi1osJmK z^EMRmybald*4fs`rPeHozU4u|_vsReYavg=W@~JxR-S7p*U29AniZ4cC96PhuK-Nk zvF!?UHU)HZHmkq~^`-?1w2+YH8;2HhOo8vUF0e3N;Q4k1a!mnw=F4iKE?r<=y8>NI zfzJVntODn!3tZl=Kvz>>RqFzM(*?vJv>pTcEoSLgtqXiSI~cSSC#?(QQ((%(tnNIY z&iqemX`Q*7GM}E6`Ob9a2ij%suCB~H2>jiaJ}=KuAkd}3E>>;GTxOLePMo`j?DzOG zU5VoLrQir8pT(J?!4XKiP!1ln3kCMZnKirePXB$JSPtIj^X^_Lo-E7niZy$ZPO%)& zYDlh;CzwVnb_w5PA5;{L_b4VXMRucO!e|-;M=Ryl!X0)#7OAr0@NHSe6kss)v7K5a z)%_&9Y&#bpI~$e(D_9OL3aff1>Q+ z>-VZP>vobcaO95MMUZaPQYf zGPN*n3z;pPstmxX%5rjZ0Nf5kzgIrG|4}50k3JYIWmbcgc!I9#0yrkD4Ls=xyh63> zUWDEga+}9uZ!jMpHDtS@<~dBlzQ`vMILSq^hIO%>eXQA&jcs+KX}f1mUH5H4bI zd4Ir9{V8v9oBC+B7!9{&qq@F-^I41{zB{nptrshJQsczi2cYyqo$rk&?H8 zAW_O;F6z(VN%vKkVYFbyX98OOMg7Us(JOiv^|`8+*_>A0wPdOcZ#B`~xbKET0?9et zhme3ngrQ`TXFz9@lelO*rZbbxxZdQ_6HYO5BB(`YuI9y-xMMjFTovk31}#3ntP{3D z1;g`KVa8KEaUzakA0)X_BzuuJ814F6!`HZBr15)iO$F1f{W@sv*1fehx%x_4o6^2D z4ncl{9Cn2J!friUh}fR*RUPksG5~ncE_=(GS(U?xe4`|KiRBRt2dHo}+e-4bfT3V- z49ve$y~;s1V;&%!^;gZ(5! z(Z8B#^71b9j4O#?YRN(*aMS_A9N}PS&3kM&jP&g~{>uPsY!@Cx0}is22cBy;zMT_I z^zW5LB~r^GgFdrrjdUTr#!j45BD6L)moXMp2jZwn z5Yk{C&w}s%8iBr=dz)2PEcV6k@I8nBkcZRZ57<1LfJQ5s?I z8Jyg>Zy*0|Nv5ECnL;Bmho)fGZpkidL^TZzGpwO8 zS^LE-Z-eq@oq2V<&tQwp5jPrdF8j#c2%DwT*`TDoHn!_q)~rpeOU~*c-K^M;!Nu zmOKh&^|ujP0O>gkSa`mja^q-DjWzd$&3=-wFB%_cpiFzqXbc1*0nub3KJ;>7h}&>A9(VmjvHUr40p(rM!%R&$hl~^gUE= zB?atyE1ol~2>uSZuFpA@W&Mo{C#0lPv?L|Ty&7?mOA$0l`_xy`HNdwr=9K=s4xEizK%!A zYMoGYTfzMiPmy@4`GpL|P2f|9y;uQq_&)erB1j1Z%qp&i&^w3UFBI68wsYORWf=gm z=S=7w9z?265EcU=Q>0At~qTiH1`y8wxJl{HDYxX_*-fpq2 zx~9YQJ&0-Q$$Aa<pkVHg`pC})6A%>h;RmK+q)ekJeH)Fg8cnkt*VEWeV6KlU}C zzJBFa1$gAN-;rxc|18JJ$ncILXJ$Thmg8lEdD-RGV|D|M`r_7%V@ctxH+WCuANLl> zOJ(wDxs`l^yUu{h9_`5n9z#`!>R6^W5CPcn&r*e}e+SKrZ{bQoS<0};Pb*)r<7XX2 zi|*X*Y`-+AmS6eiKT$rK=us@|@FMqNF4KU=0`ye-lQgaw!yagZYY;Mlo{lFWtH?Q- zB85UStuY#6CW;t6HE1-;dF7#*VhV}YrWnE|img#X>tgRzr#tvS`(lWkD0Wx-Vh?4C zO=@2Z!4t(UZ(poBQ*2QCVu+t8X58?%?&N8iVx8I-Ll8x=&j8UjW9ynJ_JUGd&mN7a7jy9nb3&=%gIN8!`t61Kt(O$T zoVmbD?upW5A+(@5_eI&di5i->i_F`KK$imU5BUxuy=ZS9zO4He-BGhmq}w8yYPJKu zHX^l^@grSNPUpw3a+^iuHxhqSHE~>cmV0os90x(ZG|0aYgU2^6 zF6m@e5uF7nEmQo zU1&U_1R9F*_~)*KoTTNTt#DvxG$`&TM5r~%k>qd`Gt1!Y@by?Jq`TwHIXPu`9y18C ziRRMPhzwW@zid@oCvFz~iOS^vb0;U7O1$vt5G7lXpjTSjMf&5OOt0{=(Lzl)y>@rd zWfh?J4J0dzsAUtsKDC@d4so>&d~&|`3~Ra_6G-EIO~&eKN?zKvBuLRdvt}-pmyBfY zp#%M;G>W1A5<`aHms1Xr=mO`HP1rW2o;T3YYAKaHb{DJ6B=oN*Hj%D2eE;W%CGA^f zC_Z~3?I6?r^RJAeg~))bQ%xAmRP7hrd16(5Z09BTJvHha`V~z~Du@m)twy3qoABYk z`4)Wmiih(I9AnW}kvHeS;xpaeYJOYVaN~4?pljnaAF(eOy8G9jaOFFHfWuGbKem%dnRmuPV!A%iqQ%s#$zJxhp^e?cEWYhco`B$^72*@NXrkjj)OS5qQ076s zd#l+3cbnUrc#T&re$M~`vqnwKIl?}{x zuN<`1s+&sgYgw10jRBB z#2)nbsBNi{Gdb=Q%}@4XA6^m_jmPg%WRt%RV%`_p^(pR7c?UYqln zx|!bfG&Y}iNwnvh@BX1znzq`LAq#FF&RMY(*U&F9TTU21O_R4+GpBkqc~+?pW5!DJ zHeEtCg9$&6pA?RZB9b7t3)hP_FDrXp*<$zP`D4aMVW}a=D;BZ+La|+<%IDk~+YMEg zupj#R<6np>_xPn9-k#bV+a;>JOH_FmRJqQt2S9`|8C;T~%3bM}bJBxZa0*qfKd^*& z5qA8C5arK!GKQ>2PzQU+^cp2vPAMd~@#+j^W>@d1-fSrIpMI2~%s2vlw|TR+s{HZ8 zyHsBp8MK8nkVx~zAfMPSNOL1g7~2JDew|IJCffHjc_KZne;});%W_J37-RShQ)PG> z_cyepMrP(vznSmDcrZOTlO4v8(x2}SUP)8w36Q<91u~nhE^9@h4IbRmGoa9QMW&Cf zF`%4%gYMnA{}fQ8sush17^6xv%z4XmidiWxqKaSM!jT|gm(vgpyDU)*?DAp!7-KQ> z`;>3d`H->b^g(@x&jE5h$;1cDnS6i;Q8D8%0-?$)eh!S)xQ(f{`B#Hm9c;ExdDawUSSh=r zEzYWSJ|%u!J15h_c5*SoPOiaMOWC{LB)_uO+db`pq~>^l;pB(6#~N_*y8s<1 z(-;a1M-~|_^9RV`T5=5GFe!Z+&ddz=yQYZ ziO#FXY5dv4IitRR$2|OPv=i{~cZ|4HG{(n74K(jmy==OYhB^agT|=kc!g8ysnBy3=@9`Rh#L3n1?n@{E9Vc^x!e^ zo+SC?a&op~;$O%QP(*DfGKhq%U%}3r?;+ zEnRRq38t>&Ou@&3f>(k`a?lhHEW^9(avS$_C<4vRGF#4{5Bp~SD+ zmdJB&H6{FuF+f&%Ac)eWN)V+ttfNuy?JyaLaNIvgRJ^xr0a9_#VnPJ9 zOT>cMaRff@sk=Pp+KnO43b^d4l5P35;f=0DS5C|c);s^Wd!$alolf04SR=y=B6rc` zPja8!02COZ3;{b}`c4+x2C0PqIn4{jQsmwXQ4%Xxz_M~eA(B&tSjCX@4a3$QgH2}y zbI&qC2lGTOV|<0$Psf(t0t%$*MJi1vOH3_D>?LkeW_Rps(5y$osD*f$X-*IB<9riz zKFn`m36+kVfnD8N_Xh1(jEw4*@L&wY6f@&KePyP`;@&4B8&UY=kQk?1cIRCn3_@HcMwBKhK?!CnI?`Xdjcvi4xeMXkDl_*uSf@X}VCQJ<%Y-LO^rd804 zAu`8!kZFkin{hMl?JujU7XRMvt1Jn~heh)OXOt2+qcZG7!#Ty6Ug3f%n#d_0IVXpM zK!cpXFT}F90pIkkLT8NeLT9Wop)+QvM(i?VkY@LL!9EW2zbMf&etfKno^cJU1aW!i z0#rVDw%l>wt}&o~Yi?t3|Dgzt-D-SNcF+PcW$&QtX_pTtw3tXQFA0t-8>-Sw84UR>OLFlO6lybi8e0 zL%!~Pll{QcP&{F2*(#dGxF6;e`_VMQ8?%CG_>I=*=4!;lipK`QG{$+sG;p-V9Qg4x z4&~63VWR}68jQbTaz7m#1k#ueP%DtehnuXBTgQuB=z{C_8biZ=`U)D6t0Ei_xg7@3 zh=d(4c!hD@9wox0r`+S(?D$vN5x4W_f7OgTeLV{|}2@l6t`**eOnqkrYWr=wc|M^VaY&Y)Mw`FAg8k_>Lk7VsM~zXqm^ z%UcA7@-VD38bxR%acV_k6z7dS2;QXJQc%6s| zdMSLeNTH^rTyRR)((t!U!-Y@r+4IiWS6_?u6~sJO`!G%5+6b`RU*LI6xtgfIRjvj; z1ol4ekI2>0wG~4?n13e^23jvo#w_kp!`R~+I1W%Z(rcQ3KkeU+JKk|@ccF~HLRs6-Q`clR_Bht2V>e$B~U zx4Ca{+iOJ~ORGclD5DT>e~+fr^a<*3eqpgx?Z0)~Yt~1agT3|4A+Z(hpX7F9aK#BK9$g$d#;$=PZ<;! zW^p=DjLFVDv>Yxo&e)^)Fv`B3?A<2!$%KYU*WB4o$hTSbQP4F9r&bUehQ1(9LI#yrUT z=)`~{BAMVY;T@5uGQQv5CpJvvsf_Qp53IU>!0!A{V#AE7%!&ARh==}vkcI}8vr65@LaHyuonm{hN+2T+xbN3Ws~>k$RUiYEV^TEo0qwVi-N z<1l0+Q-hJte<4sz5e%mB?exD56r)IBo-ewGOEs>&1&Y}y=G+Su^RnU7y+AR)qeCvP z!*C21#3=G$bE3GhH_h@?#{a2e?L)>ymIUA!4R0f4Ok_z096z?|zVyK{`n5yGyz7OG zd5%8A%bZ7GFcjEu9ADV6kNmJPsl3U@WXCQ#L?9y|GJ#{x7iLnx_ zMQ{|y-ZOR!uBIBdNE5Kd5OUJMvZKe`2j4m>$@K%`L(&CIiA@&(&R%NCi(q6LoV>_@ zst259B|dO|$Rt~jzt;H9*Nq_)9rSsJF=T2_FtE8-XaQ~&k|h(w$Q*V?h3_*VWE8|m z)`kQzdZU%&vC8C6y$CY9C$ICpC_bZn3TU(jp!49gD~)4B{agbn(1!&u3YqXpCV))J zz1Ki%b{&gUk%<#Co3v&E$gnQ%j|IL|;!#Tsss+OECx%*%LMHeOA3{r*z>qWMQMiZq zX*|Oh{2Lm(lML1{G15x8Cgq)+%33&CDMZ?`NO(JkDl2x`{-DV)F>PM1sQET$uC0gA z9%^gFKwLJt*}Y9?+ZguQbwiaio*EwCiIFF!84nqzNJN8 z`x=-lX*F98W%65=XT?Vgj378VSi@HslavgnuL~nMbn(bE+fTwdy5Qd~9s@=VlQ@})tM`l31na|}EvSy9P>xb@~xI3|{NZaBg-PuMZI(*5n zUMB1wzP+z_fqBOmlV7n#GOV|Hp*hrdjOSIZ`an3?%OPqa?E2ume~oA9zEib&7j0Eo zm5HZPVRO+o>-vQnv@?=qV+8M9x=NGiYlZJaE11y=-_Cdh6J9y*`m-!fH7NA~%NZj; z5HW91UVc~bJ16&?4RBxru2kWO8+;Dz7Lx-ng-oY;Jm)J6azLo&Uk!%l{zVK7&1D*N z9YU{w)e|#5FzbRv{G@bu1KUR#$i}xByJdA*);`{HAM`}4O>p+#*aVx8(*&JzKyUw4 zK>=sekGMBG;vc@Auj&YC$)@&BYsjYb)QU`EX5G11QmXy0WWWPcCmCP9Yq&Hua{WR? zC+5aD%F&Zhh2VG?fU;t<3e=-{#m_Pu@fD3ummUr70I{+(TEjPdKRGwt%?idhxTgV% znL8_FsP{Ac`fpx_!v(8*x$ubPTD+Tfhqzp$OPhG_{;V*)v%h^Bq%8;D(dQ z<6W_CwCZZ)i6>(`!D@v(M^Mkh83(L1{R$5eLlR zSaU^AOuONaKE#5;i_LZaFcX_=XPa0s4dnbvf4%HoK*9IdtC%#mp-V9C)&3vE<~o+P zpn5N=m&R9}y5a-2=!U-g0k{gMv7t$lx=TrdeLrdURFaTM9S6T7T@;p3^`2v*oMQ1w zesr#7l#rX*5JENVd85P8Wq==R_$>S0{=6G~vTAM}l}lSoM}~1=w_Jcf3STAv;z4LG z)2IJ>OqL)%2?4v>#AHzqBk9mwGA&VctT_1SsQW4{FfQw{~v?0bR3&29h5~Y%0+NH9h&RRHC#PEEt(F>vcI`5 z-YO`IfsZzkxh|~ogR-bX1nVX=m#I7m&4r60?uCBM&|K-DESSTZpe(A&56#skD9Z$` ztrwch&m`Z5dk@M|QOJmKWT;VSt+nk;N4>~g1ZA-YPvq`*or%rmhhBK< zbdPhR-s=$p19d31Y&=p))9J)v#U>^T{-bpvv=`l2RL+zVuFLexTq}CKC7=w1TT!eo zGYcI!zt5hXe+J!gZxTIhZRmAhKK-hlhEixw?s_~=%h0Q94O%t{z7izrJfkE?}(XxVn8u;W^OVX8E!MV4SNUIxD;@%`* z2Rtq!ihPUx=F~qWF0*6lokz|;f(0^gY8phM$eO1Ek=d!j-~QMHA{*N>9gRftm*iUH z`5s5X&@K?!ID4Og$b1>!w(0iX!;hImS}0V+3``9Ik>&4VTC>BDjj{Wlpo zs8G7Nx3HmwCJb3X`CeqR8p=m9lgyk-&P2O1f`y8_0 zNgZh6-w8*yUOF%%!_7qEY+?vjZH4J?yQq}UXtxDO){wr91}4!wt{FCH_mtBrlf_5k zF%FmWa&L`kbap^8%|G4@T1BP2_!>j|?lWk+4ejG53}GqD)s;lmOQEc|l!%pI3MnvU zPcJZ~c~3{C{73Z@#1XriyOu`^aDB>VVv<#ccNh(diA?!LN93;(c}@_Rk`T_zvtyE- zAW-O#{4GUWE2m#JaeE+tAxIvfDW8E9h1?ha@97`Y-G*H~oB8U9{(X0^^zS=}SWw8k z-5L6K=fSP%A6t4K^iMr#P5=1P0sT`=hW>RkkOQ?LpP_%Gw55L@-7`@sg>=*fMI;m9 zd*RfM3E#inkC{xpp?X>UkPvUoaR~RlfMolDkb{6^bCBQ!bkBPHDT55<(xdiF5=@}+ z1{0?8(Hspd68~7Cgj$8EG~ZziBJu6fLCXnK*`1Ow9^1oA{9A{HLRsRgU);mV{aDV# z(fA5Ciea(XX1aDM~^1=mwfY9ge)N^^*dJNc2)^J>g+C=GxWYRv_B%Rv*a-fk8Qoge^rIU(%%}? z$X)tY>NWC6?$>YRm*jOWQX`*81ewfzZy$v-p1u!I|Bg`6MHI~%@P6vceX5R4!F3NV zffxns@-VB-&Z#JJi;ym6>zqekC?;%^^Ym{i`a_D!sqhGl|69Ay9e|ahsnpzzk{?}e z08DyNc3Qi|wTTRHbPt(J0J!OOyCSIy65#woi}c6cj?fH&#@jiWd2(_uLZI>ezbb*l zyxEA$oYFbEt-j4Y@!>!qrBoT$;t<<8_jgKda(j^)OL1Z0aaN)tzB7`(v4HbVguV0m zjK@xU5W)8*;vTf_M}MXn_)O$DxM-HsTK_@~ER#3`51vOG*;*tcTf_9uzoKzxoc+d2 z1EX<%^jDm%w*g~2S!=rK>yF(J0Nh>}hu~5(CUKMw>23`Ew_{s&Lthc*HPN7Yt6oZn ztzxRzqzil0Zu=8f8iUb+wBpLAol4X*=6+7@@TDF{UR`B4@~S?qx$$M=`(o6z2m4BQ z*I!!0NZ$)Q82Q!Rz{qgO&E7a@_iTR|4X=He#C>1MYk!mMu@u(<*9$cfwJg@?xiQA! zWr2xI@fW9D3cALedBmIp2c^R;miXZoM<)+6;TEw!`mVw)R>pTD)US-MSExly zsPIX&9uyDPQ9QPTAd9OW^9(06pYnPeAZ%Bcpo)A!|6TL85`^rugR8DeFDXk>N)fYo zDl2rRwK3+BCIN|30S_u+ehITFY$_dXW*^d>cJ(UwO4?gDxQS~wzA1a|NsZeNJ2 z6M3CnNsxc1Lp^h^>g+_my=JqKPgNqT6iUF7?)oBRwyDCA-#3Ra_hh9YD?>+8w?Qxq z+et=ti99=asG5En7!)jeJLSlrXU_ClSsUXK6e8~1zM-RXYr~a)-Md#eJ|~=y7GB!9 znjyW>(i9Th!Ve`mq56HP;U~CZzL`*xZ!`n0E8XY$@lDn5Kw*L=d8`*z@|R$ZAgW|i z>K*XPL)a;1MV0(Eh=MB{Itnc=ArR5K_$hUPM9)?vtZQ#9f@(|#*o&z!`sskPa35Qs>WS9nbp0(@>k}9p><2&s zR&21(r94Za_%=_|kcUXYmQZ73Z1d?7YH<2`3>mX-8TqoP!VmJgL8@uw56`axta3p70MZ#A_KJh$ocCxX(L`kY1`cdEoQpM)K+jB3PPK;SE1f7y}}C z87az^%Q$Qek1z28QtolT2?b~!kkacP9WV1b-Z~&dE2SdN%!Mtvg(8aAe9rPXoFhQLY-=!IT*=GTL+`LB(y#l@u9# z;?sN7)SvOCQ5$;CduleHUbC{M{wxTbr_&KKC~yv)zcq#8@sUPh2RPVhg4=EZw{>{U z)|3g5DO8f@{tcGt>qp=u2=f_iZa)GiF*%9XtI)l#M#9hXR#X{(RhA;yI%Ngn93qVP zAOmU_htp0Y^+@xADMGghNhh(t*+2Tv%t{=>AaQwY?OXe0Cg`&=Yo?7?mCQ?orQR{J1LFCt;Ya z5S=0}L5R-4`DqZU^G!25ec8bOS&S(^*jJ^QlLm}`pKG91D4R5;Z9;WE#@ZXR5ML%` zho5R6s`CSiw+kP)&NZj-ZZULz=)oH6?F@q36wha2PGexR%jdfv zfw_z%x>P29?%UV=0gPrG-cO_!nCRU3uV4f7493{75k@@lS09Ipj*E?uc;GR<1qKb9 z{B*-+_y!GEQrQ#b6mXB;DI)5Q;AgS<@Dfj6(mlIO(zE($Q55Pe5_KIV0jiOE8G%_3 z;6h-MEim&!n|@C9M)D5I)wWZay@WP3Du%4kreoWMHbuR#*U+Y&1+0E()2%e>U5ELI zCxtd0XF{8Xv-0dB#mJ`I9X$D=P4f&^ACi{|Ynlf!jV5ynT7@(n4bNdhnvURMuOUtQ zkr+gq)3DPaO<$ow6Vg;fE)#W5ljldB(x7{ z(sW$AkfyVDXfeHzrsMpOrsD!rts-+IRXo#2jg4^Z)$TL)c=1dtC}(q+#IJtG@l40L z{mEkDneHdvIXQI8M*#Xmj00b1HKGQsarrWq!ffc<$l~GhcaQon;qsWlThB^z+Q1A$ z)C}Hwc03voJq6Z;ZK9aom&WD3G2x2=ouI&!9vufY%Q-_Rim3@;x`kc^ z0ZhdS*d7A^q^ikG$q$SH%6}5~(?{T!n~B&50{;|zwGTXJ#lED+9U$=c`HWnC_lHGZ zkUhoz+fQ;~O8}f4`r~GR-~rjV=-9^HP#!bqToa+w3om^go%nx))^qng+^T2OqQzQw+NkX8TW9SJX6#F#?v zJM?$4jDJ1TA9No!3bymOEa*ico#62%D>Yg_0I7*f8bl%W;ChY$$NvIcpYnC!`Y z6Ry|M;|}0j2tbzs0oiMHH&3FObR^IB%_e=CEdLFNowyH1r0T+b3}WBV`e!6>VnP(o zbLd|`08$TRZaNO~mu$SO9&ij`rhY7`60XF9X>3Krx0Sy1&o`8Da zCIC*kQyMrq2*8?SSzLw*>Kf8v%@67dhXI8)DmlJ-L0x|f;YpKOzV0okt4apsl}Gm; zSR6yJz9-_A9C|bp<2X_aoNH!Bw%v7ocAK%D%#RLcM$S9n*L#=qx~FiUPv`9RRXInK z6Wy%wt~c(Fl#1=biOn-eiWW`NPBTFg7D#XuoCv#5M$Gv1J#c1VSGn`K6k(Dqn^y>m zq1r+)*@_EUo_LOl5cN$PZ`IyKhB>*%J!Awb&c)yJB;)6xV{q$8`ucSpTJ`fex$peh ztLFf}o_y+Qo|vs|**H`=TAa~!TNI`>{%VEiS?)5Hn>X{~9dDByZ!4Z+;>qtj8A}x& zHCn|nuHdu&)p#Z=@7>Ws-j-1v=8gYCEiHAQG01D_@c7o@@%M+t-*crmcQ4eRbG;-@ za{+9c^X{F};qlRlqhC^#S5nHAvPvn(DCN3L%6z3PP)ZM_T;Qd+d6`-jYRkE_E=yn> zp2LY)_7=`DQemwYdX6u}%o@cXejB|e>lv|gA;sLkd+7?`x8^+)Aof1KzzVt}y%Ym+ z%Kl&+S#oVlb#L8f)_{N%XWey(@gEPn)nw+Eg9J7QBuc&HwA5+`wzvueH2NH|gnI)$#?SBd^;tQ=7ok`3~9C!#r*K{mCR< zCp{Xgip-F&pw{My(<9SZgBpLSp897~g?o=zwF<~_z0+9*E_Yu4O}clcrGGIOo?W(y zD(yU(Ntd<0^F_?-{WjJ944IqPICo_7m^#MNXmg=cllg4=Qo-l6-S`o7$L*;jze+(-DM>B23pR3(~w@djphqel^hxW7?GHRb-*%WX0}Rb0cHbLh3qynx^R1%LdR zA17!kpzrS8%JUvds_Zp6MkzCu@&YN%M8aOGDi`rZ|8S=>ta#E?6gvF)F^#`#Cy4)( zDm>1{_jILSAn@husiLd6TJQDPP7u{Ntei!DPL{zqWqW8QU}pS?Ht*N0-qNo3ZdOX5 zv@6n)kL>C~-5sgIU#TxJI!UuWP>!>!x~Xpioz=5aDdRr-DD^{w$+*w9G!`^Ga-Th6 zq^I<&*|I6+torqqtng@aE537HB>qlhMzd76guD$EP>b*6C_3nk>VMg>e{tjabKR&W zrkUK6=WNiN>A?veb_NfOhoo3Txjl3s6;`jFle_j0x&X^ds&M&PbOa?ux!iRoFeff-4U;qQ!t%* zgFF9roG^OjdB>B;mr*;4LUJ9j()bS;Z%u5pN_v*vZH250*K(BojW<84$w~b@d&F}q zF0A-Y#RV1TpT}C)sIvIy6<%n_*q&6?p=Awc#Rr_MG0k{R$!Qns3~ooN@DC$QudLej zrYNJsNlIQtqDu-#SugP|k$d)ieK8;CjMr~ok=H~ApHj*vEaiCTxEnWH8sN;safyJ6 zJ~vqXhRNX?Qv}8kXcdqcaZH!qWREM) zW)<-+?s3Q~P^m@YU936@Hdx?P;kSkpz9pL?=-Ko;(15 zCo`F~lLs;}lEBnS?3F59No#to6$vp6SQc<^=3657+IxK9{*+e_xX}sy!OOkFtyd0gi!DEo$6}HFb`=vCTQrLnQH>H}0oN^i@4++qQI|9b%V zPCR9yn7eKD{vp67xR2F$Q=W!>SdhYoL7P=}hilcx$si!W3hF95QdO z`{UvAR{LYYU98O&ROGyO+m=*pWv95a&H9_%Ow_JmjPYk*FL>VnuyIg;3f$PDmRuNVHcc^ADG_8sI@mt*Q-l&`_o+><=vBd`FR4o!%XCOKa%GkE-e|!KaaYcN|qyJEVkver4 z(%?BvIc#eY{=IG%5;PDnn|?i*Q*~&%2Q$dNm@Z9M50ba0T$PFgK5a1FBzz}eL zhWy6QERCN%z>ols=m|xniQf0HHiuK?9u$GVv+&GS4|{m##P`56*Wa2=U=4kRy2k!x zV`3s?gR_;E8GokQ0%DZ%quJHi*d4;JVt%FvnCE^z3#{{Gg;KwqH*A)$Dd2%kU;i7O z=Ab{*8J@vZFPI$9;nSk4Rre=eDiU2Q5~Dj;a2bt1ImOZV6s$xqXNOGb9q=l)#&>DO zWlJ+hNCU!l98pNm&d=a}D2{`e*ttyHs1(m_4WyUL(cK%=W&lrb$CPox7n$}F@UjquE5Dl zXmQT^$(Gcd+&k}1Be^75gyhbrhcAt8i{wt<(iX{$x3;b{s|rM})rv#y3q30D z^=yypGOmiVP}!R5?8OBBThWhc>=Ham>2AdWx*FxYqDCqc{VEgR$AVe6)skqe7I*{Lr#0bPTovXiZ$1lsnyeWPpjFzg+g1IR6zD1GvOHqY~A5tu& zCL>cBXuiCIHIQtB_ZIB2_`#X;5Dso~N)?Ga_)!yjEoz?W6&-ruU}pWow>MF2(HN$k z;D(*7Sv@#qZL?D&w^=v8A-!U3`8GQ-k_m!C;k!j_cj`1Uwz7t871rPO!~BXbrfYU0 zciCMm$C@U=U|l!9mwiM$tr0o3ymsd`LLjrs#I?Q8O7{4OHWiBzOpi12HCEj>NUt1x zZC-WHNb=`-&P14HWf$NSoE7ikAgZa1U)x*3S_qhudx=`ozSh6#cHIiAZYT0`f<4ae zBF~$(Vbd*?Gnyg*k3rNzW_U?+kvx=Y$LWjVI2V~W^40rad#jgXR|+Gs6f=4|uNBV- zCt_jR+}*P%^BGAz%+`HWg{RmOyYam)T&^dN%c6FzI!H@v)#{jwm&kH%4m4E1)%;+v zfEB3=IM8^jW(=O`q*Z{qmHFjry?$YY%dLKw6i>4HonJi8>StWK@y$+ZAN^KW^?TDV zosLR$PgNvQ9pi*jTU@}4aX9OLG;>knf0VGo2S2O!LjVAeeh}vyR5vO}ldHwK#6TDg z5)`~nxrF|3m^QERkub|GFe7{{bB-dn?prc?VP(gO{hHv6A>N()7nK2Iw=oM6jOV4! z=?$prl^W;kD~Hvc`lZJ;<{gA+9M-d0O0;q&%Def9{f9l6p;jNPo|ZV*2njLVQWZ9< z2i$<4aw59Q?|pdGt0X=EyEB7ftDdF$N4>VDcLv>@!FZXd&jKwv@sb-Si@c>e;LM9W1l*#G^gMmW` zokoIe<}imbg~~8d4W=uc^m2DE(F74iKAF4YUqxnc4W{BQ=57{85z(q5@{?^8b9gCp z=)s?J?Rj}DBhlYLHKK9lntOqwGjFHZvmNeFCB&u^+f0>SXEZgd)lJNJoAisRwduA$ zR`*zNk+b%EGyoeZE;9I8O-st%#Ea8R46FF_F?x;0Pb#m!njQ>2b>bn6 zpy&JV7U|6TEylCtICbaBdf3}@%-T&Rn9&f1f&ZKrsDKL>pQ(idKH>0lo^un`3(bB` zQpK_nIbnA@Pp!Eix(tF$6)qYGU2P&c3P2Q@%DMl-uX7BQsnSuJTeh@&%`Q2C)vCZO zjg^>Uf}Eu-peBuezWK%QoL?qu5kEq8b-GQ4Oiama?(2DzT<<|%Lss3@dIkJdiJd4- z?3Ze+%7w>Bl&06`gkK809yLp16?Cx*2o75Cogy{eq&jGNwfXgIk5yZ#sr4qasqDA_ zWaCq506D0+2p}*!hhb*z9N>bTLs5G4RPi{?!MW#nJ7=5u=v$xx9wxE6#oIYb6gX%* zW$zr}2ffc#Z?DU(3NE4VJ+VBl!DC`4pEh$ljC&ql) znAZ9SOq1KJ&&y|1;3UJ^dLG|GRma*OJ)r|3$|hxsagnzfFkI@2uXOKJnkTlM&m&{g zk4kB^RmzO5l2Yz0eesU}SJ5)QYMfJ4+jmU`9Bo5Y)mfw*tk@eA{ucWz^S`!pXT>xnn9 zc$W7~<#V18Q8P~sWI;(IY;1c2L&8o7&*_X?4%&g7_E>nfuOMx2$TC`Ck^2Fe~06*s$aD;bQK0>N0Sh}CE zz=v@X;275YAhpHcS`c*#Z3G{s2euoOo0X^5M8?IhyGc3Ng`kF~6=UEHO zb7I@B&tHM-ujk!45r5J7+aI>2TG;PQl*}Uj&564APwWWInV=k4fPn*nMB|#3 zWbOqgY-W`JaGn=`P{fq@s|!y@|1*>+3C-n*-HJTbkiq%;S&%1iA#>A}rPz<9;O0+t zmsH_m4$^`AN{7LEO%n)MG-OWh3#zz7gxwTDnHa@as`N&f02mxlFiH1oAl3Q(Jvi4s5gX^xF7)Y&WAAN`!E?H{*vpQX9)WcyW9@7i=?h2ng9;W62y{S(*)i0YR zpD|FKs<7rg*KCFcaD?1J>Ur`Kb?YtXo!^>Z7ga|fm=Ny|p!hNhqm?Od9#!#ZxH&c_ z_o$oFQip@JLqW6OhwNT>dRwW($~QZbI-r4B#B>`F)%F4|Mw%^#s^`K|=JWo~1L3Jw z$+_%G(daA@#3()>oi`qx{;rCIEABszQQyy-G-qk3uZz^()isU(UUXhOW_BSXX zcH@Axo1nNI>Cc!{=wVgQKpvH?I~)2NUz~J^Stfv={cJ=@zVfU&GAFlYPI`r^*$Y~s z(X7y8a;?%zO?K=XU$sK4&e^PvFB3{D;@t6Iimdfma(OlpkutF6hHs@p)s=SY<+27M zTZgJR4RUF2S@p-ZoK8MB5OyT@h4+iho}h)V5Nke0E@$lZ@G!~T#;;Z4&nj^YCB_?m zrWHNg*;$LP;IiUtVyCfhIzvFT-^W|iVJ6I9$iU;X#jF4EWb#{epXCaFoX~XLa^bVF-qCGg-Auj?>4cXq!~a#~AugzuedBn@&Flgy*TXGEda$M= z6ZBeE3%1>zdL-{Dx4TQckq^65p6O<-xqn7}FRr|KXaHxLhXujI{NQ13@K6&xObQ;v z$(vGRf`{_pp)`0X3LXlAhfwgajn0=f7?WwFh%L>%ts~1r<@JyD*iM3E2s3tZAwE=f zCQgN{``1^*S5!1Qojq&y$hyrHv8IBS#`1_Yd{-22k7xD0A*c7KzR{e5NdB&>MddYn zU4ntJ`glbL|p31hj7Sr+q(e>|3s9RSB-@c4tL&ne*b$;?+eA`0<6~44R&nX>G8&v zjZfg$C}gjDJCe9X)t!|b@E1N1LuCtB&~CPqJ#NNGGM`(7SJ>fC?C=W+^{(+UxFixk zawG1juD54AyG->YaH<~L1DQU89@>e@ffD-7l+aJYAY!%~Q1s+MW^Kf)n}??0VRi7( z5Iigh9_9xRbAyMP;9*kmFfMo)6Fig#4@JR4LGTdbfw0}X>3U~=zvMTE-_d*y+l#~g zKS^;-S?<7=C@DPNx-NJ74OR#oQd?ZcC-X2kcsM6`xR?h-qqo%X8{5^*sym$(w-#P7 z&03hOp|SdCu~oCXb5(xLZoG{SB(ZE|%kWSbg9&ZTbNFBU{xl-2LY zLo_iQj?)u@RXkNr_GsdoF_GApoz&YqRlN4w6t5t@x>b7$Pm~~nMQw2nX_0=H0n>{5S-0>> zr|SmFN8+;{XHB%8^Lf@}t6iO^8SGqtaPz&_1-w?q|FFn> zMchk{20hPsPDnrNgu=;n%>LN0oQx*JJ&-ha6U-9RF&w_{x=JBp(6Re50v~S2) zh5%fLQ=5=@A-@Z1%GN4QH7%}B+BF8h?Wl-1WN=%9(=~(JRsrEF8aLpm!N*rE~Qr*}R7KQFfyzU+^%z|KFv zNAE_bplmHcPgH1GcA*Ee%Pebb(yZjDOipk21~`i+g{R%~=r1;GMIrYMo+6ybp|Atx zB<2azV-AGna~?DMuVxRJp&ygM)^b0jaBNpkt9B7wxN)4#>0=T| zzpHigp_%%9C1)#G@HdH}w$$aRd@v~_pSxav*6PndIO)ID_{6Y$ zVGT6Ps(pa`@qg4b*5H^SV%@*GykTos<|&nilEx2mm_pRWOw;fc(Z0im^p5t84k@V2 zZ;WpTw5k_nMr+4bbz1y4YJ?HWImZ*n0OUx#*=#(F=pBiVDvEG?B2Or?ybE9|k%)yp zh|V!{&OOIqNI4% z%a(6yWgRxGjl94^G<%|n(}DQeGw6YdqBNva)e#Sds}6-AYn$4MnhaeYFuVuZDih=L zA~4XU&fW96VPBT)CiPp$y7?edBUt2=R5Hx55x_;%Lc9DKFg9fQg9sNUO0}5D9`OiL zo^m_9DbktX3z5#A>4JU@&fvF!GJ0RF-|*^4tO3z?kNQaGn~ZE|cKV4Oe5><8SvS~=i6CWWag67HI>%1*$3u627Pu-8 zo(BUq6#^f5vRa+f<6F=_4~x6bLii=Me?ARy+Prx>Ek)y>fQ^bP=}U>~RnVUF>OA4C z4op*<)rp2%zSip4;SDfutc<61(XY2MISYu$9T_}ZD`Ql-*6eq48Mp2dRonwDWnQHF@ZOO`B{N1aGpTB|R={j9ll=v=8uS1VR`yhCi)Bxx2cm7K(SYWM@r}-5>>~j8 z5|;ch?Z6$E6!)hmJ**kMOhpD);1I);Ijn2q!o)YM*ny<=6ojzv4kKDwojwSwfKi(4 zq5J|#NBWtHOs1t)-D!Nl?-qvd853D!Z~X1Zj4#9Bjm4tL5rUDi%D#Q94P5eZ%7w&y zXYy*lW!SmYvhsn?SH07G@LWoYKu`TPF(hkGRAMAq9cIs!t;GzQLhUDW;BLr6Vh$YW|8I3LsnDGi|9AKA8-Dh zU>zymiUo!Jt)l;Xvitus0_-;Z#|pZo(PcGlPL?Gm%o zjdvu84LHg7fDaXM%K!lR z8?dcj#()-W;Y+JhmmB7?@c5p6h@OSX?_aKh-CaQghEUbJmyixj4MQN=&u{(@e5#mZ zHcYS;Bq{TE!*6JzVuo}yMP(nAy*`ZX+#gb?#kXevh@xc;@r?%HIP9y>Bs9nj0pUsiRX2jmRCKelr5ZH{$wx6q8|wSS;b z&A-sJmOH!O_9kH<9Wum6gv?L^cZUXTGQHwwIv~iDrVmG%nF>m*rG!r{Yd*P+PfEqpLJ*O4@3Cij07HDhhl&|5@ls^?XKEV43rM1c_B1u>4X)Q7qZZjs zZ)a{CXllE;F`RVP-1HrGu%_i;P0K;)Y3ad~4H+JHoR*uI7&Rt*ky_?W%{V934-T)2 zw!BGLz1f?oAJR=TQzA?5VLA$!Nm}5iM}qY9BwfW9llcoO6AdVFJ5h{|pwQUm7yBk( z_Bu7Ewx62P4yWeb|72=>h>5?(#FT1c-b|Q@DGes(HjQ+g^L_~vBltEJ@b+>#$J!)& z9`tSzKUKwtNqT#}%)KbC7RnPkH8w{HkE;YX?;OI5go27Z5wX<(fyyC|!& zbF*vzCbdVr+7n*wx20=u9FN+Zvy@>+TlIaUSM^+KV$@+unEKuI(oShgyly+2v&Ny8 z-ZJwuw2#+PzjR9%(voflE`^7v3{~}MKB@V5t`GHVKDPPj=Dy9tn$KuP8jGsj?+P)) zgK2!~W|Zlk$-JL=vK3xg1ezbL^c z#(383t~f#^mKySAtp5(+7_=Y9pl&rc7II>}k#jE22E1!Yu^UT}X6^39r{%+?0!}Tj zt7o0`5BU}*;Wv&UWsKfshIeeDvr(wegNcdl?1JNP^U&3*oymh|qqjd#l$qeyF)f;S zx`twO2?4ll9lrqUg2;qd(>{m^rLok*Cqu(E)!2gIMP zc{^Nx`>*&E^tomiT;lnrRAsOF-El-hCRpZGaFGV zA9Dg+Q_h{R>Q`NBKM74`&p`5!=C^|$%1PfCh@k%2$)}9a(oW7Z-=v-%6+tfi6dbAk z)o2hXyB_5d6K?PVPpk()RK8zV1djqLxc~QO z=DV9sKG$E{5BO~Z z9}g47D~VCd`mN>+R5>H%A8T8~u(#|-s-?X@LaG@o`IrGCti>UOIrr_MlJILvq}Gq| z<7363<4P6fJi2LWRvpn74gEsrCNc}{48cf-KuFeb)cV7L{r0kJIk&1MJ{5d%Z*y)H zXuOf)*myfj#nCBHQQ-g5b@N@M@=}|lBdZ9J!I-k@ql^zn&FBM5iu}ScTmb8B$CJ}Q?-S!+M*{m-%XbG-lAU_U4LpEK;|ME`T9{k*~deA<5A z=zlib&q@C0O8a?}|JiCkZ}vYo+0R@2&m4x8E==}63pMHtq8a_fbB6A$LOGb%<1p}X ztsM_@u8;!)HJ%y>2laQMei;~pSc79QMjZd8@r;(AFR8tyT$KxbnRVJ?($VYB)V)&4 z(w(&uP^Fvr)gMZAF_Yh`PHASYeuF6 zwKf%9w26t=8~cxu@{AL56Q$CGxI98u8;RGBsb&V3k{_$#e*6qi4EUQ0VbtujxHz=! zUXwbM{G7rCn$V$Ojv{*EuYo(9-^zw*+I~b=&R3h}M4HEj=}!Lkt8~hnN(H|y^a=S5 z62h^?k=Q!(IxL!%?^D6?N|nhn<;6up=J#QPUNc8w{u7;eQv=nj!x`R1cqDn%tWW#? z0Fp44SfA{`4!Bz4-3dHdGW{jYYC(&B z2xm@zG`=S`jq^EkxBOE+=4ehzQCkScN=)HoIq>h>j8# z8e(R&8>VgH@29xmt-yWAGf&ziP zZa21bQpa1RBbZf#{AaMNB|>2+;D;+R%xu%1J`L;*5NxRghuY_6Ax3BnoDEkPcvPL> zDK)=$oAv~cZGU8G`psQnFw<5u5HYAgCPtz9?oQlJN_Sk5bha2elOCRe)>i__ldSWR zc)d)Kq@XMbG_KAkx#g4mn%r;0iJ>8`TqL?TzZqhfkf>#7EO_)$M#3GgO~8Vu`~KKh zD!#D2KEa87$UFDiH=+^@IptgrdNaoj6C*!VmWK>p9TB^dPN2cJ>dB9l3RA?5eGK;S>kAwq)`YUtbZ956cr5 zlNjv}j#y4dZs>jj{ppp$I^=!c)SfyK(M>zj+F0IfLtFSQDgO*gY-!Es?M{W8LLkvQ z2HsjpBkkMJeA}UohIVaCnCVHQR1?3p$P)gIMz@VcUmQfXgP6*8tnJu#wFRaP7c^He zpni?Wl&Ae3zO&d%cMu%Dx%RdTCy@ZA$<(mUj zuOtvZ@?PfX)8?{b*nZ}tgeV6b$jbB)1D-T!l~EmKlT1Vb|*S%YffF#iTAHey`5agX94yFMopC7+V~qjD9!LG z=_<{8lT_6pmxfKx(Yz{ArEaf_tzC0L+xE-*5C`j$Op7Q&wZ<;|M=5DXnDKM39e_5b zRokOP{@bk~!weW5qxxk+xZj^fdNb+hh|&Ff3->2$Y>hlWYr=TX@@=T3x0#2ww;Vwc+@wh4I~D-DY{e!<&{`7aOcV_!e)%M7Q~( z!|WRwiZ3#Lqaa$j9sLeNYl zEqQI&(COPgh)?DY7AygZwrwws!vw|A?ha9ay$nYWz1$(t03Bpx^QYTIT@eGJtXx^Jk>OtEk|hnYh5vGl6c3x((5f&H*Lx#M~ z3a{216lMdll1TR4yv=SaRhPx19L7%>-Q@@GfjrS@BE#iwps^?78{gVqNf~vXGG};Q zSiEjua-@L+Yq1vhtqbTqWM?p*!2&(1Kc+3?=cW_?_^GUc##${}z$FsV_(?rA8}W?Z z_;j_^d(22v10T|K`tzxp8-D&Y(I;*!Fl7uOcJjsoEA!|5kH~+G$)A7We?n~|zoWUa zzk?pe9kJu8$?C3;Fl&cWk2Q0y1t9m`I>ME zSPK!BXg%qt?jiUV+N1$WLczk1=RwO6Mo8JSTDx4WEz&S2@(-De$AJXzI%{0ajlQL~ zu7LrXE1ySxAIk2UzvK@SYY71w1x|&%nyz_^=~_2+?Mf=vV%_w*ssx`J#STlx!lOAd zx&0eGA40~%SfYO-;~&YG&Hi4H(38kt2qL}StTTGLE18Epl~)-**eOSE8klB0y|a`_ zvSevROT#*Un2#L3Dfd4qDb=&7Vc+-Wn7N6Fv; z?}fxVRGC>E@1Z7y^B808==@>eE0f`yYm~)W%k`e z73TM(Lhp3eEy5M*qTFB0=+n&KME(P$C%He6|CloNwiyG00%Bm_Jg}r+FlRm@D`1^T zgn)Is4rfr_5qn~jLYvS!*sxcqdSmIF+|wy9FkasNGsQ-z-zu@*7qJhD_lu6%zW4T5hD^Pb{J|?AD%|pE9!M<_TxGME<7sT4n$gHNMUnm?opT@t!e%z0NpWif5~hq-kip0(Yh^ivZ#fo2P?lO0iCv61 zi1t%WMw_X{57UgJ4`H$$sPViN@yH7Hye*P%5|z2iC2xmLIk(ZNHGMnGRDgZ2AWmcM zI8$4?2cXRK05q9~Z7o85Qy;%s9^@k}W$F^<%3qcKO#>BZJOa<#+Af61xTo z5SU1^Dt7k|I(M&SI#|WdeI)KesDANnFhKEpsm7hY$Nwl)*By|}XrB_;iTuA(mDdcT zCVY#kWi}Mb=EHkhk=e8HJAWS6Syr&=Q+SorK8H3er9zu$W|*%+Qv|!|Q$G{boF@6J zfe0`;gm#B3fp#lI-^`pkjp~^gYaBm>QI$!abkO2#eoe=xUP#&9~D~BcDCR6_g2w|Jx1JNzcKg{B&0O)?0n~N;V;`Sos)RU1Z?KK#fW~% z?ooQ(K-1TnG-w9m6WD#+#6HySdrI6**K!uEDIlzeycNEXzH^k3uTXPjv6+Sji=hJjr>i}URdf8hM0yHgst)vz{ed%kp=>~lglIu~uh%qC+nYQk^2Fzw=4$Rja zA~bfv*4t^hq_{LhJQ-f+qoLAzWsB{M3kv%jgpcSJo`1`qZ*f@@< z+e0narh@CfhL-S*AdZlOdI^>IOhT#P3MEj`>@~aps3Etzy-4i(LhxM@ld+|34JRoF z5ELM>!Q6+wu|yOosed-&i-x#eufCJ1OYCAaP+SCXQWYg$UnUY1_~qIVJrKhKxVHH` z)*W5R+&t1`N=xndMc_LvfqR#7)S&u=SIj$el$T222O52U#5JhGiu;7w8+2S&$4^&> zbYvwo+I8r5>vJYiyiC@iW=#@-h5K{;I-o5_;*r*8|z7D zeHxCPDZ6K$Hp9F|?U{8pkvD?jF81y~a?|Oc`lj}PLoCRwRasly`K|O8j+nJJy(^SU zECJh**x*gE!R(8#*ygQcIkOXbDvP7EaB*CjWKU=vosDq!yGlcBv_zSyeI_MzrUDrl z`g!40B+@?#f&0T?liiZLC(lWql{_OkDtVEA_G0O}TDWhc>-kq=;KI~ff>5}1fSjy`~iTUHLd7k?!VQY5vkw{%%>=!OYdajD|mW%2<9Z4)c zU{+OZ0Oyx2d6Dwv_3P$>^aklFG!7bRP0KkAP$IqM9x{_v+evfiT}YA%XcCyfCi0m; zYdWwp9cWGmo=yj5rUNt50X1Wak4*<^(}5A`Kt(!Gnht~rWZ%;aablOT|J8lXL&%VI zUo+h2f4Q%D%3<@mXnLJ`*zH|%_|>h=f7x4`OIT)gYxAKr;RsKH!nZ+a_=@32&X@=; zjbPBgFX%Mk>HO-?+}Q6RI7o;P-&bCL({8!F64Y@en8R5|5OFXO9cAQ*^b)<ZmGOf#d0A#A=G5;i3&)8t$%P#5x-aDEu>A4j23n|$oo^7Y zPV3J)b3+}T&d}%maN=6l|HsW0K=Jm8Rq>l%+{O|wzYtD2*BSy-Uo+ehjur1V+bMr} zd{8f776zv33a{8%S^0q5>aLfu!!qUMa!O$!`ZDEtF;mI00k;`hCU(GVjD1yUX<%xt zvL<>?wu?ui+dJ`|@6d+}zh;j%s^>jU?$?~?ROVIhQOWtY?M_v!`o(QJ78W5zV%x)r z%+g?#v4c(SMdsv(+4Qg5g%y~Z2!{erSQxU~B3V-j$zXvS9%DHNHiM|$I$AzNC}{;X z!$jI*1wISFiNIgK6m?r^mkcH>qE(oaz;!2M7chg5RB*L&idcSuJg%WiPZK30<>6;W zIS>j&UO8c-A0p6Tlo?h=5W(Pg`g5DlRX+K=n8mNnu*qa-G8se(HnzdUUQ4Xls*yop zs~7sYM&@M1l89gPy%cCCmh@GEVe;~z+28vPRnKiZ;?ha9?NeE_Ik>#t5&%RRQa2Ob zzq@t~)CF5Mz4j+G-b9(h+Lq^3}Dw;pc33=DZpsZ zG}NXD+e#6)b2*aC#X1Lppi4D9(az+*xRTnaT*ArDdK2fmj|2#%yT2}@ii4>Fr`r{| z-d$)DB9vVw2;ykx2sfMXb%kd3;ZMmuul%dj$%&pib@_dIAkDVmoh~IGa1r?pcQr_p~%uvDY zv6S$JGAWruI~lZOBsq)}^!M&-Un5)jV7RNwtPswe;4y=F#SOre3ZAoC8e^~d%t{OYCZh0t&Tj^u`b!e2WjdfG)`*l#ypPABZ*Us zobuNrf$G--jnf49FE~@5!I`=f``$lRH(eP&*_MglC;@8x&E~5hInUNQ;Ym7iCg6DA ziGkXF);-t`+6}J>+MU6xeQQT}y$k6Cl|D!*?_n|!Ua0WBHvGE6w-auYcdX;#txi1P z#P6Ib#K$<2iBD!*;BW~4M%~_W$T0OOQW^&Q;-$cEA0x!GC`A6g1t-V3?*?Az+Sokt zR42N~!ToWolZdc)GHUq|2cj^r^!~ioVWt~9=AR|@KatO!*ze0!#q`(Ydir483*?=E zYm7ky){Gwzi4UX-_D7>=2pVtTGn={<~H#%18vLNZo94EeOE!AzWo;X>3Q1azJ5P5Y?mq7~Eytfw3kw)O%|jYFCfZ$VJv*90nXQ!a zk@&~U+A>2ZDQM+Pra_|H??I?p_I}?S{jO8su9kupI{g)EbWG)|FMm6K)wev(^m)%d z&D?Bb>8oa+Ce^ZVbXliJ9M6#P zxG=Lj(ojrA`p(P4C6vS_lIzFWllrOO$}=&H+)r56L?}__)WJuwrR^sXVlh6 z?&}nDwyY1w-d4}ItfxG$6V>GM$j7_f>w99G^X5iV^IGFYhML#%dF)$tq(*2EZ{lg0TFOgC+Fq{GZNn`q!%f_g)Fsx+f90|b z3D14?75f*7HHWvX({Z)BvyM^dteZoILT4iy>7Eh&i*3WIBz<2m_HK1zK#z3Ecd8P3 zFF7q=c24v>p7^^ex2ze$^;oRf?{2OPwG6>qnF0*XG8(AF43oyxjNjnrYza*RvF)@v z;V(lPF`z1^H$!4*+u&=J4cqd~@WZk0AYQ&Vf6K2J+ubddn^z4f@JycHHCL+at-?g^ zmw^|yI=Nf))MWFuUr*)KUZ%7oSi6auyyW3q5}g$#&RH0kHq6Eky0P$^->7D?o}?%S ztHtf^47_{X0w*x-xJ*wohD(|X#E$@kn#w!Q4fput#;PutUeJUBI%4|4`EB^CH30^T&a zq@{xO`~;@u^RJaiqN!2i$5h6a){Oe{)I{+yLz*^B>=KS{+v}!_Y7$o!OL1H{?&gyd zdHshc`t>*Fu>CN$U*c{Hbwl$y;0R0=j^LYpJ36sc@K2u}nuBT8fTMK_8#CSLqN420 zcQm!TSz@EBQ_0)Hxf{c|n2r4CK1F3inl{&;jxc+`=%v;9IY*a9aU*A(Hz;M2>Dg#B#BFZqKWXzMZPPeDSHj>ygvqGXK5aUT#YSQ*O%y?p{$u z+pjv&S78DNq?y2KXUnIS2@o($U_m(dd&>lF&M<)m9hm^dU;=MtF@dEux$Au1kB#X{samexZQwU8^j#sD zx8%G#7W}s)yyaud;Z5|GkHZEvox&|%Cp1oIp+p)iM=C_tmd`s~x!{3Z%n^^R4E%0^ zou3F{VdyFLPB;ULK_ZlC*AC7WGi%5AD)5wE8b!N8a~h#LEivJ>MBeeBxDvX8L8#rQ zxx@5hps^1|57n`iUT=OYq44?(D;k!fOObS*=qGJ|r;6#f{J3Oj>Qc$yPk#MhqycQg z7k2W7FaS;>?+Dbbowx>`HwRv+%k%H(@Q*c(4Y1)TsbJ|xY=Jn39_li#ay#=Z$+4^^#^+$Hb8?}Bx#Y44t|9Y^bL);Ud`2#? zWom?#gnh6pd7e3J?_7`cfG@^!kd>T!TmEr`K$#O(^+}^qssx8`1oXI}?AJNbj_ko6N z7dE5Kdtbs>h41WG660&B;Bh`~CUT9Gr48r0so<~uxI^3HYa)jTOuf!LMi^aGVI2lb z^e=E{oMPVeDaghBqGp5;XPq^c7{tkK&(6D+{3`^o_IK>H2f2Uybth8gfmPmOrD&5vOX`Z5KoN=Oe*t|=>}Ez1TX17%jPP0Olz$j#+(6bj z(x|b-RHjxs2ufoDynj^aFr*_wf!>YwI#2K0iyNp--r0=?um4rpIyHVzL9r|x9LdT4 zb0+T`mssw9(W(-Tkyp8eIGIjMiAJ5sE};uE34eT5l`-E*1R4y9{JJe=FmeMnM`SUOpL|IKv^U zbI`>bIf=3Cr?$AyJhH~7_;)ec_=1MqKw%g(oJKnpyc^{39N~x((_gO_Rka^<2_i+~ z)_O;1*|Zn5(>FUiAe9+^Hglb6&p%y~2b$dJ@yqu1`|>+N;Tm`0O(M$n^f(5ogL!Q! zjI};u9#Yvy#2AU64YdsqMIeERBHM&c0X4|_=Koi(NGdek#Zhjvxp24qfiQTK;-q=s;q(UB|GzZ4w`EWp>@lGI_BTAR*safDa zI8T!&72JFEp^dQZuUS zl78@|4{jO_APs?pv=JSBMl*8aw^-1VTH^hjd|8Avg?DObA#QD z*MP*pSy32k=cDCyT<6{*bToJhCMFiRD;^e^OR2L|K5^*P<&ZxrTpC2XQzT?o1oo<= z16bJ+L!Wd=o}nF7KHfM;KN35#*kYbhtMJiI5$_v-R$|**5RI+sN8G+-nhL)A2G~XI zFHC~|g-T>#_31wLHZN&BLrf~T@=dY{i#|RLX2G#HUj;P1{x7}wnK^cu8e)!Jcmv-4 zV++%e)#G!*f107!{57ehIkq)Gb^*xbv+ga2XS)Ut=stdyzG=!ABf+m(0fvLaqnV}* z#^SL~JUIXDLvzALM^2X;@Q8GrOf1Wk-4B-%jwCLfp_$oe%nmtn$+ZmH=j2Zg= zQ^F|o#Jz9d0;5*x0?&66=Rb-YrnklRL-H3j-!NXoZ6rcUrIPO6OxcS|x&eggfU^OC7P_kYwWN#4Z zy%ntN8Mw7bRT!o-yY9mA7hP3<>A;g?k+Lq%>?1>$Uo*D8?m}MsV!r}??WyBL^;mxj zKh3WlA4#ZscEsMf!GL-*}}(g@|kP@7m%u_&gfh05`{C&OLz+br12D~ zBrV_KUQRi0p{)_=zXlE*9Z057J)}1U=GSM(@!+S-l0ah>8*rm)Uma*Tj|`F6Aaflmc446>bqCil zzY0uSVnR!ieDjW{)<|IJR^fX3ld2Le<}tVB--G{ed##rHVJ$q>XNc<#WdH#z+k%~m z=l#K0rLi+Ho8U<7J9izqlPhNp2WIaA6br^j?fhkYx?kjR%LH^xR!8jY9`Z7K+H2XA z?VW3UDt-F!!7M-dFU+I+FzKTCC#c{{2XeA^wkCFB;O99e<2;)&(LUon%6L?}sk3f{ z5U#yToIB}m-b|#Bond^g@051Bdq!RNb1d?ulIf@n$F{Js5ZJVL0qd%gKyS zJ^*6oI{gnQuIJ$3xRrB2HhP@WHIO`yMyAsc-;R6EPwPpVS&o+E6`d~w9JY&vUW&SI z%P++rxvy*JrTLB`>{3?oOW*IPYk2pDo#-0o9OUa7ggg<3yl7}8F@{>2aDlz=wuVps zLI9$3yqiH0gTRiPwA3Pi~tfzo$M#`}#yGcnk*`$v^vG@C z%-_@d!O#Cz6K*VSpa*>BXcd{VNMn<|+$9FKjDrNb9Rvx|A5BH}Pkr8Sub3zD zvNLkCT~c7rFDN|=EhyD|?BScoA}-xqPoAg$XN2tOvk@FR6fQy_UiC@F0?$bWKU{!( zH0RU(0=NEyN<9sGD(EhRZ8d98FU59XdW(Wa=ghlLW~;v@65B$6D$VMNxz5aull7Qq`dP zOgnLj_0yXqLefE_REe?Qu1m|5so+qC&AUY3iGg2jE>f!tX%z|a?tg)Wgf$qnLgF9O z#}vsEbyk6SF7G`W3(S#>f3rmz7^TsPu+~h2JX9mNQ^EIIAR99pxA>zm-fX^Fh)-Tg zoypPW5afTxaB{fGpP92+Bzm>lYEPmk0-{KC92{-OQ6E47DU17EwiExDMcVDaz1UO? z=l?ExTQJOH#*y-6Xjxk-U(`V3Gb#|3P@g#)kR%ULmuh1BYFmwQiN3}2B8i91tE5ii zD%e-ttWvAZPT&>lGfLSAJhrSlo>R%Ygq^En$Oibk=V3!eoSi0$GbfHT0k2P=7yMF6 z*)&F+c=uNr;kNSu(T3QoK(PE$F;)W`!$jz_)T+urVORb?l~t$koRD~Kg?X*oyjx9~ zfq}+9Q^rbTJY1-rRLpVdH+Hx*7Kt4J7Zb+XbFm+;fr|~@m&+uN>2ft6LhXhl zaO*@(Rf(CNdE8R6%ulrryWg3fAKL1$Gg&vE&LR!Ge@V6gGo#&lJVq3O$@hyTV3xlI zH2m48Pxx(dpfjV**BT@WW6+_1tKdfF97=GaA{1ei5(p_!5>5=Ur&0bv)MZa;zp*%d z7KOVBCw{M4vlr4TYqm~|9BFtlZpUt|h0jo+QO_R<6I2W*3l>hD0kbIFN*(55tIryOVM6Ups3X{&B; zKWU|8Wh8TVcHCy|doHFnbGsE}W3QVb^;?HxfRlXRiRD3A4x}0rU3sI4l{zkKYIdZS z4wJLeWcTSa8)3udT7+GnpFGgy5sErKu6QV!m_P1*7iCZ2toa-LVx--HV46D&Ftf$z zal_k*&|lMmvW(e70PO<^?sVkQw6u?^$KErpm29~j>#*Y9hn%(sROo2P$ zHtkBVprC;o$eVTN^RRf1-UR_-o?@ax<{#B71OU`uNeHLrHx>6|t1+HbpGZ7?pjSs&X${(k}6ETHbMF4Uos)>$Jid~PO9=X#8u7^3d8ky+l& zvR}!fhbdo3Vik{W+cN3^R~?n?a1Bzy4V@f$u=%}V2@*sTBf;Q7PP{A?-0MX%{BR&s z%_5C=36>o0M2sGG{+j14vn0@(!M{Xq`lF{=)lJ1mIiopnDIvWLcj38 z1{>D2-?57#OT(ACn~)^;r>2P~L04(PT_>X#6>>UiPDPR1D-98c(x;+$ZURL8HRx2- zgF|J}SmVYGR?+c4)@V*BcRp~7U(gI#A-M&d`YuEOzmVQ@*%abRCs7q^Q~M`} zuLPUCTlg%j{I^WP_N}CP^(NuA{N!F4{?+=t?eyvJuF&F+yz8z}JL6sHXQO2Vcxpjd zZ$=XuCUd}Zd~-lOmY&634o_+YLmaUs_$S~L zGO%lcG3K-?0_oqNi$J3e6>R6MN{+)vqy6zo0)kiwMsFEb;O_Pp-mv})troZ+vC&E1 z16iDPC1kO3cWryj@$YeuOKAogWEYB~Q^OmySA>bl=O9^-ftD?lf$B=K_!+|t8;kNwo zfeg`I2^DIliRd0%(2?j4yl7WM2jj)uPW@?TgZjJnME8tqiEfF-{yrA_^?O1msbB~& zeIE-uDo#3^&TMgiI4gSvGxn*KXIYA>&=XX#w+&ILtHa(Z%9)?fxTbBBc0cY+7>K15ZdRm%b3lX`#_*jmj7!=xj9R90MTTLBU({R0Lp*)jO&>UX3b3bJ88G&kLi}d>iJMx8moVLsUubc7yN%>_3-vsedyD6 zShdRIE>a$Y)gHjKGlYKsxJBsKr)&K*{4`DfHL=%fP`ik!W>(O+PaoNoKf#adK>5vd z`ll%W#`cttHGT)mKVvl1{#w4F{9y_&AnYy9Q2s*)rpIgGPmR~rnL+WF;8d^frn6up zkAOE3^xc-9zOy#LQ(`msIJ+P1FUFtsQCD;aewrs9Krx>dmQ!Nzv)a|FjXhZk@%UipZyNs?M4w7q%atj3{F#%)sX_ zVMI#v%;@~(Qo_ZA?dY(!bUnadTPn=Z>_mha>rbWo3~5dPu6Ck~nM4;6dt3ftxNY|j z!;3`0K5H5|ujA;f_|5<4=oGY{L>GMgGo$nBKYnI(o+eSF^XRE<_WEbw_}%#QI?R!H zx8_{$d#-i0ZNM%6iv7U3?g%`N@gVvZck8mv*rH5wIAk^GDSMQD$0yag7j~9Fu*Mwn zdUtUtOgu6xV<4UJcrpr-gMh>xvu#6`yma;%BLq_XrRm5t4sTl>;})pe_+05H-EEyV zrJ|EcJJs#xBqo)*R}V8#Gdl}t)jJ8;op@9^BrRrzHaG+a3jy816Xv0^zkFOQbxCiq=!|C3PH5goyNzSp!u3H0K#{w7oSu;McKR0@$+(eBG z#XEDyr?Lj;aFy{cI^C$m;-&wAbLfjz|*Ui4R+d1)d@^%_8OTRrvDu=QC!>EN9CJq@EASg|_5 z{>e~L4{{ogN0xU^!o6uPo8|s-J#*auZf!^O?Lk=mcY(0uQrt|usBBiGjo#bolcv)` z`n>)mN4li`!wLgUgE^rOC$47GrziE;XS1QpKZ4mFiTAoh94;~NZ)VecbCGV@v&oh2 zYz&o|K#2*&zD%u@Y@Y)L!>JmyU8ua{xr|6Bv~W5p(QPa~*c{?<0JQ_M(QyN{$%_Y1 z;wPT(@NaZ$XKZ%j$MrJ_n6JgSmHifD7-)RTK);BS{}8@J>jGXrkf^_pZo@p}WxF@W zeqeKh_7{bL#)nBKH@!hM|4}M7X2CGPZn%+go_ z8aNZO%}*kOQL{=wER!0{@@5Ck7e}$-cmN2FvJlkwqL;81%(1!^8w;?)RPfD*azn|f@OsbGAEdb~n%TF74u z`j7`2f4M7wh04J6s`jloC<|+S^h)kop9=0rgX%O^&cJQE;B})|c#k{07cx4(w$dI!`2*+y84g8Y&@Q;U13R56?FA%tLAjC7wA-)~fF7 zgzI$EE$!w=S55ZV2Z6@59DQejzh(0O z0{&WZxi_I_ZrcY-?J~xJf#JvaFqs5lPP25V>9!NQpva&^^yB95uO-5$>e+RQe9Fwy z4iP~C@bYcRYN;_Nq+fKjvgA|3i4r$aU=OepRlK& zq>8i2qZM=buD~P>@NDpRPYEt&awIycGfyg!UO)rSeMvczE!t%t?S#q8^>fgqB^m+I`P}@ z=tN>*SA}mS9M}UklnQnQSZ>cqlFIB1zIpH``?i`S^=;*lk0i`kAl@;f-L?KTQ{(ew zNpeTn$_p%KH_?O>FEY{sw=p|N3qzUZy4`D~h08jM3KLAnZYa-)3iI2R__{Ia-0c_X zzCeJS@CB1E+3d>+FSW@DJ=ML8yiuP(2>8pmHaVeaWkyc;{LjbUt=Db;;CMp zN&5*}cK;+?$sQu;m*q%i;9Zo(KA1Go!lEi`Z^Kn)M2}w>_o8|UMC-8OKS%+4ac-k; zy@FDQ9c87lr*vY4#!M135GGfVX!RE-L!Ujqgfk}wjyscZ7sB@5dU}2vJ5ko{S{aqt zHd1wGxCj2}N5tDVCZ46P#NMp?HJ7Nq`hj6k_g#?$tT1Ax68u?H2|blaA$CA<4M&{_ z7;w_8NiJ}vhXEnF!GJR_acGX)_1Uhzo5JM3jom)tjeGptz=*sa{i4=*cS73uHNa`< zG_A6(aNxk6FsX-FPRz0W`Fnzg@jVqY5|$+*~q9a*n(BdMgw`KxaZg3)fG@m-?(=;!D`?9>pcC3c{@VwNWtAQi-`{Lw`cR&DtLTmGBlGvyE8W%&z! zu|xTFeKO@gdv;gtpZ0Yd{5lW-q{G_E|9zL`U;VhPJW2?aU)V3x{^(tn|MNaO!2i2r zGvyE8W%)wT<85yDb0k65Br0uTaI84lB~{(qWc!C%UhD+MuAsS=v?oTbMa- zwexRa7XEzve^Z))|L?Z&&&=QMS@8Sw|Jkhm@3OqNxD9_k{q5b>{^7eUzwyl-`tKl& zWcB~4pXmP?6`PmjauGkCfBM((wpFdHjrE83X`a?q?^Sj}8j1b*(h5*EXA1w!7W?Yc zd~T}Oyx)rx{@|YX5gwUhYgi;+UNS5%H@Ub?wQ1H7b$7wCbO!@=`F{5dEt3$ zCT)Ci%SV$o;-IV*V_5M+eA?yK^^7EppNMek759g`HzVn#lAoa%F3iyzm;JMLIUDYj z0PJsiFv(s*k-DBWiKk@5A{l)i#cN_4lXzcK@!cq%3jUi?5_(@RLovE9M|W*Nx9R&v zXqQvNJ<&i~ob=5eBJs&QRf#4q3Nj+`U!ujjHm`Veb>LmMa?9IcjL2En1{9CRM_-^( zFOhTTJ8vo(OSMwhB=K9$$RK1+V?p7=@j@M2G6j#rVP zk)%QMNXMt?O@U|j2sHIz)-V@_ZcNVw8-;t!7pn3ax#}z@E`b-KMUYpYt2wWNu5&SeE@}yo?n=geB+shi09&3woFYbz&bovHdEhU%_Y(Jmy=3nnd>- zFEfJcxO%h`THDd+fT5!dw-U_Rcc6g%HH0L|1a!K<=xdW%-K&Tv{Od+ z8z2))`RlPTx@`Qh{IQ~q(3vCpl&X=M?M-*nX(u{&20z&KOCcP7Nn!pPI7?i~F9iZk zzatPSpM+VcLZqy=DRud7__K}JMoq%D_evP$Vpg#%f7V!Dn)UG!EpXw~tM2;=vC;Kr zeGKK)olW*M$F%EJs@JmHARDBf{d$|OxH za}OH8UGWR`)o$_7LYwTtKk9)wSuJzF>A!}N$aG_O_f~4M)=JTZA<^MQO&l{F>;B^- zbA$@)b-{4r@nXADuXlUUk#OvbbVoRYK(pB$NQL}feORflrDWFnyi@$^E@dSCnDDQM zCmSC%-*d&b%$lu0B>s@1b#HQ_7H^h7)^07`oKbN8Q4{+zBOi|DhW3$grB_?l=10&q z^j_vfC$?gl@5Cp%so>RYM_G{%adn&LmHJi5UpjGQfxxw<%J7sWIZSF6WmB)eu70@X z?c@`B&%CDh_HcA@tGQZUtbJ{UKI;3z(EC@FUFT$>G~Yeu6V$&Jo9ze0yYz+4DYua1 z!0rW+wC@)7Ex#^RgXBM5_^ z_-8*l_K3twGDNj{%bS*{Pz753=V;FEPl28mN*=ttxeQ40*jy5h&dXoMFy#pT`6~%= z{{XlWSEdg65Xyp*T8R|?uh^G2Pm;7*|7`MCGo+cJYC~_U!&4SF@Y0i|H{#{W0YUEl zEpH}o4=0A@&Q^2nq(sSN8+FuNSchYWaw{fgxq?phicbZL=ylsf$Av$MAC#G}MEeH4 zu2e+g<3Puidf2`GPy}$jX^+Qi&1kADX{$2Tt60s<0;~FKz`rw{K%s;ZPA9W1tzAz} z^xKNxm74fX$CoK;j?D^JMbI&RqN+HCkK}GP-UM_y9^HD$1a!3Bw||WWC}Rvu)A3s> z3=i&s7A71&rmb10T-;XY=d|mT4=V~Z6$)eV$sywg#(lDNW2&YcvHBPW$h(+-^!5)D z>t*~unRgdbbv<-?=I^5pk;GenG_%1tG^~3B!wYkkc6^ga4%1k~2;Um`FcY;U`HCJN zEAokXFFzgCQ)in_jh*VA8nfBxRt#>pqa|oR1n_iWhEz2CH*T6cOv!X`2^@=*pM%9`o9#j+YVHJ{4v&M3j6a6mFUOf*C=K5jx zH_hnvywk~Dk;1oe8;oPp6_`D1pz&D1@K9PEHm=tphVmB2T&Jp=xR83*~uTJ3?5}V8O9Lg<4C$H z4M*K@_juY!4$H)jF&J#}8!$J(DF#(qh`9&;_N_o1+5zIGbF+ckvRb7YzT@yc5dDUK zy}iMqb!qf0pXv7IH!#;slZUG~5E&Epid66#nhE1}N)cp7Qm1KIVM z$<=s1Y{R`ojY#6kG-4CA-*$&7QCFWkB+9d;`zs~xYq)4TVwA?(?XJXajADn9x;f=; zdY{BKJ0{ABwfm+L7wnk$6l3qcpv1os>QL=nDtVt0r)QTm2yT2(i8m?n_t}ZIpK`qE zUZ}+3J0|v5;$S8A*)j1TCH7Kc&yIf(nXea}X$E%LD|Dlc}v+K~r zrH*AJs16KhDzK+tBiiuZ#2ZtG-rr5d?)|Few(KTs2PY`;7A0Q2W8!a=c##rE?3k!m zrQK>J_T4d2bK3o-68G6Lv9l6)SEA;02WUSd%H8lDi60Qs5ulZ~vX)_Q&k<{&f93g+ z?z%52bPkS`+~*bgtwN6}^bdvpqR@VtF@I3#I)xGn-LFtop_K~VpwNM8{aS@CQ0P*H zZV?{u9#S8KUa21~5qNp29?a#UfZ zhNg1m9mGHGoRu3yiKc)NG^LC}p5w8yWlrwKaPL>y<7zXAV({P70oQ%+!ZnoGlKk9A zjBGD;n=KE3bsxCE-S05O^h>C92mP`yh85NHULS7Rmo?X|~GO#%y4 zx;2c4O|s)|`E~ck6By4G8QIh-m0zzb(mN~Mqw;gRXOOLi?drO0#qtGIC>eeHp}^Su zdiwm{*MCRiC!kNR!$1Ug9T`1%=kUD8{%QYwJ-Bq>^(B72RF?{Npi4f@xlrwdM3Yj1<@E#B+HEz#YQR2_lzX2 zEpl5->5W`$x2kf}^6fYJEt_qA$UTzM1_a(1ur<5;5=E=-ltbwB%dc%nxl8!RKc8>g zud{zDk!g&!O(A@QA(~fJm=}m%$<}X_zg9O$!~zZTW<_h4NaD!Ode0_)W@k3hx+fXG zs&f$=gh=`J`V+#@n+tO4YplQ?ZLXj<$$9z;nXAXcc3^R-UUO~`B|+sU#|LahD{V|^ z-M6mRq+;8Ue8iAhIQDufcn4Y8b0lYW5S0ZV8yiXf<=gA_JS9HhM=Ek>P)Blu0m(Y# z!P!p4w8kN_kLL*$?(&l?eQ#)k6B=hD8uIfNy2pn=Wy7nWauWY!@3-vss;&!CeBJIG zPcJR-_I*I+^#n$oye4Jr$=QOj!|r8h%uHUXD<-jtm_Jc{pH!-KuIIVlnm0G5#_@dS zBmjMgq~xpTW^L};=GU3V#$JvR%;p9YoZV1RF+#HOhNBi3eaIwk7@n^N(DmfAtYReJ z*-%ZXyANWx9SU;i~>_=B>4jl^HlUaqEmOMMmhcnfhmhcmS%y(Y%!W}S?nP?r*8 zGD-~6|FlDTs@Fu?##Mx`E7~4z`4nFBYC(9*MvI zQZEM@hbZ3%k;DYn&!MoeW(BXWaEypah>b1X&Y8*cE(`0*wiJ5sA+&HQ!v1MrkN&@(=rrzR;`)COvFU= zMdWJ$)>LqY=hPpL%Gx!dBcgLThRH!ia68{S z%nYO7<=qJi>&C#`O=L<1FViP1dRT=;@t4FhJo$k}%=tu!KSUCfM___zlchXEgTZS1 zTK(tVjbzCv%v}E*QuD%Bm#*U!awd5&rPMq&RWun5b$qTOocOawNz-l;dp$RbWI5ww zcGzjri5NJRw+N0Rsv!w~2xi8t|I#MCXp=%DmH0`o_(?C=q*9W2cEyx>#!q_6CP9i5 z96#wEKWU4)ALmxRpukLcse6-2S#S1eI`6jpdRhg1O+Bmc22%Cme$#+ib98QqupKtN zI-Uw{yIyl5suvW^d4tA}Y_*wedcT1Ezp_Q=PRv9%nCSU7`rb_ROcVWxjc(3FFEi0I zZ1n0(bgPNJ!A5V*MCZWWQ^AWB9gl{@>aig>jpoY;=hWXs>`2AJJx-1G@5F;ftPtO@ zHElrwW+rB*`jap@*s^-;^WZ^mpr(SmQ?Iu#JWSEg5nW=M`{p`m?*4I4 z5m9R*K32p`XUam=Lks6xC%2%}Brhb{=)c-lQ{lgj9~sNn*biZ2ln>kuXl_%Exme$M z++cO7nkncnb%m+m^;8IV!oU72IB98;7d~M41rQ6UNnh zYTT{K_YmCLSD5Oxc&z9lz2(aS%S&FS{q0ixgw*}g*4435jV(9Z2?c=VxNk46ku#USh;kcjPZvv;Rt3d;coYFB~WKLv&E5 zy8U6qB5e5YYJO_Uf2{AT3Labo6-4K@635}%!~Dyam?U41n6E`n7RHf(SffD?2SUq8 zwh|>L(??c>x2!>^#Oq1{2WlMbw6az!W6ZQ0D9kIt@mC3kxo4JyjOQM?-NQL)q&TEw z6NV+waD`}+EnuPhhr1+!EiPpxKf$czxMh@<)zQlPXQ;fD*4>MKu_oo6qC!&^8qRLU zJquuO5IGQp)Ya!cqG)&briJFPEV-|u{hsS}FI!`P{AmpEwrr+ack@0*#B{$5g6T5q z;P9al7`R_+?@PK5UkAvExtlco3O)oTmOAE*`^s{Tn3yw~Lrtmry$P2oY`E(M-V-Fd zkMd9QGaxd@NNu@Mog{2=6>+B!hDO}W0Yc#WEnK0}D-_{3ANzo=u66HR0GN7zOoD;? z7E**V2yxC@3!h*;(l$^*STG63Jj@^#^1oL|nr+A=8(q$}Wfq7}dS-x7HJ=ile8&eu zZG6&dfaoS5j!q*>_a8F%OSRUxPf!jkezCG+=#W`>0HIHo{dIX&5x!)i3ybW$MzXxX z>q2kFz3v!6`^2l6F$>*Mf`G$Ba}m`Xs3IDIq|Ux3UqTULc{g&mH3Wu_5Cm=3-fB%d zF}3DC2-=15EqgQUynEU1ygI|*B%kpo{p`D3ko)bm{4PFUWJ0MGgV^{a}bzM~+_+Fk98J?s)V`$=MLF zs=222XrTJlj<%a-|P^@iOOb+D;n9FJ9xwl~A#Rado!n6|2O!+?6Yzx!_+mE<&MNpgQfbdyTlyDnsof%UF_^QG!d56X6@23gLpftLk<3*1YB7|<0Q}=>GxbB7qaR9kiJEiT z96dBRx3F!pr+VF?D%vPig|DJ;vX}ahE+qj}rBcCKvJ2FSd)c{`m}}a&fi{vW-Dl>v zr^gZDd0&BY{w7D_gHB0wWBF;>ll{mqXHgr^ArEGAvbEQQy&d)m*rR@^{Yl;wCwEz@ z)dH2aWn0K*G{hLV4^o*Ki+3(Jv|B>Q15J`bm`vu-r15Prj(8Pn;O0Q%GJPcS7XL!+ zVKv9`r)OS=NK7hnJADj2L>C2W%GU>)_E#OzNh4Wk4z$(Pnz|1%A9H7_0x6b90RiHU zj)P1K((rd|;UWtHz~SDiT_W88gjDbsfR98m#%x5IsEZCxl=hRW9;0ggEl9S#p|v%f zg}l^ei^Db~dK0%g>h|>aARM93AHyxBj0K_21Q&;YW)H&9PO3E!HBpdp&h+!Q0OihH zh{{pRiot*U$`Wg>(q^JUl1x+zkb>Fk8p{s0dv=50*VH)4F=#9Xa;l$B0rRar8t5)X zle-s%0i!H=6#t@sqD`7B(QrQvVVU7xf0^ji94~(?f{sthTmeekz$_w5noK5&AeW@S z^n`74R{HC_be+Gm1x!Q3(vi2QA*(+LG~J__6`!ONg}N!w)I{$Q@)4u0v+O$?E;Si| zCB=~$k*BhCon}f^6`6fZVetZi33ymmTZa`+QSJnfv|M!qQx^ zEceeC?`y~oA5C@IyHg#?LU1|PEWzzqWh!{>CE)TeN`Y)U?LnEIDAl04F=5$-CGw$Wn5#yZ%JjbX4nx~Iiprk1+1QEE=J_JCj&06XwklFm z!6y~G#$)mWGWIhkG6S40q%nZG#kER`8*%h2Ui@MX$)T5?G>kk27P z-uUd-<9ty?i5sN~0;TRBe@*3ks+!dEfFxIqe%=OE^=+ov68BWfcJPYtE)RwqppwXyp;91-cSEVhgV}@Tx#xRmdjmh%OZDW#IKEJIsa69fPfJ>!l zO(%mnw5Il@8+&ZsY{>J)?R`^X1|GiYWC?yT^Rzoso=4yJsy>U zRV=dZ1c$9AA6icH-RikoqUQP=IZngka~+#lf0z^PpHq)-S-W*|5=Keue*OR0d-wP# zi|da+fh+_CpG1sOFBojlpr}a^C531f64-?epd!+W7;h9Sl@t=eE5Rh1WnFL8YFpb{ ztJX`s)(ap?xCXo;D54fotop1gf;XLsf3EFA=psnx7Og` z`N*wFm#!n%lo>H>is5sc0}(>Dr@n`iTrGCga?JK671)5bIF0Wx(Q=Y=Z<@~zykw)* ze3+a9+MZR0w^v3krgIojDT1=H@TxEG16w^=F0G1h3AmhT29TM4AJaA2~@j9 zc2{=8d(Y+OjdTw=s(IbLcOHnb(rcvV4EHwO zkK(?{z;2TfX)DV9n}6FOYXy1Fzb)0J$C7V*w)e~Fh;_?Ow*UKNjsN1=_O_YXWc&5k zh+`L;mHnEru{=fuyH9@BoK|vIJqPcV5M@j3aEkd{DE#q{@@5;C{>j$nYff`7qv<&M zbA8e5#~MEZ#ni6nmvNI3%&wUbyNWKhzUnkC_v(RnWe~AbcM&z6`bqr8Mp4&#tsTv+ zdFzEbp`>^7q$$EGT-F}sk=KVQKxaSOhw9k&WNY4(o|WE*{{r^v zH`1mxeISRn4j6=MyjcUd3z@?`<5|FdlaW3I9!r7SM5+Qi4l=PRsY0{o@VQ6wipEmb z>X7#DU#7;wX0_o|UZJrnv%yH~M#B}%yu0xkJ~^!&4xFcw^`EB-6`xa z6x48>-nmsJecHW~tCE>2>DsPDwh{MSm27T1*A23{y2DhWvk~dNRwiS&pGxMZ-Z6k` zcv~foN?uKs*uLGYl5d};L@5{2TdP&cdn&oKUCB8rS*()N+myiQAK__|5Mq)qZHt-_ z(sAm&u->~k^`7X5_hxwS8K0pCPTZJ?-HX_p-kncC1vjLZ|D8fSJA_wM@-vkzX;<=; zN_wf}!FDBgsbufJC=pGif9G12{6{4gIfAKBUSQ*O3HNgfUZ{2fA?-( z9fZv7-lnU7u9|dJrK@XowOm&TkLV=}Hc2?oeH2@U=jg zfaM|p1LDp?!lPBT6Xb|((2wrdUC8xwTAgLdzsU407q@E#4mD*ihSmJY;k@j625WmZA$ z7#0${1gbVoiKkbT#X0|GL1fm`MkVx&jpfIE>S5w{P?i!=vUYGtHPmmnl0_z7#{G+M zPjgmC1?0Y60^B|`dffhdHYD83d3PUwqOllpv&}B=8QxLTfyj~G+1#4h>?b?x)Zz#J z?Qe#nI)-rk;-x2pKjoc*Wf1ZmA);e-##c2XyNupQ5G{fW2y#Bt%s?FW8h zucI(~E&fv};JTQ`19O(^fR9`){BuBBOtqYveKU?#lI|@2z!&I;kIvE$5U|^B;S+ra zs5eH0O{p>4+9PEK2}S;~(#+gheKARy67wk`EXRMRXN~K$;#S+ zQX7$bM9v#|k#XuLS|Rce7SudpHU=|!7Qeq;?^Uuoj?2dkG*;)B{pO-$XmH=558`zR z)Y_i)=UVb``R)xc9B8D4102+DbFAvq3;yvAa?U(Ghv zlK1aD%El#3@&NAz&L7zq+&8F6FWrZBZm>0Id-FT+j?*Cyn8xJkI3GDi|LVZ6Yj8|67Bo^z*a5oZ=|p^)J4Sz2xB>lHsqwLaliONX zMjd}?#%k`8KuPrd>U4ue#;W3djAgdFhSUCwS37D_pU{j`QMq37piL-cp_Dd5QYnrj_?; zWvg?YU#;x6t!$=7W#&u4%w3h4tJH~xEcLG6OQGp$S-3g_7~GZ%l<#b3YaG=H~uDc}ozX@i2|2=wH04 zOZ_LOm3LcL-tD#6LGb?KZLuJK7@mJ|JlkKt`$*^Jzo<=RGnE3EM+ZBN2UCYpADod< z=G?v_){g?`*=c*r>h?4{QLUln&a*T3`0MsAa&CT+TSojHk7j@8um6-Ue@fpzIjy4G z-q=GFhBqwUoL#@?$k`XkKdT3A)$idOJK)y9gl{;vFEvYg@v7LjV&RFUbiRwf+dJjq z*J6`+LZ|Yb27Q;SBBybtUfr8f7U)1X2y}?xDkufAJ?>>OTft-!A^R3n1?npM!Lr%huoonu%#Wvwg&{LJ!5 z?@0N<-&Gc`C2~P<`$t432xYEPq=LnZ4++fql7$r3L(l?F>3abTf{JReI z%)>$h4h{_{KX^wdOaq(ZFO)ma^>&^uKR6M82tUDz2X74(qxDe*MFC$MX#bJO!6E3B ze7lOBuzgdT9t5MqSg&_{F>^NgB6DoLULDtCfYdvi35Gk3&$o38JF1IM==2kb*HsjV z9IWqhNmzoV^mC1^?m+;bOn?xSi|SkF#I}G0wcSB;@{X*Jz04gGOg=B=aMgMhigXRh zm->g`e>rw}KsF^b;DCTYWEMNf9N&s|EkZ zfd9eHv*UpOr%Cw3`j~=od@#Jk)=bVq>dUR52!-E6QUV$;g_!2;o4oFM&`==&dHtN& z7`TK1$ic8K6aN{0TfD|7o7(yl&G}p|p-54IluMTqH8~Aq;RZH2Xm()m@Lo=Xj(!B9 zO`M<+7!B za!Ft9;6}el`eCQx>mtgp9Le++%v~7lhXZiw-2JIZ@ z&_=W1MHd!G0UHW`5ejp>aHl(924gPyr+HdK?6jxNm3hmECWq;*Im-mXbeF2IeM4*I ztzTj0_fi@y3WSg2tO0U__dto(dIG{=jhX!5>5}wIZUaXp2MWmH`jZZ&v$r zLy@s%GN4;Om56UiB};rHkW(H`l!rel4}TVp`4g{3AO40hT?Qiu zD5CTUYD1B@4{#c#!PGu0yaNA_phTXnCV|de-;E5!OG_{(WFa_`Ey3b*4uXP+YgcBn z0P{e52s3tGyM7-Bq<{HEd|^) zq)Ai0skV_{OX!&7&f+Z_Z2U{bWUTho-UMMB%M^joz7PMdpjX~_fK*SIs3d{WSa(UUket#TJd6ro-K@O?c2&C}PL4n8(vPTGi zrWJ1^V5=_V*C^Mo!_vIhA_YToB5r2W!w2x_&N81ZpryQ zyY8y|&NWwcFu_xk6Fe0|O@1I8P~xf1PR=N(GLTPx!!lA_mJKq~3-t`ggB$OpA3ePn zzQ^<$%|xU#UTzWJT+limv9tT^b3bBscixwp-7f-mc7MU_o-m>P?B27jgW0YB(+|z= zw?EsMFoCa7$C%7lX%l?>wP_Rl3Kf~)Z|*V^EMO}7`(XFJza}U6VQOfCuZuImuTU?2 zf`4d!cmBF{eqWf{I=_Fw^1}QM?QG_E%&fNaYv^|c%4AEwR|n>KG|1MHoMh4%?>pH} z!yHkmrD&(2jvFUu7;9|V*wm!woSE%rp^Ld#q zsipCT5tx-`cx*k}ee{_hfe2ggO(DX^!&?!d@A&qJaOXE2Ai|Y@_#s3XvNh3)2#2+$ z^n$C?5P_Vr2^_uSzc+}`2I?No-}>hyN_@J-EHm!37$`BHH(F7`+dtQTJ_{pedF0f{ zWm(GNu5i0azTWTpR=(aiu@x`QH*!qgXI~>vM0;$S(H1Yd0A=?vUlK1y__wuW*5ET{ z7<(`G_7-Wdstp^4FTLw_UabcNi?(=lYWUI|Z4{KELR@^7w;%qmY<%~+jatvNCW9YE zT9*<2$N?gzN_xTE;W-9F<9~-`R-h0uT=C+&WkuNTR=Pmw&O3l}(q8W6|LS19>vwl6 zTzZ6C;quOOLoYu|7`TkDZ3`DeFTc-9!sVA*@7UJtv))jNO z*1S}FB8&flC9ZxMYG~FwP=kmm{ycnfI!(u~vwZO{Po>DgbaCHRFF4otA@ROFQDxmQ zOAhCO5C@;xo*bIK?0_6D{knakYf-ZplX% z7>ZP<<>movj0EzhGG;^)p3)vjx~nNAfr)oZ+LD@5B-=ZhL1UAsGwT=vfJXB!-a^c{ zLWbzhxJl!1|9zj-e=YGlX*aw)k+<-)qcXy7{AoZCUYf{zRJZHnPiwjFAWOnc6bp^7 z|9FF3lF^SzRx8q;D>5|4_-8vgog@oJhWBECWS1shPCi>-yhc7yd7%i5)fcK^4zJHM zvGQL34D2SzGnKZRywh&q+rCYZX|q#pk3dUjwj@HkB2Ee!JXQpC$v*`M2`V zoX_uJOhmVlXGhdmWjH&dfGcMA)@aE~IfTIVUwnirHeyUaG(U^{(b!IqPM@a^ROK7r zz{oW8(?w6Xf9&-q(4oSc0_>E^ltw5Z4rTTvh^1yrBKYI|-#3tu#RcPL&gUR%88jxp)*bafVQpeB@6+UrJqi9LS|c_b5g3p5pHiOSo8=9a;L zX6>eQ&^S$N%~0Bc=ahO2o}~G&OE98*$m2QIe=X`ORMmu+b=0@21lxg7L6yKZMPREI z6lXa(4Fz>HtX&S!T&uYOZZ*M8ECQRUx2^W zj0pbA4VP^T|D2x#|1&>q3;(5bq&<2*Hzx^y8C`>sHt?@hM(yMrR7MyPVAV8$t^&pc zO+%G%c8Zn-v@-1Hgt%?NuC7|Ja{{YT^WlJ}fIXxz^hscA7GOg}BFN|%-rqrP!23S; z?BuY!MhXrJRwP!2Z( z?@4;2ExeWg(92g@jgm?SN~69pXY7mhe;fqVH*9PR^=%zM-Cvi4`X-e|ec30WxG8CI z8vn*UsGq|EhNVz6AdeYY9Jqlg$Zz3!TU2Q89_0>G>UcP)KT?sAXts@@kz$F;Dj?}e zmLKX2Mj8sNvmDwLqHAiAP?{H$W{PxSD}z+BM~q1fMVcTdtP=%E`Z2q#WKd^1{G9D@ zZO>qo&X%mQOX{3IviQD2%l^dM7>|yEKgG7tikr>m(-FcZdE9VmDRa-UVaJB%r#wHs^L^mr?#9yqNNa^{YL?Z7`Dn64Zh)MCuvDbJ_ z);^48g3#4&gippLLwTb;&>O9nRBIxy+ab>yYf36IYDds`mTCM{O64D=_B0v5e=zMO zXX6j<@oN1x_u`1q>Qnc{uMC!r=a!dbNj&ft5KXuRwz*pp6hkm@dTD5KIKrs1Hfo6X z{s8C275X@))OcMbssFE*|0d;8lRKDHOq|7$R_~xLi9{V28MSDA%L}?S4a+QUZj!Rh z(|_#qT@hiw(@}o}QGbvq;wl^h_mYC#y<+W_#1olGexJ(!$p(RJ#rk3>dXbK1e(EOh z8A1t0cx5n55<_@cFTXy72DMdNhv;sznAjqIQJwHh3O%K%_?}*Ty=IHmcf{wnifHNi zPQ=fRo|UXKCOt?Q4@6Fv)LOY5*!uQVSh;)K2-Om0v+IQJxE0g2Hr+~7p5Bp^!C~sjIz}%xHuMxQUlRI=GLI|J@8dM{ zOsJa!A%w5X#bWw&fey{i*S1ucGxhT=s2_8LE2DGx8IK@YUU03<9rE`!f|gc#Bvw{` zZ5#uGeRrNry0I$^BT@$jp+qs!c%)LEHrLmDYifh|%s}Q{Dt_g0LL7k*HzC!49YgN| z2hi@f49gxvUn-3LA0Gj;E_dm?F;UTg;rMQYRj^F=>rNZtQn7r2bMO%xXcsH>a{Qe@ z6(cK>b#AAxrZ>M?wa3mGblJ4aF0L6hXVA>^r(afkD2j0ZGnw(b=U+U1`m_Pr&a-7% z^;@TRTUj$;t}nN>yIqpq?Um~8Rcwij9f0?XH^h$X(+T=yX zH3?6z$@wkAwbf&^dA;Yrqr|x9AH)N9+h=xRz*Gfq^jKrkK!p;c-)Okx__0=Cg+jTK z?A4Fi={Fko-9>H9aubB56#GRkzOg`pmy>gQfjExrR>w=^IzqGABM`mY7{9a;I){@2 zdZ&jzeS|)Jywk6<(+{<4zccfL(b*!`lb^(UHhQCZX+gGnJnmI360t`xI;W{Bue(H> zSmsqTf3%&uk(p>L4|Rt&Xo*A(ztFVee&pkE(kfNv7Envwd1W2@vV*DX`IjM;Bj%Pi zHoj`m&M_JgUz&-{5noW)ct>y>|Vw z9HU)uo2H`IDHUNvOFs`Im5#XL+l1jTZt0cZCcOCg!%YR>%TzF7@;iB9^6M{>W}?T} z*=A>b-~LEt$MHS)DeMgKlS~l%Xz3klcI=-J{BSSxI}09okSYgE9}j$PD?(->J7(T5 zJ|bqn?;4}lSWXWFAANL%@0Yxt>Ft&Vj^t*aj3&q}W-y7qAJH7GzH)-PxiPWYzwLVY zlVFd;W~5b3Of^Gekrdm-Y5Zod5l35FxPn*RLojoBeSfEk4rWUwz%C}+or~D&?vN41 z>Py1A6L}B7k^$bL2AYMTZT~uvIA^K5mP#mxD8Js8Ki*H7F5Y+Fw&njyl~1+V{$5+VV3gPuJHb1)rp%_MU-ufh~ibhEBHE0jM|I zw3gRr<3=!|$KrF_DkS&QiuRTje zaWg48dfZ5X(`dFi5#L`UfXyQfoy#($aTzr<^Hz9U1e+KE*DX=0XRMezcZ3??p)L4t*zD8s-D;e`+DI zouHok?&T>G+si$3F@*|JpF!D4BI|v=A+no%hRDu_)+~`#LN0OUFYn(QA)b}!Hse2| zg-^IM%LQTs$&|7UuV`tXKX|p?*=_Wp9&o>C1l2h`%t8aM=eU2llMZ&rp5%6wQ3-or zn|M3ybnsjF1{Bv0r1)66t+iShfx?jx`JGvo1Cis;V`4o1O!V!Vl2MV9`UAG-6)T<3NmX3VAH{?Lil7&rn0`X_lf_?$Z0J&WCFwL4=+Tpde z=3m;69(D3MY#xB(?v_7z<_f1_FD=+DuT+Df$VJ+3 zqv?|XTV;|;lk{dbsw|^KGXBk{Gic+^6o_;-l9r4`*_GkRy>wTlyL{Z(c?XAc@}%Qh zBOKEDbG%)DkYAlfndb$Vv=JuyetXPO8FPKl!3aFW_-B&1{-vQtd$=X-QF>EmN60bc z8V@;w*lXk>(8f`~>ykMtKGzp${amU2T+P{h>Y9B%HPic4J0FrNCB-&SDzmV%pt_>A)=8TD6w1*d`7Ub)vP_`yE`xl{s!1Uzkwk#Cp{F9mVGeIn~O4f)CVIVS^ z56*lz4QCt16zCO<&P2bvJ?IQ&Y1w;-bNwl%;2vB10`>987f&^=G;a^xVI=+94cAPpXN$)x1@NDzk#TzF7KA-zwR_{K zWf8xjm1U&+a4-`RSaoq0gVaNO?k84j4mb~pW{#Bg=Pd#TvNjmxNy+;uiY0k1H%F^Tl zoO8o_<98G*L=00>7{`@|XufXN)vN@!n|4+ZiwatW*-Npj#>SFnk|Nf<5!vp;?;x~C zeWMb+y|V8YsgRj^xer$(gp~@#qQ0ZeOXFlK>O|gLPYxTJqq&olU9QsS>SUZzv0zl{ z<@U$uW46Tc!&pp%9r)M1(+3PPLw>vuLuMUpX<-wbTgx`re z{@NUt8cX$)&`jgFucBm{bFetypy0hcv}w?PhL1BUal|?4P$Joh#pFW=Oy{9Cn$7kX ze{l~;^%zY})@h|cUzK)VT^3>{w#Ux1q^b$X3o%D<4TP&1HqPegVZ*OW(S0&X?D#?K zfU_4!xHAPUZpNY5S*+j{{{svs1C75s>Pif<(b8{T=lV3R<3!Ud{X}=g+!@;LXc@UL z{|Aav&t8$v>{Is3`p;qXa4fWC>k@f~_Voz3&h!+TF*lz50~~Yokrr^nmnYZXAJ`w9|5Fce`|J-+qvXHu z5B#@yVEVu94}N`33OMJ9f`r=M{@_nV?E!Shj`jfh|8RfMt9NRD@SB@|#Qxxkt5ZF{ zU#P=csQtmmC${hP#_jv|dRmW?8UO44AbwW6{lU9D_#SRF>IixS4;r>KZGT`4pmRQd z5DGC{MA8Rv7V>AI$OWiQe@(V5+%sCNDV{2DGvAGqt^T2!>kKk3iXYEH7cp@(%}4VF zerR+NBga}@#2^`As{Qj0;AQs;Qlg;uAH+UDN47X`)EWN?D5LBBRuXx)Gj|4c_BZciv#Ul`TgA%1 z1x8l9CXx3rQzY)sES**v{>CyRyQk_ZBO-#|A%~N7Mn}xvrcGHNE`%3$X7Lih(iSgq z`9W?lYIZ3aUo{`q-lR->6V5DPf8m0I40b^h#9_mU7vL>U7Jpm&$!+oSiam+cOx-L^xn>t|Ji;~Ki> zx?WNIA0X|%)^(#*`L%OV|NWujTNnN}C;r%EKr+`?)Y{3uwv#n-jitX1 zI{5T7b&&azYd!s>gE1wjO5?P(XCOE@X%8;qffWU6AwG>~FUt4$6!+-gc;twMXx48D zx?*=sHRs0VQPh#laQ{z0%7`)F`^l?o>XVP8e|!Khh+=B@lY#c887!zQ@Co;JzSL1e z6KP1~K5h{r$6uy)=nrN6ACf*%-x`b4P$cF2bQc5IffBn4#fw;1-G9BoHW+_SdmN

          O~R+5_tuOd06ogw@G4SH&>_^r$BO{@MrG!qcU{3VoGN1k)nGP6C=#FsB6j*s?`~R z;xw;*i2Q7MdXB-soI4`hZgg;!WB)D=WOM+~k+EON(8&yT>=#hpO90;YFhqYnM`%jf zO7$HKWq4faEAXBXCjTt?D->@xo=ndX48(^KPVLb+8{-jTARzFh9cp?)ECl4qJ8b@#^Wt=XdpTrNe{Ot zH~zY`rWX|yF(HMSwU>K*)8LJ$d#R|K-ME;h-T=@X)QVN{d zukAc7mN>d_+7BoZPNY!}UHXN>A0?^oAR9!s1AolDc~+j<_Iy&FO8OVp0XCg^v#twO z+-cREJi)pyjOF@_{&v-zz^eI)R;g&-k?S|&x=`9{xa99owPud>&pVJ;b%1Q>dX~*0 z1*|Gs$^jHk3P4E*pNzCxoK zR@gF3S_e8l0Gh7j%5FJ=k?Uozl#>OgfIJ6_oAjtQo@VopULKJCQ8SkcKq|&>=_|EBi+qnY`X1#<^3ByzMW4)?h7HqrWLMnFV^tDyd-GAE=$uU z;ko<9g7*_~89UXLZ*H`HrQH|6N5}t)7LKf=u^&2b@#SH5g3AEQpAWa!>>LOFLM%C& zH+{L8>;ucKh?G1prLk(d&s>+X*yux=Z_M6B=14x4lEzzjnA{G+guctgNO9VHywmFE zQNntD(-Zs#2*{Si0gm0UlU!Ak9m!2BVRJ}$WF4{@jm#uxe(JW-N!_nUM#-6UuRxk; z1LU%FAb)h6}9t)w{-yo7|9+||} zc|6cOBtWw9JDR3Dkww6Hauj|?sTn5Ub#Y?8x)ccGZL|GDG?da;5*Pmhy)$nI5a-|Q zV99dlhA})+1_P7?o1KQf<`b8Wg}(DhA7Botc0b6Y?jtEgt_~nw+IFbpLNY zrs#0NOIxZ5Wnx$a`J*%flC>^(8g@bVUYBJ4(W7t0n!;bmjD);=$5N-^_iAPENd->* zaq0%{0it&I_WOK<`*=Ojd1^tnziC4y;qfkA!Ajpyu!CawczITp?%d?vSlz8p-m%6v zSkDJMAtZ&%6GHgr$lT$XkQp)9QpSy`l-mfocC6hNhc6lzpec2c;S zk^}?Wn$m|3fTTWuCY_{?(D2YlL5U-(L|1Z@&6lFZd2Y-UV@A-TW*wNr<8he7q!7jh z%TgE-LdH}ZKOs-`iv>l73|N{_FKs7*e;^YiO8Nkyvvqb&mR_ide&ZcxsY%{p@<1`v zboULd)byY@V^KSztx6}_6aI?SC?fopBSi5QEeD0PX7rpz*<8dF=gWw=aIAZ}=Yu?7 zxRXa9_|8yeRmq5Tq7KgFUHJovY(l$iM2jD!-;-d7?ulr3&~yC;g)6&4BIDS}HVJTr%QSFq^A-4)gxX2cWXUGXg2ead^L*>Wc@k|BSiJNoH# z>8SNQcq8TB}dZ@u=C) zr-ISZ-?LT+TZWsp8pfZ`h^k*a64D=D=x-TbM7vz~W-bH?yI2Pz^>y4>&Lpx-a;AtL z*M8c{oMwy-M9xHzk(1JAr*&m0Ga#iip(43*tv64unkBzUYrKyR%=)@_hC3VIdPY4f z5V7t|@>FDzk%Ln|D{GX=sfnWkNJ1(s)KxxfR=zF@xiC+1w2J8oivH1(D>gw1jQ-VO!!cG`LPMMiFVTvFPJ_UJ^aBNP zB5&z_Nd+d)XJyp%3`7MKLXI~;!!{chXes5Rjh8f@$hO7F$SU|uEr zz&n+hGQq#7SR{$O&-Z7c8o=TZT#yWJ5(>LSzCe8&D1JM{Waos!D+9$u*Vv@^rNj&Q zjQAO*h6#5OUKwJ0TBv9z;dO!H6@j&cpub2qAL4A7w~BYQdx5$^!fPE$Wi$lfek!-a$L&YDotEMO%YnPbiB@_nI*iFI{bj-OIg9K7z z=}iDuRz_L%Ah5NG$7#zzaPcRd1M~X^Z!6G$iex}kmNz~NBwh+QFTAw-*Uh*n${yBJY^)-YjU5(IOx9-M#AouCfZ|`u0=398)g=u+5VHv8jiW zOzh#3`@|l!Gv69=o-AE38KrN-?^uqE8tybD*>X2874{{n`c+$tHY9cc-zLh=FD4z3LCluTv4vVXA+a4hyIP36D6qIMl(n&EKgKOu z8_aY=F#1GGWAF5Y(e)U7uW{W8{T*9rZ@qTgFOsj7>2@Zsktvm~Ci33yf;#R>O@vYV zB=T19Aby}(ss09ZUW9f(?g*5b{m%J4KX z3AEfj-HnzYfb@GkugWxtsdcNohsTO)Csg+PB+w6|DABEc!NA}pCxkj*#840nbAT^K zXwEEV1# zPLNN%bD_qy7D6}QS)n@SJ3uI3SJ^SYM8NQdK;~P{bt@@nvMMvTg-X5+IU~Mh^{}4_ zIYYmcI=#tkG4aR0kk+rFb=W_7-jW{(w|>A*cI+^kHy#R}3~qLn@3<=u>Y5Rgi>NKb zZ_tY96ubXanf&nEy%!39>E1$F{Py^MDQd#XnYa7fJ^%=lvk~pxD~BMWp5Cs`+sQgO zG`bU1<3t!ow_SZQ+`|ur*8pS2ve!M6qGDv?ya)6`_w}As0?$WR$TIDJz*OdL5xWhQ84}}brc2BgX%kO z6*c1jHUoO=8#5sHoWU?fGm_8jc@g=~a-5ojzY71?i~Jv%jG}&bq9&K!&!}voS&%9) z(f2+cll<0;zj$P%J_A8PN3xYiBgd`H!cwlc4zX_;vbG~k^qpdwOvY-2PNse*! z2r5XXI`6@@;(oc#OGi$#hrda`q&zXlYEzb7`&0UqW7<{UKW2Z&<_&WV=@cmUN_cnthKg!O&!nDE~|b&B_? zF>O9&?d9gY89Wt)ijL-(*g+u98z9ab#2)kcjbBN~8MZ61__Na538SMY?E!5w0`qr5 zQv5^R@Y)Q&AO%t#1sOkmo=3)ybY}dZQ-8F9aG}A;Ed>!J5o*jK1JPjjTyP4ftQL3E z!QLt@qWVdRw?0~ZstyVJ)wynglGSu>wdvf85<=8O9pDW-p*&m(y$uos!7#+w?JQe}mfwr<$C`!Ms4clE^5$ zrS^9k&ZMW>D6h!M?jJ}D%ULlzvlHGhR2a(tBiUrYJDEcK)!e!r9~vbO%wut2`#a8@ zI4{e~HCS?rBoTHva__^WOmjs)4<<&CF5zf#WWv2&jz8>WsMpzjM=s^Ctv!5ui2)R{ zgyh8{E1$Ttp4pxlas-Kt)VI{eJs7FXV4)75W_rwSH5Bm^w=sw%1#Q@~TfLr|;BZHu zvzFVwmX4Sc9b#Z3XdtQc%^ z=9}v~W}?U6C4ZjL!|->f;Y2D)uCELqBVd@7(~{Q^$ZH2p?~p{`H=78WCgdH$=VpV# z7za5b{iaUekDBXiA&|dWKV*6Os=L>|(Hko09s5f|`kFihomfBuPjW%gSxkp6#iqbU zq!sa&nb)K{*+yIOr_3SZn

          w;6^2=@iaH6FC}x=f7ge=8L@j+%z2fM4nYLW`{a|} z87~&nQ#WfA32>caO%I&xD$nD3osnudv^!9GVMi26I=NsKKstKS|zpTu1st|Y%-y)v=RC%OyC2pCD&_+%h7#9Qn)CR_~y__FHGL#TnP5y+M4%Bkg^XiCgy2*pxqtJ|Kk*4(n(Nou1?k@+xhtk#;<9wbphN%XV<@?D<>D5s?M|~&swYoLL-+{ljYW1Fv z8Qt1<<8?9(CkJzMRIds@PJY2C)dyt~Ns&>PwHm@|hqjuL+MYh}&PgXdEmGE^w&z6e zzHuYm_c5S^T>5mYzDLtAC{5{VdvZAvBW9#yrlT729N+F}^*&CWzc_QOjuhb9g=)C| z+CiZE_&^{snjO&a38Bd7s@h|4Lxw5=#|rneV#jW%rIL`MYuxp`m02(& z<6(EhO)KSdhxe)oFZS1M%?vcIAplFsOEdPb8{`4(UyV;M4qdyEa~aGU1A+_RdtaU=wtgaKgK`PCt=K z<9c_ZI&p+QI*>rTHq7y772V#AO@klsv`a;|-4)??V^#LHdwI7F{_tn9)445g8s1A? zu7&#_ni=~5V%4KS7*|wzDUR_@<*xDyLQ&rl?}{2Z(D0i3E}WrtjsT+Pc3D?*pyw6d zB@muz4s>^2YF#sRTu}e&OpF?kw8!KFMLO0+QpPjXH=u$(o^+AyS#1o4c5hLS%Ow+t zyxV5ILtSZzB672_Jk{f6RlhUWsb8cPqbB{j{{>;1amgrTALZQely2+y<~r9ktCnHE zT+~%k*sz2v`7oiClbh04NNq!EFThWDN3i708NaZt-%BMVwf)9xDJM-1Y>_(Te>Y~9uzC|QS- zbi>NpE9FQ3O}ufQ7Qon5`i6JVC~UfK`o3a^ru`9h7VV(|*#{SI9^%}-I0#4(C7s)r zG`vxJmOZ@HB3!3Bf<(0R+~dpvuFbFa=4^oPF~T9*16(&^`|yNUR-zBxP?xTPndya$ zZH;e$bg|F*F=E^c?2}^0(7B|4I`Tb7ao{8-sZ{uFd7u^A38+Dzo%EqFrr5JRkB2d= z5>^zz88u?IlApRCP4>JiOT+A2IV4|Et&5(z(7ag#7n(fV;OF zEHDnJgS)n07zP4|$;7g3xqd=IHRME>=m#4F+osn;R^^k<6-pY2be8AH{o*0ar4Z*Do^jU#Uxn#15v{}{s zl~diEG1;kJnSlx|TH%Hw1E(=IU^8wY&!;V!?9?ot?7ZD9l>dYom&LP8@*uN93?Llt z6o|-b#m7lsj1<8`yuw3~{>DfOpcgjFNZW_V$?MVR1fqwR;W)BB7=A^dAWFtdFxB^M+8jSE2dXlj0=yD{)SdMr)Aq_EW>a%55X z`-7!2>Gdrp_+vySV8qi|5P4NjybkWrwhOV|1SJe)?o}vl#b*ulSr@wxRA;i;MelDz z?d|e{5pKE*!KW?1`%&}z$NT>0`MnvM`2Xkkhvs+S5kG2vPyOP*&+nns5eav?bD#O0 zAdOLU8pw#C11%wo|A|J%{ z*X7Pace3uZ{i)3SIN0aa;`j964z=)ZvhGe=7)pel<1-ovlB9(LkE>^!gZ+l*aO?z% zUpc(#>fQldLLK-#0QH=2o z+BF=fOj19B^}^;*<_Ff+*@uAq>tPjThVlc0X|nbx?w8X?C6^(-CVHD81!4f`3&USY zXszK~Hxjz#6S^z}NJQZ=TtdL(mJgG>KnvC7aE9j@WJZi&EQw&|o5A{JkoJ8Qi+t6;JhdPZd z00(&sl#<0>+>^?U%}CNK1c;TDnQv6~VLhpNLuD}c9MX#f1wl-rm3@}P9{`=Qx-~Rk z@f(9l0W4v`sDEpyPxH{GgSs`1%ghNRM)V4D)IEU7vLBYlcSeS5x^2Z$xC61@>;!B) zA*jn3R#1(+8IpdZ2bqku(Z<-a*Tfa~8*$3S=4T|C$=O;tbZ%C+c%8B?wS+QP^Jyar zgnT#r zgd&%t))>K5on1sas6ptZF{FGMOwCu&d3+TR^f&@MAm92laQMo(;S7+^fcN@?ux@eH z*}0z0c}Aq?&`9}!?@Y3W9m#wV#;)5Yfr3&iw4%TV!SGwb;^o1$BwaFCU~-5>PE@80 zqFYt=`2z9Ju$ATMXn>?(*b0U#!&i)$kmM`tF}yTZAQ}eizXJ*G;tH@DzH%Mc!hs!z zuUx@hW#;x^pVw)JCtwIMs9HITpK@`QQo~thB{_@5hY^;uOf7}8O!avf@u~7-h5GF< zl7rDZ|vfQFNC-GF)DY!lq5oeBhWf^VHCQo}&j`Jz$5mW2X{4m|T8==uDN|rH_c_68WCLz^?NgERBX|ivi;xUCLqepUv zg3;lKtUJDNZWv3$xPsWM9>cKG?=zd!HCa8J8w#jf8J)D6`Zlx2Ffx1WTc6Ax&UHIv z+>LV5A7^HCf1&7fFS`dRPI%>`HhpC)WDOTc}CsCBAG0#Ic5dmnHIg!pS6j<0Q-e=&B$9bKG_2xOlX@e_?zCUsMKma(h+^i3psjx9kD7z znt;k^U~90?D)@57(57+Oh72n?bF}^6L2VtkuZJ-sptHLk8J?IgqRUQO(OC&NDhn2B z^;~6CVqepPPb)KDVKuEJtLWm7vqIqwp?;eKCAAqfXZxem#B=xf$?4m0vY71a?OFVu z;oH(!{Bm#<7?^Q3tL^6DbGv86N_f@d{91nLZfpX7+wZS9-zCt4!tBfm0-{|)^xAxO zS+HgycjOHA+J*?sgM9a9!inJEpd5u-Qz!9yFw&h96-YT^wS6`R#7~{e+OyMbA_Fu| zG+QK=dU!v&Z8<7aw8Jc{aw)>31y9uhq9jkIHh3Seq85 zU4mC2oQbo5fS!gWR@xeI%6Im;N431%?lKbCgKMRfiL)0HO#xZd9Nk{#;0 zWfy}RN;qSXXeSIz;1S1!Ghes-5V5{25P1&gM!qI5ZIFSLg!39kjIAQQ^8IpffI zU&pMJpJoIdVC10(slQ!fd5#SonJktzEt1{1>WbdU(o&$Uw5fkXkA^QiG7nw=f5pJT z(d*iGjlKCHx(z45AghQ;U+wepn7cj`r4;*pNzm_&vnNu$xUbR*$nJqtBeH?6I0^x} zx8}o%E#Q-Br@m=uN`O=w(H`qBL_?>1OfAFBiFbL7h0&`@{q7DsN0Dg%YwLK|#kzr( zbA1o{Q@W+Uer(`c^BX?0@f+N$+Qjxb{dXN66C}pC?}S12m|(s+hL=@`Q$)8A%=lQMQ$szq;BiC^x^Ix{`X;b)OvhY{7@Oo2tDtq8W-p@rCV102S z?=*;0n%Bl(N_Nz4;}Uvb)^us+iq3Kh*Z0#{hp@_NH1YxBnnDA)?o&LMS9LD^34yk4FfHm@K@B7R|@Ee=km+HvNJD#m;kAWX;)r z$we6%Pi1!F0L*_FQPY`%R8U9moF*k}Ge@>)a1qx~$38Gj^d0p9cEjx00>d}*dN3JK zTFRPM`ikOx&dioY&1rm(Zkd5zqUHt<+ybUJ4IAmU&Q{rI4S@SCLCn|=I{W38zf}OQ zG5`;MNV*@^0o%p!As)D^Sh1XjhfN@pN!TD3C3J}l!HmiQyOrX#x zr35M04lv*@ErClJ!@&x7(#abc=C;_?678a;r?r-pdnL0eNd^yfA0O+TUOz^2ZYRq4 z#A>!o=%le}p_9tu6X*K=Q<|dUcRsY(+Hk4nE!rdR%l4Ff!_6I1GR!|2XUK}E#mxw5 zoaZ%xm&S^QSry<}lbv-UW5ssGvfnu~wgZV&NLww8HHvwQP=PRp{vP?O733QROr8LI zG(Ah{0kE%ZdWg|tcs_ri?cuoGTF>_Y(!o7Ea|?EL;RUT<(WmW`=_h=UFo>GXFB%jR zrPIkhvk(=|C|NwoC{sW`Z4bD((IB%*RfVLhVH1Q*9rrM@MBVqo79P(v7@5d>X#;wZ zBe^3J<^`(IYF(l$b#%^ha`tUi6SJCS&*Q|v)?tvNPGC?y7@e|3UV9T!+YG1oqRuDXVf&s!)$;mge` zk>eg=`eno`Ko|&f&QLzr9pjh(Il6@~5PQ$`X(c}OPU8ly4V>=%H+_1YyEH!DDGy&e z>nvwL-0qn8G+q%W|J8M}E~vj5*4~1m0?5I1nW<@A6#CXgzRj6byIt=d`< z31^5KurkyRsE7s<6@3<0;HI8fS<@JQk=8ny)&g@D*NOPqD){Gca*I6HAMu6wy;7iZ zvR5Y>1)2#GA)~%KC&_i#&m-T}&s#)CSXKDhc8ESY4bgS-;?(UH%b^xTFZbr-K4>4G z91~IcaoprlK!A8b0MT{TbX#;Mi{tlH|A(()_c~*AdKEG7yR>G*k=%`{KhT zaE>M(Ci4CYdTE_&5JSadg4hisjDS+6C=UEThSOO&XLC?1huP>S^<+P!%GLwGP_0_R zYu4SrYc}4>p7%0`zwY9>d=h3U{DV1yRR%+ul{&wzNVNQ-{)~^jBwexqlooDfSaZ~t`DbQ}MPu}C4-S`28%3`&8v zTqrNl-p^No-|!S%yKv`)c;*UB-xsdIh?6`E8jw_|e|6%m^)JDK$3njWD_s?`tfvFA zY!E*90Fj)Wxf7B=FPo*{&VrQKcj{cQXO*pAHr9HsqycF_u7CtW2(P9;ZvEpQz7|M) zb6h%pDLe`KJ5h!*EWXJnwEYaThQ7iz5Gg&yb2~igJr5o)no7&ej*1+dxRB3(mm)G@ zBM@zWr+Nf#T{wa*uc?(g*~n=3-|zws4KduaR$>xdiBMCsQklwS@%FNNGH36n1hPcm zU(q5TZ$6pn2=I0y?-_jqHt`FNdtgMPjcOp#nPp!4zuK}j_9NYdp(Sx+YE`9Kkzdb0t9$88Eso@c~F>IGcw7NO-dr^iW z5uLkJcLw8;zjEvHP~VI>eW`Q9AS2++%r+6LcESng`tBvhwmEpA4!!yb3`yvEm@49_ z?NN3h>?n8_u}|ghK*?Tr`Xd{WC+{`{F4?$YBk&j%&6-^q9m1CPpJw$%)#`siaFUL* zz6DNv5&KHSFYRi1h-EizeJu&NPU9aa;27mrEt+st{cr_`^py?Pa;P12)K_r4mN<4# zG7L{J5;X52GN>xgtMq(|B#0uW^5nf)7YLB%@ZZA| zr2N$!*ww2x@Oew9A=EQl&LcLjz^S&2>Y%oKSOUAb}Ue zlG?B0(-)n6s^XGkNj7efv|U?FzOq5tTf!-&LiqO?%#4XGtu2F z9ERpwFxVvpDHDPn+RJ<-(ok@ZKopr(ghF_byXdg48K6Dg$Z;>!X+kzKMeGO`Nq#|T z!J(5^)*!V!&b{#nLBu=Misq4Q<4iUbP(7t<0U&9BZrN3W}!{Ixz zF7~*RJQZ`g+cm>{bIX&-Z`K68?@i=;@gZ7OR3m;oSMhukoYQvBDuU?P04fH;mYkAQ z=l+ET#d}Y_0yEsc`oaKEkPpx8<_wWpeioV&*%9CE1zsrie?rL4v!zYkyR&hHLcun= zPtdr}Udt3NBzp)DyfjfA$lTr(DmXw>u~k5&)gAmTYnoc%tROx;Pim~+1!UzBPPMLh z#l)6MzUOTLD1m2qv&Idv=981W&`ujNPnA13v6s2ANuYK5aQk|vu9M+X_t_Ituo&rq z;p009MZTzt>qOq>Hw_QPC>cTi8ig%Nrh=_7na*N zi5}`>IpQy6;yL+-)X5gp1Lf*MiVY)D9b&48uv&KV(5SmUzaLf7@v%IL+I2}_@NosBCb zvm>LXYY@8%VY!3#%LuvmYOUMwp653kp_0x6Yn{|;-*}H1K!e32fNPKkcIPx|4KeAe8jTO6RVSNdA+v)+{Xd{0_NTxFQ8!J@RdYH~fV zR>>?=0T8k}*Raxn*id*-Nu0(}(4D=0NG!%TmW8u;u4KTxW#A0n=Fz8cD zKuCCyF+sae|9zuT7xo$zo>;n7_@S3a8CxYcdRaGSNO!4O7Bw0*mqH>I^Iow|hIeWs z^X)(1N2Pc+ai|ydqIM!L^oB>E)wCo6jhe|cSiq{@qhP8g(dY)we?rTc#RzS!5$74y z_oxR5aO7rxCQ!3J;+qA0p<_9bXBasnz_Jf3&-`#{X!eBEj_Z8!#AV)n0H zBy?d}RRz$3HhDVlr@{%t(|mUmgsru6UFMmd*{yXxouo|Kavg6sdw-i%-kr=6A($4L zIcSRvTDoFi06EK7qCKAb=8z1t#ZDnU+opN6EyiSVcAS!poRRPJ8wnTDA=pWs%yMa)@2g*CEgJ8wMOAL`pV{@C;r7e7D_G-ua@JmG z@F0==u-9>y49ATQS9g5XyF4y=RM)(sT{zI!N=E;|6HN4)c z^wqU=s;v1bRQW3;ECm}nrg&o_{&ews@zp4n-|b67ksdGer+AGh40Jfe2+KG+^Os%P z+4=lsU644a|G6t#F=7xYg+{>TV-ke<*F|qAjniGG~YGEoIH@`Ak&{e`UyGD5(XgSmFC1Bl_yN-f3INVlCdTxSx7GOuYvyn!S4nm!5u6)>lw>R!0rY(Kh#3g9THT>3=AUb59)?s`>*zl+5{Tf=(6 z*l(6<8}o(xZsK##+d3US!&d+wNF>{x8vB+sOdcyOa(i6G4g&DFxPIl`5LoH*zp!AYLh8#I*F_*oIIXVLl!L@eF6P~f# z*fJv;Sy_SgoYv{x2db5}k48wlMFmE|`r3!A%S;4WPK^P+kn_*WgsN5|mR?L)p%=)W zoYJ^VS~_nuk75T3AtS@_H5yN^X$E|B|G1+|Mr@EuqNNpP7u@3z;KZo}_ZiJH>P@?g z{PJM4i)4dpdvK@#R~W}|!V~eSZo$Z@iM(UgAyhF#FKy?)JLhwW4!DL$2^|@DuU3Uf z-rxBX@jc2fr;(k;Qq6T_;2qpcgiqvs4MR1H%XpR8-7)NCg*)_m6O@*eLyac^L+81v z1y~&iUTT}2YMQ+~*{n_|Q8+2p?A^&`N18sh7;ILvgDbK#Od?FDu{X_@bH1p63^)S^ z*mh4c?Vg%!_X*qX(W!RJlkE;M?Gh42HXz#ls65r~e(LVCB-xzo4`0@)qUo|Mf75W^ zWWRL2Haw&gK9)K`lkqRCme4B_m9uS#$`6+UnSFvqFpCpjWtac=Ls{^j(y|mS{gocv zrUyIhgUj_`jvkz5CLYH!P1%-{0IBk)w3tsKw`+rm&2Ad#Y4X!lw?Fa$gUnXXGc#h< zrYRB3KhzGQKP|ofe`(1YBGuBltu4L%e`#sH#%puQG|uDNaQ6q7utv)`Y6b?yz^+X~ zAt(3t0!6oXa&IiSk-r#h$_uV;HDM@UN@}>W*>=>x8n1yRwt_N!EDU(%Z0J!ru0&vt&Ee*05ylNxSQejpFL6amI_;}8#!$~A+odv-IT zzjDnON}Sa;5zPh3!j5ROftm>`r6uMLEWhtAFxF4IFYd?fDx{zQDe z_%%#XuDujyn8ItA$M=&^U(;DFXtOZb_atcTG#*V|bncOXN7<%+YMMGe+0<~o5E+=4 zYU+2%rruNu+-jEEL&ja<7L^&6HH%gs^chxoQNb0w?25-l@?!jn_{5)0C->M+zGn*6 z$&zHtFQ>PRIJ&}JcUr3DrMBg%rsc9mr%1hbXG&9s zngSkIlo`3*>h~Jg@G%*G7RU0P#v$->z!nc`ru10*Z_3rlWS;LhMHk`@+iA6w|l(yXijRS-f zs$F0N^?5IV##n?(7a`WVa}R>;KL(vJlP?-MH&4$azE%7(lQl}9@r-I#QImOoNR`ak zwX5PZn%i~C2KG%Cc>rLcq*I~6eTzVPr{Ofy!-4gBE0Wj1pNQ`!ev?gK$+hdVO<$%; zYFd`p(+N1Q!CSC8je7)7O|JCR|CyPc!3t!hMBqM)W&b?B^p#SR0*rl^$0ZB<=nZh0 zyu8ojg1l<7b3*f1&UwDT&kvyFT<>rHW@pq&<27m5UKDOx)t#n!QoJM?>m%G4o^UD6 z#{O({GNrF02D?A+2|ORN58l^P;56>XZ6fc3`QS@px4}|_MqhIs{}k+KDA4GX z#rGET_x6H&^cV3)!80UT$gT~>G!!i4!t7(<33t2VdJx8`L3fR6uHm1zRdOgl9;oe@_UT1k4ZNc z5GzhekK=x{VP9<=(30x=gPSxW|Jq9pUhIW8l zk>OuuW^Vxy^ToMxLgDj0t`)CD>s`I;$Gj8>|H6C8^6pvf5*obttl*uT6Q^knzEElN z;xsPS1G5abUqcgp=a`p0JB@KXwOzNfAmX|Upri)CN_4u{8M}5jP4P%ZkeaA#LFzbK zHBsQ_`dmUVdxH4}AqEg{cvnao?eUY9?FI7)332v0A%EHaDKQ!#&-MMjwZ%xX#XD__ zEiLU^Ea|Al!&5D8F)fz2wpfyE(d@*dJ!&DNxe z+jwzW`Aj{?PkS&~57N`YoW%oeURtD&K}c^<$i_fqVL=^#6M6SO1)_b(rD~YXb|{fMnkFIbzCtvC)xYf@_(c?6r0<=yko9Aj~-dB zJL@Mh1Y{dHARZ^#@|~uFlyh3^W)Tt0IG1Xr6T~u86)*EDvSz0$R!gJUzG8(}u`sP- zVMi4Yr=n~c2ThPpzs&O|4WJw?!$-dM0PlcE{jvbwZFo$5N@|=!wk%4FT*>Z2DX?F)eCQ{2xZQEk@kxj%?i$dDUB31UZCAp*WabbjM<4bMpnImCot^*_$GQPZ*o+xE!dtY9H8eK3HeYyAU;f6bQ zn5k&@6HFeW@Ymx7pj1ALDlfDR113U8_@&}i?ws%T%Rmp=spcm}NsEUi&C9%m&ux|U z4Gg9f&eFeSE&iZ0bo;fZ0HR`1l=#;ry@o&q}*|&9bq|R6w zD(JSp-I2FrtO!V1rl3!|r@P_-o?0}=z3F|9lF@|L)yP*Vc+GwQ#;L?*Ad}P2i)d&j0@e5(o&~phjaw4H`96)I>lNK}{rqJ2Jso z7qC^qjbcSWohYsZGEpYuxZ+Z^t*zFjYKzuV7t{oh&5D2vT2z7-xZ|MW##Ui|@6S1R zCX;||zyCik&76Dgxo3UOv!CY_z1b~`fOi27aTD(@zd3g+QM-K>W7BhX%1%)%XoEwi z>aH%f0;;l++~hg3Q1uf>t_Ysy&vzZHB$4Dtnq@I43kY=gVaN9?b)(%l#Fr{u z{|?>Sn&;51b;j@#h-?e$^2%?}5SWW(WV-Qw^DZ3uE7oUO3-j^IYm?!Y`Ws=+Ugl%= ztNEA@nsYzwl?JHg0(t;yQgknK&*okkE;V=oG%n4<5CmL~W$r-#i^c5yiuzKO`EJ%P z*(n^2shjW;gszY4`rDMhac$&gUCp9V#tS-v)sFQku)?5P5w<{e<(UB0D_NN?#MYkE zxM^DZ#t%ljDZqK-wmhd%{64AN`a^IW2AW2~Gmp$)G_r_WeNwYa1RCMB&0su=b_osT zFEhzKZ-}LFE{ni;S!Q(5;B`-b9qS1(BxrF&UVU`C|u6Q+Yi zpk%gxtdp2jChP4p^}ar zDpQ9Zr7M0fo}fb(dKB;u;?6FmaI|1bi7WiwT%(O-pY- zML~Aa#=7+Riw^qKZ46Fk#aH>&zXt8uG9sf07=NlYgPaSfZr#jVrgHLe5T}cCX1Li) zl5JSVSa?oN>TuBT5?nYf^_a0x^=4?-!mBu2MpiI7fnBwg02PH&BY@}?OWfQ3SMVjX zz(Lt<`#Vh%uti~uY_MCmViMMdrk~IoXYbzc9Z3gb!%O5J2kswU7-&r9I8A%;c9CR@ zQBaVf@#}z>@T&Tgow*%)m=!;l7nRME;ahm2SU5xrl!o&7C)Xx9=2sLSY`!F{ga#kW zy*=Au!fDEEBFxKae8se4H}+!7kw0Z9wlMn-maB1FAE)V7Ghah?_0T3veGl+x6UOFQ zS2lZZ+bC)X!h}9)hHV|&>}?z2;uhr%&`9%rCq^DB&D?nxU;jzcDd|;gj)aI@T7TyF zCv?FE>+hQtPZ;oFs=dJ!55}G;Zlg+^gZ!yK`44Rzue+2!)(~7|p(3vhxxTx`97>OQ ztFSY!kLnG=paWV&b-dEdcrf~cb&reAw%&qv z@wa%%=elRXix;x$f7DR<44)^eGGUI*%GXz#lOucQt~ngRfOm-s^mrqPFF_AQG;jD* zTe7P0>BSc?L%zH*lz!IRqOxp|7}%cV?Ig7&jOx&7NyX;ft&7fV$|-BJJ@@--O=$oekclzVw@b^Ha7T zXH%$D3TdH_!tA&dnNc0K;A0)H9i6 zJaf^8f2CbK=Z5Z7a1($OeuMAyYFY}`cX;z3w6Gqi*u;5M)f*e~NzU$_mVKns+DFv$ zr&bs{szDv$;oZ}RPk@YBgc5uDrJDZh>(dnq4TWkE}k|58#IJEhzQ3yJkKcC z`OA3YPXTm1=k`7feAa0u(#St-3n8!AHp^Ptt4XXB(rC~y*j2O4a7@2L zQgNke(6!$h9*ja~Xc8j6U* zmFre?s~^k4us9P~95&YmZ_tLGSx;uyPb5rF&uga<5HP=Nsq=UIXeLC?+z($7e0$F9 zGl3(Tk>NeH{O#03tz^I&%k(=Rw(|D~TRoOCj>T|%Y#SZjGr?Ru@cJ8x+*g4qu$Jl3 z*WPz>yHi--)!t*vd5E;qLkcd58+Fr*=^Ajd@Bap|H1b^MHC$PHZ|G%29{gJh4kUm! zBF}t*3GCp=A{rpZ=M;EG0!c+qha$aEUK=?!7`sG=QUs_1qf3?ujP?af{vGL8f@seG zdPNwQ!O9C2?>7N?Ltq6V1c~Yt9!QiFO3TI_@O3&ut%6M8)lA@ECh+P$nZO1M0l>MD zef(LC&*2Npzt7kt{j|SyX_*dcuh=}=UK4TC&L_li;jCbBwWK*YQLsZ4_yK-zn73~N zVUedUq3h^-xsmDAL80Wb7HRt;qxuO*g&dh)rmqbP7FRC(UL8FvewKs z(D04-&LXp~tJv4t!MzOKiH_-qbC(W3>WUmo6L6+0mAloQ)Ttfrg!=$yMA^uXoS7c6 zQ(_CVxr?+RP2mX9kRp3A8S(9`1S5x2(YNAR3?bPjpZ)^ z2quWc@yF7*(Ub)cAh7d{UC&I{7SsiI*NV`dl2Z@xg{_~mX~;U?C+=2mn?_;Uu!~6p z)*YXOy|gBA*951e6`TZqOcu=jov}IMGDYsPZ=Ca%OmNQX?QZD}Sva@%BM0??3Jkcd z_z|k5!2D!E6Pm?uTxVblvzFV!d-o+KQvarNEzc7CM`g4OI-|BzK5RZr7UaN`eE&X2HIsh z<2*kSR`gm4Zy97%6=a~cV6@>$hE}z;g}=m_{|$<&K;#F($AjeHnrdHhG<-F$X!DQ1 zmC1M<)qtX+L+;}dt}JPl+5Fu#D zJU+;yYt7^L>&?)UCi5MUQ+Oy_V|+QB$OkH<*lTeTOk&rq;>Td|NN?O?)4*2ln|`{8 z^k4imw$>@Rck@8V3A}FR<{rGWe@Yj$&+i$6H2Lf3V!J+Qj{>~a4CT72R?49K+*+H& z?<)6aHVFrqJH{p_s@Y$VmWgg!!1ss@q&y-6LSlL{nv?kXth@KtTkv1+nC&to`%m;N zTF`}`Xl^h5O3-c^ff1dV&#^Ca%}Xcs@x9B1$a!x-l z5Ieg|+0taefy{%Hz?zC(EOs!mb5BR=`~9ZBiA)mSPmT=Hn)av{ACST6Sj#(0EUG`W zR?6D|e;`cfL00hZEXvY67#+qWakD}gnh2tS;IvjJk1Yz-Muru4`Z#_P#ii}y9%jit zTfDpOPz=+q+$Ml5btY6w_-&Q};W4x&twm&6`#Q#(c$J}wTl6mCb#<;ry4Ab%7TjN9 z=_m3aR_>35uyO=x2i67nu_0mZNyFJQgF5I?(F%5n{let{;`sTJNlvbfP9|DEzTD9Z z3K`E7uKd)X>e#m6W5#P_B!3eJ!3}6nun$Lb>%R5Z_+Cw=F0mMT(!U<;pA|aHjozw_ zdN}`Q*B7w-Z;_oW*#8l;>%u3pB?1y=>H8;Mk6w9vJ(-v#>i-vjwPv~0%(AiMX*+=a zG}r!*0Yn>eUdxpiUxD!>(mg(gepT^%0l!AIj-~K?(#e8-(E-GNrtIjD2c9s1`fGlo zxsUSK0IDv42YjREZ;pq|F>2<1KXFOg8p;Cc8wFeY*KeY)_)n2O?wG6y4*$ zq_K=`$=I+}oL4-}Zlm}MR8zL*NyhrU->WrsUF-s7I`Y;imHY8%_TRpv_w;w1i`o+6`Da{u&YZ{blp z2Yw_MOKr=(h%W_hWU|4*-=8Fe6@oALx`e*g7Rz2w(dYO5GhU#}PDNzd)!U&(QRfd#M?INtzA5$piwg+y(0Zgfj}i5h@HvqakSaR2k3 z>byjAuk0LtorPHHj9K-fox^!%P9Qs+h#e_UBV@&W#*{1?xh>oK(=QqKg|ef^PWm%s z+Z*sD8BZ}(GG0|ip)&qvGyb8B?#d`-9=zV$^f8l`Vd%W+ZR!6qGA5B>?t~-^)3ots zb0eQILy3VV8%MZl0lVkxtC*lffldb*a6Zm%$@-s~?f94b&@vpNmuAJXPDd4y?|E@k zz3{>4D|8ZUqj$?NRNX7c?-;M^0kh&t#U>|`4B6y=v~h`FQCPIC0VD3J zVJYl3lduXqZ|QDPBe*j6!~e3-+3~&kB7-IP>pzScB{t-~ zZ`kI*T&1D+C?MNw(#TBTW3$b1%V6Xxc&HlYmvfTy{DZ&>uCw>|YYl9kcnP{O(9erz z!1l0O8WA7*Sa^Q_B_PnP-%@#A3juM?IxnxywGc0XOY$?m5)WCO83^B*6vkAwV2GkN*B z`}&U!_U-oxyWys?v3h)+-dMY4`y1;Vn3$@lV~xa4J2R<>g}zk}ld(3{)2hjCsyQ~P zP4zdM)TVmbCbg+vx5@vssqhij=rfQHV$nvr<;<2)-6Msh67NHm)_yKZYCxmV)F@s+DC$|-6v?{xk!WsO+9b`ni=d;vjs2B-{3+b=zfB=xq;DAQOTDQoLB;ea zYY}mT77ceedpo>$R@UO-I%%2}m$k!QFAbKE0_R#Kyc(s`~yR|#XX?nuE>DswRS94>s-c;tK zdeqvoE;p~WVf&>{)788wTS^$?S)&9gS@D(Nh3345?WG|vcIE4p4ZD6)>D;}jvSmYV zW!`cgCxlke;XS>X9GY9%T>4x#g~~$D#%|{0q&{9;*|L$3xAGVY-Aj=@zPgS}$Kis2 z9#n20YnJ2jQ<>|s5oIN{gm-|oey)c0$y%uY?X0Vo3k zlb!G#1`>yi*{FR8Der)IIls%6Vn0e*HtYpq-R@P*ryI3j52N-&-FHBSE+3Zp5Q}k7 zpk7VNAs|?6j?lUi&@Yp702#PUbY+R-EB83KDfOj$7~BL6c{f0t;Dp~aFwz;$u5+3c z?~} zW2GMQ?r3OB4(n1s9--ie^}A24%9i`{`mg6jo6rn5<8QAi1B93|5@(RW!>AfHcY4ke z2a0=a2ml&7j>WdsM)CPRW3t)Bc}QrK;Oa_*EfKOS&!hMyMhsh!KyeOr!;ZPjJHQqU zVFudh1u2v`!mD1Jrgl@kCoeJ-urxDoHhHpi{G$vCxF2u)_=FwxePA8zs zJ=riLPSdx7chPkHYj7KvzzL+7*i37Bi;MSd z#SOG7S7tHZH5yhIx9{qJsOA=yCKr<<+f8l85l(^N{Yo#vnN z7u|O5VQZxZC?Qe^D)agJGGe|wW{Gpl6{-v6HkYd$Q}7_!9kt|TE#$9qol&i+K1lw` zm?Lvvn)7nofzHe;eBjZ_>tBaek6rdtj^W338b@>eh~A_9H>$*`bk5Ev32P9+#^4(o zkchj+*GaIC&NEBYxE%&(Js{Y)y^9n6$RzqW;f*9l#d-~_DQm$<$qgP{AK|M)<)LVa?xC5K2Bv^AMlf!F!!?;nHTfj?A6?R=MGpB%x*Q5wR4j-y6*kUURvZcKt{}Z zAo7i=i>n~Mtd4vfa2}=g@12=ntHxAyJM~32oo)#Z;DWLxT!j!`>N+*t623Wf?rE`J z$0+DLN?T{{+0fR?WaEybo$%Kh{*I%#yocVDeF69rO+OH60YA(-iY#aDj>cpuLN4jX zBp-Z6GmVSi=8{-v=4#U5>lX~Zo>$z$uu{xibME8o)BNE>5r5<7@Ij{R$_M%fM8IOV z0{d2OZRZcqrRr3bW;dz05qUcRQ7SY+{2sH;Iz6v#KXM=X$JWElAKocOA&MO}Sy0@B z=I;xhC4!FOu14)9i-_=8UF6N~B89NDj!g@xA&9z3`(NlvTl_yFr*_N$!1^jDzdPY8 zA)?;uwO{(dUg(Uv89LirKwe_BdRJol9aF!>w(H1ZdvMM&?&aQ|^Rl4PbxvIgy8DSE zbhqzaZuYX|r~2NGdrbQKm2C#$W--_}F~rOa*fvf|m-#Pkyx%9Y4Q5ltc=)q4B;0kY4+%?v_Wu(kJOL!cb%Z!Q%#F%%}M9 z_UXHey8ox?OZ3hhT53H`@di<6qFfc0n)NtM6*BTdMs9RvDw-_#XeJ~7qjYEfr%uyP z(@iVZT!eQ{VI1?crQF?TQKxOnX3!CN39pda@A!|I&_zlORO*fNDID#niKYc$ApV%2Pn5W1DA&uP ztlet1-)ys2XV{?>(eLSgY0i5-PIi2Xo`>e1cnkg^&b@Cqvs=O|XkP>X`^!HCMOKZR z!Ck{b83u5N_t}%oXrHYa6CW;6hi~|Z4)2wT0?fAeE>^w{;H4KTtWeY5DCNJ?q5NBv z@&+k?L5K2xQ~rUrRrF{hB|)P zq3$!(m)Dg)vO{00RQ?I&pWv6z6U>BfU?Y2XDE~@-OPg&U?yK_GD!+S&`nR(=y>ZI_ z%HOuO{5s{2RQ~D?`K_wwSmpoSuSbjQg!`%8{gp3WT57+s_+7~}%)D1|4t(?79Y%eF zT3Po`z7liYz5*93f2s1%?T|l8`Ohi8szd%D<^Njw13Kg%sQekq@7p22tMV^X{&s(p z*ik2V^3G8HI_1YKw({=yx_j0Z3v;jsGYmor8|lTY@d`4`s<)AV1G3(Q@h5F|O&*16 z3t>8J=urRxCNKWO_m;*Cx+9xSEe*??Vnow?ys?dl@c4iu?(fWeoI^|E1HMDx%Dw0l zFlRn(Bn!p}3&@u96-&2P<}NVbsS0rk$Tg7ze{8a9?D zjl7PG-6*$2i8RHIKTdUl$iJ+PE!tPBl@ho38c4$`ZeUud~A7F-%-UtSR1)?eN>THSA4p=(qS^* zN6mEDHv-fl-+j_2E76_AJ|y;pAk`ZmMYcQ&ifmGYf|+6fk@#mf(uo5|QpF0hw0pp@ z;((+wo=yeKdk)tgprpy?ukoA#uHm-vlW8!$Bdn>Ets*+;f_=7}Eu~fU295?9WYdQl zV&N9jZgu2?#x~s&o^S5_Zus|F=axgU%9G=APxz-?1-|Z-njR~w8vec6nOTZp$D6TT z0*x(Q8{4|Kw(VWjx{flRQRdC69t+~PF}<+YRjpoLRpYipoI5rkun?)=36J4hvi8Hd zg)-uik#(yeGx71fsa28TbV$6gWq*h8WEkRsW`3^h!qt}Xt$b_B?ys`VXJ<8tW$vjG zL?mxq)I|()OE40Tzon9q`H|I?4I2-^#E~R6Q6G(li_o20uBKaLj9`rFe;fT@!d>Xj z%yA6fnR`wb>gw9Kv3u)AM%dP^@zYbPd(7{#I$q6pwdm2aTiuG~PIwfP>c&Q72P6M< z2P|{5zj5ZCTp3PIs|Z9|8JxvSuNsr%oTdUHn*rZ&Q9Fk|DwZPA1hbcL z@`ZH$LUTQQRb(68IfTA3f$L5|#kcmFa-Qn^o_(1>@u)zb_?^OvA zW<{PUeu1ALrl|2;nge`~cL#V1dz<|w$j7<%0J)5h51m=Is$tlE$AmbcIiE|#iOgMP zB6I8D%cR3lB7pYmu_pJz%BedYhNAGiy07XROS`#Q$2j5N00eIKdy0gpDzC=7O|8-L zSU0ks6X!Vl>^k`+tCU z&^!(8b^YOfEwF(>4le>Gi?WVRQNm#4NSy`>Mt+&^MnkmPR1XqE_F2MbGQEow24ceo zN>zdn1IFIZlLcdMz#Ac(?LdYKwNQv_@8ZV!nejjitXV7=y`(t5VV>zDos3bgIrsY2 zbj}zQ{mxxRb*6Ja?cBLzZRe)s%klT~kh=Cvhpx#%JNqj)`hu~-q0Au;+x3|Ivzf|_ z&WTwapB3Uvj5XvDN9I~A(0j|}WW4GWl~x$Wu^BW?(bwM~mgd(W*G;?^RTI4oMvj+@ zP>cCwtM}~=-DpfqLXLgN!e(MoS{EIKG!uFAC@QTbEPzlfgi0vW@&Ok0OTlM!;fHU6 zEG1jmTGc&PR7DoV@8yT}h zs$ys0AdEtxas46jZj@-;NhPU+3WreLR?f(=gVhHj1P zPwDY}>v}^}s(K_egIRd{#(aHXTKnTPO{1>(Y*r1Dv>+HeXz|_qXN_#mDNO9`XUz38 zs#bVaTUy{Di}(U%Qm|sBRVJ+nM3&YLSm`v)|AMMKBp|+A4a@{p zZQ4YJeEfUsGhqzxh#G0XH+lyT<~KIviGS?QQ#R*b_fA?xFqv&=w*E`N!2d}_5TxpM zWf905PGY>YOG}HjFnUHW1uXXL<-6Pg{=500iv+A8>=&ST{HEI zxPswoOEy}Z+kUMQoOI+a*O!z^5NBxDZ?+}gEqL-*DV zd$Y6Q6MF3E@lE0dH`xj-SNB*H`6lrMMY^dT;YLQ^{~wJ0GDh$1uhj39>aEmEq%ydf^Zx`l(*)pTd5Qt=!8_Zb?i_ouL5jdColv0C6~NnKg|F$Upp57j$KZW{pss8lgj|!&*iZw+T*9OPO+3Z9C?>d6=%asJiTvHIiEv_AJ^$4Cp^J_ ztqZdD7@9U>ak(YC~LWGPTYLQUxG`Z>&1tQ;jr;o7_%BP8yZlFb-shh>G zQDrnOq&Z+2=E@0w2`ro*8#t^CM4d!Ex;U7<5!NbYh+1l*nk!^^ZG;%=L{MHHjLe6Z z=vyPJ&7XM@;C7{Kq8+RZ4v4$i+p8LPV2G-YtahD8w>dK>=RxG=V2IkGemIRr?HXBz zH7i)bZPb6{b!{YGleR_u1JkDA!bpH=ghoP)ugOXTgCom(`wQku)RiNM*(6@ zFng)|@+E_AFw@~pJGHw)_$nk$gpRhemx``_bXCK!;&GuPI9Qn+7b4zv(s6E$QLL@yuF z(^>}85h-yS-++0TSm^sx7OFPu`gM>^%Ju6|o0RLi!0D+e~ zo`Lf2JR*$aibkRMPvGtphHIhw!u&aI;jT58k%T(XbO9IAy)E}bx=eB3xU zR+(Mz#T((Hq2;`oP&I=Eld6G-_~qmqRh?8qB&_!$6OgGHzZl8#hWvOF&B7eVo9Rn+ zWM$(zu|JNK5J>!}Og>>9$QhZbGT{w6lfl3hZ^pn2E$-U5u6ye`qco952_-{Sk7e;) z)D5t=ewEjlL>cfHRY`q)8Xq<$Q3mAGrhp%nP^B|_ar`V^n3-#!-^^Gww9h{$Yh3+N zeld$29Lqx z(f&VH^s4rvrM76 zE1On@dg7DfyaY8>+nXn__Os8}Y-Ac43jqy95z1#t zPkHWu`GMHr9D5O7a41Yq=;wHVoZ2w#m~o+lbT?zg=k;GFMwspBW#!wASbw~39f8;7 zTF0CL=5Qn}1hU_%t=M_>Uc(!P4TOqFyipr|gB9DZX$~HRc~>N=Nb3B%F9O24UP2C~ z{2Q^mMbjUwE1<9s1d#9;E5<0{9+=~wFo>kpUod%7d>k(=Z z$C|SCK6pw0EL{iPR4T#fR*(xYx2y4z;=Dr=Hyh>5X6B}GC-Cq)gs^r6&w_ZI7r4%E zWIDsBt402*cyR@!DHL|28GC%%Ltf#cK zleY4mR{nGYwDT-z=L6b#dfZJh;xujJyLcn*urYQ7V+AcU_Rl)CdD#Amz5R^8_!*Te zzN*}^7>M`-U%<&!yk$8Vlu=&o0KBGZRFh0|z82&fKJ1_cxzx|_wIELTVf7iFreZZW zpQ%=~9{4v^Z|46M@%zYOpUcoL71dEh8M3RPv+iEYcxHfgDHJEdqGGK83=Mq=P{o!OJrE<+Kt6mz1XsI$l-G26tqgtVRsY)u~p zQpL&X5I_Vj8yX)vP4xYlL9o-6-eYs&{d<}h|Ek|VfdVykON2RFQDSzTW`Y^$aZyIB zk0S4%6_TgcdVBYP^FEJy+7Bxe@2!LXqB>>|{YP`Je%U`4crhD|izhP9|H>{Gj2<4K zgn!s~GC8#s8=bH~U7Yu$W_NN1AUaDEu(g#x`A(C9*qd}Vj1T zE-=0G@0jkc`{^*C?WJmGEYwgl3Du>@U3GgmsA^ou+W|l6em<0>!L<^#T+|tr3 zmUuquM3y95LOsyggt|nQ5brH=gL;vcPIOdyTGX7B>R#WtTjR;YuVvVg_c)LGNiyS_N7rp|Z-BB(=?k@u1X$Ec#uB^*x{)`$){dpv6-XXeFv zeLvH!*GXyl9;AfO?2s8R>d@0ed@A#HSSQIjQs*?iLBgI=^^RYaI$pbksWwxw`>DA2 zcC%0$@#M9%~j z`o=p1)q_F|I8AkCxb1V6iX{>6t8ZQ%MFae6&{21DDHy|U{=25e9QZqO?w1^Q>dxTr zQ;*pH>aE7cD?M13nwkks=oB%%cLcE8x@BvH(4*~Pkb$Znsbj+1)`_Pf+JHE$l`#%z{OW~ z_7`}MEv#doOZBIPv!AUH_uhYhp?8*X7f8+BZ~~VTT%z455#J7f&H0a4(`~)N`kU?c z2~E@1)~TJ_`nvo-9%8hWt3?4W=Ow4xR^zuD>Ex|_;e3!J0gq#dP62Jz^`fH-<fD(=erQVKV%fOip({)N^Xy|QCKy@z@Oo&)s)o-)%s23k`7m@DOQVCdmII3O>_D)C&zP z&znB|dyWs}w!LU2VoAOW{d6hmC;fC0>D&A?@R>W+q)niN?_Wua!=I1y7xYimpCJxs z*l#kHVT8~zd^=~xZT7f}bAa6IJ z+|DF#sd!fAg8L%+pj*c|bg#uB_E4VpY+HBYSHQDtl7zT!?5`-UPE$Fox}F~{vd>TQ zYyxHIWRVfzJNV46*9J{pp=D0?b3X^T*X$@MN!b3uXmPQ@T^qa+zcIm%ex_hY&aE}P zSHL4qOXbnU;XO(8(IG1Ca7-(>)O!&uf{32Kpj{)TZ?fsBo!P|OxKU7PwsXroq!idW zr*S)u!Iw#v*^Y7UTFEX;-Ni&cU>|5v*iFvdJ^ zPa4zOS2`H~?&Nb5RaSl~mdFyql`w1%7dPnD01<-$Xuq8SVBB_S?i>b|!;N)dKo!K* zy~DM2V3zhP?SqWp7JrWPlf*g5_{KFbQXO>v19Z}-NB1*Gvvv-xwNSGt)?iQzpUo zp-Gvx!jzhA&LnsCTw4Mpb^+JwU~Qc@m6_oq z{{55`7A_I3SRbG{6RnaxehPl zjbx)q*p4WYf%ZPWLud~X(+S^1fy~WHRicG1IBe@$V=dn0^_=-#Qd0ZNNS^Hecz^;K z6z&dc166A98sv_@ZAkE2n-n2DB zniKOZyDuy`qMyZ*4tu&L{4b|z8R|HTB{TVd1Lr~)l}rokYfq3T3!D^OeIZPU99LO6 z>lwpf2_9T}Vc{WlRo`v)$aG|p_v~*8GiI|n2l6PjB62;#4_HVndwP>s7w=2EVyl2L z2o4H6Ne_8B^`{B&i^Q@B6gaFWN>r4Ac{K|eqCz_e`eZE?h9L0|)db43F|))%f(3=l zO41SoQ6Ur0v?En#Zn#)hA{(S^&T9s@!sQgK|C_;>2Yf=7^jFlCcrv+{R@r$bN=Lk?Up7^`Q8NsQkyk zB|H8gZ&O%I+jHeYA0Z!3-){4xq*(N5AX&3(Ftc`pFmvAXY0SLyY=7bBXa~i5S6tc| zGe6z+zhY)HlM$=3FqnA`EjnQ4mffa!Nbz&l1!M)U_KciOZMfNL`|cSz+l8{T>)rEL zi=kh^+%HzWQk%&YG5}l=xdg=m5wmU+4T>)1(VQg@%i~`W7gWGNq+S^e&2}#I<7pa4 ztbu9lC=GyjWwT-UhvtTuKzq@&!Dkm{Ta!RINJWzDDvd|+7H=NGnrdO>40=v6jo0pH z&|mls&67`;B&D2^g-1;+Y?g9MrG#sVcuu|s;Y*h6JIylV@#91=%sW-6@0pT?h}!@@ z@&z~3=H(1kQ097f^@kHa&pZyP{j+t%NG}Hxzlj}eII>0Y%YZebz;t~G-R1pZ*IGG| z_>qcCji;!_4QPDH5B0RI97P_Kc+<0cZXkW0W1njQ_~m@-MqN}{lAe*24JTNX#<+>w zQ_T|~u=R(v$@nzB$e>p1X8FRFdSDcHuJ@EY28zAkKbj_F_bX>_?+%-zDl5HjkFccd zs4bAPdfpJCLh{%cE0NWuNtg*OW8-s)nd7MYrL3`%2x*NZiQ;vHfrg9p5FK&=56OaG zoMnT;)RO5(r@50XCp^NIYUCkVFvKra)?Vt+(}@UH>b6G&D^w8gA$yUHpMoi0-&eHK z50meN58z`Ytff!4i-FJj=~D9V^3z46>-{u5bMCn&ZTRgkpG}j5&(82M!}E-=9i3wWTpdY zWhLTDLASCJYn5UWvJ&rQ@I`OjqP?o^x%KCY@=uUMcr2^JQ4E>q1{1WV@sw;BW<=~k zdBE~q3J8zny(D^%?-=-6K4g3OSG5~gh?j~jQ8d$7X0M%Pag!n~wx3wO9UzeZyrHpR%GHx*fL-q1mnvlcby zmOo>nT6q)C?`GNTTPTQ7VNj2v!X^v;2GnRbmGXvZlr9|i)*_`aYE07obv3XsjM#l~ zf0Z!@Gf^}|>&Ozp*B{vMJ3x&N$4@+e_atZ(Sc@aSo~U^&c=n@8}j{$=dHH3*N4?QM!uoVJFxlpw_XW)w+2O_E#5EsLx(XO73#*JlY@~j+}8EEF2>S)Nsbe#M==X)uC-7E z3g8^L)3+9&t5G;fTrG;+#sx)zW|x;dn#Rgy@b}2 z1t-+nr94OC3Clj7-3pcyn`_us8*+AYAla+9-jJtK@4R8y3@KWoOHRZ$FefreYB*W( zzq0>d)bQiISx$wlsaok4E{I7+?gZt={yXLTCDUNB+jZd;;Ww z9L12#+<6!BwnJZ5U@FuOdh#na#5WIbN_t=Lr=vbf^ho!`%-FPqE`SBv{jCX`B#(`< zR`E1f-^|~x^`pQXNR|X|hOM}hFSJA-jQlFO#bWBIXA;72+@ z8ZB^}mJ&fitt#Y$Jkxy?yxOQVyVbvK`0CGH%ts65xSJK9W@c@kt)IBdPg$)-Wu{gG zsGzn_alG`LDNHhewzUw#z)M#fxSpf@^(UJyp%sc;Vi3=e@1Iml z83DcEXS_#7aifuhM(s9>YoffM}oSHC^49U7N_%ei8Qoc&C!igF$PBD-yF- z$Bng>7MwJHr*mafdxxv&u=wA6j0}0%p}Gz;%48CyQb)~T5JgOdwBT@!ioDWWe-PB~ z2bjL+vYCWIeA`=%`t%ItH`@aMb5lGs9~@x?%o74wDdFu{{FQ9FVc1WYj9ZuAN(&e;2$8& zI3u#4@8z?TB`^uv)9_!(;S2>oKOKllbIXR>r=Z_xOj+CdD~OL~0iXCBi4P2jC+-h4 zE~1GcjgS8*Y-7*;#v3%r!uEmt{ZFu+XkY-@_4{!#Qy!Rf8bRc3te5!tEI}1_ifCv$ zT;g)4h_`;Yf1$`JyoIfL_Dl$wrku#`DeO!qyM1*q^thU}V|Te+kC(=#s09>VPpHx= zFuHK_)bRe1;l(C6hgJ}EM`c#X*vs8y!DqwS=6e~8mh?sxSW^Dw=U}e#2MqHZHfxgN zpNrb@6#C<#4ol_Cc$^|`bX*>wReunMoS_%waX{^rB-u{w2ayjTo<)8bcg4e4Lw@~n z2H!rPUADBW<-~Ie>kAu*Rn}Av_;RZ@TbIzruDaIh%-jzg^w;b}9M+vFdGKfZpq_x0 zk>)^s6FS$*ef@>5$l2(9eX8cgV539aXio7<+7i!q0ktRY6Ei|52fKnN6Oq_kb;8Fw zJ2;}Sc~oIJz6_0&mR|Y^J~K9l18BZ%P2yTxXtXIb(=T*0?@XaDO(El;WV`w88T;6t z5sF{8{fq!;nWfl})BJ9prfzQK2JuckEn5{ogT*gfQ@-SYH4SfOyI7$SFDwg7*-Q<-0d3+OKC#*_zXap4Vp^$6prI zP+uT+?lxkjgqFM6pTwo!48o9t1F~TuKhCeMfcs@-BWBn=ujSIHX zUI1lFVCx4pu*8vXf)!so;a^cxZ3W>28c3WT9lTH3n$bf;`)yOD&Z!^P#;)2%qbq~i zTjCc};;+g03Xq$2fo>r%<6c48*A3{Mx>n84GouD|nq40oys|ddt0mCb%DB0fZtDmB z@EIVdB!U$mSmST7f^#1C0|KW<`++)FjUIYlHw}J%wR7s~+SphIzbdpmaUB91N9#b& zn)1#~SJ8B>h%EdF5c)qfeIPBGru+T3ri0A8e1yaZ{@BoGqU2y*{`Zmpo(fI#uafxB zBcEbNzUMjbLBn?7Alm;v?$AIQ4F&&GgYPrmL@6eY#9sPyMAh>|316>MjgZ|U0{vf`L*8kIcsZN5~%T?3+i9@RXN=;yeU4Bi=oViP>X-#53z2Gd+`>gtw ze{%H8najI1PW6ZJUr>Xw1)I(3-PQslJzx zc%8T8enQPW;nEO1T8$A#`yq^0ZDWEfmedajG@g-i1>;X)%#ilU zKHsbRe9gV95<#qORe~Pfxw)T6`S6m(!%Nix)1&xQ(UG**g1y0p@lNH$oY_ey@jkBL zh6cL52e*6->r0-M^wb5fIpm9W;&D%aElms*N7O!=!~D@4m@N2wDBK58x?q@CCJ7HL z(cezAVE5L#juL%GdESLI8O_J{;x`NdXb-HX>Bq)CQmYr6XKW?-IC{T;OYaNdq_k_ul867QLVZJ>1rT!R{4;F`Erf;_ zzk+3~iTDX4meyoBO|ahV4TdvX%b>#Mo;V`T9pKEIu719vhWXc^)7+XfT|f}az3wdO zgA7FHcOy4Q*8{Pe^SmL?E7Z}OT?3JW6UR$}mgOK28G(K^Z0u5?su4v23_M(IN#K93 z08CGXA~!M}yA5qY6<5qxAzWPq@Re~0s_JzrrN6MLM*mbR$iNaK^K+aVX-5n-a}lwqXF4BsmZVd zn?vc;4Lhj|cANp{6gdM%qX6udp=mJ&!oDM*0i#`~?>WXfU@9{?@g*Enm_}XlXBVOm zgAK+qqKAL!c_oOkU~6r*YnpQ}yg#k0JBPhx!0|gIG*D#lL4+>rR(`blHl{`M&h4}# z3N>{sND-^(?XTNuM{qms2!j?fm!icig}+=x>gn!)Zda@ z1+3#Ck)s6z?zw5qjofCz2JjhA)5b|n!lJZo6TpD;iXS1{`xq~yjOIBZuWSO#P^(>~ z2DPdXJp86s=}zTE=h-lr)@#iioYGYg+|Y3oJ0w|f)d^66t4KEI9!uEl*R_|3b0>(` z27afj=3}vXBKQ{Sn8Wo$8mOKHw;Hf00ot;#!5_w1Mh}`zJ&bS1qXu=}rFpQy8EJem(2^<308+7>i5c--leO3JY*V|}0SujmITYW93uWsZG^=$<$ zxRDyOugp|&!P6YIO4yth{q{W@4Te=8y0O&d5?Mxok4%Im{vU z)r+Q5s(C;qAjM1fTbo3&?=)S+1PE0>!VAr^sfh7;s*v$*<5zPa^TuhB>cdM<#gX*z zBK`&s&*yLT;b=^8AF`Ku1{xQZ$7{iKyD!KXEy(Fw5N>XcbbnEu6J!IMoOpYREn8)}0oobpSznyM6?3EiZU+fI{HsR#lPr zF*?vr{Z%7#R0XaCE#}wW&UCRZ1OD00MuoLBzU3MqZ>>`iF9-rHg0)Wk4^|8_e3oF$i%HM&^q^v)3pi z3b9HS+&75*@+QxgC&{M@Z_DLqpHHwE<;qyEj3aDDn=;;2MgeH@$iqc2@POA%?A{Y( zThjv*BAD}5W9v#x^rmAVlSP8;N0i+n6PPA6QB5}3m_tqE>-}ccU->!Ma({CCk2JYn zRCVQfgHmEKFUy|J5Hxy^cd<%0JJ-`DWXyB@x&9m<$G3@~cfD;;{g|UqU+GRi4)rd! z*_O+hwztn(NJR--v6YTlt|fh{XJM%|;e50@li}-N59G>sL?LTe&VYEUTHy!gV#;>u*La_cg@yM zple3GJ&l_NxyLS@dx>z=nkqP^Pw*X+Ak}O%YI#4hj+Q$q0r#@1Oo^}IcRoyOF7YMwN=N8Cq<`O zh3;Q_knW%-sWUPJt!(ig>W31a+!DRd+rl1WtK6;ztt@)A`6L*fSOVEDMOTwc2o9AU zuc;b}EeUPRLMOa|wpl#GU3vS}feA!#QrmG_VJ3*Aj%qn9YR#;TRhY(f&I?lx!5F`& ze_VT(9@1w*JB{TeQfp`*n`Z_iyU8(s{LQer@@y+r-G4T2rW5# z#h>FHkWrTj8Alx00Wz94P{vR&9x4kb4o9 zT$7yAF)N-<)4{w3_!LislYd`0vko_#0O)bT4oT{~DOG1ERp;KOv$Ea8>YMOd+mEH) zp~H%S5-PL-$?}L+Jv|s1xCEQ-5_AufmgF0j0Icie53dw0y^~3B^1C|uXk+rZTRQ(2 zr9a{pEu8nHrVNS0_5N_KOthBJi{goPLB&Rkmq4axZIEk5P^Yfq?%PdN4h|3%K?l!i z6)x9jE`QD$%byD-rtY@UyJ;Cl#`AsW^mzYX3??T)#DeH!_OdSonUuryC%Oy;hlH)~yRBcIB0r^B-&1XEd?Dz`UIs2ly@&3>h~MqXjgPAN!l1&!M6F*%sKi6;E7>d= zu+BU70;y=s#ud{<3Uusa;qgk9Cl2#JtS(VpqXDhjFPX9}g^C2E^#>T==^>ZovwVL) zN!R!pQ!h9A*jP3V)* zFT@NG&^mVj%)n?~23D@uS<2x6O0wXqk`x1CrmH0j)_}l^a7>!L=Xm6ZNBxm9ChdzG zV&Wig;7x{oNf=KLvUkcG4wThIS<%c_-^O6pokBl~zfhhU$6s5tkd*`%Kr!kb7uJ%tlK~zgRNBs27?(72!U71OUR%wp-v1PX$&Tj zLAVhNwtyrU?3G*nI-ftvuXB;g81JJL20KBo;I)gK@a=3}3rewGzvzg-dLuM z3!YHGMI}cgyBNp`7&jM|4D`|6$ zYHK6cavkHCq94UNqb=6C;u)Z)?qsmePcpI2%<*hkiDLoctz=-G@xDXD`@3VErOaF= z*16{vi***9;A0)(qmEc7U;3SxJth#0big{}VT7eGKfEK>$&$*#V4dEiQdp-_O&hGU zH52Q+I*vgMH?6Xx(^#jl9qR;QBk<+|4`7^Pa|qd6R8tp-Rd@SQ1Y^n>1e0eG3>ldS zX1urjT#H}~GRarn6V;C4Oi&M17rTiA(k-?l7?5rVHc*hmozrZ#BJ80(d$C04S6Iwq z@MgI_SC#P_q9<#&5Yn@#mzF7?LG;}w|XN^-pyu1RB( z_wIW{S-WF!L zmlHl+uz^H3>nsvBrVg8UOQVK{zWR$J{Y^ZU*90$t#~w@y`&O^wS={4Xo0V*Jn%WE& zsLg`GjeJbneHF!x{xwLk0Q(04Q3|M?#7cuvrs}N{)5K6o&(*-M{<*OlIBFokD38Sl zr4n{8v?{W>8 z0Hw72_a;vbME=}Hjo<}MVulP=6{*cKPC^9036OT01T2yqB5x!Mb{@t&MZ6TV^2x`5 z%DFdT&N%@Et_i2jYg9CxS|t<;9}GUieqf@+Fr$pS;DLQL>$|)@=Lw)(xUdr5pr$BW z<$XltIq5Z&qhXiocL2PX9<;&rP^5=C|Dn{a@akQobPzjMBz8=QF;jUG;0)~^{0@)R zXn=p$JA2M9BE<`WUz%luHXN8S2BT$6^4czkBt`_r;=2bw}s;5HErr;MWai!sz5ibB`8-9W6M9 zpJ?xL{>o|bY;uati{k};S{LuJL$WFOuz_;ajmpD8k8agp+0FwZkD&XPp+*~7tz~Rv zF!|d@(^}+Pxylt^D@N>-#B6P@Y1GEIrP@YgNlVCzyA@TOWdL0 zKOV0Ib5F>~X@@Q31M$6^Ql2eHR1T_9K)+GxX4gm@plcNkz1;a{93O?t4CCVdWh znxhu;Yt^%EENl_M0OB3^T6H7HDRQlrt9_aLh&;&Eb~e<3d`ft4zxPom>xf1Zn(FuL zt5i>+PlC6hmlPM)AKgLKu696RO!x-x!X!(Kd_>@!gUOd6zi3o!*s*?XUnUE>GZTR% zGWI3KC4m`>HDA`TpP5&OcGEBRIoLWlm|)H#JcjR(gXOgB&}4y6gP9V0cudOgNA%oD z`HdV)TxKyZDI%ffG zdMjwZIBdsW;MP2=3{h0 zmY(J-bsK2MTe*qMJ>a6t_)NIy!uhaEPfx)^{XjQ!fS~?DF%HD)Ny=T)X5o9mjOH0H_`PWXM zQ{LoBf|0b_O=(u>K-kFyZ5#K|Lf=)WC|U3rRjNnxS~3YnC;hlf&`gL$`*~NP%x=yM zL0>TP@7ju+3RAk3n@S8f+lM!S=oJW<+vyJ+ZSi#i2F7q8kZ!Qv54^|_OLrs-1ZTC; zD@qacb+KUR2uQ^UHo@qlh(i-LCb>wEW7-!^kEX`G{o%XBUavEivaSl)_7U z5?g$3?r*214YKzLsD*vMpi;qBB?k_mJlf1C*Nb$vw$$mXpfQ*x`}#KRZkV)%k<8|1 z%|A{aq+}5$?Gp7a<@wZ6g;r>n?2+HVl{OxWFguH)ud5odn}0il9gZVnJ>YpZr!y{* zJ#eG<(_lBIu%Ep%*o7)dLS&pkYP=b)DZbLMPPsdlSz(D+axu2hx_G3Vtkr2GZeVao zKRW7-M4y|&CFQ*KPNZocm&iVJ|60VKQZI>NO5DiGjjUy;j}eq^+#lp&n3|QJ$%@z0 zjmnMdQnIzjZ+a~gd^+-PglJ<6xzLV{z6dLTSei=uki|o_F7vF;EnVfTrv?AjvmOob zGpq45{(_S<)(mcEH-MU5EWj84EoVXT;~(*xF#ca1Aa8c@aa5&(hnnATu~g9sXSW)W z=2WV|RA=viQJJaY3`{2E?@seFTx_O|!Y}xR7n)zR(bh+BQKN>0tMyiI%~Fht0|mG` zEVI>nlV>4{d**@7KPLQk$MY~9^!>A_Rq8Kj5)$ygU9<*8QjaZN`$J1;bytOrb1n{A~>XcAdZnyi1> zte&BB$r8qM!k*3AD>Q@DNL9m_!cENAu9m7Z?HGviK(p{(%z6pz$G$Ojk6{XwBlq1m~I-&SEzd zne_AqnZ)(1cajF+7cmZ1<{iSU$Ty{*{Vn9jFau~S&3U*=c7|IjG-O_B1cmNNVh0I{ z91V5j^v7ACU1!quGg+i5xy(>tCptiq?;56XJ2H??@K%pTq83->Ew&4}+${az!rY0DkOL)D@Y zIoa|4q+VZUn%(m941WDRoGkbY3X^y~ubXqLuS^?JD+&nc5dMOLP9m>wGgmJS91N=fQ3{xV#3eKPHaqNRN8Wh_f37%Ro?(xUw`UzBTT)U zw`V`p^Cy9+f4Q@oZ90k z71EV#HrYFreSb!_pqFT6%5EUrY$WeI?pcKsh+MOYgdg z4U?B)A>Qu7Q82~km?sx>wuFw>5U`xJ<>+iiY#8TX7H>`#4CCWOUsI565e*fWnnO#@ z+)(kp0_RPwmb?s}YyH8Ed~mi-ST=4#DTv2F?)JSA`obD(kRWc6I#og7D1oL-N*DM&|(T8{QFN}(x1n~H*;}-Awk=8&j9?1LfJv)V8 zzW{|Eig~S_LU-WjXKeaF!@RjDD>OYtj-kf&H$aJNuAq}XC7wa4vNb6Zd^=Bpc{Hwn z(}U5Q4Yh3&+2a&Ff3w1C>d}?tcA<)3Q=8LN4`wNA@u@;shs!HxHI*~-US_H?iVYzS);B&+e{AF(PC@%m)m~|y< zYU_*tud1XuM7{EqlX`wH76Elw3k6&*C%;p_k?H}khrUZ*-<$#VjCLW$v~pclHnIL* z%NP!T^V8jm4d&wzDzRAa`B!OfXrW5FI2!%jyYc7WGl3y-0TM}#?z)?G)Qg2p=q^dX zykTy8-*FLzL9!%oG(v7412@RM5YZ7uR7w9-&FDf6>;ay=Q6+X%`M#`)F}EBcH5h%t zyw|N>kLWvo#re3=oZ^OQMcMV&iyveHg3p=A9!j`b3m$8Ys&UvMIt{B4iz@SiCoQZ9MNZA1w9pc$Whx zlacqCGVkt@ZDy-OpXHLmRv&8^8DvAw?Yf0T*kBffRLvYu^;X8wDb4*>0+M&{wdlBW zs9Ww~U*ah5efEL@uF%bx@QSko+(;CTnom2m9XW@&RQszw|MGure@~GuKkErFQPEVd zf_}Nt!Nn%HnW;O-*_6l>#yTb6TXQJlCQ3+!k~I<)p8cN_-Q};p*Zpa`N6d^;Z`Gn2 ze?{aZVtjGV>cM1wC$f^KQGw_udhecUv=OC}DfduQRYpw;mW)SFA8JXQk}f|4C6;1! z9&PAQU&?cD%0awNoX#KZ9iR-{V_XJS<)tK5jXF`HVh8)h*kXvYXd#|W6_RG4NRyH8 z9pI(cEzwIKP+vI%sPx{h-zDth-TxO6rv?Vr@w|u_IV0bUF65MUAVM_uDX^QXJq5rP zh)Nw&8~gdTSD2XOfW+4KzO8oVeIMBRN$q7@%6T`^nLBt;ZT5E)`X`*QL9ObwwuVf{Zop(1M{1)(MLzayc!Tj*%oPEZ-92 zRucIjF|&-@k>l5iyc_>1UN;CYSGtitke>}FisLtAhf4-Dk1(vU^UUmdB{yU6#m}0@ zmti+}xmG5ouXn+4Egrs&rVS>{_YQggW6oYD?tpFh7t!IoW5-cKo!7qxa~@qz;atph z@IF%S=^%?acZB)LH0N3l#hZ(X8Pzu~etFXL1B1hj%D;$d0r89m#eeK#2YD+{14Y$LtN*hT@aJ;HeXBz+3PA~l#_drh}kFQ)A_i6KO0Vkoy28BRVLD>b_nSb$2Yu?E?0U5`EE48B3W*MdRJeT7>Mxug&>?tepvbmBsb<6Ce;2e1dwFx?XLxp;Zf2l!$1;BF~kCqN2sR zVO5G1C1_HyZo%YgZmzdQ>-tw)Y_+wmRce*GH-G}#s<>2fso+w59)pS-i`#v_zcbHW z5&~-9^3mL9nP=wAnKNgbGiP{5V=(YKbT3T_LDS4{U246Qw!srKd+nZ>^GKWzU@FM~ zqTI^7Z@@ZZ}$Gh%)3mnS$kPon0g4F$= zyYJnXtr`W6SeW#Xhb2RrnjqRtz~g>Z+FP*siix6f{og)_sCi z=)N39)_n;KOgwcTAZcD&&{olc8vAA2O6hfKugdT>O{|f7PhqMw?aFz&$J4(Op=s1O z9t91@zKfT`)-*crZg&HHP_L$e)}PVst#MHfr^b|VdNs$r(J@ZOcok1p70*RM8Yw^h zy@Prsys?k_=|K@ygu%2mFK1m>fR1i;>5q|#GAvqWSQ-uY7F#WJ#ij1TPkFc1AB`@Y zTlv^ispz4`lDc5m5@V2R z1VY?TjUTF&SLF5hxU_#BK)N%X;Y1Mq_=?(xgvansJQcb2bdC^tX4M{tfNljeEC2QM9AB{(FS5^w2&#^Xw88JNyd@0&8(U8a_HD|`P|L~}> zZO2u5u%FTFmxF2XR5vX3w;Jcv4RPgQF?v&@n`Za%WPQ8~wfsOAJAa_Ulk~oU_xkPN zcWk@c(Kohja^+6q$_NwO8yZ!{k~5a+V}W_wcrUKc-0irP3tT5MvM#l-KD8|PxM7u2 zT#10;Rm$GS-F&-i{i}>}Sgr9#SZxQ7HQ^u)JV=T3cA6hk{j|j=*c8AMGd)2WEQipyQO{DMn;&>Vdb=pNA`Y*J)rieR6Z6q;{E+-OKDi6lN$+4WI@c~OC7 z+}E@>R_>Jgpr-kYUQGjP+pikRyXH@NH4a?6sI-xOjf>MaSQ1O9%?ILa+yzwDrK>@b z5NY=F(B|2t@YU%gVYg|{HuvE7>!s9=E9YGGiY0x@_hMZF1i>Sg)Rgwp@Yyg%C$K9> zZO^rC1od3!)+F!ZB46EO@w#iqaydv+pu;QVpfbJs8R5uH-b8w<4!W_S+hf z5sAyW_cM3deUKXNfYC#FYF6;8O`+m@Lgcmlb`s0rS`Z>?2!DmT-FWyZcp#vuxO@c= zM2(*cCDta@Art&y#Y{;rb0Kw;L|=Ro2fyxH!^1;VBFuq4HZ^j>v1ro#Ii-yksSc>C zCqaHU73no3+0*N*^*YlcUZg1C2HzWt=NA?s069(5sdPR*o;G#5^;5FKCOD%KYa#hB zIh^0N#Ii`5a1BoETp(E|>GAF|39Tm;)ZR%B3g;-&lX+cxliL%9crIb2wV8PQd26z{RKATBvw$wX*BdAoT9z=e&z;89SDor z`-&h&G9ZQ{*41n$X%VBzBcKi2;Fwk0f!x?1U&nP>MMJ?dyt|gjP@mVB^qsv!B-XZO z{~_RVdTbejt&_bD=7NvLyGIPYu-^546GMMr^m-FRf4yF7{r6XrfL;9`vtejYt2}23;sC3Oa&DD!;7exIQXgwA-d-{UDFiFYxlcgYvCmWgJ9i z)$e#Mzfx_f&|mm!A3w7b>kEsq#ZMvdCxe+-mmc+pPva$Xg))#KX)=yq6BEO)7&xzd$HZJ+H|ukl)M70y|CVGm&`YZs*~ z?Dp!sCI?M~60wfF=6AZjVC!{*T+_2f&&_mNFONa1x zE4)&8bEw=f$h-JaJw!5T+gvZ<2ul8N{vXOj*OzS~ZlSni<~6b>~jSZ@*pi zb|0>D3%T+Ul+#9(`~p&17d$tH<*{iteZz}QRi6AY3V_0QG?y;zzY-qUeT2hmy=IT` z?l6TPF5Fs7;qke9TivO9hI( z%TIdLdj7U#d%IM8OvqK-*O7KJ^<*~o@Q1Xa$+aV6j>|zyY)lnND&}9gZ;l)4Y^Eo} z$RYUIx;Vw$4Ec!X^{LMj>Atd0<=aHjBi<}_gw=c0uC3SisIemg1O+O?u{97#ve(hEP3 zL(yVE#?f}qVFd3z+d~+^6|_*a68_#0O~IlEukgT(Qn%*8mM6xcUsD{ywh3uu+%3oI z{_g`BjA5T^ik)qik2{}lSj<@=$`8(zU091!AA{knc-*f#3Fc_X~Ir=NPfQ?92HYAukA=H3^qA9u)}TV^$D|a0Ute` zKNF|O8SLkMdl+B_a+L#F#YU)Dm5Pyq>q53ePOHdmm~g(@SrDypX4vSdy2h8?WpuK8 z^nXwNcE$sK=Ap7VOzkG_?^@tj6LB?BylWyHtjdr%a!vDzF)b97;=<&!b;0c+d7xQd zVH}j5rw*Q=X{MqZfex0OA4YXI69WGe)xCs_$Dy)~RD^A1h)X%9`T<++r~x(&58yS#i8oUqfbWB-QM*VzEeHTJM)og-qel{@P*^g<gfo69i$4k_DX2m7YJU=dBIgX=(JSX?8nJjg@}j@Aeo~=@A)B zI;d&j%vuiN&VMzQVyx#@u${q6DJr<8`OQ+I&)51x(Dr(wh46X39 z@@z*bd{f6&tWTu-RHEOs-KU8vnZeGI-m=dep|zxo9v(g&x}G1YlJ+Ok*4U3r!MgfkOP?2dQkp^hif%d1tt{5 zxC;uY&L?W`0Zk<#n;o5Q5wgyi^-Gn`M5muufUvNJN71_aat_*lx~6@GeL<{fDJ(m$))mv-}647@$VuQ&poNjQ`~A{)i?|MY6ztBE1cC!TsQQTlvh;d{Lj*(Vd;gHNt|DmwDcf97rC zbHZ^{q+rja`U3W*%06q;z+lME({Ji9Gnr?5gGRfPLRgNuh!9pX4rE3hxwCC}Ir*wx z;4@`o`FZF&d=y+X{Z=c>ZOyaLAjk474C`T+TZ~$0Gj~sl`T8j|9%X zneP6TmesSB_5L8`Rp&@<#W&{ndC0N$OGYpXq|;n6Y9eAvi}=UYMw8TRAI?nu94~C$ z$WgaLdS0t!mY@2E656i4)P({hr>L@#quzndXaQ^Z8(d^#d-4}DY`qshE*@05TQHDF zR`o^Df_YTiY$?u_=e@vWq75{YSq2)UOcMqmyVPBtRz&nhr0BE zK(?(xwiEYCvZ1tG*n36reX8D%995r#Z>+(03G7Yq?G6Nq^tR4a5p@4q@vh7OrRlwl zmi{Z~EY?BuG+IVCo}-zJYIc<#qndTWc6N_5{}V@Sv!Vr$IT5kcFPuR^!yLdM8>NM& z44EgA<%`2RPZJG|NLYqN*>vblhA1g!c&$^%mxoVS75UDs4Se&e!+jB@94t|{*(&N& z7nFxXz^ip96dEx!ZaHg}h1tKvJ%ppiO2Ta^B?YSWSD*}FgNrD|Se0w6FydN8aXJFX z0Au&QvTth5u`~sT4y*ywWWs- zlDU?SZOu=*Y$yIIPgL?jVBl#Vd%3SXYD}k1)G# zUa2=eM*ns2>l{hus9+b)&{E@2RoIuh5urL~VtL7(CIQdE5ImT^obX<>=4uF?S_{E5|Dw zTRdkfGpV(s5sTWA6KD`3eyB|}Iey4V_u_}y*x`I04sv%vrG4A5MgXDLkc8DIf1$;k*{uS(>-tq& zU#K-{u^=>;oU2KCr|; zxevRymt|MUZmiHA7#8V;1!qQ^UBrhp^?*SWJTQS(mN^d#Q^jg!_L2JP?|R9rDXL!B z@l6$^^@45*jCTelI($AtzVrTiiDGwHDqsOldlzs(6JN7980>IOKkB>?>)4^K^&f); zALeQVB!(Q^j6W=tdxH+gq)Xtjc&;{Q(}jnCe0@-1jI^IVt6)dJV6$u6(y&zBEC~h> zI~(rE2gG3I;InTFNykwOdSPB^lqYGR6p&iB@?-HlXM2Gg1CW7LR4P3Qt~&DFY`B}z z#HOn4<0b#luY0v$cmn;N*U2SA!XwB`E+ZCk?L_2>P>VVdfAimpG85_k2UzT|D~7Oy_TfV_`x@;o z7nD3*WzgPbjwSbbDS3WGX1Q_9MxYeN(YTw9CIgv>Loi*8a}lAc56?o)Hh)R@zK2!GO`(*oid|8ar=fS7>tpu`z%-B^U}P;NAZe6hzG zZnPNW_ItK%tyk`;02Gpl*sd~PqE%9LnG2OAH9aHE)FByty0`dVhsyG;F*62T(=7Pl zc7bvOJ}wI$(=+sxTXt5_R$Hdd^8YRUPv^}T_DJyBC6DR-9_B9fHbac#n6!Sl$f za=if;bcwiS<(5?Rn5K+SVe^P; z=F^+HG~tmK4At~ftHF1dQCspQKNB5(;f;GiiwWH7Yhs}{cnj7p827gV#>CV?t1OGt z%{D%M+U0-mIg+gI**Me|b+5-*vu{Tw9A3KxybaV#f^Ia9j7mja^%|m3miX0=co!co zrQ5wg2IReMNaaGb*yGQrc}GY><9u8xNNt%$t=4rIJYhPq7@ao61@|{%m0nYrN$jVvdf`uBh%k+^Z{Z@*@)0=!)+%bsU@v8M7i=35 z{QWS(uS@U;Kl0xbd@r_c7Zd#VJQ2Lp>ADd7u=^nRKHu6b!E+)gX=Ct?Uiy1V3&BlW!Q{=#^a>{DTng|9ebYDdM{c2K%5eX~4zs7T?r1=L0^Hf=Zqg~S&vY2{OpH0&qWPr93A&lqj7is4Bqxb5-9cpV&HMDxLDe)Krg;| z9ewxUONRbo5Ya;c|;`%6o+Hb%;_75Y$5f zV#CcdQLIUDnKjdN%6w*^cXO_rtUNmCWg^b5>8It5%f;xQ+b7O8~xJjppsw?-B zGdHSk+K|G`?dBecs@qA`)fTEV&Hu#5;w3DSZ3lGe;YVn3{+W&a;0b5)#I_M8XtD>V$n|aV7q|!lKTVpsyDFEN`0VB! z=}p#^NOiv!g47}l%K3QtwP*IzSIe1;rcFvfW?~a;iV4!weu73ht{bF%0L>u%ll2BWImyms7fifFBGrjq|YgiHku$hgaw8`}5_>9&?Iz zzG|lze}>jqf955J4=~mvHw(T^0vF7W>eJRmHAIw)LpI=7HtrUl_;!~%PrE{qj#$8X zpN;rW-e;q4bmPmLQ=w^Iz1~ZnxUHxYqsPitMajd7R8)!ZoOg09K*;85diY0Zb8~Z# z#ZyN=<23t1v+<~<&AW;k*$VYF-9$MI*9pTtyNl{m3xlCo1LLEDkrAl@7|Cb^NNrC} zsDzwQwI~Yb4vk`g!hWGX9e&JnalVZGkRR4(`D^R5-v(h?pXEN0-p?Wp;=w)_eqL-- zw9b{}WhhV#T+2=`>E`03&AgN5mx0=3`eb9_qi)V`fb}`KwoH9Mt}W-+qz7_sg`O1% z>ij=B_XoBg{4DaA4~3e(91N8}(aHPG{mcWEYB4B(A0^`xCB9cX8tXlW_bUmn=rr{F z@LzEu;#hvtWvBAj(6f`V)L1?D1@w3qe4Y)D)n~bi&iG4i61J9rE1QJfxRYG24S=DD z->LjE#hgSAUxn@?hnd&fUjiZxXU)&8%Wv%BF-tx{juA29NmN31pBxeSX^uGVL6v`P z!RA!?hyTO!^-xSmhqbhcm**djnD!G~WMk`>x&f>*9&$sak}hfuky&05eDi6D^V>*B z1!Z=S?_ljPcJpQdv?Su zUZi1s!1(X>&FS(HGZ0ssZhYOo6)HFBrJO zDkahWuE~{p%BtqjN@5-B*R5p2!@47P28pzy`hU~&)R#$8%N&{|PQz@Qg-K$Ohv9W^ ztOo# zo&UXq>84lFDnxdXTDYDu>d~XR>UTJpe!J~v9ZX-{qx#81T_&=W$Zk&46;X-h8our? z@7K%!50C13R(a0e!lNpqvA&#Ph?VwC{hh4zc**CGWO?d;lpCY| zeGrE2WsmOEo%-K|q`1!ANCHNH5tw)dQuGrndor5+@@L%1d+W!G4wjjBBAo#cL zcO`lx_{a3}>v~kLvKk9iK6evTUjN%1mA4!Rm7n-pMCE2^ZY_ptkqEiv9QwhNujyHp zs@rru+C(X}D~@f%d6@9L}jSCX)~dG-%b7QYShjK@l6|IH-|Da&a=;611~*XTt3jm}&2 zT6;67;pgBc?_!mZS6I_fV)nJyyP#Lq-0H?6?ze0p;rE^_;24v%U=WL$FkO8p<00j} zhF^UDaYctr(tOdDn|<{WOjX0Nu`NfZNP)pFo8TjoYFOpkx;?abq4elz-AImIKXsc^ zaf^8Te8HcNC+IqcxEsHq>`!?%C+w11TKuoC;qOm2kN1CiGulfF+iFBs>UTN3h*F*l%~^6%-lt=LU9>cm-WIY#3RI*dTT(Z~$;4doVna;hYU^xOk9(Aj`N*Uq zC(!0+`3_X564sgw^)|z(8S3~~@`m~>uCuY#chZ?@5zhZd5L`>0T_8vnAkc1)oU7nW zgWxBE;AA~EO3}H645#tA)WqptMe*5%N3%U>qR&?45u5ZyVm}{RPAS4lIlnE{H+b>E zz*QYA-&;gVENLWtn=io^@V$T0@|R-YPo0)?!Kr7P=E67p#r1uSW`VHZ8-8j=l-H&$ z4Y|Irw!WW9>F`zS`>5Sc>M12$@y9_*zD&&V^C(xDg1?|4nvne9A-0RKr- zN&ImA7A)AF$lYk&WpsDAi=ZA12tl(7*YNtj|0rwFz{^sW_x$*q05dbWGVacSn%0ZG zaXV1z^AoAWS0&n||DNs+czDMJIH-akI@B-gF+wI{SdiZzuFbdrGi|(Sp4TVyf8Fn1tg?4l# z8ka`JYfI(Iu_O2bD+k}+PvvInjU$l#`hn_i2Qx|x)uBauRdjSzQIDgVusU)Ruje?u zJya$)ptEsJZ@$X4e^UQ8U**#(ldEzMRcVQmc(Mu<2G8t3)DZ^fpAIL9_QzjzM){Ar zb9%oL@*8A^kE}+a zKDo~&e(4%^U~t;uMn%uqiBREtp*sC*_A|K+ALyt9@BNO{aWc~_t+9ktED2(=9#_f6 zwJ)^HkXjP#@=c4|Au;uY3a{cwZ6b{lYha@xN26U<8@0Q*kOkW(9V?dSen~aPUX`We z2g9v%8;v_3R(Cf7yYJ4gvMcYOIl?`dsrIyra>banK2a-~x zv6~0(d9gIfMix?8r`4yymAkkYkCQ3{K=ds~Qd!`qN}y+0(_EH>FG^Ik-qVPf^qmCxXH$T3u92A#+G`xiMD@V)VA4MMd`|eE!4I*vzR6( z+a6<_DxwN@2PT%X2aqm>ucNwf=#HNu#i@^R+`&V_XX#$$u4r9aE6kK#et8bLbet$a zxGCguXq+Dkvw39cp@VIR2tjJ#LbGc4!(|xd->gfYjj?uYMSIzRe))i)QcX++JG={e z>r!|C3IRa^aC~le?f2PTJ3bBs+qY?>>3DY6jvuO46DcpOlGc^_hfnCVu;fD*Y>Is@ zcxl+H9JIL)M=VFWionkI)PG!NOP9IQGPIW@UU(Z^vW zLe=zcMaxd0=#VZ&N1x$}9^0+xClpO&pz7X4n=4fe#4&~qq9lf>AVI_sWe6eXk7A!- zsB{dw$|pejBDQNQjX$||@Dz|v%_ay_J)-faC#}rZuI)>u--QN6?T40&+}ZM9aWwV1 zEke0GPUb1Kn^VQ*S(-@{z`NN=NvOw7eqFU z0dTfrdUNLBDa1z6+bWP_hq{M1YQ-@1neE*uAmZN3$c$i!SPOQ=?aU6Fok-cPwXv1c zfs)z{>?v*vLaN2{@K~!DruGl=AixTy;ml#p{m1;I%VzP{*4)nq&pbUwo}Tpnd7gXS z@t;HS=Qxg=ycitkIF+q}6ScbTn!KMk&mnaNl}DaZ7O#B9P)9q74NL+`!be<&W#Ep| zI2ek{?=igghrk48G*aTkYq#ykbU)kC*ysogAYhz}hhXlIx%FI8Z8#4&jkzTYWA;5WG1?P+_3Rn*(6Q7U5U^%2MIgsYf}T3*Fsz>UF*W?Z`I@^ zilJ!u9y|YwqT#djF_ECj4c`djTq1X6m*Ja)Q_Brsvev9rhEE>gDRQ4qjfi{>$IHT! zU-8#H=P!Jhjp#3-k>YFPbR~woz3l8#ZDCp&{PxZ=9Ck@$@QXE$t-pa1?PMRb;_N>+aLQl8(aHprg(Nqef39P@?5D!bT6KZv_~wvtT{rF zMe_hsNw~ct*t?GNGEm{QUQAQ%W$A3(#`*sFZk$`m&&B8}rJAL{d@&mw?)m5&)ZHM#^^*a$-xKAGOM9XBwb5UN?52K{t&AhCtH5yjoHhg^ml? z5{yf)#PNgVwfi)t9nT$k`{^4@Et~~E=tAOeL62VR;nwxJU%0M!+!1yC30}G*smUGV zr|9~?->3*1rQU*RZG?cx;Je!esaT}`AGq!r9X|veB8(a+NHZ9NLvROAd*YD}__eMt z@Le+^>Dn6WlJQHYtSSnB6%UKp*98UkrPDzC^pQ*)x6dm#cXIZ_;i3)kBK-?L)0T)X zx}<<}dhDA|6!agsY)R*#n<{w_0lB2e-BdmQF4O~hsa=!&2J5@{%h}s)q?SgH zx3TS(p7WX;H4(@(qvXcW<_t0gpfXdM+-0^YgU3ocw9geHOq2vg5HJ{0E5v-`8`0x6 zfZ(;B1lMUVEBP!AdR7KQ{~Xcdg}mfUHnP{?A~bruKtv>ZT#Ym%l;~9W#PNg@jS~#O zY>tIiF3kbaujzcIaW=N{25j+Jrh#;q0~-MpH-JV$2jsu`)B*JC+aiGa89)!a)K3P` z>R&|wb(tWR$j713Yr9%O;*me3oohybxN|@X&*!ez$&?IAnX!W+Zsxdxa)8yw%}t&< zjqVK+^sO}jgP%pvam<$h z+lXO?8_q9@r5bS5*q+>TqQ?MD}iFTHO#^ zqm zd;XnS=AM5j1(>+!ednHE`gUhF6fZ7v?En5Lp8b_)!>BJ-)~nyV=MCs>MJ*Dd@-FeoqY~js=(VKnsW(t+GJZ^9u<>1=0D_q|NuFmfj ze}6&r{fEnWGr0K8$mh zbCKcYqh8K-J^$=h2&<0x$ZLUKNm?)%C`l@rgE(yVHuEcL%1$9aX|V71ywiNk8JlBC zVm-tO`dO#@nO4h??^V?VVpcWY5Uj4e&ql8$qP-zXovWn0Fxhc12W29nc!iQJb?B;G zSIeS2*)HLNbg?N)?LQCjI#0{5wE5`)l}=++a+Hzg$@SVAq)9}vzo+PW&co_v!JV1i zqYZ>8@lJYV_#)=_H2&?AKi|>P7^f7QD-L36Or-n-^WOU$ZV`oCSP02)sab+}y%3jf zb?3Y&Oyod)Pf&+IRxjBDVQMMs(S~Gd5z>RlZ#R=i31yGv6O`$xu>3u&S`2NiaWv@r za#<8e<&(=@W^*t3f0R+8oes5-))^CI@y&S)_pD!=O+9kZ&R*-C)atSmc_}%w;K?5w zESz){2CuMVz|ydKtv3qdOdWO>`(!;bkq(iHPSXUTDDezeQ!K3wn%ISPjFY7@|LMT< zItRe-8y5a$n)lK|&V^uEn`Rgnz}F$AQ*(^ik~rBKpH9FTdo}Lrg6dW66g?7#3Jl0B zj)%mX^S<55s?f6ChUl)`?gpZJsN;j9fmb?;+`#Y8bv8Ed%6Lg=sjQeYrXkw0QvMK$ zcc>4H*MNLolGv}dq;Yrgc0W3cXJzouxxksm=1Nb{(LNXWS&Xi9pUNU9H<`n_)7awL z6wLd02a(H!+ro|ImD)m36{qUD(ma1Fv#~Y5cmRxMC7K2PpJuyk?8;iZ;<73 ziq>EoQ>wQr8+&>#-^n=kTKcQI?&$-1y1_)hwfC7WBlf1Fh_bQ!E~mtQ3MGP~5-(ec zYgOVYyUgga+^{+7rr8puvE9$lo!e8f3VC;EC^bA>z#n*|V;!^iqe+o*(|3%7$5TsZ z+*qh)>Qk$5f4g&x>Bkm89Hl4UBs%+2K@OcgtOvhUT!ow8#Wc2z*N(=vGgS0$LI6Tz z^9!F95nAz=Kc|EYsY~|Hoe$DweQb*HRF_j+@^BSMh~%Np`<|=U%tZJaiPD}3;uT`S zrVff%M^0GM$V)EH=UZ>ipO7yK^|3pi&f_V>*qi?+Xug3y{^C~^HsWG@L*2PQhry6I zQp`joEOav>vLX*v#sw30m1nT`5rlo*t@_xCB|!8~C&Ns)3p!LK!J#*tA(V~n##EJ$ zKA>V9BQ!!1PH&ZNjl+XTdBnH**fpfw8dZpZK+3Jt5nxEUReFS!3-}G*`n^fH=`h;Q zfCHY}fRvM*P*t;4u36=&A}8q1L(p-GI-9}OJr+d-fRHrRj!fa0F$Zxl^3b)}S|{ta zr*3CTrf%aaPJ%|%t*cM{hlHsdycDb9^1i|ztXJ@S%=3KFnTV*>9q!%0ryDMMy% znz)lCbQevCycj#kYJlZ>sn+O&c!82yKhbR0sZlTsm}uEyKf$v=Pp7k>JCW<~{s^;t z1dA!0u{4}|aqP_FH3RoO?l>a!Chkfa_Yg^lpXTM{&8e>@CpE{E;y?)~|7}bG#Qv~{tPb+|aI@i(UlZLuJ>J%qrztflZkWNrmM@upFUpZX znSmz&atWUWD_+ax#-=e!v#}%7G&slZoijq05u=^WHTf?E(iw#k4MioC)g&AHu1Xw} zdrY!lD=zd(h+!jz?qXO5R56RZ!X3lB&B7m$vQAdM6kcL1Zw+c+a5SF@Y&UrFBn zNA@E@T6XPKD2zcD9f|F8lv zdsx`Uh(=b3j$k!mtNFJtE$F}Bl;%qkJrkTYM8gVRkI6v;5$-*@JpDa;V&v$w$u}@3%Z$Ar`_>KgTN=O`8R- z0)wfAH6wz?`21eA*(YjSzUX((lV~@6wjWq>*vb3d>6bp2eY1H(dDDIKOFI`RH?g06 zloRlp{(|a|TAYoY4K6vy{Wr}U`Zd1Xd1dp4UXB0i%rtK(YkZ>flI9J48kdIWLo0@< zjn&)Xe60@ey-(K;mnc88I*S#z!B1bvbiL+QV4dG<-6DQU*^1cma092-b8L}4Aq$6i zs$G*pLwULFn)DPpBh;>m0Jwwe`JUayn;szYVn3#>*ZON7bF=ai-CW0wEpva!>efGb zl#Oi%8%lP}FKc2FSinZvr7HPTeU=`+-pYJHO_bTfOP)l3qjFdAq1SqpE7!(NHujh+ zH_%H~7s`EZVC?70t>Gpc`;9BNm6sf(ayTNcts|aj;rt32%AbqV@a(P$_H2-zh0(K` zdV99Dp8YF&_P{sZ&GPLwdbW^f!S&uN0EzxYf2!Act$zot+1TE$(QRE0@!-v^x)!?0 z3YEJ;F)w+JtDPgq$?pP6>`avw3bm}q?tF)fgkoLS1%F=Gw?u2>jpE^0!IHDi`xxb= z4psI1@^BAooZsJM+x#uV?R7UGtk6&Iu)luF!e08>BK#CaGJjzBk$$!c-_g&u;hXx2 zg-Y!{zi+sLpZ2or-iVj{y}}^>Ipk&`C#xm zv5sy2-lN_Ro;EkJygD_A56>q=%H*WC%@3-Uj9*_G+<(-+aTuRd#h_$keW3_&(YUYS zL4Ldl54Wt1@DSew9y%w_-zkh6+^@c#hx<8jYjE%9;NE&8xCi{VaQAj_qdx-o#N;O6 ze&^#ahkLMPDs3+tQh>hAcSe8PW;?+KF)-`MoPeRb<5;2!=J;QmH9 z9~XXm*{s*{_@2i28NQ?Beql zW%s_Chx>NM&)^;)PLdh;_Lbe?e&e|R67H9dFu3Ce_nr~l-!uBYR#PYSI&XqUKJ07R z=Ql~-ljiRj)*9Ho3Sh5e_yD`{7(hN?Banyvw;)#m^8B5{r#E!TMZW)i#CR6_b6Zvu zU&i5&pSs9``{1_vcagu_qMWyC4VfAqBjQ0FUANp%F7sMFVVG37-||WST3a*V$kk62ir@C2;rtOD6!RT#LD}6aB}cQ_*lo0;LqcVU z{?W<=2|IA^;IM&C2`&~aIcJk{ozJn=kCL_CbxSdDhGhp}rtk4lFpw0YiB*Y~b)1TX zUHV0kwa}C^IZT_cOWpp3PqML97t^EC_c+k5BHWY8AA&iVG=GxvES{Ao(i1C|j4kgq zaoW;8Ee)vVTsho?PVvw5_eXb#MjS%QDy{srmcj2 zg01et1DZ<0(}dO3$I?;mgCs!yD>7Se)FjPw&@tb&W3cQxhtN zb%ZiC(R|l5#7lw+S4Ar-3VgWuZ_sSs*RJy+yZB%3!8jYopr_;zArn1odmpPa>EXAS z%P00be$r*~^H>-a%td<3t?uO??B!o`F9UlSyPo?*`gq6?XQ|QpE5VO{rtfaEka~qK z@E8kspME?|zQYkLDwc`Ws@kHjZX%~*UE1yJDtxt*<)be@%#xocUuxSUq*sKPv|kTd!_8`{ zj)HhPAefaZR?5X?<|I(!MUga$2EJ+V!Np~k2*~5CS-F|Q#|3-Jx!7oC$@(;6{r4*=0e`J`F+vJDo=at# zU#N!BNdA8NXe7BmRTX!gFG1YcyKWBrv(@a zZQe?o{{2Q_h{FCaksGCifS5~%Gy&8loHetsOB@Cvyl+$^`> zn=4oFt4XCidlvgU)n;Iz#}H?O@TVM4$lXyZ(7o1JZQr9d6T26v#ndC#D5dVxYeX`B zcF0ooUTZkF9r|4yhf@sHu9PzD>EQk0=0Ow=@OvIiAq@SyDlg}D97j$j|Dh>?i`py{ zJ(OsL4%7;0n2KnB=!uUIJm$MBJMdIF1EWQ2J`>C7#s6Kr+<4ojs?faXg%C}BhQaxi zR_6pzF!@Ra_%p2BXe89CMxsU|VZ=qVlfWXR#&=pC@8H*4fSaQEwNh_EV`V>`m+7bT zZj`)(cCpQM`IaGP(GA|Ip*A2j3`i~M2o}HKr@p~;0;T3OX4^?Dew|iB?2zAf_@tV) zS%;5pn{|ZpHdTaoDc~qG>gE*m{OczO*!a{Ue@FdQ4}Pu({m>KPYJKrvYfZ0lVEGer zS~r%hd0f9*rG36*R5q(osG~L)F(zn@Gwrk`0H()j37~DQ>XyT69Az!USkavRIk2Ud z^a|Xpp+AaU8ETAlId{hQSLuRinnFlq0{3`%Cwq;)#y1v5>EBbupzyERLSoj?u(c&F zZf%KsyS6NJ9*f+9-P9nuRF{u$`?^r~1i@JJe&hlwgFF!CGZYOOam?eQJ1hzX)ww$1 zbJ7*MvT|7Z-shZkQUk2K%%t#rjGpFq2c5FDlpHGwE++?sG3Ej<@~dx%(rPy{oeV3> za#%4ThvXG@G>?{xT#3Ix&iRnVMLcx0%qlTc>#s}SVQSe1ndYg?tY~5oRB7`u$~PUS zdyp@iWGvnE1IBZL?Jq~I%rij8h=LzIg3pDAYS&0Nm^$v?Zsde58@YL0NIRI%FX8lr zv^m`6H}<4K2;_3M}z%?Dls9ai&=-zxm zVm2Cr0^Rx94n5R(s%5oflc2j}gjAd~{o z6*-{2R)O{30?vST2fQvb8$}?}nvoZ*JHZt4`yH|TqjL#}F&ch$9BN(9vDRPs_vU6C zhKiSbt-KpD64gt+WPhT}!gr+Eq=#4kEUrO2ke_tfSpM3ewduQbY%jfxs7MH?2oC(N zHc2?TLKZi&V&`sxHA7Hx{+?^S7<3%w#?OXJ#f6_Cn&~hTxYBf9*4whNv(AF6ZEN?O z0tC_K=)^}gC=Z^g`8?Z>atDsvTaE0{YQEK0SJ|)i(Z+!)D>4esAMLVh;TbGO7H+A+ zk*VdhRDhGPlYUTeJuR~^`YjeGM+=BdY^N8|IH^}n-b?fq=urQEw)@Ln2%x+`06KO1 zza;=5?1=!vyBQ>`iEQkMS>Pw3=s>7%p1={;mms{A8=D{^KsZYzH9Mj*lfquc0=lVo zU-|2K%$P*#aci#7JH%Cyl%cRM`#KV-cj{87R5}4aHHQvUw@d}d>q}cXWnas6YiBZjq307C{9W!=0u7i6Ya)L_jJ3;lg zgCjwua>nt+-zBJ4@!ON2DzJOgQ9Od`yO_zR{zl2Hx*Azt(n8iU7z~!LD2IWZz>jQ) z7YW_fAUW_hGl@25K)mcFp9FNFw?PwWlHos3ojIEH+EyV}9bJ;Tlk05khi5=J)`9s?R}M= zF}x!k=UwcyI6EVWza>3lj@{MXqYo7)cp2Otid5&}j0?qdRU2R3vaRpvnkQppJ2MtT0G}nYlk2_J#I)7r! zaNG=#@|?v^vx%DKj3HQX)D_GXr>gf?$a}s~#Oce0`YqBWVz^E=O_t)9mz{N)b6<`m zm1GAQw)Hvp3_D`E`oYAiU4enI$_>73 zk07Fm+V$;a)sN-b-ae{9uGcwKp(8^xMZGi|@HWO?y^(S#u&N>_#$nn{5-pJ*%yl-l zgP`44kMpPi|0`6b<|GPc9gba{0k1K4_>PoIje4-f>ly`T=ZVC{8N5MGYV_b7X=&J7dhlI6 z__0!NWk&6*2fOIOf1*6iUCAIV3K_+#A}-$Y8&>{n{EX`az>B%$qClJy;|=*iocZ;A zY3TieiJuW4?iJNgOASP;yNn=eFgW&$&$FG=g5D2y!WGHHVl%?Xb(zrMlpRMxf71g; zLdnyB?)Qc#OD00#X)tV$?70oD^Z_T7CMEJ}nOpjautT^xi*B zJ==unedx#TWwXY~RclTYMloeOZbm7u5HWC=CO z8d>eYuKNjCe`1{=L7YQ=>8UQwewCk=|DAcxlFX=U)(*fBEA>m4V?KY&_r}0jd|a#> zw(u@~nj(pl`&?RAy1owoe|dHlN7N3kPoFk)nogvcHr9K7RqeWG>oYnFcJvSlu?lZj zlIy-x>Rp`T<7wlx=T%3%`>B6nMn3ScHrb!nVT1}DR3xe|>$jfy&JG<4B{B!~^XDwp z1I2~y2dkwY>~hY(-lIM} z5y|~pA{Ah$TOY$+q`GGpC8`H`$v@I-cKo$;T^UO!;-MO)LR{~~?`pHFI7~QwZbkiR zvj(rBNBFiIAF9ikUrsO*ik?l(SyDk8tdX(K_)6zZe#@dhiR!~gC<~GkhBXelOLO-X zb*DAts>4ICj|)|f>R#oG;RH$~()Z2-05MYJ03i@Z@Gu-^Z_bSaUsVL3*SbU33YAB! z3yd#@pU{TJu&<3_V$RZLxMHGZNk#1(BBW3>Ut?Uu@swieNTGK1=|p*=Wno3QT*`=$ z&R9odAUr66oP6{*QP#$Y4>S<+xL1T)&{PeUxes(Q>preeJ#1LeK*{8gWoNSuvX>meH{mz=z*TLHv@C@oy%MaZOMd#xS3z!Uw~g>f_v^oBp43Y(D*ayKv7 zO)4Fr0^n|io8Q4BElk9Yx8aXD*F& z-W_kw(Nri@(mg!II%Xs;ukR#1o9dHaN4pRwd4uw)by!tXuZmXU&;?GcCvobJW|s-@ zXt&-(riHBpYgst`f5;iYAFS30wacY0z{9H4T5M_OZ+qE29rPGhuVTULvoKWviU>$> zV1}VY_d{{@jkPQlVxQT`d_qqf>QdEccIDb(%rSSYKOj`uaT*omI?ju#CACBINRryL z5q@@l<*f)mdhN~8PCY^1tlu1ph;J8)kX8Z$@SiYZH{Eo=RD|n8y3d@CsUf|QBEh%~ zFK30_25kdx=823cDF|dvs`3VryTzec^(pU6oLY0ix$G%ea3ZzNiE53jR)H71x8Btn zS3ZuR(Sh1M*4I$dXxrgtXJbF1t|Hjo{vcrQy!IYzT{sWLYHelzh6$LMNJJZxKVK{D z%PsH|CZc45jbqs5Y?57I7d6wnxS7VCP4DVtwz6MP-E-j3wU>P1ydJb{--|ZTo46yEnn_}b-dPZfeGU<=%>t3{xUH> z5Q1%@lw&&BW9?t?w&AIvt~2E=SlF_@v}u%|=2W5C<%-~E!$3a;=3P0abV+Y2wXowE z%nm07%wK9UWk!6z}1MxcR+sl6Z zU_PSgxRVS)UhDNjX=dQH4c#M(t{Aboh$4DCfhnbgTNjO?&qofOUurQE?PaBfR@OrO z8is0G*nguIZry4Zot|=LaZKLKf$e`CP(oZDvQP5N>G~C-?xU{m?6zO?S~LnNN7KbJ zr~0YK6RCfpa_LM7Y09<}ZSz5uR6YZu zO0J@0du!!i=nNmWj^9cjj$vY$cd^8ONZsULv!5BzSFyY;8@}cJa*?I>zH(vtQ(o&u zd{UP_kEok9UUCZ$W$fv?(oaacM6xKiaO@3fbw>_zFACQEBoL|hG8%PX6Wt31x*y6t zD{HNWD~vQE@_AC!8F*^Y_hrf1{VEgE0P4x5P~ku5z-1Au`du%%U0=GBqIGK3YVve` z;U;)E%1N`G>GP>xPSMNEd2F?u=~{7tT?>P%mQ^GUXsv9ffTn2;1~uf+S~*(}GQ=H- z%sO;6Nmqsav@(g=d24Mqa6MN}`}B_bRqbmYqvnUPu*r35oNeO*H|~BKT8Z-?+;t#r^Oh7 z6_{Xkrv)SU{`=K8@3R61=XMg+mwuc`-@RNCT}C;|dp6epIP=~mx2A@|bn!FesuI;n zv(vOsz-#TKZ}pi6-4l|xq2u(S0UJKK46nO+WtK&ih7vFN0@KV}Ft&1*c+X#LjK?ZH z9g2w5$Jw^UYYKl!oSoay{Kwn7Z}D0~?M5Xwwi!ofHvgzmF)k$(IEV=S>wuhHXX7^L z<}!5y!htf;FEv$QUeZ?a8;H6^{8R0hWlz)Lg1;ZA9C2<=7@KIdI<&t@M%a(VG(guR z?&?Uu1eg42^vHMCe?H{kVS8?S!kV~5As{5prsT*QjIVfCb<|}JTI?l1B?2Iv0BKJ1 zb{%U}S8+~43glpa-vbZZckJ%#{dI3ev^8vDcmr(O-j4PD)@wB354&f>vw4P2&YXze zEa+92S`?DZ%y zOHHi^$3q60aoK6R1*u28sNWqhXnn1_1g>=c{FoCFnPPk#18Y z*zRZ@jprstAv!iuy~ImyC2*d4oq*Ry!hDHNX+JVv%s$lV@E(nO9yih_&IP53>OZeC z4rFX)5@izUWS}R^SX@uHtl>Hw!E-I$RDmZA*ig+`W})U}4`=s$XEM$6T9dSg*8_Mh znJZr$d$`=REm}-lE$A8l^3ALtFYD4nh{u=#wBxm2!JvlsYT}LDW6sfWSm6I@RMKUQ z-1zD8%pb8fp-Y;L z79-m9nH1l5u;Bu~dBKMGXn%C2bM8sJX$!BdM(VJ6`e_Mwz*)O5o&Y za);WXMAXq<)VW;d_o5E|KH~{n?GhDMg=Zklg)-5ptzVG1p z%iR2}(ipM$4O0(?iei{Zn&7@2YyRZZEM*lR&~CZIkT=1o$4Gy3t55-n8%H>HaWNO# zUavrpI0x|Lm`uceu)y5T>Tne0c<&&0N{8NED-Zxh@}&ppf1Qq?ZwGi2FnvTF`Oz~D z5iYkFDYMglu0^KEPP>?E@?RZ}C4P>rMOlf9ib|YqCBCf^({qp61ZzdKOQb??X4$uz zlq+ec8~Hc@9$^h8)jPbJAME2vd^C)Y+RLuJBX7=SM2^xI&oW#NeDp`%&AE}KJsDd& z|1L7NG{qTp^qFQuHEet?7v45kR?g$s$EDOj)nKzH>X@&h-S_L7P#3!i4rmvi5zqzH z=D8PxTSdh=PGYQoM|v8D7TDKQYnvF&r@*OXi95^D(c;NevJtZ~?uZGccjA!KCxX&y z?l`Du*wf)%wC*kF@D|in9Ae!1icX&%W(rlm^%;6kJ5=5~Ctw zlcE`9WETv}!V)4d7lY^9R>GBuLHeCEA&!aotiFv~6UfR9-?{zW|l|B3VrKB)22 zlPbcuwMGq1b_g=Q0e?z{!ng=lCP-=cs6NPyI%_}M$Nb>|xqZy9Uf)?5LHm~CEbOOB z!>g?gjA?*RlrH52#0pGQ>W&`mw$hXrnG)fAOOTkSgJL$^od$$^n`NNznM+mzIJqd~ zmQi2t1z!ELp=!O$1p8%?v^Kgx0TP;Yz)tG0itq#DDP#YX=PA|SkDK$x$9Z$^3ElZg z=Vv{+hqONz?HbQQ*XbU<#H1>kC8<_T{=wy*!@H)TQ+uum{ zXt1wyq?BK1)rdBk_Y@MUqYM!c!Pxg-!d)5d-#OBsvs$y)Z9kL7Th4j!Unrif915Hb zl0eTE_JZkx&oOwmJ^xzUZR8ssAh+^V`B<8%OSCVJoMKamZehqZ{Mv;ttn0}nd&0ay zX)PO;?$6|cf!1Y)-*OXsz!bNqQWd%4RVrR5$F%Kg&^wV6Z4JL`cZCwMD^?S*JcwOU zR?>>M;~Mw&ZzqZNd23svg7H^=lx^*3x?vevhreXItSXDy2?6xOoKZ`s~;}7Pd7s~7GeY9si!c>X7J4nws>i>pTb_R z^3<4Z)p$<(e-qBoZrOlF(?)YI}Me5Q#hEzr! zneo3u&yBn0(Id>f+x|bt%$?^MW?E?o%p7%q!;I%JbAm0nL4Ek9Wf29Z5TwJ);r8-i7U#0D7sLix-yg!h zW~fGLX7YCw8}?33+v&Ct!9-N$G9oMq1x#6yW^8Jqm^O^AZT=JQ*+I2hFi4r#zvdjD zxMPXz12~oZq0PK0=YQ?sY2(+=5T9tjh`(UKL+`L~7A;q@cD9^1IV->d=Dk78aOLC2 z7KiVOCMCb?D&w_xmAWMx7sN3Jt$+<4O(S97=E$?z$_$^UDmmU@F29_A18TjhXmKu@ z+a|14d|WFb7Rt54WT2IcCfG_yUFy7YRzuz}JIG}s3_cp6EqEAoVlO@uctmOAcLdxd zt<_Bx)U5lNcT8Lw22&A^gjv+4`i4pdr!C3zR`xDg%gG*IayQ=8w9lw49XITaaBuOH z%&3ch7Ew-qq0Gjf#v;+Gq zdHba->wS10_v!fA-qRA^g&qDq0HuEy)$P`iQ)#qods*XNe#^t<@cyv>BB6(qYSy+s z-N;JHV=Ws>8{-60PJYZQxfj2Nawg~ASGf00wKNEdI`4a^4+Vsu4-P48Zf0BanN2fh zu(7$1HZ~VithRQm*~P;it!E}&w-90Zm;NvY&h2AORYXdJq5!n3 z`8&03XO`A3>8r$^suj>o7XDHnD|hLVpzS&W#!|0z-exr^aADg1qDDlcQ*q(z92Np| zm&Q>8Q6TG>5)!(}r<;C8a8h5~Y*c>VNi)tlY2QKK-)8lhv-aGx+2{G3m(&X4v|5~p zz$XuD+gXg4S;_E|X}XrN`_0kl+Ea8#YeaV(I@H>sT_~Rr;)!u>bx~sG6UymMX}Fil zwtND$KdlA?RE^H+n54qCFXmA8HBDqI(V-RkpmPpz_VJQhA)8bEle1@@>9x98_A4F# zNNr)dZYC$g@yHE)upUIX;OWQqmd0a~Z!1${+18^l%sBOd$wLv56Y=Z0fa74lC73Yo_+S- z>|`C}KV(-k&pg%NcUEs-m{!1%VY)Q5U;v!B?9AmM?Urgs+rb==j^}gv9PAC4Sh6Jd zLGN%XP1?7;!lSs1G-t-ETVl%dYMerQ_L~y2Zoj^X4{>eM=df0uNPWb7N|%zL=-AqH zUw)3UK%i{wrwp<<#>BeRY!)#Zn1z!QqF=4aF!L_iMuYkK3$B7D%7dZ6rpN z3$1e={IByjaJR{y5K{8}>tO!mCRUy4?+=xoLzKh#3a{e(adA-oM5+va;g0d+ndw z7Bh&d_>{dJ@d1>6i~7*q*7ld(!aMKY6Cu9jSZrYJGu_VST7T`Ec<3;7KTF^f08Ajx z2BYPPi>%p>h|c-oACP{6>(x8|dLD!|)zC_9D34Mky{Grc&s{8Nu9-Z$>3Ev4a7b6_ z4f>+myUu;#l0z%osj_zAgT`sKCm;02`L|Pl;r#vHL2ogAH!uG|>xXlriH*i1M_+GV zML_WRDv&I@fJ?IYQvPNu zI+J_vR4Ss-@!Us~KS1Ac^z2k^_MiVCTu^&YAJc$-;OZMoQR*AVC0RU)zuEc@d4%K;zu)LRgBQo$;VLqA7*v6hbSw8|sFsSp*#?aYsIZppdSD&SY#FqfO zVPZXgC{oq3b$#1v{;lOM%}pTNwn-}^iT5*QZK~%3e&uOw?_Ml33|-z)P0ysa$MA_| z;&T&T`S3L1x3hkY)=QU0Z%YwV&P!=rrK{2R$Oq^0!Cdj77A;J?kWKcB(87s_gU2>y zYN~6Q7eSi6=5C|J4jj&{$h4Ncv#hPg603B`{BYAjKug2~IJjsLp+rI>9T`m%Qeldc z(cFdQ#Eh>~Rk=U~=OI&(xw7`<4hdEAHHrs^FHDh&@gV0jwA%ge(S0sEB0MG+8UNRLt7o@mz84D)lD8$_{1G`K6H5dY7*M5-;|Q ziV~;&$0-vC++tCX$X(~mAaD`7)5Fo^@l{e(s;#c&-iz$3l7GFH-y7og7_BPBuLXsT ziTBbCPN>oMeiqA@DZ2{{S+$P^)w(JT-sqE7ACU%3)mmzriojY>*ggTFdkH5n^`-05 zMupBC%UYtiwYJ-M6B{#nBh`o6_JoMLTOQS!evs&PPHKWJoyn&lU6}s6dXSo-l`yix z1jw#4PlC5Uy1R(88{I@;Azy`WyDK+@+pRGU!+6`PRM`Wmc~O`CW9q&+wzz3&-9+rd z4Sc~Od}XAjG!)md*!~2GOy(R)NDzcW!;qGg5GX^MxG1BOs}p=j+x+O)9EI}9e~Mk7 z=48upmwkd>bLn+!GHKM0xLX~})fnd}DeA$@ou+G#dSi(*OGH0vL*6E96FU@dQ&@Ga z<~cf6RrdVNbHqSWvNp*@R|VUvp^@Rar^JEW?T-vv(*AD5sy!x z8S6-|31JkMcjU24OsHHjp^8G>ZtEA)j$*2^GAe&&fWrQ<#HA(PjF%;{kFS#V5!AvR zmwQ#Uc_*dC|0G5Qgy(1sLM!~=EM<&rMhUHz__Bj@c=JqH1bkAJXlX6*?M;bVbx_!50jl8T0cUS+GOqqt-lWeFD+p6ZEU}kB zA4|+G^%`Exg8y#g2N0z&a2JBAF?k_J4U*FFgnWW@-P)2M^E($yoM!~7j*1}dT^>QI z4*y&bB)0RB|If`A&VG14o5A{|N1=%JHp;gT%#Cs+Oe+{@(~va5dcA(|cRrAA`KOoi zePWyImmJ;KAR!~$7Qa}i?Qw267EW2n+Fr1GXb?hIq1Wv9JJAQZ>R*c%%_7Od*eDOn zv(NoZ8_fUlPsI|ReZP|5Nk|#p|!jaTpJBG^z5Qx}6&I z)8FJc%v8bZ_)hg4HyDd%E9%NA1On^CWq!J=xJ+H;iaN(-x~)bflPL6`6l>GU2A|Nx zGfnIV!P>_YD5x}TuX@W9g;-}4Dz`!ot4+goS|i@JlH@kbb(V;@#Zi!?IRuIOpu~M} zUP<&}-SMvlq5$=!u~F>S`n=D50qP$mZ66!;@IQsxR5Y3)ciTs~?G0-}?b4F#JI5=X;}acvqnaT(RzJ+S+ROwIL)#@%{i6U%+!1qRI93Oc8Dqd2qKC zdc(WsFkYDE^Lu;339wH^4s1X_?L7|ltZEmC8YLXC%Of>n1NdwVvs>&!V#K<`P&+wQ zikPugkr9t#Wes6-?Ch8E|GcOjWlP{_O%>}KLW@^M3!jdTSQYJh6HWY)#*vRk$6UNA z6xSg=eiV}Bi>LL)BjSPaMxI1kFK5dJkx;of;3TS?3MiUv_#UbOEP}CC{3!aMEye#L@^*BWAY;u*{b^CvWb4dt}q|D6v5u54~E1K^%$E8{*9^7iqxlYNFKZs#5(DG>E(rD|_AR2(* zvE3PneJ6!_QM7ZA5RTSM3MGdzez0;*DfHgDzW2kZ#)m%Y#Wa%OSM zVFipOG#k!rU>2~aC{4(``9Y2n!hM8Wo;Zs`Z5?MOd!wZsa%aD(6~BxYh$7|~D?33! zR3NVBe+I*7NJTO;8%A_BBnS%m84vv5@h8IO0zyqAtt(3XWBG0KtJnQJdrb;6e~K%) zBnKV9-|T*#UF`+iUtR;WaK+yC^L+kJKY2&8`+3qhY=iwg*ZoXRx$gZu1vmfyzMp58 zy){w>w3wT(+s`xQreL+^>-O{fDv^_|SMO^8%I)V_Ikuq%lPkPuN~a9Dho5x(~~5_}BL3 zk}N)izvhrV1Cr$BaC><s76)f=QmvNl+B3=N+OEsCT}Rva(E`)_T%lTB z+FOh@F%3;`Zdj73&^*d2&lJQl3z3#7`)VI+TM-}ZB-P#!F-X`YjL*_lT()v1l~ z`9)HI-|=_jim~|M1iBNUJAO+1CpGRvJvc-UY`;P3WGNeOc(?r;$DK~+yoCD1*eZ?V zxHXW1n1<9(A7!{6lNwvWl>G9QD~~aWRCccJ}{6wZ@>$RUT>| zq85Sx&Jx}C#Cv9sAMXY1&}+lqQ#Y75GF;dk?Ki=sS-6)N*zPE@-*mVxbXTOPwentxq z_Oo%1-V<~YrwBz!c-SEFYInOoT?6k-l}_y%D5il};)kp+Xf$u#yT+|gg&k^adnlev zg0O@V6l8~)5`Re!4Nv?kfPnMI_JY*(X%NMwZ_wYr&!fLT1tJ~AnRpIXpH@0p#s8zx zrUq42_vA~zf4(=a5&ucRHC*4mj%s#78{z!x?lxPpZT{M|x%iNtZSL1=o2A({{i6|A z9mUn%RqpGmv`pp~Y*F1C&-FHht{-O^-w9OLO()*fr(o$GpZDM=Jm~)E=;&+}IsgM8 zy+42agP4z8BX*SBL?hw8&BSLg*;iFy>Gw!qi_DUgh2mg3f7`{0XYs#p@OS$fI2{4PH-Id-*e)sw|zR;9e4 zczKj!JX7}P-NiQxn-+?4R|p|!=vXSenzLt^vxk-|*L=K9Jk6~un8%kWr%-$q#T8Rp zo^F*x2?xjaX7@J~XkCdYz$d7@dwR=7I<5P>rfZlx=1H(+AdPrds6C@_YYY4!cP{sI zGgEdI)%fq~O={f#J_9YkcNw(&cgHKt;VxU&9NQ!a4p*C?07{BgJ$Ox^f5ac4%1K*K)IWk?(YO~&N+tfnf26|)*<^554u+x43gI!o{?8dK-;@4Vo9O4-$&gA5m zd?8~Q5yS{Wsy)bB(22skovovyWSfnl(wEW@lfK1sg zYVz#O*}>%}ATb&U|L$f1-Z^?Uif0^{+sD@Gds}6BG90Y3^iCrSc->7Sq4u}CL!m_{ z1Xcv0(9lYpvi>9d?oM9Ob3OKo58DOM1V-#y7HDKnRr3Ix5n*In#S2+f{*I|9W33uz zVrgT|eiG$Xq4;pX;Z9IEt8o1CqWyQXkkrP+OpK|0sv1VEVg>j7b_uX04WrgXYSK+7 z#S(rrvy8CxF_FxYhS0);c5EPi?H%QygoaI>Ss5F-GIZrn`byY6iWgIPJmPjXY7PF5 z(3KxrXDHe-wzM;pdV`<7JtLFK$j8NBN}9%4@{gT(6-^!-NqiC;`DUcX5B+Q;J&qNw z)Nv23U-oT2HncF(r~Rltp?eEvCi+JUKUCkNC_#mdHG78QcL+X&yD_%#Zd$y}(*dB; zDu9l{At>f6ns9Y_cg`IFGVg3momF^vYTyNwVL#SmoD%UE{-gm9mhc<4>nkCD`vZ)X zrE$O{cVOE(-gOjrTpk>3ATQEA`xOJl;J64%vl$AOs}m!liT(T*X#R*4>n1fzI5~j~ z44b--q1Yr|-hKk#;GJ=qMLLT2%hoOb%n7PnitVY^jfoiQhxr4HLB1I&1Zb6NFg4_0 z_8L(A(>mqifuR2{OUZ2Sui6z#vK+5M^Q?~ICoaqN{SEKm`*!zTo`zUrZDZo!h9@_G zU41QOh>&cRMp=P5&2W3VWt$B0Uc9HhdaBQ|_*m&k;wA5Wo}_P*y*yd6&bubCwd#z2 zPt%;4W&C>%{Cj>y3-C=}9IJWahue;C8C&vj=-L;U!9-_d~a+BL1|60zb4#G>eL!m2$u}v%w?J%`67tr_S)HgCLZS{lV zSo7ha>j|a)&2+4J`^Xryxl8cU8qt?LJdcf`#Xs&(XC-?zG0VN(>20$Y>1)10bU<5Q zG^Y*9s`qX=ONI$jPR&sHxttF2zCJTwVwgCSUBd;jzIZCs1Rja$r5rGJ*1X~T-K}X1 ze@|{YjK61u+WrUF5q~~4HmD$dKwWC$FIqSCzw}~&G3icX=FTj-B2u_AvzijsDpAVK zUb^YeO_-a9fSglSM0rQit7vi_83fKQtqa}TZ|3+!(O$Su+)f5{qcPzJ98dfqRkmw< zP=Wss*c!c=iPDf7{lpPee+Pp8?|l?#TlSNF+5H-xl| z*43f9u8)i8_n-0NG;|yks_z(E@{m;cEa1GqabQ6d0J{VS<5v{zb#il6)x`Fuy^1Eb zU$$2<9qs2UaTJZeI}kIfc2u!D9sUJ=DJ<`lV*?kd9H=w1KNN{^LiR`csXQq$fu~#N z*R3B$%uy*zI+nT^N6e22fNHy$KEr9X6DM_Ed8G9x6hN{|KO4NG%&d&#x$L9J5bFD4yUm^X?s)80*2O8`;p!fhSUKkj91CQ^>n@ zvOn1ehp`v5c}668InyK4d@E(BR1|6ret# zOPQ2ScMynq7ZcL_$+JJr_-E={i;&`MyOqj5m&%mgv=dww&$a@mu5ynA7%C^zMsLEy7B9D%ueciOt;a<<%<_&z zl0RmL)QQ!hh38I2pdCKdvcjCGghu>4hMe|OD*Eg0cx5Ef(oPJqIXy;l39X#fw%=(x zK_og|VVCkdccB8t^q>&ZB>zbgZ4AU6lklH-q|)c4&}mQdY+ zl*{84l5vHKyxzo({^`Cdd!LF2aRf|s1-zR3IFcM1LC%rO4o%)|1&^NNt<|@X&#YJ~ zyZ0N_EUM&I*$q{QpN%BJBdCj03Zc%%#N(cS@aMsfhWHM&8cE)5J&Ck_RUB%)T2B(6 zSd?xgHQ&9-_NnHRP`q6QQUjxrt~Z&U+96fiFI0LY%coNrbmziTA5$+LcJDxYnL0w2nfVj4S#1#+_OL2Y#*E+UL9Nj0D($Ti( z+-Ym>8n&47tXzFbSbz*5vCL`I-k5mP>&qxbxwEt$(7Z25ZyJUT8r26G%)D7 zjy2ztWe*KkXRYZWPIYNA6$p)0jIxB;_}NGqD?(9w15WhYJkYr= z?O90*VZQCP-Xm=PimFs=KF8Tp9bs^m;L#F6w;&g_^`zQg+?lfbmWwZ zS`6Dz{7Dv-J9`ad z47D9g)r#)CgR(A`352K_DaBQJdM7`trK(TnUAEhj@O|lXq?Jis6>VMm6ek9N6n(<%2gzACDt$pSHnX-uHQ4!mK)Az$+%Y{0TqDrK{860lk`h;TloX-jSr+-kvG@VlV>ed+DL+ zA;Cv;ylHRqQHeKsri-}E&g;J|W?my<{6#EK9>~kw{=#g)oQO!4ShBcb6x~dgP2`ds zG?~Awppb1LHEt~TwheK)cf~o9R2wM0mz8$Ads=toOU?IMRBe-KoMgjnd-kIExmAEQ#f#r+4;=VFOBx%II!JnKeL1!mxLbzL98?u&Q9 z$Hvbged^nXR5T_&P%lfN_Ap&6sB3*U#LJV5k%yRQh}Jjiy3$2F8rD}&`b4|@($@Dw zp@n1n*S23)(U)8`|3=Hp{w|U_OlMe%Ew5{RQ*{k2tZ$E16mz$-uFF?d?nysbe6;I> za2<*w4~uA#GoHA6q^`?Tu_EoYE7@0%2ar3nuJtXIQ@^KFY(vkU*MM?Qwrxzj)%qSC zJE)&Bj1LSgT-Wsx{W_>0wG7%<&$a_xRH8blg6q>%5d1RFwyh;oa~MD8i90zq%V1BNC5x zgJL&>Ls21c-(765R)nD&Mb_EPWP8HwttCO={T2N3EIj=tkfo7%N64z1V0*@B0l}{A?*-{UC_e01 z>acLn_#b%|VLqXKqg`uyb#K<0V~)2fb30A3+N&D(@6{ zA(AswcD{a{;5g%s6O1$Z?-^&j|Eu9N_Lk#|%e3mDh|-SYJ{RN+;EknW$6F+=kP!!l zdm6yEJ=BXkja)i8U)uD##exYke$<+DQ%CWw=jUqwb+&dzT~qsW!+X{~>A$JnajVVu zEnGM#OeCARY$wP&i`x^|EFqOdx)JThJUbIfWmq%L7Han-HUt0itK1t9_o5pA34V1H zzjI!$|1X6MI!!0h_no%rd-B08T?4ZRU2sNrP2oYR%QFS58(1y~GNX$>dwcOInupp`G9TdKH}-{zvsu-x%K^7l1g$= zJ)bGNaj*@u`FokN-$G2tn&z`Ct|2r}d+BCrFCB6xyZeAuGITkqI)zX6gYMzy7@#GE z&8MOgXhPEH1lgF0zOJ_q1ik$Sy$$Ni>~RmBlY&S^8@-at1OE;tr!)o>2yITlrEN2@ z+W&=WMN!6!sR&cF47V*!y5VFe_?VuCe?q1dufnuN^H7{EBteHd8i*ZAwaA|tE1n3S|4Hd-n9+Q zgQMFQWcSx(&tIq0ISg%bgxI`GrtC|3BEZlIc^H}whB%Hr8_pX^MoKnZ@n=9*+B7}) z5cuF!NU->%oJy;LoJt&kx&oZI8Zvtfr#m^UT>O&&E0=EtD{7+K1~AnlLUes@p)-n+vmn|%1JnsrtI+Y|nPt^|syp4UE;(}Mvj~Tj-o|Qw_L^pgx*OlMv ziLOoe^@6TfPW>iyNwdyF*EMxpMOUW8p=;w^@+Gt|v>^X2Mr00KhX<30`E-<~AlRCg zhplOvPdT*Y;p)un!%@#DryAJ`B8eRwx>g40>U8K*6`4IQrZa&&Tk)f;JX4>9F7{Pp zjpmCp|1Q1CnQTHA(@E%hy1iF)**y2gvdZn;Mbrvkb)nwaSrfEO&1|))7WjGB`r2yL zQT*GPIgHI0g$EPt*`0b~Y~rF`FgEg(Z^D?)c*?`rt3TK(#v1$6JQJ+pFTz-T7GIn3 zzhFuYhyM+*&W75q1Xg)CGai^lkLFio%%Hvdg$tSwM!eS&kLVbmL{DknEL#?!?Lmh& z)sorc0lv$s@qeYgb+|q%*il`4ZhT-tbH7mXx3mrMQ*%*8`qtcZeEZU1IgxTBkhKi<^bufQM4vpk$t9+u9)-LoSRC$AOFvWf}+))1jicsJnr2F{-27IFD4 zdXF`qSnSB)us`R^LfLEG@orgp*x@Kv^6*+w5A!#YM++9mmZb$Sk<@%kjQ$0J3#`MM)%FfD|CSnqQ+-Iypz|FNU^_%n0(jJd8D=ev4nPh5U=cQ3en z^Mr50r7{!b;bi{UwC(pgHq!cGzWkZ%Xi4(ta;W!P%b)OnD}R2AF`py&bxq$@{;V>| z;N(v~kkV8B%=*cHC4ZhiJ%@$mqN9MD^(*U%g}MLe1q&xl`z9>(kU!gv*(x`i*N5ie zW|!X4L;f&Va`NZVfN0@oPeO8ZH`I0&Q0Pg+o9T2M|BObr|1xLOG&Mw0&L+Z#6>P}P z7trQG$|-nv1q$BnPQi23{%j#lOAuw5qtgo0s{)ZV~qAP0s49$JeVSq|8h>jKjwW4*uOpS z^^65x|G&e2T0s`}()v2nPX{o+<)Uwf`8%iPVE&S*Eg<%tw(kk^mhjZMVRc z#!gFF{gXKj=<+J~5 zrVEIqMb?{wv2~`qzWG}+-5P{aNAbxg=jib00!N2YTKRdXCmr^^s~0+a@0hL8p?~Y< z1bEBnJOZo;I2j8+7-xgO9A1zfj7FioEY4ng{R>Bv8-AZ}uhkhnqEoIlHr!2*KX5b1 zWk|`C)rz7;kK2RxfF5h1!9^P#J(9?;_@-mOmL6-jq(@9w(c^@2M~{<5kK}QmfuX#x zxa_1HJ#G`U9&i12^tcTU_Fm}`J$7??%qPL@_F~h6o(YJMs2`b`*$*>&ECh~uMEJdf zHY37K=jZdOE&TzK4P#Ht(Z?t`y5LiykBbKNq>s1%+zWjypS)H2(22Tv465ZoqmOP9 zc;(-Y1lHeT>&e~xs5ksO%FW>)f-?LM?1BH!^6-E3cg6qEUh#iIH~xdxH`>`yBNh>Fr-T^hR&DP0i8UjX~@2 zKYcrTyYc;RqPNX8);FZFHj*jbxf!1icsCgc0ym>EsmvaS1H&AF-8?HGu#vqJSo*{~ z>Wc3#>gp(d>bM+jEYs`{Xrp*QPujTj553UFiLtHHM)~HvW(e(Vg*MtYY(X2xeCBB5 z+?#spN79bwNE9WDPbouoCd*Fck{mRPzuLLg$cri5v-eoQQVzjgvNW&5Q%Qu9SnjP` zDA2M(_@iy$-E**EaWWc^`!|1ND-mnyLHcbLG5b?lu!y-hW{a5Vo1!u)GTuHM0#Ubt zV2$|gB0^aNTezkq(^$QaDc>DiPo`<-$t>wy)$mCO*KCs=2p6yzLsOCuQBCHKa$YFa ziBswboKkpxm3ts?`^$?}?Ok~%Yt07(ZN?_D8ERvbKlY7)Y+f*tzpF;{SV!^e$L28p zFHJ!(UJXy#p?^<|x82qY#%CQKVBFtra|9o_ZythOLY96?$bzzQ>!-9#jG(PkS9{O> znI-42_u8c311;2UzVvYkA4oku@5X%eU+4T8=w$10!H?;GQBx#IN&z$kfU?p1$^(dr zgUDiEy!+v-|C{2QD&Fe|#{?<`bc-y~O$6X)*@lHED4qlq{-lcFG{8YnqIdI{VxB1Q zW#da1O@mIRK__g6UmZzM!UAG+i1I>C?6c6ARPh4<$G(ju`UG|)3658c54+Y5FC_^a zE-u%IH;($#cU*G2yh-JWC7H65*9|X7yqLaTkb(qCBTugub}Zd5Ve;d6EvOv#>#V;| z`D-jc+KVZoj1%gMQ|PoLpPxyd|mwgTaN zpjEa^Q7aGJZAa$_=SIy>E!^v{Jc#G{qMpPP`M+L>XYWWrJVMT7%S2N|*XO=WjPZO1;VU@P~;FkJ$76LF_bbaoMe7A-vU zW(^XNxj-DcC%1Oo-e~VpKMTDHwvQdHDIRPelPjA1&vev3bn|I==g1(8^C3aSyP2Ps zM+vC0Wk;0e;t%UwRn0Y=TSztOQF0{lnz%a6$L)gG5kXr3AO*!Q zw|;)WrDvK;NklyjhH%`Q-6r@SCvKhlWKHlq{*xNLXa$;rv7cQJfikiY`{FxK-M15+ zX!+?*56|2EzH+-QC%k&pGc7;eu`_h@BazhMLt8EzI`rYtHHT?h(#LWwDuy}O*K4_~ zpZD-j*$jcb(iIu`bm&Uu9cdX$>1%J~j&P%fH>9LUW>UnPHy-w!n*3obRn#xq+R1eo z*Cl>q&62v%^^eq=9fbfHY2`ys}e0bh&lyHxiA4!Q^ z6@4i|RQrJs|Mc>P_%osS>Cketa1}A_{#0&*44#G03%qk9?hqc$LZ+exH%b?N{|!MK zU0AcrvSb#|e?5Sq*sywGxi@ocm}q3N;ne8Z@?iy*kdSn$HA_O*cf|@{iq&-aFEitT z$1bYI;6Y;NIjo#*7GG;e?*QUCmK{ZKp1ZuR8olGtXmV0^|F3q%P7k&1KS+J}S0v>E zu@qE&-AiA>&fGyII^wl$cgn<)9AhnH@S;=whV9IWC8w7ko*MQpzlqo;FrGXE<7{`W zY9|S2n`$?4Lx~o0`)_1#Md+#v^;p|#r*MP0{N52^Ist!s?c;!XPg0YKHzNtRhbWQ= z_!plBO!5o9dF_rq-UQ*O4TfdKvF6z+WMB1#iM8 z)tiMNUE`V?S~z*%md{CWbr!TNIXfq`@aThLNzSA>XGx1n(VrG73`*DTGqz7Nfkbr& z#tLt>7g3HNP(e=k;*`Ozc1|v$H6oIZ-|$G`q5|IBcb%FKHNf3DD~fvq69FCFS-Z%y z+sEEAWoFvH{j&32!wxH~(&HUmClpr%a~-GM%%$#vQ2cxRWCw^bjE_Hry)bno6{AHs z=3(lJYmE|LTF$lZoW~*r6~Xs8b%!>hHA4o1*cV-18M+c5&r^ZQ0;iz3Qx_@aYux=# z-f0d{O)$w{2cxN~TPffA>rt{9*>_xyXuWHSU*}MkHMX(cKb6j1XJsP>I^uano?nk1 zZFO1nqC&5`F=I$0)w$K;&=Uncb42gTs&ui9SEo@WUgrF)HE4v(EWGja{^}zM4SzJF z^-D;RG^`*NGzG|C91sT5JJen$RD7RVi8{gJNK^5fKNzU{NHISKE#-$h?CXUtmNP}k zYS$WCK|p&c|C*cns!idcAn zOjIh7t@q&)cnCCI3c8>WA)1YZUr|Gl_TZ8af{u)&9;H1HTLF@hux=`)r7vP$kUicu zh`0#ZEfk*5-lrB&b_e~HM!|W(#i~Twdvw63 znc6rZ;U^Qt({?vKljgKTk6_eSc@8gZA_77QD&0YWeM9kQ^!$pYk}Ohuf{ZphM7A~tjO4y;fWi96Z6ZAJhbVKZ zK;z^60s(scPN*Jv&^NXMH_%H>xLMvs$0!8*Wa1Xbu)DH(FfF|Pl28U5yu06%O8g?= zBAx5l7bAU@GZ`cbVfVLF2j`gzQyG*RRRJ}ye?jR5+NV)OqzAf~U|@HW9wdo&&Xk=3 zwEaW$o04r4Aw3OS0}z6201U{&^b_ld8mI9g>mr3HJXcrPwm_~`nrBdGwO!{|)asgY z2gvGq#C~fKZ`_Bm4`Eh|ifbKUd1)Zm*MvQ~6T!F%k{;8Wl?I`kf@pYmSTEAJ=>nZI z2Rsf>6>W+ZqG|8D5h{zNZmoC>iiQ#$n7+1kZ-n3(1 z&$!~+jyk@=8I^Ho6~{ek#jEO39cm?7I#ZVEXa%!wS3`4`KkL z8G!1q)Fy$+pxW)3zdATn(QTU-!{#|#G~yN0b-zPy(|iOWV}e1JRH$8!Fyp5ELu~`O z&y>w)G=3p>ns{yk2J}lG9SOXrgZJioC%*LsLv?drQe2$R$*w~~#$w4+z>Vs05(GI| z11fTpm$66K)8?K2>?;{|1gLTlx()^}6sbC)$f0U}fGUlA%Z&~GWJH7^{nPCPpKm+! z+5wJc;B|II<*+L!yV;eqt950t=+R6ge%PVGdT7X=rgPCZpN6W@rlG3(ucl!reyzRD4gb z@J~=rFOxO7KAjT%uk7S*ppBXul02(N9)GqF-=sR!8w&KgiAd|ATNv0`Yw?1F*f`ST~qv z@Nm_Z>?^>g1|9wLo^BtOgjZz~J!ur8cf2y8NMe%W>n5?U_;`GClk~j6TeW~0xs-NY zipaJxG{k`(qJZiCnsu5olTg!I?x1k!{?$9POP&(k?G*Z18#4hp^ij1WotrZz=~$pc z*s1Ncv|;A$%if%R(hhHOigof<>z1@bi4j3eVnh&=+&AVg9p15eZu}bBS|r9dYL&m3 zZW$9qZ%I5YoAGroR1PEgQ1YBSMmOwI;FZ>p)#DXCFj`O6hJ~LNYA}FizzO64K zgxNe~B~rq$8l>|!8wH6hL}<5#<~B1fyv*ZyiYr>sv39`4Q~EAvR$$)oU2Kfwtj$AI zqj)S>xZx?->9z-nQ|HW#O_0BiBiBd1k?6PPA_amAT%^RVa4x&fuPE2m7{&g7--1!- zBV!aQy(ObiTI!YRE#on(yXNht^Lk+jw)s!vc7nNV9CIU2I2%YAc&BygBX8jmo6mkd z&y?MgxmbPMQ=cWIo-57V$}p_Q=6VH$4={EuMUMg^hP3DBQJ z1fm?LqDPKoV*hs3@}wTMF30L!=YJXS^04TF zV$zYTjNUa@40r{+k~S%0HZ=I?Fq1Z_nOo=|W{hdvYu7{HRR=@gUr@8lR@~q0GLo5M zu)2}RYs2pqW%eL}Wdwn#_xP)>ck(j=a|&4}zSeOtSjgU=!(SH^1QY-%Pct;;g04ra>My*6BGdVCypr6zC)_KS%n z%@0`WprHEVKUC#1O~yZh>qMV^mqa1Ce5rF^8ZIM7$i})KY{NHa(44&u9z6Fd9+z?9 z@@OXqXC7f4U~mK`b%(~4#Y5r|FSayKsfk}^hUI12cJY<>^it%=WI-RgDAhGN70N>G z;2xMvEH{{3r#EoWwuzWTa*TGpiPbO+N8lGC08L2E3P%u0FLaid9L@~EpQoG{CD8^3nCUjzYBOao zzAApSOnZWB7ugUv8nkeEwC43t+kWb>784=Ypv%UZUY#fUT(?8l*yALiCkMJRrRl*%Md{Y=@ZFYs=Rew)x^Z#ZLi7?86UMxt&C z9do@iRyg5guZ4@3cxChKuVxlH#wt;Zn=y~F9(^-(XIX=? zwHI2wodU7c1CCZN{m!)d>xSOR^68ZTCQHKzdY`TJ}etUS*9FK# ZtEBVnzMbehevh#2d>c&okE{2ulReZ12Iel#gpz9zxf8Q0G~3)Kqx20vU~ z=2Y-@Da36skp7rI{I3-9hpKm4bNHQph56M{eCmNYd*WE8yh--8swp+-+V^_e6NPQg zp6HSCOm>W7O^u09cG{h@!^M6~Xv_4G+2A_ocYPo@vB==x_`dG4`5{>7=LBN*^v6wd z%NiEELW2(vhXzYW=@Uy_T;d=5u>*711XiFY=_ApSLAii8Tc}B)!G-=BKF#xyY&#Ik z;29_*@7cy}d8ULub}rHys#FI(UCApm(RuD1p-rin?$sZb&vim=4Ti+gWh`eoUHHI% zeVOrfK#AE+B;MDVh<|-oLqI)97CgW!J0o)@oi_7o2IkdSHny88ZV?3WB?-OK=|^9^ zEYCS~NM*N9A4?p>b`ZRH?j!$3BSxpWZQ)k^%`-T>l6ar|FMZL7Gjl*Rk6 zQO1&c)I2}DfW2aY`E#&_QnTg~3r@iJY4Xrynb7m_ltwbkuzEP{@TCCa>N;sKgW7xAJZ>3|?+b)GG^?OEKX>A}Z*X9Y!#OrmLXKiUjpC&%< z*2INdWSvpO#y$K5(2xry~%ZZrOMc{(@Ot$yv|!u z`qbh4+Tl+zXz9q5)p(O9Ok#3^^#!dG5l@Phk% zuNNYQc)y8?;TwhW)aCihL+ukjq_RM`AHqF(ke_0X@1w`GHr;#Zku}oXjn>iwKkB@A+F`->qMugg*o<8WUeNCf@h^ysc^i{R7pnQzc*h3!w+k_Bwan zoE;yw`FbvAa^s25b&&aSxyr;I3r7P1~h~r`gXSEgou3&DxP>IyI30=tusg!;gJN$N% z&Q6Au_*%`NbK*;URZtK!?zHRt;DDi{Vaic9KNtFY8K|4k_G{#GBiG;a`W`)T>~@jD zCzyZ!(`#*#N)ZlCS|)tx?S7He!2Pg~{jsQ_cuU$yM`mv>>sJ^F)o;>remGLN)(+Zq8*$><9J)_E++h2dC-5pLmd-%dek53}<@`cYONXywCtB7BUiOnJ3hJ*}Iar z7NQnpggz0bF>YVWPB-ZC+b!3^sZ{mQ-hAVoyeswXOo8=3p{>Kz7As%l-qo)veucI* zOYjzGkQv!Peqly9^;bjeb6%_LKQZ?sLjlXkHwC7lEzK6OZ{uf}4n$m~q&n5iHw*w6(P2$7b zd&8(q>0vi3ApCj%xaeyb?Jpm7>@;U6<_DYoD0mt0S`f5(Fxm;c2USYRPQ${Iqvq^7 zR}C%uV|nZS6ygtxSf?LWnCxzPGefIXWv&K=sFhU!fBAd8!+U&_)Hfdq&Q+R9+xR-n z(tnvhs#%M-q4sO|Wukxshbh9lHAq|>T`23*o7CpUo4s|POiudfWTu+S(n)OEO zoZkJs@y}B=GlOcNu9>^j-4pcsfAu;RyxF3G{Z!2;mAj<7fl5)q5WU$^Z%*ibV?er5 zp}9MI;06{MgVv(cF|S3p(i4-f@A^L-F3f9)>#<2mH~j~ZfCBuK7c8=es2 z-RI~n?^~GuYY+$j%9Z`lrf0}WYa^UeQEn0OlY=@SK9`1#6Dy}FKPXzch01WU3~8aN z3!|3e%LS8X^N{Qb)Hmp5^T>|+iW*;g@Pq|6Eq>*#B9CzN>34J()DkmWUt9`-EK)1A zio2hzWN*_$gXdeQRA{hsO6nlZxuN`X8(sYUlAtQW-cbots;X~p)5GSyx^5XLfNI;% z>y9toEWYptQMR@->0e82d_(gd9Mgtoa6DS$QRUIr$7XV<9+*(Uyl@fAk^N7Oh$4>_ z>Fsf3S#(os^jEB*xE2;-A496_R==3#KLH?-~$ElE(4ye)6?!qrk^fJ}lwobgl!qBDn2MeZ?8vY)`Rs zL-*EK44ui{g&oDG?2ZEfV;6VNF`7H_-|Y$o0jZfQYKsm&Xhp#pr(bdwt6wRsH61On zVxqVc1qdWcm0f?6(^;o`+YU}!uB?yMLz=4PJR(ea=#8@_8p6@mr3W-7&MH`>#{3Tc zY*>QR`Dtz*aP<*+ObBO5NAarN=o5XQPY-F9s!zwL*2I$KwSDH!Tv0G<>m4dmhnO-a zk8s_o{D$tR9ePSW(o^8D4dt9?RL!FTe?L=dYFtDpObrDYv_yXPSn7S_&>@$LH@7z8t3$ItX{8O)r%&8Hf^M|BdBm<2p1e3ko3Paxji zLRnXGVytF0umPg!=P=3!9y$nA0nhA|nbxJlEBjliVoLdEQia$Rak@>!WG24wZ{u)Gt zbKi-Qy_NsA?~2@a&;Q!K`@+jVAMw;4av42~u~ zb4RN8d6!RjV_+0Ru#mY9R0DvCCJj8DSOV*UGrXumB-pmU zYRf#vo(?#ms?Otp*)6+`Fgr!8H19x?`1A_^;(w{r+d$If^n6KxT8LP?!QN^44^+TH z2zmCI7)m9_xMV5g1+|PVQ!pJZnkSLuC6YVT_80YlNq2+7yM7~U5o=#dMaj|iG{fi` zxFm~@;;)_EbYZb3McEC!kOH1rW9y~UzRi#htDE{*wHZeLVAd?MsHcfLO$X2#ECKT3F8UWq4jN={NeugSYqM6Av4hC$dMuCJdaQ1;=l@LwyNg#u z3cbkgE^a~rr{{If5+PQqQ&o|gSf4wZM@0Hk8;cvaNE>wBMV`W9#G(H|mH8(D{>d%T zx)zIzcIaNB?IS28M?d|hk?b>ElEts`*GP5{FCDFxb*g}o?9`;gl^kD zqkaJoy8WS}Tcg;CVK50sj}*CzToN3J)C zTJ}ADch8;FAJ!;YwuHjpsYz54k&J)5e)tI_#%Buxn7Zx(~H^gmT*ocw}xihy+W$9oM~QHPuE_v5K!8&_}urBl^KH_gUwiv~_-T(i3gQ+DDGi zTlk^lnHSh~zP;>$5r1#%iqo_K95_YW7P6|pWex0e^nHtK9k=RrIDXM!j*Pp42YE{_ z@pT_$ylvmY5Z+|Xxf#8g=Pr1(yPNm^I1mkoxK}m)y_6c?au2T5gWu`Fi3t9@CPvVN ziB;%5U1objUU6{{>_(fjNCxh=CA>54BmOnMrn!Im06UOJ(c^FfCVr-DPijhkPu2Hg zYmekZiRKZfy^`r6kC{@W$0sK~B0041gpr|z7h3p1i-^vNv**1U&U-TjNe^v7^dzH6 zj_l-0(%dN(HLaiH`q0i5os)ouT3R2v_k8$za(^9LvuoXkWzg44G#9!zRr zvv&#oY=}m)VbZQN@?&1Me#yS1(FknU`4L-o-b~|}T3Y{!Mt<)np@mOjaXp#SN>3vR zlprUqbc53{sr)7iGew!X{b)vpv>Z=)%8S85O3ToeFZxj7ve3eRhU!;t=t3{}oKIBc z0xHpD#2Bo@+@W%H0cW{ff?9*TMOQ+#0%v*p2JMg078VTh4vt;rwGPxC6enX9ThHow zGip^GrdVv9k=Zm{bQ2YN!hgG1ie&cbijQ_L=Om6%)f@Mznll zB_{8YgrXF$xkhHuMC|O0H)3Onq2VfmbTpr9^?3{BnbxpMsUYHED<)R*jNNRYQvX_b zTEdPtmbJ*uy4W>nl6mqgEODL;?6MW91NtQI+f;;elGz!U8novianK`e`|VH_YV90N zl?ns5+WM$Aonx!TCGjTsjzLypUXZDTa;LmH!Ct;wMUGpJAq zHvL6*EEz&?t!Uwiyfw$J{W6oIiTEJchOj6~QCm0I)rBWWimlUcq}W?_jaNLw)qk3y zkLnbiZwE==$0nYF(D*JWJuV0LSV-+(CYV-i_g&GqU#c5@XME<+H-Rvz{~moS5ivc` z_j4kYoQu45#gOmX!>h0E?qTPru7^hv|MTDXu#<4)9zFc{MOl@ssDbG$R*fW{5~xAb zYP+&3r)&3Qo7tcpWxGo@z@H%qTQJ-~zXM&hKlkKc{0CC@Kgga18UG}AIfskGX}AYY z!^{V88lOQ4reyfLLhQt3H^i=4?;tj@HH>s9lVpq_@2Xf3T?;a6T-hIa}p=Bjv6eDaRd>sJ0G|RLxf_#};1NPlu<}z%86< zYueeUX9yJCF~n(8Ea$XRmhPHbX5TH>brgGnrn-5s1rGO;vNIth17KdSSxid@dG>t%zecy8}%K^=P`$S9Vp7eH{E|gjKR;4l=g| z)_5%s(G-6pewSpgfqi3ymDHnvu;y`}DLWWPfZxO|1>=0?EqimFIeZlN)8&;!LJxJq z5|7$BL|p^BaHz!xleZvQ#0GLUM5$^P2NQ?GH-p|KVD^LN{a*X5EziOEe}anOX|*h8 zyY)+P*)0Ec0SEvKNK=`2B_UK!lN8I>lV=NFH=C|D-^1$oS~s6_e9!k`j`(d3y|h%4 z+c;d?uFL{N{$P{kA8temA80d&QoD7RdW>mCsonLY^gljGHU$~LR$}{w zWy6Pca$Wpy!b-OgOU)XG#KEl|w~ZI0Fnw{qD%doZ+UKQM-#e|AXw3!HO+#2bb`^6F@+0eHtPbc`bxC+mJSrN}egP%AxKdcealu12 zRAvcEgb=OndV>fLHPz3|9I_V1-NqtZzlYA`N2OY`Ko6Oxn(K2^W&uCs2yofWb=nOR z7#&8BN4lNq8eR*(XV#fw_71lih91%2oz}c~^x;BCDa}aJJZ2_8%K5=S-3%ls+v%{^ z0n^aEF5*j0X%>&;E=rgm+s~{gDAtscFh7Txrswa+o)neR^z0S~+We*F2G@mEpGG({ zQMbJchE*_8hl6}4Dm(|n5aLMG4T&XAM<_@G5{1QW`4C&L?GrVC!4>h^o?MS{!O!k0 zU01uS4SE~Ez}56`HK>}Dm?wvnYE`BKr|u|h+BK32f~xCE7#XC%@;5kTnN4S=Zie41 zQa3%p_dAIFVqkQA6h=?1-oVrejn}Mcdz2{!=~vcOFV(}=`}yrA4Cg+nzyqJEX?(`Q zS!(o%N&=gNag9ank+7?hQ2Z$MJvI6~-iqtA@S?}o9g(NHVCvejPdksVJ*1)+?Ik1O zel_hI-tp9Vf8ij<~%PIXqx7!cINA^yGV^>r`_+kZm8!!S*TCaO228bl7T zNGzMU{vX-gi7orc8|HbQ-)bJ@v;J2up7|9meC9mQ=l$n{O!`L@{Ix51o+~(Zi-O}- za54qwxPs$d!5y|JxRVOXCq2m(+{qRE;KrU!ul+*CGY;CU^lKt*UY_KedzzDa&BtfT z>i>iVd{mm*Pu`^ep3`MPH|VkTItr=bOT6nY1C!0srol4DPIYtB|0iXRare9Yn8osm zUK!=xNxAw;uCRh8xCcbU{{1`XnU(;h6*j?UvKnFj0&?3Q89aX3%a6);pNEDQZ00}L z{xh@JpSROjzX&ZnXJl>5mwlRxvBGD=Jr_RL`j*9f&4L`22y9TJv)%RE@x7_KV}6N= z<=O6Cq!#Gac0bdZzb7O5df4t}`7Y6Sd6utMwr7z@O6;wA1Je;J#G?$0zo-X&k)<+t zHISYLuWLsK?U@6hA#`t3MIY^m)RuJsG>o|v2SDAS$LAaX3d!az4uBdYJnwM< zbS*L&KS8EZ+s!o12hIubD=Y;)Z08|*0#1M{_1ZZB{){4LvZj(!u6I*;+XD(tG_2L^ zH5N|qYR%j6zD5lx-XMTyWgN^$s1O^NYgcwO=(-hQ$M6H?HFV`VMkbgcINw5QO1I!Rf@Iwpk|U zroigQOPt{kLv4lIv&g4S^J4ILIkbW$kc8rW=%*w>CBIBh35!s76DVp`06pdV(o@vG zs0@JkN`VwKF5rnpFvx?cqMQ&R;jEG~6BA6{s|w0&6H6Qjdp@tEK5-_etQ~=@ck;|A zWWM1sVAVITK(wYMK{^`D*D{a`l#EAYyq>^QCYO^O6%vCq!$}wvGqcyV!BF4I)$)4d8etd=7RVeK$g>~T!iU($9vvO zuVuT`rUWAPJUN>^4)1YnoA*!Fy`O`2xp9;rtG#K&_VO+20{JM#B(ZTogoy_mgx zCZV6B_s87tO80KHKNh<%H z6&1Yfh*#{X%lwMHxYTyAS;DT1D@Jgw=k;z};fBMw_?IGq%2Wy;P=^G6+ti4;d!{p zuy34kA4Ga(GnS$W_?u9BadUyPp03NGh*-HUccL;_pt&xCZLnK9pF6>ud{DhRpXbc& z_H^C4+VQxB!XxabMPF*r&iR~WZ4<*=^FQYtn4S6(iCf}TEoaa#*w3t(*YQDH5%GhM z4eLZLP8;<vn z?z+W(%H4I{wK;d!<-el5d{=bun>=2#sKA?lpFCdO_Mts|W6f*kHE)L6<^muL>o(DoG15K-j)^+9Q~R*uL<5~K>9iq#4Q1^$hJ<(O z1qvN~)AxC3&aUZZ?FPz8EpPoJ?a8?RecH^#3!2SLJS^pGHI2%diS-|Sz?L?os9XG$ z(Dy2ywCvnBtfx7n57Qo6*aI|VQb3pcRL zupFZmE_zHx71_D+WJSJRweL-`t9-wd0cPEPbv4iT@cU`UmHGX4hF-FMKeGg!-)|s~ zvugF`a85WC+W!^g2gP2AO$~EB^mu%bn^_&ryvR8sXYnKJ!T*la|N2Y1r~j%~-1Og9 zo&PSZtuyP#7nmJuJFW}Xrj-flrB$XWgTbpS6hJAnK*B3@@6{E*;J18il57sSwm|$( zemcXbn6VmV{l}z?q@jNcZ)GRD^OAQP6-eev)0E^4 zb1zEawz3|j{#iYzlX3+K5UX_!s7Bv8UglJJe?A-~=g+FGzT4QA{8!GYwFXv_@6h;jRsw-;KM{;j+(Qo?d_Q|w>{SYRHd~{}PAE&?jsXdKcLwyf4vn5YH&)%Zo1r)>ulX95Px~7n0FzpF}SL#^jl{x~iRNtK0;}2!$Rr<8_De0-{ z6L5Z{@$-`Vo2@e-#hW@Cx5=sA>uGbdd>hlxakLBX$Mtf7cf0#8eWrO^9Fr|*Vq2YK zT$!?=zZza(?v^>-O8eXyfw$;n-rs;vW(r?_J@@#SYD73K^jQv8JoC7L$Sxc($T#kz zJKfIj(pk9KapEi*M<9M5`q)tbj3f%Uq2^*PNIN9r%#DJ0K7w%X-KS!v zRwxzTt1npQQ6}Y1T&hUvN+ilc-aww;uS-lUvThU>@P#siTcDY?Ke&{IoU8qWQMGM^ z$>pae8btZ2fkvk6kH5q+I>Ze1lNBKOhPSc5i$0_}roJe@+Cm&7mS}vM5{-`~lXnnq zI4Xcie2#T@&;@t&3^#mZV$Y0IoMZY(dfNh$PL1l+ntiDSOor=1J4~%o?8Qt5RaoHv z&YZ4T-lFgYg0)h67x(|U1b-c1DV~3=1V3S1QZrZdOy=#>VY)>b?RWjn--_USGb*Ml z_IH+YbIj=|zKBfr!I?=jp*xTkir>vAu|$|XaCmZNxigb`3+LJc6_)z+Ae)~Uibt(+WI=K1-X8AteruRRG;Y(*6ifh!xFX;e?h(!?>pZuVv=%7=$B*&f2-_{JYr%)cA z9%U~NR&R(qTR5p}rso<4Al5+aDyl|@Y#H(z+>=}l)vYWg?# z$;Et;S^fN9sQ;Qgi32GqZ*Hh0(M@!Iq{_H;rL?~Q9sth&bxFk9Mu3){~!G7DBeKg>Hvgk$Vg0fa2`dsKI){~pq+2+$x^N!-wR8b z{eHkw{E=WNucAY#C?NY%Z@?LleTi52u6x!?MBcA{?nwIDLpJyJ*B5N=@4o?!4nGHJ z-=m37BZ)5+qDM$rb3gpTCs)kiZ>-|1(87P=^p7EvM9%p0Bn_%Xk+mcXllU?+H@$2* z6-H8V^9S+uaWxjV_aB}HzW*@Uw?GxB1C!x~#cax8(LvD66QU7TcuN>*k(MUqD2b)cht0z)YL#U5ACHH%O53llQ1Ax!bssLZ z?TagP?0Y@BcM(^x1m8FtIM*TehxBRMr4gZJ$@o;ImV&l_zNBC*`ShO+3RMP$81iCk zSB2I*N1;BUR^^0IP29KrkM0@RWNU+C0qxhxMiAmdvR3e))IIt8-*xFwG+B zFzRumv0R+g4X|BkNPE1pE)mRx62IC$2)yxTHw2LrjIR?c<43{8l>gBwB^J(r5r`7W6j7dRBCp@RuWt@jnQwX{sV2O>sEXM+ zkQY$X+Ig5jN)@-zNe9=%{^mHIwCBypKt)6b(($yw(5Y)T89?bptPZ_k2Ctp#Y(D1| z`W^V3AK;#I6Ouq`fga~3&3oRWXG#hbU>3S+9+1-7+1;*BPGzL)>N_5#ve(Z<)UhhC z{NZ)BY4IjvDYGL8m0~|aSdz1mU3wNomlm<;j8UrWd%K5%-p5fZTZ zqv_+erfA}q^cLoLQBcctt0mzh^pxMT+I#C4xKa74*4FXkSK=exqD~keRE=#O#i5G* zk|^{?1Wdy?Bkn3q4b84z86#8JX2!^1rpS3h`MQn<7eQHEx4c0Cl*mGfx@vD1_@|}Q zk5F|9!(@GyyE)vUJQu+RY#!FiXJopo)|wSvNl1r&W1pUhJaPk}waGlw`iHJ&qFyD& z&U~820|(cgIRPMmYcnr_i1d{rt}(8|xK36VZlG!IG4h=wsJ^4AVj42#1PW=h@`+r_ zxt_#z2nA18LD|{r3+s)+iZ5?q&3GVPhn%a?I@2@x;UiZKFIYq==DGug{|X}mN@(4S zZ9v|RHp?di(nc-&Y$jh%+-`< zv6J#2&&@fgE3R-3>Qa08^&y$pQN~;Ud*`6G4*;+|JnRMMpw`1JrDnY1R&|-RN|~=( zyIjiE9|eWMqNm$84u!&40azwF))=2tFuZFYFJZ);@&{h~OMs(*i8rNPfQM=Rd)!4* zER81XiiAn7L|9$~BXroz#w@I+(fY(%{Q5$r-IWTNc2_QRS}HFW;2?~;kX|7}v=aCM z^VYbgjV3bl2YS=O7>LYVgUdLG%=8tRDO!rwoMMrg%W{#KA2p}_>ltKzWaeBd$i_e1 z!hJ6OLE!BrGPChy7n!MsvyqwlPHs%qg&Jd#5c-^yN7+CKvWqD)6YWHinE-z+J!IrX zT9ltdS^d+!rlkI*ZQufi;3H`9-ypl1XITgbld`axoV^Nw`@wOqW;p4_Dh$Q#RM)JI z#piRj&PH(OcL!igxI*q{0V?BPa5MSui@3(P4&ypm{J~~yOf%L6*1H)SW5&jqu`y;W z`GdKh#B~TCF=I)Pr|!$Pv3#@wTdlwb8;1M2oPJdXJIf0O0Td<1mv9-D7|%H}jj##C4|rv=vky0D(#;)aV%IY5nS0__%r z{@uYVukkj8dh&!&&&qsa;M;r}$CK)SRcdwYHQIdi#nQ=d?LCzgF|S|+-P;`GPU z8dV&_1jMo_|@Y z<@GTAmcX&+^iD#uuxWQ02xihnyaR8=S8J|Y1JsOTaGt%71K$n)IDQ)bw5kA2LSpbC zN0Z!F>V7qqbH7i0JIlrtDs9I);abl10Ioy09;kvwBt-5z`{!O9;Q=HS4BJTxFp#4~ zgFC(&=oSr*;zmM3VR8A32DRd&dg!#<>9@N@1Dx793x}baPA+|Xx<8WD0vszJ-D8fG z&i{|KH-V3`y8izYAvntN1a&lSFlf}^R!~t=K@&+}MiYz`6%{pBMQ|f(qWDE6G>K#w zqqr5dYH?|6Tia??#Ek-ifR?%|6&FNnpJ_mG16=3-{+#>FWF`bfe}7&tGS7XUyPkXQ z+3vaLo@|Dd8!l!FFu|0$ox0m!#=25RuB9&5?Jn2(xw-0<>u7S_<8sxzT$Q=GMk^O5 z28Unia*cMm`sd~kK>VIeO6kGyj2CY{x)2w?{PbloJb#6K9zd zhc*Ttm)R@E+3rsjm<<8;RE1TUd$iIbh<^J!*3N!g`d2d%8~rIHGO@3 zulAjIGVOtzqp)m0y_W(l>eR1Ap;_Zptp9R<*bf>6vHcseHKp4jG#I#rHD*FfB2_~ zXb}os!TTRF{czUPqIH(Y_M?6S+UhLZ&s-YI*nXbO@4>hhMHItbAJ#h^n5K@PDY5#N z=h!x>icdj*P5Ya6GW|e@LbCdts*I=+Y@5(?**~71o9THK)ydvKluGwe;o1N4bmsg1 z_I-?u5^QS#nEmCfIY>6S!8#LrkPf&WtbSwrsf;H#WBb9+bvd@5%J^#)Yu2F8i z$eDtAq4_9djwvXeY4tPC6!ad`o;C&Dg23Hj3W};Y19zsNDWnWn%>A{Qh^iPD&I%FklUSemV{W^1k%nGKn3=E7M1Kos!$xbPWCW0I7 zuDRH>X(o#eupJ`bbtoo+W`|-T>KT#j(5U87NLr4fAb7t&cmemtsHrTNP-U$or(?VE zrGdn$2NO8;VDct5+Sr1%dmP74IpL}I zO$!h|ox~?5M@b1oT-p;j+iLp#A@+<7= z@VR~EI460U#2TClQfZuhvLw!KX^E47I!K&^&V|gi>p}u`&}%sv@iSY@s9-W|r0{7$ zUH?Qc1PG){L7a8BBR$W^l`T7I+Q0_o$C6*c<<`J#xA=%&@$*e~n$3s!h#jK54YiJN z^3w<>KaFtm(}-Phx6KlqaKp+7P9q|!{6SSNEPOz%K{`b{{C;;J^SmW<4*ks&eE6s5 zkUAPX3mf$>*0cy?^?k0Ywt`;DtlGi@Mm7^$%KJ?+BGV1Wns=LSk>kVDOwp$ zc39`_bK8&?j+4^n$hbIk#6Ms`cXLROvCxnZUYIFH?lM@!6n`A9gz{J~A%n=JjjOHT zKTl2wwEnmGuJz}UqjDXA1q=`8)cFiY;1o)EBsxm*3|LtUdF;;?NRJXsg|w>b*ztz^erQa-pbD`;ed&gPt+%=n?6v3xV8^>^hsHj`rht%M>@_AqBumZE4m`eoW9Rc`x* z;?sRcU|rW93Q)l#^>wulX0LKDZ1Z3~&*Ddhg}Gj=k}u4za2Mr*DY{8j1h)0*Jlhog zxq&IVf|Oa%OU#0<&9y@$u@4n@v$aJcs)Q}9wk|E`main>j-4&&i^9%=o&la#(^5va zMHY0!jWqa9{*5!DXG6lFL%@O4>$1c3Q*uV~9c>_hIt~Rt^zVK$Z5E%z@V^fUmsB~k z_}}h#NO-AvPXBl$bUwQ2aolh_XmGF?RNL^k?l+C-uWG2RVCvaUBZ@eUsC6-ZiZR;! zzCP}0eca&p4Ep#5vg1!$C>CZQ-N&`J(Z}nNkTQnjh`-GhW;jNAwy;3L))MJ>oEs35 zWQCke9}T!FsGv5Gz>^gLJFN=HqaVJ~8IL1QC6If$&Dk;X1|{<#UZmZ89X@uF!aC+U z`2eN?=oD&SVAj0<-fXkx{~_b#nl=5E8MEf@uWW%?v*_%MS+n{AXVz4oe#q~3CVBkb zu5)HhE5JIkm**~YX3efg)*P5KuQhX~%$l#V?vpnG)bE3RyjxPi|I8wuY(eo37u2TKqD1IuSssgnY| zmWhn|{`|CjmzE0a_xd4;FquB+T;ktx<7cVzc?>!)`IZ?k&_?_vWf*5xDj9czW(SHg zkj-lfIif*D{0p}$zOCR51R}tt1ZJ>5V!DiugCufGjOF~1GqDDl)w{%x9r0Ew z?#J=n12JR?tk1FpBKA2%;r*2oEkdo%g`3Ah9;eY5k3~HG%02GDV-t^Z>yR**yo>t; zG6uo=Z4%<0k76VYtb#ZGFR%)h@*o=9*(w<6unGnO&mV4bhC$Z24xlhV@e7_<5XlqF z(|Y)ucN+(Mpwc+tRj1`}z-#6O*1ktvu4`PblX7#_DwnK%*STD^F4y4PTt6ol*1qBG zhbOg76pJshjl4he9K~icR#WXnXH866bXFXIRQT!(5S9c&N+|-V#18i5C4Z^xTz>KI zI-g8W^QcU~N16QYBUluoSAP5-^1E81g*KVCa&}d^)@>aMY)`#|EeUTBYA%WQ#Ny%#kA zC_V5hR`D!{sBEv|R|Bu&u^Q!U@<}isYbTEXMA+6^^ z42e>jJ|?X=!0c?|AgQ3+V~CKuo>dHSyMwOj>;Sh)xR1CZ`W1i5e7} z^GbRA>h6_z0GG!v>s8)5vaq~$bl>vU6Su2u9ld>J{PZ0Hr|Zo*JNIV1QS;YqH8-Td z`S7nYa>@Ddsfi%xY*HwHXTvSj!yWlMu6QSPyHI`YtC!os;Mv%hMI+NjvjD}eaP^eV&W!)qxeI5; zd**$Qf3&$rL#uSg$`qG~DJ~`Sb$|5%?OS_%A~1TY!?Ai~2tQ&xt#KLO!9uy#O5?6G z=VHa#9E}sRg-kQ>MB7Xxd5?WFysUqHR>tA_e7rM+Yyjd19IgW={C&BnO-H(0g=4I< znfB}Ch8YE)6UjSpzD~0AfK&asTjF^Az|pzBvq9g}%fY|-0O-wUKqnPmb}m!y^O)rj zI&gN5uk7u5(R7dtN6hk3-fe6 zYhmsQypuJS()J+iJIXD|J?g{!?cT7@w4rrpURvMKfAHF*h}Yxe8|oVl4tbB2bsuuc zIeB@UR&KtN_d?sUXqyuO9PWN~F`adX1ztGA;VuGG4_QB;fw-@wtr}O0kFuE(*{)M3+*HZbRx49mO?CVmWvH{M zUD#Te zd9h%N_-NDPf_m%?QnX(O(&pib>aXO2u%x`sS$?kYjx?v+LEIUKm1m{bZ5NK+^Z2OM zH)k6hyS@Gu%+rZFtT35#*4(-AHyxWygdgN5(fbMha_5HEGRp>6aF2b&r}5cT_`?Zg zgoE#q3b&tQk9ahbZOMr4XxG>&;@#K-o6I?dXT-G|ju%~9Ef4fWS!jKuWUWH4rCk*Z z!L;Yot#+*#ZV0P_Q~={AOaxmYj-Cf*1^n|dhKXOtL)_cZHoPa@3a;~*|F}+zu1_8d zz_e{fy&L@fUM(OvN{@V<4HAD7=33=4bz$KWvzoLZ!>rB@hSR*jF{|12otf2k+jqgN zzIZHPRysnhK1RIlk4J$U5weL)Do$x;sG$=#As=3|q;cz4ARBXpP4&QL2(b`9rqG!J zO#<^;f2-;OOP=fiX32Z+OejbTDaP50na~2KunQd#6da#b@Dx`tn5fiVcT--gD?@w= z8uowuqBAF62A!Ex)4l1_bGCWTYrd6QA3yW*GcVEGvhGdm&Jpdop0@$*arf-NG^bsd zAw1(x-6FzsWpR!F^_3Z_gG;wx_0ZcI4-`iWvF`{hO{hvd>}J5~B^dRRee^9xGgq=> zd_?!a-?aVnERJ{BZSE{z7q_q6U#o$?>(B17GG+JCoKQaI_~^7Xvo)wdeBA+e3&O=M zNrnICFr;B%D*W*;1Kd9WSdZtfPYDx}Tval|a5(<}>G7fE+xjFmAERho= zKz%d>D6>^u(;k~q@JCKl1tRBNLS;zK@rax6)OB9LHC`7h_~1vrN8AiXlN^xgW1;%^ z{;y3G(#<@M_#T0(nK@t<@qfEJ0!GN6_0VQd+8l7YBglJompBAH&e5N=O_v)_t9;-v z7fowalwi&lOp8S$`uRStQF6mU%Tk1M#Q55%g=4Yf7n11RVVbllBUIivHO3C9Y$Qlq zJLqU_A{^!?QP7{i#+5%6%Ag1!--WkQ4yLolpF8av`10AsW1-hIC`f%&1z!pY(c-V< z7HxvYK2hOTA6XG5cD#OkkfLBba;eI2Z@NBDI~fW zdOZMY(l;94UZq=)DQsT^R|&VmYU>_`)qcyAYnNy#zuFtx)*=Ry2!fO(|HiY1!+>?% zE4ja9ICRWL!7i|OpoySr&=z}DnQa~OK6r_Ns5gN$BaS2yN>RThQb{3^h_#-|y0EMZ zuz<8RK`q7)fOE^$Byi$Sg9Y|n%4%4y|}pOC!h4TZRsxtV6mrY zL;o6Ov-j|Kc8R8+N6SyN2kr zMpi@1koZ8cC`>CBBSXmYTq?E*IL|$#_I%|{jUZ#iwv;2c=Pa#3~Y8| z?F6vdiRlG4Lw_o4?)+H?YzCa*VDlE_`KQ2U=hwB9-UZ&=8p(yti}Zg>U;~fN!JERX zfX)3~tf^V?G;Hi3yy){-QSb@U7$$pt#}psx^{p!2TX*d3*acaRCZshxBl4xrFCrS> zn)8o5V;?>dvN%q!wF-2W^RNOLSkF$M`)+R6fU?PM!~~u$_y@lHqVCrj@vqElXsL>S zoZJeZieNtLsfqb4`>FG}{D6-6Jnncmp9ithe#(3v^Xg{ib7{Yv`D}jMhHuw7IIoB< zhi}Y2O>2kj3$2yz(?M$$EbgwYR;G#LVSIEzY561D{mFL#Qf}tH-7=ZC?Z}K{Y$~~2 zE?6c9iNdJn?)jO_Z=>Z0HBVILr{rglllk(F%$$ZxXO1bej+q9N=vXw9h!x=DRCv2F z+`f|X5C3ots{UdlZOB*A_(I=Ly%~(Ed3!+hqtVl~=e5qG0|DZAEf0~fc5go(^t_i8 zVMYl;&^!Xl12-*-mVW8D>9-kf`kW@p2=?Z<=^0wU4$VLHXJ5g3`-^S&{4kN{uG5^w zdKQJn=p$;=#HzqG3;rPHuTztS{3g$)>oy(r%KH%SwrA zdf6eJ<{Z0WmISr5Hhaz=xSTnETwWY$8R_V5Su)aa63MUZgvbw|1VLUA(zzMkiCW_O zHPpQ&C;^4eNUC`<$+Zo?pv86@j~HmXjb6E=;W5QqJAa#^d)Tc0wIJCxe1yvwb{Rh` z%gOlh-E27OsKV|p*T*GR-Td5K%alt;6*e?mqsv^b+jDc>t6bW=e97gy*X63u&2<&I zEabFyA7|6Wy!xL<6Yj`BD*TVpsGs{{ZfM_2`(tT{ugC|;H)}lZrI5<+wihvNjeB^l zX1&oWs6>kV6<>`I+;A+lUEY34$9aP^wOvw-UVA0A1q(D{;vV9-_Jb-UCYk^MQDOj8`ZlY0qr&1VEQ0CGcHha_IT|UcL@W$tF zqD?n4kX(IwEc783e<2oU`|vZxXURg_`QJtlb|F!k4%RB=%$EFN$I4?gN;$<>tKrvc z>8H=>9ezECB-xu1wWv3>>4!S^-~{{#iD#WHhSQX?<6xng$xG}xXYVa);hX_J#Y0-! zEGxWrFkzJalXfdGuUlOWZt-EHLPW%4N(|tCfL>wlAcU(jz$`EfVI-osRx10MtNjml zl4ez3T>DVI#SL!JrK@Z*^pe~$A?m~kaUf3e!-0qdkP6SNR<$eZ9Y6YI6=ai;!_w0n zAi7ZnZtkN>%~tSpQi51vdE-?vx_O6z&1)H}J|%`cJekT8;YavM6wKqV6*|T~N)<_j z?^X_V+CS-HXJD9sfuR-y!=cK>7e?}-|9`uhfuV?*IF|R2`kjrOd(C%~lz~CkDPtN4MW*I!dn>UqIU?@g(>Sb7N=G+a%yN|c(n60qD5X11C zJ4_d{baG$jT*HqzX&YI;OtzTUH3)1m&)RQua8u(Z0g%%o#RpPE(;~$iB#d%Z9F0h^ zjMS#Kn1Ou47Bl0|&K6VK$rb~Zuq!3T`gxPY?<&|B3`Ubx>M!9iLQV?GIXH*uWXXYWeEI01Ad= zOji~ZK(CXu+o$WB`{EoPIN!YS)k>2;G&uh`63HW_5wrMAjH>l_tXc~ie`H2*M{}Bq zmPL*&#U6|^YXU{GR-+*#;TXiT(NhH1cR=P^(DWv9RL4IibtWd7hnb~V)8fEHvkq`+ zzqXT!hRNTYiRPe4TE1+D3HT3JIuUb>ogaC`9b0g=88?Z}He=#*2it?=I8-QTdq2k# z5sja2uqpEQ?dwF$2!N403@1Q>2@9+=szA$1I3jOuS!r@OtJ#@?xo~rM=mkiHy7D~3 zqym8L{(sp3`y~Xu17MHRFaQheHa{L<`TcVM_Nxj9uqr!I@Z$mYm)AD~urIw_fXy_- z5Qc9lz|uFpX=yot6`T*iT&#(Js|NsEGdUYzgPDR3fITMW*R(h==KOeoy|{Z0z>XW? z09I}*_QwM(wkV^-Ft1>H8pD?M$pzRMe0C&ZO97U?d$9vxuM)i|d7`0eF2J6=JPTmW z0+>iXmYpgrJLr(DbWIkXBV^$@P!^tk(2{IlhV<4JA}C^u1>*S_ozr9|j6Co2jQ>jo z)OLklw+)$j*QS)c3JCyl=Hm=;-;)kkCmJMlgotON1AM)7Qm${B{VOpb&HE9&2T5E^ zGu<-AVQ$cYnDmkV{->M#uV1OL-9hh8Bg3qKyc)-2czdQI$=gI>+wsM9#^MBN3N z+E-@shce6QD1y!pOgph+A;vXc-3f`pf)Ql6hQ#XO>&z5W3w3`KaU+1tXVt{QYq=K# zLUNbD%;Xr2iu|dg$gesVQ8e9TQDAK9C^GA#Oe@EBE^?BJ>=>AwI*N4vI8$V|tRkAV zmcc4gxmm;0ZD_+7o)*56F+9}p|uAdOrLNYJxXxF1a? zA0}14zEZZQwID5WLx=6@yNuj$Nrp)LknJgu8y21eMR>+mPxJO~x(#?t<%-5=yl2!jRRDhDS z3NSED14ODy(=;Gh&1oWVc5x&P-2bVmG;rT0VZdE*B*1-vlwoOoh07i63}(!Zzaf_s zWvhuU*ZNPwL0DBXkP)5B$�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±4}0a9^URlg)q+T?F4wt|SF5Jwe@2zLdyA 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%0ArL3c*eo!L|U$mU(=70>tl4t4&@I@Da>w=<>x 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

          |LtdtrIdRIy>hJ7nV%VnLb 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�zewh~Tjxe@Qx@dV6O4PR}Ci$yC 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 W2XVa4$qeXH#B^9?}2aOeWT=1>jjifUZ+h6>wY* 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

          {&i6R&gu2FuO`II4NRfBG&M?S+rqJp>BG_O8j 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

          )w+xJ;!;lPxMr#RC& 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

          eq-C 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 ^%p#u=M#6m3N@)r+ci4v*&zK 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

          #P`Xo;;TirXkl=qfC1F3IDcE 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®=?i6Ui(^4asl49z+$PZoeKx9e%cr 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 SXVX9MPNR>1<~wCV>i<7GNK--p literal 2011024 zcmeEvd3aOR)^}Qn6tpHN)jATfXmPqNT5l^>6DV+kDU=ySZA&SZsVybZA_|qZ(io$4 z#^Gx9I&dB9a1|9Wj76L(iXx~K2RNZBbpq5Y{eEi?$?m4-z3=lq-}8L`7#~U2Z?9>u zz4ki$>@#%naNmf;gan)X^srrGBdTBlN8F;J^~qDkFPqJ6%eM8#zo**o8ni|jV!5A8cb^W%T z$K~2CfdRCPks|GeG0zyPiMb>5Q5tG zN^%At`7PzfLQXVshX3-f7zW!oVb3Zql}B+!@>^yK+3kn_DH!uLb`j7W@&5c$yaD@`S~_9$?Ym9E&`E z!y<0GF%i2P-$@qz@>z^m4+}r@Ebzq^_#ultd=z$%(TfJ?4vT)hX3?*G7V~SU#r&OR z(ce)PcIR32>s<@GCtBqBr51V8VlnP3Eb`|@i+Jv{$j>`1@WB@G=|q3K8<$Tl`1@JJ zC&Qv&Ut7ejhee);EbP8+kT8SmJYZpWk%b=90{_M$KF?a%9c__^`4)LK)I!hw7V$aLf`6t(+>$Kv)@?C= z3oY>1EbyBw{5;Jf4$oQS{}c=V&$fu$RTlN_X$yarS&ZY^7XDmnVYi=!p1l_R9c&S| zP7D1rE#_~FMLsuL#NjoId|qaO=Udo4*CKzM7X8hJpDz5be>Pgg*<<0)CW~=Qw8;PO zEc~BgF73GEV{l!)O!a`f&%<`FjTj30R*$TZA@(ZVzR+U~e zbH2Z{YC`_7IThul6N;zJDdlb5w-lCC7n6eGIWw;>#m40LQh(uu1(lE~SWq|`8pivp z0wpj4azyc*`6@l3Dj>;%1w)JHmyVe>tF%PO7c9t|iQl73uY=a%)g?^p@T#hcDx#~Z z3P)5_%`Nte#_zvD3L7I!{T{!cbO~S*ELT*O6wjFhY-0J$ zl8Wi2h2C<6qI^VE#oU-K*`$Dlg_R4c3x`$AMQo|>^Ycsn#U*o!=g%*^2H}`nF+G4F z#EDKx%{@@op2r}NSKLV_lgRl(SJKZFYr1Rx`-iszP!Ku-u% z&XK=))Jpw%r89~HbBJ^30)Odzu8)P*Q$AfpmA822D`7&CA$JfK#1W%7d8WUtpkn@* z@;TH2a#W7Qu)>Mu6RL_!W_Q87^GArRnjXi8AqEnzqJGJ!Aibbsepz8jMY+O{cyi6L z_EIzxp+sR~c}ZDm$?VeU6pk3Zi~L4XlvPYer?u|$M2rPawGaa-|4HM_X#sz!n&oIHt@O{VD9)sU=k3*LQVk?Bj%;5fo9gBE{Oxy z@pERDP_pw(0w6+_UpluiU#2h-BdSV?kK7$y0idF4fo;COs;Z=ndCr_G^h}@5y#ObR zj8I6~Bt0h$V@gT_RaI;Z*qBgm#AYF6eJE_Z)7PnxwLrpxY8M2XKP+51&4+ZWlPi~kqbh_un~ds5()r6 z6d(`zX!0*UpuW;;OXu)-KpQzLx;(kKs+^Z?iXBnItBC`|$eGucf;ueaS()?9r!R0a zN_awg^GY!TO4xuLt~*|bX&{GUAf?Y@ti1Eb2d1%N4%Gsq>CBzxlaEGtSaD#!%x92l z&*DsKwkWz{%zV-mbg6~$1CyAAg~KUN#+4%D=OZA(nL=M_@wKHoO8v(%f{(wbSFA^V zKG>Ki*O!*VU)k$8z$XVa;gD2PTt)Sbs9_c5{^FVC^C=HSACSG|TLF%z0M&U~cv*SH zb>$+_1o!9)rItWr*HSsMw7j%xW(ia>Ts5LLPyrC}U};h{(_cEVys9{M^rW6MUBx)8 z53gnwi!dBH1F>nv(>AYkeo2)Kz_2c5EnWgg;~p!krs?-;V?Q3fuIBY#PUjH0m}y<6(8d$M`K^|p?&#m;+ zd;VmzigUNu}3&GeDLd>r5rSk%%66k0yK1r!5W9^5vO83 z6b|sN2v+ZW_~$Q1aFn^hmMpRy(rRe}w2?~_%coTY%BTA(N{Z*maTSWhqKb_fm3K(+ z-=ard#zc&ZV2+K6bU%JnlUh)}5#zb!BaM5ZucBghKshXkDH&UQ6i&i%g&)nvj4zyD zUWrw;e+IP4B%^~Z=Z-H3Wm{e;Eu_KBOtC!U%jLOzy)kos;apUc!uj*&6wkp5X6}N* z!jc80)&A0QvI(MM&KxYw@tcl9`fQ_K%YO0PiLcc8v_={ZqosIkswtGnQCiPvcKBSz z$`_f#N{1Yo(m69&g3g&at|~?I4{Enx`cjRXdCJC4jooF_`J*uVm}9;m&H%S z{y+TN^^CDQ2mU(;N%1q)?&SafW8L*20e3a<|LFdPMB7y58pz#u+>4!#9=1|}1x}oa zlkP-YC20D{`%iGX&pxg-{CkQ5so)$xTGT*{`2?T(^d_yiE_M6!&~V>Cq5k- z?)*mdIFFA?%%7bccWSsz;4Tf1?B@I#8r~}OyEVMyTh3pg;m)r(UZmk|Uvj)s!wbIV zc#Vd;cX7N?!`nXRc$0=V3cJl3-XZivG`v~#w^hSCgg?%u)ec4&ChXB@W;?;8JR z5jUrXw+j6(4R50xOYq6iaJSI!*6>P^Cj}aQa4*+Wq~Ym%I9{pYMM6)FhP&H1f1`%G z1m2|KO(L(FH9S?=jc9nQ$e&gXZxZ9urr`x*d^r|CdMVA;hO~Bs^RHEf18FsBlLG@xJ&qN^LCAYhO9pt?iBnk4Q~_Um7(D) zgr9B=&k+0t8s1Cfd69-M7kVl+yjAF_(eQ}C8#R2njK79AiQ`wZhNlYth=wEx-zEHXYxpwZPl1MK$n}qgrwcum z8h*FXQ={RPqRupGxJ~3wlZLxQznV3?N#GF;UncWk!;8f6y-ml(@v%e0okG9uvaa!O z5c-`uF5=+QaJQ)Q85-Uw^t(0u2BD`w!#iaDYj{A$U&D6`{u&M6CGbWKZxrLzq~X<~ zzs(wM6Y-2_c$tj9h8M{7kA@eC`PHG}e~5nB#QpAa{of$`bZU5qh_g$>D@ERBXt+z* zb!&J;th)*{e4C8FhW{$#ui^UyUZdenBF`H&yj<`%X?UCHSF?sk1%E`tuMv3Lgsype z@5}tSd{Dz{=mul@Ozg`4yx>pL@V2#_-KpUj?Ho_l@YjT%bPaz`;29d;Ec9pVxX|y` z@XC*QzX~*byU;&H!`*LlKg%@yYr$Ww;lB&KM#Bq)pKTg$e}(&Fo76R)jl$0)4L?Tk zXK46|0-vJc0|g$@@N9u^((u+3aRD8lZ5kf=nETnL;m^OwaZ|$^2XH+HHQcpT^mlUC z{^kmQk~G|QB-fLw;f+F%OT&i=J?R?mTF=MPt>I$@zoFrhzedA13A@WQyh+f@HN5dR zZg+)-+vtWId^Tx#$A=u>rs2)+bKKPM8hW4upMx6io+9Eazd4(&M$oAmUUWIS(vmo~xg(r}m1@7D0W zg5S_^$zP`7KMVd!4KEP&r&_}^zT^FB)bNCV^SZrE!=;`k4VQXWX!y}WPej8rI=J0U z8r~-SY18migdS7FD@7i5Xn0eU>rc9}Yy8g@dYl?wB#t{p8s4#$$DvxoYXse(;cjt1 zTa$(l5q6hrxKq>zQ^N}czwN57{aPB{#c^tdhC8k^b-uMpZ-=^VBVqUjtxKq^gDMelN7s=zP zhA$U(J2brLU2ZqExT~Iw6L}n58s0XI^QCKejleTByhz~L8eVfe*I%jO+k~Ih8eSvf zP^00IJ>35W9WUkjmuYxg3dfggxNSP`m#N`3UnDRC2Q}Qej@y;}ljGampX-iwXn4&L9BP6rG(0kp^EYXDiL7rL-gYMEk7)R8!M{nvo6|Udn}*L9{HBJtp27KTrCsyn zBynDrq~XpK&hOIj(`5WL+?^%jui>5IJjl@SqQRVhnT9X_l-q6A@D5RbwrP0l16)s= zhBsX!=Bb9e1>T|IE`evy=o+7lHGKZMHQX(Zn^QDAV;T3SOv58(T<>xXw^eZd6&hZ- zmfKAie#v=Jc^BuOqT#KZIKS+-vwCotgD8GSDw!G7isvXLVuZtSH8^k*J!w`!wnkVI)LkM((qkE|8foQ z*ueEiG+Z7>HfeZ<(BG!v|B><6@Qe>c{AYKK{}6dx(C|hvPhA=wJ1%H=$0Z{E8Xh|? zXt?uY5l;<2U-;jk;gR8-ze&SK%Xn&d(KyZ@(QxU{CJmRzsWuIl{WUdQ9tUl6y2dkh zoYnByaaP0c7XGJexVsn>4(jg!8v)xSTJhhBp>)e%sux@t5@~Ny7^=IKNB7WxYz*@TNaS zK5MvB#$Us2`#FD+hUW|ZG7Wd#$o;9&@K`<9aJepR(r|e^TCU-8-5b$xd3@QV;c{Kw zrs4AVXli&xSWsa8ZPUDTf^miG&Ee+pCS#H`BtXkvcA=5 zxSU@N8eVV<_rFQQ<$PJL;j-RFG+gHMCJmSMzfHsC{53UP9*=AlUE?q3W0Ho;Go*KoQ1bZL03{%d$gwWvQDF4x0`hRgMEk%mu_^+&@a zxAJ^$(D0_O`T4~%9shviD>U4B0{3&1hRf@1+caEW|1&k*Ca(+1{XA~YR@s~DPu1|E z<3)TlTwZ5s9?j>)5zr%_r6rXs6kOce%Pd6{+`$n3&n5*|pCfKn@Us;DZ3>>L;B5*% zM8Qo3&sFda1;0eW4=VU@1-Fff_jjU#Cn@;l3hq?!D-=9c!LL;CgJQfW>MHJ1_^(#@ z(-pi}!7~)RT*0#yyi&p43Vxk}8w!5Cf)^(ep?FPzf*-Bm)e7EM!D|#;eGgTGf*-5!H!3*2Pf~uCDR_zm@!h20^v(kL zS+3y6OAz193ZAOqD-`?$1&=8Bi3+|+!B0}~Rt2YbDay|_1wTcC_-<41Qx)7)@cs(k zq2MkBKd9iRDY$KHJZ}dmc#?vjuHa4uPgC$z1s|y3E(JeB!P6D|Oa;$S@N@;wR`5Xz z?pE-#72Htpa}>Nl!OvCjDGGj`f)^?H-xRz|!7~)RQo#o+c(sCGpx`wMu0D~~px_rO z{EZ6!cLiUj;Moe^q~JLUzFfgCQt)O4zgWRnDEOrc9#L?&f^SlAkAk-<_)rDkrr^UA zyiLLL6x>ws5enX+;3F0Mpn@9;ZW|ZRf3JckDflP_cPjX03ZAOqJ_UCvc)o(CEBI&y z&rt9&3ZAXt1q$v~@UaSRC^)^#Mt%wue7pqlJw?GMD0q>APg3wQ1)r?ol?pyZ!K)Qq zUGLQ>_*8|zLBX$5@J0nMRPbdAUZmhn3O-H2mn(RQf;TJpbOm3b;H3&4QSccGzDdEa zQSep;FH`Vs3O-Z8+Z243f}09HTfsXNe2#)2RPeb9ZW|xZ{|W_9Qt){S?o{w91y5D* z`3mk*aKD15D|kS`GZg$<16@00JFH`Ua1#eRDTNHe`f`=5mS;4~!zCyuo zQ}Bp_->%@B6ueQvTNV5c1>dINcPV(Ag5RUyrh?zA;2jEnzk(lB@COv!Cho891?)iu zPg3xQ6x^xc|4{H$1%E`rT?*c$;OPqfsDfuG_~Qzmt>8~6xLd)WRB%JVpHlDw1z)b< zQxyCe1us(YXBE6m!Jkv`N(Fyj!K)Sg1qH8B@MZ;XQ1F)&yivhlR`6vC{%-|uQt($5 z{I8#XMc}Up{1t(}BJfuP{))g~5%?ca+zasEg1pbPEbp(vs?~;s=-HylZ zjrxe+Ztm!bi=wsblh$#W&aAJ{)H(1Q{OjoN#xJ7TPG_{O6Q6O`DR@W=5|i8b)l&vLo{8wjJg@!hiJNF8O>mHBGGiIGU{UV?|2hc z*(pRj8T}K{bZIhbWAt94`xD*qC-wg;qFqF{F?u`EbO|!r%IGab4i*PINP) z*AksZbQ7cBAbKFtjf{SY=rf3}Vf52PpGkBjqaPzWo#-M)KS1;#q6-*(C(&mS?Pl~X zM4wG`2BVh{eGbtsMqf|#xkNh|T}AYHMB5lWi|D@*-SHnb{zPXG-NxuEh|VOsmC@sf z9!zwE(W8hypXg>r4<(u|8Ah8JeG$=FL^m>eFwqwhUBl?Jh^9+}(Mm=SAet@-MvEAI zBGGgyFj~OqV~D0pfKfN2`w%^Z=nO_D5>1x^qb^4O{srhhABf6QDpo0iwM`7clxxqDK+!X7nvYUq*BWqn8lvBihC2>xs@M+R5lD zqDK>LWArSd#}M7|I~#wZ3y5xG^c6&pCAyW-i7qC(mC;*>oohS6sceI3!2j2=KV zT{4RnG5SQJ7Z6>*=wpb!o@h6t`w+d5=nO_D5`6>FE=K>3H&B+{NVJpDKM}o%Xd9#V z61|w{jstA`iLN2KjnUhQzKQ5oMsFc{3DFToZzj5y=w?Q*CAyC2CPu$ObUo3HjDCse zn~APr^wUHyCAyN)j}hHKbP=N;AUa5N0i*9E`WB+yjJ}2F5YZWoUPAP(M7tP$J<(yJ zos6y``Zl6%jGjgG?L>F%XX8(FBhhV)zJlmGh;9Y#nP3DDPBemljyGyo6eIu+q#B_b zx`zzwtH9o=MsVL%o-3n|V{RFtFmV|5Z~GS;p;a#W9h&ESgQSd{PZrHGLU|vi?yvb5 z=)}MPBUAuY_KUV+sTR(9XGo&WQ~NHIWM@Xq;W$*c&o=5i0~xSOnr!|vjF3SBy}7{J zn7~A!Bt*yi_6v>9we5G9k7KOinsHNjIb`wTT3c|P*@+2Y-1Gz?oj4YHg6r#dV2QX4 z$A!FL+f?*poo90Jpf}j*nG`X5de`i84bR-~ndlAv>UgzdhUca|oes~0{NVbD}{FC00m*y~n{rU#*n!P=0 z_w?}Gw5tc9B4vokZ&ek7UNg@bJE zrp_y-UbW6M$s1(j{-W3LI%pgdgoaDgUoPCW?+SH{NIIX9Pci zC*$*w#1D`f=x`fD>?5{NA2$RrQs2~ko#00n?ezuslWQeEGfzdY2g{%iqMq)7iuV2( zxl14~CY`wik%rnNGY4e?`lfbqguFm7fKME2J_QaVRP8hm!EK}VV5g(b%YvSgi^rCY z+TS|^y^Wwf14R4jMoz2$RM^`5A)3Nj?fA>#(1ICj7C<`cgrF}p@L9wwzy2G4iYL@F ztrL^xAhOgG?3otbN9h{Qdi}ygWXeACLG+7fZJ<}?_iQpyGN-ZNZt#YVKwO>Ztv7f? zAPEU={tf}7{(Jux>iM}CAujExqZ;d>zb6d!$#>xS8-sFkpAk;E9fY|U)dad`#8_&8 z^5BBy24cCAvkZ%|%vD+D5K9hcK^=*}N|D-rCAFWx+86X8=ZXxQt-Xgg_}vx0cn%=- zMkejAc?NFQ1dcL-KOq*q5X1K4p|O4o=GKtOE(Dl0oQej7dd~;+MJ4f1Bq-%H>Y6wB zsb`XBBBhZL{27%C<>I1Sazd>o}$4BIgCQ%W1O=F#}f!de)H zNU{(=dBQpxHj-n!5;*E#XI}0z&x6tEvmls7pC@=k`$!|iy#Ebl%NN{jPVFE=Y?eLB zjjtv96IcOc#V(Tx_keJI&H;a}H`J>>vLMYU8IKsC>>etzLb7(WmH%G&zvhfH<{rUJ!T9$wzdImMru21b+zNo0werK2;@HjZ? zu1Tg**kFW`>-Hzwyg^J4`(wY-Ag27xfGE0VgmN#zpE2}>?Y-twvi3|fN7DfU&2Vg7m*5x#ZL~gwwy{#% zild+{-F`W9BzZ8tyum2U7tA54IrakRfrn#b>TZWRrs-9d0(OVgR1Qt(k^_E`3hGPp z0N%f2nUY)|M4|ddJm$!H=I0u={s@|Sb`JUCv~K{n!#VK0m@l`^ARm%%{Drx)5jgMJ zFO$f}x$BubXL4nYQrXTUnL9O57ISAR^CP8>d6oMd#Nkf)Ebb0`Uq=>jEKM>$V>7}& zN@}|U+Thw*P~dQ$yG|$#+sAU(mhgU_9dpeK-EeIKbM02H%r2GXao4^Dcg(d$-nl6I z%1z|1-8DVtS~giA*Wl*K!cC_+m}`Ey1C12Hy?t1xL#pO4e@0^{<#w*QX(H?Ng1F}Q zshxHD8#)dL?Q^BJhq$&}Ra+|8=Hc2#acw(hk_u$kV_d`eQo|L{;BY4Y3?YXz>q>m_ z?7Cta0rnlx;&A4E44mi7G?;>~Ujsn$y^q<@Hh~4Q#W4trFBZ*9xQ$QuftC8azc(8i z>L2FAwwR4i@U|NS>pJFX@s@-dsq$<&3g{SwR~c<>ejbC-{2@rgLnlfMPxNKd&9il8F79x4*?BV{G< zL=nG!X{0p6{EZz-?N9#zT@=I@lUP^B#hk!=3zN&Clu6vs-(d*WYp$Yxu&&Of2GP}- z;x~2mJsN%1)w{SApR{rrxAGmBV*!1NTj^k5xo?kSR!%I8S?Q%%nJ+Xu%^a@zcf8q^ z`Tt`tmISwe8KvVRDC3FtA`%o``HGZ;QbNFa>9`zr5S#V9D7Mq`A!w)fw=-@3gf?^} z4^lBdmy+#JioyNt3wcE2r})4ZQiF)bJ2bZV?KJP;nx{$4Uh*?Nc`wtF{3gD*pS`aj zf953j<&K_+FYaj5SQ=FOZ_r42;YI_-5~>}8j!H8JbM;3`^?Q$CxkUX$uV0C&e;Q?q zs`)XjA%*O6^*Ljqo{kG9j=BiJ+jwOy3qccUa@upiiGsHUU)<3~D&C>wA8ANKDHkCq zT#;Eo7DT~&kSnW`%EohL-+>!tfD)4{`-rMgD0w{(?f2*-S9TXywvl-@nk&0hDx<$P zjlp>eLb1X5oxAf4#XXekgE$6fV7$hi2$O7ZOdHqs8(w+K`bmFF75y9wZKy;~LjiYf zMKN>jUrb}lxR`6^7&Z_sJaJya@gGrpS!$aFZSd_#)wkU=IH42=)0Eo;dHA+Q9s?`6 zh6PeXI@j*+?WZSOwT)03pO$M{L_FldX7!p&U8NT@)LEr&eD zaThtu%i+<~z((OAu5Bw`*UjQaw|^oleg#8J+j6drUbPNwY}bHz>g;&J=Ir)I2;Yx7END-wDBGi@oOV%nCCW!mls zj<}7BXk#EzvwpDoD zHH+KH(1y6J0(&fOtu#cTlr@y$q1@juW212Pm7p*R<^ZmtR%+PJ&RFdWRSoxY4U4&k zX09PYjHB81J?oKIYM@t2pVdYLpSSU4pVR6&YVf^5mUblgGmLum^Gx3U9P@?)KkI!JJ-}KHPI~pcB%)8&QnB+@S zw7G;j{v5gpQ?KHSoB9SZfvJB3z_2}xFK+5t2BZwQ|F9grruXf6?0R2ceD8T zyWh|`>KnG9bF$IhX41Z|+1W5o$PC)+!#UWLw-99H2ezurgs;$*us^NH2;Y$AYC+A! zl7zK6=?pm)gW^Bd2#raKZQ0QVX0Q*`O~LuKCwPFijShJx<_9;hZKLK7D{wXj(CG}(p(-#-@G(8;KX2}2Mk^qEAXNhbZNy#KeFjZK6s1x z+4^v#*$#hFs0S13;R%g!GG$k$l@U8_$=jf{F0BDS2HuVd=WVG=TShQGtfdJ*Y7Zv) zFI=2jd$5Q9vf6_^17nS_eG;x8d66R-?bqcl0gwOm+$E3?WTEY8Tx;TOQ$fA!mQ+5d zQ)6wHk_#CSwY6V>gxR_p;R|Oi!P^IE=jb>Lq&L(v4f`{+UFgO9rp=x`W-`VQyG!ki zh|qwtlW(@SEA|e>CKmSS+?dGbNl-;2J34beZO#QZn4j&DI~xI)dCs@2Ie;BIdo_0= zh*uPn6L*mM?$WGb7wrJFUBUO0J(JiTGT(Rk1L=_N3q8g5$wNzN8{HFLlt2y~CAQT) z!9(rsMoFh<6-&)EdwQ6A;E~b7F5kmJZ-}M{x}0C~r*Fu`X^!wFgz2(S-hYs2E7&$= zDs4Li*FbH+?&;jnzSS41C0m(WJlKc--l)A{tF1GDtq;ado7YI>3ABSvD~0XY|DX)T zlt+UP=CBo;x78LNnqVw5TJknvyC)vixhHhw)5yun{4VoxmVXZ+zO z^Sm0GplpM@k9m_A`{Pkr-axjYrN#6CWE-~CJ4xxExKNFKO+GZVuTK*-^a9&5uKzwT zz`Pjz-Vj|;$jxk{BK3pmrDS7!?17`(Q~BIG9dob!RJM_nNBdswmzar=yb7CUv`HPU zZ=`+gAIRhzZCt#&Ot~6;q+QPjx#3531e*aZLcvTZkbA6D-XI=00S2PX zrG4fCT#OStbTiv=6)3Bf)y5XHKk|-mu74;zj0U*sCmF|D+M_HsX$8??arKAlpw{&_DVSSbaIaI_fs#hj|5H>RSCuP;4hU>k;AEPFyw=ovQzW zc+bPw!NH}X{VmqM4$}Th0GGwRdIvKU#i%mw(RlLcHpnX;Jp!`**adyt4JzZq%nwLC z%^Y%f35Y0NH|%DZu-UtV4_JG$2u*uW`eEKm7U;4W)Le!d_3`UC;!^&Gv!c0j!X3b1 zwV&H%)Z4KopY_7m;0U&4?l2$6wIGU#12ZsMj(=zevo#aW(C(_a5x;2Db2TCG^;P!0 z(|n%3QDMc^Gg)C-4zq%H(|6m@BVQ=@U4$dQzSBP_Gvdv`^@66eNVk0;+=Z*<+*R|E zFIYv0EF*tH z44zBZy%Bat9Tq*roJ-7M3+CaHIgd?_lyiv=?=`#7h~6{bj6{aaAWH zf@@C3O+R(?I;zKkwYbjM88|7k(=7dxoU-r7wN)`w7exm!Kjx$*jU$mYW-2bMIagCH zM~FSN`D$~#y2TexUVd?+?RBi|ZR2p^VI7D994a3;8Q&`0Qi!xzr_K0VPE#fsd9qg^=nNxZb$d;r{Vtt94}qmJH1$r$R1 zf$oa~!zhK}QJR)v`%|cpM)(xt*+kpVjz#v?*RW=zWsG5WgTWUbc&~?6adXxX+G>QC z*Wg;5V~~9^RFS|VB;c5{*3s8KM?fbdj3fcBo5)~j2rdFU>hhuQmSKICyZnD!?)LXG zvrstO2RmMypVaxjQL;a+zu)P2HIn(ZH`H&vd5{`Y%uM**esqk-eDO2%gGwjGWn$O3 zY{fA>`XTj-G6~0xo-|-cz>kdDbxxypLsE1eW(DS;XXV9RMIRv1dm+jiFX`HNBQ-9N zjhA+9ETYCM(MS%tySC*~8%2?69ox0>Olmw`HjeAs*oPXAkd5QJHhzyob2N%ndds}# z*&gO0KK5tQIEp#7_Y5@7+gjJt+{GJ@p+=f*8&IC#dcO9SB(sIL(BEugEzeL(Zu_r& z%;$K^54b0fwcJ51_rJ8}Nb@e<^0{oej#@rj<3HM5z*{!UmaEWWzJl4s4-$@gFYf+B zwetQu(Z-hR$odovG0hsPSu4;Tis0qw>YM1d$aiFW=Ri6LcACA;Wpm2xJO|&kxtGFk zo4)|R^0(2i6R-?U!DZUK;9g9M#ETNKMA&Vvy@jmi9?Lq}>Gv2d_8ugNk3pA=s{h6= zPxT6%Y2NoKGR)$!}!dkI(8(+-iu0tzuN-w}BI7c*fZ?f?V7Q1gyz?nB@cK9I1me1c`qE6O7hXzo{RJ5J3c30vmRhyxhFxXc{GLwmE;2o@0`QJ z+mwc6dI+Nh7kg$izs)%`m^eP3h|nc%hl+(u;Uo4>zeGFmN$t2gp0b*#aMlNZC!u}j zYacT+@3K{iXXQL;2}5`>Z1DOO9ZZ%&xo><1tpmB%NnC57KRFnXVw|7G|8zL`2k!KM zSct@axS2U~ym01i;3tujpK$!Z7u?AgaXNoK{SKw{!`E9>d$AM^Wt{=ayq_v=(B6jv zjL~McuRF|kE!keoY$vy{kfyZaE3RuZC^Mhy+V}}K{0eMTy%bOL^LXDbgfLH=v-y|KbTZ0Orlpzohm2IGD z{D?MvY{ohoMzP6~HJlwobKj??79Qo-DL)buV6vedMhH+{c~HC;_jbo`~J7nr83!7w7r zc@_5N_$ij7?mzvI%%R+$Dd&S5&32@nELA;lTY0yq{l{%#nY5GA1NEe(lFl&bt|&*{ zKBg{fJHRBgyN#FR2>1S6R(&^` z=fZpG$p+Tcjmjxpieu~Yjln#8EXDgkW&FrM4v*0y0pc;k}+2TAA$+DJD#vaVK zz2=)+`6y4e@@*D(;b-u}g?C#MZL4wBhUQ$&`^<~exEFgVXP#htemt~i@>o30NAhO~ z(nyXK2|vin-tQl<+?dbBRzl27#03I5D#t?37jom;c~TIqv8726B6!V9aFy_HJhO z&gS+mCVMYL{vn<-6nj^2dvCH1q^zg;aH(SN zE^d$djqwW$d+nm)++$_$?sr){CvtoHF=n!Vo3W5UZMlrwyMXL{fIS>p;flDu&w<0< zDZ<`DVQ-q1y)@XvFg(Y@vK#iybCg;!l55?~n_DP_5Ve6qtJg~F`|q$`+y^fZwG5>f z-(VqyUeq&%DW6~%&E85c`f+=!xxLB4-oHgHJkHAA)!g3SxV;E6PeyG5x0k~0T}}4x zr(IyN^54~$Wg*?aiKy+NlturB3wvL))^4)!hs~^i6c6;TK(V*Jh4t?VHtZ>@F^uLQ z#oqJW-qC!Nt`qjQvUR(oq1npbB5tpc+iOGS$^Koy?PYO$??x+oM{|1zz>oe_D)t`V$ofb1lg>X7aMP>UGq^pfJBa6fG(`~4Uq9kiYm}9} zhu>!Lyq(*#DfaqtdlR|6YsubcbSXiMUkbOkk=r{{*sB-zj<>RR9=CTUx7Uc7CF5DQ zf%WfOBntX>2HBgb*!#-K@?}43&V7xhB>I;k?0v&pyUCZ;n^^zef`5poOR@LMdS)-c z?OlrjHh*I$o_zdX;P%Sl2jV$W*n0v8NID9O#FYsMUq{hQA1*}1(>5CAi% z*t>z-yP3!HQ<^;JUzV`9$jaWAEv$e0;2-+uR_uMej`i;zrZA>b+3`q!V^D^l#eg7X{HvwyPzN;!k<1*VeeZk-Kc-xves_$O&iufMPt5cXcOvUe)CH-_7*QS9A~Jr(qC zD^=o9$|Yp)a>d?_+}>_(?**Eyh^JlHTWn?T`3)?dd*C1X=Tz+VE_Y`Ene$S19cL8;d&X z-)`30O}<>s?NR&@&j{wY?B4`#FNNECnC#up_Mv%wd6C<@gpc1oDh}x1aAEIdD|*R8}=TdVuX19ibWRn??fwm53gnMbZ~n%#a=&dZz8w%FxmSIdpmMId`maH zhq8pdzX^Nw!rmU%+D*Qk$L&3Zcp#pQs3|g@bt_r_zGVSRxsdG5RP4RP?M>qSdy9$@ z`j;Z?y<%l=^%~Z{OSwIlV(*tXnY{qF_X8Nr-@b_VZ!x!bEg!!z!rl{D?om8%va&at z+xrypK>wOiQ)K_9b9;7f?`End4gi^1a9wY#2NWgA?$6y@{9U+l9j!3Zm$=&*NPe@`lANn^@*fUvcH~DhtE!MwB5P!t8NU`?{w#w=FN0k`sK`@v( zioKV)y$e}$?(M?fw^)8r|Nd=d?>27l@7!JoYMAU_8n-u`+nYr8-loe1;`mU*?VZZ) z^%wR6!rl@qd#7@HA0YndUk&WB?VS7AwaDacY;;n_(qy<&F;>8h!{ZfrI;_BmzdKDr1XdgkKB*7K43g32C@-Gf3!#s*j!%Y!lV z1x$CTCxz>|m^*!s(33Cp93Ru;XtJN1JCAo(!=?&jm+59{yw$zuL9(R@8I$u zQu}*oXZ9b8%Okd=|3zwlPPRXMSo^&n#e{!h!h}oV>#6ZtDSRj{JcbKjLG6>6u+2*W zBU}pSQe%!3?t^yL;#oC;3!g&mCotiom@wf|*hY>2!77#Y`M9|7Z*ACSVg#)auN1O)8r0|~b1^-TCSCQP^#_E6(hQuw~Ou#*d) zM(w#w_wt&$#gWT(~EBW@ExnFk!-_@SdJ%{2I$+*5?=E!XISTnf*nMp~FN%Pn!?FSu|%wR@TH+f0~n zDV#x#=Sbm?;=G&ppt%4@+2Pd1qYsAQ%3K+CM-mseK|7{*4I}E`=|q#%w9v zW0Yv|tjgrVCsTVW6Skv~<5IXY5siOfS9Z#+#(@nQ`IqT)33li<$5sCQP^#HmEUA3ZEYrF6P4N z)SkwKvzRd9Qus(}>?MUSjSJ7_!tDuY--Fe#XQhV;6E20{r^d}_WC6P@E_@>wexBN& zX2SVQm~bh42Q|_Sg-m#ITzDxLo=5F-negRIm~bgPff@^>a7kSFRxW%2wP!HlQYK8e z6h59BkCno6YuQK85nXp=h zZluQhrSOutu&{g;wbKn=o|ScnS$0$7l~VY&!-QSbelZhnJWRL;HTIXn%MKInVM9zh zahcPz@`1yIcXvYgD>Sk`Yxe@aO^qASXxy}(?p{@HKgZ?PsSiQ#tIeIAGaUW%u!#}Q zJ>f;1(}eBE&{xhue+urZx$rjp#wFz5oo$Z(HPB&OC%(ZSZ6^M#ujp&gAtTsN7ah{`p9eHJIgsnTEh3>2W7;ifHbv&Lzpd0Gw{Wj>p z5uL5L#R)faz1a$o-Z;_eKWZvHx)U_*i?|)_l9#FhO zi}CD&b-OP#vHgZqE#(KbneIhw(OzGU}Kk$a+#f z5L*f#y@ufpB|i>kBiOhJ(F@`2EDaP!Zn!V*+D%#qf2LUYGqXE?z+Yg&pVKWr{M*0u zX;^gz&d=Q6d0&R`u|Iq~lly36J{CC1K_gZ5j`cTznnPI^y+C&v@=ms|iuFIVvu|kG zNH3{0f?T9`Y>2s1o_}n-MkZkbe%Ov%y7--Iuiipkq!*^V`!de`B5Y_FKg|gwGke<* zdm3Y;(-$(5LT+bmn*)zK`6n$-t38DTY!RJP3m=pK0{hj%ZhjZ+m zLAV{x%3%O`e>A*rKauhlt&j57(Y)3C>N&&*eq~1Rf+G|aUI6H2UA0E=17Gkcyr+ep zPrK+D+U5a;yI=S-YDFj+?Sn+UQ&}B{v7QcA;pQ)U=|;M&q?os3$sZQvYcN#o?Wf2u zRo`1r>!uGKg6ZcGKcRF6ltw!N#{9?IaZs`vDd>n%tX@WIVT0ttLy>J;DCjoBF&sCc zk3gsP<7Y>-?FDjnBp$}F&M(x%kx0=$=qBC>s=g5%#`xpOHC0Vl)CWGFt@1UluNn^& zcKZ99qqtU91-fVz_0nG4kZ9wnyf^4<-`%A^p?|qAMG=#p(89<4x&kBkJ5o5D`xG^t z^e@!=_qUG$*vHd^1O?NkWf6o z$o;!d_!qd%ypSaZ6Ktze1^} z|7s)TE<+)tM>pAXbo7**KLhjS#hbB<8vF`5d;AYn8E8VSVkv?2EgtZQp?r zpIna-zaA0tG8MR;48N(XUUbz_KOPi4NtFbC(iR=sHJGFiPy3-@1pmZa1siCM>Zm`F zDlnwJdLFt$H{uD~PCuTm>t(bIXNiNEk}NXOQMZalHgqGKx`K&~b{D4QoXMqVasi?@ zzQr}&#hKEH2~Qi6xpcu4o0vn5(8MI8#C|Cby+-ZzE_c9Hd$8Bylkl3wV9HqphEqaM z;Vby;+9|zkwyV~mp6)Y3OX$Iot7z?MGyixJ!Fw%M@6C45(Hsg4n@8pjqDRN+cZe>D z(?c+b*r~7o3`Li@6Sl9QpE*M_9QEtz7h-oUA`YgyS3n~xl=-N~JFtlHv*hQo7M+)| zj&**x==|@`@y@3PPN&YF$~ylof#H2BOUqoBr=uyQvmwE^k+2Vf0mT-v=IG~X%XuW);q)Lm4;X0a7E)o!{f$tALQRR zasS?76(jI3;oGgkx4<&8b2RhIe=9BP`SF`QXpU^ARVWfWmes#ddO_kS@+_Q%8^c(~ z!vEyGr;R(jqO+C0kbsvPE%o%9KD^S6q?Gs2Ba%?lE0Arz{5aPz8~&nLUWu~}=?`s zrMPdm=)O4`s7T5wS$_?P=vDZK=W~dsVm&PqL=3mZ@^!Ds*NyOq#+NF6nN%l; zZm*K;B@26wdR}k1g=AsVQU4ShriE_C8$<8lC>9d%So*gZ-V}8~<^sv?f=tEf9UYUq zfFl4l>R={7R^3z+sDlfud58O|9cJ~G1}_fH@vlt{bg=h9D(fM<_|rzBIfwk;AU=V8 zuskH|hedb{H&V9s7hQ-Pi2%k}sc|3bF-XXg>2ON`pR2}bS4r1rO2JTdip!?-ut>c#0=ICow3;8xse_ahGK zzLqL8y~=@=cdS5x4`C$uc!*)ZbI;e&*;bhm{LmNt ziSm;_wjAyIQ)g$R5t@XzARM5l-Ep5eY7>9|uA{D&hBSBpZ^Rq~XXNwka}x>Og%`Zy zSrw{v@BYXd`2wYyt#N2^;vYjMyS@dI_0Jbtgaska|LV5{hH#$Wp(pe0xMLoqM{NHB z?~-VL1^uRVj_VN&%2T4whKAxa1#3@Q9=B!z4x(`h!6J~Yrg6Udp~;|6?sRb(pyICNP>vd z$XOe}!tS6^+jhvaza_!n#~YfkF%_>J*?>&M>r%+R)0{&i3}cvc5%yLAM;*oXvT)v? zcnyJPHKK}m<9#c5?G3(%)f+t-ilj0i z4M+3R(%Xm2e1)w7oYf~8r$0cID!vDRwf2-yU%9(M8wI0+c?WQ`hI6BWM|F5>H{zYA zzpF=^;N>2ojOJ(VPDi$3@DQjE8{ufe`UEi1u|x zaHshh!P7CpGb1w^l|jTr^X9Y!zK@=Zqo(;0xR89&3%ERfnr#n4FbyrUQ`U@3Y`<#9?QWv`pdWVopaLU6e9HiFn~Qy^=P#)f;@*OFM^=K)-e`i;EZM za2Oe!vq$LV&e^z4h=%--IUgkiJ1G8gynZ`q~00pnYHKTUexT>Av9Hvd;0q7rNNV z*sydX2$q&%>4+@qZKpra+>enJr*a6o8ZUCn|>$UG2$oll_vC< zmV_yYGs??Ne{>=mj-@A4*x9IIloq4roJ>*THwCeJ=5f3_(zV>>s2@s#p^@3FiurPI z_U~w*tJFBNrlOr8^P?&|FURy3dxP6D-^MD9o=-m>bIY6XIaMHU?V+ALSx1E?{EEqO z1p>bVYY%iN$r!ZFm(zB`WsX-zxq_P_W@2qyul;LW{-=#_Rk{(rKD&08+i>I^fPugx z5I7lS46jATi-11bV|?_L(Ssgk>q8U&4w-LA`)Gho-4pq8z2zYhLFW#b*a}ea{Wzz*sywHaXKMV8%gB!@DskrP@T*o z=c)bnkf(M-Peib8HR^>oJUQJP9+SPCI`ScVDN*zV;L=|TSNbv(m$|S>$HD({y@1v$ z?vVY@N3dR*iuKB5zFwKQEWTdZg|^swg-)Z{8ilV_aBQGMUK)SBR)+cgJybpSn5A$* zE?jC591K)!-O^<}$m<{5m7*8Pi&t;s6;N1&;I&IQ_TiX~LB~5TP&%PzIHn-d@D=Fv z;!ucV&c6IG9d5v#)ZP~vhI-gS^-vyA@NS#R)WB{Z_N4QNz~R7-Jjbh3;PI>Y!vuN3 zFN2@DBR?d%Bl{9-clWB@)61QGD6qn_e;so65@xbGd;eMxCxFPu;VIkgc=Zz>{sMsG zg;w)BbQI;dfgL8jgLZn?boTHCv)QbsbWn1E*ITN!bT&v%r|0ANo!#!lIK}GlgDhA* z@TwHw5V*Z3?)K;Z-R;-8+q9@dN#brt$e8YS7I!;{^xj^D;lPC$SU$i_P+f3W5LFazlvX^IM@!|JEIqZRmq^(@qisdec`nCkw$Edi;U=p z-Be_Sc^|S8wSNXZ@=FJSdAK(%a|bHu;+*K&7*)hSlvKNh_Exbdxd2kXVLTFigMP$o z#Ew={%Ae!S`NDDA0SZJYgKG14bR<9myk!nRNJ)7sLX^#1SE7`;g9*}djuvKY^TUS> za2a7*?*MY43D=@;NK0pVLbVTTW~}+J9|_G+{1kJaEw-==3m}E^W=J;P!4evZt&O#m z^no8p89!9vIoNp^+nkX}fy>!~mL0sm!aMrS`v36N!7@yf`pXbfB*KT4ln6fZDJyFm z9hq^tgRhl7!O%q0z=rd;_1O1SdZsBp=Kxdes2c+A_D9+Ah3%P+3ZJu<7C71YIJunW z4Q|G(0KN40G`42$FlZvn`acobI{iz`ev{Vx{V?imokC02+6cP1#XrP1WI*5tyvk;$ zZ;p+tV#hK>H?qS*-D|Ln}hUx|YpBxjgg?5$KY8s)h)7BDNVZzgQi$+Fv+@_7{rS{sQvqOxj++&EQybvVCBR%Y5QkB!bia znaDf)>o|#x?I&!fmt=&qcGDLN%bWMc!ouT7`w92M(SFQB`$Cdt`w6GUTwV&9_uC1SegeC&O7{$4b;&o>hsmAO_+I%)c9`P3R)Q&;%1Qj}3Tu?XoXL%qEITh$ zG`bICrd1xTfE6a!VN7h}C$z9kVJbU}sT~M3RVqxChcV&(EW}ixFcloew1zWHQJAJ2 z#`G*_Dk3H%9xfXUD-ukx)%cOPBq`TRQ=`A%h674$|G;bq$yQXnUYI+GrhR-tzeDt{ zIQ=Hk`{VR8L?4Oa6Z{Vn?TXVOqO;=kLZU~-XgYeC*Wq|&)ZUn3^V5bnUax}n`tWLu z=E+3%z8$UjKCO{0Jx-zD!$|_)@6p*N_Ryo#p_cNo%kDh#iPd6$fW*AYJ>}j+8@==G zJH!ZYjzrY>pQ;HZ|8Y;EEj$lz=j*87?`Wu}d??vytZC~xWKORn$L;Sz01dazK||&i z{QV~zT7&D>wD(U~_u(H29~mXSc(?~cZ z_A`EVR2*THtYw>kKRC$%Hqd(IY+t;aU4~tg;0cx`y-}1s`Zg0u2WXvo>EV2Jihuju87)suGH>y$4-i9yoHZOSYhx9Wcf-W>5 zXi-|v@bQ1k))O0LBkqC*h&SL&tO|EsL-?OeN6Ov!f``7KOI$W~)L#kV=v4f}>Pg8C zW6jt2gEKw*N6!L=He^v;%kx5N%p%J5@9K9q7A*XLyVoc~LG>w^~hkQHZ#j^J93fSXf{;B`~F^Dc!h z4ZwcZqcd<{*}Jj0aet><=x2ZJi=Qr<&8Ukst8mXq*5kN&2CFvq_r#)jf(pAcW&zr} zyXKFV(eOVZM)pxO4>quqRkn$OoMPjLT?xFb7CY~B6+eD>fWP*e;4eQc*FaQcTTZs7Ky;B`iK4jdJ`%#uf2k}YQAQrO)avs=vV4iI*yNxRJJ_=pCP2!ryM@m&-p( zonLO`xBGvU-x=gee15UN%Mi{QDoiIz(_QBm?$<41E{+m>+o6TK_^2}f@n_@~<3hn9 z|9Q&A;&Jj~@jM*)UT&NooUidY3c0P(H^9FC;qOV^5-gP69SBdMMlfWA`CMM zI4)FugCDpjDoL!u{ttC;0$x>-{QW0FAS&_T5{-LQP*712qr{jok;NNL6c-eC95-A? z#~VdOjFWpc*E>PRUB_`5*KwakM?u2AxU)E-qJZNl=NJ)}5fGRBKi}$e?!8&WnfHBv z&;NaW9?9*~TXl6+byanBcc>-uwx=2YJ%G`yY(QaU;e`Pc?A_S8Y*!&e@@zwmtxN4* zliE3!>R+2?3!x;uZ!X;O?A|9nOqX15(P?L(Qqf*pblS(#MtDg(&x_$n&ekEnVc!1| z;)V6BpVBY7w6?NJl+Ng9hq0H@!^S;Ndqw!8Q06rFeq5oi|11PP;=gQsqj=$`^H*WKe^ z2E*{^h+ZYXAW(FLXd95&$7vMGZtSOrs5}CC8fW)b5ET4^6I-(L$nX915Jx8x76B};96-D1%=L1HS^ zBKSYO3K!m=4k^iD+@@-Z*2}UFn{qSw%Jxi6>T@x&WaFSk_8x4Te>@eLYWMnVxNX+M zOFXJ}+Ngbaj%OQ^yTB z@d-us$cq5M-XG2Y2w7 z#>^#-{1|8yei^hX#Q88tAh>~#A^r10uZrzu#j3QABHvEd9~}I8yy$y4Z}uKV)reoY z8^4CBCS;-xcT3_@wfeBN5y`iLZBI1vy_@DmfZH*!U_WaDIFbKEB0O(R*i|9PFR2~K zD`4XQ!}NGZ7S7b?)4(G}v%e5dquS^OWd9vD5^sB>5x*#=L zrr3Ho>e@LGN8JYEgFjLz^k;6^9q6$z{jB$KJz!F(N~Trl^sEB#_D;`_U7=V`p;)Iv zc$C%BhP{tE4oIO5dmkThg~sG`H>Oi}zjK8)>^2?m3Jt-3X|7zg$iX+AOUU|t&$U9C z*uc5UfYhBSup;b}+)_)y~>f|hD?ET83R~6N7{nxSR)~=|@oUo{V>%Wdg z+3Dun)#KD;=$IX+a*@M=DBAcYGK3w!_-9_(&Mx+kB^|89y&2{YRr>pEda%-)Lt$b5 zZc6W-O>e1mMK;|{>5(}j0h@IEJvF$4x}krdnt<_wXGUpvo`W35s-sZd z{5~eWrpM1m%(hcWYg1>JaQVID-)jF2WJ6aTk!mS+`}(UdSBC`6RE>>s5q|t2lZ~tW zp7h^IeXVcjFA==Y0(a|k4*%_>Z%rfHnt9lZ>1)OSkFiHbZwT?8w&4Cr3$8)}>+j3F z7IXp)hvVnlN_#qqXQ1&PFd?bdWN)+rR4uMRwi!VLPlvyiJW;+$I zyO&&LRC+?8bM~=b&gMgAxzxVB#5>=$&k*X1UgACyIc8Bsq%K~Ky68E4IDg=b_}Ey* zg_$^7sZv@2x{9a$f%9yU{y5;?V@-c-eS`JkUx%mTALC+O8=qnill$AEI-<`!Rns_| zEi~fxYRf;We@|^YbAbg5JdlJ4)LY;)%@Mw0>C^CCE}gIdPn4*7a`Sk* z1zNBy%D@sd8z-`^+K_g3@QjY&(Yloj&!fV?PrG~W96h9m z4-5#aiTH{$$Km=N`lT1d_h(+@moF+kTKIk?zMBpvXZ`Y9x%~1sz2pdx7t(pUt~XBl z$Iu4{@iCS@u@I7dthBy+ZTf6X^~&7@_9MSWxUZ2aseL3^+QGbY2y?QQs{TUARKiNd z9@Zez1)m=UB*YE!V2@OteL3i0dus-L17-N!8U8UNe-8dNnRNs$)Zm9kKjdRw8q=iX z5XR8G{}HMf`0>yzg9^aS`i+B$hE^w!qV|w2U+_8j5}9uN81++sPw;`{yv>lNZ_pw) zO~EeE+9cbr(-~WALQJ%=FqRWiSv{>kD_LkqaYU8S+JbF_Ch&6!2$ux2#WmA0Z77Tf+MHpb#4@of+q%cfqxpq zVH8(b1x9hHMo~_s5Wh8$DpJ%x{u1`zx;RZ}XV!V_%VfIaCmOhu(wg5e!@gI)#DLm= zHTn(5cn4!_y&3+G;^PQ*#iioj%A8N!3a2N#+uFvZW=MxK@n#Jj!>Ht<@e+D&sZQsU ztDPs2s{(q|r4?|7g;UgSZT4TWnJa5F@d9pMk$6cTFJGE}vG8Fgx|i63@8C?V0F|eu90cDDmq}L}(pJ7hFo!;P3XK3R$??AIn;l z+0Vr69hglGiKkJBTcL8jgbQ_a=i4g^4p39+vT209dC7$oh{pFZ{e^2uBA+qqB#wAl zM~!24_?^NH_PDOUEpu(~v*+JQ>;086o%{31)MaX|iMK-finfb>TzONw3VZzeHA@ykWBv&HDi{h2F&2z$dKSq(5< zaAS>dFwoz~)Iu@D_&#HF#Apl<@Sf`oM@N@2yEIlm*jm=8l8P_TsIsFVKHTI~u&eqR ziI}91)}(m*BNDB%CdsuGs@4R0kDq(k`22*{YjBKrw+f+U0_hKQ-N7tb>6hC4W5I_J zN!5}x8!+Y@Xr$AGoHiV;uO@7dU@i`8y#J<2W<}+l1+!vaddd0Ji&a#X$3zuVNX#8N zKJR2VQ99dXeop9+dPI>Q1_e|IYc~gAT2d8cseH z2;JeUcJ@Jg7r=NmMEv#$am8>F;MpxLTrGhYO#>=~J_I7|In~039La}*m#LenGx|@i z&RYyKYB0B+_HpMkFe|AR|LaInOAYOUp3EG^WxW0Iu&}Bbr({>gH!u$GLd+C@1b{1-H8hx8;01f{%6S zrxdrMNleI_z?xIvTBBT@0tz0Xu^f$rc+3;VNk$e>C&MZhp4{8N?p#Kaz67e7#j%kw znmY6GeW)Mli&?vK9GG?Kb6C9prNuk1D$w|BFHUE7xDG{>n1LH| z8S@LTHP8%>V&d82%b|05JSE1m>sgc5vojrisRej2qT8SrqzP`VlU4j~O}cviU=qP; znRd)`vDW|KY`*ScO@;I>6)IXjB>oHi^6v~~*gKN3l0Y4O6Kv8Id^Z#-K#Pd{Q?t&Y z^Oc-WiaxsbO&Xeuzc&4-d||@OuI(qyRQ;?mX81r*uCZgWh4p)5?43$))#esaTR`} zv;knJTjhJ4@K2*^nb8);iq!saZHn{sYd>Y z4u+6!y&+3K{gnQrOXon6l+>mH{CAhzhig-D=r3T8INf_8d`~wZ`qZDV%A4AJRRT49{&F@aiktRpTFj-*y z;B+#Cs^lJ;7>IOWun)gNKLiRZ7Ek&R9kgIGG?)Bz{zAiJwO!>UO04!Zlqi0?O2}Rk zuZ*Q{$}BZ5xY$DUyotK^0aq7CC*1hl!h-l-N=B?)v3j3D)NshiLc7H3rdaCO-l?Ib z*jP66$-S8lu3#zQ3YK6!;-2kP=rESf#4{co#xs`rhX|T4*~L?lu)nC>dffRI_sAYw zGV7<#!MB(EEmRn6!arG;vHvQ9n~?|kLLSG9GyV=Qp)Du3XjK$nNZ-VK^CjeqblIN` z9GSr@nGCUUKf~Pc-fOCQmvYgIOA%^LR*~AOC@8RI@<r&rXoT|(5n%-b#ihR3XaylvT?)Wpb2%cFIJfm#%reA=w=CU21bZST) z-2?~HK4odpucLTyX%7E7`#5~4J`>lROD^#pB6T^wE0mt~gJ~a?_&Z0KP-?yIAp?XO zfq>fdJ4e*qr%sqpUGL_P4je&2D|)(V?F{O{h`a*oQP;n;tqQmPWIg9-m&5 z9*0~02Vxi6Z}Q?gleeAto~&Cw$%iPCW4t6{L%crR2##Nv8 zqXD%(Uz@%NxxUJq=<|tQnKXqR&mpkFxz$^5!3%&R{~L4Uzv3MEBR^1g=pZPbf7fBx zy7F)8-wPh1jf_0*g5HVSIV=VWz|gf-QeWI|=>d1 zAE}Hmx$KlJ8FuT8Ni2PSp?NVL#UbY9>gY5~mi@5v;=58>Jg#RkPT3@xk+x!Xi-TFX|!DsjD zy(Q_`FV`J1!X{0j(r7edQl!Pr!a01{o4=3==lI$d=*mmmHv{6T$SoqQmtw$?u2NZ8 z8b7mLO;}&(R{)Q#TcR`FWAIP^ofaoY#L02OoD@vAO%zPG8N}-Mpb|ttJ^2MR^X`Je zsyt)4N%Tn1abeCfuNg(W$##wD!vV>gmc5rU#`}0nKCts zz0gJy6r@yi6Fq?M%;y?Me;nV7oM&x`V86`>ETd{nX|7Pi7yl zsjISiD-GwZ#6N9{o43-Rnzv@F7S5Z=cjnDY$g{%S4Xmx`d&^)c?&2TGz@lYlM0F*z zZU4A&_CPGDaBJ86m|DD7Qycz`(Nuhbv92*O-1{5>mg3yfEa!@u2fZxUcd0*7yyRTV zX1|6LJuvD(=XDAO(X902Gawp^bToeqYgK7fJhUVY9yY2VG5Gs0$n6~d_7Yk#vpi0> z*zmSKj~zwByO3*gt)TyYMo%rb<~yJJ5dT212uWqYQaLf92x{qzMkn_`Mm9eT*1peL zW8V{eZ%04ekCpM+#3CvZ@%+;0;a642Y)(dUPQ51ehMXIh=6F`XMunhDZ&p8qez zp3tu|=||}PrBam0e(0)02SEfU3aS}PsVetfC&S@LKi;Nrtfc{74!A{l5d#4=lvnywd$`t zI;_r8mps9mu1(EFIjL@Y3p(~sfIh9}VbrWmp~ZF7#fpu%Ea1s}XEA(S@x4qSNJZOA zQyHAcP-|0PW>wy!eqiiiqeK@|;s0b5t*?rmjlw_tIzs|pViq0fF0K-R=r&pk#_bEf zDh3SFpY#xrMj7)T`k#RC&|bZ?o!gnqkfP|ZHh&TfFY^@!U^U7i>-97w6}8NNYNQ%s z6>t$`ULq|xQfs8R%>Zj1w{73G?A3nq5oY{KhNpsKDQHeXIf>+~(_jZb+d&^m;I@LB_Ay@cd%h=HiE|muwd{NyHin7J^LM3-&Y&+-*0~zK5T*U-4yu=zxaNCR z%vr*{rt|g5sbF66R1*H*03`#D5krZ90Pw z7`eiCL_>ams0S(vW(gfK0fI5=VJ2L|XM^)2V}gR^dmHC`akpD(ONF=Q5Q(#tcpyaH z)`G4WhN^bQ2(aXO)-+BaChu3dwnRtW_y{9gujwQ;V=8e^&+slVXC6hHRbdCuDe)~` zi*Pkszmt;Bqh1u6#GZ%-Hb!)@U0K0R3 z61pENa*@<8@tg6^IPb?tG%9C7ZMxJ1kM3WS2c)L_`}kGPrJNgGpZtdWb}o=N`H+cB zoJqpmAntOZ>NSZzVI;ja3UVAG!=l(k;^T7f_uQto;w;4_=K4Us_#@MHgt*qoF20v0 zwl`E1`a}fkn<$F)tI=D&+mm%>M(djyeYT*#MwpV*tfJWn6sK7;L>#;hIYjsc#fG^x7zQ?-}A0h2_H|+S-PNH}B5%FMD5& zm3?*`#y=spsp-{gKS)j=<_&9QZ_`V3XP$@gek|F;Qg1e{&i9(W)v|HsJl#n!to*_r zh2C$MGZ)(JTu#oQmo47%ngg3-`Q_hU(>Jxg|0}5lGyI+N7c5+tKR8=M&{W;c6~=h~sK%;C+fY#z5tyX-A@+4YzQ;-3z(KG!>zthD(HKv;6#3Cc5)(!>%Vbu3;=Yue}7p>O$|3t{slNrfy;b6N#A7$#0B!SGLDSaR1@L-2Q!r zrDm{A*j#+)ZLmRe(>dBYtJRKY?=FRJnU}a#%+|<5_6l4~ed8sb z;6rWtV%}89*+pkB0s;F07f4qW97G5Jcr6M1mdu8#E@<5pYhk69nM zXeJ(SnPqoa{9trEpZhvTu$YCiyXf)00?l+$FPRiHsg>ax;vdi8G~rqy{-RbpbUx9b zl75;l+mBADn!EqC4c$bGikFa_Y0vVF*YwW!uFt1bEPYXF4wuOceEpmn@8a39)FwcxS5S%uW2WZH=_0g;j}_c2PJS5zIOI3^5k6JuCogIJ(HN3d4=mm$PiH`4?TzQblGcUs`?Xcs-uKr8ecW2y@J_L1gO{6&O3yje+313_bgc zl^!cvbaoLSPv=wie4{$`QlC-6HU_fm;FY@x*0NWAXF&Q_F;EB4GXNB@1Fvy&&g)W$ z!tD-e$Ixy|zL&B#4ef&+ohKKj+Z*^?TYpwtJ6T%>|KuVKdA7b5@-?&GNuv9AWvDOt z8(Q$!vUBKm0yz6oP$PH=Ae-@qt;F2RpA+-={@nt%D$gHmj1T=D&WK%aud27ZNy;7v zKlcv@7XclZKD5%Gq_hGAExp!nP+FecF#i&zA9VS^QN63-ZSo|Cw?n~pPCxs(ejIK6 zLp{sNndCpga)oRRK164xU1#5H?eGY{anw{NTIc#hX^wTU)4t^?Ce0R8J0xb9UjfP- z*dB~%%m%jDXl$3SNkM=gBcNm`AyP7|TusNB0F{ilOGyKNW7EO~a1 zcq~_*{gn?JlxG`(E-(4Fd~xAReHJkN9i>X1+BA{&q{}y{_PF&Vsb)Lo>9QFXtd=9y zs&b^-TcrXplxo)srmR$J7@DE0#FN%nW&^@RDiaw=$FfuCq=Qu3yq#40ng+U(YTsGI zKO@zSKfFt+_DsZ1+W+vHN`WVuTRHU**}d)~qSuA1~Yuueq3+&9Umj&e;KEWyTE`2v4Fu#@rUSHE@q`9~Ud zvS?2L%8_e#K^7h4+FZ(ZA=h-iO53JMU7GFM+FNbylNS-aA*{u9p=}%Ys z8z--%T0g7w!C85BztVql`QYo)9SvWfq7lno_G_@5)6YS!A4gRq)pI|-O!Ai^rzFo- z=E}1X4u84w>@u4BX?gbUe=N^NtLvu#I-&>SUk_<7&*qcP%CpJJ&B(J+y!7Y~XP{=x zFUExD2rD*v9{G0SDnm`RI7`%h9 zS6p$esJ!eVka%oub5VDa)wa0=2Mku8-2k#XE6M1VIlsuuJIS_Dy0i?+#s1Aj?@h?h zo2*SZnCEz!^@A^EX2L$))`=%;>zune%3cSC{Ef%k$sp`v?dN)l zEv+w$TG#)32x zK!i#XkPp_+;$_&$n+wS1$`xpF{$*bX>zVz8aMmjsAf->FG_!sM1vTrNk&I@&xWDpj z)(0YJPCTvUML|$t>{LZ9&6(|Zq~4|KcO0zt=RFEzUa0XoZE^`m0%`sQ@*uH)>yI_K z95!q5)f|?TljEVkz`2V+;3Ds)2c&1~z7t*~{D9xnn2tRE7T5y5HIZ^hcS@v><^B_e zQP=}+WhYnb<_9CFoTc`4wUr(U!55t`prVyl@${kbpiPdgkus4Hzlf~bbmhquuPy(< zOMFV&fzaDP(EDv(;(b8KF$8K-=W)618?3+<-Qf?fkQGLp2ZfQ<+=oN?nsk2F7|fTw z_on|E1;h1lt7z@4-$Yu@U&zt>qkX?+WNbBUL68i$=;;#OPyD_H%5(#zoH1sfADu=D zO#tfh$NWM-L|*wh+}C2*IJPi@x0)1pjiig8Ih5eg2$#4t`CJ+XsPwE$UDGe8&0g)= z#M7UqO<6$G_0Q`veZ0-9uoCUcIy)zox`JzYQMkP(?D5)mHBs+i`1esMZq@0&p`i-SzWA0<8KPrqs3x6fJlB0z|8N})C#?~ zo8rBV^v78Gf)b`Z?$yb?^FuJ6{Fl4&&#)C8u#{=#f|6Uqp-L+}hfp*G7JCtpBA zXrHb1OO;z=2w@s+6DUr||Svv+{aQhX;@Ec!g43C`oa-2StdC7cTfU)8itRg1` zy>r{QTmJRrPm{degj9VmNZvq-&7!XV2c|w)uAC^|6M86t_(N_@9z%Kmh6DLvyB4yy z-UTMn!_hND4_<=s1}5wp+-TuBv$4%IYTfC)#X%qxb{iUKri`PKFVJZ9OS>Sbs;9~B zLthz|T0boHiJ)yRT4%$ooRI*)UahpXqXF1JNk&`rF4>a{_}wzSQh~Wtsk}{PSA0s@ zEvzg6$-Hg)6SVL8sD5cTNpjP6^WsGCt%|2Z4Ye`Sf!!-|(t~ef#KG7$fj-Y~BGLMW zTQBNTLG?@f&=Rr5u3;y2!Z64D_-2X^d%(KC@^`IwB7>Z;7)m21ELxX|-djEf_Q{2A zL_OVr7obJ^+cOA9U7S=S8v6kCif610|3Q!rD}jqB_^#85YX=`lzx8*{RTB`xL8G3O*ay| zDRNj1T7g9a*J%etK+ww&!2J`=1w)Y3|Ht*U#w}=+=NIdZqo!WxR_^0SMk{wwqw;K_ zy_~gUbjzAu{u6y|PijT_+5sAVx&ObduYJt5NEv;t=7IlX`r6#h#oAeYZ3OA8zLtl| z^FN`l^~0yqrM~8o(NSOXL3*yf);hSozP8=2CM5oLSyo@0-T>BTebSY_*4$gOUi2qQ zBS+`4fJ$FGjbt?I#aAlNX1xIhLtpz;5d4(Bb_AvUZSIA@bM&=6te3Jv>!o;Dronw_ zuw`2S{$J47J}MJm>lCewjre zv4kv^^v5V}D%(oZPGvjQpm6K&yBk*7ZXP57n4_|N_!BDIw)7mXuiIu+HtsE0>9^5D zxXz-t)eI4_R-QyaOGakhTH`0HA^v|xZ`=1j(%Y^Fv8K08 z0tXp=?Gk-G8f?hl;`Fu3Ub*_(Cl^Vq6rcDjlOV{MYW-?1JN;_Y*9JnY=xZgp_>?+h zPc$~=tKl4dZA6l$2U8;k=7Q0xZs(gS^`KNqHTYXIjYk+R}Ueup#r>}ik z8tH5GDmzeRx3jWc>1)T)-+!vFeawh6`r11r+UaYj)6##duiZi;x%%4Hv=QlRC)m7J zK6@2|xL`#jt=j2p13K$#+Z+C}`q~4KkMy6YeqYDb@S7lo;ArVP zMn7UAClwlKZlG4I4i0y4Yy~&mG7_=I_3VVLF%Mo1(++C-gHmhO#UU~8#_EN+L9y=3EZ ze*2twxhrUVI7cHBPxFJ7_b4J|+U<2{+7{EI;u&qbcF@bRl;y`7n2p@E$@Aaa#{dae z_?$x>8)MUH;Y$>PT;l%9dlI2@F!ZgPR$uBNP4sf1J+)dfO%K8hkuut*n%NUMI1jzV z@0~Wn`B?L`V1{?z0+!vcd9Z^Aogy**oSCJr;xsM`b4!gHPs>+JY#(_|$Lgn9{sf=t zAcY_65C0s@FIy+pcXOZhGHqsg)5CbBe95|w^ra*iVbXD!TKtZBn^`wIWv*?u3xiV7 zP|j_;$K#yFSK7YmKxZChKPs5ZEmb!cF#F9#Pmi@F=`}10slJ1`qp|u0rkT9rzbH?t z@6=bS7)Jv$cj9S3jWFAv3jMU516#gQo8$^%opWbfk3~Pwy#?2$K39xybLDTbp8TFm znd`>cBXi>+kz)Ux!#`FYSu1monv}|fASubLKzA7Bm5(j z?w(CoDE+ou@|joeH?D4BR`Y85&xLnuy=T5KYd*Waul5U7WxSK8{&%~RXk<1Wf6J@n z>yzGbg}(fyN(|5BJ2ibxALBW5lg$zZe<$cpN63Pt2 z=SJ4jwN4J(N!Qi>=Z{b!M;t0V!%HluP|Lt-u}D$v*$^xk<#*+ZUqh=WzvG6^h;t<9 z97-q}aU!duqm#jXnWvLUx_O*BAEFHIXObhiz0&WkBA*fq>a?fr>9I4!Q>^cz*=N~$ zeX2lsX9*z4^BafkTAQrD>X%BWUOg33MhsO!0okAv`6#*aq`Bx?8X1=Q6h|DR*+NY< z(^SAV1wbdL$uOC^aZpppI1F0{V@%H5eubLwx4DS||5(RZxR0mM`t43#z2B<(L#S_0 zzC!=ZJ%X;6ZO@eQUFJSc_+EB=PV%z3C^!=ovn=Md)ELey#}NwWfBiOn=#CVJua+|` zujnNe-dKP(SB|6{NcZQfs6uDd9{s6^n$p#N`K5Xa5f^oWegw~^S1QYuVu6|iOBLX#&(7Iz?8X5+)Jzj#^^qA zHbDe2cZ%1h2b@nAwdFpyR`V^oT0F78RUhtdQa|peb%OX6c9Z&H8s|t@OdHuY)n3ys z5Sv?=m7=8P8alOGZ7s>!|>_%6z0cUR_2a$j;A2ax0X&7#3&>xoR#1j4B@=0AyWgq5R0j5B>?@JpQ z+}}rzqU3%a`M)&e>()JgF~qF(#N?FMbOm%2IWyRjA*Dk5?7~1#A(4yxYPxdhpE(?M z*um1_475Je>61`>mm0hDe(SOIxBg-D&6w&56)kw;2Se?)V;pLqq{nC)w_|3q1kp<= z2;%NiU}}STseG}kyo42W^h@C9T4kM*eez!B=v8SMof;Ufx*(K3hwuH3c_|q`V z{C5{o;wDi~bJ0^OA=%T?!<9H#CH}4w7f}NFB>Q9up^yJ>+9!K4zKkQdD*gYkeKHiX zi?)bE`(&Jgi?C0|G3Ec2eex&~G+o*!w-YM(bN0zW2t)wsywYwArRCZucdgIQ+9x}Z zXlI`+mL3oWH~e32pFFk$?C^h`ee%^h39h2ePSKyTy%8j`Pi{FW$37XLJhM-RAA(B1 z0@?OIY@eKZGV+AAAuqB|_C|F1=f1&QZ_qyJYlA5sPjv?I#)-N1$=-Zqgon#avB8|6 z!EDK3a_y7Go!ok&r^TIpat2>)5&f_1lPTLV**W&f6H0eSo;p3s|Gm=xoqaM^RU-T3 zWF^|$Coz4B?2`&5I@%}4ml)64Ivm<3N5I2b8#ZH~e2+}<&ox}MvrmpA@P_3fYoBzp zGCyITJijgdp%!hxKDot;l+7jxPRq`)7qSrk@7X6OZLf)RI!9=q+^1ME1l=?Q-G61D z9C^2v%WMp2j(ze3Ll3Zsw^03O?33juhCO|@ zw@=p7gnz|vC=l5vjn;3jeR3!DyRuIj_}+zmQbUu@KABBZ46;O!9V^Ik?34E`uV@Dq z4(*dKu$5$=^i$Cs`=mthNA}64N<{X_k6V+7?2|8*=wP2r{n}*7y&U+!K6y`n%s!ce zh;La62+lrvNWcCU?UPsN;{S|&@+>U&v-ZiR8s-0xeR7P@khM=9QPS*_9%6p1gk)%+ zob#2T^{wL!pZ>XmY5aOIQbzmD*eCm`Y*qvQ`qXF+@|gp*xg+Zb!sq{I`(!Z8`?L1R z#H|?U|0(-q;Vsr9_Q|8rbY!1w`lX@vO5CQ9s^6ryBC}NqFBwb?V>taE0xal=$CluCtz8zdw)l z!oT5*$>}6dS zmLG;`x=Y1$(9h0%>WaqHdz}7bPS3{#^UsExbSlucpkXV!q={t!4TGbfb>&BK^pk*B z*2il&`pNmEu6*F{Tlp@Iem-p(FY8RGB3#3(m)R|9A_L3~LqS=rHSMV%BRwvR2wleq zXG3#2R4WOv)*dgxyc{cJ}iglv2)tGQPt`GQNj5%NZZ6%N%iaDzR}pz^|Es zTgKe@@t~%;@)-6+{5m*2lbs{$b$UAMdU!)AW`Acu$&|KJth^udvJQZT0hAV_X~!+Q zpPf@wM?p*7QP41AWTX1t9Nnx<_3Gol;;Ce>KAH&%>4;BQsHX~n5ehw=DMXOJE;2Ao zdrdF!Q*aW-SCe8V@iEfD6u^!24R>y|JD(M8d>YLJx)CVqye@1vsI-qnzZmof*k`4n znV`_}2yUhtCu|L%w~7R{Qh*-Jp?#;HXX3dn0Iu<~m~r@#kd}o2PaMXtLDams(7%o* zB1N+p|0!E)pSNPA-a4IMPuj1Ug)_Zmf0y@)z9e=~f~k0D3tOz3zDIYIyKGBq*MF*) z+H}`w4q_`?>lnLpJ5kpH{0Dp{Gk5}xz?JZhm$;e+wE4ykt`05O5AA`Y`ApXx3EDs< zN0IyR$i@(~@hJ_nF{CZ?0m&vcDkRh zjEe0}*5Z6R@l$*!<--ekA41Kd+4W=O*$Zg}@<0Qb9kwCmqY`BS`>wTk}-{oLTBSSU0hA~vGjhr0zCOP*muPS8_B6yj=kW7iJ5cy1o0a;#YSJTm*Hnxs^_tHG*y`}% z2!fXMa)jd1_nv9jVx~rL$lABNOAn7`K@+q%H>NCk4q1MSiA^^*UP5QcnV$#z%>1}} z+jab1Gnsdzc%ENCn;b!5Mn)Vz;MH-1!?Z65l@4w*2C0fDtCGpLLBxeB6K?I#yT7K{ z$qei?N~O09k1K0XvD6NkK?T=@QtVFZ1bdNy4lMpz>6Y&;ZQS=Fd9m~dCBX@ z3nuW-Iozi(s-%v$f^x1;$XP{0TXlE0B(W8^0~{xzUMk5~;_pOHl6u@C$v1iGW-7FR z>kHqU%U&=!YutE6osGN*+6og45gEt`|#9ej5dQ(N&R6pL$n=FjM3)_S$$`v4 zu&>R}O25R)!#{@4>S?djWOjbm`s;d9*e$}W8|;58Jr{nF+>%fU9-#xbUUpu0g2r!i z=6musOj*kl4l{3#au~ni-!yn14W2V;icSJnPy0Isf-}{{^V5UR)~PE;FLoxZrB2zp zyomkHWl~H(c65{26C=@(cPhveUO5;rWqYF%ujyZ6BX=Ny7$p*7w(T{TS4cScwH6oZ z)8F~T_^PM1sjrEa8peEzeLGgOS1?G1Db*Gt_aa?7-_}dsEKWD9pm(jd1idi3 zTPTBt4wTc$SVpF*x93#-Nagk1ar#cHswdsn@~vjxJgajM-DUMhC#G!T0%=9z6wVgV zyD6=~S5Mnrw6rB@qTyB)fXr zzENS7J4EGb`NuJH_D$f?z~V^M4Z0s?axU!Cd4+YG$i4TE@I|Z*o-eIqI&#mKR%&{> zJYTx_LveZWu;Iq+MMvl7jl#41(6DUedeLGM&iykNxjLFh#y5Cg;ag^Aav%Ny*Q2mY z{e~}d4k~2gWZQ?)p`YZ0(d{m938U+HzVu!osbS4*-v9HF{#}=3wyEw_Z^>15zVtJl zFZ}}_(%mdJPL|h3DPI46$0DriAvUgtC8_sG&Q&Tp`FWBO=xBxhvTiCQCK$mt+qc(! zmC5;#KrH=>Oq3K|C`O7d>i^LCCzZ1Rg!`y22VbE3aUB1(j0S0TFMKFZT=3MW6+(N_ zr9%z-Hy!1$zdOmyxq-)(XU?}6!hmxFC#fYFG6q-9InRKJ8&7F}`9%A&sa<3!Te%ZTfRki8Mdy8?qJgLlqa0)*RE=c{C`SMy43a}{xpc0jFmIYS1< z;$|6%|tzNG_a0w2-N1XgMrXp7=1je>XsKr zn?ati&8e*RI5^>rZxVzkR|U7=(|9(pQN-8J&qo5w-s+@Z zm(X5IcdVbu{SDg$Qm%wiIMTXo%;;{6T1wvVeOL#UW zi@s}94=UFj7c#ukmFplM16vpR5swLq^k0J;g~2|&;3r^zh=MHx1^eFovi*|1=%+L6 zzb6}AJ`Df!5(gX0*)i=w`WZ269}=uSz5M<1U^afVn`quM<#IAvcSfGcGmx%&7%=z1 zt1crfvFQzt7q2*bkyUF&+mCJGW8``MVkK5(@?{82=MzV^M?+mya_cv3_3|GjgHCz{ zm(rbU55s204?kws&*Gm(yM^wg?39FiFWKN}*-kjy3#35Vhrty7exHSu9V`K=sDG`t z{RHY#x@LVBoFz*Cn{>-;iHuoVQKIskx7Y!qo`~~QS zA)ZV8GoOWY%^uAgsr3NO~)bFMhBG&jqDJaAcoFYuFZFr1C-bMsNCm-hnfrm?% zN^q1tM05`iccd#n;zxDct$j>c4vzr08Dkd2U_ucf6oiluIgsNT-28;AH8 zYds+174}YiWtFF@R7cLyJsye|h^77zHDYIj0pleLERFZ!Qrj%!h>wV}y%5<0_muiQ zHxl=B5i&4=hFbz*XfVHYRY;;9FgkD9CCP?&J4Y*LZ(AJ>qhR;s-rC5#`K@>g+QaT8 ztC*hP5Y5pf(bIg21X@3#FU{r)q&qj}_yK(rApF}X;$)wf{FPc`Wpe9Q_$VXyeC124 zS#G#}n?Z%aYz$E`__gUeTvx^4yrYG`wKg@sPH!5Uh)owQ`JS26n?rMrtt#iet2A#8 zJ#Xn}N9&IS0WL&Z!ro3!pU_tiBr|o#&E?KS+PYDN%GY~|>+}P0S5rQ{euV?t1h(~f zKbgF{st84%lv{xZ6NnveMSe4%E>=p}dyGD!-pAzqZDef0XjU z?Ox*y?u|d!0yj%j215juRp>5C;kB z<>Ve93})56N$4uNrQ_N?xSpf_mo1P-p8uE(I*G7rHI3|QG|TRZk19M=Pkd(5s*iBEKQ18hev|GFbJ zLX_#&bQVCP(UxJ{gklvS!ap8H*-;;dWrI^BcCzKGM-5u!6jvZE#fA7akisr6t<#^% zANW(Ad4=>=S zs@U;ES`JuQ>^ea_dVRVO>V^J+NI%3tC;_q;SRG^fkKQ{8^`9_{`yWoAuMJ7>!@zeb z(mQ;^dY{aC4#D(W`(s<{LynL9?MVcO3W=e=iT7WWf1gW>z}BrX`JHVJ{+xUeP_<0b zyr6H4U`l3w1d}TQ+}fEuMERGv{5{B5;K6+qX%83gfxyL&ekZB@y=)ELh?H}wF`8Sc zB&Jk$W{k~}O_{M=i}gFpzyQ$&!8(2wA0N`_E{nl?bMdSL^r!4(v~dM=eN_epydXM< zXm?Sb*-Tq81*2Pj1l|qYh;#+jCRbY3%2^n~{u}=cE!KfD9XKOGYa6mx*NEJ@uvd2m zj!al(fLlDg4{0BjPv+c*Wb&KyRVA&vh4W+gAz^OAI{V}-MxnM~4(Z33KN%doY0cdq zo4o;V$DxZrLHTmL#p)}4LaChwOD&8o{5DoT-y7Qv6|ZTgeny(QUT8KZ_iy;Oi*FGU=3wsQ*uDD9tq8Z4uTnymc7pBh+S#h%)0F564?v61MdlJkQi=9JN6o(B{lkE=QT~PCg(#v}*?%-Fxs36R*B0 zu!_eyOcbEAi>vP0FN=wyS4lXKTi6dC-SQwHZh)))O#hP)bu+LEF7?MP&-#J%!0*rV zmG&dM;;ThKlHsf0f$fm5ju)-x^3@!D;BaJ@_l)J7e?$F7br`T2NT@AG^|aWU)G|rQ z{cz$ma!q6sw*qZFrDY(8A#GoQ)nG7lqu+Dv$RZowA_?1Upu9a3RO;^m!DcP{tV({B ztq0fAey8=|DD5BBrhGXnYzrxC8SDAqkl!BD&xqfoZ#aJ2=F5oRZs1#H9mwNz>!aCq z;EOLVVf?t955|w$ZFc2aZey|oFO!Cz?|R)RX2c-Y1HcmbFG(;O#Hry;~WA<|~a^+Z4R7_*KXwC3KqZR+C!hbSpft z-LQSaXY9Jgk48%vjYlwY$k`ip4K!$GbEsT#K?5scVGfUB#nfWX_*bkJ7IlHcTyt+~ zUFM#tfgqQ+97Fo%{wvbKiH@FSO7&KHpi7I?@|4C=1xG~d!0WG=-V4fgKi1`Yi@b_2 zW0{7Mpz4JK^r37u>MW}7^slA*T8ps37Oz_25h~0(nOH7@)luN>loZ4E6VzQgE{A}` z>S-r!Db}wVQ=2Y&@Eh96PTTbO0o=gA<=x+UiL*>VRA;VXOzy!4yUh;VY2$dZF+n~w8;IvKKnHLNZh{i7NsSLf?HAJDxj z%pKBY?lI)r$w6&gegS*?L*Lc@H8%VV__H?kHC@|l<01bD5_iwV1LE++6*3X+Ub5$y zM85zHIJkkFn)HcmR4w%;$}QgMJM*O5UK%vjRs4XEhxLj1 zx8YuK6wbRYVjbHcilw?alg6S${?6>`J?q+30Ph)e6PbK=?cMxGaa|l!xT9l3pMg1b$vxfd^ z5UNh_5GC=RFt7e-F5eAq6__yX5lUP@!mrjZ9cUMvj(7Y4d=r$x^UQzsw5zPW!`0q; zKKPrdidy!&>(_YwS|9N1IDScltRi9c?}j`=tmY!le=RETIPKXK+TQv%pF(81KPN)b zb=cU~t#6>``nV=3i@bBmsh)O|L1uHI*KGzZ;^E_kdc1?TKW#{8$9802K?x||yvH%f z=!@^@`pGc@Sdk5SQcQ6N944HZA1hy6|9r494PLkYH}oCfp>ch;`n|A^?;!|g(4s69 zAAU=x98AuI>~+4OJb1}|$VBRlrB1fSGvso4ifvgAJmCYg8f0x5het79uNg&W`5ZS}dcBK}w~~xEph~1o(_5JMY+xCcBj(=DYlBca1Iv zIYu~coaHVC$y@<~d@^B6Zw2FKgNX9OaGG(*p0DBUA2(b=N(Vz z+f(_5|B>rbyrjfT?*6Q9!q5(F`wKEkf;Uyi^o3Bbe0`>9s3_=bq|_6+DeLFrKGG{0 z7kS0!L3Ae3rfx6#n!*^fhs20Du&(Xqjyv_!+?3qhktX3!1WCbl{G!tY%~AhqeUc0g z;jmGi!$)TzBQ#M@s_1dYD}gO|K1@&Dmd;z7TE_Bc@-Z|N?WZ?aev1dh-)fOaHn_!# z52K$(=2P6gT29Y=SjY#XABGvMrM31@)U18q9#NRumm0zLhR7YT ze`bGkc8-p!qdx<}*O=mRTZo-Gme^@_1Wt-o@y#1VQo<^XE4=_8T-I|yk0hmd@ zw&Qj?eT1&uFz}neLr?7R%!eGN+_`~**f9j}r&fgK`c~KhkxWZKNuf-;Qa>Y^X7@W9 z_m8C+$Ni%z;N*hY<42KU_V|Fz_m&x=&bEyFm^_NkTh{Rr#d#0pm%qsyCJC;F8_iB4 z{)=XUL18-de@zwD6@6K%KV=?fj;QVtk`dJvkJ}}py7{08dwQ07ma@_@{zUhTA5Lli zbc|t`b}gQ&d`~`EHEvY;HN(GqU6x^D`#x$OjEcU`(6g7=*7(Tw*uIIS54{8w$NO1i zAU}4-U}pzdSU*o#=h;G&Rn@2AEo42T!dS~i6(M(=g1sakQGc$~xDdzeFzquaCui4_KY6+EJ(akfNGXVXpijVt3JS zwC?f#4?V*mH%qN0?)Fd!v1K8MoqU=)U_O{JfA3dpK6tr0LJu3Q2dXA_1*G@$zo&7B z*Wv7+k16r522zl8uxq>?Zv{`LyVc|imdKXHn!0%JTvGm4Y{0<(3JEbAz9cY zw7C%GwgthF@SJ^p699$G-Z(5{K*KAjGDLRH&0Ne z!ApE%{gnM{g#cUWUpQW-p*xyALs?kQ>`TmRf2_jU8w#NCPbN@4M0zSs+kuYUWce=# zKFkz!*P8MVkV%- zeCRxaEO{<<#AkM&jE0jxC+Kf5JN;57a})C39kPkvFV!vvyx`OvI$Sb|=HoOwj&!Xi zVe!WAu|)h+IjOny4c?`{eS-e>CHmV8>2L9R)7?%_58okOSHc^NJH2(MeYWnk5Lup)U5p=s1TUo*=)sMfe&%sB5*ivYp}sWUJ{(hSDV4$B7Q;s#n$l< z|0$3!f-c~*KgK4E;(L;c)^WC3Y>9kEvMa|IDY&L()`s{Yp~8@L<`V}$o3mHiq0O}y zH6QOX#o5eIo|(Rpt-kx@Gw85oo2`x4&qnzBRdY2{nMPeb+8aW9tqYu<5blkqevrhq zNU8J$o=aI5M?oAp1{85?B!;snseF_8aIE}S-UadHbK~W)^rX?^Fqzz|GSsAv(GiQ+LKTb6ke1~rTs$!$uI=4^7o@kpi^)Cl zhi*2L{ReNj_hdCCUs(qQ+dr3|SASeA-8*Y0^3b3_szIe9io9%N8^AS%@$(rkL!7Q5 z7UOYch`r;Z{BKPJ)-%?EH~xk{PU441U{(cNQ=;`Gj7Q<^kG+K*Vp3XpL%xr?e>B+E zSjyI&vb)|9rCy&WT;Z!#hYxXEr2gKcHhJ#@;$Yg_Rwy23o`2^On2F#AXbQ0$O8rJY zx)pgdax(IE@>z_mAESGqtjdak$V%l~5g5rpQndGK=srYpr+0qTiz<|sy!|%(T#{SY7P+DiWITb8YermB> zO3XU)Qce#b7Ia4%GkH`!^=W!*ofPS}{`OklL>t^6CCn;%oEs2ok-3sm0-s zY87RRT$`_Nf;F~KW#REs2LoteXAh`wsVYc^%3<$GIp=e~34>tSZCT_cKSG<8;9b`i z@6|Y+n~G-^;IbSp#S{vj_+EF$9(iIp@ys>gX(>GEv*r-{j9=dcF#W`C)F&{VU984g z+{d2{4_>C8(L%l#4TlYQiQ_3(jrYASrCmz(S7=D*2rk-j@%J?LU&Z3o?@;c`ifFHKWkE7)ht|Jt4&giBPjpEYnFVeP9NAfH$Tp;^aoOu^Oy(Ewbf0*F6FO! zi7zP=_P0A+XpYPs)vk@ME=8#5&di^kG&I?aE+}`oobq}_Y92aVm|y63hga?VwU!B; zs%?E5P<5*I3zQ>TwWHep2Mo-Lg${=BI%C}uDsW<)Nbb!RFaKiU^!6tH#cHk$cFxk- z62Bjwtq|~L=omz$oD_i$t6R?JgxZvgL)K_7E}Y(;b$qxZhqAwPhLA%Yl}Q{vk`m8N zl|t1~sAG^I9P#RQJd7+k5h_SImzX{)AZ)?Rh)6bqogR~+B}ZD}GlEr)a>P|frN@5* zCHI7oz2qF2Fwimky3~^Dmi;xti)h@fw|>cjAI&aFDB2*{o`16TfJ6Hl9KlBKZi*@j zo_k8P-c!wb{F5y&&Yn-{@RA@$AUMYSp^_LnOk&On-L_NRGERW}3P6HM+4*Vnn^a#% z2|_tPPU+cEdbK}R=^I_zj@)3D3hC2{tb%+v_pQ9dkKairkjdIyc|mWjgm3#hBKiVF zfkg6`Rr1Ow$!jjY&&zkfplm;nlcBoha=>#c_Zmq}?Fmkz{L4?Md=Z4EYG+Zcx}{M? zo6A0--jqv>cDTjapQdWhwZl(!OHzYY8H)&(mY_IV|CWfdjW_1RFL!4EGsg!DHL}F@ z)Qhf0exC8cQm*=OZ-k5ytV4?0LGOQs6qQ|qFG0{83-s=qjg3-R+pn7jBP+>{G%&s_ zdB@DJCtr4ZvI%5}b!z+=D|CQHC)x`1M6Re|GPBZpJ&U6QG)-WcQ4zyQ?m-!=c4DU5 z_3l$}2xQoy#gTM7Z#eP609(c`q4`fZr1iZ_kbY^xRpWgM-DWcHXjESM7RojH_H5Ix zb)EnTq5m4Ztr5g_|GobbvVi5clWuaDw)>CjG|1BSYlAVTSuh!T68*o%h~IX6s`c{) z(ll59=gF7Rd&?@LmCBp(D=8@SMwWKR<<1n!@{*0u^j953;{pnXiRff;lM|plBxyUB z0lwL=WINP31lmlj=qPE~S&PL0?G#zg6QJ~>vzflujTAx^C&;r6Kxv@_N2z{u<)p3A zKDT_;BxUkTGId`wPm`>!ZhITM+4$AU&m%7s%tmyQkMWCKU_|&}SC4o-6jqb^T=UdT z>#-xaERoiCnhQPj&GPd_jrxEJ>GZDI>(}CB^#B^S2K7uKLUE0Z0jue`FTjQ@F-{hNAC|;m9E_Cv3 z<4rZaZ~K*{VG9vGPQF5b)&M9lo)E&g4KN0`sh>&y?+uPQ!CG1aPc5S;8teh!NV@wT zk%%jMb}RniVO#ME_{r#jod0^6^jbBO9pBH}*F_oo`tWh_VUXr|#1zTE9+GQdeldW z`FBD}n9Gc{;38V>BM&AuK2-E^|AcM~z8 zC=~|n?d$QPm#0N97>-&xPud>t|M+hr2$enz(#V}}i}$NZeG_gZ;Cnon2rgvQB2$Eo z*W6J69y>aR(JyF_|tT#M9qQrk}E<+1N;A^zt1W@(}xt=Q0BdWFO`x|KAR>1G2JvLW9 zyg7sIM}4hMdWw>>aXON>yt?fztStWzfMVsl8yxK;kM6W~JFcIWN|`Ki6H{bMMbb5zoY z0g?XvZ?+RX5Lv^cp{dvT9Ul7Aq&v~uG+9Hi9dZ1oPmz${^eH+D?k5q+r|exRTTrz+ z?KRFYlf$b?A1RXqS1KpXxB@2NNTls&gLALxIZcO-mY{(UC#4kpw7bP0P$OZ~P#qjM1ESu$v8XXX8F zqonNYI^`d)taNn9{+-B;Assz)-o&561cUPTACSV_EMXb?GYhWc6Vi447UGE^{%-{L zfd;p(2?@!S;4~gZi*P!^dedOI)})2ex*77C4hu7?r#0xS6t|??;##fI9sm%GHe&T* zZZb;w8hnkug z0mxd)fg?b+3Vu=XNVV%6BcNclU!}C}%F()^_*bP*4%2SQZBnd{8;fj6)c3r}4S>lA z?v~cG>KUN;+|c0QkL(So<>(mzEMn9Jpi9F6R|%>8=@Qu3TFTh=&WrGpz*k>c1+v zP7LA;rXbT|n+Tw6rXzsAMdg^!L91GN(2gM+BnH*|Gs#BZva@Ud4%%m+{?p{PI=ngX zEJo1i*gpcY6&8~3xzSv3uZ?DWFGtl+(y^l*yVGZqBc2fXZ>mbhF{Hp%haS}8;824U z_z_TR{Q^jpP7-H<Ln=AQ`)j5Y-Q6=XWbIv8Gj3K$f! z>2RsCWFA4Lf3LD05JaivnwEQ~yJ?vM#7-{!SNhXf)1UgY@Ap5YKh4>I{&XF4^7H!B z)%X0I{&e1S!T%Hb(^&MU(U4fEKMkO@|4M&KsQdQ%)3<09UFc72fy9_Lrv9K3oC4%LoBguWTig7e5jPjF{gJ%pvZFU~(JTHBEVyh& z>SNJ1%CqgoO_CT{9o_G`nqse5(bT@*Lf4}o2YKUGng{aX8m z>#Cgx?9OD>ruS)gs=1c!Z(=M8Hfe!`3jPJkYZ}LumT*sKPZNR@H|MW}QFGB1gh1$h zirUoNRKa9Q#_p_5KQyB^1!^LnF$+$$w>bw2wwoev;!6MKsqnH)+Y9^jmR>63mg`4l zeE$mFfzai6k>89slpLGdUCNG*%eKlxU1T2W*T6FjSr0*u$$HZw!oL3SXX{!?`!YqcsHZHr^nj+R&R+-B1)wpo;yo>L-yig zVsmE9$3(@se)4} zsY&|VjL{Te#b9oF@c)S3`lnR?4D>H~Q8TsH=S;R;;ZT=4$7agzp3rR6r7qSTMbXLS z;w6%->9Te9r>H-23i>%8(C{v$>D~g+<#od2Vpokq4y`mE86Qso3+!DeB2DScy>xpD z>h4Rb4A%*K3sMh9-a|w;clh|cdBevs(QHr*uL}Rh^w-;bcq#u6n;JeA8le+;BlG-)qPY%- zn95-|ZCAg}h<5=E@~6$qp4{v7*x*G-MN|%Xg%)ilk(bq%O({*x#q2R((e1R{v9}g7 zbIlm1bK1>HrX_H?;}(j@T~eF+4su9ola8N35r0h|$=VZlL#tT#+RRq0nY(>4d!=M> zFban5>)P%isI%ZOk-r^F1~1L;Ux`!Y!9?&kWfBy{12i zfq-%HBrsV$P55-S@b${1h+g*cd^6p5E-3q8dO|{;0`ExiC>^H+PQwOX|R48&I!%lorM4O-&q8A z;8$e74EVD`q|%j#vxJ}qAZ|YQPlNa)YgTq|hS+)_2Bi8w^}>&BsadvF)I@$q%ZyNl32=pjiSA;wF6B)zskhGS%Z zNbBmyP-G2Nd`sl#Dpavps@308<9meiZhZeAd*=aORk8K`s6U5)~8`6x1k) zQ6i{`21T)81%x0-l_Usy5rlIz$72wC@AoR!YcD|#CpqG_x@7T zRVQlJ(_ct6oV`4Pq54!_3Y9iNiK8e%un{~$$~6qkKh*Uj-8#?;a7@$`y}BV}eD7_{ z01<@rY4|av!75VYU(`Tzs8${27^FYpqn%Nab77-^vXbU`Z63)?{<~ne_7WlcC}ICM zzKrl`<4m9Ch~g;PXUyI%bPyOJkFu&ez2iT_A7_WV_}(8b)f#WP=?@~N!adh<8q!>R zzoCYd|D@iThUCF0iSPYVGyT?5HPnqaxerX-B%()y~cD4HVuktwGqA^eq0h%iW&Ct6m&~=y(TNGXtG!4F%Xf&`x49ucb}Q|CMn~x_1*B?N{%`h=7K5Z7yiu0z zQp$2f;xF$g$}F(-BbQBy{N`>dZ_&w6`oR|7J{jrqW-(P{vU&vGVzz( zLjQy4gtQJ2>oeO z>*d-@X$JzkihjIZ>BTXcXb)n)p2^?RSExf(q<6oM7IO!_ubXYp(l|=@jv`AbW!M5O` z#Nr4(lH}rLQpz+4sO$P3rdo`3z}33d)rst^Eg#YlpFqy)9pb; zfp;QP3ar()(m^b7E(0w~RTN|;6Dmm#ZHMMtP?j8k%`BK#RBnr4DV=vnfyNPfw@P$x z@WG4)M2)5OoVsS@pXZ$FoX!o;J}Xf2+9`6Or6eO$LtDw`6rXDaBDK2aZp>Sk|C%|7 zC3HI}LICwA7N1YstVlF#91B8NoDJkqj%gQ*Ef&s#&x$3!;JG(WtOi|)VBGw2S`Bl1 z>%6Xa3WE={ng(g6UVA{xxbV9gaYZFoip52|#mV)3B9z1V^6sG;&gTfPiD`l*@)tti zo2t*6{Qm5;!HX`(v@3q92Fi5IXQhnJW==6yntpPk9@HbQ=yj^O3kuk9YZn8iB_ z2)h9q5RT$>d`YUS*GVH25%*J*2oZ>Do>{@(RYIxEU+NJt>%9S7w#?ksr{{icN2R?9 zH`t;X3rVrmxSyak>rQFUGx%X1WM}CG{Tv~kMMAqJd3n{oTf&m z_xWlgm3w!}urgFGKxDu@>TD3NoL=FjI=IZczw*eR96jg56TvH39khh@Y6=JNeeqK# zMDt!DCck}FeQtKPe0x3=xxzd4eqKKUL=u*}xIPj`f`{U#CTW1$#V>y9RQ-I*e)iQ* zi~Y_Z7y0|U{7<9I|8&>=!2Q?k-;H@>75=An;KHl-KmD9so&U*4X)47 zpYEfz-{pU5c2Oh$(>V3lc>iwHO8rk`?`3Wq`kw~yuqpr3l~8EtsxXhOdTFKK8ctYZJ}Q>jOT z`Ci<-iT%6x0OgPE-)&RfIynpxEh4Ry^_5Hg`tl6ynyU&0^B6*GX?+RCl zdffiqbL@Jp>HghfI{NGO@2-J%y^H7~ef+jI?JM8E8%Ql|xM2TolNGXwy@Re=`}=o4 zBcIv7+x7x!74`P-o=&hBY6|yXCW`LtJtMd$8Qgzn|L$6FP||S!ZVW&$+6Mb~{dn4F z|88SjY!)THvi-Xg0n!=wI8++$-)RoeoS(uu3`Q4Ufs|^vf9KsvzuEhDg4uhGr_zjo z6H;8s{@wU}v-a=ez>&RwH&yLs?cYsQIcxuJl*+5$zcUQh6#euIKy?uOE7`xh^q&B% zRnvI??#<6N32%5`{X&lo_V0usqt9^v?#anU2YbPKY=_ADhaesV-1G>IF?;{cK0it` zKs=5>yy$X3%bL3>M!ZI-u|5tk8`h7H?@DK@ipGRI|Ndt6SseN0nkPJ zcfo9xIZ(%62B_iw-9#oRd;hMNftG*IXF^`#Zl4;2gjx2vM~+Jiwhj0149lmgpN9K) zhM!CI#`f=`icH7+pA20;UJ4Ahe;3u|Xzh3DPjl3L{r$Tx>aVf>qyX8K z#6R6GI>M%KelKT|?8L*S^rsuNeilI=q5kykawh)MOIE2rIjuQ3e}HL9_|prrYavQG z;KStBXD}Glr@U$ULz3>SQ$@$(thm^e~Zj-oCUT9-w^D$_9?>5Njw1@4O2T%%q%3 z|AFnB6%zD}+Ht!Y(Peoh+}#$x)&QxW6iwN)_)jf!^wG-XT|AT__s+kjz$CSk^GiK4mCwLEp>+S z@ilU3ZQdq48d!?=H5P9!yW54zX2&8qe`CP1hgqF4HS}pJG12Lp>3#YEfb4C|cpQWm zMQ040`+9@Qj(&x$q8^fTE4)R_qW@2+FCbz0JVL|-%nuP2?=U21-0&VLD> zI^J7(nb%R}^FnwRcm*n-6qc8Gc`A1b%L}|5m1Wi2_%d<0eQsn#ESKs_^e(=ItZw5JKPZ9{rwANAWrfwRUu^p)Iq$X29k~L8!sJm>V#2>qPPyceYb+@tA#Rl#+YV zxmqdV3BkWpvfY+g{9{HSuhTpHo$5_TL}5(%%1OpJ0(c6+qNRt!@9^U}cp8lUrXMY$ zttmVMo*?1B0!UqxS_PGe*^FoG)63OZUVyiN&i)}FHDCLw$?)J)*2KjR z13Pv_kj?X{Nm)D!eb$x9&!~lh&Vj*K2&mXzDPF z7{V{o;21)Ch7izD@+oQr;};eAH2@!!1*Lx#Wt*Q^^$qF^@Cmf5Y{@f#NIv6N@l@b^ z&g+0>)qRu|3@iMu{5--|x4He(Rh~y^Z@hf%o=4~mxY_3s+EI4r5pHLe(rLyH>0ZQv zViY&;r)mvd$8?)KkHAsm3+MA08QGG*tmuVrcvj{9a`dI-*Nyn=mi1&GZCQF~=Ifs8 z0p_D<{nKNufNaTdjOuitkm2IF=^XvV47z-lsPMWbYnLjp-t*m9G=2 znk`>Psl0tCUo{}H;*)r~M)LI=_-42xxN`Zr0YDa~1#biSsz=`9tFz?mA`02^^%a$~ zpTU2gBzAooz%1Y$xH46pT8{Tn?`P9kR2(@cjzV23;Enl~#)TDep z8LZZmuLjSraI;XpURxpgs_B}(705+6ZQx8-?-C)PN%@-Z7>1Lt9r$Xc@^yvyW=6h7 z6W2(-8UXof%H-=#SJ8JUU$;;pl&>4A5Xsk}T7OycHHALP5N=pRx5(EQsa#*a+W199 zfqb>Hpj>nLdLabx`{ipfQFg06@AsmyleH^f7hX|czRsuYdr!GikKOHawU@aGn^M6uJKFaQ zP>{t5lk5(D@rW+2{FMRVeeU|#tY(AT=UyHKU_hAP&pt0) ze-R&8OvJyzE4R+p&rjy$Ylt zNqMMJW2Pxt^rLlf7oV}88elCJ|601I(tgIOKQ%SfrT$DTq`=I#@CGx(?B(btw=AT^ zX(pKPtNCFQo`_jnLt7yz<%qBYmr4WW=a?Aj2GOt|${Gf^WOts`zQDKX*ENkbMSXpc z^u>AMJ!&WN-mAM5?$DE8Zk{mJTX=8s44**@J7zDEOYjY2pd)S5CoTtyAYOr#a<7hn zmAb9@1o@a(_-FD@WKXBm{>6Ndt^tU^;n^*x_IbfIM~?=$&fR#mbxnFCHk<7pHC^pE z=T(4bSnK>kOUnEwJE8VPegB@m-zoe1;uBa5CtL$r+cubDGVJP5-SobS_-p0!$j;B( zQuC^X_)ofV@z;u`Vd-kW{p#W3nfb>Hu$sbG-_5bRLkHvX2&0QyUQNNRq>Gr1KIz=H ztBk*v5?cGFdZ;P-22)4J-;2i^V=2kXsFKMWzv?*b({Xn+6^H!~po;DhJsNxlaoC&- zWw^mTqKdz>p zdS+1*`TM=;I2F*+eB!4eTr|ATy|Mb5a4wZa*n?HxKYUO8m&&J6mfy@foRS=P{=1O= z)bz48ki3Ef-Fmh7I@SLGXz;|fCq%L=)x95wGfN45B}Odgv&CH>f(k?41XE8TbOUk+y{T()5`B2u^dk0_d9(=tMe{0{Or}Tj=J(ksVpGe;w z2Y=d9ZMv2G(h#lWmOk7>dK~q23-C=8!7Bd`sHgE3n)XJp!KfKHmdVtt_`lM1Y3c;5?AKyb4&*7w!p7Da=w~WhkcWRBII~SJWI@y9n`AorV`wnC0(Aca+gFn`iS!B z^k&2yi6JZKT`&i1eY?NoJuwRSVrR{Xesl|eSb)0s(nW4zTPCR7&j+)R-TE#`oysP` z?8*&wwl{I0(L(0_4xP6oO;rkbX;J~D%0HGWy2?T-E8Fx^_6EMue-l-wm-_CbqW2RE zMuY37=bbG^wTS~O-%~Y$w{{Vw;wKktqQk*hRKTes8`9V0trNQdE=@EQQ8roJE2<4A z5*d~x5pYfPHVAeIe{72Tbmdi(EXMg2j3Wif6S(HA7czcuS#o(Je{Qr7KrCGIdeZ#^ zZ*0o35cYRgcwLzhvKqDNY_vqY=;vNL9@X99_7}EA)S{VGwkIr$cfw(F?=TuDQ?v-4 z5iU@dZji^sTdd)aS_~o59Nwi*eJ;X~<`k=bS3hBYwI3Rme-@VIw`{E@lAnV*xJ~Xm zn%anffS{YZzk^#TU(_rRcoiNKN)XWp1DGpQh(7j{D!NpcyxC-`qPCq;<}Y>`WQRQ;snr7FNh4Rzzw{Kn+9wSRj{EJe*!HRKiPg~ z)TWR5z~tNuj03siu6Zak${!A4Im*u{>7~h>SbTT;zEk+Ue+l0@2QjM3$Hu> zZER;K^(h`jl(;hhNB-uti6qTaDY9Fd=2@3rE)GoO~%dv~@CWLf6*q4i$x zFIbaHGOu^3_j=u+W7q4(_1?Weuf$|a62|tI6+}< z!BxAv=ejI8b4)<|N*5X&6C(<-LEQ zns93IYXI)f-vk$No{MQ)_z7Wb!bdn*@EdOj3`ztv*SyfX38GZ)J^g4`S)${ecwm=a zYYEcLlAby=2L5g3k$@tTSV`-!z+2uD{-EnT>+k*U3fv9%K9z^AIK9d4{5!K1OU#fw zpC3U6-0jK?QEw}aP&mp`9kb)sQ`_azMI>4q&*%sv6L+@g23li?wIf)gp z2ZhZ3S=4xVs_t*Z^6B^N%&EFYnP9hMT16yw5^Pg-Q<7Y-iY@vNyi@2xHg>$bftFj@ z*AZ6yPA&RW;pPfXf{u>;%{0rz;t~mYNZo;|DB(~DGjP&o~^bPi6Q+p9$VE+iU z9WgY8-A{4b>Ihl^LRb4fty~Qf{cj=*V=k}VdL+Mw%ZxW2U0Lq0>qh_=Uv3>3W(}g~ zFXl`6HQ4^i)_J1%cy&IQI<~I<1#|Il*V?c5z62H)u7Ya~ElPoP%_8Vk1Cj~u6R9klYarWydiO6U;dlQ9atF0uxTC!&!59LBuEDr$uHe_8`I45 zV3N;1Mz>61v(ABO#o{=oltgqwSYCdF3)C8YjVZlK-{>``m^Ck-zdE7_eSoXr}+Tx#xr%F&h# zerrV->Fb~oRD#d(KzPsN!|_WEj2;w^FyzniU*a>yQJj9m=t(CH&D9;~3B~C*Gtb`y z&EfNaPX;_Ix6LUb8`6QVo&;Km2}w(d>;bKw_v~OQYmRKnvt4Gl(Hly-ixGK;{ad`C zJ~!%aJV426KZ(VAQP3)u&J$8{ETL;wM9s_3V;+E7kqknQNU@E7vj0N0fACR5^7T|B{ z=&V*8Aw8Ej%m7$3y22Qkzq~p{xe^Ctjfyo8O-@-7Ya0Co)kiv{OON_`HbU zW#K5`8Cl+%*?gfHe8V`QA&RMEE}yA|W^-&p;TL#uC10-Dz~qYyORT;UKn%TH{+6g# z0k(L^cu;mO1{w&u&J?Sz8BWDi2a+6B9}Vbi5&DiPus6mQtwK zu#WF#*0;7FZaH5B6Xu~<<=wgRduIDVe`U7hG>FS#CO>H9d4WZ8IgTG}kb9pJWfi_O zFUM|B88{s&^aPFYu;t|xoaf{MIDDV<(+tRRP&931bFLxBrVC0v7018VZLmxc=M@kA ziVgjq=s;QdCyu8HnIjGF?O7ivqx=&mexC7r+VHaOqsD^+$WT(<4#9e}{1aFatmJ)- zx^QK1M4u|guq2E7{J>kJ$xx}X8e1%`tZISJ{{a0AFTGK$l(Wez&JlA!({>43Lw~us z{7&GVx%}7_4c2}7VUXv~jLMF#Kj5J?2g-KC!Roa{E~M5V>5yLQ-<(UYB-LRqRRU=qqqL9&MK5Kz&U6SXz`S$0ZM zDahu%YUK@~lP1*P=K&ynXa{Jv9o?DODTcWP3PWbup9-U+CG&EBm9=%Wk)*d-rBRU0 zF$haId9<_Rbg@h-P42|AIG!v`O8lqYSo}ZN2J{L&wo>`uuIz10A!@ejuDZL!dLMXS zPpa=ZSlKAVwSC0+=&VtzR2Ldvc&Izvr>qO{*(Q&hOdf z)$kl=%RR^PDVMIt-`9ksidrA1G9ICqt^5Eign8m{;~0LFr4G%*j6bh!r&*%g)Uk6h zFlmb@D?TFmw0uIAJ+8~FszrfXp$#zWQT`Vaf;OQ|AckJb(k7mE+C-am#Je@G-j6Rd z)+Uq}t$0RDX16%KGfgwSmHV)j@hQh>WAOpt3_)CNu{WQ4^S^a$yNt)hGxDO3oF11^ z#7cAwBz|4cT&I9ic6AC0c1~+e=E-B2ynH4pE(!;TPS)Nod_~kK3G7+w6JB<5tTkI_ zzK7(VHdhJw z&LaHI-@wFfx197bz*oDgKCdad`6V~LgHC6B$|7HeV#d;4iDKp~k65*nQQ3-_VLb68 z2%y7^Vz#U@TQO6jvk2b;Y$311b1P-3Q@I!cwYdYez(etjAKHgR;SXhufu8H_bgr=? zyF`Y1G8d<+oyXL9q$%2cELjnTQzf5s&e4ReW%>MFFB+}MpY@0^TG(Nh$U= z0m#2oJ`a|@^n2y=>!VjLpC9L4L-~9U$jg?`LR9)q9)|Myc?53JZmQRbm}M! zY2BB@E!!JOR;G&k2~(RwIj>1o>C$T~0Sub+RN=LX6zcL#Wl>4$QpdT`3;)i$ved!i z+_5R2F*{j#eM`F_GG5b+b+LPMw3pR8vt@|Y%)97gb6w1;`&%HN5Q6r-X`m_g4msUk z(5nl@M#B=JesJ->~HcymZyPM|wE+S;?LpcL{eQk1}@KQamcV36v z($tB|Sx%_o>(YrMHwXQUr{3ZK|`Rf}fheE*5RCXvyRXehLuJXi^)LCq2EIn@& zm%5UzCWN_?h`=%+H6(LubZ#&R*!&P{Ea+%xQePCsk3<3+RhsK8+&Gk zzO{zl^W+2{9BRad`WA<$sG`o!h@A6l>Nve)YmrK?-7b;DP)UO|+t*XLp8 zS?l$BTK)s;^-DgB*6X~=KeS$_sf{&UuYb4x>aEuw3FK&My?&_YO|MrM0l&KSIv+j9 zt=Gduw7Gj_i1x-g5bZU6)^xodZ=n47_1f`It=Dci_p{dPR>bqxTdxbxY+}9k($EL& zof-Puvl;r0C;Zvj_M5M}FiYotfkdaXO; z53Sb&04Q3oTO!;4fP7s}*K4|7UsTJuLSUb)77olR)fR!%H~l{ z`m(|d(VqG=MC%cbv}W@4j==)u&#%{Re`>u>?NM*N4jI{Cy|z1}iS-KPIq9$W%?$mz zSqyz~??1aKp?uxe`m48IuPxVzQKTE_!{_UH)9ZEA8m-sC1H<*oq0gN3 zIbAYDyB(IG*BKRl&DQJEfdb{vuUFB+AJ>N$b*r~tpG2bEz)CeA=}<2L6Lc?@5~W%&>Ih&HjFUBz~O3H(P}cg|g#b?n#K zj}3#8uciOubTyq6KQ*YUe2aLhai?Pnw@n;G%x;%YV~K6eJB-(>%jdE9K@_})=taJ6 z!8?KnWaPsjsDHKrY9W?FPUPXO*sYQy**0E-9lF3N%_UA_15a{z1rx@G^Eb)`xv)R< zc#>I|5um35XfVJAJN$Q3+dPw>$$n$YM>}i@(la#f0)M0S@5b^)bA<2hx=M)TdcF~s+aZFJk?LCjU;Dw@M0-D zqGn$IO$2zi>kw^kO!z{3!(4(h$2;~>xuY8Tl6Tg~wBfxQKX6YU%J5?GO=LBv3jKcC z)%e`o6)%t&ux^A>LYwr3Kv4YD!OZBOsg3t;aYo{EQ+A=_M0BVXSGT7Qd885Z7~t? ztRq0c({8-!u~evgkLZ9_rK#aKqN6+(S@6Sq)ZD&x@xaRyX-IYVQ4?WzF{EMY*j z+iBLRZ0&aw#82ZAgDy6@N44_L5T0#)mcs7S57R*14DtWpXyQnsh`ghh0s$0W=oYz? zAL&O`@rsCk&;My6{a3Z+MqoE+U)ECw-x|7i66@kb9-sfyBq~?7n*7sx+OaM?;bbzS zzGk@c7qH%3WU(u2D;^ASAczmCyE}E=n}6~q>c9B7=pwaLhdWP46Uv<2L*93gY`%NrR8Qbo&DjTMmTUP; z|4o!2ozr+;zu=w89)S?XTz~HUjLsbFY-R=HY2PNjQ4vI7&~Tp=J3e0DLkW6$`xK^e z^73^`=FI|e{9Gu)Xyx{}X9oZoFq*4hs0}#24jMYTsmeS z@1?u4F2iZ}41P6?Kio!rrE&+JD5ZPMsY<8s1eQ)2S5IO&Nc%Yy^R z#i!X(({7qkZ~k%6xndq97v~+q=Tc}$k+sCTPp`B~6Vf9CV5Reaj$NhY9{^>E{_iJX;^?)m`QIC#NX&X`JO+_;jehc(L#f?TnBtC znE)hKYw?WZU2oOTOW%dX>(<4@3<@I7kLkgJK3%`+^c5b}-PBMiIJkF4DNqn^wo*_< z*_47S84Fx<3+g(h;AGyoK8a0F42K+KnvGDWL{Vh$ALw%<>z(lL+F>|5rR<#p)IGhx zgdHg{dF}4I%_wUz$ki!pfqV$*c|BoJ^zJHz>lNno+#aI0!u{_vLi3)dVtOQ6R3l{X zU27b=rf5H^dbb^@5zQeQZx#bsAvKP9PM;XAN`dIv2hT?3FiG1nJxFf(CI=bsGmAjSU zE5Dz0P9k}N3ZFBq@z;_dr)P#N06#ia6 zvL1YjEvuJ?eeZt&-%VZD7=Itb3RXM6zu6*Pqxs#tK75k}U-mVHb+-cFZ~Lz?eCr_+ zRtw*0YYyM#L?&g?-$21PU<=ko5a}`fX5c%m5qt!7bUKp7j}u#w9u49;#szU598;ye z%-Q+5mE)qg4$i{y)t*_=AQfRW$gzA83;Bl5+|R8n4!@J1L*4*#QOsS@OPiOKr?95* zNd)UYiu<^Mcf>z-&0mhE4-Z8u_f6J@+tX;5%yWD&D^BDeVg324e^uSf(uZc(Hrkte zS`=T_C77|gNkPB)I}n=lKaCH3K&!`x*Dk=vJZOCl@bQG|NBC$I3-qcu)B(7Cjf^t* z*tG0_9v`+rvO4-$h%sUG@%S-ogpX;eAK~L%blQ4*L7R%>wBN50KGq@p=zp3%+N}wF z%-=b{$DK#75k9U_{Rkh22_M<9Cp+8*KDH$ReKviVw}tqyu@knZ5Xu53$_ zXxp*)74VM|Zmzkw#C!wQb138Ul^;TyY3zzQ;n^M8Ae9#X)x(`(bp9$-u?P58x=8l( z^btE^`rts80x&@{b`Jij^n*L`)IuR^imv5p@l(>7ywiA>-GbuFa=Wwz#+t&1uA&XB z{r%Z)Oh3x^fj;&`XlPX3@06<+-Yx)wa@C^lhNZ0>=3WOlb`jIKHrhVz-Hb-vF{}6jri4=zoZiz_eRdU7;%++CrHy#C`tfCH zmm@KlAEP4KLSi+u+*?>}`-R|H8&sCVYVz!L@WeEg!bf&8NEt@w9A9n~i+`jCV1E(< zCUh{2p?%vAOManAJ&Z_v{0`L@+T#W(II1{dVR!!=&kUgX+jUX4t(F+4IXV1rM>4>e zzc0Op*G1jMz`YJkMnlVg;(7+*^E(AZ&G`VHu+x&%@zA=l#>b`YPdpTR;(RAhR31f{ zpo(bM}Sw}PUJ@Svra zhH&}>TregXV9ZGJZKEsANUWNm8vyavNiPp8%dn3nXye|Y#I5O;9>;nutg z;DQ1=^2YDv+RvPqJsk0%O%^$x?xnkohiW3FGB%OQQrq3QgZKdFRbJ`IN%HuAS6RY|$>6+7<;&U%6v2C?*NO%+TY>I;@5=_FJO7$cUJ5)k>FdF4 zr^U566u2@ALwC^B46@BeZpu%YIsYLft#Thv&d*RkvhyGB2@2cCBSjI!?aqHZ6d1o^ zrLlxES8D;E)t%|PnnLIw>IWMO{6TT~xf@>AwS}I|n@z(j{2IPviGdG)^T2}NLG4xG z25_fEv`LqBjMp)n;25$4%N${H^+v}t9Dv$-Gdqe+IXlQZ?_e#|aGMS{OvYX(4-%}7 z^C9vhL{5dR0+6Qgq2EG?57(E?MS3#x!g^W2W|&s%2^zErT1!Y(*!29+@H@}@27fw>AaR&ORrUQCph-*ujJr*5KAO!+3xlWxGfhUZm!fxPVVDneBH?>r0*w7oFNy%~0G zpjxeep7cugrI?WiCkVTR3sP>j22l)WD}O%tb+c6spXR*EG3pVaZR@?^dD82s?X|ue zYJWt_E80I*cGBDn4<${X5;?BX8L3SfN%k4$bwmO>!+fpgn={O@_<8orayh<$;~u&j z?naUujN}Gtgd=JB0tGjcbPv(pp{Q7^I48vpKu+z;>Y=8nExX3v*xfU9SA0sb`B_#? zck4?YHF1u49*{(IcPZEk&Pn~I-m=e0jW-+&;~aC_fImm)n9EXo)C)=}Q~uDB)OH&Q z5nWD2!}^-m6lYMtXhRLl@nhnVoQCx&d?_(Y9#)b(Q9V?aCBZ9?sOPMU&P4yr#0F=g z<#LbCM1QP;yaHa|qL79c@GR1sN_bp%j~jX1lj0L16_o1%ba47C z-qtQ~b8;zk;C;e5SKM-^Axi=~JNN0WL4*Jw6sx8^V_cTlLibo1JYHJRI| z!PVz8X)xGg$l5EuYdruZXe`|4C0;Y;F3j#Uih7N^-3(wX3(Z@$c7}6KJWFTr_C6@H7$$B+M?`6L zgrI#j^}4Vn7)#u5 zZ7FwwrN%-$cT`L79B5KJ{x>jD#%5pV;?z23HWeo^RZnTtEtFo#M2Z zXyZ9LRHUJFKUeDe)Ot#U*j%05M|EcxlQiTO6_Otqt7ySQ7^_I}kabCl)Vub}%;b&M zj$Jr>U4CHa-o=<=i3$M8p1g3nEpzQ+ZG$Clw;6*Ba4E~)9VKMgUCjn(muF&A*pLLy z<2by0z%#|EEs4TV-T_iu;eCVvIx6Q9d21Ug^J73e+P-%alOH67iC?6#TT(~wLRb@{ zPF!v4r{TvxGSZ&OUu~!ER83QG^OG_jRZa2EWTN?H*C8Lzm_z$^EU55$GJ%1gAuEpc z-?om(6ZWb1;>EC@C8(T%{v^IQ4TSoK+cQmy=A$i;*{x1y;C*MuX4WfC<0oa2^n-J) z#5l#(sblU)&Ykekcn1=HVJrDro{Jp7ez-Sm#$x;z5WEs3zAD^Lp3|q{-P03!F48Ya zzAfmthBJhOAJ2pBrmuubeO)#h@csGwy8KiLU9IldQYE9GKxf`G-uwITPJBO#FaEYG zxDEK|7#44aEtQC=)fDzOtbXndL5_p7_@?yOnB+G$4%oZ7fAmk{_maz<)!&XLxfloe zA5>ljQVm}6KdAhZ2@ow_TL;Z}X6xXlu$~O;Jnzdwd!Fb2)6JjSU&u3my!#$1bo^m9 z4-HNJT-gMnJ)>9&;~%$2?`4`r@4bydudFoP84r9+ppSQkpK(n?POV5H{j&(9rfAR0 znDfIKnQCE$DBf4A=uBWC8}+lWWG$gs;z@w@ALpN`jfwR#TRY3V9WOGA+1r}GPK2aL zYnI`HCE|j*zsznCNx`4`x8kaKR%M>}>$=HxjJvoQi6vzu`B(E#Q}TbRn3gwn2Z(2Y zSe#3ox=4+~`HIuB_KRm|yyCryoxl)?wFwxyPcQ+S2yKj~uv4K3XP$S~18$XX0_F^q zPVc0D15uq8OZLE3Y138|aZmm$P>1w|^oI0b%U+J~`2lb_e&u~%5Hu2w$58klD0Jfy z9rt7LYpP}~&&*HyavKjf!Nsb3(TB!U%589o?i9+B3v3K`vZ)Vo<@vjcMgzUAE?us5 zBvp@j2lkCA7N-T8aRz@oDo=IuZw!L@2VU=RAhl3fYo}gjK%8Zt#N;ev_^~(w7e4o? z4B3)K3B>-BCAuV$o;xb7k~sB|RX@PoVSmeW@((TrIPkXC&k zbL21}N7c3?dH|dw)#Die&J7&$o}>b9WZ77 zCeU+D;a=y9CiAZvZ4_(@??}d%o+K*S&`7R___EUy{P&j`KGS>fx>jTJcL!M(AJQ2} ze2*@`cP(2@_(dH5Sc2EU+h}{}XS&S>?RhEs5K&KZ^~K+ocjWuO3E33tRA>z%qea!} z9iz|mziG5Mt@i!V0K>|>8Y5Y;B5&U7R_3QbRF?cM{bp1%Yi$ZA`}3V#{g0R85R!(J9#0h(`qGPS zp?jNb$Jh^{cEo=z|Cce8HL{&s(rC8r{41npwzJEvlAZqxi;(FYG)e#zzI3j$YzB@5 zXHU=w4_jVN!C5vJARPLnV;n?Wh21PW-KLWPwPiqFw{2yktqp(8EFg*O<`b`v?B+Xc zcz-s($k=b0!Qbnzsn{bBOHKG|PT-vh>%|ahAaB+IdD;FNqx%j#be2_3(YF_YvX#4_;`D;c{+Z%ZeYo~#~ zX06+!&#>r1J!&=f=rTN@YhaIFBTj~#hm)bKj?Lr^`+fH4TN^g8M_UQftUF*=Wsg>N z_>=bN?eH!58gv(nH)W4@6?Bn3TD6-S^6Ko-o~q~U(R;KuFbEsiqesxM`uwZy(b?@Y zYPs2?vAE80!LkEm^tN3?P~*o*UZ!%r4MgOHyW(YmkiB(i!Nhszj4|3F%NSkJQA`12 zG;d|b=u9+p8Kby4n$XNkWsu1jy{3UN`T*5UrYeKw?J5Mu=mfB9>v{?g-MYpe-HL&P zGnr+NZp3J8-*v0zf6yLXBz&w@dvp^cI(G&!%N|_@zk(+Im_7P7(-hjHbJy1j+Ka%P zSidTF?9ufu zfZ^Sr|JU227r_}Kd$c9WLArS-7;%<8+PU4T?a@}eZ)}f#(H`8ci9Pxj@=+^%jqTBC zyU<^jJ$jAG%Rnmnne?q{l^fWjl{~Yh(7+x&#XZmSZ^JYRzAw@D4eimrdAKTj^l#Do z`u6C#pjZ0f%Ir~*M0$h>q^5`i=Q&>O-`0*jdfB;Ves~x0_b;|bH<%>8<>df*`VDcp zhW02f-fVlc0F5!UN8e$$k%`IkHpT$s`GJCWqDt%;+cB2s5qg#e! z*qMhJdvqb7WZ9$VQ7ldiG-r=)P35VzHvh&Tn1A5)YPp4C<@V^YXsv(H9=-K`BM8}} zW7u+Dy*)aZzShJZZPkYL(!d^V#xtAN_8EKh>z$|<+M^$e-_|(}##U%N`x9??Zd^WEGmUM-QXX z;>0S10sZEj~)gSmHZ9u(Zi#fS!+{sv0r45PO~aDjvbq}M<2SyHJY(UU*emL zJ*rZ1+FDp7dsIqN`fDCC@Hg0}WTAWKZPJuInzxH2(OR}g*JBTq>0I1je+rARY_!w% z?|uLo+N0~~olW%8on?M7P%Z=V9^f8~wPTMS1|*R^`rO6;8|=}KTL)sP z343%N?@U-P&e)@sQc7k<b8wKG>wb@g>lecG+S%*i_Jp=~&Q;8n^$H}qKzDyPFPjqFd&)tD#l-XaX zrqmP5O^KNw`HA1jkHf^whwzG>s;d-iqd+(5w*^xhRyy`Oh*^6wZvbNapOen8ZHOM~ij?`WR* zYzAZppjrIcD+Pan{FuE=WSal$$@)|H>mbLGt~e>fky_5C;5gD_1(F~A_FujH5Y8k& z#zJ|cxaVT+$d40%GLj$33)Zsym@mEh_xdw$-zp>@T#y<6vuzz*$h(H};~0>aEkA^) z^m#mtaC`%Ac9PRA_D4=|uf0JgVHy)@R%x8Oe{mquFYX_(Fahs~%S-KXR$< z-8}iPk{`rNq{7(6?O{+%oqq!b6k{>5+w z9D{lK=jF${TZCjB$d8Tph4YcOL#z0bN{Hm{^?tAXc;!1`XI1%-{*?UK6_Ed0`LXQg zHIN^-<%gJSLVhe^FQK;o8p@A8v=qsYH={3|{FshZkp0w9e(V%=AIgtSdD5i(n7Z{} zAU`I5BNEB4K2CoMXY_L%>DXg49I54G3Qm5E*;?{rETpwM`$IT`^71iOy^h>jv3BIg zM?ezEkJ5?%8|23T3}DCU8_SQwc-K&VoC)%><%bZJzKVyT{P<`TDEoCq*lPXw<^L=Z zT3dc|jQ$kHFdk$r-a#>vAL-t_Giz}^{1f>xOg*kleoUpd*LVD1B|qBzQTeeC1C1gC z15f%Y?T>dhZ6rVD>ro^5ahsyu0)O(#?T>xFYD#`=f$@-Sf2^b9@5cKRyJKNPcX1 z&i@Aau@lp_GWoFq?;6UF_ds5@{1Bqj8}1FZEHa>`=!-K!*^D2>YU{CKcT ze+n01cWAZ-QHpWR4)O#Uf1cHy1GfEFK1f18XZ zbJc65$zM1NL#)42rwnLzX~{bCS1gLoGv$Ay$ebVv@Bx`L2<)FX6GV0~Mr_Ie3Zz4* zf6w>aSo{c8vO6-qlr8_1R%LRw%Q*9cVo`BO-KmF`gJwf^$aS!H%8M4fiZ4eFv#A`>Nho>bJe^XPbq;h4dF|?g-49rN3HiIeaYa`T72gP__T5h)kv0DfmG~~C>t?F^z3QIj>Yl4UUZ$>FiuY1|Mhn=9ufy9j zZh;>Xs`TMcc!g4#%QIf| zp%kR(K1|t1Y`e71g+plDMe$#3yTm@?kIWw1pU5(Mv}Y1-yEM!%aE!jyzKf}L;l4{2 zkF#BudsIuiE)2*{c#`#^sa=fUi-K>pw=XxTWW^Mcjco?nwvla=2!e^Y;>Wv1g={?(^$NxvuSyQyb0LbT*ulcm0 zHPnMjPf{t&E3uz8_x7S@x>NXlT{`Gz75g@Q1i&iornwQk!M@FKL$30W-=pzajabc14AKxKe+F*rwxppXFD+&|E4p$6Mm}KRZ@ox1!8@+f5RC8TKPxV%CkIAZz^Qi zM_;L1kQL{>UnWkO;r+s!;?t+060G%jfbZTDk>%e~Y(&@r^;#PGoNgHnz2$cloQD1x zOu0{b3Q(`kp3lf%}sJyrcj_H$le@oOLow#k-nwx9Dj z?;6@u6G2|KJtah?@8zM1Jy5on7V+>eMQmvL4dT-ec~@v{+5aH@DV%VGo2@M*1e>p~=S#e8dFY;O&6CnDb7Gf#L$jn7-%CKIiq0i2rj!#q zY`=fzO<@&==SeT4e#$a11xZnKok-yos4T)qI9LgQ9AMB8=UO!N+v+)$d-B`rjx5XZ zZ|ngVX}e8+j){^yoDu22iMr9ERkX=3S}5?QU1$Som`7<>;BI(IIhSX}GtX(qzv*@0 z&2|`cK0h=hfZXmEz$oeRwgRQ|7rrG;d270^$2$YWbLdt_*GL`QQikn!zx)boq!F`P zXd;$)MFU~LQ%i$pbOpR z5r5q%IJXT05MjmdgikZya}z%1qe3lDjN)EVm$tYHa0d9FkMDiPW|+yms>2ZjMn(|0CGaRxX?)JjTM8 zTL&VqL1yy<_!51gbD7Jk4ynyx$!opnR6gEKD+!)Sq-dj9dM1aZ6O0^Ie*-DIt|{97;68kFfMwT*HPu? zU6~fPs@K93u7wBrQ(u2QXN6|mF|XfPURv4DDy%QA{OQ3xIpg1u+dk4?4>cHD_GQ*h ze?3jqoGLns9!-Be(#n~zp{1a5W%}!msw@3d+AUG+mgx$IXlzrX`)m|8 zkbu;#XUf5ud%p%Yw%|pAT+iU)#<-@=AcYB2idcURN(%jU&S=$ z`pYdcn00aps2UHdToS|LBtj=jH`aKfUZoAu>@4C65ycF#SsRt#a9CuTIS@4L8559> zo+q&_TLwFVpi5ImtuN5EqgKRRnnD@JMt5Hd@*boR@(IrW>(OTpzb4NvWE>V;79?&= z=uooXfq$lYLnQ~%=YMkJuU!r#>DP7vWi>^QvzaZP{P;)U^8zMF`3IJHPhctd4?siA zw#MPz$peAv%jW5{7-m;I^9!0NPOCNl4LZ`4PSkf#(oFHpNf{(R!P|P-dQL2!8PB|) z&g%@N`6~d^+p^Nl++dR6kA){@yHd- zIQGYLh5A!?UpJ@G_SgrkJOK&wuw?}Wr_m0AllMt?z$v;q`$Gt2X0|&Pk}UXeZP_0? z0cB)=bm_OY?T_!7hu<4d*84j#4_OM^G_pVT<6T4hqczCOwm*!HkC2-gol{qfe{l>b zTl_)O_Q$geY(_q0i-y@+aiE*6t0;!EmA^uJLuP+GfqWnyU0| zOg`4Y0~TGe(l{b{XK5wb_D8-Rq&jT!gZ>oV`K|sOhi~UAZ#u*ss3Y;4BbA;cGwXAe zgQVF;AS?MS;&Ae>E4XKbhQc$icKGpRguaCTHvFw8gfSs51S|DaY3ZXN*4Cp^)QfHL zA6ouEr3t__Ctp*6w=WzBtEI8B^DAG}PUDmGpzUc#9k-$5#_o+zsEEUH{1T1MopN<{ z&E!}3x~yyN$uCPiz-xTB0UmMT(#d1F7-h;?Xy3|Zy0|W8a=K^Nv3aqYi}Hvo*X3O+L1hbi5CCT>Bn5F|M<{2axkAbL-t-IsLrAfTW^KFtd>3ocf#b?^n=^8e$ zC7;1l7o1oof5}8ZhY<$EPfxKzHk15Rm|d9j*143~$tY66j5Mx}&P9MTF$ zhf2G@=GhSGeg3sW;sn|PiTFR6ZR@Z!=~rH?gfb}P&DtPrR=lD^e%j)Ko~rIBOSWj^ zO=AwqQY{n{j^15afbLtv$U>#Njv-mSiTJ!#uc0c~*D5UVa(ajv7-nT0cLIAdwNVV? zXH%sy^>*cH@IgZ|>0qyNpM61tyvJxXRrok1(+^_tsbGsW=~wet`nVC(NP0B6c|F3~ z$?xKsNi7U0bNXFW4NVY73LhBCUG`k<$2nzySn~MCh?IuIJfCODw|m%yX>D=BdSAb- z1JNuw?f-E+r?Hm8u>cyCb@g?4Bq6v5NSve}oFuTD67M62YwrY}bT7eMQ#2b7n~waX z=!8o?!u=EJ3)PE}zt=eZLVCbhm6y7*W_Byq16+gGjLwp zpFbQ^KZ(&gQj1kT2BgI^&*np${R~9=@HN;KQ2W!GWq)bGGk+Uvwp)&y3w6m{>{kY! z)_sdp!sJnEPmK)xMkKN1n-HAQhW}4%0OEl)1uRUrqNaN0OnzF)xqI?TNdS`VpN?3V z-;2p|^y)VIjheN7M9so&jcH~n!0|hZwj=x7t7EvD^okp#-#at<7*sJgfD$)=F*pFd z;)P7~2vcLVUKV)W>cHcZj&2%=rQ8?ii7g@NWAW?3KB<8vq#78Gp}U-5gRIobTUABp zFuyuT9HAixR?N0$$lPC_P|&3R2NY!HXP#-ppL;jr5%6oRFwdK+!tSCh#yeSseJEIN z96wMf-LM){TVDwfz6(uWR|na5=(-j$X!*@?Gw>&960df@7a)Ue;8 zyxphJzkd?{MC-G7=37F!8*?Tw@Fb0Q`rTlXu_mve9sfrD!JY~vgp(Kk>&%=t&1Yz1 z_!ZbGL;2}YgHS_-0C`NvyyP=}H@yKFWB8)(hT1!Lm)_h>`Q%c^KaO~VSszPZ-m6ab z`<+2&tw2ftL-h1L?;O>6Ga(33+tV~#Jo6pBCHc7Zu(@D54B8gs+5pN7b);u$NO_cC z9EP>oe<(Z;_R5Vd;$&I4a2k2hMso)bbMJK8@9YA>Go8Lc>uFm{N|f&U#% z7SFs-PzVwJG8^zclfOWi3r4SZjiNT2lKtyga^Y0?;LTZZI)%?{?;iJyKGNFsY_!`^GzURwAaMDcs= zrJXSNS7tA5z`KU_(g7eZ+g`G@IGBf_z4YxNplrr#P1{RXJ|ncYe6X$l6fWrGW@`|| zaJKRv-kEnU{*7gdy>y^@T$#O;ptje#7XWWg6OyH$2)X+kPWP5 zF@I*fy9uvjN6wGkJPQKVu2bwW-85FR6HUjCe7>xv+d4tI-}9apq&4~PI=nm%91aEY z6!$UPo~XDctc*gyED16tH?~2vKUBLNz*!{MU8p@?n^yx`F0owZe0+TKhKbDUXErDJ z?y%-dC*DId&4{&8hh&)M%1GT)$t`L#NgiO=AGuS=-x1KUEouy@BIJrleIc(>RhPzlxw_3ZZ z0%lrUhG-HsT6o}=RWTz+?~soJ>JE{Fw_2P&wWT5xh{i(T=(^%9V+r;TkN{``US9Z- zPgkM7qCD8~3k=qu*L9biEBGxdMDaj<-O43vU6)*~NxN7REZG(GVZ4#Mcdlk8!>MVR z2Pv=)=I!Cu!D%~Yt%FzePU~RCJP64<7q)-mX+bznH{KlR+=lBWH$XQ`s6BO7J=3a{%&hz%rTFdlDrm7k8vv{6hO^*{IFP(l3}a{$7x$key#=P)%B^cF^rz^Knfq|IGcKgY{Z- zN}GNPhA1;=qwUC&C0br@PSO zA^JN+*(jChPw^pHJCWW$iTMh*u!gjtTh zbC#;9uL|^438|_3sMOp_)a1Yko_xr{+h5<%dj5$)yr9J<~$C9l8l3(gp8tbU9h8sV+Gs<+4$`M-jb7Z;8PmcX~4-n zZKh@MfladaG=SQas>=f4slJ(N#7TijxfBWncQ32!Zx8cu`!^@UBtlG1*jNyl&*b9i zfzRZ6b(kpJkTsQcUr~te2!mK!%2{4OT}3X5PnHB}p--d*mximgMyQ0gFIyF*g>FV# z=)52;G(nawEp!Q%h8!sMcd!%@jT-F+8wce!SXd~kEgk@S%LW2i!7I;HdfgbB)d3fY z-nk-<`YmoLAz)COC+#rfsFJVTkj<{(EV1W=0^hwt$d!^Mjoty&gh{$CYY7u*wMZ0_ zpGAypr>w~A zW9~2Us!6Ys#l<$AyG!wa@CYHY{z{hekbEDl@RA~+f17Lq%8*W729R`VXH=$Qzo0R7U*NZ*R)jzN z1j4VY7Ymv!u%7?JAT)l5|L@)o2R99{qwh=H_jwMcmxD@q4xYa=QxQDYPe;|u^X>@h zbyU4Pf8R_!Z(~*tOUXYHJ4*g65qbJzh#dNhb%p*;nkPTa3jaP^AI2X31w@QZ`L4wq zVu?jG=*#7nb>9{nbJM?f?QF@(L~k?NvH1wB@WUYoS>d&3(PMEMf<>`|9Ujc{3_S)u zz;>!x{DdkMi+@p-Tkm#MxJ_b&sCWYZ$ZyFdyDZhZ&ocf!V>Vgyc->nOZ46JSP)oVPLFdoB@7{XFv-0MSvG#v+UuChfTs8wq=waR$z$d1s>m}}oY3dRMq_?H5ze!~< zA^72f>rLMdYL3PCgPhHf-W7)FcjljnUbqH(`cgpfFK~3NQQQ!MWTWso{FX&ujripA zV!~+1&Am|_q)Z`1yg~dbO-&#mE4s9yMCr<>P*<+|p2?A|kQK^4bBG-O$G;)WJZ{@i#Bd)oQv3L)tyex@x#MA?EpxX>Ue%a*Gd-W*l z#Nrlzqg^ZY(cIUSW~@`_=D~;61iWPW&QJjqRM1urq`p8#x5E<+hsJ~&ikOXLL zA3~&%N9}0-`te{rO>alrb+aORs<#CP5Z^yULl$PYDW9>kF1>58w2df*j-taX-8qt9 z0l=2-yq|Y4Zf>xSe(P%9^(dFS6!X80xYE%0x)W!)_U$qPtPlV47*-Ai>UHuoP6pD*yP;hDdg;|Io(O>2{k zJC8R;G`=#)i=WPfP#~&E3YKNaN+3zOW1ZXxU&>k{#sPX62hi=ArOCksrKw`v_r+{L zrmSwHQdCVu>VLU7fZ4c)8nR=nf(<^8jKMb|9L&4ZeihF@lw;5je66Y*n%iJ zY9Hjzb>Pq?m`pxxQ@6r@nZKc&B>(#ZT0QwUZf=Wc_nj1OGyQLB!MsCf!jJt=Y&kH$ z>6ziQo97&PP5vu@@jH{HPV#do6p`*pCHVaUZL)7o|Ne9%N51#2r#Z#5yk;v%JqG2+&zxt_g`XjQxhU4!{Uu4!VB`)}Hsw{`BlzYDxZn#W@Ab$({ndu^o_@q5iC3GXwvCUC<=3FtNF*hOD~c)kxZVQf$Y^yI>qp{W zBGqTT!va{^HDod77Sj&j9J+6;k`Lf%y(lH5ORT!!hmaJwn&NL1$ieS_#$OjVn0wd# zhQA#P0zw6ehMnnW1em<$wQOPmlm25)xI^ z3E=7FA}P_0zll;ErV1AjnkGb@fcAJFi}w{vqp1otbrwza zO#YC*kV0*Rz~2h+85In1`rK%l><@?;w&s5&o(<3cju=Rd?KG0p^G(m>*VF6x#&!a~&5M+j)#p|6#({wts)Xy`rN0?s-N`H*VuRW&7Yz3O&Xx2gti*JmGjG zNT2jF2EMv@C`~Jz;MqM{`gu>SE&u+FKoa@)ckLRvK<@xUa(bG3vlYsNc8DY`TGj2~ z_@lg^u|#tTywtvSO)@vhtS`~h$^^D(W8s&){k{JE?k|g7q0coD548*L8v6HrkVCV&K0R_%89XnR+QZVxLGs_25=2Z3{T3%5w zVq`)8(PvZ*FCS4^k>hH#+qIx=MM1l^=L{@3W5}5D5xWLe%g6Q~P&sT|!N?Ki(Kk5< z_a9g=p#QL81%rn5Kck{x(8$pR-NzkTHDW;JkdY%YeGDxhclOB91EcTi^_A0iz_`l6 zBS-YzyKkqyd*vK3VBDaffr7Tj74)wxXglh_oW6aBjqE?Le01NwIqnBf1`QcjPI=_$ zA!iI3L3vdF0Ym$rp+}?ok7h*nsB$pnimKCxj~rM<^@{TTqX!J8u>t)BVnxn~^74Td z1^q`vu;m26Rul}cs;DeDy}Y2Ja`cc9XH?|$98yuikAli^qsl`x^5KvXmE~uYk1iNe zQ82pvtg0cS%LnG1Q9h!4bpJ}w(SO+J^8N$I6_k%HA5c}v=Q+W=3>iLZBPz;ASLO^HQZb?r7?5NT8zUW&uY9Lt1 zVfLytqRE!CKR#Wb0?}Dj<$Z?@VOXbE4H?FiR^$W(Jh}>W z4Hsg=H*_&@q^&bB(Z6!Q;QGYAM?@!lqq(QPk-*471(k!#3$kCIRn>o3Q00sveFu%E zcFv*tx1dpF-UG@A5gR|p4JjWsaM0+H!&MkCa-iS~RzqKYo?YI5s75n#&>+SK02P{; z0mDXCWKl@@SYAZ*qMrkY49I-ax9=EcXXI$Hf~Xy>;=Th%4p8Nh1Nhz^XbA3?S_m2n zU!E~+c5I|FQQj@KIIQ{`fgFdCX+O%p@m| zfdm*L41+>4NPx&gCJ;ghui+gPBq0eT7$A@UK~bY1MhiMBVtjV2h^a*z>!WCC8SNxa_s`G5W&=krO{S!=Jo_S$Q&z4qGsoHQB)v|!1U~<-1ZmNTe z^8gbH*i~gLPIHs5S>vp$*<3%?xpo_36G>*#D3W=Kv$7h_gV0k^;T&C#PCLoePAOot zvwk!4E?t8Ztf&S$g%;}2(sbt~+1c5vLlr{pv3`xJ!%{)<2QhHlrb-!=^syeDUOt*C z%%xdeyR{Pko#jFl ztlhe~yt1wiCt6FZ5cMmt{?KB=&B7z2jHP9qC>Fr4;U|mJ^xLs@Gs1mc_2rdgo%LIH zBD|Mx-dI~*Lla9uBw+60L^OhX@F=_#Ch5JRFmr{M*FF~*!6)sy5nf!4K<(sFimk4F zT312L17CH8b9;T+T2xv`zRT+Hl?J9ES5cIZSQ^ecXI0sDw7~0>Z{D=72EH;S?5S|< z5W@A_u(^5@y1BKo4*HR8>o;%4Fu_u^{Fga>d;s`rgeq&+^q6YlWwo-NJh6;>ryLdH z=V7ilBNr)`-Zg8&A@OXyq)_XVBS`6ZUyT_J>@l_{`IWKMtIZaP2*U&r#iEEUJ75^js;(2 zFJxtr$566>bqEetzilgWA2hpZ97s+#3w4}pOt#ax3^p!Xi|JUuld5xmibhzH>&uW9 z(8^fG(l?9Nkz3I?j9TKXtJ=J+rh-rHkQsG`nTgpyTedKkjqRu_Fnu~Sj7YLwO2Z*`BsSOZpLg|6i3 zy)<1YBr?%q9kL^I$d1&Z?|htP_iI>sFZCR_yl@g9DUMGtM0mbM9F?6{=cL_W?dG~_ z^2V~7&|Ya&_V}J#Mbf1odPHn25Ks|7bo-S4+NY-+{cc7WrXTu*4bitc{pnW^IeK;a zp-122-9NkP>W9@KQ}omCu><6W>xaJOk-MQj=LvRKTPY>sV*6u9%AT>Tu0eRlZlu27 z`h+`-an$ch`_Z2s^~IL8Kl(=0V>?`?@BrJR$jG;q!cM*IDRu(k=z_F=0?u^4iG5&V z(N0Ark75X@qetO@NE~9|P=w<=4zmphR?A96aUA40!`cZk1GJOa`J?i{>_kTe{4=n6 z;&@@e?aA|qf$GW6FGy2y-m|W{K9opP0)ot!GL?$ThHd^VjH?beG9ZX}|(+dXiu!VGSvJASyxwL+B?Oa;>*tz8Z$9c^fev~xOaf&z;6&)O? ze<0AXqpN|{i}Xu*Xv!5Bm>kSQ;h+PqCk!^QdSQD>tp`>g`U->fqh8N^RU{Y#tQT64 z23Rk&a1O9u#Ibq5$1}2@p#V9+cEu5Ezx+S4y-*+@aC_f)9C^h7x7U9^*Y%HA9B_O6 zpC7vRc*Oy>7fOT&STA&MX2A7Cf->NGNUPaR!qAyOpZoEib`c4RNYm&p4BZ$EC&oB` zVJG)Bl{hc`27Zis{mg$N^$I1P{jfv%&NbC?8_=KiDY6|Jr%m-`$gA0EG2s4%619Hl z8QE@V<1)Z{kqZ4b06-Z$!B zXhS_vzrbyAc4xaE^&-wW&g!21@%PB%qyF$m`av`W*t}T2iRJ&;U{iusjeBC3SMsM| zXj;=fDsiKMapQXt?8y+^DGlG>9nC_wd~{=NWhHj%>~W3CifreSO5Ba$f^pzW$Mc~b zdM!QD0Ujp#?Dpge@Oz55k&8zMKD8IG>tUAxmcnmwVwZVikc8@?MtJ3u$?nv8LdyO3`OM+3u?F?4nk z+H8$Y5chp>2fE(LBta^>^+uxDR;=evjE@f9@jy@9&^@I~#)AElvGr?LuV!uWI^o+G z*zkP|&GAPnaIB8r@D}Do-j+bO>Z&Uu9{G@J>Yf-8kDADviS!%-zX7e|!|J?oBOa=v zoTQFe%IJ#5^z1{4!&7<=i0y50k74V!@_Ia)MK+*K`Zue;rqB7>4|x&u9$!O&GtdoI zJY0kfgp9Vejz2CS56miHWt!(aylkS!0}>LP_$;G`4A3FmJ6pe#&GE_#JcdxtZiG_} z@!SrdCgYF;;AST7d(>6a9d)=J-GF0~>UV5*j$XHU^Jw{W7{-r1pFn9~6;7>5Nj#rL zLh;nqM%>279n0lJ$GtnufSR2`r~cS89CziU1Z=oD81(vs!4CX2-4YDiZwdxG@we0% zqu?cqN|MnNhqsylX2y*G%rbr+o6g{oSo+3SmT^yP8iVs=S1~wJ;Gf2D{CJFm(VJsj z3{H!o8-!WLP9wo2;{hYdA7QLFj$-sx#v}%P0_F+mRfsPidaVW=AKzx6BkL?^|?ajNyavXA*)JSgI6m{3+eX>w)W7(74Y#?0He77jWF z8vxxW!l|>PO%7dprK_zdVW;>;)uTS{mOYJ~qSam4^GL2&+eA3~yp38dL>%b-s8B_5 z(U0+|oSa)ezTyHJl-#`BiiwlQ)8*Ro@oUe&-~v8A^ypiZ!9g2m8y~$sdb}~e!;}>m z8K`P0YpHJ?-(j*eP4O@GZwSN$@;ee!{i_3GTE=%Krug&y%bQ0uPXv8V3)rkpH9#jc zuLWUNU|UN;tNCc!(Ym&C+LpA{ofy$!vNdg?wn%=e|Dxs%Eow`8yC=UbrEPIr8JcOg zj1FvRiEF`iV$)nSxwbi`d3GQru(D-V%hpz{6%`Ykiv4B&t<5RT%LC`NENwNkp3}Ox zXAc_lJB7;Yn-_N^I-28}%Q_MVHz#!rO80MRj&I(=F_aja$2aG9qAaC(F);~BhbhUQ z;=d%I29g3ePBYMvL&}==h3*M7Kh9k9zW4#cpAA|L32W2L|{DG zV?t9|({}$7e;pidd`F_@hx;Wq&Gu(B=ff|?w9KH62zswU`X9<)78u-;b2PPY`4RCg z+VJ)m|7e@i$oU)XA%jM>%cR6wo0j>LI${!==J?0^3!BFV$~t1=8@D&D^ut4w{UbU| zaQ068t8boy36xKzTVUgM+gQv@75;2#n|xvfMmv%+9-|zge>C+X%cH3mH9kwS@1=ofmjS7ev8P420m{$@JLbq^avs6(|8pVY26 zCDznE>@Mz>(7<@lY4nX{!ezV(W>(I=AF_=PEyPegPmJJJEA zCc6HI%_$hdgs9ceYM&QM+no9zUxn~OdjBUwpS$#D7gc`O_4}HVWx=VF? z^e60)p<;RnpFf_3`_h#gYw=JWJSbco=?~GWNA=f;>OI=0n+ojEA(BCNP4RJP^U}Z| zxWf8Y7T4;+eoTp(pzy3UOIhw{uf@^=3TaB_1=!GoX>52!DwtzK8unho=z& zBJ~R$2K7-MI%JP14-aaz-uH+H(VCC+k7&(DmWLn4h-g1j|IkgNKFULf+!5vaOB#RV zLc`%N@rW&bZ<>%3@xC{m*J z0l04;xmc*Zi1Cls{Yd*o?S7>FLN{MR(tBT!eu+)yxWlgb&-brH_fja= zgU*OJ=^04v3Ih}mqb^brVtG9Dv9FuWrsp#w%IGrUd@Z|dZF!IW(AR<@^{1Pak$C9P zKSCzyPxJ>_BaLpZgnr2V7yH*W=ST2HyOi}OAVs#NAzR;0X}A##aAons{-u9Zb;!QB820Bl(IQ_18*75_ad5S`$O7) zVROl+#1cOSF`ULz{to+T2xB_~CX6Y&+=6%zGGudP=0)}%5lCqtHRb4tqnKqBJ7Sv` z!;W;+#lC3B@j=swWcT^E zJQT4c3U`WJ07K)B@1?TfC^U-r7M@rS`FJYqyLDtIisI~+6{|t*vuz5^CUbLA^C+xr z7&nD!fUhIrRs=uPR=86!ha&UhyN&$&d_C3;8Nb+|p@nt@af#B&X;|fGV09lc-|YT) zl#`Q0DTjXqF2SxSDQusR-BY6Fc)tW_U^;`%n}skL{QBi*5 zKNGa$)lZIF&IC^bK6vYyV1ZRp#sioH2hIfd3{jNx z4gt?pls3T6@dhgT?P2c}MY$C3jSB#J@ct+|lx+me0}Rm1(E!^3O949p>DQDMygjiA z&G}|1M~pC4%i5Y(*dOmFcJ1r@M=LPpcAkL&$ z1fU=9yY2!k#S6+Euxl4!9-tR*P+kW6wgT=04B%D4#{unlrTG;U@)ru(usQGU3LA?85JD)C1b_OHoaLe!xS3?SDHHG$p|vUC>`nB4V_X4C z0TVUQ0Y?IQ|ATsf0l+3e&sWd`uodt);b+bSKO`J5CIxsm>H&5F`T+g-Y295!SGt4u z0CoYk5su$HPfP_4mgPesXOSy&5%yKt8))vtJWPnK`^a5n1Y)gKD=4F1h5uAveiyELGU{|UfhHz1uO;h z42NET?RXvF=YY<0AHSur3(${Wqv`-G#qZSR;`bN4bGm~~fOfpv??b>Yy!bnBIQUm~2M++2 zR=_S!=(z>`0kq?Xtv&^8yQ(`l4KY)>raQO~u=Tp`ppu39H+BbW0o(8f!+QX0_k*8s zytj~k+{AkT`Vzbwaz_FNx`XwAT@OGnz*_uvSl%eu;bG_n*a>(Nu>DAP(1e>st*saj zf_NR|aX|l1F)n~!dg(-e@D!jEKlzb)F60AF0}T8P`T#cmy*qdeu0jfXtIT)^6i!C)z%eNr&E53m*RC}7*6M$_6!JuOT`0&F2U4Y86VDKbh?TTP9GZ*cz zg+72vCHeu_UIqS%=+9-rU=^T!b1--uuyIQ;m@)}+w*`Z>fNeX1!8SnuRgg0o{kazX z1+-s>b^)EZSDBKBa@?n^0QB7hI{>!bhc^OVfcAe73@!uoJOMiZ(g)L>ebmdBC~AXU z%}9(l`LVdc{S-_Y#e2n>pvR00tG&?bD7IO4m>QKCL#CcPVI(|RQK%aQ_;a7cJNbz) z*J|HqD6l&A8Vjt>-7ysjR>vHxeWukk(~@s>9P)VFD~hK@;X6hDG@BW*D%NG*lnC+^<2iSoNqN1TFBz4 zgzGsL!^J>mF{IeS`qKp&(_T9hMA%~=vIqOEBG8kx2DmL~G`32a)xO)X7FvLg zzg(0xp=@oatO~uIVK%bBghBS9Fm@cY6QGfwa9QxQ-Q<6(Ly`(H7R1{H-uZZU?C}t9vDITJ zO%N_RmtV}bOVT=>?rK+U(d;ICDkX*~+qhQAZIZdd18Yiq4} zkO4hrTAk2~H_zsKVhqL)dXv8@%)bopU|?rj=HWkvq7EJ~5=FV-qjwTB8*;u4j6?9v z0w2YWRp9d?w`{_-kT(;23oJXVCND_4P~M92V$s)q2AE?n{Ml)^E@aes7V=@V!i;3t zE3Z+1B>vhUV=ers6xY0sSv2-@A;ZU5F%M`gPl4|)@Lf-Q=<`j6*;dDX<7}&QAC1Xg zva8`THYOpX&{#TS@zPb)yP;>jqENkjt7mtdVPnsl+z(cv?xfvkf>((C-9&yM+AN?p zQP;Ru)mLRPwHb9kgl#HCyOA-~FdG)(LA59{s8T=MQ7;qu`A5;}y%4H5M_F&7G~rN&)@B7C0g`viEOz+Q1au3^Vgga{Mqa}xAZ zpg-JGA7+c$WDBMbvjypMbzl0BT^%O0fqmKNkSu0b*0-=M7KaL~Uc(xg3DSGpHG07u z3(*UERhVfhMcW6^b`|!13wyR59@DU03#>lF%Te1dw$NCEb5_qtmv3QlgMQ;@-K}SW zo6sKljhJ7E(S~wq?jjV?e)I_V7M)#}IT$MsY}(rnkVCR)Puq!pz0*@xaZi7lL%v!F zSrb%rpm(UA$=2DUkX4U;u*`{Q?wkaz5wtp7^SNU{C@wl#3iK4pK13P)5MsnU3HvHr zSA=hr8h#zsrkE$kQ8265xD{Eb4La*+!(RORJ^L5-zu7b XX3?1HG?E|70Ayb`sI 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


          ^zTLihOpEvr14h9V~ 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

          VnAw5-I<2yRG{vxhFArXBCGD~fZGhLwU`|? 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

          ~#yV5c+<~&(=Pj`Lgz5qHLm5pm>O}pK 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

          (7Fal^MmI8 zWvhZJ8xs_~DaX!z|HPdiDd+nTHN%@32g;y1>C%9olk7W@{aoMssSYAXHHXcU7R#!N zL+-2`+{1)RtuB>S16NcNtXR!8D>ZC@6Sw-{tXE7#)v@4Vv(vcJN+878i4v!3jGc3$ z8JwEtp_Ljc2X6)sFf%;X%@Ghi#ePgSt5h&-@Iban1DBW^&?|Ntf-EY-K}Dv+2~{Y= ziI4b$SAM4Te?cm@6L%1B2*!!-am0F8VU2`Jsh+{YjGhOb(HoNiw;nYYyx!q%nrcW; zpM9JC%tnn!LB{!_FORC4W3P9?boN&3E+nuRUM6u1lrHZmjI7;)NVjT=x)Jrb*2+80iNTi-GB(x)y-v4xSKk4Sd@ey z65)UdB2N_nBE^4=OjzqzVmN)qxAULwUletWXRUVGhZIN<~kcEjcgizPpKaeO!n z7#bVu%G+_vs=*6$)jbK>YZ(W19pJ>R8UjELJ5?uRy2jfM=$=DbKRcW}f*SnL|55`n|P(fZRW&|rvxQh^FERe?|0EyIqoj#~g zv(tAwm;4l0GStr@Py4%%iMC{A`_5-BlH5C9V!yv4r{f|?UQeW&XIc$Z8+3125k(^F zY8GbCF{b_vW)P{BK$K1ipIGVg@z(oxr3?;$=Q(Nx@WqDeMs==^K9RcBCRV9wn!CO8 zUIK($HyCpDFNqLv>+Y_(j*zQE4J&yG@LDEUN66I?F6|N^9q0&4nX_xj*!1AmF4zvh z7ddJdAl*>TJJz{+wG-|Dq#F_ffWPTI+5w25LX}Ci5#+X#OFHq^b^;=ZinY_l`g$S+ zM3#<_E5wn^1&DS#LauJ)y50$h&c)FH=~Y*EV{dfNgP8-Wf4<47X_=lNhvI;bF$Kzy ze)lsBewE{nSpTTOw6Ar`*7M0-`OB~kGGGGhbd05Y>W zYv3+`iPen2&o>iylw6&kIRP+^(NS`>Xb!AAf$4BZ$rYW9oT&b~WS`#Ub3A;2enoxE z>HG9Fr|;9>oW4)5iGlB)}q-5+-{w#y`GkqW~t$i&8RW}0HOtXivJyZxxnD6 zLSVWt4ez|&I#(Ecit(3jx86q$vioSCOr`6%ukxiw$7L=F{3!3y1Q7eTJ>p`P>oGHC zP(RF-xtpfHm{5SEfBm{7eI%O0r{Xo9|H}A~U}TU&=V(+=WzwB8lzrcrja&y_6M=%7 z!v^-)t`|{sRHbGm{=faNyQxPoOq2~rJoW36&`}Ck|GFeNgqPp0`IadyHY2kC8{B@? zEN|F{Xguh_Nyfp7OusHk3t_4jqm#j>B1KLi85Hh zZ#j@3DW`p1lHV!guS@bP<@B#hqT=n@)TPv*<`n2qd~FIi%rHe_1M#f*Nz^nN3?_*P zmO%j2M4_jLWVK6o>Omo_RK%))NnBsFAY8m?X%-o9DFYwTHGKXDX&R$q9gi^x&jpRY|5_m!xsZsbdwD4>M`~ z>yjYg5R6r7)N)h52ZMI$uIH% zPVOSku`c!z>%ala_q&lNfJiNA{T+MD9(VU+Xat5T5JJ8^YZw@o-MYQx+1-!XEKjkb zKbl-}?(WBIma|BEc62|cXk}NoOt`I;5_o`5bJQ-tHyKKYgXMLu-kt~nKeU06t3#K& z#w4-;Z)B*BBUcyMCRq@IS0w%t;@``qS^-23ZER_st1mg>65ubF5Of6)(Ym@^B|&HJ zU|SQ&CfNoMDU|OHm+4zB(+++ha(EK(xfxm6V} zvb)48;F_cE4~PRvlYr+NmG%=D-36yVW$M7wIPHx!{OK<*9k4SWK?7GL-@&pI8R)BKMCqz)1QxWYPnF%>8H;kY32KAi!M5!00$Q!!)*q zN-45VnrQfIF3k3IV492c7EQS1=`hY>qK@Z$feDdraOdh_nIi(9X}FG(E4r_; z;!Tt?O(NZGTCRM8&_}wQzK@JD^J<@xYGvNM?mlzd^*+*x?u4?BTq@7sm~UV!aWO&) zwMSkjHESPUt!q{fYUp+$HSt9WuO2lQz22u%AZZu!KlxUH{YcITvg)YeM|vL+4F~-A zK5s63j;SQm=a{HM8Lnm}xqBP$v^M-XCJ=ClRs0=r zOK1l+LBJu9a4;G)Bu+{VV#b~1bb)4j5Y0Cb?Qe-ANcp<_rg2iXD2m*Q=LNc3@Op1a zSwHtSg$K>S7Se}U87!;^17<4^b)qUXbdFS#>0=pGp$ttW1Fcs+$=X86O%~X$ho_glN=H<+mq9I39Sics$QwA)0y>nev;i85`5(^W#Z^{gk zB}jb6uc0RMSy|pu6ORv8eBFBGCnnS>=It`haje6qk54xR<-e7qQvO@10#-(}bxn_~ zRY01TGwPUuRs~fy7Mx@sH*mkq)m%l}d>^7_c!ioGDkJ_ zxrwssv}Y-9XTqgcm&&Svo2UtX$7egcvsvB~I10 z^PCgS;M6qBl^Uv>t3UAm9+BO5F`)_@zT4V>uBI#MbYPY_8@(*PtF{z<%7YdL=&x zM8k%Rz;rJl8avUm+~!ppAU_@PsxC7Uu{E5c>~1AD~0uw+?CYrYFduIN%pq zfAj{$XMjy2rMsoUw6D0bb)EEV_%rq1+hoA@>BJ%!{5svk27_~C_pm|Ho&2mNI9w$) z1%}8-O@YB;SyP~hlEe-S`peE*g2J#FKTudR2>}NEW|cOmR4(eXmMHkb%-FyiPT3)}q-TAG^-gKO0tNQ?u0YO*5*H0iuO= zGnb25Dv^f&?b!7`$`HzL9lPE~4YESD9Yng0`>GM?(fOH60)NDNGy%lsZI8H^<$9d8 zWKe&qD|0tZALq^N1|JU-oyP3JE}Yjy zprGckfjz<6izwRotyzixe`ear$N8$^h^L;lL_kX6>Sry%A-w!H^*+4ZATibK?<%Th z_QO6z<3SHjx+PYU=~+t}rwk|UI^(DEqDkv#EkVE`n6&F4jCbAB>TB@e39|w~x53J~ zxg|>;`ETVYrMwb1f<*!XkhqbvmhhbsHj!xJuhgVhfeS}9B_-Uw(nyPpx>2e`2q#hP zNi`$tl#tZGR3nZ1U@%oS?$bB4k}83r*IA`V{tibklHPshO5^)}Lb|YpW+{U$jx7iB zBjva`{%(g?+N|l~vzBn7oPO346`z|;T}ln=d>T3wUz-9BGfa`#Ks+mc5;ctmgGnNS zWe@;0QRwL*S?$uDdQb=}6|pK{64w_k2p2C}nnea&%D_kL7N#2q(lkczWQ-0RoME;T zpd4vCECUK%+xNjR?$gm`be3i9XZToEZF&v+5RC^tIO$kblIdAX8mF8(R#Ew>K31LD z?ZtzDLoimUQOlWYG+S4kTiyT-%MaTGEzNqDnddRB4Q{k(Qr=w61+VuppBh%j8W)=L zO%=!zi~o9~`iPskVl~(FAX;#uznsoVHBG3n=$6w@fGie+>@o6s5Jj`Knrc>VTj<4e zOGPC-r_S*f8`j+~GBr#)YY81@lC3!A+~j~@cdk2YS=Lq4!iQ2Ez2p~p0B0>>d7g`X z#5!=m@-Q2!q!mDtur;Ff6-uyM>$=-C4`c@)Rpx!CA}Aau#W? zecLKixY+;cz$xc+n{RKjQj!ngKRId@@H38D27KEKI|i~-4fyCk=}mG6Me4QOkf=Uw10N2O6sD30Etxa6-W6 z8mc4Y>II1q@D&>fxq59P1bo{DLazQk5dwZ^10h#GPlSMXd1bB}t{!1n(Kg_z8wk02 zTOtH}&jv!SKAi{w|6>CoSBpMHSOvVPp*lVO=cJ=L2Q7IHIv2~X{F8y#eL>RN(mGcs z8&-xv!2fNTNkv~;=jwHyuT}ubP#qyxBq`wt_-@ZcOMs*wp#mg-bnLkLOHUmufFz5K zkgE$kb*uoAEILB2{yh-_=BZ<8ovXc`I#vMxEXxQ>>s%4=(iyM{@i6~HsII9gigicl7gfW%YBk*mhNeg*Ivnb$9^b9HPY z1pN92LaqoCX&NvOkNV?D8^Z-Rf3^>zI{s&Da3Lzi~v?Jt-94dr> zxvV>?DM$CAr;Q(ZY8KOV38m}yWxCQ;`u7kERGqK^6Mci`BtT{hN_JxltUG&vokSQu zBcT8ZG_8544e&Shf&L`GTR3XDo(`N;5Bw()s?W7hRsOFvn3z=@@Ett>PrA2(1hMoJ zkZ{$Sz{IPN{nTm_gMtDi2DK(IfhA;s1eTHk-_yhCq=y-JYC=8H!1p8+;71Lm%)V|g z0jW4(!cpV^Bpj6tm|zq#K*l*G17@TWvQJv*5p;qAB3B+%*kJSZzl8A zj>!GG`bB0PvnhrE&l>3l=gW;3k>70}~2D1{g)f!REZ$0&t3oJ#|#^on;L{wn2k?&_wMvhYTp1jSBRa0<^S0f9 z1c_{3TzobcQFt&=C_mtjJHI_YFp$WRu^Nyd(wan36fy*b(lOm*3{V{KgMA*hyL4YA z!+#@Z#m$rsm|QMi2#Cii87@bXRvhrJ`5I#nAf74x?_4VVD;u9%_3K5rUi(Yyl8TXq zfFFlSby^qBvi5DC-z^waiW3Yz*UHv}T)fGUA_uAbs(2V)rS0NPc#Gn8nE8L-Jz_T? zIakDc%3dxa59{kE<7x-)|GZ+7f4t(j^ zWI~))tpt2wa^OqP=3=%3pZGlU9KBOKn157q) z31_7fR!v$NSng)DS)^_HIJ-E(w>+2cY#^JQS{L}`d0j5V-XG#dn z#%D{&1+z&d1iqiG&swp$c(@^z5SVSsmLnH`m=OY#Yg^E- zA_L>FA~GQUs${^ptB?WWtx5)rvx=WxdNvn$s}cg^tilfvUsW<-TvW&aDV3~`*V@NP zJ&m%KVjoQTMEd|NVh+nz_^kSGlg+MxSpdr}3E=gzYyphkg$!_3%<06uJ-k2cGFh9> z+AjgL&_=9GhV1vQ@IG(AmUX%xvjOGsY;zI#rhb!P0?59j^aSvavzox~_L^&eAI`{t z+3S(z&X?@xEk6I605T7gM{WUcnyra}Z{rK#2_WlPsR_s?k$M2|`Mv@^2{0dDag-d5#YzIrjh}(k z6ySS&Yv?3E_ELok@ZxMc3Yb;1kg@RjoNp?v0g^bi=fL;%n;dHd4Y^d90g_g=Ci|+- z^nKL{AlpGw6Ob)eITiuP`dg^JWjsD@$x`_PU+j5y0(f-`XGunYM77o=oJpgK11611 zqkydQl?<3PDrA5pQ6&Q=iHabABvB;;CW#6eV4ggIDTS=ery|FO)FBu9bxCC?=c4EI zbtt3sZjX|b>o_UZX(&!t%B9@~BXM*0M!O2k;R(5+3&`OKIc))WJ5NQcfPZK?MwtP# zS0Q^8ECt_~B^lssmksdS85!{9DHj21 zq-Q`j5LFIf7OQGhTceTF2PM86b=cJ>6%p8RZkgZK+27E_bz(`F%vY|)@NHP>=fFwg@223&(GC-1{k^!eA zxCf9@$w-XsuqtluRo#?q*7QwYX*lO+l;b=o>21T*&az$F^d}u@o4}Ovlmxp}qyZ%( z4@3bTMKjT=b&1j_{)jcDBiN$I`nHY!N(a2n!bpZHJGJkG6kORrWOKKxFf7fb-Z=%^C`8ROgZ$OX=<>>~HX z2Pu^fU*wjp;(+l_(E#8q_mmTxo%;<2<#24ys?QDivzPipxkSfX(3Hirp}QTplPiDT zj%BFGz}NLbc{d<~bE~TR*zfr*2Il_v%EnvZvwhTD0c3Ko&DNvlZlZ;eQpteNv*~&( zO22V)g)x$-l8IHHpb|1-icw2YfO(i5Y~jTSC1ikX$7&y5Yh+Bo6$kv!9-(`;0TY2T z>*H<%JG0UPcNX52#V0UvDm4Lb;32yT$bATvgWX$>HYpDHm0ooM$R4i90eHDntpO7B zGD-jv|56b!jhSm#cFg>&kA`c2d6EDoS%^9S83IK#KyrXk0Wt!Lw19br0A{?Cnt%*< zsz+cFijV;^+$k9_xkbnTDV3~DHAM8G$9r7rqB2suX=ym#`}9GS&HYxscHn-&amGkIbV7<7aW36LRMESpISnE z;Ny0mO$py89BT@4q2g*E-R?e0f>Jts6jLg$)XPw2y@O_G54tMMA2U}?KX4XeHq) zU6g4_r%7Y=-R*043hJg^BiUJz$yU2^$TnuL$`qe$s4@}(eW&xc$yUI?tb`?|0pF65 z0dv1^(AH_|#-`<`8UfuUich8#r5D&_Y?ST_~_Olz1NNJNJ7kM}U z6Bd$K0hxbj6TmO=VPQ8QZqPQt1!Z5~xK3yJ@p$7JT<^B~Te8hL(zQbRzwU63MjQ4Z z_f;ekm6Yic(P&4S2iMK6T)y22QqxzqSL+q_3mo>Ps0VFoR1+$yGi<1m?jCp_KPGag~P! zFr`pFe&C6e%`24?nB*#y;#w9CUTo{2;V^}ehR?>8f4Wjg|JVJ3!Qj6nc=9Jm8R7^V z?I$q9UQSQc5Ec1v;I3?>4AxooF3ejjg_3o zW+Nu&K@<@yDmO5ZlGB4DVw4`3c**I(5jRQ?Ow{D`;D{Qf2d2#FnV1kmN)Jpt<@6p- z2K-uA&d+a*s(f#aDha2M{;%;jH}_u>Tapu=bIi!>e$e1-+|Q65Ii#i>HT+2L z1ES%8AHSbAW8gq3dZ@_s0|Zo|3}5jg$;T^y+uHCC5P*P#%=u}Qax~ya6dG7c8!5^3 zEyq-$3?5CFY>!9!E+?kJI;3)DZBZ|0#L zP6k~ima3bkd8us{?-Q0IXZLbr8+JzRseiQjuZj3lf8LJAPeen2C{LJP>bLCgYMTHp zvg4cnZKtQ+PG+9|?IdO$)T!+P6M3Jo95t|eXRe8|=3^&SPW}uZ$v6200KEf|?F!oPjpcIVDIrP7rOoW?QTLuT_{)e0xdNY$fIM)8S%T@jxs5c(_sucfKvPp@EpYc$XS+hZT z5X-0t$lOspv+S&(kb*Ms-)1-v7lI9?8WKZOZn%XG$H<3d{@mLq%PvcHt?FX?vV-7z z@|funeR#~WdtJYmh1MF8f^Mr;flwrn_bmx_y z>>29`UB&_dhah7$%`>bPt|sS=YY9uDVe`b2s6EO6-E&-&Cw8KMNUc-@m5xaNYV`)T z8XPu91&3gcs?uaPno;{ZaA}quOv_7lhB;IdEQP1BTPoQ}nz;Dvl3|Oi)FX)RB9{v@ zDeDF%lGrzT9&`)R#<&mBaKH)L6_=no!zW{4MWzENRVYJu)Tugc?65X`00jYups#~D z&UjGw#k3}npByaVlil%vYv0)YF zlO9ClKAh$&qG_F?#fwb51?hY{X#&9pn`{J@N)d+}H*@S8ecnBDHz1E$wQ&Wb@8tVE zB}>^E&R9}k$3|dE@xhW~G=z3L9L)eJ*;!Ls;DF_~O-N}45V?b_(+)oEvvxGYdz`cx z&ct%YP;rP(nd7(>K57;(@Vjdq>Qur~Y3(*!d-i`{HlN=a;6O8GUfQvhn;x!PwX-G_gN{+Vh$xys$bmER{7lG6*6v%b1OV@A5~nxMpelC zZ{+nZNW$g>3ajD{JZLZ)j_J|YocP3VSdSWyw-f0RrHahy4obyw7Kn0M*FIsb&2F`n zdel(wACj~sk#_AG*P2_HUxfMPPP~G#=%RQAU820IUHdm{ZFZ}r)T4%a-%iq&M7p5f zcF2AQ?0+E4xA|lByE)zeZ1>0Abcyn+c5Q5}&2F`ndel&FAxT>kDMp@~8mB$w-wb%9A98cm&dX7UY8Sfy;UQ7CQI|uiz>^$7{Y=fEY zYLTPtPq*VfFM;-(o9#y+Opk_TfRfRgMsMXB_gAj|zMp4333fNI{!HnI4%b*Adlx9r zO7bE@N#dxS8-c1*bjjh_AlIw1e#a!8-9V}4k=MJY_p}-%v=Xnz<^{#FJ&i?q74eK6 z>$veDC#Va zV6}AR(W(|%9^uu~)(sdPnchs~5MHI>8g=EitKXC7fU@B-iHcEAyX*{*D; zpa3i;C{C80;irXyZI`CmT+Ol9JKLqL*lQTGZOC(^GP~drP9C-irlRv+?}etJfJhbl zZu|LDPPWY8^$rt)vH!st9N+Is-tG_wt1eCrS7mft87+Z zQCU@9)XMF0x8$%O9NHgBK7-NK?ane!+sN)|d{?HTjQ6ky4IFv)e%4)?ifMGKpcXP3 z3I{hVdJ+)nHYH@YGIG7y1&k8HO(k(uuY5DB?03LGz#-UF>h7UL&)+b}@ran_7!Foa zMtNr%$Ml3<; zyj1QTmXdc^I8t`limwiZ19b9sv%I95lBuBJL>VL`@xk`)4GbUU43`1Zb69)oHuk`q zGVt^6?hR}xHMVdF$_-B;!ZGqSy?cYmiD7!)7=}?@y?ayE#Yf5xf-kKwg~v?K>BD1| zf6S^s+Yf@8nGUeC+|U6;rDDudBawXve`a38(~t7hW7(zzY(+L~&TObc874c;l(g|i zPj+W^qX-B%1j(*xP*CbwwM{gvh;)a){L|?S%--dq*xhgtsg>}C4#%B--R2>BLx+R4 zJa4PGvh86*%>#S}6HFAeT1~h_9a?QCaAmVCvTRqc540AkEm|(?28tgKxS{kem$;gG z=#k};OlKKXp$uI^R<&OF?be1*FhIZ|kZ^7bKT-w@t%W{BqlOn-u_qC5nscJt`dqJ4 z$Z&kV{YV)IJ{)|=X378Pv*jx4be2$(Y1C1LGE}YJx1#bVtc?Y!+|J!Vz#))u?9F^( zmV|JCD9YIpt7@4z-|p7HE_>j&?^Cv=-;V~!^fm85l{V&@k|;_W^A(lf0W4b`H?;Q6 z>8;j8(Ok8r3KnRc+Gum1s7tlWm`uzvSmz?ut)!4UPFLK(sDZ=nrgwVIiLN!BNVhJSGr!nh zS+IxKmhi@;U;;Pq^&Xk(X$@XcFP$au~qxsG*7cqCdq(rbkr`uzciG7FK>CB ztM4a5z#lql0(i)NT}$#9V=h1mBhdYw!xG>#9JLz|5xUP8a`ho6Tmt;Eqjm!#P*=B< zL$`eR`|m6h*7}tgP9B}H_Xc*hMN!W*ZR=DA_+@T^3E=B8GHi!+v?}m7Qq^x7h*v2Y z@HO1SCV<#jJ`R2|)})koc*wO7@s2fVJ`yeNr0K!g2;Kh>PusK!p zT=_THX>6z~&oGr$1yxp4_au!x#5kx`ffKhNTT(F*RZ1E*_cg8%2SSXUC~>MJopYiY zoSH%1=Spzx^K(opB2HE@K~R<28hgFxS^Z%3GvDrt!}zsMxQh^FERci`NTder7Ta$e zl`*vk#+M0W?wL-3(~cAWCxL22}J37eb8E$kMC)v3=V)7J8A{+vxe$Mb*@f7spAn$ zcwDsx(A<-p_Yxr7x;U|Xqjmw(4duLJovW`p;SNB$At3(Lbc9?Xj$|%CwA&GK^-$OKPC#@njs{4ty1JRVTTtw8GY3@vDeI7?WqN`f ziUU5w`XfX7-QRBTR~&c5`T-^#?Q7k#^?Y*I{$}dEg~@>J7n{d6M;(4@bJ#i<{CZK6 zQ1=TMoMTJ-i+ncyuys&$XRG?lQHQs`fx}f&Q(%aU)D##jmNf;6C`s(Vpua6`pIR9} zVc3ixD6E-;0E2$BN~M|y`8On57zMv1Gd3^|Aaj)m4%`JWv6>P1Q)cdtlB+LfP5_K! zbd+4(-CRU@0@LA+k}EnHIg!6UTf5ylbD!Sjb3A;2enoxE>HG9Fr|;9>oW4)5N9{4) z%+l@kte(HpY%Q97!qMwoy~nU}oN1OCK4?Z2GC;H-J5ul1%LN8k6#~Q;1FJZyC%P7anyk$vi~J+(rT7B>_apj z^x&j-rb@D*j1M$U8Qwn8J5yBtrb)XXmD|ZG2si{&VjYC>uA7@fXz<_(vjRX*^OSXS zOO`zH-%6b;uf&aDk$?asZe;ruzB9rm5>5P-n)E7g;i#shgu7Q7X^~MkN|gxVB&t2B zT)k65QUgHsJP7w)%*=#*WM0tG69ASDt>G>b;&6d)+`1cimy!phZ&|w zY#^Q$KZ%+~gTW*b!7>Pdnke-2kgRs;PCY1um5NvuFp2An7KDozEzKeWE@j{&x`xmH zAWdWRPR8iK!5L;d0m_lK!!n@IwS6B9<31g2Mr)R}ALhe(y)o8@Xguh_Nyn;^Og0G{ z8mF8(R#EvuChdY$ZpSJRa0tdKHEKC?)v=1n8irC_ZhVC`EMITqW196YQl*-18n#-%R77Q(yMe)qB?Ypsn2soE`x zd&rJ!{G)Lw)t(Y>;-D=JDoUvIs8%UQ>JS<#CF;^kqMB+FB67xf=J<{|*PQcx^X%2# z|2Zq4?D?DH8Dq>b#~kzeTwa%ZpRXed_3{{rxdL12=D*IkSguwr?ZC9q!1Q_#n8GOa zG+l*Fx4b_JWV2WqJq9iZQ*E_Ya?Kjs7CPx%D!4@F)HU8>!@m24<_0~=$lHEVmf!Hv zOmY;*nwv48ayln3Q&wcPY0*O}fu8HDML_sKS~TZHZuZd=a7AU`kBLS=td?Q@qJ4Rd z!~K}N&T0@wUYisQMrGKy=Q_jvn62uRRy^brQ}zboe#}-ii?wg5-H+L9|HDoUg}>NR z>3G1ubka`XzZyxWgIyDH*G5L*&7K_821au0Ck3kXEa20P6c|0{Bg)JhxlL1=KgRsm zxmBw`?9jr-6LNPnTV?+be5f0`3Ut$2SZFW}H@3K~;06vrbajC!*&enVUDy8U#shbKKd~H4D(<57uv|;S^v5O^fcLuXBjAgS)V4AiELMHj z8UxlV%`Ej~eh^NdlrYQmnw|faL?akGJ8Qg>+Kk(;cGCJMf*6|6Kc#nt>)TX4y% z41OB`m(?ns>IKt9!sJfw-ENiq=7-^rSsFM!XQOQ`#AKOd!(9xq{k1DyAat=V#X9kwaCWgvyX7?&sI--Y7+q>s)QMyn!)v8v@ikFBE<}=8l!32< z-kf(W>HaEkHm+Wxw5%N1_=xNwpI*@5G?1 zc(w!6d;`%vBN+S{BiIw3W+J%6IN>k}r@P{V%QMYjytEV4El5(bheV6;A=}b+- z{wA)?PD`~ohVQRU*@E1NZ_jriprBF-oeT9Pa9EP{Gz(tVe$s3#^;qX=WUg92WVKYA za&!pmR)SZ`z@p3jZ+BI7Q^O{Sjfw1=SV6J{5mK&R^GLFum3<(RM11AYC2SZTXi@$F zOLd;Jsn?f}pE3uf*Ya5@y_VY;N@^O)+UY%O4M_35<|LYdQiYTkCZxQKp=*Cg)SffV zcVTM!Pc{vtmExpIJuXMvSFrtj^H}AOxhC0fPG8JLm6qEt`QA&+xLE2q7p;VeHo;jY z`Fcw=&cRVz@i1Z(j7-Jb8U5y!rj=4EMhu-PYAOPH&Y5OtYMS3J+)&(XZFymZ2N(W`)!)Z^2xzDb zm3kV;^h<@r#(W`OFMWsSi2Tw&@rj0i0EDojIX`fG3VV$zk$ zguh3Gk?B}VWfBK|#!0Kdzcx}hQX}__|bV;~g>jBaZQ^eo3LKiO-r4E(f{b^@t}YF?g@`;s#*1F42g zQoxhEM$149txRQZY&>tWQqJ_!R)83yX05ncxAOv5fY=fk$zhHR?LfR67|HE&U#|f1 zxda-JS_N6JhyiK;eux2F|4FNm4&KxRJCp`~rqxGpQ2f5(FFH*=M_`!pr!9ImS!C}0 zIkSPbk54Q@A+F;+Y$yarat|94)k&YVghr^uqM*<-Vo^|Nv7{(S^pdC!3jRx;wS+{& zCi)=Jn$ZX-_%{*SA&paFU~vwIJ#fz*_AVcd1=^+(HacuUZ{b{w_65`McCNg^YW_xR zYw_$YkC~8rzfom1HOmbbS)&RY5HGZcxnyW?bs?DQOToQkCgf=FDUClkX41tCvO~2K zM5<2ss$OceHwj7b+q_02Ano7Qh|H|eWBtsezT(c@P0Y`m&{0LuW z*7~!S5YSLrwCl+O(RG*wgmxYxVO9swr%-a)v?X&L=`|g$(?8V}wb5CmLjdVF@~kC# zXLOsIX%eqUQmaY`*Cb^~*im?-C8kwSJVkm`lP(`j3r>h`V5t%3eJC_lGVfD2yb^_= zQ0qjfW`Cg3u+i_na;5MCzaU*$qFB<(5y#TOTqGS%dDfEar1fVlxk@_ySxa2})MV+B zdr;TY@ZtEfDbO&ZDWV#fXZ4@RO`(;^Br>70(g8}QYNS`$%8(B3!6EEaq*Z~@T;H@{ zTz%8hEHdGeR$_!Z+_Vm?agJVLj;;ha(`+yxpJ@Y?35BX1_|7owQqg8`f{og%KAjhb zUi~gi!(InXI#=av`m7~|lTMwh5MD8B{aH&0XsFCp+Nk-;Rp%-eYc!P7Xn0cXmT$HB zF|K-dAlo5jlLF>pDUYOA%9Yu4Dd&`IY~!6iDUuJINd_TA4kH%xoh55khG#7)1cho4 zMt(0T7>vrWZ$}qtc-C^OI;9nF;#teBY8Gp^9aD@HSbZSVZypnl+3s}zkV@wTzV88$ zb^;Ijr9jdtW!HqDn$d|w~3M5C6N($wTa(lhMt^&_+(iljemvVu0&!CPRJyaNh zbkD#@?$5llt^(2-mT934-J2GW@VBe~!4uC)rJGX+L+^e52>q%#FZ za)0SvYZXXm3XJ6FPofb>9|?@)4)Q3W+wp|l10o}k&J;9~dv0U|(nkU#xpzlK z;I*5Ijv-w`g!%P0J;@ReNVv;!3y_#o6P73BUgr^bBJlcTU|F7c&TTz$XfU;PxtNIi zc0Z_i>2U!{_`wHi237KNy@tAd*`{1w!hpZ{z%a(i3h25s=)H8umPlr=^-Y!jq~ROA zzpmZND!*!JD@%snr?TLy+*@lvrruWew$|0?qb-pPy;K!~>7#P98c3>aA2xmTTcv^N zwQU(>=%LC8{;_rImhl$WBk6c8@xw->>!~!D{?sy(p+_kr_}49LT1Murze$N?E;ph| zUt^fAr!+7fuhmF~X-OHu^rx1Q3_VI2!OTD{PTBz0BD@xXjE-st!y*x=G(wOVQ`(bkIDEDbizfmZ_hjNYb03*nToQPy z5ByWtw*jmL93z^FKFWrzQ!Euf5regWd$lcyfwhp{-yqZ*o$;L+%_M=?%nn82y@_Dt=thhN#$en7Bq-%D14sl)2L^t~ z<8vqQ!$wj+ecbR?VwU(NcJ)BVR-`u-#)LHCETTXnSLy)l8pQLyW84G0sURkxiCi%R zSPNp7q3Sv?!7QRcf?4VSB$ibYOfZWiaR1|a&w-3o~%wYw#DJ*?=|b{f65etWR_ zU-`hyXcEi7M<-nzj5CD|$bL?>VHRoov`k+n0R2Dyg;ypw)1)`nU+s0VIqG>%vbzJn z!4FwSKsJ8u3Z2Y#i7fa?pH$X>4@%}9Fw1b6J4bf;B`!Gv(nDo$#6wkR7SYg7>CdRxZ~AS-xP z#&|&5TFeUTNFM~&fW)H85`-+PqzK^Or#sVpyDEHlwuz20L)C#9EQIY(nHPO>TO*|D z-NMDBb(T+1BOo1GxPa_c<@OGcX-v2{6gkMYkZKs1nN8S$q{`-eO8=bD!!=9ha24K3Hr~{@mG(C(dSc?F& znUPTvNT*Xadfjc4$pw4|?};NI^N!3n!1b9sqMdYD`kfX!tK+dVk`jRIj8qi-C_l*D zINsoIL=uprCGi`OEtM(*f7m7W0B3b}*+zwqP8W^c*-lICf_Gi|pB4%x726K)xSAx& zXN9j8LHrV-O3NctX@n%H(q@HbE#_*$^g|oURUh~;52ii9>ywxR6HU^;fQ#T3FNpXSJ-{-l!_VEcslGJ12G0BPt{1G3<*MRJ> zwKk__@ga9Z7@r@K47}jS`dGONWU->!z>J?V#j*cj$W%5kW2UeHXT_h`mWQ8^_BZ<2 zUyJB9HoVrxN(Mt=1J+`c)rMA!?Kgv=hyrV&{P`r5!GyGU1bDPZ_d1ZpixvuIqa%fO z+u*FS!QnQUY6JgoFLVUtXkYziS8wktr8OWuOXdV1olFGjW1IzOk>HD6*(&hzWc=?o zu&?I>yA;Z}&M>Wog6Yh%iUZP_r3OIywI~CUsem*V;U)e5o&|;al2L_2=TY4ag=>8u(Zn{T^xQLGqIui$8zYhdutT z_gK8~FmDtNz(s;K`9<4FWfJ*lCldJ(AfZOj`#0}pevbgZi6AaI%a;(v+5e^^E^)=O z4cR=9px(mxr}zSS1IQ`9vax7p2`q~w;)M}Y*)B7azwf4R00|L!HuRf4+U-&|zW828 z-gIYLQ@t`a8IW@_*;c+`A5DO-TO#Wb`any>aK`tR$cW73M+OW^*+6db46VZ0W*6e`X|q(dMW0S=j>_ zys6%;MsccxnPY!rIn}Y%h)#8EHLg<~U7|bX?-JuFf0sy4`L`PHsg5pDpYrEXe%sAa z9xl(#&5CuluSm{}ccvieW50R736m*z$>cR%t-)bl=s4|NM)7Cui00Sy%kb-m7+=Fz_8 zTIW_0JL`(sLzlZ_l*=8U`$ul8a+606jmz`7;)CBBzgv@>cRB9fN{P8)db10IIJT5H zteh|Al5;Niu6Xj9GwIFhm)L&zEZ-L|1K(t%e)EDua?#!*f~0aPlrs%nJE|&7!!DW@ z8rD+m#A-%q`M0y9*(3dkcEl$90^fueT|gy&v5*{>lEq7>b;&MeYU6VB@G19x@i1v6 zsHHEuDGNja`Cxm&~%B@-n5ui-=OF((+RKLnKKn1*p(BtujB1mExZEQE@$-t4}3)c1Q|9 zl7Ow0sg;VQe$PuC0Wm~tg+45)*OV%dR!Y?%zrFQP9&D2Nk|R&M46syNJ8UhvDl33q!-gw@=!XJT(M$$m-rnkL;kvpU%qK&jA z7D~fI35m1cVId_`9*`K3NTwtn%oi>oQ6pRwNm}UwOdlu;1bk72fwJ=<2 z7JFU8I`_k(JWZa<5nD8RksV$qTlA^Wp{((&_*yqpJ&F<^$x5!vF~Z4V3}1X})Drgk@!R?iWll(dX5W zkI+YD-*Z#!Q}z&IDaFjFV?7I8Zfy6P`}jRXZv7}NFT5rz`!Cixh*q{_DjCbYw=a}W z1Y(Lr)|vZqg)K2RM)TWD5z^xNT(;60VVS6#G5Q}T$+9b=63N>!`CTgEI^Rxd-fO82 z9$*e1t6MBxf}L(w?{}$M<@8T~k^p6AxKF(bJACC@^ahP0is#^5LNdQ|SBX-szfK`fA(n#GS6?*!E9*dCI$PdgmQ;?w)o+}3<`@@Q?|6WTYG z+q=*Q(h9jh__#ZF@`6rLS6C1Hv8A%E%DrD%Y7JcOJ5esLo=#Cb!^b1qGLmtph^JsG zgWJ&M9^g|#ZH#Vid8@(PaQ+qtGtpfb*>AANB6&JWiec^})yUwEHL21rw*?oe(wGoQ zYf+{CJl8CkZAtE`fy(o`#HS8A}433}hS?4)E8c6yT-sjGm`X@J0 zUGYz5*lcaNw@`@EBu?q1)FFvazPe;&Vd_YM^x%yO+S2$$}i6nQ1g_KL`POU6+ z8Oc~?F;A*9-fsbpKP8%ZR+%0vq`b_5%Ux*l6(+rZ#4LS{-)LCn*%Mx8s0>*PF8A#y zm)oHETUtQf#plaisC}E?9xpzV+IP7_qg<|j*c@pWiQdZhiuIul*dFM*MnEJbw9hQo zZVN7Xj7cskTf4B$jnVv|VP@t5Az9O`+vv*fLrD2!j+Gfl8@`*e+>mI*i@dtUDr&CB zP{wNrmFUnjrkqWG^9m8t>aIXmJTClc8$bLvuOOhIvMZQd;v#9y!Y)jMhPN6SvMZYA zoauOv%A!y8ho85Lq!q){_BeB1N5`hQ)KWR21K!}IoxqGw8iu`WW~XC+!AeLijWuxx>7uG4N<7?FM2{kWFn+ti6&yoP;4V^a3$N zzPJv=ivNFXqP707G+cObQQZ_G07w0;wUo}D;48iLM!@S5HoQjbs3`aW-gu)28YHTe z4g9po2BeMU1J9?>nxx@#$CzBRSc3jw217WJcEu`~#uJKn0!bi0C;r1Cp?@|f&a zHH)>sa^J$*rui*vfwy?$)D{&zE`P?^mT9kBxzmfKL2J6pe$Zt{K-Be{7cJ)cs%PFb^f|pMURu&pwg*w8-_0T4U@0TBJ=GKiQ;RVaVK4rxu8BRKdZ?Os0CBKcvKwtQqLNIsKVmUDNL zz_k@`^_!fjX0o1x!*_2}x*%0+*K-hJDHT(Kaid=eh@q8zncL}Kc)-#xxTPyV z3{kUI+^lDKfh$0435?`0M@B9n-VKc8-sQet0pfEBG$6GKvR)Ab5?l5W11fZ=*{Q=a zHNg(0fj{DWZ`^UM;X9i}%6Ecc%2!%mdb+r4ubF$FZBC`_)>N|P0^$WZ z5V>d{85&$&2&Vc{@a6ZJkfXts6HLX0^Beb>kek)`a$sif8B=w_SM^e(i+!v*dIG-E zXfo*lY5%rHWM-Al%9u(09q!EC6us`n>;^LY>(5V8M|yMR7sJBS8{16}1B^^k_#BT4 zDIavFOl7B&?a|9pmBjypE(|N3$~2J|T+^vPKM5bHX!W0; zgog2QZR$@GH3LTfd%KH@RbIaf)3Db;lgxt!oBsSHg_Bm#&-Cz(GLA57{pTkkprNuP z)=8M?dX~v+=OGeibpSmU&Sle<%yp#K@>xoCMQwBz=@3BrjXYn5-WlDdW}3t+lGLga z!Zk@55_S|GX^FLJ5_X;M=|(teAyIe zn9&qb4a~FpPvoZ1%48CmP+92!B~vxht88UR2lwC*b}G`Uz-X>-S}?A@X=xUja7imM z5}sv?Z3AnZqgR-tD*?_l8w|*2+CXJOp=t-dGYq>_v>BXhqxQQkt=y9AcVQa#I%v|l zDreK5pQLcosdE*=?=Wlq=O-bcp)yx#qvk7DovT=^(NIc@O&^eU%YU&2T3q$+LUhqr zxWzq29hA2wx!`i&_oZQ>exbS8T!Afh^FL=?S9&uSs^*#wObgC*$#hNXX}SuVZaH)V zvRSN*9s`$yskT}xxn_-R3!QW>6KbpcVc-1`bHlWspM;NQk~2Hj+>8O08{gsQ zCv#bCTJ(@gpy&E(5uh)Z>K`gEaj)%{4wT#&TF&^#11WNJR!H? z=8u7AxS^{+ObfE)qM^m3YN?+~GnX+FD^%~Y+w^O0(=zau=99ok?l$hJWgs>M#?%bO z@kj}yE;UDKHvoU#oi_sB*-cud;jvvt2q1;mI{83b-;QJ{{D!1()DlFh1HH@EB1!|F z=B+dW(pqirCo{_?If2lx-TK*g>Mm@gskCfD2}jBJ2D~h(3YhB2!xq4U%#W%qud%RE z;onHuz|ZpvuTi(NoirjQzx*_M*&6V2C!GW&fTT#^;TB7385rMHpB8Cd*LqA(i*VPG zNmGGI#a*->mTPI4{{NYsN&{cuwvT`p8L4e$GFYs#53rhGz0%T_RXjfkr%#G!nO?JV zdtxUTJLK&gAZFA|s=UOrFp$4~+j#c5D(t!;2?lU<=^F4j4~BJM&H8&M)`Op5G-+ob zwU7t1fT@qc__*@?*3dR8xyia{qTrL=nC%lV#nt>)TX4yf-F%VJo3d8%R4eoU{mP!547h{O+uU+W^p^J4Xe-|6|bt3Ln5pMfyqj=Wj8bf4$}{wkY{MU(gjB>t2u5%6FWp=o-34%GvZW zSVTyxO{I~D@Hease+(7^8Y)etb^0fh`;ptYi`CQpd}UhHt?zPIM!8KcYBTI_;@a%A zl1V7=Em?{Fi5mzgs8mAdLVbS&mSjE6f|s?QtfyJ(vCh-Te2X93cL8%XWxdHAu?D30UUL%7K&e8?3lmaa#;`&A%cAz2X}$|n)BiowKw2qI zs?_6hw0#BJukf*>cuKG)*>6r?%te)!+b{Xv$IQ4`>Nppzgo!r6r%mz_OEu2HQCsma zVib%_yK~F>&0m;SN~stzbf&1Ocph`knPzBenlBe_C~meky$@J3{JA$rh3N}+F}7LZ zf__5;vdyc6#9WVBu`aKyF!auA&Zgr%BBa&vUgE)pueJL7cn<*$m7!8k1DSrQkl2_n z#4BdYBg|WrJmgSHB(10)Htb#*pDRrLh7p0~UWG|s-?hPN$yW!(q)YI=VH8HD&sr*n zbim!q;gU=lz!Qz6=Rdn9K?o9^WBIs@Uw{#;|aOTBO~xq zvnyyM_XD?f45R{qahmNym$Mvd@I$Y`GVn=m!cJgXsb#O!uQ=l}kZQ;z1^k!D1;o(G zROVLuc@vf%;(AtqsaY#-*1IDk5L?tUEADH|k^6^0yc-zFeaC&h0>tMMXh3QeWW6E= zB)0k?zNpZO*{Op!HNg(0fvu+ zLR`mt*iZbIH))>OwHpmx7BNeSLK`S(jmut7?T0UYn14jR6yNimIeZLFSu-8G8%!37+K5I$gq}4^cuJ|eA z6tmW!wS<6%%A#E-VWR6jCa;}`NSM_D^cXCcOQX|g$P-v=T-luMOB?>{I z)`?Kf{y?J^(eEoj3P11*(uF08C9OP1w{$QUNrzLOwd6W!{aH({l1_it5*PoQ%^uoO zau4b#1|NMOqaY&Gk(S z#??11%_0*nX(dMN7N$22tZ|NBVU8xMMGKH=HW-l4w1LWmLe&m@XBc*=XfwFnM(ywV zTvZ%;^}8?)dmS|CT$Quwvz8Q2I(4o>_**_#Julpyf`Ep~T&0bguUxeYvRI>`rgh7E zS($Owy9?1B)}v+X>@j0N2j#6vF1Xy0-Zq8$h2{pkh%I&VZ*CT{T&-H#foY+E>EP*g zR!`Ga*mTRYmOwU(mCENp9cymJ03qd);aSUER+|<*q!Q@4zFGwEtR*V1v#3#Ca7E=Sypcyhtd?PY+Ow7v zfBVTA5l?Fy-*th4t2+vw>Rj0J#O+0J4Rn21UdF7YkbL$U8{yE2mFnqtI(s_Xo zeRQ}aeF^w`j|n85Qg%(q9r0La1b*H~fsx$C@y-Z*nUMk`xpN{T@ZwF3>{TFLIcOwzLu3RV>^*Y~q|Zya zK)Pp8M~)sUj6k|)U?leh?}MvAdR<^7_jK=Ct3Y~PU?fM!lcIriroc$>Dd9_yO20=n)DdN19vC6c+p zdaO#XSoiyH-VN8zH~3vkTUj#nK9vPC^~$|vAX9HE`!4e)eY7Q#p_i&cFnv@M0!fwa z(bje8w@L%kYuhr&&_k6Ge71G#mho+tq2sm0M_V_g>!~!D{?sy(p+_kr_@~x0TSn%s zJr*@Bk<4Brs`P6N)Af`FrsK83WSEwe5lnw-8OhM2lo8Af)H1%pdLLoj5@S3D)Sg7N zcPWzigvlZ~T#45OB@xUtqjrFaV0pxl`2BVgs$jxc*nqW&euhW%IuXsBBa%R3SnbGz zS82p9t40w8vT9T|Fi|aRK!RG?z(ljK0ZEmO0B04cG%#yO5d{*;%0?tJ11Zh1&pYcZ z2MPGL)EV*4L?fjFiEI@muut&ea2>d}64nHqih@a{gggX=L~N0^caZEhSu$YyASx$1 zEo=I(5Rw2S*whB1?Rz$aDh+&;MW7e~JljcofZuS^I`AKyw2R2Cg(*R&Wr7(!<_Qc*CA9T5fAf{k%fMZrXth!R+} zD7qktEHLAt)CEWWei2Ku#AHHm1$#*Z z9%-9o)eb)0H_jWtH#_OXuNu5Ol7L6}!h8c*i||?mGCHaq42wjd(g;CfOljYM%bo+n;DA2dlSLP z(T&s>7=v*Skf4-JIFJaG4h(#_$LCJqBa_kgv4*!2v&1j4D~14XDvSwf!dXOtM6T2U z*fogX;z7IzcvC^_0qs-t&RIdsGE_qhOfX9wfCRJD0Z1&XB$!|pN#Op+^_~M6*YW^B z_-l7d?0Q(ysqHj+ZTT*RT{VR9h{Y`7&S3uL0SSsw|lOdn-%k zPBup=BbczMY*~fGj7P^85|9()4cOV$%8&b7~4(8g8rXqi-Hs@^fK3*hO^X|tb?`9kUY5Cyo-c@!2_gWuN zHZW^5{YIKyW(HF>aO^8P=__}$U4gQJkN2Iz9^gj820q2vMnJY7(q(~fOC-VXiju&; zaMB(i9ZyZ8-_fy@2Bu%hbOEG0DOeO8=bD! z!{)5JC?A-vChCCc3{4MX3RY1tn;CIAkWQy;^tyK?lMDC{y(f-<%sVpQ0NDkpHgN2) zJL$0WJ7t^I@hlqT0Yj zmP~Q%KNvEV4a}G+Y`|IZC${C`C#3z2KK9ol`Wjo9)W%8%Ltz8fVwBZ}R*UU7gQ185 zYoWZJgff_r7LNcw;nBSgWbvYfg4yUuq1`q(t88$%O{UtwPxWJf5s;&O^_yM&1Ls-; z(z9ev0Mf}skUqv)fEEcp!N=HD;9essTepFIJs;SmP{wtJY1Ia%Gs`LtNN1KB0O{AF z3`nZVlCIdoq$|tOSa`xe<@u&{Q`SbRgHA`!Q5q```i9c-C56&hK+qGE#<@`%MQ_Qjsfcz~ylQ ztt;03z&DW_K+fQmjU_J&SXo5T+KhL~c8ZyNhMT?tq=Dth&Tsbc`pIs5@wJWI@rT$% za%)S)Q9w?)WK;NteFQbWZi%cWh~Sop;f&5L(Z^dG6fxrXyFmIvB(yYt9_L>gF$XHNJ4cc(n!0=qOL|J-k=hM{dx8YeVL& zWrP;OI)b57`U`N@v4)B=vXY8@5AONcO0X&?2ODg)lm=!^A<_@)O~}<&7_2H(+Ob7{ z@D2O1bX;fiMYyRnn59CHCPxe?CzyB$oa7kyl@rVy5bDD$usxZ;!A$N!C%L@|CsREW zx0VBDM<&wp{wg`PR>}!xh7J~yBMqhJ0eYLw(cJ6Jisi5&3(NGGk<8vJebV(n25+i& zt5KZlVCLB0SWb0pHKJ1;TaD{fN0;bM`Mbn;%HJi@Q~s^Sd#a;L)TjJ;l;3u9l!wc6 zbF*Td%_ovGidQ_*h-jrOjhpsHbh8y57K30x#L|cC5w;8=xyq)NiMqF zANlINP~U4<$8+i>CkeUrgNBRLzQWY+aq+EQ+@4&M_@Q9yH~ShyNUN`l$==w7-(qDf zh;aKcLkMV)?L=PqpvOfVT4^aQBxlo)86rYjwNOv%5PpYSXdg3#fQE{Nx?bl*lCvAJ zksCo5SUgwE9=hE7;_*-J0Np=wQwA{z)M@E+vasM(dJY%GAc?=wX*zTRaL{ z32Nz!E_wWZNou6u&m{Iwa^P|gj3sL2(?9uAar?)9num8}SD0`Ag_Q69g~Ucb&e6qr ziN4>5er}YCBzO2Y`4EyB`#tW7U*s=R z6l0!Fg*lu4U@;=3)rm%DDTF^{W%yT2A)ui$(P&-%%H+P}HjW9Z+xP<*)o}nxZW+ml zjwDOv${??E2$Ga36<$P?LY3C~I{BwRM3S^pfbu`bW`S4vY%u1I^#6?O;Y71TBzf{j z3P6&8t(2*iilx5LOC13*L~DgUEUDKNLr5#7YLNedmBnL8GGB5;%40s2RocMiIN`1^ z^%{=7ljoY+iYEUI3MO49<$vlQlzq`GUJ$-^%?2TsQcPIAhBH=fLe4i=pZq-zHk0D2 zoKKw1$%9!-&EUKjw$IBX3Ii*9yONd+Vay1 z6&ocgzWiN@irh}1ZVt?Jd2V_F?nJ^Y#_~2vjtZ25L9G?G23F zAuSPYq%E;f8XhS~oP8e)DVg$s#E3*PCGl9jZ~=)L;i5>=N*8GQJt-8;r0G2i^liFl zfyP=GE;Wn2u3??~VNqU7$Ylv1>Wo3qJL;GjR9$q;3Y{+U(?g_`)~9eA_XGj(pNWOM zjHdTAi!dG*l!pX!Ch6n_Tfcd6g9vGLfRxeIg-@}v7DTumAR(ZkGC(%XsU}5OR%U1U zs#L}#6MbF{`GkB__Ch!1v|tK^SV}Q7>R5k)$$i$+esf>Hhv>I{gq9axla>7!>l{QY zTQZf5<$m1Cm1Y8BibU3#`*MXXF*io@7iSd_*XOd8)(Fc)-Hg%yI7yaW5tT^ZZOQLa z2^Tk+IE>W61I*!Lb&I7-utmGazTc&4mD4}{K>?KAJl?pc3YYoHwdf5RMHJ7$xrAhX z=dKc^T7hj=*8WKjT<&PMwb_U@DwQwL05Fz<%UN<*);BNyIP1bKNG=5$?s7%hoE=>I%&;MQK78IvuGL#f-y3$32 zv^tRM2ADFwWM%kD7Xlh8Lq~6pr(#GebscnJYMP(5NQj4j#i>NU3)8R*(|p0C=jZvK zo}XaWFPM3LR1P89TYSt^e&oZB09aL3j#~O%n1)@L<_o52mBOr(%{;FZglKP3DR~cK zj>AA+43KK^)J5Z?Y|(sju3wSWev2Mb3AJ2bt$W+8(;ntoXipm@PTxJA}Ru?y& z+Uc=<`GaEKWTBwNyv%NXo|C-dgXyHo2j)Q(nW;WnJkejPV|z&2KJ9QIi%;)Ub6b;V z?rK)F?-{pup%0`La)0n~ckbi`ouZy=Za>>nSy$!WuPn6&F8BN>mv?lXqW;1z^MJLC zWZWtGnBOs~48O>I+SON>n&y_b8q5vnZ*eda-6MSlStWLOI!a1r?jzMU;f^(_()OBV zq)KB#B(1e)yKFHFW?PcGN|r4qw>{RNWKzmNrWak4h5z`@%kx}pZLf72no-s(oP1Jo zA@M9Nsn&<50q9n;B);wpzC6JJVN2v2DmMF1JDR6T5t&v+Y9dz5U^Y;>)XjmwQK)%heB?{FT(o*M{|>4cI>8x<)|aUPAlK zV(qrzlAkikMP+MGC~{*oKWLblc|b_kG(4Tc?n6jC1jFE3nQ^q?yD7^JiAF3=Uq#LJ z7|PcD8HFN*^o%KI(_gGYgtWRVkQI*$Kgr7QU#x+A`Bu(!YnxFcbs?Pwhp1)mi~Uu%%4Qa11hBO8!5?l*5d zrL{2m=N2*?4&3CLEx(`G2S%eT>L1uEmImQt#kgUAb*9^u#LyPXuiVLFvRlWWFl~=#H*6gB`iV;I+ikga_;GA=&8Je12S?9uV zt@FLDuJkyW4Jw^#vy1ik0=c7NqvcHV`nqw0;zv8cx$LXbY1pxu?1jW8m3|5#tHDb0Z`0&1P57NbUn}?HEV}>hpV26?xT$8hprWunhbe zH(@7`YN+Pr3AwvC<1&zHNEZOUH*x_nw6ZUAEB*TnSo#IGbOneZYSxOI^$ag?1&A$y zksRj8$OXi^fsx$1+}A5Wd@g|oq*g)JD`G%m%LYs;bg0>>GdeZF4yA!V;(Tx1ajoGy zn?=fZf?>*6T3&j(xNEPOd!KDirS0QSFhU`&PbNS#K&0w=lGCY)d@95~5Q$yyMVKOWhocIg_A7@%IYI;Q+xYMSzQ zsc*{PrPlQykDOKWE3B=>vl~ZE$ld7U*Lap27Okmd%LT*>av*ZiJ~A}8x)4nDrQp#~ z6LK`Ta)PP2aIPFRAvde><-p9olttAEU)4*EF7~lXzN29HN=s$Z0n+|$jmXR@os}_@ z`a9g2yD56zi`fli_}3qgq>l9F%I|%Jr#H5n9tIehr0_W&6;eLvPMOM1HD#}K<6IJh zDw6#M^|V(frrM*Ir7DU4M_(9LI+bZ6FSw>te>@UCQqk%^9tjQO<=WIA7HS5J{`Ynl z6|1~{7p7sagC>~=3pV}nND3#do}cOA8)Y0}*7}b}LO?@hNvxAF(e*5o*Um#E%<2Go zES$@xEt%^`ujR9p>WbRvEYcx>^c(#Moef7bx=qbAiB}}4RV9RLk}@RhC_K^P#gbNb z@Jk1Ck#soa$0NB;TL1A#u98mw@km_!$H~$q_n?kq@ZtEfDbO&ZDWV#fXZ4@RO`(;^ zBr>70(g8}QYNS`$%8(B3!6EEaq*Z~@T;H@{Tz%8hEHdGeR$?SP%NE-P);LG6Fh^Gc zoM|=~kk7P%%7jAI4t!@AcByDHIM+t)cl%sb9*lKi8umJ9(zz;U(;ttdaMG!B6~gcE zxypV#5&{}3bCot~zH-&Mip3fYrL@@e0cp4V7h9mkRqrlD7k!0W++);1d25mjF86(3 z8W!ponv2a9*itwDbH;V0H*=wCuIa$E;7pfH*QB1NtFY;oACCmGS*(m61DAuTwpuH> zW{qtNopdf0T%vR88gH>--~ADDgWR3i5n?6&t3MtIAI&6ZcC5J>11dMZ!;eSivf8xh zA(cSS_0=LkUoO=@R9@s}A3XtAR6fE3dj!O48P=!$cqE0OPz}P!2PBgp7?ok)9t@5D zhWjyF)hVrb6F(lgRn21UOKbOIqUBT3J;P?@L6*vi8}PDwg-dd?9(csP14*ZdT@!L& zG^#KHzq5&v+>e}b7qGw03jq$CvXH;PXe$Yv~ zfPdL?9~Revk2F&7)l~mayHK>tn0EP9Z>kL-Eum$NyZ*Y%q0PmD|d^{m{p?iD-_`^+%7>=`4GujZRtYU4NQ(sTake$!o1C@CshW1g-6@!9~vZ>lI zRNpS6Q4Q&wKx(6G;22XI)FMX429;Q_K}IFP!`S3N0!Ydve%=|m7<<2IP_{8hm;165x7PKeldwa@K=258v$bkt`UI*lomkL5ClpC z$ADPt77%L$1mlrv1K%tTIs^$3p=^0;+l|RM7{OreR`VuaQhm7Tj}te6|JL2K2Z)O-BM{_x|BQ_3dBvyhM(vpO2aACT4`YVhNuJ1a!ULDi}sCh$C$4LZqYSwN?ZfR zMbdkKSGl*=fi-UtNm@PdZG7Na1>!YXy#i|vWVBIjV4NzV-F&*<#i!xsPF{cAFjEWc zR9fC}wT*RXj<9rB%qYcHM0V`-d*(+W;ZvedNK6%U*!I1BGFT^kbXb<5Lc&+qS_`zI zWT=Gj5jwRLyPxkvoQ6va6j{G?3EMS@}?6_$-T0?b$3GtwF)+j;9 zsx(}9_h0ZAvGnuMCblGikOlo3xN1e z!s`!;@KXQ$#CkJhqm0RnDnzZ2a(C-kTTTS4rDU-$(dEF_Bo|%o_Hj1K4eK`yr%d!R z0p?7DhKtm`!qo3^alwl#Mm6z6!KSb7B0^d{!I!ge7w%gb{ywi0yzt^_*g+5VIJDAI zT1d{OAF4uxv}&Q=pg{Owx6r;`1py6}dki{tvM^)GAvRXl0eKS*UGDGVswHRAXGYGp z+2eP7ZW{srhmrct8HePey+s5`WzUl{4O}~_Dok=?$;u(EFfBCYOj;VH<=@|C!6*2> zW5jI#)9In0l8-7R$E9R(H>)n$rA*z~y~nD4g?ryOPK>S9_kN-zTRUMZw_L^BQF=J_ zek*JLBnK{cVYF2%pZ@il+uOyTbEe|PP_N;T?w6gZ5;`52w0m%TmU5~w`MR4xc-`=~Yq^h$5fwN?gz-W&@}(n@6pU6`8Y zt!7f}i^ag+@4__f!Zcqn>8CmJKi$S**7@!+``#RcXm2rsH_a35jDQ7pZ6fNzH0;7O zUocIp6lRUhJpZ%^glKP3sh)f);w$Eif3{Srg~SWu>1^&!8Br>-x;{b=sf1dtPuX&X zp_?>4%wd>PUT{U_^WDS|Fj`%VNo~jR-x#H+J0-iB{CG)=$9&S1#s;SS)C3uJn99h4 zl9jj8SWcd0vxL%ef3#;Y_KMK29Dk5(i z?ejY(6kmJyXS2%FOr^j50|C9Vo##vetwPEx)3+BhSzoZ@6<5%hZ2W~puVCLUB(^nd zjf9k!G1r9I@V~N*1^Ivj`u{FA3w3y%k3ofX;j0|w%^JVU#J*970PZqzL{l3UByg>? zc;}~>TV-&*X(n}~HV`eqpe5m)k6A*ZQ5dp>M5D~QkE9);TLF2y4qfhd+`Ywku0q^` z<}R!3sBtRyQ-zePCtphYQv}>%l3h@#uy)TMoupcM`N*wpie77}48Oc|i< zja@$7BE3clq@ko();)bAwhE+pIe%m-qEsQ}g;h=|hhCH0MC}+rI^Tt<>2Eg;q?O{N zNZw#i=~cp(MmvR6Kt5|(=F8w43650Rag{^ zOvTp|`^}S0E2UJ77&=qbRD}MVGtJP{GuCsRsO+KSw8rYnZG?)2LuY!q zd#xD4`@@ghMbb)fMD2MugeO71W~n@t1w7@a;gZ+^{8c0AV<@{O`L)!zsYrA)O+~(ufUugUI+A0*{I=;vNh2ThDWPn6<(id)_5h}4LDD;e2 z6cpMoDGCz3B&vgg|B@GOARiH0AG7 z-;}>gt?Mt`&Z_x#YisfBN4HJLJ<*4y@hms&wx*JC9f%j&r?$z^;Oas!)t7?byKO>_ z23Jln6&KD6woS;*YJ54JvSTBvPWY-`YIIN%Xy6BXjYdG)zpW9OS*5c~Wm3P|=lR_f zeS!OTH<009U$~`?^ybPtQsDsZ<)()LMkXnIjz@)*54uyPvQL__FS&6pi9r>~euH}2 zs}oc0sgP2Y#Q$G@Fw9uRBsE_YT+^v9++rZ9X!RFvp<%pSoBA?FGhp<8sk^9HK=->a z4SO9l={>@nO<%aBaMJ49SQpj^zsRih7j7Y-p|V)jNto#Rn8|DBArfYF06pT#Wz&|- zb)?twSt=YCp^eTW9Rf(dkr!^!JEPmwOp|y;l3G!j8ftEwNS&DuFwNaa5BY z6`>xS5S_|WBhLF!(4EZt)D5phAt=;35vtiAXw)M5eFaG22Yx}iutc$>m6L>}gSkjL z?S)&elh$9jpPG$C{1>-_|y{6)GUKXu7oxj;Jy<-gpo8+(Bo|!nq24xy`h|uyDYn$j z|5>w;<*J+}r2(#ZuIa$E;7oU%UT5_*U4>1z+(`nmS*(m61DAuTwpuH>W{qtNopdf0 zT%vR88gH>--@RaNnD)Xgd^D3B#j)mQ45*yWg%@sfS#4VMkV>HE`f3rt3%96TbhD41 zfGaA0%NuzF#A+GVr@e4XAt+RXF!HRVU@$7fzCDl2@WSm@bxJGV#0$4u)hyQj?Y3e9 z$NJ}77mhgJYpHZN;8%Xc@$F9FH;tszz^)0oH~W@w=HulQnWv=*V@&wCo3IX~P&Hxf zCj4_`1pYX&bvz+=%#W$mI`Gj>8Ur7Gy>kISVx&+mxxb2x!0&EiBzMqHTqE#jjTAJJ zySqDc9rzHA3fn4^TaApsr*2{-7n`SeJ~wTOvKf|X20W#fE>FnqbiXYFDKapUd$wD; z48*3un3|!u??=$>l|^-({*Q^bw5HV#3%Yp3@t4IRk6P0Z1o%|D5dia3;pxof-gEf3WZ%{UH z^vfE4nN@asI1^6L(|>Ju&>G1hQPM`lju!kK8(jX;2bmF&<`Yi?k55_`e1bRS2>41T ztpR^Kkp!RbY$M?NoU{vw2i4l#b@I3YZW?;{?3y!37^x(fFp^3E2_sPkd{Pp4V4_SU z2`*A0F_;inLITDR8xc=*Kj8vC-+H1N3#RFXEeW_5&h^?ias5d!zn-*r?3HPYgMZ{L zz7u%sq>;cI-Xa^oSuLXG(n7Ia|p_I*A!hqdn(s46so7z~BN4ILjm%YRz;Jdp=_5ksS zisA}VrOk55XOrO(jBDg|Fd%hSbztgWd26hF{Ezn})dBW$&;B~#ACfK!#u3s#fDdw? zYykf=KKXW>3xN1R9y$XO8R`;nbV=puFAWWQvbBwp4_ROA+Oy~Idv9i( z$BNau{svv22Gl~@MoRu^f09k}{r-PRUDGWG6(g-xI_0OG_jlAwb#(Co`@v>@{=dWr z@_ZdtCaqOn+I#!9|3rJQcd4s3^(8hG5Iz!*dAF!MhpN529644?$zq1rd1Gsmi!S$% zarn|Iq<_7Jj?P$LS!E0wE>imnQ@_W>uX=HN(xMcL9||^o%?=UL>baeqfVuFcR))W3 z2LTPWbGsfFacHHbw2+)l-?Bl3v}&OqOCtOYx6od^fq;gJg?ebu9L~HYHZqwIE)}zf zE_cs3_2u5z9U3cr7JG7b#sZC%SmiiP<9BP4^Df7RqM}|6VBTj?be*cCZDTMm{2>RSUIxlyL_u!(TarfQE{N8u`yPIW~*30MFOLLdwk^ zy4>@AMH0Wko0B=3KTdtqi65Mgfu^ zHJkM*)m*gp(w9!c`akj?F?oMb6+$#=gx-VAH0OoD2vKP`t+l?#fVxY(5mw97jMXb_ zaAI|$Q+egUMU|$1+I-y#NTn1HUG5Xnu$)Qr94vBBCbzHHlXE0ixucazazY@TA4vx8 z%6JeW@+s!=%Pf`E7mq+rSfRhnCX)0TtCbUM6PjMjYZppVDy6-|N|Vq7VnDAsDKA$@ z6nC8Oc~^m0AY6IDLoe{;SYXaH--W5^zuYvCR*I8)_P89YvqE)F^i@gmyH+*HeslU_ zE~>QLe#!UFH{)Wd<6N{7JK8SqGs!=(RQm%sYAYUykAjhDcWzm~d5>wOl!_5UXNsCC z?*w$v)HD|tZYZ8sl6L~E8Ggx|qr$YqF2*)1T+nYSL7BT?u1BqWdt9EO>7z?In~toA zkXGkCi3b<{d#k?>pAgVc89p@#$}R3Hy9?@AnI!an@YW<3T<%rARxI`%{pMy3du}#f zGW!D4BZb`Sz2>c^7w*cmJ#eOp8&R3I8T{Vq;Zj&CZ%o+5mrrMM8?Vu|X44#Nsm%Al z&p2rn_}50#n;^R;vmq?3J_b=GbZ59LYmwkf=`jG6Xb2B^CvRo)L?JLW?CuL86yLbx`nM@-hS@8aB}fiPnrp zK*7I>Q1oX&<;xH_`0S*y!32ODa^14$AwUyrGlD;9O&mDMeLe{SFo6*`$vw~lSapJ_ zaNs0IC2K)cz6{Z&cIn9@F+ja)bxirY)HLPqQs0!nOReiKL(HoA8?CLyvwwcC3Ay(h zRi=PhZn(%ARoH-dp?#u;3=OU>1XFz}_`-Wl$kE_a8vjr3HR<98ISH_rA*edxt9q%? z-XtW!Z}S?BfV6*GBQmo>kM%i|`ieVqH$@-h#q0(${OijQ)REp?d45$-!{j$NOf>_H zOj7t9j|wRtbf-*ZcQ&K$>&Cex22~{c4eDvTPE57?Hl-?!|LMOzmKR*psV_soM=DzV zWe8{(FW06%DAx=a{lD%_TI?M9U6_Ww4x02NH)qqAAt;=*x+%~d1;Uq^wf-^$1T<7O z1v&{6U58mfXy+jkW_1AF7UZ&NOXfP#YZ}$*pX!R*=q%D9fb<)A83MgCx=qbAiB}}4 zRV9RLlI_#rxok^JtDty_^r-NsNRNsYQE)LIzY)(jr1y88PdT$IE0;wv??%~>zfvgt8ZGGMJ8O* zN{qxu0Fhw>B|rlPC9k2LU_fj^_L+aprJBXX`|*VSDmX^tkFwN`S?8rv2+>0BzfMCa5s-eSYP`EO!C~I!UfXb0+ zco`y>)uu%csRVkiuNDD3{DR6;-0Y(#;EKwty^%*itd?PY+RG3WfVimZwoK~`NWms0QGuHrAq=I z_kGS*cLG=cHIQ_o*fk+{@DH33_!c7tMsgpHjKJUiw^Sp!!~fki0=F3{Xe9Ug$Ot@l z6C=6D|Ijr8zhI=Gk=*5x5qRS!Msg4N57!7h-bg_sxu--%;JKR^$^B7e1YWa=v24Dr zP|7AB)8x;)iaMwG0IyAAV>}^8KnNp{Xb2j~5fH)%{7@1b;|aOH zGO8Tp08hBu%?7^MNTCpN1d|j3B$5InIf6+TfuBv{YCIu#od@75@CGNX0ST^92sz?Q z3IP&afsq{XC5%9VD=?CKyhqR~kl+f8?EWAVI8bU_w~ffP}EJfeBz?0}`#u zb_W~t?r5pfzz_Bza`oW`32D&=B&1amOh60U9jvJdXk`Nv&cX&{m$Mj@UvEZWdnc5qkjX4 z?aHPGrhh~IrMscu{c_`PVFR(sU@1|mG%(i7-DZscaT1DP;!40_ zwYb4R@8J2Dq@|AB(Mzivar<&a%o<8$XhudQwev9R?IWM!)_^A_0|A%;L4pRzB1pA? zNo4^H{Jbxl)_{bNN`grxoPc+(G#s<5ih?IT`Hq19;iOey9HYE>|G>wnH6Y`X>IeTc zvH_QD1Xnij?R-=p0grXk#;FEb(nP<~USO^H zXdg8MOaqB1kgla{VEUHW3!K${a@SVp%=jozY){@9^fv~j(`n1*KMt1kQ@Y<*lU4@P z4W<7BPxFS~1AKR~TmmzhNf)Bu-o@q>tvQ|aa|sQ6na@8X;GsUTtOHk_v<76((E`9k zn79^L3$}BTU;`6$QhDH29)BA^rX(%&aEnFeCaFB|aX#6s0|`wD4&b@YwFdk^65n7Z zH5syiwfK$;^>t$TWDoCkATcc-0x~seoxp^=)T!GnwNZA0J#+#_DJ=lZG$if@p5f!# z2uPO^E+Ab-{0RK43$EphQ4vgnzlHMKz3DDMX!91)1ic;r|Ef(p9BruWd8jBKEl!&% zjn-l2P+6MfB|ZvmpMYry<;&fu`tqtPEw7d2(-A_l+pUK`)KUo_;M<+F4t$@HmYSE! zk6~xDhc$nu{L!BQ9TJkcx!_g*rKWg>MEI#@a16zbtvXX0`LFJIphNMD zd-`}n_^H`ooTUMFug;-Zy)D%oW6K$4N13!y&!8Zr+}(OcS1y|>D}Z8d*N4NlCb{Tx zPxMt;p}yZR-LvVRH zkeMhie9+?}4z0A57Lv2+Yq5xsRxQ*=GZ22XTWBwYLqJ2tLOo|-UgY}{t6!H4*& zuo7U%echJ>1yir#2##}y$|N=H!ZhzpoZwY7ssBf|IAlR6lNhyNN)b}tQrcb0<$ZB% zREa|EE=aN%6}Ga>q9-i6+$nL7ksH=)80S&pn+>gRfTET zMblzaF4s$=LaB$@F6nN*TN(lH%W*@o?QzHu9KPJEnC0#(D1Mrnxu}dTayeMn_O0Z?i7c7Df$SAkL0)867vHL?;7O_{Z~ZJvf8=J5*^S=Smk`zNet99etCTFpKJD&#nf>PZi@B)Mf`{V2 z{UMU1l`(9vz%eChWt}wFg{j}X)+VZRd=4voIPAjIZ@2-#8B(RQ4GSijA7kYWY3QQt z0y9hA#Sg0+2(gr6yV7sZ>0sbqyqI&Pon&!yTSy!qaC@|B^k5EUABkQ<8EHkbKmSGJ zC#^6IyD&A)znP}E8Yosg{Vq(yE==soIo+q6N5_7?5bG~c)G#{p1f zTiNfzH0;7OUocIp6lVRKRy7p+Ckk=>Ws3x#k!*G*Zrntu_Tfo zh92S_?uAN-Q#`3wEALx#O+_$gT5zWAZdWlX40;sJeXPm?QrBNOo9>qpA+1KO?nV)Q zx*6h83jqz4s0}}G&QU1`&=REiF{F@ac8`-rOw+$OBhRiny z$r(KLIo@U0Z?L#0)d1jJoMV#8jNWUGHXVtsJSGOtbiY_&&eR`XY8OeX%_5r$+rn|9 zU1~|E<@mEw@uABd=bOgLVA3?}c6qO*y2u2xQ6DtV-B)xEtuH%GB*9q7+)&g6j6=TB|2F&?G!LB;s_T60rl9yWZq0Ov4^`UC;5&cd>=iF(zlz zy#^wr)d5NtDlUAMm9Zeg?Pnn&prO(e=9aifTB*iD7p7suV`a>N6;1PtFp*Z62#ueA zS$M|o$(G7?0r-zjS_S@-k@PYBT@!Mz*%x$F=2D6wrMTC*?lBN;;e`Wo+s{Dv82Dr( z1x9jvBO~x+vnw!?JJYQl1F1k@#MVkG&qYv!S9uMVf!}k|P9W7#&CBkve|N@ZAk~n* z2Rz+tv<$@1N)L5w{n-sHJJ7*bl#&T*r7D=Symr?yYbV8uXdU|b!FC3er+M8_cb>C znR_2>HqiF*b4O5!>-YjZ6oMmp0Ui?7Nk7yCjZle2L7`{FqM*=XNl}pKB~cv|{Fi*F z2@(yP=z~OSMkAo$-$ZDWOC?i&s0jzZCuwXj0WfG5uk#3?g|!vI-?G+j8OdCggaDYZ zXc@`uw)jwuU~1bklA(gN07@QWwm|Muv-A-H+Mi0*Dwy(jsb|XHrMfA9ms;09(lo2) ze{Ah6&kAh2$AsM97*!TCv)pi*HL0)x@k0BiFBzI!T?nT7Qt+MbF(F5L*V7 z=^tsz3$E$Zk2JwYDq8&`P0%o2u1$S`zZo#{|HPZL*rW8jFb#VhH0k0wXVZ@~Q8?+; z#WTX!nYI3rCJ1P#ES_}&Cc2KbfY8oEB+TjndJ>$=rY)K4NUv#Br+=y|YNNAAhXB%V zEr$~TEI^GNK?*N|438LHT@$^ zxcKGC$|d)p?x*0x@nut>VMbF#H89WWKarb4E0alNLS>}`luXq~udSE4trNV! zr}N@qs^5ia*z2H4=c=4dKhi|uq*LcAgikeV{Uc2f&`_DH^mco`a@Dzt#TpHzv|6|P zQ=1>-s&^NnENd&bb9GSOn&g7Z{h6;Lirdi(%{k@@Y^j_7R^wv1TD7zTlYBYKG`-!@ ziYE0mU4;#|9F+puC{{*~fy=>ETdkE`v&OcCPCAzgF3~x4jknma=RV8aFzq8v@X<_i z49A+AF`#lX7e3OI%WBi2hg1SR*H?=GKGKBB*Sgt9PrwzGhx!rG2#D1(tWWz$6NR8q z4Z_HUWby+?m2zT`cfIh9rmd=!M!bn{G;LM0>@y#CkHXsA`Z9mWY2nQDah6K|0e<^= z9H;ICzWe!sr1QhB3Av3II3w`8MhcAN=3nTHz)u<}Fp|5&OPmq7%}9Zf+_{kvc)=z{ zayOjr8i99uX&?oS4XtDd{K1ectY-WMwOEm;FT|?8CHQbWhjIk ztto{7f0{JxctY+7Z`f7fHYcqC|Jg{P5OPF<6apj+0wcL~Z|haysYy_bC*+Q#kK5IU8zfStP#}@2l35hKXIJfr(rZ z1v2g_8<@BiHXw1UY+!;#*peo1Vg4N?;^6T%K&cuqjW18I0BK-lqlNLg(!dwE|2KeF zC$0b=}idr0M}zr#1$S|a)fuG=uqBY=&Mp8ELGn{P% zJljbdES$dMq&48(ZR}TN;0O9NyuLRZ^5p(MBOXgHm1M|!y?3v5;G3Ov5|E%3Wx#Y0 z1d~d$@85LJNU4@FRDQ~aOr?Q8<0I+__G1z~hcnzvLd6(F5`^-XM6@Vr zw4$k@-gE9br#GB?u9~YgL=sdhS4=fDgqlm={M1YgAw&pDO;yy83Tg^U2~sr_Rll{K zXMNY+XYcjCp4_JY{@zb=pS9P!*4k^@YY)%!K8G?YLky5AD%t|()${j?>M3Mp@zg%c z>M3Lt&$CT}^a=RftR?|dScMFbx+=l|zvIHH$|a0t;oA0YBzQF-b>?ai4KrVY3XRp&yh`Xct>tIvVE z0ZCa&5J2Wa?EsiHod^SbPc{~SNqkxQ0CH7n)I#!KalmOT>}D)H(o5WKK=NNa3CLuq z!hqRch`NCDMvNF=512g+80wsM0L)}4p#pq`SH=k-!%L_D8D7#Q;P;(zvs@+%V=+*g z`VCDRmiY`0J^g*VEeAO^QQgZlQ#vw(*ei~R5iRAV6#a#lr(>qT1VZUbH>$kSbj6ic zNt@ZhzBOWa2III0#uX_LHXOSKWdMAQniMII#Yst>`_;0CW^#w-NdU2 z={F-4pLkT?R20h6Y1+QE)mr988I#0GlKGufByT!N`e-p^!2SRW9{`*LxV_ZCncERA34wohbApj;ur-li<(ddY z1w`Xzh`0ts@|S`wq1ft2N_9SduJLer~Ygf zRyvJ-N;@3G$u;Oe$NtmI7;ex>Ca^H&zEzMMBj@ArARrnJxWo4r_gHmfSPOJXrf+kC zg=<*;w06S$2J6G$<^%!>LHX0DazMbbs2EZn#Rax0r+yBxp?;VT`3YbWxEq0Qu?38% z0{9+BRr9Ha=lZ?mx2k0SXc5~tPOYx{#@U@km%REzdmM5^@)00Dn*BDXQlS6%zLY8n zGMJWf!v}k!O1nK zVWTCEG`R+=s)as8!{!n*@eA&p%7^1VM8k%g3Y<3ugKb<9&3c;?!hUXQ`P-a8q+Y7c zP4_kz2zZ`A)VaM)NZgkXL=Wg(13Hec(~DX4T#2lh??e()oP$x z@eKPAjr$NSRz$O2e1uxRW9lu*Tc6rhHHfr&sp8Z$2iXFGg-Ngp9rhs__aR!Wh-Mju zT30vq+$a!9-@vG5u+yB89xFPv0p=P`gHkx0d6#?i)Xt+IkPwtatvr04-P;RpQVHR< z&!Y3)+xiVsb^F_#=->=zh#uqPZd`s!%kz1xfAoOrCpLX@s;D>~cw^JAIBo`U+7~>c z){Xx_y$kK$W_pZkqlY+sn-jtwnQTSayZix)YDuJTbHY2^ZIKkGd#-BMwqQtOp$QmE zBFRhB=SN>*3?Dn+bBsSAQk~AV zuP?HzE;51HsLy<%(i@EFe7pLB5(E-vyikeTbic?t2j;2bnVtWeG5xsg90U?(bk39X zJjX2$*E6Z`#I~TyxM>?s9s-on3@10Pf&s2G1Dy1!+f7*MG~9x=Y8-8csjsrD+*0A~ zEK~NrAGO_c{vCG*n1u50TEW>r-LDGdV8!~liyz?b2BiBzbFZ>jL6w~eDihy=W0!th zl3o%m_91G9D<*+!(4Ckx;OnIOD!RYg&l{@W6i1xH=1-SPR>hV2OM7sNDVKU(D_MgS z(-53toKLc=)+gX3Em-=%n24%#++p(=lL~R5#Mp_Fq-roMIMEzQO>+88h zT8}ZTNCf=pHp19y!P+B2*#AH`b`22o)P^-T_S$aj8sKjksw1Rz|3nD5nW?rmrFELy zum+gh5dJWV2P4gj&Pr^#x7)G;_-;pS0OsbcxOty#VQ~+t8%MTT9_>_ zF90N-9U-kh^ysbv5@i`{fVp9-)ec9ZZ2`w1f~eCCmY|2?fdA0!k=s_U+FM3I2}@@y z&i!bB-W^2&f!w?Hb#ry|F3FbOnFfX-C3j1kTOD~?bNCbthU{p+k%4yj6cl#lZ+inr zZlzg)0wCHwD030o=>*8YEA$X9C?uIGoE=^t%SfIw-VkG(zw`=N(hW!T0$BV z8#PJ@j3-(`8d#`=7{N9F6WLw<_OUE~{)u$MsK~&azK@+beIIjk`aV|2FPEEV`B@fc zc_eD#MpIg^HLR>T=egniK2@&);sq%>PuWX@a7Uq+j(>dQw2w1{@+U|7%sDUklGN>Q z1TdV$)&8;PmRULivsRH61>n4H*iNu$`aSpBE_yk{=agN5%q{vBIbzCi4sQSJj`-h#BQ;9@1)~Gwee&9`ul;2ZJS9CO@rBj6RjUm5aBYwppgC$Iw{J{{e zZ1TrGJd>EfV0p$gOM|3C^1UyO>3m;Syy(#JmfbJyz;v#`Tf%l6#Ft!Wy-AMmxyEmj z<6Ew?-z0~NPtTSqr3qTepu_QXD3CBG6iE!k^Ttr3rqf_TNkoVY20={}CwoX2Bz5N? zT*78Z;tH4)_I(lR#aYrUGwpH>vZVagFQjRvUS*~ZQk==QQ=pu0J1o-*rgd0aSU2C$ z`NLt{$Ixc9ZngW~KB@1iva%1+c+f+V&R8XxKEp}pTxZT$FyG6x^@p-SAR(BsG^pi5 zRc9v_>I5p9v2t>XnyiZ2(<{TPuW6n+&S~)lNCI*q+_Ql{M6=|4vQ9C_Zy)Z zdR;fz*q~Upu_5I(%}NCnS9TwzqrBLT!$|azD~i0t9HgAU-*BgG0OtDQvPWb#06)=j zf3^&qT)P4I5+{>h4L;YdlBj_5%onoK`XI#*=!|y<%rkrF3Ty&KW@Em33>byw)-d3F z-8XC9t4G!3y?&n0^8=PLXA6yzuWpzftfcJ$9Uh4CXPzC}HHM&~oTh!Y(y>LBN?uhFZK_|H{Yz!`7etn>%D*eM zxtbytb?16zY9r@M$KR-OM~5vnkT!YQoMK5vjgut{Aju|A8Zdh9=NU5rBy2)O_7NdL zm5vFXTIdc=0zKw*$}kPY=|C%mEjHi(&U0ivfJE5AmkydCEnUsB!89|1QNnEIbSke2W}Y-`0}yVg*v_T@VF_dMna{7ecMOP zh49fPZdnQ2$7;dQQJ``+Xx?U#V8#$aKxPbCG%+l{OS_=eN=}6YJ+|bFlCb+>-6zO`$~RCx=bf$y4LG- z@{WY+M5ce`CdLdycF{?4)~>pbU3DMT6H|j`+4RJe;P7iOx~dUz4Sv`-8t~bu2QVe>=IeEH+W{LBV;_VqBE#=85yfW3BC2n8UTQ~^M zaSaY|mUi$Z*MMk8B}qbm*CVS%drcSpO6kB#+M@ivY4M0xi8G7O_%;@MuF~&a>VBJw zE-+$L5sjMD>plm|Ct9CegRwBKh+>D-bkSH?s-y*Dp&3t1FRrtE!S`GP{YRCsQL{Jj zg(Ub^uhCb;O~*yWse7%mu0>nFh*#oSvp%}2Dq2zZP2rfcSEpk8;Qp1DR!V(?XSsE; z^-$w{lwH*$z-JpSN(X05M8QMA4>k$(5-2flAWD*|+qw%*G)Gc1sBNy!VTTQ~R+{3g z={FJ0nLfLvs%GBvZH|4JUDb!cNx%f~5}%S+0WUX{JfQJ{y)=@7m1k3*2n{^D;HIKr zFcg=ZD0Nr)W7&!3NNSq*m=#zRJRGg=s>#;j_-yjSQ}!xt{uwTkA?IYtno}rTQw5vp zr3O(iFj1rC)GwE!q>Q}Gz9zE*SxrDxt$QP)YFQl-ReO%1clUbJEgYV&v@a7;H53NT zrAG8~mlUjaYofrqnkcZYCJL;B=rY%-I(KWDuiKZ2sIsnU4!2DJ=RMKSyEWuDHoBYI z)gLwofq-C)kuv8zyekKvv#U%PfDbyQ`%1QyfPZMH?(PAt#o6yCpc}4qx4+9?14Nq2 zUYpW-Qz8WXT&Bd@l-73=A>h{@(HYQ5q}8~#Yk(Ng5u$5wl~ZFZ7<+#!fDd%kPC(31 z$t!NusZO{8h#4|Y0e_aL08um?&8BaAvaK+h9_DgZ0duuhU9Gn!LO^s;{a4-Bs3SL` z0r74}Nb83d0U-p$=ep9gNMKdRTe@9hXm>?0=su>WPFGlh9*P5AvflL%I{l8pk8qsa z&@q_)mACA@Iw>;uzSG7Fu}{zYf+4Td-~0nZa%6w=4;1F)kJ*AFRZ>@A7#XQ6FvKtG z3KXLxi35ZGvcF3Wioj;_KoQNP1Q`6AF_mtv|1LESzF8J*U=l!XE_~WEfCy_8f$w7x zZV72TBufEc(xN4#aY;r9jI}Kx4GfGDsQ$aueJsoGR}g=UiVV!@``DS&_c1r8?_+iR z=V7BA33EpFZi-MvcF4>>7=g8#i9eVJOjSHTQmVA{;fqc=Jn1tj|u(zKF9B(>vP?| zy8tQu`b04{GLnNcFfma+XPO*}i%d}X9FGdBEVwhKvGO~Yi zNm7fF{D0Yb-D)D3BFc^kAX&zUqMD*vCki>j^Xun*CA&_j~m z&MC?CiDEkE8r}=iCyHTyv}x;46oWuQup`h3nC!aH_;v7*3G)Vk-Z?9I^GKF5^6xaO z^G|md4rvS)84!Ss8+oD_xpRh1q?+U_oLCj4aKtGk;iSqVEiyMj;ThbMhCInf;l@g-L|a=deW z{94n+PZJ}B>+GkAaq+-b);ds14{8;I4#(G_K*F3*Bry=r8$XGfPJ_uL5g{@d05wsV z=^vNAyl){(&^j(W}hSWVJ{EWSZ?1C}-LZ%Y=ey zSN>oa_c62?eaEWyk9@AG-YPKcLo^=rkfd`}Nv407n$Ee-oU35|zRy*sb#H>Z)(F(BVfh=@XIk~H!@A4YgVlkN7Ug~8TynnSJvNp2rG_;ry2R>V*ED3g z8r(`+XnGJWInniJ+pL~usIcLdQ!YR@ib3@lIUhvPYOSW4SKF3)$=p#H z_ma6`*59Rujxfo29cylCK=2e$_jjpFUJWgBxJsgz@}dmj?@}Xj+0{OJ3LJ=hwg-6v zh}P{!Cohr;%Y(A=_nhbifvONn{(06ha1tpe2BpaE?^5rpNC~1pc34W5hfd|Eqx&jZ z_L;A%R}Ez!ar^8)?sh95wyTUrz{4NXeI<|I0N&D2I!CNeY27Ii0-o%sb-?>LY7_9j zj#>vi;Gy0r;3EvxbxP|6i4gG3+X!hr;$bck@Rf$@B+`0AA_Tl8r+1yb*1Cu9k2e9= z9JLO(+fkc<&oWfkZyb<>twXa$Xm0L~+YLxCRQ6gBn%#tE!+F;L-{`*F4T$$TakMZ% z9!^Vo)=;ha3Yw#Z%3Yb#BKlIA0r6}{NDJo*As{++grzdWkv#rp=fbFU4fB8&1Kf6- z42M>~V{TD8;0L*@CV*t5l%Y57rGZva1sv&FkLqN4p)>k@&&Hzi0{_g%=L8Tlq-X;& zP9w{N3?mg%z6Xn zD$@-?i4+~$SW^vvZ{$OA0(eV9wZWr-#>)FdBS3q_p*GirQFpqf?Rlz4dcM}Gj>-i_ z4|(Je5H%u|gbYo%F3Mkm9(C!J{oO)z`}ZvVz{#x}fVcBp-vo>-pnj@qz#sHlx&eqK zGMxbCeg;0>W3&l4-}dT0to$A6_ETD>>o@fKf_wd#DKJ_^E{@iI%bK!F-3z&;!}b6d z4?iPITwr`Bw*)Ts@$|8b5SVe*64GGqQtg0WmM1jrL%&Evb6|)&{C4Y zB*nhwtm?lW-onXn?8mw6d>`?_P>CNlxQGfH%t51uFR?x#8V>mKLhr6BzT$_9Oy6b= z3)k>$LDJ2c&$mAO71tn;5S=Xy_!5T(klVzjY1&tULVxfrLOq z{cAW(FT*JM|w7E<2tdU!7{=tJORTmP|bkXV)bpdfrB=UX=ZfJmLJ|0DV^UuvG(0H>%w zykSf7TNxd2%7llD#Q1Y9O7aMluPg3g10?^BLVE`@CjTz( zNwM_yH0w>001yS_wYrQ>`V|!29p_bf0}u^@_wkOs!_!iSrFM&bh??QEOaj-SJMrj% zuah~em~(A&V{oS?;?%c4m#nki2>m8gF7>)rvIbeE8SpOSe7{|_N&+Wo!BeI%CZg*1 zO~d9wlL~R5#Mp_Fr0U+yf)mY=B<~}x+)$6n!8dK*`H9az0nxI>D#fgF!LSLEvP`ap z0amf24C7kRY z0m7*o*6(s2H!n37dYbiT%4JcA9}q2r9}p>BFUXqTcV>tP|MCByen(x2WT|U#_ir$U zo@?l&_9WMh!dcfa|LPC{KElH^0bFs^23hon2}QmmD53d(KX zP2hR1+tKb7QF53B0+OQLKql{qX!PEVpargTRq#sg%Hh zz$dve)y#h2wq!*El?O~{+WjM0GS86*ZOcEzL?ZKi>Ld9oZ7yN_JjvZYua8XK=N)SP zVe}81W2be>99xaHfpb!;f`>G;gVaSL^!i4xQj*F}XH=;pP2XQjajiM4Q0s9&ea)|_ zt;X3u3rp~E4HVM_5rcu8(V#O#(J)|LXnGJWInl@6>}nZ>((gI8TaWygT_rAnXWxpY z$_C(b4W(mveM;+#w{}9rR#*G=3fAut*Z~TKAQ*uhsSl@b%eBTVpu6`fbTTD zIzn2PxVCG67|;<`x+jELp$IIwxhuE=_%uiD1jHQeVZ|NyS5CMBh&i%^0K^+=}zxZU$${duB9JQfnhwQM{B`gTlQ!zC``?N{soTIOkIIt zM5eC55YMbDP^t{*rOJ7WWdzjHQlWKzZkiu6f#fgzzXrWC3Us((>N z%vNm_Xw-oTfGiq5<_U*oN(g+ZC!7${_>Li!5E$EAi8S75S*V1-SlbfPz(6G|EvtV~ z*2l7Z?LtanRAgXI-^b3JzK^*%eIKjiUzE+W{A7!>tgY^R#FW;fyauk#bHgQGvDX0c zf|QU~?WIAuqtHvow>e_k#~DI-yCbH3+#uU)+n``NsjC`b(V1C70>9BMngG7TP_0EY z=A|CLC}VAM9e3s~y1qD}0DZ2JUzA}ZBRTjHKzGmT)h1`?YVXA7cvL1yst8KYm^Z&= z!hYt;IVTDQobnPL8?TJjUPRF|CABEY{}-Out)QwAF7NdzI*w%OFUp|fDpDVVRB$LS z-_3m5xEV2-yv$ux9lZ|w5RC^tB+2Ajk?AkW=$vbKs;Vaj^l^@9>%S-ifrQ{xRcCgx z>r&&_!9ymHONuLNuiok`dGkn?GV<>tSxFj$MFs>Q<3@f_hTJ*BCQ?oE6;7-QQaIw2 z7xZ7Sw{l5`jSMNBA|>U7ioHcf+=@d2YnL?ZgCSVitdDj0B{6})?u==c21$qH`BgwV zzw+0=OFJ-~Yj788$3c9_b=Ggn_?~P0n=-!TI{PslT%n3yj z1M$2Ol&I-6m`)NAB7-4N6UC`s(}g+R`3H}%Gm@|ZCVhRAgm&>Jsaa;uZJ0J2vM z%E!q0Ac_`jHPyW0w$w}Jj*3cT&Rpi{`kih5wxg5qm_&%TeU>#ToSy*7`6w|YuLQ*! zoq`dZqVmTkQ0Vk5krB>S#zonQCQR8<laUs|>e=4)2zA2z*aZj|m`p$Ol)S(4vD>g%8fBonV7NtXA6k841rw?7|f22k#WEU5COVxtB4xCY`? zd&KVbk#K4Qobu-3rTn)2DC2poUEAkkX}~<=dDkTHabM`}^1jQivaAB!`^D}n(H-#d zhSJ6U`jpmNzT|{}Z!=U!NbAE+xDNP@FFS8iY955b?{|gQ08es-cLJiK>apeuzc&#A zqGCr#>r1ZiPQc$Xg*!r8C%YLt0bjX|kk+RYAs{a3B+j!veOG&71utCcj@bary|Ch5 z_`G{z0}#7am6a(iVkOB0h}|6_t%)1A0f^llAuUXowIE>bg_UZk=XVC12J0VX7HDz6 z#>+As@a2Y+9r^`(vFb95tuo)t6o0f`756lQpOfKA{iCYXt#e*xQ8?3`yc-SQ>PfX5 zT`)fQA;`A7R}ErspIHfvH)LM=u)71xaw`c}OGpEABhy<#{D7{J?b~ih^-?yU#cQI4p$}L}Q&nWuhk5_#7Ec%=A9L%f$9cMS;ERlhK`ObA zrPw1V#C_VuRi``6=r2svb6t(qW6MB_mZNqPiSlF7+xL+4y&KCb@=v)-|Q`B|o| zJR9BpvJM0ig2`JK4LI&o#;*ghbW=1qb!A-g%J6tPcZo_F`FD99D4ff>V!_Wjv7ld^ zBhKz@w$wa6v5olKGux8AMb5Jrz5hF&m#MGpH#iwt+Cjv)21Gj!;!Ccx?g;QbSN%I- zrJ)B_(iVj(`r{(E!oC1=F=s1`-Yoa(UYPvA~HCYgerumGO zR+fta(XbEExDU}{MWjDSDL=XyM6EBFdj8uJ5J}&vT+1%V!kd;ybuZd0bPq9l?*#+` zW*lyp6R4&WivecCD8=+}`|ef^nS3RP7wmHy$(NZn zHssH%DY`nGUTAs{EjiKCe6p`3Egr~vlB=vma@Qza6^NDq26i372uKv=bR3X%Lbt`C z^C(c4}xL=_YJEJf}$J0%4-AYimOzLYZ%92b`5{0 z)4p@Acr;V~fS}p?1G}mZffsySOaKpe)K0*A8cI2VAK+vYz(+Z19S`ki>MAFyAL+)g z*IwIMdu>vCEhx`T^V`<_-CT{ye;9}wLCLif`7qR~^*l?6ztWYaD6X_caiuYe^Vl0; zXYBt^>2#G$NivH3R2%*`{G=)kEyUOGsC!mDF(q22d2yOZ2*4RP&(_Z zPicMoc#bA#{#c{z?oVCz8X(fT8I9Hr?||$zz`Gc#Bc!!E5dyy0^y&y{UEtcT0b)Q$ zh_1nPTiwKUr@1XFfS+~LPCyLOK33dyUvafQmDcUqYtk2@Xg&CTiLVEUB;7)Dxp%nS_HWsjMG!r1(W2;fNB)D;-UYU&CM5zV>+#kfu4 zz~J5N&+C99`!ji<@PDp4IL1Q828s~nY~V<$G32;kxYv zTm|(dbd~D zH3lPr&4b)npmeutAYN!U-!ure@&aSNbo|X5_6ogFe(Q$4f}ehpLC{m$ruuq;*V3b> zz~As0V*-fbtwl8Er5+n~7CQHFXYRt8*Yj?60Wv}9ANe8FjPT$Y+V1TB-%KQ_uU(6h{Qm{xvCvlDeN}cG$<&`@ zK*v?2`cE>zp}c%I^I5%S#Qbxahcx&}Mh~L#pa+rO;3&!TCmD3kb>=g!Fn`mu^`B&b zKtix5)w)4;-OLg~hcB5xE=9Fh5AsUhJd&l1{JS#BDl182u*iS_WZcM4GLSoG*hH#H zzQT!BK?+BlQW8$8JklZ~GfI~T;UwaoRFhffgyaSmJ83NdhEQc|0c^u7i3to=XH1d) z9S$p!-+gUO=lil`Mu(2K?0#tn-Es|{wcl|NUviyw`-Shh#y`m5TduQzkb#Teo-JHT z6LeJp9geRvx) z&XH!B372b-BYvc6;ej;G(W}hSL4q^Qb_$d;ZHHw-!L$xb3+v_^I)5;X`xx4cc3ahc zfKTVuErnqpqVb@IB%P~DGW{bzbk23=Tm|!eOxq=4e$M!a!4w1%g1JhATCQC4Wh#M+ z<|-YQueJFxt$Np4=dr8}j^?x|?;Gcm^S$2J5!F4R<%TsWy2R>#z#PVMHPo~R(NY7^ zhdp5`rPR|56}J8IbOa!q#GrbNoDZUCwN_Kjt8GiYWbUY_MCQyjo-W?m`{#!(49R(i zDBZ6y;3j->=b5!QwLwtGVu13a_C6lzv3=G_+mw;U)p}8N z+45qOLo!Gb0+I}p7eNk`osOG8R7s>e62!jMEjYCSP8ktDr~P{4d5c}!=d@|S96ahJ zZ+*2Knm6{FAyj0UME$xv(pB1`a|iSv_6&XawSeg!0^h`(dSppOL8LvjbYGEfMJ%=>c3|z6IVQ$yYAdnEOpS4zyQp8PCKL}Up z89jyEH_k=pBXffXQFNO5FEfa2mW2{YjDo@1Y3zJMPqymr@nVBehDe~paz&(nzN7r; z&#Vx3P3v(<=-Lo~NWFv)kCZa|w9o#huF#)rSE*}&=U&1buoLju&vvM;h|#*YVP(}0 z_=IhQw4R#?0YA8nkk-QIylcQ)8>;J?*8LM9;OW~4X}u#60={P(A+5W9-n#~z7^>@< z)_oEo;3KyY(t1H61boRhLR#l1LcmXLBc%1!LIGvb;KWd7jJ58S2m$ZC zjgZ!}6XCq{s?%zXwE9&~f=xgYNp)JA(js&+rU3ukqqqi`6sjLXa}8^CR!|4g+PA#4 z(Kp)dhQL(0j-2{TVQ9-)yT56u8iana&`^$4cu zNStaf&cvV*#aqfVAWC*c06i(*|D$!BZ0Wkj9~5ut8W0zCgm{VKErftn?v9Wa#ajpg zsoWhQEsD1g0#dmjX99oK!b zzL9WH1&5I>do*sxknSCmbL?e$B2mB*1R2zUKhmrx42ePaL{Ju@kN(Ov@Po*1xCm2e} z2=KfbDw~roND>(WlKT*ttNi&<+{!rAuJ8jxPI36*kWBMi8az)W(Pt?0p3Zze`^_p* zsQeY5qK=*dKkqZF!!`hq&QcBdcT*ApJ|!aqer_TIB>mJ_oI z0m+B9&mtidS7wB;mO+<8A5DlL^iJ76MrSR78UEMHA_jcZ6fwXz7^+=>)A(M-3!Fmh z)sBI!wh&u}b1RQV3iuWQKg7myOUK|oF&o^#4DM|^1je-X4E$-IN45Z&Pn3)@%Y33Z zU_vb^1V~twjJf5fo-bQ~gj&gf345z?SqPMnxS!^8)fV8H*<1zu)IP`-#JjJmGFf z-csWFxp4~V+j5h@lq4ktraZM0 zNoo>U2`Nzcwk4!-N;W|OneV7hYmC4Yxq#kGWytDeu4WW(mv z1{SX2;f~z?a^?l=V@a6XQ*{tXhz@tWn*--*hy;k#&FIf{9EhscP_p&bJ0kW$EUQ>q zbd^~vsIuY+iu5EE1y$A!L6sF=P)v4`tDXVe*qp)2T*v|~;NUuTzMHx;EAgHA z2xghD4#gYx%z%hyIpH#L6+9tXB-TC9b58> z4hJ(qv1L&lYwDl)g7A!knKVxGCEXbZvq5-DhAWL4?Kj#FUASt#n+jY*@4GBn48WWA z3|lOZ)1F}qYYz4KX{%iONKfpo7<7WdJT^Fj0%RL8YEJ#f?)1v_l6QFSx44hyH6u<@ zIrR#L*02xJc+f+VOhOfzzK({@xrQ^Yz88x=e$^u9Z;t_igmA`f8V-o>Vf=DWnsdD8 zBvj_w7Sv;FI5`UJ$El&ZtqHzjoFnJE{cOd?GN&V!t)%{WM-C#{`6;e6D&mzzQpp;w zo9bRAZEDV{{;CdZW)AvFq|PxE>IT8nebsIwd$K!ZgK_nAA8J*fG3TC|vsy4{&8APX zMAjp4vgr&~GWeQp{o`HZ2_Qxco4p4E(@C5Dbn`Sfttz!+SC5VYT?T_cvfdx*T2xLF zQ!6qZn6PjiHIJxYSf}e~`Z&e<@PP>e3BhB7Bk$&nc^V=i5mgR}BvoNu@b2(;;5A)~ z(h(t(uneX&h*^-UGJBaFiKx;-JJ_*58PCy-4kJ5!;!cyGI0xYxtwnX(?kA1p|rF-w0-UsE4hxF zB^UMqx7SU0P|_EUbX6Cq6EOWp#^0{^u#}~6i)6w2u(YZKJl#+&9Xn=rN8uW>>ptwf zZ$HVF4jQ{HU(anR$%f6SjsJmHQK)I^y<&J{v^)`%RIYc1VRlnnIRg?-He$F+PB5 z{?96uHMJ}zSyFRupDj6AQ45L%HA_!Hm0lf579jt9p4z^Cy{~ImamuY*5jJYjDxIru zpjBEBZ=e+_X~{q>R>V;;)R7YO@C$Qf)QPIr1d z0C1Qm?j{wU-EHt-)d9|TP~uZn;?H4r`ggRS0*I1uvGhdeMe@NSTq`w?8$4?^3L zVa@_4WTi3fGY5_SsG(^v=$Op!z_)k5PXK?{QR{%{qn%^;{Sw&&4Sb5Ds+H`1@;fi| zfLx^k6KuIxb#9e@`^z2hKFs+YlF}gu$Pe23$dJ?gb8b*+&@EMNYxdzO$xJ{zCEMu0 zL8UU|CJ*U&)#U z@Y;sz#sRIj{)H1FcGi{d-r?P?0V1s%%C!E#l~@COTBgL>l-5fUA>eaNuTCPZH@dcK zfEdsb&eC1*vQx)`x3~o>fY)>tb^>CCN?w`LI>HH805L-jGXP(kr~pwkIP!3<{r)bR z{-bNU3Wy@A)~c)Z0Pk=W5M4S#TBsvCWk9^!5z>0O`+5}+pG%?vVpYfMh8Q5ZWslBa z(A7*&tu|PK9*P5go6|k(q#ql6xM`$xcQ=^+6<7AItMY9hbMGIUQ;B_gEgBf|I=!X> z49StbrUDe^?QbxpMZA>~7{i6~_!~@V%?rMqJGSoxY#K}_byY4FUF3D@ z=qd1JhLZ^gkodP2(U{jekFYbLzto+%i>`NjH@g5S{rW03Y-A({Z@=m8Ss!C^C@wNV z;d4AHsIuVBn8qGq!k*yDIVTDQoWln3#H$xk^dgN~l;r<0Z|+t(!4y$;9LdyIsX@n8 zr24DWz@fZ+H}f?c&4|i>b9YhjDzzR&<3SH1nFA{_eU%!Wa}77|dQXf#jxufiRcauR z5N`|{vg^UduY-q7m^T1)uT=8pkt}88-<2~|ci4e628#>`K*o){N)5SlhE1fJ%2qC=2epbphvVx| zAYo1@k{F2Rjh{qKr@>^Bh!7bJfSM@G^pLDh>CQbkgk6e66)>sm8y1v{H!RIE6E4>v zNA!$2|3I4N=vC(EAixgScGdUY7N21sqVb@I zB%P~DGJTaAopYTzSHb*J)7D?51_BAeT%|!RSFSo&u~;KeiYq+O-n{y@Ezr`ccOBMc zU*T47ztEz*Z=6fc_g!BaR^peMi_8`16083aqq@w)T!~s}dJru+(Z^;>Qcp8f*l^3w z)dATk2GwKad=N#ewVG;PZCmOkb4NubGH0&wmK*lmZ!L$$GapnRT$kGavi8|~yM4?#LufbV`n_mvD2z&ky$L+Na>KBaZ8VTBOzqHTn<{yq@`etsJvtvf%-y9V5CsIF^T zf076R&)P;v>!L&m__b|>wEim*0^aD!xz)7p_!QR>@b?VW=}7AyPjy1THA8iTwBDZx z0snp*A+3uOA>ik>5z;!*3wQP7fnSyw^S-Z>W{sq|-QzHJHy~-E#;$qN?DSmN4fv=m z7uKe<&Ps%Uq)8`{)_0w74UpuK-?IUdIUO&p(>&_C0ZE9CkQO;15&@r_rN`Qo*54Uc z2mvqNMo8438l_{;Cd1|ZxUYL1gWlHN^ z?z$DgT&?;q>F5D2Pps%wKi!p9!n9x7KLep+7%@VAQ45hrps`wsKM*83@t=;HxvTcN@&$P*z}u zhOh!MG?WaOfgxmo3=Aa$W>^T>`4(P=g^~e(!b89NpA7VI((HE75?ndUF(Vx?U?}NI z2Fw@{GC;K|8E|YVBJ2AX>^;mH z|D7cHpNhVOi{M9*rkJVAfvIM~3P_bwGT>`^DLNVOHjdf=e72#K6PUb_4(6qeSF>gV z@KIS|`wN3F&2Yd!He4GX8l<5Fdtb9~p-Ul6v!Q}aj*khd$f4P=2Trr&78QdzOdSNw zu$PBIS^KTqx=P7_8Ja={NWoPy)iVFcxl;EYgI0CjFUqHbbFvvQrZV?y55Qcd%mY5w zme@)Le5NnECxGvC)CS-OGEU%sb+QTIx4f2b0{*~I+9&Y9$L<7h#moC9AeCP^ff>#6 zd=s(CS2E?wUs+knP~|1T0jcsL4Ui!(hZ8Jrev#!2Fi9btOaagL_09y4SwX1kwasQ! z>>2K-`igy%EJ_1(lQky`5H%B+S}z7r>R)IBPt*Wp8KIoOX((3D2+GYi$w^*ABRQI9 z>x|rN(VE*)HZSRe#L+io^v~>6K@|kPktf_1AepUXe`#O;OO~s^EJ@_v0N@)vSGNFJ zf2g!;T8{pjU1b;nUdwZJ3-H*i)&T#elT83ANs@zrWVZGRoU+_25<6Wb119q&)MesJ z^?8YHjvN{Rz_73;AePg-2nV(Mh5&DCz}AW(w77Uq;_ft zz_0NNyaD*Xl_gX+(HQXSS&0NDfn=%%Jjruu1CYI*+6sK0lWhW$Q_?43-}GW_uRQ># zdbI&a<|!F4sVBVxGRBn*m<@oC0nSU-l%(B;b9*-ao=y3AbkDN+kI76sXAr-|?LB50f}nK3xLoOgbN91g!@bIjU#awpqr&4~#R21B?E^UXBF8`T zb|Bk5DKAAfU+!;LsnLM!86;+#HpCxn*W&eU|HsDcYwTKlO?@UtB9J}RUSCFU)F65pL`& zi9IYXSUso~RQc~EvNAPB&5mDqZam0lV&!FCCr6}LQiEAqP)yDY$5tGTpZmnVr}kjN z;FuFE$g;6NdoK-+Zd4`CY(A9};tI|wl<-LFnEaRALs6Cvf=U{6Q1vppa!M=OOkD(2 zdj{rgQJ%wo^_0dJJn}oqT-M&L$9t@_TX|P>t^JB@tqn}+Y6X&q(Yk~bQw@Px+Y0k* zrZn=z1Ex^5g!9%RL`r)BreX>6E5Z~dT}jo}78)d}N(3eeT6JhJZ73ly#jhnS^Q3sq zU9pa|vlnNYmnFp$5z?V2Qh?I6xlIh!mVBs2SsLznX ze6DNw$WB8LNC-64wd=9Q$5v2uWCOtpF;IK#e81-2ud+~IU)McsS1*hoeJ~5-tNDKa zjDw$T@QX7X%UKS{hRvf7ri^nkrMN1Kvms*U_ zB*_nhKWP?-Bn}T){0S;JHs$^uyGEg^m-|~dgR&>)l)exYZsC+pWC1eSh40DGm)|X2 zc`nn9H8)`W*4Gv5bL4!-C0#w*2I$G*x@|h{V^&2kT?bK7Hyz4tqmR{p98^+vkt_j{0QnBmd}--ZxIovd5U6SFF#G z^F7u*TPZeZUS)TyUYDMQ%{2%9q|tRDKeUh>g~tHyKRI5nR8#@XIHta$bHKse+_$wz?rNCrE)`?b5nP%5(|0^8L? zDOG0o!L*bcOxR7+GrT&p56A2(f8mwZpETg$QpyYaJ5I+0wP>-vuE%_f1vXb*e7m^@ z=<|nzreCi?7p1syGg=tAxbN0RaKx8s{3}W0Qkg=a}POu9eATxUSs?L(XinbJgYBR@RS}LS46TxEQ#9J z*&*yQxAf7Sn?a;rYB!H~3X%I%k-mM1#)BS`bhTfS=~jWxxrR~IUpK>igspG<#iAgP z5JXkia@>03s9s-%%WW`@JLA{ms_Wt2nO0YT2$WxKl=6ZfMs@dVYH@3|IKNAWdO?6x zw>8r#DKe=Qsp7BaefKxcv~%z$@gC--sM;CDoSWGDKZXW8URZbbZOXw)jWiUA1dVid2Q8`H#0u`C&J1ksB%_;GV zbm`+ytq;$45J-?8rmpN{e>Y(DsEEJjf*T9lKGUdJz=6QMTs2ccZ0c`T}jboVveV{=@yQRaNP` zN6beJihk0$H&FE1>4XAB**@zcrra6F3!5hD;YlVr>!G#`&EAqUD~WXZiQ->1vUY>c zBSQ}~2ZX!!9s9$}H6$B0KSu-Kc~sBqkNXg5nq1Rl@Cci%bvT|y>0tTOm2P;CG8wuA z0!Ch2Zc2&KTB$piLFDyKq_37hAXkP)DK!`^g9Yw7at#)Iqdr7U^8iyRZRo2?H|#?+ z?nAU#5oyINKbmi-^~dfpJ2wQ8^sP#o{FwwxNX{05d3D%_XxxWru_Bsf6lxt{>UqTn zk@T&M(%fV(&(j9Fnt_EI60=q~C9kYpO4b>RnVNH>=B$!NgZe@X9{Nfu*PNB5I(~V| ziRVovzqy~mLwiBWOP#h|*izb!sUrDD#s7wV&7;?{20-i!{rISwf5y(o^R2QCI_EpMj zCvzmi9h4{a@Q(di)24If;5qaSZu4`ErZ=^@pET7v|13G*h3=CoQ%Ca07Dw%$vKclg z%OQaT7|l3`5EQ>Fp;Qa1d=@}ZoMn@^g5o|cH{Ar4tE=#$ym)`H{qv6t{|{)h++0mw zVt$pYF1aojyCdB*uklBi+%vcLC6Rju4`pt6rw@k84f@`3J!F@)TJp;T)|c7?KN#XxuHyRqnkQIt=&4Wr!<>?1a4E)6VXHK?;;{0+qc$G}f$*(|Uf`F5!`GPrP(A>b>joX7XA34zxDSLAB z6xMwxk8-U0o^FGu#lGT6R*mVHbF=0Q5-;`1ep2*@({Dc3BNy#?R&U}OPXIAOcd)>8 z(w1Sm`LdfuqBx;U0~rl^H0IRe7yDH>lqM82w&X9 zmv@_|VNFyyWaJ7bNmW=EoCtphUek#S8HB8z^k@*XaMFV_5!G4@E;eJo?nYNcdKOla z>G3EmT*G-=PWGMoOCAI|*e91NN(^4OzakFmwPfBPYX>l1Mt^tt_tWm=P zm&sSw^z4&4^cU2RZA#(6IJwovxa6uOx1TULxF#iT=Hs&(Rm1TirUTc&%}8vT6E0SL znr4q(<+U<^A9U0v;D;PFanN5azd11Qs&>^^JFHi?L9{n|eS*td1B5wxO_Kbz14%HL zFEVDG{(!kk7*Q|@tZ&IQ&0S2$iVJ(zNvdJ~k)!2y-Al(fDDzd&FWwMU08u4&j0}J2 z28EFL->^;>F!H0nOz5Axl}As3pKdrw6Tmk*Y6CD=2hSelp|7%Vyq~<7YA6=T|5(IT zEdmZ)`9kk}6Yz7H+Q8pTWPrF=JILdw@S;4FOsC(;!~w%APqO|^#k?f*c^~F^&n_;@ z6ES^c$ir^$x?ZKh{sVY-x!u(cPG5jkk`0^F8(6r8m0OSpnU7B`qyR<*({ZsBu2sDjArb7FLkF^nZDQ{lpzx6 zuv`)8j9Py5PlF)rZ5{%fJVB&hs+CA7uW$S4k9Tvx-R&xM4e;)t=)RJ5HsB`>)fF*X z%_p4@@CZY7gtTs*2mv3sjgZ#M6CvQm+X!hbe9F59Jj764*R<}H2m$ZCjgZ#26CvQ` z+X!h5KkZ!uUc*pb*R*bv2m$Y~jgZ!QA_P2j8zHSHBtpQaY$K%g?L-K8`8GmYKTCvw zjb&kH46S2*G|YWjS)EpEq}4|}tu_HkB<*T#N{i6Rm;$_s2WJg1DO9ay(-^4LSwS5{ zYu_tVT1c1sUw{+qyM3i04SMgmQ->Xte(;F`_q1WA(-iP~l0)X0PLIk7Oz%O}S!jO4 zy1Ko0dD_9Hf(!CS^X`L!uQ6q`8{nki77D)KMx&AeGbZJ96c7cKtn9mKjxvwl#iLr4 zwZVWm;jO?{-AtBbT4Q118qR$(13B}Wxyt_v4+ta#bKlrJ2nkLTJxgZ^3dfLVg6a`W z(UCaSUYv05o&l-c9U(1>w@3seTRKAgLGczs zKwQ)j;w6f=5CT%UJ3?9%Zy^M{-14j=q($)-LO?2aM@Wm}Erftn?v9Wa#ajpgsoWhQ zEsD1g0#dmj8S_izZ*S!t$k*f+LD;Kg-QzoF&k%1?8Qf>gAn6Z+Q@5^vy_Nh1$ zjXY8u@bkP-Z2*!SN(M|Gi1~oew)s`bfM4fx?grqOGcrO-q?8rsbCu0W7bJ-c0m*#` z%vDM=Ze<**Sp2|{QyhLc-)vUg#|@sRlIWu^I?&&N7QY2W>2yWqGkuCWdJ6n&o-iAL z|Cps3@V_Q9z@xG$4EWY5*8oXBH4LYaYZAFK)dWSR%}XmG!<#?MG7XsGCS*96DjkjH0X1%A5W z^c=;&d38pHA<<`eNe6(0SK|fzW3N0DKq4-jfJ9t5ftf-?H9(R;I04Crw$CCV6jx@1 zuom%c?_$c(4?^#hnl5|}mf_sW zqmcr>MZnLuh_-YWTjT3?Re`_^?rl2+#GRiFTiQ<3>wWJUrVO28b zmKXWlvIR(}l?<4$w;Gp)KnaQa)qUHy1$aY4DH-rh6B*#V8bU5~*B4nRSw*yp8t$=P zzjqU<-?IqFtw;Qd69rZKYd5~Zc)e$7`p#GKKTL^%De+6*gds<9<)@elNqko3YAGd-ZU-ilg+3;HEYer|%Q0 zoW4)Qa{4}j%jx^XFQ+fVn19zNn#GGHbf6VK{qGY^+4Yn`l(YBSU$58L66SePJKyS( z2>i|K`OJy|DoT3DMz> zcXRGM4Uqtmx>?JlS@zZ9svq2`^sk$b5h|Ru zZWZU^GLGUJXsgDf5PNeW`=J#+N?pLY;Cx5Ajg>Px-y)cWej5f>+TZiF-zp%zhv8ai z5O=)w8QNYY!ZdioPC#IlvtpGt5L$<8nS`9#et>(7!kIK_{8m9(ijtNN?@|G>;aUy0NS=6ci( zf~WhcpBv|mJyIKtt6%j)iK@?-b5G4#tw*$G(O|E~8p+9Z$@x}hyI*d-2>nog#(}D74&1X~Dzje@e{x#1 z;mfH#oD03*P-+Dhk?dh4)U6)U-pn9%)feZZi&z^uAX!0CSK)=I#C!Yb_36~^PX|XOj^nX^Ntf^)7$C8?JdtDF~D{4Wp zpl0bAEF1NgOUS>kr?v|lnb3e!pLy5+(JGy*Z=h9L5O1)~M zE$cxDw|&OW_h`4PN-F&+FN(j?$l8TDYx=*ij>6UYj{V`~8j`W|;NIQ4tRwwRB=Fz5 zjuXJYcd|1YU=GZ}Wwn}L%4=sjB*Gocbh^{y0f6)<*CrL7-EHt-)d9};dLILGp0ZOV z=YKALzb1Xt9Q1+iD(iE=SAM8NNl|^{UK)!Z?vUNHE3|&!uq`Q#mu@4a^~0Q$#_Hea zQfZxT*j6fyCv798_41sQ#wFWGX?@kOVkzMBK9X5V<8KVvSxV~*IVp{AZzH93qkqVx z(zv@JJE^oDl9SSS$~ID3xA>GY_a!1Ny2zR>){hTPBWI&6Z+K)b&YC3>Ua7fl)M1~@6W69unjflxBwTX=AG z0-~UjmCk9J?-|2Y&9gxX8w`jO-U@8h?NLdl@5O+HYgl0QHUrFuSakeV86c1lXgJpC zMm~_>v@Du9NKiP2JQGxpU}m=ly3VrxsF-c_B0SW_78#bru=s^#4*e)tt<11ag%v5R zJzdiu zdu5RYez4(Wp#k_RM{NOKmT>|z(@7x({Pip+fbZlvF#$~R-y;45TaE~b_4%F>TYw)j zl==?%6HYb({9#5`ripaGP)Zr$(;(p&Dx%MvrhNjF1wsaRNjAUrD^XiSpRy#<07;0R zlT`bHe|;b}f9#b+=&qg)4D+XFAq9TEM}7i$4G-T2;I1snz+X*dfIrR1fETSkO11$q zpGlqrQYYm64v>`5DAYN#LC$>BlVPI{{6-!44N3ulSNZ)SztJc1VnI3X1yu)rqYS+2 zu|0rM>%Qh<78uF}oR$%RU%l==(;enpC<>|sgb~7|BdB@^?4Gxm3%nPvZnaD^ho>o<@V=ax3`pGaWN~1WS9C4m`szWK40Lec6?S*fGJr* z_(GqcC_yR_m~zxgEYng6%e+(^iOIy&GSgr=u7tp3aH~$A6mAJgVkWV+8yW<*r6jsn z&(_(%90Il6#Qq@}AsJ6yQ^kR~w#?=1*CNY6w@+qnf3kLaYdr25Y$RDhT;wjv!tu)Ka z2Qkqxur)rw403t)bmP#uqx`pRWd!@+LwzSk6;OMCsR%+TmhWqt2>0$o z!+G$gwox(C2Jp;D{03KqMk5cqmoRW{mX^PlCmVyJD>Rn!K~MXg;DZ!U#G& zy^Lfw9E!s#(mjfX-q@@q%JQ!iD5z4Npjz(ipIPE|*5Y>7;=<)u(|pk!dZ}GyT@Hu~ zWD8P@3vbQ6*@PfeIBVT1&c$V%&Q;crncXd@#-k7i5JDF0?Mu!D=lh=97>Y+MyBrAt z8BRArROGI#tzE}<4T$71B>VDkC#w7)k0JeXB6)kR5wY|Sx*JzS(W{#Eelo(gOsGGl z1tRrQJzKS3v!mf__8ijB!K~%ke<-dD%4omg4tTkWA+T}{Y~wC?k_bOVOPE;6rOnMo zdCDeKFRxC+H|ovJ22&nmKp2_LsAGb<*y`7pyrgYV%2?hARZ_Zx7WZ4&M>jMh4v;x| zi=LF~Lo^=rkfhJ)mSp-T9O;~Ec)v@I%$@mho@n+b96=x9ODrRZ3sRAlUYpGbTqkvx-T3l|O$ z!ucK|4x$30p*R~EC;MV(4+Y>}KH4jf#hhC;XSL4JTd(w)YMOIC#QUr`@dL*t>#p$x z5F_-562NrQ4qg1ve9D+FSLSJ06IBiwxxz_O6`Tbp!ry_{bYLKZkhRZV(I95wpn@|IRa)@are5{$ zx*Z_rB>$c zaZG!I^`)*PMr?0o_4q^U_rJXV4Z_AWEL5y&-|G?GAZ%P!ez2@%+%W|N3s!x4T2pP% z1p4(;X5Tv2$E4*iQF^zh);{>HWH3H>T|!~pO+75tYP|ka48cP>(bG4qbl5IR+6PbC z@W=zlR2l_t8sZe;ET3Bt)RH}(!j3{YgQr=tEN($vD1OLN>WiMnn}N0^=g9f~A@P+& zL;1N%)6@r|dnh1WRb4h#Ob@|sMR#_Av>u#G&Ua@|i)yXW4B4(RXvMRoO*N4mMz6lP ztFF_MS~W)KIhI%QH1@TC-{!ftTC(aZt%yl_*l{<{bWxUrM-TURzDqqebDl#jJJ$BS z->s?9G_SU+Y>5E(zNh<2ItF}#qt*e>cGPab=NhVeP?y%XoNyiRdGGZe0AK5}fD=cp13to0y8)l)sCB^aJL(F0vvsBYQ+sv|&)(Kuu?2{SyN8fz z;bghB0Ejy~LRxrK2mw$0TO6_lc(S27URr;b2my&kM@Wl+NGE^gkrS%7S&wuREbIr}{rv3dWO}=k4KJN+fQgHwARtO98Co50 zV?l9@k26hE#Q~$Thyz4rB?BhwgbWailnggt@(_rzKJ!c-qMj9v#;lv`fssw>dAOS|-?cEtM^?SubW~Zu=qr!MJj)gSd=@`o;@A?> zShq;3L}09K2^oqn$q0cNo-HBcbDq8JYkHFt+B&zd_U6xq5GPDkYk;vdrw50{k@Y!! zA1CDWeS9J7{>4Rq6TUcQQBMG_s5i(0c|78*>r^=*gS?MxgshK8q>uIMcx@&L)OWxn zgi!web-c#?l8k6RX2bmRUcn}S|Kb&(zH>NOhLLMf>_;vgQ327okEErhE{?TQn%qk^ zN^juBWkO;2keB=F=vXq|)|H3N_^JOsPe1!=@Q<5Wt2- zwhX0sS+`bXa`Uc%g==`{UGJ~a$8VaB{^~XmNC-3>N$+dMce-6i&0`PqB2S%ak)`T7 zv%$?WyFa()JlymxBcDn39bQxGVj!INE41#%Ia+{^YgB8R^Gx_#?HbjZK18}FVL!&Q zTx2nMzrqGZAii5Q!}~?kL!a^iMqZm2rNmi}10{7nX(IiBAP~rvY$>G%2{dfjX0XW& zje+PWpF69=d2v;9qJ6z)R~-ky%t7HeQ09}2>8^J5aR34dffehsoi&t~9zx4nT}-DYvG5WUt5Me9(aK73YD50f^7k6kYJLwnm%=0Gd%f`oLFsJ! zs1ZCk+gYF}%VSlJB_N|SQdqmb)a3opJ6=cJ{bmnn4=T462iwcA1eSFRx)k z@^ZMKtU3F{XE?r!`I>7mhK3FPW8WZS=(1U3NUWG~9!Bh%=HYMdj&jbkt9S$O__uUl zNn8LYhSI~!^(n0r06c5JNhNv|i{N0@S_g3O8vzYT$nUv?W;0B`F` z?gY%uUU9Q`I^hZ+hRT6AAco319qMZlAIkO zE%H+c0ZGn|kk(0_syhKs&Qf({O6$}_2uK!p5^0gh(lsFA?g(j-$U+EsQI`BGQ(BjK zmh1$~vt*^3X*~rzN63T!^gLJv%!9t_L4TeHeHD;Ms}-w3uCEez4D1MLy~M3p1tjOC z4g%(etyYFfh22(UF^iI^vpDvkjpBfhv5b^y_f>n#q*B5%e-uZmT-P$7WiF$wgjh;6 z73ZNapnZHMAw56|6+zFjurYR*Wh;HFBTs7%pMs%sEz1l1yKlfSxOcSQNIg4z3JO>4 zr=#&!N4DRAW2mRDz)<^AS76AHtSeANAc+G*X~>vBQ6F;sz)>hNHc$jMX9Gvs$k;#; z`VbMSA3H;3z2>8z|~Z&IXPGld*v!?{YS9l$(qV6seiBfn(^Uc!D93Gl8I} zO}RjD6se326vI1bD-(V&9(QYb{i40sK>9CQQPP10%+Qy^{U`a@C)!E~Oqg3j8YkM4 zMhSrlY)eSvD63vd2#j-ELK;}8gr#Le`8cix`&gEr*fTmYDl#yq?_+09-^bjXzK_+T z_KtzuZFdmnS$?3!Sg1d)mht zLV4M>r+wVeB{gP~w%R+^G^V-YD0B1Di5L2?hxnLJ?z<3qmiufMAk(>QZw@X?z@XWc z#i<3k-T4P5iGnVxma;essw_o9P%FB1Z!gr;q&4>wj(_K^_iT5EI4|+(Fg-S)H zhvIb3H9Wr3A5hW9F4NXe%0VC@*m~fq45mSIGIC$#>)dKAMXL21ArYtizWY^sE0=WG$dJ-0?eD`Q{x|LoovJdC!HO@f z8Nd*(Z1OKXlbG-owIO4QEa-6PkbLi36guCRod-H}yk+-GJLr~c@B^J42k|A>adX0* zkF2~|(@8O=ntRU&R?-%QYVn9yb;lP@r)Rgg_|@4mB_n7-U3x%=MVM zp+rrm!7P)A5E<0*nkY{8kS<8-&Ox|@O{v5cFe&W&Q`C#Iq*-Pz<{D&4_p|sE9Z1vk zy~^|*q&V|$r$9LccUYzsmL(nbiWxe8IE?!k+KfJGwfl2EV^xnT5Bm^}2R$U|j8&59 zD{kqW>&zJo=1=>K_1Nx)H3%dGGnNMRK;vVfsMiNMM#HaI)i zX<^?umz?i99-HdEq)4|VDa+9r>KoOezVxm{iKf4tNR|yoG@30*J0W)t5P_d|09Xqv%L;em+i!G7}-R6k4 zp>t)LF9))l>00tS5bsytaYK!PU=?_HVa`Dx?#X0-*1kMtJ+JxSJ&WzwEsUm~B;Y=)cd<)4dFrd5TH^ zjT(J2s3d9(aX=h%y8GPbf;}XTm_)sd3Mvh16vyB|!0`|pQTbQxUB6nZ*IIqpx4pjif8X~GA9vNRQ&p>`RcqM$?0%BDUCkm3-*h$9^Y1n= zL}i|+T!F%|fq@}<^Lg~<3FN&jJgUXe zV2=0{_hiEnQNb*Gf67%|8i&zr*P|%3Css|hby+okH@LM9#7h1HGGYz!-`inS+@wb!*btxZzOL+vB zb~J)7jUo;F3Xk9bkU)#J#5oMzr993{>CkN-=cRUWUdrRVM93NT+G!Zq4YaGhrc&da z#J}p;+wSZ;8TTRjXTGzcR++#IcX<>aaA?C^$$&$WtdJyEdNo)fNvP4vnI?(i@+?_N zvqZ^AlQ8yI^0B`{=KLlDokY-HfkRTPq)DM<dt4x@i1&x(~c zS)sq<*LNE>F}Cp~)GYfSD2gC7Ka{KV>+X*8%_2QCk5Iw~P|1hZsl}sjq;^ zA|V4Lp_Gh_VlAY&9Zf0nNO^(7%8$WK&eCSdl0h8B;Rj2hr@6W=CvVq2jc)_ULF(1OKt%L}S2lPDy;>mw#yk zj~QDxPKVfVyQ8(6<}#?C;A223dwX~bq*l&`=~ z_dqNI5*w8U%p5E(PBUFPU<{M!%9+ot%Xw*BE|o?S;(5^u449Re=mALHXs5toRW_hl zQcFZ#N(nh7D8Nrd=>^P+T>2#An1+QD@FCGi1tuG1q_Q4oW)@CBYOGKJ(yC3jwk;cZ zEM$P=hW%cW$n~A+=4XC+I$Ks}jifWle1#>cssYSYF1JVSXH{a+S|tNM$#CK{KoVFC z0DNFnkbxiS`8@zU*HO!Wq`CHa7h5xilt1AROKb90$;M^rCB7j%0gy?(zQauF{!gF- zB!z1_F5;=4d?qPX7qXIRTXCc%`KCA$juNLh=4&!f{0YbuA=w4U6rr5JhYGC(q0{ZmTq)Ei1S zF5Ss(r6aZ5rYycx-f<~QPAVNRNhzySz*6FoQOepTrFftLN5{pXX6I7R*Ky zB`~9{7RW{0bh)KGAU@vekIo6!xO%fcE4mQPfa!K`Az+L=Io#iJP4lGJP91@<+%z!p zcRMpavE1KwnBuR`BYN7=A2%Fg#u z#xg@tT%0mbD|7uj@l=BUv=gB%NiFYho_gq)*8+ z^|h*OvWB+*@-ILz=@cJ6(0A)qRiVf3DD6=Uqc21jZ0%O;z*scP4y^7Z`lp`}b*nR@ z?;B9hIuQ0w^Tm|V)nxm910Pp7o)l&*T5bF){FrElt! zZX2S0r-dYaUM3~eK}zSe#gx@2JYoKvr^OjfT7W=8AwxAh9N~x1Y|Z14JxQX^hQi4P zN*;}A!KpVSzG1rV7-!Gr9BLqk@r8)$dY8c*jjR?Urtf@5g+W>?7yYB+A8lWAA|!_h z`T0inLW;igakwOWk>nbj>>%`+u0yu{m$@M$)3?9FLR%a$QskX^)%x(azk@(R!N1K? zMwNw#9jx3=W^>BMNKol1jG$Ok-@%{pSh{C+V3<9jH?HHwyyL~ZjEP-wX0$i@a*_D6Gy20Xv5(v_x?|>o@F^iM@ss`gi$+|Gvw(#aR{XXth&PjM z42kL6*wZZ98f&nH+*C)UBSUdSy5#xKcy*GoKTMJ=fKmyCRa;ekFwwqHsjI4uq|Sw=C^i==s_uHeXC407 zTKzL4z(058v(ltBF=g!u>txC+yC{6(t(LTud0Lt4HFYXsN+i@@IKKg^e&;Hk|K%rj z){6T318*{%6n^9IM%7PQMg9FJQ(k?3I{m2nDYK}*f1`dXVM-*dr+#&_smQpIg-beY z3QJ%;kvqmXksza&w;y}iV)(@0rN*c&LE8P?WwU^EAj|)YR?~r5Bio7`7DS$35_$e= zTaj}Gk>`~}o|lV^%*I9;ZK;LD0a$j~wt_O}l$1FqSH|OsjKcc53Dt2HqHP|k0bnp= zAvYu2n07m}V{#~sKt0Ty;|Albb5&ere~ zZHT5aB7G@W`q9M-J)UVj`un#)1XZ%+>QsMkTyM8l98!wc8{3e{`>zr*`Qg*~tGW|j z^U=x-<>kgPQ&ZLz7!)cMr^Ks_?}OHg-i4&7$k4H5y^KusKCi4d0^c9>7Rp+0Q1n&Q z`$NX}*`W7DS)J)r41=*`@)M9mn&^E|S#K!+E$A(jwceoUtEl%Ejqh7Q@6y1b$c!cH zRVkV1eNI_#D8CW(7Rp+0Q1n&MTQiN}8Yb`3hHOoO%EhGfb^WX@8_6)e-WG9huvY$7 zNd}D<_j5+1;va8c^RSF)UwHI`h|u<(Z@Y`n zw4baH$^(@0_z4ndr!yiwQb|9$+d|m0tw%pS0TFu13bMXLuvb5~Cx1jv{*0W$+QRZ$ zx1#i06P_fe)lC)8r}ASGIhzBFepfQIn=iD=$?raB7009B(eFO^K?kjp5pW_To$~Z8 zt&$yJ2Nq;z;oPumPigBUQgFhH?bQ2He~QN6xP_HvgA0ZflupB|e<^F)_4u0*4D`4l z=s^!(GS{wSoSv9W%{2cJT~23YON3z`aKTGNm&bR7iU&fT=0~ARM3Q#Bh!Qqhr6WeP zic4LgkI!$Cr|}9pzu9!%VV%=Hro`R5$So53xYQlKL?3U>{qkXd{L}sNu;7=pkFKot z@b@=e{sK3gpJdO36!v#z&gGmlD>ynW(I+;3btMOM0H3!jnc-5XeFd)3ML>m0;S&irZX!|$$w zKtkco+dc2*KgVf^gg}%zq$DW|>x6fQzYAW|xr~konS`Y?;)0kJmNQ-F3`Ch0+QCf4 z^CCQ)CHb2^iX*65O94`%JkYC_(nwC)Dd#)NM`XfiC&S~d6 z-W4nQvD@FY3rd~qq$gZy<>a5eten83F0|@N4t8iu-qo$}<4yAT9x$7>=X~3PW_(Gj z$*|e}qa26dEUqwL;B8s=FkhTt)0QgD3V^466~}zR)4YmfzTjco^$fnw6dtb$Hqgo+ zPc*)dxWR>GT2&#IUrEUWF8tb(dxnK)UN$-34K6-AP*q*{$vHnaka3hgYG0Twu;TtU zI}Lo68UO}?{_Os>p+*Dp2!ElrXfi#lm3*|J)sxnZaq41qW1P*sqLf$nPB>&f_y`am zt#=xdD>Eem>-}OXwXV9U+(Ol@sutl@*FVA3eY&e%`dJ1pr|mf(KO`zdR;SVDn%M9I zT~hcHQZd?>WWBxE`HyTjrv?YIws}f1#3vT zdUH(5#dT{)xqAFtBL%oP%aDx%?qu{Mg8SMr*C^(OT+iV~x8Svu`C;MhV6jZXbZz(?J z(OHjbwv6v|h!fr_*s8TQCDR*>u+XksYhm7MuJT$70ttm$+cytFg40CL)LDYUG31$` zS_D(KpXrDGsF-z8p+{RUr01%DEfEv zW;IZ!vYHaHft_&Us6E27%)6 zE$$Rnz^_N+W-m+okPD0Wdb@q4(t!WQN68}K%N(`vP6Iz0aRL)8(F5@2hzyu%M#$1g zsvc<|h3o@1bzE<)pa6enDCK;BO&brfR&kFo__5XsE8r;+S(+2|U<+@8s4qiqG?4O; z739R_QBDBA%W$%X0{oDpwgT?znX~fy2A&jU4lr3I!T`r5n7Sa(u$3LnFjgzlE8w^c z(_Tq2az}CFlIM$_V=I6pin6xLloc|Cfv>DPnkwV+V(mj^IdcsS45Eoexu=Jp#gZK zqm}{h6a^cYnNA8R;FBUU;AeVH3;;v?mx({YmW?g3{;{XTGT?L+SKvJiCk6oCEh0

          c#LPq#BNce?{=rgBjynx99Ap_h$nts}qsAZy0SrTc0Bt*+eYIBni>;55g`P$Qg zVg8XQ8Gt|Qkskmqc=#3oFN&fJe5g-a3xM~CCN1D&oooQed?tAgNS%-~GC)#Bqmbv! z0y%SgPlkm&@C$k17bpb;Ugfuo{6d?^iv{Vp7gQejg*5Q0hX!^0=Mswq3k>A~4$Fvw zU%l>r+y|L&p(v;l5Jm`-j-c`(Fi+tl?S%@X-|OqNtca;)T}y{4Yj=aQ_ai;%W)+HCWC8r+N5wzND?!N)!lGGU~5XEJB$h)Fo!@jH?esN^Sz<7;PGIe&^aV|`jlqpgAtSy3BuL}#Kfm zLWMKeE#sV=#_6=OevIs{K{XzQIDinc>utHuI<>$#;e2;-8;jx*%PvPkK!(#zAu1CU zeD`zlh0r1N5l)o(VWMh5)UDWXvGgzK)X#`YZ>-R}@(6pispU^jfe5{1H%jz%2z3l>nHR>&})w!m5SI6&s;O%7yJ@!d8= z{Z0!>GG}CD`fM|u(-!Y{$&tA;U*n0k+B|Uq0tu!2U1Aq!n0g3}^NayE(4xJpgvJKr9@Hpzxnx4N%= z$pJ!fzK4i|r~;8bzl)5Qd50?$fLHkGM&_|H=W@=Ot#kC&D}9EV=A3W#J~K|7#c|06 zuJHg6BlO8%U^=M>FABcgyU7awgsVqK1236sOv?%^w7u$-@{_+X zKhyf~-%)@-Lh+AR@#TxgX_ymb4(YkVK~ff+2`9qe1+VGAKn5X`uyjUT5VPW-f-?|h zTJ+>`d>MPYYpXvR*+tGt(1$&-ETYn53_;~f`*}{DXmt_%#T~n6!p2frSxbkV!aPSq zv`WT&%FVgLns2hwWx|B~LhCoMj%_h2Nk0ma5a6oYrH|ZbdY|?Y%8?XmPpEn9D4S&UOWsi6-ZXlBR&P8V1}# zt2n~MYDnfFKsI-A7{aEh4mk0OJ z$1goHZt(uT63hmn8rK-uuQ%hE_Fd~sT}h1C-pcfNH;d7|Jyr{ZjcHh@Sk-nte-;QE zt;#PfYZ-S;0flAfgbXSTOs6X7*G`#@b*v*ue_2JhZ}%9u51t;}f)BnOP#E_(k5sm7 zke||tY5Fh!6&}(lJ$=JUhwY-Iec?$P9(mxHN~5s9X@gUQGktDBP!C8BN0hVhG)tVu z3hP2Ke+FT(pl!-2hwkRzUEI&vYO-6+$Zf~`Ky-xyLaXYsv0{2C>{hg77o@e|oN~Tr zxw_d}qw2D(WYCIdQ^Rv2IgFlrdsAIUDYa^h&>Jk0@@)G4z(4g|n@d^sN1(ShWy8ac zOFYv>SuQ+!xY_v*abw3khgwzV|Gg%H{G8re*#H4v=con1XT83mZXUSh>LrF1Ucl=d zwE%dxOJm-;(=q?#dJWNQ^twinLS-6is9NyT zMD;S$>E*6l;VIzeuQNoJJj1lsZh(U&%UJSWH*Oh_5X+Jn5dBn`$IXF@E%5*336QPm zI~_ubR|}@0jG;sQVv5#7+@2oL4L z{S6HEFMQKb|81?N1@MoYb1NX(Q&|7llh6vlcW3vKGTzR0Wj#kjP5^*IDscz zt7Sm!Qssdc0vRA?D_I(i(r}Q+81)$mjY#w`8CDVdTAD?I$Vfy0e-s4{c;1a)0>lX_ z4ePH9WPmt9$*?{Icqz41=17A1t0=(0A)47NSw9+C=VUX%H|dG(e-gz7_>r#dGGNK5 zF9$NfuQ+P!R}CCzr`nF8+as%h&-BO-0ExWpu;rjA8Obarl~iR@^2_ z3sORHjnwcj12yeOX1TN*L8ZM2D(ys2L3#tN-^WtkhnFKPk#dyxk(D0$Jj!ap(Ow<~ zfVfb`bKdQ8-bZ%KpnXi6T>24Vxl=OEi7EU`TiA$b$h#F39lh|~9+ zBkca}jU_m#as|$2-;M&*WwDeAg&HgP;k&r)(4I#z$!qN z5mfx|23|mlYhkf5t$%;1LfjLKS8wH}^7NO^sld`LU)^=;|H%9+lj*m8K?L0g^z}`r zJ-fMc2O?OIEu+;j8Xd$v!|h*yi_{kT?{7&$f(oj%a#Nx4M~Ca=#=D3`Dcl#YqwncK zUzB^GPrQZmBY6k8ea&1b=}I|chAU*So&s)+bK3b1bj7k_Qy(%`I6v&F7THy?ca~xZ z$RO4geEvs0rd`^z-9=d)4W7N?watG1~r$Y_ynPzZ^?fpzuFFMmNa2>q#BdH4wUe>?^Qz=J)e3xKgYc=qf- zmPV?-NfxoTbHO57wFtQ2${Cls2>75V(!kpS86fU0txhIoD@CVEkvL#@Ws!SowzQd& zN0{3%k6Ug|%dWJI3|antXTMB?%^i5J^KfO)RO~7T7b#h{I=zC0ws`6xx2Bx=TI*v< znCq8sfIvdw)I-Y%DMj2Q^$X$3a%IDulinklD?O&-brRamB2G5T{6!L@U}2W;JKvt3 zY}wQ@Ss|1mQqW;KBPzYJTjzg-{hsyc2TveEFU2`MwSL_76|Zh;|3|HrdIq@p?>Oe2 z2Yij8n&QRPcLE{cYs0zPyNAy;PvLclk#A>^ueiR%b>8$&f+bM=5g z2)M9@kgLB8gn--E5OQ^x55jrCI~c0znyUu}LcoWuA>`_uKnVEPYY4e|MIZ#ccnu*} zmj%KdOM)Ru@G_6>0w7^mD~BVlh=`0K!1s9+hk!w$Y!C$n^PHST9Yky2vm>sME=Tx) zH(KBF1o)+^T+n;N9Xf2FuAO?*{q;5^bSeSp*<2^2a+zC9| zoMnN~Zh+7C;4Bda#+8x*Kh)!}1c)b;EcHWGU1JPiamK99bh?BD*A$9p)%}Fo7>Ejz zQlk2inpCU$Zk|btqR`6Yavw0`oX~&}n@Lvt3LHlomsU5<(%?3M$2?}srxOEq6w-?p`H9GodoZ)}q zhM)Lo178Q`KNM<3IRfcH0) zk^xf!qyPajj^%U(xBqTPKpf6E7DmAT2vmR!ZS9gVeVC{2A|PX0${Fs1xvVoUdTX(=k@Z2(8Uze$m_)89p z0r6MOx{ik&jeAbEysaxf7fe*@ab~C|h3V+h)zp(p`0~V3*%uS~JG=e^z+k7WOLGeZ z>8cvAyS^U=WUm)3M;NNFiN+xC`+TUb0REL(qDlil#pl%lAoH)xaexe268aN##_Pk7$0n54&^ugE}aYG?^287?^46#?^65Y?@~9!-?j0^-gQLvwi2Iq zG0keIoZ8)WzbvSNJ!8Kts)BvSejZlpMI(VLN`+wWzF!vY2HVEK{R(L+3$2v3u=YB@ zJc2_$XM3J{gT@7!?{}#X{CXR{{sjnfvv>x1VBKe-$L=WYQHCddA+j)HH_0D4&<}dD zNYo!bvMiyfDUQi0tjx~XLir)rl&%&U{nOjj+e9C<;#0byEx5VKJb1#Uet{xN!4zKV zC59KoO>UappdwYTZ_@@VK3R!HCe~oL4Ns&}wI7s% zKtdrcblc0e z$$UY~!nhDqxi!8)PCZ$_zxBo1N;)8OukuxBmPgG(2Hpjeq45VsULF5bV(IX_8AynH zh>7&90D)Y|id1SLQ92VRn;=?Qqo+C1YeS?d_bik35^JSHz>%TkO|@BZ=}f~&TT;TM zBdS2uZzHLyE;MC=q?Od>ZX2S08=}dKsPvba^yyC2dX=f?zbFI|^vw<$#_9C#K=k!2;*|c8F8U z*qe-F$2fb=_m|9_5&kZCO($z)5Hbl%XT(L|&9vw`XCTV7 z&=h&9Df==vd%%YNQNE$i#4G3d8RszP%${v6bGGSI-Epb)8J6cu`6*R4-S?gEGPg1# zQt{0Xx+wwSKwyEA{xe@7EwIUD|0hd(K(>N{Vhb{61E7_?`Hl7e=8pAe)Ke9m?w*_0 z_XKd$?i^4W$+aJKAx=Bm#Vz49mfW(;NlzULE1z|QwczZ#61NRXtkqOQt^YsR2>#p& z7hhn-n2uz5%-uUeUR;t_Erq3uOgrD71|?D=bp|?eZYT2$hhgYkntFuuF(!D&ID5|b zI9Dty+EZ12$eOQ*yZz_dIT>wXdQ}_Q#dG&bMi7IE+EUm;_nq$()=hz^s=jVt63%XQ zO6uqO8oHZ|eoE--XR1ITpkRbP9g3TyqXEuUnNSP*O*`M&?(XbygrdHV{KU(3tyfk5 zW39|7fLFev`AU{jfG>SzgK8ds;p$4mDxraQdsR%x)k_R3gn*Z=A>`^~fe`SUYY4ge zbsz-1l^tO@U?3Q-E{^u5BH{6uK%BZWv&0i&eqX}{j1N* z)t}@ia-i3?`1@wdXFaV4-o+Do0C+n`Edc(WqqYJ*$WaS`XBbN513%oy!2;mZ45ehi z{}jjoZ-~f%e-OwRKXaDtDh>GIJ_43cGVsX}88G8b>JK1;O$rO(J6zaSz^^%Kfk8Lp zLu7&BMRY|L;HgHX$^tW@2wlLmliIcfGDJizEBxA7i3RqF$x<>t_WYF(;8Fk;-+kMHYCkY^8!@dFIQF0>nl4ZL@6VPW1bLH zsz`H;kGSvqLU91df>F+drjdtw-Rjil@xw@Jw~sK|!byhG?`1`tc~}l%sG>|yg>#wE z6Z}l=GRFW0kv_{ab&Q`6N%z8h#e*Akdn=!V27q)gw-={@QAORCny0v6PXl%PbU<6s zMR!JjVEwaZ5i*wSfA1wX+b{Gd;iD~xS4|d8Jj)-M)TtTAdU9qzZEb8QaS!0Wk8=+I zS?!1_Onj^<3fgrh9&NhO7PeizHbk8YrN)@lY;_<+W$6-d$Fy%eM1Kzo&HxPJmUCxh z4p;3E7C76uvFCjBT=2CXijV=Uv}7$pf-&D0&Oauc?<^lE+2TZ<@f!P@MVllVlLreU zK`CYa$$1Cx-qDw_1Hd3IQ=~KTCR2m9m{WX7TOjIIXb`%~wAb+q8QO^~z`&U)sy<+g zdt@*XFmPstzT

          C==gvA|w_<+l+{+`i!~kE7sPJ>vAy>Y7nbK%9G?-zJe}PD&*7F z^7AC9szRSFI#5YBn(Du{R)Uao77n|y?)Tiv%$5B~h-eG0l!cB-7$d2w_RENJoq9;1 zEe+>MzN9VaB(E;5&%M(nu*hS2WHl(LbP*^h)<~>?3X15P$a~PgOiw~B1>BONt_G4cjOJ=Q{D81GYkyAhH01HCf%? zEO+S9AAhL+z_7};{?D^i*`?EI#XN57ysIR28wF%zy5GK;2AvL}exQ3ID|>opJ|&Y) zPX!BY@yS2gNICQUtPg+26a*5)=W${vtTp!p;~SrjDQDmL$ecnp>Np@)ZwxNTBcFLi zkJ>iIxtsHmh6Tk^Yf9JKU(!^<%dC|m1NZ?$HRXh>Jzv@|2qEC#8LA=V>K_6j-~|^n zybU2&mm5|j0^azyF(Fq!G^`K;9)4j=$kn-q6+*zbt|8>=9f1(={c8xh`fMNs{KXnV zzw!jw+BfhH)|Sh1DJbjV2-cfDSVO?KIBEfqh-tsW5my9FPD%j(*dw(7NDv!duHNZ{ zL%^>@u^*1OI@m+H0QhH7?1v++$N|Y-z{{L>2>3t``~u*`QHBghT#+dv4)CYWI|L+6 zgbMH|kM9tWI13e^2f6mBUwOzEN+HkR)|1>KY*rNO#Qgtn|^~ z&@+w8tPDtYNR1&Y7~?xKcc=apaTvfPtmEkaiYfW^K1(l99vJF7f0oYcbRMkPJTkM? z%(weGW|r#60z_V0lh?snOuE{woXu<7ELH60Kn2KDB)^o&?h=(!@fDVQuMPDFkR+6M zMSibJjjWNWnKd#sv___;*2vV@8kw3~BU6KGWNPw+m^^vt_SDLJ7-Dl|;Eg2%Z>$Oi z-dGh3ys;`6cw<#C@W!fO;Eh$mz#FTwfhXOvfhole7Tk8VBw?r_`LSd$l4Qa>dH6atMNp|Ff_j_< z26e;-Y0rfNoVXO@SyYg@5F0m~E@&mGm-mB74GIsWEC2skY^DMy zVBpN||IO@*-LztNP^W=5w;}3O-?xhJV=w!eq)v5nUN+M1nr$qEUCZjJ>WJ;tQ3w9c z2*hUlV!Arwv@MhR4VVzZ?57l+3J;HQO3#V#ec`^Z9{%YEIc)FcH$eN3xF8*S)fxL| z!=px~Sz03-$>o2KwfJrgaR%IGs2TZD`Q%ZzJ*B$!2o#yPx%ujd)2iROwJQ`B27~vT zi0guMKt^>WJ=YNaPdR^<=8faJ^1N6m&YGpwkfrosP)Qzs;v0Z8FpXW8;ZUZJ%v`;i z#-&ri30a|oo)eww;9(agzMU)XRz|Ythc*aLqN1{cHUf_;5G~apB@=I9C39?AOsvnstre6 zZFd`nfUynv{gE{`nH{k$m$@yofW$=}Q3u2zHE(vr)j_WHEZ{kgng_(jhLV6Yi6@C;I47E5a8?FDRY3>tbNY82bSI3IY10-2)V*W z`Sa|6gtQ^#>d|h+93X*~Q3MzpHkTPD1-w3^4;f1wbvuA1=%F~^H=8~6T$M&Z2~%e) z&i!aWau-&fF=>Vmbbn^vCEw)F&{Rhqc3O4F2n?fYx;oXq0fQkk^*3_5e#i(Ec5Tue zJ?gOfJ8-0D=n4$uGIRxo{EfN-MO5Riz~Rc!6&U;(bAcnZqs~C#@|X=ASrf5=B2|K6 zU>F?{6Daa3?u)R|cKlD83Z{k$=%*~OniRl9M{alxJ@v3!34uRsD!na)3>p@H<=9B z`g)w@pSL*6UAvF(J>u%8UNnc}+;EN8^C2K!kg9X(Di?&i6ng3S{d*o$8iE<_rJs?%AnOcbjo)$tX4;7>EJ2vg&FRY8FxYEvvq6N-w zg?PqrE23_dA0FkRWL&)SZOu7XHu5L4j!QBpr>C6`MMdgaNCk)T^4(s1r%qY(=`jNx z<}S+iKixJ&{Z0!>GQ=}7*@RVePFs9TR9_HD9|xPZQ^H)ocmo6y3g;+VU&y&f7{3lG zGJ#xD+!`Orh2Eh^dE-c?GUD$_vVt@Qkqi_-##5&{0l8y_Q%N<+S2(e%kisR-z8()` zE@`kOLsF+msW~QNuaPBg#UX(OPgp5{Az0B$0qgKfU;=~P5z~4a1Ra9seIZTf8(ANt zL&KYPKQ)8tw6ZKuiDq`=OIq1UADi!_b2_QUlyeulYbI?{s3s51chlVp7oQxhXwK_Gijw4W|=}O1tS8eSU z7Q|a&WyLF7`6gq-zd9#ujC0EQzTvCJO#F1kaur?5>OadCv#ex`nzkUCsvvrfFOM^& z)YA+V_Wp7p1jrt;kZL{WgQ&D%%c;f{x2aY#XEG|0x$ZJ=x?=ag=4d5^y@6!D(D>IM z7;f@`wg5;7wFqqW{m)JA;B^i_nGHGhY<&Q_soSW9N`G!WY3iU0tqdf#3DhhlqwjH> zA2s`(X6@&#-BoT5O&@&NF%LQH4%0Uu=whC2b7Jy!xIXl!}^YWRgDUa0c zBP)ULAA(iuOjAUb4;iUq#6>%9O- zz?7_=;tMD~PNQZj{IP`(=af7Vn>|kAmL{J10Ji*(l{>1w_J;nii&j*?R~k-Ei55m& z5Q37bLU??(P1&Q-RZlwQ|KGN*QgOCiV_VraD#!HkAW^vaGc5Jlhn#=>wl$aYnEpPk z+$@y)?vwd>Z_yYXDH+}B$U-6?*@{<6VLAo`mHKFJ?{jPwSGKp<06@8@EK(f`OAb9C z|G05})mqVm*iy_2s%f8J$T$aZUTfK1>a#S$llE&$%kP>sagkhK`h`i9#u1Vn2UG#qht ziCHGkI{<$9dBND>h^sx_h9Te^UJw&5SPf>9q`&H!m}f;h_ny_;<%<0 zu0G~&oCl2EIOhJYyAbF7hdXZ$F!t1(d+Jhm%N!s!t8#ONWSGNT^lk{bdXHN%2S`%L zhy#ob%kS^1J$sqUZ{@CEe65M5tHSd?%_7bH;Q)@gr`fCP9z1f0^`JOloFHWnkfE() zz{FU{0Ew}Z0sqiP(h}hDW{Z*mKha&c1V|z%8Sw62GL`^wr;@qN1|&DX(y!(EG|Lvo zS-7(chKdqS;J`2tqZ2q#_&2`S3XWkJx&lK@3SEI=+(uo2V)V*at9EA`6yb}t0LNGk zT7V(PgBD_KEre3M%2|1p^3|f)ucb>sv zqI|dRk!00lE?M$qDcpH(LDcWGAkw4!luYkD(>ZN%2dQ_SVLrjM^*hfXkWkn`R=r0X z*AvFs+JdOxX+fm6reta>ozt#sE6jh9+6n>*1zU9?!+^ca__d0pqpMU|bQ_xT##x)n zh`&omNpp~mG^&tP8bAt?++{~D6MCT@l~j`v4Ck1dQR0-Fj2EwFE@`kOLofq}3gs0= ze!-Ub6^9HKYGEA%2I#!#T9)56FI zM2IZRY&lUm*^6|Aq;4F9OW49nTmgf^zMDn8a+XxntY>HoS(0vCAq`8QIhH_$6pz;> zb0a3pcwI7=ok#5a;m~hmXmfz1UPftl`m#*Ccy&+9)!(tUMzR~`0H8*)_ub33!!`1E z?Bd86*@SfMzlWRryIL#r4Ita`!tsL2IM_Ju6gU9`XMPSkgSoV|zH61Ls;PElo$3cR z0sh3=qBQZfE#BAoIPKI<2#mC6t^XVw#4h%Q{2crA=I7X8kY4bZykpY*G{!md7E2={ z28HA1=5`RNzyO`nq?tT)|52I_{zaM+{zdABaQ!UP=2aoYfTZAz{MkzR1@_7E3+%LK zNhSI`)Q@TgfMjMQAao1_|DDICaql}8k)K#wc$T5thN$0ZAxYPMDVh9Lfr`#)*IoO; z`~y$0)0;&8_Ura;Ci{G!nXT#jZHOj2EhNcCG$Ye>?zDAITeMZ)>gmjVWAHUS z2qYA2-7M!L&5!3fP?(5TyTG?|+z}(-u%$oJPY|AM8tAGRm_2)GcSj2T()Ql;C%Lt& zbxC)ES~ThBS}Q0zd1*i)leQx-gO(e!xwuDfNSwYy9AW#IP*DV7C#|o@bnR;SQ`?qY zoOP(PfIn~Fsk4AN2+^%9&g6ijwEbude_qmy==cUh{hPIdLLR3mg2HdKjsMQi#l3Aq z;?#c#dr43PVOIte3ef7Rg%t{C#d41Xko+wy+j`CiQR!HqM3p}ZpHq!ndQP?Kc_yP0 znd=@oOg4K$@dh^#$S9e}NDK~!1jVT^cLM~)^vDD!C^jEVFoMGIwBtHn%sXDpJ6_B? zUd%hrUOhdohqAm=J;&LNXr%-G zmUlNh&K2J^yOb3eTjjiecEkmSmwXmIn^ymNl28)1jp)y4l9B394{g+tSVkLrqCb*W z|H^7-*c0M0+^89HLtts|Rsqq6(NOwsKAw&$42q+&0Z`(VI~J+Zg3^SKKV{BRF^su@ z?`(RauMC~M&ur-E4FCq)Gu_ftE8viV+v#Xc`&8q3y0!HqDO|wZ>XDRd&Te+YzqVGU zdcfzdHeZR)0533|l1=P;L$HiTU5;{l!nB+xR7 z0As`Q$4ulz!Jje4BqFKv54NC*;(-6i0x0J$SFffqP(p%mx&@&oOk<#g@c>fTPGbVv z-QJ*Xu+c>thKCoxFxbL5E*Pwf&T&CuZ2UX{II=c$1%}}ox&lL5M_qv;^l?|<@Neh} z3{H-@z~StuGf=oZW&=kuMQotRpkNpn22I2Sigb(n3UO?p{Otk+bj}8eCIv9jk#*I5 zJRh-I34!n7X(ohR+~1H&2#jB9iCp|FA_T@0H6a&RSW4Xbu@20w2UZ));)NFZhEXL0 zWBN9B#`JB>jp^H1U4Fa3ILlA4ILq4Xl08RUJ;_VtaGV0_LJ*T)cL@XFMjej!QE2K`Ioa6{-G=2RM|M@76tV zsd~&nuXPt?=fT}JMEy<+NqY93lIeLcozoW2gY_8?m@hVM{X7^15(?+Rx*#CuzGD13 zfXD=LNpWc|>A6(O8%Hvg5r0>b6{InUWS{^tp5(a)jWMK&8MCDY^>54hsgcy(P(`s*pcI70grkRUr3rUhb^Z;p? zzUMBmf=6156hO8NjRNWE4?E)Z>P?)YXsOh3s#~_P(0=3?_e56G@EQq(l%8Ive zOHAj4jd4yn-(#%jg81o*S z4_PQ5J?Dd{v|!7r#uc}zRx)QYDv`PFGEdj_?ElxCxG>7soURD*nvZa6TG$6UoRZ2p zC?K)b>acZ0gvq)FOOKqL-r_MTrAG*d&mss0e-dHvjA99eoynGvI3Jzk_$U(&^Yaz`SS$R ztE3Da$1WNtad%C|`i7#u`4Vs3l4NW;BQhPBz{xSv{aQt?q^dCAKik{ry(4?|s>E<- z>MAA4Zy>fwwvx)R3{^D#)Gt$LUdAXtEZUix%Yn^D_uR0Xh5JAD%>3M`jh-;iBXADje63|wp&)fS3{D0?LA;ETj7)#x4-0K^H6({V z&O9_7{U`n)kWkW4Y@;AjHAKfkVMx8A$4wjKoOC|wZow|7ep@zs{Kd`fG_vUK-@UsbAktL!aKzQQuEY@Vjgb<=5mz4#gn&cS ztC7gncGq?Yhye|u>zo5-#o8~h=`(KAEZ|*Tsd+#Q)4pci%=2m!ydhLEdY1VX@FBahFHxH`iKmfg^t-Hc%vO@FEz-X~YDI43GOtb1J`iOZNQIvPd%#m{gF}>mT_L zz{g4mOuE;ETzoJZ1HibmCgkEc8^9_N7*EuMTwq~owB$E$+gKJaa!GECDj68lx3M#( zZ)0vu-^S|l&D(L7_pDmUQu)_=jJWz;ugb%5Zn)TImLVWskYm}aSGgeE>Ox@5myW-; z$A~N9U5dR>{$P($8#jcTx0p`qs$48OAxcQ#^W35VAn~s);$mFtar2h-*|k0wZlmj` zxqr6-GW+ST{;`o!UN}{6Zr;wC94ex~F$lk7?~8?xMm?+7?9p zP75ME^-jt3CM})Q7Wa92lNRRVOk2N63jzs+eV*=j$gbxazYZQUfm~8tnoN2~nexVw zOl8F1m1G5J3>Fy>fQ%b`1-!+1%&;k`Ciw~{RuxjX#3?1=xXdFpvSdc;5+NLvxCcdt zszfBPh6?KeFoY^v4`3T!2~1$HI$|p6-{8<8_}v%obiR@GI65@EY4=kzbW2;f`!=&1 zU(&93iXyuZcpyw0N;rKihNEj1}AO_-b<0nwlX<;%6M2IX5 zfSjn9=|!?Ur5pF)5H@NORluOG@7YkUoFmmV6E1BbN17An5F1Ft96k3(R_zK2&NSO7 zkj}IXmI(#Z8Z1{>H{Q_kgQ4HX(5m+yv*S8zOJ`58+4_#7t`j0T#v`>@awDmh&y*{BYJVsk@j5ELVveMI3{dXxV!kX{~I z*sz422WiimFKO3`OZzV6RYxNIht?gf(tXZwoOKjNqk8CmMux^h_7honfy0r z^$k0$#zO6WoQa&VC>`*Gbt*ZE)uU*R21YkIUHIb>7bseCPkmca4Xsb%c7~?phUBK- zs%xWiOy5TH`X-}lUf-_U8JY(l58Eg#yZ9saY~^Hq(K!m${R%z+CX73cBXZ=JwTBtrhzLpI|3my7t|gjm@=M zAm&RhW(fGyvzi`clmgylD3v@MarKKp2zcK}h2e;+ML&vL1dMgfe@5B$znzMn2U%Y_ zEdYPg`(OBsfd_j}3%4~8C1fEENav+FM%P;5L-$uj-2?xdcfSaT8d8%0H<=pR7w{pj zxBlRrgnmU<0NV(42&20*bcHuaUo+GNX`N6 z0Vp&gYm^#IFkf-lNE_qmNft`?@Ii&@g8YN5|N1ao=DeNJI~~Pqp447>S&^-6c1Dlb zD~p!%_s9$u?Djn}i#NNiBzGw;f$E!9_-3l!MW?JC^cYtpzF{5Wre;>vPfTv#$IJk5 zhwBxJ#O+P%%g6A-k%Jnzw`sIr&MzFfGT?eX8{OLR2yVv(r%y7l2&7l5&xPe|m#zR$p8l@gye%TsBlg$ko@L?1ZrnF`Vl&L?60q7HC|(+EkKX`2x~S zLl{d}IIO!Q;pMtfsjBGt?q;?I26%7pWZ@tKw*}Nm2BMPGCcw|0(TG=JyPHoAv{rF< zF!&E69Pon-C*n>p5Jw6M@B!vim9}E=RT1u=4aO--m%1dL8gRqUBR2r=>ozX};tnYa zfDbh)?Fl$|YY}gaQ^=Qo&7(-V01VI??NOH`(N2jPt#}KNL{>83ZJy@?z|$Nx4|rMR z58x}DYykKzM=b&3J?#@89qyi-2fTOWHelQ*uQS7KPjSvAz{?{}U=mMk&+}=JCXY~& zJFAv2f&zR&lup2;n2@CzCa5(bl8XtApjNf`qkk;IM;&ffC;gN8aGc|m4wsxB4Km;} z4JUaC7+kVg8j7i#w1?DBio;QOLUF*aa_21q;wU9cJ*BwVBMR%?arrdq-oW+0Bznmy zq>0MIDJMiu0Y1x}vJ8k*lyyhFa${7qfGJ0vY8gkBJaD}`Y8h}`J@BnY*a|kk2`~rk zsB`WaIR_XgN%{hw@BUf>{7wAzwa8z>1Ha> z^>9@^tuPML$`q#@lb+&Iuj(xsY{o#vF(lBfbnB+xcv+;Sv2&9hjrn_`m;)0{* z`Uf*YQ6LiP0$`$2caqzC_z2q>0X1Q;w}CdTMc6>tnNEoJzB^h9cGMSfUu|3x)30?z zRc&62u)jaFGd&}_@i%YT;qthnK9OGDxTP>4@&sup*P7j2ecMV5eM@mj-CKAyst)(O z`uN07eikNnovk*;IqiJYp#-KTbt`HH^GiX8Ud5MKUm)ss`0}UbBAKDm?!*rnS+_d7 zf`zuYOV|A~ef+@sm=flCmkt66g*|ky!CDYA3EVM-p^+^htf9)DRtVE!gqF@Qf;=;2$w^LlD(l`h9STIAq=lBrjl#sxyfG-MuSI@feuuy`uCK*!egCYz0; zj4iT)tzMxd^queX?z-&d*Xn|*LU5Fc2!6Kvco8tl#MCWQm9EGU_Y><^&)ZUY>gQD8 zdgpSwA4KMlOs1dBfe5+}=<8h5-Oofp1Pj(Z$3t9n!o#2pXBG>kW17O5OzI{LYP$|n z&c5^g%7dEis+H;0X8W5wenYnH&-8h9n2L`%IWdqYtKg)f7aq21Ht|a z_>ZB(lxVUIQPustNuVusCw6xDI+!zuIWP0&%3P{LiL+ZhWjbY5T*@ogou4OBlq1xX zRZuCX#%0ptzH79n0uDA51|5unXj?A7Yf>RDDABJV3X(ESC!A=Eq^jD-x(kxBUtUz5 zlPnBpdN>M1=h>GbW|<4RRUs);7ff`}g>7_U>eruPq-0uIVWBN91tlMx`R-=Fms$`= zC{9

          q@uLqGh`26%^ZtuZ2;V8C>ZDdOJ5!O~@DZdlb)TFNP}H8Rb==oVx*#<~^Nj(t)gQTk5weox-wT;eJ`vAJn+ zjJ2|)0{pe3<^dab)83G=13bri*9&f0Im#b3(A>gmp5OVc5?u11^{L)B_ ztsettj+w0OAVmVRppTlie{3fViR|$NX%H2MNvNl|G#ug2b==NW z`mpDyS4{UCa*736>%-Ce)?h^w!9 zW(>!fbdsmW5D<$beP6lC1?gFejC6eM?xR+QNk(68Rqx-u`V9cd*ShC4`J3zG%q%L6 zEFds%(G!0_NHqd1WL#kDo@TGUD%= zV26KWSvwZzm=g=6!lj)Tie8CR-tT(pYG!?d4ca!)I{fn2Zqv?%zwkG3OZ>ly?`7^w zJ1#8gre=s4ZGmWJH@>7@??3YzCn_gKk*<&cIb9(XRkfcP%L+(uE0jLa-OA|w4gv@S6gFj5 zk2SFJCTRlY0Asm7K2>8iL*O9#ocJ-7%lt5!L5 zU?<056BL7$RkEO1K(bR2RN6-Z=M@&_NY!TUKM#4|T%TfzFtgl30o&vR)}NIz&# z-sufG7@Shwt0L0lU3^+v7k4|20m0l)dz!2bUkFm>M@m`c*&}vuL zna6RO;+|<9i3{i5Ok;9R>F@*UD(*W*hw6$;Gf{DAqFA<9&ozDGz7HAG_m1}CKS34+ z@WZ%p$957b#Q}fRBRPv3c2uP;kuP?JO6Va)$bS&N}^F`)v|36T#P1D&Ktf^Bq&4n~#z%#cxirmsK}C+M!M^kThw&GPl=2`OeRuJ? zw3WekFHg2?Wzls$Dq`_r0fzaXnDEl=YF+z6cQ2!>Z}oEl^E&>y(0Hh(V&{F55nM1` zek@~rudud2r2cua$$DLI1_kD&UK|Vlfse9W@Q;e;bIo5ho4;RJE98LBemrO7^MKDW zl&-e6j<`DL2~G%jgrf$4KXFt(L8FbeDE0fU!4Qx>oAn-7pA3Y6_pWM>Qsg`zld5jymkL>W~o_l4z#>Ms`7mj6h*>{E}C2q*Uk%3?nFX1qR(APx*s zj+j6Z+RzgiTo^H>UR!goq<)|rFFq)WFff@QcQ+36R6s=y6!2LV6*zxKc%J_3Gj zOvuG`5g{b8kGLY3rueET?AZmbUQX(3#!%l6JlObbL=+ez`2)(ysqxZF=6K?eZP%CRqvtZy9M`Qejw3?sNZQJN#~@L zOkV^;=d|n2Niffuwo}4fKc4{t357XHgO@Hab^c+2O-M>}k`BLz+dLK)r@mXRR8v^;-^J+H9J z%cadDjodBVF`KD2Wt^HBDQhX+cdK^Kc%_S!wa}~HA<&a}bpDm6?f{TNsDIxViGOBE zBf}OD)08azXb<`V(6pEO?3aFm^9N}+HC@_Kp=4;k*F0Ybzx=-W1x+il1bqDY4N8mm zExiS?mf^zAbzwumuNz8*4M$wv^M&*}1l;sDq1WMvt69U!UKsF|YY4geL?8q_FtTGf z;_9A;6^Vec!TGBc8xz<27e8)w(`Nx+;HY^(>{oBhx;MV+n>l$9J-W7NOaj5VD-V_C4cEr`6xNqkHW8db_SeLzuPw(S? znFEX+IOh($uX}3_a8sn7;RWoJl@1^Yr0$yYbh@*fJO@Zx$&dn!y-@tC zZS@^|?EbRZtu+jTpJOH}4)|4`5%TaL2IKfr0hEcVK8F4cI=Z@5N9D8RG}_;>8pMDJ zC$wOwBH<5CfMG;Me{cd6E{o5W!7;uO6gXuoW|e_4)QYHE9hsdu=AugbwGvf+Ae>XlFk5(g zvkK07p2&ozt#sE6iQf)@=oWgo3TQ`eKwm!1%Qg zG0Yidii@(L2K8Vk<&E<)l@Whek`<&;c%--hQiJ3+1#-ufppt4blHtUv!r(4(Hov$@ znb-dvPU;jn=RGF#XpJnpAvl6{WweB{AQ7x+35A0AC1SGW33f+J>uC^l2%h&H6P<5l ze}fJUZ`%FT49=r19750R#+S6~-KgMu+VYJGzNKC7Mn$K>#rKNVd#MTf7#VcyhXM&> zLJ`D3JZ=O9YC0`U&4CD!g&~j=l~X;ZE9P|LA3SpBR-0h7D<_Fa?EKW`>B=Lqy#l5! z{>U+A{-p_-sMqY2}!+hs7@*t2< zh`ju9qTU}G-+kQLt(O>hSwKbEQiBt{?glxhI{nVZ`qY>8tGiNez1xKLw6(iZJCqQc zXp3tQc_U~?eM?XGHb?laDG+ogzNNEEQ(6%8SV$-B?`q?FzqOhKz_i6Ake|Xh^LxB= z8~z}WP)Y*XrZ?+u_MUIDv8_ua;140hGCHwZb^xCP9NoEtFn5nr9vwvJdb zaoy1X426JKpHR$AbK$Vd2k zX#j{DWVLl^rnkKHMdm3wL7;YmlE?dsNq#?UFe1Cv!?IY*8?oe;!$u`a#Ql7d5YWo+ zyX5WZ8fw#K+ z0U&zIFPH$IXC^2o@W{;?0DkTyI$fN4Tm#<9S`l^^P#*L}^5FP@I@3U`)h>Z?Tj94= z%@J!jXw_&n8iclqAl|rdWD|CNHNpWO`WTGb2KX{ZEdjpXQQH8&Whkji=dJ$AF7|$` zO9OnYc}*<^zScdt1c-B$4DWu_T&g(W@43gf0p7}ds${9l6^GA%5zzr3V|=((o%M@h5VM13tiiXgCjel%ZxC+DYkjFB`>E!fFkcS-)JpD>wVP!}JbmzChu>lP<^xBMHRKaZU!w8( zJ|41n6LjQdq`gVqwLCNFxqUbHv+_WzH>FOq#G~z1^7e}B49T!p52lXT)ai7)_AZO` zyS3M(;y*+=27HpIzyjdEMwtTq5uctG^0ZhWEvDUl3wc^B;AB!EP75lHEcXCe_9+?g zpZaVv0Aw8~oPewYl@s{6ffJDY6HY+#PdS09T0#bRyw|h=;NuLXoWN%UGQg17<6ryg z0qpvsMjr97`2DU0s9tBVYT4bVo|SZhs_F76YA&6kYC0yVH+aNXh&b6;({Vuo?Nlpi z8q}#ww3%{h=3Ols`+8JX2s=TnnYm!mQ6sr{XJ95)KM$yMo~rvLfP|rz=e}+Y5Qv{y zKt%TWt6Z?!&`e;N5v?iCUnOGS_MtZq$a+(GS!fbXSp}pqRI)SwZY`{nIX*qUu3A7j*BatZXS?0piLTqUAtW-*8nv{ z;GKmkcPCrrsUv_N99DjS`$km`__iLA0U(hR@3YFdjm;q10r0&HCtEbYt0FSs_dD4D zkbQ!10zS=#vUUJW=%XxPq$(NklYP`K0Wza286%lNt2mN{IbCsS^;R6^oBe^}7__Va z6$i`$P&5W4+)Czgi-2Ww4|B96Bb9<)1r;&WVEm4p^tfgbiiS5oFC_3MxL^c^Dl)`y9H)(-mM-y0>(2c517)Zyui$DN(W3pln$7&t$hG9 zyD1$ovzx>fkV>Frz>Ino2OQ%6z%2gyqk-|CHt~zk+K4H!Q|*8m6fym{;4wI2`W+1- zL5gL7BUq{!^hX)D^l1}EIobT) zu46}H7M2K5>Yna==~=aYR7tq+n9o%~^a(>o=Q+K?# zx4w3av*&!jA9PKfqZzTMt&wiyYo!6;9eqiaJHImxBW)qr^26iF)ysfm~TCr&0^6XNgqvsFogW$%h2|jt6&%g%rnD61DA?ljNwN7>`slL9wFZ zY)eotwUaGQxCBKqT<*KorF8QyRH|G2xn;fQbG_$tz2|eieHkD0p3n83&-I?q_0FC_ zxMjT;bG;XHy%%%6{f1l6dokC0G1q%B*E@S5}xc_UNG!|1+yD(l~8btt@R)#$w!4aPU z#^8B2e#HxGT?jq`ey(bN`kM|38!+V!BbosJ;f0=T2Ta$R>{)n&GdZC zHD5JHM@hZILA64KD7W#9^5U9zM29%Q-}jmPM8IDfN>0iyTIJ%7?!prR@vhKayvoI5 zpaaC!H63GzdQjU|NWyW>9ycyFNmABTfg5&3&u)t{6ButxVZXGcvvKUl+=)woI8%NZ z0f;MWKX8FFg$@u`*8b-LX9^u)Z1 zuDNeTdLLrmUGrr+qV)PuBfN`;W00m%VYMMoQZ;i3)vVX^3bvzlC?0LG?L_BT%XFm! z4rS+<4VN92N4=r#R)3t;9XXfO-xkSUyLl2p+W#ZA#^*JZTDH|{OB%MaeYwrC+}h6Q zA2~Q^;;fZHp^1tABeu%{$e--GQzI=BkK8qjbw}0)RYg^!RZr$M<-|fwxp*~lUJc5e zRc(}a(m9!dJJpG42fCX;QEIRhJZAeR`M5qI<(zW93$2t0UrMxBhm{F+tgwjRM+Qeq z)~%ja!9rVn=ziabdCnA>66WSzP=-K4p%zWd@Fi_Q!>Kkz8vFNJhg8{ab(H5F3qQrB zek$?G<8BO8SPM_Ul{r^(&Xu&!=K4d4#=1(hlKC2I1$BvmL6PE_iH`AJwmg;K-#qTz~mYA5N1HPY{mUo^!?Q~wpgsl z@Bw5puh%W9D&30tpA}^xV|x`}(oKP=+u_R(_&Cohgp{C+tXrK`!9rUcol;($`MuW1 zlrYz$69f_pqqEoHOICS>BBPz8WZmk_3KrU;hWgVWm_Otip4n&!0tp2T``!(!kAkBo zoruU5h^C$BQyz`%z@sz469%+}L#tGC&gJpNad)PhJAlf~-kIPb9om91y*5O0tHtibgxh1;Xz#Wm z>bD`9%!qV_m40;iq1FMWo-d|A1bwqit*S5EoX1_*LY?cjA?mjwn#_pSGYYl7ZtA&F zAcDS`Q9AW=w~dEObq)7qJ9pt}g3`LK#4C%ql(n#~D|7nuJak&{Zxhr9SoqLblKB~? z@XP(cXz+@}hEmGQ3iB^b*xy%p|qoaZ@oz9uo`?Fk&%t^9j&d4;2VWBPl zh*#HU^l^^$;i(M*38f$LdN(f|ry&voQRa|dK~fghi4KzRcfo5qiO>-tldyC~Tm;@s zi>`A9qD+hCNTRCJr@rI{CZmdnx+KqkVfUkW@AAtg|Hs~&z{y?}cf6;US?)y$#0_^uRE!%+ zR9qq?;)W)4-{~3W!pvO24GjilQ32&5Mn&8p5*4>52`XxgxCKZwVq8LET){OeXf%pw zM2(6ouTG!(*7?sl)lJ_4W8UYzM(?Rp|5|=kXZ^1u|IPkyJD!&hI>%2s6Ysy|cnR(h zdqBm4J2A5e?(EEBpi#zVYjw!vkIcgo4>Gdjl}#)UF;K>AhaaiK*@<;E5%e4lyHr$X6R{1ri|gVSPwYL`;3dbY9klY+|Y>l-PIU4?Ksefw)dW zZ!@F4rz!dL%-XKx^D--$%>Tx@CjD?j2l!v?3*aNCaxDdtoQ_Q|@Yk1Er02-)2r^q7 z(}~twN;T{;6y%*5$YyI#`nwSqXd`^k8eaiBW#}vV3hQwLCzorMTnk4j7J$T(Dq1Y%05T0~9TF62P+QF~t#p-aV)6#{KdQSAnA={R z#E<0m73(4M})oBdxJDEz*cGs3Eh(G41JD1R=dr`W>XDdi1Tj zQaNo%P$#Mz65x7^M0G;~j21yiRPtT^J%&^WaW;l{r#-3*Bq``!wSygCeQpu*&yw$yO9M9Jo_9qy>E z(09%iW111m=KHnzDyA9Jn_xZ!vV%q0jW$6-fBKX}-DG9cn_Kb<#YOv+ZcLgOS=4!Ed= z7s&1bBjj6*HGsTGS*ib0`!^F@g#6e#!OE*L zaQ+fAFo48%^fVY!``0W8+4MBNTjS|uGth^`cFHj|0+GgmY^m0w1vnYiwcAQa-t^WeCq&zsMrdXlp}A><;(b<7U8U$`f(y{! zRi1nKT)x(8%HLE$`}{ZzEI3`f%%WevMlC<|GwHa@MUeX|EA=I6kIaIQ=NM}V@@?yM zsr`!yE<%3HSWA$fHP#~J=hm5{_Cpg~g4}$Wg#r20%V8}+epy+gcZ8_i^s^=hd1qyf zLyIAZ4$o-7921!%O>;y?Wrb(XKV@-De`BY=A zLDG&%m)b=pIDq`LvDP4I%1$``$RQP4G8v@ypIIA{_DzD+-eax321)jlAhpA+E!H5P zsH`MN?N75HB#o8?H`-qNSWJCLT15WV1|-c9ef5Xb4$Qicj59guf}}Z;F0~J5UC56c zYXy?bCtYf!S)4%L(lXwMe20y%6-b6uGDnS3CFUR*Q%R5-85hAa-T5+gd8AoqkdW5@ ze^QfE=`!d4>yz3}+V66!EYrh#)+LwexJ(gp>$>iI%XGfK(*7vHeESqeJA-+|Z1#&t zr*noq)gfb1CP>H(Z_KdtErx(i=407ULNXuAQ!9|!&6ug#bAyYlJZ7~nmAi%xRoRE^ zUP?9VGz~M3WC)TON5&^p1@pA9zNx9D)r95D0E~5(P-m<+(S!gVmM6(BB+HXz7ZQkZ zVi^o;lxro*Bv=AX+!AZzu7|h223U4TG66w?Oh#l4YpH}KQY9u~m4Jk`-aoY$YFoV6 z##awAun_A#2g!sgQnll?>?l#QJJTsBr3aTn>z_S9kR;#0F3%WcVBYX9 zziFD7;)F{=8;$I=XqkCtJON95zRQ5xxo)=1NIg|6w*qK^62JPQ(~(`@5*C8)41 z7F9^L#nO2oS@9<9kZC%0yP^$A4pOVqH|dy(%Vf(!nYh&08H-WKC*C-l3}|0F#Z(soP6jBPOtD!x57Tr=9X@Dqf#<$P2=LD&(4>wj~+3v3IAw zU%dW{^`skg{e&LJ6%yH>8~A^i{r#sA8jlFnA* zNz3n4`PlI(ZI8xuKGl>qa<3Qwz~m&e3S^@}@;rqzX^>OBE^_Mjx{FLVPvxZ0Hekzb zv$2T>%uECHBap(U&Rp}Gn|NZZM7P0{-J<;%*Vi}1$;D`tmWdcK$pYhg+95vLE{#wT z*$Z{;i#N5Q=~S{EVT=PwSS27~0f#~Fy+<(WFq#n3`L}jWs|Sg13G>@F!{B|yEd7s| zEHOvhRm2`7phj|Z+oDulk$W4(bl;2(@`<)jScPoBJ=3P>2HZ2f@pq<;zh#5F3b|se z9%OFiRmetAXX?#wFQgA@5I@VoKsJzH<0bkUo62cjN#Hf7H~_Ax=6BLrx{v(=|A$#J z*UnY)-HpBo4NU3bMS!s?f43zTdue!!T1G!7EB*W&Iwa-j+MBvTeu3BMa<{9-yUw+#&ij2|=u(hiS-O9q~HStDT z=95Y+{_$K?D966zhmV`95BuBMFtFfk5JKzrs&!XGxTQoW{i70#uWg`0=^~8b;p0w* z@YwVo4Gb(e2s`HHK8DcAAr`Vwbq%Ao945I&-Zzo@0`b?e4K=+f~*QHf`49%2vrEJD8V)MQogU*yk(rv3Y-J%D_zYD=Jy z7)+<=$+-6~m<}+jeaOEv);7p*DJz{NQ=2#U+aR0n>*p@gpNq!zb~PI3Ea<;C-z#`| zg?Xv&>WrpOy)vJIj2!F_8}_03Be61NKxUU~kQX;Jp@AbC2FR-nY!8w=h!o^)41W*u zfyUYfxoE64$Q<}KiOTuCSpC0NO9={+NTgp~upPV@95Eex;hv`^E}$feRb`^QXwUG+mf}0>8u-^IO`Gj#sKXeKBfg zUB*#kNC9cxkOGf8q+;*EGZTaughbaFQYpiwZfr7?ug*;di9Pv%!YG#JKk0HrY0#Ri zv^r|C(yrTNA5p|Y}WnuJl#!f3-{nB)Be!Nh}gubuBt|cr?aMuY4 z-DJGGi02-9_C2!#l52UKI8s+966_9L%Th5n2H^zW!xn~Q+ks@JnMOa>KtXd z#|CIh_moLGswp3-%5!qQHTv`b3@o^(OdQM*_Zg-J%>Q-_3{p-GW@buLj!?2mCSRwB z>gKS!?pL+J~^|6PtOoscqiyc*))iMr%d8L2H zOdbKbtFfxnq*i#7wj(y9tuo7@l5)!Ef6r=s|*~6^?++KC1?3Tdo0!9U0S**zrwntmS9Im5TlQ7DLq% zt?1WijokfJ-ac~%BYUY^JA6mACXAhq3H`SU zJEzrUCb+@yF}oeH2)X%lNm!-^$eomxRzzwiW#tpvQj zUc(;%|ECtw0_0l5*H=Hgk|N-7d?h6IIK3 zucmIQtc`m$HCd%GFSp^}`<{|HBR#^W*~XkPkhq&!mU{arc|c~BfwjW}_2A=7sG7$- zp$QG0d|aaTzGZe7Az%IZBqD7K`DSIseziEHc6kdlUgmkc+V{d zIx}q`w@i+Ek#ox=gkNgzZ(<&tEnZ6xP7so(BZS?q#FzJ=Nr^EhGlYwbbS1aA(_TU2$*`R=~Zpfu7u=5 z>#ojqfDjH*E6+4*i$wa3%%VS1#z>#MArlX_5klGi_(HbPalVIg`Heap)0Hs{; zf_$(7xLtU9_}!aaC%;?Ezq^K8+$>e@xpynv;-*8yUSs0NO%g{8^tX>|^aS(B5!&tK zOXw5C5hDZFXTHjfG9IGQtXV7cAP=#8Zv)&J#_B-=z`YI_!cl4$V{%pTecLZmGw6<( zH9}Ijw|RB0BGy9H*o;%c3u_z~Y%h~2I4;;;;%K#776n!$SYp726Mtu>Gei884NWXK znyvOJinrmh1QyyHq;yY4F462w0NM^y2z6%>qI7^qjI_u_xl8>($z7}^dsQ?I&3`k^ zh0B!8eV{tGjLmzVioMe`2Q%vH&gOIA`SkGiKdEMJX1aYy%+1Lo0Q>IsjId{ARQd}k z0G7-)qySjXt*utu(W}j4l+t_aZ3cIgj=KK zXwsQ7q?^%qnJ}E5*D<|ETccGw+?>o^zm(|5YAIU;$Rmt3fPA{L(#l8eG!tBeeBL_2 z>~1}U^M{y$0VKB5ibn0ZSrD@6$-g5Qed6ivW}pv=?dYjLq(&gpHjqtE{c2MZy&S04 zk1;PRkl1ynrVu!cFKGtIrdxlf7G3i@Q(b?+AS^;2{~t+6&W9mSR#s|HY6pGU1R?v% zN`lm0lLaB)V5~*Rj~HtOl;g`9{{Z|)8U6)G5T{;3?Ju(+B#4tBwdWhM1xVsZg4F&# z3qlfA5*!~;I#P$#C#+))?Ghw`MBDu#wMQ9Q z0%{D8whB}*EuV{l#EZM781HA<@pIAk+Rw7%r@pt(d2#fI;VW%`EI}S-EwPQ9Khko( zKz8XVGWSA)OD-Lj-NU`HP26u&49_yhYdHQBbG(M*zs@YkcN(h)Ny42|!Vq@|;eXWW z{mp6bDQf0f*&HMx%K7`F+&S;(YHncWRsf8ycNc901>GA7N(g%>h{tF-8;%e2*WG$Z z{b1uieZ()3B2NP~%U^4t3l`{dsV;XZni`RgaS~qETtt)1J9h!v;Xw72^$sn~cf~&D z5tnq==2uG15T+1nPb1Ww#S*2{;Is3(=YRHBzLsKp^9W7Hkr@iN#(b!X<# zq;$fRr|&eVw`sWF(^7;XH|wktJYrD%qN*7ZEaE0Q^;Cu832CO)MWT3gjv@?S-N(Wl2 zeO2wT&IE8M$IO@;hAJL6syj1>CZ!W*JN%9g-+OE6v_LH++wXc?+|16W)Y`RXbrJH< zzLEsxL;>=d%8KV5i$iLU`l<;+_LY?csU4jKn;1&E#xwxa@rG#)5){$Zz%c!Zxmtq+ zMG~ZzF|Cz2V!g)F2Md~#<1?$ProQf$Qa555_XKf*Qv+DW$g!4;Rmf&CmMs~NwPdV9 z5`F}*JfucQ&RttSpsip*QfG?yD@BGPe(@(1*LAZ!pAi;v;Hollqip9WCq3ncXw^t{%@~EjP-%b(R`$I6W zAXhrdY{fm`X{xus_Mp*dC_95YL_BTjHKnf8k$layTC^|%}giOR69o9zD7&gU_oAG ztTo7=D=RKPi$iKJydqhYYgmwHC@Tq4`)U?!Vkqev)1bz*&BHV>OfNE5+aN&^F%5>) zGNx@Mj%K~a)UPqEdYJl#>G_6f6%rH?Q{Ta~+Qa}|W7z^0qKWqW4N9%N>?!+iGu6sl zJ>~kvr8sBBUuht&8E?@}Me=0a{ajhkvy82fDIy#*IzzzRJFWXJL4Mj;Jv{7c9;!(y zAn->v(j%b`bN*ke^=)iir(zC5#XY7-S_*G+mD3+-@L zIA3{07J22*(@nE~sXcy8D1A!;QEH4-lKg>ad%kuX@AB@n)t+YjBnEZfzE+Bi>L zsv0|{*_lC)(z$?_6NhngN&J22#PI}`#2F&)of-5fCngD4jU;_xT#}Z( zB#E@2q~+lmb&^E7ksBjFq@jKzCkf@VCnxE$4QX~}(4(A?BtSJ%bmh1d9po^DE07(9+78bO&`tRM z^U1GOsP8t&3;(9Je{MdijhI9)ca7Te-=|dXOQzq4{4Zt67pPi8D&NU+hpK(Tl-n79 ztE@}Rb#;fMPCV`WelxvDG9O@e79U)B>*4r>ECorPH-*kVCv`?XPg1Ejm~;;k*bQk| zpEl`5NE)XhT?Z98_tb!BBk8~dc55@cM6PHy=b}zBUz^)fo7+;G8`A`}IZJy+w^*C2 z_QP$B9)rsocD#-UeU`Otzr-BHN-vS8R;|EIWK44PRCBcec~S!rbVjtWQA7q!h<()s z0n4Qe$QK!)Wypqe$lOVmOFUw$OptSBq!oUxjyl@8;!INhI+avMq~wy$`d_yan~!4d z2Z`h>d+Lw@>D>8mjqJZh1sQnpzAE&a^_YCnmLWR}kJ0E{S4@LjUO*~L%jLK*i|xPC zgK~up64N_1+*SU@e^s`0Hy_=N(o^~rAgv)@b0E$I{&IqG7EDQF>v9d|i(1BJhW?5L zT3@A=7ARFmZC~n+3%XR!J)*QQ7oMH2aIWuE@k{mqWD<2^oH3y*Et+c5!Sb%UYTi{# zu?P8aV{L`J+*pf{UoqBJY_2cyaF7WOATiqthd^d?)r)fNfT^3AsVc7SG(w?$FSS6~ z3Ke>pFIyabmO0#VvXU2P*7|ry*E1{4b~tgqRE@k+SL!X&lf4c~RcHQ+^ZSB=Iz-F3 z4nSvX&d@Bs)jHC z!p>%S6>^t`<-w5J9$63)bZJ*kZQm>i*~D7!t>yjG#t*DlYi?q{Bso8|eDxrAGH)x8 zAeI#f^7dH@61XA-Nou_<5o=!v0Q^(~AoTY$K*&wzdI>bQ%`9Bs+gNpXll0)TnG{q> zu7^5imgG$a(rAGZ+1;?FT)NaO&_-jo*~#g-8vE6jgGI<6Dl3f!YMt*SMHxwuo0XLW zsogOPLf&(oV6x-=3#dyC)ByKC&n(DaHgFDxxWB!*A3!$U*CU|`1OTK$W-Ca5#9-wQ zRI2Ye^VWw1ND`!W=PU@>gjK&X+v>baeNZ~nd1s!3l-+Q^qxY)LEowRW%a!xZ$Rj;h zS(CRK=4bD8{<^s$O18oW6kMaJ;(_L`JB`q6B_zn2Rz`HZ>W{|{lX{UGZAf8cDAjO| zMn0)}G^o5?K@XzooEI))=%3rL=6`HRvlGz!s_Hwy;`WEm#W<6(33-=^L$0aJD3R_3 z*;K9vOjDV@ECU6ysa$vK*b@BqQH)2~*jR)-ZXJATCuc#()7A-6J0}Z5p1)2I2wqvk z8hEeHr@9HRhSm3A^&MD!4_4n`z20E;A)BzAMr=P& zRVbagsXfO*N|~GF@0vAZigYdK%}ukFwXt(k>k$g>V2i8T;>w303L$UWk@eV&Jx1l{ zn08=fFYdInpn9~G4CT7tRGaxY?L2P7nkyU9>;&|-ss5O0hwglii7i6DL0M@_P&KvW z6J-W~^c={hay=H}w1YC;RHhxsrn1vx8&ED#jNi@hA%CjWDpDzb((@L&ywz`D+04IlxMrX6axFjxb~CagNuO>8x+z6Y!C!0LOj`a@vd z&S3Q+o3NZlY+tM)Q@Ya*2Pwx*I~=F~;P4QX})dRM6am}!T8!_aDsvfED_WpU;}nE@a@ z2ePSLkA$fmN>V;db{AH{f-b^ArgQpze)v)>=EZOZ;u=*Y>+3l#{>kU>PvI)y+ z#P$PKh0>jNI7m5e+Tl2*Kkaaoa{RRO2nBbr#pUgG3ZZe+4#pm%@;2?j$X?uOXF>I7 ztGL@y7Omop?$K^%!TT1~0oLr17pT~GO?(mZN6JdO0cyX*Z9@gC z@4=F7gTlF;!RkXcVR_^CV)a4kj$aN^jvK!mr}W1!M=8gT-;XM|Pv&+h+gP>@h0wV1 zi`>Ul-o`JC?8P0wm#H3YC1av)Ab;DiVa+dZNK>{As&|E!*E4?i(SGwJ>pzQ-Lt`yL zo~x`hQmMT;3qpRvSc{NfGFJ6YP;6O%^h|7kv8?Gm(lY86Xs?)d9}+7OvwRX>1wNAn zA#sxg%ib2xdjC|Fj?vQooD7WP&8pjvPS(S(GOxFJpXOVp}& z#&}?%LpCX$PnUJ(IY=o}$Rp|t9<`kOQ6J}GELJFIMasVz8(QyI>~uj{N+2(@u&UnJ zGQBKRbv$Vl6Qcvk1{e}ezb`dg_(}zGi|-|_V1zu_SWA#SWu*Z~?QvNU@)Tn&LY`r) zD&*)IAi=~27|WVf9tZ{Po0xVV5-TYe)K1HSkht-a76;&MRA~<_Z2-d9%dENs@a}r} zktViC4hNYA57>}qC!qJB@xVfdY*M-dkb{&m0NuMG9H;aLAV(=D4Zx=< zcDkT+Zpi0ZSXFOqwb08#RmY115HUKC3_wUU{k}xYQl6<`{@p+=LSCk7z~Nw3WGL)1a*Wq7*hL57K8+K z5~Ox}i(vrSjA8QLIL1}S(D!2KJ2CXV82T2&uPlZ>B&cHy{UNnGTMT{3W(@U4y45*H zZBsfM>CQX{DaQ>$j#GLY>AA|<_>J_N6x=&30nUkVDKu^)jojPRm~EtCWH0Xg`)<{v zQDt*l_eOUkec^^R-?t&nPC)Mis_$&1;~Yf4VbC_l?_DO2-=;F7MS2coQ@I{EO=Y^N z%zltf<+{f*gY2XD{=mBYBIHTypi?_53qpQ(ogkLI5^pD%kpU$3(`-WRWmypN^$l-> zA+;}MLC7YoI(u^UGF+-kU(-_l4%+U}-!g;Mvs>}u8&q*7qh)vKtXe&Q-3kv>yJT7V zij%1phmSEB146wxv!>HrtTkPqk5JMsT5a`rzk7AqV|$32>H@=g4AA{1tDLzPOu51NdpPLS zR6_DHzw`W2YqR>gIle=^*v}wD>1vNa{2ms!p3A8DBcD$O{OOI2@lN8R|tGsC$tvH_DuHbxoY z>&JUWSxxNm$w|CmQnH1;tXcJvs2P7~|K>18FZaugzDQGp0Aedl=0+T zcdO;RAv{xAb3a={^PHQ+t_mMG*2YjI{*$)E_lJw~f<4<@!sZ{C%_VFRlRRsDo*wN zJd~X_GOb;73WhD?AA+!2#u$t*KsPG>X@_|j(Nl_n$4 zvp8G9ydf5I4nJx$MwRTik^6T&e65z9@QmGuWwJ-i5_BgZwoUu&?%^4?J-eI!a^|1x z^^D!2@8|@4jOvhnr}N1lsVl&FLLE8@r6bf1gqMY?Y@}}xA=puTbKyS6gne&)+aZiy z^uT<$&og$NjYr^Q+tq$;ZWG;r(wXHq?ZQDyf8^G3?eL81PUFs%HFxOFNV5W*@gdmg z$&Kwn+5U5;cPmYa6H`*UG%6>Fd#VnbZodKbl#P|8A_s8cp?HbWX$P zHK{$*U&ZlzG7It|V=aQ^Qe&;wj;jxDCdXe^r{A^~?LpEkl0tCM22NI6t#7D_ADF2s zSXmS*vG~3>DwNX0>u)#4`>y!7T7B57-Y~G>OdcI`^W#Yfv4D^_&wHk-c_@xZjO}19 zMU$R+OKa3=TA^clbYrinMos@fHQeaubR>GRjAh71r%oLw|JwdjHszz$$DAmSc8f5u;C7E-jz~mo`*JAx{UPf%CW%sY?Dr#p z#o(4NSU@($d2O!BU_4>N*xN19OSNXzTVs1ZS2bQ^nl^)7o>{r&6BTzK&)=}-85`2< z1oU1y9$36CLnx%v&uke|9J(9RoHM;Q7_h39N_VM#jVhe}i&U2jWRR~g))M3^l@%A) z!I0XAOmG1C17j^g{?9sHYS)?Iz{p<$WvQj)oUsOw^U6w4s699f`tgP^uO10gwi6#v z7U+cqKHLclANMmK?j=VuiXYKLBcrP{TLC?UX2Z|FbE{VULAO@8PTQ>Ep$xXw*;!+v z^sW=PIJmnC`xnVNm7I5xEVQsf>CAUr{f&6Pk5W2q8SmUC4pKTon<`7vrJNg1wVZduY3It?_!~~Yuf2&< z{JQr~I8NyV(dlxK(!b#}|A*?6(ivmjO2|)0E$5A~xyqU|#zOb8ii>hwE;vr<;O|t% z#@f}85*rS3U<+8w znhO!m`roCRh|gI@Odcg9+Re7CU{A>X5{bZv;*rCAX2LBC2~~T=jZw;^7kYQcmPR;WJZM~J<-cxNR8M<5R$-? zAhpj}%v&LeG6_<9k!C_HLVm81oWYRVV=WU~A&+ciVlbpep2Q+#GiCJyH{%mW%8sy< z^&!cVJQ)c|l45{;CuPfC%KF1PWy@a5`olV9%U;U*PRf?Ol=YpIEqf^&{}g3R-4;y_ zX^>9?k_iG9RvqObbv%dEjeSVntcR2h)(VeO3}A7Vx>g4Wl+NC-70#}rsg_?pl*a6X zicA-~YPY|Gb^oPvm3(_<5%_M__p3`Ia>H0pmhf_l0*lw{p|j^f?Rijp9+aNFi~sG` zi`5n8WiPs4ne))%D5bLkwr1M1?OD)LcEjc{KLjvk;)0nnaZBgEU0K60Mky>TQ93JK zcV=dGrh+-z>0*d-#KaV(yC;s70;NU zu^*eWH0(98cxZj0z$Sm=x>R-k>~-8UeN#2Rt7Y5{L4(BU3|TP?RXd+{_?lY9ivyx- zLfO)xW!7d)Xo95>eq5!Y+DV7jl{!#=U<0m(B4+P&YKuB()77O@n-?iZURvR3ZN{^; z^xC49lH82+*Zp%!VakavgySlqYEZOH2#b!p7|MM$5$phE!wR`o52X$3I+#*vnJRK# z*x3P64vuzZ%K2WpC*&mX4;6HFw^AaH_19?%&(%^!9^_k%M6I_IRqp_AC&tIoY?E_g5@}tIDguMH#L4mxN zvJw<(56*&+`x|Q!@?c|CO&XVv_`6*5@y7}#_O|CJ{R#uvBaHj2#VCejym%e86-Yc% za*O33jtliImd@NK6bhxxl^2bfD{Eorv|^^R=m@1O$RC;TV$9I|!Xl|Op|f!YvTxM7H4#a-uKie#o5@|Ic5NN$;aRHbJ<@4a zD1(c8qS9;Rl|CY`v>5B9?v7=q*1qxL4dLIkKU|UfMH#~ADyJUavBqUwP6z@2(y(PZ zrGwLPCNx=mF1ob8BaK7g|78j2LFVpM&GN1ALzPF!pD;=(cR>AAO?9nfR+qh7fdPDP z!&!lf>E`esW-(`+mrdL?y?wJ@DHQ9c>ES$^F5Xg6Gj}-iQd|d^lUL2bB1T@9S*6d8 z>Gj47l}fSRQ&ca`IfdLj$GWrtd2?l@b&1;BvLNK&uM?ye=FKAHyt0x-YIilkMaToz z2~vCfrfjheug$<}9wOqGTf_s%O%})!Br!&OgCVuUvLGZeCP8W~3uFnB7?U8iy-aWb z`9NbWLH=T4;Ugo{+S@eDwp8L`3_GmKIuH1R+U85~N1! z$M1+JcoLBWsnPm^29l;vg477u`7%i;y1}=!;b~&ouR`u>?YaU{8LJ0*m9bW8+|@J{d-k!470fa(0thtDRLMzO9^ON>6K7xOH`@T{L4Mv?t9MhZ z+081A0(NgIpKUR|9&fg)Svs_~>A@^iU9f1iPFA7Q%~F-4c$udZi;tY5Lg_wJ7#~PP z`84%mkDS85f_FVZ#u3T9#4s-GUuCX3uZazWCOJ=kNw`eA|M!LCVvc_Hyol!mt)Eq? zkDclrigm{{J2U7}IxARw1^~04v6QS3)qV!7YROsC`*7A1YwLckFryYWnWZYZXfQJ$ zWuiUEzctnpotep0Hdy5(DlBYLwz^oSbSIwYs2@t_;~qK}w-9-;L0bdIr)+*-`-+lR zWmZR*z(rdM*FZ@*-p2qRmzu!=KE9DzyH`G{d*rsJIFYR4B}cM~mmJ9|ksM%=tU?l; z{5i7f)S#Ad zg6LGnI^j9zr)?4)LP}w@o~d4Qv#ixEUG=7>W~1BGnpGbefpEO8qDym2Sdf!iJ|cOx z#_$m>TVdK5YRv&SaO#|hrx=)_4@k+k`E+vF$0mt7x>nhFoM95P z*AC3KZ`N5i=C524B9B>$DazaW_!edHC=Cj$wC5}_=|#5^psXO6d!(jISl?3;c+NT# z`)w<{LgOS}-`tO{-&|bir!zL{CXIh)P4AVq)K!m7wZnhvK{lQ8mpiY0Us_~_4QnGZ zve|ZDZY}wY@W&d*Kuft9SE`1tX|hZAq*~!xwfjp0U2QyKih;}7O5?=k9*QEJxRgL< zO_lbQh@bt=F%hrVK1RpF%WO<6LLR?)G+{~8FF~HHtb~Kwb4_p&@?v8xL4J6hF12g3 z;Cf*3E#cLeBPMJOO5{qMe{Z-S9hXvS!JkBsKVDrVs>Oo#)tc5xfXXxS( z#IxatmwY3iNE@D5RPX0nN?7#&H(LjFG=He_JDE_mJ!^%ZUcXSsgffE4Qk-UP zqK@uh4p+XeWS-rtMEaU*wPxMjT%W78X4MCMp9{5SHOOOMxswKUfW^7^8704*Sy8h2 zi}U7PH>`P&4QX})diNd=EGC0c9%o{!%y@+6?0;iO4_A#H)9jeuqqE0mwjv#Y$zM@Z zfj=|BmA5PTkC_GeA!AitG%Z{!DsY3%$=@GQQ-_()s&kJbkbe%_DS3Z}ma?UTJWE+= zD@E!xDLc#CX>?e0&SqMHK%Tb_-zeO7cNVfVHe%4PRc*S7bS+3SFFl4fB=f?0wI=^d)(8vp+6Xj; z)78>`t#mpcPB^u7c6Yy94@=+k;W#}41o}=s(rCL8*$SlI zQSnZAdTU4}>pDwl2!E@|xlqe^Vh4S(^4y(D3#3Wxks87vDm@(QRDQgsXG`!(1oV# zP0{D*S390GmUGYE;J{6dRyvJ$E{L2#6rT$!gYzER>dat`(%ERn)eh{3TRW~YD)VGm z%`{!pTgZBvJ1b@at3YFqVn>yjn?`8UG(tO7Lf#JHCY6-!4@zjUA3j6FW3rSUNLm;> z!YVc8b8o75lBK5-YAWsVyQ$OfuchoZAP-Ph+Q?Gdk_93Ebe$lz-g*Q#klEo&B zlCEJ5JXnKa4Qt@R8VqY#0}occ>5W6AgcCbHp8rVW^alf)l#<^vR;^2FFi8Y5c|ac8 z$nnHr?$OBcV0a&`H8Wp_I0?a`hhWi3=OXEBB3N`0xGy6}{7V`n!O9eUlCm%=tTHBN zB4;-}A))w6XF3yl2MGLAqVb+AaZOJX6W8=qr)bu?$D|%7O(}^yU9trqCBqwXR_OV?1sBVI_!fQ1ILh%^3@!`yYyna$GJrPU+z9RK{c@c>ZWI zYIgECV7@Wc=xb_4+S80@isiiKojrQG(w?;rO>Klu6D2Oz^av( z_-gshLKBwHw3T|Q=Ixn{{6S~s9%Ob}-A)PtTUn?&pPVuH2s^`T&V;h1D#m#enqVn} zvox-uma@l>1FZbjVvA^;YneIgQKeeDMWf%tr0N%!Ybj@2HWx6pmzwH?aX2L*fqdw#rK9gw&ps1tCveCrItWEC~5&V=Y2ny-t_fuJVP)_;Z4H z!V1LodW&lS3G8%^K<&N;WB~c{29Uv!+Uv6*B*Dn{qaFqQi7W<5D9JIkpJqWwV)f5r zyl~;wVfP99Hs)sqlGvl4{*W5s%X9^~J?lc!rb(9?Ns`k%NRlMxAjy$PL4MXe^dY}v ztQAOdmYh-}ZQ=ov3_7QqF;%H6ZB_?6Ybnil05r*v&A^NFFaZhcT4nu8OJVJ#{WE*6 zmW_1xhNg-o&Bc)Wf8*%uwus_b8*A0V6Iy?!2eVL>pVTTZQ$hM|>^I7y!K7844%bX< zq{o@Fi2!qHn3Wb2w>Dbia|1yPCo*r99>z>%Z_sG}QA_DuwPxir0{ymXY|7md5*V?M zmoc^5Z&t<6n#=0qLOZ-$4>CmjH(NR;cexp>xdYWS>6}=E@IAFeq>hlh z#CrWg9TWQTc;Ib$9+LQPW?5cfig;;el}V1h@osvUX;s$fO9ImhljDe4YUlb9YUA1F zst3u`94}}?({nm;ihr-_FzHIqVg}o6%WKuMM1Wq(h7g7 zmX0=yRfn4mZ_|VC(K4N>UYW*q&dBId6+&VYA-w?dbE+N(bbY06E}+VCGW}z_8N;r( zOQ;UlQrtt{>h|eS+(s#RcP$elYG-6Y$n%V~2>EyGbg4aQ4|4)}uCkI7YS-P-1R)pp zOsphG?I`66Y{-|a6U@O+Pm!i&OVa?7+{oMxNn#?f!I0YhEGH|F4`}3MFr-Ej#UkVz zOm_fD29pzN_r3#ZT7kSkSxJ!ErCAX2y^X{VhSXkTiC=;Ip|X-iYBY<$hCHm1_`#6c zldXkTAe${T_RhhW=Av!rx3ca+(jank5R%r2*!$KtAm` z?kXhxIO$URrX_b3l5{3PYGhOZLXyrTNR2)(f{@MRPX5f}`V7~J-BKrZ%}eYSC$VdF zVz+pS-7>5byM@F)%%+PqNKzTouw_V%B+2u}kYp$cQX@$s2-(cnmg<#{^*M^QI#0{w ziI}6$N-%jMU&jcFjTwM z(ArZEW}#}A6eGGq=c{0_dhgJg>0+CqD$P#oVQT(Q3_}GpK6_t^#ix@{p>&^4ieE@Y z`O)gbo=$>+1=$pq-8R-)rx}uRDU4QNOpUoZR%@=H`F?BC>KPy~9Hn@VvE1|^-(#$8 ztogayY^%G?Hf&PHzKH$P%-B+GtZI&q=>f*M5-FdpXk+#rW_|%+PqW~wy>Fa9UZxsE znNGJ*W-yF72@?b8XU~f$A7!4az8+KZ2KBsSnw=T+D7`bWna`?k$_d{KYgNKdk~`A~ z(ctnxnhw$1*w&&4`C?;jV=`g$)(YDW*8$9c78YZgEr+nOqfGr+Bi>~82iSd|O%&A$ zmFTz71hj;Y=C4h&>YMQy7&Nob9-7&wGtO(F8dwXV2^eDZmny{17}Or*myG3Qti|E4 znOF}p`>Zrut?#KkLhcQ&O3H1vAE>Ec8H8%6u*mPF?Ru=1(d*k)jZ{S*+kSdb zMI4hk`r+wO){~YYaX#9ll-@^7+`q|IqUF;2NDgO|EZ8{5lccTmBP_fSq_9daZoZ?p zCumqlT6jIk>~sZlAGA2!wS&_(jLPX0*xou`vpY+eln&aMk!LDKXVM@mj%LU7PO=!Q zejKlv(1UMgP?zdc7-!_8*Uow|v&~;C?5PKt(wys%?QpL`Xv{)ma)+A7YM`{jAL+pf zLY*0eD4pe_9oW-7!A^eN#gk@vy`_2SQYAl=SVdz1E+UdDY9~D+TS`vqAHIK|bAhVC^ zLXC4t#(8}_y1<%srFGVcdgc*YW3b`y_%S0 z&{bmbjdxTi-4o~dU=lv=ratVAcNkc3PMkaDX5UE&v4D^_iF>B1jHE`y+zn5#v?6_O zs|B!BPqY<~j_J`som00s61S__jMc6mo@h&a^|VmO^iDHal~B7yx7uu$s?Anx;Zm#} zwg*%w-R==D%Ah=>KITMu^qL_IEV$hxm?M%J+n&g|$msWnT33d3sp^dMxC{XbuQGyb z%_>>G=0dIM&R{p!4Bg9GV-d~gWEK+#W$Yxk+OX#BH>BAK=-qKVFxevO!A256O*u1- z(3}a~$J|x9PZqzdmu7x#my>#2G3Bb2^fRu4Jz}WhErk zj?aRSCm3r0dHP<-lWb%m&oEQGS7|Q3hEdv!ywafe zx<+RPYm|=L7z1g>5j{mx1DRv7PV<|}DJZhbY0?+MiP{2ZTT4{e_R|>?&u~Pe}x`y}|{r*aGl;c>$2Qx-|$qXmw zSs;rz`Eq7qlro+$M7j=S87DcA<=V$`?ZbI*@bwx3p}6l2zDb2B!BS2hB6Qvx#0sTzQX|=s|GmFzgDKk?|G}ga4sE zDV?#pO9M48w+!lHD@e@?tdvR%5k~iIHiNXQyJ@oXZ!CB{&=d<$B>|mL#@<| z8@qB|^EP{)uC!;Z>c2Nwx|Q%tRVO2HF0M7Faw;*mepzLyUpuYd#*6!a8C@TC(K2QP zIJDBzuxjNczFKRt(1hhP zZQm}`2tVA&A9PmkL1w4bMZOTQm4&Jkz!`&&u+y35OekBbVw^Xj36?_mn#T2gEyp|= zRf{d6agAlhdvB0NXY1#U$abrga_%h51%&oihhyFwJX{ZR(&B88>6@{<`(LEm{#wdZ z0C~8w(n&70r)5FN7q1hfc2*XIykwnV6NXRM;07f)39m*r0ND!+!z$z%##)2~aSU`Y zr1mls96)}+SgVlDko*U^&rzk>YT9|rn8?RCMx!xjcLYn^Nne8c2sJ&!!d!BJl%rrK|WJi@g*&2(&cvU__5L& z+q*36YBJ~qgqW?IE6E94=*0U?`M0ZH zyS$fO!(4>?fwJTQwhOjXS-VRbFlo$Ed!KSgqEwE#Yg3fkxyl`hQu*0BQEHp_P6kGz zRE|()0zmE9rYM!aUniPl9!J%=7?6ucT6$I?4^mbHG8j@j)&zTyq)sk3kgs=ZzJx_y zUaTn)RvEvr$~c8JE{e#nBk2>#z+5jtf+|MRA5uHQ04+d*H3?E9&CX89$5^A=0=jQl z`c@#p6P<1`baXP=b3%eA2~zua3u6V6{3bzax7OYw79q)c5~N1=5yOvNh);{b)7)C;aO-qF2eoGP znnD^_;C-p$j{N}opDffZr9E#p$Rl-<(R0jb5AytmZ|Lm1w=v&OQKOx3;`Skxi_G~V zWWy0;Zo9?Ow{r!yHBJBNR6=okTmIsJpfg^rQ0=q2F!C6yE}ymJP5;~KRFJ3l6=nja zcV`vp${)PnnC5JdPb;aNgdQ~BQk;faf?lm+ z@+XjX`AgxKvmyMlfyUTqjj=J}PifswX+PvSx%#+CusC!K^B=>vwFU& z6;4n+mRo0WYPUG}=hhO3l<1|KS7PmOQb2{$J==?q6yjsM`j`{t(YYQBEI6lit-u1A z!>@W>E4;MIQ6@)yT6#$I7~^)D^J$WW>=EwgG`4qFJZN0w0rNx6gDWfp(7 zqt3+8j?Nv|3-z92p*C0DNsns;aj-@6Pn^m;j)0gh0n3K#0^8Pc20CKCM<<>S*aTFi zR+=WI)`>7Ka5$lq-bB=#enc_oPi9Y$3@b@&nH+BgodHfGOE{16cz>08iahA^vUkY8 zSJo&WRB}F+A+K)Am3eP zzUDOh?5LT&UasC-;gC1z$=l!BN#-GtoGgtpKGJXe<3m|vgN*K&N&5>5;Kv4J@g)l2 zYy(o=mx?~WykX6+ZAh~d(ECQl+Q`F*j1vK&>|!l?$aW3o1r}1Zdc=@^u7-C^vtxR{ zGGLYY2n@4MR|BAPQ7!_zsfMy+njO=-rKO@;ZrTB(4>TcXPgM&!=Ut`Hq%*5l;3~!a zCpF3)^xy=cPC#hS@s`@*0eWy?Le5^~A=fX|2?*^!-cmc@hONHSveK}P-vRfFEgiy< zTFN;AfieK|D1$kG z#AUQQ7*e~N0T@8yG6_<9To!}`Qxa^#sOcJ5-vib+V7r^YKIFZXB@^wr+o^yrg6I#a z9g(#mn`kG0sHn!e#lyPAu&9C7v66RqumuVEd&XLWe3-FT4pZ{!ne|d7 z&&e#v^Nh6y`CenKd_l>t7;6pkyT)4im6Ey9s};8^f7miLInAA-%3bYqjRuC!t+`aU z<`S)WsWxy-ciB*pSGUyCbSd1GitN=M@bb_kdG0Ke%&r3 zSpQ^cLrF;jIHu9E(A$+KCyS7bYB>vpq#s0N(3FyR$R9NvKwp;~K;GKshOLlH8?r!N zw4DmQE_!{N>Rf2LJ;*y)8>~XoJgsm9BxN*4Q{AP}RM7XccIiPLXRNJ|H0%g36`C}< zpiP;mBJT{HNnU4@%PM4^mA2B?|J|gv*0WOYCOXvV{v#k%n1rHJrW^*xNRSFMOceA+ z3L|7v&y)`XX#-r|82@E2Oiw*TZYTEF+4!7>|D(6wMO!*zgT8leeMmZqO#83ZqeGKg zhWx&=M$yw1D5D3u#P&v)fTn$Aj6hyrQ-4a=r*GOi)vFhv<+`btX?2=>1eglbUj$rs z00B2m^NZMx+4!4d8_v$gCM}-s$c;;bUZ-sk(L>+b#%>RiR*}oKkd)1ax>cj0plKbs ziv{U56pa$iF(zpp$q!^6ldCio4IvI7y*7D}4$kNRnlUL3${{J%Hrgg)EhjorJFyV#jxrmZL5>CZBmj*NVG;qZjAZpCcl;V<&wlT?@UYbuuMer*l!~vJO5TP zBHM>D5yJXy#2;GE(M`w;Y%@|lTrX``iM8bv4;4!HE{|LYH|5jR$DAmS?()FEf-`2j z=7t@Y`;Gt>5Q;-*-6)reXR1027`OW3;K{avuCOppK2i2TX6Mhyt_nYOG~&ne{V9++fzET`a@ zWXB{dOtMiF7I82e3ai|l39D@Q5I(Nhv%_j}nBNR4O6OIE&A-DzN_oraQF~Qgt(I$t z<9UqM;O$abn-!_qJDtyor%6V}-)Ibz+rdF`HXAiL{6Z7!L1v$oW-Gixg7-BIT#2Uk9sxcCEPgWPF+bHfqW^+rmxhgx+SO{mT znO9|VklEa7ZLYe}Azva?6X^NLE~RAun2$ae!sQ^^HKa#lJ`UILn?0{ zMS_6=XKib@e#wext4fv0_>4s<79UTTQx!^g^_3~tl-nqX@@VxnhB>b$MY$rT2X`_d z2Vp7XHI8ShdI&D9zL?_@NGsUY5YA~wCx7LM-iTQ?QrvmoL%~1Hg4hbl6%|*vYnq%> z3zX79H(&#BvIdtzv(pI8o6w^SXk{r{ezG1uD~mBMIK6f-BuuBM&WlX92bs++WA4K? zMykFMSC$t}Wh^<)|Hg+SHl`W35F67>8~su@zQIEDFUbjkBq8#`eMYZTTJuVS_OeQ8 zb@Z}IY1f$(fxBDo!epMini3#xe`fcuELl&;7kSFQA2+bGfi``ld03)NKW{hT z+?&R=Jx8$=>IQ_~ldac6A$(u)aHFAd;fm|~&UnVsj2hq7ob({G!Bwt=-OG~HgUmjv z6TP@U-DN8KprMRoX=9pkf4VWvv_CC%!wyxIaaCKlNezQy5rqVx2WN z2aHEp3weuZE#>STQ1%O%##3IG zy$6rVWVbr)ATLlzXXjx$$_Qpz7xYtYVPECuH)Ry#zAk0t@dzBF*-1cr8F01sFomXk zGuSi_&)CpB!Pe7i@r?1ujmP~|iwNZ`f*@aL2A6prfV-L^#hoTLQO@Z{v>zAg>3m$M z?sm*aS2o7je{cqjv46-c0kZBF(Q%$nd@^U_o~KcqX*~9_jcLxA-Wv^AH4X(>o98}x zzFeMMhulXmAH|21>%RfrROU%wx$6SiRIb0u(^THmE)3e^(M{$0spnC04LDCI%gtO! zo;{XzEI$d}v{^sk9XD$7_KD6R7`mZ0v4?MWx-qX=s=hwbsifqAhdaJ2cC8SqiwAR+ zwC8zKB_%d*I?iU8e}Fa=Wh-nMxo`Xv)5u{Sy%sS@ZYZV4-Wz%&vOA53^-9+~G!FX^ zcHcjh(t9DVI{?-Kp0lUkQM~wHpD+c_LuP-n#(F!xd4SEunvEV|E2{H=A14zN+L;G7G?mTlZUexstEQEJ(V5 zT-qS4r`af3d5@A88*A-KCBLa<#Jc6cGz%P|r5HO#$v@95$iFbw${UsZWM)Br$yjTU zKQh+Jt~&AE(I&u^KTz_~nFTp8)*9p!jkR*Rk}oyZ8szJYweof)bE8)$M&sYRpn+f1 zXkh5vnoD(SF43B&>e><0T{cwY)h)F&T}v&|Qn^`{XciJLPkNMji$2RNMILE-uVt>f z%ietNg2WJcGy#2;_33S7;b85+Q4D&)I&}~7amLz4u4uNXSxy_HD^?qP?}7mKXtXT! zeQoIWAQ{zi4Hc4p5RpMsO5!2k)Nla(uIvEvFdunsjc;_)O(*ErTdS7P+<~^PMLBT93w$0%rH^V8!3#CNj*~@>C%+Fu#wKP z|4#qj1-4_8bwc6pp4PeB_7Ziz0kC;bP34o zYwA;V<@rlnlzR07v|Km!GObRNj{s9)`ip?e4j|yBX?_vAF&lrH_bzDA3$+a*dg#ws zQ}rNe6?yLhlCs%QpKf$EXj(@u>p*%9MWaM>j7eHY@&lR2;=gzCo6d-AAId}s>$eeqXziox#sh8raBs_$V)3>NDwJby%b~=T0t*Pmp;Hcj&s235kZ#MAs=-j)!KURE7RJe^YUOsP(bAkO2@8^i zO4e-1{cJD30?DKxQjnZ1i7iNGPLYD#u`{A{p@Nh?+j_`=$nRh~!U194)t2=M?_FS$ z-Lag4W0D<{urSF+QCP&mY$&X9b0)01^-fjn* z<6*)Oi{T*F7&cRlk*Irj9liV6DDFXKb4#_kDm&3w2nVQ{M`m-7+1zSvuDT7_3XfA0 z==sSmrJTE%Asnivo@}U`WS^id!F=RB#~DLJ?qrp>_by;yz**bct#{~{{s)^|t4zj+ zM@q5y-UTX@?&>QuxGBF^eb}GrfPn=EVb|RJ(v~O+-B_tYyeKy;3k4d&rTyWZ$iH? zpp~U)jZMg-^Jau`!RfVwA!>$jf7SUz)9pcKbIX`J-o{9^V8)eY|EY|P{5JlH_xU!a z8FwTb(@f8`mAdh{HljZ;Cj^p&jDPQ#VssX*|MO$eUeiDQD{E zy$c|H-n@F3N4fsNg-9_7$tk`w8-&(#)#@2$y~?`GNtIa4Ix3WI)?<_5;|1!&vJL|a zPS(5T=B)7uYa#zZH~eH%)!Hp{`e^VW`kTo5OaQ<+8k4tP3z8OcXRF+3TvFj$sF$@l z4pO=guvJn{HzXk#`b{LHGy8rGkkWbZsTT5vRxRbEM<(VuJaM^F#2~r0=6vA0)B2<$ z{gRe)zS>wUMr7Q_lw$F{3sflG0TY`Y<XK*i3&y+*cTvh8qg?mG8q->z3R zxR2uOSJuCGabpHI9qK6{^4~%T6g09^rKVR2MuN1pKeSu?oT(Snf9lpZrq=ekdNgYL6W2K?_HDzZGT!? z9j$|(6N?RbQ>khh4|QqJBny>|g1Zm5eOB)6kRC#zif<(jB_1{+$}DfD?8$5oQ! zcC-|WNk)azO>%4@l)LJ~k_-b2PLjLkX4mluYaxF-il1z1%q0c{$?OeEa;JsATUiLz zdHYN#h5Yv}N~sC&UEuAmE_0=3G`Z^|gfeO=1P;}JMUvy*`M-o?(f zhbc7UdlzW#ma(CEXWMjCi)RcyZajESkO<{0f*>DY2A6prfV-L^#hoTLQO@Z{v>zAg z>3lp{-R+o<_}&HfueNJh%NToVjzNH|`$cq|=M$fd3f%KFiZf7RFWZ>roarqZuxbJu zp=|Ty=cP9GCqGhsrOKs8s@Fv-mAK;x;l{R!J$$?4*1TpZ?*)d^*5nr$N@>sYrpoi= z7Z`XrnR3hv3>@YeW)Xwr&P;lKe3bIWKizp$DIE_gUw+ATTO3Cr+*(U{78>#jV=X}* zbXby(Fcyc@E>y1EpMreS;Y~qmuTicDLSDB{klId1By|yle6_NYYie)Jf{>dZ-*l}} zPb#Vm49LK~mVp(>`ztHL7!0YcnP3l+l*#Nxp5AJCS|%fBSVorX*q7@ltG{csF0d++ zK9L+?t`{Id6(i|eTP_=*1xTUXH0X{C{+sQCt5}W(3=cS4>BWMB3&Sinq@8`Z(V~lDtoENy|t7* z2IRxd@hVi34taHvK&J; z5^|A~kgZNaF4{gRAvevjU$mWs{HVz+6B6tDYgb{s$aNsnKn|R1UvlbNY0C0sf62Bq z(L7e7hAzZ9Nm*!DXVuj7glh57NV@Ybk%R_Jp3C z^OrLs{1VL=8%K_@G2%~Y(xAwKtW>pTwNkah6IG7|+PTry zZgKE<6_!8!SfY=YEK9NYmuyj?bT7rlyJRRItv>88*}}krb9tl{SWf8#&aB!B`$ zouhUtp>{a2j8!g91e1H7;XN_kn1hj_RAV~*DOm*Aeacd}>m_NzwY?o}*gVEQhb?OJ zSP9klB)evIHaHMgX?M)t8rW~O&fuL-xIl!7HbKid7Em}TYn-3GTW6Yd+C}Z3mFx5b zX&H83t(FrGUf5_)e___w6CzWmEp-g^cT7h6&55XccTq_ z2`x_7nA_7*G|jd=?efvhP!6e~9O6K^X!~?fR@ogB#+VuVGR?^~HjWnmU32k8%Zaly z3E}e_*8K8@G&=#kD>BwH8FAtwlugzyhg_(k{Ii8rEgi94eyoOfOjAA&qI%aFu*!S{ zhS}U8thA6(dt?@bTw5nd?W8OS`QCMchQT3#)iEOj zNPt9GgCVs)$%2poNrKdl%Yu+iSoH^x)}sR$Ns7l2`qBm{KN@7(wq&#p=WH8#Oq(ig+)8a*IVMD(ciI!N7zkg@aRL?85}axKo5&# zH4U!sX7MpjT%a}n11-O8>|w{#u1f0#r+Zo*1!Z|@jSGvW{Z zdG#1&p|L3&Sxmmwx?T?wj511&Og8hsa`Gj2W$=N$CdOgIFEkcAVZOfV93Nb4ZP?_b z^BH;CNd8LcM!|N&<^y*d=Fl5dyX^5Y8PV10yUjUfQFD^!n1-Pdna<*FWRsY~wby0Z zp_Z!eO4d@6^Rvf&0&Ui@S-1IoB_%e;e^zad5lQLXGmKf}Fax(SP14`fd|Ea^XBrQs z()HC3I4!O0r)eoGJmfQ<$D+Rt@*HKQnSt78vmoTx*9lU)`JbCb$Ojv15%O`$N=~T# zwFz#6{Pgpaxg<#KC(4ybAj1pHFXT=yZ0b_mO}TQ-2=W%|1gUM!f{@Q!CrItDvmoT< z>jbHNH48%i@##&B)Lx)m!3g>7b%N9$`l1~5glZZT4Df6?vo(3 z?^{a@Ai?*4E@7?K4 z%wY~98krH0Rz$+25mZn>x|8lEKm%bA5D_9EGbEx+$`C*#$dI6*j1rLBm@Kn z8H}KUf)XA?0}A}By6#`?-D_9%Io*lR`+RtFU2w0ey@tD14SVf#PM`BuWZQvQW!rx> zRp&ZB#dUn-x^3h-9uXp**7yXi@hMu(R8y8*S&dkZ)slnhCY7ZXJFje6O+jV{!zlulNUWhDC z|5CW_il5b;$6F#_AMZvJ5Z|t-A+H|qMSCIkw>Oj@0jZ(5@bQt$)a=z3-`pl(El;{!8}8!KlF@|@Ur!boJM-@OFQv=7rw z!@EOfyiSebGX4I=Yct2L%TBR(X6M+c+4=O&%s=-~qq zi7OM*Lqgt&d2_!zBe_gSPdy<$^@Q{^myn)%LTayCx@WmTteelrlc8|v;;##+X&#Tuygexh4a ziNn+{vy-&*I3cPlgp<HnGq=ggDuV}6*F)L*^0pSRWW;6P2hp&R~q z!@ol1{`L9vuqQ-TQzrns-H*Ay<$YY`Hi67DvwL;xvoroB1@?h^Kab&`qyhLC$UMtB z+nr|6V1!-~nP*w&5AhZG>y67nL4KVcDJH$%9WtqQwmZ(SPqkjrXR!J&{NVza;y3_$JJ}iB)h8LOwPk!%K6tY-M{dEO^ILV|Lv^1 z*FSe(F|nTG;mjINt!HQa;}x4+(0khj9U|LoyGN&HlI)DnS+S`lty~u8>b6I*=?)fZ zq$^_m(2htA={_uv$l>8$30YA4OdofV|85jtC)x<^Gi)#K&PTjw3HOLKOc&zb>S`^f%xgJBjblqaPU&~cuBG+T?~3sy;I1(eKU{WIS$es( zfa{|rSF04(VA+ew|NY?&Z)SK!@du6lFEIzTr<0UY@^ejPn*NVYdAV32$m5`^1KN)W zRsRfbX{^ZVHTqbk?rj%D>bR;pidacY>kV14z%>UIigoxn#tmo8UR~N;B+9d3w z%m#i}lg|q|?u<>m;9?2;Y!20#F)&N_=fRvc!o=$>J|DQ{tobmAcRpi%>2xa$?viXIL(%Wg{1Wl8Omf}wNhJ0#6w$70fnD_u(>qstw?)!j0 zvv%znv99Mn4__-5M%26wcUr^Oy2`JMKL1*Z`L(py<|n08%X+VCP5Z#6KW*8}OjG## zAq`dR<%Rx{3AyCcZs*la7%TJcxI#M+pHr86>^OZ24UX!>_lH-BltCvDw6v^!iH)mM zMVx^oR!MKUH>e!D*A^PPFN(`FUdEsN9_5r;7Z&%F8LL02vGo3}HCMjWzZWmU@ItLS zZ4nc%*>VIX&SW2>?!O2BrDg5)@3dui-Ln29(mODsE)n0iYDavJy4)%9Qt_b9?YZ&A zCD)ny_m0wpwL8JBt?ROuemk`&-oPz~56ZH&z>X0oi22?@aJAxZ}9G&I?}hPS73^?RXm_ zp%jw-yogoa=fE*>F0Vkyqyv#75MV`~tE6e8GXUBSa>y1v<(oH7eepUr(s; zZkQwVgxv9FnCrSr%bpJbxI-VYd<&pwwkq>_L`50ciZqDIjczt}ihF{%9vABKW zkJzbqky>NaQmg)nI$Dlqjg%ThOy?1 zk1eeo&nNB##9h=Cg3vmoRIHDpZx3TyJCf)`grE1_IfK^Sr6MByf+DR~OGU(C6}Fu- zXsr?1b|Nx>;IS{`RI5IUj?^eR;wWy4m#-Ch_Lq5#wW%wJ~f8%ady^@V;GNE9YZsp(+x9b z$5MU})()xqX;+pVvs7Bq!zy%t-ZV}h)}@PSbRXpPmwG>|OCM>e2BVMlS_Y$sTvb1- ztCTb8RfqI3`=vvASn*5v6}IWxM;2?&po=tD9ooe|qJT5Z`u$X{Ghaq@Ik_r_*q7tt znUFZH7z;;_tG^IAcl;9Tnn4TxiDI&~_rVG(`zo%#Y1zQOkH|Po-Q0X)){&o&#&NX6 zr6;c9TFKe_qG07i6|fpxVTHV7=@}97?$v2T@|YTrQ)4(|#mTE#p1u#x3_J1Y)cdke z?`Lgb-Cu0)l;9t#1V@ID`&`QIkrC0oaeei3_4SqICP|8*wha>gfH|L#lO zOWT8F+gg03Wd;q5Gp|?{L+ttM6ghY~Nvk)^`xGSH2Q8ma`z~gexFd9Gp|%!vtyJl2 zwcJv?J74-*?NsC?YLWXbeMfMdgNf4DpPgLh)OTu#?C@~EuT4QS5&9afgO?~>ZwO|HbD`%kZ$bE~8%uV7IdY6_K zG6EZ?#@IKGW3PQ(U2j68?UpgY?TEN@C(}sl&-c~&7ABiPu9y zR}ip%j*e5;ey2oMW9n2Ix>PX|;&^qH$%!(>MdBUzv}JeQvbIf8XPM`ekuFGZCYj<+@XGT(Do%kPMO8rA`g!JR@D$#+1M0wKJ-?*znJ=`U91w7(c zt`3)6dJvCPS190VJya?p&W&ANh>!HKrM1pAF-Tuxwgu6nBhgO8BVw=~M5u)#oYupo zA|mYEUPFXhu%%TJt*ui}^(N8UMj`ypu%^k~QZTTNII!A>Gm3(X%uS|%CnK`_!e6eo*Q=))JsUJ^8OMT2W;-P?FR`auAoTqly&u`1F)wNw%jXpPar}#1);&^q3 z=CksGi%bDux9qN4)^2pZfXA}j0`4nV6|_ITBYF#XtYPd&h77t}zvYrjfG@+XyXF#* zwrnN=p@6qh7hw=(0guyHEBgU?Sh+Mv66j--tyfAl#DA%)Q2|eM(7Q!0qjw{wCLb16 zMuc}a7sUS7h%eyp(fCs#`m-I?TfoCPWxbqsl_!XdM_0g~P}^dmfFG>O#s&OfJ-Y(_ zN266U%+DmW(#$WD5BDl8*b16_TLs3;4lV4v%)P zi*dp|XDg@jA#o%1Tr81F!ksXPbE8(KsKBkodYEp)P+2*Wh-H{ek!9Vx-%AxU&gEoD zG7K7EA~EjuE4gZmgRK=tp$sM_*;$lC_4P<179}S`VovVYKr#jVow{6Ry>=%riv6U- zI>{CA=p7{eSisYPgG71KcUGtVI26zq2wee>_~RR6ZH;)7xI$~Bz7Q2_MM0YAt&wOa;!h&c9z>{xBAnJTF<1{G>|Cjf2(@5Kt0Y=mr=I9PMC(Lx z@jJtsCU;B044fMWmMGx4$lPQKcrpSTr^eVHj!DWC@Yp^bd9)+q&KK*}U#@`vh1_84 zR-!dcEKa{c=gIO}Vefsv<}I;%Ff2nR3iw~i6Uqq^LkpBjPl*B^rG7lQd!o`_roTo! z6!4#y;+Nt)wX=R!jmx%u4~eWspPRn>#Qjlz1{>>I-;c zmRrD;Lrw4v1w7U;_9H_E-L2npNhQFS;nrPq2}oNulYmgb+o+2$h_Zmk=_Xnk-YN2@ z%hf`XK(9u&HY!&T;^yjVRKOD*^lp*M=-r5^$%jRi5#imv7qP!J?F;yKwR2M;`m+rM zJe*V3yTn|$kIR@9>k9a<*S1(F;0NonaREPA&#r*KV6__C(JlBRg^7yH7w}fi7x0*X z*#aKpw=_+$fTsfwnF7APq~pG0g(PVE0)B9o!=v4%aTC?fHBLxQ*CUBol$;ESIT@jypDEz~t#OuFuieRu;`>r!o#YC5^sbVAEa2(DL83e{S-v+E z-zy7U0gw3M`(j;=_)&F*BAnK@N=3x8V^~utWpsXc5bgBLM_`_!e6eo*c>;jQXg}TcqriKir33RcbjAVTo|XW{b`A;MxPt)j|jei zhd5r{p?RrHapAh6iG;LecipnKSA79b%yJ8~CAL7FZz$lghOr+RGU#$*xug={%W&(i zxdfywn@K<@;BC}J7(`jX#{|yj5L|3V5P}-Ys$&y&Ew# z`LL)mBD}lzBKEhYeE~m3V@-wV&o&hBa86l25_93+Gm?x)SHNFT+hU=BAFRv91^i$= zy8`~r)oW}=x8RQyCMq&tz*{w6z+(bt3wVr=(=^2bo(?=@3i$exj{A-klA!Gi_`z8Y zk9I$ao2YiK>0m54l{bnTsb>#~R1)rlL8Ow%78SU)SP#=p7%D551H>{+rpU7H-Ip=%r zinXM~I>{CA=&djPSisYPgG71KcUH$e9IEs#q5lYt#IMYa1w7)B>Iwxst%piQ#JRDn z3-OUYwzSrHBnIhA%(ftUbR^n|cti}=g9x=ygwuMsR78ZG+iQqW3%0aMqP2DEsoo@7 z+bD$J8P+tpTM7o&5eJqi;JL`$WD0mP0vo5s*w2b%&lK?3UL1L}BjU~%>(*bcfd9JO zVCz<*HBBr|zd@(T@={^%eZS@{v3oEqLnaFNGvx{81PS*Mnp(I-0gqBYp4>fAX)n`X zBd(9oNO8kBPwlLq-HP?e2C!^2?Ri!rE;0o?$tx|p>z1_}UGGO| z6tmm{t{hU({`l%6G={Ms85}@&>$hA|3GiijeHhIoAZ^)90`w7@#W#qufM+PL%DEph z@~}9+?Ia2GYGmt`QVsE6>S|QL6CLz!k;~}ah^fhkMU@fZ-MtsFzcteP5t>1+uTa3l zIYn?e?J7?Y88)tfzofRsLIFQmmyHYf!FqND{QURU*t(CBj<| z4jd%PllrW>oUHyjc*kF=inLx(uM2|sZXZQj z@B1soeHY^Tv8xC1j#sKdlB1)uHp)&$3Aa$R(|Rp3?L>rIP^7hLq}7R7rPb(Xr0ePL zND=Fp0kQd!SO?<2)aAZ%Y2HaR;OE(P%%HVqWZQvQW!vEES87QdpW-?`a{X)MIvx=s zp4RvTt??;ZO?{(^AyNH}kbdvIjI zNFdkmcdYnZZLyY_p#BdUi2HTY6{&N&R1O+O5ELVMt-R3N+<6hcfyMtARX9~3JfxDZ zlO#jW5h1O=uc#qI&Z%wsQt-OB&~+Uzl4r(k(sRN=E`W0 z?~i>)j6^O|-fb6yyV+ZsiTb4X3uIba`m9-ar8!Q3Bk0wTOFk3od?wWS)V`ZhzjWj_ zc6Ar^&uA~AKNK_6HUqibMD2(r$-U|%_o|bueWj{@%If_WP9HVCrKx4t_`DF3E#mu# zd8hV<@3U*n_d(=5-Nk$#@(n*x54pc1u_&$) zdq$CdTG1v|h8%ocNn*`=5=Mvo6h%~i_bW$_v2<3KvV@r*rzXbO#vEGAjaK2e6ex%6v#DsJqlB3>{(nw`#Y&9k1 zr@sNzX1;d~kfQ1yVfs^hg!@SEgqeGad&S`oGgyAl#T!jWYA>+>`r9MD{{E$nGc>M> z4n+2k%hiID?0u@&xLoEzinoAxVR4SX`tk^AVC>av^i`K&Dj(#AaaMiU;a0E3!Aa=7 zrP$86@fXL;yO(eNy-s54cWZX2_IL~q>vO+bV(wq6&3&-0jo5ee?t;(h%!jUFE*oI@VYWE>S(zGm!YM!*B|a!h_=? z=tewLUH&a1WHOxyI;5pOfLa~p7G6!we_uBP1(PpRI>yoXdL=1-i8md1NZj~aV;E}J zL|TTlaB+4l+m5JxP1MlBYPGtlsU0z%F^YG}-AJ$4`yKT35GX;prR5u%1O{@r>xk7cP>dTdM9w3efPFU@_M#$x2S!peAySe)SA7U}yhrBxqqQLJc~ zC4VNM38mJWry<3ZzLZ?c-)V5Rnj(*Idc7Nf4kj|Ow*7*t&uw!vk+yAaUHF02<2G;W z{-Q~v9T`i&c0`s`Z+UBLp59I$zW#4{xmu}oiHJ)#o7Q1+g1vLxmA3JTWSr_v_k*U0 z)L}_}t=1 zJTS}FX!qqvthSazdBL-1`5I;y&kbkCUE5`!j1m*z*>0_qq8E!WPXFr+DRQ@ZP_yX&gE zs|}V%YWSTQ`L!bw!|m_+g^kkNY2);E2BPKvTZ-f58}g~UX6xxv0u#q^>qstwxnJ<( zIyj^_rdAP;sCgUiw9>!ecV#W@wfSi&>Poe&`!!)R=>}@^m>7H7vYD9<%R0=*Mq0sJ z2>r`J$mQy8uk&eVWu6*W=*GU)hv(AuZzhQ{P!pU9Ly zbOx8>5z($6_eIg8@iP9zXCwVU>uOzCoK|M+rIX5}1j*0zJz8%o#P@jiyj@2nuPP-@ z9B*H@+^cR`JE+r^6Y7@9qN5(OyKb2&IYu)))3QrQS|Y+y48x9AWM5 zBi1%^Yq@XGmJbffvbDgD5hsZG-OEtkj5+FlQmcWXWr~g$WHB(y)&jd1%ZN75o)~V+ zWf~V71T#g)J90cQ%hm$BmbfwMYq{kNoo>8dpH6E{ZAkIe0uwO#vW|OCAsU~pSR4;V1`scE$ zk@>We`wa=is&W1ENWDxVaXvfbK7xnHr-IyWD?g)E^;!SuRd`RGWZ-B~ed3SUzHqd8 zY%S_q_1E+2TJAltets6O?z0|wiCSdmv!9>E<6}r*;qe{p>O&|75=nyKfNS$s~7S7mT<}4;}O53uCSnKeO+H9?-UVFja^-cr>QI0(t0o| z)(W-0M12dgyF{{`h!;e%J&4fr0Xt{V`e+Q;gZPQq)rojY?CL>e9BzvuGKdg?Rym~F zN1wuw&J_J~h5lvv;R?8%(D%V_=SrVVN^4BY2VzockAFqMMdmi~?BH(SEo2jhPVH$W z_RW~!+TT?Equ# zAXnuedhDWdAI4)%vC!QNBeKj=AKB}TQIF7FkI+qo(p_z5FX0lfM2)aN+pRy}XC0>Q z0V9f`BZe0vieV!yNv}<^L020$8;BVIQ^A*XgIV&wJOd$y9h^IH?Lb_YO_=L)?E3s$ z+SRH{6-yT_!>r5yg?#yUimiyO|3ctGc#2}{YQf-u5%RPix&fvMV7txk?Y?gOx zJjKQ)*eA$l*!Nv$_Nx0-$tEqeVr2yvX9f3>-NhNHzYp`Q=%TGy3|p-6+{m{6P;F$Z z7OS|k){e`aFE)Y6Bd2y#$+_#QyX&f-V2N8`(K224f=7hzUO-iFb3BG?C%?Z(T`7wj zg?_$~OK-KKzBDYAYHM#uak;z_C3%lRsq|E1I;o zqmmfp(ln763`?cjtFF#}3*`{MRn%G>K6MCb$k*%rkEB2E>Ocs;}q0JYyp-G3ki z8B_Ozi&JXL-52T@&y{ifoCqCwNX)1+@BK#saCS^|4|h%~Pj^E`JT(qEQ-tEyVm(YZ zVW`;$QodXFMX{@xQN{QI)@rp5g9ezmH4Q7c_?a>#){~#QGA7wsltlIQxHxh$B<5s_ za+CRsyTf$3oZQ5QIYr4}ouodwC%Z|Eb?PlilFj|)D#B8+9 zKrX!{HVcNNG5Kh?lDwjv*bqYtluA!Ero*CAKb~CmQOj11cz85?T)bWrx;q!^XZyJJ z+7FU=xX_m*cHVe2Bv<7idhDWdM<;8Fh3=*kk!6;BG^|JHu1Dx5Lg}uyv%{mIb>|0X z{rNuYFqMSz(Ji*%?4ryz*KM^4Q*(bNE>F*GZ13bBMfo|%11-%(hrb4fr~j` zqudha(J&SMA?=Algx^^k<-l?eA(k_ke>6<7u~V2^lJ13=-mS@Abq`S6=N}ChXQXBx z4HsuTH?mh8MgCs^VZShVb*bu}fPxgAsmUx;_N z+R5){wM!QJ3jG>DF1^)``qHpeN<12N$SYBj_b8M~Pc^2)3Y7ZsRJ7E`T+7z5f-pag zxvDAo#7x)aD=UdXE=?1O!LU@SJ>EJ0EtEs|Ykqnk4QV_PC#_~%6vyf!RY>O15VcdK z?kjF&OtX)M7@s8L_-IH69uhO!dsevrQ2=~A4yK1YCzYqWX&_R0x;=zQ*$|3Q+*+)M z=_U*{yQ}jN@$H@l5UXLjYMZ|(M(FrMFa2l;4KVp=$i;ugwO1>o!%<62va=|O>g$n2 zEJ{v>#GGuR++-dN->=K0I76anz zBf}+^9>jmDD?HxOdSQvEi1_E&)rI(?x`HjO4=x#P?P{*KA$vn4+llx_B-?`sy|8C! zeLFJiL7Wl0IuZXAyLu2Ahuf8i3?f9JRSv1PqQj705&hSMeit2}fQJcvAN;Pb^x34i zj~B_y*J4s?hj>wNk-2q)u%7&*A=!kXQ`<_xcM~Qoou`&N6}`0Vs9V-qoJT_&+9lG48T1T<81)E)oPqMu(7N;kBv0UC z&etfnym&NBg+E?jOk3y;RRAV}6t@=ZVY&%J z&F<=a#4=2#e7Ek4;#M)Eib+2jLIX@b8glUmWlC&3KXqkHva=|O>g$n2EJ{v>#GL$I zxyd{lKBCKI))O1%Pf7;sB==~D-e093*CZV{=x0raY>!zg za7;?=5O;qmt&7a98-(@b9}USS44vA`O6(FbBQ;CsspU%wP+E4>Eo(P3ziy6^D<{(5bc`^!CqSk7Sn(J;lvPGN3I{?zPM_W*T#{?Tx8Mr!8K zaB;?SBRg)3+7=AYayE`TUu*)CM^5dgl5^Kpch^-v!4kK?qU9>x3w|$j_X4Vd`{FTN zJNf-R>SkH|TD;umYuiJQXeVG1sy+tRT#L zV`6GbJ~0bLeVEjIVvtMIL}D;3m1>W7&VLK#(0bZjy^n@8HjA6QW?K|bi4j#u=Ft$f zKgR(~E|4+JJ{n^DoQz``P6r+mGs+!|0^l*CUBol$^NVU{g-c z5oR6@r|5E-^~8p`K*?a8tJ+bl{+$HR*FZZl#csU4`z!5b*$Yg(o>$7nX{M zKkB1M>%meHaoEZsSn%k>=l(%!LUhuJ2$AqKM(eUt5fLImk=8FtMZ_wt`rq{Sr3f*S z6(6r-2CZ+$cpZpWsLTEMQ9Cm9f-$YRr7>caZ2j+jt7Pj`$ET={k5tc!(Z(Y} z#M2r-gBD!e-?1WAY1RJ(mhTrz(PLiA-!Y&Eww2#8po{EQf5(76(p);Ehn2B}OZ@On z*FLgXa|T_^gZqgFf2sFZ80cfz)nN3ohRR^{keLd5x=2>lVKp^g9#IeitNhO+d|ner zb}E~AA6@bj*frxfYC$0M+R*-wC~%3rzvEkL-)C)mznZsVKT#3AE;2sdy&9KqNzHX3 z!qM%LgKQMHp4_*1_s8+oN?c?-y2AFfddcp-DX67o&_4Ss&fQA^!-fsovt#?4t!jC8 zFXIeh!Cx4Y*M)ecy3!L|HD&|2avia1Tt5%1#vBvwAV91d*AIf;iHyYAm+lZnWY1O4 z#;VKukr!?$e+xz&vb6(6r7 z66=ZaIuH+0m)}{)&CA znW?a+i)2+DR%g!3?q?Il7OQ;K@jhvioysO|( zim5uVUr!OeE;2q{iGj-prRKU2;h3*Fh=IQ<$9pPqk@4v6<7efnj=}nDTy+fAvt#?g zt!uX@fA8N+W8@rm(~kIMT}n@I)%bvz`A)>Das5238h1tGcw$tI>jy#aQj5gdm+lZn zWY1O4#;VKukr(dYw{j7Gr>?MaX^r?mFmQ^9?^jn)r1kMq z5%J7Eid7mZ8EW@OYMqFX@ew;`&{{S|>_mi2P^7hasfhTw3boD|w7yU(B38#x-;(ul z)JM^g8bwDO#n2eD192sF`K^e|Sp3L3X3*NUG)81BL6O#8r6OW=WcAH$M^+!#_|&+@ z$8o(Kr*S+YtUa~yi7|{%jbVJ8okQao#v@k8P(Slh#g8AC9ZOk4*dbNx1eP7MR9ex) zDy&pFbTN(9Du+JOQVm8Q>$MC<54oyTIdn1URfqI3`=vvASn*5v6&79@qKh>(ITdGFX@W6*%q%8~3uxU_HA6=ZEVi*w)i@gq`i)_Jd02 zJYoDLA3DgMs|ll-;vRZCI-kpE(#%iY`kE})R zzl`E!0TV@z&mxyOfSej4dpF#A>|$&kfhm}XP#R6s;=DfIkh&269=o~`U+uG$X>GJ7 zbyYXw#_CG1`Fi+AW2{cZzo^TtzKO_0^lm$6&{|m0M6MF3?;H1rv$B~{u`Ou@Dg45P zm;XP>l7E8s|DgIFR zSrzVJL;Pcm)Qt!UZy9Apckjv$k;v?%Hq>x;%OdD1()W7E*t*-(3AF=%gu6L4W8B}3 zXr#LhHRHqGa(*$zA22M#wQ1gWj!UNt@$A^ujd+f_!eK+} zSEVB2!+jLXa8@GxSE7qf#52_8w-PcD!>L4TdPNhtN+5MAjg`$ODz=tfc`8AZ)VQsQ zNNU`?BEoACv&5+c)x#szwi(DI#w|XgULrNuh4{m0+5f3TB+wrQ$c(o#^l!vS-H4Fz zmdM{L)exDT+^Iy+TOx7yg*lS3b*IuLwKKt=O3fHII+dF7;ZCLb@2xRdwgubI#BnE2 zC9CF7B}~BVsf6*iiV;sGI`EJ=l~_N_n_In!>9QNbpGt$X93JhCidpIBRGKHHzeVLP z#1E|%OCZEe)D`v{twTyh#4qC;Q;DG6k$Bq-WNh83bV2P*@TXEU#*I#;W_-9) z>CM$^43=%d_Rr;(Di?f^e63{F{HcTqm_3y+eqJ%+sYC}JGN%&jhk0|WH!)q7wm+2y zXE{9Dtx~QA>%MGHmeN^KxeIY_?CM5*L|tLO(OP=#czhu)qpqM>hO-jke;i|VB0iul ze_kLHF`P=Yo~&phR|%v}rDJ3>rDAKzm8TLkNsZf@h@{5NDD0( znZ&roN7QF@$#o&V7%lrhm52oTLj#%dR)&6WjMR+?32%w~e5r=W?Bq@*g8nlSZ<~RP ztvi*zUON-~snm>dqf@CFAMRATV6_^9Wm~X4HI6%3D_J#vDq#X-U*wu}ASf9g&)^(*K;`MzL z?dZxj;X9&>PQ)*&%b!ZfL=2}Atz#;h$W;QVQ)#qp-e0jTX$7e~m7qy#+}1=SHEv!J z;T29LTBOD)B34P(-*@0tg6jB4wQUA6iE)dMI44NWbs?S>E&D%}hy?mW1DWwwhQ5D{ z)Qt!UZ;5tBc4ih;30D=v3{60wXO|+NADe@_U z$0@D`?}}q5hwk`6tVXJzp6;iHTUufqoHj})J`?G5f7BcPwUErQmH9v>kaNJa!Pmz| z{z+Ug?TCbS_q*B$@7+uP?$vhU5~Dhpt14WOSsU)4N_>sdvOYnB_SxS7x?IDR3`0Kx z)#s`g_26`k1PF|$KIST4?a)GrMKEU2Bl%CRQuE4A;lx|N|eMKk3*wU z>8Zxl{V+;nPen_8%r)Yz1!4Xnk8Yn=W)-o8%j=g@d4$9>$}ZIVV6+_-726SU=kCEH ztv}z_$5Cjs6mo;D%c3<+B-YRF60%%D=w}zX^j1q!X;>;HW_Osp5+y-mXn|7cDKWb! z_2a2%sgF59yePgXR;au4@!RU+OiY});r@^9;W1y63uOHD{uQzHnEETuP*vmdP`QkM zTTBOj-De`K*Tg4FSRb?HZu@m(<$^d~U7>QJb#Pt-=MFwc#q4#Lvcs%4M)V8&@ua_3YRtehRKA?$`c&sNAQC?cBoUB4)UQ ziTGmKm9TWB2DX2XA=(jf=PMWMFITzzPHwPu_YiBExUKjzk8Qd@9{fxrm);V$2n*;qut1*70?T7nNP<*~NBD zRBT7Yov%`?zg*=qN^Y=qS+u5!#QND?O_pm4{p=!_-fBrI4NIlO?5-@YL`jesTA);V zO3W@w{dg)`>SIn2cR!FIR;au4@d|ZuCMM3@aR0~l0 z3my1%Ws3FMPvtUC?si=-RxXJ9sw-43v~DjI5ufg(m|V*0B--nW>Tc?YM0M2%A|b<# znbygXKqn$ZoGoINQ?7D>&7Sh;S2aBP!>AQQ+rVA|m8Vq@*_gOkC97nwIr2>rBY&c*O6DEBuES`P%1qoW*4P? zJQXeVF(-%@#TjCSx;r0lQWs}p;>->Ae{9c-`I=lHv zoGoINQ?7D>&6nlTuWF+FrP7Ct&&0G>D;L}{GFQ1EGP24b2|k!XLahJF1wLi)F2ri^ zt~hpb=qeY)YNTA{LL8hnN+&)O=`1T3oE}t}4`c#42TU7$eQe|x;(}>MBy_%VAuchh zgL$&T1(~(sYJtS>F^0-zus$1CE`#;#*d~5su_#{DsqnJUE#btrZsGEnnBfj4;*7E@ zVd*LtY?qCS?TEPZm5cS4t6bg^Q*7Nm#F{27Q|MX4W8 zMN56m3F1X@kyxSb&c}Pz#hI8mbHn`~+waAEO)ik}*IT(*kNL_4mzT+9tX$~8uPalm z*F@#g_Or0$HWz+UxPx#!RXIY`$pmI!kqm)U4LHqrf}tZEwj*m%IGgGy`26{x_+DRr^0)LKNHRo+Ndw8 zf5?5|%9FyEgjT=pm!W4{VTbT=q1E5Q=zp<+{#0F`F1%bgM>tRTywJuwL;cv_qc--> zHL!0#Hh2VgS9`M1#ydy-cL{$c{JZdfgd>i#mZ5#At~atDlCi%wWB;)FZPdrqZ~5i? zKajw!Z3%@F~`tPcL`3J(4F~aqQR)2!}CkZDDk1@FXgVr*%zc0O; zh4X~J6I!bmHP1ti4_Af>#|hho3vQ(elgkO$Hs%#>52odaT$JxNbfM=(ZWTw$B*TQ-|H0zUhNrv=SuI} z!b^mUYL6ew55IF2XOws`&sP5y>D?~;nQ&3<@nhrR_c6tJ%AnQ1M*JTVj`~&57$da$ zKat)o!n+rfJ$`IFcs-&xzcFa_j}z~Ug|mdSGvoQX`cD;}EnHN4{8)Y~Jsf(D7funL zEIdW{1L5_;Vy^WR+8gTn&cX@8J%#rRbN1Wndd~j2Chb2hJ@o&8ouS=*V(0+(SNlrg zRl=Kv#=Q8M`WxYIGWK6r9?uq@BfLO3T{u%{2p0;Ad6r3NV+Rh@{sZzmPB>Y3L?+&&Cxy5FM?D%C?kTi$K1h4p-aSzbd=egzpN6ontjaoBkzq zeI4P(8GZ5&Uaq`enaS@w^@ESA{iN_&;lG5FeiL|oNoZM*QvXWAHH2Ga^vC@+csN5i zOL&`bzHoui#v8Bx!PLi(>6JNyjG*mK=tPX9CVv%8RS{Vn7FSHBAxdQ|whaK7-5!k2`v2@iQX z*iC#Ujg!?6o}#v$k4Ev|QoPRprFb7xoKH0wZ=mC8l&``1BhS`;eT{>0p=U8SKUR-+ zPX7$WyF_@Ua5>FCb{4;@>$ha^zRda|-gL$Jv2dyXrFef+ynhQ9mH*}-D-bR zcwqyasq5f#YFqvnDDKSvBk}FHY40TdR|#|DK|hCf{DaNs_cQryG%s9dUM!ynH4g(_ zKl7PCIeU>_Ul5UUi?x0f3TnA@L548HTbRE1&?WcreUI-R#LTi7Q^kxg^EGB#W*m&@IM{(daF2nD6>HSIg zH{qh%gr60* z3p<5-2yHxgyrJvw3WxsLYWC$lS9*^NpA}jw`kVDXN^vc&l;QIs^@ESA{cHpMV|0D0 z@b--U`Y(nNZESEmwZU0x+wogF+8@s76qC`Uk52i^9pmqci&SpQ-E9gcoG=Pf&le z`u9lR;+%|s`d{YyUzI1J&ChS7*R1~21JvI|aSst5BRoCBXV(Gh_Y6?~5$V4oTqqp* zvdv6r|8{`-&kRt17sWk9c#QD$44+*GsNXX{{YRw#ig2ND0qP&AxEBg% z3TI{boIF7N(*~%&_TNGtwimVwCkbtqJ~BZ4%?GG|gYj6VHe()A;S#~J*- z+Vg}9gvEluc&KnS;aUdQSKE%y#-V+ti8o(u>o?~wXK(eJ6e8kJ~KUchR_BI}R zcgT)73)QyzSE;{Q{Wj$p++6K;;UwXULK|;8^>1$w`#I{LpRqqo{dX9>T)Y#dH$`}= z@GPO_cdq&`5MCm@QV6eHyam#;_z(5lcuT$(dMvK2eyhKZ`YrCM{z<~qGxi@-|3u-` z2KqB~9lT2I+Z*6|{}Y(E3AYut3y(2)q1xc@)CQkZ8$9@Ro0-stC)h0CpKCmp7j1Zf zSBTGS;atNP-XOferNn=E;da7ZgaaMlb>eTc(rBKz&iJi8)IWp%io!9%9fdm!CmB3mZ5#h%it|~a z^}mDca{jG9{N(t<7r&M#?HphHcZ#n?%jZPtohuxx@etqY-y*$x4E|niaERt(rZ6{8 z*1z>j`$74)`fJGlM}?;wJX7s+gck|nMINVS=6_A;57xisOC0bUihH&2wuQlBj?mhl zCB13F>5Iu8KQxG zkKTCM;rEz~|Bp+rS$*_QlpTIg&iMbL^qSR2?=sn4CA?l}*UzcyKSOw~a8d2?W8+<< zasEVjlkoP;_~)ws*TUZlSA8pZo+vy>XyXl2f3x~qNPkD+Y=b{j`(EK3;XI*@|5f#W z*Wh((UoV^`yh%u0{Jx@o>;Dw>;~)L`8U1e#P#?b*o8@o$zN`4)(0>PwkwUA#miimv zC#47OrZ#xG+B1c-g$oV-N9}iot^Wy(MhTncx1Q{+KKycM_2F+ZHy&%xIR7F(jALwO zJlm@O)50AL?yUBBp^dk%`VYYF?Vz!P(CU9xdX4Z>>0K_oT6m4{df|=2+k~SOcZ_hR zaF%f7JAu(?;b8fFdojg3Nq#{1gYX9}UpwyKXk5#`Yc)fgdBGof=*Z-Qyxpq&-JQXI zs{b1KfyZ?5054Jd3gI=v8-$kiVe+XJL`Xru8%BQdM}L@ZYZ?+ zuSvhPNqziS+)DOfkJ>rBS=WCmd{k)p**LT}$>`_e+5TgjjBo91+wz?+zd8JyuD_Py zzlQrAGyiYR2DrDbPZk~{oGH9sX!$kr%k@tzCVw{m&hne%Z}p#${_;aYUZ%DNoGG;W zAD5oR3F^1{C#c`zdFnr0alm}JV7ajgG2(rZ>9Jv)BlSpR>J|7P`<5MPU3>R%wVdA>T6Z|jG4yZro1 z_&(WRA{?y0!P>7X9*ykp5Wl;Ha~q(Yk4E-Z|8e>Mi^0zg3+sHAaJIn}hKK8033n0Z z{6BB}+j#Hjx{X77q>1c^Rm^)t{|+{}Hy!KY7jRKi;JNDEV7exQ1{eq4j@?<^%ku+J`O~ z*6-=US;Cuyw+inOE)-h-=g8mr!tV&@3eS<<%#1yHql_MWY&`Vfj~+Ns{_833IN_7R zmxMO{Mg!Ex@2;|&BP5RX|7l%sRv*2A<^vu!evjfWE`J|bDy*}Q33m{-3vK*$2dICP z^c&&VGx07~{}m1J4qcxoJYeZCu9?Cs8{m9hAGJ)dTSI8a--rj-;nOHC*JmsKqQJtiK2ZCdexv!rZhn*V^$)FwH-)XT8=lGc%Ie=xNW6I&{WkUQB5bsN(A!7) z_+>nH{#ZwMiGQ!)4)*BZQ2ZSWzr!DrQ8AY5gI5Xbtrere&qqvLe|Gmn`hlSe;+l3Q_2MBZdYs7==%nQi8fX(u;`NqG+yEF4c{2W^U z@UxiXYwfMxB$HRGKU>$q$JK6GDXia7D+e4SwD!*oQ2$TTe@VDtG1=qC@*A#ktSDSX z_+^8$)m|tp%(%y?ox`(q9sI7^;CogHc^oV3Ts3_@8A{$m5w$M3tc!|y{G|1V3gS$*{Eco~PC-=T`z zto}CAA1|CKB(K*0wgc4PRr&`CS(n7I{@<3~3fk}EgxhEK{}A;ztN*C>kHr_%&p9?y z^JMu=QatcrwGYqm`SJg9 z!+Rye`>YKA4b*>x@Mz%)!V846g~e(iFG~q+{8iNdKH+)>t^UV!eM{kX!g<2>_k?(0 zr`o#-t-t+bccAbv;dG(ZKT`ci3#SZHA3N)xaXc=+xpCyiv$4i$aZB}spH+LN@E)P% zWBt(na7G{h7RP1upH%;R;a`Mjt{&!bzVIXO4eg1-eS}{X&J@lP-Yxu@@B!hI!l7#f ze|Ee%KJc>o3&r<8!eQcjx)8p5Dz3GEpY+xgeo)vhwECN<|0BXJ2dR&p^$&0I4{!2q z_5T7NjnB@<0`3Gvnf1S&`fn1Bd!Noz;X%Tw!db#648EZ@_@Om}AMi}IE#HZX zyN?k6cgdgCN3U7F*8UL1IXN?4tB>9d(kCBZ&hSJ3ROz2BY}WpK>3>If*W%YyTVCYSBGTQ7xDg{iA($? z6@LZc%EFt)=N+LP&)U*ETzI|ou=}of=Eh_F9W6gLANaNU@LDO8AFIEn^wt%ANVt#C z>Tj<8Err_-QXf0(pK)HQanBJxCbasmsh@R{TNj)=pj{`q^XSe0CI9DZoh)wtqvRL= z>=W_;Hk%Lp?Iynyw9l}&^Ru1wn$@3T__B|W&FtqT)z3IUcwv{D-_?vg`cpIU-Zwyf z_*jIW&DXs;-&fQ5)Fy0nAD$*X>+i4fw~DT}3%PG`AJ5tUeKFa;D?h~FJHr<}_@dV= z-=Xr0eWUR)?#pC%x$x=?zjfCN_o1DH2W9Xs_2=+uT?gM#8*E!U#QC)FAmKFOh;_ns zJKs4z$I3tUm&%W|KdAw4#shB<-e8VDadZ5?y_n*U(fG(;x7x(NQtcasIX;ZH5t0Xx zJb=yevGb9O`!nUq>JvYQRv&&Ab9}8mdd&CLCa+e1%kx6dCxrV5zbv%+IX(1qc#`~0 z5uPkORroETjrS?_TVA<1^ba;3_Kon^3}5;O8-E*}BcBpZ5WXfnX#H@`94@r^+E029 zG^zjIb%Q^PA5;Ih^}=G$y3q3Z-T?J)9-uzFEDqTq@UnbXQ~$=o^%ZZd(CVZ2Vd;O&pw;it^=pLq z-3I^4(?Pjn?|Z^4h1UtK{%rMId?BMxzr{DCzk|lX zJe{gGxS`eqX!+nb=g;b+2NDOg`*s_}w>Vk-#|YU6HlDR>q|Z1l;>X6d@vak}TN~h9 zU7y?*_RZzOi60K_gM`-qaRbypYk>OjviO+zT0XDP|DnLUP`pt>t6xZOsBme6R)0NR zpDM)f%JM%?I9B;OMtHWtnVEc!mEZk@_#2(kKcoR4%OBpS$nH$x6~bAHGdmOS4(UBE zMDKs3|M`!EyiXL`_zz33S^fC~)Q8v5O#%;aH?`X|KRcLtvg@3Av;6UA@qO~oKFQgm z_t6G?cF5!(`!$XIM>QVHmpGr3K7JXm)jvjh#|cjqenV*Wr>o!Mof&=lEj}#$F&YQ+ zw3pi8zm*rz^1*M;pVdbXBo1iz?J`=|7RRZ72O;~w#%x0dB49;Fs0@itzddc#E!scd9+A^fI_uhmEI9qG47 zkMUW3#$%CjS$+JhBEKN>X7#ylF{i(u@;K>ZVZVc?shz{SbsZeGd9Vl9RU6!1?McF0 z8sMwC4lX-3_|M_ix(=SAHh7`h;6k-0ZxQ?s-7?@PVVlA4sSUoNHaKakU=Kd2_Orre zwhq_re4VQNgJ-FIUS@sM{~PA5K_1ETJn1ps*&4Uy^L_b!*!aIn_EsPNjj-AHjr?#O zf8WqJa^pcihd*p!e_(@s!2UQ_dhnQ+$uIhi5Pvq`k0}oLgxXIDbNW{A57K|tptVQu zPeuHp&iFG_1`F*EwuRc7tL zYs%UumryBp0WN-EH z-w2zH-^dTw@%K@UBR3xObGT~*`}b?z=Jo;opOqdwre^Ysej~)6&G$DI2RuvdbA>s5 zt9Oy~e`wI!qj#y%!_Mln|1Ca};m7&#PhDq!9;E#_O~`&_pMrLuvL7wpr2WeNwDzbIXSVVTj#Qr7gy$K2 zU2Twcvr%TgmofgD)n8tA=&zIU&pLTs<9JtS$1zU+_7zSR+I$Su-+@i~ds)2DKR6Sg z`?*ES`}B-G=hA$w4{$+dz5HBxeL(n_@b|)3g>MUoe6KYp;mI%6HO&Op1~o|2#ct@Slh^Vu$BejCl79Y5o1gpAwT@2+v%e4MX- zyMCGp@7Gz@Pq?_uEn0U&ot$H_-hzM0p`UHXk;hjJFYz2k>3xvDx!ybDb}Ce3lRX zExxLFR^Og`v^n>{X5%xi?KIy93(pc>Eo435H+Qbm&$$YAX6AXI^9^6n^0E0^Mf}GK zrwDW7v-XUq5i(A2agDc8T&@!rJYMVXqsse0`K+9|-{Ifl;fiPT2anmh{-WV!_0QM! zn}zQP*V8zxexr5ExH)ff_S>6vajx3fPt3&6)n~S!I?cw<)oZq&y3N|>>Nnd@9cS%x zb?#F-SHTw5r{FefgZrpW9XLw$;22?>aGY?a!8_Cjr>lMhZC$dQ>Pc{-+Mul)p44@) z;CvOHZtz;QLGBl}4y7*KE3;p6`E6Hz?R*@e{xi6)ypT_;{{u5m%-2HoQ-=@J`0co@ zKkO~On)7EIus$pfV|^I?4a_=vQuEGy8})+qwxjGGl0J4;A3gA9>0>umdD%hub%WE? zo-SNN>jKG9N=8w9I$BZ(YJ`5)u;b%#l2tntgu;q?5zF}t*_BS^0=q+Y4y?jko3_z zIHSL(^o|gscXUSoWa&*8qQ`k>`Je|*)VjBLu=?i-pA>Rlg4RENa`slA^WEY)CNA;k ztG{;6W%7ex{MGCYA@XK1H(vHB&-I++cHfT6tiJk5=kwa@PR8Iu^n^DH=L&xZhujDxNwT_9O0$H9|&J*fN$tJxbB4T z`q&4B^Mx-6UlLC43VJ6sz|(XcoThdTFVc1JX0>y8x2}WttDVDnx(+_2b`GD{b?_tI zVca8k4cIQ6Dx4`ieYbFZx^Ud?p*;!QL+u9mEnNo>=m~aT6<%iWduoI8)z0Cvdj@~t zxV=If{FK_@9ctV4`Cx-}#yVu3fp)ze`@g)tuG0K25Hi1w=Fg6w@ijumZSCJu{%k%r zRX*(cvG!X@kNny3SpC;E-gUK}Hx#xBt$w3@&UN;=wV$SVjgWnB?Z2+^{Z7dK8>Rg= zR+!t5lN#(ZuCvd;9_^q1)_z+>`)PHv?*_X6zGw1d^I`MJcpD*k0B0zV&F15`%AXyd z<%55V=O~`lx91*h&ONZ%_>AiX#amLmHx_}gFSPoN)-B`ayvf0-pQrnX zwa?XWwx2rA+UM%rV>?4V1YWK-_^jGsi}+Co&eDBpws4+szHr<`)my^d4USd)2->>j z23-distww@;TYAQ;7ql_^)>(Cj%tJ4FKivkIrUCvzvS|}K=&;>A1f-a8whPat^Q}E z$2@`4)jwT%xl+h@LF*5Di|1tgS$o!p#VciR^&e0_>*yHqWWKFFdN0fFOVY>A>Z1pC zNgul>)qY91mevK>ruJCjT?SuL8~m--0r;lcpyg-z*mzc-aj@U){>t$lXL!$1d%o}m zGmZsnGmdA>ICAT~5kEVgmCQN7xnR!&+SVR@i#dJz_fp&gg(nKF|C~N{R{wkQbDNMn zzO8&(ee~u^AH5}Y{#gCDrMIHiD|)MD^w*T$SRs0xbJjn4;6mA1TvFqiEaY6}yacU( z{N(JdKIgl|`^1a5;8gM9e6yJIk3VZ~^~syX+<4iilXZV=bYHabhRg2#!nK9l2)7j; zBpj&!rDTWy4b;Z}j*H3vvhsufjnu~f=he33=XHrQ^?cs0`eCZj>TiyouuFKT@CaeE z{zfTx{d#a7UPQ3jH9&s#gC40-SUHzwX zU3pz9lV9|1l|JKsM0~))_<3)}AAZ1J$j`5gKm3CDx8up#=k#Z59BV2b>uSmU!n|Am zzm@(1;S(CyOPTRKGeCX(E+Ia*$}e#&pEu;cS$*{Ec!^{EFDo9+>hGw$ogn^+!|L00Yui@; zZuxyw$ojZe>%;2X_0BqHeY4&yvi@e9^~bsa2OBTvKj-fmjTio#XkEd3@67lY>YT`- zjfdWUWY?;=BZVsnR~I(2M<2BMYspU|{9q;?{Tu1}Wy(t<Vfk%7K>ZKs{xn{=n$EpV4Q`P+54V)v4#s}nj6QJ=lKvQ-&zlSFcy5%Q#aq;G z^?OVay}aK6^v%bE3em-OBiE}?z5oN$)xZpql^?5L}* z7SDU(D?g)*-`N@ejqL4uiV_9n}s%CjANkuE#F4`2FmAt<&!+^F8<_)c;w;Rnej2M z*X56SXw!U5GHCPjtn703R)2)%-{KnT=Nwt6_OXf&=KSUCt^PduwfL0!Yx;^`X#eHz zi#uiV`!n^=5k4ba;mhGZGfjAY1H44n!H3m;RQS5^Era6@4RLmEfZe)2QMjjYs_>se zo1fP;p0_e+^;^a7zcv0wd>iGN>*U$;zg+xn{(qRCpTjkE9c)uO zhtqW3=A&aVk3YxP_QM;5_d(*BiuGY%WC(K_Hd>%iKR zmqz%R%>1sV`CUWEdIxR12c`Fj!57rtU+eQ2p|!Vmw41eOAKj?=0T0!_0&h^8ePen3 zT>Ns#KAWbz-H^%OHw_Q?JgxruinAb-5A-e0Y0{oJuSuUc@VEJ2U3u9=I99xN$nZn& zBhueO_(`GlPe1bjUMPL$gSgfneT&~{(w;ciOP_JIXU2D)`hOr~zGr6Un{{=U{DaS{ zZO6lPi#h#uj|}Jf`oc|w9}`;tUF!d$aLiYO{W?OckKUK1f28n4A$A+czD+nT;}5&* zWDh=}Hg@e9d-N^-yh(fFye$36igSeUDB+d${S!_Eh*i91uyM&YEXYv63{Zw&m{HN3p z?%%*adY0cs;%EKurg2;(BoCJ=&aJ|q3ZD@EPH6odhaXUS__O+VNzdYM)sLM;%j=hh z*B>+dh-3XPs=uEZzL#g>6W8J>%}=}RSV!;zZT|3+v$y(xG;zoq^J?{niVwUR>Axd= zi_0IYeI}e?@Mg7b{4wh9GPqktf42I;pR0YZaISFm;{qQWZz=UJBV0+C(_dfLw-zoC z7RRUkqc=`^+Y8&VGlb|rLD#_x)t)aT?)r)g8g~Wu7SGQ3v-ZTjTKbH0RA#)lO78(7 zdZVTPap4ZaeGJ<8jr>{t!{zT-;n~7_h2u^L^R!(9+)3BL6V?8j@U8|pN7uoJ)t-G~ zh(Av_>ZH(~DzxLdQoOIrpw++mzck+O50ZbQJae5q+wpWLuFd~9)jzR8{?3yg{K+?V zHeRE7%iJuJKD|Kv(9#Fu+HwuthaZ>a|>htq}rA*`rr`h z4bSNBto~hutZdLVhU`dqh|)Bm~h@PKf>@I6z)zML++xB*_F>);b=KP6mw zYVeoC_vt#gmfGXK7VO%EvxV!P9Qy6}|0VwKWYFr55WmGe-ha#QK>0VyGuO$p9naN@ zYxDoS`bR2nx%~ZAdhjRT*x7iw`LzAatF_-v@%A%#wAveKzR9Dtw|2CfwP&53sr3dv zp!P_`hX?EMDD{I=)dtBMdA7J&X8mrexZ4Y-%kP!K|3}Sx$7fY-UE4Q;f&~qzfY>5f zqKF17_9%#`h*1&YSO_H)rGzG6jSUe*W5*sl_SnH1MHCAf3mOX=#Da<%J&IU)?_^!$ zoReYJZ{NZ4JzxHKud~J;bFR7OTDv4XzP|pxR=4WE4ZRITR8JeP4Ptb$8mo3n%e zD0t^NVVo%|@uwz-xciNJpBHpr|7o@ktxM|=ds_XK3HA3(sOP|QLp^uHGWY=e4Q@Ck z_+s^6ME$d&`m6eUz4uf16YyE1`(MbgKVRW%McrE8VbnhvE=gFA<`d_W_ciGCEkYMR zVXS>~|DUbz&&IEyzP9we8RuQ+-|KCHFH^sKI}^9u=JEWSay?VOe7YZW|7sr3zdQLe z^`A~Zu7Q=DC-DQuOQFv<xO#CPCTlgc?^JQC}FIU*P_IlnSuF9zV?*9d!o*%L2 zgZkm|jd<>~g)dtF+`n1_{mQ#DaZiw6^LYME@n!0lFKPXn*XP@v`BpZ54EuUAyuj%5 z#eDw$d6hg1je5RsYtKoYE1&O9;_ro;=Q+ln&*MMB_cPSIJ2L-1P|t0TKZ^TV@Ab3T z|B}f4I03)j|9UU!{r?2}^#b(ylH%Rpn>?dn3)Z8)xc}$|`p4m)4x5r+^LYMA4fJ1( zU*A3Y4$wTF|B43s^`6P+IV0-3%k%HYchiCJC^!I)gR@}%)bPF1D}l#yT`XiA<4CTH z*E7BeE;6>87V4;iUnOuE*Tof#V{CSQ$S)qncpiKeE{6rvgTDw?z;!MN`kv7HKaIX# z9HINK{y(xG@3S9mSbwZPW!4X0PtrNkb)6%RkDVvib*?;qEbH*|b{Be5{SV@c^~2{= zzYeBv`S3{Sen0mbugm#uLx27J-E8M?hsgO;z8Jlpr29 zK{fmVx?j5ZBfc%!H=WyCBK`jre>42eq2iArE*9U?{Dm3%*C$T?p^^IZ9GuK~Xy|jv z`*jj|PJyRG<#)eyJ%`l?Jty5ijeIx5+u=JfDZa$w?_bIIONdkaLyW!N{kU%qgaz;_ z*yh6UeBUsEn{!<}l5t;nSpu))x_A@gijpvY70kLQjEkYKX99Jf7NPsk{hQW%@=Dg9 z)Ms5+pM5=BGq3l50D7N<{vD4`^{d~C^ZAnYRoAtz9{&#gUu^u5@#E~f&Vk2!oW_~P z>zw5 ze9pZi`F%fz;u{V}LG{!9(kJ5+weRlNb!W`q{NnJu7y*l632b&rxW1jSE936)Aeaw_ zL$9wpdHY1>bH98?;~!uwWUTr0@FSRgS(r~ei*bxIxGvsvd59Ow8H>ZN2-n3?jK!^IgzMhV3+c-h z#(Nn5UHzLG=}&G#U(_%4MO0rz^+i-)MD<0yjedy@?U(xJ{q=LFvCf^Sb0_NDi8^=U zDSuJ_Qg*IZwtr{Pzx!aUe_Fq@CF`lCo_^#R47G2{|2BH2{nmW$&m~W6KKEn$Sm{5p4f zUuvCBty}l0-eaPkn@Ra^VZS}!WX@?)e7VIZ`9DeU`#OE>`BmpM>UFw5m-{TnUAcY& zEQV9yj0o>Q7t0w}z;~h7(-%E9pZk;MPnxfa`NXdne;cW<)s^8pvKMS~RTy`KUY~r< z3yBwBVq8R?dlNYKPtJD_^A#t|qdFdo%-7G>q4jwF(#SmCFU31=v3ixy;~&B2{nR?$ zFW*Aq#7`NE-!T?{VI1R{tTzw#g9G6(I2>xxdg0aK zz7g+aERMJ)TrY+duqwi}uMK{23&x#cxv`qDSbQDx!JDD4PxUWm9bdo|u!y`9p~p94 zoom5$VFy@db$Yyf+vD#H4}vr3&rFzUyz;pJ81ibL#1l0?^&SrU(6@<^{wY32pI`fz zY5s=#yEU+Wt^0h|uRhO;^!rA9I@jVu=-KqCd!%3T$LRffi@d8+kM19xiy5p}=gi|j zviKx_9`kgCvHSBouKRuHj6V-x%`8n8)>eSO%+MO8tae8`XF3_agS?XZU1ks6%{#aTR>-rf~gb7|W-; z$|Jfzw!f}xpFLi>_I-W&(H3qB)mM*i#XhfWyyBcXcdpqU%f3ANR=})Hl8X6z--^#k4g1Qfv za6fv#?rfl6d0!{)KY1hT{}SJp%&+Isv3d?!LGp{=5dUvz_S6LO&V+q^UqikVOIx_>ZrW$O3u3XNaTe%J(hPk+EVd$La5S7uMCjuP_aQNQkU_diO$$KliP zM`QLa;k!ZX$T$xko4^yfp6UGanBV=a2d!W8`h1U& zXW*@&f8tq;%i&^UtJ{KK?8I0sVO$a6&ND;2*Yg_nEP(IB?_o9hQjz%I@a;>z&G4(v z0>(vf4f5nf@+r>|){l9N$CF3v_4O!zfAdcw&i$H4`=EK=BmM)Z{fNc)#;5p~7`tEd zjOKc5p5>8v#ht}<`PBFQS*QB`IphEAqZQQ9d={Qk{CMio{0Bz*t#jejIo7#|omZ{< zGUl5J%b?en$2k)ZVSHHR{7pcA5Kg>3+&9yq=a7~SBVhKu;d%kQuz@VaFTTfkNrb7gFkg(lxGpYWEG}m( zu76+1Cyrqp+s^^)>o9l@ET`TIm}$K7xc?#Y&W2CHIne!YqAwBI$K}xd@@>oclCK&2 znrnUZc*W%rUrF2&=zjThAI!t2IQPpJba%o zi?coT=D?kyo;QQJ-~73w=ZF}4o_tCCce-y?zfsQ3X%E zSpBL~^<`SmP3)`oVMF@u^C|yP>XU7_)+OqFw3PgMzue1t*ZX8F^G$-MLEm4!FGPPI zXdfEe^Lm)QRN*?N=aw|1p8-z(OitMnYF&%Z*wui8Z3SL$;$`PAnn`?-vg{)=ju$>uk|futonzs4zIrvc~*nX zpuV$?AdkM6W--=#Z(aJB4IhT(unqHSopTuLxqJZo-UAMRy3f5{ug~jozke5MtozpQ zM}7C`c^k{8_$0r+*PObqJiq$B6Z@dP>$&3oV)`XcXM7QK|0C$%!&&!-@5cGi{qi}t z$1k41IO~Cs@6ZGma(!jz>&blC3G=9qqa*XJpbuJy==t*^^LYJ=ckXZXDxb$6h0pt` zb-G`^Q;8ENGZrslEMCJn#=E#)1yiiQ30wmw_GUk_ zs4EA$U%q|ucY`_y?w9U7oH+NNfIb2Cpzc`xkKubBZu4+hcP{k&@{96|?vI^c*L99P zei3#348P}G{|4RvX#@Rhvd(s}4ey2Rq32g$y5i5`+-wZpUx;rKly94e|7?7^kHvLa zZx1`CQy6~%e}y`?o3Q^|!#$wRh1WZc`IkWDFD0-0`Fa0;JH{!Xq26Vr4 z^+AmF!`JWmwq%};Fb^uPxFS-|VGZ;jga7zQoaQ?%GG8n{=2zXZ{&+vMuaC38Ps2Hp z{eBx==grTT=T{vgIKMjgyOKxeRP^|s#0`qXyI=F@y|)kZ=)Q6P`Q*JBPUpRLD}0Xk zmiQgxW;`Ey@thYYG8W%q{4xBN_l~GOsLs*UD{jF3sy-*xf3el?^?E%%e=Prn^hfzG zV;<#upY?gX`dUu>OycIiC+X+Y)@OYm=sUfbes^P@?ofRfN28C0+6VCq`oGlnLHlt$ z{U2`op#4Z%-`#)l`g}cJztnEiE9yBYdcG0N z8_VZ@-Dmoa*L|eAb>HZ_TK7pY_mA$2W$dr+gA=(we7pJy+XA`nf&l zH0k$^KKRP1yCQNvlk(`g@_GFundeNXzZ+;?_iLRg{Gxu3a=)%SWB%E^FJkok@;yP^ zEAVZYsb6vK|ByUM{4_G3^d($>@|p1aNfImYc|DotYiNATzm&S0mxsCwo(?R8Uf=f( z^#9aAe|PHW0eeL_9{rIyq28yV*Bi^1X?$PiIR*}be>Pruyx#lC?|c~D{V$_e!uQ|@ z5&tUe>*i2>dq2{@R`@nG{|ga+F}};-)$kVR^-C}3dKLFYH9V4e3gESHW@P?5$P>%w z^UueBJo9Oui8hbUna3|B{s*Y|!bp8(%;TJm?)g>6bn;yS)d%;do(=bd*qm_-=@zgn z`Z(BmZiqhwnmr|-^Iqb`FBzAR=hXy$@+aqeh51So=20E*Mdmx*)}i%y{_@B?-Y>;F z=UTnW=kagj^L}cb?w9X3;>6XcS6r8|xDn$Rx8-^PEQV*psc<^fzI%PK{H||9o+0p` zn$PRq@VRh5w0gcSJ2DneVjSZ+To()Gg?!><#^N-_;s=bKSucb<9aWLI>gHui?bMu3mA(#%n$Lg{cOj+ZVmT`#ne>- zGmTds_m3y$#!l`ZM^|cd?57(0gMG>e6$;*X#8(bpDl{ zZ!GKAx!RBQXnl7vR{dK?`uj9}eGblp`p#OHJo;Xm$XM^aHyG>t=|uWh3@f45c@}l( zx!jcJ%UZA<)P3&#_WHaY_xpFD#=39)e$;o5p0}}licj+Ed(El)!1Jr`-?I8{)+d#8<#|UJZF;+=A;XJKx&OQYvmJzl@!ovT{C%IEQ|@p(VBPWQ{V7ja@Y#^Mo-#bX%9IGpRHupB-MUxf3a z_TB4?<#+vf^4tdhsrkI#f3eSVE5iAWv4ZR3A+H6$cn4!=CAu^3^$_13mKf(Tu7qvg z2>yIH&e-D3a6QI6u8UVOz8=15+ zU%qVis|eqju*}x!@rv7p_~pbki>yb!L-8-cuQ<;y-$4A@U&XoqDtu+eM;XWbu{ig~ z&b#Y6_a6Tyb$kwUIqy3|_rKFXzw$08PIv86z9|tEwe-3M`eu&HP z$JQHLUsC<5GpRn+Atu%HKKrlvFQxCAudA)UGP1q``mFcg#rX6-OYz=X4{ioy?=$5a zsOLNW#?bq#d8gvnyrSNxde3NHF)5$NyZ<8Qz1(;k<0uX)r5tzYx{eA%p9Y{$3*+zuXS?9I3U78%cD?DOr0 zu6!Qv{zvg|Q5p6p#$2w8cQY2(cqha=JEJ>G(PzSHW6rxFUuQTGmcciTqu&eu7)!Y> z{>*p<-0A%gFP_IZ)~~1O+dQ}k=8`WDW*V`c6Pxt+R~t_#~`^dj2}q53zUT`JA-Ar2187 zQhlmJOsZ#3`mFiCXRP^dw)J<8tgoCt>;3l~aeAK>5H}8<0b}no<(orZ#Se_kuX(?~ zuX#niPxYSByrQ2^&*$;(|CV`|8Jp6FB~X1)A11J#ldLb9=GS};&8NE7rmppk8!^^* zgV&?)scg=Ro^yI{y8jN=cNe@5erC*C7``jSjTz^{LlQWc>zU3!i}~Fz-Rt`uf1cIh z@gAq~PZr-jQm^JwAGChW>+_vSp7Y?%@FO_ogV5LW6L=Zd#ifkPKMe72C-5V#i`9(x zs|xW22`uLNR5$~c!Aj`sfAue3Z_<28ebjaJ(d)g6zPc_a(xs zbJpYiZ$~}HB=m0^e5zmlR-Dh5w6D6Zef9Y1)O&^TPR38O?>Yw_?{OMu8n1Jav9KOt=Jo0e4&y{NnJ>!#GoxNykM3TMMuy$4b6M5umNP@k{wRD7qy zv*9%8e(BX*{|Rb8HIMq?@#Xl%IgH=4 zlXq>{0{+?f^~mG(b)Y_-M?YWg?}Yy#SZ3$Z{kt^Kue^oCm6Bicc>Y82W$KsD*QeSJ&EhLlJO@JcL&t-su$0zUd$W2|F0zO7Nhccf1bjp z=aZf<>qgc$7ykz^g)ioRv4MW&{fW3r?oZ9*^)JSksb4-{?||>U*8eSi4#+i{eF{kR|(%Y zdOg2zeU-1m_sHt7Eo}Z>(6eD4%!i&&@uJ7Oe|P4|ho#kFzM0VdGk;oIoCk8&gH`w^eMqx2rEiu8Lr z_j8P1?*sV1g5ScQq3YU;`VKPoU|bNX{~gQk`MjQ39eOTh>R0{l?@r(Jo#N|q|DXo? zwJ*-kBm328S$Li|gB!uaVFi36f$wu&Z2n`&+X5bvz}{RJk7hg%R>IWskasZje(gvd zyGQ8$F8KcH_3pTm^(XaN*VSiV&mz|2{clS>-4puP4xj2*zZK{6CGD%OYhOM7BI>=` zcrW7zt&bk>aT;eDuXE-c!Mr+mpD`BI7q3TgC*v2j4)^Q2Gv*`A`r`TJdj-GhSk8D6`yxKgzK9LY=YI8hAJ)??!lTfK{ua*1 zMCkbn@Hs2db*@fj9eL!*Z(zPbl-=$jo6PKP<=QjQvX)?_Q=p* zjL&&FdM@**Z@zx{{QlP1{m-#Z<<&YajjZS62KsLx&rJ9@{0V7vu4_f>;t@n+UtUsyGx~@L^dd^^8@BgFd zOA`9`3_jJbek;!BOWIdm*S>muC+6G3cqrpu)T?vg@gApfrtvyw&gRTJ5uR&QU%Vd0 zZHQmgI^3`8&X_-ob1!bpc(cg;a47ou@J;w0tZEeQqo1JHr#R=U#EYJHE%J%`GA@PB z7*)q=tAu)-ozca87>oIgOW<9`7a9Lu>)ZSvTHm#{F0FGG`ZF+Tz1lbJ$3xVwzGsog z`|JHvp4k2?&lcqK_>Ro0^P&CII^8edQN)P_jK$H6#nTwacmdb*sdFMc1)d4dfvVH% zi{*FyeC9ifeE-yZUT+2Si|;YsvvIf&#qNyrVUckPWAQe|;-idx{!f{&4cC>wf5g8n zy6P%sta&}Ze5zl*8Ik~e?V~i&;{=3%q=0CK)Lu_4I=TP)9FloKoH|57t%MK5AC1U>3;c|l26QHEN;eF+>UXKdvjgqD2G073wMA! zL)Gc^#qztpC-XHW-#;~<*IUf|;xxufjmsIQnuhx<+t``0cobvtc*Z{e<>Z}b`CCN% z?^|8DHm~Q`I#j>v>mJEpgf5=S_>74EUi77Kr)Hr)d%(Qa!?-W}Lwy#nJlhj5dfwq& z7jIykVxD$J)iD^|IRjn1p0QZQxEijtMp&1)4dcISeP{ne>-#OTzBa6{9ZXuU_D%b- zK6%ymBF5fd@1OF-_Fs9Jq; zNAMGndVuzIb~ht-=0{-HjLSDp{i zMbEntdBwvRm%-PKs-qQkIJ={ZhcXrm7?;Awjqfu4yVkeUKeWEPZCzUDJoMLL(t5RT z+K;)^ufAuK$NTI3Q=ZuVE6>j4^Z31(SLZ|fr**ntz9GbkMU2HW7>gG$j`2FK7f|OE zcs{%sUItaC*B8t0`Zdfqgna+hd|q!A^NU|H?y+`w9*BJy7rOKRV*y6J2$cFxI@DUq00@-^@t<570k?pBg=X);gh2t>Gqcd)U2YxZVf81S_HE zQ@ohu@60?W81G`7n-%8IgB7p}{z4ti)(t+d$Mb4@2Khao$IEv`q#pNwfbTn4Mx75q z_sh2o|IctWi<`~(38=a~pW@o!JK0#mcm~X)Z(>qDk9U6$@(zZ(us=FSTQQ&L@!HqV zi2pjm73j;!*KED|_rF<-pgW7vb*>+x&T{fqK(Ej9XuKBr+`l!t_-sOc`Mkc1BKO;! z^&3yo~Q7^RFNAXEU!;`>K5u%UGZK=>1S0#V7f-FM5t>U#cSeb11szH z);FSo{+{G<_D8RR-xyb2zy9-CgzpyP?To#Dn~=wui(UqwGA>~3`8uPIFpiG+tI%Wo zgzH^fh4tpc0k9~-Y3SlLj7#B-a3*}-IH7g@{ar>q8{w~j)i6a|HtY!h|C(he?0t&mQ+$%Yn0|{>89!$1-X`p?IE}Gb!Z^lpy?j*gCW>twS7=P+y;f`n+z{DXLB}R_{&Jdk4H9J{(zxugClAb;ZW2vl)Gi z)t6L{pGVb~MSmyI$7`YH+bptwiqk&D>UUl9cs{PKTC z+%otpbidYpoXw;2sCjg*V(~pJzN6LoF=LM(Pn_;^&8t4SKbL)sabK>VXRKx{uC-yf zpJP0f>te@^fZ4 zy4ZBn;1_RW?E9g9?@xbw7~QYyh4@OTvkbbw7@zOwRp`0Yoe#@kIrMy<$H(q(X#R%! z_ikYQT6Y=i*Llq6JbC?3({zRu>L9ZZAPSj z7phNCeOBCZo+CQvzW!@1KFQyRI$A?LuX7{MEBW-kkWbHdugBjb8kaHO!%**)*!$sR z>Nx}IJ>l;K-RC9jQ|x_k4cBjkWiVEMQoXVIV)d--{OZp!^g-)WKCfSW)q7ff6V*R| zkE(zEzSMIw_P+G_Jpan(dzo{hd~dLR&nfTkY@T1=>V1+O zzAIY7Y`BNrWzIpgwg!3)l z{Z(9FpM2s5k^D2zomZh>4_`Na&bS)3Y8TcK<5pbvdNr@lcPn|_FFmQArjdF)pXbr| zV_V-Uk@`EMJ9kIl2aYkG$G8MOoWSR~?)7V4pRZfQFFmQA+amS&{GLbSvx(RGZj97Z ziSB$C{X^KYJ610wbK{GLbS&576g_KVa%5#4zb z`swg~;|q){;IafZ-8}T)>({(K-(>Q+UwTqKpGE5Ne4a<+XNlMPK8n=ShIKjHqHhWh zHx6T51TRnEZCv;IHLuUNWyCK%sh)Eq_4xdrN8>@nYkg-%>M28i3_b~Swg~6Nxh?u$ zusa-JoWb}?IMXIq)7aF=&E}LWGPd0wdcU~lZb9B``lkx0`|7Y|Vf9HDlt?36WfJG5bMi*~nTn1k<{>a$- z5vxnO>T5=PD`Qf9KHo;f?*Mm!yF>TKe6fCI8Xuca{S>{A8dpc^-D8`ukIsG2y}t42 zF~kuh@Bi`W zGZOkY2A}FzzZK{6CGD%OYhOKn5&i$txPoyL>eV^$c#qRK(|DaT=M(fn=WbW(5Y-p2 zM{zF^FKQj`*L7#i{|t4!0IOiz9m9Px174lLo4GD7VEhhTf2WWy#&%p6w_>~mE{79$ z4tYL+zWyJn|Mv*p-<10P>h=CY-iFqn)Ms5+pM5>IGq3mmBlPlw{(XT@^{d~C^Z8=? z>ALpSh*Z}9+BVH>;47!-howcIm}@ldC=qA>>Ady9n7P??$G_y@LdA0gx49rWZb25 z$lne2fMZ}4`z8L}^Lc*N*@SuusHZq`o~v0`rhfT0CVw7zHILV`I=)Q(>f?0cE{0db z{n_`4a3<%t4Bn6z_D3vZ`~dX&PA2cl&X;Na)2#mPk@Kr{K8U}Fbxna@e<{99{ql*A z6aPAF!+z$%cX%#{K7UfY`!!G2ZegGF+&h`)LNPoWo(Io|7sDB_lsd&C_PH3UZqe&` zk9Gf5^~Cajz&u*-Sn79wd-~$s3f=t$=rP9p!-zWxo)yVoi0*#HdH!kmlXyvFKIxZp z{T22%iBNz6%dah-j*nIAP2LG$@b@(x?Vn4Jm4^ywWr|owW-YZSvT2S9j4>K-@LwT?0 zJ+n;jN&5L6{4vtsml{}qL+kZ^`FzT^KYh@8*JphmufDFJZhiNw&+4n_@t+eHi+8`i z<0r6>r$u<7?mPON73ufA`2O>Ihn-KKznt^pd;#74Rp`s0zB^__zCYHX@9m*{`Y!YQ zIrz4L+d=K4`^R&=3>L6nz327Z5ogi2q~}oV{!NzmIxi_!hx8QcgS4lCdr34EXHV)HH` zZwq)x0()~^Jeu)5SP4^IL*BvA*S{lm>>i=}yWsn)*Sq6N)}Pd8U00udJ&Rb6_rERm zbWiACJAA5N{Z^dMm$a|Cu6_0Ri>UW%O}EVIgdDNVwh>ZUMJ~qkD$yV`0nuFkTOO{i@g5 zN%dR39xvYk^4ogdUx;rQEP_+uEY?{8J$@#>Ct(HkRjN)4*sxnze|xw!+|GD1;|ll& zdbsyp(#X?OeOR7+JUW3A5mOa09pzYzK3oo{M6Nea?caTl9K{QpaCa zPb~ilw%*3n@BRnyIUiBH1yrNQX!ewRKM}VE&*OFVT(*E8@VQ@cW>0NMo+P%9%qM+I zt{=zqG>Nh2ZKnAe8Xxm-Pu&MW-A8&(dcSsRpkH~N$B}0V{c@%v&zsT2oePV(?@OT9 zdjq~Xa2K8r-QdA6ANGaELC^OPd7iX>(X;h&kb=Z zeG-evE9yBS`g%GtPi#K-ACA8t9013`BKAT1(vAHUU$*_el=`oL*Fb$Yb>qF650^u| zXC|}W5_l&2aBgHjj&5N64XxMv|-9RRvoNc&mFNl=QQa#6uWg!hI)pOnbGaKl?hKu5y$7!5tyv~{PH|E#5n?N0+`r`E{ZcY56 z*5Q6#cgFm~jtKX|Bv=N^q355D?!3|BDj0v?E94hj9T~=AEPpJY`!&zo%=bZr-=LTD z4)d2n&$k?(vxs%%Q2#lw4|$3jnC~~{@%h^_k9cfCe)+t<{?zCBCzJmkeFWX-_j#4isr<2c)tfY*d|H?CI<*e%V{xSZSiV0SuX=pF+6SlZ zC->jQereyd56?!{^GXB#uaTz`E`{xm;=Y16CGak;iwhYqf*bb<`C{CX>tYASGvG{E z0e9&e@_D}+Gv68!x_@1KfAxABuVnp6eb#mL+1GO)>+$}7f!>C`#rpRhKGm;&E6(SO z?WgP7SC8+{d?y%BXMDEx(c?W%<4ogq&YXKOug={gj79au>rvdn_(iS5{kraq`EO_c zX2WXT2mh-7ewfd7=SLQoMf^@jhdg3$#-i7+ys>=l*F3G6Z<7eON3S?0)KdjLUuS&I zGW4O;KNrp*Pgw)=?L|JH|6l0hwF&v<^ZIU}KF|Lg`M)+c!QTwFfSWV_fyRl9Cqwl? zef<&L=l6L%ug1zBi&wo#^U0@mDX&xO&_0$&>W}67v+=6O*QV9(nQrkD}Lz83c zzn|A;o!aLle+%-of!o3XunI0t;8L!O8y^?y+YBC?z`PheaLm%yxkA@7OM`_+Xy z4vNtIN8tOb*V|rd*luB*?!o^M%?_kSDe>66gE9q_4s^;>a1U(&wny7txMZ=l{g zjZZOt*81r29;b1p@j7SDQ<+!i?nlO=`r`E{ZW?}3>u|rWJ7fOO*}tD)Zb7&o@}TE$ zj_zz{arunL^$+>P%NdKY{IPuQ*E~lt-*FL+LeCl)>dA(lZz4WtHTq2IUv)spQwghK zruj}KpZl*u7Z)bvm(S~4M4g_0HT3O_T^V95c0c{Nsk zuV3-1H)%fkv@Yd!Y90UC$4LFLe1A4x_4s0kGe`#F7xC!;@9C*CPX`E@i z&YANG`k-^SD|LwKi`S#Lmxvd&4)^Q2Gv=?Rjy(s5`$8;d-1+#RC$Ss8B{1uR5Z7&Z z;K9bRj8BDULtoD?R-f|!#ysv%s#Dih?>`kEn@@dSYe?vm*oU#=y0hNm2uso5h3b>` zA&>p=^}fVDYhL-ci1@vpbD1wTzt5+2-OT#L<&4Gbp`jmrY`uGOPIRvP9Qk|$Z64(t zL0wI&SI=S7Df8g!Q$jUGU8X>jfREwibEM^QK!yrDS2KoRz~vAp`Ip|Z;QzK zHSf###U+fz-x+J)=aEm;Ih;aWs#|rg#y*PLSKp7Z%=4hl_fVvM)#p^bUXSJ%eSYPM z#k*hUB8jTQADK@+U&ln&66@ zkVn*gA&#M6&f6mUAzgh|A1{im?|JfM>c4?JGvVX#J6JS2oa3Tcp9o9gYGZ@${eOeH-;L1yi~pwezOj<^C-qs^)n{MN8O-bbe-wR5LjRt@ zr~1`z#rb?m`>N~OSC8++e0vxVW!#H;bq+k<<224RUgyl&oOyNb&SfmBFJ6!0HpDM# z9q!k4XUxAj=ROB+YxMjFbNz7G7ak7_CWZT`2rh=z(DNx?O!7}EwSVwi6^^!(4_ zdmeT?Dfmm^+*88%O_&saa0BCiXWmW5g?VD!n(JlcFNa=FEZ%kH^Z1>Z=MdQaFdLVs!ry{8t+*8PA&#=34^KXWqHS>PS7F_ep%uSbV1WV)3#0WBz#w_1??+D{cMW zKl$cZzZBTDN#y=ezNQKJl-KJ~9qouuVngHI zul!pvUoPAYX6jd*`}ZYJ5)X{bC%p&P*QW1D%#Q3&ruiBgAM+nW-D6-W&oMpMykGL2 zhW{a+<8Q*wyf^Y-Z>aaoPkK&r{~bsl^5J)|`KjUDC(Zw;&7W!fiPW$7CnN78t7J^2hn|grxD}nkB(7wBW623Fd|4wAR%6lvRZ1zXrA)a5pd-2~7_1<*9-lN~*`yMu%SpRvK zz7E%0MYt8Z?(^Kp`f~9(XQJyna6b2~zPn0w-`avakH$NZ&+Mtg(8Wv18_O@B*LOSh zdHy%Z-<<0$U|Xo?%(3)mjBy-ey+=L&PnO^Fxj$Bio|BpSRlobSPyhK2*LO{1|MlId z?>O&+=Rc8rnfg0AilqPy+^EM{Yib+b@kcT(};P!|GT3PP3Yf#_*B38tvH`A zX0?52(OtE z;>EvuexEPX{9oJpv`*z)H`4F*=+hRk`0TL066o{y#CNLkR>q1ejl_GL#+PImuX!HF zuX)NM^L>l2*%@J7VoSys!)u_gSMj3aMa7FAzcG1}m=l?QTlD?mHSBX4^!Yk9(679Q z5+@$R*z*^nYrO@Wt5K2jrM{LCH}TxC55;f<_tQDB*LmUkG0^8%zU#@S_#)!nuX&%t zuX)9DsN-U&dBvoB9`FA7%=@}=G2?;Mt#zmmQ_!cuizDlc<=1=-&G#F1IUAiB_QluN z8odMTL!C!Q>dnI!qvw~eD{)7{<6x$K#kqeld6GCXGN1I(TwjfKCowzHpG@;LG(P4Z zPu&;5dECd9k^A|i2KwK?--PGYr`*>+8h?x2?_U%D3sn4<5x?eX!+aC)ogeY@{PrR64Z0t&*Q^fcfN+M_gp#eyIc8A5o7sc@$Q$;sqZMw^Hq^U-&sZ_a(uhr$tXR)jC2$JXQZC)MlqCDoHO{{r?;eY=A`sV{p*`l0nc z9$8-&=U@Z45!?Zehx)F2i*Xgqr;a}GcjHq$2lQMR%X?Dq@rS7UQMmck@SfNj=E41; z?~m8(^|)Vke@6XZN4NrAbv;jgo-c>>={x2ve2XIfPw>a+`PZUf-C+-SB>bLv8nM5A zA9O|6cai7c!SZ`P_s8nczGmuI{qEOy)N<<5bMgMj`Mn=srhfUHjUxNCCA#i2eMjl{ zx7d4V?Z|me%IEz!j68kdaCjrko)+$x_6gjU>*BGD`@?G!cq`Y%I~lh*Kg^#4^WnqL z*K-ziPmR$1m;6oZJ!>WFPwKO-tIxikPR#55KOTKXLjT6#Q~m0<;(WfOebsgCtH&>* z|6dwcFm6Jwe`Ndrs?*Y$)Sr>BuCa@FN#oZXkxF6TWn;6G<7uUsE zjAMM7>tY4t>I|7G3F{WSYitLg34LBOLbIpV!}tI7{+`YL_Mso88TLi}Q(webf0E9v zuIt=-zhdXtb)936Uz2tE`91(Wn|+Pde=NROzkELRa~l0DftNw|tDi|!pFKW@yh+r3 z>G84q)Ada6Q{BJ1Pcxk_DSuKvkB|AKKS1AN&kxu29P#yJny;bpF~6Q0`|%t(08WEm z-*ogBUed2|28`0j*d4UE6S;vZVc_^XIh{4B;^uijJ6+qiFaUmwMNE{=#i&+j6x z0xp25$o+et`9H|e{~$j37b(sbcrJBLgC$0@ryl3}9QY!953YK7c&}x_;w!?q1bRNj ziyrU(kC|uli$Y%UD8?n12E7!PTo%SbRGB`f#7x2ct0MVNL3h96JpYaO zlXypDKIwOJ{YmyCi4~FOXQufY8XxmNOx>@-Eb7XQ)c05e{mSe7iae^zxsdrkf?r4K zY0mR)GuWB;R6g|m?uKtD{DJ5CsyBx7y(Y|p8^BGV=ld6V23o$~BJT^$dm8?)OT)as zK+pdWzL($()-?~7&=+xUp40j8De4d#n&17Z<74Wnrj9JDL-l+?9b(0GVZEZ~uOM$M zzx(A|L7e)cx>Sd#Iz-hWdj8MJ8_Vy0`P%UQE2cl%H`O7k4pDW8p1%osWBJ{`CH{S2 zJL=JWax42L{-pOj@6Dt54l00y*}u{7Q&L`MGZi>x#P9{A^b0W{vr1`u))#cB<66(G1>QJxP(0KRjyK-;tk1p^) zIE495h85g53t%yQD}}eRUuDqeYe(L{YQ9+hZLI#|so(utX90e#Q~lMs&^kT7p?-b8 z-^zSN>Lc|0PvUzW>ba#j_sjPd{&(SG=>8U0h4Zu>+}Y^<4YudzPyEv?rAenoG>c^0!7m+)S=B=UZE z0$+?aU1~A@9Gz40Y94*(wdA{O7uY%Sy|_AgHjU)-`9H*`=k%xK)pxG@S2WPSfajK2 z$@qQf`D4D1BmO1mEqETDLH$=p`lIuD2Isa5zJEphGx7Zb9mv=B4tc(d za(t^&%T}(%2z_Eg{|?8e`qgj6`Fu(Hs_WWU zkAIr}zhwN7@yFIjkM}r@GmY0db6(55I(MzTp zu!Yg{pU(9g;7vyNpLuyuE`|5PW>>f~jE_g(d`1}O!Q)`gl|g?VdX{O#UkqPO$d?rV zUIXJ*m$Ncbuk;_ee(zPGq6+BsZEYhsJa`j)0zL!h!TIn*IQhYl?|gU>yb1dJ zK9BPJNWNCrgotj?pQ`H zU^lq3^W90j&${!CK`Ahv#n}D1PX|Tsr~FA_oOe=PetL2ki``BMV{txXvG=Lry7<~@ zVJx;eJ&eU$io;mk_JS}LCo&e>m4xeJ31jiYi^6rW!^L4NmNOR5zARi9k1G#j@p#5T z&HVpuoNAQn96kl=1T{{rk}9ZIZ=BMfoc=eUajHowf4%=z!vAiZS~d0ZX7%Z-rMkDT zPj8xeE}NN=MhHxA{ZuHA3Um1`)k&MBgx?Zxqotj_8|2^iBVuH%co_Qs1ud3+tqX zRZ?rF^o-db!;$F4PX|F2*F1`A{H3O+Z=qVf9DQB#Y=T~8`X1=1XM(X6{yym0=$oOB zLC;6mPRu|rLeInhPFio2YMm-LDePl2^bJ=Db(UHFn)|2J+X%e1X#-U{@Cf}GkGJ^R@pbU;5CJs-Vh{WU*B z(5vT$u};hx=vmJNJv$(EDS9q?SM+<(i_r(5KaZYzJ_zYMs`h6gx}GQ1=+)@i__sj+ zMSk>~(Kl!k`jDCz1eTZD4!r_>1pXrQycdG-8v0b}yc=(&KUbq?zZi^z(7!`3c`4}6 zlIO@(Lp=pA2Vn~O)#%me2a%@=UGLrk{MG1s2cL_+`f4G+-o@vkw@24I`DF6%lGYog z{`FS7n1*O^fL5M(4R*yeYLK?3O%bL=mYUrqw8DY0Q9C! z!@7#`FGSx0y?~860sUy$k{gwSr`UXt@sBdecSAP|B(x=u(&s`ey7PV2SRD1L`mZt;yEb^p>wLiO}XPJK= z^k$|XfS&hBn71Q&`lA;w33@jAiRdZIa~k^c%HU5AYkwxAm$R9f#_KMV7=BhM?!Z~nK?%kgL9Uy5F7{_oL?=(F~vQTo%Tc7Hz&^Q!)~=oOZy zJ$mYk;MW^^XY_gI-y6N$^aG@S6!K`l2BGJ@AM}x|YdZQY%X2w;nd#S~rxw@E|2X5%}1^Nur+oBg+{+-aPszUzbnD|UmiW&^FE;-)^is~b{8yq+H2;n0MW)}0o^N?(qi1t|wxphy(1%){ zH_;1BUx+@1{OZG(=zYxpJ$mYcy8F1%nqeOcOz(=GZ+Q+uui}2$iuw!DyPJO`dIkO0 zm+qRkFGnx3=hZ9dIp%*Gy_j>ZdDFkr)IJ~bsb9~% zEc9&4vjKXF`p=>MebL*P{~+b(Jm|ah81yXj7os;aeI$Aw&*65=dlq`i{O6i$^|ysPc<&EKuc`|3%@0Ujh@Ou=9sODPKMaDti@rlISrGKC z$lrGDP*3?=LGOva7rOqoq33)rbp4IvQ2ayCvnoTLh3HeztKSK_es3z3|J|UE4M_c4 z`O$X{?M`iw{zb0#_lWm{@p|&_iC*+U&_|;8M=x6x^e@m)LoZz%^uq&Em!qdX4nh;= zeH=aO)1c4C|2BFRdKLQb=;faUp$qzcS)u-{C3W?i&&%l~Cv|5W)+zfJz7!G8z&=b~4c{t0@?SHXBK z{uRpebr2p$UpxJRt65hydS~{r9eQqcFg}8RKl#z`LO%h$^xGi3NS<@ii~b$-EIyPk zK`&kw^i|OBKri_z=vxP*=Af6OZ%h8K(W`$B#)Hu}NZ$xG>&p8z=%dKLFM1h&$=D44 zG3Zt4r%la|&f&@OHwyYsoZCyJHwn7#m)Yp~s|9^s=6w&nX!W2^2}pf|o?0^qM}=}z zYo-4VSW|xi`b+q?L(gp7`VRs%>&@CY=%=h2 z^6!jZ(k|$ef}A>7{`NutF(6fduD=0ahW|wQw+O~tssB9m@|>X0OaDG!^HYUh(y^|- zOZpE@wfnL|(D__QosXWkbI|9ff4{BGgPyf#UH{JM4~d#Q)qB_VPeCu=Kj_!374p1= zUT}C_y?y$Fp(anNU(nZ}{{7Ii1_u3>^mlyCPceG=@SyKP|6f<0Q9-|#JR5Eh@|TSb z`cCZ2ap=_(gFZK;Pu+xGJ}Kz;1f-Ut7x4#)L+O8R`WL90`pZuX#_{MA(DTj=`tS7f z@w8s^ce8x^d&L6u?xrtQp7TPUUs=~q=|4!;%$s*X(C=d2Q_-t03i>Glsb|rPE(yYH z^0e3}pApexT2=%w%1&2ue!F&|bne-Ews`3$|fD)`r6Uvk^A-cN)6D0QBQUcNNw zyKvu?%fBq>gW0d+ciIrlIOj&UUOgM+4*0NzhaeO z;v2((It~S(Z8!y=1eXUyJ_=^xSrJ^(yoV)3;842-VbI z)V{8N40_h)b@j*4%h36ZNUgd}$Wy*W@JsKBUa@6eeFl2fR(17{(5rKT-ZUK3RBnfm zKebKJyXd|^&(96I&i_;B-xVz&+A*)zu$HtPu8(@{WH*u`_=V-j-EfTu79uXL!R=& zpwFdm=c1Pk4|*e>xAW0Ui|XcCKbLyO27T={LO+j1&px%Te`snmz)Rs4Id^yRgB`riTh z_qgoqdV%RLqvx5v+3q1vw&@em zQ>H(KUNxd_{j2X0@|2t23%%6zYtV~L{}jEz^d0vM`SVOa6FuAXm(f$Ex85t{sTy9l z{=w+wraz8eYI^g%L!M&O3(*Tqe-b^<^iB2&d9qC(f}S${LG-E<>ejzTUdU5!`T+D& z)9*tsHoeil zq<^ER{n-P(g1>L`IgmOOJ?rD(PygCp`*S>c6@SN0|JqXfa{+n^JsbT&^zu(bo-Fj2 z(JRQ`68%&3YW_Wo*IjA_de%oFPx?(z`?E=xu-+>EokjI@MbGEo>C%55sr@NH&*Sgp z>0h5~f6h=I{(UeT{dV*c=2ah_L$4-}>iGn{%+~vx{M559`P+02_2=;ikIm5cMK9(3 zn}a?az0CSH8NI^t-+*5AZs^+~ zUbnE`V&+wyyP=m^pL?N~*uIQZ9?prrb1pzH=iF*t51}`+b-j#UWcfc;9y_;dAHaRV z{-%Gus{QGVUS|C{3_aiSpMYL&&xg~|tJz;ZZ&MecSK9OE8uYhJzYYCO)9*)r(DWzK z%g~#!t{2fuY+pV>&*tANRp-Ca3+S_+KdW~SeOnj*YUFQ?US#=qKyPmTJoLM)&K~Ib zc3<>EFR}AE0euPgU32Q0f_@nJS4F=Jy_|nn)qQ$1`q$Rad(gY1%l{bqZ1SiNFQVsJ z{R`1^?fm?x{N!myolOr6ea-yc zGaNnF<~;?y()MLK`aFA1UWcAz^WKSmr`7)`dN%cI-(N+~TCh=sKT^(SK*Xy1%N?8(ANIM=!H=WgQ&)|C8m}82u94_ifQ< zSRXp0=h}O!H+qhp&%x-ITAnfJMLcKp+?$G?;{516em#0N>(V*AAH5V^-;K|r&)__) z$$l+BFW~*YA^I}uydTs5tWf*Ysz>Ns7Wq}r*635nuX=WuZu@>9dY(P!`=OVRU-!#s z^iynKiqWgt$JMEGI{J9?UxWUs?fdQMi%fqQy~OtG8T5&^-Z#)w-cR(Q=5KmP=x09r zuII+4=mp$g?O9iM^j}z)p8vhkr`Y{60KMA2TPC0v+4u9M=-JG>CG$RkUe0${`k!xV ze-@!vTK~UB|H10~75y92*XSAgP-^dmP0&Z$K6XT}VqMLtXFv4MEq^}x5X;lAR&SlE z;`g;|@{Fj}Tcz^&dsHs^S?E;*!kZ|&QMhm;dNI1b+vlJcpzAwxF?woH$Wu(7Ef1~f zL;Byf`3D*0?~0y>uKa`0v(c6REcEiBA%A)JtWV8N>-GJ24Hap<_V4ZGEEK$sUTXR$ z=vAiwlGbbfeL?>{2+K+}O&8p#p8sxTyR=?2Z}!u5=iR;5|HuFSC02jmTK_t!2Xn%D z|2JEG>m5?-|KoozGp<(u<9{!6YFba#^WX23)cRYcO6W=u;y4tKrjOZ&O`dYo~@7v<^Yq7rl-8ACgKCRccFI^)3 zUJ-pnL_aN}PmSo;MD#l%`XdqjxrqKwME^0OuXa@Z{cM%i>w7WF?@M4uhe--zfRNA&85{%b^U@vqS5geq%&`Afmq*(cg>c zUq|#65q+&=>+k2rX}#V5Hh}+qOZwj_TBg!}JuRwxakogG10s5_h~6)vk4oz;(tj^1 z=kF)__l4Ud{wE^(f{6ZQL~ndt{ryP|95sA+;lOdjMvWZ1-N018enpce_8V8!Z`_#v zCl-zwTiCBt?%2`8`wt&Dv~a|vew{iEoK!e*T;a&EX@AY=zrpIxG}>9_8T;8@ZfZ~HG{}GX^LxztU(0};Y`a=f}A2oLTm`LQnQG@<- zWz?8aYb@`k(P0S8dUfnx4prY|1rggvE%xWOE}vurm zxP8Zs8*{|CnvJeWdPL#y!NUv3j;#s#W1^Zf89$GMM%A;bF@;6SojYo{7#MV^*Os~3o`gg}`jKbMf z+1<5Om06uxHPgKaoqY0X(P@usu)+AW2V;CNc=1UGgLTx!Abjx27z{!PW3>8S#C!3R zmDSsoS)hUG%#3*N#fuj&UcC5wMYWmS<5Tsr7+tC{js}SuBrsHyEXH3o=&!9exy8n= z<(3~szNG1>GM=#(`Y2K7SaVd!*w4>qms3=g0pE|a!PR{?!l>3K2?)OHyYEBo)2s)@ zQ?Fcoma=IjRavAi#QgESu@$WQg_@FK=;VPl*^Q^Yn{GNDr@9q)vvhohmRsw=icKe3 zI$3)v_0p|I9n07sjPxE%KhArZhMj@EPSr6zo_nIMHZWv#DM0)?^QthbM z-Ar{n{0}}06z7Eq+u@};-`zRmZ=b@CzflG>n&c6xJ~ zy$+BGi zDH>#pYAbL~BN;BwXR|kGhg-m%Bu5rU^h`%E3~oWFdvy&MulA4V8F*stqk*D6UdO)BHo z4yk8x(%-o&0f94XoQt(Vo<(-hIgGRG*kq8JQN51uFOmUGg4BEIASof`4eiFS1|k_> zI6-xXUf%&EUWx)Jul{j_IWUWf+@unoeUSWoHW|ewKwT@w-YAZ;P*N_FJzcIfJghv< zrbs@-INzJnk_&tu=Q6{k>8aHhRwa)(%|_>lAKx!jwY5ov_VKJ|ie-*Yu10u< zd8g4JFY(27E6(%bIt%q@%x|Z&EO|Yc-keR-31&B$p3s-{7{jZrA@_*=QSW=3qJ|$Igrb9zL2+@!2(n3gE1=ET`OJixOC*aJQB0*dvmsH8F!Ijnx zQ`L5S#W<#y(j0{otYo2VycTklLWk0f0ifZti7c;x3+h`UQ&;WXK{Cj1w&PKJt(%*X z9YAMH0~aUnVGRIkk!F}=-HEz8SPv2nCJS`uH(6RbkcSYqi0O;jV1%W;Be$wSJ&Hc} zlkO&=qE?JQO!c+nL&ZTg}_^Yo}k(XzQ-ldPmgK1B!uCI#CC%-Rw?GT@9> z((2Z3!y{6a4|N5byAoM%MSZfP)Y?n+QD3^xGd)DsCDUw9(g_o}G}cz_C;j+N1`uLW zGT^@Z$(4C;wv9htoB56YAn!$4ZDBUI#51bZCQX>5m35yMdL%kxX8TWash~HHAJziH zQ>$JrJseCNE0tTmwKbdcY2CY~_O~GE0h|x9EtMH+H(^85g!zGpLA3ftZFM#_^d3NN z_KzJmQSvKk@b>csTfC%3*O!l%P+-VgPs^yP7VRf#U((h4?pM+N7en`#S{$g$&r zImPtx)m~lKTi@~(L#?LwtW)nH)vDcnHfWHi#;Q*Vwp`8Ixw@!p*>-P|#b!yo zAgoGY4nB&6i zd0QB~=yZ=QqB^&m=)|LV6-zJ8_DZHAZPd*(DofSOpJtLVs62!QgwUQVaTLg2`UatL z)mjh{O{gllE`cJEKUJBffKr`i3kZ?#Q(4>rrFAr1Weo@@X***U@2$`)ThQvBaKKZ0 zV^xIQnoi|9`K~@Y9ZP9F_gtqs zp&8ZXDkf*m=LJ&Bu;dTpEADVU>5b-!iO=tjEK}>CJMTr&B7aI{LEZ&zp?p7^sVH8sbrBcBsXcW3Gg_e`t#cj&Y>r@#3aM z^1?>rk_7yY4u`UQtFZ=6e}k_E8Ed-57McF3TpzFJ0E1>qkUPTQiALAF)A-{0rp$<{32=INj!U38Z zL?1drvn1KTxoNwpYaKG7&s&F5VUMH^sTvkEkWsiSSBs;fD_)0K$)-yka9^KD)@{j5bbuzl5RX&}IdCi8U|T{!8e;1z}pmyS`ZlW?%xQAYxs#r=*t z#I`_eC5Aqb&L!1Y zU+tFJsh>W+j5F_aqsziEE6k7u#htV^^HQ%AmsKbx$e?oOiP2#$zZ82z)Sou{Wt9OK z8Z3>WY&Hxr372pYHg8^3|k&aBsUe%xB|VJ-t(R>J6SwkY57mGg3S4b)|6HtTRn5YxD zG*tSFHZLsjBpT2~G(*K)v2vgG?!i#O?wA`EQKI7UWQyo1K9zI=8Aw1Bf_9=H(q*QA z(q(*eMIteab42C|lKeYfpbj8fat}bP5ABV*<1FM}G-uC5Tk zk7Dp$<6<3zI2~hDPLr5gp`S_^v_5XXqCd>;5c!YJ1LH8TzMEYFp{_9QpzCDOJvL*f z*?mJt>QepLcuYpy`!eUueNd%#PdkS@YUgNMADimuDNaTveF`YG{lQV^aK8%@dq)>) z=Ou%_+&)Fp`C(U(_6}aX=p3k5ySryQ=jy!k;$TN1g4qQJk)YeexH&zJrbyH=IS_FJ zuN-7;p9W3b^}g$=vwKKnY#b~OhepVUvW*Ndy4WpYvCj0av`rj*6yqJ&fDu9MOix7j z;_0pqT6V1OeRnCQLj&P0aGe)tKjGB$fp7-~olre4R<@HD=H3WOE7Nc0dB_fZp&IMhQZ zZfj$jrG=(;D7e>Y+?!=N!bi}BZ-D7KbDa(m0B$#niSHxsw8`-ZPGSeQ1Z|r6V2)50 z-}FWo1&lBX;%Etk$wLBSk>toC*~yi8eCo#WzRhiN1?q-#fV{Yeg#$+jf~8xpll0H1 z;ZSi~JTB}Eddvj{3LvtM50n|O2X#@eqYR-lhzRbogHMFo6KRng3}qw{>`@Atr06B) z6Xa~RaL@%65~Kl#=8nLk)eetW61W8OP*jg|%|kdDMMV+V66BaXzVSiPT;2y^y0FHP zOOP}p=anSOu%|e&gaZ|HVhM?RU`#w=>hwrr5kp$69D%HWKzcj`AoZ`)8G?3>c?N?J zex^BDQ-nK=;`>l4LRl1*g!3Re+XWeWKS#%yMml7ttpvCzb};bkcQD3ADvBO6w~)?^ zdCjL;*1O5xeRuC*|3z1|)>>;D47H6j)^Se<6(B7zDod4hb2UiG#lW+cVSgJG&Sa$W zwAS=m#|w2KL}g^HBB7w-N9g7(2CEnxp#sUeZZ9Bs+xgE_o=o6bOs|6MmoObj;QDKI z8YEiXGU_8vnHd6_1@Hq3&7u2H4xLj$66H0<@whjh6vd^{I{BGJVxpdsy@1n?0*o$6 zI0Ph6t&RDF+R#nzKy|c5>`W%)^NAJEw$`YfU96c`SL!ZyoS@hpm{)dhBDxT#*G$D$ zUt+YxR092bm*#HVrEnn@QS~T<0>bamkYk!I7+&dg9r zv61hq9?UpAaAa~z>9$0rwOwU}RNqO`x5-NkV2jVSL5l;;NqCT<-0glY*ekX zpN$4^c*C-6?^cM!NU?-nkz%xAP7`SkTT54pL)g#HGjcpxa0h8RoK29;2FyH+-W|km zVpkvLT-Vsl^h!^dT|=H@o?@a5J;Lib2qZ!!v&wJ*mpsN-(}fIY)04-I$ZS={hJ^6u*;SobNtEf^K#uiV}Bt?ZR;Zu3_Jg z^#DRH0DKr(=chr#S|YMg-3b1_SBe{Rk;qILog#e~UbLl50@w?(=(Lke9+O(1jz{VB%2u zMx6V)6RNI&_FWfvu38g`D7|Piea7sp&WpoIZxOKSbs*T3e6hgr>UV-0HwbQ*UppJwKHBX3EH=vdduY>n=;_5WzlZ|E;ttZc0H z?-O8}C;Fkz!N{j=yZ@n(m&K!q5cq8ZTe$|O6Mv_)M7O3r(6uau2OBlk;v1f5-t>Vh zUk1ZWP7Q{<6BZQ#0-Bv@jHush*YI!X&zdgHP`*SYCWNvFR&yv*V^@7uo zB(LG+XJ34g3jSa4i#(q(p!|BH{Qj`uQ$GEMuHb*dFY^4S-!_m`?yup$;D5~|H{QjQ zXbb-F@0bjEeoubT)Ff*f{Hh->@%Ial|9|_s$(83vR4D!l|5A=T@pD~`UwHU0zoEe! z@_cGO@mrxG|D4?D~GFAMme{EdN^XQ6m4Yr&=GUopNdtpZ{zHYY>a_ z`?P@n`A-eLJb&Icc=A`;Prm;iFTaKVq8}f3&D+Oq^DM&4w>kHr61 z;8Ocb`JXcWr;Pt@p#h!%*8lhK_#hDp{!b3f+fV+)Jby&Q@lWI?e2X6Z7DY|DM&EK0nga6KV{nUB+(ePY` P|MqVU{#k+H!e`@`Aq$cm diff --git a/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/collections.pyx b/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/collections.pyx index 86d2485..4d134cc 100644 --- a/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/collections.pyx +++ b/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/collections.pyx @@ -1,9 +1,3 @@ -# cyextension/collections.pyx -# Copyright (C) 2005-2024 the SQLAlchemy authors and contributors -# -# -# This module is part of SQLAlchemy and is released under -# the MIT License: https://www.opensource.org/licenses/mit-license.php cimport cython from cpython.long cimport PyLong_FromLongLong from cpython.set cimport PySet_Add diff --git a/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/immutabledict.cpython-312-x86_64-linux-gnu.so b/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/immutabledict.cpython-312-x86_64-linux-gnu.so index 325bf9d55e72819dd50d555c6ef63a620cec4ab7..acfee19f78bac391195e5a1f753e19523d868fd5 100755 GIT binary patch literal 811232 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

          or!pW8#pP+#|S&Xr=-! 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

          Mzm;5q0E? z8#GrZp02<`{eA3W7ol4dY2P1{LxdbM>2Nz>kf4zh(oxQ^;A z?QPvnX0!P&?}J?jn!2Hnq!s~BW1m!aV5`2ojex!TN<{bTslF1|UDB){me1ix8z7FZ zcut`vD;E}m+1K8k1I21cswNmg(9Il*V5J_!C4;4+{^*6llDZdv=OL210*Dom#?)!V zC<*H9%hA~~0=R1wT(<~&jw$xGg{-ej%Nr|YId;cNS^B`Q3~?qcz&-@<2(Tlz5hjqX z4^XGy3C;NQERi*{#o93&YSkR+Xy}ZmAqHYMR0cu9)&&foFYjr8zXfP=0ghOp851|- z)5U(Px30uq;+i#8{3X4YaAz)K)lm1)IWL+&kWkOF#3^U!3mZ52~lN9&jy zaSe!TAX)5U{ZPNcR&^_`M7lM~P^CwcV2xyTK%s}YkgXaSP(W!9w074bG&Pq5BP8n- z>sj0)mKW;*3mt}4U))BKGgJ4X}Gv$$8xmpE5Y zxVmBD&o!)phG0MWjrgR&ncZ?DpC5_h^Z zlT!^Yt213H>$I<{a?6F<)>ZlChUjH^Z)inbwf$aqT3t1-QtG(6YS4Wl@~*n?A<{Ry zU*8i(RIX3R$OogX>Z%zJ=~^v+NaOylJp2M_+CBE{PHOcSJHF~(<8DIs)Qq*DMNgD$ zR#)w)9q(9I71YVX-Rvp1NnLgHY3KUWa_Q+ItjB`qv$wvb2EP~`@RpkL;&~c0`n8vj zy`=`e?zDMJje8vw>VP+*IJdtM+VGZI`DTdZMQ^$T-%?}VHupYr;{}XwmF~>3Oep$SZ5j4sygN zdwjQsN#6k{d6HMcgP}3Rlvh`tP)Dff5z{lvua2AC8v6O%5q>qs=Qj1L**=gmYkcto zJ~$<<27Vdsx2F1Kh2Jjn%f|2HEsNiv535ierCze$mp5;HmhXIuW{drFDSC*e1XV{P zxG|`D8O$~aa?vhOcs$>+B`@(?8mDUPlm^Lg!fUiIyRCH3)}JF+Y%2g4*5Vv_huY!wx*# zQ}^@cl22vG*7?zca;t9sXXUmCwX=^=*2s(JoxtoR?k$ebNU&F=!_%BAY&Ve1Vz`ePRVZHPkK7ottQMMYp}0?U>TUrTbjChiTs}iw;_Qg&ODSsiT-Bs94Vth*)Tp?HRQqD zgU0tBS4UXGNBqIuusUwV3d3q{z-bd!V{8j69cOK;OIRHWMiA^BA98ZgUF%pU9p3iP zZ*H`g&!KJ6YUYLK;}Y&2o)GTCo<|b#_a@~3opYvo{WHd1oXzmW8xg3lqSw6vVwmUO*M#-_gPqtJoCuE=I@ z>#&;RV>8(1>ngZgTGnw#b+Axc3ZfxMNcXTcI4u3bw{KwG7|5s1kSRKD$C+| z!}>^mcB=}-^Xy;YCa-hjTfuOzFd7T`8&-RI<2i2H=xZzpEV8k-rTks~AhCRSU<`5jb$%=T-H z)5w5H?6`mfNq)9|TNVY}AvUNxH^)}__TM%IWpL0z=wMbb759c92#?}xSz`V?pHXI; zU)9hT*dB&G6U3t7qCjK0p^uGm-U#Y9=6MTf#sOa%2^;xC+{0n}EcD9=zdgl|S%TOJ zzZ|&pP`aLn4(dWFX)TVZa_h-^$%xE~s8*htOsU1b)b0^g;J4;rmB(+ka@88kLQz4Z zKzwpoEelw=|A)Qz0FScR;)mx=vdLz%o844Gbwd*i5)>GRHu>k51xoWw8l1;Dw|m$^LEEKdpH?t^u>5(j;SKTwfs`UHHC`9a_)1oCYlh-XZp z!BdhN#CiOosljcjW-9grQk`#81DjHv-%vXK= z#pNLQ!r31l9AV2`OFg~!)kK4L^otX52!w_}A9!-WGuPuEn`plF1m8ye_25V|CI*52 ziOxrf-WiF`oJ8-kL}$@~&MaEyccCf!5fXlM>Mg@{98NJZMkVIpc}C(~6v@-c>3ANLj0L%|$zC|FjeY@aS90bC zA06<3;{sn0_-3DXr_b5%^F5d1yp+;lVv6%&jXr8vrjzLW}max8uG#W`%bII<39_Q}H|@umwqaE0~Gr-N76%PDx+xz%n>H2noMt z2Lbi1a~6=xssq|*sA(>TviTu>Sp_&g403#gBu9G|!G z;Jtjb(I*5un0&0bq8&Nn{*U6P`^}cbADpRJV)yyWu~*{@;`uAzlgMJ^KlTvL@?K?b z!77&1HCHO$ew>p!&QRO%W?b+?ToxOLeZoC)fn`Z%eS8pKlbN0rtV%N5l6(Wa&fcWV z!PTcQqT%9 zeDiP<7ag(uF(I%a8I2RxV6hG7!-d;sGb{r)9@U+eftNiNAQxx(o+W5uN*Tsn z`_e;r&-BF%4D0p}?(TG}=Y7X-8vg{gULJ2TbjstcOu_e3P)z2F#QJcYo#dZ~F}e5r z$$nHPj3H*?yrd6zQh4y9+0#Buu$TIRKl|_=m1nmP-}3U$N^usZ1UCAeZ&Oahg1!GT zJg)Q~bk>jNBK4Z#g}k$9G&D9Y?FXE%j>D@3cq^|y;9ug~p_57QPfIZ62@PJrnd*eV zjs$0Kf)~%d)cNYVPS!nMjOQPE8vge=xOWSe%~od?&6QgiEMMXm!j%0LhkCt1&N)HasFg-JZa4pU7y_exk$nbrV;mptQeVyTam2vXHX^?gi z8yv`!yw{usaSKw+n)va^n?Xq-Xzbfb%MsX<$@JVWxi^a7)s#Fu&xy_vQ76q#>~Zh( z1r~^HA_*C321{b_jaPn*zDKPTSc!!=2-IvboGsTgU{k;guX zM*$j>xE@h`%^$$?DF0iC(&vGec>X;Q^-AGI?z{ZGRJPD7u!)E7c)G&QCEXunyOvL7;S z`WoZtC%vv57?yxp)<8Tz7azgAZF786ApNS(>Zcyyc}4-A^OJU$IC{;j9S(u6a>_dUJy`?M#B#}^ZW@28kOiNOys zf=LRFNin6~6tws6dQpeJ^aktXMBF_dcW$+#Ay3{UsDXL7yI6bMjqiezw?h-+YstHpFkn`$7Y8p<7CQ zT(B_VpnQD>Z%zlQ+M*H5+0oWidD3>a#WyHI-?lZ|ld_hz#Yiq^MO$3uleM(1dD%A? z<^CP^$=aH}p}KFjHM<%H=D}|`t)#6P6R!JuThp&`Mz7Ox4E7hy4EmoM9C*4Jdg_}< z!Hm;_-?udjPeW(%{b|8TZOt#I1t&o8X~FSr&5Lczz!KG?w3p&@#(7O2Zx$|xeZz}E z731GHKD;f_Cq5HzK)fD*lHfNRybg4LQ#ct0WAJeL_9nvI>kob6d=PGFIeDBqcGd?ab{@a2Tn(8Ps8RkHlGr_`vdsU(hu0Pv3Q;Fj(1`L4)%Dlr@bLQ zh%M;f;~%na-ms^wX-0d*bnf!;5b_B3(2t`9WA6u!gB5$Mcw;@ix@AN>4)RkT=S+!v zC9dUme4Z(e&UoM){AZ2KM+vm@{E?^Ir}!9CVh=nIPx60{XRr6&M&`w2&!9$TTJjOE zHZs2@=g(_|v3a1lky+*Q?rUf^_-@98DkXnTBfO6m*wYXTG~V3}%``t^JU)>BBtG>N z2<&QTN>jbR;dD_d#%ON_uV2szpPC75Z)k>xyuUUy!|;AYLtHrGS=cnH6Sy8cLVc!R^Zi!W_Fghe?zk{>vyy;b8?PSgF^O4L z_m&+E%%pmO=isxRw>Ny&BcJvCi226)enj;5`hLW#R|8DTUuxh-T!u8j`p38iegrwQ zfgd4!(E!cd+6I0|s%#Y4(#YA|sOf<`9lR&r*%5EXdeOvsGy8Wiv%POXoqh@gMzzN` ziZOyW{X%IQBW75r9948x#-)Ao@hX4bwsv@PIekh#4w+;P%QyS#UyPFc@yOHAH$%I0bkmU?%(P?tOWT|M#{_4#H(QSNAU)fUO?f9`_8&{{?2pOw zy%jMV@;t*MW>Rb4n-Sb-=NS|+zaH=3m2Y~U5cs3LDLLVEbQULgUk2j|UPS)a6DT2b zPxAJUn2M9|uB4fLn)ihWYBgRaF#}KcJ{K{ir$2zLh%@|O;~eN2Sa=?LhJRANS#_po zR=!z#Cdz5YnSSJ9&$EKRMNEHsiE{W^L1ggQvz~#Bk0XKk5$E@a@AY=hkL`TFv~zxI z=k1yAjLP?o%XjAFdl%*4vG_JOJGomuUD744nn z?Y*noI~&@2x3_m*>EIjM!FjvG5#X8IA%q6MgLhR2IogK$hdq~v@eZPS#z`HCBOOjx z^saG!0Da>;m{)C!OMfBW=@oyVDpH%^tv>Hz*9zUw%?-ZRx%~ZvP!$G63Epqh@lh<# zG+gEwNWo>5>r?BDPdCLuDD2C@;2UY?wNUVtH1mDPvms=D4f#vboQdgyuhX4b=_8yy zna;Y5$1o_!4D8IT5%=c#-evd*rFU|i>4=>se1g@3{i8u~{_%0R=o(|eZ{obGt51?e z+p~k;H#%_Eh2|t~b2iL{F7`s{t{esFQU8sx9*kDT@y$=h_f>9Llx(KP?MG|-adH62 z++?iOM)^|P`oQ?0XSib?#nO}YdvsSEWf<#tZ~%L=b2OfZ#HC`HYkHgq+i#!7wH3do z`p_rb>p{Et(AA9L5EQ~);DmanQ@9w8#AUpij{7DS0e&+f6PY?TVHBETyf|5&hF4#v zKwV2y==uGWL8#ZWLtb1FxiFNnG0m(9VQx=xLisl@^x`$SF5ThN3E`cf_0Af&EsPHU zwXXqeps5(IbVbu4-^=uVg4@yYVmyf=y+}0|;2zok^u&iXoa>_)%`tEB-(&9e;(YBR z)mpTF@CbUNdzF(usTpoc4ZPkAr&v+pO5%OJn&B>&vJyoUQ^Q}Bjs5fe980xsmKoOZi4$2yk(7XAK^SCXjuKw;KsNa zFLMhHz%~dBYHW5k2z-=lW;XP^pKI1N%o><$`ZmgZGS>`mR1W^1j>zfJ#Jms=_G@BB zg@a!;F;l|nUo1f>kQ5fENbHPXdHOCvD2$bdpz%L;$79unb|Z@(bO5$ z%r~x?^J%j>K)z{KomD6!ykYUH^98=S(i8=fHoB>q8w}uiY49Ut%CqTNeVgJ+ic&n! z$gHy-L1qR&Yhp%brM-qoWT$OvY@V+ZoYmM2u7l33e~xEHV>2};by#DwG$-}h#^%+! zX&ZCR-nyZQ%}iOn?5~hl^-?Qx@i`w9=J5KSg*Y-?KjrtZSzF&TA=m7xpSmt=#xzJ< z7&cW63E9!`QGC(3Q4o)B9O0Rsi|tO&=V3EF><6+q9QY~hJe8X~CfE5bH_)rG^M2#N zoMukXCV^L)IAfXw%9}XFO$iy-H1J7NXLHkhJb%~>6QJs~RlIk1xwo5nDESQs)0D>5 zE~LM>H(;#eg?3DFy!&vjC3^08trNm05qHundIRFTxI93V7do0Y$nh?vooCOd_$G^k zs9W95?&@6^y}km?{5x?CH_#2f9oWrx6W$>Jl<6yA|qkAg%4aa9A z9GYZOU1)B8MTz_xm;NRVf|_G%E&d3+XEZOqHBBp0fc8pg$?`+yXYl?U=h=xbCq&3%gK(lZG!#C3Qw z36uD1&?uEAdiN%p(X-@v8Fjt^UR`1nWvWp;0w@1Kh)9e7f;XLBSaEi6UrDsjs*Cqbb0Hw=FT>l?)Q7)3Z^Sv}Ab->kToL@2 z>EeCZDLM$J^uCRO(%atD&0aIndl|_A?@vyARf_YoL+8q?^|hUI8V(<0Z6^NurMR2N zlUnXGQ#~i(d5Z@dQ6DE>fX6XOOC8|7lb0YHm-{?xe9rg210j-ptXVX=>{A*W(^mu5 zJGj&hFI=^&4#}qLXwP+~Re^nOiBAC^&(FtUE&K#}j;__v2FEW>9o(B<9+y~}i0{$P z0MaYL^CoWmPw-$9d2B)w*M5iR-<{m~ z`1(U!g!rQO>c8Y1@e6jMSL5Xf^ttODoc}a$CDeZ&Sa||o0X4t)Grt}UOX`U)fGp1P z^cjgmL0Q4Ru>DXcKUab=#L}moR0?QFALpV;z+ZmW zX|@h|GWl6&79zj*1;_s_;AdWR=#7qv{hW*`i2k;I&Io5J9!9+6oI=2NFFA{l4et(c zW;$elaiEj-9{dd%82!f98?QMj1do0V%X?-MPW_BQ+=~Z0!9j>a-@$l8)szl)2E`H6 zJbdVD9YY2*f;C@9vuWasJ);)QyLXbiA&yq?SMGXU@zW@q350no;^uU zp9J&(rYg}p8DE`G3M|HF=<&5+*)o96Hso_p9*ncfocf>BMJyhi!<-S1RFMHsomHN? zKj6+2500alj{|<33!f7}Jjksf#(tO;;KqWb33w0tm}LoOP(ocik4;9}D zT>EE-AYfSbR)i6acfee3%;laz`2KoliD$szDE+mbA&$AJ8tZ6gBFvdi#vtrDC(Mg` zGu5n0#GqqEQV>X~H?2=9E@$`Sc^g)7u@mY$;#Zu1@DuWh|5mV%2;iXY!~n6+4)g>I zwF@KSogwk9MkX%lZhlUFJ8^9h7GQAV#LUai_@T%wsh{!von}q_HxSz%jp+H6MxVmx z@*_NNbT;1~fvNhJVb8?QX7TawIA3)#L)&Jo=w$Yvkx|*nY&>~02J?&;gr48D97ie>NBfvKI% zd)NBE>0(N*^US@=thgb4U{|y8hSShw-RS?Riy3p{^N7i`n*u#Mo9}K5?(Swb-xmDz zPP6Z}w9-3GzfRsooy?n^0&m}L-tUw;zms{ovwvV`XJ}{t*v`&3ojrRyJ3Vd>j=0@f z+r_`Di!<#G&*nRvpYHJddYALt9l>Y2IfM zPS5f?osw>zkGnaabqnt3=Dd2B=l#2!;dgmHy~`PYmuLE2&WgK&o9}W;@AjA8<5b=4 znONiuxW_ZJyHk0Or=-Z~UE~>CLLICjzLuOk z8EcZhjA>X}^!Y#bK`oMh_c>b+>J6iPb`#I#rj_Ro+@sjZxwVCegMPe@FZslcPtI73 zJ?&q787o0%r}?*IDRfENw{`Fq!BKPLx4^dJ*uf1@RnE`Y2uU`nPhUo$ z4`yt{&eEF4GPa|I{kSxqY%Cb^f$;EgvR{E{&3klO0; zgPfEVu=RY+@w|ciDf+zT(0MFw{b-%7UK`K1aX2W7D%ugRCgU10?@oMDDK5L3D_YlY zo|c}m|0J_EBV+W*SR|z9m$Lj%oos&24y`-c{FXfp9>%rIeE(!K`nbUGlTCT+v}aB> zW80*?cB=Wb&1wWX>ZG*!rG^r^G*Lq zXko;Rh@?)&qDy2T@MwJGUF%eAHGaeIb2c$EF&dj0@V}gH)(8B!Q01kd|Gjj4*T+8~ z9iQ-~+bk$8*tfzWM&C@&=uGo+W-G=pUBKRX3goSKup$uU`yANk&cR{eLlzh{>`(W+ zl3|{TelLLJVYdiB&v@D{Y7_PAYvh4mG{IRe8zweV@c6zH!out{CxWKPp$mNb#N8}$ zqIYV>W5|!;ULsa~5WatZTrxhP(kK2$6awtYm(uM>H{DGlQHQV&i)&U;vX1972X_gF zKEmg;;zDI~O16HrhD6h$Wn&y3jCdX}y__I6)n2B9;nL~S8KA5SJXpcIlolM`iVMCR z?~IT8mvBH{&9o7JGY{SrIvSU}U@hLeBgxs6gy{;mFO)xS`KU3HbDd|cV{WE!Kf+0z zc&uV~t0Bj&++M+);FT=TyIFX%u4OczQVk|-t+O#oJ$DEdIptl-44-EJS8<2X8&kE^WK(h&MK^gD@xRf(oDu`T;+h%Hj=mc<31!J${Y_lE&Od?P%sh^Hk4 zE6dx~d#h=GRx}*!-~q?=2$+w3jEhsP9^u9>ygK4}B_7|tC;~PZ-x$ZGEY)M{=)UPv z#AGQhTS>rn3tA|=%Mu*!!IfJVVhz*d|JozmEYtSebjWkIa~EUl5zcyCfj}oJ?~h_> z=0}vuk4ZP;%)(Uf{OUO40~&Z<>ICsx(Q0RUG@B@{z|qVvP4Iu|!4)k~VNPRxTri8H zeDPUd(ShF+aKI%Y4UdZwqUQssjC(;wuekKL=q)pVkmZk_eZ=*R7u~?|qaBJW$1{p9 zQ6day;@WI-vaz*|^)$NMEbdKktc(u<*^m&z1qPEno=OisLw7MY&=Ngc5}lI7$3-RJ zA8SEw4QQ4daQTo+7=dJ5$ZyH4?49xk?%Pusxd+v9-1%$iy%AjiOf*dDj`61Zd-O&lrkljmDjD6{HJ(SAr>33ena~WhA_+}~ z;rOV>v&G|l;W-eSsEo5s7knq)w-}$riaYab9Da&>6=n2wf(Oq_Jg4H)^3jPtJnu-# z#Yu|+UTPn=`C0)Po05ZrdGm4LP~unzClxSK|1@q4pzZNZ@jNggY~$ZyZG5k|&6&6o zZ$SLIOtaDVDq_|n=-Z2Hw}Js6JAxiK?+%iR>`%K9-<$s~oz!nkW)fT{W%kB1(tO*A zZJx*BsDxl~9fLbszRbpFonD33P4LzQzA`y;DQ=@oiQk7~0sbJ6H$pj!v(4Caa$S&) z9hkQ>{CNB+!{4KhDbI?4{rT)PAS1KGc%Geoi;ZtXy#9xlDn0lCZTD1SO88~{3_Sl_ zeN*Scn!Z*U@@@6&=i>zY;RUOaDzUU0uLqcxsi&!qg=nsp34 zXJd5Uqs}-IF}-e6@NcZ^!E;qz4BsiA^3CVSmCxhr?@Tvq<7cBwd_OrK&tp=2uVt8C z{s5l)`+tYP=TcWXuxtv_xO_`!Jz18g7eWllNyF9FSdGN=avfcNd^Ev?AN8737wa%j z#nt^8X945A>pW&vJnatePe=hW%u^T0$8?C-@`rGG99I=22JzLeIf>1qGQ4N`?lb3~ z8-4Z{h%N zJ=OUl38(1k+}K1<4!(6(>A4xm?8G3RcPCy%&q-HUKW%W8CHjQ;(8o9|6Q6>XtRg;u z=RNUP;CV?xJv{GAI0DZ@JoG%-BmMmr$|fggSRC%}!nojn=6^Zxza02q4*V|%{+9#) z%Ypyp!2fdK&>V=&z=8)%>2#V|8&k-%>h80n_T@vdvu$Gh;~0~`yBhsbd-RKyB`8HKN8lED-$YIHnq zLj16mQf)A6h#H}Jc^HSogxJdfg%;;pzM}X3oUig2%U6Zd zdIuYkBeblQUE3dLE7E=#0l1`x^4!5MX@@07uT7W#rh#a9MjcvHt z@;!*l9FosrDPK;<64vL-*jFm_mul+6pIbd|!gv$5U&;3Fpj1yvQ>fM%lN0@aAiSd0 z7O%Pkb3T~TBRGDFPvRfiSu?+w%^*5aQ`N=F5nQOa7v5is|9h=_)hU+h_=XG?Q^{Os zg_voR zsl58n3zmgP(Sy~TFP zud|q6YUy|Ejs^ax89v7L*VnWCD z+@|k*Yc=?QS5(h6J{1K(`hU}+GozdrGJiZGgniCK@ClGZ<0vr_Z=vNUQ!9SJ2rjfx zwcE(fs1b^n9S?ZMllT)_KyMMjG)zAwO0SCkH>Lm-+XLnf&WGz5-wldw0rM&2qR*Po zK?JCM()hoDQ617aEs&Eejnhs5>G%aJYVJ4# z8LR)P;C>!aiJC+7ko))6-`IFa+dPcxmBcf&vt~Wk?w7NFY7@!a%XVpZV#P0Xs_p-@ zJZ*o9vTV)xqke`fxA%%AnG%`a(}^MPXn z$V~Xf;#5b;e9QL6)*98%n_ckRft`e(j>lg1FYRIK7AxQOk~jkPNlkq!y~Vn;;P6DR zB1c;MJN7T*6zyNfw;$v*$4}!Mft`ilLsd3Dc2tJ5eQcL}9>Df$y;xE+z7P>LS}#M* zYC&Py zBa`a#;`zwyJ!;19MOELc`Pu)M@7efE`ucHvvehA9g-NBo!tb=*7MJ#b_D+s;!D&m1@aq(RPhibl@DgC8dzv37 za17NEjlT!^G?vgf4lhLO%T0gScuG4{#CEBdM9EF#F9B=hg3kd)ZMEhv2S)MJ_;g^{ zYBk+dxz}cIvB$>SYWbo5Te7><`->0;wS5}D9QoGP1-}ls8~-)HN!PC5Yr_|PIGgR# zzJ3ZG3R~mlz^JYisQ%zp_Alv4+Hd7k9+PRtb_p+LJ!@elM40~q>)p`xuhfPVg{d_% z#`gLL#s!7kUWD4)aP8=T@`hT~1M^6FZR%v$HBPU{Qu(^!R6{lX1^B7G4?kXLqTm6c&}Q#!mo7ZGk_oW_}C;7Iwj3 z14iYq`CkDRcEJY#bK`$A20knXzB&f}9dIgt9iRQc!Y;T${<_8Ij~M)WfD=Ew)i6yt zzeqR8XnT<=uNL*KK1jc-%j-s#C*}1Z+o{aRoQL1>__^VixZqa;BR$gmgrDt#Uj@uf zKH*om@LvtARScZss>8ho7}X0m{CpSuT3~MRC!FHHfb%CC&tz~o+_V7II31IA!;g-0 z$0ITD%VOYP0H->n!z~9Malw-@0HQj(lHa|iK7vdz;iM>~JR);C+eIH9MLMXB)cE7T zNk>3xn9l59@PTYca~U-gs`gjn1*fR# zuEu}&aKDLcjGB9uds}=~fDF}rGS{)4=A>luRCo`ud(b)?Esx)0OQci%f0lZj)3~Pujx|>9@wIf28qOSLPS_ zI^Q2=cTC%(=5e-5zoYZ1jmlRoPnV4yy?o|r_-~BpZ3X+6 zaXINLjZs_Ua~5Q1j7o;;1f}^Eg&zlu#vaodmvrlRYJV5P55-gC)Sgn98ovq{>7vFj z14ePz_?N)ixZq2HQOfjqpjh=UalV@ACtDtV$1ol%o!TG8gW8$a?9Y#9GCF^>zh&Ub z!cXJpLP4nhhpx2aH>oFHU}P$Ie_(+M?+Lik_+H~O{?zy^@VfQWmvTEI^>G=8L$b*< z$M0zTG){Gg^6x&??li1r-d3A?ZSvM}{G{KHOR?ojdP^pc?J`~_y(G7ZjHeJ2%qPlU z72C6|vq|(@xe|_++Y5YDR$6YD{n^qyG(Mlf55-5zYYsh#>ZFQ4t-FU^_-_SH`LE?% z51i_W#?J#zZHmVK1DyI>jTZyI*ad$cIO&n*_XDSTuJKIZVHZ3*2L3yEuXEww3d}9v zHUOtJ6s;F}{CG{OEl-(OUBmJoWSr_I89o1ej@?C{MzXz`WydRER&FlaH?f_@24s#1 zT6gJ(wfmXuF72`o|8{nlcHs%O%Q)l%w$mJiOhnDAbh@X3hh%-i{-}PF(cx-;zkrAG zU*o@_97!KEPWnJ8*Z7IRX?&#dZZYrz;H1x*|6brU*3~%P=82A@HI7r+uHn+LamoYD z|5gn7^?_gD!ru`1i7t30a4K6ZpY}moyWn07=-l%8G2m|b*&BG+MGhU+rLmX}7w@r{ z(_L_SAg0F{K6P`ml!ym2WjjQpOb*QSM#m;R@M?J`g72tQOeG~PJ|em~>Lwi-syd+Mlhq8>j->e+ZnIv;_wFn-rF zF7;FUD`a;W=V|vl**%$Kr`_+b#r-km-ka^B7lYYOI!|UH+eHs(+>q*m{{oE4d>!*k zdGBPqjL)^amdI%Gx10G$HksP|-41`Gleeh(tS&cieOnHa-&%hH?4BD96`yltyX60q z%C6<>`E|H1wZaG1r*-*Mvb+F?r{!&CcZqL{TIBtq_;q-ufla^EuhS52bgZTD%Yjq7 zRhMzm2krkJ@SK95#=8MJ-35OLm>d7IF>qQpZs{Ut2rwE)>2OB^a+5y}xSO2uz}@70 z2Aui@Eq_T2d^K%ed=t_@n+E(WznPGoO@~_SXa4ZvGarKPh+ZuXhZ8U)SP~>a|;V-?KkI z$6kl`BKy<$0LIs|e;IdBzEdBs@#}$wU2xKOH~eAX)VFClj{?iZ&or{-OmfL+zQ=&k zJVN7Tz}mUsV}Oxd&Ho258mDQzg=6Qt8mDxI%tvlywEMg4 zZc}@x-2cE2wHG?PpMgVoaFZ0$iwo83U zU=QM7s5#e`$7jqRV7?`6m-^R3`Iqnu+5Zma7kx5c)YLl(pYn%HG5gE6R#UQ(X=c zp^I&KJf-}Vu$}rUGLk>qf0+G`W`3z3AF@5edaw2`hcPWvi>E1bbjjhJ~%qn^+ul$roNcUPUA-cqc;56g;o!x9_V?4Im?#3 z#6xJs%eJM_=W}VF#)qHAX+BBeY5XqW4)~S{W@ZX z>2FDOIbQpX<(Kv`^0Ae3_XO%?4{dkYdv&;CH>H11|3nXqj;?FdB@6^`Y!rueINQ>k>HY_%UN%v-iQ97yfajKB)sz& zx7s79F;_D#{ffAp%(&#EPFEGjQ}R{6KP7U6c2e>L|8K=tpMTZy?elKUa;h!9x;+?$ z_JDMv9Y;Jg%jTr$Um@E?KgF)&QSe?(eboA-`L$iYCnxzRRN`0pSt`jOA71#tE8L%TK=-E9sPa zT=IQQ{m|oW;nV)auFse0_l7zmVkd%G;wRKp+I*hE;fwyxVtYLfpa)a&C$y0L|DfW( zhV6A~@n6pVyQz8P9`-NwHdgrIl{Ws%RlN`WVDnSv9kKiuvwuC0ELG=?w0};Psbv3u zb=+oF*?8x(paQmw-WIW4*3L@U-k$l(*uIPPE|Kwv$5}n}u)PK6L#%dZ9rKHRX}#6& zTeH~edClYoHimKRa3zbsk?^ z`Gi_EkCsdomyeWhNxG~ISqH&|mbRuH?OquwX-?gufukm8k`?c?~Ar$ ze+9f!CiSnB?NUF>*)I9R-i&vm)o;-!J#MXS-9X>BAabR?B(JpTk^I%?KQq`}_VM3@ zfK%|hig7tNq2GJe<3TOwL&%^qdX(ize#gqc!W63!l7D4vm;9?>yUxG!Ce_S8y$;iU zQO)$1a(rZ7s`GoGlBdJd_e~&)HB4zQPt-2`hWIZF^2&QH>ntENmQhd9d%)1#y~NPcEwZqU)EbN4@xg^;}(_3Oia!kto*zzQW-)#G(shq;G)4$a)n06B-KH z@-4W+`j>nWTKB6y2(U#m;Si1az91sQ}LPZe-irBIJ>Va?Si?=$~oM1 zw6!c>#x>>F9iD$_-@+X4b2uSl_s*=@p3P;uq+8mH!ZW0WtImnTdhmW?*PnuQJKICyMw2`=?Rk0cd&!K>7`SMV(6 zm-bokT*gH|1TRwMF8ISSaHHCL;n(Y{f+ugXcFI?{t3enr-#}|CapztNOZ<+k0srMbDn&c0lX*3p{_4^a_7n&L^373I5;G``XH( z%UoLyG7ggPHI;hu-_q~@zvlPRT%NKnsr9~UUQNB%`7CzH?|-p84?ArA(Dp0RZwR0G z8^rewNIxaxm9DBjRy}U}%flU4c4z<6epWs4*Ze=C{D+?WYyNwxe8}r@c>X1yB!9{u zvHtq7Jkk4C*dA+K{(%a=xYyx@FZn-C`LFE#*Zfan|1zF1eGbpRPJbn*e>%&P^eL_aw&MW_zd74= z_@XxwekuEJ$NW+r=d!&!d+5)!oe21kP4_u$FJOB<+l$!Vp6w-UZ_D;dwoCq-$E>{4 z1-3nreki=i+9h7w)xDW|99qi!(vIkHsJ{1^qf@A3Oq3%CQCjGto9~p1`4g96%eCbWLOTQ`M3f1jrXvX1% zFaCA=nOA;z{-xd{tD>fmV3{YLd^#!nU2M;?;t$!MEIHeT zulI`!Ua&oR#ih0+C0;^9wd}V>R@-{O!B*=bC)1Sh`e7{haET57IgY=i{}r}VpF`$7 zwoCgxo$WHd`hx9p4r?XbWj?%_?V_*0vR&rId1}30{9A13?Y4}yI zxR*!4ceckVdfB?`@(ev^)=AQu=Ll79tzZI0i};Y<6Y_5C8=4-##<^?9Fi)t;BC{z{({OxtetN%X%q{>m8rZJ5s! z{hvuM)A5&ftn{CrPx^=Fi%S2g|G#-YN77&UH`70f%SXm5y8O%zTfe1# z=<__;>@M+W$ad);wLXddlx%UY4_#JUeG&aEi!om+=J%TaY5Q7Rdr-*fk@5e-Y?t;} zr%&o}n9sFT_kzFM^wzddBj;U8cUpcq?^4jMW_wf4?$X{=vR&Gn@;|Kq^VZbN&pvFI z@(yu(9OjB8Z5Fzm$J<`fJIb%2ieqa(}b+N9x09)(aWWj#u_d)&CyH{-r;P zuwCloRcx=B8wb)U@eS9p>Cp2T-QVi*qn!n|{uM>$SWeC4c< zIzAKm`;5}Q>iL8oPlk5aJU=;F?QfJR`_((Ge#Xj=6L(p6$=_t2Psn*p9lnmAE?+&K zjaA+iG0MBP^40nGSIe)D%AayR|6icW%kcc8B4Eq2Qn`nDePR)>KS=%8^D(V&-M_Z^ zE$zcV&VQ*dL)k9vfzIEuD{cL`M#ZO4ttUu7CF8~l9)Iin)8#pb!Dulo!4A%9u&)PxN3u+mB=q{h7+Rdn>z3xfzeF$Vv$Aw0gY8 z;kIM8GPV!o^hx}3ezEBlyWV%v=V)|(=X}RroK<^4kYAQWSZo^(6XoO_%Wj7oyp-3 z=8W#aRQw4I_p<(1Fu&;CMz%j&i~kb#|G*!%{A51clkGig@gGUCC7ig&`j_&q!}fb? z@n6dRpJ9HP|G&ZZzP0!_ejDPkdu{lV{xjKrdJO*zn?m;gSI;$@-ZtO!Sx_;{IhXAv zZ(8>X);rPPlC4$`rT*)BSlhW}{T*^iht!ivd>%#Wq3$N=ut2rLIvu+>9a6t)E2pnGU!=b4b>3y{F7vYgmfrqV{hZ11 zkoiOT4qILl?<%&}mTuvXm5x~Yxr)P=`k}`MlYX=Dk$x{$zDs+e-xrA$pOk&J-;jRi zl$|ylX;05nc9E~C@b6=JM=`@_wN9`1(L~NRPXFPyuSf2;@s{~Vxr%26+oe1t98D$O zlCM>l+7h^t<;(o?cD8q90X>wU@a4AUE>ZPoGW)B;{Ca*g@n%$l<*{; zk#2S!?Hl{`fasY$3Su+cy)pb%4YA?vaO_N9=GVSBYd@ajDd9cL<=2t#r?{T!{fw{u z(U!wzrlWICj7sRV$kO|mKEre{(@{(-f3xcX6WBhB>DNrxF#U~bQiYWpX4;x*KGQ3i z-p=$srjIdwp6OtwqnTE5JPhB5HG%O3Oe>l0W*S_~@nCu~(@U8Ci|NBmUtl_t=@h23 znJ!^^;52me_S%23v?Zxy1rmLCO zU2ge4;d2yon0~=D=_{+JIZT@}ZOJskRQ92-Wcw{li8(sQKg;wb zrbC!cX8I-5@0hM-TE%n^(+I~id6~`kFw@hRp3C$qrk$AH%k)X6B}|7g9m8}6(=V8Q z!*nCleM}2D9{%Mv9!E0mz_gg}6}pw}<(%J-u)P=4K}_Fb`XSRvOlL8zVEP@?jZF74 z4X&{9Xu`A=(=mKs$;V7TV>*c6GaJJ6dDg49*?wY`mDir>RZMSWTEP1VUDz)2?)c66 zyPN5gye>3?<+o@1Lz8X2IFkFRQJ_uvnTU*=gck3re~{~;?gi)B8FSUUmgX?G_%B#z z@ft#4k#R%$0y|=iaqQl=8mYvOErBFpPU(=|z@Cot4vTpsZ$k z3fW%7w1jCXQ!~c$7c(tkTF$hBX(iJz$0v_z#YgsyFo|c2c$=Q-UOOJW$*QGkj)@nI zTs6K7IL#Tt$(CQ*g4|E-dyLnx|B0Y9SJ3!4U=#y4Jl6#;14c8XG7eAHM|XZ=+a=C^ zGnL(CUaQ^bu)Dkur`;>rUD_k1Tz+1WCp8%&GRm-0Poa(2>=f=Q^zqt$lr!n~HySZ-qL;P-X=zF@kF7iu(yXD(Z z;B?kZ$Nwqd&0O$az?-<>@;zWJ=gAmydc=_P2ynOfKMLF}{x1V}%ZL6k@X0aoDKYSg zjH7zgFgfZwqBqa6?XIl5+%w(UZ)0Edo#_akHBR4gp!%!v3xVgl;5&g+{%d~1sm;_l zeV3`V3;sKBYJ=VQsh(>5*BIdv?iTL082p60@l(6xmM+5G_^G{e0jOSL3e(Ki-A^r5JKv0qz#hzA^YqfKz*=!=-kK`ZkSIyX1y{9z*`Z82pQ3;M9J) z$)|SA4WAbS|278x9dPOwbh>_s!T)0n{#`L}U%Y!f1B_q6{Wj?g86A(~z(?aGjpqTU zxrxTl0^ZOC9|xS;P0e2kyon3G5_ql)z6y8?7yKvS)ZS_N%VXe6fVm^D*!jV&GF4e~9%}X7M^an(vUlhM%+Re_=e6 z(R|aGPvf7(2!B3s8V_jxxiRo%z^Px>{40P{+%^6qaJT%UcH2!aw#JaN9k`p`?E~(n z*L#7}cvZ(I0qqIZV~xiFcgqJF_qx@OhQMk3tmT{moaP!DZx=&O66SSo`ko4$#^G8{ z4)Eh#@Gx*{KQ#X_z}@Ocd*IaHY5sG8(|B0p7Xc5u;Ew<&z1+e2OKkud?f+5c)A%Id zG#=9U)EM{-;BNJ_JO=+~z}@t+FK{<~dJQ3dyNpEW<>)K6)=FEGj3R8Fz-A|G4I&L)l-gs)(#b+2M7 zeDR9Ulv}qB3r_RAb6oJR znIBG3Bl#e-Y$oRiQ{jWR8vG@nFdtLli`RUgTD~yriH?6ZJT!$LjW-5P?UBYW1y1Fz z@mqkq<=ef$-SX`z;FLdSq}ul3Ry>or7e8vJH2yp=il@f=0Smj}gMd-LSW?3Igl94| z2P9LjzoYT1fTsYD3)%dVRJLNfq~lq{gXTHs zGEQSNGQ;qrdVh=Jr|;U+SW4p~fS=%k(|R;%icaSX=ocx?|7Q8px7-6c#{=)rIE^jI zjAT3I4H!6yNu{L=hufRXNMd<(D~7yMcz zl=4yY-w2%I6RvCXk-{SLK7NGX%6Kk;Ff>o2Jke=*EHL$dxp`|%ZY(AgE{DmsN zR$zQidUO->Nv>$VF(^0U6Qjc~Il}s^WLgon_7_<$^&MpLkWrLZ8h_ho>ygIC0w-N8 zR`KoyjK-%L9}0}*XE(L!rv8S^t!$Tmh31o_SN#}2Hp*qpG`5TWFJrst(|Wca&HNe7 zY&c@Srn$9?z84`7^6Q4TaKUd&v~@xA(`(>VM>I~?SrGmZhb#4_H!y08H2wrI8Yc~6 z{!~1ZnZ)NvQOr?OuJl%af3Mr@GoySo<|i|Xb@jUYbi$6_?KgcYaX>l4~9BekvvUm&s z!6??hzPEUr#x?P%EiTnOiHE)Wjag|D5=dk_9&rRZTg~69!r$_5i(kj$zCn6KM+uU3 zD=)i;UbHR5mVAQs0d<-yZGc^7Z663~C`{&JE z_!lz&$&cD_X}(6L58FlW)^NN!T4(by{82i_G9O*Xe_p$PRl!{;Nf`>h*JZ$pJ ze;kN1m#nt@Pl)2M`$hXL-dQG;;t^V%!@MEq_9T))W^8kt-(ywzWuIp8*QqkpFllBd z+e6NivYc+lUTFEBl7^mnrd(t3O)8!SIwfYMc`}+Nvg>@K_2P&NemZa}AI*PX4E!13 z9bEWtje+-u-kt2i{|)e#F8B{I_-S9htqXq};3v4?yCBCcUEhPB+MjvDY<_meGZ|{% zsLi=ysKsw15auKNXe^@fDU46#b;IjmCqrdQs+ZHn%DIC;n0ELfXw%{jix=XV%xowS z6{*Ij#=xnabmK1vPAaD5(79zdd{qqmrxz^ft^eP=oRs=XZ+SEiuEIuugoC`lJ-w%!6sfg+AJ$b)}y!!Em+O&YyOSdg%h;D#b-c@tCT+ubvYVAJ<0a|`sJ@GlbO=JDOdA}w0mrNY_8z@=(#6G`6b== zvis#MC7bP14%E&y$4}!o0=v)!r*neDFGiP7i1n%J6x-42dQipgW4qgUU%`Uj03}UK zyw~DVJ2c;?;Gul$#(a{FtARCh!AT$8@b17{y71o%jK;HC{(Uj<`(xk_#K0enf%gVZ z@tJ$SO}~`a#lUFDsPW5y9p!>kzd}P3%}@E@#!urg8aHbGS-_hBum6CJ&v|$zqxn7o zU#<&2KL#GcP>VEF%V`Xp%IP)^?|eLy(R^X>xrKKoa2kJV{tJN9d`#nXzJTP6mtX8{HOA2KE&p;45u$#u#L>5noE5 z#$N@0rVIWW@N^e^6mTj}Er;-c3qBe+wYQp|a5w(9WAGF1#{W(Xe!|`O#{zHS5+A~; zpVRRi58N%iguBWA2)J8%33ub46hl7YZv2yD$S2&5e@YB~!rl0X0;j%Q=ff7@RR1(y z1)Ox#4JVz{_@)?gHph@d_?eKCUTW)+oxK_p21fNr<21jfx}(GW#DlT93qBV(wG*0u z9&j2Dx#9I(@cD^0o|->5$*vvhcy@veYA-eaFofGO22Sme=AQz7TD#Wxc;LA%_*cN2 zxZqy{ca#4u@G$uIa{k|pXEM~DQGV+AV_RU9KN`OW80nS9y8@&7rSWHgQTwX#7a5HR%7 z`T4+42Y*|h=ih;6GRNZA0KXB8HzN>6^HKdlksgB6_=xgb^B2UxWgM;fTO)qd{%QR9 z7&xu3QQxWg`^Vs43trMM&A$m4rCH-UfYEqJp5owqw>@EzhdCG#=xHjPWkl|hev#5Xg!4TOXHp5 zte$H8F5uLUXq@&7(p>NlfK&Ud`PTra{L=W^81m`;J~#PGfm56CGpDN%&tzy$MDjI$ z955Q^Xq?(MH#rvor}p!l5w@JJ!!wzl$T$3%QiTr&M(vQshXSMiWjFKRfM+t95OOZ4 z#@_%=V>yk#37q12)o2@^TkuR~9B|U7jUQY5@+fM|*Pt}s6XWFvp~X!|yRfF3*@|5( z5qF`&SJ{=c<$w`)p(e??7c&)3aTjWCwtSJMhZk;b@hiKL+Sb+N-kfrejbDfbNca_u7u@vc?zQ=sc!^x0B})>bPT#UVU&4&r zktviTN4;(JS@uybXZuymcLeyTKD^C1jkCyX#*g~t+SYZ5myAw#8JAb!otpKGDm}Fy zvE+tY*nGO1{YgCOoIdGaWh?i54Ch&V7W=!NA_a2-e)aIvIK_&_FB+%(BS{*+5g2Kn z#(Myx^j!b0O{dgG&36-csNL5%jSFd>sc{;oxW%IgxLbOfBVUQX!Fx6yq6b~sPJYP5 zs&D0cxL#VeL&`I}-MY_WdDK>tsr#g@k5XTn&#-nB*TJTEGy9{olIhl?ra#~NHr~0` z`4IQY44boIb{G9G%dq8s4Ewh>tQ)ZXGUliAU)18b;m5h)LGaUB@ko{<`KkS113p?$ z+s=Ga&otll;3GY0^np!hJ3N!Qne9GnHFvNb)3~UKSx-*2DTUY?MxP_=Hlb#DX#U#V z@8S3)aVQV6UG(WcsvJw$9n-t0(cukXcWPV6tXAvW|5W}kmQQ02GFs1cd_H4-(hV}T z@o!-Mc9uOlhT+F3X~W;wr7;YdGuSTWtMg0Omm8U1#y2NH2E}bM<22_WqxsqbBaP5_ z2Vm6hEMxyPrzGB(PKQ>sn^( zf$SG(z3sv7*Rnk7qbN_mWt{398NEOCZ(tD@{0U&xg5AseSv2P&Gm!04K3d*z@Enbw z#@_{Y3VvFiPKQ2krRDU23@RgyPXl&5ezEF**$uY-59jzxe^&)RR5!JrYx_R-hwi_I z(fxQak28ho5O*HWP8@5?lXQ(ti~1)13(skAzdk_@m=&e7dl#p`bL5*ZBLuNRq~90*kodvw%@~Y5v8)NT)PT=Y^=wYJ3H- zruc2*cuKzg&UVr{GTI-Vmmyw_Zv;;L3rG#4_3@nXHeaM2xrOar*_W1k11fwP+`@m@ z8Mc(iR`z!k`>Xenm3uAQsn?_~);K*p!p5(JX(?0oUQHyewastMNGtEOX*OM=x3s20 z>FCEe)mt(X*e>J2X>9Lkoefc1uZnpO=waRy8X9jk`Ec(E4fFk;MNI!&_kS=`%z=L|KE0xYxo+Qo^rm&bu=rA)C0M{HkNy2f-RRKzCX8=soYEZ|Moq*Rh%Au zKi5&HN2I?Rr+Y3*<28OCaOzhz{y+@;(ik|MKOi~!z8G51r+TgND}YnKr*V2ujoN38 zHwGRCe##76U+t{;P`)+^?(sMkcoP@7R{}rP1)q<8f=XP+V*zk#12w(~IE~3PPWPy} z$;n2zZg?HwZgO&fyMC{CzQroTZ zBY?LCeqp)If9iY5Xt~!Ty(CwR)Gwh03lQOhjNn4`ec3YZs&=1BxrX(yN=w60+kyTv zw9?`XSNEghzqb3l<-T(9ufvyh&(abbj>r{S#<=(witLV>(tnY5A8N#1)?H)Cuc(v~ zwK61Jp{Dbn%a?vnVj%v6R?M*dVl4O2PV0U*>%sZV_!~OLqr?-a$P-#f3$6zl!G%`d zTr=J}-^+iknQqY{p@pMmWN!nJ{1j^VJFIg#-ZH=cQrU~t{Ot#J4|3c$EBhX{Q{PV} zIMdb-v9D9>JdN3%#%g3vX1k1+E@!)pGp`|rTV7vslaGXpz+C!>vKgE zYsx{5w`Kg&Pi(qwf}ITAb4vXB9^RF}DD4{epdjkG;0=LOUTA*8sejNo?XwfV?yo)r zMtP|5?}0UT!8ZVF>4L9~fv=8%uZ)3HxYR=E_WRh|#=v&~54-TwxdO^hEr;%X zp_-)eqkx|bT=!3dP>v)=cY5WA>lph*D z2{@If#xDj=@zMAdz^Q&{{7T@tF1Vbp)BJPL5KukV_4oOM8VxzEWoZ08;51gy_(b5eE~W9WfK&US@lC+p;toil2w0>Wc z>cYWh$r!sIBKRiNF9|Mww7briRG-yjE%zx-$89X=Zcr+JjrRf8)CGS5Sl9*c3ykzv z%XtM@7{9d~?k#vGL+^by0@e6>3`5-TvlH$7Nb`RLoZ2moUk?4Eaks`3z)X6o@oeDK zVrhITaLS*Fb8UM@b()OkdmDT-w%7R2z#}gBTHxop;Ok=G>w)9%5cwNo;2UG${|{sL z1J~<(KmI>t%Y=}vS+fwrK_=EXCWMd)Ar=cEgwV)j3$f5FGz%ew5JCu{O$Z@`5W+#G zP2-qww*9Wxc|Wf2=i6iNzMtRgc01?lb$>pu*Y)@Hx~})Tch@^JIxj*W`HJm{?}NPF zn?`wIdFf9lwtLO!=TMxt8F}_CA`j!SeFyUQq}>CSxBB0CJ4bn8nVx^I$ip$PUlMsZ z|Lj*pp6qys=MHR>B>!Rj>Sq$$9ru&){Nb?Q{*50Q{T#|S(e)zPad|u%hc}4gUY`dd z5B=)eXA|vLheo1uNc3;h=--N?2`>&973YQfuCQP1;eI3BFWC={JhW@SV}W+U-@7Mk z=bOmGdu?tf{Jli7^?5JyaQ)bw?TKHtR8rqBiiL6q^&=A1<)7~e?XCXY{QZAPWMTRC z>Bz!zPEmdsLqdPFhfy{h$8qwDqMt)?USVXRjm+m0>#Nqwj#esJ{?T~do%zvR|NZ-=p(hfrznX~0)5louam(jQ{H@fw(a-kE$U@6`FC?}n zK7UV&EbP~eYeH{LNg0aPJCykKT@GHwv@XuOE|Fi>m6%pBtz$ZLW5TCyPE5OQO-%Fe zPE3bp65BJStOyVw!&l^D!M`nsI2ttBxXmJoBHFm^PiCm}dMdvAm(EfB)ax zm$D}LOsAO6W+uFAoy4?{Y29}d^{Jf1G-FfZTP3FXdr{{&d4Hz-JFy<|{>;B8alCW> zlkh&KLrim4NW89|x<8TEl$xmbt(=%vt(KTx#Bq(slaXj6cZmM=-Je*WoUqYRi7t!F zOU45UuVdQ8wCcHpw>_Sij^QZ-)S0$Dn5Y*$l$ho`oR~Jffk)#-C^^gjkDe17`rmhhs9 z#B_@3*y}7OZcoeW8%@Oj|1PhN^(lKkF<;ILiRl>Ap|M20>8ZptD;iHjiMMYGFB?h3 ztKuo`4pARtI>of_=|q0rGl^-&vx(^}(}nhD6Z`4^@AjpkG>!8m-o8FOhx0I>X?*~9eXlS|GWChqtW#{Tqo@P z(fWi}*7o}%597BzJZK?Ve%P*L`Nv0XY?-8;G1kZZxgzpp?ffcgBV4DvK0iuLY}e6a z^RHiS_vr<;f9V42@p9B|QMA0fXtyN#ITW|MYIGl;Y`=!@g-N#EtFXRb((bW|X8)_* z-J*8Gk@WJK7Vz_<*9S#O^22jEc8dJ)7ZdwukLc%6-0rr({9oE8t$W=AMXE>c}uh(lC4i? z;yg!sI|3}gOOt#!boG)I_{>YQ%7qdTa;&`7Jty?HNMD4Eav{gpjD4q)RXer4q0eJtmPzYj~+&I-|avVM~Ml_TFMiHE;S3wI7(t=mTb|IhVy zt(Ow#^$E*0CFQ#4_=WAX=STZJydP-)apd97!oEY~;r%Fk_`B!a1w5Q*&M#S@ojoHD zuN9mh{(d(cS9^FqN!X9}@V$!3JbX`0G7sNJlg!_ZJlXb!&)X!+|7-yd-&2z;|DOxA z|K$StDbfB3QqrC8X+kSE6$+rIw_%!X-E^jp@ z<*jJ_R*!zR-yeDC&-UOw-4|&8=aGl&_a@`pNB^g!)Ghx%C8a)^hWE?t z=R_99Yx{+fh4a>aNo3)=Xzz_I^dtLSk%jHG_eB=Qcl-Sd_+ycW@z?o7k%j(fe?GD> zF56#Oz(0z7%Ov@Gu8=ssZl@{oF#g&*A`j!Q{i(=9Km8NO<=E)wP|l71h2v!p`#+4s z_A4R_=b=69w=kaDmqwPX{kh1KwI5!$CToAA$V2=7eQ@}YY#49tX_0S`#J7n&oDa?q z-=CD5#H%9@Um zcG;Ij7RD9(*O7&B$iC$Q%MH)n2 zPt4CWzavqP_g@wDj4Kl!j!`J_@^kPirfpXx@`kQXOyl1-rcTa3FAt8kBb)5>BvJrbo(jMeh&A?_J2kB;kekt^SZ<9 zl^5CnasLdj<5x}M-I0g;J?A$>9+7WjuW=yW0tf2^6Y4v-%czytaB*qP!HGMP`0KX?omQ1rXJ48Q0}B2UZaGv z51(rb`zDkL;u|EY|MmLe+{lw{&)3Wsu1%qo>2tS!9db{U6WXyq5?Od%Wq%^FoFx8a zWa0c?OV^EEBilTQ9~fD?j!ZkINS-fo3#JCWTAMvyfPh>~` zbHL-{UiE3B-G$=$f1MxCAu(S5)N~@g#yg4QA6+h&mvyK|r}y%bMLl|Xy1e{|df3;Y zf2Ed=idKa;_Zm1DPJVkr|7DPe~jUA8}WScG)G^Mkxyd0y&0N6_PG5z z{oPUQ@id3{9&Aq-D?-_idc42NsfX7jp`1WH?k{IhkI!rGuU5_P{dXhr#95P)GN}41 znm@4?|L63HPotEkj6@6Gp53Ps=R>@GWz^&2@9jO9czk@1R{b>U@jc7=)Z^{Hih6wh zby1J^=Z)0k_V1=1#{5u*sK@K~6!rN0^!^{y{3+?l`(F;;MnBA1zO?_j&iCO{-$_1y z3h}B{67l$ajL)Y!yz9%v`CjPu@u7bv;^8_GN<9A<-uGc5-W4t)QHjs%F+8FFGhaM^ z3h|}-`v4zbj|VgCzxa54rn>jPkI(;hyx)8;asCyv;{N-ee?-^guqz7QPvq@F-hZec zPCbm_VV5lQoPoOM)?J=C#B}QUME$TOiFWs)ofV_&W*GNf;&I2%ABa7kmfezQHz)ie zE-HC66d#A#3*tSQ2*k%Pj>mt8%548<61QLX+i+L$KP8?oo;EE?EPtH)gS|+-IGTnz z?UzLsUhllaekh544&|!oUld;X82yqqNSe;#>W5)aQmNwyy0a~I)0-0K%UN0DrM zc8fgOdIwLo+yf#{w%j8k-zdp)!}C{@i;xAS7;VT?@Xp?}&xS)l#!J!#2~%bJmg{@`|IqIQz4|Aq^+ z6aIcM^dGmgUgXKz**o%N`+2{}!!^(Clr7*jw3GQ^qQ7k%%^Qm6KO@Qu>$g35iL29p z=QWY%`D-IjwjEbQ9P;D3oc+(Wqiha*q6ejh}> zevmyIrf4dj(dlqQ_<;at*XJ&L` zm~4H*=Q5Jz7ex8V{GbKeIXd!W=UaW`$lVnrWr6&j1@eC#d9wZA5P8_%JEs%lTiC`>{5(sK2QNnR zh1VYT&{!C+UZlNfm|tGTsaH{dBbtWyLhQRl*ZnYV6nvampRmrM`1iak%_QQ9|NlGQ z^!G%hGBJC~N71+t-mkE)5uLBed^GZK-CFU}L_3GlPPp&cF^Pw%u;DJ2jDo z{&_0xN2lZR5^esx;?EmQ==bGkGJiORp`1%SejVqy_v5A7zT=`c!gknik1X7e+8>Q9 zT$Ah%M;5Mu$vj#9TTyN}?#`c!Y^UhoC#>fY(a)ir8T||W$bNHVn=RnGCGlG#3+v-{ zZi_6uziMACIzY*myL#kdd!0WPS-3B?hwa)ZiLbIiJ7NEXamMXTM3!v*H(#Kg9TxD= z@5249+b>=q|7VdW+YdV};6)3xQyF%8lWaZ1=X^rHbN=&@=OpnLA`jPV=ZE)kLO-?t zJMv`P72bzQ=HdJIlKHn5@bGz`WclImN0NC?y8xhwuGK)=qdIDOo$=?@7b@>`#9#kA4ot?S35Ph5mdqdHXHT`tQ8(zEQ~g@_)(u zl)REJ65~ke0_}yrYYgqRlef@vzaZ}e@+uZ+Z;rej|Cw0sLhYqR*WIw(OUV2A0`09z z-sJz1w>o*7eVJJ9o(r@W-j55*J&nAD)-RL1Ve$@KpuO*rw=?nL;%%4z6b&cK%Pvey z5ehB%U@#>hWpi{|cXxpN`MU z&%l?;8}K=Kc>f@jW%6GqI3;Db`QyWVc$(IK2v1f1pW}S_U+{GK<9LRA7|)bH5$9`t zp2V}1{}i4rAHj3vPvg1rXYf4vv-l$UD4s8W4lj^Dj~B{cz!%HI`zxUo$zM!xO0oPU zyhQ#oUMe5Q%jB=%hY3VC>+CX`C~>j_S&lD~mh%iqLnTI1c{-je5ATbIk|z)Ei-)pE9=<0p zlze&kyRJ|QCFoP+H{S z`zb?dm2ZN#$@B1b`KEY>d^5aL9)5okN|$^Q-Ywq(?~!kb_sX}z`{d#KK0@i2Z-WoW z!~3P749d5~hveJg!}6ctBl4f(qw?+XF?sm?QYho{#rTALM|@Hqe!mpTlsvre8_E)S z5k4*78K04d-*<&FE8i7gDi6O03uR8e8@^1wJD#$~{PBMeJXKzTr^)xi)8%{P8S+v* zQ@#(LB@geHhmtK1?~8|$BQL{q<@@1z^8N8e@&oXEc{yGnKM*gJAA~QKAB-2tEAV1@ z_B30 z`KfrX{4~5zUXS<7e}xaoPsa!4XW&Ef`19_=@-xXFk^dSWm7j%=$s6%;`Puk{{5SZd z{I__HUiUTOQ_4RFUm`yjpO&A8&&ZqcS^4?+Quzh=ocwqAGIdZyineOFP2}4 z7s;=}i{)42CGt+ZRDKO!CchRhmtTih$h+`L`So~}{06*Qej{EZ@5XE8H{o^ioAG-2 zEqH^x2XB<$iZ{u7@n-oQc#Hf_yj6Y|-X`zE+vRuT9rAndPWiofm%JbEmfwf>$nVE{ zkKiTpr|~lRGkAsk zS-eU-^H`!@8Q|<_wgM05i?A;WhHF@ml#ec%6J1UN8R_-XQ-s-YEYM-Xsst zT?(aHz5?DN4}T{YN~=6PS2&b5c`Dv6Um5R^htGe7(kcHo-X%}NyXC9kJ@W9mvru~F ztKxm~bi7}_8a^No&#MY$P`(B}B#)nmGAv({{1N$D_^3R5?l_b&dH8%>DC6>V@CkYN zoN_3W^6%kO^7#8HmdL~B^+K7Jhv!y>G9&*1J}b}0m&$*L&&k8{zd~6i58so!yzDjq zIubr77)q)%ERZ@Ls={j&zldWNWL{*EDz7252ZvNK3^G1sXTnXGL$lT zcy4_tU41C!^0V*?c_UsaKO3)-{}!*7Ux3%hTku->g?OF(BD`MS ziZ{qF!5ig&z?aP`M>cV`G4?Uc}i+xd;8=o;QjLOoV`#6F4d`up`Uo@0)`FHRM`KtJ&JRP5suZAy?uZ~a4*T84w z8ThPxO?;_*Exb(U;oA6|@-y)Y<*$P;Q~r1Hlzrx3AHRpE%Cqn^`S+Y!c*@V`U+<2i|5Ht z#23j=!t>=P;|20Myik4$zF2-LUL-#aFP7KiCGub4rSjA9GWi*Jxx4|dke`WH%72Yl z$Dw61aFi70dJSL z;T`fz@lN?=c$fTgyj$Lm_sIW<_sXxp`{aMZ`{f<@fc#2)P<|CYB)=LTmUrSK@@w!> z`L+0%{5pJG-i1%dug53lH{et98}TLbZhTsP6Fwuq8K0Hkf-jZ#;B)d@@n!Pc@RWV$ zUoURQQ{}yQn*0ttU4AE?A-@aHl=tCT^1JbD`8{}!{9Zg)-jC*U|Y z>*eA5+CyoOuYxzqzk@f)SH+v<>3EBLHM~{6I^HH<18k{^Q)%a6rJ@stDRkN>aXsqzUtP5wHbE`I~hkiUs%$|vzG`CE9l z{B1l({tliipThIx@8XN(@8S9K_wfSx61-6U0lrxNAzmc^2rrgT<0bNs@lyF;@iO@* zc)5HAuaN%@uay5CuabX?SIcMd8u>r)TKQ*qo&0mWUcMA>kbi+U%KwQs$-l&#<#Tw8 z{42aw{x#kv{}GDB5L;eV!DSs5tl0SxL%ZKnB`JeGz z`Csrn`Q!K^`7oX@e*!O%KZzI0pTZZ*NAM!~(|ED`8N5XPEM6)f#mnT+;pOt@@e271 zc%^&{uadurSIb|*YveEEweoSiPW}pBFMkzpkiUjE$|vw9`RjPI{0+QC{wCfkpTyhb zZ{h9oxA6}7J9wvj3h$D?i+9W4!+YfK*YOogZx&!QGOfVB)=VRmiOW<@;mTW`JH&1{4Ts*-iLR{@5Vdj_uyUfd+~00 zKi(t15AT)VkN3$R!29I`_<;ODd{F)nJ|uqxAC^CgkH{axN9AXRFK3R*nEY&fTz&~Y zAz%Jwyiq%o@)g3D^hRY$z9POvz7jqyPsL~CE90~BZ{bVj-^SJYRkgULZdhFO*l{i{*#lMe;-O zV)-xd5_u(FDnAS_lOK+k%YTVi$gA*ay}mmFpOqhpSE`+(@G5yVUM)WwuaO^v*UFE@ z>*O_fz5F=5L4G{mC_e#jlGozR@)PkE`AK-I{A9dMUWd2KPr*Cnr{bOR)9@~NJ>D(< z72YF19q*N&f%nN9@P7H3_<;P^_@MkOd`RAi56jQSN94c3N9Di8$K*};xcnS^LVhkj zDL)UNk~iZ^?V;|1~?@Iv{G_+oiC zUL?N>FP7hom&k9yOXWRynfz9~Tz(r~A-^53l=tFQ@;mTq`JH%;{4Ts!-iO!8@5bxp z_uvikd+|njKi(w24{w&=kGIGlz+2@5c$@q|yj}hf-XVV&@01VXUGhipZuz5lkNh#b zS3ZRI$^VS^%m0E8$REcC<-_=p{0V$m{vNQx2JbU3djgmA{Io$zQ|M@{B=B2 z{sx{Ue-qD^PvSZ9xA0u~+jyS*9ej~|3eT6nix!wco_@FMvKc(MFLyhQ#H zUMio)%j6&94#2i2U35s5}iHldpo0%fEw9$XCTD<>~m8d^LQDe06+U zz6L%c&%kHpYvN1gYvFV9wee;0Og!b#`Q!gOc&a=LPm_NiPnWNYXUKnmXUenjEcp-d zY*d?w4f3Dhjq*agN&Zv3S-w5q zBHsaTl`qEIJ|f=-AC>QikI4_f$K?m&6Y_)cN%8U?68T~HwEUO&jJyh;l^=mG zl^==E$&bR9$*b{{U(6r>kH%Bw$KYx5WASu(4W1!C4$qVyk7vnGz_aDGc#ix;JXd}a zo+m#UUnH-?^W~@D1@cqzLiuUxp&EI%DDk)MH=${X-9`I&gR{MUGe{4Bgu z-iTMp&&I3eO?Zv`9K2S3E?y@;53iRu;|=oj@kaRtc$55hc(c3(Z;@Y!x5_WV+vFGH z?ebQT^2_i(`Q>=Oyd58q{}CUQUx5$F|AY_AJMa}xOe2M&cd|G}2J|nNi zXXPj2OXVlwbMlk%W%4>a<*@nJms9Xm`KfrC{4_jWUXN$Ue}!ktPsg+5XW-fL20TZ8 zCY~$*HJ&Fw3tuE}#Pj86;|22H;Dz$v;)~_y;YIRhyjXsJZla%-$REH<i{{T;we~72aKf=@H(|CsbV?0xyvM4dWWyx2-v*jz|Ir5e8TzM*< zCtn#~B>xtkFaI`PAWy>!<*VR}<=?@JFD5k4Z{ z0w0xciI2&*!pG(L_=J3Gd{X{nd`i9zzC>PtPs_K(XXM-Av+|$dOXY?5ocyQwGWqs+ z$}i`S|2yER^2KR+Ll<$vM$q&G*<>h#d z{6M@`eh^+KKNzo+ac;VD(~$Ny$LRenC6 zCcgkrm;VmWkhkEO@(b}S`9*lP{9-&u-iqhSe~;(MFToed|A6Pq+wcPUrFfzIGJLW8 za=b|1ju*@Sh?mH(z)R(S!pr0xc)9#ayh45zUMasCuabA-)$(ib8u_(&t^7K?PTqyr z%df{98Jx${)bT_U&IULFX4;jFXKh>alBam3SJ_A z6)%;)hL_1F@N)UoHph>?2YHhOYv&8vkzV)|2bYO-xsfwm*MsD z{qP3){&=JO0K7?FjyKB>#9QPC;jQw6@iut{-Y!1`?~osgcglZ(cgZX9Zuwz&kNj}F zSN==9PhN%h%a6bZj{-X-4-@0R}r?~xbcz4D*pee&(` ze)$ggfP67NDBlqulK%`JmhXg*$cyk%`Of&5d>4FNzAHW+iI>Q$@KX5^c$xf2 zyj*@1ULmi>E9FPyRq|u-YWcBvjl2f0l^=)K$&bhD;x6ej?r^KM8M^pNzN2 z&%|5hzsB3-XW{MgM!Z9QHr^@!4c;aHE#56}!h7WB;Jxy5@jm%^c)z?EACRAq56UmV zhvdJ*hvgUJBl1>!RQ`K>Ox}i%%P++z?M zSK)K=tMO&>PCVu4`Q!gJc&hwbJWYNbo-XggGvwFfnerR(EcuOiw!9n9k>7;p%5TQ= z+V^39llh43O*-46<;Pl z4No~{{`g;yr^*bf?4f4zIM)~DD!qzA~O8{}!Gr|2Cc{Ps10@d5cFd{DjxJ|y1~AC_;0kI3`!QTf*RnEc21xO^LYLSBGR%D2U* zFkPqXX@+a^v`IC6J{3*OgK7#kkpT_&-&*1&? zXYm2~C_X5E4j+;~j}OaVz(?d`_^A9vd`$ilJ}!S5pO8=Blk(T`Dft`t68W3>w0shu zk-vq{%HPJ9%HP4~yI=ga?&7sx-w3+1!;V);MtBKc={vHWwqM7|U+m4AVk$^VI$ z%fG}c51!6v-}*qMSd>cDnAcz zlQ-k-^7HWy`2~2V{C9Ylyan%;Ux@d}FT#7}7vp{MR=i*Sdwf8C2|g(Q13n~g!-wUU z;v@3Q@KO2Y_?WyMAD90TpO9aHPs;y6kaPI!RzEtd`$i> zJ}!R`pOC+gPs*3zQ}Pe+CGrpPY57O^jC>lOm4A#cmH!o=lYfFQlh5EOC(a-L|Awc^ z|Bk20KgHAKvv`L5A9$wxGdxRPwp!wTEL*-Go+IBM&y^p5=gG_QMe+mjeEC6mf&5^+ zP+oyAmLGx_$q&Vg<-fp77{I__Yyb14@pMwv`&&3Dj=ix*0W_(zFK0YGv%1Vq6qw?$VG5HPnxco+Z zLf(x}%5TD_+q ze-tm4KZcjchwxJQpYbyJU+{AI<9LO97_XE+fmg|&#H-~`;WhFRyjK1+UMGJBua`fI zH^@ivM)`Aill*zSS^fgvA|JzBrqTzk+wkU&XuSui-uN3A|VS zI^HLL1Mio=i4Vvp@j>}p_>lZ_Ei ze2IJyd|FdL}|IhJM`M!9XybMp5?}ul|_s28k z2jE%qay(mpAf6*X2+x%tjOWQK@I~@N@O=59c!B&Ec%i%!Uo1ZiFOnaQ7t4Q%m&mK| zQuz^hnfyq+Tz(W@A+N?Oz61FJBigkpBQLlxO3M~MtGHcW4v0v30@=5!)xW6;&t-P@Ot^?c!PWq-YDM!Z<23`H_NxeTjcq8 zt9)y`P5xuNUA_(8Auqr?<=f(2^6l_$`A_g3c_H2_|0&)l-yZLm?|=`;7vqES9q}Rg z&+uXSPWXtt2p^U2jE~88!N=vh;uG>!KHq-%-!~nZ_%qIwT~kw1R*8PLAA*;Eoye~w z|8LRdY0caVG^H?{QF6~Bzk~v@J~KXtmhHY&!HR? z{aYvc=ke6{GG{p!fVd1AjWvT(lH{}mnIq9p#U=s<+yb-?#_i2hGWS!wzIDJj=}lQ`aS zeVX$;I*iN9LFBJNee&;#{OIs4FGmyq4)v2&cl=D^VOv9S`xg+8&zlytcNz6~`G2Aw zj$J4>QV;tk6wlvFJUUFvi|2np?GI9q*Y|1a@$wvhg?KmzLivb#IHyDThI%-rp`>Re zj>p=GYRZqOhjS~G0_vf!gi=a9K3@A$kM~Ep>W&|x`MrLXihKQjskqngNaEj1tZvGg z)Wg^k%4O8!_5G9Toz&ywa|`u&f8R?zJ|08VS5Gvb@;vo;|9JT?5|7WXm#N45yMz7^ z$G!Y%<^PL%yuF#fdJl52GF*zvHRL$M@NyR@_{0qfb{6S*>#OuF0^?3V!p!g=#W_n^QfF`Qz=+rXKf?t*OWRe;4X;|0<^* z_x}^A$Nm38>hb!wQjd?%6{hbmUeZ{A#$NgoQj^~%en=q~hb$ zFdq!za@OnNE+kM8pPxNw;}bo|CK4<^B0mI?;p><6Y+Tb+l_j> z{^iu;?Q{GH;_>~Q$Iml~$Nh8ci-P4_7Qc=-i+J4s@8N#syKMh&h{x;W`F~G5K7LnH zkJtBR>hb<_`wtP1kM{`mczLf;kK2Erdffgj^?3hz`TryypTBPZ8_nmLc>Ntu)BGQi zAMcNEsK@=&%U>~P{_*$x>1sby`9r$iIG&;TH)j5L{kB(oj+YXTkLOX;DtM^>ONP|9**jJU)#p|6S^F|NW49JRW>TJzk#U z|5Co&UuFHo@r~!tq#n1QLp|O;um6U`2cp)BJvY z_psuAefOl|etq{M@pygx`tB{w@7H(Jiu?85=ZgFF-M$_DpNSvSX`uX+UI>h7s z@7H%Ziu?85=EURv>DPCK#N+W+_TeE0fiYy8YneSr4k^?#Upy#6mykJsPv zkBGhbl# z@n?z0>o=?Azeqe@zT@u@kIx?;pQXg(^XH$`YckK1=V zk9fR&Da#7xy*_Eu^~d)YTQYy#f3~K+0k2;UQ2U2akN3wSo&P5hkH?>U#eYjY-rv7h z`T&!e8c%gXv-XhbyJ__4&}vHPx`x|#rkKf;L{AsoSJoR{gPEwE8-|>%$$K%JW>R(ciw=Zqu#PN*BlXa=b{m=1i z#Yeav$Ln{MuFscIkB`@S%pdQc^{L1Ew}5(_@A)&-->;|rczd>2`;PBOJl?*YsK@t1 zdr^<~ueUEp%RiX>c=L4DkukVkGw0>^?YaO3n+Kb2A`&4(l zOznI79%cUc{PFtznRt9WUZNh4FH5M$`~OSo@%FBompDJ;mQX|8m7^6~999I>oP4yk7B6#TyjAPVq*?Z&18R@tYKH zR=h{?7R7H@yjAf#6>n4gZpGUb?^nD-@dp&|RQw^uyA*#!@ovS36z@^ouiqahKOWDX zQ{C}iwdel#nwIbW+o$>6Kl>GT{~S=<{c})p_s=24-9LvFcmEtw-2HP@are(Rw13<` z-%{NDb4qdd&-WE~|NKyK_s@?NcmJGG-2L-Y#oa$YQ{4UY3&q_(=M;DU{6=y2&wnfK z{<*@Y^Y3rnKT{QV|NOS%?w{XL-2HPk;?c(-mzT$%NPG@8z8T_7Cm>T?u=w5N`Q@68c_( zeTcsR`4-4mBfSrVTm5wI9sJkoll8lsaGOsbDB9-JM~F86`x5kV|D66e5b-HLSh)G? zsiMtZ<)9~tw)(h4wAEh??C}lYGeukdT?4#EwB=_3;#2>vkgrAhKL=h1{E4;U{IS`W z{@nzBC;kiRxAFQO(bj$%kp6?Bt$dFIr++m8e@e93??us8AGGfqz_&Xn_@l|^iMH~8 zUbOk^?xL-J**^9FPXE~p_}-$e{Jlh5{#m}mgj;@?zb^~7^3ZTk=`SZ_2TYpKM z^P{^I-~8on(dHlbfW8m(uRt#sZTb5x=-Bx30Q5a1+UCQLf+pVH?|0b0JgM}oKVbhr zyjk(ho`1MKyT5!6`17D&5N-D7`1_)8v+r8ae-mxvcMIrMn4b|}4g5{X+j!axd=2Ow z`-cA2);D{Jw)M?g#4iwT{yzXT@%d=KwV>BQe>2AK7T}aGQTpa@M}uAudEy&@FGBw6 zKoj2x`Qw$o)#pi|i6>JJZC!WU`O@KvZ~f6yq)+^-&_4!r2k0l>5%@WhH+xP7P5eUP zmfuT3cY=Q6dBE#Y-W8yUcY*vBO5gnRYS6^HLVm8|Tlv2Sns_(JHzL2QKoieE{wAeo z{&Ndx;`xxjRq?I-w~My^;C|6IzwQZn;(dTW1^uf*6MtT~tryroy#aaVzX0hMfi4E! z412EyP5d3DZ}W-m`-T3{=o08BzKi0Uy}tmu6!Loj-v>1DL6F~H@ol~^1bCrv^WS38 z);1OXp?@-bHt?>(tv~7xn)n>Z=PSO||3RRM_ZM#VJ`8jX^b;?DeTzZQgFNy1z)O_= zNBtvc+P4(x4FSCX`iT#he(O(|{wU!#{~rUo7W&5vxB5FDH1UOyr~V5hZ|lvOqHX_V z5#+BCZuS2i(8L!*eu3g!{%;0Nybkh<5dSvN#Fs$64D~kxH1Va7=lW+E@FmKR`By#g zdf|2+t^xQ{!mWQ^0sIx=*1q2sZS}?V(Ps-ne_-Q#XV6_mTY7y&+xl)G=+i}8{#PP@ z6~e85YXn{ndrt&S{37Wyf0+Tg3HmFcZx!(Az%Q3R^XDr;S0g^VfLTaZ4>w;nj_cLQ+h-w2%kmrToEpVuJ2yDGodzwZXR1LTQ!ReYGz_m#ZWPfyUq^B~_3=^p}`co)dehkd#NuLWK#{nkDye6=zP$}N}t(h zC}`q6A%6k*&$5XiS+ z|8pqtq<`o?Z9MNH+U5t8-%q%W2b3>^{^6iUfTsV91YQn$9OwbckNM+~potF=ZvE>C zpeI5<@e1Iqze?c4q~F@tX`qRZ1U?pY74#E7Pw~wj(?Cy${0!md&sT`H_C|aL(A^#J_xB12_;LQJQ;B!DPl|C!~Z;+prqOJZP16>1s#ODEjT=F*F{t-0s)xxd4 zaehA^`dgsyP0+;O6>k2v6yw7J=qJA2A)!C8{*UX2U4)x`Ie-76aO*!k_!+>*h_>`E5N-Z-xoFG(RiZ8Z?*RV+@I|6+yuVGf*}E3@C4Q&ko4?!( zdLiVQzeT_)za07+Kre`uZDa;>#ev z9_f7udE)hur++p8uSfgpSQOfi*^BrJ$aDR?5_o6nGk56auI0|$N zLkly{EiFbkg!-)R}(8Rk!p5s?H;H#w1#^W`jt^C9@kpDaK z^A>30`H+8K@y*{qduaB43-O+i@2vRdZ(jsWybt8}R(vaeFVR+h;suZ|Qhe)AjsQ)( zRJi4LFz6!aUxEI=5j62((r5k8smRZnNRRtN<-k`Vy<+6=9HdtPns^E1nZHutoL^r6 z{TG2A1bN~^fL|hctG~-YUjh1R(3Bqv{j^^h@VU@;18CyIA>WMp83COBH4^v_k=~C% z6EBDSIMBCB-u(Lx&=V1#_*#^Q<*R`FJu;VFZTm0Ph);YL@D|u>18Cywl%Cbk8=&76ZR^+fLC;3|#ODA{GB_Uqns_oG^#5l6 z&w{Rj{!YTJzusN6&1Z08M;4aOOXDKAZPDW=fyU z4`+iWew}b@KXXM}e|9}+;x|D4`=D%31@S50-u|Jz_cLBW{@xO8^N;Nh3*)cV zFYz6KPseeCZ}iVt|F$F2-$}If54(ci3v|9{n_u(>U4Z!1f4Fe75B2kYDD{6y z^430&0?qrI#M|3H$NJy)-fuZh<+1)_xM=G?%0-*~h>sC&^?5$%SpOHhzrx=`%6oZm z>-?y=^?#D^ed>9y2E0r--j7@IlfP==DmQQq6<5GUm9_~53O1=KNI*`MJm04=?zxPX^Pp6{dSit_V)G%F`$>*xDu7ETQK zFzM&}Xu6yq@QiT2kETmSz-@lW_tEqbez4^EK8J;qg8X&Dd0)HF)PN5a&imkVsse7~ z5%04Wp#FK^d70$xd?fFakGnAFx9@}bzJR>l0v>v)B;orGI$RWRo8R)jc^~1n-sXB| zhH%Rt@1y5`E$FxLg73qaA^gYcfcQRxg>!*lq?H)jpTVBe_4IN zPZG}io<;WuyjkVv`xc7+6!1LZeBZ*7R{|bJp(Nq^1lF$$_-~Xx@5^s|J>d5V=Y8;= zs6W1splL&pxAx2T4XhLXp!D;;dbbaQd`IEDZ$47^j>36gf1dDP3+H|OSv!QDZ=G=7 z$6wPa;MRWlzM!IA0{)EbUkCr~lppY`g!8`bxZ;4DeR!XC25_DyFNOViUv{44gB9KH zV&Xnk=IZS4^LU@N6#X0TtCj)hebjQ`yl+|wocBqqf%Cp-#Sy`N_I)((gO;LvyzjYM z@@9YD=Ufk*_ce#W{=AP_gZ%TpWf|moU$WDevi*biAxA)-_aSSMKJP=;0WZS&<#O1M z_Z{<*Ki+37NB+1USt9w{)c$y0U~y@7`MIB4jr{SxVT0st{N{bbiO3)C6RwxMwSV5X ztAsr73l16>@^9la?*mo{xBiXy{iZ{Ig7y1i=;wXBdekrP+f_q9@6*i&o`>|Cl)kMW zcpq;4QQ7sEfqbW<18(-^eYTOpt^Ro5tOohxeX=={xBYhB7wa%6q;L5zM*i}T3Apty zyzeznxaDsM%}4%u-)hjYA$_|)!~0t6gGM2fmlL!7qa5{Li}ZQlppWFO z|KojvkGM4N64;05;gb)u#~+@DZ$bJzZ@d9G&pYHn zKhF~;J%W8~|B~lTI|Ao<^E}`@&)pR`&!exDeQbWh^X3`kpXbR7fb+a~$*|Bqt$px3 zcn107dGDUU>){^-z^L~xc&-0=iVZT##-pj_5X2{pTf4iKN-9A3-VWr^m*QII`k)*P@lG5SS|fV^SoUd^z*!4IdGnr>vnSX z{E6q`Dj}a}J!k9XYUH2$r$y3l^|z(>Pb;MVFs(nhf0}=4cKhP~X*vA+)3$#)RQcaa zf_fM)k&KMDHJ2H|F(w(g&H85#0t`rEpH+DG#HtNyruI{d3azm4}9%U`py5!V7~>z&3^50G6+tT}|9VP_*=KtJ3?Izs(i~Fa8gq!`Rqx|cH+x~Z3_fKn3KmYFi(^`xV z+&`@czNPn17n~F7XQ1l8t^217&kgd{|IA1IG$a4Dz?&p*{>}Z<{PTi-^N)}1pQ3$p z|1`Na%xCR=$J{^70B`I5=}_g*&aZI)bg^*rf9{_)0B`I5>1xSa|M+R!Kdndov~~Zq z+xgl32lr2lgj@gH*8S58$(#Rj|8#+H^S>>H?w^*T z|8DF4>3od;+&^tn{>(qyx_`P(^433d|FjYPk2sit4|8%2poBwnFbl#Ng@q_!PXZxAg<}Pe)!5m7W*_dKHVC)+<^E}hsoDCue_A5k^mG5T0`lBH zZGnGt|8$|`ZTxI)Z2$E1-NQ*x>o4X>-rC=I;Wl4iEc{J<0q|Yn zHXp8qe=iem`w_#h3i+R^^+$czkiLB%xaOLGH|Pt>?+Ul^qQi{=xBad6h3_tX8*h?+ z<*(NsLBHX1?hN=h75_Bg3-1Z|1j*k8ylG{?FBJYf@EOekzexCo%Ix(>pY;Lns`Mvy z3;F9NdYy1Afx7>ZcatXQOcIkH<;Ar}Ph1`Zix#_?e);O!$7?L;h^NpT9%EhY25o^U3pe40tc$ zH%Q+6YjwwfUn&P)A>7KhGC$y7lYhMc`B?=455H=eB)#_u`7`?t?;mjMpGt%qJxjRR z?|$KCpC;kfzFrn?_dOQDzFjgQeY0O3@Ntqi|6V8k7Jm-(&p0IH-|TgaaQi-Kjqp8` z!E)Gt@z5Y|_d9+D`KHkUxB6U)_Y2Gz6Yy(f|Cdxg>pzyFd|%%;l>ejhO%C!lKHVbR z>L-6nz<;Fnm%;t7l34-2O8#>n^v|0eaMQQze%a}-7H;-UaK69d${_!)^cUs_`F%x~ zTo-V&_nE@YUh{+(D*j~Q)*p168|1D0Glg6GtVjPlSGf8AaLHSL^Aq9buSN5M{%=|S z_Ye6u`Em0DZvDwn;g|YqN2vTq3b*>|bYsx}QGFg5^jrJw_Je>|N&XVyrhnN@0XKTF zaPzl8HwU~%{`-WK}eKp(_^k-zCfx<2QhQ|WFSn2ck z7FWQ2y#JQ}Vvx7`=I<3Q6Fyz-pT9SlY!}8$C7rJuhyxc>cY zoWB=X@wxE(d^SIf`OlMmg1ycD>m>hu)jxmlFAwG8@BJk;q5QUg$=~x^h4S-0enaPw z|5N|T`s4c`nxUWdH*(*g{}|bq?@O4~C*al|dB1R(aBIJOUqOD~AaDN5{r@WA)*r?E zgZKT{N#6XO_x+3dh4ihx@O=XFgxh$}`~D5Wt^eWsR#pqQ`Ay8fc;9|4>WBC3hZctX zTmEAH!}s-M;D539&-eArQ2Kr4|MZ_V{X_l+$$#h{9ljj!f3|-4KAahnze)a2`_DQh z=r{ZGeK+fe2fR@7d|%Cs2?4kMp6`q4c22;DtNeUlO$P0s@2gpMZjd+sY3tr2j<{cI^Nzn_){IPM+$#P4*oR9^M1&5FLk_J`j3F%){kG#Dmm~gF zj_2>3GhNR=I0yem$MZ7@#=qS0`sCoxa=iU>@UIZR`(?o&dpp`c{oS9RsoavknI`==4@@HOH4 z1~~b`<-rc07frn*onG%B1p=`Ht`FiTo=Z-{*<^Cf6_f z{*L^I-2~I~7pXkHe*81W{rMh_{Bs@8*DLv_x^nsaA1FOdvfnC&$BUn@a4_N>Cc3}E zqk#7jU7~Qc^foIThWM6#FYymoSaDaVx04Y6V9`e^JW-)5R@SqzF39__#y=Z053~Mn z2mP+MjeEB^1;@B}VP{!Jj?%Kj_3c#_iZ*8-?z;#xxcHW=QQ`(KMUQT z?@x2_eZN5d&5q~WOD=w{__Z#s=l7Jq_&&%#SG&KA`>Smza{rTr<6q0efnWYe2rCtK zZS z{So>w*v0ZQ!ud^s(?|Y; zj(4E@YkDliKVE5G@A@@gHrCTipAG#H`8PVgw=eli9N*iE{DIEC-fzf1B85NJ@%?;+ z@kgfc?{N9|@r##+a@joZFV2wOmekYD#qZ_#vlZWe_D>fVIp2k5|5m2^H|_DD*Z8Ch zHir6T|5JKjsGsU(A*}p$2-D&>u2lTrhp_q4&BrgO3wZhMiucP9((lK+@yVC#Yxjh5 zcpvc3SKOZ;pUC&Iyg!paF(v*vj^86k{0hhOx1 z#~p9C9DF|?>6?RplH>cjrk*n$-?vlpk97Q8`Fv0DA5gh$ydNw5x%m4z{p3IDczzrr z|GynCSNu6Cd~YBB9XItn;P`$X-J*P+?LPZw*uB9IdIU1r&c*ZXe~S3a#qW1thcA^yJZvwwWu`Nt)n^{o4Kkl$I{w?$jL z4Whm8`e#pEN;&~hT=MI;UZ_$Irw{*NO_=oWa zx&(ZCA^%y|Uu7JBjPzK$W4z~FJa4xv70=hbe-?}G8OYW&e7q*{eV^wa@4Nn?-e%Vy z`*z==_%?rFyz_SqbunD?5!3gWD_0LEPySnu@7F!#Z*cqra`1O>{jD!M<9|Mde~IJ! zcFOoO9N)J!@~?Azzg8mu$`t;0Q}irPiN7?3@ArFrex6f1*w20T&z0`a`(uUdY3n@Z z?^Rdtz70^m(((K{>w3wX-lrVT>$S(`0TyPOidvz9CqtM^-uv~l((CKWKl?a;_xpx;SiI65`nPh*6h5YOterkD+PQ1%vlcYx z$u7HD&%26m{YmHFhI06|uz&Uz9deN*Cy72Hz#sc>`pYz))+%gKm@En9%~RN@uz5q6 z2V5!reqQLGGR+sQz3$}_=;!#&is$5U*Sn2>2cjr>+|FT!Opviep&RsqQB)rKaTA5V2I~^(LcV=_0M7A ze?E{OjnhNK_hX8GE_Hu{+#mVXj<;#svhrJ4FFQ9QbYiWK#j`NcIw^y&Liw?I!q-Hb zf7OV#{_{qs{d4Z`m*RI1$t8^E%eANbBmaEI^Sb^ldFv;4d??t_>~fIko-VF`u62Lj z-sJz6t4QDWzoz)+2Y%k<=M%Szf3*ATpI1fuvDZJoKXF4yvgeABzU60-Xsd%sE{;$C zQt-X6`LvdbU*bOd$EWSbpIm(J6Xe@ICHY>zwz;%Eii_`kcGri4o)g?>|5Ug?U(XfdpX8bD@pkmSQoCJfxkqb0I$U9$`1J}W zh<~xds}#;xc#FdO6h5TzafL4{+^BHpUxj?`p|Fp_Qxtw%;g1yFtMEaEk11?a{+<@y zqVNNSoisn*Lt)2#LwWm(9-^>WdQKNzq3|+=a}?gJ@D~d2Rrr9y+MUD5#(kW6@e4Wy zyj0=Y+JCV6de&8zjd{MFtbemGsS5HQ+w?KKWuna-0&4w+h1DCv44(TQH@oP*uV8-G zICZ{VlK-BYC;Rq7{?)D#`V`2&-o^KQ0{P!{{9O9yr||2wKA@hHQsS36zHcwz_(Slw zq3*MPdb^2)Z+E{Fe?%+S^@q~KeS_aS1N*fe`8zp1p5H_JB4yHZh6{arB!5Z@|9;2! zc4PcE9M9XC{5+Q*zcwL%mlXaHj_=1j#y`~YeZ7!hF9$m*abTE|48g zai9IOx8wUUmHb~hz8^2iAK>hHYzqJM9Q=tc{+Dv_SE*j8|2x}<^(^`KIKJ;0xSz#% zkGgoiFD8G5<9|5^{{zQAAP0Z{4oNaF2Y;~R=ZfFp_R?t z?BXAtga4xA_sGHD&h=kIa`2})zV}b+ztHgq=itBU_lNHWzg*!uh20hg`O9Aj`KVXEIt&W=yITCY3U5$&{mfve?<@R) z!XGRAnZjQxyjS7<3LjVaXN9jS+^Dcr^Q(^4A)PNOEEB({=n{o@J{R)8RQXRX4Eay9 z^Bt1ATjBi*A62+Q-|O~xC+Iy~;RuD7DopgA!TF+JQTYCbAh%lgF18oHS@ar(JBYud z!krZEtgxrfz3(D=4}}Hd?p! zfAT`my0-Km*9x~)g7r^te(<56dM5MTyvRS+Uv~6^uY25Z()!d3_iIM~e5m|czo+Pl zo7S{Gb@PX`h7wC^#P6ce4I{0OA0z$KG9Z-C_|58=EuVS21l*5>{;~8d4BRAn@54|Y ztA`InH}(uMJ``=`Y7yO09sfI`NAxz0TQ;n|KG=m?2dI9JRd~9>2?{S#_$`H$-$wsu zS|CsTz*Z~$*4Dq(GQLgmHVbUCz<-(rY`(Ci%H3XlhyVVt)~wikBbKlBruT%>)Aa0P z$vr20w~rx#@m55>!=s@*HqWD)Vy(;4%CV#5)6%EDG(C*>&(iJHxBBR?-VC$RkEi-t zOTg3YLy7k0=RZx~nxi&v|G)ep;I@vTeO?frRzFAmIrz7&vnYR(@U-@Pns8gEP(G%A zU8H<3DgSBduZ!TX3%7L}^S8C_%kXGsOS-QRYV(ll^ z{`Po2)W7WuG2a>CY4yKzM1I!@zDn&kE&UkYSNcEN$3p>P@-h6@&xDg9yF;&$vHs!i z`p|!*m2Ye7Z*Tq%mwjzt(aLRMEdR0jT+F{>>5qFM_;1>HJ2MIOmo|RH`k$T`Y<@m; zi_%Z)e}5r-H!~Q*2H|P>dsw)gQ-yfa`Pt2nkFoVcEd7}MN+au$Sp8k`$mZ+s;57kH zn@`5_-(T`+^Met>)BIo);)TY5my@;c5L@tUMzk>yg-a@kk{7*mxWpPh;a{ z%zj&YJZ(|=)5fFNcpBUPi{bAo{oU!9qCdYj_;cENtT?h>jo~r-AFA}z){8OuSbuVa z^#7~=A8Q{me5b!|emv+VJgxkhcQ(JCkF}rnw$CIoUTy96Ss?qQt*0Jq4E9Z{-9B?H#XT{lS(_Z;R`Tj29gvcuAzcDUIQg_7Yp)<>~xh+V>H${wTKp_3OU} ze@)we+pQ(wY4hU)gr~_rC;e&jlh=i(=`V=buQY;x()Qij3_ys)@DF$olS8-K$MoKgQ+@U0)0JleRxxAUw_g2MSNy|2nOmc&z`3 z&6i{2d93}#(*K6amp0zkM%w@UNd3q5&#qGXY5QY;6rNUpKNg-=|699%XzzL=c3xn1 zWIh&apRxL1EBmFjzg=Gs?JI4*74y%1B%jv4V)g%?@|QMWj;)7c_*nzO{*s-u<^1SY z?LVdA)AtDb&uRGABY36k^F<~s`jgJzuav(u|9DV%TKiooJgt4M5uWB>uSM|V|FHS~ zzf^eI_&rJWleVAoN!$N(Z-nxt*}o>zKg7O2{(|(U)!+a1{rlMbEH?idA^W6_kFovr z*#3QN|9@ChsQJK1Zy&M#A%=h2%NN^kiurHM|CdMlm)QCthR41i{*%&A>z`xu zm-gZV)`#|$Ha|IDc-r{PVY|KiL7#Sg?X_3TA7lQ!rS0=+Z~ve6{Kdw%`H}fad*x&8 zzrEj=ZFn>E4{7~Vd%tgJZ+nRK-?8uWw)XlpRzI=zYi#`(TffHEmowiA^_w>TkA0sP z`@SvqeOYXM+V1b`BKvPK{n7GmZT*q`rD*;l^6j<%P4b_#`9my!&qzLPe?PWA_<`ip zzRz7IJgxtV?cc=OZ)|@s*8aBk{#-2opY;4Xc7F7mZ-@RV?fab=9vfe-mHxE-nb>^n z#)y30yG5;2wzTuVA4kC1#?`Ogu)CpTt9uZZM7 z)<0w-^9Lr|-u<`Oe*TtDuf6+eZ@j+7-z9=ktVe{!%xIkiVi;d=p!;c2M;@~SEjI_U;loEnf?X+3kwPlDaiCZ zW&F6zkkM5F`W6=UN~T^ot!ixMqVZFwojYZ6rm$b}fPOAw!J!ilFD@D|q1X!_+PC14 zzK6KDo2V}8SKRMV2NoV$Frfb-|IpmZ?^{&V%e`EF+Qey9Q>#XgN%~EmQZ>HcIg>B! zH|D}~E5`LbcU;m+O&mRKV$yHi#gnI9JSl`#Qv;&>WD%nrHg$Z(XfL2ol@(P;6}bpYHxoaD>CAj2m4wI_Wol;;0EzM^73*YT`I2Ym`$ucI>F})5ngltQzIAS25m6 zkC`?tXc{$o>eSH}2Tk_bYx7Av#jV*KJ?Y%BPRkURU`VJ{dhC=*lg3Z3+FTX21@r4I zzoxc%eWgBFm=9&Vf70FIZ@G7=n!LSV)w7UsQdHQ&nqsQv<#B;Ru%eEBW^(@#FS6|%6TgCRkJ=`VI{?-Sb#u=h)^I@^18 zl8k8m|Brv>KgPMkeemDOSuQEh`Z9S7f9+)bo}J0t`>WR~eT(O!v_3{#_^{*p@|%2% z-hbU9`I-X_$(9e4d;P!r;C*?XI-zcr*aN`cI0cC&P?T+J@lrs>=Ju type[Self]: ... + def __class_getitem__(cls, __item: Any) -> Type[Self]: ... @final class SchemaValidator: @@ -71,18 +81,14 @@ class SchemaValidator: `CombinedValidator` which may in turn own more `CombinedValidator`s which make up the full schema validator. """ - # note: pyo3 currently supports __new__, but not __init__, though we include __init__ stubs - # and docstrings here (and in the following classes) for documentation purposes - - def __init__(self, schema: CoreSchema, config: CoreConfig | None = None) -> None: - """Initializes the `SchemaValidator`. + def __new__(cls, schema: CoreSchema, config: CoreConfig | None = None) -> Self: + """ + Create a new SchemaValidator. Arguments: - schema: The `CoreSchema` to use for validation. + schema: The [`CoreSchema`][pydantic_core.core_schema.CoreSchema] to use for validation. config: Optionally a [`CoreConfig`][pydantic_core.core_schema.CoreConfig] to configure validation. """ - - def __new__(cls, schema: CoreSchema, config: CoreConfig | None = None) -> Self: ... @property def title(self) -> str: """ @@ -94,11 +100,8 @@ class SchemaValidator: *, strict: bool | None = None, from_attributes: bool | None = None, - context: Any | None = None, + context: 'dict[str, Any] | None' = None, self_instance: Any | None = None, - allow_partial: bool | Literal['off', 'on', 'trailing-strings'] = False, - by_alias: bool | None = None, - by_name: bool | None = None, ) -> Any: """ Validate a Python object against the schema and return the validated object. @@ -113,11 +116,6 @@ class SchemaValidator: [`info.context`][pydantic_core.core_schema.ValidationInfo.context]. self_instance: An instance of a model set attributes on from validation, this is used when running validation from the `__init__` method of a model. - allow_partial: Whether to allow partial validation; if `True` errors in the last element of sequences - and mappings are ignored. - `'trailing-strings'` means any final unfinished JSON string is included in the result. - by_alias: Whether to use the field's alias when validating against the provided input data. - by_name: Whether to use the field's name when validating against the provided input data. Raises: ValidationError: If validation fails. @@ -132,10 +130,8 @@ class SchemaValidator: *, strict: bool | None = None, from_attributes: bool | None = None, - context: Any | None = None, + context: 'dict[str, Any] | None' = None, self_instance: Any | None = None, - by_alias: bool | None = None, - by_name: bool | None = None, ) -> bool: """ Similar to [`validate_python()`][pydantic_core.SchemaValidator.validate_python] but returns a boolean. @@ -151,11 +147,8 @@ class SchemaValidator: input: str | bytes | bytearray, *, strict: bool | None = None, - context: Any | None = None, + context: 'dict[str, Any] | None' = None, self_instance: Any | None = None, - allow_partial: bool | Literal['off', 'on', 'trailing-strings'] = False, - by_alias: bool | None = None, - by_name: bool | None = None, ) -> Any: """ Validate JSON data directly against the schema and return the validated Python object. @@ -173,11 +166,6 @@ class SchemaValidator: context: The context to use for validation, this is passed to functional validators as [`info.context`][pydantic_core.core_schema.ValidationInfo.context]. self_instance: An instance of a model set attributes on from validation. - allow_partial: Whether to allow partial validation; if `True` incomplete JSON will be parsed successfully - and errors in the last element of sequences and mappings are ignored. - `'trailing-strings'` means any final unfinished JSON string is included in the result. - by_alias: Whether to use the field's alias when validating against the provided input data. - by_name: Whether to use the field's name when validating against the provided input data. Raises: ValidationError: If validation fails or if the JSON data is invalid. @@ -187,14 +175,7 @@ class SchemaValidator: The validated Python object. """ def validate_strings( - self, - input: _StringInput, - *, - strict: bool | None = None, - context: Any | None = None, - allow_partial: bool | Literal['off', 'on', 'trailing-strings'] = False, - by_alias: bool | None = None, - by_name: bool | None = None, + self, input: _StringInput, *, strict: bool | None = None, context: 'dict[str, Any] | None' = None ) -> Any: """ Validate a string against the schema and return the validated Python object. @@ -208,11 +189,6 @@ class SchemaValidator: If `None`, the value of [`CoreConfig.strict`][pydantic_core.core_schema.CoreConfig] is used. context: The context to use for validation, this is passed to functional validators as [`info.context`][pydantic_core.core_schema.ValidationInfo.context]. - allow_partial: Whether to allow partial validation; if `True` errors in the last element of sequences - and mappings are ignored. - `'trailing-strings'` means any final unfinished JSON string is included in the result. - by_alias: Whether to use the field's alias when validating against the provided input data. - by_name: Whether to use the field's name when validating against the provided input data. Raises: ValidationError: If validation fails or if the JSON data is invalid. @@ -229,9 +205,7 @@ class SchemaValidator: *, strict: bool | None = None, from_attributes: bool | None = None, - context: Any | None = None, - by_alias: bool | None = None, - by_name: bool | None = None, + context: 'dict[str, Any] | None' = None, ) -> dict[str, Any] | tuple[dict[str, Any], dict[str, Any] | None, set[str]]: """ Validate an assignment to a field on a model. @@ -246,8 +220,6 @@ class SchemaValidator: If `None`, the value of [`CoreConfig.from_attributes`][pydantic_core.core_schema.CoreConfig] is used. context: The context to use for validation, this is passed to functional validators as [`info.context`][pydantic_core.core_schema.ValidationInfo.context]. - by_alias: Whether to use the field's alias when validating against the provided input data. - by_name: Whether to use the field's name when validating against the provided input data. Raises: ValidationError: If validation fails. @@ -274,9 +246,7 @@ class SchemaValidator: `None` if the schema has no default value, otherwise a [`Some`][pydantic_core.Some] containing the default. """ -# In reality, `bool` should be replaced by `Literal[True]` but mypy fails to correctly apply bidirectional type inference -# (e.g. when using `{'a': {'b': True}}`). -_IncEx: TypeAlias = set[int] | set[str] | Mapping[int, _IncEx | bool] | Mapping[str, _IncEx | bool] +_IncEx: TypeAlias = set[int] | set[str] | dict[int, _IncEx] | dict[str, _IncEx] | None @final class SchemaSerializer: @@ -285,31 +255,28 @@ class SchemaSerializer: `CombinedSerializer` which may in turn own more `CombinedSerializer`s which make up the full schema serializer. """ - def __init__(self, schema: CoreSchema, config: CoreConfig | None = None) -> None: - """Initializes the `SchemaSerializer`. + def __new__(cls, schema: CoreSchema, config: CoreConfig | None = None) -> Self: + """ + Create a new SchemaSerializer. Arguments: - schema: The `CoreSchema` to use for serialization. + schema: The [`CoreSchema`][pydantic_core.core_schema.CoreSchema] to use for serialization. config: Optionally a [`CoreConfig`][pydantic_core.core_schema.CoreConfig] to to configure serialization. """ - - def __new__(cls, schema: CoreSchema, config: CoreConfig | None = None) -> Self: ... def to_python( self, value: Any, *, mode: str | None = None, - include: _IncEx | None = None, - exclude: _IncEx | None = None, - by_alias: bool | None = None, + include: _IncEx = None, + exclude: _IncEx = None, + by_alias: bool = True, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, - warnings: bool | Literal['none', 'warn', 'error'] = True, + warnings: bool = True, fallback: Callable[[Any], Any] | None = None, - serialize_as_any: bool = False, - context: Any | None = None, ) -> Any: """ Serialize/marshal a Python object to a Python object including transforming and filtering data. @@ -326,13 +293,9 @@ class SchemaSerializer: exclude_defaults: Whether to exclude fields that are equal to their default value. exclude_none: Whether to exclude fields that have a value of `None`. round_trip: Whether to enable serialization and validation round-trip support. - warnings: How to handle invalid fields. False/"none" ignores them, True/"warn" logs errors, - "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError]. + warnings: Whether to log warnings when invalid fields are encountered. fallback: A function to call when an unknown value is encountered, if `None` a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised. - serialize_as_any: Whether to serialize fields with duck-typing serialization behavior. - context: The context to use for serialization, this is passed to functional serializers as - [`info.context`][pydantic_core.core_schema.SerializationInfo.context]. Raises: PydanticSerializationError: If serialization fails and no `fallback` function is provided. @@ -345,17 +308,15 @@ class SchemaSerializer: value: Any, *, indent: int | None = None, - include: _IncEx | None = None, - exclude: _IncEx | None = None, - by_alias: bool | None = None, + include: _IncEx = None, + exclude: _IncEx = None, + by_alias: bool = True, exclude_unset: bool = False, exclude_defaults: bool = False, exclude_none: bool = False, round_trip: bool = False, - warnings: bool | Literal['none', 'warn', 'error'] = True, + warnings: bool = True, fallback: Callable[[Any], Any] | None = None, - serialize_as_any: bool = False, - context: Any | None = None, ) -> bytes: """ Serialize a Python object to JSON including transforming and filtering data. @@ -371,13 +332,9 @@ class SchemaSerializer: exclude_defaults: Whether to exclude fields that are equal to their default value. exclude_none: Whether to exclude fields that have a value of `None`. round_trip: Whether to enable serialization and validation round-trip support. - warnings: How to handle invalid fields. False/"none" ignores them, True/"warn" logs errors, - "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError]. + warnings: Whether to log warnings when invalid fields are encountered. fallback: A function to call when an unknown value is encountered, if `None` a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised. - serialize_as_any: Whether to serialize fields with duck-typing serialization behavior. - context: The context to use for serialization, this is passed to functional serializers as - [`info.context`][pydantic_core.core_schema.SerializationInfo.context]. Raises: PydanticSerializationError: If serialization fails and no `fallback` function is provided. @@ -390,21 +347,15 @@ def to_json( value: Any, *, indent: int | None = None, - include: _IncEx | None = None, - exclude: _IncEx | None = None, - # Note: In Pydantic 2.11, the default value of `by_alias` on `SchemaSerializer` was changed from `True` to `None`, - # to be consistent with the Pydantic "dump" methods. However, the default of `True` was kept here for - # backwards compatibility. In Pydantic V3, `by_alias` is expected to default to `True` everywhere: + include: _IncEx = None, + exclude: _IncEx = None, by_alias: bool = True, exclude_none: bool = False, round_trip: bool = False, timedelta_mode: Literal['iso8601', 'float'] = 'iso8601', - bytes_mode: Literal['utf8', 'base64', 'hex'] = 'utf8', - inf_nan_mode: Literal['null', 'constants', 'strings'] = 'constants', + bytes_mode: Literal['utf8', 'base64'] = 'utf8', serialize_unknown: bool = False, fallback: Callable[[Any], Any] | None = None, - serialize_as_any: bool = False, - context: Any | None = None, ) -> bytes: """ Serialize a Python object to JSON including transforming and filtering data. @@ -420,15 +371,11 @@ def to_json( exclude_none: Whether to exclude fields that have a value of `None`. round_trip: Whether to enable serialization and validation round-trip support. timedelta_mode: How to serialize `timedelta` objects, either `'iso8601'` or `'float'`. - bytes_mode: How to serialize `bytes` objects, either `'utf8'`, `'base64'`, or `'hex'`. - inf_nan_mode: How to serialize `Infinity`, `-Infinity` and `NaN` values, either `'null'`, `'constants'`, or `'strings'`. + bytes_mode: How to serialize `bytes` objects, either `'utf8'` or `'base64'`. serialize_unknown: Attempt to serialize unknown types, `str(value)` will be used, if that fails `""` will be used. fallback: A function to call when an unknown value is encountered, if `None` a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised. - serialize_as_any: Whether to serialize fields with duck-typing serialization behavior. - context: The context to use for serialization, this is passed to functional serializers as - [`info.context`][pydantic_core.core_schema.SerializationInfo.context]. Raises: PydanticSerializationError: If serialization fails and no `fallback` function is provided. @@ -437,53 +384,18 @@ def to_json( JSON bytes. """ -def from_json( - data: str | bytes | bytearray, - *, - allow_inf_nan: bool = True, - cache_strings: bool | Literal['all', 'keys', 'none'] = True, - allow_partial: bool | Literal['off', 'on', 'trailing-strings'] = False, -) -> Any: - """ - Deserialize JSON data to a Python object. - - This is effectively a faster version of `json.loads()`, with some extra functionality. - - Arguments: - data: The JSON data to deserialize. - allow_inf_nan: Whether to allow `Infinity`, `-Infinity` and `NaN` values as `json.loads()` does by default. - cache_strings: Whether to cache strings to avoid constructing new Python objects, - this should have a significant impact on performance while increasing memory usage slightly, - `all/True` means cache all strings, `keys` means cache only dict keys, `none/False` means no caching. - allow_partial: Whether to allow partial deserialization, if `True` JSON data is returned if the end of the - input is reached before the full object is deserialized, e.g. `["aa", "bb", "c` would return `['aa', 'bb']`. - `'trailing-strings'` means any final unfinished JSON string is included in the result. - - Raises: - ValueError: If deserialization fails. - - Returns: - The deserialized Python object. - """ - def to_jsonable_python( value: Any, *, - include: _IncEx | None = None, - exclude: _IncEx | None = None, - # Note: In Pydantic 2.11, the default value of `by_alias` on `SchemaSerializer` was changed from `True` to `None`, - # to be consistent with the Pydantic "dump" methods. However, the default of `True` was kept here for - # backwards compatibility. In Pydantic V3, `by_alias` is expected to default to `True` everywhere: + include: _IncEx = None, + exclude: _IncEx = None, by_alias: bool = True, exclude_none: bool = False, round_trip: bool = False, timedelta_mode: Literal['iso8601', 'float'] = 'iso8601', - bytes_mode: Literal['utf8', 'base64', 'hex'] = 'utf8', - inf_nan_mode: Literal['null', 'constants', 'strings'] = 'constants', + bytes_mode: Literal['utf8', 'base64'] = 'utf8', serialize_unknown: bool = False, fallback: Callable[[Any], Any] | None = None, - serialize_as_any: bool = False, - context: Any | None = None, ) -> Any: """ Serialize/marshal a Python object to a JSON-serializable Python object including transforming and filtering data. @@ -499,15 +411,11 @@ def to_jsonable_python( exclude_none: Whether to exclude fields that have a value of `None`. round_trip: Whether to enable serialization and validation round-trip support. timedelta_mode: How to serialize `timedelta` objects, either `'iso8601'` or `'float'`. - bytes_mode: How to serialize `bytes` objects, either `'utf8'`, `'base64'`, or `'hex'`. - inf_nan_mode: How to serialize `Infinity`, `-Infinity` and `NaN` values, either `'null'`, `'constants'`, or `'strings'`. + bytes_mode: How to serialize `bytes` objects, either `'utf8'` or `'base64'`. serialize_unknown: Attempt to serialize unknown types, `str(value)` will be used, if that fails `""` will be used. fallback: A function to call when an unknown value is encountered, if `None` a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised. - serialize_as_any: Whether to serialize fields with duck-typing serialization behavior. - context: The context to use for serialization, this is passed to functional serializers as - [`info.context`][pydantic_core.core_schema.SerializationInfo.context]. Raises: PydanticSerializationError: If serialization fails and no `fallback` function is provided. @@ -522,43 +430,133 @@ class Url(SupportsAllComparisons): by Mozilla. """ - def __init__(self, url: str) -> None: ... - def __new__(cls, url: str) -> Self: ... + def __new__(cls, url: str) -> Self: + """ + Create a new `Url` instance. + + Args: + url: String representation of a URL. + + Returns: + A new `Url` instance. + + Raises: + ValidationError: If the URL is invalid. + """ @property - def scheme(self) -> str: ... + def scheme(self) -> str: + """ + The scheme part of the URL. + + e.g. `https` in `https://user:pass@host:port/path?query#fragment` + """ @property - def username(self) -> str | None: ... + def username(self) -> str | None: + """ + The username part of the URL, or `None`. + + e.g. `user` in `https://user:pass@host:port/path?query#fragment` + """ @property - def password(self) -> str | None: ... + def password(self) -> str | None: + """ + The password part of the URL, or `None`. + + e.g. `pass` in `https://user:pass@host:port/path?query#fragment` + """ @property - def host(self) -> str | None: ... - def unicode_host(self) -> str | None: ... + def host(self) -> str | None: + """ + The host part of the URL, or `None`. + + If the URL must be punycode encoded, this is the encoded host, e.g if the input URL is `https://£££.com`, + `host` will be `xn--9aaa.com` + """ + def unicode_host(self) -> str | None: + """ + The host part of the URL as a unicode string, or `None`. + + e.g. `host` in `https://user:pass@host:port/path?query#fragment` + + If the URL must be punycode encoded, this is the decoded host, e.g if the input URL is `https://£££.com`, + `unicode_host()` will be `£££.com` + """ @property - def port(self) -> int | None: ... + def port(self) -> int | None: + """ + The port part of the URL, or `None`. + + e.g. `port` in `https://user:pass@host:port/path?query#fragment` + """ @property - def path(self) -> str | None: ... + def path(self) -> str | None: + """ + The path part of the URL, or `None`. + + e.g. `/path` in `https://user:pass@host:port/path?query#fragment` + """ @property - def query(self) -> str | None: ... - def query_params(self) -> list[tuple[str, str]]: ... + def query(self) -> str | None: + """ + The query part of the URL, or `None`. + + e.g. `query` in `https://user:pass@host:port/path?query#fragment` + """ + def query_params(self) -> list[tuple[str, str]]: + """ + The query part of the URL as a list of key-value pairs. + + e.g. `[('foo', 'bar')]` in `https://user:pass@host:port/path?foo=bar#fragment` + """ @property - def fragment(self) -> str | None: ... - def unicode_string(self) -> str: ... + def fragment(self) -> str | None: + """ + The fragment part of the URL, or `None`. + + e.g. `fragment` in `https://user:pass@host:port/path?query#fragment` + """ + def unicode_string(self) -> str: + """ + The URL as a unicode string, unlike `__str__()` this will not punycode encode the host. + + If the URL must be punycode encoded, this is the decoded string, e.g if the input URL is `https://£££.com`, + `unicode_string()` will be `https://£££.com` + """ def __repr__(self) -> str: ... - def __str__(self) -> str: ... + def __str__(self) -> str: + """ + The URL as a string, this will punycode encode the host if required. + """ def __deepcopy__(self, memo: dict) -> str: ... @classmethod def build( cls, *, scheme: str, - username: str | None = None, - password: str | None = None, + username: Optional[str] = None, + password: Optional[str] = None, host: str, - port: int | None = None, - path: str | None = None, - query: str | None = None, - fragment: str | None = None, - ) -> Self: ... + port: Optional[int] = None, + path: Optional[str] = None, + query: Optional[str] = None, + fragment: Optional[str] = None, + ) -> Self: + """ + Build a new `Url` instance from its component parts. + + Args: + scheme: The scheme part of the URL. + username: The username part of the URL, or omit for no username. + password: The password part of the URL, or omit for no password. + host: The host part of the URL. + port: The port part of the URL, or omit for no port. + path: The path part of the URL, or omit for no path. + query: The query part of the URL, or omit for no query. + fragment: The fragment part of the URL, or omit for no fragment. + + Returns: + An instance of URL + """ class MultiHostUrl(SupportsAllComparisons): """ @@ -568,36 +566,116 @@ class MultiHostUrl(SupportsAllComparisons): by Mozilla. """ - def __init__(self, url: str) -> None: ... - def __new__(cls, url: str) -> Self: ... + def __new__(cls, url: str) -> Self: + """ + Create a new `MultiHostUrl` instance. + + Args: + url: String representation of a URL. + + Returns: + A new `MultiHostUrl` instance. + + Raises: + ValidationError: If the URL is invalid. + """ @property - def scheme(self) -> str: ... + def scheme(self) -> str: + """ + The scheme part of the URL. + + e.g. `https` in `https://foo.com,bar.com/path?query#fragment` + """ @property - def path(self) -> str | None: ... + def path(self) -> str | None: + """ + The path part of the URL, or `None`. + + e.g. `/path` in `https://foo.com,bar.com/path?query#fragment` + """ @property - def query(self) -> str | None: ... - def query_params(self) -> list[tuple[str, str]]: ... + def query(self) -> str | None: + """ + The query part of the URL, or `None`. + + e.g. `query` in `https://foo.com,bar.com/path?query#fragment` + """ + def query_params(self) -> list[tuple[str, str]]: + """ + The query part of the URL as a list of key-value pairs. + + e.g. `[('foo', 'bar')]` in `https://foo.com,bar.com/path?query#fragment` + """ @property - def fragment(self) -> str | None: ... - def hosts(self) -> list[MultiHostHost]: ... - def unicode_string(self) -> str: ... + def fragment(self) -> str | None: + """ + The fragment part of the URL, or `None`. + + e.g. `fragment` in `https://foo.com,bar.com/path?query#fragment` + """ + def hosts(self) -> list[MultiHostHost]: + ''' + + The hosts of the `MultiHostUrl` as [`MultiHostHost`][pydantic_core.MultiHostHost] typed dicts. + + ```py + from pydantic_core import MultiHostUrl + + mhu = MultiHostUrl('https://foo.com:123,foo:bar@bar.com/path') + print(mhu.hosts()) + """ + [ + {'username': None, 'password': None, 'host': 'foo.com', 'port': 123}, + {'username': 'foo', 'password': 'bar', 'host': 'bar.com', 'port': 443} + ] + ``` + Returns: + A list of dicts, each representing a host. + ''' + def unicode_string(self) -> str: + """ + The URL as a unicode string, unlike `__str__()` this will not punycode encode the hosts. + """ def __repr__(self) -> str: ... - def __str__(self) -> str: ... + def __str__(self) -> str: + """ + The URL as a string, this will punycode encode the hosts if required. + """ def __deepcopy__(self, memo: dict) -> Self: ... @classmethod def build( cls, *, scheme: str, - hosts: list[MultiHostHost] | None = None, - username: str | None = None, - password: str | None = None, - host: str | None = None, - port: int | None = None, - path: str | None = None, - query: str | None = None, - fragment: str | None = None, - ) -> Self: ... + hosts: Optional[list[MultiHostHost]] = None, + username: Optional[str] = None, + password: Optional[str] = None, + host: Optional[str] = None, + port: Optional[int] = None, + path: Optional[str] = None, + query: Optional[str] = None, + fragment: Optional[str] = None, + ) -> Self: + """ + Build a new `MultiHostUrl` instance from its component parts. + + This method takes either `hosts` - a list of `MultiHostHost` typed dicts, or the individual components + `username`, `password`, `host` and `port`. + + Args: + scheme: The scheme part of the URL. + hosts: Multiple hosts to build the URL from. + username: The username part of the URL. + password: The password part of the URL. + host: The host part of the URL. + port: The port part of the URL. + path: The path part of the URL. + query: The query part of the URL, or omit for no query. + fragment: The fragment part of the URL, or omit for no fragment. + + Returns: + An instance of `MultiHostUrl` + """ @final class SchemaError(Exception): @@ -617,19 +695,20 @@ class SchemaError(Exception): A list of [`ErrorDetails`][pydantic_core.ErrorDetails] for each error in the schema. """ +@final class ValidationError(ValueError): """ `ValidationError` is the exception raised by `pydantic-core` when validation fails, it contains a list of errors which detail why validation failed. """ - @classmethod + + @staticmethod def from_exception_data( - cls, title: str, line_errors: list[InitErrorDetails], input_type: Literal['python', 'json'] = 'python', hide_input: bool = False, - ) -> Self: + ) -> ValidationError: """ Python constructor for a Validation Error. @@ -688,303 +767,56 @@ class ValidationError(ValueError): a JSON string. """ - def __repr__(self) -> str: - """ - A string representation of the validation error. - - Whether or not documentation URLs are included in the repr is controlled by the - environment variable `PYDANTIC_ERRORS_INCLUDE_URL` being set to `1` or - `true`; by default, URLs are shown. - - Due to implementation details, this environment variable can only be set once, - before the first validation error is created. - """ - +@final class PydanticCustomError(ValueError): - """A custom exception providing flexible error handling for Pydantic validators. - - You can raise this error in custom validators when you'd like flexibility in regards to the error type, message, and context. - - Example: - ```py - from pydantic_core import PydanticCustomError - - def custom_validator(v) -> None: - if v <= 10: - raise PydanticCustomError('custom_value_error', 'Value must be greater than {value}', {'value': 10, 'extra_context': 'extra_data'}) - return v - ``` - """ - - def __init__( - self, error_type: LiteralString, message_template: LiteralString, context: dict[str, Any] | None = None - ) -> None: - """Initializes the `PydanticCustomError`. - - Arguments: - error_type: The error type. - message_template: The message template. - context: The data to inject into the message template. - """ - def __new__( cls, error_type: LiteralString, message_template: LiteralString, context: dict[str, Any] | None = None ) -> Self: ... @property - def context(self) -> dict[str, Any] | None: - """Values which are required to render the error message, and could hence be useful in passing error data forward.""" - + def context(self) -> dict[str, Any] | None: ... @property - def type(self) -> str: - """The error type associated with the error. For consistency with Pydantic, this is typically a snake_case string.""" - + def type(self) -> str: ... @property - def message_template(self) -> str: - """The message template associated with the error. This is a string that can be formatted with context variables in `{curly_braces}`.""" - - def message(self) -> str: - """The formatted message associated with the error. This presents as the message template with context variables appropriately injected.""" + def message_template(self) -> str: ... + def message(self) -> str: ... @final class PydanticKnownError(ValueError): - """A helper class for raising exceptions that mimic Pydantic's built-in exceptions, with more flexibility in regards to context. - - Unlike [`PydanticCustomError`][pydantic_core.PydanticCustomError], the `error_type` argument must be a known `ErrorType`. - - Example: - ```py - from pydantic_core import PydanticKnownError - - def custom_validator(v) -> None: - if v <= 10: - raise PydanticKnownError(error_type='greater_than', context={'gt': 10}) - return v - ``` - """ - - def __init__(self, error_type: ErrorType, context: dict[str, Any] | None = None) -> None: - """Initializes the `PydanticKnownError`. - - Arguments: - error_type: The error type. - context: The data to inject into the message template. - """ - def __new__(cls, error_type: ErrorType, context: dict[str, Any] | None = None) -> Self: ... @property - def context(self) -> dict[str, Any] | None: - """Values which are required to render the error message, and could hence be useful in passing error data forward.""" - + def context(self) -> dict[str, Any] | None: ... @property - def type(self) -> ErrorType: - """The type of the error.""" - + def type(self) -> ErrorType: ... @property - def message_template(self) -> str: - """The message template associated with the provided error type. This is a string that can be formatted with context variables in `{curly_braces}`.""" - - def message(self) -> str: - """The formatted message associated with the error. This presents as the message template with context variables appropriately injected.""" + def message_template(self) -> str: ... + def message(self) -> str: ... @final class PydanticOmit(Exception): - """An exception to signal that a field should be omitted from a generated result. - - This could span from omitting a field from a JSON Schema to omitting a field from a serialized result. - Upcoming: more robust support for using PydanticOmit in custom serializers is still in development. - Right now, this is primarily used in the JSON Schema generation process. - - Example: - ```py - from typing import Callable - - from pydantic_core import PydanticOmit - - from pydantic import BaseModel - from pydantic.json_schema import GenerateJsonSchema, JsonSchemaValue - - - class MyGenerateJsonSchema(GenerateJsonSchema): - def handle_invalid_for_json_schema(self, schema, error_info) -> JsonSchemaValue: - raise PydanticOmit - - - class Predicate(BaseModel): - name: str = 'no-op' - func: Callable = lambda x: x - - - instance_example = Predicate() - - validation_schema = instance_example.model_json_schema(schema_generator=MyGenerateJsonSchema, mode='validation') - print(validation_schema) - ''' - {'properties': {'name': {'default': 'no-op', 'title': 'Name', 'type': 'string'}}, 'title': 'Predicate', 'type': 'object'} - ''' - ``` - - For a more in depth example / explanation, see the [customizing JSON schema](../concepts/json_schema.md#customizing-the-json-schema-generation-process) docs. - """ - def __new__(cls) -> Self: ... @final class PydanticUseDefault(Exception): - """An exception to signal that standard validation either failed or should be skipped, and the default value should be used instead. - - This warning can be raised in custom valiation functions to redirect the flow of validation. - - Example: - ```py - from pydantic_core import PydanticUseDefault - from datetime import datetime - from pydantic import BaseModel, field_validator - - - class Event(BaseModel): - name: str = 'meeting' - time: datetime - - @field_validator('name', mode='plain') - def name_must_be_present(cls, v) -> str: - if not v or not isinstance(v, str): - raise PydanticUseDefault() - return v - - - event1 = Event(name='party', time=datetime(2024, 1, 1, 12, 0, 0)) - print(repr(event1)) - # > Event(name='party', time=datetime.datetime(2024, 1, 1, 12, 0)) - event2 = Event(time=datetime(2024, 1, 1, 12, 0, 0)) - print(repr(event2)) - # > Event(name='meeting', time=datetime.datetime(2024, 1, 1, 12, 0)) - ``` - - For an additional example, see the [validating partial json data](../concepts/json.md#partial-json-parsing) section of the Pydantic documentation. - """ - def __new__(cls) -> Self: ... @final class PydanticSerializationError(ValueError): - """An error raised when an issue occurs during serialization. - - In custom serializers, this error can be used to indicate that serialization has failed. - """ - - def __init__(self, message: str) -> None: - """Initializes the `PydanticSerializationError`. - - Arguments: - message: The message associated with the error. - """ - def __new__(cls, message: str) -> Self: ... @final class PydanticSerializationUnexpectedValue(ValueError): - """An error raised when an unexpected value is encountered during serialization. - - This error is often caught and coerced into a warning, as `pydantic-core` generally makes a best attempt - at serializing values, in contrast with validation where errors are eagerly raised. - - Example: - ```py - from pydantic import BaseModel, field_serializer - from pydantic_core import PydanticSerializationUnexpectedValue - - class BasicPoint(BaseModel): - x: int - y: int - - @field_serializer('*') - def serialize(self, v): - if not isinstance(v, int): - raise PydanticSerializationUnexpectedValue(f'Expected type `int`, got {type(v)} with value {v}') - return v - - point = BasicPoint(x=1, y=2) - # some sort of mutation - point.x = 'a' - - print(point.model_dump()) - ''' - UserWarning: Pydantic serializer warnings: - PydanticSerializationUnexpectedValue(Expected type `int`, got with value a) - return self.__pydantic_serializer__.to_python( - {'x': 'a', 'y': 2} - ''' - ``` - - This is often used internally in `pydantic-core` when unexpected types are encountered during serialization, - but it can also be used by users in custom serializers, as seen above. - """ - - def __init__(self, message: str) -> None: - """Initializes the `PydanticSerializationUnexpectedValue`. - - Arguments: - message: The message associated with the unexpected value. - """ - def __new__(cls, message: str | None = None) -> Self: ... @final class ArgsKwargs: - """A construct used to store arguments and keyword arguments for a function call. - - This data structure is generally used to store information for core schemas associated with functions (like in an arguments schema). - This data structure is also currently used for some validation against dataclasses. - - Example: - ```py - from pydantic.dataclasses import dataclass - from pydantic import model_validator - - - @dataclass - class Model: - a: int - b: int - - @model_validator(mode="before") - @classmethod - def no_op_validator(cls, values): - print(values) - return values - - Model(1, b=2) - #> ArgsKwargs((1,), {"b": 2}) - - Model(1, 2) - #> ArgsKwargs((1, 2), {}) - - Model(a=1, b=2) - #> ArgsKwargs((), {"a": 1, "b": 2}) - ``` - """ - - def __init__(self, args: tuple[Any, ...], kwargs: dict[str, Any] | None = None) -> None: - """Initializes the `ArgsKwargs`. - - Arguments: - args: The arguments (inherently ordered) for a function call. - kwargs: The keyword arguments for a function call - """ - def __new__(cls, args: tuple[Any, ...], kwargs: dict[str, Any] | None = None) -> Self: ... @property - def args(self) -> tuple[Any, ...]: - """The arguments (inherently ordered) for a function call.""" - + def args(self) -> tuple[Any, ...]: ... @property - def kwargs(self) -> dict[str, Any] | None: - """The keyword arguments for a function call.""" + def kwargs(self) -> dict[str, Any] | None: ... @final class PydanticUndefinedType: - """A type used as a sentinel for undefined values.""" - def __copy__(self) -> Self: ... def __deepcopy__(self, memo: Any) -> Self: ... @@ -997,41 +829,17 @@ def list_all_errors() -> list[ErrorTypeInfo]: Returns: A list of `ErrorTypeInfo` typed dicts. """ + @final class TzInfo(datetime.tzinfo): - """An `pydantic-core` implementation of the abstract [`datetime.tzinfo`][] class.""" - - # def __new__(cls, seconds: float) -> Self: ... - - # Docstrings for attributes sourced from the abstract base class, [`datetime.tzinfo`](https://docs.python.org/3/library/datetime.html#datetime.tzinfo). - - def tzname(self, dt: datetime.datetime | None) -> str | None: - """Return the time zone name corresponding to the [`datetime`][datetime.datetime] object _dt_, as a string. - - For more info, see [`tzinfo.tzname`][datetime.tzinfo.tzname]. - """ - - def utcoffset(self, dt: datetime.datetime | None) -> datetime.timedelta | None: - """Return offset of local time from UTC, as a [`timedelta`][datetime.timedelta] object that is positive east of UTC. If local time is west of UTC, this should be negative. - - More info can be found at [`tzinfo.utcoffset`][datetime.tzinfo.utcoffset]. - """ - - def dst(self, dt: datetime.datetime | None) -> datetime.timedelta | None: - """Return the daylight saving time (DST) adjustment, as a [`timedelta`][datetime.timedelta] object or `None` if DST information isn’t known. - - More info can be found at[`tzinfo.dst`][datetime.tzinfo.dst].""" - - def fromutc(self, dt: datetime.datetime) -> datetime.datetime: - """Adjust the date and time data associated datetime object _dt_, returning an equivalent datetime in self’s local time. - - More info can be found at [`tzinfo.fromutc`][datetime.tzinfo.fromutc].""" - - def __deepcopy__(self, _memo: dict[Any, Any]) -> TzInfo: ... + def tzname(self, _dt: datetime.datetime | None) -> str | None: ... + def utcoffset(self, _dt: datetime.datetime | None) -> datetime.timedelta: ... + def dst(self, _dt: datetime.datetime | None) -> datetime.timedelta: ... + def fromutc(self, dt: datetime.datetime) -> datetime.datetime: ... + def __deepcopy__(self, _memo: dict[Any, Any]) -> 'TzInfo': ... def validate_core_schema(schema: CoreSchema, *, strict: bool | None = None) -> CoreSchema: - """Validate a core schema. - + """Validate a CoreSchema This currently uses lax mode for validation (i.e. will coerce strings to dates and such) but may use strict mode in the future. We may also remove this function altogether, do not rely on it being present if you are diff --git a/venv/lib/python3.12/site-packages/pydantic_core/core_schema.py b/venv/lib/python3.12/site-packages/pydantic_core/core_schema.py index 0ab3dd9..2d7061f 100644 --- a/venv/lib/python3.12/site-packages/pydantic_core/core_schema.py +++ b/venv/lib/python3.12/site-packages/pydantic_core/core_schema.py @@ -7,11 +7,10 @@ from __future__ import annotations as _annotations import sys import warnings -from collections.abc import Hashable, Mapping +from collections.abc import Mapping from datetime import date, datetime, time, timedelta from decimal import Decimal -from re import Pattern -from typing import TYPE_CHECKING, Any, Callable, Literal, Union +from typing import TYPE_CHECKING, Any, Callable, Dict, Hashable, List, Set, Tuple, Type, Union from typing_extensions import deprecated @@ -25,6 +24,11 @@ if sys.version_info < (3, 11): else: from typing import Protocol, Required, TypeAlias +if sys.version_info < (3, 9): + from typing_extensions import Literal +else: + from typing import Literal + if TYPE_CHECKING: from pydantic_core import PydanticUndefined else: @@ -54,6 +58,8 @@ class CoreConfig(TypedDict, total=False): `field_names` to construct error `loc`s. Default is `True`. revalidate_instances: Whether instances of models and dataclasses should re-validate. Default is 'never'. validate_default: Whether to validate default values during validation. Default is `False`. + populate_by_name: Whether an aliased field may be populated by its name as given by the model attribute, + as well as the alias. (Replaces 'allow_population_by_field_name' in Pydantic v1.) Default is `False`. str_max_length: The maximum length for string fields. str_min_length: The minimum length for string fields. str_strip_whitespace: Whether to strip whitespace from string fields. @@ -62,19 +68,11 @@ class CoreConfig(TypedDict, total=False): allow_inf_nan: Whether to allow infinity and NaN values for float fields. Default is `True`. ser_json_timedelta: The serialization option for `timedelta` values. Default is 'iso8601'. ser_json_bytes: The serialization option for `bytes` values. Default is 'utf8'. - ser_json_inf_nan: The serialization option for infinity and NaN values - in float fields. Default is 'null'. - val_json_bytes: The validation option for `bytes` values, complementing ser_json_bytes. Default is 'utf8'. hide_input_in_errors: Whether to hide input data from `ValidationError` representation. validation_error_cause: Whether to add user-python excs to the __cause__ of a ValidationError. Requires exceptiongroup backport pre Python 3.11. coerce_numbers_to_str: Whether to enable coercion of any `Number` type to `str` (not applicable in `strict` mode). regex_engine: The regex engine to use for regex pattern validation. Default is 'rust-regex'. See `StringSchema`. - cache_strings: Whether to cache strings. Default is `True`, `True` or `'all'` is required to cache strings - during general validation since validators don't know if they're in a key or a value. - validate_by_alias: Whether to use the field's alias when validating against the provided input data. Default is `True`. - validate_by_name: Whether to use the field's name when validating against the provided input data. Default is `False`. Replacement for `populate_by_name`. - serialize_by_alias: Whether to serialize by alias. Default is `False`, expected to change to `True` in V3. """ title: str @@ -92,6 +90,7 @@ class CoreConfig(TypedDict, total=False): # whether to validate default values during validation, default False validate_default: bool # used on typed-dicts and arguments + populate_by_name: bool # replaces `allow_population_by_field_name` in pydantic v1 # fields related to string fields only str_max_length: int str_min_length: int @@ -102,18 +101,11 @@ class CoreConfig(TypedDict, total=False): allow_inf_nan: bool # default: True # the config options are used to customise serialization to JSON ser_json_timedelta: Literal['iso8601', 'float'] # default: 'iso8601' - ser_json_bytes: Literal['utf8', 'base64', 'hex'] # default: 'utf8' - ser_json_inf_nan: Literal['null', 'constants', 'strings'] # default: 'null' - val_json_bytes: Literal['utf8', 'base64', 'hex'] # default: 'utf8' + ser_json_bytes: Literal['utf8', 'base64'] # default: 'utf8' # used to hide input data from ValidationError repr hide_input_in_errors: bool validation_error_cause: bool # default: False coerce_numbers_to_str: bool # default: False - regex_engine: Literal['rust-regex', 'python-re'] # default: 'rust-regex' - cache_strings: Union[bool, Literal['all', 'keys', 'none']] # default: 'True' - validate_by_alias: bool # default: True - validate_by_name: bool # default: False - serialize_by_alias: bool # default: False IncExCall: TypeAlias = 'set[int | str] | dict[int | str, IncExCall] | None' @@ -121,46 +113,51 @@ IncExCall: TypeAlias = 'set[int | str] | dict[int | str, IncExCall] | None' class SerializationInfo(Protocol): @property - def include(self) -> IncExCall: ... + def include(self) -> IncExCall: + ... @property - def exclude(self) -> IncExCall: ... + def exclude(self) -> IncExCall: + ... @property - def context(self) -> Any | None: - """Current serialization context.""" + def mode(self) -> str: + ... @property - def mode(self) -> str: ... + def by_alias(self) -> bool: + ... @property - def by_alias(self) -> bool: ... + def exclude_unset(self) -> bool: + ... @property - def exclude_unset(self) -> bool: ... + def exclude_defaults(self) -> bool: + ... @property - def exclude_defaults(self) -> bool: ... + def exclude_none(self) -> bool: + ... @property - def exclude_none(self) -> bool: ... + def round_trip(self) -> bool: + ... - @property - def serialize_as_any(self) -> bool: ... + def mode_is_json(self) -> bool: + ... - @property - def round_trip(self) -> bool: ... + def __str__(self) -> str: + ... - def mode_is_json(self) -> bool: ... - - def __str__(self) -> str: ... - - def __repr__(self) -> str: ... + def __repr__(self) -> str: + ... class FieldSerializationInfo(SerializationInfo, Protocol): @property - def field_name(self) -> str: ... + def field_name(self) -> str: + ... class ValidationInfo(Protocol): @@ -184,7 +181,7 @@ class ValidationInfo(Protocol): ... @property - def data(self) -> dict[str, Any]: + def data(self) -> Dict[str, Any]: """The data being validated for this model.""" ... @@ -219,7 +216,6 @@ ExpectedSerializationTypes = Literal[ 'multi-host-url', 'json', 'uuid', - 'any', ] @@ -237,13 +233,13 @@ def simple_ser_schema(type: ExpectedSerializationTypes) -> SimpleSerSchema: return SimpleSerSchema(type=type) -# (input_value: Any, /) -> Any +# (__input_value: Any) -> Any GeneralPlainNoInfoSerializerFunction = Callable[[Any], Any] -# (input_value: Any, info: FieldSerializationInfo, /) -> Any +# (__input_value: Any, __info: FieldSerializationInfo) -> Any GeneralPlainInfoSerializerFunction = Callable[[Any, SerializationInfo], Any] -# (model: Any, input_value: Any, /) -> Any +# (__model: Any, __input_value: Any) -> Any FieldPlainNoInfoSerializerFunction = Callable[[Any, Any], Any] -# (model: Any, input_value: Any, info: FieldSerializationInfo, /) -> Any +# (__model: Any, __input_value: Any, __info: FieldSerializationInfo) -> Any FieldPlainInfoSerializerFunction = Callable[[Any, Any, FieldSerializationInfo], Any] SerializerFunction = Union[ GeneralPlainNoInfoSerializerFunction, @@ -287,7 +283,7 @@ def plain_serializer_function_ser_schema( function: The function to use for serialization is_field_serializer: Whether the serializer is for a field, e.g. takes `model` as the first argument, and `info` includes `field_name` - info_arg: Whether the function takes an `info` argument + info_arg: Whether the function takes an `__info` argument return_schema: Schema to use for serializing return value when_used: When the function should be called """ @@ -305,16 +301,17 @@ def plain_serializer_function_ser_schema( class SerializerFunctionWrapHandler(Protocol): # pragma: no cover - def __call__(self, input_value: Any, index_key: int | str | None = None, /) -> Any: ... + def __call__(self, __input_value: Any, __index_key: int | str | None = None) -> Any: + ... -# (input_value: Any, serializer: SerializerFunctionWrapHandler, /) -> Any +# (__input_value: Any, __serializer: SerializerFunctionWrapHandler) -> Any GeneralWrapNoInfoSerializerFunction = Callable[[Any, SerializerFunctionWrapHandler], Any] -# (input_value: Any, serializer: SerializerFunctionWrapHandler, info: SerializationInfo, /) -> Any +# (__input_value: Any, __serializer: SerializerFunctionWrapHandler, __info: SerializationInfo) -> Any GeneralWrapInfoSerializerFunction = Callable[[Any, SerializerFunctionWrapHandler, SerializationInfo], Any] -# (model: Any, input_value: Any, serializer: SerializerFunctionWrapHandler, /) -> Any +# (__model: Any, __input_value: Any, __serializer: SerializerFunctionWrapHandler) -> Any FieldWrapNoInfoSerializerFunction = Callable[[Any, Any, SerializerFunctionWrapHandler], Any] -# (model: Any, input_value: Any, serializer: SerializerFunctionWrapHandler, info: FieldSerializationInfo, /) -> Any +# (__model: Any, __input_value: Any, __serializer: SerializerFunctionWrapHandler, __info: FieldSerializationInfo) -> Any FieldWrapInfoSerializerFunction = Callable[[Any, Any, SerializerFunctionWrapHandler, FieldSerializationInfo], Any] WrapSerializerFunction = Union[ GeneralWrapNoInfoSerializerFunction, @@ -350,7 +347,7 @@ def wrap_serializer_function_ser_schema( function: The function to use for serialization is_field_serializer: Whether the serializer is for a field, e.g. takes `model` as the first argument, and `info` includes `field_name` - info_arg: Whether the function takes an `info` argument + info_arg: Whether the function takes an `__info` argument schema: The schema to use for the inner serialization return_schema: Schema to use for serializing return value when_used: When the function should be called @@ -410,11 +407,11 @@ def to_string_ser_schema(*, when_used: WhenUsed = 'json-unless-none') -> ToStrin class ModelSerSchema(TypedDict, total=False): type: Required[Literal['model']] - cls: Required[type[Any]] + cls: Required[Type[Any]] schema: Required[CoreSchema] -def model_ser_schema(cls: type[Any], schema: CoreSchema) -> ModelSerSchema: +def model_ser_schema(cls: Type[Any], schema: CoreSchema) -> ModelSerSchema: """ Returns a schema for serialization using a model. @@ -435,39 +432,16 @@ SerSchema = Union[ ] -class InvalidSchema(TypedDict, total=False): - type: Required[Literal['invalid']] - ref: str - metadata: dict[str, Any] - # note, we never plan to use this, but include it for type checking purposes to match - # all other CoreSchema union members - serialization: SerSchema - - -def invalid_schema(ref: str | None = None, metadata: dict[str, Any] | None = None) -> InvalidSchema: - """ - Returns an invalid schema, used to indicate that a schema is invalid. - - Returns a schema that matches any value, e.g.: - - Args: - ref: optional unique identifier of the schema, used to reference the schema in other places - metadata: Any other information you want to include with the schema, not used by pydantic-core - """ - - return _dict_not_none(type='invalid', ref=ref, metadata=metadata) - - class ComputedField(TypedDict, total=False): type: Required[Literal['computed-field']] property_name: Required[str] return_schema: Required[CoreSchema] alias: str - metadata: dict[str, Any] + metadata: Any def computed_field( - property_name: str, return_schema: CoreSchema, *, alias: str | None = None, metadata: dict[str, Any] | None = None + property_name: str, return_schema: CoreSchema, *, alias: str | None = None, metadata: Any = None ) -> ComputedField: """ ComputedFields are properties of a model or dataclass that are included in serialization. @@ -486,13 +460,11 @@ def computed_field( class AnySchema(TypedDict, total=False): type: Required[Literal['any']] ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema -def any_schema( - *, ref: str | None = None, metadata: dict[str, Any] | None = None, serialization: SerSchema | None = None -) -> AnySchema: +def any_schema(*, ref: str | None = None, metadata: Any = None, serialization: SerSchema | None = None) -> AnySchema: """ Returns a schema that matches any value, e.g.: @@ -515,13 +487,11 @@ def any_schema( class NoneSchema(TypedDict, total=False): type: Required[Literal['none']] ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema -def none_schema( - *, ref: str | None = None, metadata: dict[str, Any] | None = None, serialization: SerSchema | None = None -) -> NoneSchema: +def none_schema(*, ref: str | None = None, metadata: Any = None, serialization: SerSchema | None = None) -> NoneSchema: """ Returns a schema that matches a None value, e.g.: @@ -545,15 +515,12 @@ class BoolSchema(TypedDict, total=False): type: Required[Literal['bool']] strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def bool_schema( - strict: bool | None = None, - ref: str | None = None, - metadata: dict[str, Any] | None = None, - serialization: SerSchema | None = None, + strict: bool | None = None, ref: str | None = None, metadata: Any = None, serialization: SerSchema | None = None ) -> BoolSchema: """ Returns a schema that matches a bool value, e.g.: @@ -584,7 +551,7 @@ class IntSchema(TypedDict, total=False): gt: int strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -597,7 +564,7 @@ def int_schema( gt: int | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> IntSchema: """ @@ -646,7 +613,7 @@ class FloatSchema(TypedDict, total=False): gt: float strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -660,7 +627,7 @@ def float_schema( gt: float | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> FloatSchema: """ @@ -713,13 +680,13 @@ class DecimalSchema(TypedDict, total=False): decimal_places: int strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def decimal_schema( *, - allow_inf_nan: bool | None = None, + allow_inf_nan: bool = None, multiple_of: Decimal | None = None, le: Decimal | None = None, ge: Decimal | None = None, @@ -729,7 +696,7 @@ def decimal_schema( decimal_places: int | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> DecimalSchema: """ @@ -775,51 +742,9 @@ def decimal_schema( ) -class ComplexSchema(TypedDict, total=False): - type: Required[Literal['complex']] - strict: bool - ref: str - metadata: dict[str, Any] - serialization: SerSchema - - -def complex_schema( - *, - strict: bool | None = None, - ref: str | None = None, - metadata: dict[str, Any] | None = None, - serialization: SerSchema | None = None, -) -> ComplexSchema: - """ - Returns a schema that matches a complex value, e.g.: - - ```py - from pydantic_core import SchemaValidator, core_schema - - schema = core_schema.complex_schema() - v = SchemaValidator(schema) - assert v.validate_python('1+2j') == complex(1, 2) - assert v.validate_python(complex(1, 2)) == complex(1, 2) - ``` - - Args: - strict: Whether the value should be a complex object instance or a value that can be converted to a complex object - ref: optional unique identifier of the schema, used to reference the schema in other places - metadata: Any other information you want to include with the schema, not used by pydantic-core - serialization: Custom serialization schema - """ - return _dict_not_none( - type='complex', - strict=strict, - ref=ref, - metadata=metadata, - serialization=serialization, - ) - - class StringSchema(TypedDict, total=False): type: Required[Literal['str']] - pattern: Union[str, Pattern[str]] + pattern: str max_length: int min_length: int strip_whitespace: bool @@ -827,15 +752,14 @@ class StringSchema(TypedDict, total=False): to_upper: bool regex_engine: Literal['rust-regex', 'python-re'] # default: 'rust-regex' strict: bool - coerce_numbers_to_str: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def str_schema( *, - pattern: str | Pattern[str] | None = None, + pattern: str | None = None, max_length: int | None = None, min_length: int | None = None, strip_whitespace: bool | None = None, @@ -843,9 +767,8 @@ def str_schema( to_upper: bool | None = None, regex_engine: Literal['rust-regex', 'python-re'] | None = None, strict: bool | None = None, - coerce_numbers_to_str: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> StringSchema: """ @@ -873,7 +796,6 @@ def str_schema( - `python-re` use the [`re`](https://docs.python.org/3/library/re.html) module, which supports all regex features, but may be slower. strict: Whether the value should be a string or a value that can be converted to a string - coerce_numbers_to_str: Whether to enable coercion of any `Number` type to `str` (not applicable in `strict` mode). ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema @@ -888,7 +810,6 @@ def str_schema( to_upper=to_upper, regex_engine=regex_engine, strict=strict, - coerce_numbers_to_str=coerce_numbers_to_str, ref=ref, metadata=metadata, serialization=serialization, @@ -901,7 +822,7 @@ class BytesSchema(TypedDict, total=False): min_length: int strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -911,7 +832,7 @@ def bytes_schema( min_length: int | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> BytesSchema: """ @@ -956,7 +877,7 @@ class DateSchema(TypedDict, total=False): # value is restricted to -86_400 < offset < 86_400 by bounds in generate_self_schema.py now_utc_offset: int ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -970,7 +891,7 @@ def date_schema( now_op: Literal['past', 'future'] | None = None, now_utc_offset: int | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> DateSchema: """ @@ -1022,7 +943,7 @@ class TimeSchema(TypedDict, total=False): tz_constraint: Union[Literal['aware', 'naive'], int] microseconds_precision: Literal['truncate', 'error'] ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -1036,7 +957,7 @@ def time_schema( tz_constraint: Literal['aware', 'naive'] | int | None = None, microseconds_precision: Literal['truncate', 'error'] = 'truncate', ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> TimeSchema: """ @@ -1092,7 +1013,7 @@ class DatetimeSchema(TypedDict, total=False): now_utc_offset: int microseconds_precision: Literal['truncate', 'error'] # default: 'truncate' ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -1108,7 +1029,7 @@ def datetime_schema( now_utc_offset: int | None = None, microseconds_precision: Literal['truncate', 'error'] = 'truncate', ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> DatetimeSchema: """ @@ -1165,7 +1086,7 @@ class TimedeltaSchema(TypedDict, total=False): gt: timedelta microseconds_precision: Literal['truncate', 'error'] ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -1178,7 +1099,7 @@ def timedelta_schema( gt: timedelta | None = None, microseconds_precision: Literal['truncate', 'error'] = 'truncate', ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> TimedeltaSchema: """ @@ -1220,18 +1141,14 @@ def timedelta_schema( class LiteralSchema(TypedDict, total=False): type: Required[Literal['literal']] - expected: Required[list[Any]] + expected: Required[List[Any]] ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def literal_schema( - expected: list[Any], - *, - ref: str | None = None, - metadata: dict[str, Any] | None = None, - serialization: SerSchema | None = None, + expected: list[Any], *, ref: str | None = None, metadata: Any = None, serialization: SerSchema | None = None ) -> LiteralSchema: """ Returns a schema that matches a literal value, e.g.: @@ -1253,69 +1170,6 @@ def literal_schema( return _dict_not_none(type='literal', expected=expected, ref=ref, metadata=metadata, serialization=serialization) -class EnumSchema(TypedDict, total=False): - type: Required[Literal['enum']] - cls: Required[Any] - members: Required[list[Any]] - sub_type: Literal['str', 'int', 'float'] - missing: Callable[[Any], Any] - strict: bool - ref: str - metadata: dict[str, Any] - serialization: SerSchema - - -def enum_schema( - cls: Any, - members: list[Any], - *, - sub_type: Literal['str', 'int', 'float'] | None = None, - missing: Callable[[Any], Any] | None = None, - strict: bool | None = None, - ref: str | None = None, - metadata: dict[str, Any] | None = None, - serialization: SerSchema | None = None, -) -> EnumSchema: - """ - Returns a schema that matches an enum value, e.g.: - - ```py - from enum import Enum - from pydantic_core import SchemaValidator, core_schema - - class Color(Enum): - RED = 1 - GREEN = 2 - BLUE = 3 - - schema = core_schema.enum_schema(Color, list(Color.__members__.values())) - v = SchemaValidator(schema) - assert v.validate_python(2) is Color.GREEN - ``` - - Args: - cls: The enum class - members: The members of the enum, generally `list(MyEnum.__members__.values())` - sub_type: The type of the enum, either 'str' or 'int' or None for plain enums - missing: A function to use when the value is not found in the enum, from `_missing_` - strict: Whether to use strict mode, defaults to False - ref: optional unique identifier of the schema, used to reference the schema in other places - metadata: Any other information you want to include with the schema, not used by pydantic-core - serialization: Custom serialization schema - """ - return _dict_not_none( - type='enum', - cls=cls, - members=members, - sub_type=sub_type, - missing=missing, - strict=strict, - ref=ref, - metadata=metadata, - serialization=serialization, - ) - - # must match input/parse_json.rs::JsonType::try_from JsonType = Literal['null', 'bool', 'int', 'float', 'str', 'list', 'dict'] @@ -1325,7 +1179,7 @@ class IsInstanceSchema(TypedDict, total=False): cls: Required[Any] cls_repr: str ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -1334,11 +1188,11 @@ def is_instance_schema( *, cls_repr: str | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> IsInstanceSchema: """ - Returns a schema that checks if a value is an instance of a class, equivalent to python's `isinstance` method, e.g.: + Returns a schema that checks if a value is an instance of a class, equivalent to python's `isinstnace` method, e.g.: ```py from pydantic_core import SchemaValidator, core_schema @@ -1365,19 +1219,19 @@ def is_instance_schema( class IsSubclassSchema(TypedDict, total=False): type: Required[Literal['is-subclass']] - cls: Required[type[Any]] + cls: Required[Type[Any]] cls_repr: str ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def is_subclass_schema( - cls: type[Any], + cls: Type[Any], *, cls_repr: str | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> IsInstanceSchema: """ @@ -1412,12 +1266,12 @@ def is_subclass_schema( class CallableSchema(TypedDict, total=False): type: Required[Literal['callable']] ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def callable_schema( - *, ref: str | None = None, metadata: dict[str, Any] | None = None, serialization: SerSchema | None = None + *, ref: str | None = None, metadata: Any = None, serialization: SerSchema | None = None ) -> CallableSchema: """ Returns a schema that checks if a value is callable, equivalent to python's `callable` method, e.g.: @@ -1440,19 +1294,19 @@ def callable_schema( class UuidSchema(TypedDict, total=False): type: Required[Literal['uuid']] - version: Literal[1, 3, 4, 5, 7] + version: Literal[1, 3, 4, 5] strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def uuid_schema( *, - version: Literal[1, 3, 4, 5, 6, 7, 8] | None = None, + version: Literal[1, 3, 4, 5] | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> UuidSchema: return _dict_not_none( @@ -1462,11 +1316,11 @@ def uuid_schema( class IncExSeqSerSchema(TypedDict, total=False): type: Required[Literal['include-exclude-sequence']] - include: set[int] - exclude: set[int] + include: Set[int] + exclude: Set[int] -def filter_seq_schema(*, include: set[int] | None = None, exclude: set[int] | None = None) -> IncExSeqSerSchema: +def filter_seq_schema(*, include: Set[int] | None = None, exclude: Set[int] | None = None) -> IncExSeqSerSchema: return _dict_not_none(type='include-exclude-sequence', include=include, exclude=exclude) @@ -1478,10 +1332,9 @@ class ListSchema(TypedDict, total=False): items_schema: CoreSchema min_length: int max_length: int - fail_fast: bool strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: IncExSeqOrElseSerSchema @@ -1490,10 +1343,9 @@ def list_schema( *, min_length: int | None = None, max_length: int | None = None, - fail_fast: bool | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: IncExSeqOrElseSerSchema | None = None, ) -> ListSchema: """ @@ -1511,7 +1363,6 @@ def list_schema( items_schema: The value must be a list of items that match this schema min_length: The value must be a list with at least this many items max_length: The value must be a list with at most this many items - fail_fast: Stop validation on the first error strict: The value must be a list with exactly this many items ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core @@ -1522,7 +1373,6 @@ def list_schema( items_schema=items_schema, min_length=min_length, max_length=max_length, - fail_fast=fail_fast, strict=strict, ref=ref, metadata=metadata, @@ -1530,16 +1380,25 @@ def list_schema( ) -# @deprecated('tuple_positional_schema is deprecated. Use pydantic_core.core_schema.tuple_schema instead.') +class TuplePositionalSchema(TypedDict, total=False): + type: Required[Literal['tuple-positional']] + items_schema: Required[List[CoreSchema]] + extras_schema: CoreSchema + strict: bool + ref: str + metadata: Any + serialization: IncExSeqOrElseSerSchema + + def tuple_positional_schema( items_schema: list[CoreSchema], *, extras_schema: CoreSchema | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: IncExSeqOrElseSerSchema | None = None, -) -> TupleSchema: +) -> TuplePositionalSchema: """ Returns a schema that matches a tuple of schemas, e.g.: @@ -1564,14 +1423,10 @@ def tuple_positional_schema( metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema """ - if extras_schema is not None: - variadic_item_index = len(items_schema) - items_schema = items_schema + [extras_schema] - else: - variadic_item_index = None - return tuple_schema( + return _dict_not_none( + type='tuple-positional', items_schema=items_schema, - variadic_item_index=variadic_item_index, + extras_schema=extras_schema, strict=strict, ref=ref, metadata=metadata, @@ -1579,7 +1434,17 @@ def tuple_positional_schema( ) -# @deprecated('tuple_variable_schema is deprecated. Use pydantic_core.core_schema.tuple_schema instead.') +class TupleVariableSchema(TypedDict, total=False): + type: Required[Literal['tuple-variable']] + items_schema: CoreSchema + min_length: int + max_length: int + strict: bool + ref: str + metadata: Any + serialization: IncExSeqOrElseSerSchema + + def tuple_variable_schema( items_schema: CoreSchema | None = None, *, @@ -1587,9 +1452,9 @@ def tuple_variable_schema( max_length: int | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: IncExSeqOrElseSerSchema | None = None, -) -> TupleSchema: +) -> TupleVariableSchema: """ Returns a schema that matches a tuple of a given schema, e.g.: @@ -1608,79 +1473,15 @@ def tuple_variable_schema( min_length: The value must be a tuple with at least this many items max_length: The value must be a tuple with at most this many items strict: The value must be a tuple with exactly this many items - ref: Optional unique identifier of the schema, used to reference the schema in other places - metadata: Any other information you want to include with the schema, not used by pydantic-core - serialization: Custom serialization schema - """ - return tuple_schema( - items_schema=[items_schema or any_schema()], - variadic_item_index=0, - min_length=min_length, - max_length=max_length, - strict=strict, - ref=ref, - metadata=metadata, - serialization=serialization, - ) - - -class TupleSchema(TypedDict, total=False): - type: Required[Literal['tuple']] - items_schema: Required[list[CoreSchema]] - variadic_item_index: int - min_length: int - max_length: int - fail_fast: bool - strict: bool - ref: str - metadata: dict[str, Any] - serialization: IncExSeqOrElseSerSchema - - -def tuple_schema( - items_schema: list[CoreSchema], - *, - variadic_item_index: int | None = None, - min_length: int | None = None, - max_length: int | None = None, - fail_fast: bool | None = None, - strict: bool | None = None, - ref: str | None = None, - metadata: dict[str, Any] | None = None, - serialization: IncExSeqOrElseSerSchema | None = None, -) -> TupleSchema: - """ - Returns a schema that matches a tuple of schemas, with an optional variadic item, e.g.: - - ```py - from pydantic_core import SchemaValidator, core_schema - - schema = core_schema.tuple_schema( - [core_schema.int_schema(), core_schema.str_schema(), core_schema.float_schema()], - variadic_item_index=1, - ) - v = SchemaValidator(schema) - assert v.validate_python((1, 'hello', 'world', 1.5)) == (1, 'hello', 'world', 1.5) - ``` - - Args: - items_schema: The value must be a tuple with items that match these schemas - variadic_item_index: The index of the schema in `items_schema` to be treated as variadic (following PEP 646) - min_length: The value must be a tuple with at least this many items - max_length: The value must be a tuple with at most this many items - fail_fast: Stop validation on the first error - strict: The value must be a tuple with exactly this many items - ref: Optional unique identifier of the schema, used to reference the schema in other places + ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema """ return _dict_not_none( - type='tuple', + type='tuple-variable', items_schema=items_schema, - variadic_item_index=variadic_item_index, min_length=min_length, max_length=max_length, - fail_fast=fail_fast, strict=strict, ref=ref, metadata=metadata, @@ -1693,10 +1494,9 @@ class SetSchema(TypedDict, total=False): items_schema: CoreSchema min_length: int max_length: int - fail_fast: bool strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -1705,10 +1505,9 @@ def set_schema( *, min_length: int | None = None, max_length: int | None = None, - fail_fast: bool | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> SetSchema: """ @@ -1728,7 +1527,6 @@ def set_schema( items_schema: The value must be a set with items that match this schema min_length: The value must be a set with at least this many items max_length: The value must be a set with at most this many items - fail_fast: Stop validation on the first error strict: The value must be a set with exactly this many items ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core @@ -1739,7 +1537,6 @@ def set_schema( items_schema=items_schema, min_length=min_length, max_length=max_length, - fail_fast=fail_fast, strict=strict, ref=ref, metadata=metadata, @@ -1752,10 +1549,9 @@ class FrozenSetSchema(TypedDict, total=False): items_schema: CoreSchema min_length: int max_length: int - fail_fast: bool strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -1764,10 +1560,9 @@ def frozenset_schema( *, min_length: int | None = None, max_length: int | None = None, - fail_fast: bool | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> FrozenSetSchema: """ @@ -1787,7 +1582,6 @@ def frozenset_schema( items_schema: The value must be a frozenset with items that match this schema min_length: The value must be a frozenset with at least this many items max_length: The value must be a frozenset with at most this many items - fail_fast: Stop validation on the first error strict: The value must be a frozenset with exactly this many items ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core @@ -1798,7 +1592,6 @@ def frozenset_schema( items_schema=items_schema, min_length=min_length, max_length=max_length, - fail_fast=fail_fast, strict=strict, ref=ref, metadata=metadata, @@ -1812,7 +1605,7 @@ class GeneratorSchema(TypedDict, total=False): min_length: int max_length: int ref: str - metadata: dict[str, Any] + metadata: Any serialization: IncExSeqOrElseSerSchema @@ -1822,7 +1615,7 @@ def generator_schema( min_length: int | None = None, max_length: int | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: IncExSeqOrElseSerSchema | None = None, ) -> GeneratorSchema: """ @@ -1863,7 +1656,7 @@ def generator_schema( ) -IncExDict = set[Union[int, str]] +IncExDict = Set[Union[int, str]] class IncExDictSerSchema(TypedDict, total=False): @@ -1887,7 +1680,7 @@ class DictSchema(TypedDict, total=False): max_length: int strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: IncExDictOrElseSerSchema @@ -1899,7 +1692,7 @@ def dict_schema( max_length: int | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> DictSchema: """ @@ -1938,7 +1731,7 @@ def dict_schema( ) -# (input_value: Any, /) -> Any +# (__input_value: Any) -> Any NoInfoValidatorFunction = Callable[[Any], Any] @@ -1947,7 +1740,7 @@ class NoInfoValidatorFunctionSchema(TypedDict): function: NoInfoValidatorFunction -# (input_value: Any, info: ValidationInfo, /) -> Any +# (__input_value: Any, __info: ValidationInfo) -> Any WithInfoValidatorFunction = Callable[[Any, ValidationInfo], Any] @@ -1964,13 +1757,12 @@ class _ValidatorFunctionSchema(TypedDict, total=False): function: Required[ValidationFunction] schema: Required[CoreSchema] ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema class BeforeValidatorFunctionSchema(_ValidatorFunctionSchema, total=False): type: Required[Literal['function-before']] - json_schema_input_schema: CoreSchema def no_info_before_validator_function( @@ -1978,8 +1770,7 @@ def no_info_before_validator_function( schema: CoreSchema, *, ref: str | None = None, - json_schema_input_schema: CoreSchema | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> BeforeValidatorFunctionSchema: """ @@ -2004,7 +1795,6 @@ def no_info_before_validator_function( function: The validator function to call schema: The schema to validate the output of the validator function ref: optional unique identifier of the schema, used to reference the schema in other places - json_schema_input_schema: The core schema to be used to generate the corresponding JSON Schema input type metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema """ @@ -2013,7 +1803,6 @@ def no_info_before_validator_function( function={'type': 'no-info', 'function': function}, schema=schema, ref=ref, - json_schema_input_schema=json_schema_input_schema, metadata=metadata, serialization=serialization, ) @@ -2025,8 +1814,7 @@ def with_info_before_validator_function( *, field_name: str | None = None, ref: str | None = None, - json_schema_input_schema: CoreSchema | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> BeforeValidatorFunctionSchema: """ @@ -2055,7 +1843,6 @@ def with_info_before_validator_function( field_name: The name of the field schema: The schema to validate the output of the validator function ref: optional unique identifier of the schema, used to reference the schema in other places - json_schema_input_schema: The core schema to be used to generate the corresponding JSON Schema input type metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema """ @@ -2064,7 +1851,6 @@ def with_info_before_validator_function( function=_dict_not_none(type='with-info', function=function, field_name=field_name), schema=schema, ref=ref, - json_schema_input_schema=json_schema_input_schema, metadata=metadata, serialization=serialization, ) @@ -2079,8 +1865,7 @@ def no_info_after_validator_function( schema: CoreSchema, *, ref: str | None = None, - json_schema_input_schema: CoreSchema | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> AfterValidatorFunctionSchema: """ @@ -2103,7 +1888,6 @@ def no_info_after_validator_function( function: The validator function to call after the schema is validated schema: The schema to validate before the validator function ref: optional unique identifier of the schema, used to reference the schema in other places - json_schema_input_schema: The core schema to be used to generate the corresponding JSON Schema input type metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema """ @@ -2112,7 +1896,6 @@ def no_info_after_validator_function( function={'type': 'no-info', 'function': function}, schema=schema, ref=ref, - json_schema_input_schema=json_schema_input_schema, metadata=metadata, serialization=serialization, ) @@ -2124,7 +1907,7 @@ def with_info_after_validator_function( *, field_name: str | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> AfterValidatorFunctionSchema: """ @@ -2167,11 +1950,11 @@ def with_info_after_validator_function( class ValidatorFunctionWrapHandler(Protocol): - def __call__(self, input_value: Any, outer_location: str | int | None = None, /) -> Any: # pragma: no cover + def __call__(self, input_value: Any, outer_location: str | int | None = None) -> Any: # pragma: no cover ... -# (input_value: Any, validator: ValidatorFunctionWrapHandler, /) -> Any +# (__input_value: Any, __validator: ValidatorFunctionWrapHandler) -> Any NoInfoWrapValidatorFunction = Callable[[Any, ValidatorFunctionWrapHandler], Any] @@ -2180,7 +1963,7 @@ class NoInfoWrapValidatorFunctionSchema(TypedDict): function: NoInfoWrapValidatorFunction -# (input_value: Any, validator: ValidatorFunctionWrapHandler, info: ValidationInfo, /) -> Any +# (__input_value: Any, __validator: ValidatorFunctionWrapHandler, __info: ValidationInfo) -> Any WithInfoWrapValidatorFunction = Callable[[Any, ValidatorFunctionWrapHandler, ValidationInfo], Any] @@ -2198,8 +1981,7 @@ class WrapValidatorFunctionSchema(TypedDict, total=False): function: Required[WrapValidatorFunction] schema: Required[CoreSchema] ref: str - json_schema_input_schema: CoreSchema - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -2208,8 +1990,7 @@ def no_info_wrap_validator_function( schema: CoreSchema, *, ref: str | None = None, - json_schema_input_schema: CoreSchema | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> WrapValidatorFunctionSchema: """ @@ -2237,7 +2018,6 @@ def no_info_wrap_validator_function( function: The validator function to call schema: The schema to validate the output of the validator function ref: optional unique identifier of the schema, used to reference the schema in other places - json_schema_input_schema: The core schema to be used to generate the corresponding JSON Schema input type metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema """ @@ -2245,7 +2025,6 @@ def no_info_wrap_validator_function( type='function-wrap', function={'type': 'no-info', 'function': function}, schema=schema, - json_schema_input_schema=json_schema_input_schema, ref=ref, metadata=metadata, serialization=serialization, @@ -2257,9 +2036,8 @@ def with_info_wrap_validator_function( schema: CoreSchema, *, field_name: str | None = None, - json_schema_input_schema: CoreSchema | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> WrapValidatorFunctionSchema: """ @@ -2288,7 +2066,6 @@ def with_info_wrap_validator_function( function: The validator function to call schema: The schema to validate the output of the validator function field_name: The name of the field this validators is applied to, if any - json_schema_input_schema: The core schema to be used to generate the corresponding JSON Schema input type ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema @@ -2297,7 +2074,6 @@ def with_info_wrap_validator_function( type='function-wrap', function=_dict_not_none(type='with-info', function=function, field_name=field_name), schema=schema, - json_schema_input_schema=json_schema_input_schema, ref=ref, metadata=metadata, serialization=serialization, @@ -2308,8 +2084,7 @@ class PlainValidatorFunctionSchema(TypedDict, total=False): type: Required[Literal['function-plain']] function: Required[ValidationFunction] ref: str - json_schema_input_schema: CoreSchema - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -2317,8 +2092,7 @@ def no_info_plain_validator_function( function: NoInfoValidatorFunction, *, ref: str | None = None, - json_schema_input_schema: CoreSchema | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> PlainValidatorFunctionSchema: """ @@ -2339,7 +2113,6 @@ def no_info_plain_validator_function( Args: function: The validator function to call ref: optional unique identifier of the schema, used to reference the schema in other places - json_schema_input_schema: The core schema to be used to generate the corresponding JSON Schema input type metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema """ @@ -2347,7 +2120,6 @@ def no_info_plain_validator_function( type='function-plain', function={'type': 'no-info', 'function': function}, ref=ref, - json_schema_input_schema=json_schema_input_schema, metadata=metadata, serialization=serialization, ) @@ -2358,8 +2130,7 @@ def with_info_plain_validator_function( *, field_name: str | None = None, ref: str | None = None, - json_schema_input_schema: CoreSchema | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> PlainValidatorFunctionSchema: """ @@ -2381,7 +2152,6 @@ def with_info_plain_validator_function( function: The validator function to call field_name: The name of the field this validators is applied to, if any ref: optional unique identifier of the schema, used to reference the schema in other places - json_schema_input_schema: The core schema to be used to generate the corresponding JSON Schema input type metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema """ @@ -2389,7 +2159,6 @@ def with_info_plain_validator_function( type='function-plain', function=_dict_not_none(type='with-info', function=function, field_name=field_name), ref=ref, - json_schema_input_schema=json_schema_input_schema, metadata=metadata, serialization=serialization, ) @@ -2399,13 +2168,12 @@ class WithDefaultSchema(TypedDict, total=False): type: Required[Literal['default']] schema: Required[CoreSchema] default: Any - default_factory: Union[Callable[[], Any], Callable[[dict[str, Any]], Any]] - default_factory_takes_data: bool + default_factory: Callable[[], Any] on_error: Literal['raise', 'omit', 'default'] # default: 'raise' validate_default: bool # default: False strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -2413,13 +2181,12 @@ def with_default_schema( schema: CoreSchema, *, default: Any = PydanticUndefined, - default_factory: Union[Callable[[], Any], Callable[[dict[str, Any]], Any], None] = None, - default_factory_takes_data: bool | None = None, + default_factory: Callable[[], Any] | None = None, on_error: Literal['raise', 'omit', 'default'] | None = None, validate_default: bool | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> WithDefaultSchema: """ @@ -2439,8 +2206,7 @@ def with_default_schema( Args: schema: The schema to add a default value to default: The default value to use - default_factory: A callable that returns the default value to use - default_factory_takes_data: Whether the default factory takes a validated data argument + default_factory: A function that returns the default value to use on_error: What to do if the schema validation fails. One of 'raise', 'omit', 'default' validate_default: Whether the default value should be validated strict: Whether the underlying schema should be validated with strict mode @@ -2452,7 +2218,6 @@ def with_default_schema( type='default', schema=schema, default_factory=default_factory, - default_factory_takes_data=default_factory_takes_data, on_error=on_error, validate_default=validate_default, strict=strict, @@ -2470,7 +2235,7 @@ class NullableSchema(TypedDict, total=False): schema: Required[CoreSchema] strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -2479,7 +2244,7 @@ def nullable_schema( *, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> NullableSchema: """ @@ -2507,16 +2272,16 @@ def nullable_schema( class UnionSchema(TypedDict, total=False): type: Required[Literal['union']] - choices: Required[list[Union[CoreSchema, tuple[CoreSchema, str]]]] + choices: Required[List[Union[CoreSchema, Tuple[CoreSchema, str]]]] # default true, whether to automatically collapse unions with one element to the inner validator auto_collapse: bool custom_error_type: str custom_error_message: str - custom_error_context: dict[str, Union[str, int, float]] + custom_error_context: Dict[str, Union[str, int, float]] mode: Literal['smart', 'left_to_right'] # default: 'smart' strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -2528,8 +2293,9 @@ def union_schema( custom_error_message: str | None = None, custom_error_context: dict[str, str | int] | None = None, mode: Literal['smart', 'left_to_right'] | None = None, + strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> UnionSchema: """ @@ -2553,6 +2319,7 @@ def union_schema( mode: How to select which choice to return * `smart` (default) will try to return the choice which is the closest match to the input value * `left_to_right` will return the first choice in `choices` which succeeds validation + strict: Whether the underlying schemas should be validated with strict mode ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema @@ -2565,6 +2332,7 @@ def union_schema( custom_error_message=custom_error_message, custom_error_context=custom_error_context, mode=mode, + strict=strict, ref=ref, metadata=metadata, serialization=serialization, @@ -2573,21 +2341,21 @@ def union_schema( class TaggedUnionSchema(TypedDict, total=False): type: Required[Literal['tagged-union']] - choices: Required[dict[Hashable, CoreSchema]] - discriminator: Required[Union[str, list[Union[str, int]], list[list[Union[str, int]]], Callable[[Any], Hashable]]] + choices: Required[Dict[Hashable, CoreSchema]] + discriminator: Required[Union[str, List[Union[str, int]], List[List[Union[str, int]]], Callable[[Any], Hashable]]] custom_error_type: str custom_error_message: str - custom_error_context: dict[str, Union[str, int, float]] + custom_error_context: Dict[str, Union[str, int, float]] strict: bool from_attributes: bool # default: True ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def tagged_union_schema( - choices: dict[Any, CoreSchema], - discriminator: str | list[str | int] | list[list[str | int]] | Callable[[Any], Any], + choices: Dict[Hashable, CoreSchema], + discriminator: str | list[str | int] | list[list[str | int]] | Callable[[Any], Hashable], *, custom_error_type: str | None = None, custom_error_message: str | None = None, @@ -2595,7 +2363,7 @@ def tagged_union_schema( strict: bool | None = None, from_attributes: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> TaggedUnionSchema: """ @@ -2670,18 +2438,14 @@ def tagged_union_schema( class ChainSchema(TypedDict, total=False): type: Required[Literal['chain']] - steps: Required[list[CoreSchema]] + steps: Required[List[CoreSchema]] ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def chain_schema( - steps: list[CoreSchema], - *, - ref: str | None = None, - metadata: dict[str, Any] | None = None, - serialization: SerSchema | None = None, + steps: list[CoreSchema], *, ref: str | None = None, metadata: Any = None, serialization: SerSchema | None = None ) -> ChainSchema: """ Returns a schema that chains the provided validation schemas, e.g.: @@ -2716,7 +2480,7 @@ class LaxOrStrictSchema(TypedDict, total=False): strict_schema: Required[CoreSchema] strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -2726,7 +2490,7 @@ def lax_or_strict_schema( *, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> LaxOrStrictSchema: """ @@ -2779,7 +2543,7 @@ class JsonOrPythonSchema(TypedDict, total=False): json_schema: Required[CoreSchema] python_schema: Required[CoreSchema] ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -2788,7 +2552,7 @@ def json_or_python_schema( python_schema: CoreSchema, *, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> JsonOrPythonSchema: """ @@ -2835,10 +2599,10 @@ class TypedDictField(TypedDict, total=False): type: Required[Literal['typed-dict-field']] schema: Required[CoreSchema] required: bool - validation_alias: Union[str, list[Union[str, int]], list[list[Union[str, int]]]] + validation_alias: Union[str, List[Union[str, int]], List[List[Union[str, int]]]] serialization_alias: str serialization_exclude: bool # default: False - metadata: dict[str, Any] + metadata: Any def typed_dict_field( @@ -2848,7 +2612,7 @@ def typed_dict_field( validation_alias: str | list[str | int] | list[list[str | int]] | None = None, serialization_alias: str | None = None, serialization_exclude: bool | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, ) -> TypedDictField: """ Returns a schema that matches a typed dict field, e.g.: @@ -2861,7 +2625,7 @@ def typed_dict_field( Args: schema: The schema to use for the field - required: Whether the field is required, otherwise uses the value from `total` on the typed dict + required: Whether the field is required validation_alias: The alias(es) to use to find the field in the validation data serialization_alias: The alias to use as a key when serializing serialization_exclude: Whether to exclude the field when serializing @@ -2880,33 +2644,31 @@ def typed_dict_field( class TypedDictSchema(TypedDict, total=False): type: Required[Literal['typed-dict']] - fields: Required[dict[str, TypedDictField]] - cls: type[Any] - cls_name: str - computed_fields: list[ComputedField] + fields: Required[Dict[str, TypedDictField]] + computed_fields: List[ComputedField] strict: bool extras_schema: CoreSchema # all these values can be set via config, equivalent fields have `typed_dict_` prefix extra_behavior: ExtraBehavior total: bool # default: True + populate_by_name: bool # replaces `allow_population_by_field_name` in pydantic v1 ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema config: CoreConfig def typed_dict_schema( - fields: dict[str, TypedDictField], + fields: Dict[str, TypedDictField], *, - cls: type[Any] | None = None, - cls_name: str | None = None, computed_fields: list[ComputedField] | None = None, strict: bool | None = None, extras_schema: CoreSchema | None = None, extra_behavior: ExtraBehavior | None = None, total: bool | None = None, + populate_by_name: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, config: CoreConfig | None = None, ) -> TypedDictSchema: @@ -2914,15 +2676,10 @@ def typed_dict_schema( Returns a schema that matches a typed dict, e.g.: ```py - from typing_extensions import TypedDict - from pydantic_core import SchemaValidator, core_schema - class MyTypedDict(TypedDict): - a: str - wrapper_schema = core_schema.typed_dict_schema( - {'a': core_schema.typed_dict_field(core_schema.str_schema())}, cls=MyTypedDict + {'a': core_schema.typed_dict_field(core_schema.str_schema())} ) v = SchemaValidator(wrapper_schema) assert v.validate_python({'a': 'hello'}) == {'a': 'hello'} @@ -2930,28 +2687,25 @@ def typed_dict_schema( Args: fields: The fields to use for the typed dict - cls: The class to use for the typed dict - cls_name: The name to use in error locations. Falls back to `cls.__name__`, or the validator name if no class - is provided. computed_fields: Computed fields to use when serializing the model, only applies when directly inside a model strict: Whether the typed dict is strict extras_schema: The extra validator to use for the typed dict ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core extra_behavior: The extra behavior to use for the typed dict - total: Whether the typed dict is total, otherwise uses `typed_dict_total` from config + total: Whether the typed dict is total + populate_by_name: Whether the typed dict should populate by name serialization: Custom serialization schema """ return _dict_not_none( type='typed-dict', fields=fields, - cls=cls, - cls_name=cls_name, computed_fields=computed_fields, strict=strict, extras_schema=extras_schema, extra_behavior=extra_behavior, total=total, + populate_by_name=populate_by_name, ref=ref, metadata=metadata, serialization=serialization, @@ -2962,11 +2716,11 @@ def typed_dict_schema( class ModelField(TypedDict, total=False): type: Required[Literal['model-field']] schema: Required[CoreSchema] - validation_alias: Union[str, list[Union[str, int]], list[list[Union[str, int]]]] + validation_alias: Union[str, List[Union[str, int]], List[List[Union[str, int]]]] serialization_alias: str serialization_exclude: bool # default: False frozen: bool - metadata: dict[str, Any] + metadata: Any def model_field( @@ -2976,7 +2730,7 @@ def model_field( serialization_alias: str | None = None, serialization_exclude: bool | None = None, frozen: bool | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, ) -> ModelField: """ Returns a schema for a model field, e.g.: @@ -3008,35 +2762,36 @@ def model_field( class ModelFieldsSchema(TypedDict, total=False): type: Required[Literal['model-fields']] - fields: Required[dict[str, ModelField]] + fields: Required[Dict[str, ModelField]] model_name: str - computed_fields: list[ComputedField] + computed_fields: List[ComputedField] strict: bool extras_schema: CoreSchema - extras_keys_schema: CoreSchema + # all these values can be set via config, equivalent fields have `typed_dict_` prefix extra_behavior: ExtraBehavior + populate_by_name: bool # replaces `allow_population_by_field_name` in pydantic v1 from_attributes: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def model_fields_schema( - fields: dict[str, ModelField], + fields: Dict[str, ModelField], *, model_name: str | None = None, computed_fields: list[ComputedField] | None = None, strict: bool | None = None, extras_schema: CoreSchema | None = None, - extras_keys_schema: CoreSchema | None = None, extra_behavior: ExtraBehavior | None = None, + populate_by_name: bool | None = None, from_attributes: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> ModelFieldsSchema: """ - Returns a schema that matches the fields of a Pydantic model, e.g.: + Returns a schema that matches a typed dict, e.g.: ```py from pydantic_core import SchemaValidator, core_schema @@ -3050,16 +2805,16 @@ def model_fields_schema( ``` Args: - fields: The fields of the model + fields: The fields to use for the typed dict model_name: The name of the model, used for error messages, defaults to "Model" computed_fields: Computed fields to use when serializing the model, only applies when directly inside a model - strict: Whether the model is strict - extras_schema: The schema to use when validating extra input data - extras_keys_schema: The schema to use when validating the keys of extra input data + strict: Whether the typed dict is strict + extras_schema: The extra validator to use for the typed dict ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core - extra_behavior: The extra behavior to use for the model fields - from_attributes: Whether the model fields should be populated from attributes + extra_behavior: The extra behavior to use for the typed dict + populate_by_name: Whether the typed dict should populate by name + from_attributes: Whether the typed dict should be populated from attributes serialization: Custom serialization schema """ return _dict_not_none( @@ -3069,8 +2824,8 @@ def model_fields_schema( computed_fields=computed_fields, strict=strict, extras_schema=extras_schema, - extras_keys_schema=extras_keys_schema, extra_behavior=extra_behavior, + populate_by_name=populate_by_name, from_attributes=from_attributes, ref=ref, metadata=metadata, @@ -3080,8 +2835,7 @@ def model_fields_schema( class ModelSchema(TypedDict, total=False): type: Required[Literal['model']] - cls: Required[type[Any]] - generic_origin: type[Any] + cls: Required[Type[Any]] schema: Required[CoreSchema] custom_init: bool root_model: bool @@ -3092,15 +2846,14 @@ class ModelSchema(TypedDict, total=False): extra_behavior: ExtraBehavior config: CoreConfig ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def model_schema( - cls: type[Any], + cls: Type[Any], schema: CoreSchema, *, - generic_origin: type[Any] | None = None, custom_init: bool | None = None, root_model: bool | None = None, post_init: str | None = None, @@ -3110,7 +2863,7 @@ def model_schema( extra_behavior: ExtraBehavior | None = None, config: CoreConfig | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> ModelSchema: """ @@ -3147,8 +2900,6 @@ def model_schema( Args: cls: The class to use for the model schema: The schema to use for the model - generic_origin: The origin type used for this model, if it's a parametrized generic. Ex, - if this model schema represents `SomeModel[int]`, generic_origin is `SomeModel` custom_init: Whether the model has a custom init method root_model: Whether the model is a `RootModel` post_init: The call after init to use for the model @@ -3165,7 +2916,6 @@ def model_schema( return _dict_not_none( type='model', cls=cls, - generic_origin=generic_origin, schema=schema, custom_init=custom_init, root_model=root_model, @@ -3186,13 +2936,12 @@ class DataclassField(TypedDict, total=False): name: Required[str] schema: Required[CoreSchema] kw_only: bool # default: True - init: bool # default: True init_only: bool # default: False frozen: bool # default: False - validation_alias: Union[str, list[Union[str, int]], list[list[Union[str, int]]]] + validation_alias: Union[str, List[Union[str, int]], List[List[Union[str, int]]]] serialization_alias: str serialization_exclude: bool # default: False - metadata: dict[str, Any] + metadata: Any def dataclass_field( @@ -3200,12 +2949,11 @@ def dataclass_field( schema: CoreSchema, *, kw_only: bool | None = None, - init: bool | None = None, init_only: bool | None = None, validation_alias: str | list[str | int] | list[list[str | int]] | None = None, serialization_alias: str | None = None, serialization_exclude: bool | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, frozen: bool | None = None, ) -> DataclassField: """ @@ -3226,7 +2974,6 @@ def dataclass_field( name: The name to use for the argument parameter schema: The schema to use for the argument parameter kw_only: Whether the field can be set with a positional argument as well as a keyword argument - init: Whether the field should be validated during initialization init_only: Whether the field should be omitted from `__dict__` and passed to `__post_init__` validation_alias: The alias(es) to use to find the field in the validation data serialization_alias: The alias to use as a key when serializing @@ -3239,7 +2986,6 @@ def dataclass_field( name=name, schema=schema, kw_only=kw_only, - init=init, init_only=init_only, validation_alias=validation_alias, serialization_alias=serialization_alias, @@ -3252,11 +2998,12 @@ def dataclass_field( class DataclassArgsSchema(TypedDict, total=False): type: Required[Literal['dataclass-args']] dataclass_name: Required[str] - fields: Required[list[DataclassField]] - computed_fields: list[ComputedField] + fields: Required[List[DataclassField]] + computed_fields: List[ComputedField] + populate_by_name: bool # default: False collect_init_only: bool # default: False ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema extra_behavior: ExtraBehavior @@ -3265,10 +3012,11 @@ def dataclass_args_schema( dataclass_name: str, fields: list[DataclassField], *, - computed_fields: list[ComputedField] | None = None, + computed_fields: List[ComputedField] | None = None, + populate_by_name: bool | None = None, collect_init_only: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, extra_behavior: ExtraBehavior | None = None, ) -> DataclassArgsSchema: @@ -3293,6 +3041,7 @@ def dataclass_args_schema( dataclass_name: The name of the dataclass being validated fields: The fields to use for the dataclass computed_fields: Computed fields to use when serializing the dataclass + populate_by_name: Whether to populate by name collect_init_only: Whether to collect init only fields into a dict to pass to `__post_init__` ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core @@ -3304,6 +3053,7 @@ def dataclass_args_schema( dataclass_name=dataclass_name, fields=fields, computed_fields=computed_fields, + populate_by_name=populate_by_name, collect_init_only=collect_init_only, ref=ref, metadata=metadata, @@ -3314,34 +3064,32 @@ def dataclass_args_schema( class DataclassSchema(TypedDict, total=False): type: Required[Literal['dataclass']] - cls: Required[type[Any]] - generic_origin: type[Any] + cls: Required[Type[Any]] schema: Required[CoreSchema] - fields: Required[list[str]] + fields: Required[List[str]] cls_name: str post_init: bool # default: False revalidate_instances: Literal['always', 'never', 'subclass-instances'] # default: 'never' strict: bool # default: False frozen: bool # default False ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema slots: bool config: CoreConfig def dataclass_schema( - cls: type[Any], + cls: Type[Any], schema: CoreSchema, - fields: list[str], + fields: List[str], *, - generic_origin: type[Any] | None = None, cls_name: str | None = None, post_init: bool | None = None, revalidate_instances: Literal['always', 'never', 'subclass-instances'] | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, frozen: bool | None = None, slots: bool | None = None, @@ -3356,8 +3104,6 @@ def dataclass_schema( schema: The schema to use for the dataclass fields fields: Fields of the dataclass, this is used in serialization and in validation during re-validation and while validating assignment - generic_origin: The origin type used for this dataclass, if it's a parametrized generic. Ex, - if this model schema represents `SomeDataclass[int]`, generic_origin is `SomeDataclass` cls_name: The name to use in error locs, etc; this is useful for generics (default: `cls.__name__`) post_init: Whether to call `__post_init__` after validation revalidate_instances: whether instances of models and dataclasses (including subclass instances) @@ -3373,7 +3119,6 @@ def dataclass_schema( return _dict_not_none( type='dataclass', cls=cls, - generic_origin=generic_origin, fields=fields, cls_name=cls_name, schema=schema, @@ -3393,7 +3138,7 @@ class ArgumentsParameter(TypedDict, total=False): name: Required[str] schema: Required[CoreSchema] mode: Literal['positional_only', 'positional_or_keyword', 'keyword_only'] # default positional_or_keyword - alias: Union[str, list[Union[str, int]], list[list[Union[str, int]]]] + alias: Union[str, List[Union[str, int]], List[List[Union[str, int]]]] def arguments_parameter( @@ -3426,32 +3171,25 @@ def arguments_parameter( return _dict_not_none(name=name, schema=schema, mode=mode, alias=alias) -VarKwargsMode: TypeAlias = Literal['uniform', 'unpacked-typed-dict'] - - class ArgumentsSchema(TypedDict, total=False): type: Required[Literal['arguments']] - arguments_schema: Required[list[ArgumentsParameter]] - validate_by_name: bool - validate_by_alias: bool + arguments_schema: Required[List[ArgumentsParameter]] + populate_by_name: bool var_args_schema: CoreSchema - var_kwargs_mode: VarKwargsMode var_kwargs_schema: CoreSchema ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def arguments_schema( arguments: list[ArgumentsParameter], *, - validate_by_name: bool | None = None, - validate_by_alias: bool | None = None, + populate_by_name: bool | None = None, var_args_schema: CoreSchema | None = None, - var_kwargs_mode: VarKwargsMode | None = None, var_kwargs_schema: CoreSchema | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> ArgumentsSchema: """ @@ -3473,12 +3211,8 @@ def arguments_schema( Args: arguments: The arguments to use for the arguments schema - validate_by_name: Whether to populate by the parameter names, defaults to `False`. - validate_by_alias: Whether to populate by the parameter aliases, defaults to `True`. + populate_by_name: Whether to populate by name var_args_schema: The variable args schema to use for the arguments schema - var_kwargs_mode: The validation mode to use for variadic keyword arguments. If `'uniform'`, every value of the - keyword arguments will be validated against the `var_kwargs_schema` schema. If `'unpacked-typed-dict'`, - the `var_kwargs_schema` argument must be a [`typed_dict_schema`][pydantic_core.core_schema.typed_dict_schema] var_kwargs_schema: The variable kwargs schema to use for the arguments schema ref: optional unique identifier of the schema, used to reference the schema in other places metadata: Any other information you want to include with the schema, not used by pydantic-core @@ -3487,10 +3221,8 @@ def arguments_schema( return _dict_not_none( type='arguments', arguments_schema=arguments, - validate_by_name=validate_by_name, - validate_by_alias=validate_by_alias, + populate_by_name=populate_by_name, var_args_schema=var_args_schema, - var_kwargs_mode=var_kwargs_mode, var_kwargs_schema=var_kwargs_schema, ref=ref, metadata=metadata, @@ -3498,120 +3230,6 @@ def arguments_schema( ) -class ArgumentsV3Parameter(TypedDict, total=False): - name: Required[str] - schema: Required[CoreSchema] - mode: Literal[ - 'positional_only', - 'positional_or_keyword', - 'keyword_only', - 'var_args', - 'var_kwargs_uniform', - 'var_kwargs_unpacked_typed_dict', - ] # default positional_or_keyword - alias: Union[str, list[Union[str, int]], list[list[Union[str, int]]]] - - -def arguments_v3_parameter( - name: str, - schema: CoreSchema, - *, - mode: Literal[ - 'positional_only', - 'positional_or_keyword', - 'keyword_only', - 'var_args', - 'var_kwargs_uniform', - 'var_kwargs_unpacked_typed_dict', - ] - | None = None, - alias: str | list[str | int] | list[list[str | int]] | None = None, -) -> ArgumentsV3Parameter: - """ - Returns a schema that matches an argument parameter, e.g.: - - ```py - from pydantic_core import SchemaValidator, core_schema - - param = core_schema.arguments_v3_parameter( - name='a', schema=core_schema.str_schema(), mode='positional_only' - ) - schema = core_schema.arguments_v3_schema([param]) - v = SchemaValidator(schema) - assert v.validate_python({'a': 'hello'}) == (('hello',), {}) - ``` - - Args: - name: The name to use for the argument parameter - schema: The schema to use for the argument parameter - mode: The mode to use for the argument parameter - alias: The alias to use for the argument parameter - """ - return _dict_not_none(name=name, schema=schema, mode=mode, alias=alias) - - -class ArgumentsV3Schema(TypedDict, total=False): - type: Required[Literal['arguments-v3']] - arguments_schema: Required[list[ArgumentsV3Parameter]] - validate_by_name: bool - validate_by_alias: bool - extra_behavior: Literal['forbid', 'ignore'] # 'allow' doesn't make sense here. - ref: str - metadata: dict[str, Any] - serialization: SerSchema - - -def arguments_v3_schema( - arguments: list[ArgumentsV3Parameter], - *, - validate_by_name: bool | None = None, - validate_by_alias: bool | None = None, - extra_behavior: Literal['forbid', 'ignore'] | None = None, - ref: str | None = None, - metadata: dict[str, Any] | None = None, - serialization: SerSchema | None = None, -) -> ArgumentsV3Schema: - """ - Returns a schema that matches an arguments schema, e.g.: - - ```py - from pydantic_core import SchemaValidator, core_schema - - param_a = core_schema.arguments_v3_parameter( - name='a', schema=core_schema.str_schema(), mode='positional_only' - ) - param_b = core_schema.arguments_v3_parameter( - name='kwargs', schema=core_schema.bool_schema(), mode='var_kwargs_uniform' - ) - schema = core_schema.arguments_v3_schema([param_a, param_b]) - v = SchemaValidator(schema) - assert v.validate_python({'a': 'hi', 'kwargs': {'b': True}}) == (('hi',), {'b': True}) - ``` - - This schema is currently not used by other Pydantic components. In V3, it will most likely - become the default arguments schema for the `'call'` schema. - - Args: - arguments: The arguments to use for the arguments schema. - validate_by_name: Whether to populate by the parameter names, defaults to `False`. - validate_by_alias: Whether to populate by the parameter aliases, defaults to `True`. - extra_behavior: The extra behavior to use. - ref: optional unique identifier of the schema, used to reference the schema in other places. - metadata: Any other information you want to include with the schema, not used by pydantic-core. - serialization: Custom serialization schema. - """ - return _dict_not_none( - type='arguments-v3', - arguments_schema=arguments, - validate_by_name=validate_by_name, - validate_by_alias=validate_by_alias, - extra_behavior=extra_behavior, - ref=ref, - metadata=metadata, - serialization=serialization, - ) - - class CallSchema(TypedDict, total=False): type: Required[Literal['call']] arguments_schema: Required[CoreSchema] @@ -3619,7 +3237,7 @@ class CallSchema(TypedDict, total=False): function_name: str # default function.__name__ return_schema: CoreSchema ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -3630,7 +3248,7 @@ def call_schema( function_name: str | None = None, return_schema: CoreSchema | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> CallSchema: """ @@ -3682,9 +3300,9 @@ class CustomErrorSchema(TypedDict, total=False): schema: Required[CoreSchema] custom_error_type: Required[str] custom_error_message: str - custom_error_context: dict[str, Union[str, int, float]] + custom_error_context: Dict[str, Union[str, int, float]] ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -3695,7 +3313,7 @@ def custom_error_schema( custom_error_message: str | None = None, custom_error_context: dict[str, Any] | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> CustomErrorSchema: """ @@ -3738,7 +3356,7 @@ class JsonSchema(TypedDict, total=False): type: Required[Literal['json']] schema: CoreSchema ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -3746,7 +3364,7 @@ def json_schema( schema: CoreSchema | None = None, *, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> JsonSchema: """ @@ -3791,14 +3409,14 @@ def json_schema( class UrlSchema(TypedDict, total=False): type: Required[Literal['url']] max_length: int - allowed_schemes: list[str] + allowed_schemes: List[str] host_required: bool # default False default_host: str default_port: int default_path: str strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -3812,7 +3430,7 @@ def url_schema( default_path: str | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> UrlSchema: """ @@ -3857,14 +3475,14 @@ def url_schema( class MultiHostUrlSchema(TypedDict, total=False): type: Required[Literal['multi-host-url']] max_length: int - allowed_schemes: list[str] + allowed_schemes: List[str] host_required: bool # default False default_host: str default_port: int default_path: str strict: bool ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema @@ -3878,7 +3496,7 @@ def multi_host_url_schema( default_path: str | None = None, strict: bool | None = None, ref: str | None = None, - metadata: dict[str, Any] | None = None, + metadata: Any = None, serialization: SerSchema | None = None, ) -> MultiHostUrlSchema: """ @@ -3923,8 +3541,8 @@ def multi_host_url_schema( class DefinitionsSchema(TypedDict, total=False): type: Required[Literal['definitions']] schema: Required[CoreSchema] - definitions: Required[list[CoreSchema]] - metadata: dict[str, Any] + definitions: Required[List[CoreSchema]] + metadata: Any serialization: SerSchema @@ -3954,16 +3572,12 @@ def definitions_schema(schema: CoreSchema, definitions: list[CoreSchema]) -> Def class DefinitionReferenceSchema(TypedDict, total=False): type: Required[Literal['definition-ref']] schema_ref: Required[str] - ref: str - metadata: dict[str, Any] + metadata: Any serialization: SerSchema def definition_reference_schema( - schema_ref: str, - ref: str | None = None, - metadata: dict[str, Any] | None = None, - serialization: SerSchema | None = None, + schema_ref: str, metadata: Any = None, serialization: SerSchema | None = None ) -> DefinitionReferenceSchema: """ Returns a schema that points to a schema stored in "definitions", this is useful for nested recursive @@ -3988,9 +3602,7 @@ def definition_reference_schema( metadata: Any other information you want to include with the schema, not used by pydantic-core serialization: Custom serialization schema """ - return _dict_not_none( - type='definition-ref', schema_ref=schema_ref, ref=ref, metadata=metadata, serialization=serialization - ) + return _dict_not_none(type='definition-ref', schema_ref=schema_ref, metadata=metadata, serialization=serialization) MYPY = False @@ -3998,7 +3610,6 @@ MYPY = False # union which kills performance not just for pydantic, but even for code using pydantic if not MYPY: CoreSchema = Union[ - InvalidSchema, AnySchema, NoneSchema, BoolSchema, @@ -4012,12 +3623,12 @@ if not MYPY: DatetimeSchema, TimedeltaSchema, LiteralSchema, - EnumSchema, IsInstanceSchema, IsSubclassSchema, CallableSchema, ListSchema, - TupleSchema, + TuplePositionalSchema, + TupleVariableSchema, SetSchema, FrozenSetSchema, GeneratorSchema, @@ -4039,7 +3650,6 @@ if not MYPY: DataclassArgsSchema, DataclassSchema, ArgumentsSchema, - ArgumentsV3Schema, CallSchema, CustomErrorSchema, JsonSchema, @@ -4048,7 +3658,6 @@ if not MYPY: DefinitionsSchema, DefinitionReferenceSchema, UuidSchema, - ComplexSchema, ] elif False: CoreSchema: TypeAlias = Mapping[str, Any] @@ -4056,7 +3665,6 @@ elif False: # to update this, call `pytest -k test_core_schema_type_literal` and copy the output CoreSchemaType = Literal[ - 'invalid', 'any', 'none', 'bool', @@ -4070,12 +3678,12 @@ CoreSchemaType = Literal[ 'datetime', 'timedelta', 'literal', - 'enum', 'is-instance', 'is-subclass', 'callable', 'list', - 'tuple', + 'tuple-positional', + 'tuple-variable', 'set', 'frozenset', 'generator', @@ -4097,7 +3705,6 @@ CoreSchemaType = Literal[ 'dataclass-args', 'dataclass', 'arguments', - 'arguments-v3', 'call', 'custom-error', 'json', @@ -4106,7 +3713,6 @@ CoreSchemaType = Literal[ 'definitions', 'definition-ref', 'uuid', - 'complex', ] CoreSchemaFieldType = Literal['model-field', 'dataclass-field', 'typed-dict-field', 'computed-field'] @@ -4118,7 +3724,6 @@ ErrorType = Literal[ 'no_such_attribute', 'json_invalid', 'json_type', - 'needs_python_object', 'recursion_loop', 'missing', 'frozen_field', @@ -4153,7 +3758,6 @@ ErrorType = Literal[ 'list_type', 'tuple_type', 'set_type', - 'set_item_not_hashable', 'bool_type', 'bool_parsing', 'int_type', @@ -4165,7 +3769,6 @@ ErrorType = Literal[ 'bytes_type', 'bytes_too_short', 'bytes_too_long', - 'bytes_invalid_encoding', 'value_error', 'assertion_error', 'literal_error', @@ -4180,7 +3783,6 @@ ErrorType = Literal[ 'datetime_type', 'datetime_parsing', 'datetime_object_invalid', - 'datetime_from_date_parsing', 'datetime_past', 'datetime_future', 'timezone_naive', @@ -4214,8 +3816,6 @@ ErrorType = Literal[ 'decimal_max_digits', 'decimal_max_places', 'decimal_whole_digits', - 'complex_type', - 'complex_str_parsing', ] @@ -4258,7 +3858,7 @@ def field_after_validator_function(function: WithInfoValidatorFunction, field_na @deprecated('`general_after_validator_function` is deprecated, use `with_info_after_validator_function` instead.') def general_after_validator_function(*args, **kwargs): warnings.warn( - '`general_after_validator_function` is deprecated, use `with_info_after_validator_function` instead.', + '`with_info_after_validator_function` is deprecated, use `with_info_after_validator_function` instead.', DeprecationWarning, ) return with_info_after_validator_function(*args, **kwargs) @@ -4309,9 +3909,6 @@ _deprecated_import_lookup = { 'FieldWrapValidatorFunction': WithInfoWrapValidatorFunction, } -if TYPE_CHECKING: - FieldValidationInfo = ValidationInfo - def __getattr__(attr_name: str) -> object: new_attr = _deprecated_import_lookup.get(attr_name) diff --git a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/METADATA b/venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/METADATA similarity index 56% rename from venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/METADATA rename to venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/METADATA index b328340..53a4683 100644 --- a/venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/METADATA @@ -1,12 +1,12 @@ -Metadata-Version: 2.4 +Metadata-Version: 2.1 Name: pydantic-settings -Version: 2.11.0 +Version: 2.0.3 Summary: Settings management using Pydantic Project-URL: Homepage, https://github.com/pydantic/pydantic-settings Project-URL: Funding, https://github.com/sponsors/samuelcolvin Project-URL: Source, https://github.com/pydantic/pydantic-settings Project-URL: Changelog, https://github.com/pydantic/pydantic-settings/releases -Project-URL: Documentation, https://docs.pydantic.dev/dev-v2/concepts/pydantic_settings/ +Project-URL: Documentation, https://docs.pydantic.dev/dev-v2/usage/pydantic_settings/ Author-email: Samuel Colvin , Eric Jolibois , Hasan Ramezani License-Expression: MIT License-File: LICENSE @@ -24,40 +24,30 @@ Classifier: Operating System :: Unix Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Topic :: Internet Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.9 -Requires-Dist: pydantic>=2.7.0 +Requires-Python: >=3.7 +Requires-Dist: pydantic>=2.0.1 Requires-Dist: python-dotenv>=0.21.0 -Requires-Dist: typing-inspection>=0.4.0 -Provides-Extra: aws-secrets-manager -Requires-Dist: boto3-stubs[secretsmanager]; extra == 'aws-secrets-manager' -Requires-Dist: boto3>=1.35.0; extra == 'aws-secrets-manager' -Provides-Extra: azure-key-vault -Requires-Dist: azure-identity>=1.16.0; extra == 'azure-key-vault' -Requires-Dist: azure-keyvault-secrets>=4.8.0; extra == 'azure-key-vault' -Provides-Extra: gcp-secret-manager -Requires-Dist: google-cloud-secret-manager>=2.23.1; extra == 'gcp-secret-manager' -Provides-Extra: toml -Requires-Dist: tomli>=2.0.1; extra == 'toml' -Provides-Extra: yaml -Requires-Dist: pyyaml>=6.0.1; extra == 'yaml' Description-Content-Type: text/markdown # pydantic-settings -[![CI](https://github.com/pydantic/pydantic-settings/actions/workflows/ci.yml/badge.svg?event=push)](https://github.com/pydantic/pydantic-settings/actions/workflows/ci.yml?query=branch%3Amain) +[![CI](https://github.com/pydantic/pydantic-settings/workflows/CI/badge.svg?event=push)](https://github.com/pydantic/pydantic-settings/actions?query=event%3Apush+branch%3Amain+workflow%3ACI) [![Coverage](https://codecov.io/gh/pydantic/pydantic-settings/branch/main/graph/badge.svg)](https://codecov.io/gh/pydantic/pydantic-settings) [![pypi](https://img.shields.io/pypi/v/pydantic-settings.svg)](https://pypi.python.org/pypi/pydantic-settings) [![license](https://img.shields.io/github/license/pydantic/pydantic-settings.svg)](https://github.com/pydantic/pydantic-settings/blob/main/LICENSE) -[![downloads](https://static.pepy.tech/badge/pydantic-settings/month)](https://pepy.tech/project/pydantic-settings) -[![versions](https://img.shields.io/pypi/pyversions/pydantic-settings.svg)](https://github.com/pydantic/pydantic-settings) -Settings management using Pydantic. +Settings management using Pydantic, this is the new official home of Pydantic's `BaseSettings`. -See [documentation](https://docs.pydantic.dev/latest/concepts/pydantic_settings/) for more details. +This package was kindly donated to the [Pydantic organisation](https://github.com/pydantic) by Daniel Daniels, see [pydantic/pydantic#4492](https://github.com/pydantic/pydantic/pull/4492) for discussion. + +For the old "Hipster-orgazmic tool to mange application settings" package, see [version 0.2.5](https://pypi.org/project/pydantic-settings/0.2.5/). + + +See [documentation](https://docs.pydantic.dev/latest/usage/pydantic_settings/) for more details. diff --git a/venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/RECORD b/venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/RECORD new file mode 100644 index 0000000..0015193 --- /dev/null +++ b/venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/RECORD @@ -0,0 +1,17 @@ +pydantic_settings-2.0.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pydantic_settings-2.0.3.dist-info/METADATA,sha256=iuDM6bM6VDeLKrOyfSRQiE4Bp_SqFNmDvNYxjNlojEU,2924 +pydantic_settings-2.0.3.dist-info/RECORD,, +pydantic_settings-2.0.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pydantic_settings-2.0.3.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87 +pydantic_settings-2.0.3.dist-info/licenses/LICENSE,sha256=6zVadT4CA0bTPYO_l2kTW4n8YQVorFMaAcKVvO5_2Zg,1103 +pydantic_settings/__init__.py,sha256=h0HRyW_I6s0YYFIB-qx8gNZOtDI8vCbXnwPbp4BqwzE,482 +pydantic_settings/__pycache__/__init__.cpython-312.pyc,, +pydantic_settings/__pycache__/main.cpython-312.pyc,, +pydantic_settings/__pycache__/sources.cpython-312.pyc,, +pydantic_settings/__pycache__/utils.cpython-312.pyc,, +pydantic_settings/__pycache__/version.cpython-312.pyc,, +pydantic_settings/main.py,sha256=DPJPyjM9g7CgaB8-zuoydot1iYVuLOb05rJZUXDt1-o,7178 +pydantic_settings/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pydantic_settings/sources.py,sha256=ruCzD_1mL9e20o-33B7n46cTE5COCJ0524w29uED5BM,24857 +pydantic_settings/utils.py,sha256=nomYSaFO_IegfWSL9KJ8SAtLZgyhcruLgE3dTHwSmgo,557 +pydantic_settings/version.py,sha256=gemzbOzXm8MxToVh3wokBkbvZFRFfCkFQumP9kJFca4,18 diff --git a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/WHEEL b/venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/WHEEL similarity index 67% rename from venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/WHEEL index 12228d4..ba1a8af 100644 --- a/venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/WHEEL @@ -1,4 +1,4 @@ Wheel-Version: 1.0 -Generator: hatchling 1.27.0 +Generator: hatchling 1.18.0 Root-Is-Purelib: true Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/licenses/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/pydantic_settings-2.0.3.dist-info/licenses/LICENSE diff --git a/venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/RECORD b/venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/RECORD deleted file mode 100644 index af36bb9..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings-2.11.0.dist-info/RECORD +++ /dev/null @@ -1,49 +0,0 @@ -pydantic_settings-2.11.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -pydantic_settings-2.11.0.dist-info/METADATA,sha256=PDGByqQ8O-pOIP1ulD_GA9MtU82OhPvAx_XwBZo2z8M,3393 -pydantic_settings-2.11.0.dist-info/RECORD,, -pydantic_settings-2.11.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pydantic_settings-2.11.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87 -pydantic_settings-2.11.0.dist-info/licenses/LICENSE,sha256=6zVadT4CA0bTPYO_l2kTW4n8YQVorFMaAcKVvO5_2Zg,1103 -pydantic_settings/__init__.py,sha256=IUkO5TkUu6eYgRJhA1piTw4jp6-CBhV7kam0rEh1Flo,1563 -pydantic_settings/__pycache__/__init__.cpython-312.pyc,, -pydantic_settings/__pycache__/exceptions.cpython-312.pyc,, -pydantic_settings/__pycache__/main.cpython-312.pyc,, -pydantic_settings/__pycache__/utils.cpython-312.pyc,, -pydantic_settings/__pycache__/version.cpython-312.pyc,, -pydantic_settings/exceptions.py,sha256=SHLrIBHeFltPMc8abiQxw-MGqEadlYI-VdLELiZtWPU,97 -pydantic_settings/main.py,sha256=KR_ut942bw5hQLqA1aAGE7niHLHUr-Ca-gOK6ZNmL1k,32156 -pydantic_settings/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -pydantic_settings/sources/__init__.py,sha256=Ti1bRZb0r7IxkO-wJWKy-qEpeBUFKYRpa3A1AQodOyk,2052 -pydantic_settings/sources/__pycache__/__init__.cpython-312.pyc,, -pydantic_settings/sources/__pycache__/base.cpython-312.pyc,, -pydantic_settings/sources/__pycache__/types.cpython-312.pyc,, -pydantic_settings/sources/__pycache__/utils.cpython-312.pyc,, -pydantic_settings/sources/base.py,sha256=N8DOFzKuNPdzVFt22gcSHqs_GHUqCc8AfTRZuWVfl84,20921 -pydantic_settings/sources/providers/__init__.py,sha256=jBTurqBXeJvMfTl2lvHr2iDVDOvHfO-8PVNJiKt7MBk,1205 -pydantic_settings/sources/providers/__pycache__/__init__.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/aws.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/azure.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/cli.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/dotenv.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/env.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/gcp.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/json.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/pyproject.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/secrets.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/toml.cpython-312.pyc,, -pydantic_settings/sources/providers/__pycache__/yaml.cpython-312.pyc,, -pydantic_settings/sources/providers/aws.py,sha256=y-GXXP-dQ9kewMWpPQ9sHYFZ2KfrO0vMNYqVtiF1ysg,2549 -pydantic_settings/sources/providers/azure.py,sha256=X_u5hYjysUTM7B0iPlEdY0nRfEw7AOPU_ALjixNS57Q,5004 -pydantic_settings/sources/providers/cli.py,sha256=c4hb980ZLMlvqgQaEpkNaMBQTRT153jNpSrsMu6cQb4,61842 -pydantic_settings/sources/providers/dotenv.py,sha256=X4fkql4sEyaEaK9WV1xUpxRAiJhMFvgj4DMODdUV_bA,5956 -pydantic_settings/sources/providers/env.py,sha256=E2q9YHjFrFUWAid2VpY3678PDSuIDQc_47iWcz_ojQ4,10717 -pydantic_settings/sources/providers/gcp.py,sha256=3bFh75aZp6mmn12VihQycND-5CLgnYWg6HBfNvIV26U,5644 -pydantic_settings/sources/providers/json.py,sha256=k0hWDu0fNLrI5z3zWTGtlKyR0xx-2pOPu-oWjwqmVXo,1436 -pydantic_settings/sources/providers/pyproject.py,sha256=zSQsV3-jtZhiLm3YlrlYoE2__tZBazp0KjQyKLNyLr0,2052 -pydantic_settings/sources/providers/secrets.py,sha256=JLMIj3VVwp86foGTP8fb6zWddmYpELBu95Ldzobnsw8,4303 -pydantic_settings/sources/providers/toml.py,sha256=5k9wMJbKrUqXNiCM5G1hYnCOEZNUJJBTAzFw6Pv2K6A,1827 -pydantic_settings/sources/providers/yaml.py,sha256=mhjmOkrwLT16AEGNDuYoex2PYHejusn7Y0J4KL6SVbw,2305 -pydantic_settings/sources/types.py,sha256=8TT7eJvOam2-B2M2TYS-z4XTIyckBmbluw96ayVnWHc,1513 -pydantic_settings/sources/utils.py,sha256=0fQ2yDBzxqrmvwHLeSu5ASfdHkbRviCFsqQADfSqk40,7601 -pydantic_settings/utils.py,sha256=SkOfKGo0omDB4REfg31XSO8yVmpzCQgeIcdg-qqcSrk,1382 -pydantic_settings/version.py,sha256=pneluWHKumnFZTuxtZZ1nYFMF9LFmg5igdk6rGxXKhU,19 diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/__init__.py b/venv/lib/python3.12/site-packages/pydantic_settings/__init__.py index 60990a8..7b99f88 100644 --- a/venv/lib/python3.12/site-packages/pydantic_settings/__init__.py +++ b/venv/lib/python3.12/site-packages/pydantic_settings/__init__.py @@ -1,63 +1,22 @@ -from .exceptions import SettingsError -from .main import BaseSettings, CliApp, SettingsConfigDict +from .main import BaseSettings, SettingsConfigDict from .sources import ( - CLI_SUPPRESS, - AWSSecretsManagerSettingsSource, - AzureKeyVaultSettingsSource, - CliExplicitFlag, - CliImplicitFlag, - CliMutuallyExclusiveGroup, - CliPositionalArg, - CliSettingsSource, - CliSubCommand, - CliSuppress, - CliUnknownArgs, DotEnvSettingsSource, EnvSettingsSource, - ForceDecode, - GoogleSecretManagerSettingsSource, InitSettingsSource, - JsonConfigSettingsSource, - NoDecode, PydanticBaseSettingsSource, - PyprojectTomlConfigSettingsSource, SecretsSettingsSource, - TomlConfigSettingsSource, - YamlConfigSettingsSource, - get_subcommand, ) from .version import VERSION __all__ = ( - 'CLI_SUPPRESS', - 'AWSSecretsManagerSettingsSource', - 'AzureKeyVaultSettingsSource', 'BaseSettings', - 'CliApp', - 'CliExplicitFlag', - 'CliImplicitFlag', - 'CliMutuallyExclusiveGroup', - 'CliPositionalArg', - 'CliSettingsSource', - 'CliSubCommand', - 'CliSuppress', - 'CliUnknownArgs', 'DotEnvSettingsSource', 'EnvSettingsSource', - 'ForceDecode', - 'GoogleSecretManagerSettingsSource', 'InitSettingsSource', - 'JsonConfigSettingsSource', - 'NoDecode', 'PydanticBaseSettingsSource', - 'PyprojectTomlConfigSettingsSource', 'SecretsSettingsSource', 'SettingsConfigDict', - 'SettingsError', - 'TomlConfigSettingsSource', - 'YamlConfigSettingsSource', '__version__', - 'get_subcommand', ) __version__ = VERSION diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/exceptions.py b/venv/lib/python3.12/site-packages/pydantic_settings/exceptions.py deleted file mode 100644 index 90806c6..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/exceptions.py +++ /dev/null @@ -1,4 +0,0 @@ -class SettingsError(ValueError): - """Base exception for settings-related errors.""" - - pass diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/main.py b/venv/lib/python3.12/site-packages/pydantic_settings/main.py index f72e950..64e9d64 100644 --- a/venv/lib/python3.12/site-packages/pydantic_settings/main.py +++ b/venv/lib/python3.12/site-packages/pydantic_settings/main.py @@ -1,104 +1,31 @@ from __future__ import annotations as _annotations -import asyncio -import inspect -import threading -import warnings -from argparse import Namespace -from collections.abc import Mapping -from types import SimpleNamespace -from typing import Any, ClassVar, TypeVar +from pathlib import Path +from typing import Any, ClassVar from pydantic import ConfigDict from pydantic._internal._config import config_keys -from pydantic._internal._signature import _field_name_for_signature -from pydantic._internal._utils import deep_update, is_model_class -from pydantic.dataclasses import is_pydantic_dataclass +from pydantic._internal._utils import deep_update from pydantic.main import BaseModel -from .exceptions import SettingsError from .sources import ( ENV_FILE_SENTINEL, - CliSettingsSource, - DefaultSettingsSource, DotEnvSettingsSource, DotenvType, EnvSettingsSource, InitSettingsSource, - JsonConfigSettingsSource, - PathType, PydanticBaseSettingsSource, - PydanticModel, - PyprojectTomlConfigSettingsSource, SecretsSettingsSource, - TomlConfigSettingsSource, - YamlConfigSettingsSource, - get_subcommand, ) -T = TypeVar('T') - class SettingsConfigDict(ConfigDict, total=False): case_sensitive: bool - nested_model_default_partial_update: bool | None env_prefix: str env_file: DotenvType | None env_file_encoding: str | None - env_ignore_empty: bool env_nested_delimiter: str | None - env_nested_max_split: int | None - env_parse_none_str: str | None - env_parse_enums: bool | None - cli_prog_name: str | None - cli_parse_args: bool | list[str] | tuple[str, ...] | None - cli_parse_none_str: str | None - cli_hide_none_type: bool - cli_avoid_json: bool - cli_enforce_required: bool - cli_use_class_docs_for_groups: bool - cli_exit_on_error: bool - cli_prefix: str - cli_flag_prefix_char: str - cli_implicit_flags: bool | None - cli_ignore_unknown_args: bool | None - cli_kebab_case: bool | None - cli_shortcuts: Mapping[str, str | list[str]] | None - secrets_dir: PathType | None - json_file: PathType | None - json_file_encoding: str | None - yaml_file: PathType | None - yaml_file_encoding: str | None - yaml_config_section: str | None - """ - Specifies the top-level key in a YAML file from which to load the settings. - If provided, the settings will be loaded from the nested section under this key. - This is useful when the YAML file contains multiple configuration sections - and you only want to load a specific subset into your settings model. - """ - - pyproject_toml_depth: int - """ - Number of levels **up** from the current working directory to attempt to find a pyproject.toml - file. - - This is only used when a pyproject.toml file is not found in the current working directory. - """ - - pyproject_toml_table_header: tuple[str, ...] - """ - Header of the TOML table within a pyproject.toml file to use when filling variables. - This is supplied as a `tuple[str, ...]` instead of a `str` to accommodate for headers - containing a `.`. - - For example, `toml_table_header = ("tool", "my.tool", "foo")` can be used to fill variable - values from a table with header `[tool."my.tool".foo]`. - - To use the root table, exclude this config setting or provide an empty tuple. - """ - - toml_file: PathType | None - enable_decoding: bool + secrets_dir: str | Path | None # Extend `config_keys` by pydantic settings config keys to @@ -120,104 +47,35 @@ class BaseSettings(BaseModel): All the below attributes can be set via `model_config`. Args: - _case_sensitive: Whether environment and CLI variable names should be read with case-sensitivity. - Defaults to `None`. - _nested_model_default_partial_update: Whether to allow partial updates on nested model default object fields. - Defaults to `False`. + _case_sensitive: Whether environment variables names should be read with case-sensitivity. Defaults to `None`. _env_prefix: Prefix for all environment variables. Defaults to `None`. _env_file: The env file(s) to load settings values from. Defaults to `Path('')`, which means that the value from `model_config['env_file']` should be used. You can also pass `None` to indicate that environment variables should not be loaded from an env file. _env_file_encoding: The env file encoding, e.g. `'latin-1'`. Defaults to `None`. - _env_ignore_empty: Ignore environment variables where the value is an empty string. Default to `False`. _env_nested_delimiter: The nested env values delimiter. Defaults to `None`. - _env_nested_max_split: The nested env values maximum nesting. Defaults to `None`, which means no limit. - _env_parse_none_str: The env string value that should be parsed (e.g. "null", "void", "None", etc.) - into `None` type(None). Defaults to `None` type(None), which means no parsing should occur. - _env_parse_enums: Parse enum field names to values. Defaults to `None.`, which means no parsing should occur. - _cli_prog_name: The CLI program name to display in help text. Defaults to `None` if _cli_parse_args is `None`. - Otherwise, defaults to sys.argv[0]. - _cli_parse_args: The list of CLI arguments to parse. Defaults to None. - If set to `True`, defaults to sys.argv[1:]. - _cli_settings_source: Override the default CLI settings source with a user defined instance. Defaults to None. - _cli_parse_none_str: The CLI string value that should be parsed (e.g. "null", "void", "None", etc.) into - `None` type(None). Defaults to _env_parse_none_str value if set. Otherwise, defaults to "null" if - _cli_avoid_json is `False`, and "None" if _cli_avoid_json is `True`. - _cli_hide_none_type: Hide `None` values in CLI help text. Defaults to `False`. - _cli_avoid_json: Avoid complex JSON objects in CLI help text. Defaults to `False`. - _cli_enforce_required: Enforce required fields at the CLI. Defaults to `False`. - _cli_use_class_docs_for_groups: Use class docstrings in CLI group help text instead of field descriptions. - Defaults to `False`. - _cli_exit_on_error: Determines whether or not the internal parser exits with error info when an error occurs. - Defaults to `True`. - _cli_prefix: The root parser command line arguments prefix. Defaults to "". - _cli_flag_prefix_char: The flag prefix character to use for CLI optional arguments. Defaults to '-'. - _cli_implicit_flags: Whether `bool` fields should be implicitly converted into CLI boolean flags. - (e.g. --flag, --no-flag). Defaults to `False`. - _cli_ignore_unknown_args: Whether to ignore unknown CLI args and parse only known ones. Defaults to `False`. - _cli_kebab_case: CLI args use kebab case. Defaults to `False`. - _cli_shortcuts: Mapping of target field name to alias names. Defaults to `None`. - _secrets_dir: The secret files directory or a sequence of directories. Defaults to `None`. + _secrets_dir: The secret files directory. Defaults to `None`. """ def __init__( __pydantic_self__, _case_sensitive: bool | None = None, - _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = ENV_FILE_SENTINEL, _env_file_encoding: str | None = None, - _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, - _env_nested_max_split: int | None = None, - _env_parse_none_str: str | None = None, - _env_parse_enums: bool | None = None, - _cli_prog_name: str | None = None, - _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, - _cli_settings_source: CliSettingsSource[Any] | None = None, - _cli_parse_none_str: str | None = None, - _cli_hide_none_type: bool | None = None, - _cli_avoid_json: bool | None = None, - _cli_enforce_required: bool | None = None, - _cli_use_class_docs_for_groups: bool | None = None, - _cli_exit_on_error: bool | None = None, - _cli_prefix: str | None = None, - _cli_flag_prefix_char: str | None = None, - _cli_implicit_flags: bool | None = None, - _cli_ignore_unknown_args: bool | None = None, - _cli_kebab_case: bool | None = None, - _cli_shortcuts: Mapping[str, str | list[str]] | None = None, - _secrets_dir: PathType | None = None, + _secrets_dir: str | Path | None = None, **values: Any, ) -> None: + # Uses something other than `self` the first arg to allow "self" as a settable attribute super().__init__( **__pydantic_self__._settings_build_values( values, _case_sensitive=_case_sensitive, - _nested_model_default_partial_update=_nested_model_default_partial_update, _env_prefix=_env_prefix, _env_file=_env_file, _env_file_encoding=_env_file_encoding, - _env_ignore_empty=_env_ignore_empty, _env_nested_delimiter=_env_nested_delimiter, - _env_nested_max_split=_env_nested_max_split, - _env_parse_none_str=_env_parse_none_str, - _env_parse_enums=_env_parse_enums, - _cli_prog_name=_cli_prog_name, - _cli_parse_args=_cli_parse_args, - _cli_settings_source=_cli_settings_source, - _cli_parse_none_str=_cli_parse_none_str, - _cli_hide_none_type=_cli_hide_none_type, - _cli_avoid_json=_cli_avoid_json, - _cli_enforce_required=_cli_enforce_required, - _cli_use_class_docs_for_groups=_cli_use_class_docs_for_groups, - _cli_exit_on_error=_cli_exit_on_error, - _cli_prefix=_cli_prefix, - _cli_flag_prefix_char=_cli_flag_prefix_char, - _cli_implicit_flags=_cli_implicit_flags, - _cli_ignore_unknown_args=_cli_ignore_unknown_args, - _cli_kebab_case=_cli_kebab_case, - _cli_shortcuts=_cli_shortcuts, _secrets_dir=_secrets_dir, ) ) @@ -250,125 +108,33 @@ class BaseSettings(BaseModel): self, init_kwargs: dict[str, Any], _case_sensitive: bool | None = None, - _nested_model_default_partial_update: bool | None = None, _env_prefix: str | None = None, _env_file: DotenvType | None = None, _env_file_encoding: str | None = None, - _env_ignore_empty: bool | None = None, _env_nested_delimiter: str | None = None, - _env_nested_max_split: int | None = None, - _env_parse_none_str: str | None = None, - _env_parse_enums: bool | None = None, - _cli_prog_name: str | None = None, - _cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, - _cli_settings_source: CliSettingsSource[Any] | None = None, - _cli_parse_none_str: str | None = None, - _cli_hide_none_type: bool | None = None, - _cli_avoid_json: bool | None = None, - _cli_enforce_required: bool | None = None, - _cli_use_class_docs_for_groups: bool | None = None, - _cli_exit_on_error: bool | None = None, - _cli_prefix: str | None = None, - _cli_flag_prefix_char: str | None = None, - _cli_implicit_flags: bool | None = None, - _cli_ignore_unknown_args: bool | None = None, - _cli_kebab_case: bool | None = None, - _cli_shortcuts: Mapping[str, str | list[str]] | None = None, - _secrets_dir: PathType | None = None, + _secrets_dir: str | Path | None = None, ) -> dict[str, Any]: # Determine settings config values case_sensitive = _case_sensitive if _case_sensitive is not None else self.model_config.get('case_sensitive') env_prefix = _env_prefix if _env_prefix is not None else self.model_config.get('env_prefix') - nested_model_default_partial_update = ( - _nested_model_default_partial_update - if _nested_model_default_partial_update is not None - else self.model_config.get('nested_model_default_partial_update') - ) env_file = _env_file if _env_file != ENV_FILE_SENTINEL else self.model_config.get('env_file') env_file_encoding = ( _env_file_encoding if _env_file_encoding is not None else self.model_config.get('env_file_encoding') ) - env_ignore_empty = ( - _env_ignore_empty if _env_ignore_empty is not None else self.model_config.get('env_ignore_empty') - ) env_nested_delimiter = ( _env_nested_delimiter if _env_nested_delimiter is not None else self.model_config.get('env_nested_delimiter') ) - env_nested_max_split = ( - _env_nested_max_split - if _env_nested_max_split is not None - else self.model_config.get('env_nested_max_split') - ) - env_parse_none_str = ( - _env_parse_none_str if _env_parse_none_str is not None else self.model_config.get('env_parse_none_str') - ) - env_parse_enums = _env_parse_enums if _env_parse_enums is not None else self.model_config.get('env_parse_enums') - - cli_prog_name = _cli_prog_name if _cli_prog_name is not None else self.model_config.get('cli_prog_name') - cli_parse_args = _cli_parse_args if _cli_parse_args is not None else self.model_config.get('cli_parse_args') - cli_settings_source = ( - _cli_settings_source if _cli_settings_source is not None else self.model_config.get('cli_settings_source') - ) - cli_parse_none_str = ( - _cli_parse_none_str if _cli_parse_none_str is not None else self.model_config.get('cli_parse_none_str') - ) - cli_parse_none_str = cli_parse_none_str if not env_parse_none_str else env_parse_none_str - cli_hide_none_type = ( - _cli_hide_none_type if _cli_hide_none_type is not None else self.model_config.get('cli_hide_none_type') - ) - cli_avoid_json = _cli_avoid_json if _cli_avoid_json is not None else self.model_config.get('cli_avoid_json') - cli_enforce_required = ( - _cli_enforce_required - if _cli_enforce_required is not None - else self.model_config.get('cli_enforce_required') - ) - cli_use_class_docs_for_groups = ( - _cli_use_class_docs_for_groups - if _cli_use_class_docs_for_groups is not None - else self.model_config.get('cli_use_class_docs_for_groups') - ) - cli_exit_on_error = ( - _cli_exit_on_error if _cli_exit_on_error is not None else self.model_config.get('cli_exit_on_error') - ) - cli_prefix = _cli_prefix if _cli_prefix is not None else self.model_config.get('cli_prefix') - cli_flag_prefix_char = ( - _cli_flag_prefix_char - if _cli_flag_prefix_char is not None - else self.model_config.get('cli_flag_prefix_char') - ) - cli_implicit_flags = ( - _cli_implicit_flags if _cli_implicit_flags is not None else self.model_config.get('cli_implicit_flags') - ) - cli_ignore_unknown_args = ( - _cli_ignore_unknown_args - if _cli_ignore_unknown_args is not None - else self.model_config.get('cli_ignore_unknown_args') - ) - cli_kebab_case = _cli_kebab_case if _cli_kebab_case is not None else self.model_config.get('cli_kebab_case') - cli_shortcuts = _cli_shortcuts if _cli_shortcuts is not None else self.model_config.get('cli_shortcuts') - secrets_dir = _secrets_dir if _secrets_dir is not None else self.model_config.get('secrets_dir') # Configure built-in sources - default_settings = DefaultSettingsSource( - self.__class__, nested_model_default_partial_update=nested_model_default_partial_update - ) - init_settings = InitSettingsSource( - self.__class__, - init_kwargs=init_kwargs, - nested_model_default_partial_update=nested_model_default_partial_update, - ) + init_settings = InitSettingsSource(self.__class__, init_kwargs=init_kwargs) env_settings = EnvSettingsSource( self.__class__, case_sensitive=case_sensitive, env_prefix=env_prefix, env_nested_delimiter=env_nested_delimiter, - env_nested_max_split=env_nested_max_split, - env_ignore_empty=env_ignore_empty, - env_parse_none_str=env_parse_none_str, - env_parse_enums=env_parse_enums, ) dotenv_settings = DotEnvSettingsSource( self.__class__, @@ -377,10 +143,6 @@ class BaseSettings(BaseModel): case_sensitive=case_sensitive, env_prefix=env_prefix, env_nested_delimiter=env_nested_delimiter, - env_nested_max_split=env_nested_max_split, - env_ignore_empty=env_ignore_empty, - env_parse_none_str=env_parse_none_str, - env_parse_enums=env_parse_enums, ) file_secret_settings = SecretsSettingsSource( @@ -393,294 +155,23 @@ class BaseSettings(BaseModel): env_settings=env_settings, dotenv_settings=dotenv_settings, file_secret_settings=file_secret_settings, - ) + (default_settings,) - custom_cli_sources = [source for source in sources if isinstance(source, CliSettingsSource)] - if not any(custom_cli_sources): - if isinstance(cli_settings_source, CliSettingsSource): - sources = (cli_settings_source,) + sources - elif cli_parse_args is not None: - cli_settings = CliSettingsSource[Any]( - self.__class__, - cli_prog_name=cli_prog_name, - cli_parse_args=cli_parse_args, - cli_parse_none_str=cli_parse_none_str, - cli_hide_none_type=cli_hide_none_type, - cli_avoid_json=cli_avoid_json, - cli_enforce_required=cli_enforce_required, - cli_use_class_docs_for_groups=cli_use_class_docs_for_groups, - cli_exit_on_error=cli_exit_on_error, - cli_prefix=cli_prefix, - cli_flag_prefix_char=cli_flag_prefix_char, - cli_implicit_flags=cli_implicit_flags, - cli_ignore_unknown_args=cli_ignore_unknown_args, - cli_kebab_case=cli_kebab_case, - cli_shortcuts=cli_shortcuts, - case_sensitive=case_sensitive, - ) - sources = (cli_settings,) + sources - # We ensure that if command line arguments haven't been parsed yet, we do so. - elif cli_parse_args not in (None, False) and not custom_cli_sources[0].env_vars: - custom_cli_sources[0](args=cli_parse_args) # type: ignore - - self._settings_warn_unused_config_keys(sources, self.model_config) - + ) if sources: - state: dict[str, Any] = {} - states: dict[str, dict[str, Any]] = {} - for source in sources: - if isinstance(source, PydanticBaseSettingsSource): - source._set_current_state(state) - source._set_settings_sources_data(states) - - source_name = source.__name__ if hasattr(source, '__name__') else type(source).__name__ - source_state = source() - - states[source_name] = source_state - state = deep_update(source_state, state) - return state + return deep_update(*reversed([source() for source in sources])) else: # no one should mean to do this, but I think returning an empty dict is marginally preferable # to an informative error and much better than a confusing error return {} - @staticmethod - def _settings_warn_unused_config_keys(sources: tuple[object, ...], model_config: SettingsConfigDict) -> None: - """ - Warns if any values in model_config were set but the corresponding settings source has not been initialised. - - The list alternative sources and their config keys can be found here: - https://docs.pydantic.dev/latest/concepts/pydantic_settings/#other-settings-source - - Args: - sources: The tuple of configured sources - model_config: The model config to check for unused config keys - """ - - def warn_if_not_used(source_type: type[PydanticBaseSettingsSource], keys: tuple[str, ...]) -> None: - if not any(isinstance(source, source_type) for source in sources): - for key in keys: - if model_config.get(key) is not None: - warnings.warn( - f'Config key `{key}` is set in model_config but will be ignored because no ' - f'{source_type.__name__} source is configured. To use this config key, add a ' - f'{source_type.__name__} source to the settings sources via the ' - 'settings_customise_sources hook.', - UserWarning, - stacklevel=3, - ) - - warn_if_not_used(JsonConfigSettingsSource, ('json_file', 'json_file_encoding')) - warn_if_not_used(PyprojectTomlConfigSettingsSource, ('pyproject_toml_depth', 'pyproject_toml_table_header')) - warn_if_not_used(TomlConfigSettingsSource, ('toml_file',)) - warn_if_not_used(YamlConfigSettingsSource, ('yaml_file', 'yaml_file_encoding', 'yaml_config_section')) - model_config: ClassVar[SettingsConfigDict] = SettingsConfigDict( extra='forbid', arbitrary_types_allowed=True, validate_default=True, case_sensitive=False, env_prefix='', - nested_model_default_partial_update=False, env_file=None, env_file_encoding=None, - env_ignore_empty=False, env_nested_delimiter=None, - env_nested_max_split=None, - env_parse_none_str=None, - env_parse_enums=None, - cli_prog_name=None, - cli_parse_args=None, - cli_parse_none_str=None, - cli_hide_none_type=False, - cli_avoid_json=False, - cli_enforce_required=False, - cli_use_class_docs_for_groups=False, - cli_exit_on_error=True, - cli_prefix='', - cli_flag_prefix_char='-', - cli_implicit_flags=False, - cli_ignore_unknown_args=False, - cli_kebab_case=False, - cli_shortcuts=None, - json_file=None, - json_file_encoding=None, - yaml_file=None, - yaml_file_encoding=None, - yaml_config_section=None, - toml_file=None, secrets_dir=None, - protected_namespaces=('model_validate', 'model_dump', 'settings_customise_sources'), - enable_decoding=True, + protected_namespaces=('model_', 'settings_'), ) - - -class CliApp: - """ - A utility class for running Pydantic `BaseSettings`, `BaseModel`, or `pydantic.dataclasses.dataclass` as - CLI applications. - """ - - @staticmethod - def _get_base_settings_cls(model_cls: type[Any]) -> type[BaseSettings]: - if issubclass(model_cls, BaseSettings): - return model_cls - - class CliAppBaseSettings(BaseSettings, model_cls): # type: ignore - __doc__ = model_cls.__doc__ - model_config = SettingsConfigDict( - nested_model_default_partial_update=True, - case_sensitive=True, - cli_hide_none_type=True, - cli_avoid_json=True, - cli_enforce_required=True, - cli_implicit_flags=True, - cli_kebab_case=True, - ) - - return CliAppBaseSettings - - @staticmethod - def _run_cli_cmd(model: Any, cli_cmd_method_name: str, is_required: bool) -> Any: - command = getattr(type(model), cli_cmd_method_name, None) - if command is None: - if is_required: - raise SettingsError(f'Error: {type(model).__name__} class is missing {cli_cmd_method_name} entrypoint') - return model - - # If the method is asynchronous, we handle its execution based on the current event loop status. - if inspect.iscoroutinefunction(command): - # For asynchronous methods, we have two execution scenarios: - # 1. If no event loop is running in the current thread, run the coroutine directly with asyncio.run(). - # 2. If an event loop is already running in the current thread, run the coroutine in a separate thread to avoid conflicts. - try: - # Check if an event loop is currently running in this thread. - loop = asyncio.get_running_loop() - except RuntimeError: - loop = None - - if loop and loop.is_running(): - # We're in a context with an active event loop (e.g., Jupyter Notebook). - # Running asyncio.run() here would cause conflicts, so we use a separate thread. - exception_container = [] - - def run_coro() -> None: - try: - # Execute the coroutine in a new event loop in this separate thread. - asyncio.run(command(model)) - except Exception as e: - exception_container.append(e) - - thread = threading.Thread(target=run_coro) - thread.start() - thread.join() - if exception_container: - # Propagate exceptions from the separate thread. - raise exception_container[0] - else: - # No event loop is running; safe to run the coroutine directly. - asyncio.run(command(model)) - else: - # For synchronous methods, call them directly. - command(model) - - return model - - @staticmethod - def run( - model_cls: type[T], - cli_args: list[str] | Namespace | SimpleNamespace | dict[str, Any] | None = None, - cli_settings_source: CliSettingsSource[Any] | None = None, - cli_exit_on_error: bool | None = None, - cli_cmd_method_name: str = 'cli_cmd', - **model_init_data: Any, - ) -> T: - """ - Runs a Pydantic `BaseSettings`, `BaseModel`, or `pydantic.dataclasses.dataclass` as a CLI application. - Running a model as a CLI application requires the `cli_cmd` method to be defined in the model class. - - Args: - model_cls: The model class to run as a CLI application. - cli_args: The list of CLI arguments to parse. If `cli_settings_source` is specified, this may - also be a namespace or dictionary of pre-parsed CLI arguments. Defaults to `sys.argv[1:]`. - cli_settings_source: Override the default CLI settings source with a user defined instance. - Defaults to `None`. - cli_exit_on_error: Determines whether this function exits on error. If model is subclass of - `BaseSettings`, defaults to BaseSettings `cli_exit_on_error` value. Otherwise, defaults to - `True`. - cli_cmd_method_name: The CLI command method name to run. Defaults to "cli_cmd". - model_init_data: The model init data. - - Returns: - The ran instance of model. - - Raises: - SettingsError: If model_cls is not subclass of `BaseModel` or `pydantic.dataclasses.dataclass`. - SettingsError: If model_cls does not have a `cli_cmd` entrypoint defined. - """ - - if not (is_pydantic_dataclass(model_cls) or is_model_class(model_cls)): - raise SettingsError( - f'Error: {model_cls.__name__} is not subclass of BaseModel or pydantic.dataclasses.dataclass' - ) - - cli_settings = None - cli_parse_args = True if cli_args is None else cli_args - if cli_settings_source is not None: - if isinstance(cli_parse_args, (Namespace, SimpleNamespace, dict)): - cli_settings = cli_settings_source(parsed_args=cli_parse_args) - else: - cli_settings = cli_settings_source(args=cli_parse_args) - elif isinstance(cli_parse_args, (Namespace, SimpleNamespace, dict)): - raise SettingsError('Error: `cli_args` must be list[str] or None when `cli_settings_source` is not used') - - model_init_data['_cli_parse_args'] = cli_parse_args - model_init_data['_cli_exit_on_error'] = cli_exit_on_error - model_init_data['_cli_settings_source'] = cli_settings - if not issubclass(model_cls, BaseSettings): - base_settings_cls = CliApp._get_base_settings_cls(model_cls) - model = base_settings_cls(**model_init_data) - model_init_data = {} - for field_name, field_info in base_settings_cls.model_fields.items(): - model_init_data[_field_name_for_signature(field_name, field_info)] = getattr(model, field_name) - - return CliApp._run_cli_cmd(model_cls(**model_init_data), cli_cmd_method_name, is_required=False) - - @staticmethod - def run_subcommand( - model: PydanticModel, cli_exit_on_error: bool | None = None, cli_cmd_method_name: str = 'cli_cmd' - ) -> PydanticModel: - """ - Runs the model subcommand. Running a model subcommand requires the `cli_cmd` method to be defined in - the nested model subcommand class. - - Args: - model: The model to run the subcommand from. - cli_exit_on_error: Determines whether this function exits with error if no subcommand is found. - Defaults to model_config `cli_exit_on_error` value if set. Otherwise, defaults to `True`. - cli_cmd_method_name: The CLI command method name to run. Defaults to "cli_cmd". - - Returns: - The ran subcommand model. - - Raises: - SystemExit: When no subcommand is found and cli_exit_on_error=`True` (the default). - SettingsError: When no subcommand is found and cli_exit_on_error=`False`. - """ - - subcommand = get_subcommand(model, is_required=True, cli_exit_on_error=cli_exit_on_error) - return CliApp._run_cli_cmd(subcommand, cli_cmd_method_name, is_required=True) - - @staticmethod - def serialize(model: PydanticModel) -> list[str]: - """ - Serializes the CLI arguments for a Pydantic data model. - - Args: - model: The data model to serialize. - - Returns: - The serialized CLI arguments for the data model. - """ - - base_settings_cls = CliApp._get_base_settings_cls(type(model)) - return CliSettingsSource[Any](base_settings_cls)._serialized_args(model) diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources.py new file mode 100644 index 0000000..baa10b8 --- /dev/null +++ b/venv/lib/python3.12/site-packages/pydantic_settings/sources.py @@ -0,0 +1,653 @@ +from __future__ import annotations as _annotations + +import json +import os +import warnings +from abc import ABC, abstractmethod +from collections import deque +from dataclasses import is_dataclass +from pathlib import Path +from typing import TYPE_CHECKING, Any, List, Mapping, Sequence, Tuple, Union, cast + +from pydantic import AliasChoices, AliasPath, BaseModel, Json +from pydantic._internal._typing_extra import origin_is_union +from pydantic._internal._utils import deep_update, lenient_issubclass +from pydantic.fields import FieldInfo +from typing_extensions import get_args, get_origin + +from pydantic_settings.utils import path_type_label + +if TYPE_CHECKING: + from pydantic_settings.main import BaseSettings + + +DotenvType = Union[Path, str, List[Union[Path, str]], Tuple[Union[Path, str], ...]] + +# This is used as default value for `_env_file` in the `BaseSettings` class and +# `env_file` in `DotEnvSettingsSource` so the default can be distinguished from `None`. +# See the docstring of `BaseSettings` for more details. +ENV_FILE_SENTINEL: DotenvType = Path('') + + +class SettingsError(ValueError): + pass + + +class PydanticBaseSettingsSource(ABC): + """ + Abstract base class for settings sources, every settings source classes should inherit from it. + """ + + def __init__(self, settings_cls: type[BaseSettings]): + self.settings_cls = settings_cls + self.config = settings_cls.model_config + + @abstractmethod + def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: + """ + Gets the value, the key for model creation, and a flag to determine whether value is complex. + + This is an abstract method that should be overridden in every settings source classes. + + Args: + field: The field. + field_name: The field name. + + Returns: + A tuple contains the key, value and a flag to determine whether value is complex. + """ + pass + + def field_is_complex(self, field: FieldInfo) -> bool: + """ + Checks whether a field is complex, in which case it will attempt to be parsed as JSON. + + Args: + field: The field. + + Returns: + Whether the field is complex. + """ + return _annotation_is_complex(field.annotation, field.metadata) + + def prepare_field_value(self, field_name: str, field: FieldInfo, value: Any, value_is_complex: bool) -> Any: + """ + Prepares the value of a field. + + Args: + field_name: The field name. + field: The field. + value: The value of the field that has to be prepared. + value_is_complex: A flag to determine whether value is complex. + + Returns: + The prepared value. + """ + if value is not None and (self.field_is_complex(field) or value_is_complex): + return self.decode_complex_value(field_name, field, value) + return value + + def decode_complex_value(self, field_name: str, field: FieldInfo, value: Any) -> Any: + """ + Decode the value for a complex field + + Args: + field_name: The field name. + field: The field. + value: The value of the field that has to be prepared. + + Returns: + The decoded value for further preparation + """ + return json.loads(value) + + @abstractmethod + def __call__(self) -> dict[str, Any]: + pass + + +class InitSettingsSource(PydanticBaseSettingsSource): + """ + Source class for loading values provided during settings class initialization. + """ + + def __init__(self, settings_cls: type[BaseSettings], init_kwargs: dict[str, Any]): + self.init_kwargs = init_kwargs + super().__init__(settings_cls) + + def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: + # Nothing to do here. Only implement the return statement to make mypy happy + return None, '', False + + def __call__(self) -> dict[str, Any]: + return self.init_kwargs + + def __repr__(self) -> str: + return f'InitSettingsSource(init_kwargs={self.init_kwargs!r})' + + +class PydanticBaseEnvSettingsSource(PydanticBaseSettingsSource): + def __init__( + self, settings_cls: type[BaseSettings], case_sensitive: bool | None = None, env_prefix: str | None = None + ) -> None: + super().__init__(settings_cls) + self.case_sensitive = case_sensitive if case_sensitive is not None else self.config.get('case_sensitive', False) + self.env_prefix = env_prefix if env_prefix is not None else self.config.get('env_prefix', '') + + def _apply_case_sensitive(self, value: str) -> str: + return value.lower() if not self.case_sensitive else value + + def _extract_field_info(self, field: FieldInfo, field_name: str) -> list[tuple[str, str, bool]]: + """ + Extracts field info. This info is used to get the value of field from environment variables. + + It returns a list of tuples, each tuple contains: + * field_key: The key of field that has to be used in model creation. + * env_name: The environment variable name of the field. + * value_is_complex: A flag to determine whether the value from environment variable + is complex and has to be parsed. + + Args: + field (FieldInfo): The field. + field_name (str): The field name. + + Returns: + list[tuple[str, str, bool]]: List of tuples, each tuple contains field_key, env_name, and value_is_complex. + """ + field_info: list[tuple[str, str, bool]] = [] + if isinstance(field.validation_alias, (AliasChoices, AliasPath)): + v_alias: str | list[str | int] | list[list[str | int]] | None = field.validation_alias.convert_to_aliases() + else: + v_alias = field.validation_alias + + if v_alias: + if isinstance(v_alias, list): # AliasChoices, AliasPath + for alias in v_alias: + if isinstance(alias, str): # AliasPath + field_info.append((alias, self._apply_case_sensitive(alias), True if len(alias) > 1 else False)) + elif isinstance(alias, list): # AliasChoices + first_arg = cast(str, alias[0]) # first item of an AliasChoices must be a str + field_info.append( + (first_arg, self._apply_case_sensitive(first_arg), True if len(alias) > 1 else False) + ) + else: # string validation alias + field_info.append((v_alias, self._apply_case_sensitive(v_alias), False)) + else: + field_info.append((field_name, self._apply_case_sensitive(self.env_prefix + field_name), False)) + + return field_info + + def _replace_field_names_case_insensitively(self, field: FieldInfo, field_values: dict[str, Any]) -> dict[str, Any]: + """ + Replace field names in values dict by looking in models fields insensitively. + + By having the following models: + + ```py + class SubSubSub(BaseModel): + VaL3: str + + class SubSub(BaseModel): + Val2: str + SUB_sub_SuB: SubSubSub + + class Sub(BaseModel): + VAL1: str + SUB_sub: SubSub + + class Settings(BaseSettings): + nested: Sub + + model_config = SettingsConfigDict(env_nested_delimiter='__') + ``` + + Then: + _replace_field_names_case_insensitively( + field, + {"val1": "v1", "sub_SUB": {"VAL2": "v2", "sub_SUB_sUb": {"vAl3": "v3"}}} + ) + Returns {'VAL1': 'v1', 'SUB_sub': {'Val2': 'v2', 'SUB_sub_SuB': {'VaL3': 'v3'}}} + """ + values: dict[str, Any] = {} + + for name, value in field_values.items(): + sub_model_field: FieldInfo | None = None + + # This is here to make mypy happy + # Item "None" of "Optional[Type[Any]]" has no attribute "model_fields" + if not field.annotation or not hasattr(field.annotation, 'model_fields'): + values[name] = value + continue + + # Find field in sub model by looking in fields case insensitively + for sub_model_field_name, f in field.annotation.model_fields.items(): + if not f.validation_alias and sub_model_field_name.lower() == name.lower(): + sub_model_field = f + break + + if not sub_model_field: + values[name] = value + continue + + if lenient_issubclass(sub_model_field.annotation, BaseModel) and isinstance(value, dict): + values[sub_model_field_name] = self._replace_field_names_case_insensitively(sub_model_field, value) + else: + values[sub_model_field_name] = value + + return values + + def __call__(self) -> dict[str, Any]: + data: dict[str, Any] = {} + + for field_name, field in self.settings_cls.model_fields.items(): + try: + field_value, field_key, value_is_complex = self.get_field_value(field, field_name) + except Exception as e: + raise SettingsError( + f'error getting value for field "{field_name}" from source "{self.__class__.__name__}"' + ) from e + + try: + field_value = self.prepare_field_value(field_name, field, field_value, value_is_complex) + except ValueError as e: + raise SettingsError( + f'error parsing value for field "{field_name}" from source "{self.__class__.__name__}"' + ) from e + + if field_value is not None: + if ( + not self.case_sensitive + and lenient_issubclass(field.annotation, BaseModel) + and isinstance(field_value, dict) + ): + data[field_key] = self._replace_field_names_case_insensitively(field, field_value) + else: + data[field_key] = field_value + + return data + + +class SecretsSettingsSource(PydanticBaseEnvSettingsSource): + """ + Source class for loading settings values from secret files. + """ + + def __init__( + self, + settings_cls: type[BaseSettings], + secrets_dir: str | Path | None = None, + case_sensitive: bool | None = None, + env_prefix: str | None = None, + ) -> None: + super().__init__(settings_cls, case_sensitive, env_prefix) + self.secrets_dir = secrets_dir if secrets_dir is not None else self.config.get('secrets_dir') + + def __call__(self) -> dict[str, Any]: + """ + Build fields from "secrets" files. + """ + secrets: dict[str, str | None] = {} + + if self.secrets_dir is None: + return secrets + + self.secrets_path = Path(self.secrets_dir).expanduser() + + if not self.secrets_path.exists(): + warnings.warn(f'directory "{self.secrets_path}" does not exist') + return secrets + + if not self.secrets_path.is_dir(): + raise SettingsError(f'secrets_dir must reference a directory, not a {path_type_label(self.secrets_path)}') + + return super().__call__() + + @classmethod + def find_case_path(cls, dir_path: Path, file_name: str, case_sensitive: bool) -> Path | None: + """ + Find a file within path's directory matching filename, optionally ignoring case. + + Args: + dir_path: Directory path. + file_name: File name. + case_sensitive: Whether to search for file name case sensitively. + + Returns: + Whether file path or `None` if file does not exist in directory. + """ + for f in dir_path.iterdir(): + if f.name == file_name: + return f + elif not case_sensitive and f.name.lower() == file_name.lower(): + return f + return None + + def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: + """ + Gets the value for field from secret file and a flag to determine whether value is complex. + + Args: + field: The field. + field_name: The field name. + + Returns: + A tuple contains the key, value if the file exists otherwise `None`, and + a flag to determine whether value is complex. + """ + + for field_key, env_name, value_is_complex in self._extract_field_info(field, field_name): + path = self.find_case_path(self.secrets_path, env_name, self.case_sensitive) + if not path: + # path does not exist, we currently don't return a warning for this + continue + + if path.is_file(): + return path.read_text().strip(), field_key, value_is_complex + else: + warnings.warn( + f'attempted to load secret file "{path}" but found a {path_type_label(path)} instead.', + stacklevel=4, + ) + + return None, field_key, value_is_complex + + def __repr__(self) -> str: + return f'SecretsSettingsSource(secrets_dir={self.secrets_dir!r})' + + +class EnvSettingsSource(PydanticBaseEnvSettingsSource): + """ + Source class for loading settings values from environment variables. + """ + + def __init__( + self, + settings_cls: type[BaseSettings], + case_sensitive: bool | None = None, + env_prefix: str | None = None, + env_nested_delimiter: str | None = None, + ) -> None: + super().__init__(settings_cls, case_sensitive, env_prefix) + self.env_nested_delimiter = ( + env_nested_delimiter if env_nested_delimiter is not None else self.config.get('env_nested_delimiter') + ) + self.env_prefix_len = len(self.env_prefix) + + self.env_vars = self._load_env_vars() + + def _load_env_vars(self) -> Mapping[str, str | None]: + if self.case_sensitive: + return os.environ + return {k.lower(): v for k, v in os.environ.items()} + + def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: + """ + Gets the value for field from environment variables and a flag to determine whether value is complex. + + Args: + field: The field. + field_name: The field name. + + Returns: + A tuple contains the key, value if the file exists otherwise `None`, and + a flag to determine whether value is complex. + """ + + env_val: str | None = None + for field_key, env_name, value_is_complex in self._extract_field_info(field, field_name): + env_val = self.env_vars.get(env_name) + if env_val is not None: + break + + return env_val, field_key, value_is_complex + + def prepare_field_value(self, field_name: str, field: FieldInfo, value: Any, value_is_complex: bool) -> Any: + """ + Prepare value for the field. + + * Extract value for nested field. + * Deserialize value to python object for complex field. + + Args: + field: The field. + field_name: The field name. + + Returns: + A tuple contains prepared value for the field. + + Raises: + ValuesError: When There is an error in deserializing value for complex field. + """ + is_complex, allow_parse_failure = self._field_is_complex(field) + if is_complex or value_is_complex: + if value is None: + # field is complex but no value found so far, try explode_env_vars + env_val_built = self.explode_env_vars(field_name, field, self.env_vars) + if env_val_built: + return env_val_built + else: + # field is complex and there's a value, decode that as JSON, then add explode_env_vars + try: + value = self.decode_complex_value(field_name, field, value) + except ValueError as e: + if not allow_parse_failure: + raise e + + if isinstance(value, dict): + return deep_update(value, self.explode_env_vars(field_name, field, self.env_vars)) + else: + return value + elif value is not None: + # simplest case, field is not complex, we only need to add the value if it was found + return value + + def _union_is_complex(self, annotation: type[Any] | None, metadata: list[Any]) -> bool: + return any(_annotation_is_complex(arg, metadata) for arg in get_args(annotation)) + + def _field_is_complex(self, field: FieldInfo) -> tuple[bool, bool]: + """ + Find out if a field is complex, and if so whether JSON errors should be ignored + """ + if self.field_is_complex(field): + allow_parse_failure = False + elif origin_is_union(get_origin(field.annotation)) and self._union_is_complex(field.annotation, field.metadata): + allow_parse_failure = True + else: + return False, False + + return True, allow_parse_failure + + @staticmethod + def next_field(field: FieldInfo | None, key: str) -> FieldInfo | None: + """ + Find the field in a sub model by key(env name) + + By having the following models: + + ```py + class SubSubModel(BaseSettings): + dvals: Dict + + class SubModel(BaseSettings): + vals: list[str] + sub_sub_model: SubSubModel + + class Cfg(BaseSettings): + sub_model: SubModel + ``` + + Then: + next_field(sub_model, 'vals') Returns the `vals` field of `SubModel` class + next_field(sub_model, 'sub_sub_model') Returns `sub_sub_model` field of `SubModel` class + + Args: + field: The field. + key: The key (env name). + + Returns: + Field if it finds the next field otherwise `None`. + """ + if not field or origin_is_union(get_origin(field.annotation)): + # no support for Unions of complex BaseSettings fields + return None + elif field.annotation and hasattr(field.annotation, 'model_fields') and field.annotation.model_fields.get(key): + return field.annotation.model_fields[key] + + return None + + def explode_env_vars(self, field_name: str, field: FieldInfo, env_vars: Mapping[str, str | None]) -> dict[str, Any]: + """ + Process env_vars and extract the values of keys containing env_nested_delimiter into nested dictionaries. + + This is applied to a single field, hence filtering by env_var prefix. + + Args: + field_name: The field name. + field: The field. + env_vars: Environment variables. + + Returns: + A dictionaty contains extracted values from nested env values. + """ + prefixes = [ + f'{env_name}{self.env_nested_delimiter}' for _, env_name, _ in self._extract_field_info(field, field_name) + ] + result: dict[str, Any] = {} + for env_name, env_val in env_vars.items(): + if not any(env_name.startswith(prefix) for prefix in prefixes): + continue + # we remove the prefix before splitting in case the prefix has characters in common with the delimiter + env_name_without_prefix = env_name[self.env_prefix_len :] + _, *keys, last_key = env_name_without_prefix.split(self.env_nested_delimiter) + env_var = result + target_field: FieldInfo | None = field + for key in keys: + target_field = self.next_field(target_field, key) + env_var = env_var.setdefault(key, {}) + + # get proper field with last_key + target_field = self.next_field(target_field, last_key) + + # check if env_val maps to a complex field and if so, parse the env_val + if target_field and env_val: + is_complex, allow_json_failure = self._field_is_complex(target_field) + if is_complex: + try: + env_val = self.decode_complex_value(last_key, target_field, env_val) + except ValueError as e: + if not allow_json_failure: + raise e + env_var[last_key] = env_val + + return result + + def __repr__(self) -> str: + return ( + f'EnvSettingsSource(env_nested_delimiter={self.env_nested_delimiter!r}, ' + f'env_prefix_len={self.env_prefix_len!r})' + ) + + +class DotEnvSettingsSource(EnvSettingsSource): + """ + Source class for loading settings values from env files. + """ + + def __init__( + self, + settings_cls: type[BaseSettings], + env_file: DotenvType | None = ENV_FILE_SENTINEL, + env_file_encoding: str | None = None, + case_sensitive: bool | None = None, + env_prefix: str | None = None, + env_nested_delimiter: str | None = None, + ) -> None: + self.env_file = env_file if env_file != ENV_FILE_SENTINEL else settings_cls.model_config.get('env_file') + self.env_file_encoding = ( + env_file_encoding if env_file_encoding is not None else settings_cls.model_config.get('env_file_encoding') + ) + super().__init__(settings_cls, case_sensitive, env_prefix, env_nested_delimiter) + + def _load_env_vars(self) -> Mapping[str, str | None]: + return self._read_env_files(self.case_sensitive) + + def _read_env_files(self, case_sensitive: bool) -> Mapping[str, str | None]: + env_files = self.env_file + if env_files is None: + return {} + + if isinstance(env_files, (str, os.PathLike)): + env_files = [env_files] + + dotenv_vars: dict[str, str | None] = {} + for env_file in env_files: + env_path = Path(env_file).expanduser() + if env_path.is_file(): + dotenv_vars.update( + read_env_file(env_path, encoding=self.env_file_encoding, case_sensitive=case_sensitive) + ) + + return dotenv_vars + + def __call__(self) -> dict[str, Any]: + data: dict[str, Any] = super().__call__() + + data_lower_keys: list[str] = [] + if not self.case_sensitive: + data_lower_keys = [x.lower() for x in data.keys()] + + # As `extra` config is allowed in dotenv settings source, We have to + # update data with extra env variabels from dotenv file. + for env_name, env_value in self.env_vars.items(): + if env_name.startswith(self.env_prefix) and env_value is not None: + env_name_without_prefix = env_name[self.env_prefix_len :] + first_key, *_ = env_name_without_prefix.split(self.env_nested_delimiter) + + if (data_lower_keys and first_key not in data_lower_keys) or ( + not data_lower_keys and first_key not in data + ): + data[first_key] = env_value + + return data + + def __repr__(self) -> str: + return ( + f'DotEnvSettingsSource(env_file={self.env_file!r}, env_file_encoding={self.env_file_encoding!r}, ' + f'env_nested_delimiter={self.env_nested_delimiter!r}, env_prefix_len={self.env_prefix_len!r})' + ) + + +def read_env_file( + file_path: Path, *, encoding: str | None = None, case_sensitive: bool = False +) -> Mapping[str, str | None]: + try: + from dotenv import dotenv_values + except ImportError as e: + raise ImportError('python-dotenv is not installed, run `pip install pydantic[dotenv]`') from e + + file_vars: dict[str, str | None] = dotenv_values(file_path, encoding=encoding or 'utf8') + if not case_sensitive: + return {k.lower(): v for k, v in file_vars.items()} + else: + return file_vars + + +def _annotation_is_complex(annotation: type[Any] | None, metadata: list[Any]) -> bool: + if any(isinstance(md, Json) for md in metadata): # type: ignore[misc] + return False + origin = get_origin(annotation) + return ( + _annotation_is_complex_inner(annotation) + or _annotation_is_complex_inner(origin) + or hasattr(origin, '__pydantic_core_schema__') + or hasattr(origin, '__get_pydantic_core_schema__') + ) + + +def _annotation_is_complex_inner(annotation: type[Any] | None) -> bool: + if lenient_issubclass(annotation, (str, bytes)): + return False + + return lenient_issubclass(annotation, (BaseModel, Mapping, Sequence, tuple, set, frozenset, deque)) or is_dataclass( + annotation + ) diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/__init__.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/__init__.py deleted file mode 100644 index a795c49..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/__init__.py +++ /dev/null @@ -1,68 +0,0 @@ -"""Package for handling configuration sources in pydantic-settings.""" - -from .base import ( - ConfigFileSourceMixin, - DefaultSettingsSource, - InitSettingsSource, - PydanticBaseEnvSettingsSource, - PydanticBaseSettingsSource, - get_subcommand, -) -from .providers.aws import AWSSecretsManagerSettingsSource -from .providers.azure import AzureKeyVaultSettingsSource -from .providers.cli import ( - CLI_SUPPRESS, - CliExplicitFlag, - CliImplicitFlag, - CliMutuallyExclusiveGroup, - CliPositionalArg, - CliSettingsSource, - CliSubCommand, - CliSuppress, - CliUnknownArgs, -) -from .providers.dotenv import DotEnvSettingsSource, read_env_file -from .providers.env import EnvSettingsSource -from .providers.gcp import GoogleSecretManagerSettingsSource -from .providers.json import JsonConfigSettingsSource -from .providers.pyproject import PyprojectTomlConfigSettingsSource -from .providers.secrets import SecretsSettingsSource -from .providers.toml import TomlConfigSettingsSource -from .providers.yaml import YamlConfigSettingsSource -from .types import DEFAULT_PATH, ENV_FILE_SENTINEL, DotenvType, ForceDecode, NoDecode, PathType, PydanticModel - -__all__ = [ - 'CLI_SUPPRESS', - 'ENV_FILE_SENTINEL', - 'DEFAULT_PATH', - 'AWSSecretsManagerSettingsSource', - 'AzureKeyVaultSettingsSource', - 'CliExplicitFlag', - 'CliImplicitFlag', - 'CliMutuallyExclusiveGroup', - 'CliPositionalArg', - 'CliSettingsSource', - 'CliSubCommand', - 'CliSuppress', - 'CliUnknownArgs', - 'DefaultSettingsSource', - 'DotEnvSettingsSource', - 'DotenvType', - 'EnvSettingsSource', - 'ForceDecode', - 'GoogleSecretManagerSettingsSource', - 'InitSettingsSource', - 'JsonConfigSettingsSource', - 'NoDecode', - 'PathType', - 'PydanticBaseEnvSettingsSource', - 'PydanticBaseSettingsSource', - 'ConfigFileSourceMixin', - 'PydanticModel', - 'PyprojectTomlConfigSettingsSource', - 'SecretsSettingsSource', - 'TomlConfigSettingsSource', - 'YamlConfigSettingsSource', - 'get_subcommand', - 'read_env_file', -] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/base.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/base.py deleted file mode 100644 index a5ec7e5..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/base.py +++ /dev/null @@ -1,527 +0,0 @@ -"""Base classes and core functionality for pydantic-settings sources.""" - -from __future__ import annotations as _annotations - -import json -import os -from abc import ABC, abstractmethod -from dataclasses import asdict, is_dataclass -from pathlib import Path -from typing import TYPE_CHECKING, Any, Optional, cast - -from pydantic import AliasChoices, AliasPath, BaseModel, TypeAdapter -from pydantic._internal._typing_extra import ( # type: ignore[attr-defined] - get_origin, -) -from pydantic._internal._utils import is_model_class -from pydantic.fields import FieldInfo -from typing_extensions import get_args -from typing_inspection import typing_objects -from typing_inspection.introspection import is_union_origin - -from ..exceptions import SettingsError -from ..utils import _lenient_issubclass -from .types import EnvNoneType, ForceDecode, NoDecode, PathType, PydanticModel, _CliSubCommand -from .utils import ( - _annotation_is_complex, - _get_alias_names, - _get_model_fields, - _strip_annotated, - _union_is_complex, -) - -if TYPE_CHECKING: - from pydantic_settings.main import BaseSettings - - -def get_subcommand( - model: PydanticModel, is_required: bool = True, cli_exit_on_error: bool | None = None -) -> Optional[PydanticModel]: - """ - Get the subcommand from a model. - - Args: - model: The model to get the subcommand from. - is_required: Determines whether a model must have subcommand set and raises error if not - found. Defaults to `True`. - cli_exit_on_error: Determines whether this function exits with error if no subcommand is found. - Defaults to model_config `cli_exit_on_error` value if set. Otherwise, defaults to `True`. - - Returns: - The subcommand model if found, otherwise `None`. - - Raises: - SystemExit: When no subcommand is found and is_required=`True` and cli_exit_on_error=`True` - (the default). - SettingsError: When no subcommand is found and is_required=`True` and - cli_exit_on_error=`False`. - """ - - model_cls = type(model) - if cli_exit_on_error is None and is_model_class(model_cls): - model_default = model_cls.model_config.get('cli_exit_on_error') - if isinstance(model_default, bool): - cli_exit_on_error = model_default - if cli_exit_on_error is None: - cli_exit_on_error = True - - subcommands: list[str] = [] - for field_name, field_info in _get_model_fields(model_cls).items(): - if _CliSubCommand in field_info.metadata: - if getattr(model, field_name) is not None: - return getattr(model, field_name) - subcommands.append(field_name) - - if is_required: - error_message = ( - f'Error: CLI subcommand is required {{{", ".join(subcommands)}}}' - if subcommands - else 'Error: CLI subcommand is required but no subcommands were found.' - ) - raise SystemExit(error_message) if cli_exit_on_error else SettingsError(error_message) - - return None - - -class PydanticBaseSettingsSource(ABC): - """ - Abstract base class for settings sources, every settings source classes should inherit from it. - """ - - def __init__(self, settings_cls: type[BaseSettings]): - self.settings_cls = settings_cls - self.config = settings_cls.model_config - self._current_state: dict[str, Any] = {} - self._settings_sources_data: dict[str, dict[str, Any]] = {} - - def _set_current_state(self, state: dict[str, Any]) -> None: - """ - Record the state of settings from the previous settings sources. This should - be called right before __call__. - """ - self._current_state = state - - def _set_settings_sources_data(self, states: dict[str, dict[str, Any]]) -> None: - """ - Record the state of settings from all previous settings sources. This should - be called right before __call__. - """ - self._settings_sources_data = states - - @property - def current_state(self) -> dict[str, Any]: - """ - The current state of the settings, populated by the previous settings sources. - """ - return self._current_state - - @property - def settings_sources_data(self) -> dict[str, dict[str, Any]]: - """ - The state of all previous settings sources. - """ - return self._settings_sources_data - - @abstractmethod - def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: - """ - Gets the value, the key for model creation, and a flag to determine whether value is complex. - - This is an abstract method that should be overridden in every settings source classes. - - Args: - field: The field. - field_name: The field name. - - Returns: - A tuple that contains the value, key and a flag to determine whether value is complex. - """ - pass - - def field_is_complex(self, field: FieldInfo) -> bool: - """ - Checks whether a field is complex, in which case it will attempt to be parsed as JSON. - - Args: - field: The field. - - Returns: - Whether the field is complex. - """ - return _annotation_is_complex(field.annotation, field.metadata) - - def prepare_field_value(self, field_name: str, field: FieldInfo, value: Any, value_is_complex: bool) -> Any: - """ - Prepares the value of a field. - - Args: - field_name: The field name. - field: The field. - value: The value of the field that has to be prepared. - value_is_complex: A flag to determine whether value is complex. - - Returns: - The prepared value. - """ - if value is not None and (self.field_is_complex(field) or value_is_complex): - return self.decode_complex_value(field_name, field, value) - return value - - def decode_complex_value(self, field_name: str, field: FieldInfo, value: Any) -> Any: - """ - Decode the value for a complex field - - Args: - field_name: The field name. - field: The field. - value: The value of the field that has to be prepared. - - Returns: - The decoded value for further preparation - """ - if field and ( - NoDecode in field.metadata - or (self.config.get('enable_decoding') is False and ForceDecode not in field.metadata) - ): - return value - - return json.loads(value) - - @abstractmethod - def __call__(self) -> dict[str, Any]: - pass - - -class ConfigFileSourceMixin(ABC): - def _read_files(self, files: PathType | None) -> dict[str, Any]: - if files is None: - return {} - if isinstance(files, (str, os.PathLike)): - files = [files] - vars: dict[str, Any] = {} - for file in files: - file_path = Path(file).expanduser() - if file_path.is_file(): - vars.update(self._read_file(file_path)) - return vars - - @abstractmethod - def _read_file(self, path: Path) -> dict[str, Any]: - pass - - -class DefaultSettingsSource(PydanticBaseSettingsSource): - """ - Source class for loading default object values. - - Args: - settings_cls: The Settings class. - nested_model_default_partial_update: Whether to allow partial updates on nested model default object fields. - Defaults to `False`. - """ - - def __init__(self, settings_cls: type[BaseSettings], nested_model_default_partial_update: bool | None = None): - super().__init__(settings_cls) - self.defaults: dict[str, Any] = {} - self.nested_model_default_partial_update = ( - nested_model_default_partial_update - if nested_model_default_partial_update is not None - else self.config.get('nested_model_default_partial_update', False) - ) - if self.nested_model_default_partial_update: - for field_name, field_info in settings_cls.model_fields.items(): - alias_names, *_ = _get_alias_names(field_name, field_info) - preferred_alias = alias_names[0] - if is_dataclass(type(field_info.default)): - self.defaults[preferred_alias] = asdict(field_info.default) - elif is_model_class(type(field_info.default)): - self.defaults[preferred_alias] = field_info.default.model_dump() - - def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: - # Nothing to do here. Only implement the return statement to make mypy happy - return None, '', False - - def __call__(self) -> dict[str, Any]: - return self.defaults - - def __repr__(self) -> str: - return ( - f'{self.__class__.__name__}(nested_model_default_partial_update={self.nested_model_default_partial_update})' - ) - - -class InitSettingsSource(PydanticBaseSettingsSource): - """ - Source class for loading values provided during settings class initialization. - """ - - def __init__( - self, - settings_cls: type[BaseSettings], - init_kwargs: dict[str, Any], - nested_model_default_partial_update: bool | None = None, - ): - self.init_kwargs = {} - init_kwarg_names = set(init_kwargs.keys()) - for field_name, field_info in settings_cls.model_fields.items(): - alias_names, *_ = _get_alias_names(field_name, field_info) - init_kwarg_name = init_kwarg_names & set(alias_names) - if init_kwarg_name: - preferred_alias = alias_names[0] - preferred_set_alias = next(alias for alias in alias_names if alias in init_kwarg_name) - init_kwarg_names -= init_kwarg_name - self.init_kwargs[preferred_alias] = init_kwargs[preferred_set_alias] - self.init_kwargs.update({key: val for key, val in init_kwargs.items() if key in init_kwarg_names}) - - super().__init__(settings_cls) - self.nested_model_default_partial_update = ( - nested_model_default_partial_update - if nested_model_default_partial_update is not None - else self.config.get('nested_model_default_partial_update', False) - ) - - def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: - # Nothing to do here. Only implement the return statement to make mypy happy - return None, '', False - - def __call__(self) -> dict[str, Any]: - return ( - TypeAdapter(dict[str, Any]).dump_python(self.init_kwargs) - if self.nested_model_default_partial_update - else self.init_kwargs - ) - - def __repr__(self) -> str: - return f'{self.__class__.__name__}(init_kwargs={self.init_kwargs!r})' - - -class PydanticBaseEnvSettingsSource(PydanticBaseSettingsSource): - def __init__( - self, - settings_cls: type[BaseSettings], - case_sensitive: bool | None = None, - env_prefix: str | None = None, - env_ignore_empty: bool | None = None, - env_parse_none_str: str | None = None, - env_parse_enums: bool | None = None, - ) -> None: - super().__init__(settings_cls) - self.case_sensitive = case_sensitive if case_sensitive is not None else self.config.get('case_sensitive', False) - self.env_prefix = env_prefix if env_prefix is not None else self.config.get('env_prefix', '') - self.env_ignore_empty = ( - env_ignore_empty if env_ignore_empty is not None else self.config.get('env_ignore_empty', False) - ) - self.env_parse_none_str = ( - env_parse_none_str if env_parse_none_str is not None else self.config.get('env_parse_none_str') - ) - self.env_parse_enums = env_parse_enums if env_parse_enums is not None else self.config.get('env_parse_enums') - - def _apply_case_sensitive(self, value: str) -> str: - return value.lower() if not self.case_sensitive else value - - def _extract_field_info(self, field: FieldInfo, field_name: str) -> list[tuple[str, str, bool]]: - """ - Extracts field info. This info is used to get the value of field from environment variables. - - It returns a list of tuples, each tuple contains: - * field_key: The key of field that has to be used in model creation. - * env_name: The environment variable name of the field. - * value_is_complex: A flag to determine whether the value from environment variable - is complex and has to be parsed. - - Args: - field (FieldInfo): The field. - field_name (str): The field name. - - Returns: - list[tuple[str, str, bool]]: List of tuples, each tuple contains field_key, env_name, and value_is_complex. - """ - field_info: list[tuple[str, str, bool]] = [] - if isinstance(field.validation_alias, (AliasChoices, AliasPath)): - v_alias: str | list[str | int] | list[list[str | int]] | None = field.validation_alias.convert_to_aliases() - else: - v_alias = field.validation_alias - - if v_alias: - if isinstance(v_alias, list): # AliasChoices, AliasPath - for alias in v_alias: - if isinstance(alias, str): # AliasPath - field_info.append((alias, self._apply_case_sensitive(alias), True if len(alias) > 1 else False)) - elif isinstance(alias, list): # AliasChoices - first_arg = cast(str, alias[0]) # first item of an AliasChoices must be a str - field_info.append( - (first_arg, self._apply_case_sensitive(first_arg), True if len(alias) > 1 else False) - ) - else: # string validation alias - field_info.append((v_alias, self._apply_case_sensitive(v_alias), False)) - - if not v_alias or self.config.get('populate_by_name', False): - annotation = field.annotation - if typing_objects.is_typealiastype(annotation) or typing_objects.is_typealiastype(get_origin(annotation)): - annotation = _strip_annotated(annotation.__value__) # type: ignore[union-attr] - if is_union_origin(get_origin(annotation)) and _union_is_complex(annotation, field.metadata): - field_info.append((field_name, self._apply_case_sensitive(self.env_prefix + field_name), True)) - else: - field_info.append((field_name, self._apply_case_sensitive(self.env_prefix + field_name), False)) - - return field_info - - def _replace_field_names_case_insensitively(self, field: FieldInfo, field_values: dict[str, Any]) -> dict[str, Any]: - """ - Replace field names in values dict by looking in models fields insensitively. - - By having the following models: - - ```py - class SubSubSub(BaseModel): - VaL3: str - - class SubSub(BaseModel): - Val2: str - SUB_sub_SuB: SubSubSub - - class Sub(BaseModel): - VAL1: str - SUB_sub: SubSub - - class Settings(BaseSettings): - nested: Sub - - model_config = SettingsConfigDict(env_nested_delimiter='__') - ``` - - Then: - _replace_field_names_case_insensitively( - field, - {"val1": "v1", "sub_SUB": {"VAL2": "v2", "sub_SUB_sUb": {"vAl3": "v3"}}} - ) - Returns {'VAL1': 'v1', 'SUB_sub': {'Val2': 'v2', 'SUB_sub_SuB': {'VaL3': 'v3'}}} - """ - values: dict[str, Any] = {} - - for name, value in field_values.items(): - sub_model_field: FieldInfo | None = None - - annotation = field.annotation - - # If field is Optional, we need to find the actual type - if is_union_origin(get_origin(field.annotation)): - args = get_args(annotation) - if len(args) == 2 and type(None) in args: - for arg in args: - if arg is not None: - annotation = arg - break - - # This is here to make mypy happy - # Item "None" of "Optional[Type[Any]]" has no attribute "model_fields" - if not annotation or not hasattr(annotation, 'model_fields'): - values[name] = value - continue - else: - model_fields: dict[str, FieldInfo] = annotation.model_fields - - # Find field in sub model by looking in fields case insensitively - field_key: str | None = None - for sub_model_field_name, sub_model_field in model_fields.items(): - aliases, _ = _get_alias_names(sub_model_field_name, sub_model_field) - _search = (alias for alias in aliases if alias.lower() == name.lower()) - if field_key := next(_search, None): - break - - if not field_key: - values[name] = value - continue - - if ( - sub_model_field is not None - and _lenient_issubclass(sub_model_field.annotation, BaseModel) - and isinstance(value, dict) - ): - values[field_key] = self._replace_field_names_case_insensitively(sub_model_field, value) - else: - values[field_key] = value - - return values - - def _replace_env_none_type_values(self, field_value: dict[str, Any]) -> dict[str, Any]: - """ - Recursively parse values that are of "None" type(EnvNoneType) to `None` type(None). - """ - values: dict[str, Any] = {} - - for key, value in field_value.items(): - if not isinstance(value, EnvNoneType): - values[key] = value if not isinstance(value, dict) else self._replace_env_none_type_values(value) - else: - values[key] = None - - return values - - def _get_resolved_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: - """ - Gets the value, the preferred alias key for model creation, and a flag to determine whether value - is complex. - - Note: - In V3, this method should either be made public, or, this method should be removed and the - abstract method get_field_value should be updated to include a "use_preferred_alias" flag. - - Args: - field: The field. - field_name: The field name. - - Returns: - A tuple that contains the value, preferred key and a flag to determine whether value is complex. - """ - field_value, field_key, value_is_complex = self.get_field_value(field, field_name) - if not (value_is_complex or (self.config.get('populate_by_name', False) and (field_key == field_name))): - field_infos = self._extract_field_info(field, field_name) - preferred_key, *_ = field_infos[0] - return field_value, preferred_key, value_is_complex - return field_value, field_key, value_is_complex - - def __call__(self) -> dict[str, Any]: - data: dict[str, Any] = {} - - for field_name, field in self.settings_cls.model_fields.items(): - try: - field_value, field_key, value_is_complex = self._get_resolved_field_value(field, field_name) - except Exception as e: - raise SettingsError( - f'error getting value for field "{field_name}" from source "{self.__class__.__name__}"' - ) from e - - try: - field_value = self.prepare_field_value(field_name, field, field_value, value_is_complex) - except ValueError as e: - raise SettingsError( - f'error parsing value for field "{field_name}" from source "{self.__class__.__name__}"' - ) from e - - if field_value is not None: - if self.env_parse_none_str is not None: - if isinstance(field_value, dict): - field_value = self._replace_env_none_type_values(field_value) - elif isinstance(field_value, EnvNoneType): - field_value = None - if ( - not self.case_sensitive - # and _lenient_issubclass(field.annotation, BaseModel) - and isinstance(field_value, dict) - ): - data[field_key] = self._replace_field_names_case_insensitively(field, field_value) - else: - data[field_key] = field_value - - return data - - -__all__ = [ - 'ConfigFileSourceMixin', - 'DefaultSettingsSource', - 'InitSettingsSource', - 'PydanticBaseEnvSettingsSource', - 'PydanticBaseSettingsSource', - 'SettingsError', -] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/__init__.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/__init__.py deleted file mode 100644 index 31759f3..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/__init__.py +++ /dev/null @@ -1,41 +0,0 @@ -"""Package containing individual source implementations.""" - -from .aws import AWSSecretsManagerSettingsSource -from .azure import AzureKeyVaultSettingsSource -from .cli import ( - CliExplicitFlag, - CliImplicitFlag, - CliMutuallyExclusiveGroup, - CliPositionalArg, - CliSettingsSource, - CliSubCommand, - CliSuppress, -) -from .dotenv import DotEnvSettingsSource -from .env import EnvSettingsSource -from .gcp import GoogleSecretManagerSettingsSource -from .json import JsonConfigSettingsSource -from .pyproject import PyprojectTomlConfigSettingsSource -from .secrets import SecretsSettingsSource -from .toml import TomlConfigSettingsSource -from .yaml import YamlConfigSettingsSource - -__all__ = [ - 'AWSSecretsManagerSettingsSource', - 'AzureKeyVaultSettingsSource', - 'CliExplicitFlag', - 'CliImplicitFlag', - 'CliMutuallyExclusiveGroup', - 'CliPositionalArg', - 'CliSettingsSource', - 'CliSubCommand', - 'CliSuppress', - 'DotEnvSettingsSource', - 'EnvSettingsSource', - 'GoogleSecretManagerSettingsSource', - 'JsonConfigSettingsSource', - 'PyprojectTomlConfigSettingsSource', - 'SecretsSettingsSource', - 'TomlConfigSettingsSource', - 'YamlConfigSettingsSource', -] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/aws.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/aws.py deleted file mode 100644 index 5efa3f9..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/aws.py +++ /dev/null @@ -1,79 +0,0 @@ -from __future__ import annotations as _annotations # important for BaseSettings import to work - -import json -from collections.abc import Mapping -from typing import TYPE_CHECKING, Optional - -from ..utils import parse_env_vars -from .env import EnvSettingsSource - -if TYPE_CHECKING: - from pydantic_settings.main import BaseSettings - - -boto3_client = None -SecretsManagerClient = None - - -def import_aws_secrets_manager() -> None: - global boto3_client - global SecretsManagerClient - - try: - from boto3 import client as boto3_client - from mypy_boto3_secretsmanager.client import SecretsManagerClient - except ImportError as e: # pragma: no cover - raise ImportError( - 'AWS Secrets Manager dependencies are not installed, run `pip install pydantic-settings[aws-secrets-manager]`' - ) from e - - -class AWSSecretsManagerSettingsSource(EnvSettingsSource): - _secret_id: str - _secretsmanager_client: SecretsManagerClient # type: ignore - - def __init__( - self, - settings_cls: type[BaseSettings], - secret_id: str, - region_name: str | None = None, - endpoint_url: str | None = None, - case_sensitive: bool | None = True, - env_prefix: str | None = None, - env_nested_delimiter: str | None = '--', - env_parse_none_str: str | None = None, - env_parse_enums: bool | None = None, - ) -> None: - import_aws_secrets_manager() - self._secretsmanager_client = boto3_client('secretsmanager', region_name=region_name, endpoint_url=endpoint_url) # type: ignore - self._secret_id = secret_id - super().__init__( - settings_cls, - case_sensitive=case_sensitive, - env_prefix=env_prefix, - env_nested_delimiter=env_nested_delimiter, - env_ignore_empty=False, - env_parse_none_str=env_parse_none_str, - env_parse_enums=env_parse_enums, - ) - - def _load_env_vars(self) -> Mapping[str, Optional[str]]: - response = self._secretsmanager_client.get_secret_value(SecretId=self._secret_id) # type: ignore - - return parse_env_vars( - json.loads(response['SecretString']), - self.case_sensitive, - self.env_ignore_empty, - self.env_parse_none_str, - ) - - def __repr__(self) -> str: - return ( - f'{self.__class__.__name__}(secret_id={self._secret_id!r}, ' - f'env_nested_delimiter={self.env_nested_delimiter!r})' - ) - - -__all__ = [ - 'AWSSecretsManagerSettingsSource', -] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/azure.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/azure.py deleted file mode 100644 index c0c9506..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/azure.py +++ /dev/null @@ -1,145 +0,0 @@ -"""Azure Key Vault settings source.""" - -from __future__ import annotations as _annotations - -from collections.abc import Iterator, Mapping -from typing import TYPE_CHECKING, Optional - -from pydantic.alias_generators import to_snake -from pydantic.fields import FieldInfo - -from .env import EnvSettingsSource - -if TYPE_CHECKING: - from azure.core.credentials import TokenCredential - from azure.core.exceptions import ResourceNotFoundError - from azure.keyvault.secrets import SecretClient - - from pydantic_settings.main import BaseSettings -else: - TokenCredential = None - ResourceNotFoundError = None - SecretClient = None - - -def import_azure_key_vault() -> None: - global TokenCredential - global SecretClient - global ResourceNotFoundError - - try: - from azure.core.credentials import TokenCredential - from azure.core.exceptions import ResourceNotFoundError - from azure.keyvault.secrets import SecretClient - except ImportError as e: # pragma: no cover - raise ImportError( - 'Azure Key Vault dependencies are not installed, run `pip install pydantic-settings[azure-key-vault]`' - ) from e - - -class AzureKeyVaultMapping(Mapping[str, Optional[str]]): - _loaded_secrets: dict[str, str | None] - _secret_client: SecretClient - _secret_names: list[str] - - def __init__( - self, - secret_client: SecretClient, - case_sensitive: bool, - snake_case_conversion: bool, - ) -> None: - self._loaded_secrets = {} - self._secret_client = secret_client - self._case_sensitive = case_sensitive - self._snake_case_conversion = snake_case_conversion - self._secret_map: dict[str, str] = self._load_remote() - - def _load_remote(self) -> dict[str, str]: - secret_names: Iterator[str] = ( - secret.name for secret in self._secret_client.list_properties_of_secrets() if secret.name and secret.enabled - ) - - if self._snake_case_conversion: - return {to_snake(name): name for name in secret_names} - - if self._case_sensitive: - return {name: name for name in secret_names} - - return {name.lower(): name for name in secret_names} - - def __getitem__(self, key: str) -> str | None: - new_key = key - - if self._snake_case_conversion: - new_key = to_snake(key) - elif not self._case_sensitive: - new_key = key.lower() - - if new_key not in self._loaded_secrets: - if new_key in self._secret_map: - self._loaded_secrets[new_key] = self._secret_client.get_secret(self._secret_map[new_key]).value - else: - raise KeyError(key) - - return self._loaded_secrets[new_key] - - def __len__(self) -> int: - return len(self._secret_map) - - def __iter__(self) -> Iterator[str]: - return iter(self._secret_map.keys()) - - -class AzureKeyVaultSettingsSource(EnvSettingsSource): - _url: str - _credential: TokenCredential - - def __init__( - self, - settings_cls: type[BaseSettings], - url: str, - credential: TokenCredential, - dash_to_underscore: bool = False, - case_sensitive: bool | None = None, - snake_case_conversion: bool = False, - env_prefix: str | None = None, - env_parse_none_str: str | None = None, - env_parse_enums: bool | None = None, - ) -> None: - import_azure_key_vault() - self._url = url - self._credential = credential - self._dash_to_underscore = dash_to_underscore - self._snake_case_conversion = snake_case_conversion - super().__init__( - settings_cls, - case_sensitive=False if snake_case_conversion else case_sensitive, - env_prefix=env_prefix, - env_nested_delimiter='__' if snake_case_conversion else '--', - env_ignore_empty=False, - env_parse_none_str=env_parse_none_str, - env_parse_enums=env_parse_enums, - ) - - def _load_env_vars(self) -> Mapping[str, Optional[str]]: - secret_client = SecretClient(vault_url=self._url, credential=self._credential) - return AzureKeyVaultMapping( - secret_client=secret_client, - case_sensitive=self.case_sensitive, - snake_case_conversion=self._snake_case_conversion, - ) - - def _extract_field_info(self, field: FieldInfo, field_name: str) -> list[tuple[str, str, bool]]: - if self._snake_case_conversion: - return list((x[0], x[0], x[2]) for x in super()._extract_field_info(field, field_name)) - - if self._dash_to_underscore: - return list((x[0], x[1].replace('_', '-'), x[2]) for x in super()._extract_field_info(field, field_name)) - - return super()._extract_field_info(field, field_name) - - def __repr__(self) -> str: - return f'{self.__class__.__name__}(url={self._url!r}, env_nested_delimiter={self.env_nested_delimiter!r})' - - -__all__ = ['AzureKeyVaultMapping', 'AzureKeyVaultSettingsSource'] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/cli.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/cli.py deleted file mode 100644 index 87d0d58..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/cli.py +++ /dev/null @@ -1,1331 +0,0 @@ -"""Command-line interface settings source.""" - -from __future__ import annotations as _annotations - -import json -import re -import shlex -import sys -import typing -from argparse import ( - SUPPRESS, - ArgumentParser, - BooleanOptionalAction, - Namespace, - RawDescriptionHelpFormatter, - _SubParsersAction, -) -from collections import defaultdict -from collections.abc import Mapping, Sequence -from enum import Enum -from functools import cached_property -from textwrap import dedent -from types import SimpleNamespace -from typing import ( - TYPE_CHECKING, - Annotated, - Any, - Callable, - Generic, - NoReturn, - Optional, - TypeVar, - Union, - cast, - overload, -) - -import typing_extensions -from pydantic import AliasChoices, AliasPath, BaseModel, Field, PrivateAttr -from pydantic._internal._repr import Representation -from pydantic._internal._utils import is_model_class -from pydantic.dataclasses import is_pydantic_dataclass -from pydantic.fields import FieldInfo -from pydantic_core import PydanticUndefined -from typing_extensions import get_args, get_origin -from typing_inspection import typing_objects -from typing_inspection.introspection import is_union_origin - -from ...exceptions import SettingsError -from ...utils import _lenient_issubclass, _WithArgsTypes -from ..types import ( - ForceDecode, - NoDecode, - PydanticModel, - _CliExplicitFlag, - _CliImplicitFlag, - _CliPositionalArg, - _CliSubCommand, - _CliUnknownArgs, -) -from ..utils import ( - _annotation_contains_types, - _annotation_enum_val_to_name, - _get_alias_names, - _get_model_fields, - _is_function, - _strip_annotated, - parse_env_vars, -) -from .env import EnvSettingsSource - -if TYPE_CHECKING: - from pydantic_settings.main import BaseSettings - - -class _CliInternalArgParser(ArgumentParser): - def __init__(self, cli_exit_on_error: bool = True, **kwargs: Any) -> None: - super().__init__(**kwargs) - self._cli_exit_on_error = cli_exit_on_error - - def error(self, message: str) -> NoReturn: - if not self._cli_exit_on_error: - raise SettingsError(f'error parsing CLI: {message}') - super().error(message) - - -class CliMutuallyExclusiveGroup(BaseModel): - pass - - -class _CliArg(BaseModel): - model: Any - field_name: str - arg_prefix: str - case_sensitive: bool - hide_none_type: bool - kebab_case: bool - enable_decoding: Optional[bool] - env_prefix_len: int - args: list[str] = [] - kwargs: dict[str, Any] = {} - - _alias_names: tuple[str, ...] = PrivateAttr(()) - _alias_paths: dict[str, Optional[int]] = PrivateAttr({}) - _is_alias_path_only: bool = PrivateAttr(False) - _field_info: FieldInfo = PrivateAttr() - - def __init__( - self, - field_info: FieldInfo, - parser_map: defaultdict[str | FieldInfo, dict[Optional[int] | str, _CliArg]], - **values: Any, - ) -> None: - super().__init__(**values) - self._field_info = field_info - self._alias_names, self._is_alias_path_only = _get_alias_names( - self.field_name, self.field_info, alias_path_args=self._alias_paths, case_sensitive=self.case_sensitive - ) - - alias_path_dests = {f'{self.arg_prefix}{name}': index for name, index in self._alias_paths.items()} - if self.subcommand_dest: - for sub_model in self.sub_models: - subcommand_alias = self.subcommand_alias(sub_model) - parser_map[self.subcommand_dest][subcommand_alias] = self.model_copy(update={'args': [], 'kwargs': {}}) - parser_map[self.field_info][subcommand_alias] = parser_map[self.subcommand_dest][subcommand_alias] - elif self.dest not in alias_path_dests: - parser_map[self.dest][None] = self - parser_map[self.field_info][None] = parser_map[self.dest][None] - for alias_path_dest, index in alias_path_dests.items(): - parser_map[alias_path_dest][index] = self.model_copy(update={'args': [], 'kwargs': {}}) - parser_map[self.field_info][index] = parser_map[alias_path_dest][index] - - @classmethod - def get_kebab_case(cls, name: str, kebab_case: Optional[bool]) -> str: - return name.replace('_', '-') if kebab_case else name - - def subcommand_alias(self, sub_model: type[BaseModel]) -> str: - return self.get_kebab_case( - sub_model.__name__ if len(self.sub_models) > 1 else self.preferred_alias, self.kebab_case - ) - - @cached_property - def field_info(self) -> FieldInfo: - return self._field_info - - @cached_property - def subcommand_dest(self) -> Optional[str]: - return f'{self.arg_prefix}:subcommand' if _CliSubCommand in self.field_info.metadata else None - - @cached_property - def dest(self) -> str: - if ( - not self.subcommand_dest - and self.arg_prefix - and self.field_info.validation_alias is not None - and not self.is_parser_submodel - ): - # Strip prefix if validation alias is set and value is not complex. - # Related https://github.com/pydantic/pydantic-settings/pull/25 - return f'{self.arg_prefix}{self.preferred_alias}'[self.env_prefix_len :] - return f'{self.arg_prefix}{self.preferred_alias}' - - @cached_property - def preferred_arg_name(self) -> str: - return self.args[0].replace('_', '-') if self.kebab_case else self.args[0] - - @cached_property - def sub_models(self) -> list[type[BaseModel]]: - field_types: tuple[Any, ...] = ( - (self.field_info.annotation,) - if not get_args(self.field_info.annotation) - else get_args(self.field_info.annotation) - ) - if self.hide_none_type: - field_types = tuple([type_ for type_ in field_types if type_ is not type(None)]) - - sub_models: list[type[BaseModel]] = [] - for type_ in field_types: - if _annotation_contains_types(type_, (_CliSubCommand,), is_include_origin=False): - raise SettingsError( - f'CliSubCommand is not outermost annotation for {self.model.__name__}.{self.field_name}' - ) - elif _annotation_contains_types(type_, (_CliPositionalArg,), is_include_origin=False): - raise SettingsError( - f'CliPositionalArg is not outermost annotation for {self.model.__name__}.{self.field_name}' - ) - if is_model_class(_strip_annotated(type_)) or is_pydantic_dataclass(_strip_annotated(type_)): - sub_models.append(_strip_annotated(type_)) - return sub_models - - @cached_property - def alias_names(self) -> tuple[str, ...]: - return self._alias_names - - @cached_property - def alias_paths(self) -> dict[str, Optional[int]]: - return self._alias_paths - - @cached_property - def preferred_alias(self) -> str: - return self._alias_names[0] - - @cached_property - def is_alias_path_only(self) -> bool: - return self._is_alias_path_only - - @cached_property - def is_append_action(self) -> bool: - return not self.subcommand_dest and _annotation_contains_types( - self.field_info.annotation, (list, set, dict, Sequence, Mapping), is_strip_annotated=True - ) - - @cached_property - def is_parser_submodel(self) -> bool: - return not self.subcommand_dest and bool(self.sub_models) and not self.is_append_action - - @cached_property - def is_no_decode(self) -> bool: - return self.field_info is not None and ( - NoDecode in self.field_info.metadata - or (self.enable_decoding is False and ForceDecode not in self.field_info.metadata) - ) - - -T = TypeVar('T') -CliSubCommand = Annotated[Union[T, None], _CliSubCommand] -CliPositionalArg = Annotated[T, _CliPositionalArg] -_CliBoolFlag = TypeVar('_CliBoolFlag', bound=bool) -CliImplicitFlag = Annotated[_CliBoolFlag, _CliImplicitFlag] -CliExplicitFlag = Annotated[_CliBoolFlag, _CliExplicitFlag] -CLI_SUPPRESS = SUPPRESS -CliSuppress = Annotated[T, CLI_SUPPRESS] -CliUnknownArgs = Annotated[list[str], Field(default=[]), _CliUnknownArgs, NoDecode] - - -class CliSettingsSource(EnvSettingsSource, Generic[T]): - """ - Source class for loading settings values from CLI. - - Note: - A `CliSettingsSource` connects with a `root_parser` object by using the parser methods to add - `settings_cls` fields as command line arguments. The `CliSettingsSource` internal parser representation - is based upon the `argparse` parsing library, and therefore, requires the parser methods to support - the same attributes as their `argparse` library counterparts. - - Args: - cli_prog_name: The CLI program name to display in help text. Defaults to `None` if cli_parse_args is `None`. - Otherwise, defaults to sys.argv[0]. - cli_parse_args: The list of CLI arguments to parse. Defaults to None. - If set to `True`, defaults to sys.argv[1:]. - cli_parse_none_str: The CLI string value that should be parsed (e.g. "null", "void", "None", etc.) into `None` - type(None). Defaults to "null" if cli_avoid_json is `False`, and "None" if cli_avoid_json is `True`. - cli_hide_none_type: Hide `None` values in CLI help text. Defaults to `False`. - cli_avoid_json: Avoid complex JSON objects in CLI help text. Defaults to `False`. - cli_enforce_required: Enforce required fields at the CLI. Defaults to `False`. - cli_use_class_docs_for_groups: Use class docstrings in CLI group help text instead of field descriptions. - Defaults to `False`. - cli_exit_on_error: Determines whether or not the internal parser exits with error info when an error occurs. - Defaults to `True`. - cli_prefix: Prefix for command line arguments added under the root parser. Defaults to "". - cli_flag_prefix_char: The flag prefix character to use for CLI optional arguments. Defaults to '-'. - cli_implicit_flags: Whether `bool` fields should be implicitly converted into CLI boolean flags. - (e.g. --flag, --no-flag). Defaults to `False`. - cli_ignore_unknown_args: Whether to ignore unknown CLI args and parse only known ones. Defaults to `False`. - cli_kebab_case: CLI args use kebab case. Defaults to `False`. - cli_shortcuts: Mapping of target field name to alias names. Defaults to `None`. - case_sensitive: Whether CLI "--arg" names should be read with case-sensitivity. Defaults to `True`. - Note: Case-insensitive matching is only supported on the internal root parser and does not apply to CLI - subcommands. - root_parser: The root parser object. - parse_args_method: The root parser parse args method. Defaults to `argparse.ArgumentParser.parse_args`. - add_argument_method: The root parser add argument method. Defaults to `argparse.ArgumentParser.add_argument`. - add_argument_group_method: The root parser add argument group method. - Defaults to `argparse.ArgumentParser.add_argument_group`. - add_parser_method: The root parser add new parser (sub-command) method. - Defaults to `argparse._SubParsersAction.add_parser`. - add_subparsers_method: The root parser add subparsers (sub-commands) method. - Defaults to `argparse.ArgumentParser.add_subparsers`. - formatter_class: A class for customizing the root parser help text. Defaults to `argparse.RawDescriptionHelpFormatter`. - """ - - def __init__( - self, - settings_cls: type[BaseSettings], - cli_prog_name: str | None = None, - cli_parse_args: bool | list[str] | tuple[str, ...] | None = None, - cli_parse_none_str: str | None = None, - cli_hide_none_type: bool | None = None, - cli_avoid_json: bool | None = None, - cli_enforce_required: bool | None = None, - cli_use_class_docs_for_groups: bool | None = None, - cli_exit_on_error: bool | None = None, - cli_prefix: str | None = None, - cli_flag_prefix_char: str | None = None, - cli_implicit_flags: bool | None = None, - cli_ignore_unknown_args: bool | None = None, - cli_kebab_case: bool | None = None, - cli_shortcuts: Mapping[str, str | list[str]] | None = None, - case_sensitive: bool | None = True, - root_parser: Any = None, - parse_args_method: Callable[..., Any] | None = None, - add_argument_method: Callable[..., Any] | None = ArgumentParser.add_argument, - add_argument_group_method: Callable[..., Any] | None = ArgumentParser.add_argument_group, - add_parser_method: Callable[..., Any] | None = _SubParsersAction.add_parser, - add_subparsers_method: Callable[..., Any] | None = ArgumentParser.add_subparsers, - formatter_class: Any = RawDescriptionHelpFormatter, - ) -> None: - self.cli_prog_name = ( - cli_prog_name if cli_prog_name is not None else settings_cls.model_config.get('cli_prog_name', sys.argv[0]) - ) - self.cli_hide_none_type = ( - cli_hide_none_type - if cli_hide_none_type is not None - else settings_cls.model_config.get('cli_hide_none_type', False) - ) - self.cli_avoid_json = ( - cli_avoid_json if cli_avoid_json is not None else settings_cls.model_config.get('cli_avoid_json', False) - ) - if not cli_parse_none_str: - cli_parse_none_str = 'None' if self.cli_avoid_json is True else 'null' - self.cli_parse_none_str = cli_parse_none_str - self.cli_enforce_required = ( - cli_enforce_required - if cli_enforce_required is not None - else settings_cls.model_config.get('cli_enforce_required', False) - ) - self.cli_use_class_docs_for_groups = ( - cli_use_class_docs_for_groups - if cli_use_class_docs_for_groups is not None - else settings_cls.model_config.get('cli_use_class_docs_for_groups', False) - ) - self.cli_exit_on_error = ( - cli_exit_on_error - if cli_exit_on_error is not None - else settings_cls.model_config.get('cli_exit_on_error', True) - ) - self.cli_prefix = cli_prefix if cli_prefix is not None else settings_cls.model_config.get('cli_prefix', '') - self.cli_flag_prefix_char = ( - cli_flag_prefix_char - if cli_flag_prefix_char is not None - else settings_cls.model_config.get('cli_flag_prefix_char', '-') - ) - self._cli_flag_prefix = self.cli_flag_prefix_char * 2 - if self.cli_prefix: - if cli_prefix.startswith('.') or cli_prefix.endswith('.') or not cli_prefix.replace('.', '').isidentifier(): # type: ignore - raise SettingsError(f'CLI settings source prefix is invalid: {cli_prefix}') - self.cli_prefix += '.' - self.cli_implicit_flags = ( - cli_implicit_flags - if cli_implicit_flags is not None - else settings_cls.model_config.get('cli_implicit_flags', False) - ) - self.cli_ignore_unknown_args = ( - cli_ignore_unknown_args - if cli_ignore_unknown_args is not None - else settings_cls.model_config.get('cli_ignore_unknown_args', False) - ) - self.cli_kebab_case = ( - cli_kebab_case if cli_kebab_case is not None else settings_cls.model_config.get('cli_kebab_case', False) - ) - self.cli_shortcuts = ( - cli_shortcuts if cli_shortcuts is not None else settings_cls.model_config.get('cli_shortcuts', None) - ) - - case_sensitive = case_sensitive if case_sensitive is not None else True - if not case_sensitive and root_parser is not None: - raise SettingsError('Case-insensitive matching is only supported on the internal root parser') - - super().__init__( - settings_cls, - env_nested_delimiter='.', - env_parse_none_str=self.cli_parse_none_str, - env_parse_enums=True, - env_prefix=self.cli_prefix, - case_sensitive=case_sensitive, - ) - - root_parser = ( - _CliInternalArgParser( - cli_exit_on_error=self.cli_exit_on_error, - prog=self.cli_prog_name, - description=None if settings_cls.__doc__ is None else dedent(settings_cls.__doc__), - formatter_class=formatter_class, - prefix_chars=self.cli_flag_prefix_char, - allow_abbrev=False, - ) - if root_parser is None - else root_parser - ) - self._connect_root_parser( - root_parser=root_parser, - parse_args_method=parse_args_method, - add_argument_method=add_argument_method, - add_argument_group_method=add_argument_group_method, - add_parser_method=add_parser_method, - add_subparsers_method=add_subparsers_method, - formatter_class=formatter_class, - ) - - if cli_parse_args not in (None, False): - if cli_parse_args is True: - cli_parse_args = sys.argv[1:] - elif not isinstance(cli_parse_args, (list, tuple)): - raise SettingsError( - f'cli_parse_args must be a list or tuple of strings, received {type(cli_parse_args)}' - ) - self._load_env_vars(parsed_args=self._parse_args(self.root_parser, cli_parse_args)) - - @overload - def __call__(self) -> dict[str, Any]: ... - - @overload - def __call__(self, *, args: list[str] | tuple[str, ...] | bool) -> CliSettingsSource[T]: - """ - Parse and load the command line arguments list into the CLI settings source. - - Args: - args: - The command line arguments to parse and load. Defaults to `None`, which means do not parse - command line arguments. If set to `True`, defaults to sys.argv[1:]. If set to `False`, does - not parse command line arguments. - - Returns: - CliSettingsSource: The object instance itself. - """ - ... - - @overload - def __call__(self, *, parsed_args: Namespace | SimpleNamespace | dict[str, Any]) -> CliSettingsSource[T]: - """ - Loads parsed command line arguments into the CLI settings source. - - Note: - The parsed args must be in `argparse.Namespace`, `SimpleNamespace`, or vars dictionary - (e.g., vars(argparse.Namespace)) format. - - Args: - parsed_args: The parsed args to load. - - Returns: - CliSettingsSource: The object instance itself. - """ - ... - - def __call__( - self, - *, - args: list[str] | tuple[str, ...] | bool | None = None, - parsed_args: Namespace | SimpleNamespace | dict[str, list[str] | str] | None = None, - ) -> dict[str, Any] | CliSettingsSource[T]: - if args is not None and parsed_args is not None: - raise SettingsError('`args` and `parsed_args` are mutually exclusive') - elif args is not None: - if args is False: - return self._load_env_vars(parsed_args={}) - if args is True: - args = sys.argv[1:] - return self._load_env_vars(parsed_args=self._parse_args(self.root_parser, args)) - elif parsed_args is not None: - return self._load_env_vars(parsed_args=parsed_args) - else: - return super().__call__() - - @overload - def _load_env_vars(self) -> Mapping[str, str | None]: ... - - @overload - def _load_env_vars(self, *, parsed_args: Namespace | SimpleNamespace | dict[str, Any]) -> CliSettingsSource[T]: - """ - Loads the parsed command line arguments into the CLI environment settings variables. - - Note: - The parsed args must be in `argparse.Namespace`, `SimpleNamespace`, or vars dictionary - (e.g., vars(argparse.Namespace)) format. - - Args: - parsed_args: The parsed args to load. - - Returns: - CliSettingsSource: The object instance itself. - """ - ... - - def _load_env_vars( - self, *, parsed_args: Namespace | SimpleNamespace | dict[str, list[str] | str] | None = None - ) -> Mapping[str, str | None] | CliSettingsSource[T]: - if parsed_args is None: - return {} - - if isinstance(parsed_args, (Namespace, SimpleNamespace)): - parsed_args = vars(parsed_args) - - selected_subcommands: list[str] = [] - for field_name, val in list(parsed_args.items()): - if isinstance(val, list): - if self._is_nested_alias_path_only_workaround(parsed_args, field_name, val): - # Workaround for nested alias path environment variables not being handled. - # See https://github.com/pydantic/pydantic-settings/issues/670 - continue - - cli_arg = self._parser_map.get(field_name, {}).get(None) - if cli_arg and cli_arg.is_no_decode: - parsed_args[field_name] = ','.join(val) - continue - - parsed_args[field_name] = self._merge_parsed_list(val, field_name) - elif field_name.endswith(':subcommand') and val is not None: - selected_subcommands.append(self._parser_map[field_name][val].dest) - - for arg_dest, arg_map in self._parser_map.items(): - if isinstance(arg_dest, str) and arg_dest.endswith(':subcommand'): - for subcommand_dest in [arg.dest for arg in arg_map.values()]: - if subcommand_dest not in selected_subcommands: - parsed_args[subcommand_dest] = self.cli_parse_none_str - - parsed_args = { - key: val - for key, val in parsed_args.items() - if not key.endswith(':subcommand') and val is not PydanticUndefined - } - if selected_subcommands: - last_selected_subcommand = max(selected_subcommands, key=len) - if not any(field_name for field_name in parsed_args.keys() if f'{last_selected_subcommand}.' in field_name): - parsed_args[last_selected_subcommand] = '{}' - - parsed_args.update(self._cli_unknown_args) - - self.env_vars = parse_env_vars( - cast(Mapping[str, str], parsed_args), - self.case_sensitive, - self.env_ignore_empty, - self.cli_parse_none_str, - ) - - return self - - def _is_nested_alias_path_only_workaround( - self, parsed_args: dict[str, list[str] | str], field_name: str, val: list[str] - ) -> bool: - """ - Workaround for nested alias path environment variables not being handled. - See https://github.com/pydantic/pydantic-settings/issues/670 - """ - known_arg = self._parser_map.get(field_name, {}).values() - if not known_arg: - return False - arg = next(iter(known_arg)) - if arg.is_alias_path_only and arg.arg_prefix.endswith('.'): - del parsed_args[field_name] - nested_dest = arg.arg_prefix[:-1] - nested_val = f'"{arg.preferred_alias}": {self._merge_parsed_list(val, field_name)}' - parsed_args[nested_dest] = ( - f'{{{nested_val}}}' - if nested_dest not in parsed_args - else f'{parsed_args[nested_dest][:-1]}, {nested_val}}}' - ) - return True - return False - - def _get_merge_parsed_list_types( - self, parsed_list: list[str], field_name: str - ) -> tuple[Optional[type], Optional[type]]: - merge_type = self._cli_dict_args.get(field_name, list) - if ( - merge_type is list - or not is_union_origin(get_origin(merge_type)) - or not any( - type_ - for type_ in get_args(merge_type) - if type_ is not type(None) and get_origin(type_) not in (dict, Mapping) - ) - ): - inferred_type = merge_type - else: - inferred_type = list if parsed_list and (len(parsed_list) > 1 or parsed_list[0].startswith('[')) else str - - return merge_type, inferred_type - - def _merged_list_to_str(self, merged_list: list[str], field_name: str) -> str: - decode_list: list[str] = [] - is_use_decode: Optional[bool] = None - cli_arg_map = self._parser_map.get(field_name, {}) - for index, item in enumerate(merged_list): - cli_arg = cli_arg_map.get(index) - is_decode = cli_arg is None or not cli_arg.is_no_decode - if is_use_decode is None: - is_use_decode = is_decode - elif is_use_decode != is_decode: - raise SettingsError('Mixing Decode and NoDecode across different AliasPath fields is not allowed') - if is_use_decode: - item = item.replace('\\', '\\\\') - elif item.startswith('"') and item.endswith('"'): - item = item[1:-1] - decode_list.append(item) - merged_list_str = ','.join(decode_list) - return f'[{merged_list_str}]' if is_use_decode else merged_list_str - - def _merge_parsed_list(self, parsed_list: list[str], field_name: str) -> str: - try: - merged_list: list[str] = [] - is_last_consumed_a_value = False - merge_type, inferred_type = self._get_merge_parsed_list_types(parsed_list, field_name) - for val in parsed_list: - if not isinstance(val, str): - # If val is not a string, it's from an external parser and we can ignore parsing the rest of the - # list. - break - val = val.strip() - if val.startswith('[') and val.endswith(']'): - val = val[1:-1].strip() - while val: - val = val.strip() - if val.startswith(','): - val = self._consume_comma(val, merged_list, is_last_consumed_a_value) - is_last_consumed_a_value = False - else: - if val.startswith('{') or val.startswith('['): - val = self._consume_object_or_array(val, merged_list) - else: - try: - val = self._consume_string_or_number(val, merged_list, merge_type) - except ValueError as e: - if merge_type is inferred_type: - raise e - merge_type = inferred_type - val = self._consume_string_or_number(val, merged_list, merge_type) - is_last_consumed_a_value = True - if not is_last_consumed_a_value: - val = self._consume_comma(val, merged_list, is_last_consumed_a_value) - - if merge_type is str: - return merged_list[0] - elif merge_type is list: - return self._merged_list_to_str(merged_list, field_name) - else: - merged_dict: dict[str, str] = {} - for item in merged_list: - merged_dict.update(json.loads(item)) - return json.dumps(merged_dict) - except Exception as e: - raise SettingsError(f'Parsing error encountered for {field_name}: {e}') - - def _consume_comma(self, item: str, merged_list: list[str], is_last_consumed_a_value: bool) -> str: - if not is_last_consumed_a_value: - merged_list.append('""') - return item[1:] - - def _consume_object_or_array(self, item: str, merged_list: list[str]) -> str: - count = 1 - close_delim = '}' if item.startswith('{') else ']' - in_str = False - for consumed in range(1, len(item)): - if item[consumed] == '"' and item[consumed - 1] != '\\': - in_str = not in_str - elif in_str: - continue - elif item[consumed] in ('{', '['): - count += 1 - elif item[consumed] in ('}', ']'): - count -= 1 - if item[consumed] == close_delim and count == 0: - merged_list.append(item[: consumed + 1]) - return item[consumed + 1 :] - raise SettingsError(f'Missing end delimiter "{close_delim}"') - - def _consume_string_or_number(self, item: str, merged_list: list[str], merge_type: type[Any] | None) -> str: - consumed = 0 if merge_type is not str else len(item) - is_find_end_quote = False - while consumed < len(item): - if item[consumed] == '"' and (consumed == 0 or item[consumed - 1] != '\\'): - is_find_end_quote = not is_find_end_quote - if not is_find_end_quote and item[consumed] == ',': - break - consumed += 1 - if is_find_end_quote: - raise SettingsError('Mismatched quotes') - val_string = item[:consumed].strip() - if merge_type in (list, str): - try: - float(val_string) - except ValueError: - if val_string == self.cli_parse_none_str: - val_string = 'null' - if val_string not in ('true', 'false', 'null') and not val_string.startswith('"'): - val_string = f'"{val_string}"' - merged_list.append(val_string) - else: - key, val = (kv for kv in val_string.split('=', 1)) - if key.startswith('"') and not key.endswith('"') and not val.startswith('"') and val.endswith('"'): - raise ValueError(f'Dictionary key=val parameter is a quoted string: {val_string}') - key, val = key.strip('"'), val.strip('"') - merged_list.append(json.dumps({key: val})) - return item[consumed:] - - def _verify_cli_flag_annotations(self, model: type[BaseModel], field_name: str, field_info: FieldInfo) -> None: - if _CliImplicitFlag in field_info.metadata: - cli_flag_name = 'CliImplicitFlag' - elif _CliExplicitFlag in field_info.metadata: - cli_flag_name = 'CliExplicitFlag' - else: - return - - if field_info.annotation is not bool: - raise SettingsError(f'{cli_flag_name} argument {model.__name__}.{field_name} is not of type bool') - - def _sort_arg_fields(self, model: type[BaseModel]) -> list[tuple[str, FieldInfo]]: - positional_variadic_arg = [] - positional_args, subcommand_args, optional_args = [], [], [] - for field_name, field_info in _get_model_fields(model).items(): - if _CliSubCommand in field_info.metadata: - if not field_info.is_required(): - raise SettingsError(f'subcommand argument {model.__name__}.{field_name} has a default value') - else: - alias_names, *_ = _get_alias_names(field_name, field_info) - if len(alias_names) > 1: - raise SettingsError(f'subcommand argument {model.__name__}.{field_name} has multiple aliases') - field_types = [type_ for type_ in get_args(field_info.annotation) if type_ is not type(None)] - for field_type in field_types: - if not (is_model_class(field_type) or is_pydantic_dataclass(field_type)): - raise SettingsError( - f'subcommand argument {model.__name__}.{field_name} has type not derived from BaseModel' - ) - subcommand_args.append((field_name, field_info)) - elif _CliPositionalArg in field_info.metadata: - alias_names, *_ = _get_alias_names(field_name, field_info) - if len(alias_names) > 1: - raise SettingsError(f'positional argument {model.__name__}.{field_name} has multiple aliases') - is_append_action = _annotation_contains_types( - field_info.annotation, (list, set, dict, Sequence, Mapping), is_strip_annotated=True - ) - if not is_append_action: - positional_args.append((field_name, field_info)) - else: - positional_variadic_arg.append((field_name, field_info)) - else: - self._verify_cli_flag_annotations(model, field_name, field_info) - optional_args.append((field_name, field_info)) - - if positional_variadic_arg: - if len(positional_variadic_arg) > 1: - field_names = ', '.join([name for name, info in positional_variadic_arg]) - raise SettingsError(f'{model.__name__} has multiple variadic positional arguments: {field_names}') - elif subcommand_args: - field_names = ', '.join([name for name, info in positional_variadic_arg + subcommand_args]) - raise SettingsError( - f'{model.__name__} has variadic positional arguments and subcommand arguments: {field_names}' - ) - - return positional_args + positional_variadic_arg + subcommand_args + optional_args - - @property - def root_parser(self) -> T: - """The connected root parser instance.""" - return self._root_parser - - def _connect_parser_method( - self, parser_method: Callable[..., Any] | None, method_name: str, *args: Any, **kwargs: Any - ) -> Callable[..., Any]: - if ( - parser_method is not None - and self.case_sensitive is False - and method_name == 'parse_args_method' - and isinstance(self._root_parser, _CliInternalArgParser) - ): - - def parse_args_insensitive_method( - root_parser: _CliInternalArgParser, - args: list[str] | tuple[str, ...] | None = None, - namespace: Namespace | None = None, - ) -> Any: - insensitive_args = [] - for arg in shlex.split(shlex.join(args)) if args else []: - flag_prefix = rf'\{self.cli_flag_prefix_char}{{1,2}}' - matched = re.match(rf'^({flag_prefix}[^\s=]+)(.*)', arg) - if matched: - arg = matched.group(1).lower() + matched.group(2) - insensitive_args.append(arg) - return parser_method(root_parser, insensitive_args, namespace) - - return parse_args_insensitive_method - - elif parser_method is None: - - def none_parser_method(*args: Any, **kwargs: Any) -> Any: - raise SettingsError( - f'cannot connect CLI settings source root parser: {method_name} is set to `None` but is needed for connecting' - ) - - return none_parser_method - - else: - return parser_method - - def _connect_group_method(self, add_argument_group_method: Callable[..., Any] | None) -> Callable[..., Any]: - add_argument_group = self._connect_parser_method(add_argument_group_method, 'add_argument_group_method') - - def add_group_method(parser: Any, **kwargs: Any) -> Any: - if not kwargs.pop('_is_cli_mutually_exclusive_group'): - kwargs.pop('required') - return add_argument_group(parser, **kwargs) - else: - main_group_kwargs = {arg: kwargs.pop(arg) for arg in ['title', 'description'] if arg in kwargs} - main_group_kwargs['title'] += ' (mutually exclusive)' - group = add_argument_group(parser, **main_group_kwargs) - if not hasattr(group, 'add_mutually_exclusive_group'): - raise SettingsError( - 'cannot connect CLI settings source root parser: ' - 'group object is missing add_mutually_exclusive_group but is needed for connecting' - ) - return group.add_mutually_exclusive_group(**kwargs) - - return add_group_method - - def _connect_root_parser( - self, - root_parser: T, - parse_args_method: Callable[..., Any] | None, - add_argument_method: Callable[..., Any] | None = ArgumentParser.add_argument, - add_argument_group_method: Callable[..., Any] | None = ArgumentParser.add_argument_group, - add_parser_method: Callable[..., Any] | None = _SubParsersAction.add_parser, - add_subparsers_method: Callable[..., Any] | None = ArgumentParser.add_subparsers, - formatter_class: Any = RawDescriptionHelpFormatter, - ) -> None: - self._cli_unknown_args: dict[str, list[str]] = {} - - def _parse_known_args(*args: Any, **kwargs: Any) -> Namespace: - args, unknown_args = ArgumentParser.parse_known_args(*args, **kwargs) - for dest in self._cli_unknown_args: - self._cli_unknown_args[dest] = unknown_args - return cast(Namespace, args) - - self._root_parser = root_parser - if parse_args_method is None: - parse_args_method = _parse_known_args if self.cli_ignore_unknown_args else ArgumentParser.parse_args - self._parse_args = self._connect_parser_method(parse_args_method, 'parse_args_method') - self._add_argument = self._connect_parser_method(add_argument_method, 'add_argument_method') - self._add_group = self._connect_group_method(add_argument_group_method) - self._add_parser = self._connect_parser_method(add_parser_method, 'add_parser_method') - self._add_subparsers = self._connect_parser_method(add_subparsers_method, 'add_subparsers_method') - self._formatter_class = formatter_class - self._cli_dict_args: dict[str, type[Any] | None] = {} - self._parser_map: defaultdict[str | FieldInfo, dict[Optional[int] | str, _CliArg]] = defaultdict(dict) - self._add_parser_args( - parser=self.root_parser, - model=self.settings_cls, - added_args=[], - arg_prefix=self.env_prefix, - subcommand_prefix=self.env_prefix, - group=None, - alias_prefixes=[], - model_default=PydanticUndefined, - ) - - def _add_parser_args( - self, - parser: Any, - model: type[BaseModel], - added_args: list[str], - arg_prefix: str, - subcommand_prefix: str, - group: Any, - alias_prefixes: list[str], - model_default: Any, - is_model_suppressed: bool = False, - ) -> ArgumentParser: - subparsers: Any = None - alias_path_args: dict[str, Optional[int]] = {} - # Ignore model default if the default is a model and not a subclass of the current model. - model_default = ( - None - if ( - (is_model_class(type(model_default)) or is_pydantic_dataclass(type(model_default))) - and not issubclass(type(model_default), model) - ) - else model_default - ) - for field_name, field_info in self._sort_arg_fields(model): - arg = _CliArg( - field_info=field_info, - parser_map=self._parser_map, - model=model, - field_name=field_name, - arg_prefix=arg_prefix, - case_sensitive=self.case_sensitive, - hide_none_type=self.cli_hide_none_type, - kebab_case=self.cli_kebab_case, - enable_decoding=self.config.get('enable_decoding'), - env_prefix_len=self.env_prefix_len, - ) - alias_path_args.update(arg.alias_paths) - - if arg.subcommand_dest: - for sub_model in arg.sub_models: - subcommand_alias = arg.subcommand_alias(sub_model) - subcommand_arg = self._parser_map[arg.subcommand_dest][subcommand_alias] - subcommand_arg.args = [subcommand_alias] - subcommand_arg.kwargs['allow_abbrev'] = False - subcommand_arg.kwargs['formatter_class'] = self._formatter_class - subcommand_arg.kwargs['description'] = ( - None if sub_model.__doc__ is None else dedent(sub_model.__doc__) - ) - subcommand_arg.kwargs['help'] = None if len(arg.sub_models) > 1 else field_info.description - if self.cli_use_class_docs_for_groups: - subcommand_arg.kwargs['help'] = None if sub_model.__doc__ is None else dedent(sub_model.__doc__) - - subparsers = ( - self._add_subparsers( - parser, - title='subcommands', - dest=f'{arg_prefix}:subcommand', - description=field_info.description if len(arg.sub_models) > 1 else None, - ) - if subparsers is None - else subparsers - ) - - if hasattr(subparsers, 'metavar'): - subparsers.metavar = ( - f'{subparsers.metavar[:-1]},{subcommand_alias}}}' - if subparsers.metavar - else f'{{{subcommand_alias}}}' - ) - - self._add_parser_args( - parser=self._add_parser(subparsers, *subcommand_arg.args, **subcommand_arg.kwargs), - model=sub_model, - added_args=[], - arg_prefix=f'{arg.dest}.', - subcommand_prefix=f'{subcommand_prefix}{arg.preferred_alias}.', - group=None, - alias_prefixes=[], - model_default=PydanticUndefined, - ) - else: - flag_prefix: str = self._cli_flag_prefix - arg.kwargs['dest'] = arg.dest - arg.kwargs['default'] = CLI_SUPPRESS - arg.kwargs['help'] = self._help_format(field_name, field_info, model_default, is_model_suppressed) - arg.kwargs['metavar'] = self._metavar_format(field_info.annotation) - arg.kwargs['required'] = ( - self.cli_enforce_required and field_info.is_required() and model_default is PydanticUndefined - ) - - arg_names = self._get_arg_names( - arg_prefix, subcommand_prefix, alias_prefixes, arg.alias_names, added_args - ) - if not arg_names or (arg.kwargs['dest'] in added_args): - continue - - self._convert_append_action(arg.kwargs, field_info, arg.is_append_action) - - if _CliPositionalArg in field_info.metadata: - arg_names, flag_prefix = self._convert_positional_arg( - arg.kwargs, field_info, arg.preferred_alias, model_default - ) - - self._convert_bool_flag(arg.kwargs, field_info, model_default) - - if arg.is_parser_submodel and not getattr(field_info.annotation, '__pydantic_root_model__', False): - self._add_parser_submodels( - parser, - model, - arg.sub_models, - added_args, - arg_prefix, - subcommand_prefix, - flag_prefix, - arg_names, - arg.kwargs, - field_name, - field_info, - arg.alias_names, - model_default=model_default, - is_model_suppressed=is_model_suppressed, - ) - elif _CliUnknownArgs in field_info.metadata: - self._cli_unknown_args[arg.kwargs['dest']] = [] - elif not arg.is_alias_path_only: - if isinstance(group, dict): - group = self._add_group(parser, **group) - context = parser if group is None else group - arg.args = [f'{flag_prefix[: len(name)]}{name}' for name in arg_names] - self._add_argument(context, *arg.args, **arg.kwargs) - added_args += list(arg_names) - - self._add_parser_alias_paths(parser, alias_path_args, added_args, arg_prefix, subcommand_prefix, group) - return parser - - def _convert_append_action(self, kwargs: dict[str, Any], field_info: FieldInfo, is_append_action: bool) -> None: - if is_append_action: - kwargs['action'] = 'append' - if _annotation_contains_types(field_info.annotation, (dict, Mapping), is_strip_annotated=True): - self._cli_dict_args[kwargs['dest']] = field_info.annotation - - def _convert_bool_flag(self, kwargs: dict[str, Any], field_info: FieldInfo, model_default: Any) -> None: - if kwargs['metavar'] == 'bool': - if (self.cli_implicit_flags or _CliImplicitFlag in field_info.metadata) and ( - _CliExplicitFlag not in field_info.metadata - ): - del kwargs['metavar'] - kwargs['action'] = BooleanOptionalAction - - def _convert_positional_arg( - self, kwargs: dict[str, Any], field_info: FieldInfo, preferred_alias: str, model_default: Any - ) -> tuple[list[str], str]: - flag_prefix = '' - arg_names = [kwargs['dest']] - kwargs['default'] = PydanticUndefined - kwargs['metavar'] = _CliArg.get_kebab_case(preferred_alias.upper(), self.cli_kebab_case) - - # Note: CLI positional args are always strictly required at the CLI. Therefore, use field_info.is_required in - # conjunction with model_default instead of the derived kwargs['required']. - is_required = field_info.is_required() and model_default is PydanticUndefined - if kwargs.get('action') == 'append': - del kwargs['action'] - kwargs['nargs'] = '+' if is_required else '*' - elif not is_required: - kwargs['nargs'] = '?' - - del kwargs['dest'] - del kwargs['required'] - return arg_names, flag_prefix - - def _get_arg_names( - self, - arg_prefix: str, - subcommand_prefix: str, - alias_prefixes: list[str], - alias_names: tuple[str, ...], - added_args: list[str], - ) -> list[str]: - arg_names: list[str] = [] - for prefix in [arg_prefix] + alias_prefixes: - for name in alias_names: - arg_name = _CliArg.get_kebab_case( - f'{prefix}{name}' - if subcommand_prefix == self.env_prefix - else f'{prefix.replace(subcommand_prefix, "", 1)}{name}', - self.cli_kebab_case, - ) - if arg_name not in added_args: - arg_names.append(arg_name) - - if self.cli_shortcuts: - for target, aliases in self.cli_shortcuts.items(): - if target in arg_names: - alias_list = [aliases] if isinstance(aliases, str) else aliases - arg_names.extend(alias for alias in alias_list if alias not in added_args) - - return arg_names - - def _add_parser_submodels( - self, - parser: Any, - model: type[BaseModel], - sub_models: list[type[BaseModel]], - added_args: list[str], - arg_prefix: str, - subcommand_prefix: str, - flag_prefix: str, - arg_names: list[str], - kwargs: dict[str, Any], - field_name: str, - field_info: FieldInfo, - alias_names: tuple[str, ...], - model_default: Any, - is_model_suppressed: bool, - ) -> None: - if issubclass(model, CliMutuallyExclusiveGroup): - # Argparse has deprecated "calling add_argument_group() or add_mutually_exclusive_group() on a - # mutually exclusive group" (https://docs.python.org/3/library/argparse.html#mutual-exclusion). - # Since nested models result in a group add, raise an exception for nested models in a mutually - # exclusive group. - raise SettingsError('cannot have nested models in a CliMutuallyExclusiveGroup') - - model_group: Any = None - model_group_kwargs: dict[str, Any] = {} - model_group_kwargs['title'] = f'{arg_names[0]} options' - model_group_kwargs['description'] = field_info.description - model_group_kwargs['required'] = kwargs['required'] - model_group_kwargs['_is_cli_mutually_exclusive_group'] = any( - issubclass(model, CliMutuallyExclusiveGroup) for model in sub_models - ) - if model_group_kwargs['_is_cli_mutually_exclusive_group'] and len(sub_models) > 1: - raise SettingsError('cannot use union with CliMutuallyExclusiveGroup') - if self.cli_use_class_docs_for_groups and len(sub_models) == 1: - model_group_kwargs['description'] = None if sub_models[0].__doc__ is None else dedent(sub_models[0].__doc__) - - if model_default is not PydanticUndefined: - if is_model_class(type(model_default)) or is_pydantic_dataclass(type(model_default)): - model_default = getattr(model_default, field_name) - else: - if field_info.default is not PydanticUndefined: - model_default = field_info.default - elif field_info.default_factory is not None: - model_default = field_info.default_factory - if model_default is None: - desc_header = f'default: {self.cli_parse_none_str} (undefined)' - if model_group_kwargs['description'] is not None: - model_group_kwargs['description'] = dedent(f'{desc_header}\n{model_group_kwargs["description"]}') - else: - model_group_kwargs['description'] = desc_header - - preferred_alias = alias_names[0] - is_model_suppressed = self._is_field_suppressed(field_info) or is_model_suppressed - if is_model_suppressed: - model_group_kwargs['description'] = CLI_SUPPRESS - if not self.cli_avoid_json: - added_args.append(arg_names[0]) - kwargs['required'] = False - kwargs['nargs'] = '?' - kwargs['const'] = '{}' - kwargs['help'] = ( - CLI_SUPPRESS if is_model_suppressed else f'set {arg_names[0]} from JSON string (default: {{}})' - ) - model_group = self._add_group(parser, **model_group_kwargs) - self._add_argument(model_group, *(f'{flag_prefix}{name}' for name in arg_names), **kwargs) - for model in sub_models: - self._add_parser_args( - parser=parser, - model=model, - added_args=added_args, - arg_prefix=f'{arg_prefix}{preferred_alias}.', - subcommand_prefix=subcommand_prefix, - group=model_group if model_group else model_group_kwargs, - alias_prefixes=[f'{arg_prefix}{name}.' for name in alias_names[1:]], - model_default=model_default, - is_model_suppressed=is_model_suppressed, - ) - - def _add_parser_alias_paths( - self, - parser: Any, - alias_path_args: dict[str, Optional[int]], - added_args: list[str], - arg_prefix: str, - subcommand_prefix: str, - group: Any, - ) -> None: - if alias_path_args: - context = parser - if group is not None: - context = self._add_group(parser, **group) if isinstance(group, dict) else group - for name, index in alias_path_args.items(): - arg_name = ( - f'{arg_prefix}{name}' - if subcommand_prefix == self.env_prefix - else f'{arg_prefix.replace(subcommand_prefix, "", 1)}{name}' - ) - kwargs: dict[str, Any] = {} - kwargs['default'] = CLI_SUPPRESS - kwargs['help'] = 'pydantic alias path' - kwargs['action'] = 'append' - kwargs['metavar'] = 'list' - if index is None: - kwargs['metavar'] = 'dict' - self._cli_dict_args[arg_name] = dict - args = [f'{self._cli_flag_prefix}{arg_name}'] - for key, arg in self._parser_map[arg_name].items(): - arg.args, arg.kwargs = args, kwargs - self._add_argument(context, *args, **kwargs) - added_args.append(arg_name) - - def _get_modified_args(self, obj: Any) -> tuple[str, ...]: - if not self.cli_hide_none_type: - return get_args(obj) - else: - return tuple([type_ for type_ in get_args(obj) if type_ is not type(None)]) - - def _metavar_format_choices(self, args: list[str], obj_qualname: str | None = None) -> str: - if 'JSON' in args: - args = args[: args.index('JSON') + 1] + [arg for arg in args[args.index('JSON') + 1 :] if arg != 'JSON'] - metavar = ','.join(args) - if obj_qualname: - return f'{obj_qualname}[{metavar}]' - else: - return metavar if len(args) == 1 else f'{{{metavar}}}' - - def _metavar_format_recurse(self, obj: Any) -> str: - """Pretty metavar representation of a type. Adapts logic from `pydantic._repr.display_as_type`.""" - obj = _strip_annotated(obj) - if _is_function(obj): - # If function is locally defined use __name__ instead of __qualname__ - return obj.__name__ if '' in obj.__qualname__ else obj.__qualname__ - elif obj is ...: - return '...' - elif isinstance(obj, Representation): - return repr(obj) - elif typing_objects.is_typealiastype(obj): - return str(obj) - - origin = get_origin(obj) - if origin is None and not isinstance(obj, (type, typing.ForwardRef, typing_extensions.ForwardRef)): - obj = obj.__class__ - - if is_union_origin(origin): - return self._metavar_format_choices(list(map(self._metavar_format_recurse, self._get_modified_args(obj)))) - elif typing_objects.is_literal(origin): - return self._metavar_format_choices(list(map(str, self._get_modified_args(obj)))) - elif _lenient_issubclass(obj, Enum): - return self._metavar_format_choices([val.name for val in obj]) - elif isinstance(obj, _WithArgsTypes): - return self._metavar_format_choices( - list(map(self._metavar_format_recurse, self._get_modified_args(obj))), - obj_qualname=obj.__qualname__ if hasattr(obj, '__qualname__') else str(obj), - ) - elif obj is type(None): - return self.cli_parse_none_str - elif is_model_class(obj) or is_pydantic_dataclass(obj): - return ( - self._metavar_format_recurse(_get_model_fields(obj)['root'].annotation) - if getattr(obj, '__pydantic_root_model__', False) - else 'JSON' - ) - elif isinstance(obj, type): - return obj.__qualname__ - else: - return repr(obj).replace('typing.', '').replace('typing_extensions.', '') - - def _metavar_format(self, obj: Any) -> str: - return self._metavar_format_recurse(obj).replace(', ', ',') - - def _help_format( - self, field_name: str, field_info: FieldInfo, model_default: Any, is_model_suppressed: bool - ) -> str: - _help = field_info.description if field_info.description else '' - if is_model_suppressed or self._is_field_suppressed(field_info): - return CLI_SUPPRESS - - if field_info.is_required() and model_default in (PydanticUndefined, None): - if _CliPositionalArg not in field_info.metadata: - ifdef = 'ifdef: ' if model_default is None else '' - _help += f' ({ifdef}required)' if _help else f'({ifdef}required)' - else: - default = f'(default: {self.cli_parse_none_str})' - if is_model_class(type(model_default)) or is_pydantic_dataclass(type(model_default)): - default = f'(default: {getattr(model_default, field_name)})' - elif model_default not in (PydanticUndefined, None) and _is_function(model_default): - default = f'(default factory: {self._metavar_format(model_default)})' - elif field_info.default not in (PydanticUndefined, None): - enum_name = _annotation_enum_val_to_name(field_info.annotation, field_info.default) - default = f'(default: {field_info.default if enum_name is None else enum_name})' - elif field_info.default_factory is not None: - default = f'(default factory: {self._metavar_format(field_info.default_factory)})' - _help += f' {default}' if _help else default - return _help.replace('%', '%%') if issubclass(type(self._root_parser), ArgumentParser) else _help - - def _is_field_suppressed(self, field_info: FieldInfo) -> bool: - _help = field_info.description if field_info.description else '' - return _help == CLI_SUPPRESS or CLI_SUPPRESS in field_info.metadata - - def _update_alias_path_only_default( - self, arg_name: str, value: Any, field_info: FieldInfo, alias_path_only_defaults: dict[str, Any] - ) -> list[Any] | dict[str, Any]: - alias_path: AliasPath = [ - alias if isinstance(alias, AliasPath) else cast(AliasPath, alias.choices[0]) - for alias in (field_info.alias, field_info.validation_alias) - if isinstance(alias, (AliasPath, AliasChoices)) - ][0] - - alias_nested_paths: list[str] = alias_path.path[1:-1] # type: ignore - if not alias_nested_paths: - alias_path_only_defaults.setdefault(arg_name, []) - alias_default = alias_path_only_defaults[arg_name] - else: - alias_path_only_defaults.setdefault(arg_name, {}) - current_path = alias_path_only_defaults[arg_name] - - for nested_path in alias_nested_paths[:-1]: - current_path.setdefault(nested_path, {}) - current_path = current_path[nested_path] - current_path.setdefault(alias_nested_paths[-1], []) - alias_default = current_path[alias_nested_paths[-1]] - - alias_path_index = cast(int, alias_path.path[-1]) - alias_default.extend([''] * max(alias_path_index + 1 - len(alias_default), 0)) - alias_default[alias_path_index] = value - return alias_path_only_defaults[arg_name] - - def _serialized_args(self, model: PydanticModel, _is_submodel: bool = False) -> list[str]: - alias_path_only_defaults: dict[str, Any] = {} - optional_args: list[str | list[Any] | dict[str, Any]] = [] - positional_args: list[str | list[Any] | dict[str, Any]] = [] - subcommand_args: list[str] = [] - for field_name, field_info in _get_model_fields(type(model) if _is_submodel else self.settings_cls).items(): - model_default = getattr(model, field_name) - if field_info.default == model_default: - continue - if _CliSubCommand in field_info.metadata and model_default is None: - continue - arg = next(iter(self._parser_map[field_info].values())) - if arg.subcommand_dest: - subcommand_args.append(arg.subcommand_alias(type(model_default))) - subcommand_args += self._serialized_args(model_default, _is_submodel=True) - continue - if is_model_class(type(model_default)) or is_pydantic_dataclass(type(model_default)): - positional_args += self._serialized_args(model_default, _is_submodel=True) - continue - - matched = re.match(r'(-*)(.+)', arg.preferred_arg_name) - flag_chars, arg_name = matched.groups() if matched else ('', '') - value: str | list[Any] | dict[str, Any] = ( - json.dumps(model_default) if isinstance(model_default, (dict, list, set)) else str(model_default) - ) - - if arg.is_alias_path_only: - # For alias path only, we wont know the complete value until we've finished parsing the entire class. In - # this case, insert value as a non-string reference pointing to the relevant alias_path_only_defaults - # entry and convert into completed string value later. - value = self._update_alias_path_only_default(arg_name, value, field_info, alias_path_only_defaults) - - if _CliPositionalArg in field_info.metadata: - for value in model_default if isinstance(model_default, list) else [model_default]: - value = json.dumps(value) if isinstance(value, (dict, list, set)) else str(value) - positional_args.append(value) - continue - - # Note: prepend 'no-' for boolean optional action flag if model_default value is False and flag is not a short option - if arg.kwargs.get('action') == BooleanOptionalAction and model_default is False and flag_chars == '--': - flag_chars += 'no-' - - optional_args.append(f'{flag_chars}{arg_name}') - - # If implicit bool flag, do not add a value - if arg.kwargs.get('action') != BooleanOptionalAction: - optional_args.append(value) - - serialized_args: list[str] = [] - serialized_args += [json.dumps(value) if not isinstance(value, str) else value for value in optional_args] - serialized_args += [json.dumps(value) if not isinstance(value, str) else value for value in positional_args] - return serialized_args + subcommand_args diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/dotenv.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/dotenv.py deleted file mode 100644 index 9816588..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/dotenv.py +++ /dev/null @@ -1,168 +0,0 @@ -"""Dotenv file settings source.""" - -from __future__ import annotations as _annotations - -import os -import warnings -from collections.abc import Mapping -from pathlib import Path -from typing import TYPE_CHECKING, Any - -from dotenv import dotenv_values -from pydantic._internal._typing_extra import ( # type: ignore[attr-defined] - get_origin, -) -from typing_inspection.introspection import is_union_origin - -from ..types import ENV_FILE_SENTINEL, DotenvType -from ..utils import ( - _annotation_is_complex, - _union_is_complex, - parse_env_vars, -) -from .env import EnvSettingsSource - -if TYPE_CHECKING: - from pydantic_settings.main import BaseSettings - - -class DotEnvSettingsSource(EnvSettingsSource): - """ - Source class for loading settings values from env files. - """ - - def __init__( - self, - settings_cls: type[BaseSettings], - env_file: DotenvType | None = ENV_FILE_SENTINEL, - env_file_encoding: str | None = None, - case_sensitive: bool | None = None, - env_prefix: str | None = None, - env_nested_delimiter: str | None = None, - env_nested_max_split: int | None = None, - env_ignore_empty: bool | None = None, - env_parse_none_str: str | None = None, - env_parse_enums: bool | None = None, - ) -> None: - self.env_file = env_file if env_file != ENV_FILE_SENTINEL else settings_cls.model_config.get('env_file') - self.env_file_encoding = ( - env_file_encoding if env_file_encoding is not None else settings_cls.model_config.get('env_file_encoding') - ) - super().__init__( - settings_cls, - case_sensitive, - env_prefix, - env_nested_delimiter, - env_nested_max_split, - env_ignore_empty, - env_parse_none_str, - env_parse_enums, - ) - - def _load_env_vars(self) -> Mapping[str, str | None]: - return self._read_env_files() - - @staticmethod - def _static_read_env_file( - file_path: Path, - *, - encoding: str | None = None, - case_sensitive: bool = False, - ignore_empty: bool = False, - parse_none_str: str | None = None, - ) -> Mapping[str, str | None]: - file_vars: dict[str, str | None] = dotenv_values(file_path, encoding=encoding or 'utf8') - return parse_env_vars(file_vars, case_sensitive, ignore_empty, parse_none_str) - - def _read_env_file( - self, - file_path: Path, - ) -> Mapping[str, str | None]: - return self._static_read_env_file( - file_path, - encoding=self.env_file_encoding, - case_sensitive=self.case_sensitive, - ignore_empty=self.env_ignore_empty, - parse_none_str=self.env_parse_none_str, - ) - - def _read_env_files(self) -> Mapping[str, str | None]: - env_files = self.env_file - if env_files is None: - return {} - - if isinstance(env_files, (str, os.PathLike)): - env_files = [env_files] - - dotenv_vars: dict[str, str | None] = {} - for env_file in env_files: - env_path = Path(env_file).expanduser() - if env_path.is_file(): - dotenv_vars.update(self._read_env_file(env_path)) - - return dotenv_vars - - def __call__(self) -> dict[str, Any]: - data: dict[str, Any] = super().__call__() - is_extra_allowed = self.config.get('extra') != 'forbid' - - # As `extra` config is allowed in dotenv settings source, We have to - # update data with extra env variables from dotenv file. - for env_name, env_value in self.env_vars.items(): - if not env_value or env_name in data or (self.env_prefix and env_name in self.settings_cls.model_fields): - continue - env_used = False - for field_name, field in self.settings_cls.model_fields.items(): - for _, field_env_name, _ in self._extract_field_info(field, field_name): - if env_name == field_env_name or ( - ( - _annotation_is_complex(field.annotation, field.metadata) - or ( - is_union_origin(get_origin(field.annotation)) - and _union_is_complex(field.annotation, field.metadata) - ) - ) - and env_name.startswith(field_env_name) - ): - env_used = True - break - if env_used: - break - if not env_used: - if is_extra_allowed and env_name.startswith(self.env_prefix): - # env_prefix should be respected and removed from the env_name - normalized_env_name = env_name[len(self.env_prefix) :] - data[normalized_env_name] = env_value - else: - data[env_name] = env_value - return data - - def __repr__(self) -> str: - return ( - f'{self.__class__.__name__}(env_file={self.env_file!r}, env_file_encoding={self.env_file_encoding!r}, ' - f'env_nested_delimiter={self.env_nested_delimiter!r}, env_prefix_len={self.env_prefix_len!r})' - ) - - -def read_env_file( - file_path: Path, - *, - encoding: str | None = None, - case_sensitive: bool = False, - ignore_empty: bool = False, - parse_none_str: str | None = None, -) -> Mapping[str, str | None]: - warnings.warn( - 'read_env_file will be removed in the next version, use DotEnvSettingsSource._static_read_env_file if you must', - DeprecationWarning, - ) - return DotEnvSettingsSource._static_read_env_file( - file_path, - encoding=encoding, - case_sensitive=case_sensitive, - ignore_empty=ignore_empty, - parse_none_str=parse_none_str, - ) - - -__all__ = ['DotEnvSettingsSource', 'read_env_file'] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/env.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/env.py deleted file mode 100644 index 5a350f1..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/env.py +++ /dev/null @@ -1,270 +0,0 @@ -from __future__ import annotations as _annotations - -import os -from collections.abc import Mapping -from typing import ( - TYPE_CHECKING, - Any, -) - -from pydantic._internal._utils import deep_update, is_model_class -from pydantic.dataclasses import is_pydantic_dataclass -from pydantic.fields import FieldInfo -from typing_extensions import get_args, get_origin -from typing_inspection.introspection import is_union_origin - -from ...utils import _lenient_issubclass -from ..base import PydanticBaseEnvSettingsSource -from ..types import EnvNoneType -from ..utils import ( - _annotation_enum_name_to_val, - _get_model_fields, - _union_is_complex, - parse_env_vars, -) - -if TYPE_CHECKING: - from pydantic_settings.main import BaseSettings - - -class EnvSettingsSource(PydanticBaseEnvSettingsSource): - """ - Source class for loading settings values from environment variables. - """ - - def __init__( - self, - settings_cls: type[BaseSettings], - case_sensitive: bool | None = None, - env_prefix: str | None = None, - env_nested_delimiter: str | None = None, - env_nested_max_split: int | None = None, - env_ignore_empty: bool | None = None, - env_parse_none_str: str | None = None, - env_parse_enums: bool | None = None, - ) -> None: - super().__init__( - settings_cls, case_sensitive, env_prefix, env_ignore_empty, env_parse_none_str, env_parse_enums - ) - self.env_nested_delimiter = ( - env_nested_delimiter if env_nested_delimiter is not None else self.config.get('env_nested_delimiter') - ) - self.env_nested_max_split = ( - env_nested_max_split if env_nested_max_split is not None else self.config.get('env_nested_max_split') - ) - self.maxsplit = (self.env_nested_max_split or 0) - 1 - self.env_prefix_len = len(self.env_prefix) - - self.env_vars = self._load_env_vars() - - def _load_env_vars(self) -> Mapping[str, str | None]: - return parse_env_vars(os.environ, self.case_sensitive, self.env_ignore_empty, self.env_parse_none_str) - - def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: - """ - Gets the value for field from environment variables and a flag to determine whether value is complex. - - Args: - field: The field. - field_name: The field name. - - Returns: - A tuple that contains the value (`None` if not found), key, and - a flag to determine whether value is complex. - """ - - env_val: str | None = None - for field_key, env_name, value_is_complex in self._extract_field_info(field, field_name): - env_val = self.env_vars.get(env_name) - if env_val is not None: - break - - return env_val, field_key, value_is_complex - - def prepare_field_value(self, field_name: str, field: FieldInfo, value: Any, value_is_complex: bool) -> Any: - """ - Prepare value for the field. - - * Extract value for nested field. - * Deserialize value to python object for complex field. - - Args: - field: The field. - field_name: The field name. - - Returns: - A tuple contains prepared value for the field. - - Raises: - ValuesError: When There is an error in deserializing value for complex field. - """ - is_complex, allow_parse_failure = self._field_is_complex(field) - if self.env_parse_enums: - enum_val = _annotation_enum_name_to_val(field.annotation, value) - value = value if enum_val is None else enum_val - - if is_complex or value_is_complex: - if isinstance(value, EnvNoneType): - return value - elif value is None: - # field is complex but no value found so far, try explode_env_vars - env_val_built = self.explode_env_vars(field_name, field, self.env_vars) - if env_val_built: - return env_val_built - else: - # field is complex and there's a value, decode that as JSON, then add explode_env_vars - try: - value = self.decode_complex_value(field_name, field, value) - except ValueError as e: - if not allow_parse_failure: - raise e - - if isinstance(value, dict): - return deep_update(value, self.explode_env_vars(field_name, field, self.env_vars)) - else: - return value - elif value is not None: - # simplest case, field is not complex, we only need to add the value if it was found - return value - - def _field_is_complex(self, field: FieldInfo) -> tuple[bool, bool]: - """ - Find out if a field is complex, and if so whether JSON errors should be ignored - """ - if self.field_is_complex(field): - allow_parse_failure = False - elif is_union_origin(get_origin(field.annotation)) and _union_is_complex(field.annotation, field.metadata): - allow_parse_failure = True - else: - return False, False - - return True, allow_parse_failure - - # Default value of `case_sensitive` is `None`, because we don't want to break existing behavior. - # We have to change the method to a non-static method and use - # `self.case_sensitive` instead in V3. - def next_field( - self, field: FieldInfo | Any | None, key: str, case_sensitive: bool | None = None - ) -> FieldInfo | None: - """ - Find the field in a sub model by key(env name) - - By having the following models: - - ```py - class SubSubModel(BaseSettings): - dvals: Dict - - class SubModel(BaseSettings): - vals: list[str] - sub_sub_model: SubSubModel - - class Cfg(BaseSettings): - sub_model: SubModel - ``` - - Then: - next_field(sub_model, 'vals') Returns the `vals` field of `SubModel` class - next_field(sub_model, 'sub_sub_model') Returns `sub_sub_model` field of `SubModel` class - - Args: - field: The field. - key: The key (env name). - case_sensitive: Whether to search for key case sensitively. - - Returns: - Field if it finds the next field otherwise `None`. - """ - if not field: - return None - - annotation = field.annotation if isinstance(field, FieldInfo) else field - for type_ in get_args(annotation): - type_has_key = self.next_field(type_, key, case_sensitive) - if type_has_key: - return type_has_key - if is_model_class(annotation) or is_pydantic_dataclass(annotation): # type: ignore[arg-type] - fields = _get_model_fields(annotation) - # `case_sensitive is None` is here to be compatible with the old behavior. - # Has to be removed in V3. - for field_name, f in fields.items(): - for _, env_name, _ in self._extract_field_info(f, field_name): - if case_sensitive is None or case_sensitive: - if field_name == key or env_name == key: - return f - elif field_name.lower() == key.lower() or env_name.lower() == key.lower(): - return f - return None - - def explode_env_vars(self, field_name: str, field: FieldInfo, env_vars: Mapping[str, str | None]) -> dict[str, Any]: - """ - Process env_vars and extract the values of keys containing env_nested_delimiter into nested dictionaries. - - This is applied to a single field, hence filtering by env_var prefix. - - Args: - field_name: The field name. - field: The field. - env_vars: Environment variables. - - Returns: - A dictionary contains extracted values from nested env values. - """ - if not self.env_nested_delimiter: - return {} - - ann = field.annotation - is_dict = ann is dict or _lenient_issubclass(get_origin(ann), dict) - - prefixes = [ - f'{env_name}{self.env_nested_delimiter}' for _, env_name, _ in self._extract_field_info(field, field_name) - ] - result: dict[str, Any] = {} - for env_name, env_val in env_vars.items(): - try: - prefix = next(prefix for prefix in prefixes if env_name.startswith(prefix)) - except StopIteration: - continue - # we remove the prefix before splitting in case the prefix has characters in common with the delimiter - env_name_without_prefix = env_name[len(prefix) :] - *keys, last_key = env_name_without_prefix.split(self.env_nested_delimiter, self.maxsplit) - env_var = result - target_field: FieldInfo | None = field - for key in keys: - target_field = self.next_field(target_field, key, self.case_sensitive) - if isinstance(env_var, dict): - env_var = env_var.setdefault(key, {}) - - # get proper field with last_key - target_field = self.next_field(target_field, last_key, self.case_sensitive) - - # check if env_val maps to a complex field and if so, parse the env_val - if (target_field or is_dict) and env_val: - if target_field: - is_complex, allow_json_failure = self._field_is_complex(target_field) - if self.env_parse_enums: - enum_val = _annotation_enum_name_to_val(target_field.annotation, env_val) - env_val = env_val if enum_val is None else enum_val - else: - # nested field type is dict - is_complex, allow_json_failure = True, True - if is_complex: - try: - env_val = self.decode_complex_value(last_key, target_field, env_val) # type: ignore - except ValueError as e: - if not allow_json_failure: - raise e - if isinstance(env_var, dict): - if last_key not in env_var or not isinstance(env_val, EnvNoneType) or env_var[last_key] == {}: - env_var[last_key] = env_val - - return result - - def __repr__(self) -> str: - return ( - f'{self.__class__.__name__}(env_nested_delimiter={self.env_nested_delimiter!r}, ' - f'env_prefix_len={self.env_prefix_len!r})' - ) - - -__all__ = ['EnvSettingsSource'] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/gcp.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/gcp.py deleted file mode 100644 index 62f356a..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/gcp.py +++ /dev/null @@ -1,152 +0,0 @@ -from __future__ import annotations as _annotations - -from collections.abc import Iterator, Mapping -from functools import cached_property -from typing import TYPE_CHECKING, Optional - -from .env import EnvSettingsSource - -if TYPE_CHECKING: - from google.auth import default as google_auth_default - from google.auth.credentials import Credentials - from google.cloud.secretmanager import SecretManagerServiceClient - - from pydantic_settings.main import BaseSettings -else: - Credentials = None - SecretManagerServiceClient = None - google_auth_default = None - - -def import_gcp_secret_manager() -> None: - global Credentials - global SecretManagerServiceClient - global google_auth_default - - try: - from google.auth import default as google_auth_default - from google.auth.credentials import Credentials - from google.cloud.secretmanager import SecretManagerServiceClient - except ImportError as e: # pragma: no cover - raise ImportError( - 'GCP Secret Manager dependencies are not installed, run `pip install pydantic-settings[gcp-secret-manager]`' - ) from e - - -class GoogleSecretManagerMapping(Mapping[str, Optional[str]]): - _loaded_secrets: dict[str, str | None] - _secret_client: SecretManagerServiceClient - - def __init__(self, secret_client: SecretManagerServiceClient, project_id: str, case_sensitive: bool) -> None: - self._loaded_secrets = {} - self._secret_client = secret_client - self._project_id = project_id - self._case_sensitive = case_sensitive - - @property - def _gcp_project_path(self) -> str: - return self._secret_client.common_project_path(self._project_id) - - @cached_property - def _secret_names(self) -> list[str]: - rv: list[str] = [] - - secrets = self._secret_client.list_secrets(parent=self._gcp_project_path) - for secret in secrets: - name = self._secret_client.parse_secret_path(secret.name).get('secret', '') - if not self._case_sensitive: - name = name.lower() - rv.append(name) - return rv - - def _secret_version_path(self, key: str, version: str = 'latest') -> str: - return self._secret_client.secret_version_path(self._project_id, key, version) - - def __getitem__(self, key: str) -> str | None: - if not self._case_sensitive: - key = key.lower() - if key not in self._loaded_secrets: - # If we know the key isn't available in secret manager, raise a key error - if key not in self._secret_names: - raise KeyError(key) - - try: - self._loaded_secrets[key] = self._secret_client.access_secret_version( - name=self._secret_version_path(key) - ).payload.data.decode('UTF-8') - except Exception: - raise KeyError(key) - - return self._loaded_secrets[key] - - def __len__(self) -> int: - return len(self._secret_names) - - def __iter__(self) -> Iterator[str]: - return iter(self._secret_names) - - -class GoogleSecretManagerSettingsSource(EnvSettingsSource): - _credentials: Credentials - _secret_client: SecretManagerServiceClient - _project_id: str - - def __init__( - self, - settings_cls: type[BaseSettings], - credentials: Credentials | None = None, - project_id: str | None = None, - env_prefix: str | None = None, - env_parse_none_str: str | None = None, - env_parse_enums: bool | None = None, - secret_client: SecretManagerServiceClient | None = None, - case_sensitive: bool | None = True, - ) -> None: - # Import Google Packages if they haven't already been imported - if SecretManagerServiceClient is None or Credentials is None or google_auth_default is None: - import_gcp_secret_manager() - - # If credentials or project_id are not passed, then - # try to get them from the default function - if not credentials or not project_id: - _creds, _project_id = google_auth_default() # type: ignore[no-untyped-call] - - # Set the credentials and/or project id if they weren't specified - if credentials is None: - credentials = _creds - - if project_id is None: - if isinstance(_project_id, str): - project_id = _project_id - else: - raise AttributeError( - 'project_id is required to be specified either as an argument or from the google.auth.default. See https://google-auth.readthedocs.io/en/master/reference/google.auth.html#google.auth.default' - ) - - self._credentials: Credentials = credentials - self._project_id: str = project_id - - if secret_client: - self._secret_client = secret_client - else: - self._secret_client = SecretManagerServiceClient(credentials=self._credentials) - - super().__init__( - settings_cls, - case_sensitive=case_sensitive, - env_prefix=env_prefix, - env_ignore_empty=False, - env_parse_none_str=env_parse_none_str, - env_parse_enums=env_parse_enums, - ) - - def _load_env_vars(self) -> Mapping[str, Optional[str]]: - return GoogleSecretManagerMapping( - self._secret_client, project_id=self._project_id, case_sensitive=self.case_sensitive - ) - - def __repr__(self) -> str: - return f'{self.__class__.__name__}(project_id={self._project_id!r}, env_nested_delimiter={self.env_nested_delimiter!r})' - - -__all__ = ['GoogleSecretManagerSettingsSource', 'GoogleSecretManagerMapping'] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/json.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/json.py deleted file mode 100644 index 837601c..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/json.py +++ /dev/null @@ -1,47 +0,0 @@ -"""JSON file settings source.""" - -from __future__ import annotations as _annotations - -import json -from pathlib import Path -from typing import ( - TYPE_CHECKING, - Any, -) - -from ..base import ConfigFileSourceMixin, InitSettingsSource -from ..types import DEFAULT_PATH, PathType - -if TYPE_CHECKING: - from pydantic_settings.main import BaseSettings - - -class JsonConfigSettingsSource(InitSettingsSource, ConfigFileSourceMixin): - """ - A source class that loads variables from a JSON file - """ - - def __init__( - self, - settings_cls: type[BaseSettings], - json_file: PathType | None = DEFAULT_PATH, - json_file_encoding: str | None = None, - ): - self.json_file_path = json_file if json_file != DEFAULT_PATH else settings_cls.model_config.get('json_file') - self.json_file_encoding = ( - json_file_encoding - if json_file_encoding is not None - else settings_cls.model_config.get('json_file_encoding') - ) - self.json_data = self._read_files(self.json_file_path) - super().__init__(settings_cls, self.json_data) - - def _read_file(self, file_path: Path) -> dict[str, Any]: - with open(file_path, encoding=self.json_file_encoding) as json_file: - return json.load(json_file) - - def __repr__(self) -> str: - return f'{self.__class__.__name__}(json_file={self.json_file_path})' - - -__all__ = ['JsonConfigSettingsSource'] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/pyproject.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/pyproject.py deleted file mode 100644 index bb02cbb..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/pyproject.py +++ /dev/null @@ -1,62 +0,0 @@ -"""Pyproject TOML file settings source.""" - -from __future__ import annotations as _annotations - -from pathlib import Path -from typing import ( - TYPE_CHECKING, -) - -from .toml import TomlConfigSettingsSource - -if TYPE_CHECKING: - from pydantic_settings.main import BaseSettings - - -class PyprojectTomlConfigSettingsSource(TomlConfigSettingsSource): - """ - A source class that loads variables from a `pyproject.toml` file. - """ - - def __init__( - self, - settings_cls: type[BaseSettings], - toml_file: Path | None = None, - ) -> None: - self.toml_file_path = self._pick_pyproject_toml_file( - toml_file, settings_cls.model_config.get('pyproject_toml_depth', 0) - ) - self.toml_table_header: tuple[str, ...] = settings_cls.model_config.get( - 'pyproject_toml_table_header', ('tool', 'pydantic-settings') - ) - self.toml_data = self._read_files(self.toml_file_path) - for key in self.toml_table_header: - self.toml_data = self.toml_data.get(key, {}) - super(TomlConfigSettingsSource, self).__init__(settings_cls, self.toml_data) - - @staticmethod - def _pick_pyproject_toml_file(provided: Path | None, depth: int) -> Path: - """Pick a `pyproject.toml` file path to use. - - Args: - provided: Explicit path provided when instantiating this class. - depth: Number of directories up the tree to check of a pyproject.toml. - - """ - if provided: - return provided.resolve() - rv = Path.cwd() / 'pyproject.toml' - count = 0 - if not rv.is_file(): - child = rv.parent.parent / 'pyproject.toml' - while count < depth: - if child.is_file(): - return child - if str(child.parent) == rv.root: - break # end discovery after checking system root once - child = child.parent.parent / 'pyproject.toml' - count += 1 - return rv - - -__all__ = ['PyprojectTomlConfigSettingsSource'] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/secrets.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/secrets.py deleted file mode 100644 index 00a8f47..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/secrets.py +++ /dev/null @@ -1,125 +0,0 @@ -"""Secrets file settings source.""" - -from __future__ import annotations as _annotations - -import os -import warnings -from pathlib import Path -from typing import ( - TYPE_CHECKING, - Any, -) - -from pydantic.fields import FieldInfo - -from pydantic_settings.utils import path_type_label - -from ...exceptions import SettingsError -from ..base import PydanticBaseEnvSettingsSource -from ..types import PathType - -if TYPE_CHECKING: - from pydantic_settings.main import BaseSettings - - -class SecretsSettingsSource(PydanticBaseEnvSettingsSource): - """ - Source class for loading settings values from secret files. - """ - - def __init__( - self, - settings_cls: type[BaseSettings], - secrets_dir: PathType | None = None, - case_sensitive: bool | None = None, - env_prefix: str | None = None, - env_ignore_empty: bool | None = None, - env_parse_none_str: str | None = None, - env_parse_enums: bool | None = None, - ) -> None: - super().__init__( - settings_cls, case_sensitive, env_prefix, env_ignore_empty, env_parse_none_str, env_parse_enums - ) - self.secrets_dir = secrets_dir if secrets_dir is not None else self.config.get('secrets_dir') - - def __call__(self) -> dict[str, Any]: - """ - Build fields from "secrets" files. - """ - secrets: dict[str, str | None] = {} - - if self.secrets_dir is None: - return secrets - - secrets_dirs = [self.secrets_dir] if isinstance(self.secrets_dir, (str, os.PathLike)) else self.secrets_dir - secrets_paths = [Path(p).expanduser() for p in secrets_dirs] - self.secrets_paths = [] - - for path in secrets_paths: - if not path.exists(): - warnings.warn(f'directory "{path}" does not exist') - else: - self.secrets_paths.append(path) - - if not len(self.secrets_paths): - return secrets - - for path in self.secrets_paths: - if not path.is_dir(): - raise SettingsError(f'secrets_dir must reference a directory, not a {path_type_label(path)}') - - return super().__call__() - - @classmethod - def find_case_path(cls, dir_path: Path, file_name: str, case_sensitive: bool) -> Path | None: - """ - Find a file within path's directory matching filename, optionally ignoring case. - - Args: - dir_path: Directory path. - file_name: File name. - case_sensitive: Whether to search for file name case sensitively. - - Returns: - Whether file path or `None` if file does not exist in directory. - """ - for f in dir_path.iterdir(): - if f.name == file_name: - return f - elif not case_sensitive and f.name.lower() == file_name.lower(): - return f - return None - - def get_field_value(self, field: FieldInfo, field_name: str) -> tuple[Any, str, bool]: - """ - Gets the value for field from secret file and a flag to determine whether value is complex. - - Args: - field: The field. - field_name: The field name. - - Returns: - A tuple that contains the value (`None` if the file does not exist), key, and - a flag to determine whether value is complex. - """ - - for field_key, env_name, value_is_complex in self._extract_field_info(field, field_name): - # paths reversed to match the last-wins behaviour of `env_file` - for secrets_path in reversed(self.secrets_paths): - path = self.find_case_path(secrets_path, env_name, self.case_sensitive) - if not path: - # path does not exist, we currently don't return a warning for this - continue - - if path.is_file(): - return path.read_text().strip(), field_key, value_is_complex - else: - warnings.warn( - f'attempted to load secret file "{path}" but found a {path_type_label(path)} instead.', - stacklevel=4, - ) - - return None, field_key, value_is_complex - - def __repr__(self) -> str: - return f'{self.__class__.__name__}(secrets_dir={self.secrets_dir!r})' diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/toml.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/toml.py deleted file mode 100644 index eaff41d..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/toml.py +++ /dev/null @@ -1,66 +0,0 @@ -"""TOML file settings source.""" - -from __future__ import annotations as _annotations - -import sys -from pathlib import Path -from typing import ( - TYPE_CHECKING, - Any, -) - -from ..base import ConfigFileSourceMixin, InitSettingsSource -from ..types import DEFAULT_PATH, PathType - -if TYPE_CHECKING: - from pydantic_settings.main import BaseSettings - - if sys.version_info >= (3, 11): - import tomllib - else: - tomllib = None - import tomli -else: - tomllib = None - tomli = None - - -def import_toml() -> None: - global tomli - global tomllib - if sys.version_info < (3, 11): - if tomli is not None: - return - try: - import tomli - except ImportError as e: # pragma: no cover - raise ImportError('tomli is not installed, run `pip install pydantic-settings[toml]`') from e - else: - if tomllib is not None: - return - import tomllib - - -class TomlConfigSettingsSource(InitSettingsSource, ConfigFileSourceMixin): - """ - A source class that loads variables from a TOML file - """ - - def __init__( - self, - settings_cls: type[BaseSettings], - toml_file: PathType | None = DEFAULT_PATH, - ): - self.toml_file_path = toml_file if toml_file != DEFAULT_PATH else settings_cls.model_config.get('toml_file') - self.toml_data = self._read_files(self.toml_file_path) - super().__init__(settings_cls, self.toml_data) - - def _read_file(self, file_path: Path) -> dict[str, Any]: - import_toml() - with open(file_path, mode='rb') as toml_file: - if sys.version_info < (3, 11): - return tomli.load(toml_file) - return tomllib.load(toml_file) - - def __repr__(self) -> str: - return f'{self.__class__.__name__}(toml_file={self.toml_file_path})' diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/yaml.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/yaml.py deleted file mode 100644 index 82778b4..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/yaml.py +++ /dev/null @@ -1,75 +0,0 @@ -"""YAML file settings source.""" - -from __future__ import annotations as _annotations - -from pathlib import Path -from typing import ( - TYPE_CHECKING, - Any, -) - -from ..base import ConfigFileSourceMixin, InitSettingsSource -from ..types import DEFAULT_PATH, PathType - -if TYPE_CHECKING: - import yaml - - from pydantic_settings.main import BaseSettings -else: - yaml = None - - -def import_yaml() -> None: - global yaml - if yaml is not None: - return - try: - import yaml - except ImportError as e: - raise ImportError('PyYAML is not installed, run `pip install pydantic-settings[yaml]`') from e - - -class YamlConfigSettingsSource(InitSettingsSource, ConfigFileSourceMixin): - """ - A source class that loads variables from a yaml file - """ - - def __init__( - self, - settings_cls: type[BaseSettings], - yaml_file: PathType | None = DEFAULT_PATH, - yaml_file_encoding: str | None = None, - yaml_config_section: str | None = None, - ): - self.yaml_file_path = yaml_file if yaml_file != DEFAULT_PATH else settings_cls.model_config.get('yaml_file') - self.yaml_file_encoding = ( - yaml_file_encoding - if yaml_file_encoding is not None - else settings_cls.model_config.get('yaml_file_encoding') - ) - self.yaml_config_section = ( - yaml_config_section - if yaml_config_section is not None - else settings_cls.model_config.get('yaml_config_section') - ) - self.yaml_data = self._read_files(self.yaml_file_path) - - if self.yaml_config_section: - try: - self.yaml_data = self.yaml_data[self.yaml_config_section] - except KeyError: - raise KeyError( - f'yaml_config_section key "{self.yaml_config_section}" not found in {self.yaml_file_path}' - ) - super().__init__(settings_cls, self.yaml_data) - - def _read_file(self, file_path: Path) -> dict[str, Any]: - import_yaml() - with open(file_path, encoding=self.yaml_file_encoding) as yaml_file: - return yaml.safe_load(yaml_file) or {} - - def __repr__(self) -> str: - return f'{self.__class__.__name__}(yaml_file={self.yaml_file_path})' - - -__all__ = ['YamlConfigSettingsSource'] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/types.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/types.py deleted file mode 100644 index 9a64979..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/types.py +++ /dev/null @@ -1,78 +0,0 @@ -"""Type definitions for pydantic-settings sources.""" - -from __future__ import annotations as _annotations - -from collections.abc import Sequence -from pathlib import Path -from typing import TYPE_CHECKING, Any, Union - -if TYPE_CHECKING: - from pydantic._internal._dataclasses import PydanticDataclass - from pydantic.main import BaseModel - - PydanticModel = Union[PydanticDataclass, BaseModel] -else: - PydanticModel = Any - - -class EnvNoneType(str): - pass - - -class NoDecode: - """Annotation to prevent decoding of a field value.""" - - pass - - -class ForceDecode: - """Annotation to force decoding of a field value.""" - - pass - - -DotenvType = Union[Path, str, Sequence[Union[Path, str]]] -PathType = Union[Path, str, Sequence[Union[Path, str]]] -DEFAULT_PATH: PathType = Path('') - -# This is used as default value for `_env_file` in the `BaseSettings` class and -# `env_file` in `DotEnvSettingsSource` so the default can be distinguished from `None`. -# See the docstring of `BaseSettings` for more details. -ENV_FILE_SENTINEL: DotenvType = Path('') - - -class _CliSubCommand: - pass - - -class _CliPositionalArg: - pass - - -class _CliImplicitFlag: - pass - - -class _CliExplicitFlag: - pass - - -class _CliUnknownArgs: - pass - - -__all__ = [ - 'DEFAULT_PATH', - 'ENV_FILE_SENTINEL', - 'DotenvType', - 'EnvNoneType', - 'ForceDecode', - 'NoDecode', - 'PathType', - 'PydanticModel', - '_CliExplicitFlag', - '_CliImplicitFlag', - '_CliPositionalArg', - '_CliSubCommand', - '_CliUnknownArgs', -] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/sources/utils.py b/venv/lib/python3.12/site-packages/pydantic_settings/sources/utils.py deleted file mode 100644 index 56bfb3e..0000000 --- a/venv/lib/python3.12/site-packages/pydantic_settings/sources/utils.py +++ /dev/null @@ -1,206 +0,0 @@ -"""Utility functions for pydantic-settings sources.""" - -from __future__ import annotations as _annotations - -from collections import deque -from collections.abc import Mapping, Sequence -from dataclasses import is_dataclass -from enum import Enum -from typing import Any, Optional, cast - -from pydantic import BaseModel, Json, RootModel, Secret -from pydantic._internal._utils import is_model_class -from pydantic.dataclasses import is_pydantic_dataclass -from typing_extensions import get_args, get_origin -from typing_inspection import typing_objects - -from ..exceptions import SettingsError -from ..utils import _lenient_issubclass -from .types import EnvNoneType - - -def _get_env_var_key(key: str, case_sensitive: bool = False) -> str: - return key if case_sensitive else key.lower() - - -def _parse_env_none_str(value: str | None, parse_none_str: str | None = None) -> str | None | EnvNoneType: - return value if not (value == parse_none_str and parse_none_str is not None) else EnvNoneType(value) - - -def parse_env_vars( - env_vars: Mapping[str, str | None], - case_sensitive: bool = False, - ignore_empty: bool = False, - parse_none_str: str | None = None, -) -> Mapping[str, str | None]: - return { - _get_env_var_key(k, case_sensitive): _parse_env_none_str(v, parse_none_str) - for k, v in env_vars.items() - if not (ignore_empty and v == '') - } - - -def _annotation_is_complex(annotation: Any, metadata: list[Any]) -> bool: - # If the model is a root model, the root annotation should be used to - # evaluate the complexity. - if typing_objects.is_typealiastype(annotation) or typing_objects.is_typealiastype(get_origin(annotation)): - annotation = annotation.__value__ - if annotation is not None and _lenient_issubclass(annotation, RootModel) and annotation is not RootModel: - annotation = cast('type[RootModel[Any]]', annotation) - root_annotation = annotation.model_fields['root'].annotation - if root_annotation is not None: # pragma: no branch - annotation = root_annotation - - if any(isinstance(md, Json) for md in metadata): # type: ignore[misc] - return False - - origin = get_origin(annotation) - - # Check if annotation is of the form Annotated[type, metadata]. - if typing_objects.is_annotated(origin): - # Return result of recursive call on inner type. - inner, *meta = get_args(annotation) - return _annotation_is_complex(inner, meta) - - if origin is Secret: - return False - - return ( - _annotation_is_complex_inner(annotation) - or _annotation_is_complex_inner(origin) - or hasattr(origin, '__pydantic_core_schema__') - or hasattr(origin, '__get_pydantic_core_schema__') - ) - - -def _annotation_is_complex_inner(annotation: type[Any] | None) -> bool: - if _lenient_issubclass(annotation, (str, bytes)): - return False - - return _lenient_issubclass( - annotation, (BaseModel, Mapping, Sequence, tuple, set, frozenset, deque) - ) or is_dataclass(annotation) - - -def _union_is_complex(annotation: type[Any] | None, metadata: list[Any]) -> bool: - """Check if a union type contains any complex types.""" - return any(_annotation_is_complex(arg, metadata) for arg in get_args(annotation)) - - -def _annotation_contains_types( - annotation: type[Any] | None, - types: tuple[Any, ...], - is_include_origin: bool = True, - is_strip_annotated: bool = False, -) -> bool: - """Check if a type annotation contains any of the specified types.""" - if is_strip_annotated: - annotation = _strip_annotated(annotation) - if is_include_origin is True and get_origin(annotation) in types: - return True - for type_ in get_args(annotation): - if _annotation_contains_types(type_, types, is_include_origin=True, is_strip_annotated=is_strip_annotated): - return True - return annotation in types - - -def _strip_annotated(annotation: Any) -> Any: - if typing_objects.is_annotated(get_origin(annotation)): - return annotation.__origin__ - else: - return annotation - - -def _annotation_enum_val_to_name(annotation: type[Any] | None, value: Any) -> Optional[str]: - for type_ in (annotation, get_origin(annotation), *get_args(annotation)): - if _lenient_issubclass(type_, Enum): - if value in tuple(val.value for val in type_): - return type_(value).name - return None - - -def _annotation_enum_name_to_val(annotation: type[Any] | None, name: Any) -> Any: - for type_ in (annotation, get_origin(annotation), *get_args(annotation)): - if _lenient_issubclass(type_, Enum): - if name in tuple(val.name for val in type_): - return type_[name] - return None - - -def _get_model_fields(model_cls: type[Any]) -> dict[str, Any]: - """Get fields from a pydantic model or dataclass.""" - - if is_pydantic_dataclass(model_cls) and hasattr(model_cls, '__pydantic_fields__'): - return model_cls.__pydantic_fields__ - if is_model_class(model_cls): - return model_cls.model_fields - raise SettingsError(f'Error: {model_cls.__name__} is not subclass of BaseModel or pydantic.dataclasses.dataclass') - - -def _get_alias_names( - field_name: str, - field_info: Any, - alias_path_args: Optional[dict[str, Optional[int]]] = None, - case_sensitive: bool = True, -) -> tuple[tuple[str, ...], bool]: - """Get alias names for a field, handling alias paths and case sensitivity.""" - from pydantic import AliasChoices, AliasPath - - alias_names: list[str] = [] - is_alias_path_only: bool = True - if not any((field_info.alias, field_info.validation_alias)): - alias_names += [field_name] - is_alias_path_only = False - else: - new_alias_paths: list[AliasPath] = [] - for alias in (field_info.alias, field_info.validation_alias): - if alias is None: - continue - elif isinstance(alias, str): - alias_names.append(alias) - is_alias_path_only = False - elif isinstance(alias, AliasChoices): - for name in alias.choices: - if isinstance(name, str): - alias_names.append(name) - is_alias_path_only = False - else: - new_alias_paths.append(name) - else: - new_alias_paths.append(alias) - for alias_path in new_alias_paths: - name = cast(str, alias_path.path[0]) - name = name.lower() if not case_sensitive else name - if alias_path_args is not None: - alias_path_args[name] = ( - alias_path.path[1] if len(alias_path.path) > 1 and isinstance(alias_path.path[1], int) else None - ) - if not alias_names and is_alias_path_only: - alias_names.append(name) - if not case_sensitive: - alias_names = [alias_name.lower() for alias_name in alias_names] - return tuple(dict.fromkeys(alias_names)), is_alias_path_only - - -def _is_function(obj: Any) -> bool: - """Check if an object is a function.""" - from types import BuiltinFunctionType, FunctionType - - return isinstance(obj, (FunctionType, BuiltinFunctionType)) - - -__all__ = [ - '_annotation_contains_types', - '_annotation_enum_name_to_val', - '_annotation_enum_val_to_name', - '_annotation_is_complex', - '_annotation_is_complex_inner', - '_get_alias_names', - '_get_env_var_key', - '_get_model_fields', - '_is_function', - '_parse_env_none_str', - '_strip_annotated', - '_union_is_complex', - 'parse_env_vars', -] diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/utils.py b/venv/lib/python3.12/site-packages/pydantic_settings/utils.py index 74c99be..73090b8 100644 --- a/venv/lib/python3.12/site-packages/pydantic_settings/utils.py +++ b/venv/lib/python3.12/site-packages/pydantic_settings/utils.py @@ -1,19 +1,14 @@ -import sys -import types from pathlib import Path -from typing import Any, _GenericAlias # type: ignore [attr-defined] -from typing_extensions import get_origin - -_PATH_TYPE_LABELS = { - Path.is_dir: 'directory', - Path.is_file: 'file', - Path.is_mount: 'mount point', - Path.is_symlink: 'symlink', - Path.is_block_device: 'block device', - Path.is_char_device: 'char device', - Path.is_fifo: 'FIFO', - Path.is_socket: 'socket', +path_type_labels = { + 'is_dir': 'directory', + 'is_file': 'file', + 'is_mount': 'mount point', + 'is_symlink': 'symlink', + 'is_block_device': 'block device', + 'is_char_device': 'char device', + 'is_fifo': 'FIFO', + 'is_socket': 'socket', } @@ -22,27 +17,8 @@ def path_type_label(p: Path) -> str: Find out what sort of thing a path is. """ assert p.exists(), 'path does not exist' - for method, name in _PATH_TYPE_LABELS.items(): - if method(p): + for method, name in path_type_labels.items(): + if getattr(p, method)(): return name - return 'unknown' # pragma: no cover - - -# TODO remove and replace usage by `isinstance(cls, type) and issubclass(cls, class_or_tuple)` -# once we drop support for Python 3.10. -def _lenient_issubclass(cls: Any, class_or_tuple: Any) -> bool: # pragma: no cover - try: - return isinstance(cls, type) and issubclass(cls, class_or_tuple) - except TypeError: - if get_origin(cls) is not None: - # Up until Python 3.10, isinstance(, type) is True - # (e.g. list[int]) - return False - raise - - -if sys.version_info < (3, 10): - _WithArgsTypes = tuple() -else: - _WithArgsTypes = (_GenericAlias, types.GenericAlias, types.UnionType) + return 'unknown' diff --git a/venv/lib/python3.12/site-packages/pydantic_settings/version.py b/venv/lib/python3.12/site-packages/pydantic_settings/version.py index a13b4dc..2f7444b 100644 --- a/venv/lib/python3.12/site-packages/pydantic_settings/version.py +++ b/venv/lib/python3.12/site-packages/pydantic_settings/version.py @@ -1 +1 @@ -VERSION = '2.11.0' +VERSION = '2.0.3' diff --git a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/LICENSE diff --git a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/METADATA b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/METADATA similarity index 86% rename from venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/METADATA rename to venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/METADATA index 8dcf31d..a85c4f9 100644 --- a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/METADATA @@ -1,6 +1,6 @@ -Metadata-Version: 2.4 +Metadata-Version: 2.1 Name: python-dotenv -Version: 1.1.1 +Version: 1.0.0 Summary: Read key-value pairs from a .env file and set them as environment variables Home-page: https://github.com/theskumar/python-dotenv Author: Saurabh Kumar @@ -10,11 +10,11 @@ Keywords: environment variables,deployments,settings,env,dotenv,configurations,p Classifier: Development Status :: 5 - Production/Stable Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Intended Audience :: Developers Classifier: Intended Audience :: System Administrators @@ -23,32 +23,20 @@ Classifier: Operating System :: OS Independent Classifier: Topic :: System :: Systems Administration Classifier: Topic :: Utilities Classifier: Environment :: Web Environment -Requires-Python: >=3.9 +Requires-Python: >=3.8 Description-Content-Type: text/markdown License-File: LICENSE Provides-Extra: cli -Requires-Dist: click>=5.0; extra == "cli" -Dynamic: author -Dynamic: author-email -Dynamic: classifier -Dynamic: description -Dynamic: description-content-type -Dynamic: home-page -Dynamic: keywords -Dynamic: license -Dynamic: license-file -Dynamic: provides-extra -Dynamic: requires-python -Dynamic: summary +Requires-Dist: click (>=5.0) ; extra == 'cli' # python-dotenv [![Build Status][build_status_badge]][build_status_link] [![PyPI version][pypi_badge]][pypi_link] -python-dotenv reads key-value pairs from a `.env` file and can set them as environment +Python-dotenv reads key-value pairs from a `.env` file and can set them as environment variables. It helps in the development of applications following the -[12-factor](https://12factor.net/) principles. +[12-factor](http://12factor.net/) principles. - [Getting Started](#getting-started) - [Other Use Cases](#other-use-cases) @@ -72,20 +60,20 @@ If your application takes its configuration from environment variables, like a 1 application, launching it in development is not very practical because you have to set those environment variables yourself. -To help you with that, you can add python-dotenv to your application to make it load the +To help you with that, you can add Python-dotenv to your application to make it load the configuration from a `.env` file when it is present (e.g. in development) while remaining configurable via the environment: ```python from dotenv import load_dotenv -load_dotenv() # take environment variables +load_dotenv() # take environment variables from .env. # Code of your application, which uses environment variables (e.g. from `os.environ` or # `os.getenv`) as if they came from the actual environment. ``` -By default, `load_dotenv` doesn't override existing environment variables and looks for a `.env` file in same directory as python script or searches for it incrementally higher up. +By default, `load_dotenv` doesn't override existing environment variables. To configure the development environment, add a `.env` in the root directory of your project: @@ -244,7 +232,7 @@ empty string. ### Variable expansion -python-dotenv can interpolate variables using POSIX variable expansion. +Python-dotenv can interpolate variables using POSIX variable expansion. With `load_dotenv(override=True)` or `dotenv_values()`, the value of a variable is the first of the values defined in the following list: @@ -286,7 +274,7 @@ people](https://github.com/theskumar/python-dotenv/graphs/contributors). [build_status_badge]: https://github.com/theskumar/python-dotenv/actions/workflows/test.yml/badge.svg [build_status_link]: https://github.com/theskumar/python-dotenv/actions/workflows/test.yml [pypi_badge]: https://badge.fury.io/py/python-dotenv.svg -[pypi_link]: https://badge.fury.io/py/python-dotenv +[pypi_link]: http://badge.fury.io/py/python-dotenv [python_streams]: https://docs.python.org/3/library/io.html # Changelog @@ -296,50 +284,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.1.1] - 2025-06-24 - -## Fixed - -* CLI: Ensure `find_dotenv` work reliably on python 3.13 by [@theskumar] in [#563](https://github.com/theskumar/python-dotenv/pull/563) -* CLI: revert the use of execvpe on Windows by [@wrongontheinternet] in [#566](https://github.com/theskumar/python-dotenv/pull/566) - - -## [1.1.0] - 2025-03-25 - -**Feature** - -- Add support for python 3.13 -- Enhance `dotenv run`, switch to `execvpe` for better resource management and signal handling ([#523]) by [@eekstunt] - -**Fixed** - -- `find_dotenv` and `load_dotenv` now correctly looks up at the current directory when running in debugger or pdb ([#553] by [@randomseed42]) - -**Misc** - -- Drop support for Python 3.8 - -## [1.0.1] - 2024-01-23 - -**Fixed** - -* Gracefully handle code which has been imported from a zipfile ([#456] by [@samwyma]) -* Allow modules using `load_dotenv` to be reloaded when launched in a separate thread ([#497] by [@freddyaboulton]) -* Fix file not closed after deletion, handle error in the rewrite function ([#469] by [@Qwerty-133]) - -**Misc** -* Use pathlib.Path in tests ([#466] by [@eumiro]) -* Fix year in release date in changelog.md ([#454] by [@jankislinger]) -* Use https in README links ([#474] by [@Nicals]) - -## [1.0.0] - 2023-02-24 +## [1.0.0] **Fixed** * Drop support for python 3.7, add python 3.12-dev (#449 by [@theskumar]) * Handle situations where the cwd does not exist. (#446 by [@jctanner]) -## [0.21.1] - 2023-01-21 +## [0.21.1] - 2022-01-21 **Added** @@ -631,7 +583,7 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## 0.5.1 -- Fix `find_dotenv` - it now start search from the file where this +- Fix find\_dotenv - it now start search from the file where this function is called from. ## 0.5.0 @@ -655,13 +607,6 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). [#176]: https://github.com/theskumar/python-dotenv/issues/176 [#183]: https://github.com/theskumar/python-dotenv/issues/183 [#359]: https://github.com/theskumar/python-dotenv/issues/359 -[#469]: https://github.com/theskumar/python-dotenv/issues/469 -[#456]: https://github.com/theskumar/python-dotenv/issues/456 -[#466]: https://github.com/theskumar/python-dotenv/issues/466 -[#454]: https://github.com/theskumar/python-dotenv/issues/454 -[#474]: https://github.com/theskumar/python-dotenv/issues/474 -[#523]: https://github.com/theskumar/python-dotenv/issues/523 -[#553]: https://github.com/theskumar/python-dotenv/issues/553 [@alanjds]: https://github.com/alanjds [@altendky]: https://github.com/altendky @@ -672,31 +617,24 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). [@cjauvin]: https://github.com/cjauvin [@eaf]: https://github.com/eaf [@earlbread]: https://github.com/earlbread -[@eekstunt]: https://github.com/eekstunt [@eggplants]: https://github.com/@eggplants [@ekohl]: https://github.com/ekohl [@elbehery95]: https://github.com/elbehery95 -[@eumiro]: https://github.com/eumiro [@Flimm]: https://github.com/Flimm -[@freddyaboulton]: https://github.com/freddyaboulton [@gergelyk]: https://github.com/gergelyk [@gongqingkui]: https://github.com/gongqingkui [@greyli]: https://github.com/greyli [@harveer07]: https://github.com/@harveer07 [@jadutter]: https://github.com/jadutter -[@jankislinger]: https://github.com/jankislinger [@jctanner]: https://github.com/jctanner [@larsks]: https://github.com/@larsks [@lsmith77]: https://github.com/lsmith77 [@mgorny]: https://github.com/mgorny [@naorlivne]: https://github.com/@naorlivne -[@Nicals]: https://github.com/Nicals [@Nougat-Waffle]: https://github.com/Nougat-Waffle [@qnighy]: https://github.com/qnighy -[@Qwerty-133]: https://github.com/Qwerty-133 [@rabinadk1]: https://github.com/@rabinadk1 [@sammck]: https://github.com/@sammck -[@samwyma]: https://github.com/samwyma [@snobu]: https://github.com/snobu [@techalchemy]: https://github.com/techalchemy [@theGOTOguy]: https://github.com/theGOTOguy @@ -706,13 +644,9 @@ project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). [@x-yuri]: https://github.com/x-yuri [@yannham]: https://github.com/yannham [@zueve]: https://github.com/zueve -[@randomseed42]: https://github.com/zueve -[@wrongontheinternet]: https://github.com/wrongontheinternet -[Unreleased]: https://github.com/theskumar/python-dotenv/compare/v1.1.1...HEAD -[1.1.1]: https://github.com/theskumar/python-dotenv/compare/v1.1.0...1.1.1 -[1.1.0]: https://github.com/theskumar/python-dotenv/compare/v1.0.1...v1.1.0 -[1.0.1]: https://github.com/theskumar/python-dotenv/compare/v1.0.0...v1.0.1 + +[Unreleased]: https://github.com/theskumar/python-dotenv/compare/v1.0.0...HEAD [1.0.0]: https://github.com/theskumar/python-dotenv/compare/v0.21.0...v1.0.0 [0.21.1]: https://github.com/theskumar/python-dotenv/compare/v0.21.0...v0.21.1 [0.21.0]: https://github.com/theskumar/python-dotenv/compare/v0.20.0...v0.21.0 diff --git a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/RECORD b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/RECORD similarity index 51% rename from venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/RECORD rename to venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/RECORD index 941259b..097cbb1 100644 --- a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/RECORD +++ b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/RECORD @@ -1,4 +1,4 @@ -../../../bin/dotenv,sha256=nShk7mUtz-Nvgv-GkAlo04_90ec22Y8jjj1h5J-cp3s,233 +../../../bin/dotenv,sha256=D_1tHcDz_R59CEh0UvAZiuSdFp_MxVYmSyIBtSA9oUc,237 dotenv/__init__.py,sha256=WBU5SfSiKAhS3hzu17ykNuuwbuwyDCX91Szv4vUeOuM,1292 dotenv/__main__.py,sha256=N0RhLG7nHIqtlJHwwepIo-zbJPNx9sewCCRGY528h_4,129 dotenv/__pycache__/__init__.cpython-312.pyc,, @@ -9,18 +9,18 @@ dotenv/__pycache__/main.cpython-312.pyc,, dotenv/__pycache__/parser.cpython-312.pyc,, dotenv/__pycache__/variables.cpython-312.pyc,, dotenv/__pycache__/version.cpython-312.pyc,, -dotenv/cli.py,sha256=ut83SItbWcmEahAkSOzkHqvRKhqhj0tA53vcXpyleOM,6197 +dotenv/cli.py,sha256=_ttQuR9Yl4k1PT53ByISkDjJ3kO_N_LzIDZzZ95uXEk,5809 dotenv/ipython.py,sha256=avI6aez_RxnBptYgchIquF2TSgKI-GOhY3ppiu3VuWE,1303 -dotenv/main.py,sha256=HJgkS0XZcd0f2VZaVGxlUcrOEhqBcmQ6Lz9hQrMfaus,12467 +dotenv/main.py,sha256=6j1GW8kNeZAooqffdajLne_dq_TJLi2Mk63DRNJjXLk,11932 dotenv/parser.py,sha256=QgU5HwMwM2wMqt0vz6dHTJ4nzPmwqRqvi4MSyeVifgU,5186 dotenv/py.typed,sha256=8PjyZ1aVoQpRVvt71muvuq5qE-jTFZkK-GLHkhdebmc,26 dotenv/variables.py,sha256=CD0qXOvvpB3q5RpBQMD9qX6vHX7SyW-SuiwGMFSlt08,2348 -dotenv/version.py,sha256=q8_5C0f-8mHWNb6mMw02zlYPnEGXBqvOmP3z0CEwZKM,22 -python_dotenv-1.1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -python_dotenv-1.1.1.dist-info/METADATA,sha256=dELvSKXwZ-NbQKAe-k-uJM8khmVN8ZM92B5tyY801yY,24628 -python_dotenv-1.1.1.dist-info/RECORD,, -python_dotenv-1.1.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -python_dotenv-1.1.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91 -python_dotenv-1.1.1.dist-info/entry_points.txt,sha256=yRl1rCbswb1nQTQ_gZRlCw5QfabztUGnfGWLhlXFNdI,47 -python_dotenv-1.1.1.dist-info/licenses/LICENSE,sha256=gGGbcEnwjIFoOtDgHwjyV6hAZS3XHugxRtNmWMfSwrk,1556 -python_dotenv-1.1.1.dist-info/top_level.txt,sha256=eyqUH4SHJNr6ahOYlxIunTr4XinE8Z5ajWLdrK3r0D8,7 +dotenv/version.py,sha256=J-j-u0itpEFT6irdmWmixQqYMadNl1X91TxUmoiLHMI,22 +python_dotenv-1.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +python_dotenv-1.0.0.dist-info/LICENSE,sha256=gGGbcEnwjIFoOtDgHwjyV6hAZS3XHugxRtNmWMfSwrk,1556 +python_dotenv-1.0.0.dist-info/METADATA,sha256=0oze1EyeRIUTg91jCTJGbnxQR6mz_FkOW73CmeueUak,21991 +python_dotenv-1.0.0.dist-info/RECORD,, +python_dotenv-1.0.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +python_dotenv-1.0.0.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92 +python_dotenv-1.0.0.dist-info/entry_points.txt,sha256=yRl1rCbswb1nQTQ_gZRlCw5QfabztUGnfGWLhlXFNdI,47 +python_dotenv-1.0.0.dist-info/top_level.txt,sha256=eyqUH4SHJNr6ahOYlxIunTr4XinE8Z5ajWLdrK3r0D8,7 diff --git a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/WHEEL b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/WHEEL new file mode 100644 index 0000000..57e3d84 --- /dev/null +++ b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.38.4) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/entry_points.txt b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/entry_points.txt similarity index 100% rename from venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/entry_points.txt rename to venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/entry_points.txt diff --git a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/top_level.txt similarity index 100% rename from venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/top_level.txt rename to venv/lib/python3.12/site-packages/python_dotenv-1.0.0.dist-info/top_level.txt diff --git a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/WHEEL b/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/WHEEL deleted file mode 100644 index e7fa31b..0000000 --- a/venv/lib/python3.12/site-packages/python_dotenv-1.1.1.dist-info/WHEEL +++ /dev/null @@ -1,5 +0,0 @@ -Wheel-Version: 1.0 -Generator: setuptools (80.9.0) -Root-Is-Purelib: true -Tag: py3-none-any - diff --git a/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/LICENSE diff --git a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/METADATA b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/METADATA similarity index 85% rename from venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/METADATA rename to venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/METADATA index bd04b7c..314d09b 100644 --- a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/METADATA @@ -1,6 +1,6 @@ -Metadata-Version: 2.4 +Metadata-Version: 2.1 Name: python-jose -Version: 3.5.0 +Version: 3.3.0 Summary: JOSE implementation in Python Home-page: http://github.com/mpdavis/python-jose Author: Michael Davis @@ -11,6 +11,7 @@ Project-URL: Source, https://github.com/mpdavis/python-jose/ Project-URL: Tracker, https://github.com/mpdavis/python-jose/issues/ Project-URL: Changelog, https://github.com/mpdavis/python-jose/blob/master/CHANGELOG.md Keywords: jose jws jwe jwt json web token security signing +Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: Natural Language :: English @@ -18,28 +19,24 @@ Classifier: License :: OSI Approved :: MIT License Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Utilities -Requires-Python: >=3.9 License-File: LICENSE -Requires-Dist: ecdsa!=0.15 -Requires-Dist: rsa!=4.1.1,!=4.4,<5.0,>=4.0 -Requires-Dist: pyasn1>=0.5.0 -Provides-Extra: test -Requires-Dist: pytest; extra == "test" -Requires-Dist: pytest-cov; extra == "test" +Requires-Dist: ecdsa (!=0.15) +Requires-Dist: rsa +Requires-Dist: pyasn1 Provides-Extra: cryptography -Requires-Dist: cryptography>=3.4.0; extra == "cryptography" +Requires-Dist: cryptography (>=3.4.0) ; extra == 'cryptography' Provides-Extra: pycrypto -Requires-Dist: pycrypto<2.7.0,>=2.6.0; extra == "pycrypto" +Requires-Dist: pycrypto (<2.7.0,>=2.6.0) ; extra == 'pycrypto' +Requires-Dist: pyasn1 ; extra == 'pycrypto' Provides-Extra: pycryptodome -Requires-Dist: pycryptodome<4.0.0,>=3.3.1; extra == "pycryptodome" -Dynamic: license-file +Requires-Dist: pycryptodome (<4.0.0,>=3.3.1) ; extra == 'pycryptodome' +Requires-Dist: pyasn1 ; extra == 'pycryptodome' python-jose =========== @@ -130,8 +127,8 @@ This library was originally based heavily on the work of the folks over at PyJWT .. |pypi| image:: https://img.shields.io/pypi/v/python-jose?style=flat-square :target: https://pypi.org/project/python-jose/ :alt: PyPI -.. |Github Actions CI Status| image:: https://github.com/mpdavis/python-jose/actions/workflows/ci.yml/badge.svg - :target: https://github.com/mpdavis/python-jose/actions/workflows/ci.yml +.. |Github Actions CI Status| image:: https://github.com/mpdavis/python-jose/workflows/main/badge.svg?branch=master + :target: https://github.com/mpdavis/python-jose/actions?workflow=main :alt: Github Actions CI Status .. |Coverage Status| image:: http://codecov.io/github/mpdavis/python-jose/coverage.svg?branch=master :target: http://codecov.io/github/mpdavis/python-jose?branch=master @@ -147,3 +144,5 @@ This library was originally based heavily on the work of the folks over at PyJWT .. |style| image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black :alt: Code style: black + + diff --git a/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/RECORD b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/RECORD new file mode 100644 index 0000000..37d3013 --- /dev/null +++ b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/RECORD @@ -0,0 +1,37 @@ +jose/__init__.py,sha256=0XQau8AXQwNwztdDWVr6l7PyWq9w0qN1R0PGcrsMIGM,322 +jose/__pycache__/__init__.cpython-312.pyc,, +jose/__pycache__/constants.cpython-312.pyc,, +jose/__pycache__/exceptions.cpython-312.pyc,, +jose/__pycache__/jwe.cpython-312.pyc,, +jose/__pycache__/jwk.cpython-312.pyc,, +jose/__pycache__/jws.cpython-312.pyc,, +jose/__pycache__/jwt.cpython-312.pyc,, +jose/__pycache__/utils.cpython-312.pyc,, +jose/backends/__init__.py,sha256=yDExDpMlV6U4IBgk2Emov6cpQ2zQftFEh0J3yGaV2Lo,1091 +jose/backends/__pycache__/__init__.cpython-312.pyc,, +jose/backends/__pycache__/_asn1.cpython-312.pyc,, +jose/backends/__pycache__/base.cpython-312.pyc,, +jose/backends/__pycache__/cryptography_backend.cpython-312.pyc,, +jose/backends/__pycache__/ecdsa_backend.cpython-312.pyc,, +jose/backends/__pycache__/native.cpython-312.pyc,, +jose/backends/__pycache__/rsa_backend.cpython-312.pyc,, +jose/backends/_asn1.py,sha256=etzWxBjkt0Et19_IQ92Pj61bAe0nCgPN7bTvSuz8W3s,2655 +jose/backends/base.py,sha256=0kuposKfixAR2W3enKuYdqEZpVG56ODOQDEdgq_pmvs,2224 +jose/backends/cryptography_backend.py,sha256=28-792EKVGjjq2nUoCWdfyPGkoXfWN5vHFO7uolCtog,22763 +jose/backends/ecdsa_backend.py,sha256=ORORepIpIS9D4s6Vtmhli5GZV9kj3CJj2_Mv0ARKGqE,5055 +jose/backends/native.py,sha256=9zyounmjG1ZgVJYkseMcDosJOBILLRyu_UbzhH7ZZ1o,2289 +jose/backends/rsa_backend.py,sha256=RKIC_bphhe52t2D_jEINO_ngj50ty9wXnv7cVO1EmdE,10942 +jose/constants.py,sha256=A0yHNjsby-YVOeKhcoN0rxoM8bai1JlVDvZx82UCZeE,2596 +jose/exceptions.py,sha256=K_ueFBsmTwQySE0CU09iMthOAdPaTQ_HvzRz9lYT1ls,791 +jose/jwe.py,sha256=jSBN3aT2D7xAQ3D-5cVf_9kZebchAI3qoaf-3yMLanY,21976 +jose/jwk.py,sha256=3A1dXXfhGIMQvT43EBAQgiShQZuqLpUZk_xWvW7c9cs,2024 +jose/jws.py,sha256=qgMDRIlyGbGfAGApQfuAL5Qr66Qqa8aYUC3qUO8qM_g,7820 +jose/jwt.py,sha256=7czQxPsfOavLpY6jJTetdPN_FQDcZmmkaZ2QtV3bVPw,17310 +jose/utils.py,sha256=_doSyRne-OygjSI3Iz1kWTSGnwVHHMA6_wYHOS1rhCw,3190 +python_jose-3.3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +python_jose-3.3.0.dist-info/LICENSE,sha256=peYY7ubUlvd62K5w_qbt8UgVlVji0ih4fZB2yQCi-SY,1081 +python_jose-3.3.0.dist-info/METADATA,sha256=Sk_zCqxtDfFMG5lAL6EG7Br3KP0yhtw_IsJBwZaDliM,5403 +python_jose-3.3.0.dist-info/RECORD,, +python_jose-3.3.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +python_jose-3.3.0.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110 +python_jose-3.3.0.dist-info/top_level.txt,sha256=WIdGzeaROX_xI9hGqyB3h4KKXKGKU2XmV1XphZWIrD8,19 diff --git a/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/WHEEL b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/WHEEL similarity index 70% rename from venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/WHEEL rename to venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/WHEEL index 5f133db..01b8fc7 100644 --- a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/WHEEL +++ b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/WHEEL @@ -1,5 +1,5 @@ Wheel-Version: 1.0 -Generator: setuptools (80.9.0) +Generator: bdist_wheel (0.36.2) Root-Is-Purelib: true Tag: py2-none-any Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/top_level.txt new file mode 100644 index 0000000..3ac440a --- /dev/null +++ b/venv/lib/python3.12/site-packages/python_jose-3.3.0.dist-info/top_level.txt @@ -0,0 +1,2 @@ +jose +jose/backends diff --git a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/RECORD b/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/RECORD deleted file mode 100644 index 6efc192..0000000 --- a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/RECORD +++ /dev/null @@ -1,37 +0,0 @@ -jose/__init__.py,sha256=x8vWB0drBqifxYnt-lognbrRuKb6X3qRxAd5l053gDw,322 -jose/__pycache__/__init__.cpython-312.pyc,, -jose/__pycache__/constants.cpython-312.pyc,, -jose/__pycache__/exceptions.cpython-312.pyc,, -jose/__pycache__/jwe.cpython-312.pyc,, -jose/__pycache__/jwk.cpython-312.pyc,, -jose/__pycache__/jws.cpython-312.pyc,, -jose/__pycache__/jwt.cpython-312.pyc,, -jose/__pycache__/utils.cpython-312.pyc,, -jose/backends/__init__.py,sha256=kaDsN5XktlfA8F_3060PeXdaL4BNdvoUTzPLAjP_v_s,861 -jose/backends/__pycache__/__init__.cpython-312.pyc,, -jose/backends/__pycache__/_asn1.cpython-312.pyc,, -jose/backends/__pycache__/base.cpython-312.pyc,, -jose/backends/__pycache__/cryptography_backend.cpython-312.pyc,, -jose/backends/__pycache__/ecdsa_backend.cpython-312.pyc,, -jose/backends/__pycache__/native.cpython-312.pyc,, -jose/backends/__pycache__/rsa_backend.cpython-312.pyc,, -jose/backends/_asn1.py,sha256=2CqnRB7LojTrNU4d1HC9BA2WkJv5OOM6gyn6B-tVwkk,2656 -jose/backends/base.py,sha256=0kuposKfixAR2W3enKuYdqEZpVG56ODOQDEdgq_pmvs,2224 -jose/backends/cryptography_backend.py,sha256=v1XqO6PIUpYwyAAsMob1FD9D4q6rPwfX7CGV-KxFlAU,22175 -jose/backends/ecdsa_backend.py,sha256=ORORepIpIS9D4s6Vtmhli5GZV9kj3CJj2_Mv0ARKGqE,5055 -jose/backends/native.py,sha256=uZuP8EqihAPsmGdxslMyhh-DGoe1yXLXmB_P-2zXyS8,2096 -jose/backends/rsa_backend.py,sha256=-tiQF_G2v16a5PLCLjEVwSoYaeBy3h-Tj6KKmtYlAuY,10941 -jose/constants.py,sha256=tPZLo6oI8mesxFXOCiulE--GcANW1V37wkO0f1vVvqY,2625 -jose/exceptions.py,sha256=K_ueFBsmTwQySE0CU09iMthOAdPaTQ_HvzRz9lYT1ls,791 -jose/jwe.py,sha256=L7GZsKm6qc2ApDtOnM0YDs2KhP1R3hWMoSoIKi8cQQg,22700 -jose/jwk.py,sha256=TuIrPoKkVFZcwrnp_IcwSdUJL79-pAGCmauAyysmCoQ,1994 -jose/jws.py,sha256=P2SAUhO6ZxjhWk6XHFpulgpREfAHJ_ktAgzPg-OJ_3w,7894 -jose/jwt.py,sha256=OXVuHOP6g05tHyzo9eP4tLn8RzqbdpKrEWU6VwtNOrA,18158 -jose/utils.py,sha256=3R6EViEPwc2NreO1njUsab9rHKnc6fzfRJmWo9f4Y90,4824 -python_jose-3.5.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -python_jose-3.5.0.dist-info/METADATA,sha256=FA4Lhvk8-BZzGNOUbzr4aH84uj0ytjG5SMK9p7oQLwY,5508 -python_jose-3.5.0.dist-info/RECORD,, -python_jose-3.5.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -python_jose-3.5.0.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109 -python_jose-3.5.0.dist-info/licenses/LICENSE,sha256=peYY7ubUlvd62K5w_qbt8UgVlVji0ih4fZB2yQCi-SY,1081 -python_jose-3.5.0.dist-info/top_level.txt,sha256=tWZmXhRSm0aANjAdRbjirCMnYOQdMwpQqdJUSmANjtk,5 diff --git a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/top_level.txt deleted file mode 100644 index 268baa1..0000000 --- a/venv/lib/python3.12/site-packages/python_jose-3.5.0.dist-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -jose diff --git a/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/METADATA b/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/METADATA deleted file mode 100644 index 155ce8b..0000000 --- a/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/METADATA +++ /dev/null @@ -1,40 +0,0 @@ -Metadata-Version: 2.4 -Name: python-multipart -Version: 0.0.20 -Summary: A streaming multipart parser for Python -Project-URL: Homepage, https://github.com/Kludex/python-multipart -Project-URL: Documentation, https://kludex.github.io/python-multipart/ -Project-URL: Changelog, https://github.com/Kludex/python-multipart/blob/master/CHANGELOG.md -Project-URL: Source, https://github.com/Kludex/python-multipart -Author-email: Andrew Dunham , Marcelo Trylesinski -License-Expression: Apache-2.0 -License-File: LICENSE.txt -Classifier: Development Status :: 5 - Production/Stable -Classifier: Environment :: Web Environment -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: Apache Software License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3 :: Only -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Requires-Python: >=3.8 -Description-Content-Type: text/markdown - -# [Python-Multipart](https://kludex.github.io/python-multipart/) - -[![Package version](https://badge.fury.io/py/python-multipart.svg)](https://pypi.python.org/pypi/python-multipart) -[![Supported Python Version](https://img.shields.io/pypi/pyversions/python-multipart.svg?color=%2334D058)](https://pypi.org/project/python-multipart) - ---- - -`python-multipart` is an Apache2-licensed streaming multipart parser for Python. -Test coverage is currently 100%. - -## Why? - -Because streaming uploads are awesome for large files. diff --git a/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/RECORD b/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/RECORD deleted file mode 100644 index f80836d..0000000 --- a/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/RECORD +++ /dev/null @@ -1,23 +0,0 @@ -multipart/__init__.py,sha256=_ttxOAFnTN4jeac-_8NeXpaXYYo0PPEIp8Ogo4YFNHE,935 -multipart/__pycache__/__init__.cpython-312.pyc,, -multipart/__pycache__/decoders.cpython-312.pyc,, -multipart/__pycache__/exceptions.cpython-312.pyc,, -multipart/__pycache__/multipart.cpython-312.pyc,, -multipart/decoders.py,sha256=XvkAwTU9UFPiXkc0hkvovHf0W6H3vK-2ieWlhav02hQ,40 -multipart/exceptions.py,sha256=6D_X-seiOmMAlIeiGlPGUs8-vpcvIGJeQycFMDb1f7A,42 -multipart/multipart.py,sha256=8fDH14j_VMbrch_58wlzi63XNARGv80kOZAyN72aG7A,41 -python_multipart-0.0.20.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -python_multipart-0.0.20.dist-info/METADATA,sha256=h2GtPOVShbVkpBUrjp5KE3t6eiJJhd0_WCaCXrb5TgU,1817 -python_multipart-0.0.20.dist-info/RECORD,, -python_multipart-0.0.20.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -python_multipart-0.0.20.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87 -python_multipart-0.0.20.dist-info/licenses/LICENSE.txt,sha256=qOgzF2zWF9rwC51tOfoVyo7evG0WQwec0vSJPAwom-I,556 -python_multipart/__init__.py,sha256=Nlw6Yrc__qXnCZLo17OzbJR2w2mwiSFk69IG4Wl35EU,512 -python_multipart/__pycache__/__init__.cpython-312.pyc,, -python_multipart/__pycache__/decoders.cpython-312.pyc,, -python_multipart/__pycache__/exceptions.cpython-312.pyc,, -python_multipart/__pycache__/multipart.cpython-312.pyc,, -python_multipart/decoders.py,sha256=JM43FMNn_EKP0MI2ZkuZHhNa0MOASoIR0U5TvdG585k,6669 -python_multipart/exceptions.py,sha256=a9buSOv_eiHZoukEJhdWX9LJYSJ6t7XOK3ZEaWoQZlk,992 -python_multipart/multipart.py,sha256=pk3o3eB3KXbNxzOBxbEjCdz-1ESEZIMXVIfl12grG-o,76427 -python_multipart/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/METADATA b/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/METADATA new file mode 100644 index 0000000..916367c --- /dev/null +++ b/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/METADATA @@ -0,0 +1,69 @@ +Metadata-Version: 2.1 +Name: python-multipart +Version: 0.0.6 +Summary: A streaming multipart parser for Python +Project-URL: Homepage, https://github.com/andrew-d/python-multipart +Project-URL: Documentation, https://andrew-d.github.io/python-multipart/ +Project-URL: Changelog, https://github.com/andrew-d/python-multipart/tags +Project-URL: Source, https://github.com/andrew-d/python-multipart +Author-email: Andrew Dunham +License-Expression: Apache-2.0 +License-File: LICENSE.txt +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Web Environment +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Requires-Python: >=3.7 +Provides-Extra: dev +Requires-Dist: atomicwrites==1.2.1; extra == 'dev' +Requires-Dist: attrs==19.2.0; extra == 'dev' +Requires-Dist: coverage==6.5.0; extra == 'dev' +Requires-Dist: hatch; extra == 'dev' +Requires-Dist: invoke==1.7.3; extra == 'dev' +Requires-Dist: more-itertools==4.3.0; extra == 'dev' +Requires-Dist: pbr==4.3.0; extra == 'dev' +Requires-Dist: pluggy==1.0.0; extra == 'dev' +Requires-Dist: py==1.11.0; extra == 'dev' +Requires-Dist: pytest-cov==4.0.0; extra == 'dev' +Requires-Dist: pytest-timeout==2.1.0; extra == 'dev' +Requires-Dist: pytest==7.2.0; extra == 'dev' +Requires-Dist: pyyaml==5.1; extra == 'dev' +Description-Content-Type: text/x-rst + +================== + Python-Multipart +================== + +.. image:: https://github.com/andrew-d/python-multipart/actions/workflows/test.yaml/badge.svg + :target: https://github.com/andrew-d/python-multipart/actions + + +python-multipart is an Apache2 licensed streaming multipart parser for Python. +Test coverage is currently 100%. +Documentation is available `here`_. + +.. _here: https://andrew-d.github.io/python-multipart/ + +Why? +---- + +Because streaming uploads are awesome for large files. + +How to Test +----------- + +If you want to test: + +.. code-block:: bash + + $ pip install .[dev] + $ inv test diff --git a/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/RECORD b/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/RECORD new file mode 100644 index 0000000..29b2be6 --- /dev/null +++ b/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/RECORD @@ -0,0 +1,62 @@ +multipart/__init__.py,sha256=EaZd7hXXXNz5RWfzZ4lr-wKWXC4anMNWE7u4tPXtWr0,335 +multipart/__pycache__/__init__.cpython-312.pyc,, +multipart/__pycache__/decoders.cpython-312.pyc,, +multipart/__pycache__/exceptions.cpython-312.pyc,, +multipart/__pycache__/multipart.cpython-312.pyc,, +multipart/decoders.py,sha256=6LeCVARmDrQgmMsaul1WUIf79Q-mLE9swhGxumQe_98,6107 +multipart/exceptions.py,sha256=yDZ9pqq3Y9ZMCvj2TkAvOcNdMjFHjLnHl4luFnzt750,1410 +multipart/multipart.py,sha256=ZRc1beZCgCIXkYe0Xwxh_g4nFdrp3eEid4XODYIfqgQ,71230 +multipart/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +multipart/tests/__pycache__/__init__.cpython-312.pyc,, +multipart/tests/__pycache__/compat.cpython-312.pyc,, +multipart/tests/__pycache__/test_multipart.cpython-312.pyc,, +multipart/tests/compat.py,sha256=3aowcimO1SYU6WqS3GlUJ3jmkgLH63e8AsUPjlta1xU,4266 +multipart/tests/test_data/http/CR_in_header.http,sha256=XEimN_BgEqQXCqK463bMgD9PKIQeLrQhWt2M3vNr9cE,149 +multipart/tests/test_data/http/CR_in_header.yaml,sha256=OEzE2PqK78fi9kjM23YOu4xM0zQ_LRwSiwqFNAmku50,73 +multipart/tests/test_data/http/CR_in_header_value.http,sha256=pf4sP-l4_hzZ8Kr51gUE6CFcCifuWSZ10-vnx6mtXDg,149 +multipart/tests/test_data/http/CR_in_header_value.yaml,sha256=WjqJNYL-cUH2n9k-Xdy1YDvSfDqqXxsiinBDn3HTUu4,73 +multipart/tests/test_data/http/almost_match_boundary.http,sha256=jIsp1M6BHQIHF9o965z3Pt8TFncVvaBj5N43hprRpBM,264 +multipart/tests/test_data/http/almost_match_boundary.yaml,sha256=Hr7WZBwZrbf4vjurjRzGGeY9tFVJLRRmV1rEFXop-6s,300 +multipart/tests/test_data/http/almost_match_boundary_without_CR.http,sha256=KviMqo_FUy1N1-b-YUfyWhs5PmN6_fU7qhMYFTGnUhI,132 +multipart/tests/test_data/http/almost_match_boundary_without_CR.yaml,sha256=HjlUni-nuX3bG2-3FILo4GLBpLD4DImQ48VPlfnfIWY,167 +multipart/tests/test_data/http/almost_match_boundary_without_LF.http,sha256=KylmJ0O-RfnUnXbjVhwJpzHsWqNTPJn29_wfsvrG7AM,133 +multipart/tests/test_data/http/almost_match_boundary_without_LF.yaml,sha256=tkzz_kOFZtkarmMnTen355nm8McPwbmPmWGMxUUBSzU,171 +multipart/tests/test_data/http/almost_match_boundary_without_final_hyphen.http,sha256=L6bzRistD4X5TTd1zBtfR6gM4EQL77_iBI_Pgaw4ufw,133 +multipart/tests/test_data/http/almost_match_boundary_without_final_hyphen.yaml,sha256=cFKxwFMYTo9PKRb04Iai__mY9KG29IPkSm3p80DgEZw,171 +multipart/tests/test_data/http/bad_end_of_headers.http,sha256=ucEDylTCg1_hdEVkIc-1k8ZQ-CBIf5uXfDKbSBsSaF0,149 +multipart/tests/test_data/http/bad_end_of_headers.yaml,sha256=1UHERY2D7tp0HEUl5xD4SiotP2skETmBOF5EjcG2HTw,73 +multipart/tests/test_data/http/bad_header_char.http,sha256=zTqXFNQ9yrbc82vubPg95T4edg1Ueh2xadlVD2lO51A,149 +multipart/tests/test_data/http/bad_header_char.yaml,sha256=9ykVsASnvYvX51qtkCJqhgegeN-hoSU40MsYQvqeVNo,73 +multipart/tests/test_data/http/bad_initial_boundary.http,sha256=IGFSkpmw21XfAXr0xOHwj0vnhxyj-uCWVjcljo68LLo,149 +multipart/tests/test_data/http/bad_initial_boundary.yaml,sha256=eBSbue0BYDYhYtKdBCnm1LGq0O_fOMwV6ZoLpZFDFM4,72 +multipart/tests/test_data/http/base64_encoding.http,sha256=fDbr4BgLdNS8kYiTO7g4HxB81hvmiD2sRUCAoijfRx0,173 +multipart/tests/test_data/http/base64_encoding.yaml,sha256=cz2KxZxoi81MiXRh7DmJQOWcdqQH5ahkrJydGYv4hpU,125 +multipart/tests/test_data/http/empty_header.http,sha256=-wSHHSLu1D2wfdC8Zcaw5TX_USTvWz56CANpsceOZYQ,130 +multipart/tests/test_data/http/empty_header.yaml,sha256=4xdVCYJ-l88HMXkMLNkSQoLNgURoGcKzR1AclPLpkOc,73 +multipart/tests/test_data/http/multiple_fields.http,sha256=6p93ls_B7bk8mXPYhsrFwvktSX8CuRdUH4vn-EZBaRM,242 +multipart/tests/test_data/http/multiple_fields.yaml,sha256=mePM5DVfAzty7QNEEyMu2qrFI28TbG9yWRvWFpWj7Jo,197 +multipart/tests/test_data/http/multiple_files.http,sha256=EtmagVBVpsFGnCqlwfKgswQfU8lGa3QNkP6GVJBa5A0,348 +multipart/tests/test_data/http/multiple_files.yaml,sha256=QO9JMgTvkL2EmIWAl8LcbDrkfNmDk0eA5SOk3gFuFWE,260 +multipart/tests/test_data/http/quoted_printable_encoding.http,sha256=--yYceg17SmqIJsazw-SFChdxeTAq8zV4lzPVM_QMrM,180 +multipart/tests/test_data/http/quoted_printable_encoding.yaml,sha256=G_L6lnP-e4uHfGpYQFopxDdpbd_EbxL2oY8N910BTOI,127 +multipart/tests/test_data/http/single_field.http,sha256=JjdSwFiM0mG07HYzBCcjzeqgqAA9glx-VcRUjkOh8cA,149 +multipart/tests/test_data/http/single_field.yaml,sha256=HMXd14-m9sKBvTsnzWOaG12_3wve5SoXeUISF93wlRc,139 +multipart/tests/test_data/http/single_field_blocks.http,sha256=4laZAIbFmxERZtgPWzuOihvEhLWD1NGTSdqZ6Ra58Ns,115 +multipart/tests/test_data/http/single_field_blocks.yaml,sha256=6mKvHtmiXh6OxoibJsx5pUreIMyQyPb_DWy7GEG9BX8,147 +multipart/tests/test_data/http/single_field_longer.http,sha256=BTBt1MsUaxuHauu-mljb3lU-8Z2dpjRN_lkZW4pkDXA,262 +multipart/tests/test_data/http/single_field_longer.yaml,sha256=aENhQPtHaTPIvgJbdiDHvcOtcthEEUHCQIEfLj0aalY,293 +multipart/tests/test_data/http/single_field_single_file.http,sha256=G4dV0iCSjvEk5DSJ1VXWy6R8Hon3-WOExep41nPWVeQ,192 +multipart/tests/test_data/http/single_field_single_file.yaml,sha256=QO9gqdXQsoizLji9r8kdlPWHJB5vO7wszqP1fHvsNV8,189 +multipart/tests/test_data/http/single_field_with_leading_newlines.http,sha256=YfNEUdZxbi4bBGTU4T4WSQZ6QJDJlcLZUczYzGU5Jaw,153 +multipart/tests/test_data/http/single_field_with_leading_newlines.yaml,sha256=HMXd14-m9sKBvTsnzWOaG12_3wve5SoXeUISF93wlRc,139 +multipart/tests/test_data/http/single_file.http,sha256=axRB0Keb4uhAfHxt7Na1x9-PQHCiiKK8s38a2GG860E,202 +multipart/tests/test_data/http/single_file.yaml,sha256=eUKyGkNTDrXdGni4EyEDbxDBTfAKsstVQ5O5SWghYTc,170 +multipart/tests/test_data/http/utf8_filename.http,sha256=w_Ryf4hC_KJo7v-a18dJFECqm21nzA5Z18dsGyu6zjA,208 +multipart/tests/test_data/http/utf8_filename.yaml,sha256=KpDc4e-yYp_JUXa-S5lp591tzoEybgywtGian0kQFPc,177 +multipart/tests/test_multipart.py,sha256=VrxoOtXO4NWpT1OJqo7FWWIybnxGReumIWCR-FDIHCk,38988 +python_multipart-0.0.6.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +python_multipart-0.0.6.dist-info/METADATA,sha256=J4WQf99XHSSg_EDG7fGgJGotS_Hp7ViCtpY4rQ2OgyM,2459 +python_multipart-0.0.6.dist-info/RECORD,, +python_multipart-0.0.6.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +python_multipart-0.0.6.dist-info/WHEEL,sha256=Fd6mP6ydyRguakwUJ05oBE7fh2IPxgtDN9IwHJ9OqJQ,87 +python_multipart-0.0.6.dist-info/licenses/LICENSE.txt,sha256=qOgzF2zWF9rwC51tOfoVyo7evG0WQwec0vSJPAwom-I,556 diff --git a/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/WHEEL b/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/WHEEL new file mode 100644 index 0000000..9d72767 --- /dev/null +++ b/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/WHEEL @@ -0,0 +1,4 @@ +Wheel-Version: 1.0 +Generator: hatchling 1.13.0 +Root-Is-Purelib: true +Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/licenses/LICENSE.txt b/venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/licenses/LICENSE.txt similarity index 100% rename from venv/lib/python3.12/site-packages/python_multipart-0.0.20.dist-info/licenses/LICENSE.txt rename to venv/lib/python3.12/site-packages/python_multipart-0.0.6.dist-info/licenses/LICENSE.txt diff --git a/venv/lib/python3.12/site-packages/python_multipart/__init__.py b/venv/lib/python3.12/site-packages/python_multipart/__init__.py deleted file mode 100644 index e426526..0000000 --- a/venv/lib/python3.12/site-packages/python_multipart/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# This is the canonical package information. -__author__ = "Andrew Dunham" -__license__ = "Apache" -__copyright__ = "Copyright (c) 2012-2013, Andrew Dunham" -__version__ = "0.0.20" - -from .multipart import ( - BaseParser, - FormParser, - MultipartParser, - OctetStreamParser, - QuerystringParser, - create_form_parser, - parse_form, -) - -__all__ = ( - "BaseParser", - "FormParser", - "MultipartParser", - "OctetStreamParser", - "QuerystringParser", - "create_form_parser", - "parse_form", -) diff --git a/venv/lib/python3.12/site-packages/python_multipart/decoders.py b/venv/lib/python3.12/site-packages/python_multipart/decoders.py deleted file mode 100644 index 82b56a1..0000000 --- a/venv/lib/python3.12/site-packages/python_multipart/decoders.py +++ /dev/null @@ -1,185 +0,0 @@ -import base64 -import binascii -from typing import TYPE_CHECKING - -from .exceptions import DecodeError - -if TYPE_CHECKING: # pragma: no cover - from typing import Protocol, TypeVar - - _T_contra = TypeVar("_T_contra", contravariant=True) - - class SupportsWrite(Protocol[_T_contra]): - def write(self, __b: _T_contra) -> object: ... - - # No way to specify optional methods. See - # https://github.com/python/typing/issues/601 - # close() [Optional] - # finalize() [Optional] - - -class Base64Decoder: - """This object provides an interface to decode a stream of Base64 data. It - is instantiated with an "underlying object", and whenever a write() - operation is performed, it will decode the incoming data as Base64, and - call write() on the underlying object. This is primarily used for decoding - form data encoded as Base64, but can be used for other purposes:: - - from python_multipart.decoders import Base64Decoder - fd = open("notb64.txt", "wb") - decoder = Base64Decoder(fd) - try: - decoder.write("Zm9vYmFy") # "foobar" in Base64 - decoder.finalize() - finally: - decoder.close() - - # The contents of "notb64.txt" should be "foobar". - - This object will also pass all finalize() and close() calls to the - underlying object, if the underlying object supports them. - - Note that this class maintains a cache of base64 chunks, so that a write of - arbitrary size can be performed. You must call :meth:`finalize` on this - object after all writes are completed to ensure that all data is flushed - to the underlying object. - - :param underlying: the underlying object to pass writes to - """ - - def __init__(self, underlying: "SupportsWrite[bytes]") -> None: - self.cache = bytearray() - self.underlying = underlying - - def write(self, data: bytes) -> int: - """Takes any input data provided, decodes it as base64, and passes it - on to the underlying object. If the data provided is invalid base64 - data, then this method will raise - a :class:`python_multipart.exceptions.DecodeError` - - :param data: base64 data to decode - """ - - # Prepend any cache info to our data. - if len(self.cache) > 0: - data = self.cache + data - - # Slice off a string that's a multiple of 4. - decode_len = (len(data) // 4) * 4 - val = data[:decode_len] - - # Decode and write, if we have any. - if len(val) > 0: - try: - decoded = base64.b64decode(val) - except binascii.Error: - raise DecodeError("There was an error raised while decoding base64-encoded data.") - - self.underlying.write(decoded) - - # Get the remaining bytes and save in our cache. - remaining_len = len(data) % 4 - if remaining_len > 0: - self.cache[:] = data[-remaining_len:] - else: - self.cache[:] = b"" - - # Return the length of the data to indicate no error. - return len(data) - - def close(self) -> None: - """Close this decoder. If the underlying object has a `close()` - method, this function will call it. - """ - if hasattr(self.underlying, "close"): - self.underlying.close() - - def finalize(self) -> None: - """Finalize this object. This should be called when no more data - should be written to the stream. This function can raise a - :class:`python_multipart.exceptions.DecodeError` if there is some remaining - data in the cache. - - If the underlying object has a `finalize()` method, this function will - call it. - """ - if len(self.cache) > 0: - raise DecodeError( - "There are %d bytes remaining in the Base64Decoder cache when finalize() is called" % len(self.cache) - ) - - if hasattr(self.underlying, "finalize"): - self.underlying.finalize() - - def __repr__(self) -> str: - return f"{self.__class__.__name__}(underlying={self.underlying!r})" - - -class QuotedPrintableDecoder: - """This object provides an interface to decode a stream of quoted-printable - data. It is instantiated with an "underlying object", in the same manner - as the :class:`python_multipart.decoders.Base64Decoder` class. This class behaves - in exactly the same way, including maintaining a cache of quoted-printable - chunks. - - :param underlying: the underlying object to pass writes to - """ - - def __init__(self, underlying: "SupportsWrite[bytes]") -> None: - self.cache = b"" - self.underlying = underlying - - def write(self, data: bytes) -> int: - """Takes any input data provided, decodes it as quoted-printable, and - passes it on to the underlying object. - - :param data: quoted-printable data to decode - """ - # Prepend any cache info to our data. - if len(self.cache) > 0: - data = self.cache + data - - # If the last 2 characters have an '=' sign in it, then we won't be - # able to decode the encoded value and we'll need to save it for the - # next decoding step. - if data[-2:].find(b"=") != -1: - enc, rest = data[:-2], data[-2:] - else: - enc = data - rest = b"" - - # Encode and write, if we have data. - if len(enc) > 0: - self.underlying.write(binascii.a2b_qp(enc)) - - # Save remaining in cache. - self.cache = rest - return len(data) - - def close(self) -> None: - """Close this decoder. If the underlying object has a `close()` - method, this function will call it. - """ - if hasattr(self.underlying, "close"): - self.underlying.close() - - def finalize(self) -> None: - """Finalize this object. This should be called when no more data - should be written to the stream. This function will not raise any - exceptions, but it may write more data to the underlying object if - there is data remaining in the cache. - - If the underlying object has a `finalize()` method, this function will - call it. - """ - # If we have a cache, write and then remove it. - if len(self.cache) > 0: # pragma: no cover - self.underlying.write(binascii.a2b_qp(self.cache)) - self.cache = b"" - - # Finalize our underlying stream. - if hasattr(self.underlying, "finalize"): - self.underlying.finalize() - - def __repr__(self) -> str: - return f"{self.__class__.__name__}(underlying={self.underlying!r})" diff --git a/venv/lib/python3.12/site-packages/python_multipart/exceptions.py b/venv/lib/python3.12/site-packages/python_multipart/exceptions.py deleted file mode 100644 index cc3671f..0000000 --- a/venv/lib/python3.12/site-packages/python_multipart/exceptions.py +++ /dev/null @@ -1,34 +0,0 @@ -class FormParserError(ValueError): - """Base error class for our form parser.""" - - -class ParseError(FormParserError): - """This exception (or a subclass) is raised when there is an error while - parsing something. - """ - - #: This is the offset in the input data chunk (*NOT* the overall stream) in - #: which the parse error occurred. It will be -1 if not specified. - offset = -1 - - -class MultipartParseError(ParseError): - """This is a specific error that is raised when the MultipartParser detects - an error while parsing. - """ - - -class QuerystringParseError(ParseError): - """This is a specific error that is raised when the QuerystringParser - detects an error while parsing. - """ - - -class DecodeError(ParseError): - """This exception is raised when there is a decoding error - for example - with the Base64Decoder or QuotedPrintableDecoder. - """ - - -class FileError(FormParserError, OSError): - """Exception class for problems with the File class.""" diff --git a/venv/lib/python3.12/site-packages/python_multipart/multipart.py b/venv/lib/python3.12/site-packages/python_multipart/multipart.py deleted file mode 100644 index f26a815..0000000 --- a/venv/lib/python3.12/site-packages/python_multipart/multipart.py +++ /dev/null @@ -1,1873 +0,0 @@ -from __future__ import annotations - -import logging -import os -import shutil -import sys -import tempfile -from email.message import Message -from enum import IntEnum -from io import BufferedRandom, BytesIO -from numbers import Number -from typing import TYPE_CHECKING, cast - -from .decoders import Base64Decoder, QuotedPrintableDecoder -from .exceptions import FileError, FormParserError, MultipartParseError, QuerystringParseError - -if TYPE_CHECKING: # pragma: no cover - from typing import Any, Callable, Literal, Protocol, TypedDict - - from typing_extensions import TypeAlias - - class SupportsRead(Protocol): - def read(self, __n: int) -> bytes: ... - - class QuerystringCallbacks(TypedDict, total=False): - on_field_start: Callable[[], None] - on_field_name: Callable[[bytes, int, int], None] - on_field_data: Callable[[bytes, int, int], None] - on_field_end: Callable[[], None] - on_end: Callable[[], None] - - class OctetStreamCallbacks(TypedDict, total=False): - on_start: Callable[[], None] - on_data: Callable[[bytes, int, int], None] - on_end: Callable[[], None] - - class MultipartCallbacks(TypedDict, total=False): - on_part_begin: Callable[[], None] - on_part_data: Callable[[bytes, int, int], None] - on_part_end: Callable[[], None] - on_header_begin: Callable[[], None] - on_header_field: Callable[[bytes, int, int], None] - on_header_value: Callable[[bytes, int, int], None] - on_header_end: Callable[[], None] - on_headers_finished: Callable[[], None] - on_end: Callable[[], None] - - class FormParserConfig(TypedDict): - UPLOAD_DIR: str | None - UPLOAD_KEEP_FILENAME: bool - UPLOAD_KEEP_EXTENSIONS: bool - UPLOAD_ERROR_ON_BAD_CTE: bool - MAX_MEMORY_FILE_SIZE: int - MAX_BODY_SIZE: float - - class FileConfig(TypedDict, total=False): - UPLOAD_DIR: str | bytes | None - UPLOAD_DELETE_TMP: bool - UPLOAD_KEEP_FILENAME: bool - UPLOAD_KEEP_EXTENSIONS: bool - MAX_MEMORY_FILE_SIZE: int - - class _FormProtocol(Protocol): - def write(self, data: bytes) -> int: ... - - def finalize(self) -> None: ... - - def close(self) -> None: ... - - class FieldProtocol(_FormProtocol, Protocol): - def __init__(self, name: bytes | None) -> None: ... - - def set_none(self) -> None: ... - - class FileProtocol(_FormProtocol, Protocol): - def __init__(self, file_name: bytes | None, field_name: bytes | None, config: FileConfig) -> None: ... - - OnFieldCallback = Callable[[FieldProtocol], None] - OnFileCallback = Callable[[FileProtocol], None] - - CallbackName: TypeAlias = Literal[ - "start", - "data", - "end", - "field_start", - "field_name", - "field_data", - "field_end", - "part_begin", - "part_data", - "part_end", - "header_begin", - "header_field", - "header_value", - "header_end", - "headers_finished", - ] - -# Unique missing object. -_missing = object() - - -class QuerystringState(IntEnum): - """Querystring parser states. - - These are used to keep track of the state of the parser, and are used to determine - what to do when new data is encountered. - """ - - BEFORE_FIELD = 0 - FIELD_NAME = 1 - FIELD_DATA = 2 - - -class MultipartState(IntEnum): - """Multipart parser states. - - These are used to keep track of the state of the parser, and are used to determine - what to do when new data is encountered. - """ - - START = 0 - START_BOUNDARY = 1 - HEADER_FIELD_START = 2 - HEADER_FIELD = 3 - HEADER_VALUE_START = 4 - HEADER_VALUE = 5 - HEADER_VALUE_ALMOST_DONE = 6 - HEADERS_ALMOST_DONE = 7 - PART_DATA_START = 8 - PART_DATA = 9 - PART_DATA_END = 10 - END_BOUNDARY = 11 - END = 12 - - -# Flags for the multipart parser. -FLAG_PART_BOUNDARY = 1 -FLAG_LAST_BOUNDARY = 2 - -# Get constants. Since iterating over a str on Python 2 gives you a 1-length -# string, but iterating over a bytes object on Python 3 gives you an integer, -# we need to save these constants. -CR = b"\r"[0] -LF = b"\n"[0] -COLON = b":"[0] -SPACE = b" "[0] -HYPHEN = b"-"[0] -AMPERSAND = b"&"[0] -SEMICOLON = b";"[0] -LOWER_A = b"a"[0] -LOWER_Z = b"z"[0] -NULL = b"\x00"[0] - -# fmt: off -# Mask for ASCII characters that can be http tokens. -# Per RFC7230 - 3.2.6, this is all alpha-numeric characters -# and these: !#$%&'*+-.^_`|~ -TOKEN_CHARS_SET = frozenset( - b"ABCDEFGHIJKLMNOPQRSTUVWXYZ" - b"abcdefghijklmnopqrstuvwxyz" - b"0123456789" - b"!#$%&'*+-.^_`|~") -# fmt: on - - -def parse_options_header(value: str | bytes | None) -> tuple[bytes, dict[bytes, bytes]]: - """Parses a Content-Type header into a value in the following format: (content_type, {parameters}).""" - # Uses email.message.Message to parse the header as described in PEP 594. - # Ref: https://peps.python.org/pep-0594/#cgi - if not value: - return (b"", {}) - - # If we are passed bytes, we assume that it conforms to WSGI, encoding in latin-1. - if isinstance(value, bytes): # pragma: no cover - value = value.decode("latin-1") - - # For types - assert isinstance(value, str), "Value should be a string by now" - - # If we have no options, return the string as-is. - if ";" not in value: - return (value.lower().strip().encode("latin-1"), {}) - - # Split at the first semicolon, to get our value and then options. - # ctype, rest = value.split(b';', 1) - message = Message() - message["content-type"] = value - params = message.get_params() - # If there were no parameters, this would have already returned above - assert params, "At least the content type value should be present" - ctype = params.pop(0)[0].encode("latin-1") - options: dict[bytes, bytes] = {} - for param in params: - key, value = param - # If the value returned from get_params() is a 3-tuple, the last - # element corresponds to the value. - # See: https://docs.python.org/3/library/email.compat32-message.html - if isinstance(value, tuple): - value = value[-1] - # If the value is a filename, we need to fix a bug on IE6 that sends - # the full file path instead of the filename. - if key == "filename": - if value[1:3] == ":\\" or value[:2] == "\\\\": - value = value.split("\\")[-1] - options[key.encode("latin-1")] = value.encode("latin-1") - return ctype, options - - -class Field: - """A Field object represents a (parsed) form field. It represents a single - field with a corresponding name and value. - - The name that a :class:`Field` will be instantiated with is the same name - that would be found in the following HTML:: - - - - This class defines two methods, :meth:`on_data` and :meth:`on_end`, that - will be called when data is written to the Field, and when the Field is - finalized, respectively. - - Args: - name: The name of the form field. - """ - - def __init__(self, name: bytes | None) -> None: - self._name = name - self._value: list[bytes] = [] - - # We cache the joined version of _value for speed. - self._cache = _missing - - @classmethod - def from_value(cls, name: bytes, value: bytes | None) -> Field: - """Create an instance of a :class:`Field`, and set the corresponding - value - either None or an actual value. This method will also - finalize the Field itself. - - Args: - name: the name of the form field. - value: the value of the form field - either a bytestring or None. - - Returns: - A new instance of a [`Field`][python_multipart.Field]. - """ - - f = cls(name) - if value is None: - f.set_none() - else: - f.write(value) - f.finalize() - return f - - def write(self, data: bytes) -> int: - """Write some data into the form field. - - Args: - data: The data to write to the field. - - Returns: - The number of bytes written. - """ - return self.on_data(data) - - def on_data(self, data: bytes) -> int: - """This method is a callback that will be called whenever data is - written to the Field. - - Args: - data: The data to write to the field. - - Returns: - The number of bytes written. - """ - self._value.append(data) - self._cache = _missing - return len(data) - - def on_end(self) -> None: - """This method is called whenever the Field is finalized.""" - if self._cache is _missing: - self._cache = b"".join(self._value) - - def finalize(self) -> None: - """Finalize the form field.""" - self.on_end() - - def close(self) -> None: - """Close the Field object. This will free any underlying cache.""" - # Free our value array. - if self._cache is _missing: - self._cache = b"".join(self._value) - - del self._value - - def set_none(self) -> None: - """Some fields in a querystring can possibly have a value of None - for - example, the string "foo&bar=&baz=asdf" will have a field with the - name "foo" and value None, one with name "bar" and value "", and one - with name "baz" and value "asdf". Since the write() interface doesn't - support writing None, this function will set the field value to None. - """ - self._cache = None - - @property - def field_name(self) -> bytes | None: - """This property returns the name of the field.""" - return self._name - - @property - def value(self) -> bytes | None: - """This property returns the value of the form field.""" - if self._cache is _missing: - self._cache = b"".join(self._value) - - assert isinstance(self._cache, bytes) or self._cache is None - return self._cache - - def __eq__(self, other: object) -> bool: - if isinstance(other, Field): - return self.field_name == other.field_name and self.value == other.value - else: - return NotImplemented - - def __repr__(self) -> str: - if self.value is not None and len(self.value) > 97: - # We get the repr, and then insert three dots before the final - # quote. - v = repr(self.value[:97])[:-1] + "...'" - else: - v = repr(self.value) - - return "{}(field_name={!r}, value={})".format(self.__class__.__name__, self.field_name, v) - - -class File: - """This class represents an uploaded file. It handles writing file data to - either an in-memory file or a temporary file on-disk, if the optional - threshold is passed. - - There are some options that can be passed to the File to change behavior - of the class. Valid options are as follows: - - | Name | Type | Default | Description | - |-----------------------|-------|---------|-------------| - | UPLOAD_DIR | `str` | None | The directory to store uploaded files in. If this is None, a temporary file will be created in the system's standard location. | - | UPLOAD_DELETE_TMP | `bool`| True | Delete automatically created TMP file | - | UPLOAD_KEEP_FILENAME | `bool`| False | Whether or not to keep the filename of the uploaded file. If True, then the filename will be converted to a safe representation (e.g. by removing any invalid path segments), and then saved with the same name). Otherwise, a temporary name will be used. | - | UPLOAD_KEEP_EXTENSIONS| `bool`| False | Whether or not to keep the uploaded file's extension. If False, the file will be saved with the default temporary extension (usually ".tmp"). Otherwise, the file's extension will be maintained. Note that this will properly combine with the UPLOAD_KEEP_FILENAME setting. | - | MAX_MEMORY_FILE_SIZE | `int` | 1 MiB | The maximum number of bytes of a File to keep in memory. By default, the contents of a File are kept into memory until a certain limit is reached, after which the contents of the File are written to a temporary file. This behavior can be disabled by setting this value to an appropriately large value (or, for example, infinity, such as `float('inf')`. | - - Args: - file_name: The name of the file that this [`File`][python_multipart.File] represents. - field_name: The name of the form field that this file was uploaded with. This can be None, if, for example, - the file was uploaded with Content-Type application/octet-stream. - config: The configuration for this File. See above for valid configuration keys and their corresponding values. - """ # noqa: E501 - - def __init__(self, file_name: bytes | None, field_name: bytes | None = None, config: FileConfig = {}) -> None: - # Save configuration, set other variables default. - self.logger = logging.getLogger(__name__) - self._config = config - self._in_memory = True - self._bytes_written = 0 - self._fileobj: BytesIO | BufferedRandom = BytesIO() - - # Save the provided field/file name. - self._field_name = field_name - self._file_name = file_name - - # Our actual file name is None by default, since, depending on our - # config, we may not actually use the provided name. - self._actual_file_name: bytes | None = None - - # Split the extension from the filename. - if file_name is not None: - base, ext = os.path.splitext(file_name) - self._file_base = base - self._ext = ext - - @property - def field_name(self) -> bytes | None: - """The form field associated with this file. May be None if there isn't - one, for example when we have an application/octet-stream upload. - """ - return self._field_name - - @property - def file_name(self) -> bytes | None: - """The file name given in the upload request.""" - return self._file_name - - @property - def actual_file_name(self) -> bytes | None: - """The file name that this file is saved as. Will be None if it's not - currently saved on disk. - """ - return self._actual_file_name - - @property - def file_object(self) -> BytesIO | BufferedRandom: - """The file object that we're currently writing to. Note that this - will either be an instance of a :class:`io.BytesIO`, or a regular file - object. - """ - return self._fileobj - - @property - def size(self) -> int: - """The total size of this file, counted as the number of bytes that - currently have been written to the file. - """ - return self._bytes_written - - @property - def in_memory(self) -> bool: - """A boolean representing whether or not this file object is currently - stored in-memory or on-disk. - """ - return self._in_memory - - def flush_to_disk(self) -> None: - """If the file is already on-disk, do nothing. Otherwise, copy from - the in-memory buffer to a disk file, and then reassign our internal - file object to this new disk file. - - Note that if you attempt to flush a file that is already on-disk, a - warning will be logged to this module's logger. - """ - if not self._in_memory: - self.logger.warning("Trying to flush to disk when we're not in memory") - return - - # Go back to the start of our file. - self._fileobj.seek(0) - - # Open a new file. - new_file = self._get_disk_file() - - # Copy the file objects. - shutil.copyfileobj(self._fileobj, new_file) - - # Seek to the new position in our new file. - new_file.seek(self._bytes_written) - - # Reassign the fileobject. - old_fileobj = self._fileobj - self._fileobj = new_file - - # We're no longer in memory. - self._in_memory = False - - # Close the old file object. - old_fileobj.close() - - def _get_disk_file(self) -> BufferedRandom: - """This function is responsible for getting a file object on-disk for us.""" - self.logger.info("Opening a file on disk") - - file_dir = self._config.get("UPLOAD_DIR") - keep_filename = self._config.get("UPLOAD_KEEP_FILENAME", False) - keep_extensions = self._config.get("UPLOAD_KEEP_EXTENSIONS", False) - delete_tmp = self._config.get("UPLOAD_DELETE_TMP", True) - tmp_file: None | BufferedRandom = None - - # If we have a directory and are to keep the filename... - if file_dir is not None and keep_filename: - self.logger.info("Saving with filename in: %r", file_dir) - - # Build our filename. - # TODO: what happens if we don't have a filename? - fname = self._file_base + self._ext if keep_extensions else self._file_base - - path = os.path.join(file_dir, fname) # type: ignore[arg-type] - try: - self.logger.info("Opening file: %r", path) - tmp_file = open(path, "w+b") - except OSError: - tmp_file = None - - self.logger.exception("Error opening temporary file") - raise FileError("Error opening temporary file: %r" % path) - else: - # Build options array. - # Note that on Python 3, tempfile doesn't support byte names. We - # encode our paths using the default filesystem encoding. - suffix = self._ext.decode(sys.getfilesystemencoding()) if keep_extensions else None - - if file_dir is None: - dir = None - elif isinstance(file_dir, bytes): - dir = file_dir.decode(sys.getfilesystemencoding()) - else: - dir = file_dir # pragma: no cover - - # Create a temporary (named) file with the appropriate settings. - self.logger.info( - "Creating a temporary file with options: %r", {"suffix": suffix, "delete": delete_tmp, "dir": dir} - ) - try: - tmp_file = cast(BufferedRandom, tempfile.NamedTemporaryFile(suffix=suffix, delete=delete_tmp, dir=dir)) - except OSError: - self.logger.exception("Error creating named temporary file") - raise FileError("Error creating named temporary file") - - assert tmp_file is not None - # Encode filename as bytes. - if isinstance(tmp_file.name, str): - fname = tmp_file.name.encode(sys.getfilesystemencoding()) - else: - fname = cast(bytes, tmp_file.name) # pragma: no cover - - self._actual_file_name = fname - return tmp_file - - def write(self, data: bytes) -> int: - """Write some data to the File. - - :param data: a bytestring - """ - return self.on_data(data) - - def on_data(self, data: bytes) -> int: - """This method is a callback that will be called whenever data is - written to the File. - - Args: - data: The data to write to the file. - - Returns: - The number of bytes written. - """ - bwritten = self._fileobj.write(data) - - # If the bytes written isn't the same as the length, just return. - if bwritten != len(data): - self.logger.warning("bwritten != len(data) (%d != %d)", bwritten, len(data)) - return bwritten - - # Keep track of how many bytes we've written. - self._bytes_written += bwritten - - # If we're in-memory and are over our limit, we create a file. - max_memory_file_size = self._config.get("MAX_MEMORY_FILE_SIZE") - if self._in_memory and max_memory_file_size is not None and (self._bytes_written > max_memory_file_size): - self.logger.info("Flushing to disk") - self.flush_to_disk() - - # Return the number of bytes written. - return bwritten - - def on_end(self) -> None: - """This method is called whenever the Field is finalized.""" - # Flush the underlying file object - self._fileobj.flush() - - def finalize(self) -> None: - """Finalize the form file. This will not close the underlying file, - but simply signal that we are finished writing to the File. - """ - self.on_end() - - def close(self) -> None: - """Close the File object. This will actually close the underlying - file object (whether it's a :class:`io.BytesIO` or an actual file - object). - """ - self._fileobj.close() - - def __repr__(self) -> str: - return "{}(file_name={!r}, field_name={!r})".format(self.__class__.__name__, self.file_name, self.field_name) - - -class BaseParser: - """This class is the base class for all parsers. It contains the logic for - calling and adding callbacks. - - A callback can be one of two different forms. "Notification callbacks" are - callbacks that are called when something happens - for example, when a new - part of a multipart message is encountered by the parser. "Data callbacks" - are called when we get some sort of data - for example, part of the body of - a multipart chunk. Notification callbacks are called with no parameters, - whereas data callbacks are called with three, as follows:: - - data_callback(data, start, end) - - The "data" parameter is a bytestring (i.e. "foo" on Python 2, or b"foo" on - Python 3). "start" and "end" are integer indexes into the "data" string - that represent the data of interest. Thus, in a data callback, the slice - `data[start:end]` represents the data that the callback is "interested in". - The callback is not passed a copy of the data, since copying severely hurts - performance. - """ - - def __init__(self) -> None: - self.logger = logging.getLogger(__name__) - self.callbacks: QuerystringCallbacks | OctetStreamCallbacks | MultipartCallbacks = {} - - def callback( - self, name: CallbackName, data: bytes | None = None, start: int | None = None, end: int | None = None - ) -> None: - """This function calls a provided callback with some data. If the - callback is not set, will do nothing. - - Args: - name: The name of the callback to call (as a string). - data: Data to pass to the callback. If None, then it is assumed that the callback is a notification - callback, and no parameters are given. - end: An integer that is passed to the data callback. - start: An integer that is passed to the data callback. - """ - on_name = "on_" + name - func = self.callbacks.get(on_name) - if func is None: - return - func = cast("Callable[..., Any]", func) - # Depending on whether we're given a buffer... - if data is not None: - # Don't do anything if we have start == end. - if start is not None and start == end: - return - - self.logger.debug("Calling %s with data[%d:%d]", on_name, start, end) - func(data, start, end) - else: - self.logger.debug("Calling %s with no data", on_name) - func() - - def set_callback(self, name: CallbackName, new_func: Callable[..., Any] | None) -> None: - """Update the function for a callback. Removes from the callbacks dict - if new_func is None. - - :param name: The name of the callback to call (as a string). - - :param new_func: The new function for the callback. If None, then the - callback will be removed (with no error if it does not - exist). - """ - if new_func is None: - self.callbacks.pop("on_" + name, None) # type: ignore[misc] - else: - self.callbacks["on_" + name] = new_func # type: ignore[literal-required] - - def close(self) -> None: - pass # pragma: no cover - - def finalize(self) -> None: - pass # pragma: no cover - - def __repr__(self) -> str: - return "%s()" % self.__class__.__name__ - - -class OctetStreamParser(BaseParser): - """This parser parses an octet-stream request body and calls callbacks when - incoming data is received. Callbacks are as follows: - - | Callback Name | Parameters | Description | - |----------------|-----------------|-----------------------------------------------------| - | on_start | None | Called when the first data is parsed. | - | on_data | data, start, end| Called for each data chunk that is parsed. | - | on_end | None | Called when the parser is finished parsing all data.| - - Args: - callbacks: A dictionary of callbacks. See the documentation for [`BaseParser`][python_multipart.BaseParser]. - max_size: The maximum size of body to parse. Defaults to infinity - i.e. unbounded. - """ - - def __init__(self, callbacks: OctetStreamCallbacks = {}, max_size: float = float("inf")): - super().__init__() - self.callbacks = callbacks - self._started = False - - if not isinstance(max_size, Number) or max_size < 1: - raise ValueError("max_size must be a positive number, not %r" % max_size) - self.max_size: int | float = max_size - self._current_size = 0 - - def write(self, data: bytes) -> int: - """Write some data to the parser, which will perform size verification, - and then pass the data to the underlying callback. - - Args: - data: The data to write to the parser. - - Returns: - The number of bytes written. - """ - if not self._started: - self.callback("start") - self._started = True - - # Truncate data length. - data_len = len(data) - if (self._current_size + data_len) > self.max_size: - # We truncate the length of data that we are to process. - new_size = int(self.max_size - self._current_size) - self.logger.warning( - "Current size is %d (max %d), so truncating data length from %d to %d", - self._current_size, - self.max_size, - data_len, - new_size, - ) - data_len = new_size - - # Increment size, then callback, in case there's an exception. - self._current_size += data_len - self.callback("data", data, 0, data_len) - return data_len - - def finalize(self) -> None: - """Finalize this parser, which signals to that we are finished parsing, - and sends the on_end callback. - """ - self.callback("end") - - def __repr__(self) -> str: - return "%s()" % self.__class__.__name__ - - -class QuerystringParser(BaseParser): - """This is a streaming querystring parser. It will consume data, and call - the callbacks given when it has data. - - | Callback Name | Parameters | Description | - |----------------|-----------------|-----------------------------------------------------| - | on_field_start | None | Called when a new field is encountered. | - | on_field_name | data, start, end| Called when a portion of a field's name is encountered. | - | on_field_data | data, start, end| Called when a portion of a field's data is encountered. | - | on_field_end | None | Called when the end of a field is encountered. | - | on_end | None | Called when the parser is finished parsing all data.| - - Args: - callbacks: A dictionary of callbacks. See the documentation for [`BaseParser`][python_multipart.BaseParser]. - strict_parsing: Whether or not to parse the body strictly. Defaults to False. If this is set to True, then the - behavior of the parser changes as the following: if a field has a value with an equal sign - (e.g. "foo=bar", or "foo="), it is always included. If a field has no equals sign (e.g. "...&name&..."), - it will be treated as an error if 'strict_parsing' is True, otherwise included. If an error is encountered, - then a [`QuerystringParseError`][python_multipart.exceptions.QuerystringParseError] will be raised. - max_size: The maximum size of body to parse. Defaults to infinity - i.e. unbounded. - """ # noqa: E501 - - state: QuerystringState - - def __init__( - self, callbacks: QuerystringCallbacks = {}, strict_parsing: bool = False, max_size: float = float("inf") - ) -> None: - super().__init__() - self.state = QuerystringState.BEFORE_FIELD - self._found_sep = False - - self.callbacks = callbacks - - # Max-size stuff - if not isinstance(max_size, Number) or max_size < 1: - raise ValueError("max_size must be a positive number, not %r" % max_size) - self.max_size: int | float = max_size - self._current_size = 0 - - # Should parsing be strict? - self.strict_parsing = strict_parsing - - def write(self, data: bytes) -> int: - """Write some data to the parser, which will perform size verification, - parse into either a field name or value, and then pass the - corresponding data to the underlying callback. If an error is - encountered while parsing, a QuerystringParseError will be raised. The - "offset" attribute of the raised exception will be set to the offset in - the input data chunk (NOT the overall stream) that caused the error. - - Args: - data: The data to write to the parser. - - Returns: - The number of bytes written. - """ - # Handle sizing. - data_len = len(data) - if (self._current_size + data_len) > self.max_size: - # We truncate the length of data that we are to process. - new_size = int(self.max_size - self._current_size) - self.logger.warning( - "Current size is %d (max %d), so truncating data length from %d to %d", - self._current_size, - self.max_size, - data_len, - new_size, - ) - data_len = new_size - - l = 0 - try: - l = self._internal_write(data, data_len) - finally: - self._current_size += l - - return l - - def _internal_write(self, data: bytes, length: int) -> int: - state = self.state - strict_parsing = self.strict_parsing - found_sep = self._found_sep - - i = 0 - while i < length: - ch = data[i] - - # Depending on our state... - if state == QuerystringState.BEFORE_FIELD: - # If the 'found_sep' flag is set, we've already encountered - # and skipped a single separator. If so, we check our strict - # parsing flag and decide what to do. Otherwise, we haven't - # yet reached a separator, and thus, if we do, we need to skip - # it as it will be the boundary between fields that's supposed - # to be there. - if ch == AMPERSAND or ch == SEMICOLON: - if found_sep: - # If we're parsing strictly, we disallow blank chunks. - if strict_parsing: - e = QuerystringParseError("Skipping duplicate ampersand/semicolon at %d" % i) - e.offset = i - raise e - else: - self.logger.debug("Skipping duplicate ampersand/semicolon at %d", i) - else: - # This case is when we're skipping the (first) - # separator between fields, so we just set our flag - # and continue on. - found_sep = True - else: - # Emit a field-start event, and go to that state. Also, - # reset the "found_sep" flag, for the next time we get to - # this state. - self.callback("field_start") - i -= 1 - state = QuerystringState.FIELD_NAME - found_sep = False - - elif state == QuerystringState.FIELD_NAME: - # Try and find a separator - we ensure that, if we do, we only - # look for the equal sign before it. - sep_pos = data.find(b"&", i) - if sep_pos == -1: - sep_pos = data.find(b";", i) - - # See if we can find an equals sign in the remaining data. If - # so, we can immediately emit the field name and jump to the - # data state. - if sep_pos != -1: - equals_pos = data.find(b"=", i, sep_pos) - else: - equals_pos = data.find(b"=", i) - - if equals_pos != -1: - # Emit this name. - self.callback("field_name", data, i, equals_pos) - - # Jump i to this position. Note that it will then have 1 - # added to it below, which means the next iteration of this - # loop will inspect the character after the equals sign. - i = equals_pos - state = QuerystringState.FIELD_DATA - else: - # No equals sign found. - if not strict_parsing: - # See also comments in the QuerystringState.FIELD_DATA case below. - # If we found the separator, we emit the name and just - # end - there's no data callback at all (not even with - # a blank value). - if sep_pos != -1: - self.callback("field_name", data, i, sep_pos) - self.callback("field_end") - - i = sep_pos - 1 - state = QuerystringState.BEFORE_FIELD - else: - # Otherwise, no separator in this block, so the - # rest of this chunk must be a name. - self.callback("field_name", data, i, length) - i = length - - else: - # We're parsing strictly. If we find a separator, - # this is an error - we require an equals sign. - if sep_pos != -1: - e = QuerystringParseError( - "When strict_parsing is True, we require an " - "equals sign in all field chunks. Did not " - "find one in the chunk that starts at %d" % (i,) - ) - e.offset = i - raise e - - # No separator in the rest of this chunk, so it's just - # a field name. - self.callback("field_name", data, i, length) - i = length - - elif state == QuerystringState.FIELD_DATA: - # Try finding either an ampersand or a semicolon after this - # position. - sep_pos = data.find(b"&", i) - if sep_pos == -1: - sep_pos = data.find(b";", i) - - # If we found it, callback this bit as data and then go back - # to expecting to find a field. - if sep_pos != -1: - self.callback("field_data", data, i, sep_pos) - self.callback("field_end") - - # Note that we go to the separator, which brings us to the - # "before field" state. This allows us to properly emit - # "field_start" events only when we actually have data for - # a field of some sort. - i = sep_pos - 1 - state = QuerystringState.BEFORE_FIELD - - # Otherwise, emit the rest as data and finish. - else: - self.callback("field_data", data, i, length) - i = length - - else: # pragma: no cover (error case) - msg = "Reached an unknown state %d at %d" % (state, i) - self.logger.warning(msg) - e = QuerystringParseError(msg) - e.offset = i - raise e - - i += 1 - - self.state = state - self._found_sep = found_sep - return len(data) - - def finalize(self) -> None: - """Finalize this parser, which signals to that we are finished parsing, - if we're still in the middle of a field, an on_field_end callback, and - then the on_end callback. - """ - # If we're currently in the middle of a field, we finish it. - if self.state == QuerystringState.FIELD_DATA: - self.callback("field_end") - self.callback("end") - - def __repr__(self) -> str: - return "{}(strict_parsing={!r}, max_size={!r})".format( - self.__class__.__name__, self.strict_parsing, self.max_size - ) - - -class MultipartParser(BaseParser): - """This class is a streaming multipart/form-data parser. - - | Callback Name | Parameters | Description | - |--------------------|-----------------|-------------| - | on_part_begin | None | Called when a new part of the multipart message is encountered. | - | on_part_data | data, start, end| Called when a portion of a part's data is encountered. | - | on_part_end | None | Called when the end of a part is reached. | - | on_header_begin | None | Called when we've found a new header in a part of a multipart message | - | on_header_field | data, start, end| Called each time an additional portion of a header is read (i.e. the part of the header that is before the colon; the "Foo" in "Foo: Bar"). | - | on_header_value | data, start, end| Called when we get data for a header. | - | on_header_end | None | Called when the current header is finished - i.e. we've reached the newline at the end of the header. | - | on_headers_finished| None | Called when all headers are finished, and before the part data starts. | - | on_end | None | Called when the parser is finished parsing all data. | - - Args: - boundary: The multipart boundary. This is required, and must match what is given in the HTTP request - usually in the Content-Type header. - callbacks: A dictionary of callbacks. See the documentation for [`BaseParser`][python_multipart.BaseParser]. - max_size: The maximum size of body to parse. Defaults to infinity - i.e. unbounded. - """ # noqa: E501 - - def __init__( - self, boundary: bytes | str, callbacks: MultipartCallbacks = {}, max_size: float = float("inf") - ) -> None: - # Initialize parser state. - super().__init__() - self.state = MultipartState.START - self.index = self.flags = 0 - - self.callbacks = callbacks - - if not isinstance(max_size, Number) or max_size < 1: - raise ValueError("max_size must be a positive number, not %r" % max_size) - self.max_size = max_size - self._current_size = 0 - - # Setup marks. These are used to track the state of data received. - self.marks: dict[str, int] = {} - - # Save our boundary. - if isinstance(boundary, str): # pragma: no cover - boundary = boundary.encode("latin-1") - self.boundary = b"\r\n--" + boundary - - def write(self, data: bytes) -> int: - """Write some data to the parser, which will perform size verification, - and then parse the data into the appropriate location (e.g. header, - data, etc.), and pass this on to the underlying callback. If an error - is encountered, a MultipartParseError will be raised. The "offset" - attribute on the raised exception will be set to the offset of the byte - in the input chunk that caused the error. - - Args: - data: The data to write to the parser. - - Returns: - The number of bytes written. - """ - # Handle sizing. - data_len = len(data) - if (self._current_size + data_len) > self.max_size: - # We truncate the length of data that we are to process. - new_size = int(self.max_size - self._current_size) - self.logger.warning( - "Current size is %d (max %d), so truncating data length from %d to %d", - self._current_size, - self.max_size, - data_len, - new_size, - ) - data_len = new_size - - l = 0 - try: - l = self._internal_write(data, data_len) - finally: - self._current_size += l - - return l - - def _internal_write(self, data: bytes, length: int) -> int: - # Get values from locals. - boundary = self.boundary - - # Get our state, flags and index. These are persisted between calls to - # this function. - state = self.state - index = self.index - flags = self.flags - - # Our index defaults to 0. - i = 0 - - # Set a mark. - def set_mark(name: str) -> None: - self.marks[name] = i - - # Remove a mark. - def delete_mark(name: str, reset: bool = False) -> None: - self.marks.pop(name, None) - - # Helper function that makes calling a callback with data easier. The - # 'remaining' parameter will callback from the marked value until the - # end of the buffer, and reset the mark, instead of deleting it. This - # is used at the end of the function to call our callbacks with any - # remaining data in this chunk. - def data_callback(name: CallbackName, end_i: int, remaining: bool = False) -> None: - marked_index = self.marks.get(name) - if marked_index is None: - return - - # Otherwise, we call it from the mark to the current byte we're - # processing. - if end_i <= marked_index: - # There is no additional data to send. - pass - elif marked_index >= 0: - # We are emitting data from the local buffer. - self.callback(name, data, marked_index, end_i) - else: - # Some of the data comes from a partial boundary match. - # and requires look-behind. - # We need to use self.flags (and not flags) because we care about - # the state when we entered the loop. - lookbehind_len = -marked_index - if lookbehind_len <= len(boundary): - self.callback(name, boundary, 0, lookbehind_len) - elif self.flags & FLAG_PART_BOUNDARY: - lookback = boundary + b"\r\n" - self.callback(name, lookback, 0, lookbehind_len) - elif self.flags & FLAG_LAST_BOUNDARY: - lookback = boundary + b"--\r\n" - self.callback(name, lookback, 0, lookbehind_len) - else: # pragma: no cover (error case) - self.logger.warning("Look-back buffer error") - - if end_i > 0: - self.callback(name, data, 0, end_i) - # If we're getting remaining data, we have got all the data we - # can be certain is not a boundary, leaving only a partial boundary match. - if remaining: - self.marks[name] = end_i - length - else: - self.marks.pop(name, None) - - # For each byte... - while i < length: - c = data[i] - - if state == MultipartState.START: - # Skip leading newlines - if c == CR or c == LF: - i += 1 - continue - - # index is used as in index into our boundary. Set to 0. - index = 0 - - # Move to the next state, but decrement i so that we re-process - # this character. - state = MultipartState.START_BOUNDARY - i -= 1 - - elif state == MultipartState.START_BOUNDARY: - # Check to ensure that the last 2 characters in our boundary - # are CRLF. - if index == len(boundary) - 2: - if c == HYPHEN: - # Potential empty message. - state = MultipartState.END_BOUNDARY - elif c != CR: - # Error! - msg = "Did not find CR at end of boundary (%d)" % (i,) - self.logger.warning(msg) - e = MultipartParseError(msg) - e.offset = i - raise e - - index += 1 - - elif index == len(boundary) - 2 + 1: - if c != LF: - msg = "Did not find LF at end of boundary (%d)" % (i,) - self.logger.warning(msg) - e = MultipartParseError(msg) - e.offset = i - raise e - - # The index is now used for indexing into our boundary. - index = 0 - - # Callback for the start of a part. - self.callback("part_begin") - - # Move to the next character and state. - state = MultipartState.HEADER_FIELD_START - - else: - # Check to ensure our boundary matches - if c != boundary[index + 2]: - msg = "Expected boundary character %r, got %r at index %d" % (boundary[index + 2], c, index + 2) - self.logger.warning(msg) - e = MultipartParseError(msg) - e.offset = i - raise e - - # Increment index into boundary and continue. - index += 1 - - elif state == MultipartState.HEADER_FIELD_START: - # Mark the start of a header field here, reset the index, and - # continue parsing our header field. - index = 0 - - # Set a mark of our header field. - set_mark("header_field") - - # Notify that we're starting a header if the next character is - # not a CR; a CR at the beginning of the header will cause us - # to stop parsing headers in the MultipartState.HEADER_FIELD state, - # below. - if c != CR: - self.callback("header_begin") - - # Move to parsing header fields. - state = MultipartState.HEADER_FIELD - i -= 1 - - elif state == MultipartState.HEADER_FIELD: - # If we've reached a CR at the beginning of a header, it means - # that we've reached the second of 2 newlines, and so there are - # no more headers to parse. - if c == CR and index == 0: - delete_mark("header_field") - state = MultipartState.HEADERS_ALMOST_DONE - i += 1 - continue - - # Increment our index in the header. - index += 1 - - # If we've reached a colon, we're done with this header. - if c == COLON: - # A 0-length header is an error. - if index == 1: - msg = "Found 0-length header at %d" % (i,) - self.logger.warning(msg) - e = MultipartParseError(msg) - e.offset = i - raise e - - # Call our callback with the header field. - data_callback("header_field", i) - - # Move to parsing the header value. - state = MultipartState.HEADER_VALUE_START - - elif c not in TOKEN_CHARS_SET: - msg = "Found invalid character %r in header at %d" % (c, i) - self.logger.warning(msg) - e = MultipartParseError(msg) - e.offset = i - raise e - - elif state == MultipartState.HEADER_VALUE_START: - # Skip leading spaces. - if c == SPACE: - i += 1 - continue - - # Mark the start of the header value. - set_mark("header_value") - - # Move to the header-value state, reprocessing this character. - state = MultipartState.HEADER_VALUE - i -= 1 - - elif state == MultipartState.HEADER_VALUE: - # If we've got a CR, we're nearly done our headers. Otherwise, - # we do nothing and just move past this character. - if c == CR: - data_callback("header_value", i) - self.callback("header_end") - state = MultipartState.HEADER_VALUE_ALMOST_DONE - - elif state == MultipartState.HEADER_VALUE_ALMOST_DONE: - # The last character should be a LF. If not, it's an error. - if c != LF: - msg = "Did not find LF character at end of header " "(found %r)" % (c,) - self.logger.warning(msg) - e = MultipartParseError(msg) - e.offset = i - raise e - - # Move back to the start of another header. Note that if that - # state detects ANOTHER newline, it'll trigger the end of our - # headers. - state = MultipartState.HEADER_FIELD_START - - elif state == MultipartState.HEADERS_ALMOST_DONE: - # We're almost done our headers. This is reached when we parse - # a CR at the beginning of a header, so our next character - # should be a LF, or it's an error. - if c != LF: - msg = f"Did not find LF at end of headers (found {c!r})" - self.logger.warning(msg) - e = MultipartParseError(msg) - e.offset = i - raise e - - self.callback("headers_finished") - state = MultipartState.PART_DATA_START - - elif state == MultipartState.PART_DATA_START: - # Mark the start of our part data. - set_mark("part_data") - - # Start processing part data, including this character. - state = MultipartState.PART_DATA - i -= 1 - - elif state == MultipartState.PART_DATA: - # We're processing our part data right now. During this, we - # need to efficiently search for our boundary, since any data - # on any number of lines can be a part of the current data. - - # Save the current value of our index. We use this in case we - # find part of a boundary, but it doesn't match fully. - prev_index = index - - # Set up variables. - boundary_length = len(boundary) - data_length = length - - # If our index is 0, we're starting a new part, so start our - # search. - if index == 0: - # The most common case is likely to be that the whole - # boundary is present in the buffer. - # Calling `find` is much faster than iterating here. - i0 = data.find(boundary, i, data_length) - if i0 >= 0: - # We matched the whole boundary string. - index = boundary_length - 1 - i = i0 + boundary_length - 1 - else: - # No match found for whole string. - # There may be a partial boundary at the end of the - # data, which the find will not match. - # Since the length should to be searched is limited to - # the boundary length, just perform a naive search. - i = max(i, data_length - boundary_length) - - # Search forward until we either hit the end of our buffer, - # or reach a potential start of the boundary. - while i < data_length - 1 and data[i] != boundary[0]: - i += 1 - - c = data[i] - - # Now, we have a couple of cases here. If our index is before - # the end of the boundary... - if index < boundary_length: - # If the character matches... - if boundary[index] == c: - # The current character matches, so continue! - index += 1 - else: - index = 0 - - # Our index is equal to the length of our boundary! - elif index == boundary_length: - # First we increment it. - index += 1 - - # Now, if we've reached a newline, we need to set this as - # the potential end of our boundary. - if c == CR: - flags |= FLAG_PART_BOUNDARY - - # Otherwise, if this is a hyphen, we might be at the last - # of all boundaries. - elif c == HYPHEN: - flags |= FLAG_LAST_BOUNDARY - - # Otherwise, we reset our index, since this isn't either a - # newline or a hyphen. - else: - index = 0 - - # Our index is right after the part boundary, which should be - # a LF. - elif index == boundary_length + 1: - # If we're at a part boundary (i.e. we've seen a CR - # character already)... - if flags & FLAG_PART_BOUNDARY: - # We need a LF character next. - if c == LF: - # Unset the part boundary flag. - flags &= ~FLAG_PART_BOUNDARY - - # We have identified a boundary, callback for any data before it. - data_callback("part_data", i - index) - # Callback indicating that we've reached the end of - # a part, and are starting a new one. - self.callback("part_end") - self.callback("part_begin") - - # Move to parsing new headers. - index = 0 - state = MultipartState.HEADER_FIELD_START - i += 1 - continue - - # We didn't find an LF character, so no match. Reset - # our index and clear our flag. - index = 0 - flags &= ~FLAG_PART_BOUNDARY - - # Otherwise, if we're at the last boundary (i.e. we've - # seen a hyphen already)... - elif flags & FLAG_LAST_BOUNDARY: - # We need a second hyphen here. - if c == HYPHEN: - # We have identified a boundary, callback for any data before it. - data_callback("part_data", i - index) - # Callback to end the current part, and then the - # message. - self.callback("part_end") - self.callback("end") - state = MultipartState.END - else: - # No match, so reset index. - index = 0 - - # Otherwise, our index is 0. If the previous index is not, it - # means we reset something, and we need to take the data we - # thought was part of our boundary and send it along as actual - # data. - if index == 0 and prev_index > 0: - # Overwrite our previous index. - prev_index = 0 - - # Re-consider the current character, since this could be - # the start of the boundary itself. - i -= 1 - - elif state == MultipartState.END_BOUNDARY: - if index == len(boundary) - 2 + 1: - if c != HYPHEN: - msg = "Did not find - at end of boundary (%d)" % (i,) - self.logger.warning(msg) - e = MultipartParseError(msg) - e.offset = i - raise e - index += 1 - self.callback("end") - state = MultipartState.END - - elif state == MultipartState.END: - # Don't do anything if chunk ends with CRLF. - if c == CR and i + 1 < length and data[i + 1] == LF: - i += 2 - continue - # Skip data after the last boundary. - self.logger.warning("Skipping data after last boundary") - i = length - break - - else: # pragma: no cover (error case) - # We got into a strange state somehow! Just stop processing. - msg = "Reached an unknown state %d at %d" % (state, i) - self.logger.warning(msg) - e = MultipartParseError(msg) - e.offset = i - raise e - - # Move to the next byte. - i += 1 - - # We call our callbacks with any remaining data. Note that we pass - # the 'remaining' flag, which sets the mark back to 0 instead of - # deleting it, if it's found. This is because, if the mark is found - # at this point, we assume that there's data for one of these things - # that has been parsed, but not yet emitted. And, as such, it implies - # that we haven't yet reached the end of this 'thing'. So, by setting - # the mark to 0, we cause any data callbacks that take place in future - # calls to this function to start from the beginning of that buffer. - data_callback("header_field", length, True) - data_callback("header_value", length, True) - data_callback("part_data", length - index, True) - - # Save values to locals. - self.state = state - self.index = index - self.flags = flags - - # Return our data length to indicate no errors, and that we processed - # all of it. - return length - - def finalize(self) -> None: - """Finalize this parser, which signals to that we are finished parsing. - - Note: It does not currently, but in the future, it will verify that we - are in the final state of the parser (i.e. the end of the multipart - message is well-formed), and, if not, throw an error. - """ - # TODO: verify that we're in the state MultipartState.END, otherwise throw an - # error or otherwise state that we're not finished parsing. - pass - - def __repr__(self) -> str: - return f"{self.__class__.__name__}(boundary={self.boundary!r})" - - -class FormParser: - """This class is the all-in-one form parser. Given all the information - necessary to parse a form, it will instantiate the correct parser, create - the proper :class:`Field` and :class:`File` classes to store the data that - is parsed, and call the two given callbacks with each field and file as - they become available. - - Args: - content_type: The Content-Type of the incoming request. This is used to select the appropriate parser. - on_field: The callback to call when a field has been parsed and is ready for usage. See above for parameters. - on_file: The callback to call when a file has been parsed and is ready for usage. See above for parameters. - on_end: An optional callback to call when all fields and files in a request has been parsed. Can be None. - boundary: If the request is a multipart/form-data request, this should be the boundary of the request, as given - in the Content-Type header, as a bytestring. - file_name: If the request is of type application/octet-stream, then the body of the request will not contain any - information about the uploaded file. In such cases, you can provide the file name of the uploaded file - manually. - FileClass: The class to use for uploaded files. Defaults to :class:`File`, but you can provide your own class - if you wish to customize behaviour. The class will be instantiated as FileClass(file_name, field_name), and - it must provide the following functions:: - - file_instance.write(data) - - file_instance.finalize() - - file_instance.close() - FieldClass: The class to use for uploaded fields. Defaults to :class:`Field`, but you can provide your own - class if you wish to customize behaviour. The class will be instantiated as FieldClass(field_name), and it - must provide the following functions:: - - field_instance.write(data) - - field_instance.finalize() - - field_instance.close() - - field_instance.set_none() - config: Configuration to use for this FormParser. The default values are taken from the DEFAULT_CONFIG value, - and then any keys present in this dictionary will overwrite the default values. - """ - - #: This is the default configuration for our form parser. - #: Note: all file sizes should be in bytes. - DEFAULT_CONFIG: FormParserConfig = { - "MAX_BODY_SIZE": float("inf"), - "MAX_MEMORY_FILE_SIZE": 1 * 1024 * 1024, - "UPLOAD_DIR": None, - "UPLOAD_KEEP_FILENAME": False, - "UPLOAD_KEEP_EXTENSIONS": False, - # Error on invalid Content-Transfer-Encoding? - "UPLOAD_ERROR_ON_BAD_CTE": False, - } - - def __init__( - self, - content_type: str, - on_field: OnFieldCallback | None, - on_file: OnFileCallback | None, - on_end: Callable[[], None] | None = None, - boundary: bytes | str | None = None, - file_name: bytes | None = None, - FileClass: type[FileProtocol] = File, - FieldClass: type[FieldProtocol] = Field, - config: dict[Any, Any] = {}, - ) -> None: - self.logger = logging.getLogger(__name__) - - # Save variables. - self.content_type = content_type - self.boundary = boundary - self.bytes_received = 0 - self.parser = None - - # Save callbacks. - self.on_field = on_field - self.on_file = on_file - self.on_end = on_end - - # Save classes. - self.FileClass = File - self.FieldClass = Field - - # Set configuration options. - self.config: FormParserConfig = self.DEFAULT_CONFIG.copy() - self.config.update(config) # type: ignore[typeddict-item] - - parser: OctetStreamParser | MultipartParser | QuerystringParser | None = None - - # Depending on the Content-Type, we instantiate the correct parser. - if content_type == "application/octet-stream": - file: FileProtocol = None # type: ignore - - def on_start() -> None: - nonlocal file - file = FileClass(file_name, None, config=cast("FileConfig", self.config)) - - def on_data(data: bytes, start: int, end: int) -> None: - nonlocal file - file.write(data[start:end]) - - def _on_end() -> None: - nonlocal file - # Finalize the file itself. - file.finalize() - - # Call our callback. - if on_file: - on_file(file) - - # Call the on-end callback. - if self.on_end is not None: - self.on_end() - - # Instantiate an octet-stream parser - parser = OctetStreamParser( - callbacks={"on_start": on_start, "on_data": on_data, "on_end": _on_end}, - max_size=self.config["MAX_BODY_SIZE"], - ) - - elif content_type == "application/x-www-form-urlencoded" or content_type == "application/x-url-encoded": - name_buffer: list[bytes] = [] - - f: FieldProtocol | None = None - - def on_field_start() -> None: - pass - - def on_field_name(data: bytes, start: int, end: int) -> None: - name_buffer.append(data[start:end]) - - def on_field_data(data: bytes, start: int, end: int) -> None: - nonlocal f - if f is None: - f = FieldClass(b"".join(name_buffer)) - del name_buffer[:] - f.write(data[start:end]) - - def on_field_end() -> None: - nonlocal f - # Finalize and call callback. - if f is None: - # If we get here, it's because there was no field data. - # We create a field, set it to None, and then continue. - f = FieldClass(b"".join(name_buffer)) - del name_buffer[:] - f.set_none() - - f.finalize() - if on_field: - on_field(f) - f = None - - def _on_end() -> None: - if self.on_end is not None: - self.on_end() - - # Instantiate parser. - parser = QuerystringParser( - callbacks={ - "on_field_start": on_field_start, - "on_field_name": on_field_name, - "on_field_data": on_field_data, - "on_field_end": on_field_end, - "on_end": _on_end, - }, - max_size=self.config["MAX_BODY_SIZE"], - ) - - elif content_type == "multipart/form-data": - if boundary is None: - self.logger.error("No boundary given") - raise FormParserError("No boundary given") - - header_name: list[bytes] = [] - header_value: list[bytes] = [] - headers: dict[bytes, bytes] = {} - - f_multi: FileProtocol | FieldProtocol | None = None - writer = None - is_file = False - - def on_part_begin() -> None: - # Reset headers in case this isn't the first part. - nonlocal headers - headers = {} - - def on_part_data(data: bytes, start: int, end: int) -> None: - nonlocal writer - assert writer is not None - writer.write(data[start:end]) - # TODO: check for error here. - - def on_part_end() -> None: - nonlocal f_multi, is_file - assert f_multi is not None - f_multi.finalize() - if is_file: - if on_file: - on_file(f_multi) - else: - if on_field: - on_field(cast("FieldProtocol", f_multi)) - - def on_header_field(data: bytes, start: int, end: int) -> None: - header_name.append(data[start:end]) - - def on_header_value(data: bytes, start: int, end: int) -> None: - header_value.append(data[start:end]) - - def on_header_end() -> None: - headers[b"".join(header_name)] = b"".join(header_value) - del header_name[:] - del header_value[:] - - def on_headers_finished() -> None: - nonlocal is_file, f_multi, writer - # Reset the 'is file' flag. - is_file = False - - # Parse the content-disposition header. - # TODO: handle mixed case - content_disp = headers.get(b"Content-Disposition") - disp, options = parse_options_header(content_disp) - - # Get the field and filename. - field_name = options.get(b"name") - file_name = options.get(b"filename") - # TODO: check for errors - - # Create the proper class. - if file_name is None: - f_multi = FieldClass(field_name) - else: - f_multi = FileClass(file_name, field_name, config=cast("FileConfig", self.config)) - is_file = True - - # Parse the given Content-Transfer-Encoding to determine what - # we need to do with the incoming data. - # TODO: check that we properly handle 8bit / 7bit encoding. - transfer_encoding = headers.get(b"Content-Transfer-Encoding", b"7bit") - - if transfer_encoding in (b"binary", b"8bit", b"7bit"): - writer = f_multi - - elif transfer_encoding == b"base64": - writer = Base64Decoder(f_multi) - - elif transfer_encoding == b"quoted-printable": - writer = QuotedPrintableDecoder(f_multi) - - else: - self.logger.warning("Unknown Content-Transfer-Encoding: %r", transfer_encoding) - if self.config["UPLOAD_ERROR_ON_BAD_CTE"]: - raise FormParserError('Unknown Content-Transfer-Encoding "{!r}"'.format(transfer_encoding)) - else: - # If we aren't erroring, then we just treat this as an - # unencoded Content-Transfer-Encoding. - writer = f_multi - - def _on_end() -> None: - nonlocal writer - if writer is not None: - writer.finalize() - if self.on_end is not None: - self.on_end() - - # Instantiate a multipart parser. - parser = MultipartParser( - boundary, - callbacks={ - "on_part_begin": on_part_begin, - "on_part_data": on_part_data, - "on_part_end": on_part_end, - "on_header_field": on_header_field, - "on_header_value": on_header_value, - "on_header_end": on_header_end, - "on_headers_finished": on_headers_finished, - "on_end": _on_end, - }, - max_size=self.config["MAX_BODY_SIZE"], - ) - - else: - self.logger.warning("Unknown Content-Type: %r", content_type) - raise FormParserError("Unknown Content-Type: {}".format(content_type)) - - self.parser = parser - - def write(self, data: bytes) -> int: - """Write some data. The parser will forward this to the appropriate - underlying parser. - - Args: - data: The data to write. - - Returns: - The number of bytes processed. - """ - self.bytes_received += len(data) - # TODO: check the parser's return value for errors? - assert self.parser is not None - return self.parser.write(data) - - def finalize(self) -> None: - """Finalize the parser.""" - if self.parser is not None and hasattr(self.parser, "finalize"): - self.parser.finalize() - - def close(self) -> None: - """Close the parser.""" - if self.parser is not None and hasattr(self.parser, "close"): - self.parser.close() - - def __repr__(self) -> str: - return "{}(content_type={!r}, parser={!r})".format(self.__class__.__name__, self.content_type, self.parser) - - -def create_form_parser( - headers: dict[str, bytes], - on_field: OnFieldCallback | None, - on_file: OnFileCallback | None, - trust_x_headers: bool = False, - config: dict[Any, Any] = {}, -) -> FormParser: - """This function is a helper function to aid in creating a FormParser - instances. Given a dictionary-like headers object, it will determine - the correct information needed, instantiate a FormParser with the - appropriate values and given callbacks, and then return the corresponding - parser. - - Args: - headers: A dictionary-like object of HTTP headers. The only required header is Content-Type. - on_field: Callback to call with each parsed field. - on_file: Callback to call with each parsed file. - trust_x_headers: Whether or not to trust information received from certain X-Headers - for example, the file - name from X-File-Name. - config: Configuration variables to pass to the FormParser. - """ - content_type: str | bytes | None = headers.get("Content-Type") - if content_type is None: - logging.getLogger(__name__).warning("No Content-Type header given") - raise ValueError("No Content-Type header given!") - - # Boundaries are optional (the FormParser will raise if one is needed - # but not given). - content_type, params = parse_options_header(content_type) - boundary = params.get(b"boundary") - - # We need content_type to be a string, not a bytes object. - content_type = content_type.decode("latin-1") - - # File names are optional. - file_name = headers.get("X-File-Name") - - # Instantiate a form parser. - form_parser = FormParser(content_type, on_field, on_file, boundary=boundary, file_name=file_name, config=config) - - # Return our parser. - return form_parser - - -def parse_form( - headers: dict[str, bytes], - input_stream: SupportsRead, - on_field: OnFieldCallback | None, - on_file: OnFileCallback | None, - chunk_size: int = 1048576, -) -> None: - """This function is useful if you just want to parse a request body, - without too much work. Pass it a dictionary-like object of the request's - headers, and a file-like object for the input stream, along with two - callbacks that will get called whenever a field or file is parsed. - - Args: - headers: A dictionary-like object of HTTP headers. The only required header is Content-Type. - input_stream: A file-like object that represents the request body. The read() method must return bytestrings. - on_field: Callback to call with each parsed field. - on_file: Callback to call with each parsed file. - chunk_size: The maximum size to read from the input stream and write to the parser at one time. - Defaults to 1 MiB. - """ - # Create our form parser. - parser = create_form_parser(headers, on_field, on_file) - - # Read chunks of 1MiB and write to the parser, but never read more than - # the given Content-Length, if any. - content_length: int | float | bytes | None = headers.get("Content-Length") - if content_length is not None: - content_length = int(content_length) - else: - content_length = float("inf") - bytes_read = 0 - - while True: - # Read only up to the Content-Length given. - max_readable = int(min(content_length - bytes_read, chunk_size)) - buff = input_stream.read(max_readable) - - # Write to the parser and update our length. - parser.write(buff) - bytes_read += len(buff) - - # If we get a buffer that's smaller than the size requested, or if we - # have read up to our content length, we're done. - if len(buff) != max_readable or bytes_read == content_length: - break - - # Tell our parser that we're done writing data. - parser.finalize() diff --git a/venv/lib/python3.12/site-packages/python_multipart/py.typed b/venv/lib/python3.12/site-packages/python_multipart/py.typed deleted file mode 100644 index e69de29..0000000 diff --git a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/INSTALLER b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/INSTALLER similarity index 100% rename from venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/INSTALLER rename to venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/INSTALLER diff --git a/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/licenses/LICENSE b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/LICENSE similarity index 100% rename from venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/licenses/LICENSE rename to venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/LICENSE diff --git a/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/METADATA b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/METADATA similarity index 68% rename from venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/METADATA rename to venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/METADATA index 5262348..98242bc 100644 --- a/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/METADATA +++ b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/METADATA @@ -1,16 +1,17 @@ -Metadata-Version: 2.4 +Metadata-Version: 2.1 Name: redis -Version: 6.4.0 +Version: 5.0.1 Summary: Python client for Redis database and key-value store +Home-page: https://github.com/redis/redis-py +Author: Redis Inc. +Author-email: oss@redis.com +License: MIT +Project-URL: Documentation, https://redis.readthedocs.io/en/latest/ Project-URL: Changes, https://github.com/redis/redis-py/releases Project-URL: Code, https://github.com/redis/redis-py -Project-URL: Documentation, https://redis.readthedocs.io/en/latest/ -Project-URL: Homepage, https://github.com/redis/redis-py Project-URL: Issue tracker, https://github.com/redis/redis-py/issues -Author-email: "Redis Inc." -License-Expression: MIT -License-File: LICENSE -Keywords: Redis,database,key-value-store +Keywords: Redis,key-value store,database +Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Intended Audience :: Developers @@ -19,31 +20,32 @@ Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: 3.12 -Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy -Requires-Python: >=3.9 -Requires-Dist: async-timeout>=4.0.3; python_full_version < '3.11.3' -Provides-Extra: hiredis -Requires-Dist: hiredis>=3.2.0; extra == 'hiredis' -Provides-Extra: jwt -Requires-Dist: pyjwt>=2.9.0; extra == 'jwt' -Provides-Extra: ocsp -Requires-Dist: cryptography>=36.0.1; extra == 'ocsp' -Requires-Dist: pyopenssl>=20.0.1; extra == 'ocsp' -Requires-Dist: requests>=2.31.0; extra == 'ocsp' +Requires-Python: >=3.7 Description-Content-Type: text/markdown +License-File: LICENSE +Requires-Dist: async-timeout >=4.0.2 ; python_full_version <= "3.11.2" +Requires-Dist: importlib-metadata >=1.0 ; python_version < "3.8" +Requires-Dist: typing-extensions ; python_version < "3.8" +Provides-Extra: hiredis +Requires-Dist: hiredis >=1.0.0 ; extra == 'hiredis' +Provides-Extra: ocsp +Requires-Dist: cryptography >=36.0.1 ; extra == 'ocsp' +Requires-Dist: pyopenssl ==20.0.1 ; extra == 'ocsp' +Requires-Dist: requests >=2.26.0 ; extra == 'ocsp' # redis-py The Python interface to the Redis key-value store. [![CI](https://github.com/redis/redis-py/workflows/CI/badge.svg?branch=master)](https://github.com/redis/redis-py/actions?query=workflow%3ACI+branch%3Amaster) -[![docs](https://readthedocs.org/projects/redis/badge/?version=stable&style=flat)](https://redis.readthedocs.io/en/stable/) +[![docs](https://readthedocs.org/projects/redis/badge/?version=stable&style=flat)](https://redis-py.readthedocs.io/en/stable/) [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE) [![pypi](https://badge.fury.io/py/redis.svg)](https://pypi.org/project/redis/) [![pre-release](https://img.shields.io/github/v/release/redis/redis-py?include_prereleases&label=latest-prerelease)](https://github.com/redis/redis-py/releases) @@ -53,35 +55,18 @@ The Python interface to the Redis key-value store. --------------------------------------------- -**Note:** redis-py 5.0 will be the last version of redis-py to support Python 3.7, as it has reached [end of life](https://devguide.python.org/versions/). redis-py 5.1 will support Python 3.8+. -**Note:** redis-py 6.1.0 will be the last version of redis-py to support Python 3.8, as it has reached [end of life](https://devguide.python.org/versions/). redis-py 6.2.0 will support Python 3.9+. +**Note: ** redis-py 5.0 will be the last version of redis-py to support Python 3.7, as it has reached [end of life](https://devguide.python.org/versions/). redis-py 5.1 will support Python 3.8+. + --------------------------------------------- -## How do I Redis? - -[Learn for free at Redis University](https://redis.io/learn/university) - -[Try the Redis Cloud](https://redis.io/try-free/) - -[Dive in developer tutorials](https://redis.io/learn) - -[Join the Redis community](https://redis.io/community/) - -[Work at Redis](https://redis.io/careers/) - ## Installation -Start a redis via docker (for Redis versions >= 8.0): - -``` bash -docker run -p 6379:6379 -it redis:latest -``` - -Start a redis via docker (for Redis versions < 8.0): +Start a redis via docker: ``` bash docker run -p 6379:6379 -it redis/redis-stack:latest ``` + To install redis-py, simply: ``` bash @@ -99,7 +84,7 @@ Looking for a high-level library to handle object mapping? See [redis-om-python] ## Supported Redis Versions -The most recent version of this library supports Redis version [7.2](https://github.com/redis/redis/blob/7.2/00-RELEASENOTES), [7.4](https://github.com/redis/redis/blob/7.4/00-RELEASENOTES) and [8.0](https://github.com/redis/redis/blob/8.0/00-RELEASENOTES). +The most recent version of this library supports redis version [5.0](https://github.com/redis/redis/blob/5.0/00-RELEASENOTES), [6.0](https://github.com/redis/redis/blob/6.0/00-RELEASENOTES), [6.2](https://github.com/redis/redis/blob/6.2/00-RELEASENOTES), [7.0](https://github.com/redis/redis/blob/7.0/00-RELEASENOTES) and [7.2](https://github.com/redis/redis/blob/7.2/00-RELEASENOTES). The table below highlights version compatibility of the most-recent library versions and redis versions. @@ -107,8 +92,7 @@ The table below highlights version compatibility of the most-recent library vers |-----------------|-------------------| | 3.5.3 | <= 6.2 Family of releases | | >= 4.5.0 | Version 5.0 to 7.0 | -| >= 5.0.0 | Version 5.0 to 7.4 | -| >= 6.0.0 | Version 7.2 to current | +| >= 5.0.0 | Version 5.0 to current | ## Usage @@ -198,46 +182,12 @@ The following example shows how to utilize [Redis Pub/Sub](https://redis.io/docs {'pattern': None, 'type': 'subscribe', 'channel': b'my-second-channel', 'data': 1} ``` -### Redis’ search and query capabilities default dialect -Release 6.0.0 introduces a client-side default dialect for Redis’ search and query capabilities. -By default, the client now overrides the server-side dialect with version 2, automatically appending *DIALECT 2* to commands like *FT.AGGREGATE* and *FT.SEARCH*. - -**Important**: Be aware that the query dialect may impact the results returned. If needed, you can revert to a different dialect version by configuring the client accordingly. - -``` python ->>> from redis.commands.search.field import TextField ->>> from redis.commands.search.query import Query ->>> from redis.commands.search.index_definition import IndexDefinition ->>> import redis - ->>> r = redis.Redis(host='localhost', port=6379, db=0) ->>> r.ft().create_index( ->>> (TextField("name"), TextField("lastname")), ->>> definition=IndexDefinition(prefix=["test:"]), ->>> ) - ->>> r.hset("test:1", "name", "James") ->>> r.hset("test:1", "lastname", "Brown") - ->>> # Query with default DIALECT 2 ->>> query = "@name: James Brown" ->>> q = Query(query) ->>> res = r.ft().search(q) - ->>> # Query with explicit DIALECT 1 ->>> query = "@name: James Brown" ->>> q = Query(query).dialect(1) ->>> res = r.ft().search(q) -``` - -You can find further details in the [query dialect documentation](https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/dialects/). - ---------------------------------------------- +-------------------------- ### Author -redis-py is developed and maintained by [Redis Inc](https://redis.io). It can be found [here]( +redis-py is developed and maintained by [Redis Inc](https://redis.com). It can be found [here]( https://github.com/redis/redis-py), or downloaded from [pypi](https://pypi.org/project/redis/). Special thanks to: @@ -249,4 +199,5 @@ Special thanks to: system. - Paul Hubbard for initial packaging support. -[![Redis](./docs/_static/logo-redis.svg)](https://redis.io) +[![Redis](./docs/logo-redis.png)](https://www.redis.com) + diff --git a/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/RECORD b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/RECORD new file mode 100644 index 0000000..537058f --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/RECORD @@ -0,0 +1,148 @@ +redis-5.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +redis-5.0.1.dist-info/LICENSE,sha256=pXslClvwPXr-VbdAYzE_Ktt7ANVGwKsUmok5gzP-PMg,1074 +redis-5.0.1.dist-info/METADATA,sha256=xLwWid1Pns_mCEX6qn3qtFxtf7pphgPFPWOwEg5LWrQ,8910 +redis-5.0.1.dist-info/RECORD,, +redis-5.0.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +redis-5.0.1.dist-info/WHEEL,sha256=yQN5g4mg4AybRjkgi-9yy4iQEFibGQmlz78Pik5Or-A,92 +redis-5.0.1.dist-info/top_level.txt,sha256=OMAefszlde6ZoOtlM35AWzpRIrwtcqAMHGlRit-w2-4,6 +redis/__init__.py,sha256=PthSOEfXKlYV9xBgroOnO2tJD7uu0BWwvztgsKUvK48,2110 +redis/__pycache__/__init__.cpython-312.pyc,, +redis/__pycache__/backoff.cpython-312.pyc,, +redis/__pycache__/client.cpython-312.pyc,, +redis/__pycache__/cluster.cpython-312.pyc,, +redis/__pycache__/compat.cpython-312.pyc,, +redis/__pycache__/connection.cpython-312.pyc,, +redis/__pycache__/crc.cpython-312.pyc,, +redis/__pycache__/credentials.cpython-312.pyc,, +redis/__pycache__/exceptions.cpython-312.pyc,, +redis/__pycache__/lock.cpython-312.pyc,, +redis/__pycache__/ocsp.cpython-312.pyc,, +redis/__pycache__/retry.cpython-312.pyc,, +redis/__pycache__/sentinel.cpython-312.pyc,, +redis/__pycache__/typing.cpython-312.pyc,, +redis/__pycache__/utils.cpython-312.pyc,, +redis/_parsers/__init__.py,sha256=qkfgV2X9iyvQAvbLdSelwgz0dCk9SGAosCvuZC9-qDc,550 +redis/_parsers/__pycache__/__init__.cpython-312.pyc,, +redis/_parsers/__pycache__/base.cpython-312.pyc,, +redis/_parsers/__pycache__/commands.cpython-312.pyc,, +redis/_parsers/__pycache__/encoders.cpython-312.pyc,, +redis/_parsers/__pycache__/helpers.cpython-312.pyc,, +redis/_parsers/__pycache__/hiredis.cpython-312.pyc,, +redis/_parsers/__pycache__/resp2.cpython-312.pyc,, +redis/_parsers/__pycache__/resp3.cpython-312.pyc,, +redis/_parsers/__pycache__/socket.cpython-312.pyc,, +redis/_parsers/base.py,sha256=95SoPNwt4xJQB-ONIjxsR46n4EHnxnmkv9f0ReZSIR0,7480 +redis/_parsers/commands.py,sha256=pmR4hl4u93UvCmeDgePHFc6pWDr4slrKEvCsdMmtj_M,11052 +redis/_parsers/encoders.py,sha256=X0jvTp-E4TZUlZxV5LJJ88TuVrF1vly5tuC0xjxGaSc,1734 +redis/_parsers/helpers.py,sha256=xcRjjns6uQPb2pp0AOlOK9LhMJL4ofyEMFqVA7CwzsE,27947 +redis/_parsers/hiredis.py,sha256=X8yk0ElEEjHlhUgjs9fdHSOijlxYtunTrTJSLzkGrvQ,7581 +redis/_parsers/resp2.py,sha256=f22kH-_ZP2iNtOn6xOe65MSy_fJpu8OEn1u_hgeeojI,4813 +redis/_parsers/resp3.py,sha256=rXDA0R-wjCj2vyGaaWEf50NXN7UFBzefRnK3NGzWz2E,9657 +redis/_parsers/socket.py,sha256=CKD8QW_wFSNlIZzxlbNduaGpiv0I8wBcsGuAIojDfJg,5403 +redis/asyncio/__init__.py,sha256=uoDD8XYVi0Kj6mcufYwLDUTQXmBRx7a0bhKF9stZr7I,1489 +redis/asyncio/__pycache__/__init__.cpython-312.pyc,, +redis/asyncio/__pycache__/client.cpython-312.pyc,, +redis/asyncio/__pycache__/cluster.cpython-312.pyc,, +redis/asyncio/__pycache__/connection.cpython-312.pyc,, +redis/asyncio/__pycache__/lock.cpython-312.pyc,, +redis/asyncio/__pycache__/retry.cpython-312.pyc,, +redis/asyncio/__pycache__/sentinel.cpython-312.pyc,, +redis/asyncio/__pycache__/utils.cpython-312.pyc,, +redis/asyncio/client.py,sha256=BYurDT13lsw0N3a8sLqQFl00tFFolpET7_EujLw2Nbc,58826 +redis/asyncio/cluster.py,sha256=a0Za2icr03ytjF_WVohDMvEZejixUdVMhpsKWeMxYHY,63076 +redis/asyncio/connection.py,sha256=ZwClasZ2x0SQY90gDZvraFIx2lhGPnDm-xUUPPsb424,43426 +redis/asyncio/lock.py,sha256=lLasXEO2E1CskhX5ZZoaSGpmwZP1Q782R3HAUNG3wD4,11967 +redis/asyncio/retry.py,sha256=SnPPOlo5gcyIFtkC4DY7HFvmDgUaILsJ3DeHioogdB8,2219 +redis/asyncio/sentinel.py,sha256=sTVJCbi1KtIbHJc3fkHRZb_LGav_UtCAq-ipxltkGsE,14198 +redis/asyncio/utils.py,sha256=Yxc5YQumhLjtDDwCS4mgxI6yy2Z21AzLlFxVbxCohic,704 +redis/backoff.py,sha256=x-sAjV7u4MmdOjFZSZ8RnUnCaQtPhCBbGNBgICvCW3I,2966 +redis/client.py,sha256=IkqYEPg2WA35jBjPCpEgcKcVW3Hx8lm89j_IQ2dnoOw,57514 +redis/cluster.py,sha256=HcH2YM057xpWMQhGYBLWv5l9yrb7hzcSuPXXbqJl_DY,92754 +redis/commands/__init__.py,sha256=cTUH-MGvaLYS0WuoytyqtN1wniw2A1KbkUXcpvOSY3I,576 +redis/commands/__pycache__/__init__.cpython-312.pyc,, +redis/commands/__pycache__/cluster.cpython-312.pyc,, +redis/commands/__pycache__/core.cpython-312.pyc,, +redis/commands/__pycache__/helpers.cpython-312.pyc,, +redis/commands/__pycache__/redismodules.cpython-312.pyc,, +redis/commands/__pycache__/sentinel.cpython-312.pyc,, +redis/commands/bf/__init__.py,sha256=ESmQXH4p9Dp37tNCwQGDiF_BHDEaKnXSF7ZfASEqkFY,8027 +redis/commands/bf/__pycache__/__init__.cpython-312.pyc,, +redis/commands/bf/__pycache__/commands.cpython-312.pyc,, +redis/commands/bf/__pycache__/info.cpython-312.pyc,, +redis/commands/bf/commands.py,sha256=kVWUatdS0zLcu8-fVIqLLQBU5u8fJWIOCVUD3fqYVp0,21462 +redis/commands/bf/info.py,sha256=tpE4hv1zApxoOgyV9_8BEDZcl4Wf6tS1dSvtlxV7uTE,3395 +redis/commands/cluster.py,sha256=5BDwdeUnWVWOalF5fHD12HPQeDq_rc2vhuCI3sChrYE,31562 +redis/commands/core.py,sha256=2WM9nZ3f0Xqny8o5yucORe0fLRItJO4SWU68W5Wr1mw,223552 +redis/commands/graph/__init__.py,sha256=NmklyOuzIa20yEWrhnKQxgQlaXKYkcwBkGHpvQyo5J8,7237 +redis/commands/graph/__pycache__/__init__.cpython-312.pyc,, +redis/commands/graph/__pycache__/commands.cpython-312.pyc,, +redis/commands/graph/__pycache__/edge.cpython-312.pyc,, +redis/commands/graph/__pycache__/exceptions.cpython-312.pyc,, +redis/commands/graph/__pycache__/execution_plan.cpython-312.pyc,, +redis/commands/graph/__pycache__/node.cpython-312.pyc,, +redis/commands/graph/__pycache__/path.cpython-312.pyc,, +redis/commands/graph/__pycache__/query_result.cpython-312.pyc,, +redis/commands/graph/commands.py,sha256=rLGV58ZJKEf6yxzk1oD3IwiS03lP6bpbo0249pFI0OY,10379 +redis/commands/graph/edge.py,sha256=_TljVB4a1pPS9pb8_Cvw8rclbBOOI__-fY9fybU4djQ,2460 +redis/commands/graph/exceptions.py,sha256=kRDBsYLgwIaM4vqioO_Bp_ugWvjfqCH7DIv4Gpc9HCM,107 +redis/commands/graph/execution_plan.py,sha256=Pxr8_zhPWT_EdZSgGrbiWw8wFL6q5JF7O-Z6Xzm55iw,6742 +redis/commands/graph/node.py,sha256=Pasfsl5dF6WqT9KCNFAKKwGubyK_2ORCoAQE4VtnXkQ,2400 +redis/commands/graph/path.py,sha256=m6Gz4DYfMIQ8VReDLHlnQw_KI2rVdepWYk_AU0_x_GM,2080 +redis/commands/graph/query_result.py,sha256=GTEnBE0rAiUk4JquaxcVKdL1kzSMDWW5ky-iFTvRN84,17040 +redis/commands/helpers.py,sha256=WgfhdH3NCBW2Vqg-9PcP2EIKwzBkzb5CeqfdnPm2tTQ,4531 +redis/commands/json/__init__.py,sha256=llpDQz2kBNnJyfQfuh0-2oY-knMb6gAS0ADtPmaTKsM,4854 +redis/commands/json/__pycache__/__init__.cpython-312.pyc,, +redis/commands/json/__pycache__/_util.cpython-312.pyc,, +redis/commands/json/__pycache__/commands.cpython-312.pyc,, +redis/commands/json/__pycache__/decoders.cpython-312.pyc,, +redis/commands/json/__pycache__/path.cpython-312.pyc,, +redis/commands/json/_util.py,sha256=b_VQTh10FyLl8BtREfJfDagOJCyd6wTQQs8g63pi5GI,116 +redis/commands/json/commands.py,sha256=9P3NBFyWuRxWer5i__NtJx7oJZNnTOisfrHGhwaRfoA,15603 +redis/commands/json/decoders.py,sha256=a_IoMV_wgeJyUifD4P6HTcM9s6FhricwmzQcZRmc-Gw,1411 +redis/commands/json/path.py,sha256=0zaO6_q_FVMk1Bkhkb7Wcr8AF2Tfr69VhkKy1IBVhpA,393 +redis/commands/redismodules.py,sha256=7TfVzLj319mhsA6WEybsOdIPk4pC-1hScJg3H5hv3T4,2454 +redis/commands/search/__init__.py,sha256=happQFVF0j7P87p7LQsUK5AK0kuem9cA-xvVRdQWpos,5744 +redis/commands/search/__pycache__/__init__.cpython-312.pyc,, +redis/commands/search/__pycache__/_util.cpython-312.pyc,, +redis/commands/search/__pycache__/aggregation.cpython-312.pyc,, +redis/commands/search/__pycache__/commands.cpython-312.pyc,, +redis/commands/search/__pycache__/document.cpython-312.pyc,, +redis/commands/search/__pycache__/field.cpython-312.pyc,, +redis/commands/search/__pycache__/indexDefinition.cpython-312.pyc,, +redis/commands/search/__pycache__/query.cpython-312.pyc,, +redis/commands/search/__pycache__/querystring.cpython-312.pyc,, +redis/commands/search/__pycache__/reducers.cpython-312.pyc,, +redis/commands/search/__pycache__/result.cpython-312.pyc,, +redis/commands/search/__pycache__/suggestion.cpython-312.pyc,, +redis/commands/search/_util.py,sha256=VAguSwh_3dNtJwNU6Vle2CNdPE10_NUkPffD7GWFX48,193 +redis/commands/search/aggregation.py,sha256=8yQ1P31Qiy29xehlmN2ToCh73e-MHmOg_y0_UXfQDS8,10772 +redis/commands/search/commands.py,sha256=dpSMZ7hXjbAlrUL4h5GX6BtP4WibQZCO6Ylfo8qkAF0,36751 +redis/commands/search/document.py,sha256=g2R-PRgq-jN33_GLXzavvse4cpIHBMfjPfPK7tnE9Gc,413 +redis/commands/search/field.py,sha256=WxtOHgtm9S82_C0nzeT7fHRrWPkGflJnSXQRIiaVJmU,4518 +redis/commands/search/indexDefinition.py,sha256=VL2CMzjxN0HEIaTn88evnHX1fCEmytbik4vAmiiYSC8,2489 +redis/commands/search/query.py,sha256=blBcgFnurT9rkg4gI6j14EekWU_J9e_aDlryVCCWDjM,11564 +redis/commands/search/querystring.py,sha256=dE577kOqkCErNgO-IXI4xFVHI8kQE-JiH5ZRI_CKjHE,7597 +redis/commands/search/reducers.py,sha256=Scceylx8BjyqS-TJOdhNW63n6tecL9ojt4U5Sqho5UY,4220 +redis/commands/search/result.py,sha256=4H7LnOVWScti7WO2XYxjhiTu3QNIt2pZHO1eptXZDBk,2149 +redis/commands/search/suggestion.py,sha256=V_re6suDCoNc0ETn_P1t51FeK4pCamPwxZRxCY8jscE,1612 +redis/commands/sentinel.py,sha256=hRcIQ9x9nEkdcCsJzo6Ves6vk-3tsfQqfJTT_v3oLY0,4110 +redis/commands/timeseries/__init__.py,sha256=gkz6wshEzzQQryBOnrAqqQzttS-AHfXmuN_H1J38EbM,3459 +redis/commands/timeseries/__pycache__/__init__.cpython-312.pyc,, +redis/commands/timeseries/__pycache__/commands.cpython-312.pyc,, +redis/commands/timeseries/__pycache__/info.cpython-312.pyc,, +redis/commands/timeseries/__pycache__/utils.cpython-312.pyc,, +redis/commands/timeseries/commands.py,sha256=bFdk-609CnL-dTqMU5yQEiY-UCjVpLknHGDENQ2t-1U,33438 +redis/commands/timeseries/info.py,sha256=5deBInBtLPb3ZrVoSB4EhWkRPkSIW5Qd_98rMDnutnk,3207 +redis/commands/timeseries/utils.py,sha256=o7q7Fe1wgpdTLKyGY8Qi2VV6XKEBprhzmPdrFz3OIvo,1309 +redis/compat.py,sha256=tr-t9oHdeosrK3TvZySaLvP3ZlGqTZQaXtlTqiqp_8I,242 +redis/connection.py,sha256=fxHl5icHS3Mk2AhHeSGxcpMcY5aeHmq5589g2XyI_xg,50524 +redis/crc.py,sha256=Z3kXFtkY2LdgefnQMud1xr4vG5UYvA9LCMqNMX1ywu4,729 +redis/credentials.py,sha256=6VvFeReFp6vernGIWlIVOm8OmbNgoFYdd1wgsjZTnlk,738 +redis/exceptions.py,sha256=AzWeYEpVR1koUddMgvz0WZxmPX_jyksagoRf8FSSWKA,5103 +redis/lock.py,sha256=CwB_qo7ADDGSt_JqjQKSL1nKDCwdb-ASJsAlv0JO6mA,11564 +redis/ocsp.py,sha256=WwiGby6yZYR0D3lgnnQYmPKy-UAgYqGXi6A4jDBZGL4,11450 +redis/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +redis/retry.py,sha256=Ssp9s2hhDfyRs0rCRCaTgRtLR7NAYO5QMw4QflourGo,1817 +redis/sentinel.py,sha256=CErsD-c3mYFnXDttCY1OvpyUdfKcyD5F9Jv9Fd3iHuU,14175 +redis/typing.py,sha256=wjyihEjyGiJrigcs0-zhy7K-MzVy7uLidjszNdPHMug,2212 +redis/utils.py,sha256=87p7ImnihyIhiaqalVYh9Qq9JeaVwi_Y4GBzNaHAXJg,3381 diff --git a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/REQUESTED b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/REQUESTED similarity index 100% rename from venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/REQUESTED rename to venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/REQUESTED diff --git a/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/WHEEL b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/WHEEL new file mode 100644 index 0000000..7e68873 --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.41.2) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/top_level.txt b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/top_level.txt new file mode 100644 index 0000000..7800f0f --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis-5.0.1.dist-info/top_level.txt @@ -0,0 +1 @@ +redis diff --git a/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/RECORD b/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/RECORD deleted file mode 100644 index 8c32ae0..0000000 --- a/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/RECORD +++ /dev/null @@ -1,153 +0,0 @@ -redis-6.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -redis-6.4.0.dist-info/METADATA,sha256=bNX_u48QF0Co6COOwBo5eycG2FlBbBG8OeWnz2pO9jQ,10784 -redis-6.4.0.dist-info/RECORD,, -redis-6.4.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -redis-6.4.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87 -redis-6.4.0.dist-info/licenses/LICENSE,sha256=pXslClvwPXr-VbdAYzE_Ktt7ANVGwKsUmok5gzP-PMg,1074 -redis/__init__.py,sha256=fD_AFZRhHReFMbpmRFqSPaltxmtapfIPWyFVziJd0eI,2048 -redis/__pycache__/__init__.cpython-312.pyc,, -redis/__pycache__/backoff.cpython-312.pyc,, -redis/__pycache__/cache.cpython-312.pyc,, -redis/__pycache__/client.cpython-312.pyc,, -redis/__pycache__/cluster.cpython-312.pyc,, -redis/__pycache__/connection.cpython-312.pyc,, -redis/__pycache__/crc.cpython-312.pyc,, -redis/__pycache__/credentials.cpython-312.pyc,, -redis/__pycache__/event.cpython-312.pyc,, -redis/__pycache__/exceptions.cpython-312.pyc,, -redis/__pycache__/lock.cpython-312.pyc,, -redis/__pycache__/ocsp.cpython-312.pyc,, -redis/__pycache__/retry.cpython-312.pyc,, -redis/__pycache__/sentinel.cpython-312.pyc,, -redis/__pycache__/typing.cpython-312.pyc,, -redis/__pycache__/utils.cpython-312.pyc,, -redis/_parsers/__init__.py,sha256=gyf5dp918NuJAkWFl8sX1Z-qAvbX_40-_7YCTM6Rvjc,693 -redis/_parsers/__pycache__/__init__.cpython-312.pyc,, -redis/_parsers/__pycache__/base.cpython-312.pyc,, -redis/_parsers/__pycache__/commands.cpython-312.pyc,, -redis/_parsers/__pycache__/encoders.cpython-312.pyc,, -redis/_parsers/__pycache__/helpers.cpython-312.pyc,, -redis/_parsers/__pycache__/hiredis.cpython-312.pyc,, -redis/_parsers/__pycache__/resp2.cpython-312.pyc,, -redis/_parsers/__pycache__/resp3.cpython-312.pyc,, -redis/_parsers/__pycache__/socket.cpython-312.pyc,, -redis/_parsers/base.py,sha256=k6n7-oTmmzAUiiZpaB6Vfjzlj_torwBsaPBEYdOTDak,9908 -redis/_parsers/commands.py,sha256=pmR4hl4u93UvCmeDgePHFc6pWDr4slrKEvCsdMmtj_M,11052 -redis/_parsers/encoders.py,sha256=X0jvTp-E4TZUlZxV5LJJ88TuVrF1vly5tuC0xjxGaSc,1734 -redis/_parsers/helpers.py,sha256=Y6n14fE0eCYbF3TBuJxhycnJ1yHKiYoAJrOCUaiWolg,29223 -redis/_parsers/hiredis.py,sha256=iUjLT5OEgD4zqF_tg3Szmg1c_73RozXyjjAFsVYKCWM,10893 -redis/_parsers/resp2.py,sha256=f22kH-_ZP2iNtOn6xOe65MSy_fJpu8OEn1u_hgeeojI,4813 -redis/_parsers/resp3.py,sha256=tiZRbyJAnObqll2LQJ57Br-3jxwQcMocV4GQE_LpC6g,9883 -redis/_parsers/socket.py,sha256=CKD8QW_wFSNlIZzxlbNduaGpiv0I8wBcsGuAIojDfJg,5403 -redis/asyncio/__init__.py,sha256=uoDD8XYVi0Kj6mcufYwLDUTQXmBRx7a0bhKF9stZr7I,1489 -redis/asyncio/__pycache__/__init__.cpython-312.pyc,, -redis/asyncio/__pycache__/client.cpython-312.pyc,, -redis/asyncio/__pycache__/cluster.cpython-312.pyc,, -redis/asyncio/__pycache__/connection.cpython-312.pyc,, -redis/asyncio/__pycache__/lock.cpython-312.pyc,, -redis/asyncio/__pycache__/retry.cpython-312.pyc,, -redis/asyncio/__pycache__/sentinel.cpython-312.pyc,, -redis/asyncio/__pycache__/utils.cpython-312.pyc,, -redis/asyncio/client.py,sha256=6a5-txYcRMtObkb7Bfi08MKQQY01oy5NKpHAlfhIFNM,61905 -redis/asyncio/cluster.py,sha256=0nilDMyz_obavxJetO3S8fgBob8X7w4KIdfxdKftsZw,90146 -redis/asyncio/connection.py,sha256=D28OecfufSf6c2gJ8UhJhorhWMpHeFHxxIaWxvvQHoc,49197 -redis/asyncio/lock.py,sha256=GxgV6EsyKpMjh74KtaOPxh4fNPuwApz6Th46qhvrAws,12801 -redis/asyncio/retry.py,sha256=Ikm0rsvnFItracA89DdPcejLqb_Sr4QBz73Ow_LUmwU,1880 -redis/asyncio/sentinel.py,sha256=Ppk-jlTubcHpa0lvinZ1pPTtQ5rFHXZkkaCZ7G_TCQs,14868 -redis/asyncio/utils.py,sha256=31xFzXczDgSRyf6hSjiwue1eDQ_XlP_OJdp5dKxW_aE,718 -redis/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -redis/auth/__pycache__/__init__.cpython-312.pyc,, -redis/auth/__pycache__/err.cpython-312.pyc,, -redis/auth/__pycache__/idp.cpython-312.pyc,, -redis/auth/__pycache__/token.cpython-312.pyc,, -redis/auth/__pycache__/token_manager.cpython-312.pyc,, -redis/auth/err.py,sha256=WYkbuDIzwp1S-eAvsya6QMlO6g9QIXbzMITOsTWX0xk,694 -redis/auth/idp.py,sha256=IMDIIb9q72vbIwtFN8vPdaAKZVTdh0HuC5uj5ufqmw4,631 -redis/auth/token.py,sha256=qYwAgxFW3S93QDUqp1BTsj7Pj9ZohnixGeOX0s7AsjY,3317 -redis/auth/token_manager.py,sha256=ShBsYXiBZBJBOMB_Y-pXfLwEOAmc9s1okaCECinNZ7g,12018 -redis/backoff.py,sha256=tQM6Lh2g2FjMH8iXg94br2sU9eri4mEW9FbOrMt0azs,5285 -redis/cache.py,sha256=68rJDNogvNwgdgBel6zSX9QziL11qsKIMhmvQvHvznM,9549 -redis/client.py,sha256=Xmo6va8oKg7ksD8tv5-EErCFq3OhpfeISuR-nWBIRSA,62463 -redis/cluster.py,sha256=CgKGFnprziYjsr--qWbhY--2oaaWQRbuKofi1Qr9m5c,124120 -redis/commands/__init__.py,sha256=cTUH-MGvaLYS0WuoytyqtN1wniw2A1KbkUXcpvOSY3I,576 -redis/commands/__pycache__/__init__.cpython-312.pyc,, -redis/commands/__pycache__/cluster.cpython-312.pyc,, -redis/commands/__pycache__/core.cpython-312.pyc,, -redis/commands/__pycache__/helpers.cpython-312.pyc,, -redis/commands/__pycache__/redismodules.cpython-312.pyc,, -redis/commands/__pycache__/sentinel.cpython-312.pyc,, -redis/commands/bf/__init__.py,sha256=qk4DA9KsMiP4WYqYeP1T5ScBwctsVtlLyMhrYIyq1Zc,8019 -redis/commands/bf/__pycache__/__init__.cpython-312.pyc,, -redis/commands/bf/__pycache__/commands.cpython-312.pyc,, -redis/commands/bf/__pycache__/info.cpython-312.pyc,, -redis/commands/bf/commands.py,sha256=xeKt8E7G8HB-l922J0DLg07CEIZTVNGx_2Lfyw1gIck,21283 -redis/commands/bf/info.py,sha256=_OB2v_hAPI9mdVNiBx8jUtH2MhMoct9ZRm-e8In6wQo,3355 -redis/commands/cluster.py,sha256=vdWdpl4mP51oqfYBZHg5CUXt6jPaNp7aCLHyTieDrt8,31248 -redis/commands/core.py,sha256=RjVbTxe_vfnraVOqREH6ofNU2LMX8-ZGSAzd5g3ypvE,241132 -redis/commands/helpers.py,sha256=VCoPdBMCr4wxdWBw1EB9R7ZBbQM0exAG1kws4XwsCII,3318 -redis/commands/json/__init__.py,sha256=bznXhLYR652rfLfLp8cz0ZN0Yr8IRx4FgON_tq9_2Io,4845 -redis/commands/json/__pycache__/__init__.cpython-312.pyc,, -redis/commands/json/__pycache__/_util.cpython-312.pyc,, -redis/commands/json/__pycache__/commands.cpython-312.pyc,, -redis/commands/json/__pycache__/decoders.cpython-312.pyc,, -redis/commands/json/__pycache__/path.cpython-312.pyc,, -redis/commands/json/_util.py,sha256=hIBQ1TLCTgUifcLsg0x8kJlecxmXhA9I0zMnHlQk0Ho,137 -redis/commands/json/commands.py,sha256=ih8upnxeOpjPZXNfqeFBYxiCN2Cmyv8UGu3AlQnT6JQ,15723 -redis/commands/json/decoders.py,sha256=a_IoMV_wgeJyUifD4P6HTcM9s6FhricwmzQcZRmc-Gw,1411 -redis/commands/json/path.py,sha256=0zaO6_q_FVMk1Bkhkb7Wcr8AF2Tfr69VhkKy1IBVhpA,393 -redis/commands/redismodules.py,sha256=-kLM4RBklDhNh-MXCra81ZTSstIQ-ulRab6v0dYUTdA,2573 -redis/commands/search/__init__.py,sha256=happQFVF0j7P87p7LQsUK5AK0kuem9cA-xvVRdQWpos,5744 -redis/commands/search/__pycache__/__init__.cpython-312.pyc,, -redis/commands/search/__pycache__/_util.cpython-312.pyc,, -redis/commands/search/__pycache__/aggregation.cpython-312.pyc,, -redis/commands/search/__pycache__/commands.cpython-312.pyc,, -redis/commands/search/__pycache__/dialect.cpython-312.pyc,, -redis/commands/search/__pycache__/document.cpython-312.pyc,, -redis/commands/search/__pycache__/field.cpython-312.pyc,, -redis/commands/search/__pycache__/index_definition.cpython-312.pyc,, -redis/commands/search/__pycache__/profile_information.cpython-312.pyc,, -redis/commands/search/__pycache__/query.cpython-312.pyc,, -redis/commands/search/__pycache__/querystring.cpython-312.pyc,, -redis/commands/search/__pycache__/reducers.cpython-312.pyc,, -redis/commands/search/__pycache__/result.cpython-312.pyc,, -redis/commands/search/__pycache__/suggestion.cpython-312.pyc,, -redis/commands/search/_util.py,sha256=9Mp72OO5Ib5UbfN7uXb-iB7hQCm1jQLV90ms2P9XSGU,219 -redis/commands/search/aggregation.py,sha256=R2ul26mH10dQxUdQNKqH-Os1thOz88m4taTK08khiZc,11564 -redis/commands/search/commands.py,sha256=4lnL7MXsp9XqMyUgPxJ9S6p8BRnsIrjXuwvSTL9qo3E,38436 -redis/commands/search/dialect.py,sha256=-7M6kkr33x0FkMtKmUsbeRAE6qxLUbqdJCqIo0UKIXo,105 -redis/commands/search/document.py,sha256=g2R-PRgq-jN33_GLXzavvse4cpIHBMfjPfPK7tnE9Gc,413 -redis/commands/search/field.py,sha256=g9I1LHrVJKO1KtiUwotxrQvpg89e-sx26oClHuaKTn8,5935 -redis/commands/search/index_definition.py,sha256=VL2CMzjxN0HEIaTn88evnHX1fCEmytbik4vAmiiYSC8,2489 -redis/commands/search/profile_information.py,sha256=w9SbMiHbcZ1TpsZMe8cMIyO1hGkm5GhnZ_Gqg1feLtc,249 -redis/commands/search/query.py,sha256=MbSs-cY7hG1OEkO-i6LJ_Ui1D3d2VyDTXPrmb-rty7w,12199 -redis/commands/search/querystring.py,sha256=dE577kOqkCErNgO-IXI4xFVHI8kQE-JiH5ZRI_CKjHE,7597 -redis/commands/search/reducers.py,sha256=Scceylx8BjyqS-TJOdhNW63n6tecL9ojt4U5Sqho5UY,4220 -redis/commands/search/result.py,sha256=iuqmwOeCNo_7N4a_YxxDzVdOTpbwfF1T2uuq5sTqzMo,2624 -redis/commands/search/suggestion.py,sha256=V_re6suDCoNc0ETn_P1t51FeK4pCamPwxZRxCY8jscE,1612 -redis/commands/sentinel.py,sha256=Q1Xuw7qXA0YRZXGlIKsuOtah8UfF0QnkLywOTRvjiMY,5299 -redis/commands/timeseries/__init__.py,sha256=k492_xE_lBD0cVSX82TWBiNxOWuDDrrVZUjINi3LZSc,3450 -redis/commands/timeseries/__pycache__/__init__.cpython-312.pyc,, -redis/commands/timeseries/__pycache__/commands.cpython-312.pyc,, -redis/commands/timeseries/__pycache__/info.cpython-312.pyc,, -redis/commands/timeseries/__pycache__/utils.cpython-312.pyc,, -redis/commands/timeseries/commands.py,sha256=8Z2BEyP23qTYCJR_e9zdG11yWmIDwGBMO2PJNLtK2BA,47147 -redis/commands/timeseries/info.py,sha256=meZYdu7IV9KaUWMKZs9qW4vo3Q9MwhdY-EBtKQzls5o,3223 -redis/commands/timeseries/utils.py,sha256=NLwSOS5Dz9N8dYQSzEyBIvrItOWwfQ0xgDj8un6x3dU,1319 -redis/commands/vectorset/__init__.py,sha256=_fM0UdYjuzs8YWIUjQGH9QX5FwI0So8_D-5ALWWrWFc,1322 -redis/commands/vectorset/__pycache__/__init__.cpython-312.pyc,, -redis/commands/vectorset/__pycache__/commands.cpython-312.pyc,, -redis/commands/vectorset/__pycache__/utils.cpython-312.pyc,, -redis/commands/vectorset/commands.py,sha256=xXfQqI7_VWbUsyBwUa5FoZLF10alJDMtZoa_H5VbGFQ,12763 -redis/commands/vectorset/utils.py,sha256=N-x0URyg76XC39CNfBym6FkFCVgm5NthzWKBnc2H0Xc,2981 -redis/connection.py,sha256=eT4Mbj5pjBm_R5SSQrrDkljJ-qCxnsgVRBDlbwrGDsU,67042 -redis/crc.py,sha256=Z3kXFtkY2LdgefnQMud1xr4vG5UYvA9LCMqNMX1ywu4,729 -redis/credentials.py,sha256=GOnO3-LSW34efHaIrUbS742Mw8l70mRzF6UrKiKZsMY,1828 -redis/event.py,sha256=ddsIm3uP1PagsN9oYyblE7vE6n9VDCe5cZVxdUogbCQ,12133 -redis/exceptions.py,sha256=b3OO87gncNCRUnx1d7O57N2kkjP-feXn70fPkXHaLmQ,5789 -redis/lock.py,sha256=GrvPSxaOqKo7iAL2oi5ZUEPsOkxAXHVE_Tp1ejgO2fY,12760 -redis/ocsp.py,sha256=teYSmKnCtk6B3jJLdNYbZN4OE0mxgspt2zUPbkIQzio,11452 -redis/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -redis/retry.py,sha256=oS0nc0nYxEQaD4t95HEr1GhvhpOmnTKMnNtHn8Fqzxo,3405 -redis/sentinel.py,sha256=DP1XtO1HRemZMamC1TFHg_hBJRv9eoQgTMlZfPYRUo8,15013 -redis/typing.py,sha256=z5JQjGkNzejEzb2y7TXct7tS5yzAfLQod9o37Mh1_Ug,1953 -redis/utils.py,sha256=vO-njeF4ntROo1OReUiKtcY72I2JcEZYA62-_ssQW50,8495 diff --git a/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/WHEEL b/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/WHEEL deleted file mode 100644 index 12228d4..0000000 --- a/venv/lib/python3.12/site-packages/redis-6.4.0.dist-info/WHEEL +++ /dev/null @@ -1,4 +0,0 @@ -Wheel-Version: 1.0 -Generator: hatchling 1.27.0 -Root-Is-Purelib: true -Tag: py3-none-any diff --git a/venv/lib/python3.12/site-packages/redis/__init__.py b/venv/lib/python3.12/site-packages/redis/__init__.py index 795662d..495d2d9 100644 --- a/venv/lib/python3.12/site-packages/redis/__init__.py +++ b/venv/lib/python3.12/site-packages/redis/__init__.py @@ -1,3 +1,5 @@ +import sys + from redis import asyncio # noqa from redis.backoff import default_backoff from redis.client import Redis, StrictRedis @@ -16,15 +18,11 @@ from redis.exceptions import ( BusyLoadingError, ChildDeadlockedError, ConnectionError, - CrossSlotTransactionError, DataError, - InvalidPipelineStack, InvalidResponse, - MaxConnectionsError, OutOfMemoryError, PubSubError, ReadOnlyError, - RedisClusterException, RedisError, ResponseError, TimeoutError, @@ -38,6 +36,11 @@ from redis.sentinel import ( ) from redis.utils import from_url +if sys.version_info >= (3, 8): + from importlib import metadata +else: + import importlib_metadata as metadata + def int_or_str(value): try: @@ -46,10 +49,17 @@ def int_or_str(value): return value -__version__ = "6.4.0" -VERSION = tuple(map(int_or_str, __version__.split("."))) +try: + __version__ = metadata.version("redis") +except metadata.PackageNotFoundError: + __version__ = "99.99.99" +try: + VERSION = tuple(map(int_or_str, __version__.split("."))) +except AttributeError: + VERSION = tuple([99, 99, 99]) + __all__ = [ "AuthenticationError", "AuthenticationWrongNumberOfArgsError", @@ -60,19 +70,15 @@ __all__ = [ "ConnectionError", "ConnectionPool", "CredentialProvider", - "CrossSlotTransactionError", "DataError", "from_url", "default_backoff", - "InvalidPipelineStack", "InvalidResponse", - "MaxConnectionsError", "OutOfMemoryError", "PubSubError", "ReadOnlyError", "Redis", "RedisCluster", - "RedisClusterException", "RedisError", "ResponseError", "Sentinel", diff --git a/venv/lib/python3.12/site-packages/redis/_parsers/__init__.py b/venv/lib/python3.12/site-packages/redis/_parsers/__init__.py index 30cb1cd..6cc32e3 100644 --- a/venv/lib/python3.12/site-packages/redis/_parsers/__init__.py +++ b/venv/lib/python3.12/site-packages/redis/_parsers/__init__.py @@ -1,9 +1,4 @@ -from .base import ( - AsyncPushNotificationsParser, - BaseParser, - PushNotificationsParser, - _AsyncRESPBase, -) +from .base import BaseParser, _AsyncRESPBase from .commands import AsyncCommandsParser, CommandsParser from .encoders import Encoder from .hiredis import _AsyncHiredisParser, _HiredisParser @@ -16,12 +11,10 @@ __all__ = [ "_AsyncRESPBase", "_AsyncRESP2Parser", "_AsyncRESP3Parser", - "AsyncPushNotificationsParser", "CommandsParser", "Encoder", "BaseParser", "_HiredisParser", "_RESP2Parser", "_RESP3Parser", - "PushNotificationsParser", ] diff --git a/venv/lib/python3.12/site-packages/redis/_parsers/base.py b/venv/lib/python3.12/site-packages/redis/_parsers/base.py index 69d7b58..8e59249 100644 --- a/venv/lib/python3.12/site-packages/redis/_parsers/base.py +++ b/venv/lib/python3.12/site-packages/redis/_parsers/base.py @@ -1,7 +1,7 @@ import sys from abc import ABC from asyncio import IncompleteReadError, StreamReader, TimeoutError -from typing import Callable, List, Optional, Protocol, Union +from typing import List, Optional, Union if sys.version_info.major >= 3 and sys.version_info.minor >= 11: from asyncio import timeout as async_timeout @@ -9,32 +9,26 @@ else: from async_timeout import timeout as async_timeout from ..exceptions import ( - AskError, AuthenticationError, AuthenticationWrongNumberOfArgsError, BusyLoadingError, - ClusterCrossSlotError, - ClusterDownError, ConnectionError, ExecAbortError, - MasterDownError, ModuleError, - MovedError, NoPermissionError, NoScriptError, OutOfMemoryError, ReadOnlyError, RedisError, ResponseError, - TryAgainError, ) from ..typing import EncodableT from .encoders import Encoder from .socket import SERVER_CLOSED_CONNECTION_ERROR, SocketBuffer -MODULE_LOAD_ERROR = "Error loading the extension. Please check the server logs." +MODULE_LOAD_ERROR = "Error loading the extension. " "Please check the server logs." NO_SUCH_MODULE_ERROR = "Error unloading module: no such module with that name" -MODULE_UNLOAD_NOT_POSSIBLE_ERROR = "Error unloading module: operation not possible." +MODULE_UNLOAD_NOT_POSSIBLE_ERROR = "Error unloading module: operation not " "possible." MODULE_EXPORTS_DATA_TYPES_ERROR = ( "Error unloading module: the module " "exports one or more module-side data " @@ -78,12 +72,6 @@ class BaseParser(ABC): "READONLY": ReadOnlyError, "NOAUTH": AuthenticationError, "NOPERM": NoPermissionError, - "ASK": AskError, - "TRYAGAIN": TryAgainError, - "MOVED": MovedError, - "CLUSTERDOWN": ClusterDownError, - "CROSSSLOT": ClusterCrossSlotError, - "MASTERDOWN": MasterDownError, } @classmethod @@ -158,58 +146,6 @@ class AsyncBaseParser(BaseParser): raise NotImplementedError() -_INVALIDATION_MESSAGE = [b"invalidate", "invalidate"] - - -class PushNotificationsParser(Protocol): - """Protocol defining RESP3-specific parsing functionality""" - - pubsub_push_handler_func: Callable - invalidation_push_handler_func: Optional[Callable] = None - - def handle_pubsub_push_response(self, response): - """Handle pubsub push responses""" - raise NotImplementedError() - - def handle_push_response(self, response, **kwargs): - if response[0] not in _INVALIDATION_MESSAGE: - return self.pubsub_push_handler_func(response) - if self.invalidation_push_handler_func: - return self.invalidation_push_handler_func(response) - - def set_pubsub_push_handler(self, pubsub_push_handler_func): - self.pubsub_push_handler_func = pubsub_push_handler_func - - def set_invalidation_push_handler(self, invalidation_push_handler_func): - self.invalidation_push_handler_func = invalidation_push_handler_func - - -class AsyncPushNotificationsParser(Protocol): - """Protocol defining async RESP3-specific parsing functionality""" - - pubsub_push_handler_func: Callable - invalidation_push_handler_func: Optional[Callable] = None - - async def handle_pubsub_push_response(self, response): - """Handle pubsub push responses asynchronously""" - raise NotImplementedError() - - async def handle_push_response(self, response, **kwargs): - """Handle push responses asynchronously""" - if response[0] not in _INVALIDATION_MESSAGE: - return await self.pubsub_push_handler_func(response) - if self.invalidation_push_handler_func: - return await self.invalidation_push_handler_func(response) - - def set_pubsub_push_handler(self, pubsub_push_handler_func): - """Set the pubsub push handler function""" - self.pubsub_push_handler_func = pubsub_push_handler_func - - def set_invalidation_push_handler(self, invalidation_push_handler_func): - """Set the invalidation push handler function""" - self.invalidation_push_handler_func = invalidation_push_handler_func - - class _AsyncRESPBase(AsyncBaseParser): """Base class for async resp parsing""" @@ -246,7 +182,7 @@ class _AsyncRESPBase(AsyncBaseParser): return True try: async with async_timeout(0): - return self._stream.at_eof() + return await self._stream.read(1) except TimeoutError: return False diff --git a/venv/lib/python3.12/site-packages/redis/_parsers/helpers.py b/venv/lib/python3.12/site-packages/redis/_parsers/helpers.py index 154dc66..fb5da83 100644 --- a/venv/lib/python3.12/site-packages/redis/_parsers/helpers.py +++ b/venv/lib/python3.12/site-packages/redis/_parsers/helpers.py @@ -38,7 +38,7 @@ def parse_info(response): response = str_if_bytes(response) def get_value(value): - if "," not in value and "=" not in value: + if "," not in value or "=" not in value: try: if "." in value: return float(value) @@ -46,18 +46,11 @@ def parse_info(response): return int(value) except ValueError: return value - elif "=" not in value: - return [get_value(v) for v in value.split(",") if v] else: sub_dict = {} for item in value.split(","): - if not item: - continue - if "=" in item: - k, v = item.rsplit("=", 1) - sub_dict[k] = get_value(v) - else: - sub_dict[item] = True + k, v = item.rsplit("=", 1) + sub_dict[k] = get_value(v) return sub_dict for line in response.splitlines(): @@ -87,7 +80,7 @@ def parse_memory_stats(response, **kwargs): """Parse the results of MEMORY STATS""" stats = pairs_to_dict(response, decode_keys=True, decode_string_values=True) for key, value in stats.items(): - if key.startswith("db.") and isinstance(value, list): + if key.startswith("db."): stats[key] = pairs_to_dict( value, decode_keys=True, decode_string_values=True ) @@ -275,22 +268,17 @@ def parse_xinfo_stream(response, **options): data = {str_if_bytes(k): v for k, v in response.items()} if not options.get("full", False): first = data.get("first-entry") - if first is not None and first[0] is not None: + if first is not None: data["first-entry"] = (first[0], pairs_to_dict(first[1])) last = data["last-entry"] - if last is not None and last[0] is not None: + if last is not None: data["last-entry"] = (last[0], pairs_to_dict(last[1])) else: data["entries"] = {_id: pairs_to_dict(entry) for _id, entry in data["entries"]} - if len(data["groups"]) > 0 and isinstance(data["groups"][0], list): + if isinstance(data["groups"][0], list): data["groups"] = [ pairs_to_dict(group, decode_keys=True) for group in data["groups"] ] - for g in data["groups"]: - if g["consumers"] and g["consumers"][0] is not None: - g["consumers"] = [ - pairs_to_dict(c, decode_keys=True) for c in g["consumers"] - ] else: data["groups"] = [ {str_if_bytes(k): v for k, v in group.items()} @@ -334,7 +322,7 @@ def float_or_none(response): return float(response) -def bool_ok(response, **options): +def bool_ok(response): return str_if_bytes(response) == "OK" @@ -366,12 +354,7 @@ def parse_scan(response, **options): def parse_hscan(response, **options): cursor, r = response - no_values = options.get("no_values", False) - if no_values: - payload = r or [] - else: - payload = r and pairs_to_dict(r) or {} - return int(cursor), payload + return int(cursor), r and pairs_to_dict(r) or {} def parse_zscan(response, **options): @@ -396,20 +379,13 @@ def parse_slowlog_get(response, **options): # an O(N) complexity) instead of the command. if isinstance(item[3], list): result["command"] = space.join(item[3]) - - # These fields are optional, depends on environment. - if len(item) >= 6: - result["client_address"] = item[4] - result["client_name"] = item[5] + result["client_address"] = item[4] + result["client_name"] = item[5] else: result["complexity"] = item[3] result["command"] = space.join(item[4]) - - # These fields are optional, depends on environment. - if len(item) >= 7: - result["client_address"] = item[5] - result["client_name"] = item[6] - + result["client_address"] = item[5] + result["client_name"] = item[6] return result return [parse_item(item) for item in response] @@ -452,11 +428,9 @@ def parse_cluster_info(response, **options): def _parse_node_line(line): line_items = line.split(" ") node_id, addr, flags, master_id, ping, pong, epoch, connected = line.split(" ")[:8] - ip = addr.split("@")[0] - hostname = addr.split("@")[1].split(",")[1] if "@" in addr and "," in addr else "" + addr = addr.split("@")[0] node_dict = { "node_id": node_id, - "hostname": hostname, "flags": flags, "master_id": master_id, "last_ping_sent": ping, @@ -469,7 +443,7 @@ def _parse_node_line(line): if len(line_items) >= 9: slots, migrations = _parse_slots(line_items[8:]) node_dict["slots"], node_dict["migrations"] = slots, migrations - return ip, node_dict + return addr, node_dict def _parse_slots(slot_ranges): @@ -516,7 +490,7 @@ def parse_geosearch_generic(response, **options): except KeyError: # it means the command was sent via execute_command return response - if not isinstance(response, list): + if type(response) != list: response_list = [response] else: response_list = response @@ -676,8 +650,7 @@ def parse_client_info(value): "omem", "tot-mem", }: - if int_key in client_info: - client_info[int_key] = int(client_info[int_key]) + client_info[int_key] = int(client_info[int_key]) return client_info @@ -840,28 +813,24 @@ _RedisCallbacksRESP2 = { _RedisCallbacksRESP3 = { - **string_keys_to_dict( - "SDIFF SINTER SMEMBERS SUNION", lambda r: r and set(r) or set() - ), **string_keys_to_dict( "ZRANGE ZINTER ZPOPMAX ZPOPMIN ZRANGEBYSCORE ZREVRANGE ZREVRANGEBYSCORE " "ZUNION HGETALL XREADGROUP", lambda r, **kwargs: r, ), **string_keys_to_dict("XREAD XREADGROUP", parse_xread_resp3), - "ACL LOG": lambda r: ( - [ - {str_if_bytes(key): str_if_bytes(value) for key, value in x.items()} - for x in r - ] - if isinstance(r, list) - else bool_ok(r) - ), + "ACL LOG": lambda r: [ + {str_if_bytes(key): str_if_bytes(value) for key, value in x.items()} for x in r + ] + if isinstance(r, list) + else bool_ok(r), "COMMAND": parse_command_resp3, "CONFIG GET": lambda r: { - str_if_bytes(key) if key is not None else None: ( - str_if_bytes(value) if value is not None else None - ) + str_if_bytes(key) + if key is not None + else None: str_if_bytes(value) + if value is not None + else None for key, value in r.items() }, "MEMORY STATS": lambda r: {str_if_bytes(key): value for key, value in r.items()}, @@ -869,11 +838,11 @@ _RedisCallbacksRESP3 = { "SENTINEL MASTERS": parse_sentinel_masters_resp3, "SENTINEL SENTINELS": parse_sentinel_slaves_and_sentinels_resp3, "SENTINEL SLAVES": parse_sentinel_slaves_and_sentinels_resp3, - "STRALGO": lambda r, **options: ( - {str_if_bytes(key): str_if_bytes(value) for key, value in r.items()} - if isinstance(r, dict) - else str_if_bytes(r) - ), + "STRALGO": lambda r, **options: { + str_if_bytes(key): str_if_bytes(value) for key, value in r.items() + } + if isinstance(r, dict) + else str_if_bytes(r), "XINFO CONSUMERS": lambda r: [ {str_if_bytes(key): value for key, value in x.items()} for x in r ], diff --git a/venv/lib/python3.12/site-packages/redis/_parsers/hiredis.py b/venv/lib/python3.12/site-packages/redis/_parsers/hiredis.py index 521a58b..b3247b7 100644 --- a/venv/lib/python3.12/site-packages/redis/_parsers/hiredis.py +++ b/venv/lib/python3.12/site-packages/redis/_parsers/hiredis.py @@ -1,23 +1,19 @@ import asyncio import socket import sys -from logging import getLogger -from typing import Callable, List, Optional, TypedDict, Union +from typing import Callable, List, Optional, Union if sys.version_info.major >= 3 and sys.version_info.minor >= 11: from asyncio import timeout as async_timeout else: from async_timeout import timeout as async_timeout +from redis.compat import TypedDict + from ..exceptions import ConnectionError, InvalidResponse, RedisError from ..typing import EncodableT from ..utils import HIREDIS_AVAILABLE -from .base import ( - AsyncBaseParser, - AsyncPushNotificationsParser, - BaseParser, - PushNotificationsParser, -) +from .base import AsyncBaseParser, BaseParser from .socket import ( NONBLOCKING_EXCEPTION_ERROR_NUMBERS, NONBLOCKING_EXCEPTIONS, @@ -25,11 +21,6 @@ from .socket import ( SERVER_CLOSED_CONNECTION_ERROR, ) -# Used to signal that hiredis-py does not have enough data to parse. -# Using `False` or `None` is not reliable, given that the parser can -# return `False` or `None` for legitimate reasons from RESP payloads. -NOT_ENOUGH_DATA = object() - class _HiredisReaderArgs(TypedDict, total=False): protocolError: Callable[[str], Exception] @@ -38,7 +29,7 @@ class _HiredisReaderArgs(TypedDict, total=False): errors: Optional[str] -class _HiredisParser(BaseParser, PushNotificationsParser): +class _HiredisParser(BaseParser): "Parser class for connections using Hiredis" def __init__(self, socket_read_size): @@ -46,9 +37,6 @@ class _HiredisParser(BaseParser, PushNotificationsParser): raise RedisError("Hiredis is not installed") self.socket_read_size = socket_read_size self._buffer = bytearray(socket_read_size) - self.pubsub_push_handler_func = self.handle_pubsub_push_response - self.invalidation_push_handler_func = None - self._hiredis_PushNotificationType = None def __del__(self): try: @@ -56,11 +44,6 @@ class _HiredisParser(BaseParser, PushNotificationsParser): except Exception: pass - def handle_pubsub_push_response(self, response): - logger = getLogger("push_response") - logger.debug("Push response: " + str(response)) - return response - def on_connect(self, connection, **kwargs): import hiredis @@ -70,32 +53,25 @@ class _HiredisParser(BaseParser, PushNotificationsParser): "protocolError": InvalidResponse, "replyError": self.parse_error, "errors": connection.encoder.encoding_errors, - "notEnoughData": NOT_ENOUGH_DATA, } if connection.encoder.decode_responses: kwargs["encoding"] = connection.encoder.encoding self._reader = hiredis.Reader(**kwargs) - self._next_response = NOT_ENOUGH_DATA - - try: - self._hiredis_PushNotificationType = hiredis.PushNotification - except AttributeError: - # hiredis < 3.2 - self._hiredis_PushNotificationType = None + self._next_response = False def on_disconnect(self): self._sock = None self._reader = None - self._next_response = NOT_ENOUGH_DATA + self._next_response = False def can_read(self, timeout): if not self._reader: raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) - if self._next_response is NOT_ENOUGH_DATA: + if self._next_response is False: self._next_response = self._reader.gets() - if self._next_response is NOT_ENOUGH_DATA: + if self._next_response is False: return self.read_from_socket(timeout=timeout, raise_on_timeout=False) return True @@ -129,24 +105,14 @@ class _HiredisParser(BaseParser, PushNotificationsParser): if custom_timeout: sock.settimeout(self._socket_timeout) - def read_response(self, disable_decoding=False, push_request=False): + def read_response(self, disable_decoding=False): if not self._reader: raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) # _next_response might be cached from a can_read() call - if self._next_response is not NOT_ENOUGH_DATA: + if self._next_response is not False: response = self._next_response - self._next_response = NOT_ENOUGH_DATA - if self._hiredis_PushNotificationType is not None and isinstance( - response, self._hiredis_PushNotificationType - ): - response = self.handle_push_response(response) - if not push_request: - return self.read_response( - disable_decoding=disable_decoding, push_request=push_request - ) - else: - return response + self._next_response = False return response if disable_decoding: @@ -154,7 +120,7 @@ class _HiredisParser(BaseParser, PushNotificationsParser): else: response = self._reader.gets() - while response is NOT_ENOUGH_DATA: + while response is False: self.read_from_socket() if disable_decoding: response = self._reader.gets(False) @@ -165,16 +131,6 @@ class _HiredisParser(BaseParser, PushNotificationsParser): # happened if isinstance(response, ConnectionError): raise response - elif self._hiredis_PushNotificationType is not None and isinstance( - response, self._hiredis_PushNotificationType - ): - response = self.handle_push_response(response) - if not push_request: - return self.read_response( - disable_decoding=disable_decoding, push_request=push_request - ) - else: - return response elif ( isinstance(response, list) and response @@ -184,7 +140,7 @@ class _HiredisParser(BaseParser, PushNotificationsParser): return response -class _AsyncHiredisParser(AsyncBaseParser, AsyncPushNotificationsParser): +class _AsyncHiredisParser(AsyncBaseParser): """Async implementation of parser class for connections using Hiredis""" __slots__ = ("_reader",) @@ -194,14 +150,6 @@ class _AsyncHiredisParser(AsyncBaseParser, AsyncPushNotificationsParser): raise RedisError("Hiredis is not available.") super().__init__(socket_read_size=socket_read_size) self._reader = None - self.pubsub_push_handler_func = self.handle_pubsub_push_response - self.invalidation_push_handler_func = None - self._hiredis_PushNotificationType = None - - async def handle_pubsub_push_response(self, response): - logger = getLogger("push_response") - logger.debug("Push response: " + str(response)) - return response def on_connect(self, connection): import hiredis @@ -210,7 +158,6 @@ class _AsyncHiredisParser(AsyncBaseParser, AsyncPushNotificationsParser): kwargs: _HiredisReaderArgs = { "protocolError": InvalidResponse, "replyError": self.parse_error, - "notEnoughData": NOT_ENOUGH_DATA, } if connection.encoder.decode_responses: kwargs["encoding"] = connection.encoder.encoding @@ -219,21 +166,13 @@ class _AsyncHiredisParser(AsyncBaseParser, AsyncPushNotificationsParser): self._reader = hiredis.Reader(**kwargs) self._connected = True - try: - self._hiredis_PushNotificationType = getattr( - hiredis, "PushNotification", None - ) - except AttributeError: - # hiredis < 3.2 - self._hiredis_PushNotificationType = None - def on_disconnect(self): self._connected = False async def can_read_destructive(self): if not self._connected: raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) - if self._reader.gets() is not NOT_ENOUGH_DATA: + if self._reader.gets(): return True try: async with async_timeout(0): @@ -251,7 +190,7 @@ class _AsyncHiredisParser(AsyncBaseParser, AsyncPushNotificationsParser): return True async def read_response( - self, disable_decoding: bool = False, push_request: bool = False + self, disable_decoding: bool = False ) -> Union[EncodableT, List[EncodableT]]: # If `on_disconnect()` has been called, prohibit any more reads # even if they could happen because data might be present. @@ -259,33 +198,16 @@ class _AsyncHiredisParser(AsyncBaseParser, AsyncPushNotificationsParser): if not self._connected: raise ConnectionError(SERVER_CLOSED_CONNECTION_ERROR) from None - if disable_decoding: - response = self._reader.gets(False) - else: - response = self._reader.gets() - - while response is NOT_ENOUGH_DATA: + response = self._reader.gets() + while response is False: await self.read_from_socket() - if disable_decoding: - response = self._reader.gets(False) - else: - response = self._reader.gets() + response = self._reader.gets() # if the response is a ConnectionError or the response is a list and # the first item is a ConnectionError, raise it as something bad # happened if isinstance(response, ConnectionError): raise response - elif self._hiredis_PushNotificationType is not None and isinstance( - response, self._hiredis_PushNotificationType - ): - response = await self.handle_push_response(response) - if not push_request: - return await self.read_response( - disable_decoding=disable_decoding, push_request=push_request - ) - else: - return response elif ( isinstance(response, list) and response diff --git a/venv/lib/python3.12/site-packages/redis/_parsers/resp3.py b/venv/lib/python3.12/site-packages/redis/_parsers/resp3.py index 42c6652..ad766a8 100644 --- a/venv/lib/python3.12/site-packages/redis/_parsers/resp3.py +++ b/venv/lib/python3.12/site-packages/redis/_parsers/resp3.py @@ -3,26 +3,20 @@ from typing import Any, Union from ..exceptions import ConnectionError, InvalidResponse, ResponseError from ..typing import EncodableT -from .base import ( - AsyncPushNotificationsParser, - PushNotificationsParser, - _AsyncRESPBase, - _RESPBase, -) +from .base import _AsyncRESPBase, _RESPBase from .socket import SERVER_CLOSED_CONNECTION_ERROR -class _RESP3Parser(_RESPBase, PushNotificationsParser): +class _RESP3Parser(_RESPBase): """RESP3 protocol implementation""" def __init__(self, socket_read_size): super().__init__(socket_read_size) - self.pubsub_push_handler_func = self.handle_pubsub_push_response - self.invalidation_push_handler_func = None + self.push_handler_func = self.handle_push_response - def handle_pubsub_push_response(self, response): + def handle_push_response(self, response): logger = getLogger("push_response") - logger.debug("Push response: " + str(response)) + logger.info("Push response: " + str(response)) return response def read_response(self, disable_decoding=False, push_request=False): @@ -91,16 +85,19 @@ class _RESP3Parser(_RESPBase, PushNotificationsParser): # set response elif byte == b"~": # redis can return unhashable types (like dict) in a set, - # so we return sets as list, all the time, for predictability + # so we need to first convert to a list, and then try to convert it to a set response = [ self._read_response(disable_decoding=disable_decoding) for _ in range(int(response)) ] + try: + response = set(response) + except TypeError: + pass # map response elif byte == b"%": - # We cannot use a dict-comprehension to parse stream. - # Evaluation order of key:val expression in dict comprehension only - # became defined to be left-right in version 3.8 + # we use this approach and not dict comprehension here + # because this dict comprehension fails in python 3.7 resp_dict = {} for _ in range(int(response)): key = self._read_response(disable_decoding=disable_decoding) @@ -116,13 +113,13 @@ class _RESP3Parser(_RESPBase, PushNotificationsParser): ) for _ in range(int(response)) ] - response = self.handle_push_response(response) + res = self.push_handler_func(response) if not push_request: return self._read_response( disable_decoding=disable_decoding, push_request=push_request ) else: - return response + return res else: raise InvalidResponse(f"Protocol Error: {raw!r}") @@ -130,16 +127,18 @@ class _RESP3Parser(_RESPBase, PushNotificationsParser): response = self.encoder.decode(response) return response + def set_push_handler(self, push_handler_func): + self.push_handler_func = push_handler_func -class _AsyncRESP3Parser(_AsyncRESPBase, AsyncPushNotificationsParser): + +class _AsyncRESP3Parser(_AsyncRESPBase): def __init__(self, socket_read_size): super().__init__(socket_read_size) - self.pubsub_push_handler_func = self.handle_pubsub_push_response - self.invalidation_push_handler_func = None + self.push_handler_func = self.handle_push_response - async def handle_pubsub_push_response(self, response): + def handle_push_response(self, response): logger = getLogger("push_response") - logger.debug("Push response: " + str(response)) + logger.info("Push response: " + str(response)) return response async def read_response( @@ -215,23 +214,23 @@ class _AsyncRESP3Parser(_AsyncRESPBase, AsyncPushNotificationsParser): # set response elif byte == b"~": # redis can return unhashable types (like dict) in a set, - # so we always convert to a list, to have predictable return types + # so we need to first convert to a list, and then try to convert it to a set response = [ (await self._read_response(disable_decoding=disable_decoding)) for _ in range(int(response)) ] + try: + response = set(response) + except TypeError: + pass # map response elif byte == b"%": - # We cannot use a dict-comprehension to parse stream. - # Evaluation order of key:val expression in dict comprehension only - # became defined to be left-right in version 3.8 - resp_dict = {} - for _ in range(int(response)): - key = await self._read_response(disable_decoding=disable_decoding) - resp_dict[key] = await self._read_response( - disable_decoding=disable_decoding, push_request=push_request + response = { + (await self._read_response(disable_decoding=disable_decoding)): ( + await self._read_response(disable_decoding=disable_decoding) ) - response = resp_dict + for _ in range(int(response)) + } # push response elif byte == b">": response = [ @@ -242,16 +241,19 @@ class _AsyncRESP3Parser(_AsyncRESPBase, AsyncPushNotificationsParser): ) for _ in range(int(response)) ] - response = await self.handle_push_response(response) + res = self.push_handler_func(response) if not push_request: return await self._read_response( disable_decoding=disable_decoding, push_request=push_request ) else: - return response + return res else: raise InvalidResponse(f"Protocol Error: {raw!r}") if isinstance(response, bytes) and disable_decoding is False: response = self.encoder.decode(response) return response + + def set_push_handler(self, push_handler_func): + self.push_handler_func = push_handler_func diff --git a/venv/lib/python3.12/site-packages/redis/asyncio/client.py b/venv/lib/python3.12/site-packages/redis/asyncio/client.py index aac4090..e4d2e77 100644 --- a/venv/lib/python3.12/site-packages/redis/asyncio/client.py +++ b/venv/lib/python3.12/site-packages/redis/asyncio/client.py @@ -15,11 +15,9 @@ from typing import ( Mapping, MutableMapping, Optional, - Protocol, Set, Tuple, Type, - TypedDict, TypeVar, Union, cast, @@ -39,7 +37,6 @@ from redis.asyncio.connection import ( ) from redis.asyncio.lock import Lock from redis.asyncio.retry import Retry -from redis.backoff import ExponentialWithJitterBackoff from redis.client import ( EMPTY_RESPONSE, NEVER_DECODE, @@ -52,40 +49,27 @@ from redis.commands import ( AsyncSentinelCommands, list_or_args, ) +from redis.compat import Protocol, TypedDict from redis.credentials import CredentialProvider -from redis.event import ( - AfterPooledConnectionsInstantiationEvent, - AfterPubSubConnectionInstantiationEvent, - AfterSingleConnectionInstantiationEvent, - ClientType, - EventDispatcher, -) from redis.exceptions import ( ConnectionError, ExecAbortError, PubSubError, RedisError, ResponseError, + TimeoutError, WatchError, ) from redis.typing import ChannelT, EncodableT, KeyT from redis.utils import ( - SSL_AVAILABLE, + HIREDIS_AVAILABLE, _set_info_logger, - deprecated_args, deprecated_function, get_lib_version, safe_str, str_if_bytes, - truncate_text, ) -if TYPE_CHECKING and SSL_AVAILABLE: - from ssl import TLSVersion, VerifyMode -else: - TLSVersion = None - VerifyMode = None - PubSubHandler = Callable[[Dict[str, str]], Awaitable[None]] _KeyT = TypeVar("_KeyT", bound=KeyT) _ArgT = TypeVar("_ArgT", KeyT, EncodableT) @@ -96,11 +80,13 @@ if TYPE_CHECKING: class ResponseCallbackProtocol(Protocol): - def __call__(self, response: Any, **kwargs): ... + def __call__(self, response: Any, **kwargs): + ... class AsyncResponseCallbackProtocol(Protocol): - async def __call__(self, response: Any, **kwargs): ... + async def __call__(self, response: Any, **kwargs): + ... ResponseCallbackT = Union[ResponseCallbackProtocol, AsyncResponseCallbackProtocol] @@ -182,7 +168,7 @@ class Redis( warnings.warn( DeprecationWarning( '"auto_close_connection_pool" is deprecated ' - "since version 5.0.1. " + "since version 5.0.0. " "Please create a ConnectionPool explicitly and " "provide to the Redis() constructor instead." ) @@ -208,11 +194,6 @@ class Redis( client.auto_close_connection_pool = True return client - @deprecated_args( - args_to_warn=["retry_on_timeout"], - reason="TimeoutError is included by default.", - version="6.0.0", - ) def __init__( self, *, @@ -230,19 +211,14 @@ class Redis( encoding_errors: str = "strict", decode_responses: bool = False, retry_on_timeout: bool = False, - retry: Retry = Retry( - backoff=ExponentialWithJitterBackoff(base=1, cap=10), retries=3 - ), retry_on_error: Optional[list] = None, ssl: bool = False, ssl_keyfile: Optional[str] = None, ssl_certfile: Optional[str] = None, - ssl_cert_reqs: Union[str, VerifyMode] = "required", + ssl_cert_reqs: str = "required", ssl_ca_certs: Optional[str] = None, ssl_ca_data: Optional[str] = None, - ssl_check_hostname: bool = True, - ssl_min_version: Optional[TLSVersion] = None, - ssl_ciphers: Optional[str] = None, + ssl_check_hostname: bool = False, max_connections: Optional[int] = None, single_connection_client: bool = False, health_check_interval: int = 0, @@ -250,38 +226,20 @@ class Redis( lib_name: Optional[str] = "redis-py", lib_version: Optional[str] = get_lib_version(), username: Optional[str] = None, + retry: Optional[Retry] = None, auto_close_connection_pool: Optional[bool] = None, redis_connect_func=None, credential_provider: Optional[CredentialProvider] = None, protocol: Optional[int] = 2, - event_dispatcher: Optional[EventDispatcher] = None, ): """ Initialize a new Redis client. - - To specify a retry policy for specific errors, you have two options: - - 1. Set the `retry_on_error` to a list of the error/s to retry on, and - you can also set `retry` to a valid `Retry` object(in case the default - one is not appropriate) - with this approach the retries will be triggered - on the default errors specified in the Retry object enriched with the - errors specified in `retry_on_error`. - - 2. Define a `Retry` object with configured 'supported_errors' and set - it to the `retry` parameter - with this approach you completely redefine - the errors on which retries will happen. - - `retry_on_timeout` is deprecated - please include the TimeoutError - either in the Retry object or in the `retry_on_error` list. - - When 'connection_pool' is provided - the retry configuration of the - provided pool will be used. + To specify a retry policy for specific errors, first set + `retry_on_error` to a list of the error/s to retry on, then set + `retry` to a valid `Retry` object. + To retry on TimeoutError, `retry_on_timeout` can also be set to `True`. """ kwargs: Dict[str, Any] - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher # auto_close_connection_pool only has an effect if connection_pool is # None. It is assumed that if connection_pool is not None, the user # wants to manage the connection pool themselves. @@ -289,7 +247,7 @@ class Redis( warnings.warn( DeprecationWarning( '"auto_close_connection_pool" is deprecated ' - "since version 5.0.1. " + "since version 5.0.0. " "Please create a ConnectionPool explicitly and " "provide to the Redis() constructor instead." ) @@ -301,6 +259,8 @@ class Redis( # Create internal connection pool, expected to be closed by Redis instance if not retry_on_error: retry_on_error = [] + if retry_on_timeout is True: + retry_on_error.append(TimeoutError) kwargs = { "db": db, "username": username, @@ -310,6 +270,7 @@ class Redis( "encoding": encoding, "encoding_errors": encoding_errors, "decode_responses": decode_responses, + "retry_on_timeout": retry_on_timeout, "retry_on_error": retry_on_error, "retry": copy.deepcopy(retry), "max_connections": max_connections, @@ -350,26 +311,14 @@ class Redis( "ssl_ca_certs": ssl_ca_certs, "ssl_ca_data": ssl_ca_data, "ssl_check_hostname": ssl_check_hostname, - "ssl_min_version": ssl_min_version, - "ssl_ciphers": ssl_ciphers, } ) # This arg only used if no pool is passed in self.auto_close_connection_pool = auto_close_connection_pool connection_pool = ConnectionPool(**kwargs) - self._event_dispatcher.dispatch( - AfterPooledConnectionsInstantiationEvent( - [connection_pool], ClientType.ASYNC, credential_provider - ) - ) else: # If a pool is passed in, do not close it self.auto_close_connection_pool = False - self._event_dispatcher.dispatch( - AfterPooledConnectionsInstantiationEvent( - [connection_pool], ClientType.ASYNC, credential_provider - ) - ) self.connection_pool = connection_pool self.single_connection_client = single_connection_client @@ -388,10 +337,7 @@ class Redis( self._single_conn_lock = asyncio.Lock() def __repr__(self): - return ( - f"<{self.__class__.__module__}.{self.__class__.__name__}" - f"({self.connection_pool!r})>" - ) + return f"{self.__class__.__name__}<{self.connection_pool!r}>" def __await__(self): return self.initialize().__await__() @@ -400,13 +346,7 @@ class Redis( if self.single_connection_client: async with self._single_conn_lock: if self.connection is None: - self.connection = await self.connection_pool.get_connection() - - self._event_dispatcher.dispatch( - AfterSingleConnectionInstantiationEvent( - self.connection, ClientType.ASYNC, self._single_conn_lock - ) - ) + self.connection = await self.connection_pool.get_connection("_") return self def set_response_callback(self, command: str, callback: ResponseCallbackT): @@ -421,10 +361,10 @@ class Redis( """Get the connection's key-word arguments""" return self.connection_pool.connection_kwargs - def get_retry(self) -> Optional[Retry]: + def get_retry(self) -> Optional["Retry"]: return self.get_connection_kwargs().get("retry") - def set_retry(self, retry: Retry) -> None: + def set_retry(self, retry: "Retry") -> None: self.get_connection_kwargs().update({"retry": retry}) self.connection_pool.set_retry(retry) @@ -503,7 +443,6 @@ class Redis( blocking_timeout: Optional[float] = None, lock_class: Optional[Type[Lock]] = None, thread_local: bool = True, - raise_on_release_error: bool = True, ) -> Lock: """ Return a new Lock object using key ``name`` that mimics @@ -550,11 +489,6 @@ class Redis( thread-1 would see the token value as "xyz" and would be able to successfully release the thread-2's lock. - ``raise_on_release_error`` indicates whether to raise an exception when - the lock is no longer owned when exiting the context manager. By default, - this is True, meaning an exception will be raised. If False, the warning - will be logged and the exception will be suppressed. - In some use cases it's necessary to disable thread local storage. For example, if you have code where one thread acquires a lock and passes that lock instance to a worker thread to release later. If thread @@ -572,7 +506,6 @@ class Redis( blocking=blocking, blocking_timeout=blocking_timeout, thread_local=thread_local, - raise_on_release_error=raise_on_release_error, ) def pubsub(self, **kwargs) -> "PubSub": @@ -581,9 +514,7 @@ class Redis( subscribe to channels and listen for messages that get published to them. """ - return PubSub( - self.connection_pool, event_dispatcher=self._event_dispatcher, **kwargs - ) + return PubSub(self.connection_pool, **kwargs) def monitor(self) -> "Monitor": return Monitor(self.connection_pool) @@ -615,18 +546,15 @@ class Redis( _grl().call_exception_handler(context) except RuntimeError: pass - self.connection._close() async def aclose(self, close_connection_pool: Optional[bool] = None) -> None: """ Closes Redis client connection - Args: - close_connection_pool: - decides whether to close the connection pool used by this Redis client, - overriding Redis.auto_close_connection_pool. - By default, let Redis.auto_close_connection_pool decide - whether to close the connection pool. + :param close_connection_pool: decides whether to close the connection pool used + by this Redis client, overriding Redis.auto_close_connection_pool. By default, + let Redis.auto_close_connection_pool decide whether to close the connection + pool. """ conn = self.connection if conn: @@ -637,7 +565,7 @@ class Redis( ): await self.connection_pool.disconnect() - @deprecated_function(version="5.0.1", reason="Use aclose() instead", name="close") + @deprecated_function(version="5.0.0", reason="Use aclose() instead", name="close") async def close(self, close_connection_pool: Optional[bool] = None) -> None: """ Alias for aclose(), for backwards compatibility @@ -651,17 +579,18 @@ class Redis( await conn.send_command(*args) return await self.parse_response(conn, command_name, **options) - async def _close_connection(self, conn: Connection): + async def _disconnect_raise(self, conn: Connection, error: Exception): """ - Close the connection before retrying. - - The supported exceptions are already checked in the - retry object so we don't need to do it here. - - After we disconnect the connection, it will try to reconnect and - do a health check as part of the send_command logic(on connection level). + Close the connection and raise an exception + if retry_on_error is not set or the error + is not one of the specified error types """ await conn.disconnect() + if ( + conn.retry_on_error is None + or isinstance(error, tuple(conn.retry_on_error)) is False + ): + raise error # COMMAND EXECUTION AND PROTOCOL PARSING async def execute_command(self, *args, **options): @@ -669,7 +598,7 @@ class Redis( await self.initialize() pool = self.connection_pool command_name = args[0] - conn = self.connection or await pool.get_connection() + conn = self.connection or await pool.get_connection(command_name, **options) if self.single_connection_client: await self._single_conn_lock.acquire() @@ -678,7 +607,7 @@ class Redis( lambda: self._send_command_parse_response( conn, command_name, *args, **options ), - lambda _: self._close_connection(conn), + lambda error: self._disconnect_raise(conn, error), ) finally: if self.single_connection_client: @@ -704,9 +633,6 @@ class Redis( if EMPTY_RESPONSE in options: options.pop(EMPTY_RESPONSE) - # Remove keys entry, it needs only for cache. - options.pop("keys", None) - if command_name in self.response_callbacks: # Mypy bug: https://github.com/python/mypy/issues/10977 command_name = cast(str, command_name) @@ -743,7 +669,7 @@ class Monitor: async def connect(self): if self.connection is None: - self.connection = await self.connection_pool.get_connection() + self.connection = await self.connection_pool.get_connection("MONITOR") async def __aenter__(self): await self.connect() @@ -820,12 +746,7 @@ class PubSub: ignore_subscribe_messages: bool = False, encoder=None, push_handler_func: Optional[Callable] = None, - event_dispatcher: Optional["EventDispatcher"] = None, ): - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher self.connection_pool = connection_pool self.shard_hint = shard_hint self.ignore_subscribe_messages = ignore_subscribe_messages @@ -862,7 +783,7 @@ class PubSub: def __del__(self): if self.connection: - self.connection.deregister_connect_callback(self.on_connect) + self.connection._deregister_connect_callback(self.on_connect) async def aclose(self): # In case a connection property does not yet exist @@ -873,7 +794,7 @@ class PubSub: async with self._lock: if self.connection: await self.connection.disconnect() - self.connection.deregister_connect_callback(self.on_connect) + self.connection._deregister_connect_callback(self.on_connect) await self.connection_pool.release(self.connection) self.connection = None self.channels = {} @@ -881,12 +802,12 @@ class PubSub: self.patterns = {} self.pending_unsubscribe_patterns = set() - @deprecated_function(version="5.0.1", reason="Use aclose() instead", name="close") + @deprecated_function(version="5.0.0", reason="Use aclose() instead", name="close") async def close(self) -> None: """Alias for aclose(), for backwards compatibility""" await self.aclose() - @deprecated_function(version="5.0.1", reason="Use aclose() instead", name="reset") + @deprecated_function(version="5.0.0", reason="Use aclose() instead", name="reset") async def reset(self) -> None: """Alias for aclose(), for backwards compatibility""" await self.aclose() @@ -931,26 +852,26 @@ class PubSub: Ensure that the PubSub is connected """ if self.connection is None: - self.connection = await self.connection_pool.get_connection() + self.connection = await self.connection_pool.get_connection( + "pubsub", self.shard_hint + ) # register a callback that re-subscribes to any channels we # were listening to when we were disconnected - self.connection.register_connect_callback(self.on_connect) + self.connection._register_connect_callback(self.on_connect) else: await self.connection.connect() - if self.push_handler_func is not None: - self.connection._parser.set_pubsub_push_handler(self.push_handler_func) + if self.push_handler_func is not None and not HIREDIS_AVAILABLE: + self.connection._parser.set_push_handler(self.push_handler_func) - self._event_dispatcher.dispatch( - AfterPubSubConnectionInstantiationEvent( - self.connection, self.connection_pool, ClientType.ASYNC, self._lock - ) - ) - - async def _reconnect(self, conn): + async def _disconnect_raise_connect(self, conn, error): """ - Try to reconnect + Close the connection and raise an exception + if retry_on_timeout is not set or the error + is not a TimeoutError. Otherwise, try to reconnect """ await conn.disconnect() + if not (conn.retry_on_timeout and isinstance(error, TimeoutError)): + raise error await conn.connect() async def _execute(self, conn, command, *args, **kwargs): @@ -963,7 +884,7 @@ class PubSub: """ return await conn.retry.call_with_retry( lambda: command(*args, **kwargs), - lambda _: self._reconnect(conn), + lambda error: self._disconnect_raise_connect(conn, error), ) async def parse_response(self, block: bool = True, timeout: float = 0): @@ -1232,11 +1153,13 @@ class PubSub: class PubsubWorkerExceptionHandler(Protocol): - def __call__(self, e: BaseException, pubsub: PubSub): ... + def __call__(self, e: BaseException, pubsub: PubSub): + ... class AsyncPubsubWorkerExceptionHandler(Protocol): - async def __call__(self, e: BaseException, pubsub: PubSub): ... + async def __call__(self, e: BaseException, pubsub: PubSub): + ... PSWorkerThreadExcHandlerT = Union[ @@ -1254,8 +1177,7 @@ class Pipeline(Redis): # lgtm [py/init-calls-subclass] in one transmission. This is convenient for batch processing, such as saving all the values in a list to Redis. - All commands executed within a pipeline(when running in transactional mode, - which is the default behavior) are wrapped with MULTI and EXEC + All commands executed within a pipeline are wrapped with MULTI and EXEC calls. This guarantees all commands executed in the pipeline will be executed atomically. @@ -1284,7 +1206,7 @@ class Pipeline(Redis): # lgtm [py/init-calls-subclass] self.shard_hint = shard_hint self.watching = False self.command_stack: CommandStackT = [] - self.scripts: Set[Script] = set() + self.scripts: Set["Script"] = set() self.explicit_transaction = False async def __aenter__(self: _RedisT) -> _RedisT: @@ -1356,50 +1278,49 @@ class Pipeline(Redis): # lgtm [py/init-calls-subclass] return self.immediate_execute_command(*args, **kwargs) return self.pipeline_execute_command(*args, **kwargs) - async def _disconnect_reset_raise_on_watching( - self, - conn: Connection, - error: Exception, - ): + async def _disconnect_reset_raise(self, conn, error): """ - Close the connection reset watching state and - raise an exception if we were watching. - - The supported exceptions are already checked in the - retry object so we don't need to do it here. - - After we disconnect the connection, it will try to reconnect and - do a health check as part of the send_command logic(on connection level). + Close the connection, reset watching state and + raise an exception if we were watching, + retry_on_timeout is not set, + or the error is not a TimeoutError """ await conn.disconnect() # if we were already watching a variable, the watch is no longer # valid since this connection has died. raise a WatchError, which # indicates the user should retry this transaction. if self.watching: - await self.reset() + await self.aclose() raise WatchError( - f"A {type(error).__name__} occurred while watching one or more keys" + "A ConnectionError occurred on while watching one or more keys" ) + # if retry_on_timeout is not set, or the error is not + # a TimeoutError, raise it + if not (conn.retry_on_timeout and isinstance(error, TimeoutError)): + await self.aclose() + raise async def immediate_execute_command(self, *args, **options): """ - Execute a command immediately, but don't auto-retry on the supported - errors for retry if we're already WATCHing a variable. - Used when issuing WATCH or subsequent commands retrieving their values but before + Execute a command immediately, but don't auto-retry on a + ConnectionError if we're already WATCHing a variable. Used when + issuing WATCH or subsequent commands retrieving their values but before MULTI is called. """ command_name = args[0] conn = self.connection # if this is the first call, we need a connection if not conn: - conn = await self.connection_pool.get_connection() + conn = await self.connection_pool.get_connection( + command_name, self.shard_hint + ) self.connection = conn return await conn.retry.call_with_retry( lambda: self._send_command_parse_response( conn, command_name, *args, **options ), - lambda error: self._disconnect_reset_raise_on_watching(conn, error), + lambda error: self._disconnect_reset_raise(conn, error), ) def pipeline_execute_command(self, *args, **options): @@ -1484,10 +1405,6 @@ class Pipeline(Redis): # lgtm [py/init-calls-subclass] if not isinstance(r, Exception): args, options = cmd command_name = args[0] - - # Remove keys entry, it needs only for cache. - options.pop("keys", None) - if command_name in self.response_callbacks: r = self.response_callbacks[command_name](r, **options) if inspect.isawaitable(r): @@ -1525,10 +1442,7 @@ class Pipeline(Redis): # lgtm [py/init-calls-subclass] self, exception: Exception, number: int, command: Iterable[object] ) -> None: cmd = " ".join(map(safe_str, command)) - msg = ( - f"Command # {number} ({truncate_text(cmd)}) " - "of pipeline caused error: {exception.args}" - ) + msg = f"Command # {number} ({cmd}) of pipeline caused error: {exception.args}" exception.args = (msg,) + exception.args[1:] async def parse_response( @@ -1554,15 +1468,11 @@ class Pipeline(Redis): # lgtm [py/init-calls-subclass] if not exist: s.sha = await immediate("SCRIPT LOAD", s.script) - async def _disconnect_raise_on_watching(self, conn: Connection, error: Exception): + async def _disconnect_raise_reset(self, conn: Connection, error: Exception): """ - Close the connection, raise an exception if we were watching. - - The supported exceptions are already checked in the - retry object so we don't need to do it here. - - After we disconnect the connection, it will try to reconnect and - do a health check as part of the send_command logic(on connection level). + Close the connection, raise an exception if we were watching, + and raise an exception if retry_on_timeout is not set, + or the error is not a TimeoutError """ await conn.disconnect() # if we were watching a variable, the watch is no longer valid @@ -1570,10 +1480,15 @@ class Pipeline(Redis): # lgtm [py/init-calls-subclass] # indicates the user should retry this transaction. if self.watching: raise WatchError( - f"A {type(error).__name__} occurred while watching one or more keys" + "A ConnectionError occurred on while watching one or more keys" ) + # if retry_on_timeout is not set, or the error is not + # a TimeoutError, raise it + if not (conn.retry_on_timeout and isinstance(error, TimeoutError)): + await self.reset() + raise - async def execute(self, raise_on_error: bool = True) -> List[Any]: + async def execute(self, raise_on_error: bool = True): """Execute all the commands in the current pipeline""" stack = self.command_stack if not stack and not self.watching: @@ -1587,7 +1502,7 @@ class Pipeline(Redis): # lgtm [py/init-calls-subclass] conn = self.connection if not conn: - conn = await self.connection_pool.get_connection() + conn = await self.connection_pool.get_connection("MULTI", self.shard_hint) # assign to self.connection so reset() releases the connection # back to the pool after we're done self.connection = conn @@ -1596,7 +1511,7 @@ class Pipeline(Redis): # lgtm [py/init-calls-subclass] try: return await conn.retry.call_with_retry( lambda: execute(conn, stack, raise_on_error), - lambda error: self._disconnect_raise_on_watching(conn, error), + lambda error: self._disconnect_raise_reset(conn, error), ) finally: await self.reset() diff --git a/venv/lib/python3.12/site-packages/redis/asyncio/cluster.py b/venv/lib/python3.12/site-packages/redis/asyncio/cluster.py index e8434d0..636144a 100644 --- a/venv/lib/python3.12/site-packages/redis/asyncio/cluster.py +++ b/venv/lib/python3.12/site-packages/redis/asyncio/cluster.py @@ -2,23 +2,16 @@ import asyncio import collections import random import socket -import threading -import time import warnings -from abc import ABC, abstractmethod -from copy import copy -from itertools import chain from typing import ( Any, Callable, - Coroutine, Deque, Dict, Generator, List, Mapping, Optional, - Set, Tuple, Type, TypeVar, @@ -32,11 +25,10 @@ from redis._parsers.helpers import ( _RedisCallbacksRESP3, ) from redis.asyncio.client import ResponseCallbackT -from redis.asyncio.connection import Connection, SSLConnection, parse_url +from redis.asyncio.connection import Connection, DefaultParser, SSLConnection, parse_url from redis.asyncio.lock import Lock from redis.asyncio.retry import Retry -from redis.auth.token import TokenInterface -from redis.backoff import ExponentialWithJitterBackoff, NoBackoff +from redis.backoff import default_backoff from redis.client import EMPTY_RESPONSE, NEVER_DECODE, AbstractRedis from redis.cluster import ( PIPELINE_BLOCKED_COMMANDS, @@ -45,7 +37,6 @@ from redis.cluster import ( SLOT_ID, AbstractRedisCluster, LoadBalancer, - LoadBalancingStrategy, block_pipeline_command, get_node_name, parse_cluster_slots, @@ -53,49 +44,51 @@ from redis.cluster import ( from redis.commands import READ_COMMANDS, AsyncRedisClusterCommands from redis.crc import REDIS_CLUSTER_HASH_SLOTS, key_slot from redis.credentials import CredentialProvider -from redis.event import AfterAsyncClusterInstantiationEvent, EventDispatcher from redis.exceptions import ( AskError, BusyLoadingError, + ClusterCrossSlotError, ClusterDownError, ClusterError, ConnectionError, - CrossSlotTransactionError, DataError, - ExecAbortError, - InvalidPipelineStack, + MasterDownError, MaxConnectionsError, MovedError, RedisClusterException, - RedisError, ResponseError, SlotNotCoveredError, TimeoutError, TryAgainError, - WatchError, ) from redis.typing import AnyKeyT, EncodableT, KeyT from redis.utils import ( - SSL_AVAILABLE, - deprecated_args, deprecated_function, + dict_merge, get_lib_version, safe_str, str_if_bytes, - truncate_text, ) -if SSL_AVAILABLE: - from ssl import TLSVersion, VerifyMode -else: - TLSVersion = None - VerifyMode = None - TargetNodesT = TypeVar( "TargetNodesT", str, "ClusterNode", List["ClusterNode"], Dict[Any, "ClusterNode"] ) +class ClusterParser(DefaultParser): + EXCEPTION_CLASSES = dict_merge( + DefaultParser.EXCEPTION_CLASSES, + { + "ASK": AskError, + "CLUSTERDOWN": ClusterDownError, + "CROSSSLOT": ClusterCrossSlotError, + "MASTERDOWN": MasterDownError, + "MOVED": MovedError, + "TRYAGAIN": TryAgainError, + }, + ) + + class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommands): """ Create a new RedisCluster client. @@ -136,23 +129,9 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand | See: https://redis.io/docs/manual/scaling/#redis-cluster-configuration-parameters :param read_from_replicas: - | @deprecated - please use load_balancing_strategy instead - | Enable read from replicas in READONLY mode. + | Enable read from replicas in READONLY mode. You can read possibly stale data. When set to true, read commands will be assigned between the primary and its replications in a Round-Robin manner. - The data read from replicas is eventually consistent with the data in primary nodes. - :param load_balancing_strategy: - | Enable read from replicas in READONLY mode and defines the load balancing - strategy that will be used for cluster node selection. - The data read from replicas is eventually consistent with the data in primary nodes. - :param dynamic_startup_nodes: - | Set the RedisCluster's startup nodes to all the discovered nodes. - If true (default value), the cluster's discovered nodes will be used to - determine the cluster nodes-slots mapping in the next topology refresh. - It will remove the initial passed startup nodes if their endpoints aren't - listed in the CLUSTER SLOTS output. - If you use dynamic DNS endpoints for startup nodes but CLUSTER SLOTS lists - specific IP addresses, it is best to set it to false. :param reinitialize_steps: | Specifies the number of MOVED errors that need to occur before reinitializing the whole cluster topology. If a MOVED error occurs and the cluster does not @@ -162,23 +141,19 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand To avoid reinitializing the cluster on moved errors, set reinitialize_steps to 0. :param cluster_error_retry_attempts: - | @deprecated - Please configure the 'retry' object instead - In case 'retry' object is set - this argument is ignored! - - Number of times to retry before raising an error when :class:`~.TimeoutError`, - :class:`~.ConnectionError`, :class:`~.SlotNotCoveredError` - or :class:`~.ClusterDownError` are encountered - :param retry: - | A retry object that defines the retry strategy and the number of - retries for the cluster client. - In current implementation for the cluster client (starting form redis-py version 6.0.0) - the retry object is not yet fully utilized, instead it is used just to determine - the number of retries for the cluster client. - In the future releases the retry object will be used to handle the cluster client retries! + | Number of times to retry before raising an error when :class:`~.TimeoutError` + or :class:`~.ConnectionError` or :class:`~.ClusterDownError` are encountered + :param connection_error_retry_attempts: + | Number of times to retry before reinitializing when :class:`~.TimeoutError` + or :class:`~.ConnectionError` are encountered. + The default backoff strategy will be set if Retry object is not passed (see + default_backoff in backoff.py). To change it, pass a custom Retry object + using the "retry" keyword. :param max_connections: | Maximum number of connections per node. If there are no free connections & the maximum number of connections are already created, a - :class:`~.MaxConnectionsError` is raised. + :class:`~.MaxConnectionsError` is raised. This error may be retried as defined + by :attr:`connection_error_retry_attempts` :param address_remap: | An optional callable which, when provided with an internal network address of a node, e.g. a `(host, port)` tuple, will return the address @@ -234,9 +209,10 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand __slots__ = ( "_initialize", "_lock", - "retry", + "cluster_error_retry_attempts", "command_flags", "commands_parser", + "connection_error_retry_attempts", "connection_kwargs", "encoder", "node_flags", @@ -248,18 +224,6 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand "result_callbacks", ) - @deprecated_args( - args_to_warn=["read_from_replicas"], - reason="Please configure the 'load_balancing_strategy' instead", - version="5.3.0", - ) - @deprecated_args( - args_to_warn=[ - "cluster_error_retry_attempts", - ], - reason="Please configure the 'retry' object instead", - version="6.0.0", - ) def __init__( self, host: Optional[str] = None, @@ -268,13 +232,10 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand startup_nodes: Optional[List["ClusterNode"]] = None, require_full_coverage: bool = True, read_from_replicas: bool = False, - load_balancing_strategy: Optional[LoadBalancingStrategy] = None, - dynamic_startup_nodes: bool = True, reinitialize_steps: int = 5, cluster_error_retry_attempts: int = 3, + connection_error_retry_attempts: int = 3, max_connections: int = 2**31, - retry: Optional["Retry"] = None, - retry_on_error: Optional[List[Type[Exception]]] = None, # Client related kwargs db: Union[str, int] = 0, path: Optional[str] = None, @@ -294,19 +255,18 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand socket_keepalive: bool = False, socket_keepalive_options: Optional[Mapping[int, Union[int, bytes]]] = None, socket_timeout: Optional[float] = None, + retry: Optional["Retry"] = None, + retry_on_error: Optional[List[Type[Exception]]] = None, # SSL related kwargs ssl: bool = False, ssl_ca_certs: Optional[str] = None, ssl_ca_data: Optional[str] = None, - ssl_cert_reqs: Union[str, VerifyMode] = "required", + ssl_cert_reqs: str = "required", ssl_certfile: Optional[str] = None, - ssl_check_hostname: bool = True, + ssl_check_hostname: bool = False, ssl_keyfile: Optional[str] = None, - ssl_min_version: Optional[TLSVersion] = None, - ssl_ciphers: Optional[str] = None, protocol: Optional[int] = 2, - address_remap: Optional[Callable[[Tuple[str, int]], Tuple[str, int]]] = None, - event_dispatcher: Optional[EventDispatcher] = None, + address_remap: Optional[Callable[[str, int], Tuple[str, int]]] = None, ) -> None: if db: raise RedisClusterException( @@ -330,6 +290,7 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand kwargs: Dict[str, Any] = { "max_connections": max_connections, "connection_class": Connection, + "parser_class": ClusterParser, # Client related kwargs "credential_provider": credential_provider, "username": username, @@ -347,6 +308,7 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand "socket_keepalive": socket_keepalive, "socket_keepalive_options": socket_keepalive_options, "socket_timeout": socket_timeout, + "retry": retry, "protocol": protocol, } @@ -361,24 +323,24 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand "ssl_certfile": ssl_certfile, "ssl_check_hostname": ssl_check_hostname, "ssl_keyfile": ssl_keyfile, - "ssl_min_version": ssl_min_version, - "ssl_ciphers": ssl_ciphers, } ) - if read_from_replicas or load_balancing_strategy: + if read_from_replicas: # Call our on_connect function to configure READONLY mode kwargs["redis_connect_func"] = self.on_connect - if retry: - self.retry = retry - else: - self.retry = Retry( - backoff=ExponentialWithJitterBackoff(base=1, cap=10), - retries=cluster_error_retry_attempts, + self.retry = retry + if retry or retry_on_error or connection_error_retry_attempts > 0: + # Set a retry object for all cluster nodes + self.retry = retry or Retry( + default_backoff(), connection_error_retry_attempts ) - if retry_on_error: + if not retry_on_error: + # Default errors for retrying + retry_on_error = [ConnectionError, TimeoutError] self.retry.update_supported_errors(retry_on_error) + kwargs.update({"retry": self.retry}) kwargs["response_callbacks"] = _RedisCallbacks.copy() if kwargs.get("protocol") in ["3", 3]: @@ -399,33 +361,27 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand if host and port: startup_nodes.append(ClusterNode(host, port, **self.connection_kwargs)) - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher - self.nodes_manager = NodesManager( startup_nodes, require_full_coverage, kwargs, - dynamic_startup_nodes=dynamic_startup_nodes, address_remap=address_remap, - event_dispatcher=self._event_dispatcher, ) self.encoder = Encoder(encoding, encoding_errors, decode_responses) self.read_from_replicas = read_from_replicas - self.load_balancing_strategy = load_balancing_strategy self.reinitialize_steps = reinitialize_steps + self.cluster_error_retry_attempts = cluster_error_retry_attempts + self.connection_error_retry_attempts = connection_error_retry_attempts self.reinitialize_counter = 0 self.commands_parser = AsyncCommandsParser() self.node_flags = self.__class__.NODE_FLAGS.copy() self.command_flags = self.__class__.COMMAND_FLAGS.copy() self.response_callbacks = kwargs["response_callbacks"] self.result_callbacks = self.__class__.RESULT_CALLBACKS.copy() - self.result_callbacks["CLUSTER SLOTS"] = ( - lambda cmd, res, **kwargs: parse_cluster_slots( - list(res.values())[0], **kwargs - ) + self.result_callbacks[ + "CLUSTER SLOTS" + ] = lambda cmd, res, **kwargs: parse_cluster_slots( + list(res.values())[0], **kwargs ) self._initialize = True @@ -586,8 +542,15 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand """Get the kwargs passed to :class:`~redis.asyncio.connection.Connection`.""" return self.connection_kwargs - def set_retry(self, retry: Retry) -> None: + def get_retry(self) -> Optional["Retry"]: + return self.retry + + def set_retry(self, retry: "Retry") -> None: self.retry = retry + for node in self.get_nodes(): + node.connection_kwargs.update({"retry": retry}) + for conn in node._connections: + conn.retry = retry def set_response_callback(self, command: str, callback: ResponseCallbackT) -> None: """Set a custom response callback.""" @@ -624,7 +587,6 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand self.nodes_manager.get_node_from_slot( await self._determine_slot(command, *args), self.read_from_replicas and command in READ_COMMANDS, - self.load_balancing_strategy if command in READ_COMMANDS else None, ) ] @@ -706,8 +668,8 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand """ Execute a raw command on the appropriate cluster node or target_nodes. - It will retry the command as specified by the retries property of - the :attr:`retry` & then raise an exception. + It will retry the command as specified by :attr:`cluster_error_retry_attempts` & + then raise an exception. :param args: | Raw command args @@ -723,7 +685,7 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand command = args[0] target_nodes = [] target_nodes_specified = False - retry_attempts = self.retry.get_retries() + retry_attempts = self.cluster_error_retry_attempts passed_targets = kwargs.pop("target_nodes", None) if passed_targets and not self._is_node_flag(passed_targets): @@ -805,22 +767,12 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand # refresh the target node slot = await self._determine_slot(*args) target_node = self.nodes_manager.get_node_from_slot( - slot, - self.read_from_replicas and args[0] in READ_COMMANDS, - self.load_balancing_strategy - if args[0] in READ_COMMANDS - else None, + slot, self.read_from_replicas and args[0] in READ_COMMANDS ) moved = False return await target_node.execute_command(*args, **kwargs) - except BusyLoadingError: - raise - except MaxConnectionsError: - # MaxConnectionsError indicates client-side resource exhaustion - # (too many connections in the pool), not a node failure. - # Don't treat this as a node failure - just re-raise the error - # without reinitializing the cluster. + except (BusyLoadingError, MaxConnectionsError): raise except (ConnectionError, TimeoutError): # Connection retries are being handled in the node's @@ -832,16 +784,10 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand # and try again with the new setup await self.aclose() raise - except (ClusterDownError, SlotNotCoveredError): + except ClusterDownError: # ClusterDownError can occur during a failover and to get # self-healed, we will try to reinitialize the cluster layout # and retry executing the command - - # SlotNotCoveredError can occur when the cluster is not fully - # initialized or can be temporary issue. - # We will try to reinitialize the cluster topology - # and retry executing the command - await self.aclose() await asyncio.sleep(0.25) raise @@ -887,7 +833,10 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand if shard_hint: raise RedisClusterException("shard_hint is deprecated in cluster mode") - return ClusterPipeline(self, transaction) + if transaction: + raise RedisClusterException("transaction is deprecated in cluster mode") + + return ClusterPipeline(self) def lock( self, @@ -898,7 +847,6 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand blocking_timeout: Optional[float] = None, lock_class: Optional[Type[Lock]] = None, thread_local: bool = True, - raise_on_release_error: bool = True, ) -> Lock: """ Return a new Lock object using key ``name`` that mimics @@ -945,11 +893,6 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand thread-1 would see the token value as "xyz" and would be able to successfully release the thread-2's lock. - ``raise_on_release_error`` indicates whether to raise an exception when - the lock is no longer owned when exiting the context manager. By default, - this is True, meaning an exception will be raised. If False, the warning - will be logged and the exception will be suppressed. - In some use cases it's necessary to disable thread local storage. For example, if you have code where one thread acquires a lock and passes that lock instance to a worker thread to release later. If thread @@ -967,33 +910,8 @@ class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterCommand blocking=blocking, blocking_timeout=blocking_timeout, thread_local=thread_local, - raise_on_release_error=raise_on_release_error, ) - async def transaction( - self, func: Coroutine[None, "ClusterPipeline", Any], *watches, **kwargs - ): - """ - Convenience method for executing the callable `func` as a transaction - while watching all keys specified in `watches`. The 'func' callable - should expect a single argument which is a Pipeline object. - """ - shard_hint = kwargs.pop("shard_hint", None) - value_from_callable = kwargs.pop("value_from_callable", False) - watch_delay = kwargs.pop("watch_delay", None) - async with self.pipeline(True, shard_hint) as pipe: - while True: - try: - if watches: - await pipe.watch(*watches) - func_value = await func(pipe) - exec_value = await pipe.execute() - return func_value if value_from_callable else exec_value - except WatchError: - if watch_delay is not None and watch_delay > 0: - time.sleep(watch_delay) - continue - class ClusterNode: """ @@ -1006,8 +924,6 @@ class ClusterNode: __slots__ = ( "_connections", "_free", - "_lock", - "_event_dispatcher", "connection_class", "connection_kwargs", "host", @@ -1045,9 +961,6 @@ class ClusterNode: self._connections: List[Connection] = [] self._free: Deque[Connection] = collections.deque(maxlen=self.max_connections) - self._event_dispatcher = self.connection_kwargs.get("event_dispatcher", None) - if self._event_dispatcher is None: - self._event_dispatcher = EventDispatcher() def __repr__(self) -> str: return ( @@ -1093,34 +1006,12 @@ class ClusterNode: return self._free.popleft() except IndexError: if len(self._connections) < self.max_connections: - # We are configuring the connection pool not to retry - # connections on lower level clients to avoid retrying - # connections to nodes that are not reachable - # and to avoid blocking the connection pool. - # The only error that will have some handling in the lower - # level clients is ConnectionError which will trigger disconnection - # of the socket. - # The retries will be handled on cluster client level - # where we will have proper handling of the cluster topology - retry = Retry( - backoff=NoBackoff(), - retries=0, - supported_errors=(ConnectionError,), - ) - connection_kwargs = self.connection_kwargs.copy() - connection_kwargs["retry"] = retry - connection = self.connection_class(**connection_kwargs) + connection = self.connection_class(**self.connection_kwargs) self._connections.append(connection) return connection raise MaxConnectionsError() - def release(self, connection: Connection) -> None: - """ - Release connection back to free queue. - """ - self._free.append(connection) - async def parse_response( self, connection: Connection, command: str, **kwargs: Any ) -> Any: @@ -1138,9 +1029,6 @@ class ClusterNode: if EMPTY_RESPONSE in kwargs: kwargs.pop(EMPTY_RESPONSE) - # Remove keys entry, it needs only for cache. - kwargs.pop("keys", None) - # Return response if command in self.response_callbacks: return self.response_callbacks[command](response, **kwargs) @@ -1186,39 +1074,10 @@ class ClusterNode: return ret - async def re_auth_callback(self, token: TokenInterface): - tmp_queue = collections.deque() - while self._free: - conn = self._free.popleft() - await conn.retry.call_with_retry( - lambda: conn.send_command( - "AUTH", token.try_get("oid"), token.get_value() - ), - lambda error: self._mock(error), - ) - await conn.retry.call_with_retry( - lambda: conn.read_response(), lambda error: self._mock(error) - ) - tmp_queue.append(conn) - - while tmp_queue: - conn = tmp_queue.popleft() - self._free.append(conn) - - async def _mock(self, error: RedisError): - """ - Dummy functions, needs to be passed as error callback to retry object. - :param error: - :return: - """ - pass - class NodesManager: __slots__ = ( - "_dynamic_startup_nodes", "_moved_exception", - "_event_dispatcher", "connection_kwargs", "default_node", "nodes_cache", @@ -1234,9 +1093,7 @@ class NodesManager: startup_nodes: List["ClusterNode"], require_full_coverage: bool, connection_kwargs: Dict[str, Any], - dynamic_startup_nodes: bool = True, - address_remap: Optional[Callable[[Tuple[str, int]], Tuple[str, int]]] = None, - event_dispatcher: Optional[EventDispatcher] = None, + address_remap: Optional[Callable[[str, int], Tuple[str, int]]] = None, ) -> None: self.startup_nodes = {node.name: node for node in startup_nodes} self.require_full_coverage = require_full_coverage @@ -1247,13 +1104,7 @@ class NodesManager: self.nodes_cache: Dict[str, "ClusterNode"] = {} self.slots_cache: Dict[int, List["ClusterNode"]] = {} self.read_load_balancer = LoadBalancer() - - self._dynamic_startup_nodes: bool = dynamic_startup_nodes self._moved_exception: MovedError = None - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher def get_node( self, @@ -1270,7 +1121,9 @@ class NodesManager: return self.nodes_cache.get(node_name) else: raise DataError( - "get_node requires one of the following: 1. node name 2. host and port" + "get_node requires one of the following: " + "1. node name " + "2. host and port" ) def set_nodes( @@ -1291,9 +1144,6 @@ class NodesManager: task = asyncio.create_task(old[name].disconnect()) # noqa old[name] = node - def update_moved_exception(self, exception): - self._moved_exception = exception - def _update_moved_slots(self) -> None: e = self._moved_exception redirected_node = self.get_node(host=e.host, port=e.port) @@ -1333,23 +1183,17 @@ class NodesManager: self._moved_exception = None def get_node_from_slot( - self, - slot: int, - read_from_replicas: bool = False, - load_balancing_strategy=None, + self, slot: int, read_from_replicas: bool = False ) -> "ClusterNode": if self._moved_exception: self._update_moved_slots() - if read_from_replicas is True and load_balancing_strategy is None: - load_balancing_strategy = LoadBalancingStrategy.ROUND_ROBIN - try: - if len(self.slots_cache[slot]) > 1 and load_balancing_strategy: - # get the server index using the strategy defined in load_balancing_strategy + if read_from_replicas: + # get the server index in a Round-Robin manner primary_name = self.slots_cache[slot][0].name node_idx = self.read_load_balancer.get_server_index( - primary_name, len(self.slots_cache[slot]), load_balancing_strategy + primary_name, len(self.slots_cache[slot]) ) return self.slots_cache[slot][node_idx] return self.slots_cache[slot][0] @@ -1374,23 +1218,16 @@ class NodesManager: startup_nodes_reachable = False fully_covered = False exception = None - # Convert to tuple to prevent RuntimeError if self.startup_nodes - # is modified during iteration - for startup_node in tuple(self.startup_nodes.values()): + for startup_node in self.startup_nodes.values(): try: # Make sure cluster mode is enabled on this node - try: - self._event_dispatcher.dispatch( - AfterAsyncClusterInstantiationEvent( - self.nodes_cache, - self.connection_kwargs.get("credential_provider", None), - ) - ) - cluster_slots = await startup_node.execute_command("CLUSTER SLOTS") - except ResponseError: + if not (await startup_node.execute_command("INFO")).get( + "cluster_enabled" + ): raise RedisClusterException( "Cluster mode is not enabled on this node" ) + cluster_slots = await startup_node.execute_command("CLUSTER SLOTS") startup_nodes_reachable = True except Exception as e: # Try the next startup node. @@ -1422,8 +1259,6 @@ class NodesManager: port = int(primary_node[1]) host, port = self.remap_host_port(host, port) - nodes_for_slot = [] - target_node = tmp_nodes_cache.get(get_node_name(host, port)) if not target_node: target_node = ClusterNode( @@ -1431,26 +1266,30 @@ class NodesManager: ) # add this node to the nodes cache tmp_nodes_cache[target_node.name] = target_node - nodes_for_slot.append(target_node) - - replica_nodes = slot[3:] - for replica_node in replica_nodes: - host = replica_node[0] - port = replica_node[1] - host, port = self.remap_host_port(host, port) - - target_replica_node = tmp_nodes_cache.get(get_node_name(host, port)) - if not target_replica_node: - target_replica_node = ClusterNode( - host, port, REPLICA, **self.connection_kwargs - ) - # add this node to the nodes cache - tmp_nodes_cache[target_replica_node.name] = target_replica_node - nodes_for_slot.append(target_replica_node) for i in range(int(slot[0]), int(slot[1]) + 1): if i not in tmp_slots: - tmp_slots[i] = nodes_for_slot + tmp_slots[i] = [] + tmp_slots[i].append(target_node) + replica_nodes = [slot[j] for j in range(3, len(slot))] + + for replica_node in replica_nodes: + host = replica_node[0] + port = replica_node[1] + host, port = self.remap_host_port(host, port) + + target_replica_node = tmp_nodes_cache.get( + get_node_name(host, port) + ) + if not target_replica_node: + target_replica_node = ClusterNode( + host, port, REPLICA, **self.connection_kwargs + ) + tmp_slots[i].append(target_replica_node) + # add this node to the nodes cache + tmp_nodes_cache[ + target_replica_node.name + ] = target_replica_node else: # Validate that 2 nodes want to use the same slot cache # setup @@ -1463,7 +1302,7 @@ class NodesManager: if len(disagreements) > 5: raise RedisClusterException( f"startup_nodes could not agree on a valid " - f"slots cache: {', '.join(disagreements)}" + f'slots cache: {", ".join(disagreements)}' ) # Validate if all slots are covered or if we should try next startup node @@ -1494,10 +1333,8 @@ class NodesManager: # Set the tmp variables to the real variables self.slots_cache = tmp_slots self.set_nodes(self.nodes_cache, tmp_nodes_cache, remove_old=True) - - if self._dynamic_startup_nodes: - # Populate the startup nodes with all discovered nodes - self.set_nodes(self.startup_nodes, self.nodes_cache, remove_old=True) + # Populate the startup nodes with all discovered nodes + self.set_nodes(self.startup_nodes, self.nodes_cache, remove_old=True) # Set the default node self.default_node = self.get_nodes_by_server_type(PRIMARY)[0] @@ -1561,38 +1398,40 @@ class ClusterPipeline(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterComm | Existing :class:`~.RedisCluster` client """ - __slots__ = ("cluster_client", "_transaction", "_execution_strategy") + __slots__ = ("_command_stack", "_client") - def __init__( - self, client: RedisCluster, transaction: Optional[bool] = None - ) -> None: - self.cluster_client = client - self._transaction = transaction - self._execution_strategy: ExecutionStrategy = ( - PipelineStrategy(self) - if not self._transaction - else TransactionStrategy(self) - ) + def __init__(self, client: RedisCluster) -> None: + self._client = client + + self._command_stack: List["PipelineCommand"] = [] async def initialize(self) -> "ClusterPipeline": - await self._execution_strategy.initialize() + if self._client._initialize: + await self._client.initialize() + self._command_stack = [] return self async def __aenter__(self) -> "ClusterPipeline": return await self.initialize() async def __aexit__(self, exc_type: None, exc_value: None, traceback: None) -> None: - await self.reset() + self._command_stack = [] def __await__(self) -> Generator[Any, None, "ClusterPipeline"]: return self.initialize().__await__() + def __enter__(self) -> "ClusterPipeline": + self._command_stack = [] + return self + + def __exit__(self, exc_type: None, exc_value: None, traceback: None) -> None: + self._command_stack = [] + def __bool__(self) -> bool: - "Pipeline instances should always evaluate to True on Python 3+" - return True + return bool(self._command_stack) def __len__(self) -> int: - return len(self._execution_strategy) + return len(self._command_stack) def execute_command( self, *args: Union[KeyT, EncodableT], **kwargs: Any @@ -1608,7 +1447,10 @@ class ClusterPipeline(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterComm or List[:class:`~.ClusterNode`] or Dict[Any, :class:`~.ClusterNode`] - Rest of the kwargs are passed to the Redis connection """ - return self._execution_strategy.execute_command(*args, **kwargs) + self._command_stack.append( + PipelineCommand(len(self._command_stack), *args, **kwargs) + ) + return self async def execute( self, raise_on_error: bool = True, allow_redirections: bool = True @@ -1616,7 +1458,7 @@ class ClusterPipeline(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterComm """ Execute the pipeline. - It will retry the commands as specified by retries specified in :attr:`retry` + It will retry the commands as specified by :attr:`cluster_error_retry_attempts` & then raise an exception. :param raise_on_error: @@ -1628,294 +1470,35 @@ class ClusterPipeline(AbstractRedis, AbstractRedisCluster, AsyncRedisClusterComm :raises RedisClusterException: if target_nodes is not provided & the command can't be mapped to a slot """ - try: - return await self._execution_strategy.execute( - raise_on_error, allow_redirections - ) - finally: - await self.reset() - - def _split_command_across_slots( - self, command: str, *keys: KeyT - ) -> "ClusterPipeline": - for slot_keys in self.cluster_client._partition_keys_by_slot(keys).values(): - self.execute_command(command, *slot_keys) - - return self - - async def reset(self): - """ - Reset back to empty pipeline. - """ - await self._execution_strategy.reset() - - def multi(self): - """ - Start a transactional block of the pipeline after WATCH commands - are issued. End the transactional block with `execute`. - """ - self._execution_strategy.multi() - - async def discard(self): - """ """ - await self._execution_strategy.discard() - - async def watch(self, *names): - """Watches the values at keys ``names``""" - await self._execution_strategy.watch(*names) - - async def unwatch(self): - """Unwatches all previously specified keys""" - await self._execution_strategy.unwatch() - - async def unlink(self, *names): - await self._execution_strategy.unlink(*names) - - def mset_nonatomic( - self, mapping: Mapping[AnyKeyT, EncodableT] - ) -> "ClusterPipeline": - return self._execution_strategy.mset_nonatomic(mapping) - - -for command in PIPELINE_BLOCKED_COMMANDS: - command = command.replace(" ", "_").lower() - if command == "mset_nonatomic": - continue - - setattr(ClusterPipeline, command, block_pipeline_command(command)) - - -class PipelineCommand: - def __init__(self, position: int, *args: Any, **kwargs: Any) -> None: - self.args = args - self.kwargs = kwargs - self.position = position - self.result: Union[Any, Exception] = None - - def __repr__(self) -> str: - return f"[{self.position}] {self.args} ({self.kwargs})" - - -class ExecutionStrategy(ABC): - @abstractmethod - async def initialize(self) -> "ClusterPipeline": - """ - Initialize the execution strategy. - - See ClusterPipeline.initialize() - """ - pass - - @abstractmethod - def execute_command( - self, *args: Union[KeyT, EncodableT], **kwargs: Any - ) -> "ClusterPipeline": - """ - Append a raw command to the pipeline. - - See ClusterPipeline.execute_command() - """ - pass - - @abstractmethod - async def execute( - self, raise_on_error: bool = True, allow_redirections: bool = True - ) -> List[Any]: - """ - Execute the pipeline. - - It will retry the commands as specified by retries specified in :attr:`retry` - & then raise an exception. - - See ClusterPipeline.execute() - """ - pass - - @abstractmethod - def mset_nonatomic( - self, mapping: Mapping[AnyKeyT, EncodableT] - ) -> "ClusterPipeline": - """ - Executes multiple MSET commands according to the provided slot/pairs mapping. - - See ClusterPipeline.mset_nonatomic() - """ - pass - - @abstractmethod - async def reset(self): - """ - Resets current execution strategy. - - See: ClusterPipeline.reset() - """ - pass - - @abstractmethod - def multi(self): - """ - Starts transactional context. - - See: ClusterPipeline.multi() - """ - pass - - @abstractmethod - async def watch(self, *names): - """ - Watch given keys. - - See: ClusterPipeline.watch() - """ - pass - - @abstractmethod - async def unwatch(self): - """ - Unwatches all previously specified keys - - See: ClusterPipeline.unwatch() - """ - pass - - @abstractmethod - async def discard(self): - pass - - @abstractmethod - async def unlink(self, *names): - """ - "Unlink a key specified by ``names``" - - See: ClusterPipeline.unlink() - """ - pass - - @abstractmethod - def __len__(self) -> int: - pass - - -class AbstractStrategy(ExecutionStrategy): - def __init__(self, pipe: ClusterPipeline) -> None: - self._pipe: ClusterPipeline = pipe - self._command_queue: List["PipelineCommand"] = [] - - async def initialize(self) -> "ClusterPipeline": - if self._pipe.cluster_client._initialize: - await self._pipe.cluster_client.initialize() - self._command_queue = [] - return self._pipe - - def execute_command( - self, *args: Union[KeyT, EncodableT], **kwargs: Any - ) -> "ClusterPipeline": - self._command_queue.append( - PipelineCommand(len(self._command_queue), *args, **kwargs) - ) - return self._pipe - - def _annotate_exception(self, exception, number, command): - """ - Provides extra context to the exception prior to it being handled - """ - cmd = " ".join(map(safe_str, command)) - msg = ( - f"Command # {number} ({truncate_text(cmd)}) of pipeline " - f"caused error: {exception.args[0]}" - ) - exception.args = (msg,) + exception.args[1:] - - @abstractmethod - def mset_nonatomic( - self, mapping: Mapping[AnyKeyT, EncodableT] - ) -> "ClusterPipeline": - pass - - @abstractmethod - async def execute( - self, raise_on_error: bool = True, allow_redirections: bool = True - ) -> List[Any]: - pass - - @abstractmethod - async def reset(self): - pass - - @abstractmethod - def multi(self): - pass - - @abstractmethod - async def watch(self, *names): - pass - - @abstractmethod - async def unwatch(self): - pass - - @abstractmethod - async def discard(self): - pass - - @abstractmethod - async def unlink(self, *names): - pass - - def __len__(self) -> int: - return len(self._command_queue) - - -class PipelineStrategy(AbstractStrategy): - def __init__(self, pipe: ClusterPipeline) -> None: - super().__init__(pipe) - - def mset_nonatomic( - self, mapping: Mapping[AnyKeyT, EncodableT] - ) -> "ClusterPipeline": - encoder = self._pipe.cluster_client.encoder - - slots_pairs = {} - for pair in mapping.items(): - slot = key_slot(encoder.encode(pair[0])) - slots_pairs.setdefault(slot, []).extend(pair) - - for pairs in slots_pairs.values(): - self.execute_command("MSET", *pairs) - - return self._pipe - - async def execute( - self, raise_on_error: bool = True, allow_redirections: bool = True - ) -> List[Any]: - if not self._command_queue: + if not self._command_stack: return [] try: - retry_attempts = self._pipe.cluster_client.retry.get_retries() - while True: + for _ in range(self._client.cluster_error_retry_attempts): + if self._client._initialize: + await self._client.initialize() + try: - if self._pipe.cluster_client._initialize: - await self._pipe.cluster_client.initialize() return await self._execute( - self._pipe.cluster_client, - self._command_queue, + self._client, + self._command_stack, raise_on_error=raise_on_error, allow_redirections=allow_redirections, ) - - except RedisCluster.ERRORS_ALLOW_RETRY as e: - if retry_attempts > 0: - # Try again with the new cluster setup. All other errors - # should be raised. - retry_attempts -= 1 - await self._pipe.cluster_client.aclose() + except BaseException as e: + if type(e) in self.__class__.ERRORS_ALLOW_RETRY: + # Try again with the new cluster setup. + exception = e + await self._client.aclose() await asyncio.sleep(0.25) else: # All other errors should be raised. - raise e + raise + + # If it fails the configured number of times then raise an exception + raise exception finally: - await self.reset() + self._command_stack = [] async def _execute( self, @@ -1973,424 +1556,65 @@ class PipelineStrategy(AbstractStrategy): if isinstance(result, Exception): command = " ".join(map(safe_str, cmd.args)) msg = ( - f"Command # {cmd.position + 1} " - f"({truncate_text(command)}) " - f"of pipeline caused error: {result.args}" + f"Command # {cmd.position + 1} ({command}) of pipeline " + f"caused error: {result.args}" ) result.args = (msg,) + result.args[1:] raise result - default_cluster_node = client.get_default_node() - - # Check whether the default node was used. In some cases, - # 'client.get_default_node()' may return None. The check below - # prevents a potential AttributeError. - if default_cluster_node is not None: - default_node = nodes.get(default_cluster_node.name) - if default_node is not None: - # This pipeline execution used the default node, check if we need - # to replace it. - # Note: when the error is raised we'll reset the default node in the - # caller function. - for cmd in default_node[1]: - # Check if it has a command that failed with a relevant - # exception - if type(cmd.result) in RedisCluster.ERRORS_ALLOW_RETRY: - client.replace_default_node() - break + default_node = nodes.get(client.get_default_node().name) + if default_node is not None: + # This pipeline execution used the default node, check if we need + # to replace it. + # Note: when the error is raised we'll reset the default node in the + # caller function. + for cmd in default_node[1]: + # Check if it has a command that failed with a relevant + # exception + if type(cmd.result) in self.__class__.ERRORS_ALLOW_RETRY: + client.replace_default_node() + break return [cmd.result for cmd in stack] - async def reset(self): - """ - Reset back to empty pipeline. - """ - self._command_queue = [] + def _split_command_across_slots( + self, command: str, *keys: KeyT + ) -> "ClusterPipeline": + for slot_keys in self._client._partition_keys_by_slot(keys).values(): + self.execute_command(command, *slot_keys) - def multi(self): - raise RedisClusterException( - "method multi() is not supported outside of transactional context" - ) - - async def watch(self, *names): - raise RedisClusterException( - "method watch() is not supported outside of transactional context" - ) - - async def unwatch(self): - raise RedisClusterException( - "method unwatch() is not supported outside of transactional context" - ) - - async def discard(self): - raise RedisClusterException( - "method discard() is not supported outside of transactional context" - ) - - async def unlink(self, *names): - if len(names) != 1: - raise RedisClusterException( - "unlinking multiple keys is not implemented in pipeline command" - ) - - return self.execute_command("UNLINK", names[0]) - - -class TransactionStrategy(AbstractStrategy): - NO_SLOTS_COMMANDS = {"UNWATCH"} - IMMEDIATE_EXECUTE_COMMANDS = {"WATCH", "UNWATCH"} - UNWATCH_COMMANDS = {"DISCARD", "EXEC", "UNWATCH"} - SLOT_REDIRECT_ERRORS = (AskError, MovedError) - CONNECTION_ERRORS = ( - ConnectionError, - OSError, - ClusterDownError, - SlotNotCoveredError, - ) - - def __init__(self, pipe: ClusterPipeline) -> None: - super().__init__(pipe) - self._explicit_transaction = False - self._watching = False - self._pipeline_slots: Set[int] = set() - self._transaction_node: Optional[ClusterNode] = None - self._transaction_connection: Optional[Connection] = None - self._executing = False - self._retry = copy(self._pipe.cluster_client.retry) - self._retry.update_supported_errors( - RedisCluster.ERRORS_ALLOW_RETRY + self.SLOT_REDIRECT_ERRORS - ) - - def _get_client_and_connection_for_transaction( - self, - ) -> Tuple[ClusterNode, Connection]: - """ - Find a connection for a pipeline transaction. - - For running an atomic transaction, watch keys ensure that contents have not been - altered as long as the watch commands for those keys were sent over the same - connection. So once we start watching a key, we fetch a connection to the - node that owns that slot and reuse it. - """ - if not self._pipeline_slots: - raise RedisClusterException( - "At least a command with a key is needed to identify a node" - ) - - node: ClusterNode = self._pipe.cluster_client.nodes_manager.get_node_from_slot( - list(self._pipeline_slots)[0], False - ) - self._transaction_node = node - - if not self._transaction_connection: - connection: Connection = self._transaction_node.acquire_connection() - self._transaction_connection = connection - - return self._transaction_node, self._transaction_connection - - def execute_command(self, *args: Union[KeyT, EncodableT], **kwargs: Any) -> "Any": - # Given the limitation of ClusterPipeline sync API, we have to run it in thread. - response = None - error = None - - def runner(): - nonlocal response - nonlocal error - try: - response = asyncio.run(self._execute_command(*args, **kwargs)) - except Exception as e: - error = e - - thread = threading.Thread(target=runner) - thread.start() - thread.join() - - if error: - raise error - - return response - - async def _execute_command( - self, *args: Union[KeyT, EncodableT], **kwargs: Any - ) -> Any: - if self._pipe.cluster_client._initialize: - await self._pipe.cluster_client.initialize() - - slot_number: Optional[int] = None - if args[0] not in self.NO_SLOTS_COMMANDS: - slot_number = await self._pipe.cluster_client._determine_slot(*args) - - if ( - self._watching or args[0] in self.IMMEDIATE_EXECUTE_COMMANDS - ) and not self._explicit_transaction: - if args[0] == "WATCH": - self._validate_watch() - - if slot_number is not None: - if self._pipeline_slots and slot_number not in self._pipeline_slots: - raise CrossSlotTransactionError( - "Cannot watch or send commands on different slots" - ) - - self._pipeline_slots.add(slot_number) - elif args[0] not in self.NO_SLOTS_COMMANDS: - raise RedisClusterException( - f"Cannot identify slot number for command: {args[0]}," - "it cannot be triggered in a transaction" - ) - - return self._immediate_execute_command(*args, **kwargs) - else: - if slot_number is not None: - self._pipeline_slots.add(slot_number) - - return super().execute_command(*args, **kwargs) - - def _validate_watch(self): - if self._explicit_transaction: - raise RedisError("Cannot issue a WATCH after a MULTI") - - self._watching = True - - async def _immediate_execute_command(self, *args, **options): - return await self._retry.call_with_retry( - lambda: self._get_connection_and_send_command(*args, **options), - self._reinitialize_on_error, - ) - - async def _get_connection_and_send_command(self, *args, **options): - redis_node, connection = self._get_client_and_connection_for_transaction() - return await self._send_command_parse_response( - connection, redis_node, args[0], *args, **options - ) - - async def _send_command_parse_response( - self, - connection: Connection, - redis_node: ClusterNode, - command_name, - *args, - **options, - ): - """ - Send a command and parse the response - """ - - await connection.send_command(*args) - output = await redis_node.parse_response(connection, command_name, **options) - - if command_name in self.UNWATCH_COMMANDS: - self._watching = False - return output - - async def _reinitialize_on_error(self, error): - if self._watching: - if type(error) in self.SLOT_REDIRECT_ERRORS and self._executing: - raise WatchError("Slot rebalancing occurred while watching keys") - - if ( - type(error) in self.SLOT_REDIRECT_ERRORS - or type(error) in self.CONNECTION_ERRORS - ): - if self._transaction_connection: - self._transaction_connection = None - - self._pipe.cluster_client.reinitialize_counter += 1 - if ( - self._pipe.cluster_client.reinitialize_steps - and self._pipe.cluster_client.reinitialize_counter - % self._pipe.cluster_client.reinitialize_steps - == 0 - ): - await self._pipe.cluster_client.nodes_manager.initialize() - self.reinitialize_counter = 0 - else: - self._pipe.cluster_client.nodes_manager.update_moved_exception(error) - - self._executing = False - - def _raise_first_error(self, responses, stack): - """ - Raise the first exception on the stack - """ - for r, cmd in zip(responses, stack): - if isinstance(r, Exception): - self._annotate_exception(r, cmd.position + 1, cmd.args) - raise r + return self def mset_nonatomic( self, mapping: Mapping[AnyKeyT, EncodableT] ) -> "ClusterPipeline": - raise NotImplementedError("Method is not supported in transactional context.") + encoder = self._client.encoder - async def execute( - self, raise_on_error: bool = True, allow_redirections: bool = True - ) -> List[Any]: - stack = self._command_queue - if not stack and (not self._watching or not self._pipeline_slots): - return [] + slots_pairs = {} + for pair in mapping.items(): + slot = key_slot(encoder.encode(pair[0])) + slots_pairs.setdefault(slot, []).extend(pair) - return await self._execute_transaction_with_retries(stack, raise_on_error) + for pairs in slots_pairs.values(): + self.execute_command("MSET", *pairs) - async def _execute_transaction_with_retries( - self, stack: List["PipelineCommand"], raise_on_error: bool - ): - return await self._retry.call_with_retry( - lambda: self._execute_transaction(stack, raise_on_error), - self._reinitialize_on_error, - ) + return self - async def _execute_transaction( - self, stack: List["PipelineCommand"], raise_on_error: bool - ): - if len(self._pipeline_slots) > 1: - raise CrossSlotTransactionError( - "All keys involved in a cluster transaction must map to the same slot" - ) - self._executing = True +for command in PIPELINE_BLOCKED_COMMANDS: + command = command.replace(" ", "_").lower() + if command == "mset_nonatomic": + continue - redis_node, connection = self._get_client_and_connection_for_transaction() + setattr(ClusterPipeline, command, block_pipeline_command(command)) - stack = chain( - [PipelineCommand(0, "MULTI")], - stack, - [PipelineCommand(0, "EXEC")], - ) - commands = [c.args for c in stack if EMPTY_RESPONSE not in c.kwargs] - packed_commands = connection.pack_commands(commands) - await connection.send_packed_command(packed_commands) - errors = [] - # parse off the response for MULTI - # NOTE: we need to handle ResponseErrors here and continue - # so that we read all the additional command messages from - # the socket - try: - await redis_node.parse_response(connection, "MULTI") - except ResponseError as e: - self._annotate_exception(e, 0, "MULTI") - errors.append(e) - except self.CONNECTION_ERRORS as cluster_error: - self._annotate_exception(cluster_error, 0, "MULTI") - raise +class PipelineCommand: + def __init__(self, position: int, *args: Any, **kwargs: Any) -> None: + self.args = args + self.kwargs = kwargs + self.position = position + self.result: Union[Any, Exception] = None - # and all the other commands - for i, command in enumerate(self._command_queue): - if EMPTY_RESPONSE in command.kwargs: - errors.append((i, command.kwargs[EMPTY_RESPONSE])) - else: - try: - _ = await redis_node.parse_response(connection, "_") - except self.SLOT_REDIRECT_ERRORS as slot_error: - self._annotate_exception(slot_error, i + 1, command.args) - errors.append(slot_error) - except self.CONNECTION_ERRORS as cluster_error: - self._annotate_exception(cluster_error, i + 1, command.args) - raise - except ResponseError as e: - self._annotate_exception(e, i + 1, command.args) - errors.append(e) - - response = None - # parse the EXEC. - try: - response = await redis_node.parse_response(connection, "EXEC") - except ExecAbortError: - if errors: - raise errors[0] - raise - - self._executing = False - - # EXEC clears any watched keys - self._watching = False - - if response is None: - raise WatchError("Watched variable changed.") - - # put any parse errors into the response - for i, e in errors: - response.insert(i, e) - - if len(response) != len(self._command_queue): - raise InvalidPipelineStack( - "Unexpected response length for cluster pipeline EXEC." - " Command stack was {} but response had length {}".format( - [c.args[0] for c in self._command_queue], len(response) - ) - ) - - # find any errors in the response and raise if necessary - if raise_on_error or len(errors) > 0: - self._raise_first_error( - response, - self._command_queue, - ) - - # We have to run response callbacks manually - data = [] - for r, cmd in zip(response, self._command_queue): - if not isinstance(r, Exception): - command_name = cmd.args[0] - if command_name in self._pipe.cluster_client.response_callbacks: - r = self._pipe.cluster_client.response_callbacks[command_name]( - r, **cmd.kwargs - ) - data.append(r) - return data - - async def reset(self): - self._command_queue = [] - - # make sure to reset the connection state in the event that we were - # watching something - if self._transaction_connection: - try: - if self._watching: - # call this manually since our unwatch or - # immediate_execute_command methods can call reset() - await self._transaction_connection.send_command("UNWATCH") - await self._transaction_connection.read_response() - # we can safely return the connection to the pool here since we're - # sure we're no longer WATCHing anything - self._transaction_node.release(self._transaction_connection) - self._transaction_connection = None - except self.CONNECTION_ERRORS: - # disconnect will also remove any previous WATCHes - if self._transaction_connection: - await self._transaction_connection.disconnect() - - # clean up the other instance attributes - self._transaction_node = None - self._watching = False - self._explicit_transaction = False - self._pipeline_slots = set() - self._executing = False - - def multi(self): - if self._explicit_transaction: - raise RedisError("Cannot issue nested calls to MULTI") - if self._command_queue: - raise RedisError( - "Commands without an initial WATCH have already been issued" - ) - self._explicit_transaction = True - - async def watch(self, *names): - if self._explicit_transaction: - raise RedisError("Cannot issue a WATCH after a MULTI") - - return await self.execute_command("WATCH", *names) - - async def unwatch(self): - if self._watching: - return await self.execute_command("UNWATCH") - - return True - - async def discard(self): - await self.reset() - - async def unlink(self, *names): - return self.execute_command("UNLINK", *names) + def __repr__(self) -> str: + return f"[{self.position}] {self.args} ({self.kwargs})" diff --git a/venv/lib/python3.12/site-packages/redis/asyncio/connection.py b/venv/lib/python3.12/site-packages/redis/asyncio/connection.py index 4efd868..65fa586 100644 --- a/venv/lib/python3.12/site-packages/redis/asyncio/connection.py +++ b/venv/lib/python3.12/site-packages/redis/asyncio/connection.py @@ -3,8 +3,8 @@ import copy import enum import inspect import socket +import ssl import sys -import warnings import weakref from abc import abstractmethod from itertools import chain @@ -16,30 +16,14 @@ from typing import ( List, Mapping, Optional, - Protocol, Set, Tuple, Type, - TypedDict, TypeVar, Union, ) from urllib.parse import ParseResult, parse_qs, unquote, urlparse -from ..utils import SSL_AVAILABLE - -if SSL_AVAILABLE: - import ssl - from ssl import SSLContext, TLSVersion -else: - ssl = None - TLSVersion = None - SSLContext = None - -from ..auth.token import TokenInterface -from ..event import AsyncAfterConnectionReleasedEvent, EventDispatcher -from ..utils import deprecated_args, format_error_message - # the functionality is available in 3.11.x but has a major issue before # 3.11.3. See https://github.com/redis/redis-py/issues/2633 if sys.version_info >= (3, 11, 3): @@ -49,6 +33,7 @@ else: from redis.asyncio.retry import Retry from redis.backoff import NoBackoff +from redis.compat import Protocol, TypedDict from redis.connection import DEFAULT_RESP_VERSION from redis.credentials import CredentialProvider, UsernamePasswordCredentialProvider from redis.exceptions import ( @@ -93,11 +78,13 @@ else: class ConnectCallbackProtocol(Protocol): - def __call__(self, connection: "AbstractConnection"): ... + def __call__(self, connection: "AbstractConnection"): + ... class AsyncConnectCallbackProtocol(Protocol): - async def __call__(self, connection: "AbstractConnection"): ... + async def __call__(self, connection: "AbstractConnection"): + ... ConnectCallbackT = Union[ConnectCallbackProtocol, AsyncConnectCallbackProtocol] @@ -159,7 +146,6 @@ class AbstractConnection: encoder_class: Type[Encoder] = Encoder, credential_provider: Optional[CredentialProvider] = None, protocol: Optional[int] = 2, - event_dispatcher: Optional[EventDispatcher] = None, ): if (username or password) and credential_provider is not None: raise DataError( @@ -168,10 +154,6 @@ class AbstractConnection: "1. 'password' and (optional) 'username'\n" "2. 'credential_provider'" ) - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher self.db = db self.client_name = client_name self.lib_name = lib_name @@ -211,8 +193,6 @@ class AbstractConnection: self.set_parser(parser_class) self._connect_callbacks: List[weakref.WeakMethod[ConnectCallbackT]] = [] self._buffer_cutoff = 6000 - self._re_auth_token: Optional[TokenInterface] = None - try: p = int(protocol) except TypeError: @@ -224,33 +204,9 @@ class AbstractConnection: raise ConnectionError("protocol must be either 2 or 3") self.protocol = protocol - def __del__(self, _warnings: Any = warnings): - # For some reason, the individual streams don't get properly garbage - # collected and therefore produce no resource warnings. We add one - # here, in the same style as those from the stdlib. - if getattr(self, "_writer", None): - _warnings.warn( - f"unclosed Connection {self!r}", ResourceWarning, source=self - ) - - try: - asyncio.get_running_loop() - self._close() - except RuntimeError: - # No actions been taken if pool already closed. - pass - - def _close(self): - """ - Internal method to silently close the connection without waiting - """ - if self._writer: - self._writer.close() - self._writer = self._reader = None - def __repr__(self): repr_args = ",".join((f"{k}={v}" for k, v in self.repr_pieces())) - return f"<{self.__class__.__module__}.{self.__class__.__name__}({repr_args})>" + return f"{self.__class__.__name__}<{repr_args}>" @abstractmethod def repr_pieces(self): @@ -260,24 +216,12 @@ class AbstractConnection: def is_connected(self): return self._reader is not None and self._writer is not None - def register_connect_callback(self, callback): - """ - Register a callback to be called when the connection is established either - initially or reconnected. This allows listeners to issue commands that - are ephemeral to the connection, for example pub/sub subscription or - key tracking. The callback must be a _method_ and will be kept as - a weak reference. - """ + def _register_connect_callback(self, callback): wm = weakref.WeakMethod(callback) if wm not in self._connect_callbacks: self._connect_callbacks.append(wm) - def deregister_connect_callback(self, callback): - """ - De-register a previously registered callback. It will no-longer receive - notifications on connection events. Calling this is not required when the - listener goes away, since the callbacks are kept as weak methods. - """ + def _deregister_connect_callback(self, callback): try: self._connect_callbacks.remove(weakref.WeakMethod(callback)) except ValueError: @@ -293,20 +237,12 @@ class AbstractConnection: async def connect(self): """Connects to the Redis server if not already connected""" - await self.connect_check_health(check_health=True) - - async def connect_check_health( - self, check_health: bool = True, retry_socket_connect: bool = True - ): if self.is_connected: return try: - if retry_socket_connect: - await self.retry.call_with_retry( - lambda: self._connect(), lambda error: self.disconnect() - ) - else: - await self._connect() + await self.retry.call_with_retry( + lambda: self._connect(), lambda error: self.disconnect() + ) except asyncio.CancelledError: raise # in 3.7 and earlier, this is an Exception, not BaseException except (socket.timeout, asyncio.TimeoutError): @@ -319,14 +255,12 @@ class AbstractConnection: try: if not self.redis_connect_func: # Use the default on_connect function - await self.on_connect_check_health(check_health=check_health) + await self.on_connect() else: # Use the passed function redis_connect_func - ( - await self.redis_connect_func(self) - if asyncio.iscoroutinefunction(self.redis_connect_func) - else self.redis_connect_func(self) - ) + await self.redis_connect_func(self) if asyncio.iscoroutinefunction( + self.redis_connect_func + ) else self.redis_connect_func(self) except RedisError: # clean up after any error in on_connect await self.disconnect() @@ -350,17 +284,12 @@ class AbstractConnection: def _host_error(self) -> str: pass + @abstractmethod def _error_message(self, exception: BaseException) -> str: - return format_error_message(self._host_error(), exception) - - def get_protocol(self): - return self.protocol + pass async def on_connect(self) -> None: """Initialize the connection, authenticate and select a database""" - await self.on_connect_check_health(check_health=True) - - async def on_connect_check_health(self, check_health: bool = True) -> None: self._parser.on_connect(self) parser = self._parser @@ -371,8 +300,7 @@ class AbstractConnection: self.credential_provider or UsernamePasswordCredentialProvider(self.username, self.password) ) - auth_args = await cred_provider.get_credentials_async() - + auth_args = cred_provider.get_credentials() # if resp version is specified and we have auth args, # we need to send them via HELLO if auth_args and self.protocol not in [2, "2"]: @@ -383,11 +311,7 @@ class AbstractConnection: self._parser.on_connect(self) if len(auth_args) == 1: auth_args = ["default", auth_args[0]] - # avoid checking health here -- PING will fail if we try - # to check the health prior to the AUTH - await self.send_command( - "HELLO", self.protocol, "AUTH", *auth_args, check_health=False - ) + await self.send_command("HELLO", self.protocol, "AUTH", *auth_args) response = await self.read_response() if response.get(b"proto") != int(self.protocol) and response.get( "proto" @@ -418,7 +342,7 @@ class AbstractConnection: # update cluster exception classes self._parser.EXCEPTION_CLASSES = parser.EXCEPTION_CLASSES self._parser.on_connect(self) - await self.send_command("HELLO", self.protocol, check_health=check_health) + await self.send_command("HELLO", self.protocol) response = await self.read_response() # if response.get(b"proto") != self.protocol and response.get( # "proto" @@ -427,35 +351,18 @@ class AbstractConnection: # if a client_name is given, set it if self.client_name: - await self.send_command( - "CLIENT", - "SETNAME", - self.client_name, - check_health=check_health, - ) + await self.send_command("CLIENT", "SETNAME", self.client_name) if str_if_bytes(await self.read_response()) != "OK": raise ConnectionError("Error setting client name") # set the library name and version, pipeline for lower startup latency if self.lib_name: - await self.send_command( - "CLIENT", - "SETINFO", - "LIB-NAME", - self.lib_name, - check_health=check_health, - ) + await self.send_command("CLIENT", "SETINFO", "LIB-NAME", self.lib_name) if self.lib_version: - await self.send_command( - "CLIENT", - "SETINFO", - "LIB-VER", - self.lib_version, - check_health=check_health, - ) + await self.send_command("CLIENT", "SETINFO", "LIB-VER", self.lib_version) # if a database is specified, switch to it. Also pipeline this if self.db: - await self.send_command("SELECT", self.db, check_health=check_health) + await self.send_command("SELECT", self.db) # read responses from pipeline for _ in (sent for sent in (self.lib_name, self.lib_version) if sent): @@ -517,8 +424,8 @@ class AbstractConnection: self, command: Union[bytes, str, Iterable[bytes]], check_health: bool = True ) -> None: if not self.is_connected: - await self.connect_check_health(check_health=False) - if check_health: + await self.connect() + elif check_health: await self.check_health() try: @@ -581,7 +488,11 @@ class AbstractConnection: read_timeout = timeout if timeout is not None else self.socket_timeout host_error = self._host_error() try: - if read_timeout is not None and self.protocol in ["3", 3]: + if ( + read_timeout is not None + and self.protocol in ["3", 3] + and not HIREDIS_AVAILABLE + ): async with async_timeout(read_timeout): response = await self._parser.read_response( disable_decoding=disable_decoding, push_request=push_request @@ -591,7 +502,7 @@ class AbstractConnection: response = await self._parser.read_response( disable_decoding=disable_decoding ) - elif self.protocol in ["3", 3]: + elif self.protocol in ["3", 3] and not HIREDIS_AVAILABLE: response = await self._parser.read_response( disable_decoding=disable_decoding, push_request=push_request ) @@ -703,27 +614,6 @@ class AbstractConnection: output.append(SYM_EMPTY.join(pieces)) return output - def _socket_is_empty(self): - """Check if the socket is empty""" - return len(self._reader._buffer) == 0 - - async def process_invalidation_messages(self): - while not self._socket_is_empty(): - await self.read_response(push_request=True) - - def set_re_auth_token(self, token: TokenInterface): - self._re_auth_token = token - - async def re_auth(self): - if self._re_auth_token is not None: - await self.send_command( - "AUTH", - self._re_auth_token.try_get("oid"), - self._re_auth_token.get_value(), - ) - await self.read_response() - self._re_auth_token = None - class Connection(AbstractConnection): "Manages TCP communication to and from a Redis server" @@ -781,6 +671,27 @@ class Connection(AbstractConnection): def _host_error(self) -> str: return f"{self.host}:{self.port}" + def _error_message(self, exception: BaseException) -> str: + # args for socket.error can either be (errno, "message") + # or just "message" + + host_error = self._host_error() + + if not exception.args: + # asyncio has a bug where on Connection reset by peer, the + # exception is not instanciated, so args is empty. This is the + # workaround. + # See: https://github.com/redis/redis-py/issues/2237 + # See: https://github.com/python/cpython/issues/94061 + return f"Error connecting to {host_error}. Connection reset by peer" + elif len(exception.args) == 1: + return f"Error connecting to {host_error}. {exception.args[0]}." + else: + return ( + f"Error {exception.args[0]} connecting to {host_error}. " + f"{exception.args[0]}." + ) + class SSLConnection(Connection): """Manages SSL connections to and from the Redis server(s). @@ -792,17 +703,12 @@ class SSLConnection(Connection): self, ssl_keyfile: Optional[str] = None, ssl_certfile: Optional[str] = None, - ssl_cert_reqs: Union[str, ssl.VerifyMode] = "required", + ssl_cert_reqs: str = "required", ssl_ca_certs: Optional[str] = None, ssl_ca_data: Optional[str] = None, - ssl_check_hostname: bool = True, - ssl_min_version: Optional[TLSVersion] = None, - ssl_ciphers: Optional[str] = None, + ssl_check_hostname: bool = False, **kwargs, ): - if not SSL_AVAILABLE: - raise RedisError("Python wasn't built with SSL support") - self.ssl_context: RedisSSLContext = RedisSSLContext( keyfile=ssl_keyfile, certfile=ssl_certfile, @@ -810,8 +716,6 @@ class SSLConnection(Connection): ca_certs=ssl_ca_certs, ca_data=ssl_ca_data, check_hostname=ssl_check_hostname, - min_version=ssl_min_version, - ciphers=ssl_ciphers, ) super().__init__(**kwargs) @@ -844,10 +748,6 @@ class SSLConnection(Connection): def check_hostname(self): return self.ssl_context.check_hostname - @property - def min_version(self): - return self.ssl_context.min_version - class RedisSSLContext: __slots__ = ( @@ -858,30 +758,23 @@ class RedisSSLContext: "ca_data", "context", "check_hostname", - "min_version", - "ciphers", ) def __init__( self, keyfile: Optional[str] = None, certfile: Optional[str] = None, - cert_reqs: Optional[Union[str, ssl.VerifyMode]] = None, + cert_reqs: Optional[str] = None, ca_certs: Optional[str] = None, ca_data: Optional[str] = None, check_hostname: bool = False, - min_version: Optional[TLSVersion] = None, - ciphers: Optional[str] = None, ): - if not SSL_AVAILABLE: - raise RedisError("Python wasn't built with SSL support") - self.keyfile = keyfile self.certfile = certfile if cert_reqs is None: - cert_reqs = ssl.CERT_NONE + self.cert_reqs = ssl.CERT_NONE elif isinstance(cert_reqs, str): - CERT_REQS = { # noqa: N806 + CERT_REQS = { "none": ssl.CERT_NONE, "optional": ssl.CERT_OPTIONAL, "required": ssl.CERT_REQUIRED, @@ -890,18 +783,13 @@ class RedisSSLContext: raise RedisError( f"Invalid SSL Certificate Requirements Flag: {cert_reqs}" ) - cert_reqs = CERT_REQS[cert_reqs] - self.cert_reqs = cert_reqs + self.cert_reqs = CERT_REQS[cert_reqs] self.ca_certs = ca_certs self.ca_data = ca_data - self.check_hostname = ( - check_hostname if self.cert_reqs != ssl.CERT_NONE else False - ) - self.min_version = min_version - self.ciphers = ciphers - self.context: Optional[SSLContext] = None + self.check_hostname = check_hostname + self.context: Optional[ssl.SSLContext] = None - def get(self) -> SSLContext: + def get(self) -> ssl.SSLContext: if not self.context: context = ssl.create_default_context() context.check_hostname = self.check_hostname @@ -910,10 +798,6 @@ class RedisSSLContext: context.load_cert_chain(certfile=self.certfile, keyfile=self.keyfile) if self.ca_certs or self.ca_data: context.load_verify_locations(cafile=self.ca_certs, cadata=self.ca_data) - if self.min_version is not None: - context.minimum_version = self.min_version - if self.ciphers is not None: - context.set_ciphers(self.ciphers) self.context = context return self.context @@ -941,6 +825,20 @@ class UnixDomainSocketConnection(AbstractConnection): def _host_error(self) -> str: return self.path + def _error_message(self, exception: BaseException) -> str: + # args for socket.error can either be (errno, "message") + # or just "message" + host_error = self._host_error() + if len(exception.args) == 1: + return ( + f"Error connecting to unix socket: {host_error}. {exception.args[0]}." + ) + else: + return ( + f"Error {exception.args[0]} connecting to unix socket: " + f"{host_error}. {exception.args[1]}." + ) + FALSE_STRINGS = ("0", "F", "FALSE", "N", "NO") @@ -963,7 +861,6 @@ URL_QUERY_ARGUMENT_PARSERS: Mapping[str, Callable[..., object]] = MappingProxyTy "max_connections": int, "health_check_interval": int, "ssl_check_hostname": to_bool, - "timeout": float, } ) @@ -990,7 +887,7 @@ def parse_url(url: str) -> ConnectKwargs: try: kwargs[name] = parser(value) except (TypeError, ValueError): - raise ValueError(f"Invalid value for '{name}' in connection URL.") + raise ValueError(f"Invalid value for `{name}` in connection URL.") else: kwargs[name] = value @@ -1042,7 +939,6 @@ class ConnectionPool: By default, TCP connections are created unless ``connection_class`` is specified. Use :py:class:`~redis.UnixDomainSocketConnection` for unix sockets. - :py:class:`~redis.SSLConnection` can be used for SSL enabled connections. Any additional keyword arguments are passed to the constructor of ``connection_class``. @@ -1112,22 +1008,16 @@ class ConnectionPool: self._available_connections: List[AbstractConnection] = [] self._in_use_connections: Set[AbstractConnection] = set() self.encoder_class = self.connection_kwargs.get("encoder_class", Encoder) - self._lock = asyncio.Lock() - self._event_dispatcher = self.connection_kwargs.get("event_dispatcher", None) - if self._event_dispatcher is None: - self._event_dispatcher = EventDispatcher() def __repr__(self): - conn_kwargs = ",".join([f"{k}={v}" for k, v in self.connection_kwargs.items()]) return ( - f"<{self.__class__.__module__}.{self.__class__.__name__}" - f"(<{self.connection_class.__module__}.{self.connection_class.__name__}" - f"({conn_kwargs})>)>" + f"{self.__class__.__name__}" + f"<{self.connection_class(**self.connection_kwargs)!r}>" ) def reset(self): self._available_connections = [] - self._in_use_connections = weakref.WeakSet() + self._in_use_connections = set() def can_get_connection(self) -> bool: """Return True if a connection can be retrieved from the pool.""" @@ -1136,25 +1026,8 @@ class ConnectionPool: or len(self._in_use_connections) < self.max_connections ) - @deprecated_args( - args_to_warn=["*"], - reason="Use get_connection() without args instead", - version="5.3.0", - ) - async def get_connection(self, command_name=None, *keys, **options): - async with self._lock: - """Get a connected connection from the pool""" - connection = self.get_available_connection() - try: - await self.ensure_connection(connection) - except BaseException: - await self.release(connection) - raise - - return connection - - def get_available_connection(self): - """Get a connection from the pool, without making sure it is connected""" + async def get_connection(self, command_name, *keys, **options): + """Get a connection from the pool""" try: connection = self._available_connections.pop() except IndexError: @@ -1162,6 +1035,13 @@ class ConnectionPool: raise ConnectionError("Too many connections") from None connection = self.make_connection() self._in_use_connections.add(connection) + + try: + await self.ensure_connection(connection) + except BaseException: + await self.release(connection) + raise + return connection def get_encoder(self): @@ -1187,7 +1067,7 @@ class ConnectionPool: try: if await connection.can_read_destructive(): raise ConnectionError("Connection has data") from None - except (ConnectionError, TimeoutError, OSError): + except (ConnectionError, OSError): await connection.disconnect() await connection.connect() if await connection.can_read_destructive(): @@ -1199,9 +1079,6 @@ class ConnectionPool: # not doing so is an error that will cause an exception here. self._in_use_connections.remove(connection) self._available_connections.append(connection) - await self._event_dispatcher.dispatch_async( - AsyncAfterConnectionReleasedEvent(connection) - ) async def disconnect(self, inuse_connections: bool = True): """ @@ -1235,29 +1112,6 @@ class ConnectionPool: for conn in self._in_use_connections: conn.retry = retry - async def re_auth_callback(self, token: TokenInterface): - async with self._lock: - for conn in self._available_connections: - await conn.retry.call_with_retry( - lambda: conn.send_command( - "AUTH", token.try_get("oid"), token.get_value() - ), - lambda error: self._mock(error), - ) - await conn.retry.call_with_retry( - lambda: conn.read_response(), lambda error: self._mock(error) - ) - for conn in self._in_use_connections: - conn.set_re_auth_token(token) - - async def _mock(self, error: RedisError): - """ - Dummy functions, needs to be passed as error callback to retry object. - :param error: - :return: - """ - pass - class BlockingConnectionPool(ConnectionPool): """ @@ -1275,7 +1129,7 @@ class BlockingConnectionPool(ConnectionPool): connection from the pool when all of connections are in use, rather than raising a :py:class:`~redis.ConnectionError` (as the default :py:class:`~redis.asyncio.ConnectionPool` implementation does), it - blocks the current `Task` for a specified number of seconds until + makes blocks the current `Task` for a specified number of seconds until a connection becomes available. Use ``max_connections`` to increase / decrease the pool size:: @@ -1309,29 +1163,16 @@ class BlockingConnectionPool(ConnectionPool): self._condition = asyncio.Condition() self.timeout = timeout - @deprecated_args( - args_to_warn=["*"], - reason="Use get_connection() without args instead", - version="5.3.0", - ) - async def get_connection(self, command_name=None, *keys, **options): + async def get_connection(self, command_name, *keys, **options): """Gets a connection from the pool, blocking until one is available""" try: - async with self._condition: - async with async_timeout(self.timeout): + async with async_timeout(self.timeout): + async with self._condition: await self._condition.wait_for(self.can_get_connection) - connection = super().get_available_connection() + return await super().get_connection(command_name, *keys, **options) except asyncio.TimeoutError as err: raise ConnectionError("No connection available.") from err - # We now perform the connection check outside of the lock. - try: - await self.ensure_connection(connection) - return connection - except BaseException: - await self.release(connection) - raise - async def release(self, connection: AbstractConnection): """Releases the connection back to the pool.""" async with self._condition: diff --git a/venv/lib/python3.12/site-packages/redis/asyncio/lock.py b/venv/lib/python3.12/site-packages/redis/asyncio/lock.py index 16d7fb6..e1d11a8 100644 --- a/venv/lib/python3.12/site-packages/redis/asyncio/lock.py +++ b/venv/lib/python3.12/site-packages/redis/asyncio/lock.py @@ -1,18 +1,14 @@ import asyncio -import logging import threading import uuid from types import SimpleNamespace from typing import TYPE_CHECKING, Awaitable, Optional, Union from redis.exceptions import LockError, LockNotOwnedError -from redis.typing import Number if TYPE_CHECKING: from redis.asyncio import Redis, RedisCluster -logger = logging.getLogger(__name__) - class Lock: """ @@ -86,9 +82,8 @@ class Lock: timeout: Optional[float] = None, sleep: float = 0.1, blocking: bool = True, - blocking_timeout: Optional[Number] = None, + blocking_timeout: Optional[float] = None, thread_local: bool = True, - raise_on_release_error: bool = True, ): """ Create a new Lock instance named ``name`` using the Redis client @@ -132,11 +127,6 @@ class Lock: thread-1 would see the token value as "xyz" and would be able to successfully release the thread-2's lock. - ``raise_on_release_error`` indicates whether to raise an exception when - the lock is no longer owned when exiting the context manager. By default, - this is True, meaning an exception will be raised. If False, the warning - will be logged and the exception will be suppressed. - In some use cases it's necessary to disable thread local storage. For example, if you have code where one thread acquires a lock and passes that lock instance to a worker thread to release later. If thread @@ -153,7 +143,6 @@ class Lock: self.blocking_timeout = blocking_timeout self.thread_local = bool(thread_local) self.local = threading.local() if self.thread_local else SimpleNamespace() - self.raise_on_release_error = raise_on_release_error self.local.token = None self.register_scripts() @@ -173,19 +162,12 @@ class Lock: raise LockError("Unable to acquire lock within the time specified") async def __aexit__(self, exc_type, exc_value, traceback): - try: - await self.release() - except LockError: - if self.raise_on_release_error: - raise - logger.warning( - "Lock was unlocked or no longer owned when exiting context manager." - ) + await self.release() async def acquire( self, blocking: Optional[bool] = None, - blocking_timeout: Optional[Number] = None, + blocking_timeout: Optional[float] = None, token: Optional[Union[str, bytes]] = None, ): """ @@ -267,10 +249,7 @@ class Lock: """Releases the already acquired lock""" expected_token = self.local.token if expected_token is None: - raise LockError( - "Cannot release a lock that's not owned or is already unlocked.", - lock_name=self.name, - ) + raise LockError("Cannot release an unlocked lock") self.local.token = None return self.do_release(expected_token) @@ -283,7 +262,7 @@ class Lock: raise LockNotOwnedError("Cannot release a lock that's no longer owned") def extend( - self, additional_time: Number, replace_ttl: bool = False + self, additional_time: float, replace_ttl: bool = False ) -> Awaitable[bool]: """ Adds more time to an already acquired lock. diff --git a/venv/lib/python3.12/site-packages/redis/asyncio/retry.py b/venv/lib/python3.12/site-packages/redis/asyncio/retry.py index 98b2d9c..7c5e3b0 100644 --- a/venv/lib/python3.12/site-packages/redis/asyncio/retry.py +++ b/venv/lib/python3.12/site-packages/redis/asyncio/retry.py @@ -2,16 +2,18 @@ from asyncio import sleep from typing import TYPE_CHECKING, Any, Awaitable, Callable, Tuple, Type, TypeVar from redis.exceptions import ConnectionError, RedisError, TimeoutError -from redis.retry import AbstractRetry - -T = TypeVar("T") if TYPE_CHECKING: from redis.backoff import AbstractBackoff -class Retry(AbstractRetry[RedisError]): - __hash__ = AbstractRetry.__hash__ +T = TypeVar("T") + + +class Retry: + """Retry a specific number of times after a failure""" + + __slots__ = "_backoff", "_retries", "_supported_errors" def __init__( self, @@ -22,16 +24,23 @@ class Retry(AbstractRetry[RedisError]): TimeoutError, ), ): - super().__init__(backoff, retries, supported_errors) + """ + Initialize a `Retry` object with a `Backoff` object + that retries a maximum of `retries` times. + `retries` can be negative to retry forever. + You can specify the types of supported errors which trigger + a retry with the `supported_errors` parameter. + """ + self._backoff = backoff + self._retries = retries + self._supported_errors = supported_errors - def __eq__(self, other: Any) -> bool: - if not isinstance(other, Retry): - return NotImplemented - - return ( - self._backoff == other._backoff - and self._retries == other._retries - and set(self._supported_errors) == set(other._supported_errors) + def update_supported_errors(self, specified_errors: list): + """ + Updates the supported errors with the specified error types + """ + self._supported_errors = tuple( + set(self._supported_errors + tuple(specified_errors)) ) async def call_with_retry( diff --git a/venv/lib/python3.12/site-packages/redis/asyncio/sentinel.py b/venv/lib/python3.12/site-packages/redis/asyncio/sentinel.py index d0455ab..6834fb1 100644 --- a/venv/lib/python3.12/site-packages/redis/asyncio/sentinel.py +++ b/venv/lib/python3.12/site-packages/redis/asyncio/sentinel.py @@ -11,12 +11,8 @@ from redis.asyncio.connection import ( SSLConnection, ) from redis.commands import AsyncSentinelCommands -from redis.exceptions import ( - ConnectionError, - ReadOnlyError, - ResponseError, - TimeoutError, -) +from redis.exceptions import ConnectionError, ReadOnlyError, ResponseError, TimeoutError +from redis.utils import str_if_bytes class MasterNotFoundError(ConnectionError): @@ -33,18 +29,20 @@ class SentinelManagedConnection(Connection): super().__init__(**kwargs) def __repr__(self): - s = f"<{self.__class__.__module__}.{self.__class__.__name__}" + pool = self.connection_pool + s = f"{self.__class__.__name__}" + return s + ">" async def connect_to(self, address): self.host, self.port = address - await self.connect_check_health( - check_health=self.connection_pool.check_connection, - retry_socket_connect=False, - ) + await super().connect() + if self.connection_pool.check_connection: + await self.send_command("PING") + if str_if_bytes(await self.read_response()) != "PONG": + raise ConnectionError("PING failed") async def _connect_retry(self): if self._reader: @@ -107,11 +105,9 @@ class SentinelConnectionPool(ConnectionPool): def __init__(self, service_name, sentinel_manager, **kwargs): kwargs["connection_class"] = kwargs.get( "connection_class", - ( - SentinelManagedSSLConnection - if kwargs.pop("ssl", False) - else SentinelManagedConnection - ), + SentinelManagedSSLConnection + if kwargs.pop("ssl", False) + else SentinelManagedConnection, ) self.is_master = kwargs.pop("is_master", True) self.check_connection = kwargs.pop("check_connection", False) @@ -124,8 +120,8 @@ class SentinelConnectionPool(ConnectionPool): def __repr__(self): return ( - f"<{self.__class__.__module__}.{self.__class__.__name__}" - f"(service={self.service_name}({self.is_master and 'master' or 'slave'}))>" + f"{self.__class__.__name__}" + f"" ) def reset(self): @@ -201,7 +197,6 @@ class Sentinel(AsyncSentinelCommands): sentinels, min_other_sentinels=0, sentinel_kwargs=None, - force_master_ip=None, **connection_kwargs, ): # if sentinel_kwargs isn't defined, use the socket_* options from @@ -218,7 +213,6 @@ class Sentinel(AsyncSentinelCommands): ] self.min_other_sentinels = min_other_sentinels self.connection_kwargs = connection_kwargs - self._force_master_ip = force_master_ip async def execute_command(self, *args, **kwargs): """ @@ -226,31 +220,19 @@ class Sentinel(AsyncSentinelCommands): once - If set to True, then execute the resulting command on a single node at random, rather than across the entire sentinel cluster. """ - once = bool(kwargs.pop("once", False)) - - # Check if command is supposed to return the original - # responses instead of boolean value. - return_responses = bool(kwargs.pop("return_responses", False)) + once = bool(kwargs.get("once", False)) + if "once" in kwargs.keys(): + kwargs.pop("once") if once: - response = await random.choice(self.sentinels).execute_command( - *args, **kwargs - ) - if return_responses: - return [response] - else: - return True if response else False - - tasks = [ - asyncio.Task(sentinel.execute_command(*args, **kwargs)) - for sentinel in self.sentinels - ] - responses = await asyncio.gather(*tasks) - - if return_responses: - return responses - - return all(responses) + await random.choice(self.sentinels).execute_command(*args, **kwargs) + else: + tasks = [ + asyncio.Task(sentinel.execute_command(*args, **kwargs)) + for sentinel in self.sentinels + ] + await asyncio.gather(*tasks) + return True def __repr__(self): sentinel_addresses = [] @@ -259,10 +241,7 @@ class Sentinel(AsyncSentinelCommands): f"{sentinel.connection_pool.connection_kwargs['host']}:" f"{sentinel.connection_pool.connection_kwargs['port']}" ) - return ( - f"<{self.__class__}.{self.__class__.__name__}" - f"(sentinels=[{','.join(sentinel_addresses)}])>" - ) + return f"{self.__class__.__name__}" def check_master_state(self, state: dict, service_name: str) -> bool: if not state["is_master"] or state["is_sdown"] or state["is_odown"]: @@ -294,13 +273,7 @@ class Sentinel(AsyncSentinelCommands): sentinel, self.sentinels[0], ) - - ip = ( - self._force_master_ip - if self._force_master_ip is not None - else state["ip"] - ) - return ip, state["port"] + return state["ip"], state["port"] error_info = "" if len(collected_errors) > 0: @@ -341,8 +314,6 @@ class Sentinel(AsyncSentinelCommands): ): """ Returns a redis client instance for the ``service_name`` master. - Sentinel client will detect failover and reconnect Redis clients - automatically. A :py:class:`~redis.sentinel.SentinelConnectionPool` class is used to retrieve the master's address before establishing a new diff --git a/venv/lib/python3.12/site-packages/redis/asyncio/utils.py b/venv/lib/python3.12/site-packages/redis/asyncio/utils.py index fa01451..5a55b36 100644 --- a/venv/lib/python3.12/site-packages/redis/asyncio/utils.py +++ b/venv/lib/python3.12/site-packages/redis/asyncio/utils.py @@ -16,7 +16,7 @@ def from_url(url, **kwargs): return Redis.from_url(url, **kwargs) -class pipeline: # noqa: N801 +class pipeline: def __init__(self, redis_obj: "Redis"): self.p: "Pipeline" = redis_obj.pipeline() diff --git a/venv/lib/python3.12/site-packages/redis/auth/__init__.py b/venv/lib/python3.12/site-packages/redis/auth/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/venv/lib/python3.12/site-packages/redis/auth/err.py b/venv/lib/python3.12/site-packages/redis/auth/err.py deleted file mode 100644 index 743dab1..0000000 --- a/venv/lib/python3.12/site-packages/redis/auth/err.py +++ /dev/null @@ -1,31 +0,0 @@ -from typing import Iterable - - -class RequestTokenErr(Exception): - """ - Represents an exception during token request. - """ - - def __init__(self, *args): - super().__init__(*args) - - -class InvalidTokenSchemaErr(Exception): - """ - Represents an exception related to invalid token schema. - """ - - def __init__(self, missing_fields: Iterable[str] = []): - super().__init__( - "Unexpected token schema. Following fields are missing: " - + ", ".join(missing_fields) - ) - - -class TokenRenewalErr(Exception): - """ - Represents an exception during token renewal process. - """ - - def __init__(self, *args): - super().__init__(*args) diff --git a/venv/lib/python3.12/site-packages/redis/auth/idp.py b/venv/lib/python3.12/site-packages/redis/auth/idp.py deleted file mode 100644 index 0951d95..0000000 --- a/venv/lib/python3.12/site-packages/redis/auth/idp.py +++ /dev/null @@ -1,28 +0,0 @@ -from abc import ABC, abstractmethod - -from redis.auth.token import TokenInterface - -""" -This interface is the facade of an identity provider -""" - - -class IdentityProviderInterface(ABC): - """ - Receive a token from the identity provider. - Receiving a token only works when being authenticated. - """ - - @abstractmethod - def request_token(self, force_refresh=False) -> TokenInterface: - pass - - -class IdentityProviderConfigInterface(ABC): - """ - Configuration class that provides a configured identity provider. - """ - - @abstractmethod - def get_provider(self) -> IdentityProviderInterface: - pass diff --git a/venv/lib/python3.12/site-packages/redis/auth/token.py b/venv/lib/python3.12/site-packages/redis/auth/token.py deleted file mode 100644 index 1f613af..0000000 --- a/venv/lib/python3.12/site-packages/redis/auth/token.py +++ /dev/null @@ -1,130 +0,0 @@ -from abc import ABC, abstractmethod -from datetime import datetime, timezone - -from redis.auth.err import InvalidTokenSchemaErr - - -class TokenInterface(ABC): - @abstractmethod - def is_expired(self) -> bool: - pass - - @abstractmethod - def ttl(self) -> float: - pass - - @abstractmethod - def try_get(self, key: str) -> str: - pass - - @abstractmethod - def get_value(self) -> str: - pass - - @abstractmethod - def get_expires_at_ms(self) -> float: - pass - - @abstractmethod - def get_received_at_ms(self) -> float: - pass - - -class TokenResponse: - def __init__(self, token: TokenInterface): - self._token = token - - def get_token(self) -> TokenInterface: - return self._token - - def get_ttl_ms(self) -> float: - return self._token.get_expires_at_ms() - self._token.get_received_at_ms() - - -class SimpleToken(TokenInterface): - def __init__( - self, value: str, expires_at_ms: float, received_at_ms: float, claims: dict - ) -> None: - self.value = value - self.expires_at = expires_at_ms - self.received_at = received_at_ms - self.claims = claims - - def ttl(self) -> float: - if self.expires_at == -1: - return -1 - - return self.expires_at - (datetime.now(timezone.utc).timestamp() * 1000) - - def is_expired(self) -> bool: - if self.expires_at == -1: - return False - - return self.ttl() <= 0 - - def try_get(self, key: str) -> str: - return self.claims.get(key) - - def get_value(self) -> str: - return self.value - - def get_expires_at_ms(self) -> float: - return self.expires_at - - def get_received_at_ms(self) -> float: - return self.received_at - - -class JWToken(TokenInterface): - REQUIRED_FIELDS = {"exp"} - - def __init__(self, token: str): - try: - import jwt - except ImportError as ie: - raise ImportError( - f"The PyJWT library is required for {self.__class__.__name__}.", - ) from ie - self._value = token - self._decoded = jwt.decode( - self._value, - options={"verify_signature": False}, - algorithms=[jwt.get_unverified_header(self._value).get("alg")], - ) - self._validate_token() - - def is_expired(self) -> bool: - exp = self._decoded["exp"] - if exp == -1: - return False - - return ( - self._decoded["exp"] * 1000 <= datetime.now(timezone.utc).timestamp() * 1000 - ) - - def ttl(self) -> float: - exp = self._decoded["exp"] - if exp == -1: - return -1 - - return ( - self._decoded["exp"] * 1000 - datetime.now(timezone.utc).timestamp() * 1000 - ) - - def try_get(self, key: str) -> str: - return self._decoded.get(key) - - def get_value(self) -> str: - return self._value - - def get_expires_at_ms(self) -> float: - return float(self._decoded["exp"] * 1000) - - def get_received_at_ms(self) -> float: - return datetime.now(timezone.utc).timestamp() * 1000 - - def _validate_token(self): - actual_fields = {x for x in self._decoded.keys()} - - if len(self.REQUIRED_FIELDS - actual_fields) != 0: - raise InvalidTokenSchemaErr(self.REQUIRED_FIELDS - actual_fields) diff --git a/venv/lib/python3.12/site-packages/redis/auth/token_manager.py b/venv/lib/python3.12/site-packages/redis/auth/token_manager.py deleted file mode 100644 index dd8d162..0000000 --- a/venv/lib/python3.12/site-packages/redis/auth/token_manager.py +++ /dev/null @@ -1,370 +0,0 @@ -import asyncio -import logging -import threading -from datetime import datetime, timezone -from time import sleep -from typing import Any, Awaitable, Callable, Union - -from redis.auth.err import RequestTokenErr, TokenRenewalErr -from redis.auth.idp import IdentityProviderInterface -from redis.auth.token import TokenResponse - -logger = logging.getLogger(__name__) - - -class CredentialsListener: - """ - Listeners that will be notified on events related to credentials. - Accepts callbacks and awaitable callbacks. - """ - - def __init__(self): - self._on_next = None - self._on_error = None - - @property - def on_next(self) -> Union[Callable[[Any], None], Awaitable]: - return self._on_next - - @on_next.setter - def on_next(self, callback: Union[Callable[[Any], None], Awaitable]) -> None: - self._on_next = callback - - @property - def on_error(self) -> Union[Callable[[Exception], None], Awaitable]: - return self._on_error - - @on_error.setter - def on_error(self, callback: Union[Callable[[Exception], None], Awaitable]) -> None: - self._on_error = callback - - -class RetryPolicy: - def __init__(self, max_attempts: int, delay_in_ms: float): - self.max_attempts = max_attempts - self.delay_in_ms = delay_in_ms - - def get_max_attempts(self) -> int: - """ - Retry attempts before exception will be thrown. - - :return: int - """ - return self.max_attempts - - def get_delay_in_ms(self) -> float: - """ - Delay between retries in seconds. - - :return: int - """ - return self.delay_in_ms - - -class TokenManagerConfig: - def __init__( - self, - expiration_refresh_ratio: float, - lower_refresh_bound_millis: int, - token_request_execution_timeout_in_ms: int, - retry_policy: RetryPolicy, - ): - self._expiration_refresh_ratio = expiration_refresh_ratio - self._lower_refresh_bound_millis = lower_refresh_bound_millis - self._token_request_execution_timeout_in_ms = ( - token_request_execution_timeout_in_ms - ) - self._retry_policy = retry_policy - - def get_expiration_refresh_ratio(self) -> float: - """ - Represents the ratio of a token's lifetime at which a refresh should be triggered. # noqa: E501 - For example, a value of 0.75 means the token should be refreshed - when 75% of its lifetime has elapsed (or when 25% of its lifetime remains). - - :return: float - """ - - return self._expiration_refresh_ratio - - def get_lower_refresh_bound_millis(self) -> int: - """ - Represents the minimum time in milliseconds before token expiration - to trigger a refresh, in milliseconds. - This value sets a fixed lower bound for when a token refresh should occur, - regardless of the token's total lifetime. - If set to 0 there will be no lower bound and the refresh will be triggered - based on the expirationRefreshRatio only. - - :return: int - """ - return self._lower_refresh_bound_millis - - def get_token_request_execution_timeout_in_ms(self) -> int: - """ - Represents the maximum time in milliseconds to wait - for a token request to complete. - - :return: int - """ - return self._token_request_execution_timeout_in_ms - - def get_retry_policy(self) -> RetryPolicy: - """ - Represents the retry policy for token requests. - - :return: RetryPolicy - """ - return self._retry_policy - - -class TokenManager: - def __init__( - self, identity_provider: IdentityProviderInterface, config: TokenManagerConfig - ): - self._idp = identity_provider - self._config = config - self._next_timer = None - self._listener = None - self._init_timer = None - self._retries = 0 - - def __del__(self): - logger.info("Token manager are disposed") - self.stop() - - def start( - self, - listener: CredentialsListener, - skip_initial: bool = False, - ) -> Callable[[], None]: - self._listener = listener - - try: - loop = asyncio.get_running_loop() - except RuntimeError: - # Run loop in a separate thread to unblock main thread. - loop = asyncio.new_event_loop() - thread = threading.Thread( - target=_start_event_loop_in_thread, args=(loop,), daemon=True - ) - thread.start() - - # Event to block for initial execution. - init_event = asyncio.Event() - self._init_timer = loop.call_later( - 0, self._renew_token, skip_initial, init_event - ) - logger.info("Token manager started") - - # Blocks in thread-safe manner. - asyncio.run_coroutine_threadsafe(init_event.wait(), loop).result() - return self.stop - - async def start_async( - self, - listener: CredentialsListener, - block_for_initial: bool = False, - initial_delay_in_ms: float = 0, - skip_initial: bool = False, - ) -> Callable[[], None]: - self._listener = listener - - loop = asyncio.get_running_loop() - init_event = asyncio.Event() - - # Wraps the async callback with async wrapper to schedule with loop.call_later() - wrapped = _async_to_sync_wrapper( - loop, self._renew_token_async, skip_initial, init_event - ) - self._init_timer = loop.call_later(initial_delay_in_ms / 1000, wrapped) - logger.info("Token manager started") - - if block_for_initial: - await init_event.wait() - - return self.stop - - def stop(self): - if self._init_timer is not None: - self._init_timer.cancel() - if self._next_timer is not None: - self._next_timer.cancel() - - def acquire_token(self, force_refresh=False) -> TokenResponse: - try: - token = self._idp.request_token(force_refresh) - except RequestTokenErr as e: - if self._retries < self._config.get_retry_policy().get_max_attempts(): - self._retries += 1 - sleep(self._config.get_retry_policy().get_delay_in_ms() / 1000) - return self.acquire_token(force_refresh) - else: - raise e - - self._retries = 0 - return TokenResponse(token) - - async def acquire_token_async(self, force_refresh=False) -> TokenResponse: - try: - token = self._idp.request_token(force_refresh) - except RequestTokenErr as e: - if self._retries < self._config.get_retry_policy().get_max_attempts(): - self._retries += 1 - await asyncio.sleep( - self._config.get_retry_policy().get_delay_in_ms() / 1000 - ) - return await self.acquire_token_async(force_refresh) - else: - raise e - - self._retries = 0 - return TokenResponse(token) - - def _calculate_renewal_delay(self, expire_date: float, issue_date: float) -> float: - delay_for_lower_refresh = self._delay_for_lower_refresh(expire_date) - delay_for_ratio_refresh = self._delay_for_ratio_refresh(expire_date, issue_date) - delay = min(delay_for_ratio_refresh, delay_for_lower_refresh) - - return 0 if delay < 0 else delay / 1000 - - def _delay_for_lower_refresh(self, expire_date: float): - return ( - expire_date - - self._config.get_lower_refresh_bound_millis() - - (datetime.now(timezone.utc).timestamp() * 1000) - ) - - def _delay_for_ratio_refresh(self, expire_date: float, issue_date: float): - token_ttl = expire_date - issue_date - refresh_before = token_ttl - ( - token_ttl * self._config.get_expiration_refresh_ratio() - ) - - return ( - expire_date - - refresh_before - - (datetime.now(timezone.utc).timestamp() * 1000) - ) - - def _renew_token( - self, skip_initial: bool = False, init_event: asyncio.Event = None - ): - """ - Task to renew token from identity provider. - Schedules renewal tasks based on token TTL. - """ - - try: - token_res = self.acquire_token(force_refresh=True) - delay = self._calculate_renewal_delay( - token_res.get_token().get_expires_at_ms(), - token_res.get_token().get_received_at_ms(), - ) - - if token_res.get_token().is_expired(): - raise TokenRenewalErr("Requested token is expired") - - if self._listener.on_next is None: - logger.warning( - "No registered callback for token renewal task. Renewal cancelled" - ) - return - - if not skip_initial: - try: - self._listener.on_next(token_res.get_token()) - except Exception as e: - raise TokenRenewalErr(e) - - if delay <= 0: - return - - loop = asyncio.get_running_loop() - self._next_timer = loop.call_later(delay, self._renew_token) - logger.info(f"Next token renewal scheduled in {delay} seconds") - return token_res - except Exception as e: - if self._listener.on_error is None: - raise e - - self._listener.on_error(e) - finally: - if init_event: - init_event.set() - - async def _renew_token_async( - self, skip_initial: bool = False, init_event: asyncio.Event = None - ): - """ - Async task to renew tokens from identity provider. - Schedules renewal tasks based on token TTL. - """ - - try: - token_res = await self.acquire_token_async(force_refresh=True) - delay = self._calculate_renewal_delay( - token_res.get_token().get_expires_at_ms(), - token_res.get_token().get_received_at_ms(), - ) - - if token_res.get_token().is_expired(): - raise TokenRenewalErr("Requested token is expired") - - if self._listener.on_next is None: - logger.warning( - "No registered callback for token renewal task. Renewal cancelled" - ) - return - - if not skip_initial: - try: - await self._listener.on_next(token_res.get_token()) - except Exception as e: - raise TokenRenewalErr(e) - - if delay <= 0: - return - - loop = asyncio.get_running_loop() - wrapped = _async_to_sync_wrapper(loop, self._renew_token_async) - logger.info(f"Next token renewal scheduled in {delay} seconds") - loop.call_later(delay, wrapped) - except Exception as e: - if self._listener.on_error is None: - raise e - - await self._listener.on_error(e) - finally: - if init_event: - init_event.set() - - -def _async_to_sync_wrapper(loop, coro_func, *args, **kwargs): - """ - Wraps an asynchronous function so it can be used with loop.call_later. - - :param loop: The event loop in which the coroutine will be executed. - :param coro_func: The coroutine function to wrap. - :param args: Positional arguments to pass to the coroutine function. - :param kwargs: Keyword arguments to pass to the coroutine function. - :return: A regular function suitable for loop.call_later. - """ - - def wrapped(): - # Schedule the coroutine in the event loop - asyncio.ensure_future(coro_func(*args, **kwargs), loop=loop) - - return wrapped - - -def _start_event_loop_in_thread(event_loop: asyncio.AbstractEventLoop): - """ - Starts event loop in a thread. - Used to be able to schedule tasks using loop.call_later. - - :param event_loop: - :return: - """ - asyncio.set_event_loop(event_loop) - event_loop.run_forever() diff --git a/venv/lib/python3.12/site-packages/redis/backoff.py b/venv/lib/python3.12/site-packages/redis/backoff.py index 6e1f68a..c62e760 100644 --- a/venv/lib/python3.12/site-packages/redis/backoff.py +++ b/venv/lib/python3.12/site-packages/redis/backoff.py @@ -19,7 +19,7 @@ class AbstractBackoff(ABC): pass @abstractmethod - def compute(self, failures: int) -> float: + def compute(self, failures): """Compute backoff in seconds upon failure""" pass @@ -27,34 +27,25 @@ class AbstractBackoff(ABC): class ConstantBackoff(AbstractBackoff): """Constant backoff upon failure""" - def __init__(self, backoff: float) -> None: + def __init__(self, backoff): """`backoff`: backoff time in seconds""" self._backoff = backoff - def __hash__(self) -> int: - return hash((self._backoff,)) - - def __eq__(self, other) -> bool: - if not isinstance(other, ConstantBackoff): - return NotImplemented - - return self._backoff == other._backoff - - def compute(self, failures: int) -> float: + def compute(self, failures): return self._backoff class NoBackoff(ConstantBackoff): """No backoff upon failure""" - def __init__(self) -> None: + def __init__(self): super().__init__(0) class ExponentialBackoff(AbstractBackoff): """Exponential backoff upon failure""" - def __init__(self, cap: float = DEFAULT_CAP, base: float = DEFAULT_BASE): + def __init__(self, cap=DEFAULT_CAP, base=DEFAULT_BASE): """ `cap`: maximum backoff time in seconds `base`: base backoff time in seconds @@ -62,23 +53,14 @@ class ExponentialBackoff(AbstractBackoff): self._cap = cap self._base = base - def __hash__(self) -> int: - return hash((self._base, self._cap)) - - def __eq__(self, other) -> bool: - if not isinstance(other, ExponentialBackoff): - return NotImplemented - - return self._base == other._base and self._cap == other._cap - - def compute(self, failures: int) -> float: + def compute(self, failures): return min(self._cap, self._base * 2**failures) class FullJitterBackoff(AbstractBackoff): """Full jitter backoff upon failure""" - def __init__(self, cap: float = DEFAULT_CAP, base: float = DEFAULT_BASE) -> None: + def __init__(self, cap=DEFAULT_CAP, base=DEFAULT_BASE): """ `cap`: maximum backoff time in seconds `base`: base backoff time in seconds @@ -86,23 +68,14 @@ class FullJitterBackoff(AbstractBackoff): self._cap = cap self._base = base - def __hash__(self) -> int: - return hash((self._base, self._cap)) - - def __eq__(self, other) -> bool: - if not isinstance(other, FullJitterBackoff): - return NotImplemented - - return self._base == other._base and self._cap == other._cap - - def compute(self, failures: int) -> float: + def compute(self, failures): return random.uniform(0, min(self._cap, self._base * 2**failures)) class EqualJitterBackoff(AbstractBackoff): """Equal jitter backoff upon failure""" - def __init__(self, cap: float = DEFAULT_CAP, base: float = DEFAULT_BASE) -> None: + def __init__(self, cap=DEFAULT_CAP, base=DEFAULT_BASE): """ `cap`: maximum backoff time in seconds `base`: base backoff time in seconds @@ -110,16 +83,7 @@ class EqualJitterBackoff(AbstractBackoff): self._cap = cap self._base = base - def __hash__(self) -> int: - return hash((self._base, self._cap)) - - def __eq__(self, other) -> bool: - if not isinstance(other, EqualJitterBackoff): - return NotImplemented - - return self._base == other._base and self._cap == other._cap - - def compute(self, failures: int) -> float: + def compute(self, failures): temp = min(self._cap, self._base * 2**failures) / 2 return temp + random.uniform(0, temp) @@ -127,7 +91,7 @@ class EqualJitterBackoff(AbstractBackoff): class DecorrelatedJitterBackoff(AbstractBackoff): """Decorrelated jitter backoff upon failure""" - def __init__(self, cap: float = DEFAULT_CAP, base: float = DEFAULT_BASE) -> None: + def __init__(self, cap=DEFAULT_CAP, base=DEFAULT_BASE): """ `cap`: maximum backoff time in seconds `base`: base backoff time in seconds @@ -136,48 +100,15 @@ class DecorrelatedJitterBackoff(AbstractBackoff): self._base = base self._previous_backoff = 0 - def __hash__(self) -> int: - return hash((self._base, self._cap)) - - def __eq__(self, other) -> bool: - if not isinstance(other, DecorrelatedJitterBackoff): - return NotImplemented - - return self._base == other._base and self._cap == other._cap - - def reset(self) -> None: + def reset(self): self._previous_backoff = 0 - def compute(self, failures: int) -> float: + def compute(self, failures): max_backoff = max(self._base, self._previous_backoff * 3) temp = random.uniform(self._base, max_backoff) self._previous_backoff = min(self._cap, temp) return self._previous_backoff -class ExponentialWithJitterBackoff(AbstractBackoff): - """Exponential backoff upon failure, with jitter""" - - def __init__(self, cap: float = DEFAULT_CAP, base: float = DEFAULT_BASE) -> None: - """ - `cap`: maximum backoff time in seconds - `base`: base backoff time in seconds - """ - self._cap = cap - self._base = base - - def __hash__(self) -> int: - return hash((self._base, self._cap)) - - def __eq__(self, other) -> bool: - if not isinstance(other, ExponentialWithJitterBackoff): - return NotImplemented - - return self._base == other._base and self._cap == other._cap - - def compute(self, failures: int) -> float: - return min(self._cap, random.random() * self._base * 2**failures) - - def default_backoff(): return EqualJitterBackoff() diff --git a/venv/lib/python3.12/site-packages/redis/cache.py b/venv/lib/python3.12/site-packages/redis/cache.py deleted file mode 100644 index 9971edd..0000000 --- a/venv/lib/python3.12/site-packages/redis/cache.py +++ /dev/null @@ -1,401 +0,0 @@ -from abc import ABC, abstractmethod -from collections import OrderedDict -from dataclasses import dataclass -from enum import Enum -from typing import Any, List, Optional, Union - - -class CacheEntryStatus(Enum): - VALID = "VALID" - IN_PROGRESS = "IN_PROGRESS" - - -class EvictionPolicyType(Enum): - time_based = "time_based" - frequency_based = "frequency_based" - - -@dataclass(frozen=True) -class CacheKey: - command: str - redis_keys: tuple - - -class CacheEntry: - def __init__( - self, - cache_key: CacheKey, - cache_value: bytes, - status: CacheEntryStatus, - connection_ref, - ): - self.cache_key = cache_key - self.cache_value = cache_value - self.status = status - self.connection_ref = connection_ref - - def __hash__(self): - return hash( - (self.cache_key, self.cache_value, self.status, self.connection_ref) - ) - - def __eq__(self, other): - return hash(self) == hash(other) - - -class EvictionPolicyInterface(ABC): - @property - @abstractmethod - def cache(self): - pass - - @cache.setter - def cache(self, value): - pass - - @property - @abstractmethod - def type(self) -> EvictionPolicyType: - pass - - @abstractmethod - def evict_next(self) -> CacheKey: - pass - - @abstractmethod - def evict_many(self, count: int) -> List[CacheKey]: - pass - - @abstractmethod - def touch(self, cache_key: CacheKey) -> None: - pass - - -class CacheConfigurationInterface(ABC): - @abstractmethod - def get_cache_class(self): - pass - - @abstractmethod - def get_max_size(self) -> int: - pass - - @abstractmethod - def get_eviction_policy(self): - pass - - @abstractmethod - def is_exceeds_max_size(self, count: int) -> bool: - pass - - @abstractmethod - def is_allowed_to_cache(self, command: str) -> bool: - pass - - -class CacheInterface(ABC): - @property - @abstractmethod - def collection(self) -> OrderedDict: - pass - - @property - @abstractmethod - def config(self) -> CacheConfigurationInterface: - pass - - @property - @abstractmethod - def eviction_policy(self) -> EvictionPolicyInterface: - pass - - @property - @abstractmethod - def size(self) -> int: - pass - - @abstractmethod - def get(self, key: CacheKey) -> Union[CacheEntry, None]: - pass - - @abstractmethod - def set(self, entry: CacheEntry) -> bool: - pass - - @abstractmethod - def delete_by_cache_keys(self, cache_keys: List[CacheKey]) -> List[bool]: - pass - - @abstractmethod - def delete_by_redis_keys(self, redis_keys: List[bytes]) -> List[bool]: - pass - - @abstractmethod - def flush(self) -> int: - pass - - @abstractmethod - def is_cachable(self, key: CacheKey) -> bool: - pass - - -class DefaultCache(CacheInterface): - def __init__( - self, - cache_config: CacheConfigurationInterface, - ) -> None: - self._cache = OrderedDict() - self._cache_config = cache_config - self._eviction_policy = self._cache_config.get_eviction_policy().value() - self._eviction_policy.cache = self - - @property - def collection(self) -> OrderedDict: - return self._cache - - @property - def config(self) -> CacheConfigurationInterface: - return self._cache_config - - @property - def eviction_policy(self) -> EvictionPolicyInterface: - return self._eviction_policy - - @property - def size(self) -> int: - return len(self._cache) - - def set(self, entry: CacheEntry) -> bool: - if not self.is_cachable(entry.cache_key): - return False - - self._cache[entry.cache_key] = entry - self._eviction_policy.touch(entry.cache_key) - - if self._cache_config.is_exceeds_max_size(len(self._cache)): - self._eviction_policy.evict_next() - - return True - - def get(self, key: CacheKey) -> Union[CacheEntry, None]: - entry = self._cache.get(key, None) - - if entry is None: - return None - - self._eviction_policy.touch(key) - return entry - - def delete_by_cache_keys(self, cache_keys: List[CacheKey]) -> List[bool]: - response = [] - - for key in cache_keys: - if self.get(key) is not None: - self._cache.pop(key) - response.append(True) - else: - response.append(False) - - return response - - def delete_by_redis_keys(self, redis_keys: List[bytes]) -> List[bool]: - response = [] - keys_to_delete = [] - - for redis_key in redis_keys: - if isinstance(redis_key, bytes): - redis_key = redis_key.decode() - for cache_key in self._cache: - if redis_key in cache_key.redis_keys: - keys_to_delete.append(cache_key) - response.append(True) - - for key in keys_to_delete: - self._cache.pop(key) - - return response - - def flush(self) -> int: - elem_count = len(self._cache) - self._cache.clear() - return elem_count - - def is_cachable(self, key: CacheKey) -> bool: - return self._cache_config.is_allowed_to_cache(key.command) - - -class LRUPolicy(EvictionPolicyInterface): - def __init__(self): - self.cache = None - - @property - def cache(self): - return self._cache - - @cache.setter - def cache(self, cache: CacheInterface): - self._cache = cache - - @property - def type(self) -> EvictionPolicyType: - return EvictionPolicyType.time_based - - def evict_next(self) -> CacheKey: - self._assert_cache() - popped_entry = self._cache.collection.popitem(last=False) - return popped_entry[0] - - def evict_many(self, count: int) -> List[CacheKey]: - self._assert_cache() - if count > len(self._cache.collection): - raise ValueError("Evictions count is above cache size") - - popped_keys = [] - - for _ in range(count): - popped_entry = self._cache.collection.popitem(last=False) - popped_keys.append(popped_entry[0]) - - return popped_keys - - def touch(self, cache_key: CacheKey) -> None: - self._assert_cache() - - if self._cache.collection.get(cache_key) is None: - raise ValueError("Given entry does not belong to the cache") - - self._cache.collection.move_to_end(cache_key) - - def _assert_cache(self): - if self.cache is None or not isinstance(self.cache, CacheInterface): - raise ValueError("Eviction policy should be associated with valid cache.") - - -class EvictionPolicy(Enum): - LRU = LRUPolicy - - -class CacheConfig(CacheConfigurationInterface): - DEFAULT_CACHE_CLASS = DefaultCache - DEFAULT_EVICTION_POLICY = EvictionPolicy.LRU - DEFAULT_MAX_SIZE = 10000 - - DEFAULT_ALLOW_LIST = [ - "BITCOUNT", - "BITFIELD_RO", - "BITPOS", - "EXISTS", - "GEODIST", - "GEOHASH", - "GEOPOS", - "GEORADIUSBYMEMBER_RO", - "GEORADIUS_RO", - "GEOSEARCH", - "GET", - "GETBIT", - "GETRANGE", - "HEXISTS", - "HGET", - "HGETALL", - "HKEYS", - "HLEN", - "HMGET", - "HSTRLEN", - "HVALS", - "JSON.ARRINDEX", - "JSON.ARRLEN", - "JSON.GET", - "JSON.MGET", - "JSON.OBJKEYS", - "JSON.OBJLEN", - "JSON.RESP", - "JSON.STRLEN", - "JSON.TYPE", - "LCS", - "LINDEX", - "LLEN", - "LPOS", - "LRANGE", - "MGET", - "SCARD", - "SDIFF", - "SINTER", - "SINTERCARD", - "SISMEMBER", - "SMEMBERS", - "SMISMEMBER", - "SORT_RO", - "STRLEN", - "SUBSTR", - "SUNION", - "TS.GET", - "TS.INFO", - "TS.RANGE", - "TS.REVRANGE", - "TYPE", - "XLEN", - "XPENDING", - "XRANGE", - "XREAD", - "XREVRANGE", - "ZCARD", - "ZCOUNT", - "ZDIFF", - "ZINTER", - "ZINTERCARD", - "ZLEXCOUNT", - "ZMSCORE", - "ZRANGE", - "ZRANGEBYLEX", - "ZRANGEBYSCORE", - "ZRANK", - "ZREVRANGE", - "ZREVRANGEBYLEX", - "ZREVRANGEBYSCORE", - "ZREVRANK", - "ZSCORE", - "ZUNION", - ] - - def __init__( - self, - max_size: int = DEFAULT_MAX_SIZE, - cache_class: Any = DEFAULT_CACHE_CLASS, - eviction_policy: EvictionPolicy = DEFAULT_EVICTION_POLICY, - ): - self._cache_class = cache_class - self._max_size = max_size - self._eviction_policy = eviction_policy - - def get_cache_class(self): - return self._cache_class - - def get_max_size(self) -> int: - return self._max_size - - def get_eviction_policy(self) -> EvictionPolicy: - return self._eviction_policy - - def is_exceeds_max_size(self, count: int) -> bool: - return count > self._max_size - - def is_allowed_to_cache(self, command: str) -> bool: - return command in self.DEFAULT_ALLOW_LIST - - -class CacheFactoryInterface(ABC): - @abstractmethod - def get_cache(self) -> CacheInterface: - pass - - -class CacheFactory(CacheFactoryInterface): - def __init__(self, cache_config: Optional[CacheConfig] = None): - self._config = cache_config - - if self._config is None: - self._config = CacheConfig() - - def get_cache(self) -> CacheInterface: - cache_class = self._config.get_cache_class() - return cache_class(cache_config=self._config) diff --git a/venv/lib/python3.12/site-packages/redis/client.py b/venv/lib/python3.12/site-packages/redis/client.py old mode 100755 new mode 100644 index 0e05b6f..4923143 --- a/venv/lib/python3.12/site-packages/redis/client.py +++ b/venv/lib/python3.12/site-packages/redis/client.py @@ -2,19 +2,9 @@ import copy import re import threading import time +import warnings from itertools import chain -from typing import ( - TYPE_CHECKING, - Any, - Callable, - Dict, - List, - Mapping, - Optional, - Set, - Type, - Union, -) +from typing import Any, Callable, Dict, List, Optional, Type, Union from redis._parsers.encoders import Encoder from redis._parsers.helpers import ( @@ -23,54 +13,33 @@ from redis._parsers.helpers import ( _RedisCallbacksRESP3, bool_ok, ) -from redis.backoff import ExponentialWithJitterBackoff -from redis.cache import CacheConfig, CacheInterface from redis.commands import ( CoreCommands, RedisModuleCommands, SentinelCommands, list_or_args, ) -from redis.commands.core import Script -from redis.connection import ( - AbstractConnection, - Connection, - ConnectionPool, - SSLConnection, - UnixDomainSocketConnection, -) +from redis.connection import ConnectionPool, SSLConnection, UnixDomainSocketConnection from redis.credentials import CredentialProvider -from redis.event import ( - AfterPooledConnectionsInstantiationEvent, - AfterPubSubConnectionInstantiationEvent, - AfterSingleConnectionInstantiationEvent, - ClientType, - EventDispatcher, -) from redis.exceptions import ( ConnectionError, ExecAbortError, PubSubError, RedisError, ResponseError, + TimeoutError, WatchError, ) from redis.lock import Lock from redis.retry import Retry from redis.utils import ( + HIREDIS_AVAILABLE, _set_info_logger, - deprecated_args, get_lib_version, safe_str, str_if_bytes, - truncate_text, ) -if TYPE_CHECKING: - import ssl - - import OpenSSL - SYM_EMPTY = b"" EMPTY_RESPONSE = "EMPTY_RESPONSE" @@ -125,7 +94,7 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): """ @classmethod - def from_url(cls, url: str, **kwargs) -> "Redis": + def from_url(cls, url: str, **kwargs) -> None: """ Return a Redis client object configured from the given URL @@ -191,80 +160,56 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): client.auto_close_connection_pool = True return client - @deprecated_args( - args_to_warn=["retry_on_timeout"], - reason="TimeoutError is included by default.", - version="6.0.0", - ) def __init__( self, - host: str = "localhost", - port: int = 6379, - db: int = 0, - password: Optional[str] = None, - socket_timeout: Optional[float] = None, - socket_connect_timeout: Optional[float] = None, - socket_keepalive: Optional[bool] = None, - socket_keepalive_options: Optional[Mapping[int, Union[int, bytes]]] = None, - connection_pool: Optional[ConnectionPool] = None, - unix_socket_path: Optional[str] = None, - encoding: str = "utf-8", - encoding_errors: str = "strict", - decode_responses: bool = False, - retry_on_timeout: bool = False, - retry: Retry = Retry( - backoff=ExponentialWithJitterBackoff(base=1, cap=10), retries=3 - ), - retry_on_error: Optional[List[Type[Exception]]] = None, - ssl: bool = False, - ssl_keyfile: Optional[str] = None, - ssl_certfile: Optional[str] = None, - ssl_cert_reqs: Union[str, "ssl.VerifyMode"] = "required", - ssl_ca_certs: Optional[str] = None, - ssl_ca_path: Optional[str] = None, - ssl_ca_data: Optional[str] = None, - ssl_check_hostname: bool = True, - ssl_password: Optional[str] = None, - ssl_validate_ocsp: bool = False, - ssl_validate_ocsp_stapled: bool = False, - ssl_ocsp_context: Optional["OpenSSL.SSL.Context"] = None, - ssl_ocsp_expected_cert: Optional[str] = None, - ssl_min_version: Optional["ssl.TLSVersion"] = None, - ssl_ciphers: Optional[str] = None, - max_connections: Optional[int] = None, - single_connection_client: bool = False, - health_check_interval: int = 0, - client_name: Optional[str] = None, - lib_name: Optional[str] = "redis-py", - lib_version: Optional[str] = get_lib_version(), - username: Optional[str] = None, - redis_connect_func: Optional[Callable[[], None]] = None, + host="localhost", + port=6379, + db=0, + password=None, + socket_timeout=None, + socket_connect_timeout=None, + socket_keepalive=None, + socket_keepalive_options=None, + connection_pool=None, + unix_socket_path=None, + encoding="utf-8", + encoding_errors="strict", + charset=None, + errors=None, + decode_responses=False, + retry_on_timeout=False, + retry_on_error=None, + ssl=False, + ssl_keyfile=None, + ssl_certfile=None, + ssl_cert_reqs="required", + ssl_ca_certs=None, + ssl_ca_path=None, + ssl_ca_data=None, + ssl_check_hostname=False, + ssl_password=None, + ssl_validate_ocsp=False, + ssl_validate_ocsp_stapled=False, + ssl_ocsp_context=None, + ssl_ocsp_expected_cert=None, + max_connections=None, + single_connection_client=False, + health_check_interval=0, + client_name=None, + lib_name="redis-py", + lib_version=get_lib_version(), + username=None, + retry=None, + redis_connect_func=None, credential_provider: Optional[CredentialProvider] = None, protocol: Optional[int] = 2, - cache: Optional[CacheInterface] = None, - cache_config: Optional[CacheConfig] = None, - event_dispatcher: Optional[EventDispatcher] = None, ) -> None: """ Initialize a new Redis client. - - To specify a retry policy for specific errors, you have two options: - - 1. Set the `retry_on_error` to a list of the error/s to retry on, and - you can also set `retry` to a valid `Retry` object(in case the default - one is not appropriate) - with this approach the retries will be triggered - on the default errors specified in the Retry object enriched with the - errors specified in `retry_on_error`. - - 2. Define a `Retry` object with configured 'supported_errors' and set - it to the `retry` parameter - with this approach you completely redefine - the errors on which retries will happen. - - `retry_on_timeout` is deprecated - please include the TimeoutError - either in the Retry object or in the `retry_on_error` list. - - When 'connection_pool' is provided - the retry configuration of the - provided pool will be used. + To specify a retry policy for specific errors, first set + `retry_on_error` to a list of the error/s to retry on, then set + `retry` to a valid `Retry` object. + To retry on TimeoutError, `retry_on_timeout` can also be set to `True`. Args: @@ -272,13 +217,25 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): if `True`, connection pool is not used. In that case `Redis` instance use is not thread safe. """ - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher if not connection_pool: + if charset is not None: + warnings.warn( + DeprecationWarning( + '"charset" is deprecated. Use "encoding" instead' + ) + ) + encoding = charset + if errors is not None: + warnings.warn( + DeprecationWarning( + '"errors" is deprecated. Use "encoding_errors" instead' + ) + ) + encoding_errors = errors if not retry_on_error: retry_on_error = [] + if retry_on_timeout is True: + retry_on_error.append(TimeoutError) kwargs = { "db": db, "username": username, @@ -334,50 +291,17 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): "ssl_validate_ocsp": ssl_validate_ocsp, "ssl_ocsp_context": ssl_ocsp_context, "ssl_ocsp_expected_cert": ssl_ocsp_expected_cert, - "ssl_min_version": ssl_min_version, - "ssl_ciphers": ssl_ciphers, - } - ) - if (cache_config or cache) and protocol in [3, "3"]: - kwargs.update( - { - "cache": cache, - "cache_config": cache_config, } ) connection_pool = ConnectionPool(**kwargs) - self._event_dispatcher.dispatch( - AfterPooledConnectionsInstantiationEvent( - [connection_pool], ClientType.SYNC, credential_provider - ) - ) self.auto_close_connection_pool = True else: self.auto_close_connection_pool = False - self._event_dispatcher.dispatch( - AfterPooledConnectionsInstantiationEvent( - [connection_pool], ClientType.SYNC, credential_provider - ) - ) self.connection_pool = connection_pool - - if (cache_config or cache) and self.connection_pool.get_protocol() not in [ - 3, - "3", - ]: - raise RedisError("Client caching is only supported with RESP version 3") - - self.single_connection_lock = threading.RLock() self.connection = None - self._single_connection_client = single_connection_client - if self._single_connection_client: - self.connection = self.connection_pool.get_connection() - self._event_dispatcher.dispatch( - AfterSingleConnectionInstantiationEvent( - self.connection, ClientType.SYNC, self.single_connection_lock - ) - ) + if single_connection_client: + self.connection = self.connection_pool.get_connection("_") self.response_callbacks = CaseInsensitiveDict(_RedisCallbacks) @@ -387,10 +311,7 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): self.response_callbacks.update(_RedisCallbacksRESP2) def __repr__(self) -> str: - return ( - f"<{type(self).__module__}.{type(self).__name__}" - f"({repr(self.connection_pool)})>" - ) + return f"{type(self).__name__}<{repr(self.connection_pool)}>" def get_encoder(self) -> "Encoder": """Get the connection pool's encoder""" @@ -400,10 +321,10 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): """Get the connection's key-word arguments""" return self.connection_pool.connection_kwargs - def get_retry(self) -> Optional[Retry]: + def get_retry(self) -> Optional["Retry"]: return self.get_connection_kwargs().get("retry") - def set_retry(self, retry: Retry) -> None: + def set_retry(self, retry: "Retry") -> None: self.get_connection_kwargs().update({"retry": retry}) self.connection_pool.set_retry(retry) @@ -448,7 +369,7 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): def transaction( self, func: Callable[["Pipeline"], None], *watches, **kwargs - ) -> Union[List[Any], Any, None]: + ) -> None: """ Convenience method for executing the callable `func` as a transaction while watching all keys specified in `watches`. The 'func' callable @@ -479,7 +400,6 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): blocking_timeout: Optional[float] = None, lock_class: Union[None, Any] = None, thread_local: bool = True, - raise_on_release_error: bool = True, ): """ Return a new Lock object using key ``name`` that mimics @@ -526,11 +446,6 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): thread-1 would see the token value as "xyz" and would be able to successfully release the thread-2's lock. - ``raise_on_release_error`` indicates whether to raise an exception when - the lock is no longer owned when exiting the context manager. By default, - this is True, meaning an exception will be raised. If False, the warning - will be logged and the exception will be suppressed. - In some use cases it's necessary to disable thread local storage. For example, if you have code where one thread acquires a lock and passes that lock instance to a worker thread to release later. If thread @@ -548,7 +463,6 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): blocking=blocking, blocking_timeout=blocking_timeout, thread_local=thread_local, - raise_on_release_error=raise_on_release_error, ) def pubsub(self, **kwargs): @@ -557,9 +471,7 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): subscribe to channels and listen for messages that get published to them. """ - return PubSub( - self.connection_pool, event_dispatcher=self._event_dispatcher, **kwargs - ) + return PubSub(self.connection_pool, **kwargs) def monitor(self): return Monitor(self.connection_pool) @@ -576,12 +488,9 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): self.close() def __del__(self): - try: - self.close() - except Exception: - pass + self.close() - def close(self) -> None: + def close(self): # In case a connection property does not yet exist # (due to a crash earlier in the Redis() constructor), return # immediately as there is nothing to clean-up. @@ -600,44 +509,37 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): """ Send a command and parse the response """ - conn.send_command(*args, **options) + conn.send_command(*args) return self.parse_response(conn, command_name, **options) - def _close_connection(self, conn) -> None: + def _disconnect_raise(self, conn, error): """ - Close the connection before retrying. - - The supported exceptions are already checked in the - retry object so we don't need to do it here. - - After we disconnect the connection, it will try to reconnect and - do a health check as part of the send_command logic(on connection level). + Close the connection and raise an exception + if retry_on_error is not set or the error + is not one of the specified error types """ - conn.disconnect() + if ( + conn.retry_on_error is None + or isinstance(error, tuple(conn.retry_on_error)) is False + ): + raise error # COMMAND EXECUTION AND PROTOCOL PARSING def execute_command(self, *args, **options): - return self._execute_command(*args, **options) - - def _execute_command(self, *args, **options): """Execute a command and return a parsed response""" pool = self.connection_pool command_name = args[0] - conn = self.connection or pool.get_connection() + conn = self.connection or pool.get_connection(command_name, **options) - if self._single_connection_client: - self.single_connection_lock.acquire() try: return conn.retry.call_with_retry( lambda: self._send_command_parse_response( conn, command_name, *args, **options ), - lambda _: self._close_connection(conn), + lambda error: self._disconnect_raise(conn, error), ) finally: - if self._single_connection_client: - self.single_connection_lock.release() if not self.connection: pool.release(conn) @@ -657,16 +559,10 @@ class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): if EMPTY_RESPONSE in options: options.pop(EMPTY_RESPONSE) - # Remove keys entry, it needs only for cache. - options.pop("keys", None) - if command_name in self.response_callbacks: return self.response_callbacks[command_name](response, **options) return response - def get_cache(self) -> Optional[CacheInterface]: - return self.connection_pool.cache - StrictRedis = Redis @@ -683,7 +579,7 @@ class Monitor: def __init__(self, connection_pool): self.connection_pool = connection_pool - self.connection = self.connection_pool.get_connection() + self.connection = self.connection_pool.get_connection("MONITOR") def __enter__(self): self.connection.send_command("MONITOR") @@ -758,7 +654,6 @@ class PubSub: ignore_subscribe_messages: bool = False, encoder: Optional["Encoder"] = None, push_handler_func: Union[None, Callable[[str], None]] = None, - event_dispatcher: Optional["EventDispatcher"] = None, ): self.connection_pool = connection_pool self.shard_hint = shard_hint @@ -769,12 +664,6 @@ class PubSub: # to lookup channel and pattern names for callback handlers. self.encoder = encoder self.push_handler_func = push_handler_func - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher - - self._lock = threading.RLock() if self.encoder is None: self.encoder = self.connection_pool.get_encoder() self.health_check_response_b = self.encoder.encode(self.HEALTH_CHECK_MESSAGE) @@ -804,7 +693,7 @@ class PubSub: def reset(self) -> None: if self.connection: self.connection.disconnect() - self.connection.deregister_connect_callback(self.on_connect) + self.connection._deregister_connect_callback(self.on_connect) self.connection_pool.release(self.connection) self.connection = None self.health_check_response_counter = 0 @@ -857,23 +746,19 @@ class PubSub: # subscribed to one or more channels if self.connection is None: - self.connection = self.connection_pool.get_connection() + self.connection = self.connection_pool.get_connection( + "pubsub", self.shard_hint + ) # register a callback that re-subscribes to any channels we # were listening to when we were disconnected - self.connection.register_connect_callback(self.on_connect) - if self.push_handler_func is not None: - self.connection._parser.set_pubsub_push_handler(self.push_handler_func) - self._event_dispatcher.dispatch( - AfterPubSubConnectionInstantiationEvent( - self.connection, self.connection_pool, ClientType.SYNC, self._lock - ) - ) + self.connection._register_connect_callback(self.on_connect) + if self.push_handler_func is not None and not HIREDIS_AVAILABLE: + self.connection._parser.set_push_handler(self.push_handler_func) connection = self.connection kwargs = {"check_health": not self.subscribed} if not self.subscribed: self.clean_health_check_responses() - with self._lock: - self._execute(connection, connection.send_command, *args, **kwargs) + self._execute(connection, connection.send_command, *args, **kwargs) def clean_health_check_responses(self) -> None: """ @@ -889,18 +774,19 @@ class PubSub: else: raise PubSubError( "A non health check response was cleaned by " - "execute_command: {}".format(response) + "execute_command: {0}".format(response) ) ttl -= 1 - def _reconnect(self, conn) -> None: + def _disconnect_raise_connect(self, conn, error) -> None: """ - The supported exceptions are already checked in the - retry object so we don't need to do it here. - - In this error handler we are trying to reconnect to the server. + Close the connection and raise an exception + if retry_on_timeout is not set or the error + is not a TimeoutError. Otherwise, try to reconnect """ conn.disconnect() + if not (conn.retry_on_timeout and isinstance(error, TimeoutError)): + raise error conn.connect() def _execute(self, conn, command, *args, **kwargs): @@ -913,7 +799,7 @@ class PubSub: """ return conn.retry.call_with_retry( lambda: command(*args, **kwargs), - lambda _: self._reconnect(conn), + lambda error: self._disconnect_raise_connect(conn, error), ) def parse_response(self, block=True, timeout=0): @@ -962,7 +848,7 @@ class PubSub: "did you forget to call subscribe() or psubscribe()?" ) - if conn.health_check_interval and time.monotonic() > conn.next_health_check: + if conn.health_check_interval and time.time() > conn.next_health_check: conn.send_command("PING", self.HEALTH_CHECK_MESSAGE, check_health=False) self.health_check_response_counter += 1 @@ -1112,12 +998,12 @@ class PubSub: """ if not self.subscribed: # Wait for subscription - start_time = time.monotonic() + start_time = time.time() if self.subscribed_event.wait(timeout) is True: # The connection was subscribed during the timeout time frame. # The timeout should be adjusted based on the time spent # waiting for the subscription - time_spent = time.monotonic() - start_time + time_spent = time.time() - start_time timeout = max(0.0, timeout - time_spent) else: # The connection isn't subscribed to any channels or patterns, @@ -1214,7 +1100,7 @@ class PubSub: def run_in_thread( self, - sleep_time: float = 0.0, + sleep_time: int = 0, daemon: bool = False, exception_handler: Optional[Callable] = None, ) -> "PubSubWorkerThread": @@ -1282,8 +1168,7 @@ class Pipeline(Redis): in one transmission. This is convenient for batch processing, such as saving all the values in a list to Redis. - All commands executed within a pipeline(when running in transactional mode, - which is the default behavior) are wrapped with MULTI and EXEC + All commands executed within a pipeline are wrapped with MULTI and EXEC calls. This guarantees all commands executed in the pipeline will be executed atomically. @@ -1298,22 +1183,15 @@ class Pipeline(Redis): UNWATCH_COMMANDS = {"DISCARD", "EXEC", "UNWATCH"} - def __init__( - self, - connection_pool: ConnectionPool, - response_callbacks, - transaction, - shard_hint, - ): + def __init__(self, connection_pool, response_callbacks, transaction, shard_hint): self.connection_pool = connection_pool - self.connection: Optional[Connection] = None + self.connection = None self.response_callbacks = response_callbacks self.transaction = transaction self.shard_hint = shard_hint + self.watching = False - self.command_stack = [] - self.scripts: Set[Script] = set() - self.explicit_transaction = False + self.reset() def __enter__(self) -> "Pipeline": return self @@ -1379,51 +1257,47 @@ class Pipeline(Redis): return self.immediate_execute_command(*args, **kwargs) return self.pipeline_execute_command(*args, **kwargs) - def _disconnect_reset_raise_on_watching( - self, - conn: AbstractConnection, - error: Exception, - ) -> None: + def _disconnect_reset_raise(self, conn, error) -> None: """ - Close the connection reset watching state and - raise an exception if we were watching. - - The supported exceptions are already checked in the - retry object so we don't need to do it here. - - After we disconnect the connection, it will try to reconnect and - do a health check as part of the send_command logic(on connection level). + Close the connection, reset watching state and + raise an exception if we were watching, + retry_on_timeout is not set, + or the error is not a TimeoutError """ conn.disconnect() - # if we were already watching a variable, the watch is no longer # valid since this connection has died. raise a WatchError, which # indicates the user should retry this transaction. if self.watching: self.reset() raise WatchError( - f"A {type(error).__name__} occurred while watching one or more keys" + "A ConnectionError occurred on while watching one or more keys" ) + # if retry_on_timeout is not set, or the error is not + # a TimeoutError, raise it + if not (conn.retry_on_timeout and isinstance(error, TimeoutError)): + self.reset() + raise def immediate_execute_command(self, *args, **options): """ - Execute a command immediately, but don't auto-retry on the supported - errors for retry if we're already WATCHing a variable. - Used when issuing WATCH or subsequent commands retrieving their values but before + Execute a command immediately, but don't auto-retry on a + ConnectionError if we're already WATCHing a variable. Used when + issuing WATCH or subsequent commands retrieving their values but before MULTI is called. """ command_name = args[0] conn = self.connection # if this is the first call, we need a connection if not conn: - conn = self.connection_pool.get_connection() + conn = self.connection_pool.get_connection(command_name, self.shard_hint) self.connection = conn return conn.retry.call_with_retry( lambda: self._send_command_parse_response( conn, command_name, *args, **options ), - lambda error: self._disconnect_reset_raise_on_watching(conn, error), + lambda error: self._disconnect_reset_raise(conn, error), ) def pipeline_execute_command(self, *args, **options) -> "Pipeline": @@ -1441,9 +1315,7 @@ class Pipeline(Redis): self.command_stack.append((args, options)) return self - def _execute_transaction( - self, connection: Connection, commands, raise_on_error - ) -> List: + def _execute_transaction(self, connection, commands, raise_on_error) -> List: cmds = chain([(("MULTI",), {})], commands, [(("EXEC",), {})]) all_cmds = connection.pack_commands( [args for args, options in cmds if EMPTY_RESPONSE not in options] @@ -1504,8 +1376,6 @@ class Pipeline(Redis): for r, cmd in zip(response, commands): if not isinstance(r, Exception): args, options = cmd - # Remove keys entry, it needs only for cache. - options.pop("keys", None) command_name = args[0] if command_name in self.response_callbacks: r = self.response_callbacks[command_name](r, **options) @@ -1537,7 +1407,7 @@ class Pipeline(Redis): def annotate_exception(self, exception, number, command): cmd = " ".join(map(safe_str, command)) msg = ( - f"Command # {number} ({truncate_text(cmd)}) of pipeline " + f"Command # {number} ({cmd}) of pipeline " f"caused error: {exception.args[0]}" ) exception.args = (msg,) + exception.args[1:] @@ -1563,19 +1433,11 @@ class Pipeline(Redis): if not exist: s.sha = immediate("SCRIPT LOAD", s.script) - def _disconnect_raise_on_watching( - self, - conn: AbstractConnection, - error: Exception, - ) -> None: + def _disconnect_raise_reset(self, conn: Redis, error: Exception) -> None: """ - Close the connection, raise an exception if we were watching. - - The supported exceptions are already checked in the - retry object so we don't need to do it here. - - After we disconnect the connection, it will try to reconnect and - do a health check as part of the send_command logic(on connection level). + Close the connection, raise an exception if we were watching, + and raise an exception if TimeoutError is not part of retry_on_error, + or the error is not a TimeoutError """ conn.disconnect() # if we were watching a variable, the watch is no longer valid @@ -1583,10 +1445,17 @@ class Pipeline(Redis): # indicates the user should retry this transaction. if self.watching: raise WatchError( - f"A {type(error).__name__} occurred while watching one or more keys" + "A ConnectionError occurred on while watching one or more keys" ) + # if TimeoutError is not part of retry_on_error, or the error + # is not a TimeoutError, raise it + if not ( + TimeoutError in conn.retry_on_error and isinstance(error, TimeoutError) + ): + self.reset() + raise error - def execute(self, raise_on_error: bool = True) -> List[Any]: + def execute(self, raise_on_error=True): """Execute all the commands in the current pipeline""" stack = self.command_stack if not stack and not self.watching: @@ -1600,7 +1469,7 @@ class Pipeline(Redis): conn = self.connection if not conn: - conn = self.connection_pool.get_connection() + conn = self.connection_pool.get_connection("MULTI", self.shard_hint) # assign to self.connection so reset() releases the connection # back to the pool after we're done self.connection = conn @@ -1608,7 +1477,7 @@ class Pipeline(Redis): try: return conn.retry.call_with_retry( lambda: execute(conn, stack, raise_on_error), - lambda error: self._disconnect_raise_on_watching(conn, error), + lambda error: self._disconnect_raise_reset(conn, error), ) finally: self.reset() diff --git a/venv/lib/python3.12/site-packages/redis/cluster.py b/venv/lib/python3.12/site-packages/redis/cluster.py index 4b971cf..873d586 100644 --- a/venv/lib/python3.12/site-packages/redis/cluster.py +++ b/venv/lib/python3.12/site-packages/redis/cluster.py @@ -3,43 +3,26 @@ import socket import sys import threading import time -from abc import ABC, abstractmethod from collections import OrderedDict -from copy import copy -from enum import Enum -from itertools import chain -from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union +from typing import Any, Callable, Dict, List, Optional, Tuple, Union from redis._parsers import CommandsParser, Encoder from redis._parsers.helpers import parse_scan -from redis.backoff import ExponentialWithJitterBackoff, NoBackoff -from redis.cache import CacheConfig, CacheFactory, CacheFactoryInterface, CacheInterface -from redis.client import EMPTY_RESPONSE, CaseInsensitiveDict, PubSub, Redis +from redis.backoff import default_backoff +from redis.client import CaseInsensitiveDict, PubSub, Redis from redis.commands import READ_COMMANDS, RedisClusterCommands from redis.commands.helpers import list_or_args -from redis.connection import ( - Connection, - ConnectionPool, - parse_url, -) +from redis.connection import ConnectionPool, DefaultParser, parse_url from redis.crc import REDIS_CLUSTER_HASH_SLOTS, key_slot -from redis.event import ( - AfterPooledConnectionsInstantiationEvent, - AfterPubSubConnectionInstantiationEvent, - ClientType, - EventDispatcher, -) from redis.exceptions import ( AskError, AuthenticationError, + ClusterCrossSlotError, ClusterDownError, ClusterError, ConnectionError, - CrossSlotTransactionError, DataError, - ExecAbortError, - InvalidPipelineStack, - MaxConnectionsError, + MasterDownError, MovedError, RedisClusterException, RedisError, @@ -47,18 +30,16 @@ from redis.exceptions import ( SlotNotCoveredError, TimeoutError, TryAgainError, - WatchError, ) from redis.lock import Lock from redis.retry import Retry from redis.utils import ( - deprecated_args, + HIREDIS_AVAILABLE, dict_merge, list_keys_to_dict, merge_result, safe_str, str_if_bytes, - truncate_text, ) @@ -66,13 +47,10 @@ def get_node_name(host: str, port: Union[str, int]) -> str: return f"{host}:{port}" -@deprecated_args( - allowed_args=["redis_node"], - reason="Use get_connection(redis_node) instead", - version="5.3.0", -) -def get_connection(redis_node: Redis, *args, **options) -> Connection: - return redis_node.connection or redis_node.connection_pool.get_connection() +def get_connection(redis_node, *args, **options): + return redis_node.connection or redis_node.connection_pool.get_connection( + args[0], **options + ) def parse_scan_result(command, res, **options): @@ -153,6 +131,7 @@ REPLICA = "replica" SLOT_ID = "slot-id" REDIS_ALLOWED_KEYS = ( + "charset", "connection_class", "connection_pool", "connection_pool_class", @@ -162,6 +141,7 @@ REDIS_ALLOWED_KEYS = ( "decode_responses", "encoding", "encoding_errors", + "errors", "host", "lib_name", "lib_version", @@ -185,13 +165,10 @@ REDIS_ALLOWED_KEYS = ( "ssl_cert_reqs", "ssl_keyfile", "ssl_password", - "ssl_check_hostname", "unix_socket_path", "username", - "cache", - "cache_config", ) -KWARGS_DISABLED_KEYS = ("host", "port", "retry") +KWARGS_DISABLED_KEYS = ("host", "port") def cleanup_kwargs(**kwargs): @@ -207,6 +184,20 @@ def cleanup_kwargs(**kwargs): return connection_kwargs +class ClusterParser(DefaultParser): + EXCEPTION_CLASSES = dict_merge( + DefaultParser.EXCEPTION_CLASSES, + { + "ASK": AskError, + "TRYAGAIN": TryAgainError, + "MOVED": MovedError, + "CLUSTERDOWN": ClusterDownError, + "CROSSSLOT": ClusterCrossSlotError, + "MASTERDOWN": MasterDownError, + }, + ) + + class AbstractRedisCluster: RedisClusterRequestTTL = 16 @@ -300,6 +291,7 @@ class AbstractRedisCluster: "TFUNCTION LIST", "TFCALL", "TFCALLASYNC", + "GRAPH.CONFIG", "LATENCY HISTORY", "LATENCY LATEST", "LATENCY RESET", @@ -319,6 +311,7 @@ class AbstractRedisCluster: "FUNCTION LIST", "FUNCTION LOAD", "FUNCTION RESTORE", + "REDISGEARS_2.REFRESHCLUSTER", "SCAN", "SCRIPT EXISTS", "SCRIPT FLUSH", @@ -422,12 +415,7 @@ class AbstractRedisCluster: list_keys_to_dict(["SCRIPT FLUSH"], lambda command, res: all(res.values())), ) - ERRORS_ALLOW_RETRY = ( - ConnectionError, - TimeoutError, - ClusterDownError, - SlotNotCoveredError, - ) + ERRORS_ALLOW_RETRY = (ConnectionError, TimeoutError, ClusterDownError) def replace_default_node(self, target_node: "ClusterNode" = None) -> None: """Replace the default cluster node. @@ -448,7 +436,7 @@ class AbstractRedisCluster: # Choose a primary if the cluster contains different primaries self.nodes_manager.default_node = random.choice(primaries) else: - # Otherwise, choose a primary if the cluster contains different primaries + # Otherwise, hoose a primary if the cluster contains different primaries replicas = [node for node in self.get_replicas() if node != curr_node] if replicas: self.nodes_manager.default_node = random.choice(replicas) @@ -499,18 +487,6 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): """ return cls(url=url, **kwargs) - @deprecated_args( - args_to_warn=["read_from_replicas"], - reason="Please configure the 'load_balancing_strategy' instead", - version="5.3.0", - ) - @deprecated_args( - args_to_warn=[ - "cluster_error_retry_attempts", - ], - reason="Please configure the 'retry' object instead", - version="6.0.0", - ) def __init__( self, host: Optional[str] = None, @@ -518,16 +494,12 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): startup_nodes: Optional[List["ClusterNode"]] = None, cluster_error_retry_attempts: int = 3, retry: Optional["Retry"] = None, - require_full_coverage: bool = True, + require_full_coverage: bool = False, reinitialize_steps: int = 5, read_from_replicas: bool = False, - load_balancing_strategy: Optional["LoadBalancingStrategy"] = None, dynamic_startup_nodes: bool = True, url: Optional[str] = None, - address_remap: Optional[Callable[[Tuple[str, int]], Tuple[str, int]]] = None, - cache: Optional[CacheInterface] = None, - cache_config: Optional[CacheConfig] = None, - event_dispatcher: Optional[EventDispatcher] = None, + address_remap: Optional[Callable[[str, int], Tuple[str, int]]] = None, **kwargs, ): """ @@ -550,16 +522,11 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): cluster client. If not all slots are covered, RedisClusterException will be thrown. :param read_from_replicas: - @deprecated - please use load_balancing_strategy instead Enable read from replicas in READONLY mode. You can read possibly stale data. When set to true, read commands will be assigned between the primary and its replications in a Round-Robin manner. - :param load_balancing_strategy: - Enable read from replicas in READONLY mode and defines the load balancing - strategy that will be used for cluster node selection. - The data read from replicas is eventually consistent with the data in primary nodes. - :param dynamic_startup_nodes: + :param dynamic_startup_nodes: Set the RedisCluster's startup nodes to all of the discovered nodes. If true (default value), the cluster's discovered nodes will be used to determine the cluster nodes-slots mapping in the next topology refresh. @@ -568,19 +535,9 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): If you use dynamic DNS endpoints for startup nodes but CLUSTER SLOTS lists specific IP addresses, it is best to set it to false. :param cluster_error_retry_attempts: - @deprecated - Please configure the 'retry' object instead - In case 'retry' object is set - this argument is ignored! - Number of times to retry before raising an error when - :class:`~.TimeoutError` or :class:`~.ConnectionError`, :class:`~.SlotNotCoveredError` or + :class:`~.TimeoutError` or :class:`~.ConnectionError` or :class:`~.ClusterDownError` are encountered - :param retry: - A retry object that defines the retry strategy and the number of - retries for the cluster client. - In current implementation for the cluster client (starting form redis-py version 6.0.0) - the retry object is not yet fully utilized, instead it is used just to determine - the number of retries for the cluster client. - In the future releases the retry object will be used to handle the cluster client retries! :param reinitialize_steps: Specifies the number of MOVED errors that need to occur before reinitializing the whole cluster topology. If a MOVED error occurs @@ -600,8 +557,7 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): :**kwargs: Extra arguments that will be sent into Redis instance when created - (See Official redis-py doc for supported kwargs - the only limitation - is that you can't provide 'retry' object as part of kwargs. + (See Official redis-py doc for supported kwargs [https://github.com/andymccurdy/redis-py/blob/master/redis/client.py]) Some kwargs are not supported and will raise a RedisClusterException: @@ -616,15 +572,6 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): "Argument 'db' is not possible to use in cluster mode" ) - if "retry" in kwargs: - # Argument 'retry' is not possible to be used in kwargs when in cluster mode - # the kwargs are set to the lower level connections to the cluster nodes - # and there we provide retry configuration without retries allowed. - # The retries should be handled on cluster client level. - raise RedisClusterException( - "The 'retry' argument cannot be used in kwargs when running in cluster mode." - ) - # Get the startup node/s from_url = False if url is not None: @@ -667,40 +614,27 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): kwargs = cleanup_kwargs(**kwargs) if retry: self.retry = retry + kwargs.update({"retry": self.retry}) else: - self.retry = Retry( - backoff=ExponentialWithJitterBackoff(base=1, cap=10), - retries=cluster_error_retry_attempts, - ) + kwargs.update({"retry": Retry(default_backoff(), 0)}) self.encoder = Encoder( kwargs.get("encoding", "utf-8"), kwargs.get("encoding_errors", "strict"), kwargs.get("decode_responses", False), ) - protocol = kwargs.get("protocol", None) - if (cache_config or cache) and protocol not in [3, "3"]: - raise RedisError("Client caching is only supported with RESP version 3") - + self.cluster_error_retry_attempts = cluster_error_retry_attempts self.command_flags = self.__class__.COMMAND_FLAGS.copy() self.node_flags = self.__class__.NODE_FLAGS.copy() self.read_from_replicas = read_from_replicas - self.load_balancing_strategy = load_balancing_strategy self.reinitialize_counter = 0 self.reinitialize_steps = reinitialize_steps - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher self.nodes_manager = NodesManager( startup_nodes=startup_nodes, from_url=from_url, require_full_coverage=require_full_coverage, dynamic_startup_nodes=dynamic_startup_nodes, address_remap=address_remap, - cache=cache, - cache_config=cache_config, - event_dispatcher=self._event_dispatcher, **kwargs, ) @@ -708,9 +642,8 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): self.__class__.CLUSTER_COMMANDS_RESPONSE_CALLBACKS ) self.result_callbacks = CaseInsensitiveDict(self.__class__.RESULT_CALLBACKS) - self.commands_parser = CommandsParser(self) - self._lock = threading.RLock() + self._lock = threading.Lock() def __enter__(self): return self @@ -719,10 +652,7 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): self.close() def __del__(self): - try: - self.close() - except Exception: - pass + self.close() def disconnect_connection_pools(self): for node in self.get_nodes(): @@ -738,9 +668,10 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): Initialize the connection, authenticate and select a database and send READONLY if it is set during object initialization. """ + connection.set_parser(ClusterParser) connection.on_connect() - if self.read_from_replicas or self.load_balancing_strategy: + if self.read_from_replicas: # Sending READONLY command to server to configure connection as # readonly. Since each cluster node may change its server type due # to a failover, we should establish a READONLY connection @@ -753,7 +684,7 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): if self.user_on_connect_func is not None: self.user_on_connect_func(connection) - def get_redis_connection(self, node: "ClusterNode") -> Redis: + def get_redis_connection(self, node): if not node.redis_connection: with self._lock: if not node.redis_connection: @@ -812,8 +743,13 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): self.nodes_manager.default_node = node return True - def set_retry(self, retry: Retry) -> None: + def get_retry(self) -> Optional["Retry"]: + return self.retry + + def set_retry(self, retry: "Retry") -> None: self.retry = retry + for node in self.get_nodes(): + node.redis_connection.set_retry(retry) def monitor(self, target_node=None): """ @@ -851,18 +787,19 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): if shard_hint: raise RedisClusterException("shard_hint is deprecated in cluster mode") + if transaction: + raise RedisClusterException("transaction is deprecated in cluster mode") + return ClusterPipeline( nodes_manager=self.nodes_manager, commands_parser=self.commands_parser, startup_nodes=self.nodes_manager.startup_nodes, result_callbacks=self.result_callbacks, cluster_response_callbacks=self.cluster_response_callbacks, + cluster_error_retry_attempts=self.cluster_error_retry_attempts, read_from_replicas=self.read_from_replicas, - load_balancing_strategy=self.load_balancing_strategy, reinitialize_steps=self.reinitialize_steps, - retry=self.retry, lock=self._lock, - transaction=transaction, ) def lock( @@ -874,7 +811,6 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): blocking_timeout=None, lock_class=None, thread_local=True, - raise_on_release_error: bool = True, ): """ Return a new Lock object using key ``name`` that mimics @@ -921,11 +857,6 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): thread-1 would see the token value as "xyz" and would be able to successfully release the thread-2's lock. - ``raise_on_release_error`` indicates whether to raise an exception when - the lock is no longer owned when exiting the context manager. By default, - this is True, meaning an exception will be raised. If False, the warning - will be logged and the exception will be suppressed. - In some use cases it's necessary to disable thread local storage. For example, if you have code where one thread acquires a lock and passes that lock instance to a worker thread to release later. If thread @@ -943,7 +874,6 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): blocking=blocking, blocking_timeout=blocking_timeout, thread_local=thread_local, - raise_on_release_error=raise_on_release_error, ) def set_response_callback(self, command, callback): @@ -985,9 +915,7 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): # get the node that holds the key's slot slot = self.determine_slot(*args) node = self.nodes_manager.get_node_from_slot( - slot, - self.read_from_replicas and command in READ_COMMANDS, - self.load_balancing_strategy if command in READ_COMMANDS else None, + slot, self.read_from_replicas and command in READ_COMMANDS ) return [node] @@ -1024,7 +952,7 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): redis_conn = self.get_default_node().redis_connection return self.commands_parser.get_keys(redis_conn, *args) - def determine_slot(self, *args) -> int: + def determine_slot(self, *args): """ Figure out what slot to use based on args. @@ -1117,14 +1045,11 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): return nodes def execute_command(self, *args, **kwargs): - return self._internal_execute_command(*args, **kwargs) - - def _internal_execute_command(self, *args, **kwargs): """ Wrapper for ERRORS_ALLOW_RETRY error handling. - It will try the number of times specified by the retries property from - config option "self.retry" which defaults to 3 unless manually + It will try the number of times specified by the config option + "self.cluster_error_retry_attempts" which defaults to 3 unless manually configured. If it reaches the number of times, the command will raise the exception @@ -1150,7 +1075,9 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): # execution since the nodes may not be valid anymore after the tables # were reinitialized. So in case of passed target nodes, # retry_attempts will be set to 0. - retry_attempts = 0 if target_nodes_specified else self.retry.get_retries() + retry_attempts = ( + 0 if target_nodes_specified else self.cluster_error_retry_attempts + ) # Add one for the first execution execute_attempts = 1 + retry_attempts for _ in range(execute_attempts): @@ -1209,26 +1136,19 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): # refresh the target node slot = self.determine_slot(*args) target_node = self.nodes_manager.get_node_from_slot( - slot, - self.read_from_replicas and command in READ_COMMANDS, - self.load_balancing_strategy - if command in READ_COMMANDS - else None, + slot, self.read_from_replicas and command in READ_COMMANDS ) moved = False redis_node = self.get_redis_connection(target_node) - connection = get_connection(redis_node) + connection = get_connection(redis_node, *args, **kwargs) if asking: connection.send_command("ASKING") redis_node.parse_response(connection, "ASKING", **kwargs) asking = False - connection.send_command(*args, **kwargs) + + connection.send_command(*args) response = redis_node.parse_response(connection, command, **kwargs) - - # Remove keys entry, it needs only for cache. - kwargs.pop("keys", None) - if command in self.cluster_response_callbacks: response = self.cluster_response_callbacks[command]( response, **kwargs @@ -1236,13 +1156,9 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): return response except AuthenticationError: raise - except MaxConnectionsError: - # MaxConnectionsError indicates client-side resource exhaustion - # (too many connections in the pool), not a node failure. - # Don't treat this as a node failure - just re-raise the error - # without reinitializing the cluster. - raise except (ConnectionError, TimeoutError) as e: + # Connection retries are being handled in the node's + # Retry object. # ConnectionError can also be raised if we couldn't get a # connection from the pool before timing out, so check that # this is an actual connection before attempting to disconnect. @@ -1279,19 +1195,13 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): except AskError as e: redirect_addr = get_node_name(host=e.host, port=e.port) asking = True - except (ClusterDownError, SlotNotCoveredError): + except ClusterDownError as e: # ClusterDownError can occur during a failover and to get # self-healed, we will try to reinitialize the cluster layout # and retry executing the command - - # SlotNotCoveredError can occur when the cluster is not fully - # initialized or can be temporary issue. - # We will try to reinitialize the cluster topology - # and retry executing the command - time.sleep(0.25) self.nodes_manager.initialize() - raise + raise e except ResponseError: raise except Exception as e: @@ -1304,7 +1214,7 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): raise ClusterError("TTL exhausted.") - def close(self) -> None: + def close(self): try: with self._lock: if self.nodes_manager: @@ -1343,28 +1253,6 @@ class RedisCluster(AbstractRedisCluster, RedisClusterCommands): """ setattr(self, funcname, func) - def transaction(self, func, *watches, **kwargs): - """ - Convenience method for executing the callable `func` as a transaction - while watching all keys specified in `watches`. The 'func' callable - should expect a single argument which is a Pipeline object. - """ - shard_hint = kwargs.pop("shard_hint", None) - value_from_callable = kwargs.pop("value_from_callable", False) - watch_delay = kwargs.pop("watch_delay", None) - with self.pipeline(True, shard_hint) as pipe: - while True: - try: - if watches: - pipe.watch(*watches) - func_value = func(pipe) - exec_value = pipe.execute() - return func_value if value_from_callable else exec_value - except WatchError: - if watch_delay is not None and watch_delay > 0: - time.sleep(watch_delay) - continue - class ClusterNode: def __init__(self, host, port, server_type=None, redis_connection=None): @@ -1390,18 +1278,8 @@ class ClusterNode: return isinstance(obj, ClusterNode) and obj.name == self.name def __del__(self): - try: - if self.redis_connection is not None: - self.redis_connection.close() - except Exception: - # Ignore errors when closing the connection - pass - - -class LoadBalancingStrategy(Enum): - ROUND_ROBIN = "round_robin" - ROUND_ROBIN_REPLICAS = "round_robin_replicas" - RANDOM_REPLICA = "random_replica" + if self.redis_connection is not None: + self.redis_connection.close() class LoadBalancer: @@ -1413,38 +1291,15 @@ class LoadBalancer: self.primary_to_idx = {} self.start_index = start_index - def get_server_index( - self, - primary: str, - list_size: int, - load_balancing_strategy: LoadBalancingStrategy = LoadBalancingStrategy.ROUND_ROBIN, - ) -> int: - if load_balancing_strategy == LoadBalancingStrategy.RANDOM_REPLICA: - return self._get_random_replica_index(list_size) - else: - return self._get_round_robin_index( - primary, - list_size, - load_balancing_strategy == LoadBalancingStrategy.ROUND_ROBIN_REPLICAS, - ) + def get_server_index(self, primary: str, list_size: int) -> int: + server_index = self.primary_to_idx.setdefault(primary, self.start_index) + # Update the index + self.primary_to_idx[primary] = (server_index + 1) % list_size + return server_index def reset(self) -> None: self.primary_to_idx.clear() - def _get_random_replica_index(self, list_size: int) -> int: - return random.randint(1, list_size - 1) - - def _get_round_robin_index( - self, primary: str, list_size: int, replicas_only: bool - ) -> int: - server_index = self.primary_to_idx.setdefault(primary, self.start_index) - if replicas_only and server_index == 0: - # skip the primary node index - server_index = 1 - # Update the index for the next round - self.primary_to_idx[primary] = (server_index + 1) % list_size - return server_index - class NodesManager: def __init__( @@ -1455,14 +1310,10 @@ class NodesManager: lock=None, dynamic_startup_nodes=True, connection_pool_class=ConnectionPool, - address_remap: Optional[Callable[[Tuple[str, int]], Tuple[str, int]]] = None, - cache: Optional[CacheInterface] = None, - cache_config: Optional[CacheConfig] = None, - cache_factory: Optional[CacheFactoryInterface] = None, - event_dispatcher: Optional[EventDispatcher] = None, + address_remap: Optional[Callable[[str, int], Tuple[str, int]]] = None, **kwargs, ): - self.nodes_cache: Dict[str, Redis] = {} + self.nodes_cache = {} self.slots_cache = {} self.startup_nodes = {} self.default_node = None @@ -1472,22 +1323,12 @@ class NodesManager: self._dynamic_startup_nodes = dynamic_startup_nodes self.connection_pool_class = connection_pool_class self.address_remap = address_remap - self._cache = cache - self._cache_config = cache_config - self._cache_factory = cache_factory self._moved_exception = None self.connection_kwargs = kwargs self.read_load_balancer = LoadBalancer() if lock is None: - lock = threading.RLock() + lock = threading.Lock() self._lock = lock - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher - self._credential_provider = self.connection_kwargs.get( - "credential_provider", None - ) self.initialize() def get_node(self, host=None, port=None, node_name=None): @@ -1548,21 +1389,7 @@ class NodesManager: # Reset moved_exception self._moved_exception = None - @deprecated_args( - args_to_warn=["server_type"], - reason=( - "In case you need select some load balancing strategy " - "that will use replicas, please set it through 'load_balancing_strategy'" - ), - version="5.3.0", - ) - def get_node_from_slot( - self, - slot, - read_from_replicas=False, - load_balancing_strategy=None, - server_type=None, - ) -> ClusterNode: + def get_node_from_slot(self, slot, read_from_replicas=False, server_type=None): """ Gets a node that servers this hash slot """ @@ -1577,14 +1404,11 @@ class NodesManager: f'"require_full_coverage={self._require_full_coverage}"' ) - if read_from_replicas is True and load_balancing_strategy is None: - load_balancing_strategy = LoadBalancingStrategy.ROUND_ROBIN - - if len(self.slots_cache[slot]) > 1 and load_balancing_strategy: - # get the server index using the strategy defined in load_balancing_strategy + if read_from_replicas is True: + # get the server index in a Round-Robin manner primary_name = self.slots_cache[slot][0].name node_idx = self.read_load_balancer.get_server_index( - primary_name, len(self.slots_cache[slot]), load_balancing_strategy + primary_name, len(self.slots_cache[slot]) ) elif ( server_type is None @@ -1631,49 +1455,20 @@ class NodesManager: """ This function will create a redis connection to all nodes in :nodes: """ - connection_pools = [] for node in nodes: if node.redis_connection is None: node.redis_connection = self.create_redis_node( host=node.host, port=node.port, **self.connection_kwargs ) - connection_pools.append(node.redis_connection.connection_pool) - - self._event_dispatcher.dispatch( - AfterPooledConnectionsInstantiationEvent( - connection_pools, ClientType.SYNC, self._credential_provider - ) - ) def create_redis_node(self, host, port, **kwargs): - # We are configuring the connection pool not to retry - # connections on lower level clients to avoid retrying - # connections to nodes that are not reachable - # and to avoid blocking the connection pool. - # The only error that will have some handling in the lower - # level clients is ConnectionError which will trigger disconnection - # of the socket. - # The retries will be handled on cluster client level - # where we will have proper handling of the cluster topology - node_retry_config = Retry( - backoff=NoBackoff(), retries=0, supported_errors=(ConnectionError,) - ) - if self.from_url: # Create a redis node with a costumed connection pool kwargs.update({"host": host}) kwargs.update({"port": port}) - kwargs.update({"cache": self._cache}) - kwargs.update({"retry": node_retry_config}) r = Redis(connection_pool=self.connection_pool_class(**kwargs)) else: - r = Redis( - host=host, - port=port, - cache=self._cache, - retry=node_retry_config, - **kwargs, - ) + r = Redis(host=host, port=port, **kwargs) return r def _get_or_create_cluster_node(self, host, port, role, tmp_nodes_cache): @@ -1690,8 +1485,6 @@ class NodesManager: target_node = ClusterNode(host, port, role) if target_node.server_type != role: target_node.server_type = role - # add this node to the nodes cache - tmp_nodes_cache[target_node.name] = target_node return target_node @@ -1709,9 +1502,7 @@ class NodesManager: fully_covered = False kwargs = self.connection_kwargs exception = None - # Convert to tuple to prevent RuntimeError if self.startup_nodes - # is modified during iteration - for startup_node in tuple(self.startup_nodes.values()): + for startup_node in self.startup_nodes.values(): try: if startup_node.redis_connection: r = startup_node.redis_connection @@ -1722,13 +1513,11 @@ class NodesManager: ) self.startup_nodes[startup_node.name].redis_connection = r # Make sure cluster mode is enabled on this node - try: - cluster_slots = str_if_bytes(r.execute_command("CLUSTER SLOTS")) - r.connection_pool.disconnect() - except ResponseError: + if bool(r.info().get("cluster_enabled")) is False: raise RedisClusterException( "Cluster mode is not enabled on this node" ) + cluster_slots = str_if_bytes(r.execute_command("CLUSTER SLOTS")) startup_nodes_reachable = True except Exception as e: # Try the next startup node. @@ -1758,26 +1547,31 @@ class NodesManager: port = int(primary_node[1]) host, port = self.remap_host_port(host, port) - nodes_for_slot = [] - target_node = self._get_or_create_cluster_node( host, port, PRIMARY, tmp_nodes_cache ) - nodes_for_slot.append(target_node) - - replica_nodes = slot[3:] - for replica_node in replica_nodes: - host = str_if_bytes(replica_node[0]) - port = int(replica_node[1]) - host, port = self.remap_host_port(host, port) - target_replica_node = self._get_or_create_cluster_node( - host, port, REPLICA, tmp_nodes_cache - ) - nodes_for_slot.append(target_replica_node) + # add this node to the nodes cache + tmp_nodes_cache[target_node.name] = target_node for i in range(int(slot[0]), int(slot[1]) + 1): if i not in tmp_slots: - tmp_slots[i] = nodes_for_slot + tmp_slots[i] = [] + tmp_slots[i].append(target_node) + replica_nodes = [slot[j] for j in range(3, len(slot))] + + for replica_node in replica_nodes: + host = str_if_bytes(replica_node[0]) + port = replica_node[1] + host, port = self.remap_host_port(host, port) + + target_replica_node = self._get_or_create_cluster_node( + host, port, REPLICA, tmp_nodes_cache + ) + tmp_slots[i].append(target_replica_node) + # add this node to the nodes cache + tmp_nodes_cache[ + target_replica_node.name + ] = target_replica_node else: # Validate that 2 nodes want to use the same slot cache # setup @@ -1790,7 +1584,7 @@ class NodesManager: if len(disagreements) > 5: raise RedisClusterException( f"startup_nodes could not agree on a valid " - f"slots cache: {', '.join(disagreements)}" + f'slots cache: {", ".join(disagreements)}' ) fully_covered = self.check_slots_coverage(tmp_slots) @@ -1805,12 +1599,6 @@ class NodesManager: f"one reachable node: {str(exception)}" ) from exception - if self._cache is None and self._cache_config is not None: - if self._cache_factory is None: - self._cache = CacheFactory(self._cache_config).get_cache() - else: - self._cache = self._cache_factory.get_cache() - # Create Redis connections to all nodes self.create_redis_connections(list(tmp_nodes_cache.values())) @@ -1835,7 +1623,7 @@ class NodesManager: # If initialize was called after a MovedError, clear it self._moved_exception = None - def close(self) -> None: + def close(self): self.default_node = None for node in self.nodes_cache.values(): if node.redis_connection: @@ -1858,16 +1646,6 @@ class NodesManager: return self.address_remap((host, port)) return host, port - def find_connection_owner(self, connection: Connection) -> Optional[Redis]: - node_name = get_node_name(connection.host, connection.port) - for node in tuple(self.nodes_cache.values()): - if node.redis_connection: - conn_args = node.redis_connection.connection_pool.connection_kwargs - if node_name == get_node_name( - conn_args.get("host"), conn_args.get("port") - ): - return node - class ClusterPubSub(PubSub): """ @@ -1885,7 +1663,6 @@ class ClusterPubSub(PubSub): host=None, port=None, push_handler_func=None, - event_dispatcher: Optional["EventDispatcher"] = None, **kwargs, ): """ @@ -1894,7 +1671,7 @@ class ClusterPubSub(PubSub): first command execution. The node will be determined by: 1. Hashing the channel name in the request to find its keyslot 2. Selecting a node that handles the keyslot: If read_from_replicas is - set to true or load_balancing_strategy is set, a replica can be selected. + set to true, a replica can be selected. :type redis_cluster: RedisCluster :type node: ClusterNode @@ -1911,15 +1688,10 @@ class ClusterPubSub(PubSub): self.cluster = redis_cluster self.node_pubsub_mapping = {} self._pubsubs_generator = self._pubsubs_generator() - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher super().__init__( connection_pool=connection_pool, encoder=redis_cluster.encoder, push_handler_func=push_handler_func, - event_dispatcher=self._event_dispatcher, **kwargs, ) @@ -1990,9 +1762,7 @@ class ClusterPubSub(PubSub): channel = args[1] slot = self.cluster.keyslot(channel) node = self.cluster.nodes_manager.get_node_from_slot( - slot, - self.cluster.read_from_replicas, - self.cluster.load_balancing_strategy, + slot, self.cluster.read_from_replicas ) else: # Get a random node @@ -2000,17 +1770,14 @@ class ClusterPubSub(PubSub): self.node = node redis_connection = self.cluster.get_redis_connection(node) self.connection_pool = redis_connection.connection_pool - self.connection = self.connection_pool.get_connection() + self.connection = self.connection_pool.get_connection( + "pubsub", self.shard_hint + ) # register a callback that re-subscribes to any channels we # were listening to when we were disconnected - self.connection.register_connect_callback(self.on_connect) - if self.push_handler_func is not None: - self.connection._parser.set_pubsub_push_handler(self.push_handler_func) - self._event_dispatcher.dispatch( - AfterPubSubConnectionInstantiationEvent( - self.connection, self.connection_pool, ClientType.SYNC, self._lock - ) - ) + self.connection._register_connect_callback(self.on_connect) + if self.push_handler_func is not None and not HIREDIS_AVAILABLE: + self.connection._parser.set_push_handler(self.push_handler_func) connection = self.connection self._execute(connection, connection.send_command, *args) @@ -2034,7 +1801,8 @@ class ClusterPubSub(PubSub): def _pubsubs_generator(self): while True: - yield from self.node_pubsub_mapping.values() + for pubsub in self.node_pubsub_mapping.values(): + yield pubsub def get_sharded_message( self, ignore_subscribe_messages=False, timeout=0.0, target_node=None @@ -2127,17 +1895,6 @@ class ClusterPipeline(RedisCluster): TryAgainError, ) - NO_SLOTS_COMMANDS = {"UNWATCH"} - IMMEDIATE_EXECUTE_COMMANDS = {"WATCH", "UNWATCH"} - UNWATCH_COMMANDS = {"DISCARD", "EXEC", "UNWATCH"} - - @deprecated_args( - args_to_warn=[ - "cluster_error_retry_attempts", - ], - reason="Please configure the 'retry' object instead", - version="6.0.0", - ) def __init__( self, nodes_manager: "NodesManager", @@ -2146,12 +1903,9 @@ class ClusterPipeline(RedisCluster): cluster_response_callbacks: Optional[Dict[str, Callable]] = None, startup_nodes: Optional[List["ClusterNode"]] = None, read_from_replicas: bool = False, - load_balancing_strategy: Optional[LoadBalancingStrategy] = None, cluster_error_retry_attempts: int = 3, reinitialize_steps: int = 5, - retry: Optional[Retry] = None, lock=None, - transaction=False, **kwargs, ): """ """ @@ -2164,31 +1918,19 @@ class ClusterPipeline(RedisCluster): ) self.startup_nodes = startup_nodes if startup_nodes else [] self.read_from_replicas = read_from_replicas - self.load_balancing_strategy = load_balancing_strategy self.command_flags = self.__class__.COMMAND_FLAGS.copy() self.cluster_response_callbacks = cluster_response_callbacks + self.cluster_error_retry_attempts = cluster_error_retry_attempts self.reinitialize_counter = 0 self.reinitialize_steps = reinitialize_steps - if retry is not None: - self.retry = retry - else: - self.retry = Retry( - backoff=ExponentialWithJitterBackoff(base=1, cap=10), - retries=cluster_error_retry_attempts, - ) - self.encoder = Encoder( kwargs.get("encoding", "utf-8"), kwargs.get("encoding_errors", "strict"), kwargs.get("decode_responses", False), ) if lock is None: - lock = threading.RLock() + lock = threading.Lock() self._lock = lock - self.parent_execute_command = super().execute_command - self._execution_strategy: ExecutionStrategy = ( - PipelineStrategy(self) if not transaction else TransactionStrategy(self) - ) def __repr__(self): """ """ @@ -2210,7 +1952,7 @@ class ClusterPipeline(RedisCluster): def __len__(self): """ """ - return len(self._execution_strategy.command_queue) + return len(self.command_stack) def __bool__(self): "Pipeline instances should always evaluate to True on Python 3+" @@ -2220,35 +1962,45 @@ class ClusterPipeline(RedisCluster): """ Wrapper function for pipeline_execute_command """ - return self._execution_strategy.execute_command(*args, **kwargs) + return self.pipeline_execute_command(*args, **kwargs) def pipeline_execute_command(self, *args, **options): """ - Stage a command to be executed when execute() is next called - - Returns the current Pipeline object back so commands can be - chained together, such as: - - pipe = pipe.set('foo', 'bar').incr('baz').decr('bang') - - At some other point, you can then run: pipe.execute(), - which will execute all commands queued in the pipe. + Appends the executed command to the pipeline's command stack """ - return self._execution_strategy.execute_command(*args, **options) + self.command_stack.append( + PipelineCommand(args, options, len(self.command_stack)) + ) + return self + + def raise_first_error(self, stack): + """ + Raise the first exception on the stack + """ + for c in stack: + r = c.result + if isinstance(r, Exception): + self.annotate_exception(r, c.position + 1, c.args) + raise r def annotate_exception(self, exception, number, command): """ Provides extra context to the exception prior to it being handled """ - self._execution_strategy.annotate_exception(exception, number, command) + cmd = " ".join(map(safe_str, command)) + msg = ( + f"Command # {number} ({cmd}) of pipeline " + f"caused error: {exception.args[0]}" + ) + exception.args = (msg,) + exception.args[1:] - def execute(self, raise_on_error: bool = True) -> List[Any]: + def execute(self, raise_on_error=True): """ Execute all the commands in the current pipeline """ - + stack = self.command_stack try: - return self._execution_strategy.execute(raise_on_error) + return self.send_cluster_commands(stack, raise_on_error) finally: self.reset() @@ -2256,53 +2008,306 @@ class ClusterPipeline(RedisCluster): """ Reset back to empty pipeline. """ - self._execution_strategy.reset() + self.command_stack = [] + + self.scripts = set() + + # TODO: Implement + # make sure to reset the connection state in the event that we were + # watching something + # if self.watching and self.connection: + # try: + # # call this manually since our unwatch or + # # immediate_execute_command methods can call reset() + # self.connection.send_command('UNWATCH') + # self.connection.read_response() + # except ConnectionError: + # # disconnect will also remove any previous WATCHes + # self.connection.disconnect() + + # clean up the other instance attributes + self.watching = False + self.explicit_transaction = False + + # TODO: Implement + # we can safely return the connection to the pool here since we're + # sure we're no longer WATCHing anything + # if self.connection: + # self.connection_pool.release(self.connection) + # self.connection = None def send_cluster_commands( self, stack, raise_on_error=True, allow_redirections=True ): - return self._execution_strategy.send_cluster_commands( - stack, raise_on_error=raise_on_error, allow_redirections=allow_redirections + """ + Wrapper for CLUSTERDOWN error handling. + + If the cluster reports it is down it is assumed that: + - connection_pool was disconnected + - connection_pool was reseted + - refereh_table_asap set to True + + It will try the number of times specified by + the config option "self.cluster_error_retry_attempts" + which defaults to 3 unless manually configured. + + If it reaches the number of times, the command will + raises ClusterDownException. + """ + if not stack: + return [] + retry_attempts = self.cluster_error_retry_attempts + while True: + try: + return self._send_cluster_commands( + stack, + raise_on_error=raise_on_error, + allow_redirections=allow_redirections, + ) + except (ClusterDownError, ConnectionError) as e: + if retry_attempts > 0: + # Try again with the new cluster setup. All other errors + # should be raised. + retry_attempts -= 1 + pass + else: + raise e + + def _send_cluster_commands( + self, stack, raise_on_error=True, allow_redirections=True + ): + """ + Send a bunch of cluster commands to the redis cluster. + + `allow_redirections` If the pipeline should follow + `ASK` & `MOVED` responses automatically. If set + to false it will raise RedisClusterException. + """ + # the first time sending the commands we send all of + # the commands that were queued up. + # if we have to run through it again, we only retry + # the commands that failed. + attempt = sorted(stack, key=lambda x: x.position) + is_default_node = False + # build a list of node objects based on node names we need to + nodes = {} + + # as we move through each command that still needs to be processed, + # we figure out the slot number that command maps to, then from + # the slot determine the node. + for c in attempt: + while True: + # refer to our internal node -> slot table that + # tells us where a given command should route to. + # (it might be possible we have a cached node that no longer + # exists in the cluster, which is why we do this in a loop) + passed_targets = c.options.pop("target_nodes", None) + if passed_targets and not self._is_nodes_flag(passed_targets): + target_nodes = self._parse_target_nodes(passed_targets) + else: + target_nodes = self._determine_nodes( + *c.args, node_flag=passed_targets + ) + if not target_nodes: + raise RedisClusterException( + f"No targets were found to execute {c.args} command on" + ) + if len(target_nodes) > 1: + raise RedisClusterException( + f"Too many targets for command {c.args}" + ) + + node = target_nodes[0] + if node == self.get_default_node(): + is_default_node = True + + # now that we know the name of the node + # ( it's just a string in the form of host:port ) + # we can build a list of commands for each node. + node_name = node.name + if node_name not in nodes: + redis_node = self.get_redis_connection(node) + try: + connection = get_connection(redis_node, c.args) + except ConnectionError: + # Connection retries are being handled in the node's + # Retry object. Reinitialize the node -> slot table. + self.nodes_manager.initialize() + if is_default_node: + self.replace_default_node() + raise + nodes[node_name] = NodeCommands( + redis_node.parse_response, + redis_node.connection_pool, + connection, + ) + nodes[node_name].append(c) + break + + # send the commands in sequence. + # we write to all the open sockets for each node first, + # before reading anything + # this allows us to flush all the requests out across the + # network essentially in parallel + # so that we can read them all in parallel as they come back. + # we dont' multiplex on the sockets as they come available, + # but that shouldn't make too much difference. + node_commands = nodes.values() + for n in node_commands: + n.write() + + for n in node_commands: + n.read() + + # release all of the redis connections we allocated earlier + # back into the connection pool. + # we used to do this step as part of a try/finally block, + # but it is really dangerous to + # release connections back into the pool if for some + # reason the socket has data still left in it + # from a previous operation. The write and + # read operations already have try/catch around them for + # all known types of errors including connection + # and socket level errors. + # So if we hit an exception, something really bad + # happened and putting any oF + # these connections back into the pool is a very bad idea. + # the socket might have unread buffer still sitting in it, + # and then the next time we read from it we pass the + # buffered result back from a previous command and + # every single request after to that connection will always get + # a mismatched result. + for n in nodes.values(): + n.connection_pool.release(n.connection) + + # if the response isn't an exception it is a + # valid response from the node + # we're all done with that command, YAY! + # if we have more commands to attempt, we've run into problems. + # collect all the commands we are allowed to retry. + # (MOVED, ASK, or connection errors or timeout errors) + attempt = sorted( + ( + c + for c in attempt + if isinstance(c.result, ClusterPipeline.ERRORS_ALLOW_RETRY) + ), + key=lambda x: x.position, ) + if attempt and allow_redirections: + # RETRY MAGIC HAPPENS HERE! + # send these remaing commands one at a time using `execute_command` + # in the main client. This keeps our retry logic + # in one place mostly, + # and allows us to be more confident in correctness of behavior. + # at this point any speed gains from pipelining have been lost + # anyway, so we might as well make the best + # attempt to get the correct behavior. + # + # The client command will handle retries for each + # individual command sequentially as we pass each + # one into `execute_command`. Any exceptions + # that bubble out should only appear once all + # retries have been exhausted. + # + # If a lot of commands have failed, we'll be setting the + # flag to rebuild the slots table from scratch. + # So MOVED errors should correct themselves fairly quickly. + self.reinitialize_counter += 1 + if self._should_reinitialized(): + self.nodes_manager.initialize() + if is_default_node: + self.replace_default_node() + for c in attempt: + try: + # send each command individually like we + # do in the main client. + c.result = super().execute_command(*c.args, **c.options) + except RedisError as e: + c.result = e + + # turn the response back into a simple flat array that corresponds + # to the sequence of commands issued in the stack in pipeline.execute() + response = [] + for c in sorted(stack, key=lambda x: x.position): + if c.args[0] in self.cluster_response_callbacks: + c.result = self.cluster_response_callbacks[c.args[0]]( + c.result, **c.options + ) + response.append(c.result) + + if raise_on_error: + self.raise_first_error(stack) + + return response + + def _fail_on_redirect(self, allow_redirections): + """ """ + if not allow_redirections: + raise RedisClusterException( + "ASK & MOVED redirection not allowed in this pipeline" + ) def exists(self, *keys): - return self._execution_strategy.exists(*keys) + return self.execute_command("EXISTS", *keys) def eval(self): """ """ - return self._execution_strategy.eval() + raise RedisClusterException("method eval() is not implemented") def multi(self): - """ - Start a transactional block of the pipeline after WATCH commands - are issued. End the transactional block with `execute`. - """ - self._execution_strategy.multi() + """ """ + raise RedisClusterException("method multi() is not implemented") + + def immediate_execute_command(self, *args, **options): + """ """ + raise RedisClusterException( + "method immediate_execute_command() is not implemented" + ) + + def _execute_transaction(self, *args, **kwargs): + """ """ + raise RedisClusterException("method _execute_transaction() is not implemented") def load_scripts(self): """ """ - self._execution_strategy.load_scripts() - - def discard(self): - """ """ - self._execution_strategy.discard() + raise RedisClusterException("method load_scripts() is not implemented") def watch(self, *names): - """Watches the values at keys ``names``""" - self._execution_strategy.watch(*names) + """ """ + raise RedisClusterException("method watch() is not implemented") def unwatch(self): - """Unwatches all previously specified keys""" - self._execution_strategy.unwatch() + """ """ + raise RedisClusterException("method unwatch() is not implemented") def script_load_for_pipeline(self, *args, **kwargs): - self._execution_strategy.script_load_for_pipeline(*args, **kwargs) + """ """ + raise RedisClusterException( + "method script_load_for_pipeline() is not implemented" + ) def delete(self, *names): - self._execution_strategy.delete(*names) + """ + "Delete a key specified by ``names``" + """ + if len(names) != 1: + raise RedisClusterException( + "deleting multiple keys is not implemented in pipeline command" + ) + + return self.execute_command("DEL", names[0]) def unlink(self, *names): - self._execution_strategy.unlink(*names) + """ + "Unlink a key specified by ``names``" + """ + if len(names) != 1: + raise RedisClusterException( + "unlinking multiple keys is not implemented in pipeline command" + ) + + return self.execute_command("UNLINK", names[0]) def block_pipeline_command(name: str) -> Callable[..., Any]: @@ -2479,881 +2484,3 @@ class NodeCommands: return except RedisError: c.result = sys.exc_info()[1] - - -class ExecutionStrategy(ABC): - @property - @abstractmethod - def command_queue(self): - pass - - @abstractmethod - def execute_command(self, *args, **kwargs): - """ - Execution flow for current execution strategy. - - See: ClusterPipeline.execute_command() - """ - pass - - @abstractmethod - def annotate_exception(self, exception, number, command): - """ - Annotate exception according to current execution strategy. - - See: ClusterPipeline.annotate_exception() - """ - pass - - @abstractmethod - def pipeline_execute_command(self, *args, **options): - """ - Pipeline execution flow for current execution strategy. - - See: ClusterPipeline.pipeline_execute_command() - """ - pass - - @abstractmethod - def execute(self, raise_on_error: bool = True) -> List[Any]: - """ - Executes current execution strategy. - - See: ClusterPipeline.execute() - """ - pass - - @abstractmethod - def send_cluster_commands( - self, stack, raise_on_error=True, allow_redirections=True - ): - """ - Sends commands according to current execution strategy. - - See: ClusterPipeline.send_cluster_commands() - """ - pass - - @abstractmethod - def reset(self): - """ - Resets current execution strategy. - - See: ClusterPipeline.reset() - """ - pass - - @abstractmethod - def exists(self, *keys): - pass - - @abstractmethod - def eval(self): - pass - - @abstractmethod - def multi(self): - """ - Starts transactional context. - - See: ClusterPipeline.multi() - """ - pass - - @abstractmethod - def load_scripts(self): - pass - - @abstractmethod - def watch(self, *names): - pass - - @abstractmethod - def unwatch(self): - """ - Unwatches all previously specified keys - - See: ClusterPipeline.unwatch() - """ - pass - - @abstractmethod - def script_load_for_pipeline(self, *args, **kwargs): - pass - - @abstractmethod - def delete(self, *names): - """ - "Delete a key specified by ``names``" - - See: ClusterPipeline.delete() - """ - pass - - @abstractmethod - def unlink(self, *names): - """ - "Unlink a key specified by ``names``" - - See: ClusterPipeline.unlink() - """ - pass - - @abstractmethod - def discard(self): - pass - - -class AbstractStrategy(ExecutionStrategy): - def __init__( - self, - pipe: ClusterPipeline, - ): - self._command_queue: List[PipelineCommand] = [] - self._pipe = pipe - self._nodes_manager = self._pipe.nodes_manager - - @property - def command_queue(self): - return self._command_queue - - @command_queue.setter - def command_queue(self, queue: List[PipelineCommand]): - self._command_queue = queue - - @abstractmethod - def execute_command(self, *args, **kwargs): - pass - - def pipeline_execute_command(self, *args, **options): - self._command_queue.append( - PipelineCommand(args, options, len(self._command_queue)) - ) - return self._pipe - - @abstractmethod - def execute(self, raise_on_error: bool = True) -> List[Any]: - pass - - @abstractmethod - def send_cluster_commands( - self, stack, raise_on_error=True, allow_redirections=True - ): - pass - - @abstractmethod - def reset(self): - pass - - def exists(self, *keys): - return self.execute_command("EXISTS", *keys) - - def eval(self): - """ """ - raise RedisClusterException("method eval() is not implemented") - - def load_scripts(self): - """ """ - raise RedisClusterException("method load_scripts() is not implemented") - - def script_load_for_pipeline(self, *args, **kwargs): - """ """ - raise RedisClusterException( - "method script_load_for_pipeline() is not implemented" - ) - - def annotate_exception(self, exception, number, command): - """ - Provides extra context to the exception prior to it being handled - """ - cmd = " ".join(map(safe_str, command)) - msg = ( - f"Command # {number} ({truncate_text(cmd)}) of pipeline " - f"caused error: {exception.args[0]}" - ) - exception.args = (msg,) + exception.args[1:] - - -class PipelineStrategy(AbstractStrategy): - def __init__(self, pipe: ClusterPipeline): - super().__init__(pipe) - self.command_flags = pipe.command_flags - - def execute_command(self, *args, **kwargs): - return self.pipeline_execute_command(*args, **kwargs) - - def _raise_first_error(self, stack): - """ - Raise the first exception on the stack - """ - for c in stack: - r = c.result - if isinstance(r, Exception): - self.annotate_exception(r, c.position + 1, c.args) - raise r - - def execute(self, raise_on_error: bool = True) -> List[Any]: - stack = self._command_queue - if not stack: - return [] - - try: - return self.send_cluster_commands(stack, raise_on_error) - finally: - self.reset() - - def reset(self): - """ - Reset back to empty pipeline. - """ - self._command_queue = [] - - def send_cluster_commands( - self, stack, raise_on_error=True, allow_redirections=True - ): - """ - Wrapper for RedisCluster.ERRORS_ALLOW_RETRY errors handling. - - If one of the retryable exceptions has been thrown we assume that: - - connection_pool was disconnected - - connection_pool was reseted - - refereh_table_asap set to True - - It will try the number of times specified by - the retries in config option "self.retry" - which defaults to 3 unless manually configured. - - If it reaches the number of times, the command will - raises ClusterDownException. - """ - if not stack: - return [] - retry_attempts = self._pipe.retry.get_retries() - while True: - try: - return self._send_cluster_commands( - stack, - raise_on_error=raise_on_error, - allow_redirections=allow_redirections, - ) - except RedisCluster.ERRORS_ALLOW_RETRY as e: - if retry_attempts > 0: - # Try again with the new cluster setup. All other errors - # should be raised. - retry_attempts -= 1 - pass - else: - raise e - - def _send_cluster_commands( - self, stack, raise_on_error=True, allow_redirections=True - ): - """ - Send a bunch of cluster commands to the redis cluster. - - `allow_redirections` If the pipeline should follow - `ASK` & `MOVED` responses automatically. If set - to false it will raise RedisClusterException. - """ - # the first time sending the commands we send all of - # the commands that were queued up. - # if we have to run through it again, we only retry - # the commands that failed. - attempt = sorted(stack, key=lambda x: x.position) - is_default_node = False - # build a list of node objects based on node names we need to - nodes = {} - - # as we move through each command that still needs to be processed, - # we figure out the slot number that command maps to, then from - # the slot determine the node. - for c in attempt: - while True: - # refer to our internal node -> slot table that - # tells us where a given command should route to. - # (it might be possible we have a cached node that no longer - # exists in the cluster, which is why we do this in a loop) - passed_targets = c.options.pop("target_nodes", None) - if passed_targets and not self._is_nodes_flag(passed_targets): - target_nodes = self._parse_target_nodes(passed_targets) - else: - target_nodes = self._determine_nodes( - *c.args, node_flag=passed_targets - ) - if not target_nodes: - raise RedisClusterException( - f"No targets were found to execute {c.args} command on" - ) - if len(target_nodes) > 1: - raise RedisClusterException( - f"Too many targets for command {c.args}" - ) - - node = target_nodes[0] - if node == self._pipe.get_default_node(): - is_default_node = True - - # now that we know the name of the node - # ( it's just a string in the form of host:port ) - # we can build a list of commands for each node. - node_name = node.name - if node_name not in nodes: - redis_node = self._pipe.get_redis_connection(node) - try: - connection = get_connection(redis_node) - except (ConnectionError, TimeoutError): - for n in nodes.values(): - n.connection_pool.release(n.connection) - # Connection retries are being handled in the node's - # Retry object. Reinitialize the node -> slot table. - self._nodes_manager.initialize() - if is_default_node: - self._pipe.replace_default_node() - raise - nodes[node_name] = NodeCommands( - redis_node.parse_response, - redis_node.connection_pool, - connection, - ) - nodes[node_name].append(c) - break - - # send the commands in sequence. - # we write to all the open sockets for each node first, - # before reading anything - # this allows us to flush all the requests out across the - # network - # so that we can read them from different sockets as they come back. - # we dont' multiplex on the sockets as they come available, - # but that shouldn't make too much difference. - try: - node_commands = nodes.values() - for n in node_commands: - n.write() - - for n in node_commands: - n.read() - finally: - # release all of the redis connections we allocated earlier - # back into the connection pool. - # we used to do this step as part of a try/finally block, - # but it is really dangerous to - # release connections back into the pool if for some - # reason the socket has data still left in it - # from a previous operation. The write and - # read operations already have try/catch around them for - # all known types of errors including connection - # and socket level errors. - # So if we hit an exception, something really bad - # happened and putting any oF - # these connections back into the pool is a very bad idea. - # the socket might have unread buffer still sitting in it, - # and then the next time we read from it we pass the - # buffered result back from a previous command and - # every single request after to that connection will always get - # a mismatched result. - for n in nodes.values(): - n.connection_pool.release(n.connection) - - # if the response isn't an exception it is a - # valid response from the node - # we're all done with that command, YAY! - # if we have more commands to attempt, we've run into problems. - # collect all the commands we are allowed to retry. - # (MOVED, ASK, or connection errors or timeout errors) - attempt = sorted( - ( - c - for c in attempt - if isinstance(c.result, ClusterPipeline.ERRORS_ALLOW_RETRY) - ), - key=lambda x: x.position, - ) - if attempt and allow_redirections: - # RETRY MAGIC HAPPENS HERE! - # send these remaining commands one at a time using `execute_command` - # in the main client. This keeps our retry logic - # in one place mostly, - # and allows us to be more confident in correctness of behavior. - # at this point any speed gains from pipelining have been lost - # anyway, so we might as well make the best - # attempt to get the correct behavior. - # - # The client command will handle retries for each - # individual command sequentially as we pass each - # one into `execute_command`. Any exceptions - # that bubble out should only appear once all - # retries have been exhausted. - # - # If a lot of commands have failed, we'll be setting the - # flag to rebuild the slots table from scratch. - # So MOVED errors should correct themselves fairly quickly. - self._pipe.reinitialize_counter += 1 - if self._pipe._should_reinitialized(): - self._nodes_manager.initialize() - if is_default_node: - self._pipe.replace_default_node() - for c in attempt: - try: - # send each command individually like we - # do in the main client. - c.result = self._pipe.parent_execute_command(*c.args, **c.options) - except RedisError as e: - c.result = e - - # turn the response back into a simple flat array that corresponds - # to the sequence of commands issued in the stack in pipeline.execute() - response = [] - for c in sorted(stack, key=lambda x: x.position): - if c.args[0] in self._pipe.cluster_response_callbacks: - # Remove keys entry, it needs only for cache. - c.options.pop("keys", None) - c.result = self._pipe.cluster_response_callbacks[c.args[0]]( - c.result, **c.options - ) - response.append(c.result) - - if raise_on_error: - self._raise_first_error(stack) - - return response - - def _is_nodes_flag(self, target_nodes): - return isinstance(target_nodes, str) and target_nodes in self._pipe.node_flags - - def _parse_target_nodes(self, target_nodes): - if isinstance(target_nodes, list): - nodes = target_nodes - elif isinstance(target_nodes, ClusterNode): - # Supports passing a single ClusterNode as a variable - nodes = [target_nodes] - elif isinstance(target_nodes, dict): - # Supports dictionaries of the format {node_name: node}. - # It enables to execute commands with multi nodes as follows: - # rc.cluster_save_config(rc.get_primaries()) - nodes = target_nodes.values() - else: - raise TypeError( - "target_nodes type can be one of the following: " - "node_flag (PRIMARIES, REPLICAS, RANDOM, ALL_NODES)," - "ClusterNode, list, or dict. " - f"The passed type is {type(target_nodes)}" - ) - return nodes - - def _determine_nodes(self, *args, **kwargs) -> List["ClusterNode"]: - # Determine which nodes should be executed the command on. - # Returns a list of target nodes. - command = args[0].upper() - if ( - len(args) >= 2 - and f"{args[0]} {args[1]}".upper() in self._pipe.command_flags - ): - command = f"{args[0]} {args[1]}".upper() - - nodes_flag = kwargs.pop("nodes_flag", None) - if nodes_flag is not None: - # nodes flag passed by the user - command_flag = nodes_flag - else: - # get the nodes group for this command if it was predefined - command_flag = self._pipe.command_flags.get(command) - if command_flag == self._pipe.RANDOM: - # return a random node - return [self._pipe.get_random_node()] - elif command_flag == self._pipe.PRIMARIES: - # return all primaries - return self._pipe.get_primaries() - elif command_flag == self._pipe.REPLICAS: - # return all replicas - return self._pipe.get_replicas() - elif command_flag == self._pipe.ALL_NODES: - # return all nodes - return self._pipe.get_nodes() - elif command_flag == self._pipe.DEFAULT_NODE: - # return the cluster's default node - return [self._nodes_manager.default_node] - elif command in self._pipe.SEARCH_COMMANDS[0]: - return [self._nodes_manager.default_node] - else: - # get the node that holds the key's slot - slot = self._pipe.determine_slot(*args) - node = self._nodes_manager.get_node_from_slot( - slot, - self._pipe.read_from_replicas and command in READ_COMMANDS, - self._pipe.load_balancing_strategy - if command in READ_COMMANDS - else None, - ) - return [node] - - def multi(self): - raise RedisClusterException( - "method multi() is not supported outside of transactional context" - ) - - def discard(self): - raise RedisClusterException( - "method discard() is not supported outside of transactional context" - ) - - def watch(self, *names): - raise RedisClusterException( - "method watch() is not supported outside of transactional context" - ) - - def unwatch(self, *names): - raise RedisClusterException( - "method unwatch() is not supported outside of transactional context" - ) - - def delete(self, *names): - if len(names) != 1: - raise RedisClusterException( - "deleting multiple keys is not implemented in pipeline command" - ) - - return self.execute_command("DEL", names[0]) - - def unlink(self, *names): - if len(names) != 1: - raise RedisClusterException( - "unlinking multiple keys is not implemented in pipeline command" - ) - - return self.execute_command("UNLINK", names[0]) - - -class TransactionStrategy(AbstractStrategy): - NO_SLOTS_COMMANDS = {"UNWATCH"} - IMMEDIATE_EXECUTE_COMMANDS = {"WATCH", "UNWATCH"} - UNWATCH_COMMANDS = {"DISCARD", "EXEC", "UNWATCH"} - SLOT_REDIRECT_ERRORS = (AskError, MovedError) - CONNECTION_ERRORS = ( - ConnectionError, - OSError, - ClusterDownError, - SlotNotCoveredError, - ) - - def __init__(self, pipe: ClusterPipeline): - super().__init__(pipe) - self._explicit_transaction = False - self._watching = False - self._pipeline_slots: Set[int] = set() - self._transaction_connection: Optional[Connection] = None - self._executing = False - self._retry = copy(self._pipe.retry) - self._retry.update_supported_errors( - RedisCluster.ERRORS_ALLOW_RETRY + self.SLOT_REDIRECT_ERRORS - ) - - def _get_client_and_connection_for_transaction(self) -> Tuple[Redis, Connection]: - """ - Find a connection for a pipeline transaction. - - For running an atomic transaction, watch keys ensure that contents have not been - altered as long as the watch commands for those keys were sent over the same - connection. So once we start watching a key, we fetch a connection to the - node that owns that slot and reuse it. - """ - if not self._pipeline_slots: - raise RedisClusterException( - "At least a command with a key is needed to identify a node" - ) - - node: ClusterNode = self._nodes_manager.get_node_from_slot( - list(self._pipeline_slots)[0], False - ) - redis_node: Redis = self._pipe.get_redis_connection(node) - if self._transaction_connection: - if not redis_node.connection_pool.owns_connection( - self._transaction_connection - ): - previous_node = self._nodes_manager.find_connection_owner( - self._transaction_connection - ) - previous_node.connection_pool.release(self._transaction_connection) - self._transaction_connection = None - - if not self._transaction_connection: - self._transaction_connection = get_connection(redis_node) - - return redis_node, self._transaction_connection - - def execute_command(self, *args, **kwargs): - slot_number: Optional[int] = None - if args[0] not in ClusterPipeline.NO_SLOTS_COMMANDS: - slot_number = self._pipe.determine_slot(*args) - - if ( - self._watching or args[0] in self.IMMEDIATE_EXECUTE_COMMANDS - ) and not self._explicit_transaction: - if args[0] == "WATCH": - self._validate_watch() - - if slot_number is not None: - if self._pipeline_slots and slot_number not in self._pipeline_slots: - raise CrossSlotTransactionError( - "Cannot watch or send commands on different slots" - ) - - self._pipeline_slots.add(slot_number) - elif args[0] not in self.NO_SLOTS_COMMANDS: - raise RedisClusterException( - f"Cannot identify slot number for command: {args[0]}," - "it cannot be triggered in a transaction" - ) - - return self._immediate_execute_command(*args, **kwargs) - else: - if slot_number is not None: - self._pipeline_slots.add(slot_number) - - return self.pipeline_execute_command(*args, **kwargs) - - def _validate_watch(self): - if self._explicit_transaction: - raise RedisError("Cannot issue a WATCH after a MULTI") - - self._watching = True - - def _immediate_execute_command(self, *args, **options): - return self._retry.call_with_retry( - lambda: self._get_connection_and_send_command(*args, **options), - self._reinitialize_on_error, - ) - - def _get_connection_and_send_command(self, *args, **options): - redis_node, connection = self._get_client_and_connection_for_transaction() - return self._send_command_parse_response( - connection, redis_node, args[0], *args, **options - ) - - def _send_command_parse_response( - self, conn, redis_node: Redis, command_name, *args, **options - ): - """ - Send a command and parse the response - """ - - conn.send_command(*args) - output = redis_node.parse_response(conn, command_name, **options) - - if command_name in self.UNWATCH_COMMANDS: - self._watching = False - return output - - def _reinitialize_on_error(self, error): - if self._watching: - if type(error) in self.SLOT_REDIRECT_ERRORS and self._executing: - raise WatchError("Slot rebalancing occurred while watching keys") - - if ( - type(error) in self.SLOT_REDIRECT_ERRORS - or type(error) in self.CONNECTION_ERRORS - ): - if self._transaction_connection: - self._transaction_connection = None - - self._pipe.reinitialize_counter += 1 - if self._pipe._should_reinitialized(): - self._nodes_manager.initialize() - self.reinitialize_counter = 0 - else: - self._nodes_manager.update_moved_exception(error) - - self._executing = False - - def _raise_first_error(self, responses, stack): - """ - Raise the first exception on the stack - """ - for r, cmd in zip(responses, stack): - if isinstance(r, Exception): - self.annotate_exception(r, cmd.position + 1, cmd.args) - raise r - - def execute(self, raise_on_error: bool = True) -> List[Any]: - stack = self._command_queue - if not stack and (not self._watching or not self._pipeline_slots): - return [] - - return self._execute_transaction_with_retries(stack, raise_on_error) - - def _execute_transaction_with_retries( - self, stack: List["PipelineCommand"], raise_on_error: bool - ): - return self._retry.call_with_retry( - lambda: self._execute_transaction(stack, raise_on_error), - self._reinitialize_on_error, - ) - - def _execute_transaction( - self, stack: List["PipelineCommand"], raise_on_error: bool - ): - if len(self._pipeline_slots) > 1: - raise CrossSlotTransactionError( - "All keys involved in a cluster transaction must map to the same slot" - ) - - self._executing = True - - redis_node, connection = self._get_client_and_connection_for_transaction() - - stack = chain( - [PipelineCommand(("MULTI",))], - stack, - [PipelineCommand(("EXEC",))], - ) - commands = [c.args for c in stack if EMPTY_RESPONSE not in c.options] - packed_commands = connection.pack_commands(commands) - connection.send_packed_command(packed_commands) - errors = [] - - # parse off the response for MULTI - # NOTE: we need to handle ResponseErrors here and continue - # so that we read all the additional command messages from - # the socket - try: - redis_node.parse_response(connection, "MULTI") - except ResponseError as e: - self.annotate_exception(e, 0, "MULTI") - errors.append(e) - except self.CONNECTION_ERRORS as cluster_error: - self.annotate_exception(cluster_error, 0, "MULTI") - raise - - # and all the other commands - for i, command in enumerate(self._command_queue): - if EMPTY_RESPONSE in command.options: - errors.append((i, command.options[EMPTY_RESPONSE])) - else: - try: - _ = redis_node.parse_response(connection, "_") - except self.SLOT_REDIRECT_ERRORS as slot_error: - self.annotate_exception(slot_error, i + 1, command.args) - errors.append(slot_error) - except self.CONNECTION_ERRORS as cluster_error: - self.annotate_exception(cluster_error, i + 1, command.args) - raise - except ResponseError as e: - self.annotate_exception(e, i + 1, command.args) - errors.append(e) - - response = None - # parse the EXEC. - try: - response = redis_node.parse_response(connection, "EXEC") - except ExecAbortError: - if errors: - raise errors[0] - raise - - self._executing = False - - # EXEC clears any watched keys - self._watching = False - - if response is None: - raise WatchError("Watched variable changed.") - - # put any parse errors into the response - for i, e in errors: - response.insert(i, e) - - if len(response) != len(self._command_queue): - raise InvalidPipelineStack( - "Unexpected response length for cluster pipeline EXEC." - " Command stack was {} but response had length {}".format( - [c.args[0] for c in self._command_queue], len(response) - ) - ) - - # find any errors in the response and raise if necessary - if raise_on_error or len(errors) > 0: - self._raise_first_error( - response, - self._command_queue, - ) - - # We have to run response callbacks manually - data = [] - for r, cmd in zip(response, self._command_queue): - if not isinstance(r, Exception): - command_name = cmd.args[0] - if command_name in self._pipe.cluster_response_callbacks: - r = self._pipe.cluster_response_callbacks[command_name]( - r, **cmd.options - ) - data.append(r) - return data - - def reset(self): - self._command_queue = [] - - # make sure to reset the connection state in the event that we were - # watching something - if self._transaction_connection: - try: - if self._watching: - # call this manually since our unwatch or - # immediate_execute_command methods can call reset() - self._transaction_connection.send_command("UNWATCH") - self._transaction_connection.read_response() - # we can safely return the connection to the pool here since we're - # sure we're no longer WATCHing anything - node = self._nodes_manager.find_connection_owner( - self._transaction_connection - ) - node.redis_connection.connection_pool.release( - self._transaction_connection - ) - self._transaction_connection = None - except self.CONNECTION_ERRORS: - # disconnect will also remove any previous WATCHes - if self._transaction_connection: - self._transaction_connection.disconnect() - - # clean up the other instance attributes - self._watching = False - self._explicit_transaction = False - self._pipeline_slots = set() - self._executing = False - - def send_cluster_commands( - self, stack, raise_on_error=True, allow_redirections=True - ): - raise NotImplementedError( - "send_cluster_commands cannot be executed in transactional context." - ) - - def multi(self): - if self._explicit_transaction: - raise RedisError("Cannot issue nested calls to MULTI") - if self._command_queue: - raise RedisError( - "Commands without an initial WATCH have already been issued" - ) - self._explicit_transaction = True - - def watch(self, *names): - if self._explicit_transaction: - raise RedisError("Cannot issue a WATCH after a MULTI") - - return self.execute_command("WATCH", *names) - - def unwatch(self): - if self._watching: - return self.execute_command("UNWATCH") - - return True - - def discard(self): - self.reset() - - def delete(self, *names): - return self.execute_command("DEL", *names) - - def unlink(self, *names): - return self.execute_command("UNLINK", *names) diff --git a/venv/lib/python3.12/site-packages/redis/commands/bf/__init__.py b/venv/lib/python3.12/site-packages/redis/commands/bf/__init__.py index 29c5c18..959358f 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/bf/__init__.py +++ b/venv/lib/python3.12/site-packages/redis/commands/bf/__init__.py @@ -5,7 +5,7 @@ from .commands import * # noqa from .info import BFInfo, CFInfo, CMSInfo, TDigestInfo, TopKInfo -class AbstractBloom: +class AbstractBloom(object): """ The client allows to interact with RedisBloom and use all of it's functionality. diff --git a/venv/lib/python3.12/site-packages/redis/commands/bf/commands.py b/venv/lib/python3.12/site-packages/redis/commands/bf/commands.py index 0a88505..447f844 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/bf/commands.py +++ b/venv/lib/python3.12/site-packages/redis/commands/bf/commands.py @@ -1,5 +1,6 @@ from redis.client import NEVER_DECODE -from redis.utils import deprecated_function +from redis.exceptions import ModuleError +from redis.utils import HIREDIS_AVAILABLE, deprecated_function BF_RESERVE = "BF.RESERVE" BF_ADD = "BF.ADD" @@ -138,6 +139,9 @@ class BFCommands: This command will return successive (iter, data) pairs until (0, NULL) to indicate completion. For more information see `BF.SCANDUMP `_. """ # noqa + if HIREDIS_AVAILABLE: + raise ModuleError("This command cannot be used when hiredis is available.") + params = [key, iter] options = {} options[NEVER_DECODE] = [] diff --git a/venv/lib/python3.12/site-packages/redis/commands/bf/info.py b/venv/lib/python3.12/site-packages/redis/commands/bf/info.py index 1a876c1..e1f0208 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/bf/info.py +++ b/venv/lib/python3.12/site-packages/redis/commands/bf/info.py @@ -1,7 +1,7 @@ from ..helpers import nativestr -class BFInfo: +class BFInfo(object): capacity = None size = None filterNum = None @@ -26,7 +26,7 @@ class BFInfo: return getattr(self, item) -class CFInfo: +class CFInfo(object): size = None bucketNum = None filterNum = None @@ -57,7 +57,7 @@ class CFInfo: return getattr(self, item) -class CMSInfo: +class CMSInfo(object): width = None depth = None count = None @@ -72,7 +72,7 @@ class CMSInfo: return getattr(self, item) -class TopKInfo: +class TopKInfo(object): k = None width = None depth = None @@ -89,7 +89,7 @@ class TopKInfo: return getattr(self, item) -class TDigestInfo: +class TDigestInfo(object): compression = None capacity = None merged_nodes = None diff --git a/venv/lib/python3.12/site-packages/redis/commands/cluster.py b/venv/lib/python3.12/site-packages/redis/commands/cluster.py index 13f2035..14b8741 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/cluster.py +++ b/venv/lib/python3.12/site-packages/redis/commands/cluster.py @@ -7,13 +7,13 @@ from typing import ( Iterable, Iterator, List, - Literal, Mapping, NoReturn, Optional, Union, ) +from redis.compat import Literal from redis.crc import key_slot from redis.exceptions import RedisClusterException, RedisError from redis.typing import ( @@ -23,7 +23,6 @@ from redis.typing import ( KeysT, KeyT, PatternT, - ResponseT, ) from .core import ( @@ -31,18 +30,21 @@ from .core import ( AsyncACLCommands, AsyncDataAccessCommands, AsyncFunctionCommands, + AsyncGearsCommands, AsyncManagementCommands, AsyncModuleCommands, AsyncScriptCommands, DataAccessCommands, FunctionCommands, + GearsCommands, ManagementCommands, ModuleCommands, PubSubCommands, + ResponseT, ScriptCommands, ) from .helpers import list_or_args -from .redismodules import AsyncRedisModuleCommands, RedisModuleCommands +from .redismodules import RedisModuleCommands if TYPE_CHECKING: from redis.asyncio.cluster import TargetNodesT @@ -223,7 +225,7 @@ class ClusterMultiKeyCommands(ClusterCommandsProtocol): The keys are first split up into slots and then an DEL command is sent for every slot - Non-existent keys are ignored. + Non-existant keys are ignored. Returns the number of keys that were deleted. For more information see https://redis.io/commands/del @@ -238,7 +240,7 @@ class ClusterMultiKeyCommands(ClusterCommandsProtocol): The keys are first split up into slots and then an TOUCH command is sent for every slot - Non-existent keys are ignored. + Non-existant keys are ignored. Returns the number of keys that were touched. For more information see https://redis.io/commands/touch @@ -252,7 +254,7 @@ class ClusterMultiKeyCommands(ClusterCommandsProtocol): The keys are first split up into slots and then an TOUCH command is sent for every slot - Non-existent keys are ignored. + Non-existant keys are ignored. Returns the number of keys that were unlinked. For more information see https://redis.io/commands/unlink @@ -593,7 +595,7 @@ class ClusterManagementCommands(ManagementCommands): "CLUSTER SETSLOT", slot_id, state, node_id, target_nodes=target_node ) elif state.upper() == "STABLE": - raise RedisError('For "stable" state please use cluster_setslot_stable') + raise RedisError('For "stable" state please use ' "cluster_setslot_stable") else: raise RedisError(f"Invalid slot state: {state}") @@ -691,6 +693,12 @@ class ClusterManagementCommands(ManagementCommands): self.read_from_replicas = False return self.execute_command("READWRITE", target_nodes=target_nodes) + def gears_refresh_cluster(self, **kwargs) -> ResponseT: + """ + On an OSS cluster, before executing any gears function, you must call this command. # noqa + """ + return self.execute_command("REDISGEARS_2.REFRESHCLUSTER", **kwargs) + class AsyncClusterManagementCommands( ClusterManagementCommands, AsyncManagementCommands @@ -866,6 +874,7 @@ class RedisClusterCommands( ClusterDataAccessCommands, ScriptCommands, FunctionCommands, + GearsCommands, ModuleCommands, RedisModuleCommands, ): @@ -896,8 +905,8 @@ class AsyncRedisClusterCommands( AsyncClusterDataAccessCommands, AsyncScriptCommands, AsyncFunctionCommands, + AsyncGearsCommands, AsyncModuleCommands, - AsyncRedisModuleCommands, ): """ A class for all Redis Cluster commands diff --git a/venv/lib/python3.12/site-packages/redis/commands/core.py b/venv/lib/python3.12/site-packages/redis/commands/core.py index d6fb550..e73553e 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/core.py +++ b/venv/lib/python3.12/site-packages/redis/commands/core.py @@ -3,7 +3,6 @@ import datetime import hashlib import warnings -from enum import Enum from typing import ( TYPE_CHECKING, Any, @@ -14,7 +13,6 @@ from typing import ( Iterable, Iterator, List, - Literal, Mapping, Optional, Sequence, @@ -23,6 +21,7 @@ from typing import ( Union, ) +from redis.compat import Literal from redis.exceptions import ConnectionError, DataError, NoScriptError, RedisError from redis.typing import ( AbsExpiryT, @@ -37,24 +36,20 @@ from redis.typing import ( GroupT, KeysT, KeyT, - Number, PatternT, - ResponseT, ScriptTextT, StreamIdT, TimeoutSecT, ZScoreBoundT, ) -from redis.utils import ( - deprecated_function, - extract_expire_flags, -) from .helpers import list_or_args if TYPE_CHECKING: - import redis.asyncio.client - import redis.client + from redis.asyncio.client import Redis as AsyncRedis + from redis.client import Redis + +ResponseT = Union[Awaitable, Any] class ACLCommands(CommandsProtocol): @@ -63,7 +58,7 @@ class ACLCommands(CommandsProtocol): see: https://redis.io/topics/acl """ - def acl_cat(self, category: Optional[str] = None, **kwargs) -> ResponseT: + def acl_cat(self, category: Union[str, None] = None, **kwargs) -> ResponseT: """ Returns a list of categories or commands within a category. @@ -86,13 +81,13 @@ class ACLCommands(CommandsProtocol): def acl_deluser(self, *username: str, **kwargs) -> ResponseT: """ - Delete the ACL for the specified ``username``\\s + Delete the ACL for the specified ``username``s For more information see https://redis.io/commands/acl-deluser """ return self.execute_command("ACL DELUSER", *username, **kwargs) - def acl_genpass(self, bits: Optional[int] = None, **kwargs) -> ResponseT: + def acl_genpass(self, bits: Union[int, None] = None, **kwargs) -> ResponseT: """Generate a random password value. If ``bits`` is supplied then use this number of bits, rounded to the next multiple of 4. @@ -104,7 +99,6 @@ class ACLCommands(CommandsProtocol): b = int(bits) if b < 0 or b > 4096: raise ValueError - pieces.append(b) except ValueError: raise DataError( "genpass optionally accepts a bits argument, between 0 and 4096." @@ -137,7 +131,7 @@ class ACLCommands(CommandsProtocol): """ return self.execute_command("ACL LIST", **kwargs) - def acl_log(self, count: Optional[int] = None, **kwargs) -> ResponseT: + def acl_log(self, count: Union[int, None] = None, **kwargs) -> ResponseT: """ Get ACL logs as a list. :param int count: Get logs[0:count]. @@ -190,8 +184,8 @@ class ACLCommands(CommandsProtocol): username: str, enabled: bool = False, nopass: bool = False, - passwords: Optional[Union[str, Iterable[str]]] = None, - hashed_passwords: Optional[Union[str, Iterable[str]]] = None, + passwords: Union[str, Iterable[str], None] = None, + hashed_passwords: Union[str, Iterable[str], None] = None, categories: Optional[Iterable[str]] = None, commands: Optional[Iterable[str]] = None, keys: Optional[Iterable[KeyT]] = None, @@ -206,59 +200,69 @@ class ACLCommands(CommandsProtocol): """ Create or update an ACL user. - Create or update the ACL for `username`. If the user already exists, + Create or update the ACL for ``username``. If the user already exists, the existing ACL is completely overwritten and replaced with the specified values. - For more information, see https://redis.io/commands/acl-setuser + ``enabled`` is a boolean indicating whether the user should be allowed + to authenticate or not. Defaults to ``False``. - Args: - username: The name of the user whose ACL is to be created or updated. - enabled: Indicates whether the user should be allowed to authenticate. - Defaults to `False`. - nopass: Indicates whether the user can authenticate without a password. - This cannot be `True` if `passwords` are also specified. - passwords: A list of plain text passwords to add to or remove from the user. - Each password must be prefixed with a '+' to add or a '-' to - remove. For convenience, a single prefixed string can be used - when adding or removing a single password. - hashed_passwords: A list of SHA-256 hashed passwords to add to or remove - from the user. Each hashed password must be prefixed with - a '+' to add or a '-' to remove. For convenience, a single - prefixed string can be used when adding or removing a - single password. - categories: A list of strings representing category permissions. Each string - must be prefixed with either a '+' to add the category - permission or a '-' to remove the category permission. - commands: A list of strings representing command permissions. Each string - must be prefixed with either a '+' to add the command permission - or a '-' to remove the command permission. - keys: A list of key patterns to grant the user access to. Key patterns allow - ``'*'`` to support wildcard matching. For example, ``'*'`` grants - access to all keys while ``'cache:*'`` grants access to all keys that - are prefixed with ``cache:``. - `keys` should not be prefixed with a ``'~'``. - reset: Indicates whether the user should be fully reset prior to applying - the new ACL. Setting this to `True` will remove all existing - passwords, flags, and privileges from the user and then apply the - specified rules. If `False`, the user's existing passwords, flags, - and privileges will be kept and any new specified rules will be - applied on top. - reset_keys: Indicates whether the user's key permissions should be reset - prior to applying any new key permissions specified in `keys`. - If `False`, the user's existing key permissions will be kept and - any new specified key permissions will be applied on top. - reset_channels: Indicates whether the user's channel permissions should be - reset prior to applying any new channel permissions - specified in `channels`. If `False`, the user's existing - channel permissions will be kept and any new specified - channel permissions will be applied on top. - reset_passwords: Indicates whether to remove all existing passwords and the - `nopass` flag from the user prior to applying any new - passwords specified in `passwords` or `hashed_passwords`. - If `False`, the user's existing passwords and `nopass` - status will be kept and any new specified passwords or - hashed passwords will be applied on top. + ``nopass`` is a boolean indicating whether the can authenticate without + a password. This cannot be True if ``passwords`` are also specified. + + ``passwords`` if specified is a list of plain text passwords + to add to or remove from the user. Each password must be prefixed with + a '+' to add or a '-' to remove. For convenience, the value of + ``passwords`` can be a simple prefixed string when adding or + removing a single password. + + ``hashed_passwords`` if specified is a list of SHA-256 hashed passwords + to add to or remove from the user. Each hashed password must be + prefixed with a '+' to add or a '-' to remove. For convenience, + the value of ``hashed_passwords`` can be a simple prefixed string when + adding or removing a single password. + + ``categories`` if specified is a list of strings representing category + permissions. Each string must be prefixed with either a '+' to add the + category permission or a '-' to remove the category permission. + + ``commands`` if specified is a list of strings representing command + permissions. Each string must be prefixed with either a '+' to add the + command permission or a '-' to remove the command permission. + + ``keys`` if specified is a list of key patterns to grant the user + access to. Keys patterns allow '*' to support wildcard matching. For + example, '*' grants access to all keys while 'cache:*' grants access + to all keys that are prefixed with 'cache:'. ``keys`` should not be + prefixed with a '~'. + + ``reset`` is a boolean indicating whether the user should be fully + reset prior to applying the new ACL. Setting this to True will + remove all existing passwords, flags and privileges from the user and + then apply the specified rules. If this is False, the user's existing + passwords, flags and privileges will be kept and any new specified + rules will be applied on top. + + ``reset_keys`` is a boolean indicating whether the user's key + permissions should be reset prior to applying any new key permissions + specified in ``keys``. If this is False, the user's existing + key permissions will be kept and any new specified key permissions + will be applied on top. + + ``reset_channels`` is a boolean indicating whether the user's channel + permissions should be reset prior to applying any new channel permissions + specified in ``channels``.If this is False, the user's existing + channel permissions will be kept and any new specified channel permissions + will be applied on top. + + ``reset_passwords`` is a boolean indicating whether to remove all + existing passwords and the 'nopass' flag from the user prior to + applying any new passwords specified in 'passwords' or + 'hashed_passwords'. If this is False, the user's existing passwords + and 'nopass' status will be kept and any new specified passwords + or hashed_passwords will be applied on top. + + For more information see https://redis.io/commands/acl-setuser """ encoder = self.get_encoder() pieces: List[EncodableT] = [username] @@ -450,13 +454,12 @@ class ManagementCommands(CommandsProtocol): def client_kill_filter( self, - _id: Optional[str] = None, - _type: Optional[str] = None, - addr: Optional[str] = None, - skipme: Optional[bool] = None, - laddr: Optional[bool] = None, - user: Optional[str] = None, - maxage: Optional[int] = None, + _id: Union[str, None] = None, + _type: Union[str, None] = None, + addr: Union[str, None] = None, + skipme: Union[bool, None] = None, + laddr: Union[bool, None] = None, + user: str = None, **kwargs, ) -> ResponseT: """ @@ -470,7 +473,6 @@ class ManagementCommands(CommandsProtocol): options. If skipme is not provided, the server defaults to skipme=True :param laddr: Kills a client by its 'local (bind) address:port' :param user: Kills a client for a specific user name - :param maxage: Kills clients that are older than the specified age in seconds """ args = [] if _type is not None: @@ -493,8 +495,6 @@ class ManagementCommands(CommandsProtocol): args.extend((b"LADDR", laddr)) if user is not None: args.extend((b"USER", user)) - if maxage is not None: - args.extend((b"MAXAGE", maxage)) if not args: raise DataError( "CLIENT KILL ... ... " @@ -512,7 +512,7 @@ class ManagementCommands(CommandsProtocol): return self.execute_command("CLIENT INFO", **kwargs) def client_list( - self, _type: Optional[str] = None, client_id: List[EncodableT] = [], **kwargs + self, _type: Union[str, None] = None, client_id: List[EncodableT] = [], **kwargs ) -> ResponseT: """ Returns a list of currently connected clients. @@ -535,7 +535,7 @@ class ManagementCommands(CommandsProtocol): raise DataError("client_id must be a list") if client_id: args.append(b"ID") - args += client_id + args.append(" ".join(client_id)) return self.execute_command("CLIENT LIST", *args, **kwargs) def client_getname(self, **kwargs) -> ResponseT: @@ -589,7 +589,7 @@ class ManagementCommands(CommandsProtocol): def client_tracking_on( self, - clientid: Optional[int] = None, + clientid: Union[int, None] = None, prefix: Sequence[KeyT] = [], bcast: bool = False, optin: bool = False, @@ -608,7 +608,7 @@ class ManagementCommands(CommandsProtocol): def client_tracking_off( self, - clientid: Optional[int] = None, + clientid: Union[int, None] = None, prefix: Sequence[KeyT] = [], bcast: bool = False, optin: bool = False, @@ -628,7 +628,7 @@ class ManagementCommands(CommandsProtocol): def client_tracking( self, on: bool = True, - clientid: Optional[int] = None, + clientid: Union[int, None] = None, prefix: Sequence[KeyT] = [], bcast: bool = False, optin: bool = False, @@ -738,19 +738,16 @@ class ManagementCommands(CommandsProtocol): For more information see https://redis.io/commands/client-pause - Args: - timeout: milliseconds to pause clients - all: If true (default) all client commands are blocked. - otherwise, clients are only blocked if they attempt to execute - a write command. - + :param timeout: milliseconds to pause clients + :param all: If true (default) all client commands are blocked. + otherwise, clients are only blocked if they attempt to execute + a write command. For the WRITE mode, some commands have special behavior: - - * EVAL/EVALSHA: Will block client for all scripts. - * PUBLISH: Will block client. - * PFCOUNT: Will block client. - * WAIT: Acknowledgments will be delayed, so this command will - appear blocked. + EVAL/EVALSHA: Will block client for all scripts. + PUBLISH: Will block client. + PFCOUNT: Will block client. + WAIT: Acknowledgments will be delayed, so this command will + appear blocked. """ args = ["CLIENT PAUSE", str(timeout)] if not isinstance(timeout, int): @@ -988,7 +985,7 @@ class ManagementCommands(CommandsProtocol): return self.execute_command("SELECT", index, **kwargs) def info( - self, section: Optional[str] = None, *args: List[str], **kwargs + self, section: Union[str, None] = None, *args: List[str], **kwargs ) -> ResponseT: """ Returns a dictionary containing information about the Redis server @@ -1070,7 +1067,7 @@ class ManagementCommands(CommandsProtocol): timeout: int, copy: bool = False, replace: bool = False, - auth: Optional[str] = None, + auth: Union[str, None] = None, **kwargs, ) -> ResponseT: """ @@ -1152,7 +1149,7 @@ class ManagementCommands(CommandsProtocol): return self.execute_command("MEMORY MALLOC-STATS", **kwargs) def memory_usage( - self, key: KeyT, samples: Optional[int] = None, **kwargs + self, key: KeyT, samples: Union[int, None] = None, **kwargs ) -> ResponseT: """ Return the total memory usage for key, its value and associated @@ -1291,7 +1288,7 @@ class ManagementCommands(CommandsProtocol): raise RedisError("SHUTDOWN seems to have failed.") def slaveof( - self, host: Optional[str] = None, port: Optional[int] = None, **kwargs + self, host: Union[str, None] = None, port: Union[int, None] = None, **kwargs ) -> ResponseT: """ Set the server to be a replicated slave of the instance identified @@ -1304,7 +1301,7 @@ class ManagementCommands(CommandsProtocol): return self.execute_command("SLAVEOF", b"NO", b"ONE", **kwargs) return self.execute_command("SLAVEOF", host, port, **kwargs) - def slowlog_get(self, num: Optional[int] = None, **kwargs) -> ResponseT: + def slowlog_get(self, num: Union[int, None] = None, **kwargs) -> ResponseT: """ Get the entries from the slowlog. If ``num`` is specified, get the most recent ``num`` items. @@ -1391,6 +1388,9 @@ class ManagementCommands(CommandsProtocol): ) +AsyncManagementCommands = ManagementCommands + + class AsyncManagementCommands(ManagementCommands): async def command_info(self, **kwargs) -> None: return super().command_info(**kwargs) @@ -1449,9 +1449,9 @@ class BitFieldOperation: def __init__( self, - client: Union["redis.client.Redis", "redis.asyncio.client.Redis"], + client: Union["Redis", "AsyncRedis"], key: str, - default_overflow: Optional[str] = None, + default_overflow: Union[str, None] = None, ): self.client = client self.key = key @@ -1487,7 +1487,7 @@ class BitFieldOperation: fmt: str, offset: BitfieldOffsetT, increment: int, - overflow: Optional[str] = None, + overflow: Union[str, None] = None, ): """ Increment a bitfield by a given amount. @@ -1572,8 +1572,8 @@ class BasicKeyCommands(CommandsProtocol): def bitcount( self, key: KeyT, - start: Optional[int] = None, - end: Optional[int] = None, + start: Union[int, None] = None, + end: Union[int, None] = None, mode: Optional[str] = None, ) -> ResponseT: """ @@ -1590,12 +1590,12 @@ class BasicKeyCommands(CommandsProtocol): raise DataError("Both start and end must be specified") if mode is not None: params.append(mode) - return self.execute_command("BITCOUNT", *params, keys=[key]) + return self.execute_command("BITCOUNT", *params) def bitfield( - self: Union["redis.client.Redis", "redis.asyncio.client.Redis"], + self: Union["Redis", "AsyncRedis"], key: KeyT, - default_overflow: Optional[str] = None, + default_overflow: Union[str, None] = None, ) -> BitFieldOperation: """ Return a BitFieldOperation instance to conveniently construct one or @@ -1606,7 +1606,7 @@ class BasicKeyCommands(CommandsProtocol): return BitFieldOperation(self, key, default_overflow=default_overflow) def bitfield_ro( - self: Union["redis.client.Redis", "redis.asyncio.client.Redis"], + self: Union["Redis", "AsyncRedis"], key: KeyT, encoding: str, offset: BitfieldOffsetT, @@ -1626,7 +1626,7 @@ class BasicKeyCommands(CommandsProtocol): items = items or [] for encoding, offset in items: params.extend(["GET", encoding, offset]) - return self.execute_command("BITFIELD_RO", *params, keys=[key]) + return self.execute_command("BITFIELD_RO", *params) def bitop(self, operation: str, dest: KeyT, *keys: KeyT) -> ResponseT: """ @@ -1641,8 +1641,8 @@ class BasicKeyCommands(CommandsProtocol): self, key: KeyT, bit: int, - start: Optional[int] = None, - end: Optional[int] = None, + start: Union[int, None] = None, + end: Union[int, None] = None, mode: Optional[str] = None, ) -> ResponseT: """ @@ -1666,13 +1666,13 @@ class BasicKeyCommands(CommandsProtocol): if mode is not None: params.append(mode) - return self.execute_command("BITPOS", *params, keys=[key]) + return self.execute_command("BITPOS", *params) def copy( self, source: str, destination: str, - destination_db: Optional[str] = None, + destination_db: Union[str, None] = None, replace: bool = False, ) -> ResponseT: """ @@ -1733,7 +1733,7 @@ class BasicKeyCommands(CommandsProtocol): For more information see https://redis.io/commands/exists """ - return self.execute_command("EXISTS", *names, keys=names) + return self.execute_command("EXISTS", *names) __contains__ = exists @@ -1826,7 +1826,7 @@ class BasicKeyCommands(CommandsProtocol): For more information see https://redis.io/commands/get """ - return self.execute_command("GET", name, keys=[name]) + return self.execute_command("GET", name) def getdel(self, name: KeyT) -> ResponseT: """ @@ -1842,10 +1842,10 @@ class BasicKeyCommands(CommandsProtocol): def getex( self, name: KeyT, - ex: Optional[ExpiryT] = None, - px: Optional[ExpiryT] = None, - exat: Optional[AbsExpiryT] = None, - pxat: Optional[AbsExpiryT] = None, + ex: Union[ExpiryT, None] = None, + px: Union[ExpiryT, None] = None, + exat: Union[AbsExpiryT, None] = None, + pxat: Union[AbsExpiryT, None] = None, persist: bool = False, ) -> ResponseT: """ @@ -1868,6 +1868,7 @@ class BasicKeyCommands(CommandsProtocol): For more information see https://redis.io/commands/getex """ + opset = {ex, px, exat, pxat} if len(opset) > 2 or len(opset) > 1 and persist: raise DataError( @@ -1875,12 +1876,33 @@ class BasicKeyCommands(CommandsProtocol): "and ``persist`` are mutually exclusive." ) - exp_options: list[EncodableT] = extract_expire_flags(ex, px, exat, pxat) - + pieces: list[EncodableT] = [] + # similar to set command + if ex is not None: + pieces.append("EX") + if isinstance(ex, datetime.timedelta): + ex = int(ex.total_seconds()) + pieces.append(ex) + if px is not None: + pieces.append("PX") + if isinstance(px, datetime.timedelta): + px = int(px.total_seconds() * 1000) + pieces.append(px) + # similar to pexpireat command + if exat is not None: + pieces.append("EXAT") + if isinstance(exat, datetime.datetime): + exat = int(exat.timestamp()) + pieces.append(exat) + if pxat is not None: + pieces.append("PXAT") + if isinstance(pxat, datetime.datetime): + pxat = int(pxat.timestamp() * 1000) + pieces.append(pxat) if persist: - exp_options.append("PERSIST") + pieces.append("PERSIST") - return self.execute_command("GETEX", name, *exp_options) + return self.execute_command("GETEX", name, *pieces) def __getitem__(self, name: KeyT): """ @@ -1898,7 +1920,7 @@ class BasicKeyCommands(CommandsProtocol): For more information see https://redis.io/commands/getbit """ - return self.execute_command("GETBIT", name, offset, keys=[name]) + return self.execute_command("GETBIT", name, offset) def getrange(self, key: KeyT, start: int, end: int) -> ResponseT: """ @@ -1907,7 +1929,7 @@ class BasicKeyCommands(CommandsProtocol): For more information see https://redis.io/commands/getrange """ - return self.execute_command("GETRANGE", key, start, end, keys=[key]) + return self.execute_command("GETRANGE", key, start, end) def getset(self, name: KeyT, value: EncodableT) -> ResponseT: """ @@ -1990,7 +2012,6 @@ class BasicKeyCommands(CommandsProtocol): options = {} if not args: options[EMPTY_RESPONSE] = [] - options["keys"] = args return self.execute_command("MGET", *args, **options) def mset(self, mapping: Mapping[AnyKeyT, EncodableT]) -> ResponseT: @@ -2137,7 +2158,7 @@ class BasicKeyCommands(CommandsProtocol): return self.execute_command("PTTL", name) def hrandfield( - self, key: str, count: Optional[int] = None, withvalues: bool = False + self, key: str, count: int = None, withvalues: bool = False ) -> ResponseT: """ Return a random field from the hash value stored at key. @@ -2191,8 +2212,8 @@ class BasicKeyCommands(CommandsProtocol): value: EncodableT, replace: bool = False, absttl: bool = False, - idletime: Optional[int] = None, - frequency: Optional[int] = None, + idletime: Union[int, None] = None, + frequency: Union[int, None] = None, ) -> ResponseT: """ Create a key using the provided serialized value, previously obtained @@ -2238,14 +2259,14 @@ class BasicKeyCommands(CommandsProtocol): self, name: KeyT, value: EncodableT, - ex: Optional[ExpiryT] = None, - px: Optional[ExpiryT] = None, + ex: Union[ExpiryT, None] = None, + px: Union[ExpiryT, None] = None, nx: bool = False, xx: bool = False, keepttl: bool = False, get: bool = False, - exat: Optional[AbsExpiryT] = None, - pxat: Optional[AbsExpiryT] = None, + exat: Union[AbsExpiryT, None] = None, + pxat: Union[AbsExpiryT, None] = None, ) -> ResponseT: """ Set the value at key ``name`` to ``value`` @@ -2275,21 +2296,36 @@ class BasicKeyCommands(CommandsProtocol): For more information see https://redis.io/commands/set """ - opset = {ex, px, exat, pxat} - if len(opset) > 2 or len(opset) > 1 and keepttl: - raise DataError( - "``ex``, ``px``, ``exat``, ``pxat``, " - "and ``keepttl`` are mutually exclusive." - ) - - if nx and xx: - raise DataError("``nx`` and ``xx`` are mutually exclusive.") - pieces: list[EncodableT] = [name, value] options = {} - - pieces.extend(extract_expire_flags(ex, px, exat, pxat)) - + if ex is not None: + pieces.append("EX") + if isinstance(ex, datetime.timedelta): + pieces.append(int(ex.total_seconds())) + elif isinstance(ex, int): + pieces.append(ex) + elif isinstance(ex, str) and ex.isdigit(): + pieces.append(int(ex)) + else: + raise DataError("ex must be datetime.timedelta or int") + if px is not None: + pieces.append("PX") + if isinstance(px, datetime.timedelta): + pieces.append(int(px.total_seconds() * 1000)) + elif isinstance(px, int): + pieces.append(px) + else: + raise DataError("px must be datetime.timedelta or int") + if exat is not None: + pieces.append("EXAT") + if isinstance(exat, datetime.datetime): + exat = int(exat.timestamp()) + pieces.append(exat) + if pxat is not None: + pieces.append("PXAT") + if isinstance(pxat, datetime.datetime): + pxat = int(pxat.timestamp() * 1000) + pieces.append(pxat) if keepttl: pieces.append("KEEPTTL") @@ -2360,7 +2396,7 @@ class BasicKeyCommands(CommandsProtocol): specific_argument: Union[Literal["strings"], Literal["keys"]] = "strings", len: bool = False, idx: bool = False, - minmatchlen: Optional[int] = None, + minmatchlen: Union[int, None] = None, withmatchlen: bool = False, **kwargs, ) -> ResponseT: @@ -2422,14 +2458,14 @@ class BasicKeyCommands(CommandsProtocol): For more information see https://redis.io/commands/strlen """ - return self.execute_command("STRLEN", name, keys=[name]) + return self.execute_command("STRLEN", name) def substr(self, name: KeyT, start: int, end: int = -1) -> ResponseT: """ Return a substring of the string at key ``name``. ``start`` and ``end`` are 0-based integers specifying the portion of the string to return. """ - return self.execute_command("SUBSTR", name, start, end, keys=[name]) + return self.execute_command("SUBSTR", name, start, end) def touch(self, *args: KeyT) -> ResponseT: """ @@ -2454,7 +2490,7 @@ class BasicKeyCommands(CommandsProtocol): For more information see https://redis.io/commands/type """ - return self.execute_command("TYPE", name, keys=[name]) + return self.execute_command("TYPE", name) def watch(self, *names: KeyT) -> None: """ @@ -2466,7 +2502,7 @@ class BasicKeyCommands(CommandsProtocol): def unwatch(self) -> None: """ - Unwatches all previously watched keys for a transaction + Unwatches the value at key ``name``, or None of the key doesn't exist For more information see https://redis.io/commands/unwatch """ @@ -2507,7 +2543,7 @@ class BasicKeyCommands(CommandsProtocol): pieces.extend(["MINMATCHLEN", minmatchlen]) if withmatchlen: pieces.append("WITHMATCHLEN") - return self.execute_command("LCS", *pieces, keys=[key1, key2]) + return self.execute_command("LCS", *pieces) class AsyncBasicKeyCommands(BasicKeyCommands): @@ -2537,7 +2573,7 @@ class ListCommands(CommandsProtocol): """ def blpop( - self, keys: List, timeout: Optional[Number] = 0 + self, keys: List, timeout: Optional[int] = 0 ) -> Union[Awaitable[list], list]: """ LPOP a value off of the first non-empty list @@ -2558,7 +2594,7 @@ class ListCommands(CommandsProtocol): return self.execute_command("BLPOP", *keys) def brpop( - self, keys: List, timeout: Optional[Number] = 0 + self, keys: List, timeout: Optional[int] = 0 ) -> Union[Awaitable[list], list]: """ RPOP a value off of the first non-empty list @@ -2579,7 +2615,7 @@ class ListCommands(CommandsProtocol): return self.execute_command("BRPOP", *keys) def brpoplpush( - self, src: str, dst: str, timeout: Optional[Number] = 0 + self, src: str, dst: str, timeout: Optional[int] = 0 ) -> Union[Awaitable[Optional[str]], Optional[str]]: """ Pop a value off the tail of ``src``, push it on the head of ``dst`` @@ -2646,7 +2682,7 @@ class ListCommands(CommandsProtocol): For more information see https://redis.io/commands/lindex """ - return self.execute_command("LINDEX", name, index, keys=[name]) + return self.execute_command("LINDEX", name, index) def linsert( self, name: str, where: str, refvalue: str, value: str @@ -2668,7 +2704,7 @@ class ListCommands(CommandsProtocol): For more information see https://redis.io/commands/llen """ - return self.execute_command("LLEN", name, keys=[name]) + return self.execute_command("LLEN", name) def lpop( self, @@ -2715,7 +2751,7 @@ class ListCommands(CommandsProtocol): For more information see https://redis.io/commands/lrange """ - return self.execute_command("LRANGE", name, start, end, keys=[name]) + return self.execute_command("LRANGE", name, start, end) def lrem(self, name: str, count: int, value: str) -> Union[Awaitable[int], int]: """ @@ -2838,7 +2874,7 @@ class ListCommands(CommandsProtocol): if maxlen is not None: pieces.extend(["MAXLEN", maxlen]) - return self.execute_command("LPOS", *pieces, keys=[name]) + return self.execute_command("LPOS", *pieces) def sort( self, @@ -2910,7 +2946,6 @@ class ListCommands(CommandsProtocol): ) options = {"groups": len(get) if groups else None} - options["keys"] = [name] return self.execute_command("SORT", *pieces, **options) def sort_ro( @@ -2960,8 +2995,8 @@ class ScanCommands(CommandsProtocol): self, cursor: int = 0, match: Union[PatternT, None] = None, - count: Optional[int] = None, - _type: Optional[str] = None, + count: Union[int, None] = None, + _type: Union[str, None] = None, **kwargs, ) -> ResponseT: """ @@ -2992,8 +3027,8 @@ class ScanCommands(CommandsProtocol): def scan_iter( self, match: Union[PatternT, None] = None, - count: Optional[int] = None, - _type: Optional[str] = None, + count: Union[int, None] = None, + _type: Union[str, None] = None, **kwargs, ) -> Iterator: """ @@ -3022,7 +3057,7 @@ class ScanCommands(CommandsProtocol): name: KeyT, cursor: int = 0, match: Union[PatternT, None] = None, - count: Optional[int] = None, + count: Union[int, None] = None, ) -> ResponseT: """ Incrementally return lists of elements in a set. Also return a cursor @@ -3045,7 +3080,7 @@ class ScanCommands(CommandsProtocol): self, name: KeyT, match: Union[PatternT, None] = None, - count: Optional[int] = None, + count: Union[int, None] = None, ) -> Iterator: """ Make an iterator using the SSCAN command so that the client doesn't @@ -3065,8 +3100,7 @@ class ScanCommands(CommandsProtocol): name: KeyT, cursor: int = 0, match: Union[PatternT, None] = None, - count: Optional[int] = None, - no_values: Union[bool, None] = None, + count: Union[int, None] = None, ) -> ResponseT: """ Incrementally return key/value slices in a hash. Also return a cursor @@ -3076,8 +3110,6 @@ class ScanCommands(CommandsProtocol): ``count`` allows for hint the minimum number of returns - ``no_values`` indicates to return only the keys, without values. - For more information see https://redis.io/commands/hscan """ pieces: list[EncodableT] = [name, cursor] @@ -3085,16 +3117,13 @@ class ScanCommands(CommandsProtocol): pieces.extend([b"MATCH", match]) if count is not None: pieces.extend([b"COUNT", count]) - if no_values is not None: - pieces.extend([b"NOVALUES"]) - return self.execute_command("HSCAN", *pieces, no_values=no_values) + return self.execute_command("HSCAN", *pieces) def hscan_iter( self, name: str, match: Union[PatternT, None] = None, - count: Optional[int] = None, - no_values: Union[bool, None] = None, + count: Union[int, None] = None, ) -> Iterator: """ Make an iterator using the HSCAN command so that the client doesn't @@ -3103,25 +3132,18 @@ class ScanCommands(CommandsProtocol): ``match`` allows for filtering the keys by pattern ``count`` allows for hint the minimum number of returns - - ``no_values`` indicates to return only the keys, without values """ cursor = "0" while cursor != 0: - cursor, data = self.hscan( - name, cursor=cursor, match=match, count=count, no_values=no_values - ) - if no_values: - yield from data - else: - yield from data.items() + cursor, data = self.hscan(name, cursor=cursor, match=match, count=count) + yield from data.items() def zscan( self, name: KeyT, cursor: int = 0, match: Union[PatternT, None] = None, - count: Optional[int] = None, + count: Union[int, None] = None, score_cast_func: Union[type, Callable] = float, ) -> ResponseT: """ @@ -3148,7 +3170,7 @@ class ScanCommands(CommandsProtocol): self, name: KeyT, match: Union[PatternT, None] = None, - count: Optional[int] = None, + count: Union[int, None] = None, score_cast_func: Union[type, Callable] = float, ) -> Iterator: """ @@ -3177,8 +3199,8 @@ class AsyncScanCommands(ScanCommands): async def scan_iter( self, match: Union[PatternT, None] = None, - count: Optional[int] = None, - _type: Optional[str] = None, + count: Union[int, None] = None, + _type: Union[str, None] = None, **kwargs, ) -> AsyncIterator: """ @@ -3207,7 +3229,7 @@ class AsyncScanCommands(ScanCommands): self, name: KeyT, match: Union[PatternT, None] = None, - count: Optional[int] = None, + count: Union[int, None] = None, ) -> AsyncIterator: """ Make an iterator using the SSCAN command so that the client doesn't @@ -3229,8 +3251,7 @@ class AsyncScanCommands(ScanCommands): self, name: str, match: Union[PatternT, None] = None, - count: Optional[int] = None, - no_values: Union[bool, None] = None, + count: Union[int, None] = None, ) -> AsyncIterator: """ Make an iterator using the HSCAN command so that the client doesn't @@ -3239,26 +3260,20 @@ class AsyncScanCommands(ScanCommands): ``match`` allows for filtering the keys by pattern ``count`` allows for hint the minimum number of returns - - ``no_values`` indicates to return only the keys, without values """ cursor = "0" while cursor != 0: cursor, data = await self.hscan( - name, cursor=cursor, match=match, count=count, no_values=no_values + name, cursor=cursor, match=match, count=count ) - if no_values: - for it in data: - yield it - else: - for it in data.items(): - yield it + for it in data.items(): + yield it async def zscan_iter( self, name: KeyT, match: Union[PatternT, None] = None, - count: Optional[int] = None, + count: Union[int, None] = None, score_cast_func: Union[type, Callable] = float, ) -> AsyncIterator: """ @@ -3290,7 +3305,7 @@ class SetCommands(CommandsProtocol): see: https://redis.io/topics/data-types#sets """ - def sadd(self, name: KeyT, *values: FieldT) -> Union[Awaitable[int], int]: + def sadd(self, name: str, *values: FieldT) -> Union[Awaitable[int], int]: """ Add ``value(s)`` to set ``name`` @@ -3298,13 +3313,13 @@ class SetCommands(CommandsProtocol): """ return self.execute_command("SADD", name, *values) - def scard(self, name: KeyT) -> Union[Awaitable[int], int]: + def scard(self, name: str) -> Union[Awaitable[int], int]: """ Return the number of elements in set ``name`` For more information see https://redis.io/commands/scard """ - return self.execute_command("SCARD", name, keys=[name]) + return self.execute_command("SCARD", name) def sdiff(self, keys: List, *args: List) -> Union[Awaitable[list], list]: """ @@ -3313,7 +3328,7 @@ class SetCommands(CommandsProtocol): For more information see https://redis.io/commands/sdiff """ args = list_or_args(keys, args) - return self.execute_command("SDIFF", *args, keys=args) + return self.execute_command("SDIFF", *args) def sdiffstore( self, dest: str, keys: List, *args: List @@ -3334,13 +3349,13 @@ class SetCommands(CommandsProtocol): For more information see https://redis.io/commands/sinter """ args = list_or_args(keys, args) - return self.execute_command("SINTER", *args, keys=args) + return self.execute_command("SINTER", *args) def sintercard( - self, numkeys: int, keys: List[KeyT], limit: int = 0 + self, numkeys: int, keys: List[str], limit: int = 0 ) -> Union[Awaitable[int], int]: """ - Return the cardinality of the intersect of multiple sets specified by ``keys``. + Return the cardinality of the intersect of multiple sets specified by ``keys`. When LIMIT provided (defaults to 0 and means unlimited), if the intersection cardinality reaches limit partway through the computation, the algorithm will @@ -3349,10 +3364,10 @@ class SetCommands(CommandsProtocol): For more information see https://redis.io/commands/sintercard """ args = [numkeys, *keys, "LIMIT", limit] - return self.execute_command("SINTERCARD", *args, keys=keys) + return self.execute_command("SINTERCARD", *args) def sinterstore( - self, dest: KeyT, keys: List, *args: List + self, dest: str, keys: List, *args: List ) -> Union[Awaitable[int], int]: """ Store the intersection of sets specified by ``keys`` into a new @@ -3364,7 +3379,7 @@ class SetCommands(CommandsProtocol): return self.execute_command("SINTERSTORE", dest, *args) def sismember( - self, name: KeyT, value: str + self, name: str, value: str ) -> Union[Awaitable[Union[Literal[0], Literal[1]]], Union[Literal[0], Literal[1]]]: """ Return whether ``value`` is a member of set ``name``: @@ -3373,18 +3388,18 @@ class SetCommands(CommandsProtocol): For more information see https://redis.io/commands/sismember """ - return self.execute_command("SISMEMBER", name, value, keys=[name]) + return self.execute_command("SISMEMBER", name, value) - def smembers(self, name: KeyT) -> Union[Awaitable[Set], Set]: + def smembers(self, name: str) -> Union[Awaitable[Set], Set]: """ Return all members of the set ``name`` For more information see https://redis.io/commands/smembers """ - return self.execute_command("SMEMBERS", name, keys=[name]) + return self.execute_command("SMEMBERS", name) def smismember( - self, name: KeyT, values: List, *args: List + self, name: str, values: List, *args: List ) -> Union[ Awaitable[List[Union[Literal[0], Literal[1]]]], List[Union[Literal[0], Literal[1]]], @@ -3398,9 +3413,9 @@ class SetCommands(CommandsProtocol): For more information see https://redis.io/commands/smismember """ args = list_or_args(values, args) - return self.execute_command("SMISMEMBER", name, *args, keys=[name]) + return self.execute_command("SMISMEMBER", name, *args) - def smove(self, src: KeyT, dst: KeyT, value: str) -> Union[Awaitable[bool], bool]: + def smove(self, src: str, dst: str, value: str) -> Union[Awaitable[bool], bool]: """ Move ``value`` from set ``src`` to set ``dst`` atomically @@ -3408,7 +3423,7 @@ class SetCommands(CommandsProtocol): """ return self.execute_command("SMOVE", src, dst, value) - def spop(self, name: KeyT, count: Optional[int] = None) -> Union[str, List, None]: + def spop(self, name: str, count: Optional[int] = None) -> Union[str, List, None]: """ Remove and return a random member of set ``name`` @@ -3418,7 +3433,7 @@ class SetCommands(CommandsProtocol): return self.execute_command("SPOP", name, *args) def srandmember( - self, name: KeyT, number: Optional[int] = None + self, name: str, number: Optional[int] = None ) -> Union[str, List, None]: """ If ``number`` is None, returns a random member of set ``name``. @@ -3432,7 +3447,7 @@ class SetCommands(CommandsProtocol): args = (number is not None) and [number] or [] return self.execute_command("SRANDMEMBER", name, *args) - def srem(self, name: KeyT, *values: FieldT) -> Union[Awaitable[int], int]: + def srem(self, name: str, *values: FieldT) -> Union[Awaitable[int], int]: """ Remove ``values`` from set ``name`` @@ -3447,10 +3462,10 @@ class SetCommands(CommandsProtocol): For more information see https://redis.io/commands/sunion """ args = list_or_args(keys, args) - return self.execute_command("SUNION", *args, keys=args) + return self.execute_command("SUNION", *args) def sunionstore( - self, dest: KeyT, keys: List, *args: List + self, dest: str, keys: List, *args: List ) -> Union[Awaitable[int], int]: """ Store the union of sets specified by ``keys`` into a new @@ -3474,49 +3489,24 @@ class StreamCommands(CommandsProtocol): def xack(self, name: KeyT, groupname: GroupT, *ids: StreamIdT) -> ResponseT: """ Acknowledges the successful processing of one or more messages. - - Args: - name: name of the stream. - groupname: name of the consumer group. - *ids: message ids to acknowledge. + name: name of the stream. + groupname: name of the consumer group. + *ids: message ids to acknowledge. For more information see https://redis.io/commands/xack """ return self.execute_command("XACK", name, groupname, *ids) - def xackdel( - self, - name: KeyT, - groupname: GroupT, - *ids: StreamIdT, - ref_policy: Literal["KEEPREF", "DELREF", "ACKED"] = "KEEPREF", - ) -> ResponseT: - """ - Combines the functionality of XACK and XDEL. Acknowledges the specified - message IDs in the given consumer group and simultaneously attempts to - delete the corresponding entries from the stream. - """ - if not ids: - raise DataError("XACKDEL requires at least one message ID") - - if ref_policy not in {"KEEPREF", "DELREF", "ACKED"}: - raise DataError("XACKDEL ref_policy must be one of: KEEPREF, DELREF, ACKED") - - pieces = [name, groupname, ref_policy, "IDS", len(ids)] - pieces.extend(ids) - return self.execute_command("XACKDEL", *pieces) - def xadd( self, name: KeyT, fields: Dict[FieldT, EncodableT], id: StreamIdT = "*", - maxlen: Optional[int] = None, + maxlen: Union[int, None] = None, approximate: bool = True, nomkstream: bool = False, minid: Union[StreamIdT, None] = None, - limit: Optional[int] = None, - ref_policy: Optional[Literal["KEEPREF", "DELREF", "ACKED"]] = None, + limit: Union[int, None] = None, ) -> ResponseT: """ Add to a stream. @@ -3530,10 +3520,6 @@ class StreamCommands(CommandsProtocol): minid: the minimum id in the stream to query. Can't be specified with maxlen. limit: specifies the maximum number of entries to retrieve - ref_policy: optional reference policy for consumer groups when trimming: - - KEEPREF (default): When trimming, preserves references in consumer groups' PEL - - DELREF: When trimming, removes all references from consumer groups' PEL - - ACKED: When trimming, only removes entries acknowledged by all consumer groups For more information see https://redis.io/commands/xadd """ @@ -3541,9 +3527,6 @@ class StreamCommands(CommandsProtocol): if maxlen is not None and minid is not None: raise DataError("Only one of ```maxlen``` or ```minid``` may be specified") - if ref_policy is not None and ref_policy not in {"KEEPREF", "DELREF", "ACKED"}: - raise DataError("XADD ref_policy must be one of: KEEPREF, DELREF, ACKED") - if maxlen is not None: if not isinstance(maxlen, int) or maxlen < 0: raise DataError("XADD maxlen must be non-negative integer") @@ -3560,8 +3543,6 @@ class StreamCommands(CommandsProtocol): pieces.extend([b"LIMIT", limit]) if nomkstream: pieces.append(b"NOMKSTREAM") - if ref_policy is not None: - pieces.append(ref_policy) pieces.append(id) if not isinstance(fields, dict) or len(fields) == 0: raise DataError("XADD fields must be a non-empty dict") @@ -3576,7 +3557,7 @@ class StreamCommands(CommandsProtocol): consumername: ConsumerT, min_idle_time: int, start_id: StreamIdT = "0-0", - count: Optional[int] = None, + count: Union[int, None] = None, justid: bool = False, ) -> ResponseT: """ @@ -3627,9 +3608,9 @@ class StreamCommands(CommandsProtocol): consumername: ConsumerT, min_idle_time: int, message_ids: Union[List[StreamIdT], Tuple[StreamIdT]], - idle: Optional[int] = None, - time: Optional[int] = None, - retrycount: Optional[int] = None, + idle: Union[int, None] = None, + time: Union[int, None] = None, + retrycount: Union[int, None] = None, force: bool = False, justid: bool = False, ) -> ResponseT: @@ -3706,35 +3687,13 @@ class StreamCommands(CommandsProtocol): def xdel(self, name: KeyT, *ids: StreamIdT) -> ResponseT: """ Deletes one or more messages from a stream. - - Args: - name: name of the stream. - *ids: message ids to delete. + name: name of the stream. + *ids: message ids to delete. For more information see https://redis.io/commands/xdel """ return self.execute_command("XDEL", name, *ids) - def xdelex( - self, - name: KeyT, - *ids: StreamIdT, - ref_policy: Literal["KEEPREF", "DELREF", "ACKED"] = "KEEPREF", - ) -> ResponseT: - """ - Extended version of XDEL that provides more control over how message entries - are deleted concerning consumer groups. - """ - if not ids: - raise DataError("XDELEX requires at least one message ID") - - if ref_policy not in {"KEEPREF", "DELREF", "ACKED"}: - raise DataError("XDELEX ref_policy must be one of: KEEPREF, DELREF, ACKED") - - pieces = [name, ref_policy, "IDS", len(ids)] - pieces.extend(ids) - return self.execute_command("XDELEX", *pieces) - def xgroup_create( self, name: KeyT, @@ -3861,7 +3820,7 @@ class StreamCommands(CommandsProtocol): For more information see https://redis.io/commands/xlen """ - return self.execute_command("XLEN", name, keys=[name]) + return self.execute_command("XLEN", name) def xpending(self, name: KeyT, groupname: GroupT) -> ResponseT: """ @@ -3871,7 +3830,7 @@ class StreamCommands(CommandsProtocol): For more information see https://redis.io/commands/xpending """ - return self.execute_command("XPENDING", name, groupname, keys=[name]) + return self.execute_command("XPENDING", name, groupname) def xpending_range( self, @@ -3881,7 +3840,7 @@ class StreamCommands(CommandsProtocol): max: StreamIdT, count: int, consumername: Union[ConsumerT, None] = None, - idle: Optional[int] = None, + idle: Union[int, None] = None, ) -> ResponseT: """ Returns information about pending messages, in a range. @@ -3935,7 +3894,7 @@ class StreamCommands(CommandsProtocol): name: KeyT, min: StreamIdT = "-", max: StreamIdT = "+", - count: Optional[int] = None, + count: Union[int, None] = None, ) -> ResponseT: """ Read stream values within an interval. @@ -3960,13 +3919,13 @@ class StreamCommands(CommandsProtocol): pieces.append(b"COUNT") pieces.append(str(count)) - return self.execute_command("XRANGE", name, *pieces, keys=[name]) + return self.execute_command("XRANGE", name, *pieces) def xread( self, streams: Dict[KeyT, StreamIdT], - count: Optional[int] = None, - block: Optional[int] = None, + count: Union[int, None] = None, + block: Union[int, None] = None, ) -> ResponseT: """ Block and monitor multiple streams for new data. @@ -3998,15 +3957,15 @@ class StreamCommands(CommandsProtocol): keys, values = zip(*streams.items()) pieces.extend(keys) pieces.extend(values) - return self.execute_command("XREAD", *pieces, keys=keys) + return self.execute_command("XREAD", *pieces) def xreadgroup( self, groupname: str, consumername: str, streams: Dict[KeyT, StreamIdT], - count: Optional[int] = None, - block: Optional[int] = None, + count: Union[int, None] = None, + block: Union[int, None] = None, noack: bool = False, ) -> ResponseT: """ @@ -4052,7 +4011,7 @@ class StreamCommands(CommandsProtocol): name: KeyT, max: StreamIdT = "+", min: StreamIdT = "-", - count: Optional[int] = None, + count: Union[int, None] = None, ) -> ResponseT: """ Read stream values within an interval, in reverse order. @@ -4077,16 +4036,15 @@ class StreamCommands(CommandsProtocol): pieces.append(b"COUNT") pieces.append(str(count)) - return self.execute_command("XREVRANGE", name, *pieces, keys=[name]) + return self.execute_command("XREVRANGE", name, *pieces) def xtrim( self, name: KeyT, - maxlen: Optional[int] = None, + maxlen: Union[int, None] = None, approximate: bool = True, minid: Union[StreamIdT, None] = None, - limit: Optional[int] = None, - ref_policy: Optional[Literal["KEEPREF", "DELREF", "ACKED"]] = None, + limit: Union[int, None] = None, ) -> ResponseT: """ Trims old messages from a stream. @@ -4097,10 +4055,6 @@ class StreamCommands(CommandsProtocol): minid: the minimum id in the stream to query Can't be specified with maxlen. limit: specifies the maximum number of entries to retrieve - ref_policy: optional reference policy for consumer groups: - - KEEPREF (default): Trims entries but preserves references in consumer groups' PEL - - DELREF: Trims entries and removes all references from consumer groups' PEL - - ACKED: Only trims entries that were read and acknowledged by all consumer groups For more information see https://redis.io/commands/xtrim """ @@ -4111,9 +4065,6 @@ class StreamCommands(CommandsProtocol): if maxlen is None and minid is None: raise DataError("One of ``maxlen`` or ``minid`` must be specified") - if ref_policy is not None and ref_policy not in {"KEEPREF", "DELREF", "ACKED"}: - raise DataError("XTRIM ref_policy must be one of: KEEPREF, DELREF, ACKED") - if maxlen is not None: pieces.append(b"MAXLEN") if minid is not None: @@ -4127,8 +4078,6 @@ class StreamCommands(CommandsProtocol): if limit is not None: pieces.append(b"LIMIT") pieces.append(limit) - if ref_policy is not None: - pieces.append(ref_policy) return self.execute_command("XTRIM", name, *pieces) @@ -4194,7 +4143,8 @@ class SortedSetCommands(CommandsProtocol): raise DataError("ZADD allows either 'gt' or 'lt', not both") if incr and len(mapping) != 1: raise DataError( - "ZADD option 'incr' only works when passing a single element/score pair" + "ZADD option 'incr' only works when passing a " + "single element/score pair" ) if nx and (gt or lt): raise DataError("Only one of 'nx', 'lt', or 'gr' may be defined.") @@ -4225,7 +4175,7 @@ class SortedSetCommands(CommandsProtocol): For more information see https://redis.io/commands/zcard """ - return self.execute_command("ZCARD", name, keys=[name]) + return self.execute_command("ZCARD", name) def zcount(self, name: KeyT, min: ZScoreBoundT, max: ZScoreBoundT) -> ResponseT: """ @@ -4234,7 +4184,7 @@ class SortedSetCommands(CommandsProtocol): For more information see https://redis.io/commands/zcount """ - return self.execute_command("ZCOUNT", name, min, max, keys=[name]) + return self.execute_command("ZCOUNT", name, min, max) def zdiff(self, keys: KeysT, withscores: bool = False) -> ResponseT: """ @@ -4246,7 +4196,7 @@ class SortedSetCommands(CommandsProtocol): pieces = [len(keys), *keys] if withscores: pieces.append("WITHSCORES") - return self.execute_command("ZDIFF", *pieces, keys=keys) + return self.execute_command("ZDIFF", *pieces) def zdiffstore(self, dest: KeyT, keys: KeysT) -> ResponseT: """ @@ -4267,7 +4217,7 @@ class SortedSetCommands(CommandsProtocol): return self.execute_command("ZINCRBY", name, amount, value) def zinter( - self, keys: KeysT, aggregate: Optional[str] = None, withscores: bool = False + self, keys: KeysT, aggregate: Union[str, None] = None, withscores: bool = False ) -> ResponseT: """ Return the intersect of multiple sorted sets specified by ``keys``. @@ -4286,7 +4236,7 @@ class SortedSetCommands(CommandsProtocol): self, dest: KeyT, keys: Union[Sequence[KeyT], Mapping[AnyKeyT, float]], - aggregate: Optional[str] = None, + aggregate: Union[str, None] = None, ) -> ResponseT: """ Intersect multiple sorted sets specified by ``keys`` into a new @@ -4306,7 +4256,7 @@ class SortedSetCommands(CommandsProtocol): ) -> Union[Awaitable[int], int]: """ Return the cardinality of the intersect of multiple sorted sets - specified by ``keys``. + specified by ``keys`. When LIMIT provided (defaults to 0 and means unlimited), if the intersection cardinality reaches limit partway through the computation, the algorithm will exit and yield limit as the cardinality @@ -4314,7 +4264,7 @@ class SortedSetCommands(CommandsProtocol): For more information see https://redis.io/commands/zintercard """ args = [numkeys, *keys, "LIMIT", limit] - return self.execute_command("ZINTERCARD", *args, keys=keys) + return self.execute_command("ZINTERCARD", *args) def zlexcount(self, name, min, max): """ @@ -4323,9 +4273,9 @@ class SortedSetCommands(CommandsProtocol): For more information see https://redis.io/commands/zlexcount """ - return self.execute_command("ZLEXCOUNT", name, min, max, keys=[name]) + return self.execute_command("ZLEXCOUNT", name, min, max) - def zpopmax(self, name: KeyT, count: Optional[int] = None) -> ResponseT: + def zpopmax(self, name: KeyT, count: Union[int, None] = None) -> ResponseT: """ Remove and return up to ``count`` members with the highest scores from the sorted set ``name``. @@ -4336,7 +4286,7 @@ class SortedSetCommands(CommandsProtocol): options = {"withscores": True} return self.execute_command("ZPOPMAX", name, *args, **options) - def zpopmin(self, name: KeyT, count: Optional[int] = None) -> ResponseT: + def zpopmin(self, name: KeyT, count: Union[int, None] = None) -> ResponseT: """ Remove and return up to ``count`` members with the lowest scores from the sorted set ``name``. @@ -4348,7 +4298,7 @@ class SortedSetCommands(CommandsProtocol): return self.execute_command("ZPOPMIN", name, *args, **options) def zrandmember( - self, key: KeyT, count: Optional[int] = None, withscores: bool = False + self, key: KeyT, count: int = None, withscores: bool = False ) -> ResponseT: """ Return a random element from the sorted set value stored at key. @@ -4480,8 +4430,8 @@ class SortedSetCommands(CommandsProtocol): bylex: bool = False, withscores: bool = False, score_cast_func: Union[type, Callable, None] = float, - offset: Optional[int] = None, - num: Optional[int] = None, + offset: Union[int, None] = None, + num: Union[int, None] = None, ) -> ResponseT: if byscore and bylex: raise DataError("``byscore`` and ``bylex`` can not be specified together.") @@ -4506,7 +4456,6 @@ class SortedSetCommands(CommandsProtocol): if withscores: pieces.append("WITHSCORES") options = {"withscores": withscores, "score_cast_func": score_cast_func} - options["keys"] = [name] return self.execute_command(*pieces, **options) def zrange( @@ -4519,8 +4468,8 @@ class SortedSetCommands(CommandsProtocol): score_cast_func: Union[type, Callable] = float, byscore: bool = False, bylex: bool = False, - offset: Optional[int] = None, - num: Optional[int] = None, + offset: int = None, + num: int = None, ) -> ResponseT: """ Return a range of values from sorted set ``name`` between @@ -4595,7 +4544,6 @@ class SortedSetCommands(CommandsProtocol): if withscores: pieces.append(b"WITHSCORES") options = {"withscores": withscores, "score_cast_func": score_cast_func} - options["keys"] = name return self.execute_command(*pieces, **options) def zrangestore( @@ -4607,8 +4555,8 @@ class SortedSetCommands(CommandsProtocol): byscore: bool = False, bylex: bool = False, desc: bool = False, - offset: Optional[int] = None, - num: Optional[int] = None, + offset: Union[int, None] = None, + num: Union[int, None] = None, ) -> ResponseT: """ Stores in ``dest`` the result of a range of values from sorted set @@ -4653,8 +4601,8 @@ class SortedSetCommands(CommandsProtocol): name: KeyT, min: EncodableT, max: EncodableT, - start: Optional[int] = None, - num: Optional[int] = None, + start: Union[int, None] = None, + num: Union[int, None] = None, ) -> ResponseT: """ Return the lexicographical range of values from sorted set ``name`` @@ -4670,15 +4618,15 @@ class SortedSetCommands(CommandsProtocol): pieces = ["ZRANGEBYLEX", name, min, max] if start is not None and num is not None: pieces.extend([b"LIMIT", start, num]) - return self.execute_command(*pieces, keys=[name]) + return self.execute_command(*pieces) def zrevrangebylex( self, name: KeyT, max: EncodableT, min: EncodableT, - start: Optional[int] = None, - num: Optional[int] = None, + start: Union[int, None] = None, + num: Union[int, None] = None, ) -> ResponseT: """ Return the reversed lexicographical range of values from sorted set @@ -4694,15 +4642,15 @@ class SortedSetCommands(CommandsProtocol): pieces = ["ZREVRANGEBYLEX", name, max, min] if start is not None and num is not None: pieces.extend(["LIMIT", start, num]) - return self.execute_command(*pieces, keys=[name]) + return self.execute_command(*pieces) def zrangebyscore( self, name: KeyT, min: ZScoreBoundT, max: ZScoreBoundT, - start: Optional[int] = None, - num: Optional[int] = None, + start: Union[int, None] = None, + num: Union[int, None] = None, withscores: bool = False, score_cast_func: Union[type, Callable] = float, ) -> ResponseT: @@ -4728,7 +4676,6 @@ class SortedSetCommands(CommandsProtocol): if withscores: pieces.append("WITHSCORES") options = {"withscores": withscores, "score_cast_func": score_cast_func} - options["keys"] = [name] return self.execute_command(*pieces, **options) def zrevrangebyscore( @@ -4736,8 +4683,8 @@ class SortedSetCommands(CommandsProtocol): name: KeyT, max: ZScoreBoundT, min: ZScoreBoundT, - start: Optional[int] = None, - num: Optional[int] = None, + start: Union[int, None] = None, + num: Union[int, None] = None, withscores: bool = False, score_cast_func: Union[type, Callable] = float, ): @@ -4763,7 +4710,6 @@ class SortedSetCommands(CommandsProtocol): if withscores: pieces.append("WITHSCORES") options = {"withscores": withscores, "score_cast_func": score_cast_func} - options["keys"] = [name] return self.execute_command(*pieces, **options) def zrank( @@ -4781,8 +4727,8 @@ class SortedSetCommands(CommandsProtocol): For more information see https://redis.io/commands/zrank """ if withscore: - return self.execute_command("ZRANK", name, value, "WITHSCORE", keys=[name]) - return self.execute_command("ZRANK", name, value, keys=[name]) + return self.execute_command("ZRANK", name, value, "WITHSCORE") + return self.execute_command("ZRANK", name, value) def zrem(self, name: KeyT, *values: FieldT) -> ResponseT: """ @@ -4840,10 +4786,8 @@ class SortedSetCommands(CommandsProtocol): For more information see https://redis.io/commands/zrevrank """ if withscore: - return self.execute_command( - "ZREVRANK", name, value, "WITHSCORE", keys=[name] - ) - return self.execute_command("ZREVRANK", name, value, keys=[name]) + return self.execute_command("ZREVRANK", name, value, "WITHSCORE") + return self.execute_command("ZREVRANK", name, value) def zscore(self, name: KeyT, value: EncodableT) -> ResponseT: """ @@ -4851,12 +4795,12 @@ class SortedSetCommands(CommandsProtocol): For more information see https://redis.io/commands/zscore """ - return self.execute_command("ZSCORE", name, value, keys=[name]) + return self.execute_command("ZSCORE", name, value) def zunion( self, keys: Union[Sequence[KeyT], Mapping[AnyKeyT, float]], - aggregate: Optional[str] = None, + aggregate: Union[str, None] = None, withscores: bool = False, ) -> ResponseT: """ @@ -4873,7 +4817,7 @@ class SortedSetCommands(CommandsProtocol): self, dest: KeyT, keys: Union[Sequence[KeyT], Mapping[AnyKeyT, float]], - aggregate: Optional[str] = None, + aggregate: Union[str, None] = None, ) -> ResponseT: """ Union multiple sorted sets specified by ``keys`` into @@ -4898,14 +4842,14 @@ class SortedSetCommands(CommandsProtocol): if not members: raise DataError("ZMSCORE members must be a non-empty list") pieces = [key] + members - return self.execute_command("ZMSCORE", *pieces, keys=[key]) + return self.execute_command("ZMSCORE", *pieces) def _zaggregate( self, command: str, dest: Union[KeyT, None], keys: Union[Sequence[KeyT], Mapping[AnyKeyT, float]], - aggregate: Optional[str] = None, + aggregate: Union[str, None] = None, **options, ) -> ResponseT: pieces: list[EncodableT] = [command] @@ -4928,7 +4872,6 @@ class SortedSetCommands(CommandsProtocol): raise DataError("aggregate can be sum, min or max.") if options.get("withscores", False): pieces.append(b"WITHSCORES") - options["keys"] = keys return self.execute_command(*pieces, **options) @@ -4970,23 +4913,13 @@ class HyperlogCommands(CommandsProtocol): AsyncHyperlogCommands = HyperlogCommands -class HashDataPersistOptions(Enum): - # set the value for each provided key to each - # provided value only if all do not already exist. - FNX = "FNX" - - # set the value for each provided key to each - # provided value only if all already exist. - FXX = "FXX" - - class HashCommands(CommandsProtocol): """ Redis commands for Hash data type. see: https://redis.io/topics/data-types-intro#redis-hashes """ - def hdel(self, name: str, *keys: str) -> Union[Awaitable[int], int]: + def hdel(self, name: str, *keys: List) -> Union[Awaitable[int], int]: """ Delete ``keys`` from hash ``name`` @@ -5000,7 +4933,7 @@ class HashCommands(CommandsProtocol): For more information see https://redis.io/commands/hexists """ - return self.execute_command("HEXISTS", name, key, keys=[name]) + return self.execute_command("HEXISTS", name, key) def hget( self, name: str, key: str @@ -5010,7 +4943,7 @@ class HashCommands(CommandsProtocol): For more information see https://redis.io/commands/hget """ - return self.execute_command("HGET", name, key, keys=[name]) + return self.execute_command("HGET", name, key) def hgetall(self, name: str) -> Union[Awaitable[dict], dict]: """ @@ -5018,81 +4951,7 @@ class HashCommands(CommandsProtocol): For more information see https://redis.io/commands/hgetall """ - return self.execute_command("HGETALL", name, keys=[name]) - - def hgetdel( - self, name: str, *keys: str - ) -> Union[ - Awaitable[Optional[List[Union[str, bytes]]]], Optional[List[Union[str, bytes]]] - ]: - """ - Return the value of ``key`` within the hash ``name`` and - delete the field in the hash. - This command is similar to HGET, except for the fact that it also deletes - the key on success from the hash with the provided ```name```. - - Available since Redis 8.0 - For more information see https://redis.io/commands/hgetdel - """ - if len(keys) == 0: - raise DataError("'hgetdel' should have at least one key provided") - - return self.execute_command("HGETDEL", name, "FIELDS", len(keys), *keys) - - def hgetex( - self, - name: KeyT, - *keys: str, - ex: Optional[ExpiryT] = None, - px: Optional[ExpiryT] = None, - exat: Optional[AbsExpiryT] = None, - pxat: Optional[AbsExpiryT] = None, - persist: bool = False, - ) -> Union[ - Awaitable[Optional[List[Union[str, bytes]]]], Optional[List[Union[str, bytes]]] - ]: - """ - Return the values of ``key`` and ``keys`` within the hash ``name`` - and optionally set their expiration. - - ``ex`` sets an expire flag on ``kyes`` for ``ex`` seconds. - - ``px`` sets an expire flag on ``keys`` for ``px`` milliseconds. - - ``exat`` sets an expire flag on ``keys`` for ``ex`` seconds, - specified in unix time. - - ``pxat`` sets an expire flag on ``keys`` for ``ex`` milliseconds, - specified in unix time. - - ``persist`` remove the time to live associated with the ``keys``. - - Available since Redis 8.0 - For more information see https://redis.io/commands/hgetex - """ - if not keys: - raise DataError("'hgetex' should have at least one key provided") - - opset = {ex, px, exat, pxat} - if len(opset) > 2 or len(opset) > 1 and persist: - raise DataError( - "``ex``, ``px``, ``exat``, ``pxat``, " - "and ``persist`` are mutually exclusive." - ) - - exp_options: list[EncodableT] = extract_expire_flags(ex, px, exat, pxat) - - if persist: - exp_options.append("PERSIST") - - return self.execute_command( - "HGETEX", - name, - *exp_options, - "FIELDS", - len(keys), - *keys, - ) + return self.execute_command("HGETALL", name) def hincrby( self, name: str, key: str, amount: int = 1 @@ -5120,7 +4979,7 @@ class HashCommands(CommandsProtocol): For more information see https://redis.io/commands/hkeys """ - return self.execute_command("HKEYS", name, keys=[name]) + return self.execute_command("HKEYS", name) def hlen(self, name: str) -> Union[Awaitable[int], int]: """ @@ -5128,7 +4987,7 @@ class HashCommands(CommandsProtocol): For more information see https://redis.io/commands/hlen """ - return self.execute_command("HLEN", name, keys=[name]) + return self.execute_command("HLEN", name) def hset( self, @@ -5148,103 +5007,16 @@ class HashCommands(CommandsProtocol): For more information see https://redis.io/commands/hset """ - if key is None and not mapping and not items: raise DataError("'hset' with no key value pairs") - - pieces = [] - if items: - pieces.extend(items) + items = items or [] if key is not None: - pieces.extend((key, value)) + items.extend((key, value)) if mapping: for pair in mapping.items(): - pieces.extend(pair) + items.extend(pair) - return self.execute_command("HSET", name, *pieces) - - def hsetex( - self, - name: str, - key: Optional[str] = None, - value: Optional[str] = None, - mapping: Optional[dict] = None, - items: Optional[list] = None, - ex: Optional[ExpiryT] = None, - px: Optional[ExpiryT] = None, - exat: Optional[AbsExpiryT] = None, - pxat: Optional[AbsExpiryT] = None, - data_persist_option: Optional[HashDataPersistOptions] = None, - keepttl: bool = False, - ) -> Union[Awaitable[int], int]: - """ - Set ``key`` to ``value`` within hash ``name`` - - ``mapping`` accepts a dict of key/value pairs that will be - added to hash ``name``. - - ``items`` accepts a list of key/value pairs that will be - added to hash ``name``. - - ``ex`` sets an expire flag on ``keys`` for ``ex`` seconds. - - ``px`` sets an expire flag on ``keys`` for ``px`` milliseconds. - - ``exat`` sets an expire flag on ``keys`` for ``ex`` seconds, - specified in unix time. - - ``pxat`` sets an expire flag on ``keys`` for ``ex`` milliseconds, - specified in unix time. - - ``data_persist_option`` can be set to ``FNX`` or ``FXX`` to control the - behavior of the command. - ``FNX`` will set the value for each provided key to each - provided value only if all do not already exist. - ``FXX`` will set the value for each provided key to each - provided value only if all already exist. - - ``keepttl`` if True, retain the time to live associated with the keys. - - Returns the number of fields that were added. - - Available since Redis 8.0 - For more information see https://redis.io/commands/hsetex - """ - if key is None and not mapping and not items: - raise DataError("'hsetex' with no key value pairs") - - if items and len(items) % 2 != 0: - raise DataError( - "'hsetex' with odd number of items. " - "'items' must contain a list of key/value pairs." - ) - - opset = {ex, px, exat, pxat} - if len(opset) > 2 or len(opset) > 1 and keepttl: - raise DataError( - "``ex``, ``px``, ``exat``, ``pxat``, " - "and ``keepttl`` are mutually exclusive." - ) - - exp_options: list[EncodableT] = extract_expire_flags(ex, px, exat, pxat) - if data_persist_option: - exp_options.append(data_persist_option.value) - - if keepttl: - exp_options.append("KEEPTTL") - - pieces = [] - if items: - pieces.extend(items) - if key is not None: - pieces.extend((key, value)) - if mapping: - for pair in mapping.items(): - pieces.extend(pair) - - return self.execute_command( - "HSETEX", name, *exp_options, "FIELDS", int(len(pieces) / 2), *pieces - ) + return self.execute_command("HSET", name, *items) def hsetnx(self, name: str, key: str, value: str) -> Union[Awaitable[bool], bool]: """ @@ -5255,11 +5027,6 @@ class HashCommands(CommandsProtocol): """ return self.execute_command("HSETNX", name, key, value) - @deprecated_function( - version="4.0.0", - reason="Use 'hset' instead.", - name="hmset", - ) def hmset(self, name: str, mapping: dict) -> Union[Awaitable[str], str]: """ Set key to value within hash ``name`` for each corresponding @@ -5267,6 +5034,12 @@ class HashCommands(CommandsProtocol): For more information see https://redis.io/commands/hmset """ + warnings.warn( + f"{self.__class__.__name__}.hmset() is deprecated. " + f"Use {self.__class__.__name__}.hset() instead.", + DeprecationWarning, + stacklevel=2, + ) if not mapping: raise DataError("'hmset' with 'mapping' of length 0") items = [] @@ -5281,7 +5054,7 @@ class HashCommands(CommandsProtocol): For more information see https://redis.io/commands/hmget """ args = list_or_args(keys, args) - return self.execute_command("HMGET", name, *args, keys=[name]) + return self.execute_command("HMGET", name, *args) def hvals(self, name: str) -> Union[Awaitable[List], List]: """ @@ -5289,7 +5062,7 @@ class HashCommands(CommandsProtocol): For more information see https://redis.io/commands/hvals """ - return self.execute_command("HVALS", name, keys=[name]) + return self.execute_command("HVALS", name) def hstrlen(self, name: str, key: str) -> Union[Awaitable[int], int]: """ @@ -5298,366 +5071,7 @@ class HashCommands(CommandsProtocol): For more information see https://redis.io/commands/hstrlen """ - return self.execute_command("HSTRLEN", name, key, keys=[name]) - - def hexpire( - self, - name: KeyT, - seconds: ExpiryT, - *fields: str, - nx: bool = False, - xx: bool = False, - gt: bool = False, - lt: bool = False, - ) -> ResponseT: - """ - Sets or updates the expiration time for fields within a hash key, using relative - time in seconds. - - If a field already has an expiration time, the behavior of the update can be - controlled using the `nx`, `xx`, `gt`, and `lt` parameters. - - The return value provides detailed information about the outcome for each field. - - For more information, see https://redis.io/commands/hexpire - - Args: - name: The name of the hash key. - seconds: Expiration time in seconds, relative. Can be an integer, or a - Python `timedelta` object. - fields: List of fields within the hash to apply the expiration time to. - nx: Set expiry only when the field has no expiry. - xx: Set expiry only when the field has an existing expiry. - gt: Set expiry only when the new expiry is greater than the current one. - lt: Set expiry only when the new expiry is less than the current one. - - Returns: - Returns a list which contains for each field in the request: - - `-2` if the field does not exist, or if the key does not exist. - - `0` if the specified NX | XX | GT | LT condition was not met. - - `1` if the expiration time was set or updated. - - `2` if the field was deleted because the specified expiration time is - in the past. - """ - conditions = [nx, xx, gt, lt] - if sum(conditions) > 1: - raise ValueError("Only one of 'nx', 'xx', 'gt', 'lt' can be specified.") - - if isinstance(seconds, datetime.timedelta): - seconds = int(seconds.total_seconds()) - - options = [] - if nx: - options.append("NX") - if xx: - options.append("XX") - if gt: - options.append("GT") - if lt: - options.append("LT") - - return self.execute_command( - "HEXPIRE", name, seconds, *options, "FIELDS", len(fields), *fields - ) - - def hpexpire( - self, - name: KeyT, - milliseconds: ExpiryT, - *fields: str, - nx: bool = False, - xx: bool = False, - gt: bool = False, - lt: bool = False, - ) -> ResponseT: - """ - Sets or updates the expiration time for fields within a hash key, using relative - time in milliseconds. - - If a field already has an expiration time, the behavior of the update can be - controlled using the `nx`, `xx`, `gt`, and `lt` parameters. - - The return value provides detailed information about the outcome for each field. - - For more information, see https://redis.io/commands/hpexpire - - Args: - name: The name of the hash key. - milliseconds: Expiration time in milliseconds, relative. Can be an integer, - or a Python `timedelta` object. - fields: List of fields within the hash to apply the expiration time to. - nx: Set expiry only when the field has no expiry. - xx: Set expiry only when the field has an existing expiry. - gt: Set expiry only when the new expiry is greater than the current one. - lt: Set expiry only when the new expiry is less than the current one. - - Returns: - Returns a list which contains for each field in the request: - - `-2` if the field does not exist, or if the key does not exist. - - `0` if the specified NX | XX | GT | LT condition was not met. - - `1` if the expiration time was set or updated. - - `2` if the field was deleted because the specified expiration time is - in the past. - """ - conditions = [nx, xx, gt, lt] - if sum(conditions) > 1: - raise ValueError("Only one of 'nx', 'xx', 'gt', 'lt' can be specified.") - - if isinstance(milliseconds, datetime.timedelta): - milliseconds = int(milliseconds.total_seconds() * 1000) - - options = [] - if nx: - options.append("NX") - if xx: - options.append("XX") - if gt: - options.append("GT") - if lt: - options.append("LT") - - return self.execute_command( - "HPEXPIRE", name, milliseconds, *options, "FIELDS", len(fields), *fields - ) - - def hexpireat( - self, - name: KeyT, - unix_time_seconds: AbsExpiryT, - *fields: str, - nx: bool = False, - xx: bool = False, - gt: bool = False, - lt: bool = False, - ) -> ResponseT: - """ - Sets or updates the expiration time for fields within a hash key, using an - absolute Unix timestamp in seconds. - - If a field already has an expiration time, the behavior of the update can be - controlled using the `nx`, `xx`, `gt`, and `lt` parameters. - - The return value provides detailed information about the outcome for each field. - - For more information, see https://redis.io/commands/hexpireat - - Args: - name: The name of the hash key. - unix_time_seconds: Expiration time as Unix timestamp in seconds. Can be an - integer or a Python `datetime` object. - fields: List of fields within the hash to apply the expiration time to. - nx: Set expiry only when the field has no expiry. - xx: Set expiry only when the field has an existing expiration time. - gt: Set expiry only when the new expiry is greater than the current one. - lt: Set expiry only when the new expiry is less than the current one. - - Returns: - Returns a list which contains for each field in the request: - - `-2` if the field does not exist, or if the key does not exist. - - `0` if the specified NX | XX | GT | LT condition was not met. - - `1` if the expiration time was set or updated. - - `2` if the field was deleted because the specified expiration time is - in the past. - """ - conditions = [nx, xx, gt, lt] - if sum(conditions) > 1: - raise ValueError("Only one of 'nx', 'xx', 'gt', 'lt' can be specified.") - - if isinstance(unix_time_seconds, datetime.datetime): - unix_time_seconds = int(unix_time_seconds.timestamp()) - - options = [] - if nx: - options.append("NX") - if xx: - options.append("XX") - if gt: - options.append("GT") - if lt: - options.append("LT") - - return self.execute_command( - "HEXPIREAT", - name, - unix_time_seconds, - *options, - "FIELDS", - len(fields), - *fields, - ) - - def hpexpireat( - self, - name: KeyT, - unix_time_milliseconds: AbsExpiryT, - *fields: str, - nx: bool = False, - xx: bool = False, - gt: bool = False, - lt: bool = False, - ) -> ResponseT: - """ - Sets or updates the expiration time for fields within a hash key, using an - absolute Unix timestamp in milliseconds. - - If a field already has an expiration time, the behavior of the update can be - controlled using the `nx`, `xx`, `gt`, and `lt` parameters. - - The return value provides detailed information about the outcome for each field. - - For more information, see https://redis.io/commands/hpexpireat - - Args: - name: The name of the hash key. - unix_time_milliseconds: Expiration time as Unix timestamp in milliseconds. - Can be an integer or a Python `datetime` object. - fields: List of fields within the hash to apply the expiry. - nx: Set expiry only when the field has no expiry. - xx: Set expiry only when the field has an existing expiry. - gt: Set expiry only when the new expiry is greater than the current one. - lt: Set expiry only when the new expiry is less than the current one. - - Returns: - Returns a list which contains for each field in the request: - - `-2` if the field does not exist, or if the key does not exist. - - `0` if the specified NX | XX | GT | LT condition was not met. - - `1` if the expiration time was set or updated. - - `2` if the field was deleted because the specified expiration time is - in the past. - """ - conditions = [nx, xx, gt, lt] - if sum(conditions) > 1: - raise ValueError("Only one of 'nx', 'xx', 'gt', 'lt' can be specified.") - - if isinstance(unix_time_milliseconds, datetime.datetime): - unix_time_milliseconds = int(unix_time_milliseconds.timestamp() * 1000) - - options = [] - if nx: - options.append("NX") - if xx: - options.append("XX") - if gt: - options.append("GT") - if lt: - options.append("LT") - - return self.execute_command( - "HPEXPIREAT", - name, - unix_time_milliseconds, - *options, - "FIELDS", - len(fields), - *fields, - ) - - def hpersist(self, name: KeyT, *fields: str) -> ResponseT: - """ - Removes the expiration time for each specified field in a hash. - - For more information, see https://redis.io/commands/hpersist - - Args: - name: The name of the hash key. - fields: A list of fields within the hash from which to remove the - expiration time. - - Returns: - Returns a list which contains for each field in the request: - - `-2` if the field does not exist, or if the key does not exist. - - `-1` if the field exists but has no associated expiration time. - - `1` if the expiration time was successfully removed from the field. - """ - return self.execute_command("HPERSIST", name, "FIELDS", len(fields), *fields) - - def hexpiretime(self, key: KeyT, *fields: str) -> ResponseT: - """ - Returns the expiration times of hash fields as Unix timestamps in seconds. - - For more information, see https://redis.io/commands/hexpiretime - - Args: - key: The hash key. - fields: A list of fields within the hash for which to get the expiration - time. - - Returns: - Returns a list which contains for each field in the request: - - `-2` if the field does not exist, or if the key does not exist. - - `-1` if the field exists but has no associated expire time. - - A positive integer representing the expiration Unix timestamp in - seconds, if the field has an associated expiration time. - """ - return self.execute_command( - "HEXPIRETIME", key, "FIELDS", len(fields), *fields, keys=[key] - ) - - def hpexpiretime(self, key: KeyT, *fields: str) -> ResponseT: - """ - Returns the expiration times of hash fields as Unix timestamps in milliseconds. - - For more information, see https://redis.io/commands/hpexpiretime - - Args: - key: The hash key. - fields: A list of fields within the hash for which to get the expiration - time. - - Returns: - Returns a list which contains for each field in the request: - - `-2` if the field does not exist, or if the key does not exist. - - `-1` if the field exists but has no associated expire time. - - A positive integer representing the expiration Unix timestamp in - milliseconds, if the field has an associated expiration time. - """ - return self.execute_command( - "HPEXPIRETIME", key, "FIELDS", len(fields), *fields, keys=[key] - ) - - def httl(self, key: KeyT, *fields: str) -> ResponseT: - """ - Returns the TTL (Time To Live) in seconds for each specified field within a hash - key. - - For more information, see https://redis.io/commands/httl - - Args: - key: The hash key. - fields: A list of fields within the hash for which to get the TTL. - - Returns: - Returns a list which contains for each field in the request: - - `-2` if the field does not exist, or if the key does not exist. - - `-1` if the field exists but has no associated expire time. - - A positive integer representing the TTL in seconds if the field has - an associated expiration time. - """ - return self.execute_command( - "HTTL", key, "FIELDS", len(fields), *fields, keys=[key] - ) - - def hpttl(self, key: KeyT, *fields: str) -> ResponseT: - """ - Returns the TTL (Time To Live) in milliseconds for each specified field within a - hash key. - - For more information, see https://redis.io/commands/hpttl - - Args: - key: The hash key. - fields: A list of fields within the hash for which to get the TTL. - - Returns: - Returns a list which contains for each field in the request: - - `-2` if the field does not exist, or if the key does not exist. - - `-1` if the field exists but has no associated expire time. - - A positive integer representing the TTL in milliseconds if the field - has an associated expiration time. - """ - return self.execute_command( - "HPTTL", key, "FIELDS", len(fields), *fields, keys=[key] - ) + return self.execute_command("HSTRLEN", name, key) AsyncHashCommands = HashCommands @@ -5668,7 +5082,7 @@ class Script: An executable Lua script object returned by ``register_script`` """ - def __init__(self, registered_client: "redis.client.Redis", script: ScriptTextT): + def __init__(self, registered_client: "Redis", script: ScriptTextT): self.registered_client = registered_client self.script = script # Precalculate and store the SHA1 hex digest of the script. @@ -5676,7 +5090,11 @@ class Script: if isinstance(script, str): # We need the encoding from the client in order to generate an # accurate byte representation of the script - encoder = self.get_encoder() + try: + encoder = registered_client.connection_pool.get_encoder() + except AttributeError: + # Cluster + encoder = registered_client.get_encoder() script = encoder.encode(script) self.sha = hashlib.sha1(script).hexdigest() @@ -5684,7 +5102,7 @@ class Script: self, keys: Union[Sequence[KeyT], None] = None, args: Union[Iterable[EncodableT], None] = None, - client: Union["redis.client.Redis", None] = None, + client: Union["Redis", None] = None, ): """Execute the script, passing any required ``args``""" keys = keys or [] @@ -5707,35 +5125,13 @@ class Script: self.sha = client.script_load(self.script) return client.evalsha(self.sha, len(keys), *args) - def get_encoder(self): - """Get the encoder to encode string scripts into bytes.""" - try: - return self.registered_client.get_encoder() - except AttributeError: - # DEPRECATED - # In version <=4.1.2, this was the code we used to get the encoder. - # However, after 4.1.2 we added support for scripting in clustered - # redis. ClusteredRedis doesn't have a `.connection_pool` attribute - # so we changed the Script class to use - # `self.registered_client.get_encoder` (see above). - # However, that is technically a breaking change, as consumers who - # use Scripts directly might inject a `registered_client` that - # doesn't have a `.get_encoder` field. This try/except prevents us - # from breaking backward-compatibility. Ideally, it would be - # removed in the next major release. - return self.registered_client.connection_pool.get_encoder() - class AsyncScript: """ An executable Lua script object returned by ``register_script`` """ - def __init__( - self, - registered_client: "redis.asyncio.client.Redis", - script: ScriptTextT, - ): + def __init__(self, registered_client: "AsyncRedis", script: ScriptTextT): self.registered_client = registered_client self.script = script # Precalculate and store the SHA1 hex digest of the script. @@ -5755,7 +5151,7 @@ class AsyncScript: self, keys: Union[Sequence[KeyT], None] = None, args: Union[Iterable[EncodableT], None] = None, - client: Union["redis.asyncio.client.Redis", None] = None, + client: Union["AsyncRedis", None] = None, ): """Execute the script, passing any required ``args``""" keys = keys or [] @@ -5852,16 +5248,16 @@ AsyncPubSubCommands = PubSubCommands class ScriptCommands(CommandsProtocol): """ Redis Lua script commands. see: - https://redis.io/ebook/part-3-next-steps/chapter-11-scripting-redis-with-lua/ + https://redis.com/ebook/part-3-next-steps/chapter-11-scripting-redis-with-lua/ """ def _eval( - self, command: str, script: str, numkeys: int, *keys_and_args: str + self, command: str, script: str, numkeys: int, *keys_and_args: list ) -> Union[Awaitable[str], str]: return self.execute_command(command, script, numkeys, *keys_and_args) def eval( - self, script: str, numkeys: int, *keys_and_args: str + self, script: str, numkeys: int, *keys_and_args: list ) -> Union[Awaitable[str], str]: """ Execute the Lua ``script``, specifying the ``numkeys`` the script @@ -5876,7 +5272,7 @@ class ScriptCommands(CommandsProtocol): return self._eval("EVAL", script, numkeys, *keys_and_args) def eval_ro( - self, script: str, numkeys: int, *keys_and_args: str + self, script: str, numkeys: int, *keys_and_args: list ) -> Union[Awaitable[str], str]: """ The read-only variant of the EVAL command @@ -5895,7 +5291,7 @@ class ScriptCommands(CommandsProtocol): return self.execute_command(command, sha, numkeys, *keys_and_args) def evalsha( - self, sha: str, numkeys: int, *keys_and_args: str + self, sha: str, numkeys: int, *keys_and_args: list ) -> Union[Awaitable[str], str]: """ Use the ``sha`` to execute a Lua script already registered via EVAL @@ -5911,7 +5307,7 @@ class ScriptCommands(CommandsProtocol): return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args) def evalsha_ro( - self, sha: str, numkeys: int, *keys_and_args: str + self, sha: str, numkeys: int, *keys_and_args: list ) -> Union[Awaitable[str], str]: """ The read-only variant of the EVALSHA command @@ -5929,7 +5325,7 @@ class ScriptCommands(CommandsProtocol): """ Check if a script exists in the script cache by specifying the SHAs of each script as ``args``. Returns a list of boolean values indicating if - if each already script exists in the cache_data. + if each already script exists in the cache. For more information see https://redis.io/commands/script-exists """ @@ -5943,7 +5339,7 @@ class ScriptCommands(CommandsProtocol): def script_flush( self, sync_type: Union[Literal["SYNC"], Literal["ASYNC"]] = None ) -> ResponseT: - """Flush all scripts from the script cache_data. + """Flush all scripts from the script cache. ``sync_type`` is by default SYNC (synchronous) but it can also be ASYNC. @@ -5974,13 +5370,13 @@ class ScriptCommands(CommandsProtocol): def script_load(self, script: ScriptTextT) -> ResponseT: """ - Load a Lua ``script`` into the script cache_data. Returns the SHA. + Load a Lua ``script`` into the script cache. Returns the SHA. For more information see https://redis.io/commands/script-load """ return self.execute_command("SCRIPT LOAD", script) - def register_script(self: "redis.client.Redis", script: ScriptTextT) -> Script: + def register_script(self: "Redis", script: ScriptTextT) -> Script: """ Register a Lua ``script`` specifying the ``keys`` it will touch. Returns a Script object that is callable and hides the complexity of @@ -5994,10 +5390,7 @@ class AsyncScriptCommands(ScriptCommands): async def script_debug(self, *args) -> None: return super().script_debug() - def register_script( - self: "redis.asyncio.client.Redis", - script: ScriptTextT, - ) -> AsyncScript: + def register_script(self: "AsyncRedis", script: ScriptTextT) -> AsyncScript: """ Register a Lua ``script`` specifying the ``keys`` it will touch. Returns a Script object that is callable and hides the complexity of @@ -6056,7 +5449,7 @@ class GeoCommands(CommandsProtocol): return self.execute_command("GEOADD", *pieces) def geodist( - self, name: KeyT, place1: FieldT, place2: FieldT, unit: Optional[str] = None + self, name: KeyT, place1: FieldT, place2: FieldT, unit: Union[str, None] = None ) -> ResponseT: """ Return the distance between ``place1`` and ``place2`` members of the @@ -6071,7 +5464,7 @@ class GeoCommands(CommandsProtocol): raise DataError("GEODIST invalid unit") elif unit: pieces.append(unit) - return self.execute_command("GEODIST", *pieces, keys=[name]) + return self.execute_command("GEODIST", *pieces) def geohash(self, name: KeyT, *values: FieldT) -> ResponseT: """ @@ -6080,7 +5473,7 @@ class GeoCommands(CommandsProtocol): For more information see https://redis.io/commands/geohash """ - return self.execute_command("GEOHASH", name, *values, keys=[name]) + return self.execute_command("GEOHASH", name, *values) def geopos(self, name: KeyT, *values: FieldT) -> ResponseT: """ @@ -6090,7 +5483,7 @@ class GeoCommands(CommandsProtocol): For more information see https://redis.io/commands/geopos """ - return self.execute_command("GEOPOS", name, *values, keys=[name]) + return self.execute_command("GEOPOS", name, *values) def georadius( self, @@ -6098,14 +5491,14 @@ class GeoCommands(CommandsProtocol): longitude: float, latitude: float, radius: float, - unit: Optional[str] = None, + unit: Union[str, None] = None, withdist: bool = False, withcoord: bool = False, withhash: bool = False, - count: Optional[int] = None, - sort: Optional[str] = None, - store: Optional[KeyT] = None, - store_dist: Optional[KeyT] = None, + count: Union[int, None] = None, + sort: Union[str, None] = None, + store: Union[KeyT, None] = None, + store_dist: Union[KeyT, None] = None, any: bool = False, ) -> ResponseT: """ @@ -6160,12 +5553,12 @@ class GeoCommands(CommandsProtocol): name: KeyT, member: FieldT, radius: float, - unit: Optional[str] = None, + unit: Union[str, None] = None, withdist: bool = False, withcoord: bool = False, withhash: bool = False, - count: Optional[int] = None, - sort: Optional[str] = None, + count: Union[int, None] = None, + sort: Union[str, None] = None, store: Union[KeyT, None] = None, store_dist: Union[KeyT, None] = None, any: bool = False, @@ -6250,8 +5643,8 @@ class GeoCommands(CommandsProtocol): radius: Union[float, None] = None, width: Union[float, None] = None, height: Union[float, None] = None, - sort: Optional[str] = None, - count: Optional[int] = None, + sort: Union[str, None] = None, + count: Union[int, None] = None, any: bool = False, withcoord: bool = False, withdist: bool = False, @@ -6325,15 +5718,15 @@ class GeoCommands(CommandsProtocol): self, dest: KeyT, name: KeyT, - member: Optional[FieldT] = None, - longitude: Optional[float] = None, - latitude: Optional[float] = None, + member: Union[FieldT, None] = None, + longitude: Union[float, None] = None, + latitude: Union[float, None] = None, unit: str = "m", - radius: Optional[float] = None, - width: Optional[float] = None, - height: Optional[float] = None, - sort: Optional[str] = None, - count: Optional[int] = None, + radius: Union[float, None] = None, + width: Union[float, None] = None, + height: Union[float, None] = None, + sort: Union[str, None] = None, + count: Union[int, None] = None, any: bool = False, storedist: bool = False, ) -> ResponseT: @@ -6430,8 +5823,6 @@ class GeoCommands(CommandsProtocol): if kwargs[arg_name]: pieces.append(byte_repr) - kwargs["keys"] = [args[0] if command == "GEOSEARCH" else args[1]] - return self.execute_command(command, *pieces, **kwargs) @@ -6508,6 +5899,62 @@ class ModuleCommands(CommandsProtocol): return self.execute_command("COMMAND") +class Script: + """ + An executable Lua script object returned by ``register_script`` + """ + + def __init__(self, registered_client, script): + self.registered_client = registered_client + self.script = script + # Precalculate and store the SHA1 hex digest of the script. + + if isinstance(script, str): + # We need the encoding from the client in order to generate an + # accurate byte representation of the script + encoder = self.get_encoder() + script = encoder.encode(script) + self.sha = hashlib.sha1(script).hexdigest() + + def __call__(self, keys=[], args=[], client=None): + "Execute the script, passing any required ``args``" + if client is None: + client = self.registered_client + args = tuple(keys) + tuple(args) + # make sure the Redis server knows about the script + from redis.client import Pipeline + + if isinstance(client, Pipeline): + # Make sure the pipeline can register the script before executing. + client.scripts.add(self) + try: + return client.evalsha(self.sha, len(keys), *args) + except NoScriptError: + # Maybe the client is pointed to a different server than the client + # that created this instance? + # Overwrite the sha just in case there was a discrepancy. + self.sha = client.script_load(self.script) + return client.evalsha(self.sha, len(keys), *args) + + def get_encoder(self): + """Get the encoder to encode string scripts into bytes.""" + try: + return self.registered_client.get_encoder() + except AttributeError: + # DEPRECATED + # In version <=4.1.2, this was the code we used to get the encoder. + # However, after 4.1.2 we added support for scripting in clustered + # redis. ClusteredRedis doesn't have a `.connection_pool` attribute + # so we changed the Script class to use + # `self.registered_client.get_encoder` (see above). + # However, that is technically a breaking change, as consumers who + # use Scripts directly might inject a `registered_client` that + # doesn't have a `.get_encoder` field. This try/except prevents us + # from breaking backward-compatibility. Ideally, it would be + # removed in the next major release. + return self.registered_client.connection_pool.get_encoder() + + class AsyncModuleCommands(ModuleCommands): async def command_info(self) -> None: return super().command_info() @@ -6584,12 +6031,9 @@ class FunctionCommands: ) -> Union[Awaitable[List], List]: """ Return information about the functions and libraries. - - Args: - - library: specify a pattern for matching library names - withcode: cause the server to include the libraries source implementation - in the reply + :param library: pecify a pattern for matching library names + :param withcode: cause the server to include the libraries source + implementation in the reply """ args = ["LIBRARYNAME", library] if withcode: @@ -6597,12 +6041,12 @@ class FunctionCommands: return self.execute_command("FUNCTION LIST", *args) def _fcall( - self, command: str, function, numkeys: int, *keys_and_args: Any + self, command: str, function, numkeys: int, *keys_and_args: Optional[List] ) -> Union[Awaitable[str], str]: return self.execute_command(command, function, numkeys, *keys_and_args) def fcall( - self, function, numkeys: int, *keys_and_args: Any + self, function, numkeys: int, *keys_and_args: Optional[List] ) -> Union[Awaitable[str], str]: """ Invoke a function. @@ -6612,13 +6056,13 @@ class FunctionCommands: return self._fcall("FCALL", function, numkeys, *keys_and_args) def fcall_ro( - self, function, numkeys: int, *keys_and_args: Any + self, function, numkeys: int, *keys_and_args: Optional[List] ) -> Union[Awaitable[str], str]: """ This is a read-only variant of the FCALL command that cannot execute commands that modify data. - For more information see https://redis.io/commands/fcall_ro + For more information see https://redis.io/commands/fcal_ro """ return self._fcall("FCALL_RO", function, numkeys, *keys_and_args) @@ -6668,6 +6112,131 @@ class FunctionCommands: AsyncFunctionCommands = FunctionCommands +class GearsCommands: + def tfunction_load( + self, lib_code: str, replace: bool = False, config: Union[str, None] = None + ) -> ResponseT: + """ + Load a new library to RedisGears. + + ``lib_code`` - the library code. + ``config`` - a string representation of a JSON object + that will be provided to the library on load time, + for more information refer to + https://github.com/RedisGears/RedisGears/blob/master/docs/function_advance_topics.md#library-configuration + ``replace`` - an optional argument, instructs RedisGears to replace the + function if its already exists + + For more information see https://redis.io/commands/tfunction-load/ + """ + pieces = [] + if replace: + pieces.append("REPLACE") + if config is not None: + pieces.extend(["CONFIG", config]) + pieces.append(lib_code) + return self.execute_command("TFUNCTION LOAD", *pieces) + + def tfunction_delete(self, lib_name: str) -> ResponseT: + """ + Delete a library from RedisGears. + + ``lib_name`` the library name to delete. + + For more information see https://redis.io/commands/tfunction-delete/ + """ + return self.execute_command("TFUNCTION DELETE", lib_name) + + def tfunction_list( + self, + with_code: bool = False, + verbose: int = 0, + lib_name: Union[str, None] = None, + ) -> ResponseT: + """ + List the functions with additional information about each function. + + ``with_code`` Show libraries code. + ``verbose`` output verbosity level, higher number will increase verbosity level + ``lib_name`` specifying a library name (can be used multiple times to show multiple libraries in a single command) # noqa + + For more information see https://redis.io/commands/tfunction-list/ + """ + pieces = [] + if with_code: + pieces.append("WITHCODE") + if verbose >= 1 and verbose <= 3: + pieces.append("v" * verbose) + else: + raise DataError("verbose can be 1, 2 or 3") + if lib_name is not None: + pieces.append("LIBRARY") + pieces.append(lib_name) + + return self.execute_command("TFUNCTION LIST", *pieces) + + def _tfcall( + self, + lib_name: str, + func_name: str, + keys: KeysT = None, + _async: bool = False, + *args: List, + ) -> ResponseT: + pieces = [f"{lib_name}.{func_name}"] + if keys is not None: + pieces.append(len(keys)) + pieces.extend(keys) + else: + pieces.append(0) + if args is not None: + pieces.extend(args) + if _async: + return self.execute_command("TFCALLASYNC", *pieces) + return self.execute_command("TFCALL", *pieces) + + def tfcall( + self, + lib_name: str, + func_name: str, + keys: KeysT = None, + *args: List, + ) -> ResponseT: + """ + Invoke a function. + + ``lib_name`` - the library name contains the function. + ``func_name`` - the function name to run. + ``keys`` - the keys that will be touched by the function. + ``args`` - Additional argument to pass to the function. + + For more information see https://redis.io/commands/tfcall/ + """ + return self._tfcall(lib_name, func_name, keys, False, *args) + + def tfcall_async( + self, + lib_name: str, + func_name: str, + keys: KeysT = None, + *args: List, + ) -> ResponseT: + """ + Invoke an async function (coroutine). + + ``lib_name`` - the library name contains the function. + ``func_name`` - the function name to run. + ``keys`` - the keys that will be touched by the function. + ``args`` - Additional argument to pass to the function. + + For more information see https://redis.io/commands/tfcall/ + """ + return self._tfcall(lib_name, func_name, keys, True, *args) + + +AsyncGearsCommands = GearsCommands + + class DataAccessCommands( BasicKeyCommands, HyperlogCommands, @@ -6711,6 +6280,7 @@ class CoreCommands( PubSubCommands, ScriptCommands, FunctionCommands, + GearsCommands, ): """ A class containing all of the implemented redis commands. This class is @@ -6727,6 +6297,7 @@ class AsyncCoreCommands( AsyncPubSubCommands, AsyncScriptCommands, AsyncFunctionCommands, + AsyncGearsCommands, ): """ A class containing all of the implemented redis commands. This class is diff --git a/venv/lib/python3.12/site-packages/redis/commands/graph/__init__.py b/venv/lib/python3.12/site-packages/redis/commands/graph/__init__.py new file mode 100644 index 0000000..ffaf1fb --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis/commands/graph/__init__.py @@ -0,0 +1,263 @@ +import warnings + +from ..helpers import quote_string, random_string, stringify_param_value +from .commands import AsyncGraphCommands, GraphCommands +from .edge import Edge # noqa +from .node import Node # noqa +from .path import Path # noqa + +DB_LABELS = "DB.LABELS" +DB_RAELATIONSHIPTYPES = "DB.RELATIONSHIPTYPES" +DB_PROPERTYKEYS = "DB.PROPERTYKEYS" + + +class Graph(GraphCommands): + """ + Graph, collection of nodes and edges. + """ + + def __init__(self, client, name=random_string()): + """ + Create a new graph. + """ + warnings.warn( + DeprecationWarning( + "RedisGraph support is deprecated as of Redis Stack 7.2 \ + (https://redis.com/blog/redisgraph-eol/)" + ) + ) + self.NAME = name # Graph key + self.client = client + self.execute_command = client.execute_command + + self.nodes = {} + self.edges = [] + self._labels = [] # List of node labels. + self._properties = [] # List of properties. + self._relationship_types = [] # List of relation types. + self.version = 0 # Graph version + + @property + def name(self): + return self.NAME + + def _clear_schema(self): + self._labels = [] + self._properties = [] + self._relationship_types = [] + + def _refresh_schema(self): + self._clear_schema() + self._refresh_labels() + self._refresh_relations() + self._refresh_attributes() + + def _refresh_labels(self): + lbls = self.labels() + + # Unpack data. + self._labels = [l[0] for _, l in enumerate(lbls)] + + def _refresh_relations(self): + rels = self.relationship_types() + + # Unpack data. + self._relationship_types = [r[0] for _, r in enumerate(rels)] + + def _refresh_attributes(self): + props = self.property_keys() + + # Unpack data. + self._properties = [p[0] for _, p in enumerate(props)] + + def get_label(self, idx): + """ + Returns a label by it's index + + Args: + + idx: + The index of the label + """ + try: + label = self._labels[idx] + except IndexError: + # Refresh labels. + self._refresh_labels() + label = self._labels[idx] + return label + + def get_relation(self, idx): + """ + Returns a relationship type by it's index + + Args: + + idx: + The index of the relation + """ + try: + relationship_type = self._relationship_types[idx] + except IndexError: + # Refresh relationship types. + self._refresh_relations() + relationship_type = self._relationship_types[idx] + return relationship_type + + def get_property(self, idx): + """ + Returns a property by it's index + + Args: + + idx: + The index of the property + """ + try: + p = self._properties[idx] + except IndexError: + # Refresh properties. + self._refresh_attributes() + p = self._properties[idx] + return p + + def add_node(self, node): + """ + Adds a node to the graph. + """ + if node.alias is None: + node.alias = random_string() + self.nodes[node.alias] = node + + def add_edge(self, edge): + """ + Adds an edge to the graph. + """ + if not (self.nodes[edge.src_node.alias] and self.nodes[edge.dest_node.alias]): + raise AssertionError("Both edge's end must be in the graph") + + self.edges.append(edge) + + def _build_params_header(self, params): + if params is None: + return "" + if not isinstance(params, dict): + raise TypeError("'params' must be a dict") + # Header starts with "CYPHER" + params_header = "CYPHER " + for key, value in params.items(): + params_header += str(key) + "=" + stringify_param_value(value) + " " + return params_header + + # Procedures. + def call_procedure(self, procedure, *args, read_only=False, **kwagrs): + args = [quote_string(arg) for arg in args] + q = f"CALL {procedure}({','.join(args)})" + + y = kwagrs.get("y", None) + if y is not None: + q += f"YIELD {','.join(y)}" + + return self.query(q, read_only=read_only) + + def labels(self): + return self.call_procedure(DB_LABELS, read_only=True).result_set + + def relationship_types(self): + return self.call_procedure(DB_RAELATIONSHIPTYPES, read_only=True).result_set + + def property_keys(self): + return self.call_procedure(DB_PROPERTYKEYS, read_only=True).result_set + + +class AsyncGraph(Graph, AsyncGraphCommands): + """Async version for Graph""" + + async def _refresh_labels(self): + lbls = await self.labels() + + # Unpack data. + self._labels = [l[0] for _, l in enumerate(lbls)] + + async def _refresh_attributes(self): + props = await self.property_keys() + + # Unpack data. + self._properties = [p[0] for _, p in enumerate(props)] + + async def _refresh_relations(self): + rels = await self.relationship_types() + + # Unpack data. + self._relationship_types = [r[0] for _, r in enumerate(rels)] + + async def get_label(self, idx): + """ + Returns a label by it's index + + Args: + + idx: + The index of the label + """ + try: + label = self._labels[idx] + except IndexError: + # Refresh labels. + await self._refresh_labels() + label = self._labels[idx] + return label + + async def get_property(self, idx): + """ + Returns a property by it's index + + Args: + + idx: + The index of the property + """ + try: + p = self._properties[idx] + except IndexError: + # Refresh properties. + await self._refresh_attributes() + p = self._properties[idx] + return p + + async def get_relation(self, idx): + """ + Returns a relationship type by it's index + + Args: + + idx: + The index of the relation + """ + try: + relationship_type = self._relationship_types[idx] + except IndexError: + # Refresh relationship types. + await self._refresh_relations() + relationship_type = self._relationship_types[idx] + return relationship_type + + async def call_procedure(self, procedure, *args, read_only=False, **kwagrs): + args = [quote_string(arg) for arg in args] + q = f"CALL {procedure}({','.join(args)})" + + y = kwagrs.get("y", None) + if y is not None: + f"YIELD {','.join(y)}" + return await self.query(q, read_only=read_only) + + async def labels(self): + return ((await self.call_procedure(DB_LABELS, read_only=True))).result_set + + async def property_keys(self): + return (await self.call_procedure(DB_PROPERTYKEYS, read_only=True)).result_set + + async def relationship_types(self): + return ( + await self.call_procedure(DB_RAELATIONSHIPTYPES, read_only=True) + ).result_set diff --git a/venv/lib/python3.12/site-packages/redis/commands/graph/commands.py b/venv/lib/python3.12/site-packages/redis/commands/graph/commands.py new file mode 100644 index 0000000..762ab42 --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis/commands/graph/commands.py @@ -0,0 +1,313 @@ +from redis import DataError +from redis.exceptions import ResponseError + +from .exceptions import VersionMismatchException +from .execution_plan import ExecutionPlan +from .query_result import AsyncQueryResult, QueryResult + +PROFILE_CMD = "GRAPH.PROFILE" +RO_QUERY_CMD = "GRAPH.RO_QUERY" +QUERY_CMD = "GRAPH.QUERY" +DELETE_CMD = "GRAPH.DELETE" +SLOWLOG_CMD = "GRAPH.SLOWLOG" +CONFIG_CMD = "GRAPH.CONFIG" +LIST_CMD = "GRAPH.LIST" +EXPLAIN_CMD = "GRAPH.EXPLAIN" + + +class GraphCommands: + """RedisGraph Commands""" + + def commit(self): + """ + Create entire graph. + """ + if len(self.nodes) == 0 and len(self.edges) == 0: + return None + + query = "CREATE " + for _, node in self.nodes.items(): + query += str(node) + "," + + query += ",".join([str(edge) for edge in self.edges]) + + # Discard leading comma. + if query[-1] == ",": + query = query[:-1] + + return self.query(query) + + def query(self, q, params=None, timeout=None, read_only=False, profile=False): + """ + Executes a query against the graph. + For more information see `GRAPH.QUERY `_. # noqa + + Args: + + q : str + The query. + params : dict + Query parameters. + timeout : int + Maximum runtime for read queries in milliseconds. + read_only : bool + Executes a readonly query if set to True. + profile : bool + Return details on results produced by and time + spent in each operation. + """ + + # maintain original 'q' + query = q + + # handle query parameters + query = self._build_params_header(params) + query + + # construct query command + # ask for compact result-set format + # specify known graph version + if profile: + cmd = PROFILE_CMD + else: + cmd = RO_QUERY_CMD if read_only else QUERY_CMD + command = [cmd, self.name, query, "--compact"] + + # include timeout is specified + if isinstance(timeout, int): + command.extend(["timeout", timeout]) + elif timeout is not None: + raise Exception("Timeout argument must be a positive integer") + + # issue query + try: + response = self.execute_command(*command) + return QueryResult(self, response, profile) + except ResponseError as e: + if "unknown command" in str(e) and read_only: + # `GRAPH.RO_QUERY` is unavailable in older versions. + return self.query(q, params, timeout, read_only=False) + raise e + except VersionMismatchException as e: + # client view over the graph schema is out of sync + # set client version and refresh local schema + self.version = e.version + self._refresh_schema() + # re-issue query + return self.query(q, params, timeout, read_only) + + def merge(self, pattern): + """ + Merge pattern. + """ + query = "MERGE " + query += str(pattern) + + return self.query(query) + + def delete(self): + """ + Deletes graph. + For more information see `DELETE `_. # noqa + """ + self._clear_schema() + return self.execute_command(DELETE_CMD, self.name) + + # declared here, to override the built in redis.db.flush() + def flush(self): + """ + Commit the graph and reset the edges and the nodes to zero length. + """ + self.commit() + self.nodes = {} + self.edges = [] + + def bulk(self, **kwargs): + """Internal only. Not supported.""" + raise NotImplementedError( + "GRAPH.BULK is internal only. " + "Use https://github.com/redisgraph/redisgraph-bulk-loader." + ) + + def profile(self, query): + """ + Execute a query and produce an execution plan augmented with metrics + for each operation's execution. Return a string representation of a + query execution plan, with details on results produced by and time + spent in each operation. + For more information see `GRAPH.PROFILE `_. # noqa + """ + return self.query(query, profile=True) + + def slowlog(self): + """ + Get a list containing up to 10 of the slowest queries issued + against the given graph ID. + For more information see `GRAPH.SLOWLOG `_. # noqa + + Each item in the list has the following structure: + 1. A unix timestamp at which the log entry was processed. + 2. The issued command. + 3. The issued query. + 4. The amount of time needed for its execution, in milliseconds. + """ + return self.execute_command(SLOWLOG_CMD, self.name) + + def config(self, name, value=None, set=False): + """ + Retrieve or update a RedisGraph configuration. + For more information see `https://redis.io/commands/graph.config-get/>`_. # noqa + + Args: + + name : str + The name of the configuration + value : + The value we want to set (can be used only when `set` is on) + set : bool + Turn on to set a configuration. Default behavior is get. + """ + params = ["SET" if set else "GET", name] + if value is not None: + if set: + params.append(value) + else: + raise DataError( + "``value`` can be provided only when ``set`` is True" + ) # noqa + return self.execute_command(CONFIG_CMD, *params) + + def list_keys(self): + """ + Lists all graph keys in the keyspace. + For more information see `GRAPH.LIST `_. # noqa + """ + return self.execute_command(LIST_CMD) + + def execution_plan(self, query, params=None): + """ + Get the execution plan for given query, + GRAPH.EXPLAIN returns an array of operations. + + Args: + query: the query that will be executed + params: query parameters + """ + query = self._build_params_header(params) + query + + plan = self.execute_command(EXPLAIN_CMD, self.name, query) + if isinstance(plan[0], bytes): + plan = [b.decode() for b in plan] + return "\n".join(plan) + + def explain(self, query, params=None): + """ + Get the execution plan for given query, + GRAPH.EXPLAIN returns ExecutionPlan object. + For more information see `GRAPH.EXPLAIN `_. # noqa + + Args: + query: the query that will be executed + params: query parameters + """ + query = self._build_params_header(params) + query + + plan = self.execute_command(EXPLAIN_CMD, self.name, query) + return ExecutionPlan(plan) + + +class AsyncGraphCommands(GraphCommands): + async def query(self, q, params=None, timeout=None, read_only=False, profile=False): + """ + Executes a query against the graph. + For more information see `GRAPH.QUERY `_. # noqa + + Args: + + q : str + The query. + params : dict + Query parameters. + timeout : int + Maximum runtime for read queries in milliseconds. + read_only : bool + Executes a readonly query if set to True. + profile : bool + Return details on results produced by and time + spent in each operation. + """ + + # maintain original 'q' + query = q + + # handle query parameters + query = self._build_params_header(params) + query + + # construct query command + # ask for compact result-set format + # specify known graph version + if profile: + cmd = PROFILE_CMD + else: + cmd = RO_QUERY_CMD if read_only else QUERY_CMD + command = [cmd, self.name, query, "--compact"] + + # include timeout is specified + if isinstance(timeout, int): + command.extend(["timeout", timeout]) + elif timeout is not None: + raise Exception("Timeout argument must be a positive integer") + + # issue query + try: + response = await self.execute_command(*command) + return await AsyncQueryResult().initialize(self, response, profile) + except ResponseError as e: + if "unknown command" in str(e) and read_only: + # `GRAPH.RO_QUERY` is unavailable in older versions. + return await self.query(q, params, timeout, read_only=False) + raise e + except VersionMismatchException as e: + # client view over the graph schema is out of sync + # set client version and refresh local schema + self.version = e.version + self._refresh_schema() + # re-issue query + return await self.query(q, params, timeout, read_only) + + async def execution_plan(self, query, params=None): + """ + Get the execution plan for given query, + GRAPH.EXPLAIN returns an array of operations. + + Args: + query: the query that will be executed + params: query parameters + """ + query = self._build_params_header(params) + query + + plan = await self.execute_command(EXPLAIN_CMD, self.name, query) + if isinstance(plan[0], bytes): + plan = [b.decode() for b in plan] + return "\n".join(plan) + + async def explain(self, query, params=None): + """ + Get the execution plan for given query, + GRAPH.EXPLAIN returns ExecutionPlan object. + + Args: + query: the query that will be executed + params: query parameters + """ + query = self._build_params_header(params) + query + + plan = await self.execute_command(EXPLAIN_CMD, self.name, query) + return ExecutionPlan(plan) + + async def flush(self): + """ + Commit the graph and reset the edges and the nodes to zero length. + """ + await self.commit() + self.nodes = {} + self.edges = [] diff --git a/venv/lib/python3.12/site-packages/redis/commands/graph/edge.py b/venv/lib/python3.12/site-packages/redis/commands/graph/edge.py new file mode 100644 index 0000000..6ee195f --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis/commands/graph/edge.py @@ -0,0 +1,91 @@ +from ..helpers import quote_string +from .node import Node + + +class Edge: + """ + An edge connecting two nodes. + """ + + def __init__(self, src_node, relation, dest_node, edge_id=None, properties=None): + """ + Create a new edge. + """ + if src_node is None or dest_node is None: + # NOTE(bors-42): It makes sense to change AssertionError to + # ValueError here + raise AssertionError("Both src_node & dest_node must be provided") + + self.id = edge_id + self.relation = relation or "" + self.properties = properties or {} + self.src_node = src_node + self.dest_node = dest_node + + def to_string(self): + res = "" + if self.properties: + props = ",".join( + key + ":" + str(quote_string(val)) + for key, val in sorted(self.properties.items()) + ) + res += "{" + props + "}" + + return res + + def __str__(self): + # Source node. + if isinstance(self.src_node, Node): + res = str(self.src_node) + else: + res = "()" + + # Edge + res += "-[" + if self.relation: + res += ":" + self.relation + if self.properties: + props = ",".join( + key + ":" + str(quote_string(val)) + for key, val in sorted(self.properties.items()) + ) + res += "{" + props + "}" + res += "]->" + + # Dest node. + if isinstance(self.dest_node, Node): + res += str(self.dest_node) + else: + res += "()" + + return res + + def __eq__(self, rhs): + # Type checking + if not isinstance(rhs, Edge): + return False + + # Quick positive check, if both IDs are set. + if self.id is not None and rhs.id is not None and self.id == rhs.id: + return True + + # Source and destination nodes should match. + if self.src_node != rhs.src_node: + return False + + if self.dest_node != rhs.dest_node: + return False + + # Relation should match. + if self.relation != rhs.relation: + return False + + # Quick check for number of properties. + if len(self.properties) != len(rhs.properties): + return False + + # Compare properties. + if self.properties != rhs.properties: + return False + + return True diff --git a/venv/lib/python3.12/site-packages/redis/commands/graph/exceptions.py b/venv/lib/python3.12/site-packages/redis/commands/graph/exceptions.py new file mode 100644 index 0000000..4bbac10 --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis/commands/graph/exceptions.py @@ -0,0 +1,3 @@ +class VersionMismatchException(Exception): + def __init__(self, version): + self.version = version diff --git a/venv/lib/python3.12/site-packages/redis/commands/graph/execution_plan.py b/venv/lib/python3.12/site-packages/redis/commands/graph/execution_plan.py new file mode 100644 index 0000000..179a80c --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis/commands/graph/execution_plan.py @@ -0,0 +1,211 @@ +import re + + +class ProfileStats: + """ + ProfileStats, runtime execution statistics of operation. + """ + + def __init__(self, records_produced, execution_time): + self.records_produced = records_produced + self.execution_time = execution_time + + +class Operation: + """ + Operation, single operation within execution plan. + """ + + def __init__(self, name, args=None, profile_stats=None): + """ + Create a new operation. + + Args: + name: string that represents the name of the operation + args: operation arguments + profile_stats: profile statistics + """ + self.name = name + self.args = args + self.profile_stats = profile_stats + self.children = [] + + def append_child(self, child): + if not isinstance(child, Operation) or self is child: + raise Exception("child must be Operation") + + self.children.append(child) + return self + + def child_count(self): + return len(self.children) + + def __eq__(self, o: object) -> bool: + if not isinstance(o, Operation): + return False + + return self.name == o.name and self.args == o.args + + def __str__(self) -> str: + args_str = "" if self.args is None else " | " + self.args + return f"{self.name}{args_str}" + + +class ExecutionPlan: + """ + ExecutionPlan, collection of operations. + """ + + def __init__(self, plan): + """ + Create a new execution plan. + + Args: + plan: array of strings that represents the collection operations + the output from GRAPH.EXPLAIN + """ + if not isinstance(plan, list): + raise Exception("plan must be an array") + + if isinstance(plan[0], bytes): + plan = [b.decode() for b in plan] + + self.plan = plan + self.structured_plan = self._operation_tree() + + def _compare_operations(self, root_a, root_b): + """ + Compare execution plan operation tree + + Return: True if operation trees are equal, False otherwise + """ + + # compare current root + if root_a != root_b: + return False + + # make sure root have the same number of children + if root_a.child_count() != root_b.child_count(): + return False + + # recursively compare children + for i in range(root_a.child_count()): + if not self._compare_operations(root_a.children[i], root_b.children[i]): + return False + + return True + + def __str__(self) -> str: + def aggraget_str(str_children): + return "\n".join( + [ + " " + line + for str_child in str_children + for line in str_child.splitlines() + ] + ) + + def combine_str(x, y): + return f"{x}\n{y}" + + return self._operation_traverse( + self.structured_plan, str, aggraget_str, combine_str + ) + + def __eq__(self, o: object) -> bool: + """Compares two execution plans + + Return: True if the two plans are equal False otherwise + """ + # make sure 'o' is an execution-plan + if not isinstance(o, ExecutionPlan): + return False + + # get root for both plans + root_a = self.structured_plan + root_b = o.structured_plan + + # compare execution trees + return self._compare_operations(root_a, root_b) + + def _operation_traverse(self, op, op_f, aggregate_f, combine_f): + """ + Traverse operation tree recursively applying functions + + Args: + op: operation to traverse + op_f: function applied for each operation + aggregate_f: aggregation function applied for all children of a single operation + combine_f: combine function applied for the operation result and the children result + """ # noqa + # apply op_f for each operation + op_res = op_f(op) + if len(op.children) == 0: + return op_res # no children return + else: + # apply _operation_traverse recursively + children = [ + self._operation_traverse(child, op_f, aggregate_f, combine_f) + for child in op.children + ] + # combine the operation result with the children aggregated result + return combine_f(op_res, aggregate_f(children)) + + def _operation_tree(self): + """Build the operation tree from the string representation""" + + # initial state + i = 0 + level = 0 + stack = [] + current = None + + def _create_operation(args): + profile_stats = None + name = args[0].strip() + args.pop(0) + if len(args) > 0 and "Records produced" in args[-1]: + records_produced = int( + re.search("Records produced: (\\d+)", args[-1]).group(1) + ) + execution_time = float( + re.search("Execution time: (\\d+.\\d+) ms", args[-1]).group(1) + ) + profile_stats = ProfileStats(records_produced, execution_time) + args.pop(-1) + return Operation( + name, None if len(args) == 0 else args[0].strip(), profile_stats + ) + + # iterate plan operations + while i < len(self.plan): + current_op = self.plan[i] + op_level = current_op.count(" ") + if op_level == level: + # if the operation level equal to the current level + # set the current operation and move next + child = _create_operation(current_op.split("|")) + if current: + current = stack.pop() + current.append_child(child) + current = child + i += 1 + elif op_level == level + 1: + # if the operation is child of the current operation + # add it as child and set as current operation + child = _create_operation(current_op.split("|")) + current.append_child(child) + stack.append(current) + current = child + level += 1 + i += 1 + elif op_level < level: + # if the operation is not child of current operation + # go back to it's parent operation + levels_back = level - op_level + 1 + for _ in range(levels_back): + current = stack.pop() + level -= levels_back + else: + raise Exception("corrupted plan") + return stack[0] diff --git a/venv/lib/python3.12/site-packages/redis/commands/graph/node.py b/venv/lib/python3.12/site-packages/redis/commands/graph/node.py new file mode 100644 index 0000000..4546a39 --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis/commands/graph/node.py @@ -0,0 +1,88 @@ +from ..helpers import quote_string + + +class Node: + """ + A node within the graph. + """ + + def __init__(self, node_id=None, alias=None, label=None, properties=None): + """ + Create a new node. + """ + self.id = node_id + self.alias = alias + if isinstance(label, list): + label = [inner_label for inner_label in label if inner_label != ""] + + if ( + label is None + or label == "" + or (isinstance(label, list) and len(label) == 0) + ): + self.label = None + self.labels = None + elif isinstance(label, str): + self.label = label + self.labels = [label] + elif isinstance(label, list) and all( + [isinstance(inner_label, str) for inner_label in label] + ): + self.label = label[0] + self.labels = label + else: + raise AssertionError( + "label should be either None, string or a list of strings" + ) + + self.properties = properties or {} + + def to_string(self): + res = "" + if self.properties: + props = ",".join( + key + ":" + str(quote_string(val)) + for key, val in sorted(self.properties.items()) + ) + res += "{" + props + "}" + + return res + + def __str__(self): + res = "(" + if self.alias: + res += self.alias + if self.labels: + res += ":" + ":".join(self.labels) + if self.properties: + props = ",".join( + key + ":" + str(quote_string(val)) + for key, val in sorted(self.properties.items()) + ) + res += "{" + props + "}" + res += ")" + + return res + + def __eq__(self, rhs): + # Type checking + if not isinstance(rhs, Node): + return False + + # Quick positive check, if both IDs are set. + if self.id is not None and rhs.id is not None and self.id != rhs.id: + return False + + # Label should match. + if self.label != rhs.label: + return False + + # Quick check for number of properties. + if len(self.properties) != len(rhs.properties): + return False + + # Compare properties. + if self.properties != rhs.properties: + return False + + return True diff --git a/venv/lib/python3.12/site-packages/redis/commands/graph/path.py b/venv/lib/python3.12/site-packages/redis/commands/graph/path.py new file mode 100644 index 0000000..ee22dc8 --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis/commands/graph/path.py @@ -0,0 +1,78 @@ +from .edge import Edge +from .node import Node + + +class Path: + def __init__(self, nodes, edges): + if not (isinstance(nodes, list) and isinstance(edges, list)): + raise TypeError("nodes and edges must be list") + + self._nodes = nodes + self._edges = edges + self.append_type = Node + + @classmethod + def new_empty_path(cls): + return cls([], []) + + def nodes(self): + return self._nodes + + def edges(self): + return self._edges + + def get_node(self, index): + return self._nodes[index] + + def get_relationship(self, index): + return self._edges[index] + + def first_node(self): + return self._nodes[0] + + def last_node(self): + return self._nodes[-1] + + def edge_count(self): + return len(self._edges) + + def nodes_count(self): + return len(self._nodes) + + def add_node(self, node): + if not isinstance(node, self.append_type): + raise AssertionError("Add Edge before adding Node") + self._nodes.append(node) + self.append_type = Edge + return self + + def add_edge(self, edge): + if not isinstance(edge, self.append_type): + raise AssertionError("Add Node before adding Edge") + self._edges.append(edge) + self.append_type = Node + return self + + def __eq__(self, other): + # Type checking + if not isinstance(other, Path): + return False + + return self.nodes() == other.nodes() and self.edges() == other.edges() + + def __str__(self): + res = "<" + edge_count = self.edge_count() + for i in range(0, edge_count): + node_id = self.get_node(i).id + res += "(" + str(node_id) + ")" + edge = self.get_relationship(i) + res += ( + "-[" + str(int(edge.id)) + "]->" + if edge.src_node == node_id + else "<-[" + str(int(edge.id)) + "]-" + ) + node_id = self.get_node(edge_count).id + res += "(" + str(node_id) + ")" + res += ">" + return res diff --git a/venv/lib/python3.12/site-packages/redis/commands/graph/query_result.py b/venv/lib/python3.12/site-packages/redis/commands/graph/query_result.py new file mode 100644 index 0000000..7c7f58b --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis/commands/graph/query_result.py @@ -0,0 +1,573 @@ +import sys +from collections import OrderedDict +from distutils.util import strtobool + +# from prettytable import PrettyTable +from redis import ResponseError + +from .edge import Edge +from .exceptions import VersionMismatchException +from .node import Node +from .path import Path + +LABELS_ADDED = "Labels added" +LABELS_REMOVED = "Labels removed" +NODES_CREATED = "Nodes created" +NODES_DELETED = "Nodes deleted" +RELATIONSHIPS_DELETED = "Relationships deleted" +PROPERTIES_SET = "Properties set" +PROPERTIES_REMOVED = "Properties removed" +RELATIONSHIPS_CREATED = "Relationships created" +INDICES_CREATED = "Indices created" +INDICES_DELETED = "Indices deleted" +CACHED_EXECUTION = "Cached execution" +INTERNAL_EXECUTION_TIME = "internal execution time" + +STATS = [ + LABELS_ADDED, + LABELS_REMOVED, + NODES_CREATED, + PROPERTIES_SET, + PROPERTIES_REMOVED, + RELATIONSHIPS_CREATED, + NODES_DELETED, + RELATIONSHIPS_DELETED, + INDICES_CREATED, + INDICES_DELETED, + CACHED_EXECUTION, + INTERNAL_EXECUTION_TIME, +] + + +class ResultSetColumnTypes: + COLUMN_UNKNOWN = 0 + COLUMN_SCALAR = 1 + COLUMN_NODE = 2 # Unused as of RedisGraph v2.1.0, retained for backwards compatibility. # noqa + COLUMN_RELATION = 3 # Unused as of RedisGraph v2.1.0, retained for backwards compatibility. # noqa + + +class ResultSetScalarTypes: + VALUE_UNKNOWN = 0 + VALUE_NULL = 1 + VALUE_STRING = 2 + VALUE_INTEGER = 3 + VALUE_BOOLEAN = 4 + VALUE_DOUBLE = 5 + VALUE_ARRAY = 6 + VALUE_EDGE = 7 + VALUE_NODE = 8 + VALUE_PATH = 9 + VALUE_MAP = 10 + VALUE_POINT = 11 + + +class QueryResult: + def __init__(self, graph, response, profile=False): + """ + A class that represents a result of the query operation. + + Args: + + graph: + The graph on which the query was executed. + response: + The response from the server. + profile: + A boolean indicating if the query command was "GRAPH.PROFILE" + """ + self.graph = graph + self.header = [] + self.result_set = [] + + # in case of an error an exception will be raised + self._check_for_errors(response) + + if len(response) == 1: + self.parse_statistics(response[0]) + elif profile: + self.parse_profile(response) + else: + # start by parsing statistics, matches the one we have + self.parse_statistics(response[-1]) # Last element. + self.parse_results(response) + + def _check_for_errors(self, response): + """ + Check if the response contains an error. + """ + if isinstance(response[0], ResponseError): + error = response[0] + if str(error) == "version mismatch": + version = response[1] + error = VersionMismatchException(version) + raise error + + # If we encountered a run-time error, the last response + # element will be an exception + if isinstance(response[-1], ResponseError): + raise response[-1] + + def parse_results(self, raw_result_set): + """ + Parse the query execution result returned from the server. + """ + self.header = self.parse_header(raw_result_set) + + # Empty header. + if len(self.header) == 0: + return + + self.result_set = self.parse_records(raw_result_set) + + def parse_statistics(self, raw_statistics): + """ + Parse the statistics returned in the response. + """ + self.statistics = {} + + # decode statistics + for idx, stat in enumerate(raw_statistics): + if isinstance(stat, bytes): + raw_statistics[idx] = stat.decode() + + for s in STATS: + v = self._get_value(s, raw_statistics) + if v is not None: + self.statistics[s] = v + + def parse_header(self, raw_result_set): + """ + Parse the header of the result. + """ + # An array of column name/column type pairs. + header = raw_result_set[0] + return header + + def parse_records(self, raw_result_set): + """ + Parses the result set and returns a list of records. + """ + records = [ + [ + self.parse_record_types[self.header[idx][0]](cell) + for idx, cell in enumerate(row) + ] + for row in raw_result_set[1] + ] + + return records + + def parse_entity_properties(self, props): + """ + Parse node / edge properties. + """ + # [[name, value type, value] X N] + properties = {} + for prop in props: + prop_name = self.graph.get_property(prop[0]) + prop_value = self.parse_scalar(prop[1:]) + properties[prop_name] = prop_value + + return properties + + def parse_string(self, cell): + """ + Parse the cell as a string. + """ + if isinstance(cell, bytes): + return cell.decode() + elif not isinstance(cell, str): + return str(cell) + else: + return cell + + def parse_node(self, cell): + """ + Parse the cell to a node. + """ + # Node ID (integer), + # [label string offset (integer)], + # [[name, value type, value] X N] + + node_id = int(cell[0]) + labels = None + if len(cell[1]) > 0: + labels = [] + for inner_label in cell[1]: + labels.append(self.graph.get_label(inner_label)) + properties = self.parse_entity_properties(cell[2]) + return Node(node_id=node_id, label=labels, properties=properties) + + def parse_edge(self, cell): + """ + Parse the cell to an edge. + """ + # Edge ID (integer), + # reltype string offset (integer), + # src node ID offset (integer), + # dest node ID offset (integer), + # [[name, value, value type] X N] + + edge_id = int(cell[0]) + relation = self.graph.get_relation(cell[1]) + src_node_id = int(cell[2]) + dest_node_id = int(cell[3]) + properties = self.parse_entity_properties(cell[4]) + return Edge( + src_node_id, relation, dest_node_id, edge_id=edge_id, properties=properties + ) + + def parse_path(self, cell): + """ + Parse the cell to a path. + """ + nodes = self.parse_scalar(cell[0]) + edges = self.parse_scalar(cell[1]) + return Path(nodes, edges) + + def parse_map(self, cell): + """ + Parse the cell as a map. + """ + m = OrderedDict() + n_entries = len(cell) + + # A map is an array of key value pairs. + # 1. key (string) + # 2. array: (value type, value) + for i in range(0, n_entries, 2): + key = self.parse_string(cell[i]) + m[key] = self.parse_scalar(cell[i + 1]) + + return m + + def parse_point(self, cell): + """ + Parse the cell to point. + """ + p = {} + # A point is received an array of the form: [latitude, longitude] + # It is returned as a map of the form: {"latitude": latitude, "longitude": longitude} # noqa + p["latitude"] = float(cell[0]) + p["longitude"] = float(cell[1]) + return p + + def parse_null(self, cell): + """ + Parse a null value. + """ + return None + + def parse_integer(self, cell): + """ + Parse the integer value from the cell. + """ + return int(cell) + + def parse_boolean(self, value): + """ + Parse the cell value as a boolean. + """ + value = value.decode() if isinstance(value, bytes) else value + try: + scalar = True if strtobool(value) else False + except ValueError: + sys.stderr.write("unknown boolean type\n") + scalar = None + return scalar + + def parse_double(self, cell): + """ + Parse the cell as a double. + """ + return float(cell) + + def parse_array(self, value): + """ + Parse an array of values. + """ + scalar = [self.parse_scalar(value[i]) for i in range(len(value))] + return scalar + + def parse_unknown(self, cell): + """ + Parse a cell of unknown type. + """ + sys.stderr.write("Unknown type\n") + return None + + def parse_scalar(self, cell): + """ + Parse a scalar value from a cell in the result set. + """ + scalar_type = int(cell[0]) + value = cell[1] + scalar = self.parse_scalar_types[scalar_type](value) + + return scalar + + def parse_profile(self, response): + self.result_set = [x[0 : x.index(",")].strip() for x in response] + + def is_empty(self): + return len(self.result_set) == 0 + + @staticmethod + def _get_value(prop, statistics): + for stat in statistics: + if prop in stat: + return float(stat.split(": ")[1].split(" ")[0]) + + return None + + def _get_stat(self, stat): + return self.statistics[stat] if stat in self.statistics else 0 + + @property + def labels_added(self): + """Returns the number of labels added in the query""" + return self._get_stat(LABELS_ADDED) + + @property + def labels_removed(self): + """Returns the number of labels removed in the query""" + return self._get_stat(LABELS_REMOVED) + + @property + def nodes_created(self): + """Returns the number of nodes created in the query""" + return self._get_stat(NODES_CREATED) + + @property + def nodes_deleted(self): + """Returns the number of nodes deleted in the query""" + return self._get_stat(NODES_DELETED) + + @property + def properties_set(self): + """Returns the number of properties set in the query""" + return self._get_stat(PROPERTIES_SET) + + @property + def properties_removed(self): + """Returns the number of properties removed in the query""" + return self._get_stat(PROPERTIES_REMOVED) + + @property + def relationships_created(self): + """Returns the number of relationships created in the query""" + return self._get_stat(RELATIONSHIPS_CREATED) + + @property + def relationships_deleted(self): + """Returns the number of relationships deleted in the query""" + return self._get_stat(RELATIONSHIPS_DELETED) + + @property + def indices_created(self): + """Returns the number of indices created in the query""" + return self._get_stat(INDICES_CREATED) + + @property + def indices_deleted(self): + """Returns the number of indices deleted in the query""" + return self._get_stat(INDICES_DELETED) + + @property + def cached_execution(self): + """Returns whether or not the query execution plan was cached""" + return self._get_stat(CACHED_EXECUTION) == 1 + + @property + def run_time_ms(self): + """Returns the server execution time of the query""" + return self._get_stat(INTERNAL_EXECUTION_TIME) + + @property + def parse_scalar_types(self): + return { + ResultSetScalarTypes.VALUE_NULL: self.parse_null, + ResultSetScalarTypes.VALUE_STRING: self.parse_string, + ResultSetScalarTypes.VALUE_INTEGER: self.parse_integer, + ResultSetScalarTypes.VALUE_BOOLEAN: self.parse_boolean, + ResultSetScalarTypes.VALUE_DOUBLE: self.parse_double, + ResultSetScalarTypes.VALUE_ARRAY: self.parse_array, + ResultSetScalarTypes.VALUE_NODE: self.parse_node, + ResultSetScalarTypes.VALUE_EDGE: self.parse_edge, + ResultSetScalarTypes.VALUE_PATH: self.parse_path, + ResultSetScalarTypes.VALUE_MAP: self.parse_map, + ResultSetScalarTypes.VALUE_POINT: self.parse_point, + ResultSetScalarTypes.VALUE_UNKNOWN: self.parse_unknown, + } + + @property + def parse_record_types(self): + return { + ResultSetColumnTypes.COLUMN_SCALAR: self.parse_scalar, + ResultSetColumnTypes.COLUMN_NODE: self.parse_node, + ResultSetColumnTypes.COLUMN_RELATION: self.parse_edge, + ResultSetColumnTypes.COLUMN_UNKNOWN: self.parse_unknown, + } + + +class AsyncQueryResult(QueryResult): + """ + Async version for the QueryResult class - a class that + represents a result of the query operation. + """ + + def __init__(self): + """ + To init the class you must call self.initialize() + """ + pass + + async def initialize(self, graph, response, profile=False): + """ + Initializes the class. + Args: + + graph: + The graph on which the query was executed. + response: + The response from the server. + profile: + A boolean indicating if the query command was "GRAPH.PROFILE" + """ + self.graph = graph + self.header = [] + self.result_set = [] + + # in case of an error an exception will be raised + self._check_for_errors(response) + + if len(response) == 1: + self.parse_statistics(response[0]) + elif profile: + self.parse_profile(response) + else: + # start by parsing statistics, matches the one we have + self.parse_statistics(response[-1]) # Last element. + await self.parse_results(response) + + return self + + async def parse_node(self, cell): + """ + Parses a node from the cell. + """ + # Node ID (integer), + # [label string offset (integer)], + # [[name, value type, value] X N] + + labels = None + if len(cell[1]) > 0: + labels = [] + for inner_label in cell[1]: + labels.append(await self.graph.get_label(inner_label)) + properties = await self.parse_entity_properties(cell[2]) + node_id = int(cell[0]) + return Node(node_id=node_id, label=labels, properties=properties) + + async def parse_scalar(self, cell): + """ + Parses a scalar value from the server response. + """ + scalar_type = int(cell[0]) + value = cell[1] + try: + scalar = await self.parse_scalar_types[scalar_type](value) + except TypeError: + # Not all of the functions are async + scalar = self.parse_scalar_types[scalar_type](value) + + return scalar + + async def parse_records(self, raw_result_set): + """ + Parses the result set and returns a list of records. + """ + records = [] + for row in raw_result_set[1]: + record = [ + await self.parse_record_types[self.header[idx][0]](cell) + for idx, cell in enumerate(row) + ] + records.append(record) + + return records + + async def parse_results(self, raw_result_set): + """ + Parse the query execution result returned from the server. + """ + self.header = self.parse_header(raw_result_set) + + # Empty header. + if len(self.header) == 0: + return + + self.result_set = await self.parse_records(raw_result_set) + + async def parse_entity_properties(self, props): + """ + Parse node / edge properties. + """ + # [[name, value type, value] X N] + properties = {} + for prop in props: + prop_name = await self.graph.get_property(prop[0]) + prop_value = await self.parse_scalar(prop[1:]) + properties[prop_name] = prop_value + + return properties + + async def parse_edge(self, cell): + """ + Parse the cell to an edge. + """ + # Edge ID (integer), + # reltype string offset (integer), + # src node ID offset (integer), + # dest node ID offset (integer), + # [[name, value, value type] X N] + + edge_id = int(cell[0]) + relation = await self.graph.get_relation(cell[1]) + src_node_id = int(cell[2]) + dest_node_id = int(cell[3]) + properties = await self.parse_entity_properties(cell[4]) + return Edge( + src_node_id, relation, dest_node_id, edge_id=edge_id, properties=properties + ) + + async def parse_path(self, cell): + """ + Parse the cell to a path. + """ + nodes = await self.parse_scalar(cell[0]) + edges = await self.parse_scalar(cell[1]) + return Path(nodes, edges) + + async def parse_map(self, cell): + """ + Parse the cell to a map. + """ + m = OrderedDict() + n_entries = len(cell) + + # A map is an array of key value pairs. + # 1. key (string) + # 2. array: (value type, value) + for i in range(0, n_entries, 2): + key = self.parse_string(cell[i]) + m[key] = await self.parse_scalar(cell[i + 1]) + + return m + + async def parse_array(self, value): + """ + Parse array value. + """ + scalar = [await self.parse_scalar(value[i]) for i in range(len(value))] + return scalar diff --git a/venv/lib/python3.12/site-packages/redis/commands/helpers.py b/venv/lib/python3.12/site-packages/redis/commands/helpers.py index 859a43a..324d981 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/helpers.py +++ b/venv/lib/python3.12/site-packages/redis/commands/helpers.py @@ -43,32 +43,19 @@ def parse_to_list(response): """Optimistically parse the response to a list.""" res = [] - special_values = {"infinity", "nan", "-infinity"} - if response is None: return res for item in response: - if item is None: - res.append(None) - continue try: - item_str = nativestr(item) + res.append(int(item)) + except ValueError: + try: + res.append(float(item)) + except ValueError: + res.append(nativestr(item)) except TypeError: res.append(None) - continue - - if isinstance(item_str, str) and item_str.lower() in special_values: - res.append(item_str) # Keep as string - else: - try: - res.append(int(item)) - except ValueError: - try: - res.append(float(item)) - except ValueError: - res.append(item_str) - return res @@ -77,11 +64,6 @@ def parse_list_to_dict(response): for i in range(0, len(response), 2): if isinstance(response[i], list): res["Child iterators"].append(parse_list_to_dict(response[i])) - try: - if isinstance(response[i + 1], list): - res["Child iterators"].append(parse_list_to_dict(response[i + 1])) - except IndexError: - pass elif isinstance(response[i + 1], list): res["Child iterators"] = [parse_list_to_dict(response[i + 1])] else: @@ -92,6 +74,25 @@ def parse_list_to_dict(response): return res +def parse_to_dict(response): + if response is None: + return {} + + res = {} + for det in response: + if isinstance(det[1], list): + res[det[0]] = parse_list_to_dict(det[1]) + else: + try: # try to set the attribute. may be provided without value + try: # try to convert the value to float + res[det[0]] = float(det[1]) + except (TypeError, ValueError): + res[det[0]] = det[1] + except IndexError: + pass + return res + + def random_string(length=10): """ Returns a random N character long string. @@ -101,6 +102,26 @@ def random_string(length=10): ) +def quote_string(v): + """ + RedisGraph strings must be quoted, + quote_string wraps given v with quotes incase + v is a string. + """ + + if isinstance(v, bytes): + v = v.decode() + elif not isinstance(v, str): + return v + if len(v) == 0: + return '""' + + v = v.replace("\\", "\\\\") + v = v.replace('"', '\\"') + + return f'"{v}"' + + def decode_dict_keys(obj): """Decode the keys of the given dictionary with utf-8.""" newobj = copy.copy(obj) @@ -111,6 +132,33 @@ def decode_dict_keys(obj): return newobj +def stringify_param_value(value): + """ + Turn a parameter value into a string suitable for the params header of + a Cypher command. + You may pass any value that would be accepted by `json.dumps()`. + + Ways in which output differs from that of `str()`: + * Strings are quoted. + * None --> "null". + * In dictionaries, keys are _not_ quoted. + + :param value: The parameter value to be turned into a string. + :return: string + """ + + if isinstance(value, str): + return quote_string(value) + elif value is None: + return "null" + elif isinstance(value, (list, tuple)): + return f'[{",".join(map(stringify_param_value, value))}]' + elif isinstance(value, dict): + return f'{{{",".join(f"{k}:{stringify_param_value(v)}" for k, v in value.items())}}}' # noqa + else: + return str(value) + + def get_protocol_version(client): if isinstance(client, redis.Redis) or isinstance(client, redis.asyncio.Redis): return client.connection_pool.connection_kwargs.get("protocol") diff --git a/venv/lib/python3.12/site-packages/redis/commands/json/__init__.py b/venv/lib/python3.12/site-packages/redis/commands/json/__init__.py index 0e717b3..01077e6 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/json/__init__.py +++ b/venv/lib/python3.12/site-packages/redis/commands/json/__init__.py @@ -120,7 +120,7 @@ class JSON(JSONCommands): startup_nodes=self.client.nodes_manager.startup_nodes, result_callbacks=self.client.result_callbacks, cluster_response_callbacks=self.client.cluster_response_callbacks, - cluster_error_retry_attempts=self.client.retry.get_retries(), + cluster_error_retry_attempts=self.client.cluster_error_retry_attempts, read_from_replicas=self.client.read_from_replicas, reinitialize_steps=self.client.reinitialize_steps, lock=self.client._lock, diff --git a/venv/lib/python3.12/site-packages/redis/commands/json/_util.py b/venv/lib/python3.12/site-packages/redis/commands/json/_util.py index 5ef2edc..3400bcd 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/json/_util.py +++ b/venv/lib/python3.12/site-packages/redis/commands/json/_util.py @@ -1,5 +1,3 @@ -from typing import List, Mapping, Union +from typing import Any, Dict, List, Union -JsonType = Union[ - str, int, float, bool, None, Mapping[str, "JsonType"], List["JsonType"] -] +JsonType = Union[str, int, float, bool, None, Dict[str, Any], List[Any]] diff --git a/venv/lib/python3.12/site-packages/redis/commands/json/commands.py b/venv/lib/python3.12/site-packages/redis/commands/json/commands.py index 48849e1..0f92e0d 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/json/commands.py +++ b/venv/lib/python3.12/site-packages/redis/commands/json/commands.py @@ -15,7 +15,7 @@ class JSONCommands: def arrappend( self, name: str, path: Optional[str] = Path.root_path(), *args: List[JsonType] - ) -> List[Optional[int]]: + ) -> List[Union[int, None]]: """Append the objects ``args`` to the array under the ``path` in key ``name``. @@ -33,7 +33,7 @@ class JSONCommands: scalar: int, start: Optional[int] = None, stop: Optional[int] = None, - ) -> List[Optional[int]]: + ) -> List[Union[int, None]]: """ Return the index of ``scalar`` in the JSON array under ``path`` at key ``name``. @@ -49,11 +49,11 @@ class JSONCommands: if stop is not None: pieces.append(stop) - return self.execute_command("JSON.ARRINDEX", *pieces, keys=[name]) + return self.execute_command("JSON.ARRINDEX", *pieces) def arrinsert( self, name: str, path: str, index: int, *args: List[JsonType] - ) -> List[Optional[int]]: + ) -> List[Union[int, None]]: """Insert the objects ``args`` to the array at index ``index`` under the ``path` in key ``name``. @@ -66,20 +66,20 @@ class JSONCommands: def arrlen( self, name: str, path: Optional[str] = Path.root_path() - ) -> List[Optional[int]]: + ) -> List[Union[int, None]]: """Return the length of the array JSON value under ``path`` at key``name``. For more information see `JSON.ARRLEN `_. """ # noqa - return self.execute_command("JSON.ARRLEN", name, str(path), keys=[name]) + return self.execute_command("JSON.ARRLEN", name, str(path)) def arrpop( self, name: str, path: Optional[str] = Path.root_path(), index: Optional[int] = -1, - ) -> List[Optional[str]]: + ) -> List[Union[str, None]]: """Pop the element at ``index`` in the array JSON value under ``path`` at key ``name``. @@ -89,7 +89,7 @@ class JSONCommands: def arrtrim( self, name: str, path: str, start: int, stop: int - ) -> List[Optional[int]]: + ) -> List[Union[int, None]]: """Trim the array JSON value under ``path`` at key ``name`` to the inclusive range given by ``start`` and ``stop``. @@ -102,34 +102,32 @@ class JSONCommands: For more information see `JSON.TYPE `_. """ # noqa - return self.execute_command("JSON.TYPE", name, str(path), keys=[name]) + return self.execute_command("JSON.TYPE", name, str(path)) def resp(self, name: str, path: Optional[str] = Path.root_path()) -> List: """Return the JSON value under ``path`` at key ``name``. For more information see `JSON.RESP `_. """ # noqa - return self.execute_command("JSON.RESP", name, str(path), keys=[name]) + return self.execute_command("JSON.RESP", name, str(path)) def objkeys( self, name: str, path: Optional[str] = Path.root_path() - ) -> List[Optional[List[str]]]: + ) -> List[Union[List[str], None]]: """Return the key names in the dictionary JSON value under ``path`` at key ``name``. For more information see `JSON.OBJKEYS `_. """ # noqa - return self.execute_command("JSON.OBJKEYS", name, str(path), keys=[name]) + return self.execute_command("JSON.OBJKEYS", name, str(path)) - def objlen( - self, name: str, path: Optional[str] = Path.root_path() - ) -> List[Optional[int]]: + def objlen(self, name: str, path: Optional[str] = Path.root_path()) -> int: """Return the length of the dictionary JSON value under ``path`` at key ``name``. For more information see `JSON.OBJLEN `_. """ # noqa - return self.execute_command("JSON.OBJLEN", name, str(path), keys=[name]) + return self.execute_command("JSON.OBJLEN", name, str(path)) def numincrby(self, name: str, path: str, number: int) -> str: """Increment the numeric (integer or floating point) JSON value under @@ -175,7 +173,7 @@ class JSONCommands: def get( self, name: str, *args, no_escape: Optional[bool] = False - ) -> Optional[List[JsonType]]: + ) -> List[JsonType]: """ Get the object stored as a JSON value at key ``name``. @@ -199,7 +197,7 @@ class JSONCommands: # Handle case where key doesn't exist. The JSONDecoder would raise a # TypeError exception since it can't decode None try: - return self.execute_command("JSON.GET", *pieces, keys=[name]) + return self.execute_command("JSON.GET", *pieces) except TypeError: return None @@ -213,7 +211,7 @@ class JSONCommands: pieces = [] pieces += keys pieces.append(str(path)) - return self.execute_command("JSON.MGET", *pieces, keys=keys) + return self.execute_command("JSON.MGET", *pieces) def set( self, @@ -314,7 +312,7 @@ class JSONCommands: """ - with open(file_name) as fp: + with open(file_name, "r") as fp: file_content = loads(fp.read()) return self.set(name, path, file_content, nx=nx, xx=xx, decode_keys=decode_keys) @@ -326,7 +324,7 @@ class JSONCommands: nx: Optional[bool] = False, xx: Optional[bool] = False, decode_keys: Optional[bool] = False, - ) -> Dict[str, bool]: + ) -> List[Dict[str, bool]]: """ Iterate over ``root_folder`` and set each JSON file to a value under ``json_path`` with the file name as the key. @@ -357,7 +355,7 @@ class JSONCommands: return set_files_result - def strlen(self, name: str, path: Optional[str] = None) -> List[Optional[int]]: + def strlen(self, name: str, path: Optional[str] = None) -> List[Union[int, None]]: """Return the length of the string JSON value under ``path`` at key ``name``. @@ -366,7 +364,7 @@ class JSONCommands: pieces = [name] if path is not None: pieces.append(str(path)) - return self.execute_command("JSON.STRLEN", *pieces, keys=[name]) + return self.execute_command("JSON.STRLEN", *pieces) def toggle( self, name: str, path: Optional[str] = Path.root_path() @@ -379,7 +377,7 @@ class JSONCommands: return self.execute_command("JSON.TOGGLE", name, str(path)) def strappend( - self, name: str, value: str, path: Optional[str] = Path.root_path() + self, name: str, value: str, path: Optional[int] = Path.root_path() ) -> Union[int, List[Optional[int]]]: """Append to the string JSON value. If two options are specified after the key name, the path is determined to be the first. If a single diff --git a/venv/lib/python3.12/site-packages/redis/commands/redismodules.py b/venv/lib/python3.12/site-packages/redis/commands/redismodules.py index 078844f..7e2045a 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/redismodules.py +++ b/venv/lib/python3.12/site-packages/redis/commands/redismodules.py @@ -1,14 +1,4 @@ -from __future__ import annotations - from json import JSONDecoder, JSONEncoder -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - from .bf import BFBloom, CFBloom, CMSBloom, TDigestBloom, TOPKBloom - from .json import JSON - from .search import AsyncSearch, Search - from .timeseries import TimeSeries - from .vectorset import VectorSet class RedisModuleCommands: @@ -16,7 +6,7 @@ class RedisModuleCommands: modules into the command namespace. """ - def json(self, encoder=JSONEncoder(), decoder=JSONDecoder()) -> JSON: + def json(self, encoder=JSONEncoder(), decoder=JSONDecoder()): """Access the json namespace, providing support for redis json.""" from .json import JSON @@ -24,7 +14,7 @@ class RedisModuleCommands: jj = JSON(client=self, encoder=encoder, decoder=decoder) return jj - def ft(self, index_name="idx") -> Search: + def ft(self, index_name="idx"): """Access the search namespace, providing support for redis search.""" from .search import Search @@ -32,7 +22,7 @@ class RedisModuleCommands: s = Search(client=self, index_name=index_name) return s - def ts(self) -> TimeSeries: + def ts(self): """Access the timeseries namespace, providing support for redis timeseries data. """ @@ -42,7 +32,7 @@ class RedisModuleCommands: s = TimeSeries(client=self) return s - def bf(self) -> BFBloom: + def bf(self): """Access the bloom namespace.""" from .bf import BFBloom @@ -50,7 +40,7 @@ class RedisModuleCommands: bf = BFBloom(client=self) return bf - def cf(self) -> CFBloom: + def cf(self): """Access the bloom namespace.""" from .bf import CFBloom @@ -58,7 +48,7 @@ class RedisModuleCommands: cf = CFBloom(client=self) return cf - def cms(self) -> CMSBloom: + def cms(self): """Access the bloom namespace.""" from .bf import CMSBloom @@ -66,7 +56,7 @@ class RedisModuleCommands: cms = CMSBloom(client=self) return cms - def topk(self) -> TOPKBloom: + def topk(self): """Access the bloom namespace.""" from .bf import TOPKBloom @@ -74,7 +64,7 @@ class RedisModuleCommands: topk = TOPKBloom(client=self) return topk - def tdigest(self) -> TDigestBloom: + def tdigest(self): """Access the bloom namespace.""" from .bf import TDigestBloom @@ -82,20 +72,32 @@ class RedisModuleCommands: tdigest = TDigestBloom(client=self) return tdigest - def vset(self) -> VectorSet: - """Access the VectorSet commands namespace.""" + def graph(self, index_name="idx"): + """Access the graph namespace, providing support for + redis graph data. + """ - from .vectorset import VectorSet + from .graph import Graph - vset = VectorSet(client=self) - return vset + g = Graph(client=self, name=index_name) + return g class AsyncRedisModuleCommands(RedisModuleCommands): - def ft(self, index_name="idx") -> AsyncSearch: + def ft(self, index_name="idx"): """Access the search namespace, providing support for redis search.""" from .search import AsyncSearch s = AsyncSearch(client=self, index_name=index_name) return s + + def graph(self, index_name="idx"): + """Access the graph namespace, providing support for + redis graph data. + """ + + from .graph import AsyncGraph + + g = AsyncGraph(client=self, name=index_name) + return g diff --git a/venv/lib/python3.12/site-packages/redis/commands/search/_util.py b/venv/lib/python3.12/site-packages/redis/commands/search/_util.py index 191600d..dd1dff3 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/search/_util.py +++ b/venv/lib/python3.12/site-packages/redis/commands/search/_util.py @@ -1,7 +1,7 @@ -def to_string(s, encoding: str = "utf-8"): +def to_string(s): if isinstance(s, str): return s elif isinstance(s, bytes): - return s.decode(encoding, "ignore") + return s.decode("utf-8", "ignore") else: return s # Not a string we care about diff --git a/venv/lib/python3.12/site-packages/redis/commands/search/aggregation.py b/venv/lib/python3.12/site-packages/redis/commands/search/aggregation.py index 00435f6..50d18f4 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/search/aggregation.py +++ b/venv/lib/python3.12/site-packages/redis/commands/search/aggregation.py @@ -1,7 +1,5 @@ from typing import List, Union -from redis.commands.search.dialect import DEFAULT_DIALECT - FIELDNAME = object() @@ -26,7 +24,7 @@ class Reducer: NAME = None - def __init__(self, *args: str) -> None: + def __init__(self, *args: List[str]) -> None: self._args = args self._field = None self._alias = None @@ -112,11 +110,9 @@ class AggregateRequest: self._with_schema = False self._verbatim = False self._cursor = [] - self._dialect = DEFAULT_DIALECT - self._add_scores = False - self._scorer = "TFIDF" + self._dialect = None - def load(self, *fields: str) -> "AggregateRequest": + def load(self, *fields: List[str]) -> "AggregateRequest": """ Indicate the fields to be returned in the response. These fields are returned in addition to any others implicitly specified. @@ -223,7 +219,7 @@ class AggregateRequest: self._aggregateplan.extend(_limit.build_args()) return self - def sort_by(self, *fields: str, **kwargs) -> "AggregateRequest": + def sort_by(self, *fields: List[str], **kwargs) -> "AggregateRequest": """ Indicate how the results should be sorted. This can also be used for *top-N* style queries @@ -296,24 +292,6 @@ class AggregateRequest: self._with_schema = True return self - def add_scores(self) -> "AggregateRequest": - """ - If set, includes the score as an ordinary field of the row. - """ - self._add_scores = True - return self - - def scorer(self, scorer: str) -> "AggregateRequest": - """ - Use a different scoring function to evaluate document relevance. - Default is `TFIDF`. - - :param scorer: The scoring function to use - (e.g. `TFIDF.DOCNORM` or `BM25`) - """ - self._scorer = scorer - return self - def verbatim(self) -> "AggregateRequest": self._verbatim = True return self @@ -337,19 +315,12 @@ class AggregateRequest: if self._verbatim: ret.append("VERBATIM") - if self._scorer: - ret.extend(["SCORER", self._scorer]) - - if self._add_scores: - ret.append("ADDSCORES") - if self._cursor: ret += self._cursor if self._loadall: ret.append("LOAD") ret.append("*") - elif self._loadfields: ret.append("LOAD") ret.append(str(len(self._loadfields))) diff --git a/venv/lib/python3.12/site-packages/redis/commands/search/commands.py b/venv/lib/python3.12/site-packages/redis/commands/search/commands.py index 80d9b35..2df2b5a 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/search/commands.py +++ b/venv/lib/python3.12/site-packages/redis/commands/search/commands.py @@ -2,16 +2,13 @@ import itertools import time from typing import Dict, List, Optional, Union -from redis.client import NEVER_DECODE, Pipeline +from redis.client import Pipeline from redis.utils import deprecated_function -from ..helpers import get_protocol_version +from ..helpers import get_protocol_version, parse_to_dict from ._util import to_string from .aggregation import AggregateRequest, AggregateResult, Cursor from .document import Document -from .field import Field -from .index_definition import IndexDefinition -from .profile_information import ProfileInformation from .query import Query from .result import Result from .suggestion import SuggestionParser @@ -23,6 +20,7 @@ ALTER_CMD = "FT.ALTER" SEARCH_CMD = "FT.SEARCH" ADD_CMD = "FT.ADD" ADDHASH_CMD = "FT.ADDHASH" +DROP_CMD = "FT.DROP" DROPINDEX_CMD = "FT.DROPINDEX" EXPLAIN_CMD = "FT.EXPLAIN" EXPLAINCLI_CMD = "FT.EXPLAINCLI" @@ -34,6 +32,7 @@ SPELLCHECK_CMD = "FT.SPELLCHECK" DICT_ADD_CMD = "FT.DICTADD" DICT_DEL_CMD = "FT.DICTDEL" DICT_DUMP_CMD = "FT.DICTDUMP" +GET_CMD = "FT.GET" MGET_CMD = "FT.MGET" CONFIG_CMD = "FT.CONFIG" TAGVALS_CMD = "FT.TAGVALS" @@ -66,7 +65,7 @@ class SearchCommands: def _parse_results(self, cmd, res, **kwargs): if get_protocol_version(self.client) in ["3", 3]: - return ProfileInformation(res) if cmd == "FT.PROFILE" else res + return res else: return self._RESP2_MODULE_CALLBACKS[cmd](res, **kwargs) @@ -81,7 +80,6 @@ class SearchCommands: duration=kwargs["duration"], has_payload=kwargs["query"]._with_payloads, with_scores=kwargs["query"]._with_scores, - field_encodings=kwargs["query"]._return_fields_decode_as, ) def _parse_aggregate(self, res, **kwargs): @@ -100,7 +98,7 @@ class SearchCommands: with_scores=query._with_scores, ) - return result, ProfileInformation(res[1]) + return result, parse_to_dict(res[1]) def _parse_spellcheck(self, res, **kwargs): corrections = {} @@ -153,43 +151,44 @@ class SearchCommands: def create_index( self, - fields: List[Field], - no_term_offsets: bool = False, - no_field_flags: bool = False, - stopwords: Optional[List[str]] = None, - definition: Optional[IndexDefinition] = None, + fields, + no_term_offsets=False, + no_field_flags=False, + stopwords=None, + definition=None, max_text_fields=False, temporary=None, - no_highlight: bool = False, - no_term_frequencies: bool = False, - skip_initial_scan: bool = False, + no_highlight=False, + no_term_frequencies=False, + skip_initial_scan=False, ): """ - Creates the search index. The index must not already exist. + Create the search index. The index must not already exist. - For more information, see https://redis.io/commands/ft.create/ + ### Parameters: - Args: - fields: A list of Field objects. - no_term_offsets: If `true`, term offsets will not be saved in the index. - no_field_flags: If true, field flags that allow searching in specific fields - will not be saved. - stopwords: If provided, the index will be created with this custom stopword - list. The list can be empty. - definition: If provided, the index will be created with this custom index - definition. - max_text_fields: If true, indexes will be encoded as if there were more than - 32 text fields, allowing for additional fields beyond 32. - temporary: Creates a lightweight temporary index which will expire after the - specified period of inactivity. The internal idle timer is reset - whenever the index is searched or added to. - no_highlight: If true, disables highlighting support. Also implied by - `no_term_offsets`. - no_term_frequencies: If true, term frequencies will not be saved in the - index. - skip_initial_scan: If true, the initial scan and indexing will be skipped. + - **fields**: a list of TextField or NumericField objects + - **no_term_offsets**: If true, we will not save term offsets in + the index + - **no_field_flags**: If true, we will not save field flags that + allow searching in specific fields + - **stopwords**: If not None, we create the index with this custom + stopword list. The list can be empty + - **max_text_fields**: If true, we will encode indexes as if there + were more than 32 text fields which allows you to add additional + fields (beyond 32). + - **temporary**: Create a lightweight temporary index which will + expire after the specified period of inactivity (in seconds). The + internal idle timer is reset whenever the index is searched or added to. + - **no_highlight**: If true, disabling highlighting support. + Also implied by no_term_offsets. + - **no_term_frequencies**: If true, we avoid saving the term frequencies + in the index. + - **skip_initial_scan**: If true, we do not scan and index. + + For more information see `FT.CREATE `_. + """ # noqa - """ args = [CREATE_CMD, self.index_name] if definition is not None: args += definition.args @@ -253,18 +252,8 @@ class SearchCommands: For more information see `FT.DROPINDEX `_. """ # noqa - args = [DROPINDEX_CMD, self.index_name] - - delete_str = ( - "DD" - if isinstance(delete_documents, bool) and delete_documents is True - else "" - ) - - if delete_str: - args.append(delete_str) - - return self.execute_command(*args) + delete_str = "DD" if delete_documents else "" + return self.execute_command(DROPINDEX_CMD, self.index_name, delete_str) def _add_document( self, @@ -346,30 +335,30 @@ class SearchCommands: """ Add a single document to the index. - Args: + ### Parameters - doc_id: the id of the saved document. - nosave: if set to true, we just index the document, and don't + - **doc_id**: the id of the saved document. + - **nosave**: if set to true, we just index the document, and don't save a copy of it. This means that searches will just return ids. - score: the document ranking, between 0.0 and 1.0 - payload: optional inner-index payload we can save for fast - access in scoring functions - replace: if True, and the document already is in the index, - we perform an update and reindex the document - partial: if True, the fields specified will be added to the + - **score**: the document ranking, between 0.0 and 1.0 + - **payload**: optional inner-index payload we can save for fast + i access in scoring functions + - **replace**: if True, and the document already is in the index, + we perform an update and reindex the document + - **partial**: if True, the fields specified will be added to the existing document. This has the added benefit that any fields specified with `no_index` will not be reindexed again. Implies `replace` - language: Specify the language used for document tokenization. - no_create: if True, the document is only updated and reindexed + - **language**: Specify the language used for document tokenization. + - **no_create**: if True, the document is only updated and reindexed if it already exists. If the document does not exist, an error will be returned. Implies `replace` - fields: kwargs dictionary of the document fields to be saved - and/or indexed. - NOTE: Geo points shoule be encoded as strings of "lon,lat" + - **fields** kwargs dictionary of the document fields to be saved + and/or indexed. + NOTE: Geo points shoule be encoded as strings of "lon,lat" """ # noqa return self._add_document( doc_id, @@ -404,7 +393,6 @@ class SearchCommands: doc_id, conn=None, score=score, language=language, replace=replace ) - @deprecated_function(version="2.0.0", reason="deprecated since redisearch 2.0") def delete_document(self, doc_id, conn=None, delete_actual_document=False): """ Delete a document from index @@ -439,7 +427,6 @@ class SearchCommands: return Document(id=id, **fields) - @deprecated_function(version="2.0.0", reason="deprecated since redisearch 2.0") def get(self, *ids): """ Returns the full contents of multiple documents. @@ -510,19 +497,14 @@ class SearchCommands: For more information see `FT.SEARCH `_. """ # noqa args, query = self._mk_query_args(query, query_params=query_params) - st = time.monotonic() - - options = {} - if get_protocol_version(self.client) not in ["3", 3]: - options[NEVER_DECODE] = True - - res = self.execute_command(SEARCH_CMD, *args, **options) + st = time.time() + res = self.execute_command(SEARCH_CMD, *args) if isinstance(res, Pipeline): return res return self._parse_results( - SEARCH_CMD, res, query=query, duration=(time.monotonic() - st) * 1000.0 + SEARCH_CMD, res, query=query, duration=(time.time() - st) * 1000.0 ) def explain( @@ -542,7 +524,7 @@ class SearchCommands: def aggregate( self, - query: Union[AggregateRequest, Cursor], + query: Union[str, Query], query_params: Dict[str, Union[str, int, float]] = None, ): """ @@ -573,7 +555,7 @@ class SearchCommands: ) def _get_aggregate_result( - self, raw: List, query: Union[AggregateRequest, Cursor], has_cursor: bool + self, raw: List, query: Union[str, Query, AggregateRequest], has_cursor: bool ): if has_cursor: if isinstance(query, Cursor): @@ -596,7 +578,7 @@ class SearchCommands: def profile( self, - query: Union[Query, AggregateRequest], + query: Union[str, Query, AggregateRequest], limited: bool = False, query_params: Optional[Dict[str, Union[str, int, float]]] = None, ): @@ -606,13 +588,13 @@ class SearchCommands: ### Parameters - **query**: This can be either an `AggregateRequest` or `Query`. + **query**: This can be either an `AggregateRequest`, `Query` or string. **limited**: If set to True, removes details of reader iterator. **query_params**: Define one or more value parameters. Each parameter has a name and a value. """ - st = time.monotonic() + st = time.time() cmd = [PROFILE_CMD, self.index_name, ""] if limited: cmd.append("LIMITED") @@ -631,20 +613,20 @@ class SearchCommands: res = self.execute_command(*cmd) return self._parse_results( - PROFILE_CMD, res, query=query, duration=(time.monotonic() - st) * 1000.0 + PROFILE_CMD, res, query=query, duration=(time.time() - st) * 1000.0 ) def spellcheck(self, query, distance=None, include=None, exclude=None): """ Issue a spellcheck query - Args: + ### Parameters - query: search query. - distance: the maximal Levenshtein distance for spelling + **query**: search query. + **distance***: the maximal Levenshtein distance for spelling suggestions (default: 1, max: 4). - include: specifies an inclusion custom dictionary. - exclude: specifies an exclusion custom dictionary. + **include**: specifies an inclusion custom dictionary. + **exclude**: specifies an exclusion custom dictionary. For more information see `FT.SPELLCHECK `_. """ # noqa @@ -702,10 +684,6 @@ class SearchCommands: cmd = [DICT_DUMP_CMD, name] return self.execute_command(*cmd) - @deprecated_function( - version="8.0.0", - reason="deprecated since Redis 8.0, call config_set from core module instead", - ) def config_set(self, option: str, value: str) -> bool: """Set runtime configuration option. @@ -720,10 +698,6 @@ class SearchCommands: raw = self.execute_command(*cmd) return raw == "OK" - @deprecated_function( - version="8.0.0", - reason="deprecated since Redis 8.0, call config_get from core module instead", - ) def config_get(self, option: str) -> str: """Get runtime configuration option value. @@ -950,24 +924,19 @@ class AsyncSearchCommands(SearchCommands): For more information see `FT.SEARCH `_. """ # noqa args, query = self._mk_query_args(query, query_params=query_params) - st = time.monotonic() - - options = {} - if get_protocol_version(self.client) not in ["3", 3]: - options[NEVER_DECODE] = True - - res = await self.execute_command(SEARCH_CMD, *args, **options) + st = time.time() + res = await self.execute_command(SEARCH_CMD, *args) if isinstance(res, Pipeline): return res return self._parse_results( - SEARCH_CMD, res, query=query, duration=(time.monotonic() - st) * 1000.0 + SEARCH_CMD, res, query=query, duration=(time.time() - st) * 1000.0 ) async def aggregate( self, - query: Union[AggregateResult, Cursor], + query: Union[str, Query], query_params: Dict[str, Union[str, int, float]] = None, ): """ @@ -1025,10 +994,6 @@ class AsyncSearchCommands(SearchCommands): return self._parse_results(SPELLCHECK_CMD, res) - @deprecated_function( - version="8.0.0", - reason="deprecated since Redis 8.0, call config_set from core module instead", - ) async def config_set(self, option: str, value: str) -> bool: """Set runtime configuration option. @@ -1043,10 +1008,6 @@ class AsyncSearchCommands(SearchCommands): raw = await self.execute_command(*cmd) return raw == "OK" - @deprecated_function( - version="8.0.0", - reason="deprecated since Redis 8.0, call config_get from core module instead", - ) async def config_get(self, option: str) -> str: """Get runtime configuration option value. diff --git a/venv/lib/python3.12/site-packages/redis/commands/search/dialect.py b/venv/lib/python3.12/site-packages/redis/commands/search/dialect.py deleted file mode 100644 index 828b3f2..0000000 --- a/venv/lib/python3.12/site-packages/redis/commands/search/dialect.py +++ /dev/null @@ -1,3 +0,0 @@ -# Value for the default dialect to be used as a part of -# Search or Aggregate query. -DEFAULT_DIALECT = 2 diff --git a/venv/lib/python3.12/site-packages/redis/commands/search/field.py b/venv/lib/python3.12/site-packages/redis/commands/search/field.py index 45cd403..76eb58c 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/search/field.py +++ b/venv/lib/python3.12/site-packages/redis/commands/search/field.py @@ -4,10 +4,6 @@ from redis import DataError class Field: - """ - A class representing a field in a document. - """ - NUMERIC = "NUMERIC" TEXT = "TEXT" WEIGHT = "WEIGHT" @@ -17,9 +13,6 @@ class Field: SORTABLE = "SORTABLE" NOINDEX = "NOINDEX" AS = "AS" - GEOSHAPE = "GEOSHAPE" - INDEX_MISSING = "INDEXMISSING" - INDEX_EMPTY = "INDEXEMPTY" def __init__( self, @@ -27,24 +20,8 @@ class Field: args: List[str] = None, sortable: bool = False, no_index: bool = False, - index_missing: bool = False, - index_empty: bool = False, as_name: str = None, ): - """ - Create a new field object. - - Args: - name: The name of the field. - args: - sortable: If `True`, the field will be sortable. - no_index: If `True`, the field will not be indexed. - index_missing: If `True`, it will be possible to search for documents that - have this field missing. - index_empty: If `True`, it will be possible to search for documents that - have this field empty. - as_name: If provided, this alias will be used for the field. - """ if args is None: args = [] self.name = name @@ -56,10 +33,6 @@ class Field: self.args_suffix.append(Field.SORTABLE) if no_index: self.args_suffix.append(Field.NOINDEX) - if index_missing: - self.args_suffix.append(Field.INDEX_MISSING) - if index_empty: - self.args_suffix.append(Field.INDEX_EMPTY) if no_index and not sortable: raise ValueError("Non-Sortable non-Indexable fields are ignored") @@ -118,21 +91,6 @@ class NumericField(Field): Field.__init__(self, name, args=[Field.NUMERIC], **kwargs) -class GeoShapeField(Field): - """ - GeoShapeField is used to enable within/contain indexing/searching - """ - - SPHERICAL = "SPHERICAL" - FLAT = "FLAT" - - def __init__(self, name: str, coord_system=None, **kwargs): - args = [Field.GEOSHAPE] - if coord_system: - args.append(coord_system) - Field.__init__(self, name, args=args, **kwargs) - - class GeoField(Field): """ GeoField is used to define a geo-indexing field in a schema definition @@ -181,7 +139,7 @@ class VectorField(Field): ``name`` is the name of the field. - ``algorithm`` can be "FLAT", "HNSW", or "SVS-VAMANA". + ``algorithm`` can be "FLAT" or "HNSW". ``attributes`` each algorithm can have specific attributes. Some of them are mandatory and some of them are optional. See @@ -194,10 +152,10 @@ class VectorField(Field): if sort or noindex: raise DataError("Cannot set 'sortable' or 'no_index' in Vector fields.") - if algorithm.upper() not in ["FLAT", "HNSW", "SVS-VAMANA"]: + if algorithm.upper() not in ["FLAT", "HNSW"]: raise DataError( - "Realtime vector indexing supporting 3 Indexing Methods:" - "'FLAT', 'HNSW', and 'SVS-VAMANA'." + "Realtime vector indexing supporting 2 Indexing Methods:" + "'FLAT' and 'HNSW'." ) attr_li = [] diff --git a/venv/lib/python3.12/site-packages/redis/commands/search/index_definition.py b/venv/lib/python3.12/site-packages/redis/commands/search/indexDefinition.py similarity index 100% rename from venv/lib/python3.12/site-packages/redis/commands/search/index_definition.py rename to venv/lib/python3.12/site-packages/redis/commands/search/indexDefinition.py diff --git a/venv/lib/python3.12/site-packages/redis/commands/search/profile_information.py b/venv/lib/python3.12/site-packages/redis/commands/search/profile_information.py deleted file mode 100644 index 23551be..0000000 --- a/venv/lib/python3.12/site-packages/redis/commands/search/profile_information.py +++ /dev/null @@ -1,14 +0,0 @@ -from typing import Any - - -class ProfileInformation: - """ - Wrapper around FT.PROFILE response - """ - - def __init__(self, info: Any) -> None: - self._info: Any = info - - @property - def info(self) -> Any: - return self._info diff --git a/venv/lib/python3.12/site-packages/redis/commands/search/query.py b/venv/lib/python3.12/site-packages/redis/commands/search/query.py index a8312a2..113ddf9 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/search/query.py +++ b/venv/lib/python3.12/site-packages/redis/commands/search/query.py @@ -1,7 +1,5 @@ from typing import List, Optional, Union -from redis.commands.search.dialect import DEFAULT_DIALECT - class Query: """ @@ -37,12 +35,11 @@ class Query: self._in_order: bool = False self._sortby: Optional[SortbyField] = None self._return_fields: List = [] - self._return_fields_decode_as: dict = {} self._summarize_fields: List = [] self._highlight_fields: List = [] self._language: Optional[str] = None self._expander: Optional[str] = None - self._dialect: int = DEFAULT_DIALECT + self._dialect: Optional[int] = None def query_string(self) -> str: """Return the query string of this query only.""" @@ -56,27 +53,13 @@ class Query: def return_fields(self, *fields) -> "Query": """Add fields to return fields.""" - for field in fields: - self.return_field(field) + self._return_fields += fields return self - def return_field( - self, - field: str, - as_field: Optional[str] = None, - decode_field: Optional[bool] = True, - encoding: Optional[str] = "utf8", - ) -> "Query": - """ - Add a field to the list of fields to return. - - - **field**: The field to include in query results - - **as_field**: The alias for the field - - **decode_field**: Whether to decode the field from bytes to string - - **encoding**: The encoding to use when decoding the field - """ + def return_field(self, field: str, as_field: Optional[str] = None) -> "Query": + """Add field to return fields (Optional: add 'AS' name + to the field).""" self._return_fields.append(field) - self._return_fields_decode_as[field] = encoding if decode_field else None if as_field is not None: self._return_fields += ("AS", as_field) return self @@ -179,8 +162,6 @@ class Query: Use a different scoring function to evaluate document relevance. Default is `TFIDF`. - Since Redis 8.0 default was changed to BM25STD. - :param scorer: The scoring function to use (e.g. `TFIDF.DOCNORM` or `BM25`) """ diff --git a/venv/lib/python3.12/site-packages/redis/commands/search/result.py b/venv/lib/python3.12/site-packages/redis/commands/search/result.py index e2c7efb..5b19e6f 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/search/result.py +++ b/venv/lib/python3.12/site-packages/redis/commands/search/result.py @@ -1,5 +1,3 @@ -from typing import Optional - from ._util import to_string from .document import Document @@ -11,19 +9,11 @@ class Result: """ def __init__( - self, - res, - hascontent, - duration=0, - has_payload=False, - with_scores=False, - field_encodings: Optional[dict] = None, + self, res, hascontent, duration=0, has_payload=False, with_scores=False ): """ - - duration: the execution time of the query - - has_payload: whether the query has payloads - - with_scores: whether the query has scores - - field_encodings: a dictionary of field encodings if any is provided + - **snippets**: An optional dictionary of the form + {field: snippet_size} for snippet formatting """ self.total = res[0] @@ -49,22 +39,18 @@ class Result: fields = {} if hascontent and res[i + fields_offset] is not None: - keys = map(to_string, res[i + fields_offset][::2]) - values = res[i + fields_offset][1::2] - - for key, value in zip(keys, values): - if field_encodings is None or key not in field_encodings: - fields[key] = to_string(value) - continue - - encoding = field_encodings[key] - - # If the encoding is None, we don't need to decode the value - if encoding is None: - fields[key] = value - else: - fields[key] = to_string(value, encoding=encoding) - + fields = ( + dict( + dict( + zip( + map(to_string, res[i + fields_offset][::2]), + map(to_string, res[i + fields_offset][1::2]), + ) + ) + ) + if hascontent + else {} + ) try: del fields["id"] except KeyError: diff --git a/venv/lib/python3.12/site-packages/redis/commands/sentinel.py b/venv/lib/python3.12/site-packages/redis/commands/sentinel.py index b2879b2..f745757 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/sentinel.py +++ b/venv/lib/python3.12/site-packages/redis/commands/sentinel.py @@ -11,35 +11,16 @@ class SentinelCommands: """Redis Sentinel's SENTINEL command.""" warnings.warn(DeprecationWarning("Use the individual sentinel_* methods")) - def sentinel_get_master_addr_by_name(self, service_name, return_responses=False): - """ - Returns a (host, port) pair for the given ``service_name`` when return_responses is True, - otherwise returns a boolean value that indicates if the command was successful. - """ - return self.execute_command( - "SENTINEL GET-MASTER-ADDR-BY-NAME", - service_name, - once=True, - return_responses=return_responses, - ) + def sentinel_get_master_addr_by_name(self, service_name): + """Returns a (host, port) pair for the given ``service_name``""" + return self.execute_command("SENTINEL GET-MASTER-ADDR-BY-NAME", service_name) - def sentinel_master(self, service_name, return_responses=False): - """ - Returns a dictionary containing the specified masters state, when return_responses is True, - otherwise returns a boolean value that indicates if the command was successful. - """ - return self.execute_command( - "SENTINEL MASTER", service_name, return_responses=return_responses - ) + def sentinel_master(self, service_name): + """Returns a dictionary containing the specified masters state.""" + return self.execute_command("SENTINEL MASTER", service_name) def sentinel_masters(self): - """ - Returns a list of dictionaries containing each master's state. - - Important: This function is called by the Sentinel implementation and is - called directly on the Redis standalone client for sentinels, - so it doesn't support the "once" and "return_responses" options. - """ + """Returns a list of dictionaries containing each master's state.""" return self.execute_command("SENTINEL MASTERS") def sentinel_monitor(self, name, ip, port, quorum): @@ -50,27 +31,16 @@ class SentinelCommands: """Remove a master from Sentinel's monitoring""" return self.execute_command("SENTINEL REMOVE", name) - def sentinel_sentinels(self, service_name, return_responses=False): - """ - Returns a list of sentinels for ``service_name``, when return_responses is True, - otherwise returns a boolean value that indicates if the command was successful. - """ - return self.execute_command( - "SENTINEL SENTINELS", service_name, return_responses=return_responses - ) + def sentinel_sentinels(self, service_name): + """Returns a list of sentinels for ``service_name``""" + return self.execute_command("SENTINEL SENTINELS", service_name) def sentinel_set(self, name, option, value): """Set Sentinel monitoring parameters for a given master""" return self.execute_command("SENTINEL SET", name, option, value) def sentinel_slaves(self, service_name): - """ - Returns a list of slaves for ``service_name`` - - Important: This function is called by the Sentinel implementation and is - called directly on the Redis standalone client for sentinels, - so it doesn't support the "once" and "return_responses" options. - """ + """Returns a list of slaves for ``service_name``""" return self.execute_command("SENTINEL SLAVES", service_name) def sentinel_reset(self, pattern): diff --git a/venv/lib/python3.12/site-packages/redis/commands/timeseries/__init__.py b/venv/lib/python3.12/site-packages/redis/commands/timeseries/__init__.py index 3fbf821..4188b93 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/timeseries/__init__.py +++ b/venv/lib/python3.12/site-packages/redis/commands/timeseries/__init__.py @@ -84,7 +84,7 @@ class TimeSeries(TimeSeriesCommands): startup_nodes=self.client.nodes_manager.startup_nodes, result_callbacks=self.client.result_callbacks, cluster_response_callbacks=self.client.cluster_response_callbacks, - cluster_error_retry_attempts=self.client.retry.get_retries(), + cluster_error_retry_attempts=self.client.cluster_error_retry_attempts, read_from_replicas=self.client.read_from_replicas, reinitialize_steps=self.client.reinitialize_steps, lock=self.client._lock, diff --git a/venv/lib/python3.12/site-packages/redis/commands/timeseries/commands.py b/venv/lib/python3.12/site-packages/redis/commands/timeseries/commands.py index b0cb864..13e3cdf 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/timeseries/commands.py +++ b/venv/lib/python3.12/site-packages/redis/commands/timeseries/commands.py @@ -33,67 +33,41 @@ class TimeSeriesCommands: labels: Optional[Dict[str, str]] = None, chunk_size: Optional[int] = None, duplicate_policy: Optional[str] = None, - ignore_max_time_diff: Optional[int] = None, - ignore_max_val_diff: Optional[Number] = None, ): """ Create a new time-series. - For more information see https://redis.io/commands/ts.create/ - Args: - key: - The time-series key. - retention_msecs: - Maximum age for samples, compared to the highest reported timestamp in - milliseconds. If `None` or `0` is passed, the series is not trimmed at - all. - uncompressed: - Changes data storage from compressed (default) to uncompressed. - labels: - A dictionary of label-value pairs that represent metadata labels of the - key. - chunk_size: - Memory size, in bytes, allocated for each data chunk. Must be a multiple - of 8 in the range `[48..1048576]`. In earlier versions of the module the - minimum value was different. - duplicate_policy: - Policy for handling multiple samples with identical timestamps. Can be - one of: - - 'block': An error will occur and the new value will be ignored. - - 'first': Ignore the new value. - - 'last': Override with the latest value. - - 'min': Only override if the value is lower than the existing value. - - 'max': Only override if the value is higher than the existing value. - - 'sum': If a previous sample exists, add the new sample to it so - that the updated value is equal to (previous + new). If no - previous sample exists, set the updated value equal to the new - value. + key: + time-series key + retention_msecs: + Maximum age for samples compared to highest reported timestamp (in milliseconds). + If None or 0 is passed then the series is not trimmed at all. + uncompressed: + Changes data storage from compressed (by default) to uncompressed + labels: + Set of label-value pairs that represent metadata labels of the key. + chunk_size: + Memory size, in bytes, allocated for each data chunk. + Must be a multiple of 8 in the range [128 .. 1048576]. + duplicate_policy: + Policy for handling multiple samples with identical timestamps. + Can be one of: + - 'block': an error will occur for any out of order sample. + - 'first': ignore the new value. + - 'last': override with latest value. + - 'min': only override if the value is lower than the existing value. + - 'max': only override if the value is higher than the existing value. - ignore_max_time_diff: - A non-negative integer value, in milliseconds, that sets an ignore - threshold for added timestamps. If the difference between the last - timestamp and the new timestamp is lower than this threshold, the new - entry is ignored. Only applicable if `duplicate_policy` is set to - `last`, and if `ignore_max_val_diff` is also set. Available since - RedisTimeSeries version 1.12.0. - ignore_max_val_diff: - A non-negative floating point value, that sets an ignore threshold for - added values. If the difference between the last value and the new value - is lower than this threshold, the new entry is ignored. Only applicable - if `duplicate_policy` is set to `last`, and if `ignore_max_time_diff` is - also set. Available since RedisTimeSeries version 1.12.0. - """ + For more information: https://redis.io/commands/ts.create/ + """ # noqa params = [key] self._append_retention(params, retention_msecs) self._append_uncompressed(params, uncompressed) self._append_chunk_size(params, chunk_size) - self._append_duplicate_policy(params, duplicate_policy) + self._append_duplicate_policy(params, CREATE_CMD, duplicate_policy) self._append_labels(params, labels) - self._append_insertion_filters( - params, ignore_max_time_diff, ignore_max_val_diff - ) return self.execute_command(CREATE_CMD, *params) @@ -104,65 +78,39 @@ class TimeSeriesCommands: labels: Optional[Dict[str, str]] = None, chunk_size: Optional[int] = None, duplicate_policy: Optional[str] = None, - ignore_max_time_diff: Optional[int] = None, - ignore_max_val_diff: Optional[Number] = None, ): """ - Update an existing time series. - - For more information see https://redis.io/commands/ts.alter/ + Update the retention, chunk size, duplicate policy, and labels of an existing + time series. Args: - key: - The time-series key. - retention_msecs: - Maximum age for samples, compared to the highest reported timestamp in - milliseconds. If `None` or `0` is passed, the series is not trimmed at - all. - labels: - A dictionary of label-value pairs that represent metadata labels of the - key. - chunk_size: - Memory size, in bytes, allocated for each data chunk. Must be a multiple - of 8 in the range `[48..1048576]`. In earlier versions of the module the - minimum value was different. Changing this value does not affect - existing chunks. - duplicate_policy: - Policy for handling multiple samples with identical timestamps. Can be - one of: - - 'block': An error will occur and the new value will be ignored. - - 'first': Ignore the new value. - - 'last': Override with the latest value. - - 'min': Only override if the value is lower than the existing value. - - 'max': Only override if the value is higher than the existing value. - - 'sum': If a previous sample exists, add the new sample to it so - that the updated value is equal to (previous + new). If no - previous sample exists, set the updated value equal to the new - value. + key: + time-series key + retention_msecs: + Maximum retention period, compared to maximal existing timestamp (in milliseconds). + If None or 0 is passed then the series is not trimmed at all. + labels: + Set of label-value pairs that represent metadata labels of the key. + chunk_size: + Memory size, in bytes, allocated for each data chunk. + Must be a multiple of 8 in the range [128 .. 1048576]. + duplicate_policy: + Policy for handling multiple samples with identical timestamps. + Can be one of: + - 'block': an error will occur for any out of order sample. + - 'first': ignore the new value. + - 'last': override with latest value. + - 'min': only override if the value is lower than the existing value. + - 'max': only override if the value is higher than the existing value. - ignore_max_time_diff: - A non-negative integer value, in milliseconds, that sets an ignore - threshold for added timestamps. If the difference between the last - timestamp and the new timestamp is lower than this threshold, the new - entry is ignored. Only applicable if `duplicate_policy` is set to - `last`, and if `ignore_max_val_diff` is also set. Available since - RedisTimeSeries version 1.12.0. - ignore_max_val_diff: - A non-negative floating point value, that sets an ignore threshold for - added values. If the difference between the last value and the new value - is lower than this threshold, the new entry is ignored. Only applicable - if `duplicate_policy` is set to `last`, and if `ignore_max_time_diff` is - also set. Available since RedisTimeSeries version 1.12.0. - """ + For more information: https://redis.io/commands/ts.alter/ + """ # noqa params = [key] self._append_retention(params, retention_msecs) self._append_chunk_size(params, chunk_size) - self._append_duplicate_policy(params, duplicate_policy) + self._append_duplicate_policy(params, ALTER_CMD, duplicate_policy) self._append_labels(params, labels) - self._append_insertion_filters( - params, ignore_max_time_diff, ignore_max_val_diff - ) return self.execute_command(ALTER_CMD, *params) @@ -176,104 +124,57 @@ class TimeSeriesCommands: labels: Optional[Dict[str, str]] = None, chunk_size: Optional[int] = None, duplicate_policy: Optional[str] = None, - ignore_max_time_diff: Optional[int] = None, - ignore_max_val_diff: Optional[Number] = None, - on_duplicate: Optional[str] = None, ): """ - Append a sample to a time series. When the specified key does not exist, a new - time series is created. - - For more information see https://redis.io/commands/ts.add/ + Append (or create and append) a new sample to a time series. Args: - key: - The time-series key. - timestamp: - Timestamp of the sample. `*` can be used for automatic timestamp (using - the system clock). - value: - Numeric data value of the sample. - retention_msecs: - Maximum age for samples, compared to the highest reported timestamp in - milliseconds. If `None` or `0` is passed, the series is not trimmed at - all. - uncompressed: - Changes data storage from compressed (default) to uncompressed. - labels: - A dictionary of label-value pairs that represent metadata labels of the - key. - chunk_size: - Memory size, in bytes, allocated for each data chunk. Must be a multiple - of 8 in the range `[48..1048576]`. In earlier versions of the module the - minimum value was different. - duplicate_policy: - Policy for handling multiple samples with identical timestamps. Can be - one of: - - 'block': An error will occur and the new value will be ignored. - - 'first': Ignore the new value. - - 'last': Override with the latest value. - - 'min': Only override if the value is lower than the existing value. - - 'max': Only override if the value is higher than the existing value. - - 'sum': If a previous sample exists, add the new sample to it so - that the updated value is equal to (previous + new). If no - previous sample exists, set the updated value equal to the new - value. + key: + time-series key + timestamp: + Timestamp of the sample. * can be used for automatic timestamp (using the system clock). + value: + Numeric data value of the sample + retention_msecs: + Maximum retention period, compared to maximal existing timestamp (in milliseconds). + If None or 0 is passed then the series is not trimmed at all. + uncompressed: + Changes data storage from compressed (by default) to uncompressed + labels: + Set of label-value pairs that represent metadata labels of the key. + chunk_size: + Memory size, in bytes, allocated for each data chunk. + Must be a multiple of 8 in the range [128 .. 1048576]. + duplicate_policy: + Policy for handling multiple samples with identical timestamps. + Can be one of: + - 'block': an error will occur for any out of order sample. + - 'first': ignore the new value. + - 'last': override with latest value. + - 'min': only override if the value is lower than the existing value. + - 'max': only override if the value is higher than the existing value. - ignore_max_time_diff: - A non-negative integer value, in milliseconds, that sets an ignore - threshold for added timestamps. If the difference between the last - timestamp and the new timestamp is lower than this threshold, the new - entry is ignored. Only applicable if `duplicate_policy` is set to - `last`, and if `ignore_max_val_diff` is also set. Available since - RedisTimeSeries version 1.12.0. - ignore_max_val_diff: - A non-negative floating point value, that sets an ignore threshold for - added values. If the difference between the last value and the new value - is lower than this threshold, the new entry is ignored. Only applicable - if `duplicate_policy` is set to `last`, and if `ignore_max_time_diff` is - also set. Available since RedisTimeSeries version 1.12.0. - on_duplicate: - Use a specific duplicate policy for the specified timestamp. Overrides - the duplicate policy set by `duplicate_policy`. - """ + For more information: https://redis.io/commands/ts.add/ + """ # noqa params = [key, timestamp, value] self._append_retention(params, retention_msecs) self._append_uncompressed(params, uncompressed) self._append_chunk_size(params, chunk_size) - self._append_duplicate_policy(params, duplicate_policy) + self._append_duplicate_policy(params, ADD_CMD, duplicate_policy) self._append_labels(params, labels) - self._append_insertion_filters( - params, ignore_max_time_diff, ignore_max_val_diff - ) - self._append_on_duplicate(params, on_duplicate) return self.execute_command(ADD_CMD, *params) def madd(self, ktv_tuples: List[Tuple[KeyT, Union[int, str], Number]]): """ - Append new samples to one or more time series. + Append (or create and append) a new `value` to series + `key` with `timestamp`. + Expects a list of `tuples` as (`key`,`timestamp`, `value`). + Return value is an array with timestamps of insertions. - Each time series must already exist. - - The method expects a list of tuples. Each tuple should contain three elements: - (`key`, `timestamp`, `value`). The `value` will be appended to the time series - identified by 'key', at the given 'timestamp'. - - For more information see https://redis.io/commands/ts.madd/ - - Args: - ktv_tuples: - A list of tuples, where each tuple contains: - - `key`: The key of the time series. - - `timestamp`: The timestamp at which the value should be appended. - - `value`: The value to append to the time series. - - Returns: - A list that contains, for each sample, either the timestamp that was used, - or an error, if the sample could not be added. - """ + For more information: https://redis.io/commands/ts.madd/ + """ # noqa params = [] for ktv in ktv_tuples: params.extend(ktv) @@ -289,86 +190,37 @@ class TimeSeriesCommands: uncompressed: Optional[bool] = False, labels: Optional[Dict[str, str]] = None, chunk_size: Optional[int] = None, - duplicate_policy: Optional[str] = None, - ignore_max_time_diff: Optional[int] = None, - ignore_max_val_diff: Optional[Number] = None, ): """ - Increment the latest sample's of a series. When the specified key does not - exist, a new time series is created. - - This command can be used as a counter or gauge that automatically gets history - as a time series. - - For more information see https://redis.io/commands/ts.incrby/ + Increment (or create an time-series and increment) the latest sample's of a series. + This command can be used as a counter or gauge that automatically gets history as a time series. Args: - key: - The time-series key. - value: - Numeric value to be added (addend). - timestamp: - Timestamp of the sample. `*` can be used for automatic timestamp (using - the system clock). `timestamp` must be equal to or higher than the - maximum existing timestamp in the series. When equal, the value of the - sample with the maximum existing timestamp is increased. If it is - higher, a new sample with a timestamp set to `timestamp` is created, and - its value is set to the value of the sample with the maximum existing - timestamp plus the addend. - retention_msecs: - Maximum age for samples, compared to the highest reported timestamp in - milliseconds. If `None` or `0` is passed, the series is not trimmed at - all. - uncompressed: - Changes data storage from compressed (default) to uncompressed. - labels: - A dictionary of label-value pairs that represent metadata labels of the - key. - chunk_size: - Memory size, in bytes, allocated for each data chunk. Must be a multiple - of 8 in the range `[48..1048576]`. In earlier versions of the module the - minimum value was different. - duplicate_policy: - Policy for handling multiple samples with identical timestamps. Can be - one of: - - 'block': An error will occur and the new value will be ignored. - - 'first': Ignore the new value. - - 'last': Override with the latest value. - - 'min': Only override if the value is lower than the existing value. - - 'max': Only override if the value is higher than the existing value. - - 'sum': If a previous sample exists, add the new sample to it so - that the updated value is equal to (previous + new). If no - previous sample exists, set the updated value equal to the new - value. + key: + time-series key + value: + Numeric data value of the sample + timestamp: + Timestamp of the sample. * can be used for automatic timestamp (using the system clock). + retention_msecs: + Maximum age for samples compared to last event time (in milliseconds). + If None or 0 is passed then the series is not trimmed at all. + uncompressed: + Changes data storage from compressed (by default) to uncompressed + labels: + Set of label-value pairs that represent metadata labels of the key. + chunk_size: + Memory size, in bytes, allocated for each data chunk. - ignore_max_time_diff: - A non-negative integer value, in milliseconds, that sets an ignore - threshold for added timestamps. If the difference between the last - timestamp and the new timestamp is lower than this threshold, the new - entry is ignored. Only applicable if `duplicate_policy` is set to - `last`, and if `ignore_max_val_diff` is also set. Available since - RedisTimeSeries version 1.12.0. - ignore_max_val_diff: - A non-negative floating point value, that sets an ignore threshold for - added values. If the difference between the last value and the new value - is lower than this threshold, the new entry is ignored. Only applicable - if `duplicate_policy` is set to `last`, and if `ignore_max_time_diff` is - also set. Available since RedisTimeSeries version 1.12.0. - - Returns: - The timestamp of the sample that was modified or added. - """ + For more information: https://redis.io/commands/ts.incrby/ + """ # noqa params = [key, value] self._append_timestamp(params, timestamp) self._append_retention(params, retention_msecs) self._append_uncompressed(params, uncompressed) self._append_chunk_size(params, chunk_size) - self._append_duplicate_policy(params, duplicate_policy) self._append_labels(params, labels) - self._append_insertion_filters( - params, ignore_max_time_diff, ignore_max_val_diff - ) return self.execute_command(INCRBY_CMD, *params) @@ -381,86 +233,37 @@ class TimeSeriesCommands: uncompressed: Optional[bool] = False, labels: Optional[Dict[str, str]] = None, chunk_size: Optional[int] = None, - duplicate_policy: Optional[str] = None, - ignore_max_time_diff: Optional[int] = None, - ignore_max_val_diff: Optional[Number] = None, ): """ - Decrement the latest sample's of a series. When the specified key does not - exist, a new time series is created. - - This command can be used as a counter or gauge that automatically gets history - as a time series. - - For more information see https://redis.io/commands/ts.decrby/ + Decrement (or create an time-series and decrement) the latest sample's of a series. + This command can be used as a counter or gauge that automatically gets history as a time series. Args: - key: - The time-series key. - value: - Numeric value to subtract (subtrahend). - timestamp: - Timestamp of the sample. `*` can be used for automatic timestamp (using - the system clock). `timestamp` must be equal to or higher than the - maximum existing timestamp in the series. When equal, the value of the - sample with the maximum existing timestamp is decreased. If it is - higher, a new sample with a timestamp set to `timestamp` is created, and - its value is set to the value of the sample with the maximum existing - timestamp minus subtrahend. - retention_msecs: - Maximum age for samples, compared to the highest reported timestamp in - milliseconds. If `None` or `0` is passed, the series is not trimmed at - all. - uncompressed: - Changes data storage from compressed (default) to uncompressed. - labels: - A dictionary of label-value pairs that represent metadata labels of the - key. - chunk_size: - Memory size, in bytes, allocated for each data chunk. Must be a multiple - of 8 in the range `[48..1048576]`. In earlier versions of the module the - minimum value was different. - duplicate_policy: - Policy for handling multiple samples with identical timestamps. Can be - one of: - - 'block': An error will occur and the new value will be ignored. - - 'first': Ignore the new value. - - 'last': Override with the latest value. - - 'min': Only override if the value is lower than the existing value. - - 'max': Only override if the value is higher than the existing value. - - 'sum': If a previous sample exists, add the new sample to it so - that the updated value is equal to (previous + new). If no - previous sample exists, set the updated value equal to the new - value. + key: + time-series key + value: + Numeric data value of the sample + timestamp: + Timestamp of the sample. * can be used for automatic timestamp (using the system clock). + retention_msecs: + Maximum age for samples compared to last event time (in milliseconds). + If None or 0 is passed then the series is not trimmed at all. + uncompressed: + Changes data storage from compressed (by default) to uncompressed + labels: + Set of label-value pairs that represent metadata labels of the key. + chunk_size: + Memory size, in bytes, allocated for each data chunk. - ignore_max_time_diff: - A non-negative integer value, in milliseconds, that sets an ignore - threshold for added timestamps. If the difference between the last - timestamp and the new timestamp is lower than this threshold, the new - entry is ignored. Only applicable if `duplicate_policy` is set to - `last`, and if `ignore_max_val_diff` is also set. Available since - RedisTimeSeries version 1.12.0. - ignore_max_val_diff: - A non-negative floating point value, that sets an ignore threshold for - added values. If the difference between the last value and the new value - is lower than this threshold, the new entry is ignored. Only applicable - if `duplicate_policy` is set to `last`, and if `ignore_max_time_diff` is - also set. Available since RedisTimeSeries version 1.12.0. - - Returns: - The timestamp of the sample that was modified or added. - """ + For more information: https://redis.io/commands/ts.decrby/ + """ # noqa params = [key, value] self._append_timestamp(params, timestamp) self._append_retention(params, retention_msecs) self._append_uncompressed(params, uncompressed) self._append_chunk_size(params, chunk_size) - self._append_duplicate_policy(params, duplicate_policy) self._append_labels(params, labels) - self._append_insertion_filters( - params, ignore_max_time_diff, ignore_max_val_diff - ) return self.execute_command(DECRBY_CMD, *params) @@ -468,22 +271,17 @@ class TimeSeriesCommands: """ Delete all samples between two timestamps for a given time series. - The given timestamp interval is closed (inclusive), meaning that samples whose - timestamp equals `from_time` or `to_time` are also deleted. - - For more information see https://redis.io/commands/ts.del/ - Args: - key: - The time-series key. - from_time: - Start timestamp for the range deletion. - to_time: - End timestamp for the range deletion. - Returns: - The number of samples deleted. - """ + key: + time-series key. + from_time: + Start timestamp for the range deletion. + to_time: + End timestamp for the range deletion. + + For more information: https://redis.io/commands/ts.del/ + """ # noqa return self.execute_command(DEL_CMD, key, from_time, to_time) def createrule( @@ -497,23 +295,24 @@ class TimeSeriesCommands: """ Create a compaction rule from values added to `source_key` into `dest_key`. - For more information see https://redis.io/commands/ts.createrule/ - Args: - source_key: - Key name for source time series. - dest_key: - Key name for destination (compacted) time series. - aggregation_type: - Aggregation type: One of the following: - [`avg`, `sum`, `min`, `max`, `range`, `count`, `first`, `last`, `std.p`, - `std.s`, `var.p`, `var.s`, `twa`] - bucket_size_msec: - Duration of each bucket, in milliseconds. - align_timestamp: - Assure that there is a bucket that starts at exactly align_timestamp and - align all other buckets accordingly. - """ + + source_key: + Key name for source time series + dest_key: + Key name for destination (compacted) time series + aggregation_type: + Aggregation type: One of the following: + [`avg`, `sum`, `min`, `max`, `range`, `count`, `first`, `last`, `std.p`, + `std.s`, `var.p`, `var.s`, `twa`] + bucket_size_msec: + Duration of each bucket, in milliseconds + align_timestamp: + Assure that there is a bucket that starts at exactly align_timestamp and + align all other buckets accordingly. + + For more information: https://redis.io/commands/ts.createrule/ + """ # noqa params = [source_key, dest_key] self._append_aggregation(params, aggregation_type, bucket_size_msec) if align_timestamp is not None: @@ -523,10 +322,10 @@ class TimeSeriesCommands: def deleterule(self, source_key: KeyT, dest_key: KeyT): """ - Delete a compaction rule from `source_key` to `dest_key`. + Delete a compaction rule from `source_key` to `dest_key`.. - For more information see https://redis.io/commands/ts.deleterule/ - """ + For more information: https://redis.io/commands/ts.deleterule/ + """ # noqa return self.execute_command(DELETERULE_CMD, source_key, dest_key) def __range_params( @@ -575,46 +374,42 @@ class TimeSeriesCommands: empty: Optional[bool] = False, ): """ - Query a range in forward direction for a specific time-series. - - For more information see https://redis.io/commands/ts.range/ + Query a range in forward direction for a specific time-serie. Args: - key: - Key name for timeseries. - from_time: - Start timestamp for the range query. `-` can be used to express the - minimum possible timestamp (0). - to_time: - End timestamp for range query, `+` can be used to express the maximum - possible timestamp. - count: - Limits the number of returned samples. - aggregation_type: - Optional aggregation type. Can be one of [`avg`, `sum`, `min`, `max`, - `range`, `count`, `first`, `last`, `std.p`, `std.s`, `var.p`, `var.s`, - `twa`] - bucket_size_msec: - Time bucket for aggregation in milliseconds. - filter_by_ts: - List of timestamps to filter the result by specific timestamps. - filter_by_min_value: - Filter result by minimum value (must mention also - `filter by_max_value`). - filter_by_max_value: - Filter result by maximum value (must mention also - `filter by_min_value`). - align: - Timestamp for alignment control for aggregation. - latest: - Used when a time series is a compaction, reports the compacted value of - the latest possibly partial bucket. - bucket_timestamp: - Controls how bucket timestamps are reported. Can be one of [`-`, `low`, - `+`, `high`, `~`, `mid`]. - empty: - Reports aggregations for empty buckets. - """ + + key: + Key name for timeseries. + from_time: + Start timestamp for the range query. - can be used to express the minimum possible timestamp (0). + to_time: + End timestamp for range query, + can be used to express the maximum possible timestamp. + count: + Limits the number of returned samples. + aggregation_type: + Optional aggregation type. Can be one of [`avg`, `sum`, `min`, `max`, + `range`, `count`, `first`, `last`, `std.p`, `std.s`, `var.p`, `var.s`, `twa`] + bucket_size_msec: + Time bucket for aggregation in milliseconds. + filter_by_ts: + List of timestamps to filter the result by specific timestamps. + filter_by_min_value: + Filter result by minimum value (must mention also filter by_max_value). + filter_by_max_value: + Filter result by maximum value (must mention also filter by_min_value). + align: + Timestamp for alignment control for aggregation. + latest: + Used when a time series is a compaction, reports the compacted value of the + latest possibly partial bucket + bucket_timestamp: + Controls how bucket timestamps are reported. Can be one of [`-`, `low`, `+`, + `high`, `~`, `mid`]. + empty: + Reports aggregations for empty buckets. + + For more information: https://redis.io/commands/ts.range/ + """ # noqa params = self.__range_params( key, from_time, @@ -630,7 +425,7 @@ class TimeSeriesCommands: bucket_timestamp, empty, ) - return self.execute_command(RANGE_CMD, *params, keys=[key]) + return self.execute_command(RANGE_CMD, *params) def revrange( self, @@ -653,44 +448,40 @@ class TimeSeriesCommands: **Note**: This command is only available since RedisTimeSeries >= v1.4 - For more information see https://redis.io/commands/ts.revrange/ - Args: - key: - Key name for timeseries. - from_time: - Start timestamp for the range query. `-` can be used to express the - minimum possible timestamp (0). - to_time: - End timestamp for range query, `+` can be used to express the maximum - possible timestamp. - count: - Limits the number of returned samples. - aggregation_type: - Optional aggregation type. Can be one of [`avg`, `sum`, `min`, `max`, - `range`, `count`, `first`, `last`, `std.p`, `std.s`, `var.p`, `var.s`, - `twa`] - bucket_size_msec: - Time bucket for aggregation in milliseconds. - filter_by_ts: - List of timestamps to filter the result by specific timestamps. - filter_by_min_value: - Filter result by minimum value (must mention also - `filter_by_max_value`). - filter_by_max_value: - Filter result by maximum value (must mention also - `filter_by_min_value`). - align: - Timestamp for alignment control for aggregation. - latest: - Used when a time series is a compaction, reports the compacted value of - the latest possibly partial bucket. - bucket_timestamp: - Controls how bucket timestamps are reported. Can be one of [`-`, `low`, - `+`, `high`, `~`, `mid`]. - empty: - Reports aggregations for empty buckets. - """ + + key: + Key name for timeseries. + from_time: + Start timestamp for the range query. - can be used to express the minimum possible timestamp (0). + to_time: + End timestamp for range query, + can be used to express the maximum possible timestamp. + count: + Limits the number of returned samples. + aggregation_type: + Optional aggregation type. Can be one of [`avg`, `sum`, `min`, `max`, + `range`, `count`, `first`, `last`, `std.p`, `std.s`, `var.p`, `var.s`, `twa`] + bucket_size_msec: + Time bucket for aggregation in milliseconds. + filter_by_ts: + List of timestamps to filter the result by specific timestamps. + filter_by_min_value: + Filter result by minimum value (must mention also filter_by_max_value). + filter_by_max_value: + Filter result by maximum value (must mention also filter_by_min_value). + align: + Timestamp for alignment control for aggregation. + latest: + Used when a time series is a compaction, reports the compacted value of the + latest possibly partial bucket + bucket_timestamp: + Controls how bucket timestamps are reported. Can be one of [`-`, `low`, `+`, + `high`, `~`, `mid`]. + empty: + Reports aggregations for empty buckets. + + For more information: https://redis.io/commands/ts.revrange/ + """ # noqa params = self.__range_params( key, from_time, @@ -706,7 +497,7 @@ class TimeSeriesCommands: bucket_timestamp, empty, ) - return self.execute_command(REVRANGE_CMD, *params, keys=[key]) + return self.execute_command(REVRANGE_CMD, *params) def __mrange_params( self, @@ -767,55 +558,49 @@ class TimeSeriesCommands: """ Query a range across multiple time-series by filters in forward direction. - For more information see https://redis.io/commands/ts.mrange/ - Args: - from_time: - Start timestamp for the range query. `-` can be used to express the - minimum possible timestamp (0). - to_time: - End timestamp for range query, `+` can be used to express the maximum - possible timestamp. - filters: - Filter to match the time-series labels. - count: - Limits the number of returned samples. - aggregation_type: - Optional aggregation type. Can be one of [`avg`, `sum`, `min`, `max`, - `range`, `count`, `first`, `last`, `std.p`, `std.s`, `var.p`, `var.s`, - `twa`] - bucket_size_msec: - Time bucket for aggregation in milliseconds. - with_labels: - Include in the reply all label-value pairs representing metadata labels - of the time series. - filter_by_ts: - List of timestamps to filter the result by specific timestamps. - filter_by_min_value: - Filter result by minimum value (must mention also - `filter_by_max_value`). - filter_by_max_value: - Filter result by maximum value (must mention also - `filter_by_min_value`). - groupby: - Grouping by fields the results (must mention also `reduce`). - reduce: - Applying reducer functions on each group. Can be one of [`avg` `sum`, - `min`, `max`, `range`, `count`, `std.p`, `std.s`, `var.p`, `var.s`]. - select_labels: - Include in the reply only a subset of the key-value pair labels of a - series. - align: - Timestamp for alignment control for aggregation. - latest: - Used when a time series is a compaction, reports the compacted value of - the latest possibly partial bucket. - bucket_timestamp: - Controls how bucket timestamps are reported. Can be one of [`-`, `low`, - `+`, `high`, `~`, `mid`]. - empty: - Reports aggregations for empty buckets. - """ + + from_time: + Start timestamp for the range query. `-` can be used to express the minimum possible timestamp (0). + to_time: + End timestamp for range query, `+` can be used to express the maximum possible timestamp. + filters: + filter to match the time-series labels. + count: + Limits the number of returned samples. + aggregation_type: + Optional aggregation type. Can be one of [`avg`, `sum`, `min`, `max`, + `range`, `count`, `first`, `last`, `std.p`, `std.s`, `var.p`, `var.s`, `twa`] + bucket_size_msec: + Time bucket for aggregation in milliseconds. + with_labels: + Include in the reply all label-value pairs representing metadata labels of the time series. + filter_by_ts: + List of timestamps to filter the result by specific timestamps. + filter_by_min_value: + Filter result by minimum value (must mention also filter_by_max_value). + filter_by_max_value: + Filter result by maximum value (must mention also filter_by_min_value). + groupby: + Grouping by fields the results (must mention also reduce). + reduce: + Applying reducer functions on each group. Can be one of [`avg` `sum`, `min`, + `max`, `range`, `count`, `std.p`, `std.s`, `var.p`, `var.s`]. + select_labels: + Include in the reply only a subset of the key-value pair labels of a series. + align: + Timestamp for alignment control for aggregation. + latest: + Used when a time series is a compaction, reports the compacted + value of the latest possibly partial bucket + bucket_timestamp: + Controls how bucket timestamps are reported. Can be one of [`-`, `low`, `+`, + `high`, `~`, `mid`]. + empty: + Reports aggregations for empty buckets. + + For more information: https://redis.io/commands/ts.mrange/ + """ # noqa params = self.__mrange_params( aggregation_type, bucket_size_msec, @@ -861,55 +646,49 @@ class TimeSeriesCommands: """ Query a range across multiple time-series by filters in reverse direction. - For more information see https://redis.io/commands/ts.mrevrange/ - Args: - from_time: - Start timestamp for the range query. '-' can be used to express the - minimum possible timestamp (0). - to_time: - End timestamp for range query, '+' can be used to express the maximum - possible timestamp. - filters: - Filter to match the time-series labels. - count: - Limits the number of returned samples. - aggregation_type: - Optional aggregation type. Can be one of [`avg`, `sum`, `min`, `max`, - `range`, `count`, `first`, `last`, `std.p`, `std.s`, `var.p`, `var.s`, - `twa`]. - bucket_size_msec: - Time bucket for aggregation in milliseconds. - with_labels: - Include in the reply all label-value pairs representing metadata labels - of the time series. - filter_by_ts: - List of timestamps to filter the result by specific timestamps. - filter_by_min_value: - Filter result by minimum value (must mention also - `filter_by_max_value`). - filter_by_max_value: - Filter result by maximum value (must mention also - `filter_by_min_value`). - groupby: - Grouping by fields the results (must mention also `reduce`). - reduce: - Applying reducer functions on each group. Can be one of [`avg` `sum`, - `min`, `max`, `range`, `count`, `std.p`, `std.s`, `var.p`, `var.s`]. - select_labels: - Include in the reply only a subset of the key-value pair labels of a - series. - align: - Timestamp for alignment control for aggregation. - latest: - Used when a time series is a compaction, reports the compacted value of - the latest possibly partial bucket. - bucket_timestamp: - Controls how bucket timestamps are reported. Can be one of [`-`, `low`, - `+`, `high`, `~`, `mid`]. - empty: - Reports aggregations for empty buckets. - """ + + from_time: + Start timestamp for the range query. - can be used to express the minimum possible timestamp (0). + to_time: + End timestamp for range query, + can be used to express the maximum possible timestamp. + filters: + Filter to match the time-series labels. + count: + Limits the number of returned samples. + aggregation_type: + Optional aggregation type. Can be one of [`avg`, `sum`, `min`, `max`, + `range`, `count`, `first`, `last`, `std.p`, `std.s`, `var.p`, `var.s`, `twa`] + bucket_size_msec: + Time bucket for aggregation in milliseconds. + with_labels: + Include in the reply all label-value pairs representing metadata labels of the time series. + filter_by_ts: + List of timestamps to filter the result by specific timestamps. + filter_by_min_value: + Filter result by minimum value (must mention also filter_by_max_value). + filter_by_max_value: + Filter result by maximum value (must mention also filter_by_min_value). + groupby: + Grouping by fields the results (must mention also reduce). + reduce: + Applying reducer functions on each group. Can be one of [`avg` `sum`, `min`, + `max`, `range`, `count`, `std.p`, `std.s`, `var.p`, `var.s`]. + select_labels: + Include in the reply only a subset of the key-value pair labels of a series. + align: + Timestamp for alignment control for aggregation. + latest: + Used when a time series is a compaction, reports the compacted + value of the latest possibly partial bucket + bucket_timestamp: + Controls how bucket timestamps are reported. Can be one of [`-`, `low`, `+`, + `high`, `~`, `mid`]. + empty: + Reports aggregations for empty buckets. + + For more information: https://redis.io/commands/ts.mrevrange/ + """ # noqa params = self.__mrange_params( aggregation_type, bucket_size_msec, @@ -933,19 +712,16 @@ class TimeSeriesCommands: return self.execute_command(MREVRANGE_CMD, *params) def get(self, key: KeyT, latest: Optional[bool] = False): - """ + """# noqa Get the last sample of `key`. + `latest` used when a time series is a compaction, reports the compacted + value of the latest (possibly partial) bucket - For more information see https://redis.io/commands/ts.get/ - - Args: - latest: - Used when a time series is a compaction, reports the compacted value of - the latest (possibly partial) bucket. - """ + For more information: https://redis.io/commands/ts.get/ + """ # noqa params = [key] self._append_latest(params, latest) - return self.execute_command(GET_CMD, *params, keys=[key]) + return self.execute_command(GET_CMD, *params) def mget( self, @@ -954,24 +730,24 @@ class TimeSeriesCommands: select_labels: Optional[List[str]] = None, latest: Optional[bool] = False, ): - """ + """# noqa Get the last samples matching the specific `filter`. - For more information see https://redis.io/commands/ts.mget/ - Args: - filters: - Filter to match the time-series labels. - with_labels: - Include in the reply all label-value pairs representing metadata labels - of the time series. - select_labels: - Include in the reply only a subset of the key-value pair labels o the - time series. - latest: - Used when a time series is a compaction, reports the compacted value of - the latest possibly partial bucket. - """ + + filters: + Filter to match the time-series labels. + with_labels: + Include in the reply all label-value pairs representing metadata + labels of the time series. + select_labels: + Include in the reply only a subset of the key-value pair labels of a series. + latest: + Used when a time series is a compaction, reports the compacted + value of the latest possibly partial bucket + + For more information: https://redis.io/commands/ts.mget/ + """ # noqa params = [] self._append_latest(params, latest) self._append_with_labels(params, with_labels, select_labels) @@ -980,26 +756,26 @@ class TimeSeriesCommands: return self.execute_command(MGET_CMD, *params) def info(self, key: KeyT): - """ + """# noqa Get information of `key`. - For more information see https://redis.io/commands/ts.info/ - """ - return self.execute_command(INFO_CMD, key, keys=[key]) + For more information: https://redis.io/commands/ts.info/ + """ # noqa + return self.execute_command(INFO_CMD, key) def queryindex(self, filters: List[str]): - """ + """# noqa Get all time series keys matching the `filter` list. - For more information see https://redis.io/commands/ts.queryindex/ - """ + For more information: https://redis.io/commands/ts.queryindex/ + """ # noq return self.execute_command(QUERYINDEX_CMD, *filters) @staticmethod def _append_uncompressed(params: List[str], uncompressed: Optional[bool]): """Append UNCOMPRESSED tag to params.""" if uncompressed: - params.extend(["ENCODING", "UNCOMPRESSED"]) + params.extend(["UNCOMPRESSED"]) @staticmethod def _append_with_labels( @@ -1075,16 +851,17 @@ class TimeSeriesCommands: params.extend(["CHUNK_SIZE", chunk_size]) @staticmethod - def _append_duplicate_policy(params: List[str], duplicate_policy: Optional[str]): - """Append DUPLICATE_POLICY property to params.""" + def _append_duplicate_policy( + params: List[str], command: Optional[str], duplicate_policy: Optional[str] + ): + """Append DUPLICATE_POLICY property to params on CREATE + and ON_DUPLICATE on ADD. + """ if duplicate_policy is not None: - params.extend(["DUPLICATE_POLICY", duplicate_policy]) - - @staticmethod - def _append_on_duplicate(params: List[str], on_duplicate: Optional[str]): - """Append ON_DUPLICATE property to params.""" - if on_duplicate is not None: - params.extend(["ON_DUPLICATE", on_duplicate]) + if command == "TS.ADD": + params.extend(["ON_DUPLICATE", duplicate_policy]) + else: + params.extend(["DUPLICATE_POLICY", duplicate_policy]) @staticmethod def _append_filer_by_ts(params: List[str], ts_list: Optional[List[int]]): @@ -1117,20 +894,3 @@ class TimeSeriesCommands: """Append EMPTY property to params.""" if empty: params.append("EMPTY") - - @staticmethod - def _append_insertion_filters( - params: List[str], - ignore_max_time_diff: Optional[int] = None, - ignore_max_val_diff: Optional[Number] = None, - ): - """Append insertion filters to params.""" - if (ignore_max_time_diff is None) != (ignore_max_val_diff is None): - raise ValueError( - "Both ignore_max_time_diff and ignore_max_val_diff must be set." - ) - - if ignore_max_time_diff is not None and ignore_max_val_diff is not None: - params.extend( - ["IGNORE", str(ignore_max_time_diff), str(ignore_max_val_diff)] - ) diff --git a/venv/lib/python3.12/site-packages/redis/commands/timeseries/info.py b/venv/lib/python3.12/site-packages/redis/commands/timeseries/info.py index 861e3ef..3a384dc 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/timeseries/info.py +++ b/venv/lib/python3.12/site-packages/redis/commands/timeseries/info.py @@ -6,7 +6,7 @@ class TSInfo: """ Hold information and statistics on the time-series. Can be created using ``tsinfo`` command - https://redis.io/docs/latest/commands/ts.info/ + https://oss.redis.com/redistimeseries/commands/#tsinfo. """ rules = [] @@ -57,7 +57,7 @@ class TSInfo: Policy that will define handling of duplicate samples. Can read more about on - https://redis.io/docs/latest/develop/data-types/timeseries/configuration/#duplicate_policy + https://oss.redis.com/redistimeseries/configuration/#duplicate_policy """ response = dict(zip(map(nativestr, args[::2]), args[1::2])) self.rules = response.get("rules") @@ -78,7 +78,7 @@ class TSInfo: self.chunk_size = response["chunkSize"] if "duplicatePolicy" in response: self.duplicate_policy = response["duplicatePolicy"] - if isinstance(self.duplicate_policy, bytes): + if type(self.duplicate_policy) == bytes: self.duplicate_policy = self.duplicate_policy.decode() def get(self, item): diff --git a/venv/lib/python3.12/site-packages/redis/commands/timeseries/utils.py b/venv/lib/python3.12/site-packages/redis/commands/timeseries/utils.py index 12ed656..c49b040 100644 --- a/venv/lib/python3.12/site-packages/redis/commands/timeseries/utils.py +++ b/venv/lib/python3.12/site-packages/redis/commands/timeseries/utils.py @@ -5,7 +5,7 @@ def list_to_dict(aList): return {nativestr(aList[i][0]): nativestr(aList[i][1]) for i in range(len(aList))} -def parse_range(response, **kwargs): +def parse_range(response): """Parse range response. Used by TS.RANGE and TS.REVRANGE.""" return [tuple((r[0], float(r[1]))) for r in response] diff --git a/venv/lib/python3.12/site-packages/redis/commands/vectorset/__init__.py b/venv/lib/python3.12/site-packages/redis/commands/vectorset/__init__.py deleted file mode 100644 index d78580a..0000000 --- a/venv/lib/python3.12/site-packages/redis/commands/vectorset/__init__.py +++ /dev/null @@ -1,46 +0,0 @@ -import json - -from redis._parsers.helpers import pairs_to_dict -from redis.commands.vectorset.utils import ( - parse_vemb_result, - parse_vlinks_result, - parse_vsim_result, -) - -from ..helpers import get_protocol_version -from .commands import ( - VEMB_CMD, - VGETATTR_CMD, - VINFO_CMD, - VLINKS_CMD, - VSIM_CMD, - VectorSetCommands, -) - - -class VectorSet(VectorSetCommands): - def __init__(self, client, **kwargs): - """Create a new VectorSet client.""" - # Set the module commands' callbacks - self._MODULE_CALLBACKS = { - VEMB_CMD: parse_vemb_result, - VGETATTR_CMD: lambda r: r and json.loads(r) or None, - } - - self._RESP2_MODULE_CALLBACKS = { - VINFO_CMD: lambda r: r and pairs_to_dict(r) or None, - VSIM_CMD: parse_vsim_result, - VLINKS_CMD: parse_vlinks_result, - } - self._RESP3_MODULE_CALLBACKS = {} - - self.client = client - self.execute_command = client.execute_command - - if get_protocol_version(self.client) in ["3", 3]: - self._MODULE_CALLBACKS.update(self._RESP3_MODULE_CALLBACKS) - else: - self._MODULE_CALLBACKS.update(self._RESP2_MODULE_CALLBACKS) - - for k, v in self._MODULE_CALLBACKS.items(): - self.client.set_response_callback(k, v) diff --git a/venv/lib/python3.12/site-packages/redis/commands/vectorset/commands.py b/venv/lib/python3.12/site-packages/redis/commands/vectorset/commands.py deleted file mode 100644 index 0f23dba..0000000 --- a/venv/lib/python3.12/site-packages/redis/commands/vectorset/commands.py +++ /dev/null @@ -1,374 +0,0 @@ -import json -from enum import Enum -from typing import Awaitable, Dict, List, Optional, Union - -from redis.client import NEVER_DECODE -from redis.commands.helpers import get_protocol_version -from redis.exceptions import DataError -from redis.typing import CommandsProtocol, EncodableT, KeyT, Number - -VADD_CMD = "VADD" -VSIM_CMD = "VSIM" -VREM_CMD = "VREM" -VDIM_CMD = "VDIM" -VCARD_CMD = "VCARD" -VEMB_CMD = "VEMB" -VLINKS_CMD = "VLINKS" -VINFO_CMD = "VINFO" -VSETATTR_CMD = "VSETATTR" -VGETATTR_CMD = "VGETATTR" -VRANDMEMBER_CMD = "VRANDMEMBER" - - -class QuantizationOptions(Enum): - """Quantization options for the VADD command.""" - - NOQUANT = "NOQUANT" - BIN = "BIN" - Q8 = "Q8" - - -class CallbacksOptions(Enum): - """Options that can be set for the commands callbacks""" - - RAW = "RAW" - WITHSCORES = "WITHSCORES" - ALLOW_DECODING = "ALLOW_DECODING" - RESP3 = "RESP3" - - -class VectorSetCommands(CommandsProtocol): - """Redis VectorSet commands""" - - def vadd( - self, - key: KeyT, - vector: Union[List[float], bytes], - element: str, - reduce_dim: Optional[int] = None, - cas: Optional[bool] = False, - quantization: Optional[QuantizationOptions] = None, - ef: Optional[Number] = None, - attributes: Optional[Union[dict, str]] = None, - numlinks: Optional[int] = None, - ) -> Union[Awaitable[int], int]: - """ - Add vector ``vector`` for element ``element`` to a vector set ``key``. - - ``reduce_dim`` sets the dimensions to reduce the vector to. - If not provided, the vector is not reduced. - - ``cas`` is a boolean flag that indicates whether to use CAS (check-and-set style) - when adding the vector. If not provided, CAS is not used. - - ``quantization`` sets the quantization type to use. - If not provided, int8 quantization is used. - The options are: - - NOQUANT: No quantization - - BIN: Binary quantization - - Q8: Signed 8-bit quantization - - ``ef`` sets the exploration factor to use. - If not provided, the default exploration factor is used. - - ``attributes`` is a dictionary or json string that contains the attributes to set for the vector. - If not provided, no attributes are set. - - ``numlinks`` sets the number of links to create for the vector. - If not provided, the default number of links is used. - - For more information see https://redis.io/commands/vadd - """ - if not vector or not element: - raise DataError("Both vector and element must be provided") - - pieces = [] - if reduce_dim: - pieces.extend(["REDUCE", reduce_dim]) - - values_pieces = [] - if isinstance(vector, bytes): - values_pieces.extend(["FP32", vector]) - else: - values_pieces.extend(["VALUES", len(vector)]) - values_pieces.extend(vector) - pieces.extend(values_pieces) - - pieces.append(element) - - if cas: - pieces.append("CAS") - - if quantization: - pieces.append(quantization.value) - - if ef: - pieces.extend(["EF", ef]) - - if attributes: - if isinstance(attributes, dict): - # transform attributes to json string - attributes_json = json.dumps(attributes) - else: - attributes_json = attributes - pieces.extend(["SETATTR", attributes_json]) - - if numlinks: - pieces.extend(["M", numlinks]) - - return self.execute_command(VADD_CMD, key, *pieces) - - def vsim( - self, - key: KeyT, - input: Union[List[float], bytes, str], - with_scores: Optional[bool] = False, - count: Optional[int] = None, - ef: Optional[Number] = None, - filter: Optional[str] = None, - filter_ef: Optional[str] = None, - truth: Optional[bool] = False, - no_thread: Optional[bool] = False, - epsilon: Optional[Number] = None, - ) -> Union[ - Awaitable[Optional[List[Union[List[EncodableT], Dict[EncodableT, Number]]]]], - Optional[List[Union[List[EncodableT], Dict[EncodableT, Number]]]], - ]: - """ - Compare a vector or element ``input`` with the other vectors in a vector set ``key``. - - ``with_scores`` sets if the results should be returned with the - similarity scores of the elements in the result. - - ``count`` sets the number of results to return. - - ``ef`` sets the exploration factor. - - ``filter`` sets filter that should be applied for the search. - - ``filter_ef`` sets the max filtering effort. - - ``truth`` when enabled forces the command to perform linear scan. - - ``no_thread`` when enabled forces the command to execute the search - on the data structure in the main thread. - - ``epsilon`` floating point between 0 and 1, if specified will return - only elements with distance no further than the specified one. - - For more information see https://redis.io/commands/vsim - """ - - if not input: - raise DataError("'input' should be provided") - - pieces = [] - options = {} - - if isinstance(input, bytes): - pieces.extend(["FP32", input]) - elif isinstance(input, list): - pieces.extend(["VALUES", len(input)]) - pieces.extend(input) - else: - pieces.extend(["ELE", input]) - - if with_scores: - pieces.append("WITHSCORES") - options[CallbacksOptions.WITHSCORES.value] = True - - if count: - pieces.extend(["COUNT", count]) - - if epsilon: - pieces.extend(["EPSILON", epsilon]) - - if ef: - pieces.extend(["EF", ef]) - - if filter: - pieces.extend(["FILTER", filter]) - - if filter_ef: - pieces.extend(["FILTER-EF", filter_ef]) - - if truth: - pieces.append("TRUTH") - - if no_thread: - pieces.append("NOTHREAD") - - return self.execute_command(VSIM_CMD, key, *pieces, **options) - - def vdim(self, key: KeyT) -> Union[Awaitable[int], int]: - """ - Get the dimension of a vector set. - - In the case of vectors that were populated using the `REDUCE` - option, for random projection, the vector set will report the size of - the projected (reduced) dimension. - - Raises `redis.exceptions.ResponseError` if the vector set doesn't exist. - - For more information see https://redis.io/commands/vdim - """ - return self.execute_command(VDIM_CMD, key) - - def vcard(self, key: KeyT) -> Union[Awaitable[int], int]: - """ - Get the cardinality(the number of elements) of a vector set with key ``key``. - - Raises `redis.exceptions.ResponseError` if the vector set doesn't exist. - - For more information see https://redis.io/commands/vcard - """ - return self.execute_command(VCARD_CMD, key) - - def vrem(self, key: KeyT, element: str) -> Union[Awaitable[int], int]: - """ - Remove an element from a vector set. - - For more information see https://redis.io/commands/vrem - """ - return self.execute_command(VREM_CMD, key, element) - - def vemb( - self, key: KeyT, element: str, raw: Optional[bool] = False - ) -> Union[ - Awaitable[Optional[Union[List[EncodableT], Dict[str, EncodableT]]]], - Optional[Union[List[EncodableT], Dict[str, EncodableT]]], - ]: - """ - Get the approximated vector of an element ``element`` from vector set ``key``. - - ``raw`` is a boolean flag that indicates whether to return the - interal representation used by the vector. - - - For more information see https://redis.io/commands/vembed - """ - options = {} - pieces = [] - pieces.extend([key, element]) - - if get_protocol_version(self.client) in ["3", 3]: - options[CallbacksOptions.RESP3.value] = True - - if raw: - pieces.append("RAW") - - options[NEVER_DECODE] = True - if ( - hasattr(self.client, "connection_pool") - and self.client.connection_pool.connection_kwargs["decode_responses"] - ) or ( - hasattr(self.client, "nodes_manager") - and self.client.nodes_manager.connection_kwargs["decode_responses"] - ): - # allow decoding in the postprocessing callback - # if the user set decode_responses=True - # in the connection pool - options[CallbacksOptions.ALLOW_DECODING.value] = True - - options[CallbacksOptions.RAW.value] = True - - return self.execute_command(VEMB_CMD, *pieces, **options) - - def vlinks( - self, key: KeyT, element: str, with_scores: Optional[bool] = False - ) -> Union[ - Awaitable[ - Optional[ - List[Union[List[Union[str, bytes]], Dict[Union[str, bytes], Number]]] - ] - ], - Optional[List[Union[List[Union[str, bytes]], Dict[Union[str, bytes], Number]]]], - ]: - """ - Returns the neighbors for each level the element ``element`` exists in the vector set ``key``. - - The result is a list of lists, where each list contains the neighbors for one level. - If the element does not exist, or if the vector set does not exist, None is returned. - - If the ``WITHSCORES`` option is provided, the result is a list of dicts, - where each dict contains the neighbors for one level, with the scores as values. - - For more information see https://redis.io/commands/vlinks - """ - options = {} - pieces = [] - pieces.extend([key, element]) - - if with_scores: - pieces.append("WITHSCORES") - options[CallbacksOptions.WITHSCORES.value] = True - - return self.execute_command(VLINKS_CMD, *pieces, **options) - - def vinfo(self, key: KeyT) -> Union[Awaitable[dict], dict]: - """ - Get information about a vector set. - - For more information see https://redis.io/commands/vinfo - """ - return self.execute_command(VINFO_CMD, key) - - def vsetattr( - self, key: KeyT, element: str, attributes: Optional[Union[dict, str]] = None - ) -> Union[Awaitable[int], int]: - """ - Associate or remove JSON attributes ``attributes`` of element ``element`` - for vector set ``key``. - - For more information see https://redis.io/commands/vsetattr - """ - if attributes is None: - attributes_json = "{}" - elif isinstance(attributes, dict): - # transform attributes to json string - attributes_json = json.dumps(attributes) - else: - attributes_json = attributes - - return self.execute_command(VSETATTR_CMD, key, element, attributes_json) - - def vgetattr( - self, key: KeyT, element: str - ) -> Union[Optional[Awaitable[dict]], Optional[dict]]: - """ - Retrieve the JSON attributes of an element ``elemet`` for vector set ``key``. - - If the element does not exist, or if the vector set does not exist, None is - returned. - - For more information see https://redis.io/commands/vgetattr - """ - return self.execute_command(VGETATTR_CMD, key, element) - - def vrandmember( - self, key: KeyT, count: Optional[int] = None - ) -> Union[ - Awaitable[Optional[Union[List[str], str]]], Optional[Union[List[str], str]] - ]: - """ - Returns random elements from a vector set ``key``. - - ``count`` is the number of elements to return. - If ``count`` is not provided, a single element is returned as a single string. - If ``count`` is positive(smaller than the number of elements - in the vector set), the command returns a list with up to ``count`` - distinct elements from the vector set - If ``count`` is negative, the command returns a list with ``count`` random elements, - potentially with duplicates. - If ``count`` is greater than the number of elements in the vector set, - only the entire set is returned as a list. - - If the vector set does not exist, ``None`` is returned. - - For more information see https://redis.io/commands/vrandmember - """ - pieces = [] - pieces.append(key) - if count is not None: - pieces.append(count) - return self.execute_command(VRANDMEMBER_CMD, *pieces) diff --git a/venv/lib/python3.12/site-packages/redis/commands/vectorset/utils.py b/venv/lib/python3.12/site-packages/redis/commands/vectorset/utils.py deleted file mode 100644 index ed6d194..0000000 --- a/venv/lib/python3.12/site-packages/redis/commands/vectorset/utils.py +++ /dev/null @@ -1,94 +0,0 @@ -from redis._parsers.helpers import pairs_to_dict -from redis.commands.vectorset.commands import CallbacksOptions - - -def parse_vemb_result(response, **options): - """ - Handle VEMB result since the command can returning different result - structures depending on input options and on quantization type of the vector set. - - Parsing VEMB result into: - - List[Union[bytes, Union[int, float]]] - - Dict[str, Union[bytes, str, float]] - """ - if response is None: - return response - - if options.get(CallbacksOptions.RAW.value): - result = {} - result["quantization"] = ( - response[0].decode("utf-8") - if options.get(CallbacksOptions.ALLOW_DECODING.value) - else response[0] - ) - result["raw"] = response[1] - result["l2"] = float(response[2]) - if len(response) > 3: - result["range"] = float(response[3]) - return result - else: - if options.get(CallbacksOptions.RESP3.value): - return response - - result = [] - for i in range(len(response)): - try: - result.append(int(response[i])) - except ValueError: - # if the value is not an integer, it should be a float - result.append(float(response[i])) - - return result - - -def parse_vlinks_result(response, **options): - """ - Handle VLINKS result since the command can be returning different result - structures depending on input options. - Parsing VLINKS result into: - - List[List[str]] - - List[Dict[str, Number]] - """ - if response is None: - return response - - if options.get(CallbacksOptions.WITHSCORES.value): - result = [] - # Redis will return a list of list of strings. - # This list have to be transformed to list of dicts - for level_item in response: - level_data_dict = {} - for key, value in pairs_to_dict(level_item).items(): - value = float(value) - level_data_dict[key] = value - result.append(level_data_dict) - return result - else: - # return the list of elements for each level - # list of lists - return response - - -def parse_vsim_result(response, **options): - """ - Handle VSIM result since the command can be returning different result - structures depending on input options. - Parsing VSIM result into: - - List[List[str]] - - List[Dict[str, Number]] - """ - if response is None: - return response - - if options.get(CallbacksOptions.WITHSCORES.value): - # Redis will return a list of list of pairs. - # This list have to be transformed to dict - result_dict = {} - for key, value in pairs_to_dict(response).items(): - value = float(value) - result_dict[key] = value - return result_dict - else: - # return the list of elements for each level - # list of lists - return response diff --git a/venv/lib/python3.12/site-packages/redis/compat.py b/venv/lib/python3.12/site-packages/redis/compat.py new file mode 100644 index 0000000..e478493 --- /dev/null +++ b/venv/lib/python3.12/site-packages/redis/compat.py @@ -0,0 +1,6 @@ +# flake8: noqa +try: + from typing import Literal, Protocol, TypedDict # lgtm [py/unused-import] +except ImportError: + from typing_extensions import Literal # lgtm [py/unused-import] + from typing_extensions import Protocol, TypedDict diff --git a/venv/lib/python3.12/site-packages/redis/connection.py b/venv/lib/python3.12/site-packages/redis/connection.py index 47cb589..b39ba28 100644 --- a/venv/lib/python3.12/site-packages/redis/connection.py +++ b/venv/lib/python3.12/site-packages/redis/connection.py @@ -1,37 +1,26 @@ import copy import os import socket +import ssl import sys import threading -import time import weakref from abc import abstractmethod from itertools import chain from queue import Empty, Full, LifoQueue -from typing import Any, Callable, Dict, List, Optional, Type, TypeVar, Union +from time import time +from typing import Any, Callable, List, Optional, Type, Union from urllib.parse import parse_qs, unquote, urlparse -from redis.cache import ( - CacheEntry, - CacheEntryStatus, - CacheFactory, - CacheFactoryInterface, - CacheInterface, - CacheKey, -) - from ._parsers import Encoder, _HiredisParser, _RESP2Parser, _RESP3Parser -from .auth.token import TokenInterface from .backoff import NoBackoff from .credentials import CredentialProvider, UsernamePasswordCredentialProvider -from .event import AfterConnectionReleasedEvent, EventDispatcher from .exceptions import ( AuthenticationError, AuthenticationWrongNumberOfArgsError, ChildDeadlockedError, ConnectionError, DataError, - MaxConnectionsError, RedisError, ResponseError, TimeoutError, @@ -40,20 +29,12 @@ from .retry import Retry from .utils import ( CRYPTOGRAPHY_AVAILABLE, HIREDIS_AVAILABLE, + HIREDIS_PACK_AVAILABLE, SSL_AVAILABLE, - compare_versions, - deprecated_args, - ensure_string, - format_error_message, get_lib_version, str_if_bytes, ) -if SSL_AVAILABLE: - import ssl -else: - ssl = None - if HIREDIS_AVAILABLE: import hiredis @@ -142,88 +123,7 @@ class PythonRespSerializer: return output -class ConnectionInterface: - @abstractmethod - def repr_pieces(self): - pass - - @abstractmethod - def register_connect_callback(self, callback): - pass - - @abstractmethod - def deregister_connect_callback(self, callback): - pass - - @abstractmethod - def set_parser(self, parser_class): - pass - - @abstractmethod - def get_protocol(self): - pass - - @abstractmethod - def connect(self): - pass - - @abstractmethod - def on_connect(self): - pass - - @abstractmethod - def disconnect(self, *args): - pass - - @abstractmethod - def check_health(self): - pass - - @abstractmethod - def send_packed_command(self, command, check_health=True): - pass - - @abstractmethod - def send_command(self, *args, **kwargs): - pass - - @abstractmethod - def can_read(self, timeout=0): - pass - - @abstractmethod - def read_response( - self, - disable_decoding=False, - *, - disconnect_on_error=True, - push_request=False, - ): - pass - - @abstractmethod - def pack_command(self, *args): - pass - - @abstractmethod - def pack_commands(self, commands): - pass - - @property - @abstractmethod - def handshake_metadata(self) -> Union[Dict[bytes, bytes], Dict[str, str]]: - pass - - @abstractmethod - def set_re_auth_token(self, token: TokenInterface): - pass - - @abstractmethod - def re_auth(self): - pass - - -class AbstractConnection(ConnectionInterface): +class AbstractConnection: "Manages communication to and from a Redis server" def __init__( @@ -249,7 +149,6 @@ class AbstractConnection(ConnectionInterface): credential_provider: Optional[CredentialProvider] = None, protocol: Optional[int] = 2, command_packer: Optional[Callable[[], None]] = None, - event_dispatcher: Optional[EventDispatcher] = None, ): """ Initialize a new Connection. @@ -265,10 +164,6 @@ class AbstractConnection(ConnectionInterface): "1. 'password' and (optional) 'username'\n" "2. 'credential_provider'" ) - if event_dispatcher is None: - self._event_dispatcher = EventDispatcher() - else: - self._event_dispatcher = event_dispatcher self.pid = os.getpid() self.db = db self.client_name = client_name @@ -302,13 +197,11 @@ class AbstractConnection(ConnectionInterface): self.next_health_check = 0 self.redis_connect_func = redis_connect_func self.encoder = Encoder(encoding, encoding_errors, decode_responses) - self.handshake_metadata = None self._sock = None self._socket_read_size = socket_read_size self.set_parser(parser_class) self._connect_callbacks = [] self._buffer_cutoff = 6000 - self._re_auth_token: Optional[TokenInterface] = None try: p = int(protocol) except TypeError: @@ -324,7 +217,7 @@ class AbstractConnection(ConnectionInterface): def __repr__(self): repr_args = ",".join([f"{k}={v}" for k, v in self.repr_pieces()]) - return f"<{self.__class__.__module__}.{self.__class__.__name__}({repr_args})>" + return f"{self.__class__.__name__}<{repr_args}>" @abstractmethod def repr_pieces(self): @@ -339,29 +232,17 @@ class AbstractConnection(ConnectionInterface): def _construct_command_packer(self, packer): if packer is not None: return packer - elif HIREDIS_AVAILABLE: + elif HIREDIS_PACK_AVAILABLE: return HiredisRespSerializer() else: return PythonRespSerializer(self._buffer_cutoff, self.encoder.encode) - def register_connect_callback(self, callback): - """ - Register a callback to be called when the connection is established either - initially or reconnected. This allows listeners to issue commands that - are ephemeral to the connection, for example pub/sub subscription or - key tracking. The callback must be a _method_ and will be kept as - a weak reference. - """ + def _register_connect_callback(self, callback): wm = weakref.WeakMethod(callback) if wm not in self._connect_callbacks: self._connect_callbacks.append(wm) - def deregister_connect_callback(self, callback): - """ - De-register a previously registered callback. It will no-longer receive - notifications on connection events. Calling this is not required when the - listener goes away, since the callbacks are kept as weak methods. - """ + def _deregister_connect_callback(self, callback): try: self._connect_callbacks.remove(weakref.WeakMethod(callback)) except ValueError: @@ -377,20 +258,12 @@ class AbstractConnection(ConnectionInterface): def connect(self): "Connects to the Redis server if not already connected" - self.connect_check_health(check_health=True) - - def connect_check_health( - self, check_health: bool = True, retry_socket_connect: bool = True - ): if self._sock: return try: - if retry_socket_connect: - sock = self.retry.call_with_retry( - lambda: self._connect(), lambda error: self.disconnect(error) - ) - else: - sock = self._connect() + sock = self.retry.call_with_retry( + lambda: self._connect(), lambda error: self.disconnect(error) + ) except socket.timeout: raise TimeoutError("Timeout connecting to server") except OSError as e: @@ -400,7 +273,7 @@ class AbstractConnection(ConnectionInterface): try: if self.redis_connect_func is None: # Use the default on_connect function - self.on_connect_check_health(check_health=check_health) + self.on_connect() else: # Use the passed function redis_connect_func self.redis_connect_func(self) @@ -426,13 +299,11 @@ class AbstractConnection(ConnectionInterface): def _host_error(self): pass + @abstractmethod def _error_message(self, exception): - return format_error_message(self._host_error(), exception) + pass def on_connect(self): - self.on_connect_check_health(check_health=True) - - def on_connect_check_health(self, check_health: bool = True): "Initialize the connection, authenticate and select a database" self._parser.on_connect(self) parser = self._parser @@ -456,12 +327,8 @@ class AbstractConnection(ConnectionInterface): self._parser.on_connect(self) if len(auth_args) == 1: auth_args = ["default", auth_args[0]] - # avoid checking health here -- PING will fail if we try - # to check the health prior to the AUTH - self.send_command( - "HELLO", self.protocol, "AUTH", *auth_args, check_health=False - ) - self.handshake_metadata = self.read_response() + self.send_command("HELLO", self.protocol, "AUTH", *auth_args) + response = self.read_response() # if response.get(b"proto") != self.protocol and response.get( # "proto" # ) != self.protocol: @@ -491,55 +358,38 @@ class AbstractConnection(ConnectionInterface): # update cluster exception classes self._parser.EXCEPTION_CLASSES = parser.EXCEPTION_CLASSES self._parser.on_connect(self) - self.send_command("HELLO", self.protocol, check_health=check_health) - self.handshake_metadata = self.read_response() + self.send_command("HELLO", self.protocol) + response = self.read_response() if ( - self.handshake_metadata.get(b"proto") != self.protocol - and self.handshake_metadata.get("proto") != self.protocol + response.get(b"proto") != self.protocol + and response.get("proto") != self.protocol ): raise ConnectionError("Invalid RESP version") # if a client_name is given, set it if self.client_name: - self.send_command( - "CLIENT", - "SETNAME", - self.client_name, - check_health=check_health, - ) + self.send_command("CLIENT", "SETNAME", self.client_name) if str_if_bytes(self.read_response()) != "OK": raise ConnectionError("Error setting client name") try: # set the library name and version if self.lib_name: - self.send_command( - "CLIENT", - "SETINFO", - "LIB-NAME", - self.lib_name, - check_health=check_health, - ) + self.send_command("CLIENT", "SETINFO", "LIB-NAME", self.lib_name) self.read_response() except ResponseError: pass try: if self.lib_version: - self.send_command( - "CLIENT", - "SETINFO", - "LIB-VER", - self.lib_version, - check_health=check_health, - ) + self.send_command("CLIENT", "SETINFO", "LIB-VER", self.lib_version) self.read_response() except ResponseError: pass # if a database is specified, switch to it if self.db: - self.send_command("SELECT", self.db, check_health=check_health) + self.send_command("SELECT", self.db) if str_if_bytes(self.read_response()) != "OK": raise ConnectionError("Invalid Database") @@ -555,7 +405,7 @@ class AbstractConnection(ConnectionInterface): if os.getpid() == self.pid: try: conn_sock.shutdown(socket.SHUT_RDWR) - except (OSError, TypeError): + except OSError: pass try: @@ -575,13 +425,13 @@ class AbstractConnection(ConnectionInterface): def check_health(self): """Check the health of the connection with a PING/PONG""" - if self.health_check_interval and time.monotonic() > self.next_health_check: + if self.health_check_interval and time() > self.next_health_check: self.retry.call_with_retry(self._send_ping, self._ping_failed) def send_packed_command(self, command, check_health=True): """Send an already packed command to the Redis server""" if not self._sock: - self.connect_check_health(check_health=False) + self.connect() # guard against health check recursion if check_health: self.check_health() @@ -642,7 +492,7 @@ class AbstractConnection(ConnectionInterface): host_error = self._host_error() try: - if self.protocol in ["3", 3]: + if self.protocol in ["3", 3] and not HIREDIS_AVAILABLE: response = self._parser.read_response( disable_decoding=disable_decoding, push_request=push_request ) @@ -655,7 +505,9 @@ class AbstractConnection(ConnectionInterface): except OSError as e: if disconnect_on_error: self.disconnect() - raise ConnectionError(f"Error while reading from {host_error} : {e.args}") + raise ConnectionError( + f"Error while reading from {host_error}" f" : {e.args}" + ) except BaseException: # Also by default close in case of BaseException. A lot of code # relies on this behaviour when doing Command/Response pairs. @@ -665,7 +517,7 @@ class AbstractConnection(ConnectionInterface): raise if self.health_check_interval: - self.next_health_check = time.monotonic() + self.health_check_interval + self.next_health_check = time() + self.health_check_interval if isinstance(response, ResponseError): try: @@ -708,30 +560,6 @@ class AbstractConnection(ConnectionInterface): output.append(SYM_EMPTY.join(pieces)) return output - def get_protocol(self) -> Union[int, str]: - return self.protocol - - @property - def handshake_metadata(self) -> Union[Dict[bytes, bytes], Dict[str, str]]: - return self._handshake_metadata - - @handshake_metadata.setter - def handshake_metadata(self, value: Union[Dict[bytes, bytes], Dict[str, str]]): - self._handshake_metadata = value - - def set_re_auth_token(self, token: TokenInterface): - self._re_auth_token = token - - def re_auth(self): - if self._re_auth_token is not None: - self.send_command( - "AUTH", - self._re_auth_token.try_get("oid"), - self._re_auth_token.get_value(), - ) - self.read_response() - self._re_auth_token = None - class Connection(AbstractConnection): "Manages TCP communication to and from a Redis server" @@ -793,10 +621,6 @@ class Connection(AbstractConnection): except OSError as _: err = _ if sock is not None: - try: - sock.shutdown(socket.SHUT_RDWR) # ensure a clean close - except OSError: - pass sock.close() if err is not None: @@ -806,219 +630,26 @@ class Connection(AbstractConnection): def _host_error(self): return f"{self.host}:{self.port}" + def _error_message(self, exception): + # args for socket.error can either be (errno, "message") + # or just "message" -class CacheProxyConnection(ConnectionInterface): - DUMMY_CACHE_VALUE = b"foo" - MIN_ALLOWED_VERSION = "7.4.0" - DEFAULT_SERVER_NAME = "redis" + host_error = self._host_error() - def __init__( - self, - conn: ConnectionInterface, - cache: CacheInterface, - pool_lock: threading.RLock, - ): - self.pid = os.getpid() - self._conn = conn - self.retry = self._conn.retry - self.host = self._conn.host - self.port = self._conn.port - self.credential_provider = conn.credential_provider - self._pool_lock = pool_lock - self._cache = cache - self._cache_lock = threading.RLock() - self._current_command_cache_key = None - self._current_options = None - self.register_connect_callback(self._enable_tracking_callback) - - def repr_pieces(self): - return self._conn.repr_pieces() - - def register_connect_callback(self, callback): - self._conn.register_connect_callback(callback) - - def deregister_connect_callback(self, callback): - self._conn.deregister_connect_callback(callback) - - def set_parser(self, parser_class): - self._conn.set_parser(parser_class) - - def connect(self): - self._conn.connect() - - server_name = self._conn.handshake_metadata.get(b"server", None) - if server_name is None: - server_name = self._conn.handshake_metadata.get("server", None) - server_ver = self._conn.handshake_metadata.get(b"version", None) - if server_ver is None: - server_ver = self._conn.handshake_metadata.get("version", None) - if server_ver is None or server_ver is None: - raise ConnectionError("Cannot retrieve information about server version") - - server_ver = ensure_string(server_ver) - server_name = ensure_string(server_name) - - if ( - server_name != self.DEFAULT_SERVER_NAME - or compare_versions(server_ver, self.MIN_ALLOWED_VERSION) == 1 - ): - raise ConnectionError( - "To maximize compatibility with all Redis products, client-side caching is supported by Redis 7.4 or later" # noqa: E501 - ) - - def on_connect(self): - self._conn.on_connect() - - def disconnect(self, *args): - with self._cache_lock: - self._cache.flush() - self._conn.disconnect(*args) - - def check_health(self): - self._conn.check_health() - - def send_packed_command(self, command, check_health=True): - # TODO: Investigate if it's possible to unpack command - # or extract keys from packed command - self._conn.send_packed_command(command) - - def send_command(self, *args, **kwargs): - self._process_pending_invalidations() - - with self._cache_lock: - # Command is write command or not allowed - # to be cached. - if not self._cache.is_cachable(CacheKey(command=args[0], redis_keys=())): - self._current_command_cache_key = None - self._conn.send_command(*args, **kwargs) - return - - if kwargs.get("keys") is None: - raise ValueError("Cannot create cache key.") - - # Creates cache key. - self._current_command_cache_key = CacheKey( - command=args[0], redis_keys=tuple(kwargs.get("keys")) - ) - - with self._cache_lock: - # We have to trigger invalidation processing in case if - # it was cached by another connection to avoid - # queueing invalidations in stale connections. - if self._cache.get(self._current_command_cache_key): - entry = self._cache.get(self._current_command_cache_key) - - if entry.connection_ref != self._conn: - with self._pool_lock: - while entry.connection_ref.can_read(): - entry.connection_ref.read_response(push_request=True) - - return - - # Set temporary entry value to prevent - # race condition from another connection. - self._cache.set( - CacheEntry( - cache_key=self._current_command_cache_key, - cache_value=self.DUMMY_CACHE_VALUE, - status=CacheEntryStatus.IN_PROGRESS, - connection_ref=self._conn, + if len(exception.args) == 1: + try: + return f"Error connecting to {host_error}. \ + {exception.args[0]}." + except AttributeError: + return f"Connection Error: {exception.args[0]}" + else: + try: + return ( + f"Error {exception.args[0]} connecting to " + f"{host_error}. {exception.args[1]}." ) - ) - - # Send command over socket only if it's allowed - # read-only command that not yet cached. - self._conn.send_command(*args, **kwargs) - - def can_read(self, timeout=0): - return self._conn.can_read(timeout) - - def read_response( - self, disable_decoding=False, *, disconnect_on_error=True, push_request=False - ): - with self._cache_lock: - # Check if command response exists in a cache and it's not in progress. - if ( - self._current_command_cache_key is not None - and self._cache.get(self._current_command_cache_key) is not None - and self._cache.get(self._current_command_cache_key).status - != CacheEntryStatus.IN_PROGRESS - ): - res = copy.deepcopy( - self._cache.get(self._current_command_cache_key).cache_value - ) - self._current_command_cache_key = None - return res - - response = self._conn.read_response( - disable_decoding=disable_decoding, - disconnect_on_error=disconnect_on_error, - push_request=push_request, - ) - - with self._cache_lock: - # Prevent not-allowed command from caching. - if self._current_command_cache_key is None: - return response - # If response is None prevent from caching. - if response is None: - self._cache.delete_by_cache_keys([self._current_command_cache_key]) - return response - - cache_entry = self._cache.get(self._current_command_cache_key) - - # Cache only responses that still valid - # and wasn't invalidated by another connection in meantime. - if cache_entry is not None: - cache_entry.status = CacheEntryStatus.VALID - cache_entry.cache_value = response - self._cache.set(cache_entry) - - self._current_command_cache_key = None - - return response - - def pack_command(self, *args): - return self._conn.pack_command(*args) - - def pack_commands(self, commands): - return self._conn.pack_commands(commands) - - @property - def handshake_metadata(self) -> Union[Dict[bytes, bytes], Dict[str, str]]: - return self._conn.handshake_metadata - - def _connect(self): - self._conn._connect() - - def _host_error(self): - self._conn._host_error() - - def _enable_tracking_callback(self, conn: ConnectionInterface) -> None: - conn.send_command("CLIENT", "TRACKING", "ON") - conn.read_response() - conn._parser.set_invalidation_push_handler(self._on_invalidation_callback) - - def _process_pending_invalidations(self): - while self.can_read(): - self._conn.read_response(push_request=True) - - def _on_invalidation_callback(self, data: List[Union[str, Optional[List[bytes]]]]): - with self._cache_lock: - # Flush cache when DB flushed on server-side - if data[1] is None: - self._cache.flush() - else: - self._cache.delete_by_redis_keys(data[1]) - - def get_protocol(self): - return self._conn.get_protocol() - - def set_re_auth_token(self, token: TokenInterface): - self._conn.set_re_auth_token(token) - - def re_auth(self): - self._conn.re_auth() + except AttributeError: + return f"Connection Error: {exception.args[0]}" class SSLConnection(Connection): @@ -1034,15 +665,13 @@ class SSLConnection(Connection): ssl_cert_reqs="required", ssl_ca_certs=None, ssl_ca_data=None, - ssl_check_hostname=True, + ssl_check_hostname=False, ssl_ca_path=None, ssl_password=None, ssl_validate_ocsp=False, ssl_validate_ocsp_stapled=False, ssl_ocsp_context=None, ssl_ocsp_expected_cert=None, - ssl_min_version=None, - ssl_ciphers=None, **kwargs, ): """Constructor @@ -1050,7 +679,7 @@ class SSLConnection(Connection): Args: ssl_keyfile: Path to an ssl private key. Defaults to None. ssl_certfile: Path to an ssl certificate. Defaults to None. - ssl_cert_reqs: The string value for the SSLContext.verify_mode (none, optional, required), or an ssl.VerifyMode. Defaults to "required". + ssl_cert_reqs: The string value for the SSLContext.verify_mode (none, optional, required). Defaults to "required". ssl_ca_certs: The path to a file of concatenated CA certificates in PEM format. Defaults to None. ssl_ca_data: Either an ASCII string of one or more PEM-encoded certificates or a bytes-like object of DER-encoded certificates. ssl_check_hostname: If set, match the hostname during the SSL handshake. Defaults to False. @@ -1061,8 +690,6 @@ class SSLConnection(Connection): ssl_validate_ocsp_stapled: If set, perform a validation on a stapled ocsp response ssl_ocsp_context: A fully initialized OpenSSL.SSL.Context object to be used in verifying the ssl_ocsp_expected_cert ssl_ocsp_expected_cert: A PEM armoured string containing the expected certificate to be returned from the ocsp verification service. - ssl_min_version: The lowest supported SSL version. It affects the supported SSL versions of the SSLContext. None leaves the default provided by ssl module. - ssl_ciphers: A string listing the ciphers that are allowed to be used. Defaults to None, which means that the default ciphers are used. See https://docs.python.org/3/library/ssl.html#ssl.SSLContext.set_ciphers for more information. Raises: RedisError @@ -1075,7 +702,7 @@ class SSLConnection(Connection): if ssl_cert_reqs is None: ssl_cert_reqs = ssl.CERT_NONE elif isinstance(ssl_cert_reqs, str): - CERT_REQS = { # noqa: N806 + CERT_REQS = { "none": ssl.CERT_NONE, "optional": ssl.CERT_OPTIONAL, "required": ssl.CERT_REQUIRED, @@ -1089,39 +716,17 @@ class SSLConnection(Connection): self.ca_certs = ssl_ca_certs self.ca_data = ssl_ca_data self.ca_path = ssl_ca_path - self.check_hostname = ( - ssl_check_hostname if self.cert_reqs != ssl.CERT_NONE else False - ) + self.check_hostname = ssl_check_hostname self.certificate_password = ssl_password self.ssl_validate_ocsp = ssl_validate_ocsp self.ssl_validate_ocsp_stapled = ssl_validate_ocsp_stapled self.ssl_ocsp_context = ssl_ocsp_context self.ssl_ocsp_expected_cert = ssl_ocsp_expected_cert - self.ssl_min_version = ssl_min_version - self.ssl_ciphers = ssl_ciphers super().__init__(**kwargs) def _connect(self): - """ - Wrap the socket with SSL support, handling potential errors. - """ + "Wrap the socket with SSL support" sock = super()._connect() - try: - return self._wrap_socket_with_ssl(sock) - except (OSError, RedisError): - sock.close() - raise - - def _wrap_socket_with_ssl(self, sock): - """ - Wraps the socket with SSL support. - - Args: - sock: The plain socket to wrap with SSL. - - Returns: - An SSL wrapped socket. - """ context = ssl.create_default_context() context.check_hostname = self.check_hostname context.verify_mode = self.cert_reqs @@ -1139,10 +744,7 @@ class SSLConnection(Connection): context.load_verify_locations( cafile=self.ca_certs, capath=self.ca_path, cadata=self.ca_data ) - if self.ssl_min_version is not None: - context.minimum_version = self.ssl_min_version - if self.ssl_ciphers: - context.set_ciphers(self.ssl_ciphers) + sslsock = context.wrap_socket(sock, server_hostname=self.host) if self.ssl_validate_ocsp is True and CRYPTOGRAPHY_AVAILABLE is False: raise RedisError("cryptography is not installed.") @@ -1152,8 +754,6 @@ class SSLConnection(Connection): "- not both." ) - sslsock = context.wrap_socket(sock, server_hostname=self.host) - # validation for the stapled case if self.ssl_validate_ocsp_stapled: import OpenSSL @@ -1196,9 +796,9 @@ class UnixDomainSocketConnection(AbstractConnection): "Manages UDS communication to and from a Redis server" def __init__(self, path="", socket_timeout=None, **kwargs): - super().__init__(**kwargs) self.path = path self.socket_timeout = socket_timeout + super().__init__(**kwargs) def repr_pieces(self): pieces = [("path", self.path), ("db", self.db)] @@ -1210,22 +810,27 @@ class UnixDomainSocketConnection(AbstractConnection): "Create a Unix domain socket connection" sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.socket_connect_timeout) - try: - sock.connect(self.path) - except OSError: - # Prevent ResourceWarnings for unclosed sockets. - try: - sock.shutdown(socket.SHUT_RDWR) # ensure a clean close - except OSError: - pass - sock.close() - raise + sock.connect(self.path) sock.settimeout(self.socket_timeout) return sock def _host_error(self): return self.path + def _error_message(self, exception): + # args for socket.error can either be (errno, "message") + # or just "message" + host_error = self._host_error() + if len(exception.args) == 1: + return ( + f"Error connecting to unix socket: {host_error}. {exception.args[0]}." + ) + else: + return ( + f"Error {exception.args[0]} connecting to unix socket: " + f"{host_error}. {exception.args[1]}." + ) + FALSE_STRINGS = ("0", "F", "FALSE", "N", "NO") @@ -1248,7 +853,6 @@ URL_QUERY_ARGUMENT_PARSERS = { "max_connections": int, "health_check_interval": int, "ssl_check_hostname": to_bool, - "timeout": float, } @@ -1274,7 +878,7 @@ def parse_url(url): try: kwargs[name] = parser(value) except (TypeError, ValueError): - raise ValueError(f"Invalid value for '{name}' in connection URL.") + raise ValueError(f"Invalid value for `{name}` in connection URL.") else: kwargs[name] = value @@ -1309,9 +913,6 @@ def parse_url(url): return kwargs -_CP = TypeVar("_CP", bound="ConnectionPool") - - class ConnectionPool: """ Create a connection pool. ``If max_connections`` is set, then this @@ -1321,14 +922,13 @@ class ConnectionPool: By default, TCP connections are created unless ``connection_class`` is specified. Use class:`.UnixDomainSocketConnection` for unix sockets. - :py:class:`~redis.SSLConnection` can be used for SSL enabled connections. Any additional keyword arguments are passed to the constructor of ``connection_class``. """ @classmethod - def from_url(cls: Type[_CP], url: str, **kwargs) -> _CP: + def from_url(cls, url, **kwargs): """ Return a connection pool configured from the given URL. @@ -1380,7 +980,6 @@ class ConnectionPool: self, connection_class=Connection, max_connections: Optional[int] = None, - cache_factory: Optional[CacheFactoryInterface] = None, **connection_kwargs, ): max_connections = max_connections or 2**31 @@ -1390,34 +989,6 @@ class ConnectionPool: self.connection_class = connection_class self.connection_kwargs = connection_kwargs self.max_connections = max_connections - self.cache = None - self._cache_factory = cache_factory - - if connection_kwargs.get("cache_config") or connection_kwargs.get("cache"): - if connection_kwargs.get("protocol") not in [3, "3"]: - raise RedisError("Client caching is only supported with RESP version 3") - - cache = self.connection_kwargs.get("cache") - - if cache is not None: - if not isinstance(cache, CacheInterface): - raise ValueError("Cache must implement CacheInterface") - - self.cache = cache - else: - if self._cache_factory is not None: - self.cache = self._cache_factory.get_cache() - else: - self.cache = CacheFactory( - self.connection_kwargs.get("cache_config") - ).get_cache() - - connection_kwargs.pop("cache", None) - connection_kwargs.pop("cache_config", None) - - self._event_dispatcher = self.connection_kwargs.get("event_dispatcher", None) - if self._event_dispatcher is None: - self._event_dispatcher = EventDispatcher() # a lock to protect the critical section in _checkpid(). # this lock is acquired when the process id changes, such as @@ -1427,29 +998,17 @@ class ConnectionPool: # object of this pool. subsequent threads acquiring this lock # will notice the first thread already did the work and simply # release the lock. - - self._fork_lock = threading.RLock() - self._lock = threading.RLock() - + self._fork_lock = threading.Lock() self.reset() - def __repr__(self) -> str: - conn_kwargs = ",".join([f"{k}={v}" for k, v in self.connection_kwargs.items()]) + def __repr__(self) -> (str, str): return ( - f"<{self.__class__.__module__}.{self.__class__.__name__}" - f"(<{self.connection_class.__module__}.{self.connection_class.__name__}" - f"({conn_kwargs})>)>" + f"{type(self).__name__}" + f"<{repr(self.connection_class(**self.connection_kwargs))}>" ) - def get_protocol(self): - """ - Returns: - The RESP protocol version, or ``None`` if the protocol is not specified, - in which case the server default will be used. - """ - return self.connection_kwargs.get("protocol", None) - def reset(self) -> None: + self._lock = threading.Lock() self._created_connections = 0 self._available_connections = [] self._in_use_connections = set() @@ -1512,14 +1071,8 @@ class ConnectionPool: finally: self._fork_lock.release() - @deprecated_args( - args_to_warn=["*"], - reason="Use get_connection() without args instead", - version="5.3.0", - ) - def get_connection(self, command_name=None, *keys, **options) -> "Connection": + def get_connection(self, command_name: str, *keys, **options) -> "Connection": "Get a connection from the pool" - self._checkpid() with self._lock: try: @@ -1536,9 +1089,9 @@ class ConnectionPool: # pool before all data has been read or the socket has been # closed. either way, reconnect and verify everything is good. try: - if connection.can_read() and self.cache is None: + if connection.can_read(): raise ConnectionError("Connection has data") - except (ConnectionError, TimeoutError, OSError): + except (ConnectionError, OSError): connection.disconnect() connection.connect() if connection.can_read(): @@ -1560,17 +1113,11 @@ class ConnectionPool: decode_responses=kwargs.get("decode_responses", False), ) - def make_connection(self) -> "ConnectionInterface": + def make_connection(self) -> "Connection": "Create a new connection" if self._created_connections >= self.max_connections: - raise MaxConnectionsError("Too many connections") + raise ConnectionError("Too many connections") self._created_connections += 1 - - if self.cache is not None: - return CacheProxyConnection( - self.connection_class(**self.connection_kwargs), self.cache, self._lock - ) - return self.connection_class(**self.connection_kwargs) def release(self, connection: "Connection") -> None: @@ -1582,18 +1129,15 @@ class ConnectionPool: except KeyError: # Gracefully fail when a connection is returned to this pool # that the pool doesn't actually own - return + pass if self.owns_connection(connection): self._available_connections.append(connection) - self._event_dispatcher.dispatch( - AfterConnectionReleasedEvent(connection) - ) else: - # Pool doesn't own this connection, do not add it back - # to the pool. - # The created connections count should not be changed, - # because the connection was not created by the pool. + # pool doesn't own this connection. do not add it back + # to the pool and decrement the count so that another + # connection can take its place if needed + self._created_connections -= 1 connection.disconnect() return @@ -1624,36 +1168,13 @@ class ConnectionPool: """Close the pool, disconnecting all connections""" self.disconnect() - def set_retry(self, retry: Retry) -> None: + def set_retry(self, retry: "Retry") -> None: self.connection_kwargs.update({"retry": retry}) for conn in self._available_connections: conn.retry = retry for conn in self._in_use_connections: conn.retry = retry - def re_auth_callback(self, token: TokenInterface): - with self._lock: - for conn in self._available_connections: - conn.retry.call_with_retry( - lambda: conn.send_command( - "AUTH", token.try_get("oid"), token.get_value() - ), - lambda error: self._mock(error), - ) - conn.retry.call_with_retry( - lambda: conn.read_response(), lambda error: self._mock(error) - ) - for conn in self._in_use_connections: - conn.set_re_auth_token(token) - - async def _mock(self, error: RedisError): - """ - Dummy functions, needs to be passed as error callback to retry object. - :param error: - :return: - """ - pass - class BlockingConnectionPool(ConnectionPool): """ @@ -1731,21 +1252,11 @@ class BlockingConnectionPool(ConnectionPool): def make_connection(self): "Make a fresh connection." - if self.cache is not None: - connection = CacheProxyConnection( - self.connection_class(**self.connection_kwargs), self.cache, self._lock - ) - else: - connection = self.connection_class(**self.connection_kwargs) + connection = self.connection_class(**self.connection_kwargs) self._connections.append(connection) return connection - @deprecated_args( - args_to_warn=["*"], - reason="Use get_connection() without args instead", - version="5.3.0", - ) - def get_connection(self, command_name=None, *keys, **options): + def get_connection(self, command_name, *keys, **options): """ Get a connection, blocking for ``self.timeout`` until a connection is available from the pool. @@ -1785,7 +1296,7 @@ class BlockingConnectionPool(ConnectionPool): try: if connection.can_read(): raise ConnectionError("Connection has data") - except (ConnectionError, TimeoutError, OSError): + except (ConnectionError, OSError): connection.disconnect() connection.connect() if connection.can_read(): diff --git a/venv/lib/python3.12/site-packages/redis/credentials.py b/venv/lib/python3.12/site-packages/redis/credentials.py index 6e59454..7ba26dc 100644 --- a/venv/lib/python3.12/site-packages/redis/credentials.py +++ b/venv/lib/python3.12/site-packages/redis/credentials.py @@ -1,8 +1,4 @@ -import logging -from abc import ABC, abstractmethod -from typing import Any, Callable, Optional, Tuple, Union - -logger = logging.getLogger(__name__) +from typing import Optional, Tuple, Union class CredentialProvider: @@ -13,38 +9,6 @@ class CredentialProvider: def get_credentials(self) -> Union[Tuple[str], Tuple[str, str]]: raise NotImplementedError("get_credentials must be implemented") - async def get_credentials_async(self) -> Union[Tuple[str], Tuple[str, str]]: - logger.warning( - "This method is added for backward compatability. " - "Please override it in your implementation." - ) - return self.get_credentials() - - -class StreamingCredentialProvider(CredentialProvider, ABC): - """ - Credential provider that streams credentials in the background. - """ - - @abstractmethod - def on_next(self, callback: Callable[[Any], None]): - """ - Specifies the callback that should be invoked - when the next credentials will be retrieved. - - :param callback: Callback with - :return: - """ - pass - - @abstractmethod - def on_error(self, callback: Callable[[Exception], None]): - pass - - @abstractmethod - def is_streaming(self) -> bool: - pass - class UsernamePasswordCredentialProvider(CredentialProvider): """ @@ -60,6 +24,3 @@ class UsernamePasswordCredentialProvider(CredentialProvider): if self.username: return self.username, self.password return (self.password,) - - async def get_credentials_async(self) -> Union[Tuple[str], Tuple[str, str]]: - return self.get_credentials() diff --git a/venv/lib/python3.12/site-packages/redis/event.py b/venv/lib/python3.12/site-packages/redis/event.py deleted file mode 100644 index b86c66b..0000000 --- a/venv/lib/python3.12/site-packages/redis/event.py +++ /dev/null @@ -1,394 +0,0 @@ -import asyncio -import threading -from abc import ABC, abstractmethod -from enum import Enum -from typing import List, Optional, Union - -from redis.auth.token import TokenInterface -from redis.credentials import CredentialProvider, StreamingCredentialProvider - - -class EventListenerInterface(ABC): - """ - Represents a listener for given event object. - """ - - @abstractmethod - def listen(self, event: object): - pass - - -class AsyncEventListenerInterface(ABC): - """ - Represents an async listener for given event object. - """ - - @abstractmethod - async def listen(self, event: object): - pass - - -class EventDispatcherInterface(ABC): - """ - Represents a dispatcher that dispatches events to listeners - associated with given event. - """ - - @abstractmethod - def dispatch(self, event: object): - pass - - @abstractmethod - async def dispatch_async(self, event: object): - pass - - -class EventException(Exception): - """ - Exception wrapper that adds an event object into exception context. - """ - - def __init__(self, exception: Exception, event: object): - self.exception = exception - self.event = event - super().__init__(exception) - - -class EventDispatcher(EventDispatcherInterface): - # TODO: Make dispatcher to accept external mappings. - def __init__(self): - """ - Mapping should be extended for any new events or listeners to be added. - """ - self._event_listeners_mapping = { - AfterConnectionReleasedEvent: [ - ReAuthConnectionListener(), - ], - AfterPooledConnectionsInstantiationEvent: [ - RegisterReAuthForPooledConnections() - ], - AfterSingleConnectionInstantiationEvent: [ - RegisterReAuthForSingleConnection() - ], - AfterPubSubConnectionInstantiationEvent: [RegisterReAuthForPubSub()], - AfterAsyncClusterInstantiationEvent: [RegisterReAuthForAsyncClusterNodes()], - AsyncAfterConnectionReleasedEvent: [ - AsyncReAuthConnectionListener(), - ], - } - - def dispatch(self, event: object): - listeners = self._event_listeners_mapping.get(type(event)) - - for listener in listeners: - listener.listen(event) - - async def dispatch_async(self, event: object): - listeners = self._event_listeners_mapping.get(type(event)) - - for listener in listeners: - await listener.listen(event) - - -class AfterConnectionReleasedEvent: - """ - Event that will be fired before each command execution. - """ - - def __init__(self, connection): - self._connection = connection - - @property - def connection(self): - return self._connection - - -class AsyncAfterConnectionReleasedEvent(AfterConnectionReleasedEvent): - pass - - -class ClientType(Enum): - SYNC = ("sync",) - ASYNC = ("async",) - - -class AfterPooledConnectionsInstantiationEvent: - """ - Event that will be fired after pooled connection instances was created. - """ - - def __init__( - self, - connection_pools: List, - client_type: ClientType, - credential_provider: Optional[CredentialProvider] = None, - ): - self._connection_pools = connection_pools - self._client_type = client_type - self._credential_provider = credential_provider - - @property - def connection_pools(self): - return self._connection_pools - - @property - def client_type(self) -> ClientType: - return self._client_type - - @property - def credential_provider(self) -> Union[CredentialProvider, None]: - return self._credential_provider - - -class AfterSingleConnectionInstantiationEvent: - """ - Event that will be fired after single connection instances was created. - - :param connection_lock: For sync client thread-lock should be provided, - for async asyncio.Lock - """ - - def __init__( - self, - connection, - client_type: ClientType, - connection_lock: Union[threading.RLock, asyncio.Lock], - ): - self._connection = connection - self._client_type = client_type - self._connection_lock = connection_lock - - @property - def connection(self): - return self._connection - - @property - def client_type(self) -> ClientType: - return self._client_type - - @property - def connection_lock(self) -> Union[threading.RLock, asyncio.Lock]: - return self._connection_lock - - -class AfterPubSubConnectionInstantiationEvent: - def __init__( - self, - pubsub_connection, - connection_pool, - client_type: ClientType, - connection_lock: Union[threading.RLock, asyncio.Lock], - ): - self._pubsub_connection = pubsub_connection - self._connection_pool = connection_pool - self._client_type = client_type - self._connection_lock = connection_lock - - @property - def pubsub_connection(self): - return self._pubsub_connection - - @property - def connection_pool(self): - return self._connection_pool - - @property - def client_type(self) -> ClientType: - return self._client_type - - @property - def connection_lock(self) -> Union[threading.RLock, asyncio.Lock]: - return self._connection_lock - - -class AfterAsyncClusterInstantiationEvent: - """ - Event that will be fired after async cluster instance was created. - - Async cluster doesn't use connection pools, - instead ClusterNode object manages connections. - """ - - def __init__( - self, - nodes: dict, - credential_provider: Optional[CredentialProvider] = None, - ): - self._nodes = nodes - self._credential_provider = credential_provider - - @property - def nodes(self) -> dict: - return self._nodes - - @property - def credential_provider(self) -> Union[CredentialProvider, None]: - return self._credential_provider - - -class ReAuthConnectionListener(EventListenerInterface): - """ - Listener that performs re-authentication of given connection. - """ - - def listen(self, event: AfterConnectionReleasedEvent): - event.connection.re_auth() - - -class AsyncReAuthConnectionListener(AsyncEventListenerInterface): - """ - Async listener that performs re-authentication of given connection. - """ - - async def listen(self, event: AsyncAfterConnectionReleasedEvent): - await event.connection.re_auth() - - -class RegisterReAuthForPooledConnections(EventListenerInterface): - """ - Listener that registers a re-authentication callback for pooled connections. - Required by :class:`StreamingCredentialProvider`. - """ - - def __init__(self): - self._event = None - - def listen(self, event: AfterPooledConnectionsInstantiationEvent): - if isinstance(event.credential_provider, StreamingCredentialProvider): - self._event = event - - if event.client_type == ClientType.SYNC: - event.credential_provider.on_next(self._re_auth) - event.credential_provider.on_error(self._raise_on_error) - else: - event.credential_provider.on_next(self._re_auth_async) - event.credential_provider.on_error(self._raise_on_error_async) - - def _re_auth(self, token): - for pool in self._event.connection_pools: - pool.re_auth_callback(token) - - async def _re_auth_async(self, token): - for pool in self._event.connection_pools: - await pool.re_auth_callback(token) - - def _raise_on_error(self, error: Exception): - raise EventException(error, self._event) - - async def _raise_on_error_async(self, error: Exception): - raise EventException(error, self._event) - - -class RegisterReAuthForSingleConnection(EventListenerInterface): - """ - Listener that registers a re-authentication callback for single connection. - Required by :class:`StreamingCredentialProvider`. - """ - - def __init__(self): - self._event = None - - def listen(self, event: AfterSingleConnectionInstantiationEvent): - if isinstance( - event.connection.credential_provider, StreamingCredentialProvider - ): - self._event = event - - if event.client_type == ClientType.SYNC: - event.connection.credential_provider.on_next(self._re_auth) - event.connection.credential_provider.on_error(self._raise_on_error) - else: - event.connection.credential_provider.on_next(self._re_auth_async) - event.connection.credential_provider.on_error( - self._raise_on_error_async - ) - - def _re_auth(self, token): - with self._event.connection_lock: - self._event.connection.send_command( - "AUTH", token.try_get("oid"), token.get_value() - ) - self._event.connection.read_response() - - async def _re_auth_async(self, token): - async with self._event.connection_lock: - await self._event.connection.send_command( - "AUTH", token.try_get("oid"), token.get_value() - ) - await self._event.connection.read_response() - - def _raise_on_error(self, error: Exception): - raise EventException(error, self._event) - - async def _raise_on_error_async(self, error: Exception): - raise EventException(error, self._event) - - -class RegisterReAuthForAsyncClusterNodes(EventListenerInterface): - def __init__(self): - self._event = None - - def listen(self, event: AfterAsyncClusterInstantiationEvent): - if isinstance(event.credential_provider, StreamingCredentialProvider): - self._event = event - event.credential_provider.on_next(self._re_auth) - event.credential_provider.on_error(self._raise_on_error) - - async def _re_auth(self, token: TokenInterface): - for key in self._event.nodes: - await self._event.nodes[key].re_auth_callback(token) - - async def _raise_on_error(self, error: Exception): - raise EventException(error, self._event) - - -class RegisterReAuthForPubSub(EventListenerInterface): - def __init__(self): - self._connection = None - self._connection_pool = None - self._client_type = None - self._connection_lock = None - self._event = None - - def listen(self, event: AfterPubSubConnectionInstantiationEvent): - if isinstance( - event.pubsub_connection.credential_provider, StreamingCredentialProvider - ) and event.pubsub_connection.get_protocol() in [3, "3"]: - self._event = event - self._connection = event.pubsub_connection - self._connection_pool = event.connection_pool - self._client_type = event.client_type - self._connection_lock = event.connection_lock - - if self._client_type == ClientType.SYNC: - self._connection.credential_provider.on_next(self._re_auth) - self._connection.credential_provider.on_error(self._raise_on_error) - else: - self._connection.credential_provider.on_next(self._re_auth_async) - self._connection.credential_provider.on_error( - self._raise_on_error_async - ) - - def _re_auth(self, token: TokenInterface): - with self._connection_lock: - self._connection.send_command( - "AUTH", token.try_get("oid"), token.get_value() - ) - self._connection.read_response() - - self._connection_pool.re_auth_callback(token) - - async def _re_auth_async(self, token: TokenInterface): - async with self._connection_lock: - await self._connection.send_command( - "AUTH", token.try_get("oid"), token.get_value() - ) - await self._connection.read_response() - - await self._connection_pool.re_auth_callback(token) - - def _raise_on_error(self, error: Exception): - raise EventException(error, self._event) - - async def _raise_on_error_async(self, error: Exception): - raise EventException(error, self._event) diff --git a/venv/lib/python3.12/site-packages/redis/exceptions.py b/venv/lib/python3.12/site-packages/redis/exceptions.py index 6434449..7cf15a7 100644 --- a/venv/lib/python3.12/site-packages/redis/exceptions.py +++ b/venv/lib/python3.12/site-packages/redis/exceptions.py @@ -79,24 +79,18 @@ class ModuleError(ResponseError): class LockError(RedisError, ValueError): "Errors acquiring or releasing a lock" - # NOTE: For backwards compatibility, this class derives from ValueError. # This was originally chosen to behave like threading.Lock. - - def __init__(self, message=None, lock_name=None): - self.message = message - self.lock_name = lock_name + pass class LockNotOwnedError(LockError): - "Error trying to extend or release a lock that is not owned (anymore)" - + "Error trying to extend or release a lock that is (no longer) owned" pass class ChildDeadlockedError(Exception): "Error indicating that a child process is deadlocked after a fork()" - pass @@ -221,27 +215,4 @@ class SlotNotCoveredError(RedisClusterException): class MaxConnectionsError(ConnectionError): - """ - Raised when a connection pool has reached its max_connections limit. - This indicates pool exhaustion rather than an actual connection failure. - """ - - pass - - -class CrossSlotTransactionError(RedisClusterException): - """ - Raised when a transaction or watch is triggered in a pipeline - and not all keys or all commands belong to the same slot. - """ - - pass - - -class InvalidPipelineStack(RedisClusterException): - """ - Raised on unexpected response length on pipelines. This is - most likely a handling error on the stack. - """ - - pass + ... diff --git a/venv/lib/python3.12/site-packages/redis/lock.py b/venv/lib/python3.12/site-packages/redis/lock.py index 0288496..4cca102 100644 --- a/venv/lib/python3.12/site-packages/redis/lock.py +++ b/venv/lib/python3.12/site-packages/redis/lock.py @@ -1,4 +1,3 @@ -import logging import threading import time as mod_time import uuid @@ -8,8 +7,6 @@ from typing import Optional, Type from redis.exceptions import LockError, LockNotOwnedError from redis.typing import Number -logger = logging.getLogger(__name__) - class Lock: """ @@ -85,7 +82,6 @@ class Lock: blocking: bool = True, blocking_timeout: Optional[Number] = None, thread_local: bool = True, - raise_on_release_error: bool = True, ): """ Create a new Lock instance named ``name`` using the Redis client @@ -129,11 +125,6 @@ class Lock: thread-1 would see the token value as "xyz" and would be able to successfully release the thread-2's lock. - ``raise_on_release_error`` indicates whether to raise an exception when - the lock is no longer owned when exiting the context manager. By default, - this is True, meaning an exception will be raised. If False, the warning - will be logged and the exception will be suppressed. - In some use cases it's necessary to disable thread local storage. For example, if you have code where one thread acquires a lock and passes that lock instance to a worker thread to release later. If thread @@ -149,7 +140,6 @@ class Lock: self.blocking = blocking self.blocking_timeout = blocking_timeout self.thread_local = bool(thread_local) - self.raise_on_release_error = raise_on_release_error self.local = threading.local() if self.thread_local else SimpleNamespace() self.local.token = None self.register_scripts() @@ -167,10 +157,7 @@ class Lock: def __enter__(self) -> "Lock": if self.acquire(): return self - raise LockError( - "Unable to acquire lock within the time specified", - lock_name=self.name, - ) + raise LockError("Unable to acquire lock within the time specified") def __exit__( self, @@ -178,14 +165,7 @@ class Lock: exc_value: Optional[BaseException], traceback: Optional[TracebackType], ) -> None: - try: - self.release() - except LockError: - if self.raise_on_release_error: - raise - logger.warning( - "Lock was unlocked or no longer owned when exiting context manager." - ) + self.release() def acquire( self, @@ -268,10 +248,7 @@ class Lock: """ expected_token = self.local.token if expected_token is None: - raise LockError( - "Cannot release a lock that's not owned or is already unlocked.", - lock_name=self.name, - ) + raise LockError("Cannot release an unlocked lock") self.local.token = None self.do_release(expected_token) @@ -279,12 +256,9 @@ class Lock: if not bool( self.lua_release(keys=[self.name], args=[expected_token], client=self.redis) ): - raise LockNotOwnedError( - "Cannot release a lock that's no longer owned", - lock_name=self.name, - ) + raise LockNotOwnedError("Cannot release a lock that's no longer owned") - def extend(self, additional_time: Number, replace_ttl: bool = False) -> bool: + def extend(self, additional_time: int, replace_ttl: bool = False) -> bool: """ Adds more time to an already acquired lock. @@ -296,12 +270,12 @@ class Lock: `additional_time`. """ if self.local.token is None: - raise LockError("Cannot extend an unlocked lock", lock_name=self.name) + raise LockError("Cannot extend an unlocked lock") if self.timeout is None: - raise LockError("Cannot extend a lock with no timeout", lock_name=self.name) + raise LockError("Cannot extend a lock with no timeout") return self.do_extend(additional_time, replace_ttl) - def do_extend(self, additional_time: Number, replace_ttl: bool) -> bool: + def do_extend(self, additional_time: int, replace_ttl: bool) -> bool: additional_time = int(additional_time * 1000) if not bool( self.lua_extend( @@ -310,10 +284,7 @@ class Lock: client=self.redis, ) ): - raise LockNotOwnedError( - "Cannot extend a lock that's no longer owned", - lock_name=self.name, - ) + raise LockNotOwnedError("Cannot extend a lock that's no longer owned") return True def reacquire(self) -> bool: @@ -321,12 +292,9 @@ class Lock: Resets a TTL of an already acquired lock back to a timeout value. """ if self.local.token is None: - raise LockError("Cannot reacquire an unlocked lock", lock_name=self.name) + raise LockError("Cannot reacquire an unlocked lock") if self.timeout is None: - raise LockError( - "Cannot reacquire a lock with no timeout", - lock_name=self.name, - ) + raise LockError("Cannot reacquire a lock with no timeout") return self.do_reacquire() def do_reacquire(self) -> bool: @@ -336,8 +304,5 @@ class Lock: keys=[self.name], args=[self.local.token, timeout], client=self.redis ) ): - raise LockNotOwnedError( - "Cannot reacquire a lock that's no longer owned", - lock_name=self.name, - ) + raise LockNotOwnedError("Cannot reacquire a lock that's no longer owned") return True diff --git a/venv/lib/python3.12/site-packages/redis/ocsp.py b/venv/lib/python3.12/site-packages/redis/ocsp.py index d69c914..b0420b4 100644 --- a/venv/lib/python3.12/site-packages/redis/ocsp.py +++ b/venv/lib/python3.12/site-packages/redis/ocsp.py @@ -15,7 +15,6 @@ from cryptography.hazmat.primitives.asymmetric.rsa import RSAPublicKey from cryptography.hazmat.primitives.hashes import SHA1, Hash from cryptography.hazmat.primitives.serialization import Encoding, PublicFormat from cryptography.x509 import ocsp - from redis.exceptions import AuthorizationError, ConnectionError @@ -57,12 +56,12 @@ def _check_certificate(issuer_cert, ocsp_bytes, validate=True): if ocsp_response.response_status == ocsp.OCSPResponseStatus.SUCCESSFUL: if ocsp_response.certificate_status != ocsp.OCSPCertStatus.GOOD: raise ConnectionError( - f"Received an {str(ocsp_response.certificate_status).split('.')[1]} " + f'Received an {str(ocsp_response.certificate_status).split(".")[1]} ' "ocsp certificate status" ) else: raise ConnectionError( - "failed to retrieve a successful response from the ocsp responder" + "failed to retrieve a sucessful response from the ocsp responder" ) if ocsp_response.this_update >= datetime.datetime.now(): @@ -140,7 +139,7 @@ def _get_pubkey_hash(certificate): def ocsp_staple_verifier(con, ocsp_bytes, expected=None): - """An implementation of a function for set_ocsp_client_callback in PyOpenSSL. + """An implemention of a function for set_ocsp_client_callback in PyOpenSSL. This function validates that the provide ocsp_bytes response is valid, and matches the expected, stapled responses. @@ -267,7 +266,7 @@ class OCSPVerifier: return url def check_certificate(self, server, cert, issuer_url): - """Checks the validity of an ocsp server for an issuer""" + """Checks the validitity of an ocsp server for an issuer""" r = requests.get(issuer_url) if not r.ok: diff --git a/venv/lib/python3.12/site-packages/redis/retry.py b/venv/lib/python3.12/site-packages/redis/retry.py index 7577863..6064430 100644 --- a/venv/lib/python3.12/site-packages/redis/retry.py +++ b/venv/lib/python3.12/site-packages/redis/retry.py @@ -1,27 +1,17 @@ -import abc import socket from time import sleep -from typing import TYPE_CHECKING, Any, Callable, Generic, Iterable, Tuple, Type, TypeVar from redis.exceptions import ConnectionError, TimeoutError -T = TypeVar("T") -E = TypeVar("E", bound=Exception, covariant=True) -if TYPE_CHECKING: - from redis.backoff import AbstractBackoff - - -class AbstractRetry(Generic[E], abc.ABC): +class Retry: """Retry a specific number of times after a failure""" - _supported_errors: Tuple[Type[E], ...] - def __init__( self, - backoff: "AbstractBackoff", - retries: int, - supported_errors: Tuple[Type[E], ...], + backoff, + retries, + supported_errors=(ConnectionError, TimeoutError, socket.timeout), ): """ Initialize a `Retry` object with a `Backoff` object @@ -34,14 +24,7 @@ class AbstractRetry(Generic[E], abc.ABC): self._retries = retries self._supported_errors = supported_errors - @abc.abstractmethod - def __eq__(self, other: Any) -> bool: - return NotImplemented - - def __hash__(self) -> int: - return hash((self._backoff, self._retries, frozenset(self._supported_errors))) - - def update_supported_errors(self, specified_errors: Iterable[Type[E]]) -> None: + def update_supported_errors(self, specified_errors: list): """ Updates the supported errors with the specified error types """ @@ -49,49 +32,7 @@ class AbstractRetry(Generic[E], abc.ABC): set(self._supported_errors + tuple(specified_errors)) ) - def get_retries(self) -> int: - """ - Get the number of retries. - """ - return self._retries - - def update_retries(self, value: int) -> None: - """ - Set the number of retries. - """ - self._retries = value - - -class Retry(AbstractRetry[Exception]): - __hash__ = AbstractRetry.__hash__ - - def __init__( - self, - backoff: "AbstractBackoff", - retries: int, - supported_errors: Tuple[Type[Exception], ...] = ( - ConnectionError, - TimeoutError, - socket.timeout, - ), - ): - super().__init__(backoff, retries, supported_errors) - - def __eq__(self, other: Any) -> bool: - if not isinstance(other, Retry): - return NotImplemented - - return ( - self._backoff == other._backoff - and self._retries == other._retries - and set(self._supported_errors) == set(other._supported_errors) - ) - - def call_with_retry( - self, - do: Callable[[], T], - fail: Callable[[Exception], Any], - ) -> T: + def call_with_retry(self, do, fail): """ Execute an operation that might fail and returns its result, or raise the exception that was thrown depending on the `Backoff` object. diff --git a/venv/lib/python3.12/site-packages/redis/sentinel.py b/venv/lib/python3.12/site-packages/redis/sentinel.py index f12bd8d..41f308d 100644 --- a/venv/lib/python3.12/site-packages/redis/sentinel.py +++ b/venv/lib/python3.12/site-packages/redis/sentinel.py @@ -5,12 +5,8 @@ from typing import Optional from redis.client import Redis from redis.commands import SentinelCommands from redis.connection import Connection, ConnectionPool, SSLConnection -from redis.exceptions import ( - ConnectionError, - ReadOnlyError, - ResponseError, - TimeoutError, -) +from redis.exceptions import ConnectionError, ReadOnlyError, ResponseError, TimeoutError +from redis.utils import str_if_bytes class MasterNotFoundError(ConnectionError): @@ -28,10 +24,7 @@ class SentinelManagedConnection(Connection): def __repr__(self): pool = self.connection_pool - s = ( - f"<{type(self).__module__}.{type(self).__name__}" - f"(service={pool.service_name}%s)>" - ) + s = f"{type(self).__name__}" if self.host: host_info = f",host={self.host},port={self.port}" s = s % host_info @@ -39,11 +32,11 @@ class SentinelManagedConnection(Connection): def connect_to(self, address): self.host, self.port = address - - self.connect_check_health( - check_health=self.connection_pool.check_connection, - retry_socket_connect=False, - ) + super().connect() + if self.connection_pool.check_connection: + self.send_command("PING") + if str_if_bytes(self.read_response()) != "PONG": + raise ConnectionError("PING failed") def _connect_retry(self): if self._sock: @@ -149,11 +142,9 @@ class SentinelConnectionPool(ConnectionPool): def __init__(self, service_name, sentinel_manager, **kwargs): kwargs["connection_class"] = kwargs.get( "connection_class", - ( - SentinelManagedSSLConnection - if kwargs.pop("ssl", False) - else SentinelManagedConnection - ), + SentinelManagedSSLConnection + if kwargs.pop("ssl", False) + else SentinelManagedConnection, ) self.is_master = kwargs.pop("is_master", True) self.check_connection = kwargs.pop("check_connection", False) @@ -171,10 +162,7 @@ class SentinelConnectionPool(ConnectionPool): def __repr__(self): role = "master" if self.is_master else "slave" - return ( - f"<{type(self).__module__}.{type(self).__name__}" - f"(service={self.service_name}({role}))>" - ) + return f"{type(self).__name__}" - ) + return f'{type(self).__name__}' def check_master_state(self, state, service_name): if not state["is_master"] or state["is_sdown"] or state["is_odown"]: @@ -321,13 +293,7 @@ class Sentinel(SentinelCommands): sentinel, self.sentinels[0], ) - - ip = ( - self._force_master_ip - if self._force_master_ip is not None - else state["ip"] - ) - return ip, state["port"] + return state["ip"], state["port"] error_info = "" if len(collected_errors) > 0: @@ -364,8 +330,6 @@ class Sentinel(SentinelCommands): ): """ Returns a redis client instance for the ``service_name`` master. - Sentinel client will detect failover and reconnect Redis clients - automatically. A :py:class:`~redis.sentinel.SentinelConnectionPool` class is used to retrieve the master's address before establishing a new diff --git a/venv/lib/python3.12/site-packages/redis/typing.py b/venv/lib/python3.12/site-packages/redis/typing.py index ede5385..56a1e99 100644 --- a/venv/lib/python3.12/site-packages/redis/typing.py +++ b/venv/lib/python3.12/site-packages/redis/typing.py @@ -7,18 +7,21 @@ from typing import ( Awaitable, Iterable, Mapping, - Protocol, Type, TypeVar, Union, ) +from redis.compat import Protocol + if TYPE_CHECKING: from redis._parsers import Encoder + from redis.asyncio.connection import ConnectionPool as AsyncConnectionPool + from redis.connection import ConnectionPool Number = Union[int, float] -EncodedT = Union[bytes, bytearray, memoryview] +EncodedT = Union[bytes, memoryview] DecodedT = Union[str, int, float] EncodableT = Union[EncodedT, DecodedT] AbsExpiryT = Union[int, datetime] @@ -30,7 +33,6 @@ KeyT = _StringLikeT # Main redis key space PatternT = _StringLikeT # Patterns matched against keys, fields etc FieldT = EncodableT # Fields within hash tables, streams and geo commands KeysT = Union[KeyT, Iterable[KeyT]] -ResponseT = Union[Awaitable[Any], Any] ChannelT = _StringLikeT GroupT = _StringLikeT # Consumer group ConsumerT = _StringLikeT # Consumer name @@ -50,8 +52,14 @@ ExceptionMappingT = Mapping[str, Union[Type[Exception], Mapping[str, Type[Except class CommandsProtocol(Protocol): - def execute_command(self, *args, **options) -> ResponseT: ... + connection_pool: Union["AsyncConnectionPool", "ConnectionPool"] + + def execute_command(self, *args, **options): + ... -class ClusterCommandsProtocol(CommandsProtocol): +class ClusterCommandsProtocol(CommandsProtocol, Protocol): encoder: "Encoder" + + def execute_command(self, *args, **options) -> Union[Any, Awaitable]: + ... diff --git a/venv/lib/python3.12/site-packages/redis/utils.py b/venv/lib/python3.12/site-packages/redis/utils.py index 79c23c8..01fdfed 100644 --- a/venv/lib/python3.12/site-packages/redis/utils.py +++ b/venv/lib/python3.12/site-packages/redis/utils.py @@ -1,26 +1,18 @@ -import datetime import logging -import textwrap -from collections.abc import Callable +import sys from contextlib import contextmanager from functools import wraps -from typing import Any, Dict, List, Mapping, Optional, TypeVar, Union - -from redis.exceptions import DataError -from redis.typing import AbsExpiryT, EncodableT, ExpiryT +from typing import Any, Dict, Mapping, Union try: import hiredis # noqa - # Only support Hiredis >= 3.0: - hiredis_version = hiredis.__version__.split(".") - HIREDIS_AVAILABLE = int(hiredis_version[0]) > 3 or ( - int(hiredis_version[0]) == 3 and int(hiredis_version[1]) >= 2 - ) - if not HIREDIS_AVAILABLE: - raise ImportError("hiredis package should be >= 3.2.0") + # Only support Hiredis >= 1.0: + HIREDIS_AVAILABLE = not hiredis.__version__.startswith("0.") + HIREDIS_PACK_AVAILABLE = hasattr(hiredis, "pack_command") except ImportError: HIREDIS_AVAILABLE = False + HIREDIS_PACK_AVAILABLE = False try: import ssl # noqa @@ -36,7 +28,10 @@ try: except ImportError: CRYPTOGRAPHY_AVAILABLE = False -from importlib import metadata +if sys.version_info >= (3, 8): + from importlib import metadata +else: + import importlib_metadata as metadata def from_url(url, **kwargs): @@ -131,74 +126,6 @@ def deprecated_function(reason="", version="", name=None): return decorator -def warn_deprecated_arg_usage( - arg_name: Union[list, str], - function_name: str, - reason: str = "", - version: str = "", - stacklevel: int = 2, -): - import warnings - - msg = ( - f"Call to '{function_name}' function with deprecated" - f" usage of input argument/s '{arg_name}'." - ) - if reason: - msg += f" ({reason})" - if version: - msg += f" -- Deprecated since version {version}." - warnings.warn(msg, category=DeprecationWarning, stacklevel=stacklevel) - - -C = TypeVar("C", bound=Callable) - - -def deprecated_args( - args_to_warn: list = ["*"], - allowed_args: list = [], - reason: str = "", - version: str = "", -) -> Callable[[C], C]: - """ - Decorator to mark specified args of a function as deprecated. - If '*' is in args_to_warn, all arguments will be marked as deprecated. - """ - - def decorator(func: C) -> C: - @wraps(func) - def wrapper(*args, **kwargs): - # Get function argument names - arg_names = func.__code__.co_varnames[: func.__code__.co_argcount] - - provided_args = dict(zip(arg_names, args)) - provided_args.update(kwargs) - - provided_args.pop("self", None) - for allowed_arg in allowed_args: - provided_args.pop(allowed_arg, None) - - for arg in args_to_warn: - if arg == "*" and len(provided_args) > 0: - warn_deprecated_arg_usage( - list(provided_args.keys()), - func.__name__, - reason, - version, - stacklevel=3, - ) - elif arg in provided_args: - warn_deprecated_arg_usage( - arg, func.__name__, reason, version, stacklevel=3 - ) - - return func(*args, **kwargs) - - return wrapper - - return decorator - - def _set_info_logger(): """ Set up a logger that log info logs to stdout. @@ -218,97 +145,3 @@ def get_lib_version(): except metadata.PackageNotFoundError: libver = "99.99.99" return libver - - -def format_error_message(host_error: str, exception: BaseException) -> str: - if not exception.args: - return f"Error connecting to {host_error}." - elif len(exception.args) == 1: - return f"Error {exception.args[0]} connecting to {host_error}." - else: - return ( - f"Error {exception.args[0]} connecting to {host_error}. " - f"{exception.args[1]}." - ) - - -def compare_versions(version1: str, version2: str) -> int: - """ - Compare two versions. - - :return: -1 if version1 > version2 - 0 if both versions are equal - 1 if version1 < version2 - """ - - num_versions1 = list(map(int, version1.split("."))) - num_versions2 = list(map(int, version2.split("."))) - - if len(num_versions1) > len(num_versions2): - diff = len(num_versions1) - len(num_versions2) - for _ in range(diff): - num_versions2.append(0) - elif len(num_versions1) < len(num_versions2): - diff = len(num_versions2) - len(num_versions1) - for _ in range(diff): - num_versions1.append(0) - - for i, ver in enumerate(num_versions1): - if num_versions1[i] > num_versions2[i]: - return -1 - elif num_versions1[i] < num_versions2[i]: - return 1 - - return 0 - - -def ensure_string(key): - if isinstance(key, bytes): - return key.decode("utf-8") - elif isinstance(key, str): - return key - else: - raise TypeError("Key must be either a string or bytes") - - -def extract_expire_flags( - ex: Optional[ExpiryT] = None, - px: Optional[ExpiryT] = None, - exat: Optional[AbsExpiryT] = None, - pxat: Optional[AbsExpiryT] = None, -) -> List[EncodableT]: - exp_options: list[EncodableT] = [] - if ex is not None: - exp_options.append("EX") - if isinstance(ex, datetime.timedelta): - exp_options.append(int(ex.total_seconds())) - elif isinstance(ex, int): - exp_options.append(ex) - elif isinstance(ex, str) and ex.isdigit(): - exp_options.append(int(ex)) - else: - raise DataError("ex must be datetime.timedelta or int") - elif px is not None: - exp_options.append("PX") - if isinstance(px, datetime.timedelta): - exp_options.append(int(px.total_seconds() * 1000)) - elif isinstance(px, int): - exp_options.append(px) - else: - raise DataError("px must be datetime.timedelta or int") - elif exat is not None: - if isinstance(exat, datetime.datetime): - exat = int(exat.timestamp()) - exp_options.extend(["EXAT", exat]) - elif pxat is not None: - if isinstance(pxat, datetime.datetime): - pxat = int(pxat.timestamp() * 1000) - exp_options.extend(["PXAT", pxat]) - - return exp_options - - -def truncate_text(txt, max_length=100): - return textwrap.shorten( - text=txt, width=max_length, placeholder="...", break_long_words=True - ) diff --git a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/RECORD b/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/RECORD deleted file mode 100644 index b2d951f..0000000 --- a/venv/lib/python3.12/site-packages/sqlalchemy-2.0.43.dist-info/RECORD +++ /dev/null @@ -1,532 +0,0 @@ -sqlalchemy-2.0.43.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 -sqlalchemy-2.0.43.dist-info/METADATA,sha256=6StIsiY_vKcG9DPqObgaUSVms9cc12bYmm3KbXl9yMw,9577 -sqlalchemy-2.0.43.dist-info/RECORD,, -sqlalchemy-2.0.43.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -sqlalchemy-2.0.43.dist-info/WHEEL,sha256=aSgG0F4rGPZtV0iTEIfy6dtHq6g67Lze3uLfk0vWn88,151 -sqlalchemy-2.0.43.dist-info/licenses/LICENSE,sha256=mCFyC1jUpWW2EyEAeorUOraZGjlZ5mzV203Z6uacffw,1100 -sqlalchemy-2.0.43.dist-info/top_level.txt,sha256=rp-ZgB7D8G11ivXON5VGPjupT1voYmWqkciDt5Uaw_Q,11 -sqlalchemy/__init__.py,sha256=Oi26seKKS4YLZt2VPHQvkIIoTKAcEWD4BCjHQZRG8BE,12659 -sqlalchemy/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/__pycache__/events.cpython-312.pyc,, -sqlalchemy/__pycache__/exc.cpython-312.pyc,, -sqlalchemy/__pycache__/inspection.cpython-312.pyc,, -sqlalchemy/__pycache__/log.cpython-312.pyc,, -sqlalchemy/__pycache__/schema.cpython-312.pyc,, -sqlalchemy/__pycache__/types.cpython-312.pyc,, -sqlalchemy/connectors/__init__.py,sha256=YeSHsOB0YhdM6jZUvHFQFwKqNXO02MlklmGW0yCywjI,476 -sqlalchemy/connectors/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/connectors/__pycache__/aioodbc.cpython-312.pyc,, -sqlalchemy/connectors/__pycache__/asyncio.cpython-312.pyc,, -sqlalchemy/connectors/__pycache__/pyodbc.cpython-312.pyc,, -sqlalchemy/connectors/aioodbc.py,sha256=-OKbnvR-kLCKHyrOIBkAZwTASAbQZ5qmrozm0dwbtNE,5577 -sqlalchemy/connectors/asyncio.py,sha256=OPhwvKQo7l3CUSY7YsL3W8oBqc_zQIAytIvqLjZLwTA,10122 -sqlalchemy/connectors/pyodbc.py,sha256=ZGWBmYYYVgqUHjex3d_lYHZyAhQJGowp9cWGYnj1200,8618 -sqlalchemy/cyextension/__init__.py,sha256=4npVIjitKfUs0NQ6f3UdQBDq4ipJ0_ZNB2mpKqtc5ik,244 -sqlalchemy/cyextension/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/cyextension/collections.cpython-312-x86_64-linux-gnu.so,sha256=lYDyNVPL2jy2Rb_gGvfhb06-wudWxwj9iQzDTaN3wTg,2011024 -sqlalchemy/cyextension/collections.pyx,sha256=L7DZ3DGKpgw2MT2ZZRRxCnrcyE5pU1NAFowWgAzQPEc,12571 -sqlalchemy/cyextension/immutabledict.cpython-312-x86_64-linux-gnu.so,sha256=OlABGDt9_2Qlbh57tcrsiJOKAx8uh5oWarXKkeSwKy8,813560 -sqlalchemy/cyextension/immutabledict.pxd,sha256=3x3-rXG5eRQ7bBnktZ-OJ9-6ft8zToPmTDOd92iXpB0,291 -sqlalchemy/cyextension/immutabledict.pyx,sha256=KfDTYbTfebstE8xuqAtuXsHNAK0_b5q_ymUiinUe_xs,3535 -sqlalchemy/cyextension/processors.cpython-312-x86_64-linux-gnu.so,sha256=zkD9YxSNVRP3CLJdpTH8BAAOA8R5Ga_5vYw5HLmO72o,613448 -sqlalchemy/cyextension/processors.pyx,sha256=R1rHsGLEaGeBq5VeCydjClzYlivERIJ9B-XLOJlf2MQ,1792 -sqlalchemy/cyextension/resultproxy.cpython-312-x86_64-linux-gnu.so,sha256=L83Uxcx_wzzbrYE4xDBVrYxjBa99lQVtd8JfSwayiOA,631984 -sqlalchemy/cyextension/resultproxy.pyx,sha256=eWLdyBXiBy_CLQrF5ScfWJm7X0NeelscSXedtj1zv9Q,2725 -sqlalchemy/cyextension/util.cpython-312-x86_64-linux-gnu.so,sha256=XS0EThpDqN2vddpA8aamUzaqOAgutMk8Gz0m8lq2fKM,990328 -sqlalchemy/cyextension/util.pyx,sha256=Tt5VwTUtO3YKQK2PHfYOLhV2Jr5GMRJcp2DzH4fjGOs,2569 -sqlalchemy/dialects/__init__.py,sha256=oOkVOr98g-6jxaUXld8szIgxkXMBae5IPfAzBrcpLaw,1798 -sqlalchemy/dialects/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/dialects/__pycache__/_typing.cpython-312.pyc,, -sqlalchemy/dialects/_typing.py,sha256=8YwrkOa8IvmBojwwegbL5mL_0UAuzdqYiKHKANpvHMw,971 -sqlalchemy/dialects/mssql/__init__.py,sha256=6t_aNpgbMLdPE9gpHYTf9o6QfVavncztRLbr21l2NaY,1880 -sqlalchemy/dialects/mssql/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/dialects/mssql/__pycache__/aioodbc.cpython-312.pyc,, -sqlalchemy/dialects/mssql/__pycache__/base.cpython-312.pyc,, -sqlalchemy/dialects/mssql/__pycache__/information_schema.cpython-312.pyc,, -sqlalchemy/dialects/mssql/__pycache__/json.cpython-312.pyc,, -sqlalchemy/dialects/mssql/__pycache__/provision.cpython-312.pyc,, -sqlalchemy/dialects/mssql/__pycache__/pymssql.cpython-312.pyc,, -sqlalchemy/dialects/mssql/__pycache__/pyodbc.cpython-312.pyc,, -sqlalchemy/dialects/mssql/aioodbc.py,sha256=4CmhwIkZrabpG-r7_ogRVajD-nhRZSFJ0Swz2d0jIHM,2021 -sqlalchemy/dialects/mssql/base.py,sha256=bsDGdlI9UJ3o_K_FQm-lryn28Gjcss8jpiUwV-rduwo,133927 -sqlalchemy/dialects/mssql/information_schema.py,sha256=CDNPC1ZDjj-DumMgzZdm1oNY6FiO-_Fn2DWJuPVnni0,8963 -sqlalchemy/dialects/mssql/json.py,sha256=F53pibuOVRzgDtjoclOI7LnkKXNVsaVfJyBH1XAhyDo,4756 -sqlalchemy/dialects/mssql/provision.py,sha256=P1tqxZ4f6Oeqn2gNi7dXl82LRLCg1-OB4eWiZc6CHek,5593 -sqlalchemy/dialects/mssql/pymssql.py,sha256=C7yAs3Pw81W1KTVNc6_0sHQuYlJ5iH82vKByY4TkB1g,4097 -sqlalchemy/dialects/mssql/pyodbc.py,sha256=CnO7KDWxbxb7AoZhp_PMDBvVSMuzwq1h4Cav2IWFWDo,27173 -sqlalchemy/dialects/mysql/__init__.py,sha256=ropOMUWrAcL-Q7h-9jQ_tb3ISAFIsNRQ8YVXvn0URl0,2206 -sqlalchemy/dialects/mysql/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/aiomysql.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/asyncmy.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/base.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/cymysql.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/dml.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/enumerated.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/expression.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/json.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/mariadb.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/mariadbconnector.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/mysqlconnector.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/mysqldb.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/provision.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/pymysql.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/pyodbc.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/reflection.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/reserved_words.cpython-312.pyc,, -sqlalchemy/dialects/mysql/__pycache__/types.cpython-312.pyc,, -sqlalchemy/dialects/mysql/aiomysql.py,sha256=XpHS7KvZF_XQFlghvqyZfPuLD890M7GTgMLCaeXA67E,7728 -sqlalchemy/dialects/mysql/asyncmy.py,sha256=kuX02tRZ-0kKbwRgs3dL5T-mRyc5oBSFoIzQDgaHgYk,7093 -sqlalchemy/dialects/mysql/base.py,sha256=V2CE2XB6eiFG3doNdzH3NZPhgXgt3OL7QN8F3dg_9Pg,137763 -sqlalchemy/dialects/mysql/cymysql.py,sha256=ihH4kZ273nvf0R0p8keD71ZIaTXRHyZePXMlobwgbpI,3215 -sqlalchemy/dialects/mysql/dml.py,sha256=VjnTobe_SBNF2RN6tvqa5LOn-9x4teVUyzUedZkOmdc,7768 -sqlalchemy/dialects/mysql/enumerated.py,sha256=si2hGv5jMNGS78n_JDgswIhbBZuTqjwbxjiWg5ZUdy4,10292 -sqlalchemy/dialects/mysql/expression.py,sha256=C8LhU-CM6agqKCS1tl1_ChSqwZbqt3zP_dSGBqgBgLg,4241 -sqlalchemy/dialects/mysql/json.py,sha256=ckYT_lihvqr28iHJTUUwvPPUIoYVLL_wUXWFDTCna_M,2806 -sqlalchemy/dialects/mysql/mariadb.py,sha256=yaiZnnbjfrBqHm1ykaRSFYKrrYUqu-GBYvt97EGYSzs,1886 -sqlalchemy/dialects/mysql/mariadbconnector.py,sha256=lJuS3euMlVBbJDJ10ntqe3TnrjzneLEUlE8sLZl6Qoc,10385 -sqlalchemy/dialects/mysql/mysqlconnector.py,sha256=aaAiF32rQVoLNVIdgGKHMsnMei--0ig3OqmhWq45MrA,10097 -sqlalchemy/dialects/mysql/mysqldb.py,sha256=8wIxcxQxT-X6nywLJkjg9_JdIKGYOhlrtVL8lP_WFcM,9943 -sqlalchemy/dialects/mysql/provision.py,sha256=MaQ9eeHnRL4EXAebIInwarCIiDbYcz_sMCss3wyV12Q,3717 -sqlalchemy/dialects/mysql/pymysql.py,sha256=Qlc9XToIqAfHz0c_ODs97uk1TlV1ZrEl_TidTjoeByU,4886 -sqlalchemy/dialects/mysql/pyodbc.py,sha256=v-Zo4M7blxdff--KJiIantCwbPO6H-GBkNCTN4nBgU4,5111 -sqlalchemy/dialects/mysql/reflection.py,sha256=CBxBiv1mCLLNHz-I8hgJKACTF3K0eYEpWd0ndCBCq5I,24690 -sqlalchemy/dialects/mysql/reserved_words.py,sha256=iG6zb78sn-RdqWQRk2F_Tuufk5tUodkcoHbxTdgZYkw,9236 -sqlalchemy/dialects/mysql/types.py,sha256=lAkkNRVPBHP8H7AQQ7NykfJ8YxgdUDAHkfd7qD-Lwvo,26459 -sqlalchemy/dialects/oracle/__init__.py,sha256=5qrJcFTF3vgB9B4PkwBJj3iXE7P57LdaHNkxMa1NXug,1898 -sqlalchemy/dialects/oracle/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/dialects/oracle/__pycache__/base.cpython-312.pyc,, -sqlalchemy/dialects/oracle/__pycache__/cx_oracle.cpython-312.pyc,, -sqlalchemy/dialects/oracle/__pycache__/dictionary.cpython-312.pyc,, -sqlalchemy/dialects/oracle/__pycache__/oracledb.cpython-312.pyc,, -sqlalchemy/dialects/oracle/__pycache__/provision.cpython-312.pyc,, -sqlalchemy/dialects/oracle/__pycache__/types.cpython-312.pyc,, -sqlalchemy/dialects/oracle/__pycache__/vector.cpython-312.pyc,, -sqlalchemy/dialects/oracle/base.py,sha256=zEl885-lRs07FGdWFuSzBfa1FqrUPT7l2wpcBr9joIs,139156 -sqlalchemy/dialects/oracle/cx_oracle.py,sha256=mYrXD0nJzuTY1h878b50fNXIUBgjc9Q1LJjjY1VHx3w,56717 -sqlalchemy/dialects/oracle/dictionary.py,sha256=J7tGVE0KyUPZKpPLOary3HdDq1DWd29arF5udLgv8_o,19519 -sqlalchemy/dialects/oracle/oracledb.py,sha256=veqto1AUIbSxRmpUQin0ysMV8Y6sWAkzXt7W8IIl118,33771 -sqlalchemy/dialects/oracle/provision.py,sha256=ga1gNQZlXZKk7DYuYegllUejJxZXRKDGa7dbi_S_poc,8313 -sqlalchemy/dialects/oracle/types.py,sha256=axN6Yidx9tGRIUAbDpBrhMWXE-C8jSllFpTghpGOOzU,9058 -sqlalchemy/dialects/oracle/vector.py,sha256=YtN7E5TbDIQR2FCICaSeeaOnvzHP_O0mXNq1gk02S4Q,10874 -sqlalchemy/dialects/postgresql/__init__.py,sha256=kD8W-SV5e2CesvWg2MQAtncXuZFwGPfR_UODvmRXE08,3892 -sqlalchemy/dialects/postgresql/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/_psycopg_common.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/array.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/asyncpg.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/base.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/dml.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/ext.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/hstore.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/json.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/named_types.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/operators.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/pg8000.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/pg_catalog.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/provision.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/psycopg.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/psycopg2.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/psycopg2cffi.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/ranges.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/__pycache__/types.cpython-312.pyc,, -sqlalchemy/dialects/postgresql/_psycopg_common.py,sha256=h4JmkHWxy_Nspn6Bi9YKpa9l0OkwInwQzYKue-fJnVA,5783 -sqlalchemy/dialects/postgresql/array.py,sha256=FyyJ1f3RSAhHtgxKydfMkUAGEh-LJyLOZ31jiAdDo74,16956 -sqlalchemy/dialects/postgresql/asyncpg.py,sha256=QPvyV6YYZ9--ULoMYC5pl7axct79H8DbYrKAUQASqzg,41548 -sqlalchemy/dialects/postgresql/base.py,sha256=RDuehOZL3hLPhq4_7G-91BgAM9LeToHiiIU-RjFGVmU,186421 -sqlalchemy/dialects/postgresql/dml.py,sha256=2SmyMeYveAgm7OnT_CJvwad2nh8BP37yT6gFs8dBYN8,12126 -sqlalchemy/dialects/postgresql/ext.py,sha256=voxpAz-zoCOO-fjpCzrw7UASzNIvdz2u4kFSuGcshlI,17347 -sqlalchemy/dialects/postgresql/hstore.py,sha256=wR4gmvfQWPssHwYTXEsPJTb4LkBS6x4e4XXE6smtDH4,11934 -sqlalchemy/dialects/postgresql/json.py,sha256=YO6yuDnUKh-mHNtc7DavFMpYNUrJ_dNb24gw333uH0M,12842 -sqlalchemy/dialects/postgresql/named_types.py,sha256=D1WFTcxE-PKYRaB75gWvnAvpgGJRTcFkW9nSGpC4WCo,17812 -sqlalchemy/dialects/postgresql/operators.py,sha256=ay3ckNsWtqDjxDseTdKMGGqYVzST6lmfhbbYHG_bxCw,2808 -sqlalchemy/dialects/postgresql/pg8000.py,sha256=r6Lg5tgwuf4FE_RA_kHcfHPW5GXUdNWWr3E846Z4aI0,18743 -sqlalchemy/dialects/postgresql/pg_catalog.py,sha256=wnzFm9S0JFag1TBdySDJH3VOFSkJWmwAjVcIAQ25jHg,9999 -sqlalchemy/dialects/postgresql/provision.py,sha256=7pg9-nOnaK5XBzqByXNPuvi3rxtnRa3dJxdSPVq4eeA,5770 -sqlalchemy/dialects/postgresql/psycopg.py,sha256=k7zXsJj35aOXCrhsbMxwTQX5JWegrqirFJ1Hgbq-GjQ,23326 -sqlalchemy/dialects/postgresql/psycopg2.py,sha256=1KXw9RzsQEAXJazCBywdP5CwLu-HsCSDAD_Khc_rPTM,32032 -sqlalchemy/dialects/postgresql/psycopg2cffi.py,sha256=nKilJfvO9mJwk5NRw5iZDekKY5vi379tvdUJ2vn5eyQ,1756 -sqlalchemy/dialects/postgresql/ranges.py,sha256=rsvhfZ63OVtHHeBDXb_6hULg0HkVx18hkChfoznlhcg,32946 -sqlalchemy/dialects/postgresql/types.py,sha256=oKhDsFiITKbZcCP66L3dhif54pmsFvVfv-MZQWA3sYo,7629 -sqlalchemy/dialects/sqlite/__init__.py,sha256=6Xcz3nPsl8lqCcZ4-VzPRmkMrkKgAp2buKsClZelU7c,1182 -sqlalchemy/dialects/sqlite/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/aiosqlite.cpython-312.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/base.cpython-312.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/dml.cpython-312.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/json.cpython-312.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/provision.cpython-312.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/pysqlcipher.cpython-312.pyc,, -sqlalchemy/dialects/sqlite/__pycache__/pysqlite.cpython-312.pyc,, -sqlalchemy/dialects/sqlite/aiosqlite.py,sha256=eZW4NFpLS6z02keIHeJLI5tFUkzhn0MpS8r2kkl0G0I,14619 -sqlalchemy/dialects/sqlite/base.py,sha256=rRYahtQDySw-4v6ljEomUdvjigGTNXqaqPuiQ5eOpa4,102859 -sqlalchemy/dialects/sqlite/dml.py,sha256=4N8qh06RuMphLoQgWw7wv5nXIrka57jIFvK2x9xTZqg,9138 -sqlalchemy/dialects/sqlite/json.py,sha256=A62xPyLRZxl2hvgTMM92jd_7jlw9UE_4Y6Udqt-8g04,2777 -sqlalchemy/dialects/sqlite/provision.py,sha256=VhqDjDALqxKQY_3Z3hjzkmPQJ-vtk2Dkk1A4qLTs-G8,5596 -sqlalchemy/dialects/sqlite/pysqlcipher.py,sha256=di8rYryfL0KAn3pRGepmunHyIRGy-4Hhr-2q_ehPzss,5371 -sqlalchemy/dialects/sqlite/pysqlite.py,sha256=42jPDi1nZ_9YVKKWaKnkurL8NOFUX_8Rbn7baqRw0J8,25999 -sqlalchemy/dialects/type_migration_guidelines.txt,sha256=-uHNdmYFGB7bzUNT6i8M5nb4j6j9YUKAtW4lcBZqsMg,8239 -sqlalchemy/engine/__init__.py,sha256=EF4haWCPu95WtWx1GzcHRJ_bBmtJMznno3I2TQ-ZIHE,2818 -sqlalchemy/engine/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/_py_processors.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/_py_row.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/_py_util.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/base.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/characteristics.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/create.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/cursor.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/default.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/events.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/interfaces.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/mock.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/processors.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/reflection.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/result.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/row.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/strategies.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/url.cpython-312.pyc,, -sqlalchemy/engine/__pycache__/util.cpython-312.pyc,, -sqlalchemy/engine/_py_processors.py,sha256=7QxgkVOd5h1Qd22qFh-pPZdM7RBRzNjj8lWAMWrilcI,3744 -sqlalchemy/engine/_py_row.py,sha256=yNdrZe36yw6mO7x0OEbG0dGojH7CQkNReIwn9LMUPUs,3787 -sqlalchemy/engine/_py_util.py,sha256=Nvd4pVdXRs89khRevK-Ux4Y9p2f2vnALboNrSwhqS1U,2465 -sqlalchemy/engine/base.py,sha256=aNp2tGNBWlBz2pHiOveJ3PeaJRDJlLknekUQ50MJDjU,123090 -sqlalchemy/engine/characteristics.py,sha256=PepmGApo1sL01dS1qtSbmHplu9ZCdtuSegiGI7L7NZY,4765 -sqlalchemy/engine/create.py,sha256=uIAiU-ANj7fk_6A3dbJw_SEU8Qfd0_YF8yEHGxD0r1g,33847 -sqlalchemy/engine/cursor.py,sha256=63KLS-IKKAYh2uADJytpT1i9-qpG9E0iVBIcKTtKkwI,76567 -sqlalchemy/engine/default.py,sha256=PpySUqbAliGjw80ZxhDdZwyiFEMCpNPcC1XmyJynyEE,85721 -sqlalchemy/engine/events.py,sha256=4_e6Ip32ar2Eb27R4ipamiKC-7Tpg4lVz3txabhT5Rc,37400 -sqlalchemy/engine/interfaces.py,sha256=fNGMov1byIOkPxh7dJervp-UUNyHHm3jpIB0HrCMucc,115119 -sqlalchemy/engine/mock.py,sha256=L07bSIkgEbIkih-pYvFWh7k7adHVp5tBFBekKlD7GHs,4156 -sqlalchemy/engine/processors.py,sha256=XK32bULBkuVVRa703u4-SrTCDi_a18Dxq1M09QFBEPw,2379 -sqlalchemy/engine/reflection.py,sha256=QNOAXvKtdzVddpbkMOyM380y3olKdJKQkmF0Bfwia-Q,75565 -sqlalchemy/engine/result.py,sha256=46J3rP0ZwDwsqU-4CAaEHXTpx8OqCEP9Dy4LQwtHUEg,77805 -sqlalchemy/engine/row.py,sha256=BPtAwsceiRxB9ANpDNM24uQ1M_Zs0xFkSXoKR_I8xyY,12031 -sqlalchemy/engine/strategies.py,sha256=3DixBdeTa824XjuID2o7UxIyg7GyNwdBI8hOOT0SQnc,439 -sqlalchemy/engine/url.py,sha256=GJfZo0KtbMtkOIHBPI_KcKASsyrI5UYkX-UoN62FQxc,31067 -sqlalchemy/engine/util.py,sha256=4OmXwFlmnq6_vBlfUBHnz5LrI_8bT3TwgynX4wcJfnw,5682 -sqlalchemy/event/__init__.py,sha256=ZjVxFGbt9neH5AC4GFiUN5IG2O4j6Z9v2LdmyagJi9w,997 -sqlalchemy/event/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/event/__pycache__/api.cpython-312.pyc,, -sqlalchemy/event/__pycache__/attr.cpython-312.pyc,, -sqlalchemy/event/__pycache__/base.cpython-312.pyc,, -sqlalchemy/event/__pycache__/legacy.cpython-312.pyc,, -sqlalchemy/event/__pycache__/registry.cpython-312.pyc,, -sqlalchemy/event/api.py,sha256=x-VlMFJXzubD6fuB4VRTTeAJeeQNUZ5jHZXD1aL0Qkg,8109 -sqlalchemy/event/attr.py,sha256=YhPXVBPj63Cfyn0nS6h8Ljq0SEbD3mtAZn9HYlzGbtw,20751 -sqlalchemy/event/base.py,sha256=g5eRGX4e949srBK2gUxLYM0RrDUdtUEPS2FT_9IKZeI,15254 -sqlalchemy/event/legacy.py,sha256=lGafKAOF6PY8Bz0AqhN9Q6n-lpXqFLwdv-0T6-UBpow,8227 -sqlalchemy/event/registry.py,sha256=MNEMyR8HZhzQFgxk4Jk_Em6nXTihmGXiSIwPdUnalPM,11144 -sqlalchemy/events.py,sha256=VBRvtckn9JS3tfUfi6UstqUrvQ15J2xamcDByFysIrI,525 -sqlalchemy/exc.py,sha256=AjFBCrOl_V4vQdGegn72Y951RSRMPL6T5qjxnFTGFbM,23978 -sqlalchemy/ext/__init__.py,sha256=BkTNuOg454MpCY9QA3FLK8td7KQhD1W74fOEXxnWibE,322 -sqlalchemy/ext/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/associationproxy.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/automap.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/baked.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/compiler.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/horizontal_shard.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/hybrid.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/indexable.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/instrumentation.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/mutable.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/orderinglist.cpython-312.pyc,, -sqlalchemy/ext/__pycache__/serializer.cpython-312.pyc,, -sqlalchemy/ext/associationproxy.py,sha256=QAo0GssILBua9wRNT3gajwZMEct3KCCu-gWVtAG-MA0,66442 -sqlalchemy/ext/asyncio/__init__.py,sha256=kTIfpwsHWhqZ-VMOBZFBq66kt1XeF0hNuwOToEDe4_Y,1317 -sqlalchemy/ext/asyncio/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/ext/asyncio/__pycache__/base.cpython-312.pyc,, -sqlalchemy/ext/asyncio/__pycache__/engine.cpython-312.pyc,, -sqlalchemy/ext/asyncio/__pycache__/exc.cpython-312.pyc,, -sqlalchemy/ext/asyncio/__pycache__/result.cpython-312.pyc,, -sqlalchemy/ext/asyncio/__pycache__/scoping.cpython-312.pyc,, -sqlalchemy/ext/asyncio/__pycache__/session.cpython-312.pyc,, -sqlalchemy/ext/asyncio/base.py,sha256=40VvRDZqVW_WQ1o-CRaB4c8Zx37rmiLGfQm4PNXWwdQ,9033 -sqlalchemy/ext/asyncio/engine.py,sha256=mMuD_Yq-BdVR5gUchSQzR1TI6mkov9bhtlqFnhvntdI,48321 -sqlalchemy/ext/asyncio/exc.py,sha256=npijuILDXH2p4Q5RzhHzutKwZ5CjtqTcP-U0h9TZUmk,639 -sqlalchemy/ext/asyncio/result.py,sha256=SqG9K9ar9AhzDQDIzt6tu60SoBu63uY1Hlzc7k1GtKQ,30548 -sqlalchemy/ext/asyncio/scoping.py,sha256=5DDH3Ne54yYLHIGaWVxS390JlHn0h3OvH5pj-dGrW_s,52570 -sqlalchemy/ext/asyncio/session.py,sha256=BzwqmXGEdT4K9WMxM6SO_d_xq9eCIatD4yl30nUSybk,63743 -sqlalchemy/ext/automap.py,sha256=n88mktqvExwjqfsDu3yLIA4wbOIWUpQ1S35Uw3X6ffQ,61675 -sqlalchemy/ext/baked.py,sha256=w3SeRoqnPkIhPL2nRAxfVhyir2ypsiW4kmtmUGKs8qo,17753 -sqlalchemy/ext/compiler.py,sha256=f7o4qhUUldpsx4F1sQoUvdVaT2BhiemqNBCF4r_uQUo,20889 -sqlalchemy/ext/declarative/__init__.py,sha256=SuVflXOGDxx2sB2QSTqNEvqS0fyhOkh3-sy2lRsSOLA,1818 -sqlalchemy/ext/declarative/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/ext/declarative/__pycache__/extensions.cpython-312.pyc,, -sqlalchemy/ext/declarative/extensions.py,sha256=yHUPcztU-5E1JrNyELDFWKchAnaYK6Y9-dLcqyc1nUI,19531 -sqlalchemy/ext/horizontal_shard.py,sha256=vouIehpQAuwT0HXyWyynTL3m_gcBuLcB-X8lDB0uQ8U,16691 -sqlalchemy/ext/hybrid.py,sha256=DkvNGtiQYzlEBvs1rYEDXhM8vJEXXh_6DMigsHH9w4k,52531 -sqlalchemy/ext/indexable.py,sha256=AfRoQgBWUKfTxx4jnRaQ97ex8k2FsJLQqc2eKK3ps-k,11066 -sqlalchemy/ext/instrumentation.py,sha256=iCp89rvfK7buW0jJyzKTBDKyMsd06oTRJDItOk4OVSw,15707 -sqlalchemy/ext/mutable.py,sha256=J8ix6T51DkVfr9XDe93Md_92Zf6tzXmdEjMiyORX90E,37603 -sqlalchemy/ext/mypy/__init__.py,sha256=yVNtoBDNeTl1sqRoA_fSY3o1g6M8NxqUVvAHPRLmFTw,241 -sqlalchemy/ext/mypy/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/ext/mypy/__pycache__/apply.cpython-312.pyc,, -sqlalchemy/ext/mypy/__pycache__/decl_class.cpython-312.pyc,, -sqlalchemy/ext/mypy/__pycache__/infer.cpython-312.pyc,, -sqlalchemy/ext/mypy/__pycache__/names.cpython-312.pyc,, -sqlalchemy/ext/mypy/__pycache__/plugin.cpython-312.pyc,, -sqlalchemy/ext/mypy/__pycache__/util.cpython-312.pyc,, -sqlalchemy/ext/mypy/apply.py,sha256=v_Svc1WiBz9yBXqBVBKoCuPGN286TfVmuuCVZPlbyzo,10591 -sqlalchemy/ext/mypy/decl_class.py,sha256=Nuca4ofHkASAkdqEQlULYB7iLm_KID7Mp384seDhVGg,17384 -sqlalchemy/ext/mypy/infer.py,sha256=29vgn22Hi8E8oIZL6UJCBl6oipiPSAQjxccCEkVb410,19367 -sqlalchemy/ext/mypy/names.py,sha256=_Q7J_F8KBSMHcVRw746fsosSJ3RAdDL6RpGAuGa-XJA,10480 -sqlalchemy/ext/mypy/plugin.py,sha256=9YHBp0Bwo92DbDZIUWwIr0hwXPcE4XvHs0-xshvSwUw,9750 -sqlalchemy/ext/mypy/util.py,sha256=CuW2fJ-g9YtkjcypzmrPRaFc-rAvQTzW5A2-w5VTANg,9960 -sqlalchemy/ext/orderinglist.py,sha256=LDHIRpMbl8w0mjDuz6phjnWhApmLRU0PrqouVUDTu-I,15163 -sqlalchemy/ext/serializer.py,sha256=_z95wZMTn3G3sCGN52gwzD4CuKjrhGMr5Eu8g9MxQNg,6169 -sqlalchemy/future/__init__.py,sha256=R1h8VBwMiIUdP3QHv_tFNby557425FJOAGhUoXGvCmc,512 -sqlalchemy/future/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/future/__pycache__/engine.cpython-312.pyc,, -sqlalchemy/future/engine.py,sha256=2nJFBQAXAE8pqe1cs-D3JjC6wUX2ya2h2e_tniuaBq0,495 -sqlalchemy/inspection.py,sha256=qKEKG37N1OjxpQeVzob1q9VwWjBbjI1x0movJG7fYJ4,5063 -sqlalchemy/log.py,sha256=e_ztNUfZM08FmTWeXN9-doD5YKW44nXxgKCUxxNs6Ow,8607 -sqlalchemy/orm/__init__.py,sha256=BICvTXpLaTNe2AiUaxnZHWzjL5miT9fd_IU-ip3OFNk,8463 -sqlalchemy/orm/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/_orm_constructors.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/_typing.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/attributes.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/base.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/bulk_persistence.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/clsregistry.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/collections.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/context.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/decl_api.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/decl_base.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/dependency.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/descriptor_props.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/dynamic.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/evaluator.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/events.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/exc.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/identity.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/instrumentation.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/interfaces.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/loading.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/mapped_collection.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/mapper.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/path_registry.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/persistence.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/properties.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/query.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/relationships.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/scoping.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/session.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/state.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/state_changes.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/strategies.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/strategy_options.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/sync.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/unitofwork.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/util.cpython-312.pyc,, -sqlalchemy/orm/__pycache__/writeonly.cpython-312.pyc,, -sqlalchemy/orm/_orm_constructors.py,sha256=0pVhF06N8RHm3P418xpkZOBwKtrUsY7sQI2xz0f8zT4,105600 -sqlalchemy/orm/_typing.py,sha256=vaYRl4_K3n-sjc9u0Rb4eWWpBOoOi92--OHqaGogRvA,4973 -sqlalchemy/orm/attributes.py,sha256=oh9lKob8z-wChCQuAnW6MokQcaah6x9mNQI9_jbAX7Q,93117 -sqlalchemy/orm/base.py,sha256=J8rTiYm2xTyjTCJdSzaZRh8zasOiIK9FVXtFUits8AU,27501 -sqlalchemy/orm/bulk_persistence.py,sha256=evxOQKnfLRaByNXkudFyH8uFPmtVlCjP80CiIT4Lyb8,72984 -sqlalchemy/orm/clsregistry.py,sha256=-ZD3iO6qXropVH3gSf1nouKWG_xwMl_z5SE6sqOaYOA,17952 -sqlalchemy/orm/collections.py,sha256=cIoXIagPBv4B-TQN7BJssGwQcU0SgEhnKa6wLWsitys,52281 -sqlalchemy/orm/context.py,sha256=9OOJxvXJ_01Sd5-wny-WqVGtak4IA78TyLG_zMOHYmA,115082 -sqlalchemy/orm/decl_api.py,sha256=ViRNRYA1jXcxJCX2UPW7ugymozqbV55WbIj1c96XPpQ,65038 -sqlalchemy/orm/decl_base.py,sha256=N13zJJ0Yejcwu0yOWz8WI38ab56WTeHioYr2PlRCal0,83486 -sqlalchemy/orm/dependency.py,sha256=eiYTsSnW94uGXEFQWj6-KFn25ivz_a2dPN3P6_nMou4,47619 -sqlalchemy/orm/descriptor_props.py,sha256=dh97zKu5-OHDNEhHA3H2YHwdpT8wVT06faeHDzED4pk,37795 -sqlalchemy/orm/dynamic.py,sha256=Z4GpcVL8rM8gi0bytQOZXw-_kKi-sExbRWGjU30dK3g,9816 -sqlalchemy/orm/evaluator.py,sha256=PKrUW1zEOvmv1XEgc_hBdYqNcyk4zjWr_rJhCEQBFIc,12353 -sqlalchemy/orm/events.py,sha256=rdqxmaiaZ7MZ5LQwY5cz6irLkGpJzr1C66zkTsW-QgA,127780 -sqlalchemy/orm/exc.py,sha256=V7cUPl9Kw4qZHLyjOvU1C5WMJ-0MKpNN10qM0C0YG5Y,7636 -sqlalchemy/orm/identity.py,sha256=5NFtF9ZPZWAOmtOqCPyVX2-_pQq9A5XeN2ns3Wirpv8,9249 -sqlalchemy/orm/instrumentation.py,sha256=WhElvvOWOn3Fuc-Asc5HmcKDX6EzFtBleLJKPZEc5A0,24321 -sqlalchemy/orm/interfaces.py,sha256=C0RL0aOVB7E14EVp7MD9C55F2yrOfuOMZ0X-oZg3FCg,49072 -sqlalchemy/orm/loading.py,sha256=SMv9Q5bC-kdvsBpOqBNGqNWlL3I75fxByUeEpLC3qtg,58488 -sqlalchemy/orm/mapped_collection.py,sha256=FAqaTlOUCYqdws2KR_fW0T8mMWIrLuAxJGU5f4W1aGs,19682 -sqlalchemy/orm/mapper.py,sha256=-7q3rHqj3x_acv6prq3sDEXZmHx7kGSV9G-gW_JwaX4,171834 -sqlalchemy/orm/path_registry.py,sha256=tRk3osC5BmU7kkcKJCeeibpg2witjyVzO0rX0pu8vmc,25914 -sqlalchemy/orm/persistence.py,sha256=laKaHW7XsVDYhXfDLnxqAJ5lPB8vhUZ0lEhLvtx-fb4,61812 -sqlalchemy/orm/properties.py,sha256=yXxd40V25FIF9vSEev-AxH58yZie8mZMCGQtgFmoUe8,30127 -sqlalchemy/orm/query.py,sha256=hPLslLL50lThw--5G8l3GtPgEdIY07hqIDOEO-0-wT8,118724 -sqlalchemy/orm/relationships.py,sha256=t3yqixZ41chMVOnmelNaps7jwj5vwN9dZFSB0gKK9Pw,128763 -sqlalchemy/orm/scoping.py,sha256=I_-BL8xAFQsZraFtA1wf5wgZ1WywBwBk-9OwiSAjPTM,78600 -sqlalchemy/orm/session.py,sha256=tNdUDRhTx0qFB6cCbnORatW4aWoNfJKuxNwch4KTd3E,195877 -sqlalchemy/orm/state.py,sha256=1vtlz674sGFmwZ8Ih9TdrslA-0nhU2G52WgV-FoG2j0,37670 -sqlalchemy/orm/state_changes.py,sha256=al74Ymt3vqqtWfzZUHQhIKmBZXbT1ovLxgfDurW6XRc,6813 -sqlalchemy/orm/strategies.py,sha256=zk2sg-5D05dBJlzEzpLD5Sfnd5WcCH6dDm4-bxZdMKI,119803 -sqlalchemy/orm/strategy_options.py,sha256=6QFEsOoOsyP2yNJHiJ4j9urfwQxfHFuSVJpoD9TxHcA,85627 -sqlalchemy/orm/sync.py,sha256=RdoxnhvgNjn3Lhtoq4QjvXpj8qfOz__wyibh0FMON0A,5779 -sqlalchemy/orm/unitofwork.py,sha256=hkSIcVonoSt0WWHk019bCDEw0g2o2fg4m4yqoTGyAoo,27033 -sqlalchemy/orm/util.py,sha256=t7lHq0-2FdSpPT558v674-6j9j4DTCmWTOI9xbDy3nY,80889 -sqlalchemy/orm/writeonly.py,sha256=OmFqL9SaJxgZkuvISHwa5WZlipMf3X6t5UJPDwxv_pA,22225 -sqlalchemy/pool/__init__.py,sha256=niqzCv2uOZT07DOiV2inlmjrW3lZyqDXGCjnOl1IqJ4,1804 -sqlalchemy/pool/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/pool/__pycache__/base.cpython-312.pyc,, -sqlalchemy/pool/__pycache__/events.cpython-312.pyc,, -sqlalchemy/pool/__pycache__/impl.cpython-312.pyc,, -sqlalchemy/pool/base.py,sha256=_UnrUVppwH0gBkiqPWPcxh1FgU4rjEsCDuCBBw73uAg,52383 -sqlalchemy/pool/events.py,sha256=wdFfvat0fSrVF84Zzsz5E3HnVY0bhL7MPsGME-b2qa8,13149 -sqlalchemy/pool/impl.py,sha256=2cg6RVfaXHOH-JPvJx0ITN-xDvjNP-eokhmqpDjsBgE,18899 -sqlalchemy/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 -sqlalchemy/schema.py,sha256=huwl6-8J9j8ZkMiV3ISminNA7BPa8GrYmdX-q4Lvy9M,3251 -sqlalchemy/sql/__init__.py,sha256=Y-bZ25Zf-bxqsF2zUkpRGTjFuozNNVQHxUJV3Qmaq2M,5820 -sqlalchemy/sql/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/_dml_constructors.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/_elements_constructors.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/_orm_types.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/_py_util.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/_selectable_constructors.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/_typing.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/annotation.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/base.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/cache_key.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/coercions.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/compiler.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/crud.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/ddl.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/default_comparator.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/dml.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/elements.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/events.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/expression.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/functions.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/lambdas.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/naming.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/operators.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/roles.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/schema.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/selectable.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/sqltypes.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/traversals.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/type_api.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/util.cpython-312.pyc,, -sqlalchemy/sql/__pycache__/visitors.cpython-312.pyc,, -sqlalchemy/sql/_dml_constructors.py,sha256=JF_XucNTfAk6Vz9fYiPWOgpIGtUkDj6VPILysLcrVhk,3795 -sqlalchemy/sql/_elements_constructors.py,sha256=0fOsjr_UVUnpJJyP7FL0dd1-tqcqIU5uc0vsNfPNApo,63096 -sqlalchemy/sql/_orm_types.py,sha256=0zeMit-V4rYZe-bB9X3xugnjFnPXH0gmeqkJou9Fows,625 -sqlalchemy/sql/_py_util.py,sha256=4KFXNvBq3hhfrr-A1J1uBml3b3CGguIf1dat9gsEHqE,2173 -sqlalchemy/sql/_selectable_constructors.py,sha256=2xSSQEkjhsOim8nvuzQgSN_jpfKdJM9_jVNR91n-wuM,22171 -sqlalchemy/sql/_typing.py,sha256=lV12dX4kWMC1IIEyD3fgOJo_plMq0-qfE5h_oiQzTuQ,13029 -sqlalchemy/sql/annotation.py,sha256=qHUEwbdmMD3Ybr0ez-Dyiw9l9UB_RUMHWAUIeO_r3gE,18245 -sqlalchemy/sql/base.py,sha256=lwxhzQumtS7GA0Hb7v3TgUT9pbwELEkGoyj9XqRcS2Y,75859 -sqlalchemy/sql/cache_key.py,sha256=hnOYFbU_vmtpqorW-dE1Z9h_CK_Yi_3YXZpOAp30ZbM,33653 -sqlalchemy/sql/coercions.py,sha256=8jZUTu7NqukXTVvz9jqJ7Pr3u762qrP2AUVgmOgoUTc,40705 -sqlalchemy/sql/compiler.py,sha256=63-a8RYtgbU-UKDLerrMidaZvRUqmsT7H_4fS0PZ4qc,283319 -sqlalchemy/sql/crud.py,sha256=zfJdQsRZgAwxcxmo4-WjhgxJKpJ7FRoAAuZ7NgNNUx0,59455 -sqlalchemy/sql/ddl.py,sha256=6Za5sdcpC2D0rJ7_tPSnyp6XR-B0zaDR6MCn032g0eE,47993 -sqlalchemy/sql/default_comparator.py,sha256=YL0lb3TGlmfoUfcMWEo5FkvBQVPa1ZnDcYxoUq97f_4,16706 -sqlalchemy/sql/dml.py,sha256=hUubKQK2dT91uMXyWuK1OpdJ6L4R_VyBw_rKH82lt7U,66232 -sqlalchemy/sql/elements.py,sha256=E0lCoqQJbWwQ34xdhdxGXqGcFgrvla_xrnSpWgs4Uwo,178317 -sqlalchemy/sql/events.py,sha256=iWjc_nm1vClDBLg4ZhDnY75CkBdnlDPSPe0MGBSmbiM,18312 -sqlalchemy/sql/expression.py,sha256=CsOkmAQgaB-Rnwe7eK60FdBC5R9kY5pczCGrVw2BwGs,7583 -sqlalchemy/sql/functions.py,sha256=DQkV7asOlWaBtFTqRIC663oNkloy5EUhHexjo87GtUY,64826 -sqlalchemy/sql/lambdas.py,sha256=W5b75ojie3EOm7poR27qsnQHQYdz-NxfSrgb5ATT2H0,49401 -sqlalchemy/sql/naming.py,sha256=5Tk6nm4xqy8d9gzXzDvdiqqS7IptUaf1d7IuVdslplU,6855 -sqlalchemy/sql/operators.py,sha256=h5bgu31gukGdsYsN_0-1C7IGAdSCFpBxuRjOUnu1Two,76792 -sqlalchemy/sql/roles.py,sha256=drAeWbevjgFAKNcMrH_EuJ-9sSvcq4aeXwAqMXXZGYw,7662 -sqlalchemy/sql/schema.py,sha256=UW3cJhz8YhdGNp5VuUcFy0qVkGpbwmgj7ejdyklSr4s,230401 -sqlalchemy/sql/selectable.py,sha256=5L3itqHaRCyd7isvo3VE32jyajdV8VZQ7ybnzWgmu14,242155 -sqlalchemy/sql/sqltypes.py,sha256=kMNNxP0z3xfK8OeZCI4wMsexAN07O31O1Wj6uaFNzdk,132156 -sqlalchemy/sql/traversals.py,sha256=7GALHt5mFceUv2SMUikIdAb9SUcSbACqhwoei5rPkxc,33664 -sqlalchemy/sql/type_api.py,sha256=ZaRtirCvkY2-LOv2TeRFX8r8aVOl5fZhplLWBqexctE,85425 -sqlalchemy/sql/util.py,sha256=NSyop8VMFspSPhnUeTc6-ffWEnBgS12FasZKSo-e1-w,48110 -sqlalchemy/sql/visitors.py,sha256=nMK_ddPg4NvEhEgKorD0rGoy-jqs-dT-uou-S8HAEyY,36316 -sqlalchemy/testing/__init__.py,sha256=GgUEqxUNCxg-92_GgBDnljUHsdCxaGPMG1TWy5tjwgk,3160 -sqlalchemy/testing/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/assertions.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/assertsql.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/asyncio.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/config.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/engines.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/entities.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/exclusions.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/pickleable.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/profiling.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/provision.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/requirements.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/schema.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/util.cpython-312.pyc,, -sqlalchemy/testing/__pycache__/warnings.cpython-312.pyc,, -sqlalchemy/testing/assertions.py,sha256=9FLeP4Q5nPCP-NAVutOse9ej0SD1uEGtW5YKIy8s5dA,31564 -sqlalchemy/testing/assertsql.py,sha256=cmhtZrgPBjrqIfzFz3VBWxVNvxWoRllvmoWcUCoqsio,16817 -sqlalchemy/testing/asyncio.py,sha256=QsMzDWARFRrpLoWhuYqzYQPTUZ80fymlKrqOoDkmCmQ,3830 -sqlalchemy/testing/config.py,sha256=HySdB5_FgCW1iHAJVxYo-4wq5gUAEi0N8E93IC6M86Q,12058 -sqlalchemy/testing/engines.py,sha256=c1gFXfpo5S1dvNjGIL03mbW2eVYtUD_9M_ZEfQO2ArM,13414 -sqlalchemy/testing/entities.py,sha256=KdgTVPSALhi9KkAXj2giOYl62ld-1yZziIDBSV8E3vw,3354 -sqlalchemy/testing/exclusions.py,sha256=0Byf3DIMQXN0-HOS6M2MPJ-fOm_n5MzE1yIfHgE0nLs,12473 -sqlalchemy/testing/fixtures/__init__.py,sha256=e5YtfSlkKDRuyIZhEKBCycMX5BOO4MZ-0d97l1JDhJE,1198 -sqlalchemy/testing/fixtures/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/testing/fixtures/__pycache__/base.cpython-312.pyc,, -sqlalchemy/testing/fixtures/__pycache__/mypy.cpython-312.pyc,, -sqlalchemy/testing/fixtures/__pycache__/orm.cpython-312.pyc,, -sqlalchemy/testing/fixtures/__pycache__/sql.cpython-312.pyc,, -sqlalchemy/testing/fixtures/base.py,sha256=n1wws2ziMfP5CcmKx1R-1bFitUDvIAjJH0atWKMI5Oc,12385 -sqlalchemy/testing/fixtures/mypy.py,sha256=tzCaKeO6SX_6uhdBFrKo6iBB7abdZxhyj7SFUlRQINc,12755 -sqlalchemy/testing/fixtures/orm.py,sha256=3JJoYdI2tj5-LL7AN8bVa79NV3Guo4d9p6IgheHkWGc,6095 -sqlalchemy/testing/fixtures/sql.py,sha256=ht-OD6fMZ0inxucRzRZG4kEMNicqY8oJdlKbZzHhAJc,15900 -sqlalchemy/testing/pickleable.py,sha256=G3L0xL9OtbX7wThfreRjWd0GW7q0kUKcTUuCN5ETGno,2833 -sqlalchemy/testing/plugin/__init__.py,sha256=vRfF7M763cGm9tLQDWK6TyBNHc80J1nX2fmGGxN14wY,247 -sqlalchemy/testing/plugin/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/testing/plugin/__pycache__/bootstrap.cpython-312.pyc,, -sqlalchemy/testing/plugin/__pycache__/plugin_base.cpython-312.pyc,, -sqlalchemy/testing/plugin/__pycache__/pytestplugin.cpython-312.pyc,, -sqlalchemy/testing/plugin/bootstrap.py,sha256=VYnVSMb-u30hGY6xGn6iG-LqiF0CubT90AJPFY_6UiY,1685 -sqlalchemy/testing/plugin/plugin_base.py,sha256=TBWdg2XgXB6QgUUFdKLv1O9-SXMitjHLm2rNNIzXZhQ,21578 -sqlalchemy/testing/plugin/pytestplugin.py,sha256=X49CojfNqAPSqBjzYZb6lLxj_Qxz37-onCYBI6-xOCk,27624 -sqlalchemy/testing/profiling.py,sha256=SWhWiZImJvDsNn0rQyNki70xdNxZL53ZI98ihxiykbQ,10148 -sqlalchemy/testing/provision.py,sha256=6r2FTnm-t7u8MMbWo7eMhAH3qkL0w0WlmE29MUSEIu4,14702 -sqlalchemy/testing/requirements.py,sha256=3u8lfzSOLE-_QUD6iHkhzRRbXDyEucmz2T8VRO8QG08,55757 -sqlalchemy/testing/schema.py,sha256=IImFumAdpzOyoKAs0WnaGakq8D3sSU4snD9W4LVOV3s,6513 -sqlalchemy/testing/suite/__init__.py,sha256=S8TLwTiif8xX67qlZUo5I9fl9UjZAFGSzvlptp2WoWc,722 -sqlalchemy/testing/suite/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_cte.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_ddl.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_deprecations.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_dialect.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_insert.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_reflection.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_results.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_rowcount.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_select.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_sequence.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_types.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_unicode_ddl.cpython-312.pyc,, -sqlalchemy/testing/suite/__pycache__/test_update_delete.cpython-312.pyc,, -sqlalchemy/testing/suite/test_cte.py,sha256=_GnADXRnhm37RdSRBR5SthQenTeb5VVo3HoCuO0Vifw,7262 -sqlalchemy/testing/suite/test_ddl.py,sha256=MItp-votCzvahlRqHRagte2Omyq9XUOFdFsgzCb6_-g,12031 -sqlalchemy/testing/suite/test_deprecations.py,sha256=7C6IbxRmq7wg_DLq56f1V5RCS9iVrAv3epJZQTB-dOo,5337 -sqlalchemy/testing/suite/test_dialect.py,sha256=j3srr7k2aUd_kPtJPgqI1g1aYD6ko4MvuGu1a1HQgS8,24215 -sqlalchemy/testing/suite/test_insert.py,sha256=pR0VWMQ9JJPbnANE6634PzR0VFmWMF8im6OTahc4vsQ,18824 -sqlalchemy/testing/suite/test_reflection.py,sha256=oRqwm8ZUjDdXcE3mooIg5513FpNiwEl76IoJaa_aK-Q,114101 -sqlalchemy/testing/suite/test_results.py,sha256=S7Vqqh_Wuqf7uhM8h0cBVeV1GS5GJRO_ZTVYmT7kwuc,17042 -sqlalchemy/testing/suite/test_rowcount.py,sha256=UVyHHQsU0TxkzV_dqCOKR1aROvIq7frKYMVjwUqLWfE,7900 -sqlalchemy/testing/suite/test_select.py,sha256=U6WHUBzko_x6dK32PCXY7-5xN9j0VuAS5z3C-zjDE8I,62041 -sqlalchemy/testing/suite/test_sequence.py,sha256=DMqyJkL1o4GClrNjzoy7GDn_jPNPTZNvk9t5e-MVXeo,9923 -sqlalchemy/testing/suite/test_types.py,sha256=C3wJn3DGlGf58eNr02SoYR3iFAl-vnnHPJS_SSWIu80,68013 -sqlalchemy/testing/suite/test_unicode_ddl.py,sha256=0zVc2e3zbCQag_xL4b0i7F062HblHwV46JHLMweYtcE,6141 -sqlalchemy/testing/suite/test_update_delete.py,sha256=_OxH0wggHUqPImalGEPI48RiRx6mO985Om1PtRYOCzA,3994 -sqlalchemy/testing/util.py,sha256=BuA4q-8cmNhrUVqPP35Rr15MnYGSjmW0hmUdS1SI0_I,14526 -sqlalchemy/testing/warnings.py,sha256=sj4vfTtjodcfoX6FPH_Zykb4fomjmgqIYj81QPpSwH8,1546 -sqlalchemy/types.py,sha256=Iq_rKisaj_zhHtzD2R2cxvg3jkug5frikbkcKG0S4Lg,3166 -sqlalchemy/util/__init__.py,sha256=fAnlZil8ImzO2ZQghrQ-S2H1PO1ViKPaJcI3LD8bMUk,8314 -sqlalchemy/util/__pycache__/__init__.cpython-312.pyc,, -sqlalchemy/util/__pycache__/_collections.cpython-312.pyc,, -sqlalchemy/util/__pycache__/_concurrency_py3k.cpython-312.pyc,, -sqlalchemy/util/__pycache__/_has_cy.cpython-312.pyc,, -sqlalchemy/util/__pycache__/_py_collections.cpython-312.pyc,, -sqlalchemy/util/__pycache__/compat.cpython-312.pyc,, -sqlalchemy/util/__pycache__/concurrency.cpython-312.pyc,, -sqlalchemy/util/__pycache__/deprecations.cpython-312.pyc,, -sqlalchemy/util/__pycache__/langhelpers.cpython-312.pyc,, -sqlalchemy/util/__pycache__/preloaded.cpython-312.pyc,, -sqlalchemy/util/__pycache__/queue.cpython-312.pyc,, -sqlalchemy/util/__pycache__/tool_support.cpython-312.pyc,, -sqlalchemy/util/__pycache__/topological.cpython-312.pyc,, -sqlalchemy/util/__pycache__/typing.cpython-312.pyc,, -sqlalchemy/util/_collections.py,sha256=JQkGm3MBq3RWr5WKG1-SwocPK3PwQHNslW8QqT7CAq0,20151 -sqlalchemy/util/_concurrency_py3k.py,sha256=UtPDkb67OOVWYvBqYaQgENg0k_jOA2mQOE04XmrbYq0,9170 -sqlalchemy/util/_has_cy.py,sha256=3oh7s5iQtW9qcI8zYunCfGAKG6fzo2DIpzP5p1BnE8Q,1247 -sqlalchemy/util/_py_collections.py,sha256=nxdOFQkO05ijXw-0u_InaH19pPj4VsFcat7tZNoIjt8,16650 -sqlalchemy/util/compat.py,sha256=ahh0y6bVwOTkT6CdRvxXFGXJSsDQL_RTPyT3AQjw9xo,8848 -sqlalchemy/util/concurrency.py,sha256=eQVS3YDH3GwB3Uw5pbzmqEBSYTK90EbnE5mQ05fHERg,3304 -sqlalchemy/util/deprecations.py,sha256=L7D4GqeIozpjO8iVybf7jL9dDlgfTbAaQH4TQAX74qE,12012 -sqlalchemy/util/langhelpers.py,sha256=veH0KW61Pz8hooiM9xMmTEzQqnjZ0KxBGdxW5Z_Rbtc,68371 -sqlalchemy/util/preloaded.py,sha256=RMarsuhtMW8ZuvqLSuR0kwbp45VRlzKpJMLUe7p__qY,5904 -sqlalchemy/util/queue.py,sha256=w1ufhuiC7lzyiZDhciRtRz1uyxU72jRI7SWhhL-p600,10185 -sqlalchemy/util/tool_support.py,sha256=e7lWu6o1QlKq4e6c9PyDsuyFyiWe79vO72UQ_YX2pUA,6135 -sqlalchemy/util/topological.py,sha256=tbkMRY0TTgNiq44NUJpnazXR4xb9v4Q4mQ8BygMp0vY,3451 -sqlalchemy/util/typing.py,sha256=iwyZIgOJUN2o9cRz8YTH093iY5iNvpXiDQG3pce0cc4,22466 diff --git a/venv/lib/python3.12/site-packages/sqlalchemy/__init__.py b/venv/lib/python3.12/site-packages/sqlalchemy/__init__.py index 0ff2665..fbb8d66 100644 --- a/venv/lib/python3.12/site-packages/sqlalchemy/__init__.py +++ b/venv/lib/python3.12/site-packages/sqlalchemy/__init__.py @@ -1,5 +1,5 @@ -# __init__.py -# Copyright (C) 2005-2025 the SQLAlchemy authors and contributors +# sqlalchemy/__init__.py +# Copyright (C) 2005-2023 the SQLAlchemy authors and contributors # # # This module is part of SQLAlchemy and is released under @@ -55,7 +55,7 @@ from .pool import Pool as Pool from .pool import PoolProxiedConnection as PoolProxiedConnection from .pool import PoolResetState as PoolResetState from .pool import QueuePool as QueuePool -from .pool import SingletonThreadPool as SingletonThreadPool +from .pool import SingletonThreadPool as SingleonThreadPool from .pool import StaticPool as StaticPool from .schema import BaseDDLElement as BaseDDLElement from .schema import BLANK_SCHEMA as BLANK_SCHEMA @@ -269,11 +269,13 @@ from .types import Uuid as Uuid from .types import VARBINARY as VARBINARY from .types import VARCHAR as VARCHAR -__version__ = "2.0.43" +__version__ = "2.0.23" def __go(lcls: Any) -> None: - _util.preloaded.import_prefix("sqlalchemy") + from . import util as _sa_util + + _sa_util.preloaded.import_prefix("sqlalchemy") from . import exc diff --git a/venv/lib/python3.12/site-packages/sqlalchemy/connectors/__init__.py b/venv/lib/python3.12/site-packages/sqlalchemy/connectors/__init__.py index 43cd103..1969d72 100644 --- a/venv/lib/python3.12/site-packages/sqlalchemy/connectors/__init__.py +++ b/venv/lib/python3.12/site-packages/sqlalchemy/connectors/__init__.py @@ -1,5 +1,5 @@ # connectors/__init__.py -# Copyright (C) 2005-2025 the SQLAlchemy authors and contributors +# Copyright (C) 2005-2023 the SQLAlchemy authors and contributors # # # This module is part of SQLAlchemy and is released under diff --git a/venv/lib/python3.12/site-packages/sqlalchemy/connectors/aioodbc.py b/venv/lib/python3.12/site-packages/sqlalchemy/connectors/aioodbc.py index 6e4b864..c698636 100644 --- a/venv/lib/python3.12/site-packages/sqlalchemy/connectors/aioodbc.py +++ b/venv/lib/python3.12/site-packages/sqlalchemy/connectors/aioodbc.py @@ -1,5 +1,5 @@ # connectors/aioodbc.py -# Copyright (C) 2005-2025 the SQLAlchemy authors and contributors +# Copyright (C) 2005-2023 the SQLAlchemy authors and contributors # # # This module is part of SQLAlchemy and is released under @@ -20,7 +20,6 @@ from .. import util from ..util.concurrency import await_fallback from ..util.concurrency import await_only - if TYPE_CHECKING: from ..engine.interfaces import ConnectArgsType from ..engine.url import URL @@ -59,15 +58,6 @@ class AsyncAdapt_aioodbc_connection(AsyncAdapt_dbapi_connection): self._connection._conn.autocommit = value - def ping(self, reconnect): - return self.await_(self._connection.ping(reconnect)) - - def add_output_converter(self, *arg, **kw): - self._connection.add_output_converter(*arg, **kw) - - def character_set_name(self): - return self._connection.character_set_name() - def cursor(self, server_side=False): # aioodbc sets connection=None when closed and just fails with # AttributeError here. Here we use the same ProgrammingError + @@ -180,5 +170,18 @@ class aiodbcConnector(PyODBCConnector): else: return pool.AsyncAdaptedQueuePool + def _do_isolation_level(self, connection, autocommit, isolation_level): + connection.set_autocommit(autocommit) + connection.set_isolation_level(isolation_level) + + def _do_autocommit(self, connection, value): + connection.set_autocommit(value) + + def set_readonly(self, connection, value): + connection.set_read_only(value) + + def set_deferrable(self, connection, value): + connection.set_deferrable(value) + def get_driver_connection(self, connection): return connection._connection diff --git a/venv/lib/python3.12/site-packages/sqlalchemy/connectors/asyncio.py b/venv/lib/python3.12/site-packages/sqlalchemy/connectors/asyncio.py index fda21b6..997407c 100644 --- a/venv/lib/python3.12/site-packages/sqlalchemy/connectors/asyncio.py +++ b/venv/lib/python3.12/site-packages/sqlalchemy/connectors/asyncio.py @@ -1,124 +1,22 @@ # connectors/asyncio.py -# Copyright (C) 2005-2025 the SQLAlchemy authors and contributors +# Copyright (C) 2005-2023 the SQLAlchemy authors and contributors # # # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php +# mypy: ignore-errors """generic asyncio-adapted versions of DBAPI connection and cursor""" from __future__ import annotations -import asyncio import collections -import sys -from typing import Any -from typing import AsyncIterator -from typing import Deque -from typing import Iterator -from typing import NoReturn -from typing import Optional -from typing import Sequence -from typing import TYPE_CHECKING +import itertools from ..engine import AdaptedConnection +from ..util.concurrency import asyncio from ..util.concurrency import await_fallback from ..util.concurrency import await_only -from ..util.typing import Protocol - -if TYPE_CHECKING: - from ..engine.interfaces import _DBAPICursorDescription - from ..engine.interfaces import _DBAPIMultiExecuteParams - from ..engine.interfaces import _DBAPISingleExecuteParams - from ..engine.interfaces import DBAPIModule - from ..util.typing import Self - - -class AsyncIODBAPIConnection(Protocol): - """protocol representing an async adapted version of a - :pep:`249` database connection. - - - """ - - # note that async DBAPIs dont agree if close() should be awaitable, - # so it is omitted here and picked up by the __getattr__ hook below - - async def commit(self) -> None: ... - - def cursor(self, *args: Any, **kwargs: Any) -> AsyncIODBAPICursor: ... - - async def rollback(self) -> None: ... - - def __getattr__(self, key: str) -> Any: ... - - def __setattr__(self, key: str, value: Any) -> None: ... - - -class AsyncIODBAPICursor(Protocol): - """protocol representing an async adapted version - of a :pep:`249` database cursor. - - - """ - - def __aenter__(self) -> Any: ... - - @property - def description( - self, - ) -> _DBAPICursorDescription: - """The description attribute of the Cursor.""" - ... - - @property - def rowcount(self) -> int: ... - - arraysize: int - - lastrowid: int - - async def close(self) -> None: ... - - async def execute( - self, - operation: Any, - parameters: Optional[_DBAPISingleExecuteParams] = None, - ) -> Any: ... - - async def executemany( - self, - operation: Any, - parameters: _DBAPIMultiExecuteParams, - ) -> Any: ... - - async def fetchone(self) -> Optional[Any]: ... - - async def fetchmany(self, size: Optional[int] = ...) -> Sequence[Any]: ... - - async def fetchall(self) -> Sequence[Any]: ... - - async def setinputsizes(self, sizes: Sequence[Any]) -> None: ... - - def setoutputsize(self, size: Any, column: Any) -> None: ... - - async def callproc( - self, procname: str, parameters: Sequence[Any] = ... - ) -> Any: ... - - async def nextset(self) -> Optional[bool]: ... - - def __aiter__(self) -> AsyncIterator[Any]: ... - - -class AsyncAdapt_dbapi_module: - if TYPE_CHECKING: - Error = DBAPIModule.Error - OperationalError = DBAPIModule.OperationalError - InterfaceError = DBAPIModule.InterfaceError - IntegrityError = DBAPIModule.IntegrityError - - def __getattr__(self, key: str) -> Any: ... class AsyncAdapt_dbapi_cursor: @@ -131,136 +29,99 @@ class AsyncAdapt_dbapi_cursor: "_rows", ) - _cursor: AsyncIODBAPICursor - _adapt_connection: AsyncAdapt_dbapi_connection - _connection: AsyncIODBAPIConnection - _rows: Deque[Any] - - def __init__(self, adapt_connection: AsyncAdapt_dbapi_connection): + def __init__(self, adapt_connection): self._adapt_connection = adapt_connection self._connection = adapt_connection._connection - self.await_ = adapt_connection.await_ - cursor = self._make_new_cursor(self._connection) - self._cursor = self._aenter_cursor(cursor) + cursor = self._connection.cursor() - if not self.server_side: - self._rows = collections.deque() - - def _aenter_cursor(self, cursor: AsyncIODBAPICursor) -> AsyncIODBAPICursor: - return self.await_(cursor.__aenter__()) # type: ignore[no-any-return] - - def _make_new_cursor( - self, connection: AsyncIODBAPIConnection - ) -> AsyncIODBAPICursor: - return connection.cursor() + self._cursor = self.await_(cursor.__aenter__()) + self._rows = collections.deque() @property - def description(self) -> Optional[_DBAPICursorDescription]: + def description(self): return self._cursor.description @property - def rowcount(self) -> int: + def rowcount(self): return self._cursor.rowcount @property - def arraysize(self) -> int: + def arraysize(self): return self._cursor.arraysize @arraysize.setter - def arraysize(self, value: int) -> None: + def arraysize(self, value): self._cursor.arraysize = value @property - def lastrowid(self) -> int: + def lastrowid(self): return self._cursor.lastrowid - def close(self) -> None: + def close(self): # note we aren't actually closing the cursor here, # we are just letting GC do it. see notes in aiomysql dialect self._rows.clear() - def execute( - self, - operation: Any, - parameters: Optional[_DBAPISingleExecuteParams] = None, - ) -> Any: - try: - return self.await_(self._execute_async(operation, parameters)) - except Exception as error: - self._adapt_connection._handle_exception(error) + def execute(self, operation, parameters=None): + return self.await_(self._execute_async(operation, parameters)) - def executemany( - self, - operation: Any, - seq_of_parameters: _DBAPIMultiExecuteParams, - ) -> Any: - try: - return self.await_( - self._executemany_async(operation, seq_of_parameters) - ) - except Exception as error: - self._adapt_connection._handle_exception(error) + def executemany(self, operation, seq_of_parameters): + return self.await_( + self._executemany_async(operation, seq_of_parameters) + ) - async def _execute_async( - self, operation: Any, parameters: Optional[_DBAPISingleExecuteParams] - ) -> Any: + async def _execute_async(self, operation, parameters): async with self._adapt_connection._execute_mutex: - if parameters is None: - result = await self._cursor.execute(operation) - else: - result = await self._cursor.execute(operation, parameters) + result = await self._cursor.execute(operation, parameters or ()) if self._cursor.description and not self.server_side: + # aioodbc has a "fake" async result, so we have to pull it out + # of that here since our default result is not async. + # we could just as easily grab "_rows" here and be done with it + # but this is safer. self._rows = collections.deque(await self._cursor.fetchall()) return result - async def _executemany_async( - self, - operation: Any, - seq_of_parameters: _DBAPIMultiExecuteParams, - ) -> Any: + async def _executemany_async(self, operation, seq_of_parameters): async with self._adapt_connection._execute_mutex: return await self._cursor.executemany(operation, seq_of_parameters) - def nextset(self) -> None: + def nextset(self): self.await_(self._cursor.nextset()) if self._cursor.description and not self.server_side: self._rows = collections.deque( self.await_(self._cursor.fetchall()) ) - def setinputsizes(self, *inputsizes: Any) -> None: + def setinputsizes(self, *inputsizes): # NOTE: this is overrridden in aioodbc due to # see https://github.com/aio-libs/aioodbc/issues/451 # right now return self.await_(self._cursor.setinputsizes(*inputsizes)) - def __enter__(self) -> Self: - return self - - def __exit__(self, type_: Any, value: Any, traceback: Any) -> None: - self.close() - - def __iter__(self) -> Iterator[Any]: + def __iter__(self): while self._rows: yield self._rows.popleft() - def fetchone(self) -> Optional[Any]: + def fetchone(self): if self._rows: return self._rows.popleft() else: return None - def fetchmany(self, size: Optional[int] = None) -> Sequence[Any]: + def fetchmany(self, size=None): if size is None: size = self.arraysize - rr = self._rows - return [rr.popleft() for _ in range(min(size, len(rr)))] - def fetchall(self) -> Sequence[Any]: + rr = iter(self._rows) + retval = list(itertools.islice(rr, 0, size)) + self._rows = collections.deque(rr) + return retval + + def fetchall(self): retval = list(self._rows) self._rows.clear() return retval @@ -270,78 +131,75 @@ class AsyncAdapt_dbapi_ss_cursor(AsyncAdapt_dbapi_cursor): __slots__ = () server_side = True - def close(self) -> None: + def __init__(self, adapt_connection): + self._adapt_connection = adapt_connection + self._connection = adapt_connection._connection + self.await_ = adapt_connection.await_ + + cursor = self._connection.cursor() + + self._cursor = self.await_(cursor.__aenter__()) + + def close(self): if self._cursor is not None: self.await_(self._cursor.close()) - self._cursor = None # type: ignore + self._cursor = None - def fetchone(self) -> Optional[Any]: + def fetchone(self): return self.await_(self._cursor.fetchone()) - def fetchmany(self, size: Optional[int] = None) -> Any: + def fetchmany(self, size=None): return self.await_(self._cursor.fetchmany(size=size)) - def fetchall(self) -> Sequence[Any]: + def fetchall(self): return self.await_(self._cursor.fetchall()) - def __iter__(self) -> Iterator[Any]: - iterator = self._cursor.__aiter__() - while True: - try: - yield self.await_(iterator.__anext__()) - except StopAsyncIteration: - break - class AsyncAdapt_dbapi_connection(AdaptedConnection): _cursor_cls = AsyncAdapt_dbapi_cursor _ss_cursor_cls = AsyncAdapt_dbapi_ss_cursor await_ = staticmethod(await_only) - __slots__ = ("dbapi", "_execute_mutex") - _connection: AsyncIODBAPIConnection - - def __init__(self, dbapi: Any, connection: AsyncIODBAPIConnection): + def __init__(self, dbapi, connection): self.dbapi = dbapi self._connection = connection self._execute_mutex = asyncio.Lock() - def cursor(self, server_side: bool = False) -> AsyncAdapt_dbapi_cursor: + def ping(self, reconnect): + return self.await_(self._connection.ping(reconnect)) + + def add_output_converter(self, *arg, **kw): + self._connection.add_output_converter(*arg, **kw) + + def character_set_name(self): + return self._connection.character_set_name() + + @property + def autocommit(self): + return self._connection.autocommit + + @autocommit.setter + def autocommit(self, value): + # https://github.com/aio-libs/aioodbc/issues/448 + # self._connection.autocommit = value + + self._connection._conn.autocommit = value + + def cursor(self, server_side=False): if server_side: return self._ss_cursor_cls(self) else: return self._cursor_cls(self) - def execute( - self, - operation: Any, - parameters: Optional[_DBAPISingleExecuteParams] = None, - ) -> Any: - """lots of DBAPIs seem to provide this, so include it""" - cursor = self.cursor() - cursor.execute(operation, parameters) - return cursor + def rollback(self): + self.await_(self._connection.rollback()) - def _handle_exception(self, error: Exception) -> NoReturn: - exc_info = sys.exc_info() + def commit(self): + self.await_(self._connection.commit()) - raise error.with_traceback(exc_info[2]) - - def rollback(self) -> None: - try: - self.await_(self._connection.rollback()) - except Exception as error: - self._handle_exception(error) - - def commit(self) -> None: - try: - self.await_(self._connection.commit()) - except Exception as error: - self._handle_exception(error) - - def close(self) -> None: + def close(self): self.await_(self._connection.close()) diff --git a/venv/lib/python3.12/site-packages/sqlalchemy/connectors/pyodbc.py b/venv/lib/python3.12/site-packages/sqlalchemy/connectors/pyodbc.py index dee2616..49712a5 100644 --- a/venv/lib/python3.12/site-packages/sqlalchemy/connectors/pyodbc.py +++ b/venv/lib/python3.12/site-packages/sqlalchemy/connectors/pyodbc.py @@ -1,5 +1,5 @@ # connectors/pyodbc.py -# Copyright (C) 2005-2025 the SQLAlchemy authors and contributors +# Copyright (C) 2005-2023 the SQLAlchemy authors and contributors # # # This module is part of SQLAlchemy and is released under @@ -8,6 +8,7 @@ from __future__ import annotations import re +from types import ModuleType import typing from typing import Any from typing import Dict @@ -28,7 +29,6 @@ from ..engine import URL from ..sql.type_api import TypeEngine if typing.TYPE_CHECKING: - from ..engine.interfaces import DBAPIModule from ..engine.interfaces import IsolationLevel @@ -48,13 +48,15 @@ class PyODBCConnector(Connector): # hold the desired driver name pyodbc_driver_name: Optional[str] = None + dbapi: ModuleType + def __init__(self, use_setinputsizes: bool = False, **kw: Any): super().__init__(**kw) if use_setinputsizes: self.bind_typing = interfaces.BindTyping.SETINPUTSIZES @classmethod - def import_dbapi(cls) -> DBAPIModule: + def import_dbapi(cls) -> ModuleType: return __import__("pyodbc") def create_connect_args(self, url: URL) -> ConnectArgsType: @@ -148,7 +150,7 @@ class PyODBCConnector(Connector): ], cursor: Optional[interfaces.DBAPICursor], ) -> bool: - if isinstance(e, self.loaded_dbapi.ProgrammingError): + if isinstance(e, self.dbapi.ProgrammingError): return "The cursor's connection has been closed." in str( e ) or "Attempt to use a closed connection." in str(e) @@ -215,19 +217,19 @@ class PyODBCConnector(Connector): cursor.setinputsizes( [ - ( - (dbtype, None, None) - if not isinstance(dbtype, tuple) - else dbtype - ) + (dbtype, None, None) + if not isinstance(dbtype, tuple) + else dbtype for key, dbtype, sqltype in list_of_tuples ] ) def get_isolation_level_values( - self, dbapi_conn: interfaces.DBAPIConnection + self, dbapi_connection: interfaces.DBAPIConnection ) -> List[IsolationLevel]: - return [*super().get_isolation_level_values(dbapi_conn), "AUTOCOMMIT"] + return super().get_isolation_level_values(dbapi_connection) + [ + "AUTOCOMMIT" + ] def set_isolation_level( self, @@ -243,8 +245,3 @@ class PyODBCConnector(Connector): else: dbapi_connection.autocommit = False super().set_isolation_level(dbapi_connection, level) - - def detect_autocommit_setting( - self, dbapi_conn: interfaces.DBAPIConnection - ) -> bool: - return bool(dbapi_conn.autocommit) diff --git a/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/__init__.py b/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/__init__.py index cb8dc2c..e69de29 100644 --- a/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/__init__.py +++ b/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/__init__.py @@ -1,6 +0,0 @@ -# cyextension/__init__.py -# Copyright (C) 2005-2025 the SQLAlchemy authors and contributors -# -# -# This module is part of SQLAlchemy and is released under -# the MIT License: https://www.opensource.org/licenses/mit-license.php diff --git a/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/collections.cpython-312-x86_64-linux-gnu.so b/venv/lib/python3.12/site-packages/sqlalchemy/cyextension/collections.cpython-312-x86_64-linux-gnu.so index 3bd3deeb835fd59be0fce787dba35fad2c1a0b05..9a70340429b954196b8c7675d06984cbc13aacde 100755 GIT binary patch literal 1947440 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 z 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

        A= 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

      gklGsxeHFiRut1AYT0Wx{=g0JZhX>dJ#+S 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%0DAndk7Oe42BlK8zDce=qRQsh={WjGH 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 D z7Z;9M2bD7CMDv#F@xi{B0&bfU}@6lw= zc^9DOC4||WMRyBT+3i1 z)`z|Xhrz?d8MPs{n`w#rOn4NJ%OPEeDBxEETF7stQ=n)789fxA>>ueEbgOe?x7HLo z^f(D<<9ChS`lnWLTYfT9&x-&D-P%W;R)?ZYmq*)ZYqp5i zUw@VJuQ64KU~$m+Xq;wPxZ{r}VcALWCIy4VjYcy(Yw8RIvkWe{REDfqYFl_3QA`34 zDCnIJdq6=8h5nSDL!^DDl!4-PP=as5dEK6 z-7V)SwI@BQi@+WWz+CHt0%lt4m3)2crJUcal(PZTf>%qyTJU5YDEfSeu&7`L;mTFH zS{_B15{$+LAR=9XOd_0FGqG0_B}58mItoA|R;(~ZYXOh+oZembdXb(pyZ5!#Ff{nD@Zrz zC^+@X8wti1w%0I}Ex1zH$^~|bf>W=&#(r+UmY>*V3vJ{>c`QnH77NJ;Qe6TOxYZTe z@D9vc$n>%oB==`sBMSv(h_46$Z~d%QY>O5~W>;2{%Ve!b3RUj7DROIKaxALVe6xl}m)AS;|6h&%w0|}<}+6}b&g|fH|QXXV~ zW+{0}`5U1yWh>Lhpeg(OD^h;Yras8CAWT`JlqU$m_nE9q7;_CrX39%o@?Tv?4XL6D zJ-Y_$w%-Z-l_!tJxBdymex3_VDo@@fTJ*o62_*I)ae)7s3ltFO;=iM&riyyC-8op| z{Y7eS((Ts@GyAnm3|A{mnqg07d_*L#zmWXXMb+Ozff9Hg69{XMKwv|i1v!@9SQZ?4 zZ|E4QzL1Xam5+GB*Hh=8b<%nL3L~>8aOI(GP`7p(LO z6+WnA`fCL$Es+150yCfY{{l+s&zWCHg3$!?*Hc2USY3heE;hD^c`0Uy!Y~`CdU*b=6M@fYMc+ zZ8a%9(i0K9Y|hD)CFx_EV3j}j%U)X5N%OCRI-*aFKW%Kqi52IZ80}XWoy+fer~heO zMYP|9{3yt;enNvolPc9D)&!A}&eyAk|D^_uF|ul1Ik|K4|6-JA?2;+5!R@~(zH z5T8^^gTR3^5rs5qI00?!Y{2one}A+M9dt`pn86sc@NJB_fqaO7_jYDG+l3<1MF%s1 zg!`J?Aq}UFRDyTTFyu(7Hkb)rApRcy``>8Thje*or<}R$5U{8FeMZw1sp%(OYe z+4=Tx`EEzePJLZnzH15jGc*Z6li0k_l;H&{3HYU?(xqa$)YspdE;;BJ3)ONue;bRw7X80 zpR<{^{dT_C_c#>d*}=AZNMs*)dmKc#9bv}vk*{~*r|856b}V}eOZ`WZ=z|Z2CCadj z_ObKPc+9z4i?tVBWkq+_?F6!8_21ZlyWQMs3sj>Ba_HuVgDk&n@FA!wH3Gt$NQL6ro4?_HSQz?1fJ7qDNQ?Xr52U&fK(?qI2)6y;eqEKO} z>24n4JGgD%QH6+;d8=d)O6ipZtO&LdN+^5g0R9#8gFg+!Mufs<5MY}y^$YfOS|dpG z$I!}_N*;HBtDEljK)HB)PDNF^=v$8^eUhv&)AJ+Mi&S_LMjXwpix2eTk%K*SOZn%w zD|<%FB>Kcbg?VNChcArS!1<+-YZt^$U#k8^=Y85%J&{UuxO#dzg;)Y27`hg>+=@*~ zo_(S~g|Vm5nyZ_2aV|`VZR+g&jgh+IIJi6emdQL}S-p{(qtX0LjISl zjc9(8)Q}n@nYD&#skf%qstMK)Fvb3?iPFdW@Xc+oPG_2W?eUT8zsnb@d;cz9EHGFB zXq*}(&kCvh!f_0VE&!(TzkLf19xMU4X$*#A1XsvL6w^L3;HNP$!me_tcix@vZG&sX zyE|mofT8ul8cN#hPTbutOY<2XXFSh0`cv!Nkl6&h+&I1d!9$E&EG2xgzk?-)YK7f|xnjGY z!YcX<3?%TGC^j2vhfz&<1HbE_b(;hEp@sFhMHW%AAl_tXKxBX}Y(bn#ge{0Oh~YK~ zl)8j3FER6Do((t$GA86!OjCxrthT0F=i|CdSk{GIrCrt2H1Ho}fzY7+>9o!)isn12dyUHy?O{3 zs~}=p{(IO%Jk2PD4)H5|ijp|>d-xx0dOzK#aehem5F()e9?^wm+UOI{JGrU+!)75n2szXL)W_&2MNH zQHYyO3%q$nCL)?Z8>vZxQv}9N8ofx(G(y&V|5I-Kd2hYORCos!oN)OnoFgQ@6xtnd zc>ttBYaS#7E^GNQTwcwGckgzF%j=Yu%%99pfXmDH3~@P}Z{D(@WNLY+b31HY!v<^IUq)KvI#Vi*Ys-%{ZY`-^ zN7uM@eABoU`~;2rn9s0rv-pNHyT;v2!22{x*QPSuRP!#>gpuvN@Da=Ml}x1^bafw-l*rZmIOOPq!3(3kii&^LRm{fEb*iN3DN=g zke5jW;8<*ekKfTOxy36#g@$&cOn73@ma3vw8M9U_73}6bb6bg~51PS; zu}i;>A#JT3H6l|Ud!YuE%Zhb}mechFaw=|07Y+TWS5Ey5$2fIJ(*phRGdCMpV4fg>Li-O9d=z*w5a}?&)AmxWap3~AP!`!HbBA;Us!J)R=vNDS zVSdN#9zB@382PgYgL0bF4jAzyz(a-K^!jwr~rA{$0VsC^Ovcw9k*TFLk|MA ze}!ok3ZXcx&+%>@O4qM}1*$)_=5t)iluUol8l(PqY1yCWnQY24)Gi=5$um%ShP9IC zBb%{qlEtxDw23Cs_cJ``XJoHPjT}^DaFx82MLL5o@Wi5>D%v<7Jk8iBJVk2o`R7(F zO>(y&HN%x8GC%nd#U}cnq2qnDplM7ereu#wVz+35%2N5o=j#Ez5$151qCuHs(q4K^ z2O9#hXd9d^V&S$_AZBQxD|Fn^aYX-Z?G*y%<6YZ8=1{BZ){^dFeX8Jg(){TNOj{)m!{>fXJmsN`}H4E2lQDz zz(#0#Fl&Oxa78Czz__1=kf0$#LN2JDw8H5edJtq6q0u(Ccmnl)FjG=@GAFc-CUZ1( zm6)q6x>U4q>cZjmYFB?ed4N05#~ltGx@{$}@#I`jS*jKkXg7oM7wOqfSkp!0R`%kI zdH?RH|Mj9sI`Hka;XUEcO(XBV=?uWJOk6Ft=OJ24N9I^W^Uk&+(#(Cui8TIjrrfmr z$8(zsNr%w@uxO6j?|)SE$6RzT2EkM=ySjBxqn?K$2Wa`Svh#@k!fklqxOQ*m50vCQkN#AMMfI?$4j)QL_| zUHqoCymzMPLsax8&3#Q~s<6pTI5U}p$!#y*L=#1eIZN_?t@aGB&h zPQ!55kGOEue0W5po-Ddm=TA}y?gOSX?bR??#ZnBeedOzOqsG#M&l8fyk`-2FlGF01 zV#5)Tlq*?!G>pTVyYQ7s=f`z!gNPp|3JQGNQG!cF?J;Kc&RdtLKa zScX=VoZ`67Gh!yjtX~Q9&U1htO8Z!NLBc3%gLbC5D zNogLLB;kq{GSdxA$$Y{#`xTu{Trl&u_8OtWL~hxfF={f%FZM5`eVRJwLR6X+$51{L=*%xfq?IkiN(61Rf`)%tAcINxCb*4hG8nUXl+YvY}I156Gzr~@)#V2hG1Y=l5AXDTXkR7a%NAoK%K{+mXOf5}8v z=0~+gXK0+2>z}T$nF>qi!fF(DAjSBv<-!Il?7IqEkqxt%r5dVK{U>4ddYCY5o2}Uw zA$v&=&W0#?w_8ZQu2V7v_P>_ECprbHUsFW*?+XhaMzXLNLD7HWCL*<^AyBy4^J4t3 zsjLCn7Ap8Z7pV*d@6kEZvRteiorsuS1I^t1;1&*fx9=eS_&t-X01Ezn`GEY zL?f$RB?d@DiUD6t0}LfA)05SSZ!0c6f>>Q${PrX{urImMt&!~l)z_1qr$wI1#Jk#0 zdaw}H{yR70iK8`tE^Tnq%1Hbaxxpzl*ME2=oj!q(|5j~!-hYjq>p#Gp&*7?JUbKO7 z>mg9S=z)vVworA8D)IFXX4KN2e?=|3ICi6h?t}sM7+rsN>8bDfl8S40sEM2aTj(jZqW=^_68+8>jsKAEL*i2 zbs{0kXb3p_O6QrNm>bB*`MH1aY~394?}Bdd`K5g#2h`@}b=99Ww0*%#oK{{MP4I3U zl2?>W6V!?o)%b5<1?px zHYG*Iu8CvjcOjED&SEIzWYN^gr4ktyk?7>gn#f~k92HGoRZ+8QTop<|7=%VGaa^hR zi$)3%8!P;s<+Ma*#mj$%Z!#*szvf#9tS54_0=-`;&eqZ;?~=3zRVqrUTg{casC;5w z;%kH`(Zut@M@EM}>+Q(zo>u_nMp79mj+Ix6c29^5w3k7&@kft+l%&bck8MMa5*_{l z3QDHp`6d;ho^;6?S5rXL^p;>1p_BEO(@!(Q*9#%`yabOlL2H|2c65+i4t-1zNhE0C z`Wgu>(2=+((#IZqgawdRM7R1wwT24bFzp4AnM27ZX}!iBT`Ae2jWjO>%2JRZRVM|B zS=fh(rmiTBCdXCm3cij$)Fj7M+7R$FB%jf|lZL6;Ko%w{Wx&3ye4=;B2G{9yG}SDZ zP|+!F0A4Pq!5)Rced-(m*Wrb%DorG{KwKseS8CBOlgT>XtDuJF9}A}#oC^OtiyXM$ za^SA-2Tlvxt*&A}I{dBax9tG4NS`|1#vIF0sjT6gZY$|&NCuO zsn&msR=nqmA~yE zH9=%zQfEkc)K(GB+nPw9?-ld2TW~d-PLY)cp}m&3|2a!vvPjp8+uxNKd-nVMZCfTd zc$eh_ZD`LJC7ynHS1O#wn({qH6BdJEdBJ1^OC2OKsMfTAjEHDR3s@6U>&5AdZQaO} z3_=(ZETMGMa&pQ%oBcb)0ewYLT?+p%6ko(Wjt*?i>|N3K|0VLY*vNNK94|lZrBXKK zpg4`h+C+n-Gtp4|&P}uvCw8FEa*}z;+e7TBXM2%qr_<5oi8j|JfycWU)z2aj1vvz& zd21I4l%@Bv#0Mb)X{vXfYFtGdwKj)9XyI$By#qQ5A$CTfMkFlk(8dB@B>=KnMbA7*EWy~%dk@&wuxu3{^|EJ3s%MFCs2bMfgm-Xu}CY z!R25D|(DRej)EvxgBGe;L=v;rOOspM|V{ zg1d}ebfmZvGFZCw2+Qo;$D2Dnl1QdNeNA2JN0q|Q5(F`IiOuPM`_I{4B+T64pF<_- zeRJMAyt(Su-GPS##?l$a4BciqJC^31`60hZJwn%%?(0g?o%Tf`ojFtTBB$fFoo~@g zNg!aJ=n!WVS|%maxO@MvOlqufDEzh|1Z#_E$-g%=+*EIF&}*GFg;Kf;v$P(sQ8A3MV)lu|zmhlCDjmC2MG!Jb`lbdnZR;M1Kis)V zkkn#g#8i~>)iPbC??8mCEJpHIhWzP*cm0_n7+k{w_V+5vU;j=|J8tM_4|luv+9+5%DRc@YnP7byj!en@&w)Aa zx=8#i>+7iZS8-VR>EPPx&W@ZOzB68G+e5dt}83Nj^kuF(~s)wX&pq}Z;o5cXC?n)7!Jkmve`a0)@( z0T9Nzg)ygdG|k!Ljhxwvu!)h+lpKvjQXIZUdHq2<)){HOYuD9Xy+d`m5fy4>*GL&b z)6z&+GbQQO9i6MEP(fZXpgQ9qQqf#(*z=zD^J7c4BT;_Ff~yD~8-F*_Ts1IU#?&8M z##%JVfbc?fjtR67|K|nem{S?`gO#dpi%thB)Nj$aNOMdYt|U|m3bg|8t0k-qdmgFV zE=*2&=}9HySVmG#^@icJdo0Pl^`{I35Lw_;ifIR=! zKHD>r)0_+TdLWsr6>SF6X69L~iauV^>{_bTl)0uW6;4d9*=N7iF)d)&h=DPtEc0MUeZQJm942Je9?U1fhW5^MUd!@h-hqtBdU@31T3|R z-iy>mFZo(T&ddL3iG9g$&@B0b5IeI{r6{+k;Q|du{hrnyoSBl1PwV(7q{*77loTux z$Bjn>JbKCVuJk~py@*9k@GZ9QgXN|6MRKoi$lCe8>AT&T5mqx;?&lbiu*|#bo3`G! z(hg3u79J|Sf%yiU922uZag54hzWU1*Jeq=I$-zy_4|lxW&gJLPVk^I05TRhLHMxR~ z!c(w1q(AlrnUbL^v`#M5DM*>o0B)k~KzAa|(yrbGRo}*4?GCE0T~wKu=$9kJR5gnR z0h^9C%(WIyg{%^6z!40Y%5%yaEuGGs#PQ0fL72riI($_meiLIJP5sP91JqW0U2-ye z@vor4^@EL5q!YzX;hU!iv+H4Uf36Bcv*(+|k&bK2AQ=~@*(}v$UJ(x5Nz*iq1=ie+ zWkX3_iGHOHBQhhve^N!_m+%|CIfuWE(&(h5y5kzqPGL^YGWMcG+c z7wDT<>kZh*Mcm<&BUkW>d($t*}NGn3O?xxwDNh~cXe^Ji95{$)&@s&n(^t_$kLZ;Qa{er z4tOh?zdbtO?{$fnqTJKwJ?XlEZ`LHzb;FOwlFq)Q4bGuk;`tnHzp)zvuv;GC5>XE|pX&dZ%sC$)vA;D*dmeDwqs zjZW#rRn^ma;cqZM)oLD@n?60Af-@!0 z2r}U&u(8x-Q$h^OutT!d0-p{EDkAa6k#t06jUpM~Jq(o!+xtAbR7E(J?r`FeeVA^_ z?UIX#0&(|V>c5~UE8(^o^N#c``@08#Rca$)ttzE04@tK{C|94&}Ev<3=X6q%`{ zxbh>n`1B4}_sA^+39C)k!Q9sl`l_x9n$aGGcvLO-^0$e8EL*m>ml#y83;9LfjE^&b zLf0#INol+f{|6JDi_G`~aVasM6p!R@VfyWm86G8u3DcpRVBMwV`h z=5L7(czIzy`AR-Lz@DE~`nc}Vj)^QPI0T+1v6h0$^RevY4RjnuG*yf7p#keooHgi> zakDO~G+N`+^60X63t2#81KUI;4f+YM9Yk`wGjP1RE&9cq-%DJ7$W|}OxeLvL1DLTy zE5_Oqz?DU=Nc{ECyHyy43`-jkV#^Fp&3{qgB8T<`Uytk_nRx-}b%uC0-_GY@yCQS( zVtCMRTYQ^;&0W4A?+_dH;>gT#8j>Mn^P)rQ2W@5XV2v=l9HwY30w<=#(@vAGf4QjK zaZtJ1$YWp%Pecyl(BFjMZW4=1G#6;012HR=6~wI8m!rROby3qARQLu;Vmq2W7Ky1F z{Da34lpg_Yjiw$F(P7!tt{S>nkrO#EoXg%V7@ykj&@st^Ls>rEW0q|VogTCFlGnK> z7h`NC$0yG@w1M-b=|?f#wTFhUS>DR66uo9SlP@f%H)Ew$n0Y~F7nr7J(2DeI&Do;w zB_BCdJdI7riAuSneqe>^h6`)-- zM?0RIMlz3#J^dVnWNHtHL#wDjo6YoKAG#iC-gKy$0I37@)|jC?%z=3MpJ9Oyt0J(S z16~PI6k+t_862I+NU#WhT`E@I8cUvDSqE86jvZ#;e!B~egzxDSx%ovq2ROYtmP8k8 zG&iZvhS^vKdMppKIGPGNKvrXk*U42Jxn(}N(*N+1Bcxy7+iSY6D6hUpreyP9;TLrt z9lyb*+I1MUa`9yrzuLt^9?o^~?tN7953~3`x_BhkdI?Z(qcyK?xR8}jG z23>jy!5dP8g)(VBse2q7_7#`q_Km?Wbc=z-UtGIZ?TLK#$Hu#2toCo1EeWHh@CDbL zS@2l66Xj%=P4RD!$-T;~)m+DxiP!xTdW7%)C=9yq4&Xc3ikmzsiC1sUG99D>nDcBW zqjDh`WwFFI|JZFDq(BO_pwsye(a$%%o>1x9Lzg=EkP{`xVJek>^m3=h&UZXqqrJpJt5i(u}GPg1;ya-EUE=V1-%)2K=EcWqJQjvXoTeAATpU z#I09+=L* ztbD@i0%#gk>`Zj*-PSU@!?cCF9kF(I@A0PTk6iP+w|_o>y-_srT6Eb*-Fe7cHk-Jj zh}|WpQ{e8wPs@~C@{p!PJz`x=!Ff!7#JbwuXpP56nd8bM@wH^-T1Sr>>yFmH#WY2> zkIYz2)f?)z_z2^qf7U}pH)MqvNwGq1v%&A~!B!!aElotDPNt&+#;SCxDfTs6RYZd@4 zI}VzPlu5-|GdRp@2ULQcbwenr?BefLoYGnKVRNX~nnS)~#bdpv%)Z!aQ9jDC?o&=R zejQ_Zd|829J8daaLv4{#OPNdTi<|=sz|Mh9U>qu~RbNVL>dF)=Gbu{j(K)oDD%-1E$MvQkQmO2cQh>4J^%+}fI~FgonJVi^O9Ct znkhL&^Npw$d_X`1RDJfVCTy3Ax`OHd=kSjh^IBSdw~}=v_y68|_dL3%WKCPK2UP|v z)W3TOu;wmw4)6p=*4j0LJg0mR)d&RQ!U@P?5`wu925rg#X0_oL%C_Uzglbnjn5c}3 zzb8y@1>#?bA5gbgHt>vO0=*b7HLX!!>RqUC+TIYxPa?g6dI|vswh1aBRrui}PL4ZQ zXp|~^t=371vCfN^Ay(nSVdBzzJF>pOc}G6ra<-`DQ0xVKnWg4#<*Pp}4puUy2v|xd zQbygxIo&kvfLrkUKloiw>w}g=b-fjup*~Cu`=H&kK%)T{ZD_Nv+fL{hTBTY((F!K( zI{TuYWZ(IwK(747VLGXc8>mBnapg&2l-&M~hXjTo9czkG_ml+hNZY{0MXx8qm!vlLJBHMHvH+%R54 zZ=-}iH^fG17KACXNU#{c2{?6s2;~hlb1>QYO3kbXZOs@vYiYR*XYa6RJ+gpFWRHTn zb!=j$rv^Wrl|Bw8`eP z(<)%5*hyNlnpKHe0BH&$R+3xSMAhT{#1SJefQ|R^m!UwhHWJTM7z?G4!y71(Tw7h@ zAIMGr$bm8j00E@7W?qto)|TMl1r?hbb#x0%rHl*sKjml&|T!QntC*8auiHUb{F`asb^5rVt`(ZM+nq)?z7UK|EAv zE^zc|PW7gY%Kgv&g$hK93&;LlOjjVBMZ6N!=&jrdD`0jq9uvIr47EUHAs-6LlUpiDNx&LnbLPIOXLzoT|>0)L9S$ zPpZ#es=>)QWf(E7BSJ(hQ}SI!Kt!~9_(xm=rz?3VrtsO%ub$}l`lv@<@FN+K$?oHq z=t!#Rx(a|fSmBs;N?unM{6(VHFipG%McaPepR)%~Lw=zyX5&oeq`ka9O>s7s**LS~ zZE>e5?s|&JTAjJ@<=zyTvpVxZn1Bbf6Cloj^*PDOR02lFlBJ8Q2Y+UnrL)YtywR?@{>y|07YHAP~ ze#-r~;5xTCbmEc04oAy~)a5t_*3#h2PHE!9@VLr`sOdC>b44wpsM%vGkaiVB7Ohz$m_+po_`_-ErQFFRRZQ=5n^-u}!cwlV>znMYlMNNY zhY~ZS3S(#@rFX+|xKxtZDNDBM3GW)_(s-hZ}`TUb45BjPi?^z`hu zkFgs9t*fzpT5wNz<5INE|LSjD_Kj<;6i0k)*%9?g?{3Z_n?z2qZ7b0P0@w@ZAHimf zwLs-P-jf0_@T?cKn8aJnw@Q2CgT8n#q)Xxi{6~I>0xU8mr4Y5tv$En@`Mcw077~c; z8JpQ(v1A|wJmX#n(bAwXOFB5-Y3$OuiyARNk3%xW*4@t z%H31EfdXu2@q2OGsot+O?0Bp7fzx)p)f(EA$Vcj@O?f4aVp5z(i$pFf@CIjaFYrl) z2R}rpfixhvP{IvTx46^?azi&$a>CuTX>Yq_&*qO9n~5a~AgPvo3hrS^`zh&{T#4g_ z`>i6XQdwP%-%E}}4D(qF(TnlATVq-T{Y_sm&V4xp^dC$0%nNqM^|Xo<4y;t%7vlOE z6&v{Of9*2xe{E9vap0=a zrM*ws`QP2nO;q?TSKvnffpdijXhUkcX0b8DQbnG-)JF0ufZI z-qIQ9CO%C*=qBJ!2`%JVV)voH_whEgeqh@|M#?c54#gg^68t%j^gNd1m?*x=0;uNm`I`RtOd}~+ z4lGFMW&RF6ANE6?cJ!JHQH8>H zG}XWREK!2NKLNhMSdsDM;K_0i$89ata$pOOTZzKO0})Dg@mN3tNj)8{kqNMK+x4OZ z?MW5B_C%F43Q1GEDmNL~r znj#HUw;ro~6R60*Gf_2abEYp5MryHN^^sr^l5pU0_x}Ws^BBr;rT(u#T6JKOD0F8y zs1=>yaLv;>IDF@>5DtgQo}q(-n)hGepwo-b5Omu~+Q&Hj88-oi&A2*2;p=vwa3qD! zF5E-a6*EUOC4c;FSY1zBm3rr2*<}S_62B4~h$W`&S~*^XRSNS>&E_*xT)G!kxN4fR zq8>IDvBuaU6p^_5Ps;&l;anB6^h;eE3B`8+Squ!ymjaB*L{f$OKn&z{(w4&GPIZkDX>=Sh_0N3NWaII*uZsSUYQNRkzu`0N z4*F5I(D^JEcr3a7HD3axJy3z3UHIOUxz64U%`n{jqjYFfz2BU=1CV+z9KR#$V{CRX z0M>a&o;DJ{j9&PozAnfMF2J>Od`$8E6+e2H@lks0fBhBlx`VuP{$9%emg2kZGXECk ze^T*p?=t^C6#rYrFW+VSgNnaF@xRBV?Md)1JGGq~(ju6iri6FkviMHBf%qpJoA^T& z?c>@xd#&mzQT%bcY)84`Kl_sSeRmmOp!io5zdc)h*S*E##Cb{EHgwvO44^Lx4fd7U zPVGoK8qJ0zP9_~Wq2%OmohZUfieL-7*qwWDvjA`^8PeD77+HUbf1DyN*ePOyKR^-D zog$9)ixh!GVTWDP{{BbXiQu$zhloP|RU)j5+O3AWrE1!09c;BN-VV!=d#WUwII$=l zO?H1Aa;w*2y79o-d;jRfM16f& zmJG%nBK3tov+o;HLRlkYvyg`7*PdgUhI7n&oP|)tFu2B;(3)?8b~VMWg`Ug z)^29K)=UYMjyMu#8SY7bYuHvCk>=4zwzST*Sb?l_p}ZXPJgMHlzKT2vPtK2`B0bq9 zZ%>R}I?|IfdO6N)T!CO#tFe9$BzjU)NO;cMCb(0&@di^J)eDNBXX!?Huh|}=?Ai{U z0*D$ZhnMK4rn%0jJ-0rMluAuYOkip8u(sLzo|Nd^yl_?CL)1}YrI#8-6`A?a;T%=$ zajm0@>og~77P8CvF(CB6=!=z#eb6Ws@7P92xY37>K1h`R*mGTZ$JWQ6BK!XHHnSjT`&&@6z|JdPqPe@wuw0<%r?vX&|_&5p(#!$8pR>u)qgZHGx#+Ln6%2-^E6&{_z=gd8j?MTWsvkKor~1lj9rTq1^@3wzJFAwBG0189i;Jx+(zfS zO5^(yBxyXhF}sRXx6f7DU5HdSg%Q(e4x6?Sl0Yz#r{F~okw~X;VWmal`&l%WLbyMs zxL)|((QvW*3=0Q5cu$1Z1oK%zF?uE@ope+p6c*Pd)@Dl1rKmbR%ea$Zempr~ZI>c~ zb^?`HYSalgvn3yk6vMx_b8v-%2bin_%lZOt;%i=QTz?RcOQLd{K%T@7>wRv6c!_^! zN@{*V^B;mW(qoAA&r;fB*Y`yJVSBT$gEfR0O&5t}8>H03m@IqCod>kqt)^Yf667F+2+R4yxqLSnc&okVojOZpZjNx zevj=NHeo+jS0IRP@8z|7iC)P1=u>TZkyA#f2zgB;5kf@`q%w%=hkE~X0gX2=RZtDa ztzf<9EPJUH2JE}@Tv8Ba=O zB5sRS1l>r$7! zk{7vsdD;5NqV>^Kue~vf()_+14$yz$L|CQGX+b@=r4d16+3NLuFL^WyZM83O!gW)@ z3tncqEV!U-6k{YZs9CS^5;$YSKaMolSjh~iigg3+cJrnXM|D<>FvY5|wGru;eN(;X z?kjPcla|yhR=@r0Hj8wG3#4pogym9BH!H%hE(<;uV~2%WZi}~*)o}u!T_>3D;bdWn zlW3hvI*Fs4(Pa*{L;v)XPHXFX3wq|UZG+56A`zb4sN_t^wR0#c916ep(c3a{^b@u` z!z4?MI-|*UCcgtYFgJSVHA?B4{*>)Zj=*AkFiorh1i~E&I<1r7QuY|L3y*m?w_SPZ zRx)cnI7-P=y$4^o<96j^YLP{)XZ6!6b6Re@662`=FY#9Jh#sY&9vfsPzUm9~+zNLM zFtd3a>zbl<8Y#L^spxmu-6>Er&cvY#e1X73x8Rt6s@&K7D1*iQ^rQZw27*kJmJyyB zmDjAkms~g|Ym040`eUx$lW}O6vDjtI&t^P(rDa?lw~UA7GJ0eTPNHTO%adhljXU)( zf22zLKmTV{ihA=$Z&}`?%lqNzY^A-FcTejQ7n1Eer@TSECYhJ{%@WqsbII<4S++kz+ME(z1#@buf+_G_7$wt|QmrE|+}x z%)OAnyX1c^CDjyCeZ(tydgr$AH~mS@jLi$ChE+;FC77$~;A~gMy=PFypHv2IS{Ej0 zQv&yFN@45r@8%hIA5^#;f1AHg-s2=d(Cz|)aw@W?2zt1Hw|KNAeHKmFAjbqXYF`}c z%!g&P4z{%LYeF7}mCXy*!^RWv%th40f{+)qDuC8Z3|k{02M@SZub)mfP$w_=b(l&- zOyUAjSe@_7teK|pB7G^vzWDD06h<19z@#{Lh?ssGqoS$k&piw_>?+n(@MOBSdzm#% zlnYMkqV3GJHf!iSlmDehcq!I=FVU~uzwKl;3UFyCdiE<1{;?t4`uUf9z+UrQ+de*6 zUKD0lA*`COBw1^dB-MRAH-S;(A};;5-PjIOD<-{8A#Qe|Tcwbv6ym1VJS#c5eq~Qtc!jq_uA7M)2-la39#>yo2O@2CsjhT$x-% zUwKC`#QyGbEyd-wC#4kSAI!rc>9acp^ix2z(*~xy0*3i-{-kGKy2@?T#IO13HwiE6 z6!5wNBAs$ROMuLud?aKq_4l3MD=(M@w`Ij zh!$)=GMEXdk<+f;jEXu@r;-Pcxo|C&Eo$g!#M{B{ppV}G1kD~xu$_eDMXe){95HmZ zIcG2wmP{p=xo?&+@E0FJLrRFrh1{o*1HurG&dQrj~$!QUfWn^LP5e~sb}QwKiu z)si4ey0ofN66@LN6ey45V35c7L;AW91I2d+(eY)J5ay92*dGw)S*ZH^g&whj?9W|Z zEBf_=u{GB5n#A}s6(`M=O@nbIrPs|kP4a)f7dr)QfXuv2wZEKbnYS4qtnYxVl{kwM z)mYoGeR)Q7V*r-&3#Cqtg@9XDAl#-U^!J z@?)~^i?rujl^*F@$g|=ryyP_qG_EZ5y`dB{D7`OaSD~TgH94)+KSD8kxv9iCy;Zsg zrH1ND4gQnSoM)mxAqEC!Vq6pI7fU^Aifo)EUVAdq*u-b)_jGf2nBh^z|Ev%FK1OqC zgf-qj+CC^$T!`h9i~alyea!*4U+z-*4X$}R0l70?d7 zV(CwFg{^Z#tcF;Efn#XhNlNg&Tw9X5EeAYW6uf4LQyDOlNiHKe?|k2kpR&=OUKF&s zB0H!e$S*qmu)$eZ2|vRJ>LGFRaD_c@7X^p;oA{_Bgfs)2c6qJm8^@WRWpdV)qa z>wiof(jqlffYx5!&v-P$da4@whAk|D$?zXx#A%_I%+c$&dqD}~8I+sEVfuZ;{xzx% zJwlI>*KI66W8=Qm@wGnYQF?Y1N#> z(dDt^Q?2wMnmREwK80GBGd>k*UWZexw{k@mc}F#F>lSG~0O_%&a%9o04Js{lr}AT? z>7V#yPjx?iB{5~m)(J#0#y!L5;LCV*2u}1#NG11r->rF)q=@LgMsI0PxHvo6T|=dI z)#Kk*djTzMX(L$;bxN)OFzScyAl5=J<0grwR%!R!yh25#M*aDE3`fl!!U1mXjo^H8 zM9EF6ggY5(cefCw)k=8NVi6Ba$NrL)ES6lj0H2q79wy2 zU%^+}bD8x$xSxkzar*NX@(926C>=@mhW(jKxjRseY&>(#O3nh}&UEIo) ze0`&&@E7eMU={?Xs766zJYTM5{{pR!@YZ`J<(Y`$V)hU+q5x7YBo&fntPaM@Ta=?u zO*M=r`T511J-_qH8;QU%-;|fx?42dWiBrn>(bb-tm{qmH<(i4BYIF_0rh)X7%1WW1 zVQN-2!)PPq$$|8conp1-LaV~@uz<~R1|Q5M?p?w!u%a$miFOqTKZwzbCMROBA87)| zJb0>+tRr|-0TR5NZ--&$NYG{0E;i9!-cS|GN&|#kwCNmb#aD@kYNb&{5u!Wt&>*gX z;4uhzCa$WqxG)XTezv+QaT@45E4@^)T2&-}Ug{CoDGlLtf!x_Q;f^DX%x5}DeXNy~ zc5$Uviae-6%E(-W&A6-RsjbpYi|4AqNZbRfyyW5*Jh9}g1$?~ZLL0f{tUDE$|8X>T zDL!hK;=kci{5D!<*DP=OE8Gw+F2#56rp(k=n=IyHd=D~wPhEK!p*y|eXWTmJ)0R05`GqFULmMP+kH#o~G%r=TdrCVL|udMWje-pW- zmuBrHtJ_pv_nIY$h`x;UR=OnGscI^u64{KI+`Jll2vs6Tp@@h8fdVyU zFvw0vu%EbePBf&$>_iohxMEpaCa8EsxG-&QiSU2dy&#YB6aj7itKoNe6NR?1aM)px zHHF&`r0R70f%=NCzQ%?+Hl&E#@IAKLZTL+=Uy&d~fyiSRqg_q8bN|`tb~A4<7E>Kd?yF1CQ8og04|+MBe9mUkJE3g} zcMqE7Czkj!+O(ak(0>9b=~X#`Au4tt;1xC+i4l&7FbKX?Z*^{h8w zIh46yUx>%+5RVNa9xJfW(^`Lstlg{|o0^yzJ77gLA3C#KmUE(sXX^&8ADh?^9Z^+( zaQbC3tyiYyA5C5Za7ENYs?bQ+{x4J^qyx-^(qK0Y z7nG}2)B?(}MwEd+1hhZi&0XGJCofSO_(J9pz7|$)+sm%cwK#8|&^y<8KiTSH8=dzh z^VZr*UAPDjB$L%!MJ^$gwfK7Ca+Lo&TXZz-l&MDhBbDXmb=atUM zN-+(@&|R{i;Z>j4gS z;szJUG-j3?oVz$otHS)YhMp`f!of}tuGNGut|cdOJOmNK^5WR zsf4rt3kyw*LvQ;WX`4>%4)DfR>m^fCPgvdKB+_cQLfhN zQ;}D1r}SLyu*cE4*K*pGU`2NALdlgUys)F-G+pz;hrBA4#vrtKvD&SbZ><(Na7}BZ z{^Zs`YEg1$#HB$`=2$d;Eq2S9W6KO)?L-G3@%ow+LR;}DU#Hn|=7~Bz3*kr929mIZ zJG9Y=-V@<)ovu_uZH_hTsY922E@dQ$lwIoJM#t>JJJ7KRncpGxA=)ErH#J`+y*i zH^@<0mrB%^t88=l@;O{9?aBV`o8VC8Gc78;PNi`!)@?s2q{Q^HkpuBUK|^RWDTg2J z?=d%;M$qFH<8xs44VkAYqi_XX=GFNch~Qc)8Ev|ExSbcx`~!ls@6mhZopfQZ7Spqi z2~Mts@JasUV>V}kCt^OJ+5`@MOZ!_yj+ZjmsRiQV=t@TiNpWfZ-HoX=zPT`3!C}G z5|}Z{6wbz(eOdKn+`JJ+!R*m$@c46H;xf_Q7LWy`upjb3*K+a%n4f&o$p0&b_?U#|^-wHA~Roy6E zM%Sr-+O{NCK1EFcpHGw46b2vEAG+CMUuSrPiTgX7>8x^{XK#x0HuW^IZ|(|@pe3&|7~d+J#2WK*l~h(D&!~X!Y#)e83MX8~%ri-44(|AdhJo9~Y%C^Bi zYWMnp^fcW{1NJ9^Pcr_zyLlBmv0+tHBW=nL8tf|OIptF{z>KoqcM;;o5@pIVqpxMo_KCC@YUATIRj`Kf@3n}KdP{5|jJVcU@4MZqIA>aL-C<=M8}FL;3} zyF9);9Mu5YBxQX)zI@R0YSYkiLhbS8+r_%4M!kN%DZ7j+%POq=V2zzOX!K*rsjL@M zi@oIcXxNEmS;Cqsb_jI<`qRQYPcjdFxd_(`@2&rhZa7vcLB zzVL)m-^LdXUA{%^-;Rp{93sOm9_RZ{NPXloOam|q!vyha83XWwZqnRL3_UDC)n-;f zB)nryE)r1}57Fmf$JV$-E=$EBwrj-ih%al_9Vj6-#8&tkvJz7j8p@TDSytkIk}ZKe zrNMg8Sk!tL69*E{q3iYA#9W-F_t-F?%D;b^oa=)rH2xuO^@1>k$fJ;KEUuqE?XsF7 z1?7l%V&w%*A78xtvPko@#DL~wXN4=uLeQx5iZTcSX5{H};hfHwRc9 zSuY>4orbvCf7SQOi>@BG74VXGXy(IjM`a$fJ4aLGt;sg$+%Uby;3V_)aqcY zG=Ze=X;ZZ~w6iXGNHlp~Q5`q_>ylTM1|`hIu~jdkLRhSu+w6P%U3K#u$$d78d8k-S zCs&UNp~4LE$HCG{UJ}ei4@C?@=cW}Ia$@*U&33w_&@d-94GO_Y&9x~qgf0kaVr#w4 zb^<5M%ne2UPY$v1j_cscj;3n#SY2Llp;Y8kC4Dc26FqO4Bfg_PJ~B(#4_~t*VV~0M z2)p=X#`vVwM%Yg!)Cl{Y!oJj~{Bw-3U$k$Qu-_~OEe3`x2J^`Y7cA;Kz2AKsP1y1HEZDmtJJ*y zZxU)p8^^d3F8F~pZ{`OE%oc$#m0R0H1BNTCewj6BK@aW>TgOUy7KwYdV|zg6{lCY z&6(1`ke#NTL^tL$gbZcoU>vha{9Ru|ag!u4y7zB{zkB4DUHH3;P2caFP#BP%?FW3h zh3dO|$?=p&E2vEObs-n6G$i<|UZPG6J&W_tpj2oTBJIaS?y$tavV9BF6z*h)B|8}C z&~fk?ret^3iKb*XH3qV#PAji;TGBFUlrT2VXk59Yo{7Z%uMHW>TG__x``x+jaP<*ogtBv6-KT-bFs4G5(j2WG{XvL0n z;(pT7wQ5Zg=tL6)gA(Qu8qBlOV6QuPt1MKm5!(fX1eMFporB7G#*rCRCZ9_wC*xO- zhK1CYLXpX#N!W>IjCzEj6|1Q-t0}X9VZ?sA@^90wB+>sswWv}1e)_YzPu^3-l;h7+ zbGy<#jzTHm7eYSz^EcG-MEC4W8p=7sFnrXdhG-?v_si0~^io>zC~ccD?CPJKKP?h} zK?NlH|Hfsk|Gw+_^!;709s4W7(IMMxI7jR+hv=`fB{zxBdK`A}elAhL3Vd|r6iN(! zW3w^~PfW;=43>&V@w8v!rKb>u*GWQ#JTN{+aY z#q72v1iYbuWdD_%=NtJy!sWjBBM^h5;yi!+PW9hO+PwN>RreLH?wN$7Z>9^k;4nP` z>Nrew45kjLZuUP%G3&*MCHha4dnN8pN~fnGMC0CAYSi^52dIUQT+G|z6>7kxPgoH~ zlQrkHp>|Zww%4gqzxckHX6eYd^yRROvr~9#pu`Y1|V+E=C686 zRR@89tHf^m@81+)6-6gr{=Jq!agYf%Z`^26U-wrHPA^e)pMX-Rsa5&YbLqpff*Oj+ z)*L)TW@n`tK@75**R5*-t8B1zH{{b{*S(N=AWO8qTpQKi8N1G0wKfBjcI^3sRw^Q0^{bB zLxToQZ=_>KQ=%j|Wv0CoX}%gig(F?cl#KiV6O2}BxxGu>PmS7rA}qj`J;ee@&ak+F z;JnDsbkE-&Dv2bXRYK_={Z1vZ%4&eRc?Zo{pp@|gtWBs|&M%*3DO-_qDGW}^0wm&+ z%=LQ;q|pt0i%6M!6Q_{?yS8D=H~Ju){LX^KlDR%(7gM7yJd;+Aqm^vV8XQpCSt@+aX}HXHONjzN)b`V=DKKrC26L8|{VZtug)kSmH)5K8`CRjKGtT zklhH^%OgAZ{Zq&HaGZ9Pu zn}a4@O?B`425;HQl5N8NIV5qr)WZgK>{4OTZI`M7HGzjs?!{w6$Gc74RmH(=6g<0d z2}l2-O!3UHY0ctPIuZ4o9uyfA%J-)7aJb+wPkaRq^ZO~?o8DTpYGxz3@`Hy+;{SOm z;5-X(Y5=?ORsBWWw}>T&&Y14zS@WI7PK|o{WLx15?44bzs~=T$uKrTW^fM2zs9b8q zq42gen@%=BtH%@#ATAt%)X)dU0jj4>fuW$>zx>rtGU+4z9*?Ueo0r+~_~|#05cJ}Z zJkz9=@8H|b{})>t(xJNSpW0ItBq+i_QRnw0#-|EyveEHv=fWd+_BB2}wp?ec1OGCDMje@OeoXL zGX#N^CNOzS(K-eA&~grLfh>Cr}D5-*4+o|jzV z_T|{v(`Y^Yz@OZoiFi&WXx2Ke_g>|3M8a+7^_+ij1=o)a+=@D#p08S#F5tbV?!;d; zc`g^E>xVER^+$NAQ%ZTY!1ubJ#eRJKPv3*&J$5!!B2}{S45r*rn&9_m$_0h$gO;gp zvZIklt>I|=;wk_({GG0&Au1<$yHSyn>{q~5qp=v=)Cem!-HX*TQ?l(e!$%wMUnv@} zD_ZNGuP-oZ=c_-SsCNLaOI}<|wUL`|qD?$}!i|C>OpIzTryfs{b@}f_6K~cH+`?H= z{q@n|AJt!7m;WIru#VgSg97q^8LERMu=FlcQ@X{g$ zS?S;eiiBLb)oV_9Bls-97L%%sggnYtiql?zY{Rd=&VW~5%M%LTI9dADMl@jXioMRR zeVKJSzq+m`AtMqhHorOSLcSL6@*%@rl1ya?uW2kgLXaB3soat?{o@aWqx% zvJnfeWY^IzaSe9N1KYmZ=fJvGhADWt$Ynw8VU!jFr|$JDGiG_^qXW-3C-%mVyO!u zwS&Ki!L}XHNO~mPBg^yZi=xTv%eP|nJKFS2DRJTS3(Jy2!F)Vnc>RpU%E9CY#Bk)2qCyS7XUj>CO+zV#)E9F{FZe6KQiy z3e@W?P3~Dj5aTtkYPE-&bn>U{lzuRbVq9{s>h+zIM-%I!P_CC+qg5Zr^seFND79Jf z(jE^VJA6BuSRds*rk4oeHkm4qR=pIf+OT8gp-v@xECw|OkSgqp%>WzZdF8|8PYr(P zZ+eCIL7SSnJ&92w@T!zF`U9MYP7T4?&QS*7jM~9x|0047oEHF2FIiV=U|h~=R~C!{ zUJjDh%Ku-2aiPEf7`6S=lNhahWglaW`5&|eAO}Aq|G-aVQh%JQLeA_GfYW0$0&_oe zauXXr4@v+gu*5;7GBG zTHU`}*Ri@kM>YR_b%$w%#+KGGeOcbWjNE(_4X*ki8m{gbDrFs>#Pp5je~o%{bl^wE z#N9xv^cY!D{Z&!c_@-wnv-FWyYP!KBSjF!}lhZ-3i+NdU^*57iR`(cGRyS~Szajc@(J?d6&8&(*FES+poG`OH)7Vy7iMRySz09&0& z_`hG#!#w1*g&HFkuW3ckuGfwW%dFR0{0ek$7c2T<{ld%g;fns3Fqt)e=N0`{qB}3u z)@0U#VlYPa&Q*33E<3$Zmg@aZgtSANm9+EfZb`|a1^fT7d~j&2g@;YjU$qFrqX^!a zl1IlObNHPFfr2SbMDCYOm&ic-sD+vW!2(m)>WH7VL;NPWamklJIBhev&lp&~X` zYACmTlPAbrv0s5vS2JMz5mE?dMQ|zcnxxq!o2Bc-O8u1SM<+PD`726$+2UPGZL1ujuKbew?vaQ)rsIlQL%~ZEO;&AV{;J}m(i?v=Q5zhmVn=0L zvsfI^|2K&3X^q~UMr9$^kA@0jpV=Wx2M%ueNmm>Vk9XfbeIF5*LtZwS`9plX)V%UG zK>XAYe*8!8gAW|6Cl6Ai7P++BU$V4KJEcu1t)53f(khMP#INyxjJ{o{fqaepoA68K z88e1+kq5(hkSdz<2O^(wkz2-F-_n|+9p@>U>5>UkXpl}_}r zYDObP<_EizQaNVsl;efvKrFI&}}BtO^k+_doeQX2c;VM%PiE7eN0~ zbgr)7oa!uWwh;_sN{+8wK0c}38$Bb}R{1Hq0rKQO7O?Y6A%Bb|hBV#=XCOLwm%~o>i*wDUJ#_PhoRWxS~!t;Cdr-&!U2MEWbJ{pgaS9cbo|*wbuB5 zJ*Fou>LAW)nF%ix3kh-LV0PipQK$vE1N`^IRXN8Ko-Fw=(i$r zvsF^5SJ#NYCn?g1RN>GeT8V0~$7Qw%gD3)r*@cHvRgInhg%sc^W`$LlCa)??6_%8O zWKIq^nDTORz;`}H4)`aN+l;#SIFl?kdfB6-_gg^3{W)($k`VlwaToQpJ_@wqg9oRB zGNJP<5XnD(Fh~-hf07+rlm`-T`zQ5y&vdHV$SJv#01%u@28o{5L(PJ(%r0)|Ifj!> ze_Sh=cNawot#6aPt}YYdi>E>BZVfx3^--h@TXZi@f9)Vzbmk5%+U_qd>}Zk9-dKz7 zCxek&$*&gOq5hLG7jln6dSyf0nd@AIZAHh&Qn|3}751*_{Wv_7jnh$^{vZvY-iID) zB<0S-f%E==!9V`@q+VpHWgAmT7rCTg9b!o@&n4}vq{&=mrOF;rWmgkcvs63${tO)&6)25E$0{9>NrlPZOx;=W z@X${Vqh*MMmylIWxjwXu{n}UFyDg z9{=Xhqy2We>|64V%H=)PlI!4b;Cov$fsY)*nw6zdeHHqmLJ83}*&h&AP$^G8Ji*_H zM)=lQ{$}%^1hN|lwV0*OkMN2kO%F+_F^gu*ybgGx$N zj03@TI*3ys*yx-B!86WTjPrhTek%Y3`VArIwYh1-tuUXjg5_@S-YijlWNXHBkw7Cm*MKe)9!xMC}n%bvJD`P#Y7u8 z)V`aKG%p+@(*M7V6!&^hIFUlJekcmpCQSP+T?uLBE4sDDzPwPXZ~i~Mobdq<;{#sP zmlz*dW8M2QKXOZrC`Hqk7$4BqZY;dw=w$6d7#={3g$!#`m)q7Ih6i?iXV^>-yc(@q z6@3ZStEJ^Fv;e4y4O0hv)k?!BnjdSRP$s>sqB$je7So5V&Dem?qRT!U&b!)Itm=H( zcugL9vY$(w*l!RF(ef@93Yr_id#+Lb9g*|xt)@#FApMvu33M9{y{)}1n*ULBz{Z97 zd&LfDHX|5y%>p8(AEZp09%Oo#y$|a<@}pzfnZIh= zvjb|?6DJOXVxi6;%31Wi)Sygs*?W5Deh}~64?;&XeCPg4SoI4FW_bB)GHv18W0B?) zkahFU{h$WWdiqekb3Z72=YA>zTD^1sBfgy3cD!@1{uf1uua3meM*5!qnGS49dFpHBSH^cc>$K3V6u}a@2KE+5X8wpW z>d>b@X-NG+TTT4h7F2WeCX-dn^sK~)=YaA1eV^wZ%q2u8dIlb4jEy`7;?tXh*sLiS z+96C83F2@^Fzz9eV}qgsHGOY^3~PU_S$_%?&}j3(;f@qEZAHL+5yZz#hlpmBkxy?f zn)*sZuTbM7evh57)|Xdc6^YYlTVx+`vSCKI!lq0+(&k;yI5Pn9l2^6DdxA7 z09*~_(=*hO_zxgWOq`EN-28bBGCn<*=H-9m4S0b(y|>P1UXgG8Sj^eRKVw!#7LBZ| z=2fP|J#?A4X>W8Qt1CdWG!_OI^C_)XsRuEfNm~*Gl78<8hl14&vWpBRs!+0pB2@ z>A=}ps}YSWnYNGw8+ydy7RFn$_-%=+re`?jxkqc^y%v)qQ_{wq6UxY^)kI~Pw5n43 zWn|kbh=4ieDgeS$6|83siHN?){>w@)--lZ2$7_p!AxA4-=LXBCx~P zR0p4He14)^`8lQItkFQwP67jgcnY35H-5R;+@TD==~}&XzArs>%0e5gZ6Tiu%*qTX zvGNIGUKdioKxZW=62Bz2lW4Sfv0@TODxd_B3Z4vzRGd~`t>8u_8;E@X`_3zG(Kmab zR^e6_J#el@D!n!!N}m^|FXn6g*HiES$31XvQ=ZkY`36X~z@(-Mgl(jXLi&fP4mGJJ z(g#MU4zgUG6BbjgHHT`|982Qy%T;!MPvceqC91zFsi6*ue4{~zYAnzl$EY}KEyY=D zDNe1W2zOGAgL}l}#F5qEiI-Q0MF`j`qS9rF8)u_{3E6AXT_fvwzWG2S%i%&kP^GtJN{&+piWDP8;y}tXj!z0l#_^f&BaNl8 zenB@<$QsQ{HK`wCuH&s}{`TmAzt`~)#IkoVNb_3Vz>PJDblvb{Bh3XgSuca~d>YFI zGemQ&`3%h_K-FD{%NdWGPOOW~#X83`vw6lYRNHvO@`IR5*&9oid} z;STKx7y?TDsfuwsw298C9oi`8EW>%AbJ`}g2k!s2NmXYmRAtqdzimS3}0 zPvE}eR^5N$>h7?-df39+a^4iysc34Sr5n80^L3 zB)Nj6cpH~}-MDS{NYkm7s&!)Hw%sB#Z=?y4MbDx`Hl|(7cdyxA{`$ zd7Wj74*_caVg(Pxl}oKVfBxMH-m4?H{%rqe1f@@v1S$Iz^8B;9Jcay%?s8clEAbj#OVwJD0^{vzvOQM;Gf zJ<>c+L&x*3$2~60vT+P!t_@=*EhXl1JfezUA?xmh2pm7n;JnwLGpXzAPxs|S;&V0n zH{68m`Ms9_NfW7qH*h)OxW)cZv8xq3w4`TV@T6kFKW6T~{4t7qfRNCT!*ZQAu{|sb zR?7v=kZgfb`z4bmQ_`=388gS`4~9lG`=x#~TLC0(A%LXUS<>K8l1{Uv;sg>kyqCPx zm}ZiU2#fH^ktumfNh=hT1^-vWx`2O*1h{JAn>Op^c(L)9lL|1^T9j zp7*fi|Bkdj&O9cKdjk73R+SC|DvMQmVwJ!53@!wx=7*(i^#AxS$FmSp#fx0F@?{5u zS%Wdwp84f#_y*@PbSCb7OgHS+15NWw$sF9PknB7i#)9VmAqmPJp`|SwJV3#76ufum z;2P$hKV8Ac+L|6tK)np&pQqqJ8<=b%Zz}ji1;5xic;)}&>`LIOD!MqRD6S7H)XW9* zskmc?p@xEjJ`xSnO3O-INOMiG+)|83@qA)dX0}*XewAgVW^S2+d%J06mMN{?8>MFE zk`~|pe`fA|_dU>-_xr(}?VK~~nVECW%rH2P!EZZ*e;~=r8T^%#gVb8GIRomBEF^{Ro5q z^dUIkiDU+Ye`N68aLtWq3Tp~W|Bo>ty9O#zp>C>wzCOAWj$9e-}hFpT?6Ox|0JF(?D)&8W4K_|uhHqXkFxc)7e8|&`lX>z^)OCKqf0O(rBGsjNtGrtMjSHq zLKUe>9FPk1B8Eza!x#*^0Xb9Y;6$HI2e(Q5*y2u6AY~LWtR=!^fkM87Bb{=y0C*3) zrP0qe1$(%KL9&pogsZ)992K|iOc2%$17DU)7P7}nqwi+w8xfN%HE*tB&$0N*va5sm zN@oCagp;qJ5mf0)D#MwA3pCgu(iWq@OIE*r0bYXT63r%kUmE-GCI6TS-PE{Zat_2$ z1_vW*U;|FI&RhVRFbBhFS~3po|6y>1ARz>r1Oj0I1)5(NR6#_GdsXw34`D65xaHq8 zKQ``)wW+&VRMv*oWnW`{Qa`A=jpW0qtAhCVE{)Y%@{-0z zTNSp}4r2rEAzOW6FfImxXDBjcyol@f=~=*js&iju$iw?k(z(^Pry6y9r9i zIf*kIZs-7u=YF^}x}A9`JFRndHr0VNDLN!K@Yy+Ct;{d8@k>qENE(Y1}PtFh=eHqbQ@E>%9V72~se zIR4)c3M*n*ON4oRN*`U!lw;n7TDfje&>#jiQbF9KEZ&N8ZD-=mxdBBvhu%Um*@U}B z!Bw*1)P~D=7CqCv(hglf9s64p zh8-@(_<}fjNZ0r)$7)j<-86-nu?NYZ{EQL)##Vd+@5HYR=bo7wqsk?nNn8gAzTF%j zO&MA;NdDWyhx3auH~P5glW$7CF?rws&zzs9LY3k1K>{Y1InxMP zcs9iCauOOcn4yphqT6F`ZrcT_T`{g+f+LT~ICsSZyO+yj3b@oU-FLJ!x_2XLiqyjl zhXDz5p3APlq1n@)d<(-x$iuBO&m~uYqXGpsTD}^PmdIj-*QzOz^ioiyR3o1_z#bRK zcZGYge4lnN#h2#@Ud9*GHN>`zz`MFoE6ZJ9S0RhY@=NebmT!Sy=lDyIX5%K{gkNd& zV+{j2#(EoAi__33Q;`82&0Z^MRW@^=Es|{Rr*sFJP22>VR}*ff6xX_O4|37j%0&Z} ziw;&UQUbZy6_g8?BNv0qc~bgHpo@HM zpp6CZglYr7)qtz4j7S4M&>&D9?lKvfkF-{+y@akK)zKRnNnTgMs*y?9_k;G07VR^2 zgmzzxc8r7e@*vvP9JJ4)&jmNd0}k4~EZXN$a9o{R)25!Js2}N~Oa7Chei(i!`6UkO z&jwMScSWG&d&^Lt>7f1{>P1Sv64b3?*8$ zCkhr+Q5i9=mQcB%@~CP#4un*_6!W{z>t2FRlLe-RV_#l3=au{vcQ278usgv30iwr2 z)o=ne5{6MPfO2x={$yxAQ>uY;L3zgz-%;p6cR)`TsWR+KG!b7aamac^5t9L(8*i+I2g`NlZ6))TjLeN>=2pX(jNILs25yTT!5UE! zZ=4D|xL3M9n%WOl17AEzgVGyH5eTTM1i@65;`V5DNDA(XM_3GZQcHo5p4ilUtRs^1 zhqyCS^T)b}A$b%D4NuL_c8|c-q~w(#7svVPg>aULJzjAdmb@raaM|-Oj?;S~oNF$EbLGWx-gY6J_gw_%mlwy0 z8`*?~m1*~07r}WRIK_%06_d*m-j~FCGUKALvp7IQe>`C7W7K3yL>Lv#sFCzpQHQLk zKQ2Sm9u<`)Q0eGZg77e-x>3%LB>5@h(=Q=vpJ1V1 z5QKgYD#1d}eMK<(aSrrKoecCJhM=E9^fx#O4o3*tA2WaoS_mFaUQrKT?f^$AeGFWl zmC(Ro<8FqB;A|3%;f4?lQ)S6GNd9M-=>Sgi_ruM($30zZE<%O5^72{At~Gt)xnDdH z>F^}G7Va`14+0n|X&zAkgTymW0bD`PLQIn8cR>&xCDCF9(cA$ZVWK)+3ky*uXo6&& z<6X{VxWjNAZixar0H1AB*RFH#Jt$cj9yLYDf>_Ib7 z9`6A@%&@qy=DDD9jA3r`E>Y#UT|6~Z$(z7~s@g86iUO$19y^rEI4ZpYg=P4 zZy-j^dBEN{)HF zQqwD6EjQLw13G!u9-6(hwodhEa!F~G3g zAZ{}(4xqjaD2TZAO*}#YJtHC)Dq9~MEM6ewCt&qqWhjR!P!ppNAXe=B=AOmPn_NSC zHcXl_IlJwok#~A|6oar-qjzfDz=h zXasSy%EH28#LddG!eb?Tsf5SDO)p`S9PSM5hLz()I4j~iRno1mpnojbGz4V2h zgd-o0KY$L&spYEXSYi4^kq2SW--z`<46}gxNV9)uy5>(y}eNh zeF|!H@^mipxOziMekLM$3#t&8Z1+5KT|uQk;Y2OosD2S?oj-Oxm;%nKudTT(N!I%7 zxP3v^2C?`Az=X)I$+KSUug3ggN{Y@vRI)Oh#%xYF?B-e3ylIH}^Z3rm7U%~qKY)h? zaOE#YO4wH%qEQ9c6Zg5u)^`ZscpPy!j9&pk;5HP(EF~4+PsyeG`{44JbYGio9^cq) z5Q2`~hKo{g>-8Ez%WN`x_R^ei0AhEf9EbHO#gN5p56J>d%@Bjl$J1^;NtmDRu9FYH z*vPro&U0@?tn8-VQH~XE3JP6o7rLqRMa)8ZY0kBFjhkXd1fcztW0{*O6TBA69$EqY zCOkaVcOWJIX?G=f($JJ>RReU`=1E9O|8b!^(_J$uALe54jSk3jru#H5!gcCf)-- z)hAQgDZbEXG8j_~PyRx86+y62F4jxRU*oPSe#o)pyUZO<#Ax_0P`Y&7ZOs9Ze+@b> zx<-3q9tCTbDA)aCXlSqjO9K98r*;0w_23``rR0xr$EILE*D?v4w^k|n1Kq9h*Cr)@ zth+7kppO$TzGv`F0nS=z&)slC?39iV8}I{s5z|guW)A~l`S>BfEm1(^4_3!s_eTg2 z9$ttLf_>xbpfZEQ4|X1K?Og6Iu6Dkt@o|a#)|} zO~NYJ{oyXeSB3)IdmQd!hx@p8gZV{)Cb?-n()I*#)5{UWzS;!e3UX;s99(3lp7r61 z>sDjq$08JS6o&}RlG~w36j{{bjqx?fVb~g0pXLD&X(i0Ko^;Gs35Y~nWV>CIdeml8 zjJv57rqoQwQHwJmmJV~QjC9l&ss#^HF$A7L^pKmg-3xW#PzLU%2QALRr(+)cLcZvu z{DM4dCmq=~#1AfyY_S?9Ot{n&+nZ7P=n$k30j-#RBISX=C5FTmU8G zoEZ86V{*?`ps;76EAJqRz=JqkQ1J9^48Fg)W?=)D<#CM%?y>lTv?+=L7Itu$-skb~ z7Z+|{z%S-`_)?pi!Sz)!Jh(VWM(F%X*n9wRr2xvoAM|WjUS}YXQ&K&mNZzsoR@ZZ( zY$;gnUJ8>G*ug~tSDL?DX>exgk@Jt^Us1+VQUp!Av>41l=LmgN>EoC zRhKJ`N~5bwyxeN!@(uwHEIEvwT4~iQ!Zt%v7-q~E&HFWXsQWdenXlZ$@z5qCmr*RH zuWcrLW^1Y?3le|%s$SS;t`3c!fWtL>3a*}l>!;u@q0iSgnQ)5~+|cuYgTZW=QQb)| zLcujsaAAsGZNiOLa8KFv_F<)I)BBCBmYaCgE&0UV$fWlTeC7%T_t!a#-cx|H%U7)6 zHY>QV;6wRV5zedN{>-*6j2`ZU`$)mfS8(qtxH*K|uHc>~J#ecqqqQ@in-tvb3T`cZ zzP9}d_q2jbeayP&^tU@5`CP8x+9|kYie3}K?NM+^q{mH%@iyS>dU;&I{RLGs+V5dS z?^i0GUsiBmFSO|8I_Y^8+(!y-wxU-=xI+r=;2##fK2Ca*6x=fkZmgpBFyYn;oZ3Zl zQ|Z3Sxf9ERXngKGwGnGX+mM39t85BpmZK)(6@~9%g@6*pshsVnO@de_79{?0*2>u` zfh$x!GDg9zQE>GIF5)G^9a8jW><1jOf%DEzdVEU{J!@V)p@%y{*+XW-XWoJm(a;_s zxUacA%|5a9S5jMZ0FHs%k@+E!bDfc6LL!Ttk^Mp??3uG{?j3^12nxOn8hH z!$9*=1PIN34w^j>4VopWdf*)aA86i)kI+mZ@EwY#hjIRh4)|!Ao#3=+{&5Luwox>H zfyYQ7%_}ULgB&zJLNsXJt7smF4>Z5QM`-RLa7k+^=ckPGN4$fNrnwbPi{=AxyS$wg z&1vu$+cQD4nMLy!2hCd$4Vo1d&6)6l<~V$W<`4qkt7r~ooIfHBA5F6#oEFVX;Kpf4 zMKb~(BZD+sAb{eTJ;i~M2P?PBX2RIG@zpdoE>6b6CkG=d+9uu1QdY$-{ z;KUu7xLauAdvxO8f)iI};@Y8!mmo3MbX?ns(I6LhWqoSQa06EJ_-&8+sNx z>pJ+*h%e(Kjrcem#_E>Rah_tFKf;TTZbToPRwMR>8|Nm08G|wj9>aeJ8Ziw4Li0`s z%_fLO$9WH}44OUR1I?@P5t>a2+)dGJ!8m_J6h4|}G@KUA0}#Ntym+9HG(UjHs7snx zBfw}l9j@oGP+;4= z;Y+10juMWf`(o8{9>QBlK_QnD%Nfjv#Nd%Tn5I1vbO%$HN6;VC9ZcOTDZ^3O%>2zA zOsq+x-7nS9QPjrWgMFLY&0yEXSP?=H72bb@L5a2>e)U`{r3T<5mei5~oM35aGj8b! z08M*k7LVc{qsv<~c+v-~cd1*L(tUTM{1I=MEl{SwEleir*!byobipF@#7&sEO=#k^NX+TZjfUiRl>WYfuMD}*;YgahLM=AG2G8qo z%G`)`mA=@k3)Vtqn1pIkIrn14QMSW+akWHS%T9JF>(t|#1>sEVKz*hmOX01__mWM7hj7Wk$Ze3rQ+TJ=sD~(*gfE@Z?ceA z18!Ns?jf%R9QzCPtL+)ewi{7A*YuqL6K}s#WfT^HDwEODE(g!X|ePe2^dij>}b1M%8btg_+#U8l~UB zwFWMIYUZd>GaYNq=eeM?s*R`m=~a?)qroreopX=?3)k57vT*(84cPzpfQ>Aq95o?@ zT0&|V6-$u^EHz>G)fwqicwlcA!(T=?2U`+zI}wRtq=p`Wn?ND@g~1op3pzytQ%qor zy^>-pBlC4+7`w^{MDmPx-n$StV=P)v4yWVT=@i7RN28!sAn-GzV3Q37HVeyj%J0+& zr{qBNL?X`8OeoNwz=3N1^eg#`ht9^|p{=co@zoMDd^|kic!Yv?8uRHj-Jd=({#k!| z9UCUypZc8E{pmMIxGu(DAgN{rTI1dZ+`Cxo{! zP-crbI23Pzp86GJ4;MIiS2LUF2w~_5l7qaZ5`wKJy9TzHk@y-F!cUf(4``SzI)(0& zF6eY51PT_W{TvUzn@>qdd^K(#Xfkn~lt*pJjgvzh+CZDfdGnCQUMguW*dD`GIO(@Q z2u+WXk2kxagG|FBo%U;auFqM|iQP+LP+!r{FSl;VE9_5eSu*8fW(AP_00~RO7F_TX zaw;IrXHegQ|AfXLtMFH~@DF3EsYpds5j-UVR23DfpRrIDRBtlT01H)J85PHjuWyvB za$g`>UBXmttyC>_s&y*WN-NbdrmCU|UaJW{f<(ysqZYw0ndn>8m*l;lMm1KUnqr}f z*^gA4kcxTF)TnwZRD)tTsV3)N(es)<6?#X>cJsqWUO9?+=H50qRrv`}?pA|3*f zT=9?~TkLbBLW?~MdjP41_pszIiAnZ_nO{hXUB((o5s@b;Fj22Z3bg4MQ`+>Sm#jAZ z`Ff1B{=kpOZw-i0;0!Z5u|Pqu89xd{;Qk8{%SSJ7lx)V&LZ}>D&*uDCkXS>ZpJ1ae zAo>&1?V|@v;=S2-_$$ckL$d1R#6^|AmlVMz=$9247h>5nr0))eQ}QIxqrR;+$=t+GkPanzUrMsy@MEU-_@g%= z)Pw6@^6r30)$D+OGUt>=zyE71VRKv)L?a{AR^$*CtHuR_1Nv6^9yMGyR|@k-mKNb@ zB^dVLIbBdLjs6uF&}iUm9rl(+zaZQ%AV}*IMSE@~#BuEz(u0=)w0Y0MS+EMd+?F{4=ScVMk&(xOe=|>ImQU z#alXk97jf;PeDKzN5I1jXz2*ZVL&}Rt5w~|8;4^RqR}ZtT^L!2;RTA@nDuEhv8Pyq zeq}r)3`7SHWAFnEo@xb?e{+3m{J03#@Ps$pu*z`?&YDfYJvosWpDqQo2Wc5;fxQ7R zv!e<$TdS`zeLVU|H)4&l=oncHYsIkh89JxN4GgQpFvAY(#xTC%ZG38nwPM&&WXmYD z!|E{XONOnm!zwUrC&L!oVMkF-=4ys{?XWKy_A0|BT48p94n2l?sHlr5tMz%yQN;V0 zx`#70wSGn%>`e&DY1i2H1JF{(1n83H_-EEs9zl-e>L@&$2rT84F?>3YN9g+R^&NnJ zBASC3z`7-m8E+ts`5S|GID;26_#lH{cLvX4@D2t)?hL+*!LKto#~D0;!H+X|v@`fx z2InyN1}m7eMKc7Kj5WGB!)h~ZkkQHtBcuEi2RBRl8+EKOmQd>P>Tj`Xf`|OZcnL4w z(<5~5S_qIv#&`W#aO0qSbPLFKaQZcvX>mHX$8+B@!P}A`%erqq_`C(GInDQRn(uR3 zV^C{|u0%y_B)*uAI55Aess^U_04$>{d&ih4a>dhPO!@84SS~3OjXau5g1xagUauqLSZ=A@l<3I3*;I|X`x7s9Y~qsP{+ey6KAromDrtIZ*E`3DnJz zGN`Y0psr(~PF1MA7V1_G)KeU&$2d?Imq9(yf%{+0~ztrbnAu-GG-&625Q(K#pjd93LY4qbiab|3qls_gi zCI3}!FjMm1Tq>WpUuJTc;G<3*Cir5km|YR`9)`ioKVlg8my|KVUnsYX+RB`O3I1Qz zRmVoAfgPi&O~3^Ie^@yLuu}>fWP(5LLO6F_1n0Vo|VWREQmQ(LerxsOz0kORT8(8TF7e>T4@%C8IueMl}RsLHHP>T+VFVW<^aGTJTwnYO^#2 z;9wEo@Q5|!r@%VJ$y%R7DvSTkN2e6SQPK-ohfg(Hg}L%Rz-Whc_!#l*6i-Auc#>QT zcbGpTw->4H7cbN+o`mU?G;KMxJrIjvySDj2xYWR--=hX@W>mpUn%&^e^FNH8ct1f- zG`jL8ffS5(X1Z%b2;RJ++8=luU>f2}hOWGOBrB(lrq6Rhi$(QUV91<&3uQ#^G@e}h zM=2026XP7$+7*ghL0VUY1hU=d=6a8$PH{I*&N+`0{XKydp$8C(!OgV@tb88j2gjxG z;hl9+1kNBoYfJdK`Qu|N=vwH9qN-ZBSGxacqv3P97QP0bbJoJbxBkG@JIX={ zwefegkn;yBVIh!)R6@GDBZ`WP`YuxZH>6a$_)FnIy~KfmcSMQEyHRj5a!wqKWx*eY zp9Lo<3%(S7S_iV$V0Bj$R!zdc{qa|a>#{#@m;HY9UG58-EY)Qf!$wCBSiI)nm;Ee| zmMQyWlzpOI_BgxgyX#5K>;9MpLgmD<=?mdO*(ajxgd7cV-&mP0nFwdo`m@M{knAI1yBHqeClGqPph$7IMB&@8 z@Qh{QF`N|~3m?P6N3lGyDEZJ*iUc8%YG;>xh0F}6jl^ek8()fbjg_Aal`Zvz9$#BE`@g)XoLYB~!)&wahK@Ve9lhWVPHQo?#z2XbMyZvra{GlxRx zp1h`#`3O#%t*&Iw#UzE#Y|fDg9na$*Yb%+zLS%u}+|gM$Y=mxu``db;(^yYLe}Etu z@O*W?74n<6gFavUNAQ^|c-E~Tu}?>sz9AdfPdee&E4Wt`+$sh44B_Mg+JZzM=?R<% zaJEU=CIxq^f?Ee442Jp1-xn~SwCOEY zaQmRPL-`(6a692MkNqn2#$08UZ>baR0R{Jhf}5k@77?zYGKf0b+=3hBgv(ZNlNB7V z_(S=!2$!Vb*4l7!fV10Sn1UOw;BKYQ7k?Asn)6^`L1O3otol3yD^MFQOTl$iaCa!U z=7jq~!Bw>33Y~CwDY%LXZn%Ow^#|adt2EYB4K|_r0gYrwJ{}U;0N1bBk<&vW2RI{d3yGZTj7$oNEOJIR4T(JCjI10I znRW_8hZ5-hFwwGX9-ceKWnvA?v*5|w;eq+VTlk3i!7@0EEs?{cY`$Obp!~>_Z%eKF>T%pT)X(=`@;j0J@65d9SEDQNX9eH zAJGUOO|mJR7Re(=N%AE{@=JJ(W+b`DBDvZ@@@=Ng>!L^=f(Il&#z#nQChUPKQp&B2 z^GCdjk0!YiPK#tV+%E4!isYT}7^@ROa+XE%Ne4*})8>7`Y1q$h7xR68r}>WfLK?E z!9aK1NXW$Z1}8p#6B3`R6_PkhC;ne>;%!X)QE1`tv@OeYdvs_6Q{8&9Kb#A+4 zs6NAGFQlHS<(39(JM3$)K*dz3*Su=>mQ^bPJq6G@!}35h|AkCdJ2^ZhzoiEYq%bzS zw(9ioU8aaPC(ulx2M&8(M^lh&T=}N0Sf+iWtQI)uU;HI8Y!Hnx?^Q!@!IF`A%K(U4 z=3r$(__+}Sz|ys9`S=&;SlkkR3m&Fb%Y?8@R|ud?S7y31jQbyfzQYfPlbOlV zowQf!iC4oac0#BqjEyerem`NZG2-ar6$VCgx;D|(fUag(kr~=ucft;tVfN0L!FLerLwZ@6 z!!H`MP)G*0!t8~~zF*AQAbe4*OM$?~`i92JKqpp)TV+Yk+5RWCKowlMbrEVdauUD_ zUGMI@lc>F`V{mstpa~R)5ct?ZU@nd_<4J}JlOCf&l5)?m?737xaams)J$EnG68ECc zHHDxZ7Q^gK6{*f9)nl4!aR^n0Tg3uZmr%Wwhnxn5sTWW)N~7z8o}H!316h)5^Hi2j zeW`Aw>0_#BsG6R&_#2f#Ee%otn))qaDO5~_cSSR}9!=WD)CGuBb$|eutAx*MQ z^K-nU`Qf-u^A6Z62F(la#eiQ$SN2)zOLqq-nrZMNW40@xss4E#(2&SK1ZdHduZQiJ zd6$)nJ)WuZRjRwKRKGA)ik0dPoobj$)!Isx0Yf#D=d^_4-8$8^DpgG@)dHqEgNBe) zxjI!HmFgJQK$5Q=OtlxOQ1Zu-hP89zYAN||TsdKLowr4meEGXl@*4S8$y>#to@jH zg=S7^LpcG=nFrP2bxeAVmDDI8cqfK6wZo<{j0fZlmmM~eVYL``?kbCPe}?f0qjAIz zOJvxO4BKaiwPY9@%h+Otu@^mZ8?r+Ig7LC5cm{))G5BF;@CXJMFnGE%xG#cBrWskz zu+9t{Y24rpYsRqtMmJ|zZH6Tpt*kH+&>F4ZL1>`T8oOj@6a6A7N{R6_okIa2Sin7;zhMAZ z=<>SZ#sTw|81GbMd3z1!%nkDi2#1sXRVW=E#3WRF{#6=nevF3Xm=1jXP-KRx2O^xm~Da?Y=l zvr!9cGb-esn3PrZJ(u@sTofP?qsLnj*^J10tug7a4t+RSf5L+Ujw@-iGiN(%*{K4n zDAqH0LpAZG_fZ{l?=PbOb5CO_%29w7kJJ&C0<1wm0k(u<7+yJ2#g(^Fj9+o>`2SGh z<_gAa$euQF8BJo9y4#gLlW@E3x4nP|F#O-z? zub#?Ws79{zQJ|6Efe_#0cQ)(-q|^<|!+l}^<7sQ%!52sT-)j7~kFfD?ci><4VF3T@ zW$-^Az>kA_3jc4o;t&Tg7N95C_slIs7#Q0zXtK%Jytkn+Abv#r=*f9fxKz0!alJ(y zYMT}9ae_W`m>jrrePKtL@kzWe(;haZ#?cifVJ~784*Dp|)?^x6@VAi9ttN}Bk z47H~MWjz$7iB)L`g$2z2HJ#T$hx!ZN$bjMv{YKaA(V;bZio7_fs5zkvQ?=*gw;EV|96x5`0pH@d%7 z-uh+eJrtmKrB&V^5Z2)<9t$4|BK-22N05rQNDT)m@+68;HBSnY(WJWTjSiAjiw1Ys zLjjWSGC$-)@qo7YP=GDIjnFjTA>lCV;O^_s!i@*tyS%5EeEroO<)>~ON$b4bm3x8! zbR35RV;h(5RY@t*xte2eDP~Om$n5Esn?|6k!#&;Tl;o)q zqnI<5vIOUwG2F*X@zi;E$=f$~asc*<%2_4@BAlGCm{=i4_ps`G%iI~PN>ChxFMqs+ z;5fbvJ0l@XuPhMw<&KT_e)1uQf|~EI=bjCA(Zo_vb5UE|_6_d>csbvsb;YrTyu-)_ zm$U@Ma9d3;uv?tlSza&}3ZzMx8(Jozy)>(!H2QXwkF0+NnKz8?7;8W6;;-Sx&DE~8 zb8-MHSCu?UI=K4WzX}})d%acQYnans$MBPe_vgcp6!tT+JVZ`P0adK0EY^F<$2v6_ zEAI#Nl;#NGQk>2}PSFsN9)Hfupt%8mF`gzkXwU@M(tW>6YfT)-jP-OT!XrgU6fY#z zv{#>roRx>#Vm*{b$FlWVJw;=QCotztWZR%orsA9KkB@@ZS=7{<`l;4dgGJQ4d$X97 z#*V;pwLNWAdk`cpa}`%Ad0FO; zLuP3iUj=vNDZQtx z5|LYv50?Pz?@D~he%50sSOtFojqmZLxRX?=hXVpu3Q48WeRr_PW8FzIec#TAvgPfM zT$VH38;6#+O`yDL%D+y^3+yOeE;`f>1z4*Mi_R3M|<<8X5f^T+!y*tyurINqh#&cwRWm4AiG`g7>ZsBrWn zE9*5>*5xsZyjm*TRr0avP}i_zsWP1iKP5g(wSTDgFVOxB z?a$GEX4eH3Ym9uM&Xh0InUand=(HRN6>Cd~JSitlQdX{|(IeO_u<+v@o?Re*G2y z3`|706`ISu88Y?-*j!`om-r2cHzz6hz^|wPf6Ytq9A4XKsWank_px9gw|BQ@FA#IzB zVmE5#qeF&(N^Lw`kQa_!(-mRtVaBo}*z|!cNTd@Av#UoOZIg(EE z^^U}$xJqtb&)qw!ukYR%z{e<5u|&H7pg`L)IscAU<^YHoFS3-rZ6b?XW-al^jU;Ff zO~+E&JaKV^-O5Lpd0~W9uUsUDjmt+EcVUF>E{-s)e1xR~FIeP0Kg6kaEjbwDm@Cit3bk zYnjv?R!nWi^tWPC!(4gWBnm6aQyUQVmK6m-RvmOAL3fZbkrab#bTh4(t&AD(h}mn! zyv&&Gju?u<1>1baG-S3njL6K+96mO4GQ?t@jhT}tx6Pb%Cp;OIDH-$r#md-_J!Rt9 zk!|nElr;BbP8yv#Z0txo&BG80dNyQD89zLG^n~#qf0U=gd!EfWRGyiYJrW1YCj!;y zt~{QDCc}ursN>>|ya^HruqU-GQfyc4ma@)-^V&T!H|&;HFcX^BsnrJ=MQL=sw^53x zaJF{Ch>^obcZ}RPdR*q%ju{o1@nKlPZWuc{dnAHKPO^gY?r8&5gjP~YX9$=NP1O>yQVj2Jx}?mTe7ISJz@j34RpK6fA8!!ySs{fpv8 zB_h1bWem?AJ#M5cuSY8o@{#%Bg#`~59U*&}=` z{Y)+`{}pF9r&!-4@sq8*H5h8)t!e z2!@jpn&3;Wk>VR2MR$xZ`7(TBao2=zaDxIpO${+jxo$0K_4H^OP_7>J;C!1fHGb<^ta95a`?#!N0Q@{d+3H)4R4Eyq;S7!RYL1{=Ol4h1KKP*vDie z_Zr;g3s`o6ZAg+;OkxRGa?fJD)-Vxs@#s6pPv{usS~s!MoKusq<-)M{nz-6xW7dR8 z!>owWBP1ek4dggD6#qWrH%u8ndIB$?$f%TiVmycM?+|cp7&l=AhOY`8E1}RaY{(ir zA=3)YMrhvW7^b0&1)C3Ku;J~Z1;I9`Bm1aqVKT7FlI`{(y#KQ{Ahj5ZcQ0fnx3w~D zxt{Y^#31u6LZnD3wzd?!wJf~DQ!TtdLK|b@J@!@r@02olw~1y)@Xlzc@!qBIZibdw zq^><}yrmAjk2~;AEQ9x80B@p&_Y#G7yoI-^jkg~3LRNmeJMfMvgZK9U-cktIr5-lM zNepsEjf+t`5-XEHto~?LiuA6^-{n zgRjjb=loRxQni%GX?{&Ac6j&WV@WOVg_E;%hM{rLV&NCCit3JBIvm_4mCeUT?8ZvwqB>Aool$F7(xf+2C~ zzLAJR`WSkX$cl@!Qk~=?ju-T2be{o@e*?i*I%+cfR zNk1Ds%(LOH$%vRRsjZ}$)K*<4W2brI8m1XHWo-87wxcFUno$#Q4f~WyV*_cpWyJiQ zHG2H$Z0hDb8@YK@MwcVZ^+cg7e-NnR$Urf~XwjcS7S;JXS1u=h;^dM?;Z$n_ zQG4Kx(9-DXz|9H&y6ce>OcqRO-b1jEMO7tc$=~o6k=~(#+N4_*GkbKPV*0EKRLt#M zngvzN5Tw)<^IW8=n7qmEK>w})zLK2tBg8u?oEpPipqY|CG19Doi_lO{xCizPEY6N_ z=Ao}4eY`M6d@lMw$QUs&BNx;$f>4(V-Wog4*E08(C-kS zKfrSfoMT_s{Gief$i5Xr+OcV9~uakg5H#TPB zFtaJ{((-JuHvB`&Wz=oa_ zW`1@U*wBy3`#22F;4A$Y%SH|@=jPx*gY#k^Cd1E_7tPTQZ2+YyA~41x3Z@MAeqTRq z0|%362p(+1Uc;eZ2#bd^9p&JJ$JOIFtS&e7w_cbiNNj=|WIe;LUgrt_tMo_2b!gT| zVKF_x06|b`bTu>&w8SEa-`s~Zp)LALhUkN@Q?k6mJ&~;jmNZp=bMWPZzA=4qMKVTx z<2`I);MxoTJ~T*{ktT!l2&^{*S69KcObd9P)@lP>5{@$Arsdea{(f<3{(BO@s$x9h z2h!HJo&8vP+mrnVrMceN?a4g{>68p8x7+n#gPO=s?zwQ+138_2#U5V~gRyl#eT3#RP;JF{ z3MR#PI_&W5+mYrwmR5AEv&Y{h-QOcJE7>)ESC(sN;R)BoLd+}^cSB*C<+^8Yy1!;c zDe}*Kn{5BBhigKE7FgMCvc-p@aPpGCh@Vd`A%hzV-M`_f3p3 z_Z(D%z_~-lctme5yFd_%*H2yjcgSUlP>kpg84ZPX`Oy*j@h-)`{DIk^OkB{3#*2NNoAp89 zUe>-Vc{5T2^FVjKbl+8$!FjrGI=sVTlJf70HP3#@i3ZuC*uQc)GO?cAXq1(SrJ`13 z?o-MbheF-Fo+9FqXQczE6hQn6coW9lSf7w$m zf9jw0l(X;IJ!KJx5S#ImonxhN<3JJ!4>B7$?26f?KIJ~60@SSh`%PxG=;(ykKJ3*hXncY705$VF$Ck1uk zb7#?o;~y$p8P@WL>wLBRF&g)FvZ2I@0XCFR6-4|5QQUwLHfV2gw^d1A5!)yRgrOG9-7lqmi&^lCH`s00mlse+PKhRb_}4cbYARuoWK+T_I( zRP9GK^w-eW2+OW-16I<2?+umHkWyD80GQfA41RSr7}YOx3J+ho3q`0t1n2#gY!DAB z$)eAdx;wqHS&;ZO_l?Gi0{iUb zHsGedS30I#qcz!i}3I2MSzPJ(BK z&t=Oi1Nneq>L1u1dwd6IkO37l*w*5`D7jW1d3=qy5Rb$C-?(lz;*#w8Vdn9H0LVQT z<$CZL3i3MEa9`IkyXhH^58I({^j@e#k@+)^I&R3$yz@>Nkx#*7<`)xk$gRiAWH+7T zLnPK?+h$RYrQ%199U+rp-VGC&ui&Pup}Tm1!>gt{)9<`vZC?RbME{qjTiq$B=_Yrw zn{MjM|FY@seE6R=U2hBv-E`kStD9~p*5r<+tMMC}u2+89%E0&ynfr~nB_F!hm4Oy8(fFNyzn%~Ff_aA5e_JI~RUdZ_Ca>#$m*##b^5Z%w^ z9R>|&ih%J~UvdV$@wuID?nT~w0xN(F_%3P*mR&xv6Bj0y@OLN&l#g=Dg;6H{9m=c9 zM>+4pD0}=J%G%|l9DHGvz5fp7@loYAT=NT~Oc#_FkqCTTKFZ%Zh4cm6#NNCOC>=%^ z)T2<1a_^+fiO{1&$d>C}OmLxd5F~>k16IvJC#N}=53>&aw>hX?T+keJti3%4o#eVu zFYEr1eCfNn|7;H02J0F<2MxtgkTt-;tAggB{GTxgZJmRH>%lV(;&2%}_bkHT8AG3r zS!cxzVa#$z%kMc>k;aRuePY2Gzv1xZ^@g36h`vmo*WW|Icb73NyN{ ziPz9Eq|3I93#y6FOw@#HwyFtQT5_9|fp0B6e!08BzRtLILZqBD(z~6Ekw~ida{)8U zO|rw{?uT1Mnzf&iuXV#e^&~t7h$(JaGw-|>)(w_K?r(@N1<8Tl^S*h%97^04d*V# z!31_B&RtB2OU=J8!5qFFFMGJwK>-A%f74R)Y}pB9eA{6oVYx#~zbZ0;MBJ>(AZ0{- zbMx<#rm)xESn(;o)HK~GvrGKqzm3LUS_X~A*IU}7@y)0H{m`@P(byQ3 zD5LQyEVUh*nBG5PG|rj9%CIc_s<0aT4R3sn5Ku`^g5*jKn*??Y9&9>f9P6tk2|qzL zuoFgmVvn)~9>^4~6i^87CJqS7=yDe;#(yN|Jay_;K`J8K!yvELFktXS~ z%J<^s);U!f!2bB#ETAqn(4!jY%k)4#?*|;@eLU}@CV;Sy>7ffOx3E+D#5Uj|GA2Xf<)fqMlOiWCs;7>{pIEL4E7br_nE?i-ba zw{JXr200<$1N)mA?tD-Gr2J7gm|F{Jl}Za6mp2y~n3FJN%IFcUyqp2Zrrqx<3E}vL z(CmvmwF}g`s+#WCnV#N9ce<$vz~N!Xw29r>2XW3;Uxp-Bt9N+U`xSO!uC@C-P+h~w zqjE>m;&VK{o1*f2)iYy|L-0i~s_ck`r=sxPzk3eOU693pc>~i1FJYnxA4FcU3eUPf z9rBJ#C=2}$OPH=dvGn-Z9bDH=!Yt4IestM0tNnVXYaNdx4ioIFp0Cuvu5jUgO zHLEx|pACS1F)=oXRW$e(tm3A7q05Ag6YLf@X2Kjw*(m3&?O(QzgpZU{N8i6!)gjJ1 zN}<+&sH11xL3MP8+peP#i~eOD4VeAU>Zl{kC3GF_DbRJ44vyzwr)P>$M_1iLy}X*s z(=flW&dq(*7}yW8(c`e?i9;Q`@)iz5t#z&0R6O&=6Y(Q3C%YEzG)HmOR}k?^8<=!d zM0YbGxkB4VjNV#5Y@-Bp=VK$NV78!EtL$#;6cB&kOpSpeB*+(eQN!LZGvnauC+k{V zy&p!3=IWQjyjwLr7>024R5-xiVI38JnSg=~{Yp?_(DfCl@l9_9=dFM_)Z@nsSY2zT z`dGvUZV{^_MJ2BbhsB?e!Y%Z@qMB zTL;kIEND+R)ujz&F$TE)5QQ1ad&ZtJs%cy=S-5_rVT-D{>VoTtg-de9rI4N1V&u6) zAs4~Sb(-(zw`(KBoQ!9aa?e(RjnpSN>gF1++8Z<q1OC0$$S<$hTx2eWh?KuF+S-IG!YS8@=_`+h`N*s2Q93C57Qca7-D5$ElVg&c~0N?7js)ywe-6qJRQ|7J_ z4V1Z#2{+JCZp6s3*#RYarYyLB2WQw=m5qs#Kr@7!b$(6r8AjHgs$u4H>jA1I3%f++ z2bsf~Jjf3=(C3ecT&`-$Ta7vNL-IW%($o2LcCFIrUr=h+##VGht1q(vuZ=xhnx(Bp zkkvkYQJr4*^C&P@95GoKO!&r{J9)E@KjNjAHGz#%*|0~OZ4sEK35<6TfSH_;9!%h; z^Z)@RWYshh%*BdEPm9K#7LA#1i%1Jiq)rf#AB`hpf=ZDWM1)L1h$yaQj#qTP64r$( ziL&V2XOSrcYhh(=Vl~lmCEYd~2;-lK#i-r-$AF9lih!=cDiB(~!(QXVX=kma7&1%U7@D8LeIF&z4#f%F zG7R$HM-GJGliI++JGd;tS(@NNXcvMB4hbSS+d&Zh%u+yTVwiB)cxJjyv$;j{)NN%7 zSxwW7DMQnk>MUgSAetB?Rw>o=7N9*848yEw(|+ZDx`O>>Y0pOkv4WQk4lVE4AleUM zEpKUCoP^1n0)%-6$b9>~($aqZflZIYR`WX8Y@X2uo61@f=Zj&m*%$Vlh)%<%B(gkv z&VrtYVf=d3_28A@I(@M@iPEX-m7n@!mHOmoDs_xb9b10tEh_a+q)smwP}mp8=i~Zz zc%QjR5Qy)BtV`2!|ETS{e=$;vdZQpCDcxV+1MAWBf=N+nxm!`t_cfTaj5vl3$SBtX zw*#`|1N+7$)4x{6!lkva^aGC%GZ*2X;?TDYK{F^0J+_}T!;y?j z#whZv3RXxVgOW}(oV7#O~%7p6iZ}y)QUn3Qc#taH44gs0)|+l zU<5;q(K{(cnWRwujAc+Ce0;sreAlOYa(88LgDvt$uC7a?XCi-Q=^KBehP)Y5W;r^~ z>S#G>mvVHTu-m?w;j8I$?Ys6ButYn<)icRnl?hh5A7j;Aj`Z06n66*>{ly%J zFSa&M@bimlijP;WfhVze*N8FB*vzRsd!|mVSp89cHP{JQ6zP<@3Nq}nf(#!X2Wn*aE>PS)%x9oMpqjw4?{-R zx&6Vt+u&j#Fdp52U>$Khs?l|t0J&!)a0xQhdK+zU!m_J-l3GI3o4%)#|>@4OY)vhITiE7x%4b;!Hk zt>Tb`e*X@N^B)H5LRV0SywPQM$Xn+8%MO`#*FWo!EuXYIpgLnNRK39HJA&|0@*9oI9G0)ljV=t6tK`-_yo=e99b!ptiH;;U#T z(MF*lV%UTA^a6Rx?+Ea1lOE%}9u}fV}}RUV`LiJnvHyR>^HXB7t&! zoOg=^;;DhPaQMSB=|t>LE3p$-07+NgPzcCy0Qxc*T>d4)Z6didDECkSzJHwamOMD4F^ZpkF?yXxf03hTIGm-&k6(_Ha zg1h<=fon#euVD-L%stx#?$dYc>*tfI3Y;D|^%R^NDqqm6EpYL5;WJn45xAQ-TX3Iz zL3$dll7c(AK;Zrq$$tD1_{>)n+?SVG&kH@_ggefZxry5qoT=c}5$-hwx6Fpibiy4} za0?aOXA15?!o9BG_FZSyOG_u*ZUwh#q2#kj!My>WS!JJ;ugf^VQ43-Gy5CX04;0)Q ztgulpI~3eYG*+2U#c@HRcehn98=P?K6#<^7U2pj=*Q` zS8$i6S?xF4374ecQlRkQcu;WHz-P8oe~7I=2J(zf1u#bE4Up3*YFtO9#j3L{YH!4a)HzI)+@M^^Q0YC zDSAiXGv_OMtD~%beYX>CnS$G{;Fc)3b%a}`;AYxzot1u=TmSG60S(Wz1qv_ zXW;^;`{zsr_x)VS=M;g9-w&VJMfJ~zZMb*$Ir_^e1-C}QWh%Ir2p6Z|2HS8CJK+W@ zxDg7juY$XoaIJSr|8#G+>T|Hbsc9=ONx{ujRa9_^3hopK>U0IS^(L$0!<=w&3T~eo;H?zgPQqRFyyUasJQgfcFT3|R z>ZPHAdqKg~Rd9<4H&VgXS!;F31%R^`5LYU=u25-!L0>_iFTNdoX63JiUQADGpbm1v zHCJ%IsSep#!Trb%IfA0sn!m&i?So@&c0KKLPZYO-^$Fw0WNNjDx86P|H z*-pW|px|04xJ87M9xAd^`xl-WtK)p)A^-%-7wZJv(#sR+lXQ7v5!%cO*YRdtx&#wTda17be6B1 zf*Y>Nca6Zs-^B9e7Yp1?Yb>}uA35qp*Jnosr|Yvh;g%@41J$f{SnPzWqv%ysa4tpf z6m%EnCI$C`4L8&YS3$w;LrS#YIqIZ+@jD5(N5geTy~uQb?YSeSva=2Nkfp|< zQVe^5x-uaLrGL>*fBq^U#+H}oPM~c>@}-5y7KOA0luL&h8yD5klDw5sjK7M**b)C^ zNc^af_~{|>zrGL*e@jSw(X!z9E+O$BU>~9+VF#ft)snD?=2{Zgl!lMc4~TJ@QUou5 zT%fE%)B~6Bk z;h~u1I0Kg=(3wSl2#J2L1jmmFiJu)3-zOw~Wk`JMkoa#x;;VeNdLGU4-xVsIVywrq>Tl`-hERrdUP{H8Ggv4lqbtztSk~ z019OiMEJCF;9s-hKSbpUe1f^sf^V$gl_H%eDwl)eE*r&Mg+lAy*I8H&+^KUBLloOi zq7?O}*KwAjg+?)@kGjRo+-t!uQLx%*2jE_SyYgN~VO?`y#(yW8V!RzJT**71F{ z?<7dLoY~h4Ng-~dJeGd9hhr~xxI^&3+84}+$Bz{Op{Lx*(@YjaKHwnpK zgOK=vA@S$u2bcfBkobck@f$u&?kT;2UKCpCI6}vVemKSZeOV z2loz{&7TOo1KTOPRaka}ad-!KmOp+Fe0T^p4Ig<3HUSP}Kmi*n{#wTQBbwoZ3y6+; zN+VjqX*~pcbTWE9vESwP#hwY0UfwI01Ux(1YkWV-}X_al57Y zxFUsveeTmTpv?#xR~Ga>q?9K$UxVXqY!8%c4O~RG@~P0AeEt>Cee-CUoD4=v zC?$LZKrPVlfQJ!cjrd02qcC0-f)QBEdV*iQN&qF9+3jh(FFearEzJC)H*_q_3f>kn z=B>uS-{}mQ&X6?-F*2C?6)TRX>27D-VuqmY!em$**D=hCFkX8yQ5b>qjfSqj>t#Vf z#GVmq9iZ0!|KN>=((9|C6pl9<9H-8RWNyR{FssljfctMppG9?g^LwypIGUqO@;ts& zwE`dnRsgB68J5x)G<+6@_pC?qLF17MXG+afbTR@;w?jQ9p*&(_W8XRuCnYSer2S7? zCDo_g@Wcz4Vzra@La4%luQj|x{=2>i?^Iy`EwMrF3*9m z7uy{me024&lJ*vWyx%^a0O#5Tzu#^H>={*EC^OR@@GL60$+KkftcR!3=Q^x3k=voD z_^|An1kPa_G+h<}(x~ZlA55}GVc9$gy=9&{O$zQPNDFG7|COC;p2Cd|sc=WU^(#A- zx)}&rTsu5yWR>k(Kr9FyeT*hs#**}E(%^@ji=$=;pR^5gZ zx}mrg;S_k%bN3$ymguT@Jz1KnOBL8kTer77~TAM$mo`hAI39& z8BoXYThP@P4;&xCF+2l5t z5jz-E{@S$I#z3;Q{Rc4(qRfZ?4uz(;-VLYF-b!H{`*eP#c|s1UO^KkcG?dg|o>yke z`TU}0%Qf3zwloSBGh15BR1^cJ6{R?`6%=Qt6r;${6kipi_?#4Lic`$g6mR*%Av4%? zQ;9ws=!l%9VzF;7m=SF*cv`8C_LIWu<7NbJ-2Pvb`nVr2P#^8_5cQFSA4Zo6qCQ&k zThLVx53N4x<&^x1j4|Jamo=@zcujas0+M4V7aiUW~i_wl*RsevNOm^hB3t!#- z`IwM^R=&U}O>)vPJS4~6Bt83-RB}JR1zj8Q(3RYbpH_}D@!RdIp>mvr7h~%}w zj(0h7JUxIpeh+e(13c`tq@YAWsn{t#)Fq%)~riA+GdH+D`-2lxJ*4dHXl=(E4 zoUxV8KtQaqGYPrDHQbF>L=_&u8>-;JL#l8a%X06N(oD(x7IY=zp{vjkKdmYp>CY-` zL&}i;y?8NhU=>ygz=|4*sR+I6y8AnO!WU#unA|Cg{Whap~JK72}9Dk)M%dr*~8JKuF7@e;=0w%(UE{>%zUbBP$2 z(D!?xa8r;;L!G{rWlBvdL)w2XScqH@88^L=3Tiu5%+?v5c#nZzuDENsW<^Y|gz838~Gw zUGRmQbI(;!(>4C{HHm89ZtR%@)6cW=!Zn_{yU~n+`qGSu2yoa$Fo~lj|7`Pn2Cc;K zGSeg$M=$%P?6d9V0*mfQNbZ^Fi66XYVv6gd;izZJgCmDqiQ(KyrmZj4{v#A$8`4DI z{MB2S>IY&y7j~ZF$_Aw#cB^#J0(Td3R>SW3{fvjHVHcT&huxE{A!(Ih6N3Yx_#Jn1 zAA~wGzYQ~xBlG1##jg0oGu~6Yf$T&N|LcN|a{axuIh;o4ZwD-Alg^s*G^3Vs4X1?M z?-$Qj?M;Ed1|KsP$^(3K_?oy5QG8H}4tQ(KNGUIuhw{bUP;G}1z=|?ca^&u;Nrp*cLS8p-LMQMEA?)OdBDfL#BmQl-E-TMo#ocMF6(J3%+uiPJr zU&GE!aSa%X?yy(dv{WbE9mX}IysT!E(@9b{)NzJx3{o-g1}}_JA7fDH#$5~ftzT@4 zxfKehG5sUQ9PDCFeCM^^1=9*+>;LeEIoNOUX7-2m3c9(wur7u=*60p8d)>%uitc?y zH(JFj6@1uhI@Vo#O+#>o$%ApG_qgU2DvaaRxz@Nc3g8%% zoj%At9~=sqi*|to{X_yvm*Ibu*&pG5e7(>1KQ`QVnf}MpR^_2*|9kVq3-ERISbA$m z)t3HGFrDJ?KYG8y_#b8rQuEt~+SNUt8d#IzFW`Ah*qe&0Cm7@3OpYMCy?A<{huP!N z!SzKIa2)$UpYZYv0M(rqxGn8vo;8sD6HZK7%_02OYnTQu2uaU-64Re{D#@> zHl2d)W4(31#)w|#CZHD(y#~<#bT2RPL>u0^1voUOEbfgBTnnftzsqrN-Bs--w<_Ci z^0?dM)I}KQJPlXn?u&LW!g)2w#M2OQtJ6ExJj2woaur5kZtMlLTwpG5$?&Y5SQ8Iw zbe0NHj1gx%A)NSfj@~6EQsP7)O2Lyx6hIU*VmXyk_OcCejzxZ@_!iCpO=aq1(Y>}l zR`Dn#6CU59lWF0U9%8r3ymZ|vr*4V}4Xk?!tx^h--YjHx;NXs)M?c;hXrg0YO@53F z4Vcy8!?D*}?*0$mw7c*B8Y|MLxbh#hhq*>NS6`o|lzMuX6KY?=yX<@h!`$^pB4nl! zOV=Md0XERs*_SCi zhJMCxLD$QC1ZvYic^yA3Gc*Ig-M(&W^0o(FjQQ_Ey#oO>U?YC-oH$N6gle;wqn z-}&oj{<;?ym9dq-mhsm*{;G$;+rxnlnnortOrz<I1 zHAgXZt6(@TL0qUzOE!MYV7u|(xC=?pB5BYhqVYG*1$$j+nr0z$D12Zm8;M^^z_Zzo z$i{crbw;JGk#Ql&GKYW1)g4-%wKdp)>Dn79^?UBKf?N;4 zBMv)EkwGr=Ao_ml3ieHzHnDCudN&RE!!Tv}rQ>3$!drK;|)i86XH#fdWido zXT#$D1>!Eau#vI1VA4JYVUm-!;vwR`5AurD@7!{P(KT+=myG zrX3zqn&wQlvntJP{1$X2;NevP)a&rmDvjBVr5TBYQJSCeV$^489sz(kzTwF63!?ge zm+h@d`|!g0s^dPb)_key1#iM>SPtdh&iyrZCg70HBrM zg;`}OwVn9r_W!8z{2MRG^DrKg=Ppv78Y;Ei!*4;?IzCh@Z^BP2&l&iQi+9CdYwg2} z@!fo6m`wnNRW);p)AgbGG3?Udz$m;N4^QAb&&p#7o|T6Z0_#2H&U$bNbc!d?6_-81 zibwPSE{5v&fesRL$4A`tcDkNd2j;ZI`kuI8&*o3cz$)vOC0EDtAmNSVptU93D|iKo8>*+Z*Bet zE0R+)T+bxwaIOaF&@;h!Ee;4?k(Zir=TwG7LbFW58)R+_ z9wKuC@xz#yDKa;N--52Ld?=agfuEMl)xmFBl;rkBA$fG@3V;~hUWecv`%)zR8b`KA z;WZY~z?_a#A!NlI?MPH7clV|H5x%`wJf`+x_@yW&0L>yM5=70djl+FUD`L zAxBf?80*M!96ln)>r{@f;0-xGgNNk!BuQTwA{CYRP|!7mC@RM+{Iqhs1;26Cn#!?0 z$wn~8tpae}x(^%nxTe~?XN6h->fr*=?q*xOg7sHmLdNRtzu&{&K3jqtNtKvea?%CB zq(DdT!-!P{I)UF{!B2ds0`0+1t3Yqyx7&AYvasNJycqlDp+LIR~cT17bA-qeyuXx=g2UY znEv%RzzrGRfEQ#~8xP5_0x7Ro8M^r`=sLqdiOTRiep(r>#BaB6h05?VycnTZk>Lj_ z!*z}fXA{%^h{|voUXbDYcu0nGNx5*a)bJI43%Vxpp)#C`pH_xl@Ed2)s0{DKi!qHE zKBqEV;K=ZLV*3BCE;UTY3o^VN56Q40Dch+G8}nPxRhyrXFMNOHI7DokT`~@i?2&Ku6`46B;E>A| znVGx^({~(e<2gWdFVCklMwPOSDpMv#lhPsvg5v%UJTSzg#Ee2AI3^g;O~n7fvJP$V z&1;29)8A{Hz=lz0B61qp8Q#T*h-IC!24hhpWY5T$W&%Aqb9iPb#G55JaAK(WKt@WO z>Lsbk`Xkhe)^NK3uEIc!J>V$=b20_~oQ$9L9DVn#tmo9CbM#d(^~AA@V-7})s_i0J zQ1UtYvp1GUrT%*?{1J;QG^a)-D^B?jz-w^~7q3jiaIy1RDNp4x)+XffODGMll~r*= zXgP8w69BHfA4DZL#(YS9&)o`wD*WzMfb3hW6p|HSpbcoG0HfB$>4UgxDZpdjf<*F& zB>=S|_uY%tA#zw5_=&uJmbeH{1QTe*$RUKZV{j$r*9FmJDTn6_aQqCOxOC~9yu#+; z>+-~9e8p876cHK7k?twLX!5id;|CuE*PGaxc`p}wZ{oeFEBE5M_JVfh3Q+NjSw#TT z2yidQ z*C83csgR5>>Z)TgaEU7FX%1KZM6=64AYmvbzoj!O)7A>2DIXiw8bpD; zTjDLYVY=~KC(E^t$and^jbOPy<=ibZC zFCqfebck+o)l2kzgg^7zU>tZ9M?0}^$bup&ydMr~PKdY7^;u9v?a)Mf4@nbk+KvX0 zJs|)44E8~c83(6;!Gc>c8y*=!ANwhy!cPw=7DofC z1IXmsEzCmvYcfsW~S((DL1Tmq=tuEBUB#Vobl-Oswe!H z_tF6_vQ|2WZqYrV-?tGx!95v0AsrhwgyptNW>uAwdz}4?xO`w&Q>KNphoeJmVGI#K zFn$>4iZYKOP6OU`M+g*;r|{qzN!+JZ3QqY&TXz&V6mH$8@n!~*UQvIVacqg;D^I%c zYS4(;uw0o9XnD0@*+M(+S!pDgQ!rm}am+{u-Rw(5C4IUywh%(v(A`msF6Oq$tH>q!?42V)UnqqGvIRWKy&*PBBMQ3X9zAtEsuipGo22--IK@~^aeFa}k)(LCIK@kvqE9i3 zR8n}0Q>@SwPZy(blj6$a6uULWl42CUdcV_@QQX|r%Eus;vgL1yghs}Q$jy5O1De5AS6moCC zpm1|#aDw?G61{lmHED%eF6wr~X5ghiH4|zln6#IXn&hM{c!+;ffFH)64~l>D6~6^t zAM&C6n@{l5@^7Z$x7#;KHa@nVfEVMN8SrmL0ibSN@lC_e!m^%VPx68Js%YW8BXtlnM2=F*yoLcJrNKAxp8!g8K-?+G|aOVy&~r zR;=~(luwBjYn8g?Wz_#K#d-oBrdF)eZUUP)l$Ku~p;#A9gkn7of0+|!JunY!4hI{o z*6<*hgw{CmthC0X3@s%mJ&1?2MhE;b2K1EH=*(|H*KK^L)@X&FR%=Azx7*hXDI-er zX9~#LOh;B70bst-(@RI0ckw0cR&sAq0Fy82d3QwR+;7?cH0d{k^Gh&#A|q~BX!;WA z=4*HK5Rdu0N9bB5VpC_B5JG5EH8pPnmG#XQSdNHv<2-?AjOcVnBQ3@kzPhNzcrUlf zgx$CMZoN#4vF$bGr8)mAgjo-6x^B)d8-vem&L%MH92VoDTr_801P2iLSqX+h6P#3! zYhOf#13SIt&bWQ8@Oz4D8?SH=X3l87kD95bS?2IxjIVC15Y;Kz1ZzWvwU0G-o|Spt0WYhhl#_F-UU89ABpJ$rvQ+mN zLIGPBdO>Ym?peTAl~q&^-~3;;vD)xrbh}Emnxn7(Jq|6IR8{)=`w(sPzdh=)>lJw`^{PCofw%b9Q$5~Ok7In4Hml9U#9!5X z=;B3a%*gTCng#LXjl+%S*|(FYzRq(3Y=;=DAh9zl z-%$mgjHCRuhQEH}uf_&`{ls50`D-(O{mox%`0Ei< z+BMnvS{rL~3dVy&ey*B4d@zcg`ZxtOz; zZj;?NOPjbCcZ?0*SKhsNWaZ#kXqlmRRx=+i{}p!HLFQfbVbC4JV8D{67v z^!#2dSLk~6faDKibwgUStq{X&;UsVpe(8rSWyp9)l4+fRr3`Z3cI&QK zAUqxm+0lVF0f)A6OW@!tw{v$;VeP__*x|tGL7W(KpWvJ};sqz^0#|Xfw$D5X9CT6Q zoYXic{7fflzlHM}ajGbsavw3T)5a!+v&O<%LYyO*SwK2Pq4Mt2-_Bte|DJ7Jd-YZ>(w4741)VYT6YD9+-nw`l%Y{I)#&A zr9W&iaMBdc{Te4);dHQYCK3lWKJyx^aena$PnuXbGl+8@kt*Pf*EmZRPE`wM9&vso zPHA(7;OsGG2~M4lgePdDf$$g2g({slbvnaUI?q~sdy+Ua6wXqO(@Ei+lKBI)qX~I2 zA5(d4(s?yhc|Flu%fofkfs?M%*{9QSsdRb^4$^5woa+?MNsY5FPwL**!s$euXoXX5 zfs%(63g>zY=OyC&g5e7MsiSdTP&nl+oDYG6uF$2XwDqUkt+w7m8)+B$U&^c{v^$K4 zgf@Pt%q(qn``2I>g*l$-mo^&<4&+~O>eQ3;!P~DM1x^p*lrmFwI`JxagHFgPI(ZV)5g1klhpHeEuTx-jyMFE zI5RYkU*WW|a8?uNO@;HO#_6kYN?ABtbAU5}IHk>{g0shHEjV>ly-@cA*8L%cvq|IB zQaGw!!0AeymI`N|#yL5Gb+4o91)RymiB~u$HO>}=^OMLPaF!G21T;I!Q|@ER!ye;9 zh4Y1l({%`NHUWo9Z9I^u)FuN7n;FVMVTn?^{~jPQkSIIxpAoEM#v_8&xDef;6R$G( zhgcJJQm^ZzTC1eK6(pS0dx%I6X{3c3sis2upM})yULf&aQx05;~+Cpl3pNO(QUPRg0W{GkPjl?*LPK>z&v{aqXf)?tvg4LXR@`W~C(SBgl zZWs&N@5%ZYbDO5^rf9#kx=_n;LR(4EX4$mUNIOT-ey3@#RJ1S3#1gvtJeBX3YEtG~ zY}$KC+e^`I)U>;wk}?mpXkS*evlQ)_tyX=jlQuz#%UYq`W4tc3bt+h*kPq7z-M)vS zU2fC<^aN;s1EV2Et2J$gqTM09f~b9^&ZiepNalXX$eAk46gc==w(zan>ZzTi)P|`7rR7syflF%|)dWyhb zof>2T7Fs*#UL@TQWO1$X4A&((VdsVdc8d+8|85*4EWw7=By1~T6#>JM zJv^IZ72p2>|5W;W(GZJyfm%6a8>B&;6kzt!5gF zuC2(glw1olv&&b4H@5lzhw;`uu>I?HM8hJs$~X*|oJx~0oUnPbuDl=9R~O3MFvLZm$YRxRakuY)Cj4a(ge2vpm7Pm&(Z zzXJkV=2>?FTjt~@OYE)~B`u@QHBpUo$$gF7S!KSu0tx*~Lyo8cqzYS!^im{irH1A) z@Men32NkKqiFIqShy~dXB5?TBVe;3Ww+H0T3)f#Pl*l$_aED2 zuo+6VbFm%rY$!%U8p14GW(o!EP$nxMReiVkJ@OLo z#(6OGORw63Q@7q-OX0&7E!_dzuK>SF3xu8X^k(3ga2hRr;6NSgLSNm4Z-r>n)#iEl zPU?6T2hQo`5y`#7^Pp{wrwOSo5VqfKByLFJBRNWI zNK-RPVqC>Do#1E0UZZYC#B2iO_iUDL(@=3FUtYp3ByW_DC2h< zmO@xn!nWJ68wtBW`CVnhY7+K4VISGBGKB4=OwYAp$2r@#o3N*C*w2K$Mc4=%wvMp5 zOs}^Evo+5*OCqX1{u@+%7*U%$QANmK3#00mx|`Uk#CAEcrCmmbvB~~KqE;vBPa`ZI zHD$R<5w^yL)h6sH#uDQb8x~90PlUZ@WBoHAf03| zCK1-rg4szfT^zxZN10?Vq9!;|g(cI%sG23Mh~0$Pe+;+#fEM*W#jqiZ~c`o!>;4 z?RgP&sibpR-;4*RfwOcKjT2c`L*GSMEy8}WVa*A15w_ljT|*cn4#q+oR)Mfz2z$+j zo#xcadcyK;*sp{wBmee8GMyM;i%emJ_k7LR8xGJwOUE z1-9C(3b2`Eebdtz9oK{4T7G#RBY{~x{8=Ord^EpSVME~Y9 zyL@^n*Oe%VnF%zbsT2`+c+m?jJs03K4m7o#;KMHf+(gD7C-?_~YYF@WPnt{PM8=vVmVlIKQOnFH`xYyYtHp z_)?f!Rn86Y8#x9Hd1`s_Q91L_?XU0OO95Jga(1oVyd zXE6X%J7Gd~QWz++tT(dYBLFnp@xN>NUmyPG$WElDUfe})CHg%PvGbB#<{_^V%O&7k`GT?V}Lp{)>w2}(dDu%@4kf>XxP-{`=C9H zWkT=1#)qmzMctqJKx((t`%}B#=b3PL4z#itOHpxyd%Hx4M#aSRz(3qXim(e-QhV}N zo%iIOtK^yiKe8mhNOzoBWP-^eghaXx!q0P`?LkGBha}f}j(B_e0!!q5zSvVVDLYw}5vjLwi zzq1EFhTkv9@65p?v)%svaBmP(8FLLCqAJW(#^BrhQ6xs_G6~z|& z%iqCMGQe+&JO3E*l2k$VvBu-lEu@HVFbzN;)7yXwE zg27u7jVs5;NZ^KmD9o_wy$!4tL&hw#aNAHd}8VzL9l;*@DLuk$Ljg0KpzG1Z=@=qf!RFxvME&(jn|M zdEO20>kQO}xMRJcC9qY^4(GWiE+%PYHp(huJwn7f3O<&FRnbfY){>0OVSSs&0I3XQ zAENI&44GQ;$m7`qEa*r=vl9S)Y*>FAn#pd`tsZ%kw70gF=Q#*vD0zPVT7H2%&o9vO z{07#@;owzFG%gkNt#03IK<^YdK-HZkO;R5=F4x3lp*@DlcK=?9V?gnYMX?7IVf1&p z^Vlzio+9YkKxb+^2qOr6V0@i&F63VHfpjBp5MSJJY@miX2^ms`4pran`2^g)6|*W*E3)bY1F-%2h1uk22uraLC)tHQ;hf$qViBIz%8Smop6n ziXul4Iz5AtPDOh^KLmx{s#6=ghN(Cxxq#;D34|2fVa_{+S_osXCW<}V7HEoZS}eF* z6Hv^6HgYfaCDIQl@zl zVw|yiF}SXP;7#n6lnWex2OQrn_sn*QH-Y^lB#aIAGg9PC!YH_(a&D8auZ65Ik3mh9 z9?Ze2(B+~bjP8>$C`)TKYe*f=s@USE=0WA3bebfc&Y`D+F;`rBNy&v~s*C$c|q*qnpfkRNgSJyz<0?j`T>%_UWc*PYCTH*uUY2HxioESVw`jx0cK3PYq< zY0|ODN|RElDZTkJ(9#3HkWO?MRVF9OCi965uu7gB_6nz}g&IbshIXW)pj+@g6+QTS zJOe@bKaVh(E@2z7Hp-{MRUN2>J8r79j=LeYkO_};t!O0hBU#{Xhz(UdmoN)D7&@K` zxVuhFLzSAxnXnHd36h7XVSyJQOj% zKgXDZs1Ql5S*3u0wpgaIOb|td~d)sK73mg!enGt%I&`iC6U7% z@s$Z~#?##J52wJoVEOM#Z_9IT|M~hr;*Z0W^W;i%FEoVoeuF{WH1SEUg2M#e8~bYD zeBOs4Qr4BnV{Zn2UhBH?jVSKfde?@nqn$SI@=zhbS zIgoTP(Mjha-B6*^H~I}ybSo8IU!jZtjC6j`IW?O@yfS-4SYvIVj%|U2kz`q8WHpT@ z@{=u3W5^vhGciS;FC}*2vth5qKJJEH6T46*Qrrz`S3)jDC3C<9jvjFLpat1t1xQxL zaHcO~ICWsNt?ot8&68KDArN+DQ!i(9@yQeT(OCaT4BGOHm=!!z36{zSiMhg+ura~m zP#F`Osq!h2XkZ!??5g;PH*Hs3fw$bhVUR3>sl;)UV@W#98Ce|~PAGoe-wjD7)Yv-! zvQ#9dM#8CyYA9@#*a>|B#$je+T z^ghF&M|fY`J$hX1$S#OYTXtk^^JlE1fEV#m(<`IQDaZj{(BOXXb`q%hEWT4O>(Nl@ zli;L-q1?|6u&X|{1EUTUe9_GL=*ZkbE!~fe29p8n;oFf9GqrbtCG)PwXV7i2k3zp4 zGXZ+G^O`!G?Sv}0=-EDwjiY3$(d=+J$(+^+6)2lf^5$1@OR}c8s=)-+^PK-X*HDzc zzvi{pqK29vF@EfX1q`vbvC^*Bvg%-q7Z|f7W7vqtU`j9UTxP2>{ zabn!%G)Fgz*;6Cx3$%NbQLmSy@0M)<%)Hhw0~38Wif@6W>7+yJHdW(Ds2)?p;ND`P z8c2LUCJ@pkmP1yY=h`Xn;OX{tsY~j$GFEovZw&S93;eT8tx$Xr!X-o6Xe2AT9Vl{M z?JLX&{uR~RakQN4(mc&x1_9ZW^ScYo~u$$l9c1~@up1HCM+clFch1+vz{X@jVIRB?XNDG z!4|-4YOpL$jV+C35#9g?1sN1W@$a&IQBV4ml_j;-Z~fIU$_Tu_FN9E~dr@vKlFB<1 z?e?Dq8@++!>A^)X|Dw{97olOn>3xznz|-)Gv}&J74?Rr`r-@GKvQ2YYxNhuN5@Q+X z8;~-!&v47dpjFSoakA3kl)lv+7h;MVM1E8ff(kP5ha7wO8Au8))MR0Q2I2VG-uX+oQvoWcEZ@;yprmE-=%XR3bQ0*#IPp@3>}Fbw$|5d z`PxRlhVP%YzGC++RDAq(q(#`OZ@bU`h{1gy$sFLxpM2(ubEP~jE4zII zt_RUl#?n}2g8Uf`!wjly4kl@SYiLq^)b5dPs=>u;?F?Kr)u4*fRCn<$5dR?F%UP%~`f9y^fSS^=fvUAsGOB)R?=90>~#gCpETH856fdM=bQ<$d;CZ!j5K z&SDv^p!!l~_cTq-a&h_CWFU%#0S5tV#h}0bgn1wqbx^G9)WFkXatEf-))q5|snP## zf4o!RNh5XgN3`9|IfXc?pYfPp969%J1Ek9?^d5+|SUH^nhs|3dkLmeefC%gTuIBZx zmJT$_{4INHVsLD(tA5WodiVw7zFQa3yY2aI;3JZMoA5VK{&(Q zVGuM7*aku6_{%W}5`HUzK~Ne7tu_ee{hVAa``x=Tsp?WAys999GHozQQi#-zW6A{uqRm0nJ>YlZBM+#A(9HLtJAFD5Hto z8h9072@}mpevk#IjFnBtYf+> zbjAqk=n5;^qAMJR z5jMX~ANrCSXU=d3n;*c|;LB$7DPIJe7yE2BzZ7>lZ2o9Z3D`UXCYfe)lcSo=hY$yH zu(?|**zCu!hko;T79ySf8LEWy!B}TMcpqf2e+HH7CAl(jyMrq)L+US^D|_=Ixbj+_ z&6TI!m&27gyGy{8u`uK`S85*7TzLwb!@-r56mVr2%m4@xwscn|R3-n;yyBX#5=_sdb@K20^VuvpkHGC*WYjEaI=!*u_ zsIVjk@dJ+DA%Zc|jp^4v@Tu8W4-Q^pfWhp9ftHuhEyFVqZT`SVjCou=s?oMVI3dMo za1RdNQc)awDKQ8*ZYqS~)IrQcYWaiBFtxpkuUK-d!kWrpF&PC2HypIRj4H*PYQ()@ z)^KAw+#fpCUGL{z9kx?_V1nIta}T20C2^`5<1&8!S+yPGcM(oCzgkZ9m$1on+x0@l z#N#SYgOpyTa>VsL*=mF;O~;NkF^h*~qR&e~;!{RCYP6vx*%OMtaIhic_Yy5vcO`O^HYR-x zLARpsPsr>&Volya3%O1(FbJV}p7{vw!k*%BS8HzmWEYMp^BIQAd@V#6{ffztYGu_jH!A2u^U0zgm^*d zOFqaf#@c8=@Ldd$iaW{U)VMVh*iY)y`fX|qd;_xm%U*U8W#M}R*X#R#6eKI(|jO%go6#8mc6CD-7D6?VV~8&bLC1i6=k#D%9+g_ zZ*k^zj<+gi4ZN{rV}ysfsH5;O0n9X4mql5y=YN!SXym&<=8>J4wN!SLIU5jk;g)z{ zO3v)15fBobDh9ea3J|4|jw5a3!(^zWpA#vA7oV3f|0l6h*Y{(pL`kw_%5;!2#d&y| ziIRspbCSR)w3g`x&`MHj!X{SIV2K5*M4^?~SK5^-4$~q^9Zb+P6kqi>ND0E6{0>nT z*&q#MLme^d6zG%VBLsTUcw3-fEO(g#{oc-!3G|d$TcGQ+Uo%W|K0z_&q5@sitWEu) zs99^XA%n=GuYm|l2R{>&&1K=V?7X=u-$IAK+0fc)-03&(6YvYoOb*>-(xM+{K zT1I=<;*YE}3xARNecKO`^^^MDCV=1D)bELqI8~!n1Xy|)5=QYeKh!`nfnxU#fpZk; z-@C0mCMm#C8!$=%&W`{_EJ+3^z+ZN5T@_%+Uo|u{?gYT^Qyu_ohG-W6q0~~-6wWQymzOdiaf)zl;%r7VsZHbhP zDvKR#$`WJgGTG#QJc3P|$JlII$Td+VF^WVs)@~~So8H3;5Y48$_A55|(qwf@*k^}Q zwte;(j?(GsSelH@RBi3yu!}ic-|TvZ7Z_pb1@ku>!pFfV)el|CF&5QL0@J%-st2Fm zK%c{7^PW%$D-(Rx;l)jH)ntj_*TN85xKEepRd~x>w~MKc>?-&bgKdkkw*p7qX79;w zJomfnqs-l>E;+1H=@!uHT6qOdS?P(L%+Dh8ON_xb@=PK(<`CBcHIgBYJxwgiruL9+ zqYnT&LRm(owy^B-m2vj(Bigm2BSy5}M%it>zEsIaG->XgTOymAT~kWTuWC>RWQuDE zRuSkHzkjdh?=i?a)$1ijv^0+PV0#*egRF1a>S<_oS?p5Z>@8fsgkfP9o+__|>L!%rTg2zN%wjw=}9Z~6zvh7Mg7j-$6e)GE$RC+SjQfPU(Znv)VR9F~} zN_T38N{_=jqf1x15!^_70(K$Jo4V{upBWiZ>7^s>O1}~+p|2?Yz$-vk!;Fdco7c8@jcXE^G+>ev56eO;0DT{GOS@B8O3 zr@kw`DM5Yb{bSd+^)6lC`B0sX`VMG<`p)Enm`iro%64((hybUCX)WCtc|xM@3{cMx|e6RQr;Ze!0D)(mVJ4A1ZxSRz#(L9%fg1 z<=>Z6>1`WIQ0YaOa@Uo4Nv=xYrh7*sT30TW)**<&<6KrgMix?s2?)?Hf8omw}{)s!;k7d7Rnn$+x1G=IuE zIjM57buoR1MzmbLp?1raJ$E@RS8IIEDXa<0b0d9Ea#h+F<}zDd)`2NLE7qF>L2Z<}54*hTV#bb6+YLxmPlRF*#^QT% zO7^Pql{g;?6P)#rHh

    2. - - Test + + Test - - Coverage + + Coverage Package version @@ -95,11 +78,11 @@ Description-Content-Type: text/markdown **Documentation**: https://fastapi.tiangolo.com -**Source Code**: https://github.com/fastapi/fastapi +**Source Code**: https://github.com/tiangolo/fastapi --- -FastAPI is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints. +FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.8+ based on standard Python type hints. The key features are: @@ -118,22 +101,19 @@ The key features are: - - - - - - - - - - - + + + + + + + + + + + + - - - - @@ -143,7 +123,7 @@ The key features are: "_[...] I'm using **FastAPI** a ton these days. [...] I'm actually planning to use it for all of my team's **ML services at Microsoft**. Some of them are getting integrated into the core **Windows** product and some **Office** products._" -

      q1(S)=*gRzvx7o!>=f&I~YBc2Bu$BmVxdrnODJh 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%0DjdZ36V-u^lgx`mAoF<~!k_JT6{@#K$6~3;s{U zLIY)dzM?Muh!EvDglkJD2~mdzfyd)wc=00t-f%htjZolZTu3D&G*R?QgieNk5^&k~ z&A4qny~}o9f5yXZRCt=6N{Nydsux8)T70s--^7m(fACT zX#csce|A?QBhMYLfOQej=Z>F|_yp*4#~{QLDiPA>j%RmDK6l)78*V+oKX>eIMhedz zr`!5&%7s+Jt;i3cO`kg+i;`ZzKXoeeU@6E>PvU<49;11AXrJCW)6oPKf&4 zai{jo-GM%LJb}b9av;wgD@jZT`rI*?NV|{2t?(IT|d&uH+q)l;@6jA;HB@K6m`evLEwV{u3faJeJFR zV>$Zt@vuanmK|aT>wWq-*e*unjmYw(PaD{|M&LtiT9mr=Yrh8b79bz&u7lWV&h(if6-50aBX>NE~g+m*Y& z<)9A-2XfFE9v{SqS$`A%|~STF@AiMdDzBBnJskvPVNXBPV}vmsdq2Do>h~+TD+FnbVc93Kw}ele3=KH#O5O5 zNo+>IxkPMd@(qSX5|mM<-nqP}-@h)m*X|aS2N9VHG$`5ask%Ue(v8G^ASW^!l;=2l z0%%Zz&Z30&WKf!l1qn*|4&`nu;7TW&8{3i9I4HAi{FDgF{c%v%iPs0zrSA}(5|qQx zcM#B^1Rfu8JH`j)I^juBM!~s4Y-dUmy|AC@J!(w9%RJPWHpZJ%m0n)aYknaQ@nn^CjG7Gl&H4d znPq99Q4KskvV5$M>Js5eRQto}2l%*jgQ_Nj-g{#8!x2kuU7v2U7h*E#y&jQKASXFG z=xy1FVhiNG%-OMINQLnFLGOq?(IZ#q6eRisy+Bh*OqK%~^sXhb68J%{D@+~56&>{c z(%GEpwhOfz&|4bYTPLzQ z=)FN?Wzc&vtlmHez3-BE3*>~TgWe{)u_g?(5(Gtj8#q>Jm7uOK{mmJoR4T!tNE{4Y zX-6YoK~|Wmj!F!Aozto6p0U1=TF+GVEHs`0{Gj(36Zy}eS9T^#w@Woh8^=bzRdyvC zj(lYk=j)c^T*YyOs9k;OlTte*K$Ea|6VL#?L*iAC6PgBSkKKth&;SKBMG1w;09_|a zB|ujrF$TEOugvm&WYJ1&s(R%AXR7*>NwCT(zP7JVZ@o8arJ+=z@?oH3(7-EpA(b41 zZX`0&XqLfWBCcd^Z_sEYESuSCoO2V!)Xw##^&%!=DcOVe2sA7Qk=P&Pgr;G+f};^Y z!xGdKB@`yZGF_BPSe`)QalrQ|?UruS)*fu$I3iwSoG;GoQs1(CALIs*^(iuoKu&U^ zb2zino;-8qOf-^%Hk}!nf#`Y;+U`~Enu2UE(>HBX9degk=}Icvl~lCHGaZNyiI*as ztZD9Ezx9>aD-1+S_hv!>bRZhYX%|wyfNYFbczyq#jc_cePs9v%4f)b3TX8RoQw;p zWcAoh^h)(u3jYh>vcH@0|4vcdZN5ijs}$x^2h^vZ5pk)J*?kB*P?Lej_JLT!he<{Z zj|7tkz~2wJ>{f}JqufH`G22!q&$c(Qcu;+M$9>J>P$W+c76Y%?6;cI@n~IDS@?QAU z)Z%`PEb6<-e}Wl$r_Zb0)ATZeJnOn4C}PyD)CpQB`x=*)dQWD3?|VZ@I%)$ z%v;EQm7^DdPD`Tw80^Y{OiOxka3s)aNidOiAr&_d{cgqk;+afKCLnPw@Y9l?%(Ei5 zP(0IVNvU`y(~^2<)gUK%IxYE@qZK0TN}4C8C7qC>l!@c|S>8dabD%Uw^P0emTLVZoLRtSPiizRQ7ig=XtR>yCzP>rM}2g=SdkuOg9DHR+M~>md9H7wM;S%_ z178$v6``sXObVc3sV%CCDrSzK4tb z8J_fK$F9sgf$!mBFFuP?>W)UKwdfUphQJ>TT&C$X-;dc7Fp1B)*q`a*&t3J=5s7AF09h5Q$Q`V%;jE2IkkJRJP_2mW8cWjg)WpWN-|-7a$SgEP+|^EAjwj{e}x9~}J*va?Mp{6vsn?UE74`()eU#L;0s zTdm{5%@=1jsoiLj$n_>`CuBN;R5uRJA~94B_Tk_m64OCWWTJtb`GTXxAnRO35{G))&HfhxS z^{zGy*S0l_tfkA|!M3%nryYXyO=Mk);xH~c(3w_G5TAS1_Jn_G*$FBf5Wr)}|Y)3?Q|NgZ?D?0oHr% zimYnx*L(ebXkQhiU40O1&r1*o)|IXmjnb~JLBS}HlN@bV?{f4O$Zl#Q_|UHW{vcV% z`7749RP+t1OP_ow`lM>L?q1F=Y^z#Yb(NfT+guJjbMu$WVr zwpFYFwj0UXu@wG1BQj7DS1zl|_CCxCUxynrfwrr_D~=_SL*m0kMhd?Y{&L_lkJ>&F z|DaEXiDS(aFVTsqk#+4JMXWGPY|?`Z2XvSi$b2La|k_n%1q%|HtqIQ%SSypzj}(~0aRdZng zG%vU{1JMV8x^-^sR>jE)x0aFrIZ(F(Cvt^Uq1IIew>CSH1#954XEbul*E(_Qs@Sbw zm`mMXA02z$3<8ZB&{ zqu(97l^3@jsE@u4ZY@IeL!fTm7rV7I=~k|HtxVUv}efoP5m#(A9QQXmhnhd;jLZT3fWx?dZ@DBt$Y)A}w zY>S7Pa&Eeq8c?4;@kldu79vA~sWXgMm*C|1q_pm6w+;#nkV0 z>6e44*ARI*mKFj`gEtBR;mt&wF4T! zz$qRGn#rfij3>NQ(b0^42jt&-|=V&gl!QwjehbIP> zN)8sAi*GVm{2hs3fesccj$z|5(81yW68(T5EdFjvA{SE0!Q$DXP6mrp5x5KJU~xW) z=j1>Jiz`Tc1$3~u!LjA81o**X%0@{=OxeP)$X8z(EY^x{87%ICz>Yu%i)WKKQ#52F zyA)xtsNY1fEdtWEd)l^eHd9Ctr_@LNjz**0H>RNAW}t2RV6)9~54^Z-|4#ldK-ldlnVkD%?fbN40ykZwp+j{>B1)2``UZ4dEtW3-g&d6kG3$Y;udKvzU zz-2d1j0D1n)^986VmW*f#!^95YHeMsp`uF4^)+f%iz+SGxL9buY)by6E}c8Z%GJC# zOVL2f6?nxiq_$~XuHE783bb5-m5KSu2K`egS3meC0GEBZQMpEo`t*-D{I=yVSZZ9Z zqib7E5O<@OcxZ{5D?rqYgDMjDgVr+T3u5Uw6#|oKyP-DbY#-bP+KzW6(Gd_Kxd&`w z<4@YLL}-h;>|bJ1?g6*Lx*2GR122jtk|katGIAx~g#Wr|&+cuCZN=J85d5WlD7G0= z!Q<2wb***0hqLkV%+-N*I9*8WEeG-( za4?BefGd`;502GU$V+6W*KYZfsE|-U2S=(VcDhjimV_+T)bhZ=7X%|vvI(|fQ3Dk>3xxYs9VrN6DaE)p=|4^Kj zYcv&!yF^MWQ$KsPlDVF|DmbCGNsrzTr82z)={ca4De#J2NF^)Nt|B9qsq{q33mCO0 zUKiBaW?nvYRlH>0X6{_G$?gZSd0lPuwSAEPhpc^&-5sQU;NS)l<3LVmQI7lOXB>S5 zqK!D%xqrFa7Nq482c4NX6&HS1lZ}^%e{z$Y2>)iF?dmBKj{#p>N19h$YfHto^|2%FFZn-_~kH9`aZ;vBLTp}8>SJ>^( zZjai`dDg6-sX~udiz%`9dAUT_*ETufc(h8jxDO>$fmVyaOS_OtR*N1YBh}(#_#cY# zOq0YbS>DtfGsRt2Ox<3ado7sy2a!L5sla0t9XscXEjOmegQ-1FrUn6*{WbA^o!pp4 zhr;a@zn<7t-eY{MHrwR{E8GAi`vEOn;1#<^*21bo2r z3ZWY+G7`G8;h!nmv%?$JA6@B?TmJ8{#ZF>zRc&@R~$$jO7iK!oJv&Wohh5G@KZ-c48D{>)~G~WW}bWi#Z5@nE(2G3Ff_aS{CXz8BhqwrgkS1b$k2sL7l&yW)3oj%sWdyNgSM9P?O172d=^I zUrG>#I{QzZei=bSI(3gu_tIf!0&OdI_ za)nDyZqUMH-L)iiWFlAL^U>-``dY6ca{DCYTqaDmH2}S>#fx+2CTOzNP1@rzYNWam`gt*;P2Y+|p6mYfb~N=x)%sDH`R#p2GRd}Qq^4bWLHMZ5qUyWlyPA^+ zv62m%_1u%e{Nm~+U!!D;!MyAUnss`Slb=@WM`dPlVzium{sc~b=1;yig!Mh(KLGQ& zKRMxacBujX0hlFT=Q>WTmXl)#Bfiv_XRvJ@_z%D=^Cy2ktK2;c{0CsZ^e2x$mqjVy zzqayKwSFq*^z+!z0Q}chmRIZ7R_+>(pTK`@Wrb&cd_GG+z<+I}TTQgNelewIO*F5g zk5Q|NaYgQsLE+WUq8j}?=Pws9kpr#rI$q5C!ocx%^Y|iHduj-Dg%9*O3QWr*epW{$T##auh3C(KK;HW>Q;>;HeGJeMx~=?B>IhW-(rPGKM-1&M|C~qDGXn8TfDU*AIpabqe4r>iN4*E?RI%tM7$=(clnbdKka9Jp zJD-N1GEjQ~iTNU>3whPC&{AoCxtiz|A<8Q28b~XER_nmSb$IbAYun4%#16Dt2TsO? zRI*yB8IAXFG{Q` zZebQ4<&;!KOlJn{=>1Jp#qA3XRUFx(CfatW6@81#sfs|WV&E}*f+tn6rSP;W!Z`-; z{BwQ9mAUSIW(D)o9c)!oF%IcORYd#}pj9!DGf6QmWLy=YP8Ey3Djsgy`E}QV9TiBG z)s#Lheri=jV!lXeRlF+}S|=`TTN52~Iz+9CkX8V#ih+mg6OvVNBvlb;RScYr3#nwi z=puTxD#Gsv_|o)x0%a>7<`xf#Fqi6B6TK+nS``r;6->^FOIk>2k@ect1(Q$1pQ9#6 zG%_jOL|XQQzipaWc(zphLnV9EG~f3OtjqrJC208^=+^LNS5Pg0ZVjJAV!Ry4*6`+6 z5)+X9#FW|A@FtU<9esOo*d4A{V4{sScu7Z!+Px-vRgB3M7>|arK(9dHF_=hRf#=De z3$%I$4xh3T4%Ks(=#r@a4(C_EclOs40w47aw(}Q^FZx`ED|^>Od!K1huNcKh3Fw6m zykZwpKIZ-lkL^T8O!kF;JfL%4k4atl*wQSr-&-v1QxjDOi=&Yo87u}~+J#iIYE20i zpM*bKE#BG4qI5aB^1iECEOsHakvX3_v}WTU(WLK3>0R_QR4oR27cCx5Nd$V;`o&jm zj5vN&O*Hu|yK225bp?9W4vRzD>H0*w*?CO4+Xm=W3mhK035Tn8y6BP+J_6@n;7TeI z1sYAZbY@J;vOTRc3&X*}u7<14MZR&1+SJiC(GF*ui!HBWy$h&|C&n%gydmM@^W@J3 zdc^~$*o9Q`F0--d)k+5cSHKsS6Yh$ue*1t-Pi`=C&P~Kzs-$M{6 z?=qAu0e*vet%)(F7Q?zheQWVoHmH}3e_lYsQ+X` zv+&hkza}vnSF|YwS>A_`g7m0~7D#}l1AH8ZX9BIKT}=)38D2aZ+HM?8320La9A5dp z$v34(MVHjg!EjCiE<0>JL&b)!WL;OpQ-{|?#|<-A9!B&opsuvA;_@q-Cd4X(pdq4!?ADGp@9+8G71q#HE?cK=eMK z&7|pg>J-ps5`>s$ju*Rfh?CS#yp0emx=ZILK6ljUZ%$c0qH_c&7L;e<4kIVgDo z_-67`9FV1ASer=?@mHG3GH9OyZ6>=;;E65B2~nHLM2>C-+Dx7z@t7P)Gs#>>HwCnr z1QTf&QVpBQRPjuj$^J;}3w$&AH7-!6TkuSq$s(ajGZ_MH5XecMHj{@rnkvG)$6>*d zX7U>njhe|8mfezK`W{Y}YGi!b-g2~=>~06Xne60!UT-sb!5P8)HcB^ai;Im;Pb7uUO8Nc-vbWwX7HxrH+-pxg^}rWLfne&tzG3Zdg{8 zl~BJ7i9m9RHLR70+%D%^kP33gL>she^fBa;$yQDg8Sr0`r25QkyN&4b@Q!w?6Tyf6 zE7&{QV3Qi0j5erfY;tZw@{9FKZuWmjew&col$A2A1cmZpa|16~-q>bGyVm0EvFnxm zvs%4vESWtrA^Bf>9oFxu>ptQEmidmgWxg@~{ydNe%kr0+)?;i~<~z3fURmbb_j>jg zfM)+2LH==mO>MIq*?4pVCy$fw3-|UX&%BwvM8L1;_3ae(^4UC!4o`U%WfXGgseL z&L*<3c=uwpE#AFW9UVN*m%P>V1%%_`u%pA{SEernk!}tSEdQ_B;`n#kFPx}dsw(-DZvTGG*o9s&GXl4KXw zl7d)KLILID&o66!jSse#)WoXsKb(>~zTE4#y4GKNTT7Bvo=xI*HC(%(>WZ^*q_D~} z9#6&rUF8YnbSxGJz~1kzfjSe|Do+Q~o^l}-1X7n&mrj==%PP;iNW3FbI>f#>78)oG zaCCLl`7($y#QqJ^&p!@Zxdpt`G3;2+&IwI2jjG$=csW^vW3bEcj;tHn=ys zWWM%GW4qPd;#;5M*45Qfm59qK&m=@|3MK=uIF?A7ygitF4gRZYvZRqonSJWo_cF7{ zu{5K*s+;e6ITodotV41w@RdZe3zZ~@@nyw=0(68*(i|mLN&aVqww#hmLIuqn`rk@Y z6gR`J;>fh>iix5lUX||fAT=InB?;uT3#o9;!%|>Rs7C;+B&|$4?|e6ER;hccOJ9~E zOC`AgiQyupmE@dQsFSqUN2;TfMnaTIau=k@Kr2b$@nRCZxRSh2{yRV`N#JB$NW~s= zV?0dsN+oIX5ZxAV+0PqYG40KDiRcD%tH{k4x2me6S4CVZ$*zd*1k_~U6}ym1R+6WJ z$+O^}Atp0-CQSPEuMc8V6>nndiRx(AE6mhwh};xR1s=csY!XRR?LZtfitjje! z57OyCui0O5$@1{xYqpU5H-S!A1E<(66%N(b5RC`h*<5 zZ2uOnyipxZ4X$)Yv@1|oTA0g4ZXmqal`8Td26`<6hiQCVKr!U+u;WCp1b7+zCBS7j zZRA#Ax#*(P2>_i(4zzLTh-dsee&9%u~>oMKlA$~SQgtUe}j@3d9y`YA7v4F3k zTbYqU4ee@YxG0utSVO;&GRR8LOq5gtUqg>5h%Lmh*3dn~U#X$*LwgHo4Q*e`{0!u} zLev^Mm7~c(Yv^|*R?C6Z&@OenaS61B1`}x)QVnb9xT`QHHS|Ix&Ii7R9&Mhn_$8ic z4Si9lQbX^CHU;D)PiyFB94!=KS8|R?N)7!IiAFW_O3VJoXBAJHQ_BlH(D=o-N(PkRol$3UsTv&eu{5X43KWWCahm<=GQNV*7JTD@T(G=`(=gKIPtQa z)L;7D((f}W%~K!uXgIFUiS0en8pTRl4J=-D4~ofo7fNz&xjFpTl=_?jugT zCntZU{iM#VI&cABzAAg1&#QrEv-g5Itm=U8Ie9xLCdkPhc7l0cmF~_en++2*-T5L; z4zJRm=Za`#%?>)56X$!&(_vf=n!P#}eHZwX2S3RN{DH3n7y6TT%qe#_0AB|#_9y#1 z#e-_#SEeqh^1tEy48N}c{L0j&o_XT4BTR3j=mW99~-;EpZtOoAIVAmv9T+?c-MJ6MFPIAj`AnZ z<-}k)sdaU<58Jn#_)1Rp`UjWBc;;{ZsfzfLE zOFU$P<(FJun5heG-{RsL&|LO0es2{t?Sz|xqPOI2pXb^Fy(Rx_99GBR#Dm5`4`ABhIHWY_KdEB)!6t?!vJA$Y&Yd;bE`&w?$) z`@l}esUVkvt|e*u0(W7cFXvri+EXs1I+~rhRJ+3M1hiCv6~%n-ogWHM#5XO~3Gn*> zm%Yslgi`5ro29Rp`R>hip(HDONk$=YIne9yvI(+*32q9CdOwH!$Au#^_Sa+YJHd%P zUPu0SKs^qeC}tv+h9V`yp`+^_MEl zx>GN)Nl%pfHM$W-V`d}Tr_79wM!P!L9%eg`lN|N(2#$IH_3}az=K&k2?qf|fas%Z` zlvGEHMUf0tpMq5n^lAhii~O%7uEwq}m%9!?XLW(Y&*lh+mhh73lEG;eocjTvT+00G1wp{F{i>a?>wz^VGT}0McM6Lok$%#gD zriPrr#n|SaZ1(sVP94=X?^+#%eYl?W0oULMm4C_sorVzd5Pq zAEf>YYTCcXcmcT5YU?SEf-K{E8K3tqDmldM`G(~bPns|~b6zsLc+x~(6Ww!VOt^D& zW`Yr9WWT9h3wd|(5j*d9T2OCGLN_2|$@hFN&v)y>xIa0TEL~ul)+Wu1ccouij$;Jr z{dT1}3;*WvIV(%a_Ld_y5A(VIr_CY8Ju%ke_I%RL6;Gn5S6YTng))0gcI+`$%puEaVqjdyF1?CGho0ELDT+Zk2iT12mBB; z;|FZr-{MOMw!;HIGR%4L#qY3y2mHuz13xmHu#met z@FT+}o_Wx_y!;9L$gp=+wE6c`+f>J@=wA!Rmiqp~iB(atd^T)>on@!1{33Lls^)Dc z(W>OLVJlJdCCEvRem1P)JyFbd$C8VE+i39FFl~H4n?C14D!!9C6)gjS z-Xq787$*mEC$A?_4SZXUF7k$Oz*4cg9jc<|gSu}K_(n9yqpXeIFLy0~syl{6PvCEJ z73Mehndc~NpQ`A{Tk%M4bCV$51oS==cxg8fUfglNLH?^i@3?_OMpex6bk@-a z%tQfCFU?@+to7cao%POE9-j1xD?3+3&xyEn)*TUT545umykZwpzBc=TVO21BD*SRN}s>K7%A`zX3#ZFaGr`ycpbx4j276UKsLdstQZ*dEekwQKXf1X;L(8!_;Mb%=T z*kUKKxJy;^K(M$P$>qUf;H6ziB`w|*ELMETEdlU(phgx)2a99ks16j1`&LCwZ?`h` zK=NRqQ4KsEZp1$NxXOk6H(0zK{;gs$^K!zXFI+x0HBn4;tBOVhQ*#k{GMEZHZb$1e zb(Y9TI7>ca?H#zxhYd{0M;Kl*LEelIQ^!_q{1jq-twGLcwci=x?SWSN^GKX7+I+nq zY%2Lqq$ucL74@2oU8(m=V0{d<-hU96sq6eiz3=)lTdjbGE^v4%61!Ch-9DmM$}wZM10(C3!(r$jzt?$YI2B=$slXW4LtV8bx zx3>L+tt)^&>=I81O;aaOrL(R7`V#?hwq&R)Ew^%R!R^BrAi1@Q_oys?=Q!V$K4j;5 z*g3yIN6|~dwUFE8#XdI|t&V??K6#7I?r1&=7t2W=OKh#HbYs!ysfL@iT$j$R=<=Ve z)ODeOrs5F!i4Oi!)84r&+y$Sk)Vtt`#N%+_Z+LSm^@g{}B4)F|-|(KQ)ODd5oR}&n zb=~b5fAWaM>>C39j`eJ%uDM+QDfc$u?^tsybqT2aGv`zUQ zPoIjZwUry+hL~^Jazb@Ka^fk;|(sdo`@3K%3Av zahaCFi|=SXmhg*dKtmTe#jcRjI-_^DjYO}M=PLN4fy?fZD33G@y}OlOVW##+K%3BD zS9+_RJJ!y@ES+cP&arcaQEVubRQpGKZZ7H&k7B9%3o5nhf7qz%XG4{V8%#ke*|1!f zF3->uKANFTq~aq#LwwOTMx~~`TOXRpM>DjEyhnK-0$ZIR!@rMa=s@wgWxQ?ze7pI0 zhPIoEFL`tWnl)umn)+mhwwn%LF=znIUVWdFi)J)?ieXIEa-RAC-@+Dq<})jJwE_4R z_L)D~ejFQdTrxx3;(+fN0|CFPxzwNBY#mn} z_*KniGqi#J!iiO&>FmMy`K8wxF(YX@PfmOlPTV=Vsjg-&4=1LNZgwzlN2gZ!6F>aG zrCO)9&5aBy?$r84EWCD zYtPL5$=5>v2%X3MmC=?zXxVVR%S2z%%AWB;Te@t zt4{qRcj!G~H`#ubx(K@RFPaZ%wUFHL)54Nk*GgR!?ff^Re4vf%$dA3oj1z7OijL#1 zA%6_e#uYdvE~LDSA61=?er;UO!hagDn{1IMg!_|x3WJd+54mrQ(T!m``d@p9468DXzlD+a`^lP98!0!)S=8P{2 zfwl<0Z<72{4j!ilRc_r9ul3E}tC1NaavI^qM&zy}#8WGq_7|cAWCo;%K~8csDhoM! z9cWZ4QWb7XU=jW@_BEv9U7CX_r6@cRc3+^nt|D=z97u$pBk?rADOtU(w*IWh4LlL2 zDk{@0@53pXTDYPL_XkXkRNxiI63Ivvi;VR5MD}$+v z5E%y4RNxi6kc#kD{$#v;UNAKe{#@WPeHxgOjeozGDSjMQOm(hoRW=4)C$;b=0@&qW6{MG1xKh;0P?Q+yduvHwBhFW^cyu-e}odw%@qGPR%k zN|V?SxN+P_oV2!mD%)LwKw;InZ85bJ=&Exdr(H;SCkTjb2<#5^FyQ=apWB-DlnW{E z0DW4Q%GR?a6tdUrTqMpGsbbl4aB9J&lW^(a$~G@O08#cF+zDwS&^-sgk@y+to`az# za1-IA zI|sLcgIDqKTQN6E_DGv0JA~Nh3wDtlzH#uQ3{iaJAh6fke8IahxzZSNOLe>eo+kme zAtJWYr))hoR7{MSD8M!-4X)J^4Q%K@vZy)+gJuALYqFk!&0RC|usvHU3bQrXeK#!( zZ6bCWwhO@e62N1r()o>s9F&IsNaZ`K@=MTfCzZh*k4igiFB4Vx+%T!?urSoBNL2j` zmOoXM(glo$ysGLF50&n!(x_no_qIK%sC1KH6&G&5TR3w!G-fVzidExX;Oql%;grsA zH00HoqZ(fU{Q}Y$Eb?fydxn3AD!a9D#`V{{JVC@iD;D=xKi@RUlX9GDgS!e_3Kg+kaAl3Cps)@rx_>{lXdKUlv5e02~>DueME@Kr#h zIRaM!5#njs4k=Fh!buIgbD(5W!vP$4Yf`wiNWc3cNPt}ECQ6JTPI?Lc>rNLo@Y=7C z-2gI>_?m!#{^{;(f@1L%>`WoSi;c80x?^Gatz;)n*Mne5e=?1J&0!t_xnvrV@pN6K zY|NAcc)C_G2}VP<-q4u*3xbPCC{5RofnywCqOXYN_pSYWf4@iuP|tL|T*z>zmJGaW zVciA`z0-9egcSfhT`O_GXh_Y_>3Rc5*O7iZU4JOjeMUp>MALs^#R1U7)Ad1c93U>9 zuK$ahM9bSD3u}*E1VWmw%O}T762Q~-I0PO7c)E6WspQqf#MAXxR1$Z({tBc!06Se@ zB=qs=x|*aU7!8G_bUuD(y38vug02Yu10jC_cDimLY#2)iLorX+{m5RLuIof&rY6AC z^&<#807Qt8r|S)fy$A4g-Kbp5TmtZPorb`8fTwF!5ilBxsAc@4UJJ=Gny$BkV+&xX z>nq&?wI$1Vy8eksX}UfMvZFwR@_4##k`goZ0ZiB3g_EZ10LlXA_PjIQY?x&G)6*se z>)L!i!lNk`V_k5x5b&)1rcBg4Yk%>7&DuTXkyP&qo^zvhvRj^!RG#}5MykGw($G*e z1$K`Ecqmf3fN6V=XDBLnQOtw^o}`o}WL6UmW{e}$W;Fav1I-hF2`70Ti2_hXLlBA= z>LP{ExtxY~JH8i+iH=FW7bXr{7chNdo-`dve{9HGN&UZ8WQg71*O8(?#k#xd~_iiAIEi*Y2EDxh+O zn5hWh(}|usN73nC!aCQUZDh~ng`rBXi9Kz>a}B`uY;^50Lp=73NB$Uq?NJ)X#6xTj z+Y=$VWY1F2mjEW1e!e{iU3;29kMF64p@nMC*WlR!usy%I_6+dalTs1+0NbN9j){lj z_T;KPoj`vxfCa!=_Jr?}$HWn3@Ua(A!)Kfm=$)9sO5tN^_`qKHdJ}zIsJ^!p3E{!` zg<47bUDC#2F4-h$rCzt40BK=eGSVJndz&6{POmS`RqM6)>T~Ab(J~Q~!kJ7UPJ{);^V$cLn2<1i$jp0kACCRQEE!$ajz^|Osw+zod znh4JnK2kUG|56w3Cu?=8t7nxGqpk_>kQ~yz;(XoSecsSJ(wBdL(KJTWz{+3QG_4-! zjS}~*)icwdM?19FE8Ou-2v{iAcw9BjEA#50NBmm+ZXWV*;18aCIPTpxP9%G z=4d1gp~P{6An8tF#|}@V+)+AB#35! z%c{pr1AsfY(j^!TdB@}N#6ttl5YXQPU``!x3HYgvFBxb_9DF*=<|V-j`tz+>P~lUE zh_CRcL&mcJoBSpMB_x!G(SyS5m>Fd8#s$v3OQD^n)uSLf4Dhg}bU{-HI(JyFUn6Gf z0$eJk2^$URs*Hy9ZX}mVH4yXz0DLRSQ!1L*FtSKRUMe}b89-)bEC_r?>{OA@fpvbo|AmY{0j|iFHDjh3 zV5j0+MGW}pM&#@TfyrQHi^qd#48WD7bO}a7UW-Q)56?BAFCpQl%Oq!sn`5F|C2fNzt-8qjTGFtX2yK%z8crZJ;*_`tP2QozbQp9u%JywB9~qU% z$yb&;U{rid2aIov`NIp}p#(bsdkKDbF(0suh{eoMz+QsiQ_Pp(6Vm&XsWuOFzPFf9 zi&lbQ9$-h6eKs*G6`c{VqssTie6ka(6*E-;JF4uriO(Qm5+y!A2r_@L?B!~sJ^?$b z{Aek^LBi*h$fL?n*2MM~V+8@&QRQb#`6dz;1J%aA2bl>A96P++pu{Xeg26uiqNk4hX||%tPj^0arj0d8Q5%rbJGg( z;b2{i@&Nm=(j^!TSu^bV?P}s7AHEj!*8mv4L@*CuJmlUWDcGwbRo5@5Fcoa}(3eu! z)Ingr8(>qPL*N;bW(TgfTmdB{pyL9k=1S@6^4^%(; z2paD0;>B}8nN<&73E2KV(016)mtuhn*#17)Cccb>DU?_v47K-2f3J_nHo*4cdu=b? ziG=uAm#A5ROflr-|Okv2Wzm=b+*@J=_;%|iQBoWIjaNz-oE;mks~!LA~nlA27l zHurbE@5T4j`*sy&lJ|WK+us7L_w6cLK;BowVuA@f37lKb zAtkc+?JeRd==;mC(GOVf+gHTX+!ak?rV(Jh?>kHRJQAJ(toL3iw-C1zVDGDZIX3G6>wS-j%mkw$*9}S+2Wr17Zg4vodI9VPN{Qdy z5N@vlTi(IuDs-fQ3yg2ZZs(lOWZ>n0Q^cxL%)lOHnM?wE9 ztNq|SwN<8BmIR|Ax3mq515r2vJAK8bF_QvtX_eCN@_5xc#6zX+3i{4~30@{jxU|s+ z#fbVKv<``J-*=;lek~c-x)~;XM$*Xh@3-j@r|pG3znrL<80YVFjh0VV${l(YVf<`h zJ%5H|?sYvsW3_sIgChRe{j(^*!+`bt21T!t=TE&NW}X79=Qp%Y{t*(^P~x~j=v$3# zVyi1rZ-Dju%d9_dzba-v0j%dYv7TS288)r}>-m>k%1KBV2UySFR3zi>)*|PCn9c*{ zCt66Op(^S-ONs(tzAugV2_$U>xDl1o@A7yXaU=0iBL}}nfhQq=9WK%WECAc8bbg~D zudR;|57~Mv=z9Prc-3>3z}iZK`%kW_*k@4nP*LEBs+s_nM^%;5`CSgLs=caeBj`V5 zRgJu=qHCp+eDEV3&})h6@}9Krl6Gl4Ej(V*$klt<^oWyoVOM`vXotr6qbntCLOiWg zSgecpv-ZYxxZy*1XwiHg{YMH#eDr^Qo%VsE`B^mj|A&Ge0&E{Bn!k|x!2YXa<_o~~ zf#Uf*`oG*VX0id>2Nv4I-;nSHCGzP1%6uOE%U^?~CSd!(qWL`f-;0C+l*nt3S1sjg zB&-5#AE>N-pn8$>teDQDzeW;_hLT|={rM^uRamsfJNlPxjWZ2^eexCrIskU`e@83K zXviH8znmXPT`TT69SlNg*C`&-I{RONxTqL`i(~Kj^B}kURSOiUK*R z_7K>AR<%m$HyZM)eOA@hz83pB0DiIPJhgqNTb2Z)A-A-@&kvM^BXDQz2=*HRF0E4H zQ@_IPRqG=jD(#b?Ph+(Y3Yi`K-%uk!823u-tX3AXYupSIzE;wxOWbGEBhKmzcZnWC z`*@tc)8mpRUD0&-3+3~Ltmp50-WopB9sN&iP|pv|=T-LyC_oWlJwG&`SKZs%;OG~y zo*%YOp465OhLFgke<_r6}e9TIi{*2_-K6EFL7p7WBJ&f}{_5{!o2rav*SLaC3uP2Z#g9v1;_ z`Vj~W1?>2`Rb(a@4OK;9>Cd-&Uf>CcVK;aU46gv}21@C7dAx2gig?Hkegyq~QWX4N zl*Gr^rZX%{g3*vW(0x8Ha9Y)tz8MFe0IO9>d2^AN$p0-T}ySS%)v{^kZIxn4O z^2cE35Wsp`bl!aOwEi7qrYm4Qt(}gXGcnYwdR$Yeo1fwC>(+1899D*43w2fd`4{(z!rQhZ8Hu-MiAx|@1aNms-1)GYJ zxTihos@0I|X}#wK2BJk+?IjRV8(_6c={Fkks=bwXNNs=6_XA8Y+p9JjmDm^%s;3Q; zH1f2$Ha+5)3wzplpJ1|>?IJP6`Hwv;#Y!gD%c z-EXU$GmU1T&J_oG({Wn(*xQ@?t>ZjZKwmZ!@U~(V;-OZ21oRIB^xKA(AU?mUA%3GF z*Y*FMTj4>7h|jMtLq;~huD=t3?Ie^f?l{v5#+UHP;@NWp->Ah^ZjYIZ0Jd1^{6<4w zi$7M2?*aWFzy$L|upQw#iv7QWQ2p*fNh80j0;fPaR%{pcyL6##Z0YDEE4oV3+IiC2 ziPqcVX`O~>5%sx#*{3M!u0rD`sc1fUfErB2X>zT z>!05i+GiRhWK$x~xqED)?@m0^P@>(@DrBeK(GT}Z0qctU3fUFw-i7DT6`n%ki|&@@Sq0Z2vW$b=VgkG_kmD6FS<(79`~gEB55M2r8vI45j)iL zN)_^6YDbi(31B_1R3Y!B4!b*MdIQ$;60MWnG7wLufc3m2o45)IPf;R|jAd-%AA@mZ z2v~P4Yn|+ldt;_2VBImmfKl1FSo4EYxkLLMN8xP_@{`4M+sH znW%9uEeu@#nKW(@xaR=exJs8`G-QR?2aVdqLyfx|^t%9@bY)wDxI4OfjfPxz{IIaX zScr(bqyIk00N5R`L!dP!useXa^EVz`RyUNQI#`C9?Lxu-NCL)UfbbZ!C3qBe-!A2T7q zgz9-pM6Uff8PAot+^xhJVD~*;7`W^Uu+z1ICSYv{a3w08-)M+L&>yL+LOi7MKG5IG zDswKNk~MzhHo|Js_)KA7j%s`noX@F7r3)AhVFctq(l}i;egygrta0Hv8Yh65cTh{Y z)vckrBFR@$7^t*e%6k}64ytyg#IIZlx7TS(5f7C&It)z(nBXNs#%|69?JgU4E(C9a>0_Js+10A z3KuBVK2`Mt=)Y%G_jpxB?^b8Qu%{z)k)%~~)99cV4i+6JDw?=CCb~t^+Q-vEDWZeM zY)Fkb9WFRtn^s%9(O6u-tAK5T?U?>_qHRiFUh5<7SX{u*LzfSS`vWo-7x44Y{t=kl zfih>>L0Dn|uL4#+fK>os2k6o^(Tv2KUJv3@1}_cD*hD9N-^3&yoXcv$fr&}a4}z>@ zO*lF+DVq|ans9oeeaE(30k0(5LU0Qp`BkDyv5EHG+KZGWZIb<3V0oLn5#;Lu`+jW& zrJ5@5*H*L%wI0Hg3#jb-wUun*`iEm?24LT>t!xwjcqC>%1Im;;0e7il6Vu1wJOU_F z3J;mSs#f#!kD^NgWttFWwE|xDEJZ>IkkpD2t6O${A^0_PI$sSh@z$@;Dz7; zln}EChaqDR37>{v*Y>5_#H_J6%?8S3QerKe*lQdf1pzw;*0#1)8Xq&qDUmO#Tx@My z_ZW8d06PcPv6THL#7uLb%CE1$zNH1Bk@s2msdDdhD7kBP=;C3L&}IQB78gXC50Qiw z(~$7c?9fy9*o12Q&Gx3V6RRA@GpFyi*@>g?7t$ZMB4POK&|8|o9}PV=+u5nY_$xbq z&vsN;N~~6*S@gBO`+B6HGQInHaw0CH11YPKdw8e5`+BsXEaf(ygp26_PZ1A4Xmtk- z(fUBbWA}Z?9}MsSqcmZoA@2b5CFJv1RtWk60Mo@tE0o4E>gS`VkMT>!w~0ER89?fe z6kJ>$#`7z%8^F4b*!ea~KOw~Tc!}`Wg0goJAoZs>e6MY8JOh)eqS=9lyQErP0LxT>RVkg{Xvl%J^hYyt4dS6{`5N?J0VeqGd8$5g zRqZ2HoeCn^sw!bJ##>dTboj!yaClWsQ&pY8(+M!aB#`z{8W*9Ba=Y*PcSM=Z%6;t=(eJ z6X2Nuus!#=_H6Uo^A7S?0&I`c;K!#gU{4CkC3{YQ{uqGO^I7)r7Zaa#?a@$t0ag&& zthQB}f)z8sUrfw!ZPQS7WB=TGYYo~~0Nbflj){ka9?toW+Bp#P0{{~&5e4iqw%&HT zcA6OK?f7h`?;feQY2cXxaJ_x++SUYgu089J{{g`ED2-#{p}0MrNG{de-=O~!z#9u^ z)f-<${@b-@0NHb5wsTPJsr58`24H)P%w|3_!)wo-$nOKNJxT*_5^Aqs?NWO(K|d2P z!R6=MQ&~9ivOU>za<(&muhh>w;8_Wah!o)ROMjY5RfOtr0?dNbo0WhI~=Tt5p5p8pBcAIk>X*^w!xKuTE1m}$aYg9VFiH9Hq ze^ktT)%Yan(^%uP=V+u20e&+7Su`SkF*G`}6RZCqWqbvkMXFKh5{!nt4pf$SsEpr% zelKYZW_mOl|8@9rrxaNN8PkMRm6=`kGh!QstkTobW`J)nBEu25k0QMgS%kn`AVNIO zlSnD`e9Qy^e*0NvCU~TyDERZeiMJ6dEhG)}_H%o1v;$1Ej+n6)S+?WL8&5$;*7`wQ z$Cm2pEW`;Wjcl$pJMsD-rFup{+7N&nMCtrSL*D9XOgvOQZ-IUVSrK~OQ$6nRL!N!N zXvDQw(%5)*(sI?f7o59PqtXRD9IzUHlz(iMz=Dx_%Dye;bm7H`9oIwWW6eMmZSyUxe)A3>~ zz*VAj2}VO+zxxdzLC1A=PY#>6kJTgo| zY#hLKud*Chsx=06&m+THGKlK_V{mK+OtibG{}x%c?rCHgg<2UdEg&NUeP-fcO)_ok z!q!%^>t*}`iS(I?W03Y6z@M3@nh`UV0shRy4G3HhM2P4A`piUBRzmcdiANw8=3MAA z6V-(5e|%qw1J+qza(vp zC#{7%6F=)o8zpH4@wD(_NuvtgVAE*>6C1P+z5s-FcJMNE?v zlI1pS)Ydt~W=EWypG&ik(XOxknP~cAqxYqS;B&%P4nIs2F7XJt|Nmb|c)jq^o6G5z z&%yT=xGbk_S*A`h!QX@|hRwt9P?_f^U_)~S^V~{H?(jlMr;lN6x3c&hV7qU9olHgt zB!>p*Ns>m(wct!|q{tgtD-m+dU<(ROwf+Q^2+p6=W#`Mj? z?mAE=>oE+XO>$dSKxXqC+*JpXujz!u%X6=7fkb-@&@`8i0Zt=#Ct!~OuCR$Wz7#WU z0ecK^l}&WgcTTitw9Rt)o$WkO%mnP)mCbW`qyM>=@xTb!&u+G`woRTFGgkvia|XfS zt5qJ375F%yr6%B5VL4H>(gYkUd_W1;XabHEHc>)ro3OMP7vur^$<1qX`6be47vVk% zV2=da^rhi9fm7R^{Q$fsX^OvkB7|W0MT9#{unZkv@1WW|jcu3{iUy4nBpv*gTaL~z`v2ht5dH{QHaEmqg);IAG4cLQ& z&XzK9Ma-O7jzm5@?_w#Zt;Dt|V1NGWM80#&&(=??Y^#T=|2r>o?0_UBRzt#(yu?2H zZ9=v3lrS(asY>w(*i)Dv*(y0zLMcdiK0os1Vc|Wx1_^`mliofg3148d%hxkMX~mC{ zu!$0;a(@tez!>uE%_yqa|0Q0wiOi2*4`kvr;`o<`Kn;}4?VjGP+)enLI;yA>2P zMC$_yug)eTe-glRuF~L3oI>r`F3)TD!H~~$?mM7=8!*8te^{ZiQAgi8{X#gg;YE6? z<<-w)K4k3!&mQ9AV~DSX5WgQwgw^xP|44+iD->9T%>^JrIlSf27_oYkN?St{5f~51 zF~mOCRt=$M_|I1Zr6hrGfqDh8(=o(e1a?t`WL0}7W-0;3q!cdjn`cgF4e!pYN;P~Z z^7;TNO%`GsAN6m)b-FK)f3|)Wa%KWt!~OrXm4O2o(E32aHM|Y^9|ODxpfrvt1PwhI zt%6Lh)$qG969i0fl?d|GY8zMfHdyJ~omclb^PyH7fu{lSajo7cgbBuw5qt8YtxzPp z*9M|)K!kF*CLTjlOruV=~pjvH+Ks}03tqw)t z9zcxBlNkix1I&g|!*c`M)TjlZDgq*u!-BRVwgq58ClELWKoBh+-xfjG%_l(*dO$`uz-frcqX>)!YP9l5vDMs4 zMnjy>6BNjy}|UxI!+fOVG)(YBgtwbV~kp+!m6 zA9<0czk`j=XZ{7tp8$8RfkKD#8PK`=`psA4LxupGqco0*hip|)ZPq5aWX^-29|7S0 zlMK+((RlUd+EYmOoX(4^ReNTEXC}b*Ompqo=Cx-V@;?UH9;I);l%zo+4DwzjBoKbbgn^tLqKbRemjoR=@=B@#^Be z*Sp2naZXLD{>h8nep-rt4Om(Ld>r+kO!GdYp{tGkbE{ztXdeOCG^KJ}dPnKuCLKu! zRm01m&jn1d?k{J}a^xlti)}b=A>01Vi~ORttp(5f05{8{LWlihZ?pV^{L=v2qco0* zhs1u^^NrebR6komzXia3>htYc>ef#h+4EmsB=VQoa}qp90k&tQYfp*Sp2q8O zj{;zOl*TdfP~4us)Si1mKNv8~=>G*wujrNfhKJ8A+97*gv8ZDA z3!F0n_PXst=QAeH<8|AR|1rQ;DUD;|p}19sJu}pvIiQ~nnBdm)?WrzfzA-b%o@x1s zmz|ON*$AHX0NYbb=&?Epd?uC;RY!7@0{@As)nIv7 zRVkfg;-Pr4{!mr_fc`I5)kJ2)_!6tTs4}J-sXCeOWRWWJ!aAFA1PE{~-{zW>20C|c z=#Tt604}-GI3^y7oAWfurCQDgeHLJXPk2jid&PsUJtbt%seGr7iCTN!2hS>i?Rmtt zXP?)e)5t#wusurSn0P2|PX&@o_B7cNGmQaU132HF=Usb}3t-P5`Ob2+r#EblDUgeC&%uvB@}4h!ej5ANCHU^NksXi!<3M1D zkd!h<$<9aeqZJZhCw00*u;gcet5)es8x46oosW2^scUbAO9Lh}TJ}3i)XOTctFPiHBG?Kfz_IRquj+ z6<~scJXXoD+)DHqGlT4TD?ifA5qtK7XD`6^v~}%S?X{=+Cpggo*dC>EOgt2~=Ms`j zwbTprJpn9E&bMcvYtK=#XH|aWL$&8|@Qel6o*}M1u|iM%tU&%!z_yyuI7X?xt+rC_ z`4#ks0TaCSYnK04CVbTPeJ5Dtk;-ttM3~UoLw?KvYGxVLSj>mD2f* zhPc$^iEme&61S{t?E)&FX=iYVN3BE4@zRaVH{rgV5oPB^>;8Ad!*XLo|WFJMB0Jq2+WfV7|(E&P~zN#mt? z(L<_nGB_uxMx{$|IlLNotHyUg|2An1Huh+=g?ra6TpForlUMe(kQD9*u#J*DDqNFC2U;Y<*n#%L&F?4PeVFR5}EX43=HX2{tH@Dt841ddRIo^Tp}fk#Tf z_^Yn3Y@QZz_^}i!!Yg@650Z$s$Qll!`vKpTh@>O%B1JAmWF-R2fe7(9w;<&Q#J&L_ zby#hm$#5$sc^;%L%B!-Mq)tLszwKB>0TIe^UO>uIh@}BeJ|b%oc%LGR5jlgvUqC2F z%i(Q^Ylw&1 z{9(|K1WfREPeT}ghwVO7u=_tUMilv~e{b_3y_Lb*DeksT= z?Q4LHmq3#P_-Y`s4uSW8NLvs&Es#>_E1Wd~rKl3`aD|K{A!Q&WFonuS)i@qhV*uWv zRZ8rifs!5uA0;}fx}~5g0Zgz+#Bp~Cb&;4HuG*;t=5zD4k?O&ZyprZ6c}bB((fc)I z?Etv>lrCU2gv;}ioYL?a>YLmrw}J8#fcxa{2%H2WM9Y1$&evED z0Wxr?w1|m^kcU6t%Dki=kjw+e5^%f$@W8PXf$bEbfusC4SYiMsKm*4dF)rYS{45OO zR^=tVPU6VWo?z$>u)$*y7()>nL<$hd1K8HB2&@5&zriM-DROIQ1{Hi=UX|~XAg>Fu z?%0J*Jiylvk!%DqC^8(89SD3zkv51#zl93`5faewF{IEk+<6v(mPo!5aB>luj=<9t zS%}E@2<)NAN<`}K#*P!jE=JYg zi=8CEi6SxyfpHXxA@UglTY#FEA+j0q@w(fGQ)uZY1>hIX|kh4S7}XDuXH`U!DblGk^%?#2s2W0xqw#A3Jmh z;wFdw4xD=d6S_fEs6&q?diLm%uJTwhlz*64^%-I(j}CqpGk(B&^cW$;8%IRAF)wL1 z5t5@c1W|o}9i;~X-6%qiG8Ta`K!kYMTZ#~S8GuxJk4dFQOd3huoR?I$ETqyjSmS#f zh5-@EVVAxMvFiYK>1+ft0P*PwVqU;#$o1*1c}Y)_P%`y1aC{1|slOv|k|Jbkwf#7T z2iVG+5oiP0F>bM2M9i#} z=v~mSBI&_Ko)TGA_1q)!wxsGn zUQ+$2sM-&fy{by-{6<4wRn>@xR8{>EBO_pfub!u>m#8vkB&j->mz1Td+JWU-fJ>!x z2}VO+RnMrZ@t_~estUZS_&(kmQROol@}q9)&sQa{=4KK>_wiu3x6PcSY+x=HvKG9ar^6R z3!`U*V~8sS#>H2n(HmvI@tOaTKT+}*{Ez$$ei z^0O=@c$^8oA(V8fFQ_+ys1d{4Wru-OeJSSH-`KXdHz#6(Y%LoG#BfISoWENU>@IYC zb?_;PG$?=JI(l33JN=LRsj~er?85os4<(`;ii?c?Bx$e5(}I=dQI0RiUM&$)v%?bE`7M0E zMkNDvecH_>!HyZsDOC>3O$S)~l^1cQ9Q5JA~QfXQ2A?Bbe`5O04%2 z7P)}Ej_R{E-GhX?fwFWxRwet5`3hz5=O+19QZn-MfC!~J>yfe>v9AH=GeoNV95WXI z&K^XDB5)5y4k1#Ez+8%)M&uv@KLIrYsIf1l3^mFivRWeH*CjyZsRqCa@T*$AsHHDA zq3-ObA3 zPcB_~0M!Ik54C2#;_e_lf`lIdTX)$xe82bhU+{%PzP#V&x0)Dokm@Mnmv3{-f1$ z66EuOuQTX70Vb3#LiH?U3=#8ZBdSY|&!myMH*;#;!t7XqJq*^7#LkZ!b%YR~A|S%$ zIZ0VWNRJ!YAj$$Fl*5l3s}WlT@Z(1EZ+Hg=keh{#MUZ1Ol!Pq$^Q}N(Nnl4%cK}${ zLkNtZ2tAFzj=&-S%R>6$nPcLFc*#XVS`ogYoYEDl!9aSa<}f%85|{r32F{AoRCpZ2 zKvK%aGLSC;YLRN?@Vg{ycrB;&Trk9c%5)i|E&=RMndS;L|CA{ocIHcp-)IQKEC2c4$cY>yYsn#YLd2H< zJH&qo{7n&Zh-;4HKp(I#OD`000h3Hlx+JG=*BahOzww|P3-F_#5{Hb2M78_qHyfn+ zB;1}{uNUdqZ~PL{-^qy_hjczT{18-Y0ltyeN9xIMG<3O0b`KH%1MR;6cW0#vy7cPB z)SbU29rXNm@df30Aoqb0__&%EuArPk8Njt6W1@F(I6LO-|%{)xHo?idDN(hKz>1 z1>UOKw}O5PYcF+F>N=PNa7aLWKp&aycv&SLjC`n?I8@WsxYM>@> z$q8i<6IEEnlW-J(D@-XJqajs96_!RkRAJYEz9nEnT`yoVA3yhz49BEV6CKZS8m5Aq zj-LmCvp>KSfzk!d4A8lrlaKsdz(|8!up$b?*Bm$8T1X zStoOxb!yf>U_A}6SxOf&+q`BqJB90s0Gp*W5u+imS+A*C4}g9+U_x)5V-|Ureeh2f zSI1psw^van+-qr0#nU8;b_+5fCY?luwUg5CP$pwVLW39FC7dfNXwB2krbnFky65}_ zPe{8Zt%pg9K7$z3)SYt5BPcQJ4}3QTsGg1o1qho=iTzIFSFC_CT!b~&(Chxh z>pOs5G_AE}twF+aN@T;=S;Kq%1$MwLn$}y&zmaeRur;y4CRQ2N2d4g*?Ub~(=GzZ| z{haL_)r8sOKyfJB30`d}QkoPbm?m|iCMmKMIh(R8Qb8k5Vc1TNNmbC~zRlTX3o2sw zF1;k?A5qSxLu|R~# zoM}ioeg*?9;LJj#>wkFV8*t_!@}e)*Oahz|L^>y=nl^y*9wI&`)f_{l_GUzCe}RAe z)M=BXxpB9ejBs+wcBv2I&d7Qj97_QH9remWhaW;M1YJ^JoG#X^>s@?Q^rxEgfL(ml z7JBa==n>}t}G-FSd+u(aDCjn|LYKuAl#l)CQ&pSi+SJknMC>LnnZhRi`A>ks%I zM;X5V?CP*@gLEbFlCSPT;9CHHJ*ni~#Ldc6 z3jTawLT8mkDt984w*nQh=h_QV?gwS*#Qn(feTjdZAgTzUztUYWfRB~BNN_`8&V-V3 zXxXIiseCbd z*CDnB;NP@Ah`>)2c@2yghf+-p;NP@Y6#-Y7)|rog)Bf>#P)Cc5JHgQxu)k?P-7U~I zvW$Pzeif0@Z`w}=*(4xBdHkF9?;-X!F`ICaaMEwue+>={3ZCDzk1m(&<2K7qOX$PF z_auXU%N{4>)R%h6aE63AFd~TRiE&T*1FB8{6-(n;V31H5)0U_zfU30bT4Y=vPBo1H z-(`r5Kwv0EVu&n2U>*=54(Ar6e23U>z_|mFsu73=N>Mjc@wj+R;6(6F>>Z0KEE9x&)&k zyL84>gQeoD#6yd+rJygNk_R`mvK~ciYy04K)Kz8XLRGn(vK-2Fnh>e(#F1 z`9mKmrBY2=u;Top|umhpTsCY;3bOC$8z={upNjH4}TJ)S7NH^46v0dGr=R>R=NEo z#tzazKC%KFZvrNIxtQ^rSj!jm=q2~y4Pvu=5`%7bv=L(LLz2zqbDY5qA(7f^H>7T?K_rg}&;{e&cKs$SyU4q@{jN=pAT@f6rwz*gpigM#5zw3y2Uc*U0^d4Fji&HnQ?9u&e+gl*1Y2CKo}#upDQr+ImH~RC5`?wklnM(U8~H57gFSpdSjDV575arQs}7R3(_U zr0P-ZIbSZ-k_nahb{Kz|EhLe<;EXGR@$O?0Z% z#BX4*9m#~YNFm%KjcxDS`TN{c41UbhhfXX>sDM9ZJJabwhaU4rLGeRCgmQQVorBmc zfFJXeGsv8}YJLyd@3>5~bp9T(eE|Ihdg3Wd8B4pNtEH|;{cU)X_00xZ=pxh=;G2O+ zBLo^yD79dargnp5Ef_{@5hd}rZwHaDH_&siY z9OSwh`nTrv@m-$ayFKDO(p7ipLt*iZ3siG=U)yu)`s&M5jLAgFTDC?}apu@}sn7V* zv-$kUmw2Uao1|yI`Eo04n>_FpsM52)iEo?Cl%0}sgOHQy-8RXx+X(jTZ_J-qH`FUS8)7_G%vw34=7b@%vpgP<0boLao=Z5mBrZv!w z&m^C*rkJu+Iu+?Ru?}#iXS0)h#YkQP>IHyr86sCyNHv!N5h7``8Y#xvihtim+N*%` z4I+IirkWmr^D`og5SUMqlZf~$rJ6H{)b^p${Iq6YBIUp!NlIsDmo0;G@T$EJhi7YZF-5SNg5lp01nG=Mg&l4|M$ zCe&6m>)tr+PKTA34$2pRM`!%AkIO@ih1cy+g>P&3>+ZXfJJfX9tfAU(I_PTnav$kJ z*EQEJ)F*o>bs@XOcDuLN+~MstcY1qGKX0$O%iC)np`E<;)o;3Ol`qZ%d%z^RVNd;|(8QXi2s2%H9LH%G*F6w!k-Fw!$5yKM8TrK9wy z4lw|Cl=%o0P=q?lF$9hP5#r&F(x?XJF@QVD;|PoaY)26V=qRo#YATFa{HUAPLORMv z;Mf45qX;2&ly{JQZby-9bd=pT_q>iG6t<(Bh3iiEr!C6jolqtvaLYAy!QQAG3E9YuJlqipkaS49<4@!lfztAKEQ=yC43%VnDO ze*whr3UQuG{O+tb;ws*=#P;~&1BvkQ#p+r1V1rKq*39x8U#zt`b{_tCmK%Nqr55}ClzNNLB$Obt`}XdA+tQba-XWGwj0Eqg?NKY z+}W$5i&sT&Qn4-zT z!qv;=sy=H%yrOETir%GQk0Zp-xx~&a&+Oy(sz@RgN9I7q=`8ESZ@FBjv&P3&{F%j0 zY?{s)4i$TZ_*a*BPu7xnDfU`o+uR56Ge=FojezS5;i`JAmi>#Yad8#fRmF}MVb9w_ z+}$O9+pA)gSH(I~QGXV=UKg&3F4yZ`6>o@&RuwQ3`nqJ;n^N=b$z1!3WLn4@K3pfy zE*bNwSd%e4-V9W~I2q;WlJPECeL6MO`~Z|$-5rTtGwztx28p#&&Bs8uRske-%doZ9 zZDkke>#niNr4Z|(vDs@u*;8Wn+SRQ#_Ws4GW)Wb&pm>{2qz}8=A5!YA2_=*44=MH0 zgtsQyt5&z$gj?#Sn#?+|l&@O#&EO&7$wsMWBv6LGo_L3)oZC3nv zb9N)h=ZU!`cv=AX$#JoecScM~w}%6!sGZ(nyEKzOb~gx={eYBx$o<*1v0-M2Y+Q<* z#Q@v5>vd}*?y!N@2NJgNKji-nu#HL+HX8CS9zIhWo8OEFZ@`2mzG;Q(;sLw9*o2{P z4!$qyuzN`AF3qf#4CDEykM0C(Ut;GwY##|B?ywPI{mjtqL`YjyPk?9=5TP92_F073 ze1Nxo{zBk)z?iDEZ?sJWVar%Tr~>};H9%oW;FTRyO;dnn-GM-FiqMs%90W1}d~OZ_8@Hwq_iCu zFi*7C>ij)3Lb(%>Gag_gUtXb}NwhwYaCN?g{5JtMQfb0QLtZ0?K|WXKQPBSin9y$` zR6TPdc>;UpB+0=eCk*$U$gHu5+2OS1JHueWdgjwYh-)rn*U8Mt2_hs%Y6+qiK!kGG zn+74)4`6RvhQJ$uc;*Wt$T1qyy&K;t6qW=Y0reqbr_VrL)Fss<11zgM0-XW)#7HPx zc%xQysNR z;FAceWJT^ILaLVn5aj_8%HhiS2(dK)S5C!lC^#S$ohE{CjY~rA5Kt9`C4t>R-4$S2 zV-a|SA~XanM_>tny+ImIu9W$}aYJsSJ&@u2p$47+$1xH?4OgXms;L05yxs`(1gyC0 zM4aDf$UQq4o8jDelax0L3>hSW#J!8aTNEMl{zTvuVE4Eui#XgV9E>W<%?K?a5%f6N zss~1AfSXh4{6<6G=A1`7^f>r5=$`_xA1@On&pO;X8KNp+(n!^78KJ+_+SkDH3J{?j zHu-17_5*D4B|TG3O+akc8Mc%uAwdOM&hQRma|Wnh1lVS!D{VC7orQW6581p0^qWX} z=tr?oU6A&AxDAt~F!&{B2~|KA{rT?82rPr7_<_xFi24;^%bVPaeI&r}?ZCROn0;h; zMwZk3W*9+R@6$ju3E=*9SZ3^i8F`OqwEYkHe*=74rZgc_LNu8A>ya!f(AB-raDWMx zUF4k$&awg1H~4&6Sz=T!{kyff5K)1gaHE&6E;EiFh`}Sv)z3LVe;U{Dr0_$ENLOIR}q)h08DGPAS z`%%;2_Eb{`aFP(2g21B`se;HAeUSq=mmqQofxSSDD-oHkl}ep*x2sx1ZU-MQ!6=876BalrI>P0&d*bbPQts%SZeF1Y_CtUEk7LgivrkaZY-j}TDuISQ0 z;~P99PziM0zcN7cBEY_?bdJ%G*H<0lVP6IPCcuP}JgYj|6vCR>gi=IX?O*At7)}Dx zR$4K1No<0t+jlyawYZUFM@x}_1rwRpcShhzsIli`l){Dn9m;+MxX`!v!%7E`ez?*V zu#W_cnBg4JvP}ckWPr=2bbb>LQQxskn7vxI?V$ghqzBh|7Y5<2(pHleJH`(OvHQs( zmF4akwb<%zt~#Y^`gqsq^7!^DH%CvYpac^e3X^}!a9$yoqv7sfsQyDuRyx1YkaxJ7 zNj%gX9q+=b3oxP6XL~tb>6(Q8!#z%W2|jT|Iy1AJ!JWZRy?!!yM*!U8I!b57J;?h# zJ#KV=92)}MTmA*jAAkw>c_ZHIn;~1=BYeAODbppM9@@MzPEWLU z=A~ud6t}vP>3QUMhVvz4Yn)oE>(*P4{agO(r$^d;y z;vLawJRvK~_g_Y*#4gZI@8BPE!}D5U3K$K!Z&ci$8R$z))SEvA!xn%YJMnJV z4zOe2i9jE~c8tODFk(z0m3m5+Gfzdl1fm=uLOCpF4Px&BEawaYe*q9gFZ=!B7G@g> zs+sAm=>}V_MAnT1aqAF>P>ypwQnn+u5#ZNTDu_Gb+MR^l@u|!mxcl6=tCXqlpj2}k zz_!dnUyU6@4;LLl%iJ~8wxM3oe}RleQ+=AI^w0fGq;1PE5Prk ze2lnUNlB+kf?9lE~LDQjeD!>)=Ap&cG2$69GB@9V5{~*OykcdGAxdOcv z)P{so1$6~iXTU_S6T+UzlEERgP|T(Z()q+rVclH?C1hvqOy^S)NrS)`h)aXsQlYO|2crOdQqUOAs%aa5St*wzcCte7xp)125R<%C>q56gqS}7 z?(ngp*u?_4!}mkrcEIq*Y@QZzexo7x{&R=Sz$g+&AO3h547oreeG!X4_^}$X_W}Ok z$8QMi2kbceqHCgtToZ5346IcXN8OKG766<05(2X*LSxcb2z&t;`!OKb#MRU&oiYQ- zw~ATihv9h)h?~_Cu@*ptXxX-*i1h;?jSkJ{h&0@bBx$!~Mz8M$X>`@~7^n^bd=_~9 za2)mnd=@wpf$2bmc^71{P|CY)f z8hTDICokvq*FUbtG}72D)4Aj}(HM9DZ33`Hr3)Ahc{P?J9@5wv^sN9BN;^j*J!SB? zlI-r9m5|2nnUN{rj*lw?!9D=saYc#oilMN%t8n>X%rhXJLK+P(S9%H=?$Em-@rk=K zJFOx+X}Pi(9E*sHd-@pHBn@FppZ|Q%WnLfY4JPX8+rh96;BHjzK}@UwccZZgJPeos zy*4me#3i^Pk%k|;$*ee)#L?ZSEnwJ066nQ&(+K*25@PbBG8y3G$=fXz%ao0H_VQj9U=r@@1xzw z!pvytI+6L@0-gumiEr04_qgG1##M z@Hp5QQcFP8?RGp4UWUkRNbdr$|F>Ff`=<|kuu#!BJ#Y!=xW}yk%~F8bgnFFg|FnS~sxQ3m<6zsDZ8xIF!N<>e9K2Vm0*@bL+QsRCbf~e9 zgOtLhuKZ}Ki2_{e#}OD0NZ(%M3K&2Fnx{MeXxSEnsuYXst1tXG_@Gn}9)Zc^`I&(g= zssL=V()o>syu;BP;-Tia4fMAHxD0VlbMSD~qlV8+7LAVCM;ePVqrp4CeJ`>mfO8xW zp&VxvQdT0i3QS5-7)$b~1b>6`4}eRcbdHIK;*~y# zc&G$dj7v3_1NbEFIVB*KJbHcamOw*pe}6kO^btv-(W?)n+y=1QOhVu>ico)l7lF3` z!|&@J5^;W`p{uN2cxcEBU3;e#<}Wau2DmUv8FYEP&C!H-s4z9hOUPXwU6L6cMIz|c)AnF*M~bgm`%2@-<>#0n%??7WejPxlgn;W;$oc zdUBhMVEzzbxA_f$LlhymX*db5GytY%CCFY4E0^7cA+|Ci4BtjkHEA_GXp1~#tyNR!iDY#W$gei^lJ#bO4@DNnu!T`j3EIHW;*v$`%!P-1*)$A zE}PQ%O*|BLmF~ntWlMPiqd8zgWzX3HqOyh8OOx#{cFY9u$VjUqFFexTbm5V>1CXn>MGXp!dM4y6c3&15(I=_jB;vTn-c&Ob%lR*!d(8p(& zi1)9#4zG1JjwFp|G6Nk4N*y)^XMK{;1frDA?}of}cop%G#(P0Om^J=-jz*r7$xrSP zjW}NL*SmQ084Oee z%C#E;LkA)2EpWaLL@37@iIl6J#)W0TnSjXW2yCXvvxr>#3~r_XPBtQ6BCwev^AQ<4 zHPt)-)L4Q@9~tj?YA$wFYsj6N-IeQ#A)&l!;a{q}i&`_xQVRae(^tnQgJgrfyON2yaFP6V#S40Kmw zB)6-9KD4jnjPg>(=j+lt!KcI5dU$>U>eav(xj-d{=0+kT4{*<+yg>t8w%sOP)uH(l z%Pk(7^Q;);PgXyh4$b?ULwNa6Oq*Djt|1#gG|L?=bayiA0<_RGA*M_2zHGfs0pTZ6 z@N!+WA(ZVqxK;oyTi`2p1xl^b%K3dLTf2K&x&464w3zODV88mg*9x`u*vOSqL2OJ8 zx;8&1ciH@y+}NfgMXseBU^#7M`URuj*;*W7n8G1 zHhCOzzjvhNm~vet$J0lqce%`Rd=<%QA;-WMxdK&iQmM#Dj`gc(6u@QMY&?Gnz`D?9jO~q8Gm8qXb zl#LgqvSf&=nfL=QbdkA&pHVX^7TR`X*~dX>7X(_1P|1#V2I0ErBe#ZR|A0#_u-o#D z+wCux+x#Yv{1^`(lbzx}RXUANmG&{VgBtLHzh~38zNgrI`HE-BDYl_1mE}gy#Mg4- z-P28eP(I#5EeWS1W%uK8m1Bpw`^vK~(G7AFpJ&O9mU0TEYj}k?K|-Idq@M-V<;$6^^?tY1J}z^XZ8D11 z%q12!_+cA7aGotXC5!G}K(=p6ez&!tDC%X3_H`u(+7wIJhxprO(Iu85OZ&%65f)`0 zwEMF4R`QZv$fnO*8;O5oDJ#-V+;^H1eA4>uWhs|x>q<&(1eOmK<*w8RZ$V!=xlEXB z$vM7~vy4@Y*~?hPm|=EbjhSc{V$7+rK3DRw-4|2(=>5}*a(_$hYa82=vCc!jLYuJe|;drb&reb7Co1lCjP}y!vV4{=Rl!_sM(dxn$ zTrPSt?Dvj~@Gb$Z%6 zj37&Wm(1swWaw^o#19+FNn zEs(Q|#Wk(mI&S(S;Qy{Wd2vz7&EV!V;E!_8sna9i-*RKA+|*Yk-|#o9^X#$!{{_uA z>-1#wYqfM)z<)vWEzdcdE32of50E>o>!NZZ(wz} zpJ5jG)7JC-&GH9`$H+~6H{_i zVSoI3|KawX&4Y(WEjZyJe`U+RO}Trn4o48buG2%S2S3`%wFi1=b;~C`Ys$6!4z;l8 zX5I~?Un4v+uWualbb+U^fk*lz;Kw%OiDK^L*mesx=t#2?{uO|4k38)ebT}4M*QDIK zUg0d|x;i~e*=RJ;dQjGTZOXMH)t{yOrB2UMo=?izK#hEHve%b!!kdCc2jB-t9|_dR zz*FJ^l{B&?`qjwy;9me-w#PFCBf~6{`7oo?D9esB1d`ply5{GrI7vSvx=zG37(Uh* zS@;R#`nuc`!YIS$4v!H*2RTX6Ve=@i4h1@Fj)2GmJ4^YLDdJeLQE|NRX9_C{--Ua= zh|6Kc^$-}d7Kd%SnTnmFoSb}iqBFmtvmh5-ezELB(4Uk?>>m(av}Qu1F;Y| z-8uOtRu?F#ee#!DUboF`Q71bmjmI$81-f%`48;CGcTR#>+6BssJGL79H^Pd?wsJ*4 zcTNt3*cn)9ezojVE>N*&KCe5l^cpM8&q%Bj72=&{bQ?gcqX(bFbJj%Vit=xLJ^;)W8actc80n>-v$nTo`7KuuW#@x5G# zV~?D`t}5`SO%_@s;p;47ik>#vJ{U6^whWPe;Hre9|R=6N1 zX?ogZ6ju)cJ#DhWWby3x$m(g6XRbw7PMf?9*DRoiDLPD~+#n~6dYGaQSJwgE;|+?6 zT%f`O^rKe4L#I>W1xM)>f>4)N6anPUS_#03MwSTge z+ZW`7O&xR{S3Q9`D5xoNfwEHY`c!w0<2)@&#X+->con$P8!hL5ktCfFr)sm8S<%92 z6FF(?*HL#EH=m~vJAbT8AA3D2Wl^#cbzcDO69ZqdD^T7PS>*30GO|QyF^N$ZxNLXx zR0t(VmbycHzvW1XKyv)4u6zR0h0w@Rh#vtoG!mFIE>K}U9|CBX!+NRY=!#{Y^g`_S zg`#~!-BqvMh;2uZR0mfTNbSqT7Z4u<{rp`JBF?)Cp(D>qxm@!bFzPkjkdl9gKgGxP zfdBm6Y|F%d{!Tx+WX9Ppo9t1-)p+;TGXpIqBhER#>JT?bn)kdrk1exN*m)ur3^p)^v@OP}GbJ)reG@D;}r$+5qw$Vfdu7XD*^ z%ih09J(n(^Smx5dTaJ*3j_5LMUDgXvA6h6lck3slnZ z`$R@uA3fWO7oNrNBdtD!E=IyodIUIcIr3tPFs1$QXl5{_`}2gi zfSU4fY;s5V;>q*Nq`v^vl)yu1MR+jfsbEUe7nt<}nvW^+6J~WsxW(qH*l@t`sO!z< zjMD^RlnPvi=eudCvw4}w|K;GYUycJL-<`H_38 zd3zYce#JPj@ZT7Z4eO53`3CAv~Moz4vS=*qrzC-*60wK0QN zbAXSo?B~mHG&c^Cn;Ko&-{1U(8}G=?ffuqGZ0DmZJG@L&13tRa-g9pKN-Ot`+`LaX z5AZktdX&9NxG9 zKDyGub3XniZyo|4T{*fgT43i7yvy&bv*^muy6CWRzT+$F@>$A#(=P-i&hXKd`|#v& zpwX2*$9PuOZ}6sI(T4sW>F)@SG@gB8o>}n34ZZ%`_y}mj2|T>KY}{V2KkBsv8?@mZ z3IE~1W#(|yK>qw-!7G{Hq+HhlA-Zy*kFHz=>m{IUIjJN1hk{(c?qbIizaw| zyzK^W3KnhM>q-9!sF8uE#04s8bY;FN zid>-L7{bLCUD<6u2WNolItAiHxsXNsFo>bRdesf#=!y$e99=oF?)1lkf%B1gTU1Cq zVlBjvav}QKyu%k9fz#+p&K`M@3ltgYU+Uz#ZCc(zc_q4XH3C-wjjoJ=s0A8b31aDg zCy82F3NOZ+5WNratPEs_w@+fyk0*$U*6&n($jiW0Yf+>yPqj3W@ zKHGoh^$6ewiH(4<3LR339@y!GjODS^zY7 z5EK=;Kv{*b;K8>8Q7XZME&s#H7P!*pmiJ#Ih3LxG7B@>oS9Xg{4Af?#EBm0a4e-&G zP9_phnUe4FSafB*dCj6LmG&h68C@9=*N)NRqI2p>_rJ>=bS61=1L~mR5H%ntZ0eu| zT+IdQprEG61!`jl)fc7Wpr(uH@&P{|X*stbNjf8@v)RE`w0}ld9ye}Q(PHO$b?FJB zQdXTuqV6!DePZA%b_L3tBGcD8k&zkCE%4tYW@P&&I&L$=M^~m+6!EkFNYD_IpRsetF$h%?4weL|1-*>uaFVmBaqa z-T~0)N)RgICu$MW=*q2P)N8mwqbs9eeF*sI%IB6zA-ZzE4W%g;sEwm5&!bJFE3;8D z3;5{DgjlT6mt?Hbl_IfMqATCPwgPB$Wv35$;~nILQKKt2a&vb5?y%$iSfWkSDrD;2snvl`a%19gjJ#|3t*cEa+0Rel`WT0 zPXP1I`6emRl_!zl;U}XjD=b;(qVs(EM$wg3#-P!a-|a%9D~DP$kLRn2ueN8`+cWt; zqAOXBN5~(?4W&FiInE(|mU`Y3yDt~}rAmmpAabmiK*?EPrc<1jipO+wW; zprg}o5Wk3ST~t+>8XEix48OiETW_ctzVpX?yb-A3fiL3%l{9>PF#LS@&jl`fq1A_f zL|3L*j%-y)j(62XBPB;!n%;}#9Y808fiLYUze>zlZ~TPmB+#X4;GsRQ^h?uzqDx%3 z+ov3!0=&eyi3%8UXD$kBH6Tv{JeC#rR+2TH6`%y zKBbvbPjrbXec`ztxXdb3l!&f`TSczr*Vr(qE}9Z-n2O9~pf;>AQQ~*-6>M0>8VTq_ z3Ot-eG4A9;dNA121^$x&(MKD4!b2)VS4ymH7rD`5*5JD6m@0G4Er?zR)T}LyFXdJz z&H9A&#X!vpJdrC<+TJw?)mHS1o3>g`L>jp46PuV-h_3XvXNk9DCf>R3?E6JrqALd? z+8$)b8BaV__+QbLDV7yed!vHOQa$R*-Vx;zUAYv+7mIBg5!=$16l}|WixpSYrO&E1 z=L~~sDDciPzGBw}zWABFP5K)^>rK#=as7pdUf>APB@QY6td%PQF57nFHOxlQmBp48 zxj@Cym7D9*kD;v45$uk(oq=`)mqA=4>iucI*w!ghrd#XMWi02l4}Josu|OZ@*T$D| zfeH>2+y4r-FNc4rD9@g`nU0_&tZpT`asv72IJBAQ%BJVjGpAa8)96Y+yO8M0HC~HG zS5ju9L|2CU`JLyTs9zRw265S-%|Ep;phXgm=Gs*iPqbnV1HM-L9a~>q{ z(UlIh8eJL9jS+HF&#rW+)#%E>U$7VkKDu&P?aA8|rQA>4_)%`^XS6%k>e-cwFPYl` zA6+@z-~5>yugXo0t{mZSc3H_f75M1Nk+piDWy9C4+~>eYSB|P}*qgX!y>HnO|Aw3T zNy1KEyv28|+@B=)=*rRl=BV#E{0{sl36H7G%7K;-R`IP~;6pB*{mr|7;2jd+LoUbG z>VcNkKXP0E_>jwSo^$k145h$_Tu!Zx&bPPf{Bu}aYay54YNIuy{B)wMav2|duO*K0 z$max!`qka(~W>CD-%#>UCXqb8A;Y|&wZP*z8RA-V7h36oUI*^OL5Z8muZnj$g zPd$d|%wiLlnNw!HU36tmMhs<1$}L8hKZ7!)Ru9uWhl7^snfr^E#+ zX=G3ItC5}IKN`5~gO7QJFr@jhLk`pQwCqx@rDXSDZS$v8T#^vIQp7dfbG-k)r33SaG z)bR5$u|hu<`x61LiBeg!K83`Sz-4YTkNO3?Zo-cbZ>G97i!r9MHoM1&6mj6KMSa10y7^e@rH_u6wg2$=(bK9chx&Xo(P#)BXR0{>`_E40BSl;FnN4qbwZIWWBraxFPQm zHBdc`f2U&yW>?SHV}XjB*2voQqd{pGBu)aVuMfm^av^rT05JvlxJO@8$9wEz*L}6+ zf1;vrs$>nEtAReZz?^k~imQvgmbL94umZHpsgfbFv5h`L`{>$!TR(u~B<|4>u7iNa zJ!&C_0F8SDAr{3Vq;Zey@587#?(rk6tALMtJYty?;vStJ@m*oc1uA}ada7g++BEL5 z)t}6~fscEf5sS@|j5Y4D;eJ>p?r|_|?SaNU`aoO*a>A%_k2koQ1vKul{a;ijpmC2Y zAT9tJ_Xt^}U7+G3MZppleCFL1gn;sJGUug${bAgHHG zKC~PoS1CD;t1bOdq$TdL8p-cLPEs`Pv70M*twFZLCPx2^do;8ZdRWmnzBYaAgI0p8 zk-P$E2?Af_0u?tI<{JBnjFezJ{9^%MXxpR&aol4s%aPx#H!6-DPp{49(NtLOEI`#< zpbfrRs@&}W{Bq}56Xw%wV))G3Y|%qz`0+3u1Jv-qmvMng8onwRJ`nx^qCETACi9Q@ zR7r2kkynl+$91*QILT4s9@CH<4|G-(_|k6HCyA-sz@l<@1JFfd;K{mrifrquP@L*yS(IqAxUtI1w0pfF}D40?R&4d(AJs_U?xi*>=OnDg55kO6u zZ5nu0C27jvr2h`|83vxn6(~9d{=}?jgIVp<NOv6_%k@ z)i?wrKdZW*6|E?yq;kn$>XO>h#w^@*N_{$tP7`G%VWlbIkK;(z;V2pY=*O*7^u3m@ zxhQ_8E0eJXs?m>q>_Va+y}S~MezberYE3b3oMi@E0xhfLc`Jg1MW*=s8-+zAOFDz> zE>@h{MtH+-Qn`JmjG{E#``|?C(9t0(vVCnLD$>M97JO7>2fwEGQITeTG47)x&HZxS zpE+saQ~YXtzuIu-WY5}g=0ty8;kvv=MZyPCck{=kc%w(YOzWc}*X1=Tau*K13HYeU zb$N}7G%hK3^?;9xT$k6V$gSMC9{8xp4f&H_OcB24#!|UCwma48#=J&Fn&+q~z(+;; z_?tcImAhSmkBap5H(%JI+}#g+ROF_-Mn!(wvfOQU%Qa!a=RCw$Bi*^Q-2SppXa=B+j4ga z@S&3ac@34c+m4|f_)y6J&)I1Ea`zWEeW+w;K6=!?N9!NXpLq+Fq-&#hX81N**7Cr} z4SGDR^2g>iT(Ja2i-3kJ4xHv$Q?3iVDOj|XmNg+=AmNHbW1jx-#I5v1(vJn&;RK#2 z=1xw6`e1{0ICsH65V*_@ulS6m#qxK|{;&D#L*$CTt;UAX#gx28c%DS;32@BG#)%gF zJAF(j;PZJ6V=RE{9iU$!4BQzPs34buU3<=T@U8(`kib3wJr{jqC=%1JBk}E&eDi)PPST->9wOoz(m2Fau!$;+&*pP)38O?HE`+HE z$VrN>ld8D78|dip3B+PxA&sL<5kVuP;&s<^6jl^&)3n@e1yolDhy&$9)?7D3+z1GB zEk7!9H;xMrU}1i1IR!R@w5g!1cPGvY@_2j@?1OxLNnJN+q2l7qk1Ou}z5EsZ9p-vDT92$4tYhENPEzzZ(hRPi1RC)OlAI-zbbG<;vR38p0^o%t z;_)x8o(1x!5szKsz9>-f+Vqk9fxk)i@(ivlFL##%^;sRnFu4$)Er6H@{7IxUO`UU7 zr2CtYPj5RB6><`3+lq2R3>YIRdJ<_2R}TO^iPSeXBv2clM7nc=nX=7}<*qSMQ@TQ& zAQxiF7>H58pG3;P>b;zDv&0lViIfV)`~}-Okdw5+Nu&p38FvsedJ<{P6J#tWk^1b! zxPa-{Lvd*;;Sv`q#pUD0T*{xesc%VVc!4P+XoG@z8ayD150u5RQ zMMW-9`ndS#gO=BeQVClAfy4&jN@rN!gGutIbzSBZYu-MPsb3X-BQ`Nm@oKX0RpC}U zm%A3gpG5l1MB-U~@+6XW%`P+2cqBp~9k@Noa1zOP;1boXj%!DyxM*U&^fh@P;-Jpt zcoa|v-2rhs$O)S|=vA(!0d-JNQhFRM;7T92oF|ebO^!Huw#2%0 zagg1!mOt6J*$x&vC*{*^pG2j!{C!Zj7tod;_=;Vil3i|7k&%{v1^kzZ8QIQ>K{{lq zA?DeZW3gK(IX;~)uR*#Hk*h(x8fZi=FlSt#;tt0maxcL8oaE>ua!X^syMxg_HGkD( zPhp!xwq?m$TiuGRXp$!xxY<}W#}PftP!~?u~#B;onY$#G$J<%;xUjDMvchrxH}U%pb@z- z5D&?PoJ87k4;~uOh+N1b?E)3|dK!`YP%M*(TrVVg0w0kpneH9U_PJQ55xK3!GKt9D z3tJt?Nt#CF{>#;T5q2dznWRMI_Ctb)pFD|lm?i51rJGNWBXZQ$%(2Fx5xL#|<;~ED z-1XMXHye@L%SM_)M9ymX8K#esMoKaxpDufva!3t7c2D9JKx=s5BXk){_@*YogukTh zQo{$p-w(L#xtr8*Y5W?CyE2w<)PWpl=1VV@93>X_B$8u6PEs@$_ZwI1LH19RvRIt@ zM>NVbI&W!gT#3e)^XY}53?24j9tN}wfv-50NVd}1A|qwE0siZN%M4DG!Rdz}U$?AM zE>L@VFYryXe00)ebKQf8-ygCKoKY+jw^CeppvXwJufhL{WSd=KnS_b2P7CDSpO&`# zD02O!pnv6~6(TLG|F4kz9Ox`D@TFZIzIa{Ha_@526sR)-Pd3(?v}!@HsyqCr1D9=X zoqMpV5VUG%X7O1fG3)Pqbi*@dRzE~<0czI4#z)XKY1VYoUj%Aa;NhFHvDQL8yF~Pg zvwnjAM?ix}m_>aMH=P{2spX;A<7%TVrkFk3wPBJD)SlB~d%D0EyQwSbCjqr5@I)?9 zNjLo*>=_FGVBoUXBx$T{{$f_DHX0MmdKS^AftuATHfu`KtnWx)3Dm5> z6S)Faa8tGD6*pD1EqAQ|VW>n^4g-!iYhY~Faxtr@Hah58^VV^Q9u3s2!LeD54oi6J zPSX1WH7oE$u0R#c+EMh1Suevs1GwyGo0#RN2=Wjgj?L;wcB!Z~dOMi)1)|Gj|Q z(9W`MpKz9#q7&NpgE3da)&t}utuUc|JC<23GCHAsU1VfJ`z8DziHxM_gtpuMxB}>e z_C1qjwbKzs`ZoVx4f;s3#a(ou3gMNhg4&;PQ9khFUmcc+B6x0;CKyB=xOGK$Ss4o&X z0#`cAa=w`)YuMQ?R{ynMFkMO4ag|0wDn0@`8%U$F~Ra;RJ-W=KQ+ z5dKACM)o%IR2UuP{E1Fzms^em)+NVx@;g?NV_`!32jUxmPG|!&tJhe}8mdibTOGin z1fX5EnEx;~j)#c$|K_jm`x3Uvg!TlujsiNNeG1|UpcC34gcA-&NGG%(iczoO20dE; zHLPC(KcTJvvhVW?6WZIg!XrBOoKuuLbkUkR&BXm^KgXONRLozPy+RSyw%B`2DsOlZ@TWs?c*rIxId z*d2X3i>}a=ds(thXN#;|>vZ;j|23V>&+<>irn4cO&&~n$LZ*bbnO?pjE#>(rpZ!Ao zEcN^y?4Ap>o(H~kLc%H>bF)PvBlSFe2)+g`bAO_q`}u5boYiQ_>f?ObzS9ts`RpEu z>;iI7uC9Ylss%II*#{fmkUgKMyu_xMyqA&CH7tcV^ zUnI3UlqfVv{lrCYh^s(O*rMDl9L3dm5N*Z9R}jlV@rk%2=uEpx(fMrsZQc>%&Le66 z!^&M-kdqXBS+5sYR|50X?`BWR1u70JK3_lARBRJJO+aEC(DKcPcv~*SPwOC71DAe* zW|gr?Mo~<~Z^67!Ki5~(ErD&Hj^(ZmNWH_w84%s%Vm24ILfj0Z6kbr!(7)7+^>Z^s_gdKALg3#ZwUUdX!;uzbf3PRGvY`)%+$QZcEV*UIKJVFM?>-W5xGAz4BmE;3SKPk{e8F(cE?*knxc9|hRO3`@B{ zh1qy&a=z?NQ6YP#*C5_YROoV`Iu=?jkNl;4y5waT_00>IMgW~j2EJm~hA4f!9GFS^ zbf9~tfhXfCg$KKT3wAGuXDM)*=PX0D+wY^Vv*yl@1#+o-^WDxA8)P3neFRSsWb0Y` zj3*=;9pFFw@6agy?y(K=MXu7Q*c0#Ow;m?S#S{CYxGnIWc*$7#Jc0!4Kg?%$U>{LE zaTZLc1NB7UD|XA_i#>5K>2*Lo5qS7K!qMInk?4{qxDcLqfy;hq8QQEMRH2gREuuc8 zNy_bum~=<1Co_xfzJC8QY_`d6@wJ{Q7ZrAkPvM)P8~=P_W~r?Obe}kFQv=y2zR&Vt zo44dHdpfcm{F2?*0m)mJea38-bU&dgRQ`Qx2QgPY+3(7xPJA_N2cMk3QMPIt=_d%f z_$^hx9ej%4qV(Irr`m?2eva@oza{CngS+_@zvFmCK5PeHm=D{*c@D*-ejKLT!EFZl zFFU?wuRf(79=(C>;5#~D+mFMZeCS~3_CAt`9FL&cABU^lY%%YRP6U@hv&wCibE(|C z_Grc^(5&S`y}4QrpTBo(x$6TO{CF4QtB2`!@GB>lyD^}_Z*ub|fAfHo%iS9%aWlG` zn``{dZBOGU!l~SRXdO4#`kS4)vw3(1H@6keb;Gt9Kt}0v>G99urtUkh_ngbmqy7ND z@BE9uS-+AH-}&4ecp-NF>Tiy|2;+g@cmB=a9CJB)nZWNmZ}2yt=vnR#0)F55cYpJ! zYuTT?hMSW_=O4p#-?{FFa(656`_6xQ&OQ1Nh`y1VuLX==O5AMmfJ5Q0`^|zeAm>(Tp13S?+!q$W5&dMK!uZ{p?-kt_JuW>d13m zK8UFy@YQ4Aupxa&KH6fauL{Sks`Eq}-=n$>{|cLot!ql5hPSOBG`-!;jL9Vs3^OdTzVBEPTJ6RZIEFKTj zSdfzx9gr7rH5cfB++rxj1hxmc!4yRGi0Qz& zvRRdBcj4>d0UYNaz~7|(2FkkhNV{>fgVRs+PVaILqaM)y_tE?PBg#18O~Im$9!2^C zKph=;N?f3lj;=w!I(iZO9{`vA=@G9qIQlv%m^%6{%Z|7lhNq6JY5J~;PhkdqX3PG_!;0P39kAw~dm^axWFxj@B^KEWLQKHLjM zTsCKagIF&Y;^=nOthUT*|PPp#2|BR7$DDJW}s8b1O) zCpda~jUE;`ptjuY2h`D>Yl5SNHwBA2`dZSj2I}a*Q{n=ZbaW5&tD~QU{|VqSixQ5u zs=SBg!(J~Ir>534e?aA^$_tQrN95GQ`x+z1QibuQn%w8YC>~x1(;ASI6!l88I?kj3 z^-52O%Yk|LU{gfE+Nk(@B-1FRD4YQII1v{QzYFoUT!@G34`<#7@bDDc&3$hM56|-+ zK9RIzKv~BN(ryX<_f`2_@8L&CxgV&9yFDB{EW9aL)WhGAz7nX115b$yRMNw*qhCE- zF@mTu;5F<=|F5dt!Lp-smabr4P4gm**Q(qZ(W6CN9et!R(m9J=^J{X)3#0g@Crnp@ zoTR98?&T^E)Hz>4d=AXf$C;wY1uE_{-Z4kF99iy~1J!j5#F26#j=mG3Kfuwe&rZ7? z-wLkWP@_k;-Xd)lP*)Bb8C)s6DOl8%yWCsub_D9mz{4RM<4(G=0s7UImGGYjT=swm zHg=^h_{;L=q}|}KBE2aXQ=}0aj%Qr8mRbjZ(%2{dcoZj_^Ja@ zCl~U#KY&;OWQbr$D|lct8p_uCFw~+WZP{$NM#PLSC5XW@m;$+}A5=v~o?K!bXB}>HCi3;@Z(hT-2hb;SzDKIA{Yo{tVPX`#nNb2;_uK9n_nvD}XvEs3~%R z+SozQh*ELTD@e=)938TpUnfawEc3(c6J~bUNbqw;X*6??VBDSeib{5e?w7vuqWUoSN$9!AF)0fe6W^qNe32qzjt|ha-L% z(9MIuoN<8)A(8OH%V`=D`DS4FS4&aQbNG=0G4ngEke3^u+_WC&4Z6%T@3u@!5@}MVe_DPujB_R8i#o5#vsInd36#Srg;oG|Lg=M;VP$8Dd=D{G?27;WV>E^+kT)iT~ zu4HeMl+A-9kf7crPQ#RTwB&PqlD-(AUnkCVwiMkrSaF|ssO}p~v^KrjV=#|cMGMDZ z{0~!0->ka^rjj&?^);GLyyeizD43IphHdT@$7a1 z9cubOTm$@2lec9)wO35hq2}&j%=@st1#*&B7-}AjWg2xtMu(a{A|pf1@e|73;UFhz zI@G+()ePVdVVbOS9Yt1$nx-NvJ?S@aEd$zkc@kjG~1k-^*1U(4O=$Q^X<6 zSS9}D&kr@fi6^8dU5LcHfS%MCwzqo!Hs2CYmZLrB!C0 zWD^r;s|Ou<`IyK^t2`9`LjZeln`@QgnQeyn=IV%lljD&!4KMhQdFEmydjR#! z7>I{JPT15lxk=Q1pq>e8iV_Nwp4m^7if7J7;!NO5_pqFgBMC1Q*ADKNaoK|`Tw=qp zziU0n0VYxGS{{w9$JDf(g>0b*>5tyqf%YJQIpYH5?O_^g`|IOi9V4bV-8;F}wDT5= zXx~2{ov{d`W$)x&xZVOfhYozjZZv%Hj=>I3v2X_Zd;(9#1uFS`4i~-hd`^Y`6yUPi zO`eaReaPXUyqU!wshHI+AN>%_x*5?MftockHlMg>!K@cZp90jZz!UK^fc~*3%~~AH z`X2sofy=&m&p$hJ@2!ckS#8KJ)jl8H{$KM}+0&RLkjc~J*sRK=StpWyEKsuoPZV<} z&FUq3#anm5KM=Ug(1cm`^k&EQ<_CZ^rh_O4{=k>7N6&C-6kB zK>5lele)iyJ1Hmi5ithY&j1E^VnhhN7v?qsW)6U-`l4wD4g#haL=!>68_ z=w;86AK^194*XqNliuwkN+=Vgol&zB&5XZ@dti|tv7zCXDZ2PUIgdS8%*|R3y zS5(N)w$Fv>O;CS7F7)Txf8gqSkP}}0x%Sl#Ph(FOfj2evcEUURKCPyzujAw%q;&@pBn$r-Hq^`l4|2J3ynvn{Uuk} zMCaJ;Qtqz*OJc@@zO&Y~LF>`}VsmSQ^bR=pF4G^yRN9J_>Q$4DKCuV#5#?D73J>IO zuKoo2EDm{z#Tf7pc4(|Ke>{)knws<}K~JY?geXBl&lOx<26Doy$|i7C4bUb-$I@8a zEYWsjP5O1wCX=D(rt`iX(25@T(y>Ic{Y@4bX@B3s|21&gk+#%Nwm;2rU7X`;$+2%u zwAZJWW9f`?w^*8P3Z;Xq-Q#QL1Mi~=?Tc&3ns}{QB6&=KFeX0AV%|-39tYSVpKw$4m5~y zhY4|PQiL>!u|!Jp8uds|K)wg-0^oxf_Zxp9h%wIY6uCfc9K>j}3?t+OM55OoJF-3#$Y%c80YABCl{?F*ni zO5iJYflBr$*NTi-(PB1R&wx*g+lUbQFj+8YyKQSZGC7kRN7Uq2AYE7_9fkN2K-+C# zPP;&b3KZJy<*;5VIr=cm&8D4h>lCz4s!9L(1-40;XArb&`lBQvn;at@M4YPDJS?6YntcFjLVUBOne1Ibl=R+|E^BpsopOiV_NwuDL~&ifiT} zF&DVf*_Lw+Niv*CEPt_?Z9xRNXYKJl<0hmnc0N;+uD=46(jM2K?gyYfLEs}A51%YA zewM7I4es_92eAOzBt~`1+7IrlVsA8(9rr0UrB6vNQc+Gp@AzGD4C05 zpxy{-ia0LeJ2~%*5RV%oO2r$OBXOxnmKNE@{3w#dBpKYt*}O0@xHpJ*^1FzE&)1aK z`zqN<3`1EJ&`u&SbHc>Lf*GNccplbgC4WD-w=lMp3smS;QZLk$9Y#(%xGzTHzapiB z`#A-ZLf= zOb7Ql!YYINa@alrIZ4yOeaCkQxB>>YX(lOy`~Z$+oQZiD7uRU|c4u;wJKFy3BiGK|sPk*YvcU-i>!{f>%T=-y3vJjy$!S*ZS?`OB9IeC?MBb$>I|UWXi!w-0u}l% zKi)1BrP7U#L}EB_rFqNyE0PLz{MvtxxG%>AoFYaRM%)?bnFeyJx$j5Zca8TSBd(g0 zxxkWbtli(9pN+M}wN?*hv^^)T6&>Zc=<7A5W#5})J|oXhfjVY~{}7V~Ibl=BoWa#8 zKphj*6eSdT*LcT#BTq^kGZu-*fh)bna{iMf8DEH~Ww*1_N@2A1Q8rn@-)7uJuD{qh zrzU-u*eUI09_ro%+Fk-*aV(K+FTF)Z+Do*EasiiZmY9Q^8GiOV+;U`=FFC$dQ~m|g zh1u^eh_?nhum$F<3sk5WVPHEE*5f5dKd>#g0iUR$QNhmCjy0v*t-?-u6X9AUdW)1U zQ1-H!ddhW_BfERnL^Fj^da(Oo8VU3xQ-QD81uDE}5=TH^hIa-~rv3bd!#6Jl4nke=cSh)aME z1N~v@id}Ch@eeiG?xI5Cdr!bL9u&er?{GB_2w7=pRTiHyeg?&nS(XngNih;=}lLC7E*XBDb} zkMFG(>)gIRRhzHO++~2%_}FoFy^H@ZiPJ{;u~HY!6Ra=V+^DMYy|n3%T%h9k-s+m{7ve&BAl)d>si5#cZsw{l z&}Z=y#3YqVkONxL17A9p2(3;=(_tbb6}>0?R|0wmoBoHjv2;k9<8^V4vn0pg zYSImUvK&VsnGZPzzO)NevS~SyksRm4|F-0qDM{q$mjL4}D;COfim*6e`izLl*tHgs zAAxq!doHCJft;{u7kxQb7Xq!DK~0ehR9rVTzE>qmrEX3|;sxMJXIjpqNs_*i#ZP8M zqKn2CSp?pUeNia}X7lA+u1WTkAERsu(4I0dr(>~TM(8QsG9pZpzwap*n|6Nbz^L%d zQYHDaBgjd6%AJs^0DcKjW~UP)S1AW78|7PcUk9Ts0lL7{8R!z=1&F7BE&;YRA*LlF zq)UM5Qj&NH(0Dm7c>uoz*u(e>OMs4criKpMsEwBZtHoMb0<=fT{=hE*PL9PIokzyH z1n404$`YUwwzGgP0iJ=F2y()xOMner{R(smQ1Kbl7obak8zHU&x&#PWq+Oumn29a{ zhOQ+$Spuv=;yd7%0Nu?pJ`y9A=@Q^AVU;DoR-fYykdriB0(9Z(I3TetlazjKB@&zT zYj;_)_GTH%>c?K`*JPntZOOU@SYuUAd#h6Gx;EEaWe>9_64n6mE7N}bJi?NhL`Z2$ z^XV_d%QAkB!RiNqt^fjG+O<4Cu>#oP3r-gUT>%81tm`d2bRX}CE@{mD;OPTgcB&O4 zbRW78rv1m|u_?0V?cUzCR^jOOf{TOJE75Iu>ppyMZN0E^%xBZgl1zfhj_5UGD z39M)B4;G5X27x`^!ga12Y|cC8e`t4n0UdUvlw%;PY`A+Q5|B zE}!21XDh>Cxb6g6hQL?s3KTl{6SozMjFe#({I81k?5~@YL3>^4Y39adsFWPH&)4sR zbfF9@5dQ*bPZOBau~_IhLV4<~D0d~mdYZmA6)bXr3IeIl#9hQrnUn2}#GWFhJCG|) zh#yMtfk~Iwv?}@qMi~%KgQ+V>$qwXA5PjrgS1ulf7zJ`7qXXK%xta~klr~o7`PjQr zu_<$F%Gyf~V#+s2tQ09VWmL@C`vOe)wx*&wn9|@Y`T?M(>{|>m!JTpXUHg1y7ST}pr&tsyPidUws^HE>XA+ycKE9t0!&Nkaa>@OEG z+dLoQY~V`Hw-cuo4LB%{ApKFaHg%dS`O6McozDl3C;9|gtCV!N;}%cuK+M+PPwneU z!s!Tk|Mq)-I~T2B5MKTVg_us+amN0Eeb>ja1{=Q$! zmAr2$vL5WADW~P4?lVKCr{tp7Bb$ep>~3>+c~kc;)9z1n%7%!3)VXAWwX>tUH+GXk zP8_O|?pe2$)dPE4?*JjCmq z+`7VT1^kP`Lp|q*dsMg=fqzl>9?$vRUKQ?O;9nH3@;7&CSK$`y&rSW5b+s3tbYO++ z2mFh|!>aT};n4?Ixa)y`QMkr)F7Hs`rhq2V8eI2fRr<}p{c~+{S`jx^R;BO%-rw-A z5`QqvzHR- zPWyQHj|DEf-;X}yTHkaJ8-0m#wcy;%ZRlCT3jiU!gqvRcm=(C*>8O zwjQ@3lt*||u;|pO(GeAH3!t_Jo)QdZmc#i(KuEkt3GExKDL9qLexa)xnepIZ4rxXeL)L0v(C! zA6enDz+U7!%oIf~Q1QsNFNKv+trOfw0@ZaD#AR|JquNA>aR5ip8p97RyT-1;Q2CLL z-rmvQk+uSqRgTTL4H)Pv&UN0=2OU-6_5uJ!=xoI4gd2z;sTYd(I=u`9o_C29w6X{k2i62p+;|K+3__z3{Ul|Zd#?{IQncv&lGWW zbPHo7P$`W4tFw!QQ5@YLrrSYIQq(yUxf%o1Iln=y2j=LVO;O|m6+3!>IeOpD6|OB% zU1vd@E*IkH`yhq`9KHJKj2jpQNAr`VGNLXa?E_HOe{#mn;W79cJ=QzA^|2MM9H^tW zPWe{O4++AXf<+x&N%}cJ9UXW|T%aPdmOrV{Q_-)Ez90U3fy-Q%Ep#0?PO9?n&fj8R zPx5)Jy6F!pN75_E%oI8GaFH3r8e142ugOze;g(P^~%{0X8`kX zJyR69K*b&&V;&v}_iz!Hs{AsO5kCDqIQhjviu+yuB`re^zHl3!_x!y_4q`VB&(SQCK`V8Ss!J>}dK>E)>9UXW|T%aPdmOrV=1JJLI z-sdD{b--nsCmd~6`3uX3URm-vZdlXlDu;*9K&G3>X;uE#80nRT@%UlcB8sOTz7?jM zK~7TCE91C&6sT9$L;M8H!)r_tKTd5_?BNqAr9QHgd1OF!oet4eE~F|Cho}K~xC<3< zb~bqUBJbfvq%8nt{YhPefxaqV>OI`LONDC*)Whq{8FUs>m0?j2-$eR#Ks_9IN?d^w z|9TI9Ar6q??=AS>04|fOm+UOk(ph|D`J`ehG>6nh!FBjsdz7W>~w}ULEzcF=DOvUOhF`rL``2~@dTKy@+ z61fmnO}bXNZ2&$W{Y=K~o(n!7>wSI>X{Up-Hd8XLXG!q+1n=`nq)Y(n^Pi*8eF$#~ z7WMfG(mw<0^T1QWZ-{yBNImX-eg^v0=gm&7a614#&Q?~rC>YU{ep8#|8s@UW} z#j)7&=IAD;Rk-bd>N*^vgItKCZ-=-U;Ar=3##Pq~j-KirJ&Uv%pe#@70v>~}+|#|I z8+NO3^?^EiR&j8&@TOo{qUGFzBp)6p zF#eP8@)IYpUNknM+G61Ns$3NUg`jAQ?iH>X(4c5wE_MaVn-PMdN5OgouxGL$);>kF zPpE3XNGz3Fe0`D)kwm;tJd@=j z&>9!`qF5qyg)(66BQnyR-Ua_a!1>ipmY6a#(1>?wyr69)i{59ewj76a!7)!F{sd6R z1m?&E%DaUg#iHK}V0}k&^uMp$I@T_GJ*nranr^oxw#o17u7hh0$VrO+zV7yCRk&?| z{@P5CEY@A3@cX)ll6(m8Lh@@f7jo4D$e(uj?c*#1<=YwohZm|2y;QQ7=Q0?XyMaEE zry(ZEg;ecD5bpus+%7T4@t%N`;N_~rrUVsbXIHpVkdqYEa{yQEfa54N#o&q7^HsWVyAN|-1a~lL=eiv;#yGtrM5Xg<#J6Mph6nN zL?k8vx5cVAh}c?QxtI#o!;AG4u`MX;yNJvOslSo>8DbrXwkM_Oxx{*a+d|rR@7Sq< z+Sv?AHNlQXTS`%+wRcA3D4?zVZixOs8~O(j3xJj@XyJ8u(;Sye_gUA4a&37YeKByy z=Z(=fa>9?rwRt(VmKn4v(b}~YjW*WEwGmf;T$QaB`=k}MLsuK1ttjxNU7&)Sq!slQ z8EHiW;O{3kWUsQUlEIJSwL7HT)HugV$?=n_vL20SMcJk)w}qs?9+xsujf4LN5G!rf zDsY#}BqQ(?k!-D!Il0#Qy2bew zt{zbF{UF)^{`4EUADPX?ZkEU|t*XDF6pzR^a{I#88|XK37eo993lmDju)+Ms7#3 zO&a!rJ(#=!Enp?YIdUNl`yq(?fYWc}t~Yf>E>Q6VgKy+MEb8PNxr-3^0O&VzH$eO< z7xInV78fvN0R2YpQ4mJ}|Bc+gV%>ofugaf%BX_CjmT%-QevdbskzTvNhs*ni|pdK#x*fe-Y7Jphqd5 zjO`sQLVA>*PYd_j3Ft zgj#_fr3hK1U7$kU^WS?}B$mlhiit=}0RAY&7iJk@9*$@FqZDOgnH;592-|#+lQca_ zQSVZA008@bzni2SrPv1vhKa-xvC{f$yk}1ENxDIIn*4%Frp!|G6h#xOk9vyYXuH_# zDT;aaFv2Mc+3{0_enU9yjzq4%6l6tJdarFLhSb@kF}Nep<;5gx>wF*+zPO$aC%pz} zJqb-x_5_}6tTjAavFDj!&qeTG034^^Hg4sGAFf#!o7J1_Qj3N~=WJ_k z8jk27pl1CRyJ=z4tR|PUpayDI;E7zIl4cz(dc{p$;qL-mcG4zh`DmGVtD$XJv5I9s zJ@wyV(b{0vO^DtA)U2(Hk3}1NvA3Ql{TZNU1)j(isKV3xG??`r{NDhVy=V2t-twz( zF>9CDtV%KK!(q|D?aW(^uVBapYSx~yS^1<{Cy?G5s9Aw0as{ej*7c%Symcr1cL0|; zJz5S@W{EwEhec)En>~||nE=$DqhotkC+%55`e#7x2|ST2Pz8I6MX%V?>`FR& zKqddDJ!i%Cv}CtDwPaW{CfIWnG97{1bAD`37x?1Gc01`e1GOjcM6N&;>=_a4nF{|4 zz-6}hr#)fclTJYF`E*#ca})E=7sxCDYR|CPo`p$!&bf+s9nhmxfrmk#-F<0j+lemm z$pU!h0hihGpACOpth)*?oov_W)eJ}KeWx^LbIZvBfHY_@R2Xjct)no$Hn0c`=9pQ_OIfC>< zfj*$X6S)FactHD$UUAON@b?9L3T|V=>@78ESIc6vdW%`hheclov&JAg3aDA%#Ac07 zn)Ng3tAUyocnA<0cjT?oXEr~W)u|VQC2-j(8=GbC+B*F$gr+t&MJ`bGU3QoHt}42q zDP@#d-&H8O0;mCjGabt$yTKDhM*LC>e~lW@&N2zJ8vRYUuFX>}B=ES!E#Fr)d`_h0 z=SQX?`2xsEivIk_8m@i-*-K5`KYxDY8cShN;vh+CRaLZOGb=&6-W6^ipd|==ktD-%tFgCa+Q)} zlj>ai=E>;H2*m4vo<|JKd@&j35RsWq@=KD7kJL3-8>Wb(MdQxZ4QHWI*Y3;V`UKQ} zj)img#~$h!wd&S*^Bjm5ma!BoN_BD=dd+xh0Er#;?rrw#RA_IayQeZEWnB ziXppJNBgv}+R)@$hIOFM41C40MADhfL`G^uSNOXCm!0{`KgUlEQl1nSz0u?3xLb9@ z4@6qR7B?Yz1JJO=bckm_PS`Yd(dIg)KR{g()D*cuZS0CEqEuW_i$o1@r59Sx|0c=D zFI;Bj#xBVs(9770T^BKMuj-aNuCH)^iIhgu##qfvxj@CQs&uJNzbHb|f_6fv0%!|50iv^9NDCSQ zaTjppzwCX_gsAo^zh{lH_#yiZ{o|Q$+P9_5KV9%&dZwPv}??ccN6!aX*)gd4!ysE4xS3Q7rL*JM-KEWW` z&aO^hRZbygBv=dAk3d^a;45~4itLHY^x+JVk(RT2-wL-Y;B3z(Ek}-=Xh7}H*#6~` zKqYgW8*&^9|6t8=(Iz?SL2L;)HnkHc{PGEhb5fU8H|$q| zz0y{nMe=E&ZS^OJl^`c<+Ey>SslrtPZL2{|Q9_~jf!|O#N0drior}bqz?HVOoO_cL z+Ufyz$jrJgF|c!NU>7m)it2{D?`Q_DM$h*^4czPI3fCIsgiQ?`!PPLJ1_m`n357`m z{|p9xg~XS@m7ZrgmyusQ!OD(Em>A#X@kzgOg-P%pt=QVLy5$gL3o-usw_qR8ekCxc zV==2V@rcp}*1Z4?rZLO%TTFW@rox0Hb#-;=tKtMw~EcN^_(JS@5_*UXvz-6D^XH!2u!4#fhSRN%?DKqVdZvFMd& zGXVa6fG;!JnZ7U^^{ZcbHofArQM1IXLDkX4JKM8)649|C%fOe8CBg=fRELv9MzZ`3 z{$Di9&o_QH;cGXNXRYPQX&A|KXm#{q$g})*_BDYPGw>D163JrD4tbshe|O-rXK$to z>LleI%aIq^CXnNO)eW!Q1&gKQ8-V0(z|YSlxiCKqVnr@cp=S7wt^-PJezweVIF(!4 zQ^?1CvQ>5x%ibyu%Mk7U*T!C`6q_EXjy@2Zq*c6vJud-W9|k^N9feQ4{j%_hx9j!e zkP&d%?KghF!Q0ZOZfm0f@0LkE4^}t4epf4dTV(eH+Nbt{xD@1sP5adMxS9vFPYr5{ z5(>RHyf01>rPAp)@6X9Z;7WJ3oG&IRbo!qqJYpT`LB>|>8p+AkN2*)Ck3gX#JrZSy z18uBT?XqVlD{8i53qWeaveqchN|>YyP2D7;JOEBWea?f3sh*-;_|&k zMqK_T{BuNmwy&Le3vEhPc-nPW#3ykB6*Q&xt}eYvG)dR}JzBmMP5K7S?Iy&J*~ziu zld4-S5Js7|l@6e50Qv?^JBa<{Lf)V`2jVP{6B(V<4B)CCz!X`kjWex$7TTzIqB*NN z-F$a)kXhV#B*p@r#k~VDS1x20SMLsD!NAYro{NnPRQ#3c+12T5MV%Pj8G)lgVfNLN zt1E%pct1oP@Fu=)I-LttJkfl;I{mL;;x`Da6b*9zr_n$vB~TMjgg6#>KhBR$tQ0@a zsZKZC!_2w|rXiqU))cNLgPicHZJ% z;Z1((A-4Btxdnb9mQym?-r{#GXvR#1Y8Tir(i9()xiHzh~1^-aZ^Nfx2 zl-GoOgWJh+q_2IF92ZtclS7WrBl%3oG4K_+Kt(=7E#>Ht<9G0XBROVzBy#jw-Dp{{ zu_0Nltd7d}vcfgKo6s%L!Ueu!7pP=b^+iSscO3kkfy=hBUTQNA9T(@>U-JC6IvNr3 zyaw5xA$y{(k*BRN0h82E}^ zp#C3aUjk?46#jqiymRlJ+d9*TL<~)3i;@y822o^bK?_krkr)z6YDCT2m=cOGp-q+{ zsfa=gm5e1Kk+qbiq@FiVN3E*W0Qi0rV(J`H|(d8BP)4pkE%v&#-PSJrNLaM@e*)e z2uL0s9ez#9b0qUP!)Y7~`Uj{n_Gn0>RkhM*uAHhGlm^E)*UY^DmRU}fqf0d|6wX{7 z@-TBhg8qA|iq8(I@`DsxVSa0_!S?0I@ui91!JjOYc@QuXXvu{cM;tZjAa;X;8AzT+JvJ9-szmIt zqr}rngWjjA=PE(93Xohlx)kF=;aprq9(pdV2)!j>V#`Chu&N&M4$Gygb4!EOPE~WT zoCt_2N0(|`D6DFpQ#BIwBd99grs~_`sMC&fK2zxt<3fI%)2TG0A2i80=T~rSA(vE(j{9uGl48oZPy4dcU=0b` z2i7ZYXwm_3gQH6|E);gdTjZg~hlBoZz{F3~J;c7ro{0gtovG)kPVBj%&VHp?Elvx& z;VB4s0uVPiV(hzCw*B3(45Uk_)4Jg|ZADXz3wbv@H7;WyG+8%*V+*-t$?j||AF0NL z+|PSP-Wqqz5;AclRi^|l0c7ZRIsz>j;n1%S0#^bu&KQkA9$<$+XZYR16+G23wlrF& zrOKNDqG>>K(6S1#6+nWtBJ3Z;eg|}Xc8-_kLVkRfUmER4$s9sX9EU+2Amg()5SYgZ zhmgAv_!F=h@2uidjSKmOz{1k#TxV#jQVer}q@hbZMO-&?Hr%-gtb80BnoUF1huZo7-P34K|XH{yrN-Z2~g-fH>CCr5YCsLXJJ2Jap`vpnrqHnFhjM1MvM#j_quyr#-hg@Ty^J`_A+qc2%DaPC9iD1%4{-y}I zRjgYgXzp)ZsL=1U{N46>Dk*ulCU1=3SJ1zdioeyER-~Wfc+bN+H467yyr+-H<0g&m zDhbVR+E@AsMy_aUYgei4%{_7>1@e>jwyp_tL*i*lVlS=0j5n>PF5>Y@i{4cPkfy60 zjKyA7DlxIQE_czyk(Py5Z;aQ+ywc(km4r`4X|we?^}nXiWm}w;opzM2Z!rrWNIGw3 zOLL1@J${UsKb1|kyhfVAF8}~ZqH=3m7YJ`S- z;dRSqcDWN|Q7CL(i+Xm(1H+O=A6ZXe-v;uMt{zsw3m_ZrXxS%7r$C8(`9o z)R7~t9;na#PuHcLrm3_&Pg7YKZ`J42GfAKGx|iqlIp5Js_Bjhog^oK}VBWWn)oCqs za7l&@%7B;pkWLhMDM^j9nBD)r>|}uUPp)jxzJzUfj_BFovnki<1AkH>Fkmly$*>P^nB35`2JD3|b?n2t9>-7*uou2$+K2x>fpbrQz3}A_`>G5huSMwzIz%IHNalEa+syO>{*;90_=q<*O%ypDmRw|cg(f! z=(t`3r-@gLdE{Jo(($AcIVe488cyE>9sg2Fw}EW!IquZsDfTLqH$n9VAY17jb0L+9Ah9yRS^ot{1u3s8W3Pi;BR`ULZN&_+Naj?P8;&44)C(WDs{vOIRd{Y1zY zN6!TPbil-O=34^iXtWjZA06F5)#2_1s=K)4$eV;6Ngsf9CE3N%*-D7DYZ6{k5}!jt z`sEK0Z3Plc5$7B+3o{2moHGc40f0LCBo!1G7xEMIOV!cSK>ZBa`SD~G0`Dglgi*(o1PwaEDBjfF6;$T|38u(R-Rlwi1dyA$XDDaHxR8I{a#MHF zd78N{vvJ1|AhwhsFqRS8vL1oY0aJ~pl)oC#sU~9bXo}p_9e2jGejb}8fCST$H+4Vf zc`C&GE78&IIvw? zD18Tkw}1o*T5-f#-#htgIrV%!awj1{W86iMu1QJi8I zY7w)$V~*u7V|?aKbRl;XCv<1`m5|sAu-A2OQx^6i(l3O6>sm^!iA_@)9?wA8eq7(A z`+W>sw%H@UzN|YsY_$L#+tfoz$4T3>pn00AU=iI@o$DEvTB50S<%<76lh|3}46!7a+jYTCUfEh{@Mt17&)=^U#yQ0e%cDM~-J zq*r=ps6}wNoVbe2!CpX++Y?tO ztCHl2t5*6X#ki1NBu15y6IU-lnw+?53_;m|J#lrOvf(BnDwY#hJ1zt%Ph52c*#&@{ zxSET=3qXQ|a^mW+S8>c3kP}w}5$MYZPh7o+z!E@CTsaj{<3i4Z_QX|3s^f_(GZz~? z!DUZeUEnih;5vKaY79x`$EiTt5J)ghPF!7&SRVi*&VI_t6IaiI14STw;_7xye#<7I zrC@u3G8r4LDRSbf?yCW7gOL+gmD)iZ^u*P^S1hGFab;(}EaXy^?pLWe^vjH#RubIF z0>P@Z90tD)NL6xl*d+}*R;7NVV^uozHLPI+_*HGSDqNLB%Ve*mf?7^52{t(`{lR$+ zApNwXiy9YlZ-W{?aT*^7{bbR2_kJ2>$(7aUC9iP`^pJTNn*a%>NHOV7t-2ui5vD@d!YPRb}Sw(E!KS8OnO^$~55&IR84z0r? z>~;sFLz{^}IUpUHQxWyboCj@(R*&k~p~V*C^#Zm-8|pJuPRryr_A5xr4y`H3jt3G< zlMZbVV*SaCtAmx39okTE?AM_^p~(;0Bw3Z=4@_WKswvW;{W>pzFzwK8*E)UB4(_u0iKF{_a8gUw~NUXi`lw zM7LP0K6O^Lcn6IaVB!P!vxbQomq4Vl&K zT^!y4qy=y^I7a!8Z2_*KEIMccXi5MRUpf~az@O{=Z9~Hqz+zRAFnz%uxuGPeahaO( zEm+q9Vv3`yVJfJ`ou)ix3ARrF;vq*<%S(0Tn?r=1&a45TzaGG^R{gIY!dWVsHJ~JT z#+fw{tVMvB)mAfxrE;uQc(c-$!aIPNV~j{y@uM-6eMKxUVcuXL^AxcEjxK3|1q5_HFTIg|1t58GG%@2s z&Hxsj=9DWX8uVp=iEmKlE-zA|(_DS$cdk4zNrP7~$9?CzEU4D91PkaXY47ZJC%Y@U z9ArE%jQ_nh{H9hJD*5rCN?IRWNi8iiWIU?J!K^#x;EZl{l#Ev#gi*c^@r&GkxjI^3 zI2X!?TR!_KNl3eL?vnPA(opuCgUAl5b+AS)*-v;6eFGH!xeAvb*R`wra##FZrJ?Y2 ztZyIqKF&X=@OV@0X2^ITQ{#iW$+S769R^@aishE}GL_I(D@A0=fWB^leM#{wF0d~^ zNtz2Z7&!*zcS-Tvyi;}`9{jX?lxC}y%uii!MGT>FlzV9RbKbqCc2K!Pbj{Ej-N60vuH;1EOx ze~8Wm2#!Hy9ReRPaxx-gDjS+%K+pz}CLiIA0!MX1WZ&x{m()=IV7XF5eko~ZQLwbP zx?~EN9|I&S?;@~>5zhI{#|_P1M9k4$Av+IN4!^RF3A!QD0ZDBEnP^|)6)k2ScNayw zf=)(1&w{2LkfzYl1;&NKO<`N|uqpfs^j`udUar}3O(DCh_&KVr;cxhvNPcWg-(xe) z=5K^)+`9xXteL*Y4JrY%4Vt#KDEbD}*sHbpL^2(Gf`ud~luYL!(iVUKuKFGNh6*=X z5eNv1gQk3c9NFc8Y6Kv8b9AYmBb>K-2o)zUHIei@&gH^994X=ysjD2?vyE_@?687heq{I7j&&2CM_Bw?IVZCU+&@AcVw?SEC2|}aqjbqRNj-IN#JG?R#kt6N zpW>V@Q2jPU5+sm0NEsfL0x}0#fWRC^xTu!426YXPIfxS-H7?}dfSrR(q$RSbR_$ik zbCNF^IkZIP9`BHZbB_d{9a>1UP1@N?$+^b2pxAG&(N&Z8*d!D|t`cyr(MwZgu5rD- zZ&^HhKqCj8YfMrnySauJXa^@VH5m(|H2m-4;0HR8BmW-oMOQ!uCyoyL>_F!SC)1EV z6_8TvXyV3&oXVQjq+H{)JIbi% z32R^Ew2uY-1EM`|Kkdx0bT}1Wy9*uaw0~S2Jpw&)^6I}AAZivM4a^n`pq9)k`(yuUvb)v^zd-GFNdzrn+Cd|10!esbmF@A0V? zu%G4Ai{&R*HvfPjK45=`CBw2G^%Ksx{fLLN$zI1k?7IoZ1NL`VGVQ|-oAE6Uu)o7{ zh?V)?7JNto^i#hbW<2=|J~{*XsoxGr#{7ou(13pGx0JKCHZ=DE_3t?ZUOJ{YX!cJa zZ@&JaD1VVD#nHBV>;pSwc@9IC>mLQ_sN(pdz!taqeY=44f#Uc+C9VH>Pf)yE9IV@G zc{9s;rI=T*#TRP%{gq3LGx;)l{DFhnfc*Z-Z~t0S9Ki%_q-$~Q$)K0tUl|XYae(~( z%1Q*51F@%4t#D+7z;w^I(sZ!^I$9gu$eLj+bb!of<79asVfZ0%gH;sWDBemHnzar|v3?m{qh z0z}+x2n=R~;$B4HIlztrHhXb-%vo-6yan7NjoWV^+6>snP3fX0$zfXswx>sthmBj~ zo%rAcnE1u}0!ep`8_&B%KV1!XvxDx6wJX@#fL>wSK_i*@ZLiHA)4;_(E? z7xcRU6Cb0-Rq+y!<6Q3fUC4SH2HshmSxQM`;B+JnJ&~yxgz%#$D=o> z$>)Qi10W_lN-U9im6nMw_Ah7hAkg1PMX`-aMw6{~T;0dD*7QzZaXi%*B9=Ww@hj zZI9LWedR#6$0xry%J%h;zwy%oz!6+PjA>KM=Fz?azp)DBGT=G`w5OAvBcSS@-i7L_ z9zXcH8njmdQl=bL;5oxDx-)E(7kxkI?*mLMOBKkAMs{4>W#@z&U3Q9Xc4mTYIw09O z&YR~#K06?n?0f*)m855OntFN{Iv_iLfOab&*>P03rBFG;*{KiPBs+)g##a}>#LlUj z9odL5R2xvt*Ser!wJEMX0*uM;Hf_OqCLlZg9Wg!;p~G@J{re&L8UWSq4-DW(@3Ce? zOkWU1+7{RUou=?w^Rb|M07x)Jt~H;H*epPJxLv*z zF%3k|012juoE3<@2Z)?M5cmy%Aby^nt#)CT2L<&kuJ$7YC7s)BFZMqH@=?qYM?IUh z0*$nOp1vHU-2vCW`SOy>HsRUgpvNHOloNmvpt>87ao4D4Wi@W0I+x`iJ&lnf-d(@f~2h%Bue*OYdJ_p1<<{zwSFhW1KL*xv=$mzM^ zDh@}lG~^GF9bX)z+zfF%*l-URh5>T0p&WrH8R5Z(We6+*TkkBYV~0Hf9A$t>o3A!; z@_jXut4_XKt#Bp}F?lxCZ(gypso2L#!AW>pgMS0j$RCrhI5>TyP-hqKppk>k(`CrB zPNfGX{c^bMl;Yr`TaX79`US9mE+B>8(M635`Pzi>!|CKXgRI5&pHTq2WrRz5SRtnG0)*%TrQ1mT^!`zs_xkiqMrfz)aU3@O(p0! zq`HuFbjb}twz(F-hP9AOu0=8j4QLBu^8%YGJN{wMeY00`tp zvAJr>vtXS9h$-W|DHT-XK8vNrARZ7?91V`asVTXXMK9e1n(Ig#e|kStIHRzpO!cNT z>j_g{C=L$2O-*?NtaAV{Wx6*d4|Lv?2JvijI3VTO(F7(Lq9WUf$0?U)T@L#0fQkJY zGE41w-P=<^dtNLKUU2q|1kc@o*t5vnvo&nbDx|*$*iJ=h0^_JttvOPd9(DGlre&KH zz{G1tEJ3(_SvRfmW@T|&{Zetz?sj!kQ?NDx#H=s9S$#q0-E;p1GGJmotGG$-f_y;RtQ6xynllq=Rh)4>k3kA_HZk9 zZ)Boj@wxAkFdIq#fM^d8e?e*d0KHyvRXGuKHg3i&0_S^y%_uOt_}oLVrX&JSOk|tm zf%y9WQQ%B>0?(vfwb!;Xar`#*Nf5&YQ#5d~2le@RSXqg=m5>h@`6ZN+mZ?qP)lKS~ zLBcMZj?((*bDoYFZJ%Swjs{|!jlTqK{v(!1<~$SpR-t|gh`Ap5id*WZF=-=ZVAj)z6NKApgF zbD=2CZDxloZMblazsQukUvi%YZ!UbEp9bgPP4xg8?Bdy*n+uoFyzw=&&8SsT4NP^;E3JiNs|Y?Fb~la7ayhg|x4Q?E zM%9!Rzaj2H`KX$YlI0HfVCJZrQ~6-1dr&dTuJYY!A3SwPw&@JioJ*>^9M$|$c7^Zm zLUH3ihh>|Mfc>TAVU}w2;n`+WJv=-YYq*i&_Tg7YXPesryB2tlWp9w3ZMHYWLwOq` z3gvC=ZIo>)0lOA>ucbWsI5f>b{oiIm=Jvwq1I_IVsQ+3a9yBV7{?$q!+`!LLhZRNl zo~jQ%{t*-_i-KcY=mS{-{In=ouMaYFeh5s#UG9*|tU~z-=1s?En;(G8N~Es1)6Mvv zFRacNnRP<8ISP;#s_$u5GK$HM0s5Z8>eXdAo(G#&)dydmG4Xwkg0b@i=F$v(7x^q-;|M5NCeg(mAs)Xd@s=I@6^ErW|Q>W(2a- znSIZ!>P*?sA*Xugdy$neF0!^TD+g@i%r;Pa24J1}mJ*^hr|vHbs~3`xBe82i)E7uF zMI2C!*cd<@unvLG0d?k56%-g3^3MEHomsaj+yRKJwg|Llgw7m>z)*l|fxiT%{cz{Z zGmB(_coEX(0-1Tg1}1Nqb7s3D`JvBNCuf_J0deNXr(2)I3~3`Eksm-|1-5 zj0>egHUH?~n;>8M&efn_1(PAqc!Au(@0xnmI7CT`hBwV_|zW= z{Kg0!eM+-zb0R=T{~ef#_c%viW*vPi(gp#Uxw`}N8D4`ur`E$ddKOZq0pjTO9bBm` z2W+|c+<;Hr|ip$j{H~n zkdyXf1lS9JGi{hP-C2_*_AnFe!m?EAiMXUf2PkfEQmwuP#B_d?0fxQd=X{di7cB)eBo> zoAUwj>Ywdh@g;2pB;wTvke&xf@pUx#6;-7UpqhX5@bQo@9$pCg*8vkt)6B^<#(H?I za^h4k^-L`~vY+t5!{37E8}f;VzfnS5%0a@Xi{j6bki{%^8eTJyV2XI<6vU1P#4Do^ zxCc-VZ}hghkT18-sD~GTdLG$XZZ{zC6(jU;gO(^Q06d(7rKW2}IuBP^5BEV@FCeoL zsZ;ND9-d=8{3uc$0>s0|baEahZ3HCZ;g6910U#cBG-<|#!X7S$eDQFi6^5pOiQg0| z!yLCIf2KXE>aadebrnTNt`K%O`ed-4M0Rm>O(o=ZS`fZm6wgF1#nIhC)D=iDMVvDN zu{!~A&ME}n1Ju!ns-VEQke_J3qK=N8jyDI0tfmMY&j=lT69P8?Fp7s7*XXFvn6j^6 z)T4#*+wx!(4~D!3s_8(2DRMAmU~5d>0XZ15LpgEoOhZ)SGM)-4NZ}QAy+zMmV;~okSIr5@?gk|o@Xn0v!|I+C>} zkkk-J@VPw^lG@I?&riwR!Ah|tHcdt8VUVBoogH`>q?!&xjj5o{$%UDR-=|LL2aSCI zamwQeJW3NtCQkVrv5x?8iW8G!Tu6PQr)7TUTcT64+hv<$0h4jGY7U@}bqu4Ocsj+3ycXU|kSB_M*gpKK)Q6wLw^F5xm^{$=wS!aJV~hkyo*hkKk|C>J#y^zHJl_QRfq;qq z6UwvNQ=xkB)tC0{D2yiVS9=};&p1Hrnd|M@8n)*iN5PKX=U|c9w-wyp# zM7i|O`=DPA;An5i9xa+`)*q_Qm@=C6S7Ef-1L~%&VEqLUv;OjCEe@M?LQb}642W5d zCNRlR^0gg9xisrq(DwyQtY*k8wdW9>BjO`1?b%frUGD5D1kV^i>^a=iWo-z#>0P8R z0>mCi6Bri?yXj?T&mPeK4VZXN$R4_hE6?`(K%uHb>4v&UdQs-?F~|c_$#> z2kt~5ml1v+co%_1K!QB-ec)fj{s!dxz$NEon@)hVH%>udT*!Kk6J>rMxQ6Q3-b@C^ zqku`9r8e>Vz(^#+;?T*~R&QuB`ucL4s%L??sg73~#okp4`9AQ^dA8Z$_kqfT(|@2H zx9sElMI-Omfsnq8pZ$$ZC~ zsijpKI4(H5>@?9;2F!`R4V9h8kp2iDRymr$Bt!O% zu!{Zatoj)Am4JyQw1d(yEbYnhdb&VQ2NPAWn1xFUBJyXCl2@rd(_V#QD+w&RH zKL*4eM-!N2C}~ek%B4NE&O`YIOl-q}_S~g;vu6hArvWDR!GZRadH>|np30)&+(PxwYVfQ8#GZ$}J>_A0 z($2@A6%czIO<-Io)tV!7pr({d|KxzaJz(OCL-r)w9u}k7-mFTR^-)pqr88>)So;HF zR)sgqd>?YtRHQ!vh*^#%Fv(ETO-r0vUx5B|0J~oIGs{jKXqH>6!%23ii>xUMt}jw= znU2|JFWAMb@4Q*LVYAKzO)Eg=;f@Aokp?yFQp%!-ZU;>+VB)8QY8X9aH{jBgJzm8I zn(`SczB6SqSRV$&6yulh(y{*L3(_Y@{}2!lIU4lvN*#W2KRL6icS5@kV5k0m9+E{a zIe^v7t8*b+CDEqOD6HGO7&+tttY#2%GDXSn78H1`xm>wiQrIY;g#7&814Net@_l;* z0>c^M_wA<E6h48u?yfBD+M5ECo>skh~yv4q`6@3DSyjn-Kd9fHeN7!b>U*AKxkM z{ldgxN~1y3F3dL1012juRVxsC4-l)iBJdlaX3h6znV%qNWntnCXVwv&F+m5CX5}E( z9!QW@%o>VVe*n_BC*U1#Rx?UlRap18aWIR0e(Q^}O*26H{Bi^)F~UCIT#TZRNP;}l z=eNg`R)F;RPb2UcAbq}55cR5{TK;UG-<|4Y;&lloUf?om->XgR^KVD;etrH=t@na43ELKBbU8|6;9C?DLl#oPOHbw#-VOf2L0H{W>ODFM1Hhaf-bgEIR?2 zO`dis3IvcKnan0{LF^_#-n0`F7#Gs)>TI$dh4M|$1jls1#LiR4+v&9IxESH{nnPng zDU8n}AHDk_cvb@9T}PK!gIxw zz;^;5b45p->e*7=+tjTV-9g%ws_ccU)4f++$T37dE3A7VG)coa92|F(OSTiF=;tI1 zPx&R_o5J`S5^{7m14K^&(#Xd>UDnT`Mn2IMRS=NU;AjHVmoz91iztg;=?R){fQio! zc_rB+v(TNUDvT)yd*r*qc+PmR^F>Sp>r_BqgriIG9N`ynDtV}KJ?Pg_W$fNi7iTB! zSNYsjQq}i`H79^AIcZPn20oxA_XIm)Y{}V-Y^n2)M{*OASw9Z*#^-=2@_S+Q*a_;# zZlJmZ5I>IensX`4ZObS@dI2CAbTolUhU}}SPctc(8C(MTcL0pKLOxY{%Dp}1v}bE! z^c82%7VvBY#GYy1p31O2jk;%>V*s(o(F7(LO4{>`v!@T}uLQ6+<3M|sdwa|l*t4xL zdd@@Yp9jE`2Z%kZygki8=l$~*(q9L}9!G;!d!-H+fEJWX|Lg?)pMZ(2uWApMINfJd zlvUbuN>R}FVeoN@v(aVf)PMw2WQp@-#AX1p#F_5D{kTxoCC(41pS^7M<=G|+kPfyl z0=*gGa_h?o%m(Zd=VEP>jLD-Zvc!3zGp5EB*kA%An3i1PT%kPJbw(ap;%q}6E^&?l z{XOJink;edMC?yMmN-B1`ZkbPmN+*|1TWj)hCPsZK-%9&5SRcYNNBHiL2MNu?XMG* zVqD0U3XH_$3b{8alYF@px$^}7wJjYVCL_&@YNtJ-4!Qywy8+^$ zG6YJ11j)ofs}NfTh=ZJ%sBxjH4*HsJj1D@y7j{DeCgUvC{0EY>OO6-l*Yg9HJ1xI$y@dARaFs_M^&d4 z)i#f+OP&JD1{-3X#@0J*}a^Of1=TtJS={;EvIH2V!qa!j_` zB;;ff-k{t`Hw&aQ0DFbcKBZ3{myNZy#XiNjklz|Echa2=X>x_nY6w{c*kiMYDjU8} zQL!AGEv3CYHv1RIwgGa5&-qtnn;alPLODJ=96Ac#L);$jX2O)8q=D)rhSivq?K$ zIXQ}N4UYXr@trj}b$s5aSPz@7Yj@bv80)Uda<;aeE{4hYyr)JEHa?Fx)Ol*vv$fnK zDZ{JlR4Q(`W^T?d3Ql_rdExM?*3}p`0n+U`x>S?*d#KwRi}aDC;|?1~6Ehn~gQ37t zl*Nj>2{hjUCZ4NJoLk1TyEQqyx?4@b%EDHd(xE7rPIk5xEw9145Fl-ZqlX<$%d}Q8l+l5?fKMuf&Gx=WreRvl&^WWT~c{26ipV zng)hsGcp3gh6B=!IO3RRQ@8jb;Z%@5Mg6u#7^CanI8I6FUl(3e`UEUxi?9k*O8{vR zPUx3yjsv7ca7@@RvJFhqA{;p-+#+-Z>7{^e5gt?}$rj;JeUf5asOqI&ohdDOfPT7? zM@%^tN=q<=cCsZH0X=t8mmHucfwTZC@n|U^EkONiu|FJ;7GMAZ{Q+qKoam@=Ay<;@ z0s1wxBzb`TIdAv|S|T++fFRN_49FO>9Dyl}aE!SgfiD1i6y-`4 zl4@MYFPaT2ijJW;ns~%@82tfB6LS!24~U7kBG4bOGW)7b452mTW!_U1{ldxI4u)+& zQf9sDF=zusW=90t0Csg~h)Tkpc7LD@j4aBiQ4ZUdT;p)(L2dAGK?tLo%hu%llFBYnFtb)*Gc}3BY zbQ#M z)3!aW#?-qB8+m~Q(~{G)QYjsvG@S9=p(=pa{=wt>Vm06R?^rYr}YrpaIh-}#kBr)fv(n{?AOJEY+N zql2bkfI%0P6{Ww#(m@AZ3yoI;;-D!AOac-l69=tD>|;P2;Pj7h0;Nd z24l4qFd4m+a59oOz`&R%zE;h4(=_{?n?tXglp347Xy=5Yp#HNE$trpg#B~CsiaNSf z&k?RLHORv%`T*!h(~Q_qZA|3zXewRuu&Tm(9#uV#o&RK`OJ;**1|Tl^8G&zs1j)oD zoo~T*Yd~D$#Nb2QL0vM5Lg|u8;CKWu88ejdc_hù%PJK8!E8gni524-<*;gdyK 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 z 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�g{_1@yclR$!GTv^>Vw+Vujshw?jt&bgi^ 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�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%0DxW07Fy0zR&uoiyO?ckbsq2{%ib5r)Ek;6DP7FA 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®d9!9d4ZvzQm^$d#ne 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%0D8VNZsaiPFjJHdL6=X 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 z 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≺fnZI3{Hrs*i^+(vg{7ZK-f$jAzt@p1l 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 z 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 z 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%0AsEfrJc<To0$4IHq}B* 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