From 8b004ec46d35e33a53b8dc7c2878cf2a78aad8e9 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Sat, 25 Jun 2022 14:01:14 +0200 Subject: [PATCH] Move files --- .github/workflows/publish.yaml | 31 + .gitignore | 1 - .vscode/settings.json | 1 + .vscode/tasks.json | 8 +- docker/Dockerfile => Dockerfile | 0 README.md | 35 +- ideas.drawio => docs/ideas.drawio | 0 {great_ai => docs}/open_s3.md | 0 .../scope-data.drawio.svg | 0 .../simple-mag/confusion-matrix.png | Bin .../simple-mag/mag-distribution.png | Bin {examples => docs}/simple-mag/mag/dev.txt | 0 {examples => docs}/simple-mag/mag/test.txt | 0 {examples => docs}/simple-mag/mag/train.txt | 0 {examples => docs}/simple-mag/train.ipynb | 9 +- .../thesis}/chapters/0_abstract.tex | 0 .../thesis}/chapters/1_introduction.tex | 0 .../thesis}/chapters/2_background.tex | 0 .../thesis}/chapters/3_methods.tex | 0 {thesis => docs/thesis}/chapters/4_design.tex | 0 .../thesis}/chapters/5_case/2-stage.tex | 0 .../thesis}/chapters/5_case/features.tex | 0 .../thesis}/chapters/5_case/introduction.tex | 0 .../thesis}/chapters/5_case/main.tex | 0 .../thesis}/chapters/5_case/naive-bayes.tex | 0 .../thesis}/chapters/5_case/refactoring.tex | 0 .../thesis}/chapters/5_case/results.tex | 0 .../thesis}/chapters/6_interviews.tex | 0 .../thesis}/chapters/7_conclusion.tex | 0 .../thesis}/figures/UL_PMS-kleur.eps | Bin .../thesis}/figures/confusion-matrix.png | Bin .../thesis}/figures/mag-distribution.png | Bin .../thesis}/figures/scope.drawio.png | Bin .../thesis/figures}/ss-confusion.png | Bin .../thesis/figures}/ss-distribution.png | Bin .../thesis}/frontpage/frontpage.pdf | Bin .../thesis}/frontpage/frontpage.tex | 0 {thesis => docs/thesis}/llncs.cls | 0 {thesis => docs/thesis}/main.tex | 0 {thesis => docs/thesis}/ref.bib | 0 {thesis => docs/thesis}/splncs04.bst | 0 ...example_secrets.ini => example_secrets.ini | 0 examples/simple/README.md | 7 - examples/simple/data.ipynb | 227 --- examples/simple/deploy.ipynb | 246 --- examples/simple/diagrams/scope-data.svg | 1 - examples/simple/diagrams/scope-deploy.svg | 1 - examples/simple/diagrams/scope-train.svg | 1 - examples/simple/diagrams/scope.svg | 1 - examples/simple/mongo.ini | 2 - examples/simple/train.ipynb | 1810 ----------------- great_ai/.gitignore | 1 - great_ai/README.md | 34 - .../great_ai/utilities/config_file/pattern.py | 18 - great_ai/pyproject.toml => pyproject.toml | 0 great_ai/requirements.txt => requirements.txt | 0 great_ai/setup.cfg => setup.cfg | 6 +- {great_ai/src => src}/__init__.py | 0 {great_ai/src => src}/great_ai/__init__.py | 0 {great_ai/src => src}/great_ai/__main__.py | 0 .../src => src}/great_ai/great_ai/__init__.py | 0 .../great_ai/great_ai/constants.py | 2 +- .../src => src}/great_ai/great_ai/context.py | 5 +- .../great_ai/great_ai/deploy/__init__.py | 0 .../great_ai/great_ai/deploy/great_ai.py | 8 +- .../great_ai/deploy/routes/__init__.py | 0 .../deploy/routes/bootstrap_dashboard.py | 0 .../deploy/routes/bootstrap_docs_endpoints.py | 0 .../routes/bootstrap_feedback_endpoints.py | 0 .../routes/bootstrap_trace_endpoints.py | 0 .../deploy/routes/dashboard/__init__.py | 0 .../deploy/routes/dashboard/assets/github.png | Bin .../deploy/routes/dashboard/assets/index.css | 0 .../routes/dashboard/create_dash_app.py | 3 +- .../routes/dashboard/get_description.py | 0 .../dashboard/get_filter_from_datatable.py | 0 .../deploy/routes/dashboard/get_footer.py | 0 .../routes/dashboard/get_traces_table.py | 2 +- .../great_ai/great_ai/exceptions/__init__.py | 0 .../exceptions/argument_validation_error.py | 0 .../exceptions/missing_argument_error.py | 0 .../great_ai/great_ai/helper/__init__.py | 0 .../assert_function_is_not_finalised.py | 0 .../great_ai/helper/freeze_arguments.py | 0 .../great_ai/great_ai/helper/get_arguments.py | 0 .../helper/get_function_metadata_store.py | 0 .../great_ai/helper/hashable_base_model.py | 0 .../great_ai/helper/snake_case_to_text.py | 0 .../great_ai/great_ai/helper/strip_lines.py | 0 .../great_ai/helper/text_to_hex_color.py | 0 .../great_ai/helper/use_http_exceptions.py | 0 .../great_ai/great_ai/models/__init__.py | 0 .../great_ai/great_ai/models/load_model.py | 0 .../great_ai/great_ai/models/save_model.py | 0 .../great_ai/great_ai/models/use_model.py | 0 .../great_ai/output_models/__init__.py | 0 .../output_models/classification_output.py | 0 .../multi_label_classification_output.py | 0 .../output_models/regression_output.py | 0 .../output_models/sequence_labeling_output.py | 0 .../great_ai/great_ai/parameters/__init__.py | 0 .../automatically_decorate_parameters.py | 5 +- .../great_ai/parameters/log_metric.py | 0 .../great_ai/great_ai/parameters/parameter.py | 0 .../great_ai/great_ai/persistence/__init__.py | 0 .../great_ai/persistence/mongodb_driver.py | 0 .../persistence/parallel_tinydb_driver.py | 0 .../persistence/tracing_database_driver.py | 3 +- .../great_ai/great_ai/tracing/__init__.py | 0 .../great_ai/tracing/add_ground_truth.py | 0 .../great_ai/tracing/delete_ground_truth.py | 0 .../great_ai/tracing/query_ground_truth.py | 0 .../great_ai/tracing/tracing_context.py | 0 .../great_ai/great_ai/views/__init__.py | 0 .../great_ai/great_ai/views/api_metadata.py | 0 .../great_ai/views/cache_statistics.py | 0 .../views/evaluation_feedback_request.py | 0 .../great_ai/great_ai/views/filter.py | 0 .../great_ai/views/function_metadata.py | 0 .../great_ai/views/health_check_response.py | 0 .../great_ai/great_ai/views/model.py | 0 .../great_ai/great_ai/views/operators.py | 0 .../great_ai/great_ai/views/query.py | 0 .../great_ai/great_ai/views/sort_by.py | 0 .../great_ai/great_ai/views/trace.py | 0 .../great_ai/large_file/__init__.py | 0 .../great_ai/large_file/__main__.py | 3 +- .../great_ai/large_file/helper/__init__.py | 0 .../large_file/helper/bytes_to_megabytes.py | 0 .../helper/human_readable_to_byte.py | 0 .../large_file/helper/progress_bar.py | 0 .../large_file/large_file/__init__.py | 0 .../large_file/large_file/large_file.py | 3 +- .../large_file/large_file/large_file_local.py | 3 +- .../large_file/large_file/large_file_mongo.py | 3 +- .../large_file/large_file/large_file_s3.py | 3 +- .../great_ai/large_file/models/__init__.py | 0 .../large_file/models/data_instance.py | 0 .../great_ai/large_file/parse_arguments.py | 0 .../src => src}/great_ai/parse_arguments.py | 0 .../great_ai/utilities/__init__.py | 0 .../src => src}/great_ai/utilities/clean.py | 0 .../utilities/config_file/__init__.py | 0 .../utilities/config_file/config_file.py | 0 .../utilities/config_file/parse_error.py | 0 src/great_ai/utilities/config_file/pattern.py | 20 + .../great_ai/utilities/data/__init__.py | 0 .../utilities/data/american_spellings.py | 0 .../great_ai/utilities/data/punctuations.py | 0 .../utilities/evaluate_ranking/__init__.py | 0 .../evaluate_ranking/draw_f1_iso_lines.py | 0 .../evaluate_ranking/evaluate_ranking.py | 0 .../great_ai/utilities/external/__init__.py | 0 .../utilities/external/negspacy/README.md | 0 .../utilities/external/negspacy/__init__.py | 0 .../utilities/external/negspacy/negation.py | 0 .../utilities/external/negspacy/termsets.py | 0 .../utilities/external/pylatexenc/README.md | 0 .../utilities/external/pylatexenc/__init__.py | 0 .../utilities/external/pylatexenc/_util.py | 0 .../pylatexenc/latex2text/__init__.py | 0 .../pylatexenc/latex2text/__main__.py | 0 .../pylatexenc/latex2text/_defaultspecs.py | 0 .../pylatexenc/latexencode/__init__.py | 0 .../pylatexenc/latexencode/__main__.py | 0 .../latexencode/_partial_latex_encoder.py | 0 .../pylatexenc/latexencode/_uni2latexmap.py | 0 .../latexencode/_uni2latexmap_xml.py | 0 .../latexencode/_unicode_to_latex_encoder.py | 0 .../pylatexenc/latexwalker/__init__.py | 0 .../pylatexenc/latexwalker/__main__.py | 0 .../pylatexenc/latexwalker/_defaultspecs.py | 0 .../external/pylatexenc/macrospec/__init__.py | 0 .../pylatexenc/macrospec/_argparsers.py | 0 .../utilities/external/pylatexenc/version.py | 0 .../great_ai/utilities/get_sentences.py | 0 .../great_ai/utilities/language/__init__.py | 0 .../language/english_name_of_language.py | 0 .../great_ai/utilities/language/is_english.py | 0 .../utilities/language/predict_language.py | 0 .../great_ai/utilities/lemmatize_text.py | 0 .../great_ai/utilities/lemmatize_token.py | 0 .../great_ai/utilities/logger/__init__.py | 0 .../great_ai/utilities/logger/colors.py | 0 .../utilities/logger/custom_formatter.py | 0 .../great_ai/utilities/logger/get_logger.py | 0 .../utilities/match_names/__init__.py | 0 .../great_ai/utilities/match_names/config.py | 0 .../utilities/match_names/match_names.py | 0 .../utilities/match_names/name_parts.py | 0 .../great_ai/utilities/matcher/__init__.py | 0 .../utilities/matcher/fast_tokenize.py | 0 .../utilities/matcher/filter_sentences.py | 0 .../great_ai/utilities/matcher/normalize.py | 0 .../src => src}/great_ai/utilities/nlp.py | 0 .../great_ai/utilities/parallel_map.py | 0 .../utilities/publication_tei/__init__.py | 0 .../publication_tei/models/__init__.py | 0 .../publication_tei/models/affiliation.py | 0 .../publication_tei/models/author.py | 0 .../publication_tei/models/bookmark.py | 0 .../publication_tei/models/bookmark_title.py | 0 .../publication_tei/models/element.py | 0 .../models/publication_metadata.py | 0 .../utilities/publication_tei/models/text.py | 0 .../publication_tei/publication_tei.py | 0 .../utilities/publication_tei/templates.yaml | 0 .../publication_tei/titles_of_interest.py | 0 .../src => src}/great_ai/utilities/unique.py | 0 {great_ai/tests => tests}/__init__.py | 0 .../tests => tests}/large_file/__init__.py | 0 .../large_file/test_human_readable_to_byte.py | 0 .../large_file/test_large_file.py | 0 .../tests => tests}/utilities/__init__.py | 0 .../10.1136_bmjspcare-2021-003026.pdf.tei.xml | 0 .../tests => tests}/utilities/data/bad.conf | 0 .../utilities/data/bad.tei.xml | 0 .../tests => tests}/utilities/data/env.conf | 0 .../tests => tests}/utilities/data/good.conf | 2 + .../tests => tests}/utilities/data/parsed.py | 2 +- .../tests => tests}/utilities/test_clean.py | 0 .../utilities/test_config_file.py | 4 + .../utilities/test_evaluate_ranking.py | 0 .../utilities/test_get_sentences.py | 0 .../utilities/test_language.py | 0 .../utilities/test_lemmatize_text.py | 0 .../utilities/test_lemmatize_token.py | 0 .../utilities/test_match_names.py | 0 .../utilities/test_parallel_map.py | 0 .../utilities/test_publication_tei.py | 0 .../tests => tests}/utilities/test_unique.py | 0 thesis/figures/ss-confusion.png | Bin 164208 -> 0 bytes thesis/figures/ss-distribution.png | Bin 65683 -> 0 bytes 233 files changed, 117 insertions(+), 2394 deletions(-) create mode 100644 .github/workflows/publish.yaml rename docker/Dockerfile => Dockerfile (100%) rename ideas.drawio => docs/ideas.drawio (100%) rename {great_ai => docs}/open_s3.md (100%) rename scope-data.drawio.svg => docs/scope-data.drawio.svg (100%) rename {examples => docs}/simple-mag/confusion-matrix.png (100%) rename {examples => docs}/simple-mag/mag-distribution.png (100%) rename {examples => docs}/simple-mag/mag/dev.txt (100%) rename {examples => docs}/simple-mag/mag/test.txt (100%) rename {examples => docs}/simple-mag/mag/train.txt (100%) rename {examples => docs}/simple-mag/train.ipynb (99%) rename {thesis => docs/thesis}/chapters/0_abstract.tex (100%) rename {thesis => docs/thesis}/chapters/1_introduction.tex (100%) rename {thesis => docs/thesis}/chapters/2_background.tex (100%) rename {thesis => docs/thesis}/chapters/3_methods.tex (100%) rename {thesis => docs/thesis}/chapters/4_design.tex (100%) rename {thesis => docs/thesis}/chapters/5_case/2-stage.tex (100%) rename {thesis => docs/thesis}/chapters/5_case/features.tex (100%) rename {thesis => docs/thesis}/chapters/5_case/introduction.tex (100%) rename {thesis => docs/thesis}/chapters/5_case/main.tex (100%) rename {thesis => docs/thesis}/chapters/5_case/naive-bayes.tex (100%) rename {thesis => docs/thesis}/chapters/5_case/refactoring.tex (100%) rename {thesis => docs/thesis}/chapters/5_case/results.tex (100%) rename {thesis => docs/thesis}/chapters/6_interviews.tex (100%) rename {thesis => docs/thesis}/chapters/7_conclusion.tex (100%) rename {thesis => docs/thesis}/figures/UL_PMS-kleur.eps (100%) rename {thesis => docs/thesis}/figures/confusion-matrix.png (100%) rename {thesis => docs/thesis}/figures/mag-distribution.png (100%) rename {thesis => docs/thesis}/figures/scope.drawio.png (100%) rename {examples/simple/diagrams => docs/thesis/figures}/ss-confusion.png (100%) rename {examples/simple/diagrams => docs/thesis/figures}/ss-distribution.png (100%) rename {thesis => docs/thesis}/frontpage/frontpage.pdf (100%) rename {thesis => docs/thesis}/frontpage/frontpage.tex (100%) rename {thesis => docs/thesis}/llncs.cls (100%) rename {thesis => docs/thesis}/main.tex (100%) rename {thesis => docs/thesis}/ref.bib (100%) rename {thesis => docs/thesis}/splncs04.bst (100%) rename great_ai/example_secrets.ini => example_secrets.ini (100%) delete mode 100644 examples/simple/README.md delete mode 100644 examples/simple/data.ipynb delete mode 100644 examples/simple/deploy.ipynb delete mode 100644 examples/simple/diagrams/scope-data.svg delete mode 100644 examples/simple/diagrams/scope-deploy.svg delete mode 100644 examples/simple/diagrams/scope-train.svg delete mode 100644 examples/simple/diagrams/scope.svg delete mode 100644 examples/simple/mongo.ini delete mode 100644 examples/simple/train.ipynb delete mode 100644 great_ai/.gitignore delete mode 100644 great_ai/README.md delete mode 100644 great_ai/src/great_ai/utilities/config_file/pattern.py rename great_ai/pyproject.toml => pyproject.toml (100%) rename great_ai/requirements.txt => requirements.txt (100%) rename great_ai/setup.cfg => setup.cfg (89%) rename {great_ai/src => src}/__init__.py (100%) rename {great_ai/src => src}/great_ai/__init__.py (100%) rename {great_ai/src => src}/great_ai/__main__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/constants.py (93%) rename {great_ai/src => src}/great_ai/great_ai/context.py (98%) rename {great_ai/src => src}/great_ai/great_ai/deploy/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/great_ai.py (96%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/bootstrap_dashboard.py (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/bootstrap_docs_endpoints.py (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/bootstrap_feedback_endpoints.py (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/bootstrap_trace_endpoints.py (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/dashboard/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/dashboard/assets/github.png (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/dashboard/assets/index.css (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/dashboard/create_dash_app.py (99%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/dashboard/get_description.py (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/dashboard/get_filter_from_datatable.py (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/dashboard/get_footer.py (100%) rename {great_ai/src => src}/great_ai/great_ai/deploy/routes/dashboard/get_traces_table.py (94%) rename {great_ai/src => src}/great_ai/great_ai/exceptions/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/exceptions/argument_validation_error.py (100%) rename {great_ai/src => src}/great_ai/great_ai/exceptions/missing_argument_error.py (100%) rename {great_ai/src => src}/great_ai/great_ai/helper/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/helper/assert_function_is_not_finalised.py (100%) rename {great_ai/src => src}/great_ai/great_ai/helper/freeze_arguments.py (100%) rename {great_ai/src => src}/great_ai/great_ai/helper/get_arguments.py (100%) rename {great_ai/src => src}/great_ai/great_ai/helper/get_function_metadata_store.py (100%) rename {great_ai/src => src}/great_ai/great_ai/helper/hashable_base_model.py (100%) rename {great_ai/src => src}/great_ai/great_ai/helper/snake_case_to_text.py (100%) rename {great_ai/src => src}/great_ai/great_ai/helper/strip_lines.py (100%) rename {great_ai/src => src}/great_ai/great_ai/helper/text_to_hex_color.py (100%) rename {great_ai/src => src}/great_ai/great_ai/helper/use_http_exceptions.py (100%) rename {great_ai/src => src}/great_ai/great_ai/models/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/models/load_model.py (100%) rename {great_ai/src => src}/great_ai/great_ai/models/save_model.py (100%) rename {great_ai/src => src}/great_ai/great_ai/models/use_model.py (100%) rename {great_ai/src => src}/great_ai/great_ai/output_models/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/output_models/classification_output.py (100%) rename {great_ai/src => src}/great_ai/great_ai/output_models/multi_label_classification_output.py (100%) rename {great_ai/src => src}/great_ai/great_ai/output_models/regression_output.py (100%) rename {great_ai/src => src}/great_ai/great_ai/output_models/sequence_labeling_output.py (100%) rename {great_ai/src => src}/great_ai/great_ai/parameters/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/parameters/automatically_decorate_parameters.py (86%) rename {great_ai/src => src}/great_ai/great_ai/parameters/log_metric.py (100%) rename {great_ai/src => src}/great_ai/great_ai/parameters/parameter.py (100%) rename {great_ai/src => src}/great_ai/great_ai/persistence/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/persistence/mongodb_driver.py (100%) rename {great_ai/src => src}/great_ai/great_ai/persistence/parallel_tinydb_driver.py (100%) rename {great_ai/src => src}/great_ai/great_ai/persistence/tracing_database_driver.py (97%) rename {great_ai/src => src}/great_ai/great_ai/tracing/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/tracing/add_ground_truth.py (100%) rename {great_ai/src => src}/great_ai/great_ai/tracing/delete_ground_truth.py (100%) rename {great_ai/src => src}/great_ai/great_ai/tracing/query_ground_truth.py (100%) rename {great_ai/src => src}/great_ai/great_ai/tracing/tracing_context.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/__init__.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/api_metadata.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/cache_statistics.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/evaluation_feedback_request.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/filter.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/function_metadata.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/health_check_response.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/model.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/operators.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/query.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/sort_by.py (100%) rename {great_ai/src => src}/great_ai/great_ai/views/trace.py (100%) rename {great_ai/src => src}/great_ai/large_file/__init__.py (100%) rename {great_ai/src => src}/great_ai/large_file/__main__.py (97%) rename {great_ai/src => src}/great_ai/large_file/helper/__init__.py (100%) rename {great_ai/src => src}/great_ai/large_file/helper/bytes_to_megabytes.py (100%) rename {great_ai/src => src}/great_ai/large_file/helper/human_readable_to_byte.py (100%) rename {great_ai/src => src}/great_ai/large_file/helper/progress_bar.py (100%) rename {great_ai/src => src}/great_ai/large_file/large_file/__init__.py (100%) rename {great_ai/src => src}/great_ai/large_file/large_file/large_file.py (99%) rename {great_ai/src => src}/great_ai/large_file/large_file/large_file_local.py (97%) rename {great_ai/src => src}/great_ai/large_file/large_file/large_file_mongo.py (98%) rename {great_ai/src => src}/great_ai/large_file/large_file/large_file_s3.py (99%) rename {great_ai/src => src}/great_ai/large_file/models/__init__.py (100%) rename {great_ai/src => src}/great_ai/large_file/models/data_instance.py (100%) rename {great_ai/src => src}/great_ai/large_file/parse_arguments.py (100%) rename {great_ai/src => src}/great_ai/parse_arguments.py (100%) rename {great_ai/src => src}/great_ai/utilities/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/clean.py (100%) rename {great_ai/src => src}/great_ai/utilities/config_file/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/config_file/config_file.py (100%) rename {great_ai/src => src}/great_ai/utilities/config_file/parse_error.py (100%) create mode 100644 src/great_ai/utilities/config_file/pattern.py rename {great_ai/src => src}/great_ai/utilities/data/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/data/american_spellings.py (100%) rename {great_ai/src => src}/great_ai/utilities/data/punctuations.py (100%) rename {great_ai/src => src}/great_ai/utilities/evaluate_ranking/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/evaluate_ranking/draw_f1_iso_lines.py (100%) rename {great_ai/src => src}/great_ai/utilities/evaluate_ranking/evaluate_ranking.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/negspacy/README.md (100%) rename {great_ai/src => src}/great_ai/utilities/external/negspacy/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/negspacy/negation.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/negspacy/termsets.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/README.md (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/_util.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latex2text/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latex2text/__main__.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latex2text/_defaultspecs.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latexencode/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latexencode/__main__.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latexencode/_partial_latex_encoder.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latexencode/_uni2latexmap.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latexencode/_uni2latexmap_xml.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latexencode/_unicode_to_latex_encoder.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latexwalker/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latexwalker/__main__.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/latexwalker/_defaultspecs.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/macrospec/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/macrospec/_argparsers.py (100%) rename {great_ai/src => src}/great_ai/utilities/external/pylatexenc/version.py (100%) rename {great_ai/src => src}/great_ai/utilities/get_sentences.py (100%) rename {great_ai/src => src}/great_ai/utilities/language/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/language/english_name_of_language.py (100%) rename {great_ai/src => src}/great_ai/utilities/language/is_english.py (100%) rename {great_ai/src => src}/great_ai/utilities/language/predict_language.py (100%) rename {great_ai/src => src}/great_ai/utilities/lemmatize_text.py (100%) rename {great_ai/src => src}/great_ai/utilities/lemmatize_token.py (100%) rename {great_ai/src => src}/great_ai/utilities/logger/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/logger/colors.py (100%) rename {great_ai/src => src}/great_ai/utilities/logger/custom_formatter.py (100%) rename {great_ai/src => src}/great_ai/utilities/logger/get_logger.py (100%) rename {great_ai/src => src}/great_ai/utilities/match_names/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/match_names/config.py (100%) rename {great_ai/src => src}/great_ai/utilities/match_names/match_names.py (100%) rename {great_ai/src => src}/great_ai/utilities/match_names/name_parts.py (100%) rename {great_ai/src => src}/great_ai/utilities/matcher/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/matcher/fast_tokenize.py (100%) rename {great_ai/src => src}/great_ai/utilities/matcher/filter_sentences.py (100%) rename {great_ai/src => src}/great_ai/utilities/matcher/normalize.py (100%) rename {great_ai/src => src}/great_ai/utilities/nlp.py (100%) rename {great_ai/src => src}/great_ai/utilities/parallel_map.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/models/__init__.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/models/affiliation.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/models/author.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/models/bookmark.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/models/bookmark_title.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/models/element.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/models/publication_metadata.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/models/text.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/publication_tei.py (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/templates.yaml (100%) rename {great_ai/src => src}/great_ai/utilities/publication_tei/titles_of_interest.py (100%) rename {great_ai/src => src}/great_ai/utilities/unique.py (100%) rename {great_ai/tests => tests}/__init__.py (100%) rename {great_ai/tests => tests}/large_file/__init__.py (100%) rename {great_ai/tests => tests}/large_file/test_human_readable_to_byte.py (100%) rename {great_ai/tests => tests}/large_file/test_large_file.py (100%) rename {great_ai/tests => tests}/utilities/__init__.py (100%) rename {great_ai/tests => tests}/utilities/data/10.1136_bmjspcare-2021-003026.pdf.tei.xml (100%) rename {great_ai/tests => tests}/utilities/data/bad.conf (100%) rename {great_ai/tests => tests}/utilities/data/bad.tei.xml (100%) rename {great_ai/tests => tests}/utilities/data/env.conf (100%) rename {great_ai/tests => tests}/utilities/data/good.conf (80%) rename {great_ai/tests => tests}/utilities/data/parsed.py (99%) rename {great_ai/tests => tests}/utilities/test_clean.py (100%) rename {great_ai/tests => tests}/utilities/test_config_file.py (94%) rename {great_ai/tests => tests}/utilities/test_evaluate_ranking.py (100%) rename {great_ai/tests => tests}/utilities/test_get_sentences.py (100%) rename {great_ai/tests => tests}/utilities/test_language.py (100%) rename {great_ai/tests => tests}/utilities/test_lemmatize_text.py (100%) rename {great_ai/tests => tests}/utilities/test_lemmatize_token.py (100%) rename {great_ai/tests => tests}/utilities/test_match_names.py (100%) rename {great_ai/tests => tests}/utilities/test_parallel_map.py (100%) rename {great_ai/tests => tests}/utilities/test_publication_tei.py (100%) rename {great_ai/tests => tests}/utilities/test_unique.py (100%) delete mode 100644 thesis/figures/ss-confusion.png delete mode 100644 thesis/figures/ss-distribution.png diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..4fe032a --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,31 @@ +name: Publish package + +on: + workflow_run: + workflows: Run tests + branches: main + types: completed + +jobs: + build: + if: ${{ github.event.workflow_run.conclusion == 'success' }} + + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + + - name: Install pypa/build + run: python -m pip install build --user + + - name: Build a binary wheel and a source tarball + run: python -m build --sdist --wheel --outdir dist/ + + - name: Publish distribution to PyPI + uses: pypa/gh-action-pypi-publish@master + with: + password: ${{ secrets.PYPI_API_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 16b3ffd..cdadf66 100644 --- a/.gitignore +++ b/.gitignore @@ -7,5 +7,4 @@ __pycache__ .pytest_cache **/.ipynb_checkpoints **/tracing_database.json -**/s3.ini *.egg-info diff --git a/.vscode/settings.json b/.vscode/settings.json index ee745e6..7528f04 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "cSpell.words": [ + "Analyse", "basereload", "boto", "botocore", diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 00c8480..9d64445 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -4,9 +4,9 @@ { "label": "Format and lint Python", "type": "shell", - "command": "source .env/bin/activate && scripts/format-python.sh great_ai && scripts/format-python.sh examples/simple", + "command": "source .env/bin/activate && scripts/format-python.sh .", "windows": { - "command": ".env\\bin\\activate.bat; scripts\\format-python.sh great_ai; scripts\\format-python.sh examples\\simple" + "command": ".env\\bin\\activate.bat; scripts\\format-python.sh ." }, "group": "test", "presentation": { @@ -20,9 +20,9 @@ { "label": "Test Python", "type": "shell", - "command": "source .env/bin/activate && python3 -m pytest great_ai", + "command": "source .env/bin/activate && python3 -m pytest .", "windows": { - "command": ".env\\bin\\activate.bat; python3 -m pytest great_ai" + "command": ".env\\bin\\activate.bat; python3 -m pytest ." }, "group": "test", "presentation": { diff --git a/docker/Dockerfile b/Dockerfile similarity index 100% rename from docker/Dockerfile rename to Dockerfile diff --git a/README.md b/README.md index 05ebdb4..20de423 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,34 @@ -# GreatAI +# **S**coutinScience **U**tilitie**S** for text processing [![Lint and test ScoutinScience utilities](https://github.com/ScoutinScience/platform/actions/workflows/sus-general.yaml/badge.svg)](https://github.com/ScoutinScience/platform/actions/workflows/sus-general.yaml) -[![Quality Gate Status](https://sonar.scoutinscience.com/api/project_badges/measure?project=great-ai&metric=alert_status)](https://sonar.scoutinscience.com/dashboard?id=great-ai) +> amogus + +## Exports + +- [clean](src/sus/clean.py) +- [unique](src/sus/unique.py) +- [parallel_map](src/sus/parallel_map.py) +- [match_names](src/sus/match_names/match_names.py) +- [evaluate_ranking](src/sus/evaluate_ranking/evaluate_ranking.py) +- [get_sentences](src/sus/get_sentences.py) + +### Requires loading spacy model + +> This is automatic but will require some time. + +> Add this to the Dockerfile for caching the spaCy model: +> +> ```docker +> RUN pip install --no-cache-dir en-core-web-sm@https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.3.0/en_core_web_sm-3.3.0-py3-none-any.whl +> ``` + +- [publication TEI](src/sus/publication_tei/publication_tei.py) +- [lemmatize_text](src/sus/lemmatize_text.py) +- [lemmatize_token](src/sus/lemmatize_token.py) +- [spacy model (nlp)](src/sus/nlp.py) +- [filter_sentences](src/sus/matcher/filter_sentences.py) + +## Development + +- Optional booleans must have a default value of `False`. +- No imports in top-level `__init__.py`, in order to not load anything unnecessary automatically +- Should only be updated through a PR diff --git a/ideas.drawio b/docs/ideas.drawio similarity index 100% rename from ideas.drawio rename to docs/ideas.drawio diff --git a/great_ai/open_s3.md b/docs/open_s3.md similarity index 100% rename from great_ai/open_s3.md rename to docs/open_s3.md diff --git a/scope-data.drawio.svg b/docs/scope-data.drawio.svg similarity index 100% rename from scope-data.drawio.svg rename to docs/scope-data.drawio.svg diff --git a/examples/simple-mag/confusion-matrix.png b/docs/simple-mag/confusion-matrix.png similarity index 100% rename from examples/simple-mag/confusion-matrix.png rename to docs/simple-mag/confusion-matrix.png diff --git a/examples/simple-mag/mag-distribution.png b/docs/simple-mag/mag-distribution.png similarity index 100% rename from examples/simple-mag/mag-distribution.png rename to docs/simple-mag/mag-distribution.png diff --git a/examples/simple-mag/mag/dev.txt b/docs/simple-mag/mag/dev.txt similarity index 100% rename from examples/simple-mag/mag/dev.txt rename to docs/simple-mag/mag/dev.txt diff --git a/examples/simple-mag/mag/test.txt b/docs/simple-mag/mag/test.txt similarity index 100% rename from examples/simple-mag/mag/test.txt rename to docs/simple-mag/mag/test.txt diff --git a/examples/simple-mag/mag/train.txt b/docs/simple-mag/mag/train.txt similarity index 100% rename from examples/simple-mag/mag/train.txt rename to docs/simple-mag/mag/train.txt diff --git a/examples/simple-mag/train.ipynb b/docs/simple-mag/train.ipynb similarity index 99% rename from examples/simple-mag/train.ipynb rename to docs/simple-mag/train.ipynb index a2e6ead..55d403d 100644 --- a/examples/simple-mag/train.ipynb +++ b/docs/simple-mag/train.ipynb @@ -67,20 +67,17 @@ "def preprocess(line: str) -> Tuple[str, str]:\n", " data_point = json.loads(line)\n", "\n", - " return (\n", - " clean(data_point['text'], convert_to_ascii=True), \n", - " data_point['label']\n", - " )\n", + " return (clean(data_point[\"text\"], convert_to_ascii=True), data_point[\"label\"])\n", "\n", "\n", - "with open('mag/train.txt', encoding='utf-8') as f:\n", + "with open(\"mag/train.txt\", encoding=\"utf-8\") as f:\n", " training_data = parallel_map(preprocess, f.readlines())\n", "\n", "X_train = [d[0] for d in training_data]\n", "y_train = [d[1] for d in training_data]\n", "\n", "\n", - "with open('mag/test.txt', encoding='utf-8') as f:\n", + "with open(\"mag/test.txt\", encoding=\"utf-8\") as f:\n", " test_data = parallel_map(preprocess, f.readlines())\n", "\n", "X_test = [d[0] for d in test_data]\n", diff --git a/thesis/chapters/0_abstract.tex b/docs/thesis/chapters/0_abstract.tex similarity index 100% rename from thesis/chapters/0_abstract.tex rename to docs/thesis/chapters/0_abstract.tex diff --git a/thesis/chapters/1_introduction.tex b/docs/thesis/chapters/1_introduction.tex similarity index 100% rename from thesis/chapters/1_introduction.tex rename to docs/thesis/chapters/1_introduction.tex diff --git a/thesis/chapters/2_background.tex b/docs/thesis/chapters/2_background.tex similarity index 100% rename from thesis/chapters/2_background.tex rename to docs/thesis/chapters/2_background.tex diff --git a/thesis/chapters/3_methods.tex b/docs/thesis/chapters/3_methods.tex similarity index 100% rename from thesis/chapters/3_methods.tex rename to docs/thesis/chapters/3_methods.tex diff --git a/thesis/chapters/4_design.tex b/docs/thesis/chapters/4_design.tex similarity index 100% rename from thesis/chapters/4_design.tex rename to docs/thesis/chapters/4_design.tex diff --git a/thesis/chapters/5_case/2-stage.tex b/docs/thesis/chapters/5_case/2-stage.tex similarity index 100% rename from thesis/chapters/5_case/2-stage.tex rename to docs/thesis/chapters/5_case/2-stage.tex diff --git a/thesis/chapters/5_case/features.tex b/docs/thesis/chapters/5_case/features.tex similarity index 100% rename from thesis/chapters/5_case/features.tex rename to docs/thesis/chapters/5_case/features.tex diff --git a/thesis/chapters/5_case/introduction.tex b/docs/thesis/chapters/5_case/introduction.tex similarity index 100% rename from thesis/chapters/5_case/introduction.tex rename to docs/thesis/chapters/5_case/introduction.tex diff --git a/thesis/chapters/5_case/main.tex b/docs/thesis/chapters/5_case/main.tex similarity index 100% rename from thesis/chapters/5_case/main.tex rename to docs/thesis/chapters/5_case/main.tex diff --git a/thesis/chapters/5_case/naive-bayes.tex b/docs/thesis/chapters/5_case/naive-bayes.tex similarity index 100% rename from thesis/chapters/5_case/naive-bayes.tex rename to docs/thesis/chapters/5_case/naive-bayes.tex diff --git a/thesis/chapters/5_case/refactoring.tex b/docs/thesis/chapters/5_case/refactoring.tex similarity index 100% rename from thesis/chapters/5_case/refactoring.tex rename to docs/thesis/chapters/5_case/refactoring.tex diff --git a/thesis/chapters/5_case/results.tex b/docs/thesis/chapters/5_case/results.tex similarity index 100% rename from thesis/chapters/5_case/results.tex rename to docs/thesis/chapters/5_case/results.tex diff --git a/thesis/chapters/6_interviews.tex b/docs/thesis/chapters/6_interviews.tex similarity index 100% rename from thesis/chapters/6_interviews.tex rename to docs/thesis/chapters/6_interviews.tex diff --git a/thesis/chapters/7_conclusion.tex b/docs/thesis/chapters/7_conclusion.tex similarity index 100% rename from thesis/chapters/7_conclusion.tex rename to docs/thesis/chapters/7_conclusion.tex diff --git a/thesis/figures/UL_PMS-kleur.eps b/docs/thesis/figures/UL_PMS-kleur.eps similarity index 100% rename from thesis/figures/UL_PMS-kleur.eps rename to docs/thesis/figures/UL_PMS-kleur.eps diff --git a/thesis/figures/confusion-matrix.png b/docs/thesis/figures/confusion-matrix.png similarity index 100% rename from thesis/figures/confusion-matrix.png rename to docs/thesis/figures/confusion-matrix.png diff --git a/thesis/figures/mag-distribution.png b/docs/thesis/figures/mag-distribution.png similarity index 100% rename from thesis/figures/mag-distribution.png rename to docs/thesis/figures/mag-distribution.png diff --git a/thesis/figures/scope.drawio.png b/docs/thesis/figures/scope.drawio.png similarity index 100% rename from thesis/figures/scope.drawio.png rename to docs/thesis/figures/scope.drawio.png diff --git a/examples/simple/diagrams/ss-confusion.png b/docs/thesis/figures/ss-confusion.png similarity index 100% rename from examples/simple/diagrams/ss-confusion.png rename to docs/thesis/figures/ss-confusion.png diff --git a/examples/simple/diagrams/ss-distribution.png b/docs/thesis/figures/ss-distribution.png similarity index 100% rename from examples/simple/diagrams/ss-distribution.png rename to docs/thesis/figures/ss-distribution.png diff --git a/thesis/frontpage/frontpage.pdf b/docs/thesis/frontpage/frontpage.pdf similarity index 100% rename from thesis/frontpage/frontpage.pdf rename to docs/thesis/frontpage/frontpage.pdf diff --git a/thesis/frontpage/frontpage.tex b/docs/thesis/frontpage/frontpage.tex similarity index 100% rename from thesis/frontpage/frontpage.tex rename to docs/thesis/frontpage/frontpage.tex diff --git a/thesis/llncs.cls b/docs/thesis/llncs.cls similarity index 100% rename from thesis/llncs.cls rename to docs/thesis/llncs.cls diff --git a/thesis/main.tex b/docs/thesis/main.tex similarity index 100% rename from thesis/main.tex rename to docs/thesis/main.tex diff --git a/thesis/ref.bib b/docs/thesis/ref.bib similarity index 100% rename from thesis/ref.bib rename to docs/thesis/ref.bib diff --git a/thesis/splncs04.bst b/docs/thesis/splncs04.bst similarity index 100% rename from thesis/splncs04.bst rename to docs/thesis/splncs04.bst diff --git a/great_ai/example_secrets.ini b/example_secrets.ini similarity index 100% rename from great_ai/example_secrets.ini rename to example_secrets.ini diff --git a/examples/simple/README.md b/examples/simple/README.md deleted file mode 100644 index 8d68c33..0000000 --- a/examples/simple/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Train a domain classifier on the [semantic scholar dataset](https://api.semanticscholar.org/corpus) - -![steps](diagrams/scope.svg) - -- [Part 1](data.ipynb) -- [Part 2](train.ipynb) -- [Part 3](deploy.ipynb) diff --git a/examples/simple/data.ipynb b/examples/simple/data.ipynb deleted file mode 100644 index 8c55da6..0000000 --- a/examples/simple/data.ipynb +++ /dev/null @@ -1,227 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Train a domain classifier on the [semantic scholar dataset](https://api.semanticscholar.org/corpus)\n", - "> Part 1: obtain and clean data\n", - "\n", - "![position of this step in the lifecycle](diagrams/scope-data.svg)\n", - "> The blue boxes show the steps implemented in this notebook." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Extract\n", - "\n", - "This can be achieved by downloading a public dataset (such as in this case), or by having a Data Engineer setup and give us access to the organisation's data.\n", - "\n", - "In this case, we download the semantic scholar dataset from a public S3 bucket." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "MAX_CHUNK_COUNT = 1" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'Processing 1 out of the 6002 available chunks'" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import urllib.request\n", - "from random import shuffle\n", - "\n", - "manifest = (\n", - " urllib.request.urlopen(\n", - " \"https://s3-us-west-2.amazonaws.com/ai2-s2-research-public/open-corpus/2022-02-01/manifest.txt\"\n", - " )\n", - " .read()\n", - " .decode()\n", - ") # a list of available chunks separated by '\\n' characters\n", - "\n", - "lines = manifest.split()\n", - "shuffle(lines)\n", - "chunks = lines[:MAX_CHUNK_COUNT]\n", - "\n", - "f\"Processing {len(chunks)} out of the {len(manifest.split())} available chunks\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Transform\n", - "\n", - "- Filter out non-English abstracts using `great_ai.utilities.predict_language`\n", - "- Project it to only keep the necessary components (text and labels), clean the textual content using `great_ai.utilities.clean`\n", - "- We will speed up processing using `great_ai.utilities.parallel_map`." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[38;5;226m2022-06-25 11:20:01,955 | WARNING | Limiting concurrency to 1 because there are only 1 chunks\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:20:01,956 | INFO | Starting parallel map (concurrency: 1, chunk size: 1)\u001b[0m\n", - "\u001b[38;5;226m2022-06-25 11:20:01,956 | WARNING | Running in series, there is no reason for parallelism\u001b[0m\n", - "100%|██████████| 1/1 [04:02<00:00, 242.61s/it]\n" - ] - } - ], - "source": [ - "from typing import List, Tuple\n", - "import json\n", - "import gzip\n", - "from great_ai import parallel_map, clean, is_english, predict_language\n", - "\n", - "\n", - "def preprocess_chunk(chunk_key: str) -> List[Tuple[str, List[str]]]:\n", - " # Extract\n", - " response = urllib.request.urlopen(\n", - " f\"https://s3-us-west-2.amazonaws.com/ai2-s2-research-public/open-corpus/2022-02-01/{chunk_key}\"\n", - " ) # a gzipped JSON Lines file\n", - "\n", - " decompressed = gzip.decompress(response.read())\n", - " decoded = decompressed.decode()\n", - " chunk = [json.loads(line) for line in decoded.split(\"\\n\") if line]\n", - "\n", - " # Transform\n", - " return [\n", - " (\n", - " clean(\n", - " f'{c[\"title\"]} {c[\"paperAbstract\"]} {c[\"journalName\"]} {c[\"venue\"]}',\n", - " convert_to_ascii=True,\n", - " ), # The text is cleaned to remove PDF extraction, web scraping, and other common artifacts\n", - " c[\"fieldsOfStudy\"],\n", - " ) # Create pairs of `(text, [...domains])`\n", - " for c in chunk\n", - " if c[\"fieldsOfStudy\"] and is_english(predict_language(c[\"paperAbstract\"]))\n", - " ]\n", - "\n", - "\n", - "preprocessed_chunks = parallel_map(preprocess_chunk, chunks)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "from itertools import chain\n", - "\n", - "preprocessed_data = list(chain(*preprocessed_chunks))\n", - "X, y = zip(\n", - " *preprocessed_data\n", - ") # X is the input, y is the expected (ground truth) output" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load\n", - "\n", - "Upload the dataset (or a part of it) to a central repository using `great_ai.add_ground_truth`. This step automatically tags each datapoint with a split label according to the ratios we set. Additional tags can be also given.\n", - "\n", - "#### Production-ready backend\n", - "\n", - "The MongoDB driver is automatically configured if `mongo.ini` exists with the following scheme:\n", - "\n", - "```ini\n", - "mongo_connection_string=mongodb://localhost:27017/\n", - "mongo_database=my_great_ai_db\n", - "```\n", - "> You can install MongoDB from [here](https://www.mongodb.com/docs/manual/installation) or [use it as a service](https://www.mongodb.com/cloud/atlas/register)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[38;5;226m2022-06-25 11:24:04,668 | WARNING | Environment variable ENVIRONMENT is not set, defaulting to development mode ‼️\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:24:04,669 | INFO | Found credentials file (/data/projects/great-ai/examples/simple/mongo.ini), initialising MongodbDriver\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:24:04,670 | INFO | Found credentials file (/data/projects/great-ai/examples/simple/mongo.ini), initialising LargeFileMongo\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:24:04,671 | INFO | Settings: configured ✅\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:24:04,672 | INFO | 🔩 tracing_database: MongodbDriver\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:24:04,672 | INFO | 🔩 large_file_implementation: LargeFileMongo\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:24:04,673 | INFO | 🔩 is_production: False\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:24:04,673 | INFO | 🔩 should_log_exception_stack: True\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:24:04,674 | INFO | 🔩 prediction_cache_size: 512\u001b[0m\n", - "\u001b[38;5;226m2022-06-25 11:24:04,674 | WARNING | You still need to check whether you follow all best practices before trusting your deployment.\u001b[0m\n", - "\u001b[38;5;226m2022-06-25 11:24:04,674 | WARNING | > Find out more at https://se-ml.github.io/practices/\u001b[0m\n" - ] - } - ], - "source": [ - "from great_ai import add_ground_truth\n", - "\n", - "add_ground_truth(X, y, train_split_ratio=0.8, test_split_ratio=0.2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Next: [Part 2](train.ipynb)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3.10.4 ('.env': venv)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.4" - }, - "orig_nbformat": 4, - "vscode": { - "interpreter": { - "hash": "02dd6d3afbfa9fbbe1037d64ad9014965528a1ccad21929d6e72f466389a68ad" - } - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/simple/deploy.ipynb b/examples/simple/deploy.ipynb deleted file mode 100644 index 387ea54..0000000 --- a/examples/simple/deploy.ipynb +++ /dev/null @@ -1,246 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Train a domain classifier on the [semantic scholar dataset](https://api.semanticscholar.org/corpus)\n", - "\n", - "> Part 3: Create production inference function\n", - "\n", - "![position of this step in the lifecycle](diagrams/scope-deploy.svg)\n", - "> The blue boxes show the steps implemented in this notebook.\n", - "\n", - "In [Part 2](train.ipynb), we trained our AI model. Now, it's time to create **G**eneral **R**obust **E**nd-to-end **A**utomated **T**rustworthy deployment from it using the `GreatAI` Python package." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[38;5;226m2022-06-24 22:38:15,518 | WARNING | Environment variable ENVIRONMENT is not set, defaulting to development mode ‼️\u001b[0m\n", - "\u001b[38;5;39m2022-06-24 22:38:15,518 | INFO | Found credentials file (/data/projects/great-ai/examples/simple/mongo.ini), initialising MongodbDriver\u001b[0m\n", - "\u001b[38;5;39m2022-06-24 22:38:15,519 | INFO | Found credentials file (/data/projects/great-ai/examples/simple/mongo.ini), initialising LargeFileMongo\u001b[0m\n", - "\u001b[38;5;39m2022-06-24 22:38:15,520 | INFO | Settings: configured ✅\u001b[0m\n", - "\u001b[38;5;39m2022-06-24 22:38:15,520 | INFO | 🔩 tracing_database: MongodbDriver\u001b[0m\n", - "\u001b[38;5;39m2022-06-24 22:38:15,520 | INFO | 🔩 large_file_implementation: LargeFileMongo\u001b[0m\n", - "\u001b[38;5;39m2022-06-24 22:38:15,521 | INFO | 🔩 is_production: False\u001b[0m\n", - "\u001b[38;5;39m2022-06-24 22:38:15,521 | INFO | 🔩 should_log_exception_stack: True\u001b[0m\n", - "\u001b[38;5;39m2022-06-24 22:38:15,521 | INFO | 🔩 prediction_cache_size: 512\u001b[0m\n", - "\u001b[38;5;226m2022-06-24 22:38:15,521 | WARNING | You still need to check whether you follow all best practices before trusting your deployment.\u001b[0m\n", - "\u001b[38;5;226m2022-06-24 22:38:15,522 | WARNING | > Find out more at https://se-ml.github.io/practices/\u001b[0m\n", - "\u001b[38;5;39m2022-06-24 22:38:15,531 | INFO | Latest version of small-domain-prediction is 0 (from versions: 0)\u001b[0m\n", - "\u001b[38;5;39m2022-06-24 22:38:15,532 | INFO | File small-domain-prediction-0 found in cache\u001b[0m\n" - ] - } - ], - "source": [ - "import re\n", - "import numpy as np\n", - "from sklearn.pipeline import Pipeline\n", - "from great_ai.utilities import clean\n", - "from great_ai import (\n", - " MultiLabelClassificationOutput,\n", - " ClassificationOutput,\n", - " GreatAI,\n", - " use_model,\n", - " parameter,\n", - ")\n", - "\n", - "\n", - "@GreatAI.deploy\n", - "@use_model(\"small-domain-prediction\", version=\"latest\")\n", - "@parameter(\"target_confidence\", validator=lambda c: 0 <= c <= 100)\n", - "def predict_domain(\n", - " text: str, model: Pipeline, target_confidence: int = 50\n", - ") -> MultiLabelClassificationOutput:\n", - " \"\"\"\n", - " Predict the scientific domain of the input text.\n", - " Return labels until their sum likelihood is larger than `target_confidence`.\n", - " \"\"\"\n", - "\n", - " preprocessed = re.sub(r\"[^a-zA-Z\\s]\", \"\", clean(text, convert_to_ascii=True))\n", - " features = model.named_steps[\"vectorizer\"].transform([preprocessed])\n", - " prediction = model.named_steps[\"classifier\"].predict_proba(features)[0]\n", - "\n", - " best_classes = sorted(enumerate(prediction), key=lambda v: v[1], reverse=True)\n", - "\n", - " results = MultiLabelClassificationOutput()\n", - " for class_index, probability in best_classes:\n", - " results.labels.append(\n", - " get_label(\n", - " model=model,\n", - " features=features,\n", - " class_index=class_index,\n", - " probability=probability,\n", - " )\n", - " )\n", - "\n", - " if sum(r.confidence for r in results.labels) >= target_confidence:\n", - " break\n", - "\n", - " return results\n", - "\n", - "\n", - "def get_label(\n", - " model: Pipeline, features: np.ndarray, class_index: int, probability: float\n", - ") -> ClassificationOutput:\n", - " return ClassificationOutput(\n", - " label=model.named_steps[\"classifier\"].classes_[class_index],\n", - " confidence=round(probability * 100),\n", - " explanation=[\n", - " word\n", - " for _, word in sorted(\n", - " (\n", - " (weight, word)\n", - " for weight, word, count in zip(\n", - " model.named_steps[\"classifier\"].feature_log_prob_[class_index],\n", - " model.named_steps[\"vectorizer\"].get_feature_names_out(),\n", - " features.A[0],\n", - " )\n", - " if count > 0\n", - " ),\n", - " reverse=True,\n", - " )\n", - " ][:5],\n", - " )" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Check accuracy on the test split" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'filter': {'$and': [{'tags': 'test'}, {'feedback': {'$ne': None}}]}, 'sort': []}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[38;5;39m2022-06-24 22:38:16,937 | INFO | Starting parallel map (concurrency: 12, chunk size: 154)\u001b[0m\n", - "100%|██████████| 18441/18441 [02:53<00:00, 106.11it/s]\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " precision recall f1-score support\n", - "\n", - " Art 0.50 0.32 0.39 209\n", - " Biology 0.76 0.83 0.79 1892\n", - " Business 0.47 0.71 0.57 467\n", - " Chemistry 0.82 0.68 0.74 1779\n", - " Computer Science 0.77 0.77 0.77 1887\n", - " Economics 0.69 0.58 0.63 393\n", - " Engineering 0.56 0.54 0.55 1195\n", - "Environmental Science 0.47 0.59 0.53 322\n", - " Geography 0.45 0.38 0.41 365\n", - " Geology 0.78 0.65 0.71 350\n", - " History 0.38 0.24 0.29 193\n", - " Materials Science 0.75 0.78 0.77 1564\n", - " Mathematics 0.80 0.69 0.75 767\n", - " Medicine 0.95 0.76 0.85 4268\n", - " Philosophy 0.53 0.10 0.17 90\n", - " Physics 0.67 0.77 0.71 903\n", - " Political Science 0.50 0.59 0.54 486\n", - " Psychology 0.51 0.81 0.63 850\n", - " Sociology 0.34 0.67 0.45 461\n", - "\n", - " accuracy 0.71 18441\n", - " macro avg 0.62 0.60 0.59 18441\n", - " weighted avg 0.74 0.71 0.72 18441\n", - "\n" - ] - }, - { - "data": { - "image/png": "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ly9jzJgxtfdLExEREREREf1HcMYO1Zrdu3fj5ZdfRkqK+SrBarUafn5+OH/+PJo2bWrXcjhjp3Zwxk7t4IydWiKQXRVn7NQOztipHYKarcEZO7VCUOsAZ+zUCs7YcTzO2HGs+9q6YMVOx9/QxpFeH+rFGTv076FWq7Fr1y7odDpkZGTgk08+weDBgy3G/PDDD+jSpYvdTR0iIiIiIiIiqplwvrKnes9oNOLjjz/GyJEjIZfL8dhjj2HmzJlVjzdq1AhGoxHbtm2ru5BERERERERE/yJs7JDDKBQKnDlzpsbHk5OT/7kwREREREREJHAi6I080ehOWCEiIiIiIiIiIoFiY4eIiIiIiIiISKB4KhYRERERERER1TtGAAbOR7kjVoiIiIiIiIiISKDY2CEiIiIiIiIiEiieikVERERERERE9ZIeorqOUO9xxg4RERERERERkUCxsUNEREREREREJFA8FYuIiIiIiIiI6h2jUQS9kfNR7oQVIiIiIiIiIiISKDZ2iIiIiIiIiIgEiqdiUb1nNBph0GjqOoZdzrSX1HUEu1374v66jmC3xm+fqusI9hMJ56r9xm5t6zqC3USnL9d1BLsY4hLrOoLdJE7COQTQC2QfQLXIaKzrBHYzaivqOsK/k0Ff1wnsJmnQoK4j2E1fWlbXEewmEgvkGMtQ1wHov0g4R3VERERERERE9J9i4O3O74inYhERERERERERCRQbO0REREREREREAsVTsYiIiIiIiIio3jEC0HM+yh2xQkREREREREREAsXGDhERERERERGRQPFULCIiIiIiIiKqh0TQGzkf5U5YISIiIiIiIiIigWJjh4iIiIiIiIhIoHgqFhERERERERHVO0YABs5HuSNWiIiIiIiIiIhIoNjYISIiIiIiIiISKJ6KRURERERERET1kt4oqusI9R5n7BARERERERERCRQbO0REREREREREAsXGDhERERERERGRQLGxQ1VefvllfPrpp3Ud4565eegwfXkStidcwuo/o/HI4Bs1jDRi/LRMbLp8GZsuX8b4aZkw3UjPJKKVGgv3xGH7tYtYuCcOEa3U/+ms7s4afP/AXlwcsRxHn1qHJ8LibzteKtZjz2M/49igtVX/1tk3CxeGL7f4kzB6MfqFJjo0q5Dq6uahw/RlSdgefxGrT1/BI4Nuk3VqJjZdvoRNly9h/FTL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uaFTp06YNm0a9u3bV2Njx8nJCZmZmZgyZQoOHz6M8vJyNG/eHLNmzUKfPn3+VmPn3Xffxbp161BUVAR/f3+89957mDBhAgBg0aJF+OSTT6BWq7FkyRL4+fnZbOwAwAsvvICffvoJOTk5UCrv3PW2t7FTH9jb2KkP7G3s1Af2NnbqA3sbO3SX7PygVNfsbezUB/Y2duoDexs79YG9jZ36wN7GTn1gb2OnXhDI9gqA3Y2d+sDexk59YG9jh+6SnY2dusbGjmOxsWMfNnboHzdz5kzExcVZ3CHrdtjYqR1s7NQONnZqiUA+KLGxUzvY2KkdbOzUEoFsrwCwsVNL2NipJWzs/CexsWMfx906g8gOBQUFWL58OdasWVPXUYiIiIiIiKgeMwIw/EN3ARQyXjyZ/jFLly5FaGgoBgwYgAcfrN9dVyIiIiIiIiIh4Iwd+se8+OKLePHFF+s6BhEREREREdG/Bhs7RERERERERFQPiaA38kSjO2GFiIiIiIiIiIgEio0dIiIiIiIiIiKB4qlYRERERERERFTvGAEYjLwr1p1wxg4RERERERERkUCxsUNEREREREREJFA8FYuIiIiIiIiI6iU956PcEStERERERERERCRQbOwQEREREREREQkUT8UiIiIiIiIionrHCBHvimUHztghIiIiIiIiIhIoNnaIiIiIiIiIiASKp2KRMIgldZ3ALrrE5LqOYDeJp2ddR7DbuvvqOoH9HrioqesIdjvWqUFdR7Cb/v6WdR3BPsei6jqB/QSyXQUAY3l5XUewm0jqXNcR7Ka/mlDXEezmFBxU1xHspsvIrOsIdpP4+tZ1BLvpM3PqOoLdxDJZXUewm0gur+sIdjOoVHUdwT7lPG2I/nls7BARERERERFRvWTgiUZ3xAoREREREREREQkUGztERERERERERALFU7GIiIiIiIiIqN4xGgE9b3d+R5yxQ0REREREREQkUGzsEBEREREREREJFE/FIiIiIiIiIqJ6ycBTse6IM3aIiIiIiIiIiASKjR0iIiIiIiIiIoHiqVhEREREREREVO8YIYLByPkod8IKEREREREREREJFBs7REREREREREQCxVOxiIiIiIiIiKhe0oN3xboTztghIiIiIiIiIhIoNnaIiIiIiIiIiASKjR0iIiIiIiIiIoHiNXYIAPDHH3/ghRdeQGxsbF1HuWdu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iMhK8Ro7RERERERERGSZeI2dRnHGDhERERERERGRleLADhERERERERGRleJSLCIiIiIiIiKyTFyK1SjO2CEiIiIiIiIislIc2CEiIiIiIiIiaiIFBQUYNWoUHB0dERAQgB9//PGO5auqqtCuXTv4+vqatH0uxSKLp1GqoCooau4Y1IyE7u7NHcFkqry85o5gOo31zGsVeXk2dwSTqEtKmzuCydSl1pNVYGvX3BFM5vvFueaOYLLOfzV3AtNd7C5s7gim06ibO4HprGg/IGwf1twRTKaKiW/uCP9KypTU5o5gEo2mqrkj/KsIAAisp6tq0KxZs2BnZ4dbt27h4sWLGDFiBDp37ozw8HCj5ZcsWQJ3d3eUmni8xhk7RERERERERERNoLy8HFu3bsWHH34IqVSKvn374pFHHsGGDRuMlk9JScHGjRvx1ltvmfwcHNghIiIiIiIiIroHubm5iIiI0H2tWLFC7/H4+HiIRCKEhdXOPOzcuTOuXbtmdHsvvPACFi5cCLFYbHIGLsUiIiIiIiIiIstk4Uux3N3dce5cw0uxy8rK4OTkpPczZ2dno8ustm/fDpVKhVGjRuHIkSMmZ+DADhERERERERFRE5BKpSgpKdH7WUlJCWQymd7PysvL8frrr2P37t13/Rwc2CEiIiIiIiIiagJhYWFQKpVISEhAaGgoAODSpUsGF05OSEjAjRs38MADDwDQ3hmruLgYXl5eOH36NAIDAxt8Dg7sEBEREREREZHl0Vj/XbEcHR0xevRovPvuu1i1ahUuXryInTt34uTJk3rlOnTogPT0dN33J0+exOzZs3HhwgW4N3KXYF48mYiIiIiIiIioiSxbtgwVFRXw8PDApEmT8N133yE8PBx//PEHpFIpAEAkEsHLy0v35ebmBhsbG3h5eUEoFN5x+5yxQ0RERERERETURNzc3LBjxw6Dnz/wwAMoKysz+jsDBgxARkaGSdvnjB0iIiIiIiIiIivFGTtEREREREREZJms/Bo7/wTO2CEiIiIiIiIislIc2CEiIiIiIiIislJcikVERERERERElolLsRrFGTtERERERERERFaKAztERERERERERFaKS7GIiIiIiIiIyCIJuBSrURzYoX8NmYsScz5LRfd+pSguEGHtp944vMPNSEkNps/LwtBJeQCAvZtaYvVCbwACAMBLi1LRsWcZfIIq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9LFly5bh3XffhUwmwwcffIDx48frHpNIJJg/fz769OkDFxcXnD59GqNGjcIbb7yBiRMnwsnJCR06dNBdz8YUd3q+utRqNb744gt4e3vDzc0NR48exXfffWe0rEAgwLRp09CyZUt4e3tj//79+O233yCVSiGTybB//378+uuv8PLyQmhoKA4fPmywDT8/P92Fod3d3eHn54clS5ZArW78QMXf3x+7d+/G559/Djc3N3Tp0gWXLl0CACxatAitW7dGz5494eTkhMjISMTFmflep0RERERERET/If+JGTtk3Thjhzhjp4lYUffPGTvmxxk7xBk7TYQzdpoEZ+yQteCMHfPijB3T3Nu9/4iIiIiIiIiImpr1jEE3m//cUiwiIiIiIiIion8LDuwQEREREREREVkpLsUiIiIiIiIiIosk4FKsRnHGDhERERERERGRleLADhERERERERGRleJSLCIiIiIiIiKyTFyK1SjO2CEiIiIiIiIislIc2CEiIiIiIiIislJcikVERERERERElkcDLsUyAWfsEBERERERERFZKQ7sEBERERERERFZKS7FIiIiIiIiIiKLI6j5ojvjjB0iIiIiIiIiIivFGTtkHdSq5k5gGoEVjSdrrOcqZKq8vOaOYDJhC7fmjmAyVUFRc0cwmSq/sLkjmMbGivoAG2FzJzCZprqquSP8K13sZj3tddS1m80dwWTb27s3d4R/JU16dnNH+Heyon2B1bCS0xb6d+GMHSIiIiIiIiIiK8UZO0RERERERERkmaxnoUGz4YwdIiIiIiIiIiIrxYEdIiIiIiIiIiIrxaVYRERERERERGSRBFyK1SjO2CEiIiIiIiIislIc2CEiIiIiIiIislJcikVERERERERElolLsRrFGTtERERERERERFaKAztERERERERERFaKS7GIiIiIiIiIyDJxKVajOGOHiIiIiIiIiMhKcWCHiIiIiIiIiMhKcSkWEREREREREVkeDSDgUqxGccYOEREREREREZGV4sAOEREREREREZGV4sAO/WvIXJR4d3UKdiZewfqzMXhwVGEDJTWYPj8LW65exZarVzF9fhbqXmo9OLwC3+yNx86ky/hmbzyCwyuaJuuqFOxMuIz1Z67hwZF3yDovC1uuXsGWq1cwfZ5+1pcWpWPVsVjsSb+IqPH5Zs+py/ofq9fgcDm+2ROHnYmX8M2eOASHy82eVepUjbeXXsa2M0cQvfcEBgy/2WDWaS8nYvOxY9h87BimvZyol3X35UPYduYItp4+iq2nj+KlBbFmz6qt1yTsjL+I9aev4sGRBQ1mnT4vE1uuXMKWK5cwfV4m9NtrKlYdvYY9aRcQNc787VXqrMQ73ydgR+x5rDtxCQMebeg5NHjqzXT8dPECfrp4AU+9ma7L6ROkwHsrE7D5wl/YcukCPl4fB99g87dVqbMS7yxPwI5r57Du+EUMeCSv4axvpOOnC+fx04XzeOqNulkr8N6KeGw+dwFb/jqPj9ddb5Ks1vL+67JaU39lTVmtpG+tKhLg9AtO+KV7S+wd5Ib0XfZGy6mqgL8WSLH7gRbY1bMFTs10QsUtm7vezt9hdW3ASrJKnavxzjcx2P7XSUQf+hMDHsppMOtTr6bgf6dP43+nT+OpV1N0WZ1cq/HZpkv43+nT2PLnKXyx+RLadysxe1Zrqldr2RdYS04ic+PAjpWIjo5G3759mzuGUT/88AMGDx7c3DEwa2EmlNUCTOjUHotm++OFTzIQEKYwKDd8cgF6DS3BjKgwPB/ZBj2iSjBiirbDFtmqsWBtCg5udcXYdh2wf4srFqxNgchWbd6sH2dos3YOx6LZAXjhk3QEhBnuhIdPzkevocWYEdWmJmuxLisAJMc44Jt5vki8IjZrPr2s/7F6FdmqsWBNCg5uc8XY9h2xf4sbFqwxf9aZ8+OgrLbBYwP6YvFb4Zg1Pw7+IWUG5YaNzUKvgXmYNe5+zBrbAz3652H4uCz91z32fozp2R9jevbHVwvamTUnAMz6KB3KKgEmdOmIRS8E4oWFacbr9fE89BpShBmD2+H5qHboEVmMEZNrByySYyT4Zp4fEq9IzJ4RAGZ/mApltQATu3fB4peC8cJHqQgINZLzsVz0HlyEmUM7YMaQDugRWYThj+cCABydlDh9wAVPP9gRE7t3QdwlR7y3MtH8WT+4oc16X1csfjkEL3yYioBQw5Pc4ZNy0XtwIWYO74gZwzqix6BCDH/sdlYVTh9wxdODOmHifV0Rd0mK91YkmD2rtbz/gJX1V9aU1Yr61ksfSWFjq8HwY3mIWFyCix9IUZIgNCiXtEGMgku2GLi9AMOO5sPWSYNLH0vvejt/h1W1AWvK+m4SqqttMKlPDyx5LQyzFyTBv3W5QblhE26iV2QBZj3aFTMf6YoeDxZg+ETthywV5UIsnReKib16YNx9PbFlpS8WfBcDG6F5L/RhVfVqJfsCa8lJd0lj4V8WgAM7TSAwMBB2dnbIy9P/BLZr164QCAS4cePGHX//xo0bEAgEUCqVTZjy3hjL9vjjj+P3339vxlSAvViFvsOLsW5xKyjkQlw7K8Wp350xaKzhKH3U+AJsXe6OvGw75N+0xdbv3RE1XvsJSafe5RAKNdi+siWqq2ywc7U7BAKgSx/DE+6/nXWJlzbrn1Kc2u+MQWMMP6WJGleArd/fzmqHrd97IGp87Wv6dZ07Lh6Xoaqyaf6U/4v12qlXGYRCYPtKd23WNU2TtU9kLjZ8GwxFhQgxf7ngzJGWGPiQ4aydQY9kY9s6P+TfckB+jj22rfdH5KPZZstiSta+w4uwbol3nXp1waAxRtrAuAJsXeFZW68rPPRmkv26zh0XTzihqlLQJDn7DCvE+s99tTnPyXD6gAsGjjacCRM5Ng9bV3oi76Yd8m/ZYdtKL0SN1ZaLvyTFvv+5o6xYBJXSBttWecGvtQIyF/P1x/ZiFfoMLcT6L3xqsx50wcBRhp8IRo7Jw9ZVXrVZV7VC1Njc2qw/1cm62gt+IQrIXKrNmtUa3v/arFbWX1lTVivoW5VyIPN3e7R7UQ6RI9CyuxKtHqxC2q8OBmXlGUJ49qmCQ0sNhPaA77BKlCYK73o798oq24CVZO0zOB8bvgrQZj3vjNOH3DDo0VyDspEjc7BtjQ/ybtkjP8ceW9f6IGqUdnZPdZUNMlMk0GgEEAgAtVo7E0TmbO7+1Xrq1Rr2BdaSk6gpcGCniQQFBWHTpk26769cuQK53PxTjknLN6QSKhWQmVw7VTolxgEBbSoNygaEKZAcU3twlnxNjIA2Ct1jKbFiALWduHY7hp+e3HPW4NtZazOk1MlgmLV2Nk5yjNjoJzlN5b9YrwFtFEiJddDPGmt8O/fKJ0AOlVKAzNTaT4GS42UIMPKJYkBIOVLiaz9FTomTwj9Ev9zitRew8dBxzP/iCjy8zTv9WlevKXXqNUZs9NOvgLCKZmuvvsEKqFQCvZzJsQ3kDFUgObZO3cdIjJYDgI49SlGQY4vSIvPdRNI36HbWOnUVazxDQGiFftZYsdFZSADQ8f7bWW3Nl9VK3n/Ayvora8pqRX1r2Q0RbESALFCl+5lzG6VuwEYv6xgF8v+yRUWODZQVQPoue3g+UHXX27lXVtUGrClrYIW2f71R2w5Trjsa37+GypF83VGvnH+9mZPLfrmAnZdPYsHyWOz5yRPFBXbmy2pN9Wol+wJryUnUFDiw00SmTJmC9evX675ft24dpk6dqvv+t99+Q9euXeHk5AQ/Pz8sWLBA91i/fv0AAC4uLpBKpTh16pTusVdffRWurq4ICgrCnj17dD8vLi7G9OnT0apVK/j4+ODtt9+GSqU9IImOjkafPn0wZ84cuLi4IDg4GCdPnkR0dDT8/Pzg4eGBdevW3XO2+svErl27hqioKLi5ucHT0xMLFy4EAJw9exYRERFwcnKCp6cn5s6d+3eqWI9Yooa8VP+Aq7xECLGjyqCsg6N+2fJSISRSNQANxI5qlNffTqkQYqn5prOKHY1kLb1D1hLjWf8J/8V6NZq1gdd8z1klKsjL9QcKysuEEEuMZJWoUF4qqlNOBImjCrfbwOvTumLa0N547tEeKMi1w4JvLsNG+A/Uq5H3rjnbq4NEDXmp/i6tvEQEiaOxnCq997ihnC29qjDrw1Ss+NDPvFkd1ZCXGdapxGhbVaFcr05FDWf94AZWfORv1qzW8v4DVtZfWVNWK+pblXIBRI767U0k00BZbviJuzRABbGXCnsHtMCu+1uiNEmItjPkd72de2VVbcCKsjpIVEb6V5HxrBIVysvq9a919q8AMPORbhjTvRc+ndsGMeedzJYTsK56tZZ9gbXkpLsn0Fj2lyXgwE4T6dmzJ0pKShAbGwuVSoXNmzdj8uTJuscdHR2xfv16FBUV4bfffsN3332HHTt2AACOHTsGACgqKkJZWRl69eoFADhz5gzatGmDvLw8vP7665g+fTo0Gm1LevLJJyESiZCYmIi//voLv//+O1atWqV7vjNnzqBTp07Iz8/HY489hokTJ+LPP/9EYmIiNm7ciNmzZ6OsrOyes91WWlqKyMhIDB06FFlZWUhMTMSgQYMAAC+99BJeeukllJSUICkpCePHj2+w/lasWIGIiAhERESgGoafXNRXIbeBRKa/I5TIVKgoN/x0TVFuU9Nx15STqiAvswEgQEW5DSTS+ttRo6LMfH8qFeV3mbVO2bpZ/wn/xXo1ntX4du45q1wIiaP+0h6JowoVciNZ5UK9PBJHJeTlQtxuA1fPu0KptEF5qS2+XxQGL58K+Aebb3ag0XqVqoy+d4b1qv7H2qtCbgOJTP/ATSJTQV5uLGe9OjXyd+XsVo2PN8Zh1wYPHPmlhXmzGmtjUlXN+2okayN9gLNbNT5efx27NnriyK/mzWot7z9gZf2VNWW1or5VJDEcfFGWGQ7SAMClD6VQVwkw4mQeHj6fB++oKpx8zvmut3OvrKoNWFHW+vtMbQal8axy/QH12n5Y/72vrrLB0d/cMe7ZDAS1Md/yJmuqV2vZF1hLTqKmwIGdJnR71s7+/fvRrl07+Pj46B4bMGAAOnbsCBsbG3Tq1AmTJk3C0aNH77i9gIAAPPPMMxAKhXjiiSeQnZ2NW7du4datW9i9eze+/PJLODo6wsPDA3PmzMHmzZt1vxsUFIRp06ZBKBRiwoQJSE9Px7vvvgt7e3sMHjwYdnZ2SExMvOdst+3atQteXl545ZVX4ODgAJlMhh49egAAbG1tkZiYiLy8PEilUvTs2bPB7Tz77LM4d+4czp07B1s0fieKjCR7CIWAd1DtIFBwewVS4wx/NzXeAcHta6dkBodXIDXOQfdYUDsF6o7WB7WrfdwcMpKNZTX+HNqsCv1y8ebL0pj/Yr2mxjkgqH3TZs1MlUAo0sDbv3YAJrhNGVITHQ3KpiY5IqhNaW2WNmVISzIsd5tGY94Dktp6rV9fhhfsTo0X67eB9vJ/rL1mJDtAKNTAO7BOznZy4zkTHBDcrn7O2nJSJyU+3hiP0/tdsPkbb/NnTbmbrGIEt5Prl0uol3V9HE4fcMXmb5sgq5W8/4CV9VfWlNWK+lZpoBJqJVB2o/bEuDhOBFlrwxkQRddF8B+pgJ2LBkI7IPjxChResUVloeCutnOvrKoNWFPWG2Jt/xpQmyGobbnx/WuCBMFta5doBbctQ1pCwxfKFYk0aOVnvqU6VlWvVrIvsJacRE2BAztNaMqUKfjxxx8RHR2ttwwL0M6gefDBB+Hu7g5nZ2csX77c4GLL9Xl5een+L5FodzxlZWVITU1FdXU1WrVqBRcXF7i4uOC5555DTk7t7R09PT11/xeLxUZ/dnvGzr1kuy09PR0hISFGH1u9ejXi4+PRtm1b3Hfffdi1a5dJ2zRFZYUQJ/Y4Y+prN2EvVqH9feXoNaQYB392Myh7YIsrRj+XixZe1XDzrMbY53Kx/ydXAMDlk45Qq4GR0/Nga6fGI9O0r/viCanBdv521leztVkjytBrcDEObnU1zPqzG0Y/m4MWXlV1sta+JpGtGrb2aggEgEiEmv+b7xPF/2K9Xj4lhVpVJ+uTuU2S9eQBd0yelazN2qUIPQfk4tAuL4Oyh35thVFT0tHCoxJu7pUYPTUdB3a2AgD4h5QhuE0pbGw0cBAr8fSrCcjPsUd6ivnu4KCtVxdMfaVuvRbh4FYjbeBnN4x+5lZNvVZh7LM52P9T7QwSvfZqqzFre62sEOLEXldMnZtZk7MUvaKKcGhbS8OcW1ti9DM30cKzCm4eVRjzzE3s/1lbTiJV4eMN8Yg5J8XaReZdgqWXdZ8rps7J0GbtXopekUU4tN1wts2BbS0xenqdrE/fxP6f3Wuzro9DzHkp1i5uwqxW8P7XZrWy/sqaslpB3yqSAN5RlYj9RgKlHMi/IEL2ITv4P2x4Mu7aQYn0XxxQXSqAuhpI2SSGg4cK9q6au9rOvbLKNmAlWU/ub4EpL6Zqs3YrQa9BBTi4092g7MGdHhg1LVO7f/WoxOhpWdi/3QMA0LZzCcK7F0Nkq4advQrjnsmAS8tqXL8sM2tWa6pXa9gXWEtOugfNfdcrK7grlkBzey0PmU1gYCBWrVqFyMhIDBgwABcuXEB2djbs7e1ha2uLlJQUDBo0CLNnz8aMGTPg4OCAl19+GXl5edi4cSNSU1MRGBiI6upqiETaa2tER0dj1apVOH78uO55BAIBEhIS4OjoiODgYJSWlurK11X/dxMTExEaGoq6b72vry82b96Mvn37IiQk5J6zbdq0CUuWLMGFCxcarB+1Wo1t27Zh8uTJyM/Ph6Njw7MPAMBJ4IYegkGN1rvMRYm5X6SjW78ylBQKsWZhKxze7ooO95fhox9SMDK0Y01JDaa/nY1hk7RXyN+zyQ2rP2qF21MvQzrIMeezDPiHKpCW6IClr/gi6aqJJ8oC02ZLyFyUmPt5Wp2s3ji8oybrxmSMDOtUm3V+NoZNyq/J2gKrP67NunhLAjr31r8g4GtjQ3D5lAkHHib+6f8X6zUkXI45n6XXyeqHpGumZRW2MDx4MEbqVI05H8Sia68ClBTZIvqrEBzZ7YXwbkX4YNkljOnZX5f1qTlJGDJae4vzfdu8sWZpCAABOt9fgFlvx6OlpwKKCiFiLzpj9RetkZVmWlZVQZFJ5WQuSsz9LBXd+pVq6/UTHxze4aat1w2JGNmmiy7r9PmZ9erVB7XtNR6de+lPY39tXKhJ7VUgbHy5htRZiblLUtDtgRKUFIqwZpEvjuxsgfD7SvHRuniMat+9NudbGRg6UXtiuXezO1Z/4gtAgMgxeXj1ixQo5DZ6fyLPRnZAblbjswdhY1pblTorMXdxMrr1rcm62BdHfmmpzbo2DqM6RNRmfTMdQyfUZP2fO1Z/6qfNOjoXr35uJOvgjiZl1VSbdqcvS3j/oTZtpoRF9FcmsoisVtS3jrqW03ghAFVFAlx4W4acU3awc1YjfG45/B6qRN45W5x8zhmPnNee9FYWCXD5YylyTtlBUw3IQlXo+HoZ3Dop77gdU2xvbziIYIxFtAETWUJWG5lpgypS52rMWZiAbr2LUFJki7WfB+DILg+Edy/GhyuvYXS33rqsT712A0PH3gIA7P3ZE2uWBAIQoON9xXj+7SR4+VVCVS3AjXgJ1n8VgKvnnE3KoC4tbbwQLKNeYWPackiL2BdYSc4zqt9RojG8ExfdG4mHH9qMNd+1WZuC8OwPOHfuXLNm4MBOE6g7sJOUlITCwkJERERAqVTqBnbuv/9+LFmyBE888QTOnj2Lhx56CIMHD8bGjRshl8shk8kQGxuLsLAwAHce2GndujUeffRRBAYG4sMPP4RUKkVKSgoyMjLQv3//ux7Y8fDwuOdspaWlCAsLwxtvvIEZM2agqqoKMTEx6NGjBzZu3IghQ4bA3d0dBw4cwEMPPYTCwkLdDKKGmDqwYxFMPEi2CNb0p29F9WrqwI4lMHVgxxKYMrBjEUwc2LEEpg7sWAQTB3boLllR32rqwI4lMHVgh+6OqQM7lsDUgR2LYOLADpmOAzvmxYEd03ApVhMLCQlBRESEwc+XLVuGd999FzKZDB988IHehYQlEgnmz5+PPn36wMXFBadPn270edavX4+qqiq0b98erq6uGDt2LLKzs+8p89/JJpPJsH//fvz666/w8vJCaGgoDh8+DADYu3cvwsPDIZVK8dJLL2Hz5s2NDuoQERERERHRf1dz3/XKGu6KxRk7ZPE4Y6eJWNOfvhXVK2fsNA3O2DE/ztgha+pbOWOHOGOniXDGjtlxxo55STz80HaMZc/YsfmTM3aIiIiIiIiIiOgeGV5pl4iIiIiIiIiouVnQnacsGWfsEBERERERERFZKQ7sEBERERERERFZKS7FIiIiIiIiIiLLxKVYjeKMHSIiIiIiIiIiK8WBHSIiIiIiIiIiK8WBHSIiIiIiIiIiK8Vr7BARERERERGRxREAEPAaO43ijB0iIiIiIiIiIivFgR0iIiIiIiIiIivFpVhEREREREREZJm4FKtRnLFDRERERERERGSlOLBDRERERERERGSluBSLLJ7AVgSRu1dzxzCJxs25uSOYTFBS3twRTKYps56s6uLS5o5gMoGNoLkjmM5KsgoE1pETAIR+3s0dwWTK1PTmjmAyka9Pc0cwmermreaOYLLt4R7NHcFk+7L+au4IJouaMK25I5juxOXmTmAykZdnc0cwWe6Q4OaOYLKWuxObO4JJBAU8xTY3gYZrsRrDGTtERERERERERFaKAztERERERERERFaK88SIiIiIiIiIyPJowLtimYAzdoiIiIiIiIiIrBQHdoiIiIiIiIiIrBSXYhERERERERGRRRJY+FIsS4jHGTtERERERERERFaKAztERERERERERFaKAztERERERERERFaK19ghIiIiIiIiIstkCRexsXCcsUNEREREREREZKU4sENEREREREREZKW4FIuIiIiIiIiILBJvd944ztghIiIiIiIiIrJSHNghIiIiIiIiIrJSXIpFRERERERERJbJEtY6WTgO7NC/htSpCi+9ew3deuajpMgW0d+E4uhebyMlNZj2QjwGj8wEAPy+wwdrvw4DIEB4l0K8//V5vdJiiQofv9YZJw95mS+rrBIvzz2Hbt1voqTEHtGrO+LI4QCDcp0652DS5GtoHVqEslJbTJvykO4xZxcFnpv5Fzp2yoWDgwqpN5ywcnkXxF1vYbacQE29zr+Mbj3yUFJkh+hlbXD0dx8jJTWYNus6Bj+aDgD4facf1n7bFoBA+1q652H6i7Hw9pOjpMgWW9a3xt4d/ubN6lyNlz+IQ7feBdo28GUwjvzmaTzr3GQMGZMNANi3tRXWfhGsy7r72hEo5Da6fcix3R746r22Zs6qxJzFKejerwTFBSKsXeyLIzuNvXcaPPVmBoZOzAUA7N3sjjWf+gIQwCdIgafnpaNd9zIIhRrEX3LEdwv8kZEsNn/WJam1WRf54MhON+NZ38rE0Il5NVlbYs0nPrhdry9+mopOPUrhHVSJpa8GYP/PLc2fc1EKuj9QjOLCmjr9xdhzaPDUGxkYOiFHm/N/Hliz6HadVuDpt9LRrltNnV52xHfv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xYEdIiIiIiIiIiIrxaVYRERERERERGSRBFyJ1SjO2CEiIiIiIiIislIc2CEiIiIiIiIislJcikVERERERERElkdT80V3xBk7RERERERERERWigM7RERERERERERWikuxiIiIiIiIiMgiCdTNncDyccYOEREREREREZGV4sAOEREREREREZGV4lIsIiIiIiIiIrJMvCtWozhjh4iIiIiIiIjISnHGDlkBASAUNncIk6iuxTV3BKJ/J6WyuROYxJo+UFKnpjd3hH8lTVlZc0cwmcZK/q6szRDvLs0dwWSJK63nVCDsD1VzRzCZ8uat5o5gMtf1Oc0dwXQe7s2dgMhiccYOEREREREREZGVsp5heiIiIiIiIiL6TxFY05ToZsIZO0REREREREREVooDO0REREREREREVopLsYiIiIiIiIjI8mgAaLgWqzGcsUNEREREREREZKU4sENEREREREREZKW4FIuIiIiIiIiILBLvitU4ztghIiIiIiIiIrJSHNghIiIiIiIiIrJSXIpFRERERERERJaJS7EaxRk7RERERERERERWigM7RERERERERERWikuxiIiIiIiIiMjiCMC7YpmCM3aIiIiIiIiIiKwUB3aIiIiIiIiIiKwUB3Ys3IABA7Bq1Sqjj6WlpUEqlUKlUjVa9p8QGBiIAwcONNvzS52qMH/xeWw9ug9rdx5C/yGZDZTUYNrs69i0fz827d+PabOvo+6l1jtF5OGr9cex5dDvWL39MIaOTDN7VpmLEu+uTsHOxCtYfzYGD44qbDDr9PlZ2HL1KrZcvYrp87P0sgaHV+CbvfHYmXQZ3+yNR3B4BbMyK7NaQVZrycmsTZdV6lyNt//vGradO47oA2cwYEROg1mnzU3G5pMnsfnkSUybmwxjtwcZ+Mgt7I45hiFjss2e1ZrqlVmbJqtNuRLe3yag9azzCHrjEmRn8o2Wa/FLJkKfP4fWs8/rvmxzFdptlFbD79NYhLx8ASEvXoDfJzFwSCw1e1Zrqlery7oqBTsTLmP9mWt4cOQdss7LwparV7Dl6hVMn1c/qxzf7InDzsRL+GZPHILD5WbNKXWqxtufX8S2kwcRvfsPDBjaUJ+owbQXE7D58BFsPnwE015M0MtpY6PB1JmJ2PD7Ufx8/BC+3nQajtJqs2YlMicO7FiIwMBAiMViSKVSeHp64sknn0RZWdkdf8ff3x9lZWUQCoX/UErLNvO1a1BW2+DxoYOw5N0umPXGNfgHGx4wDB2Vjp79b2H2430x+7EHcH/fHAwbrR28EQrVeHvxBezZ7o9xA6Pw6byuePrlWASFlpg166yFmVBWCzChU3ssmu2PFz7JQECYwqDc8MkF6DW0BDOiwvB8ZBv0iCrBiCnagymRrRoL1qbg4FZXjG3XAfu3uGLB2hSIbNXMyqzMauFZrSUnszZd1plvJ0JZbYPH+vXC4tfbYta7CfBvXW5Qbtj4bPQalI9Zo7pj1sju6PFgAYZP0D9RkTpVY8KzabiRIDFrxtusqV6ZtWmyevyQCo1IgKTPuyD76WB4/JAKu0zjgwelEa5I/Ka77qva3QEAoHEQ4uaTgUj6oiuSvuqKgqGt4PN1AqAy78UzrKlerSrrxxnarJ3DsWh2AF74JB0BYYZtYPjkfPQaWowZUW1qshbrZ12TgoPbXDG2fUfs3+KGBWvMm3XmW7HavnVQfyye1wGz5l2Hf7DhOdWwMZno9WAOZk3oiVnje6JH/1wMH5uhe3zy80lo17kIrzxxP8b2fRCfvd0BVVU8dW4WGo3lf1kAtk4L8uuvv6KsrAwXLlzAuXPn8NFHHzV3JKth76BE74E3seH7UCgqRIi55IYzxzwwcJjhrJ3IERnY/kMQ8nPEyM91wPYfgxA5QltO5lwNR6kSh3f7ABAgIdYF6Tek8A+68yDbXWUVq9B3eDHWLW4FhVyIa2elOPW7MwaNLTAoGzW+AFuXuyMv2w75N22x9Xt3RI3XfkLSqXc5hEINtq9sieoqG+xc7Q6BAOjSh1mZlVktOau15GTWps3aZ3AeNvxfABRyIWIuOOPM4RYY+LDhrJ1Bj+ZgW7Qv8m/ZIz/HHtvW+iBy5C29Mk/OuYFfNvqgpNDWbBnrZrWmemVW82cVVKogu1CIvEd9oXEQQhEqQ3lnFzidzrur7WhsbVDtJQZsBNqJETYCCOUqCMuVZstqTfVqlVmXeGmz/inFqf3OGDTGcNZO1LgCbP3+dlY7bP3eA1Hjta+pU68yCIXA9pXu2qxrzLx/dVChz6AcbFgWoj0fuOiKM0fdMfAhw1k7gx7OwrYNAcjPcUB+rgO2bQhA5MPaclJZNR59PA1ffdgeOdliAAKkJklRXcUP08lycWDHAvn4+GDYsGG4evUqACA1NRV9+vSBTCbD4MGDkZen3ZHeuHEDAoEASqXhDlGtVuOjjz5CQEAAPDw8MHXqVBQXFwMAFAoFJk+ejBYtWsDFxQX33Xcfbt3SHiRmZWXhkUcegZubG1q3bo2VK1fqtrlgwQKMHTsWEyZMgEwmQ7du3XDp0iW957148SI6deoEZ2dnTJgwAQqF9lOHDh064Ndff9WVq66uRsuWLfHXX3+Zp878y6FSCZCVJtX9LCXByegIvX9wGVISnHTfJyfIdDN7igrscWRfK0Q+nA4bGw3adiyEh1cFrl10NUtOAPANqYRKBWQm29dmjXFAQJtKg7IBYQokxzjUZr0mRkAbhe6xlFjtzkZ/O4af9DArszKr5WS1lpzM2nRZfQIroFIKkJlaO8MmOc4RAUZm7AS0LkdKnGNtljgp/FvXLl0I61iC0PBS7P5fK7Plq8ua6pVZmyar3S0FNEIBqr1qM1T6imGXZXzGjuPlYoS8dAEB716B8xHDwcqABVcROvM8fL5JQPEDLaFyMt+ApDXVq1VlDb6dtTZDSp0MhlnFtVljxLpZSAFtFEiJddDPGmt8O/fCJ6Bc27em1faZyfFSBBg5HwgILkdKvKw2R7wU/iHacoGhZVCpBOgbeQsb9x/Fyh0n8ND4dLNkJGoqHNixQOnp6di9eze6du0KAPjxxx+xdu1a5OTkoKqqCp999lmj24iOjkZ0dDQOHz6M5ORklJWVYfbs2QCAdevWobi4GOnp6cjPz8fy5cshFms74IkTJ8LX1xdZWVn4+eefMW/ePBw6dEi33Z07d2LcuHEoKCjAY489hpEjR6K6una96U8//YS9e/ciJSUFly9fRnR0NABg6tSp2Lhxo67c7t270apVK91r/LvEEhUqykV6PysvE0EsMRz0chArUV5WW1ZeZguJowq319Ue3eeNSdMTseP4Xiz+/jTWfxeGvByxwXbuPasa8lL9Ef/yEiHEjirDrI76ZctLhZBI1QA0EDuqUV5/O6VCiKXmm87KrMzKrObPai05mbUps6ogL6//HCLjWSUqlJfW7rPKy0S6fZaNjQaz3knEso9aQ6MRGPyuebJaU70ya1NktVGooXbQP2VQi0WwURg+R2mEG2580AFJS7vi1tRAtNiVZXA9ntQFHZD4dTdkPx2MitYyg238HdZUr1aV1dFI1tI7ZC25i6wNvOZ7yilRQW7sfMBo36p/PlC3b23poYBUpoRPgBxPPdQXH7/WCY8/n4SuPYxfW4qankBj2V+WgAM7FmTkyJFwcXFB37590b9/f8ybNw8AMG3aNISFhUEsFmP8+PG4ePFio9v64YcfMHfuXAQHB0MqleKTTz7B5s2boVQqYWtri/z8fCQmJkIoFKJ79+5wcnJCeno6Tpw4gUWLFsHBwQFdunTB008/jfXr1+u22717d4wdOxa2traYO3cuFAoFTp8+rXv8xRdfhLe3N9zc3PDwww/rsk6ePBm7d+9GSYn2WjUbNmzAlClTGsy/YsUKREREICIiAlXqxi8AVyEXQuyoP4gjcVSiQi4yKKuoEEFSp6zEUVlzgC2Ab0AZ3vj4Ir54vzMe7TMUMyY+gDFTknFfn4Yuann3KuQ2kMj0dzASmQoV9Q7yAUBRblOzM6wpJ1VBXmYDQICKchtIpPW3o0ZFmfn+rJmVWZnV/FmtJSezNmVWYc0JRJ3nkDaQVS6ERGp8nzViUhZS4h0Rd9nJ4PfMl9Wa6pVZmyKr2sHGYBDHRqEyGOwBgCpvMVQudoCNAIrWMhQO8oT0guFyHY2tDUp7tIDrnmzYpZvv4rnWVK9WlbX8LrPWKdt4VuPbuaeccqHeMb72+ZUN9K31zwdUur61slJbftOKYFRVCnEjQYaj+7wQ0ffulh8S/ZM4sGNBduzYgaKiIqSmpmLZsmW6WTReXl66MhKJpNGLKgPaJVUBAQG67wMCAqBUKnHr1i1MmTIFQ4YMwcSJE+Ht7Y3XX38d1dXVyMrKgpubG2Qymd7vZWbWXqfGz89P938bGxvd7J7bGsrq7e2NPn36YOvWrSgqKsKePXvw+OOPN5j/2Wefxblz53Du3DnY2TQ+WyYzzRFCoQbefrXT2IPCSpGWLDUom5Ys1bsYclBoCdKSta85IKQUmWmOuHDaHRqNAJlpUvx5wgPde+U2msFUGUn2EAoB76DaqbbB7RVIjbM3KJsa74Dg9rUDW8HhFUiNc9A9FtROgbpX8A9qV/s4szIrs1pmVmvJyaxNlzXzhhhCkQbeAXUytClDaqKjQdnUREcEtamzb2tbjrRE7RKuLj2L0GtQPjYeO4WNx06hXdcSPP16MmbMTzRbVmuqV2ZtmqxVng4QqDSwvVW7XMY+XY4qbxNnM9/hwqIClQZ2uYZLj+6VNdWrVWVNNpbV+HNosyr0y8XXZI1zQFD7psuameqo7Vv9a/vM4LAypBo5H0hNdkRQWO1NVoLCSpGWpC2XkqD9t27TtZDr4xI1iAM7/1Le3t5ITU3VfZ+WlgaRSARPT0/Y2trivffeQ0xMDE6ePIldu3Zh/fr18Pb2RkFBAUpLS/V+z8fHR/d9enrt+lK1Wo2MjAx4e3ublOmJJ57Axo0bsWXLFvTq1Utvu39XpUKEk4e9MPnZeNg7KNGuUwF69ruFQ3sMn+Pgbh+MeiwFLdwVcGupwKjHU3DgN225pDgnePuVo1NEHgANvHzKcX/fHNxINN9U4coKIU7sccbU127CXqxC+/vK0WtIMQ7+7GZQ9sAWV4x+LhctvKrh5lmNsc/lYv9P2uv9XD7pCLUaGDk9D7Z2ajwyTfspwsUThjsvZmVWZrWcrNaSk1mbNuvJ/S0xefYNbdauxeg5MB+HfvUwKHvoFw+MeiIDLTwq4eZeidFPZuDADk8AwBfz2uD5hyPwwujueGF0dyRcleHHZQFY91WgWbNaU70yq/mzauyFKO3mihY7MyGoVMEhsRSOl4pQ0rOlQVnHi4WwKVcCGg0cUsrgeugWyrtoszoklcEhoRRQqiGoUsN1TzZEJdWoCDYc0LxX1lSvVpn11Wxt1ogy9BpcjINbDa9BeeBnN4x+NgctvKrqZNW+psunpFCr6mR9MtesWSsVQpw85IHJM5Jg76BC+85F6Nk/F4d2GV6D7NCuVhg1OU17PuCuwOgpqTjwq7bczQwJrl5wwYTp2jt2+QWVof+Qmzj7h2Gbp3+IxsK/LAAHdv6lJk2ahKVLlyIlJQVlZWWYN28eJkyYAJFIhMOHD+PKlStQqVRwcnKCra0tbGxs4Ofnh969e+Ott96CQqHA5cuXsXr1akyePFm33fPnz2Pbtm1QKpX48ssvYW9vj549e5qUaeTIkbhw4QK++uorTJ061eyvednicNg5qPHjvoN4/aOL+HZRONKSZQjvUoCfj+zTlduzzR9njnvi2x//wLJNf+DPEx7Ys80fAHAz0xFfftQJz70Sgy2Hf8ei5Wdw8rAX9u30a+hp78k3b/nA3kGNn67E4K1lqfj6LV+kxjugw/1l2JFwRVfutw0tcHq/E74/GIcVh+Jw5qATftvQAgCgrLbB+08FInJcIbbGXsXgiQV4/6lAKKvN+2fNrMzKrObPai05mbXpsn77YWvYO6ix6Y9TeP2z6/j2g1CkJToivHsxtp47riu3+3+tcPZICyzbeR7f/XIefx51010oubxUhMI8O92XsloAeZkQ8jLDZch/hzXVK7M2TdacxwNgU61GyNyLaLUyGTmPB6DKRwxxfClazz6vKyc7W4Cg+ZfR+oUL8FqTgoKhrVDSW3syLFCq4fljKlq//BeCX7sIx6vFyHwxTLt0y4ysqV6tKus8X23Wy9dqsvohNV6szRp/uV5WZ3x/IA4rDl43kjUIkWMLsDXmSk3WILNm/XZhO9jbq7Hp0BG8/skVfLuwLdKSpQjvWoitJ2qvG7r7Z1+cPdYSy7acwndbTuHPP1pi98++uscXvdkRHq0U+N+RI1jwfxexYVlrXDrbwmw5icxNoNFwYpklCAwMxKpVqxAZGan38wEDBmDy5Ml4+umnAWgvirxq1SocP34cN27cQFBQEKqrqyESifTK3r4r1sqVK6FQKDBkyBB8/fXXcHV1xaZNm7BgwQJkZGRAKpViwoQJ+OKLLyASiZCRkYHnn38eJ0+ehKurK1577TU8//zzALR3xbp69SqEQiF2796N1q1bY/Xq1ejWrZvR17BgwQIkJibqXTT56aefxqZNm3Dr1i1IpaaNzjvbeaK316S/Xcf/BGWG4e3ViYjov0Po4tzcEUymKipu7gjUzOJX3tfcEUwW9syfzR3h30nQNBdebwpCD/fmjmCSU3lbUFxtvutz/tfJXHzRtd9LzR3jjuRZ/8O5c+eaNQMHdshkxgZq7tYHH3yA+Pj4u9oGB3aIiMhacGCHrAkHdogDO+bHgR3zkrn4otsDlj2wU57d/AM75p2rS3QHBQUFWL16NTZs2NDcUYiIiIiIiIj+FXiNHfpHrFy5En5+fhg2bBj69evX3HGIiIiIiIiI/hU4Y4dMtmDBgnv+3WeeeQbPPPOM+cIQERERERHRv5sGgJpXj2kMZ+wQEREREREREVkpDuwQEREREREREVkpLsUiIiIiIiIiIsvElViN4owdIiIiIiIiIiIrxYEdIiIiIiIiIiIrxYEdIiIiIiIiIiIrxWvsEBEREREREZFFEvAaO43ijB0iIiIiIiIiIivFgR0iIiIiIiIiIivFpVhEREREREREZJk0XIvVGM7YISIiIiIiIiJqIgUFBRg1ahQcHR0REBCAH3/80Wi5JUuWoEOHDpDJZAgKCsKSJUtM2j5n7BARERERERERNZFZs2bBzs4Ot27dwsWLFzFixAh07twZ4eHheuU0Gg3Wr1+PTp06ISkpCYMHD4afnx8mTpx4x+0LNBrOayLL5mTTAj1thzZ3DJNoqquaO4LpBILmTvCvJBAKmzuCyTRKZXNHMJnQyam5I5hEVVbe3BFMZl1ttbq5I5jOig6rhC7OzR3BdLZ2zZ3AZKrc3OaO8O900Le5E5guMrO5E5jOivosa3FGcxAlmoLmjvGvIXP2RUTPF5o7xh2V5m/BuXPnGny8vLwcrq6uuHr1KsLCwgAAU6ZMgY+PDz799NM7bvvFF1+ERqPB119/fcdyXIpFRERERERERHQPcnNzERERoftasWKF3uPx8fEQiUS6QR3g/9m76/Cmrj4O4N+knqZulLZUKVLciwwt7s5WXIZt2ITBsK04g70bw7Ut7q7FhhYZWuruQt2T3PePQNqQlJYt3b13/D7P0+eB5DT59uTknuTcc84FGjdujFevXn3wcRmGwZ9//qkyq0cdWopFCCGEEEIIIYQQ8jdYWVl9cMZOXl4ejN+bfW5iYoLc3NwPPu7SpUshk8kwfvz4SjPQwA4hhBBCCCGEEEK4h3n7w2NisRg5OTlKt+Xk5MDIyKjC39m4cSN8fX3x559/Qk9Pr9LnoKVYhBBCCCGEEEIIIdXA3d0dEokEYWFhituePXtW4RKrXbt2YdWqVQgICIC9fdX2F6OBHUIIIYQQQgghhJBqYGhoiMGDB2Px4sXIz8/HnTt3cOrUKYwePVql7L59+7BgwQJcuXIFLi4uVX4OGtghhBBCCCGEEEII5wgACBiG0z9VsWnTJhQWFsLa2hqjRo3C5s2b4eHhgT///BNisVhR7scff0RGRgZatmwJsVgMsViMqVOnVvr4tMcOIYQQQgghhBBCSDUxNzfHyZMnVW7v0KED8vLyFP+Pior6W49PM3YIIYQQQgghhBBCeIoGdgghhBBCCCGEEEJ4ipZiEUIIIYQQQgghhJtkbAfgPpqxQwghhBBCCCGEEMJTNLBDCCGEEEIIIYQQwlO0FIsQQgghhBBCCCGcVNVLin/KaMYOIYQQQgghhBBCCE/RwA4hhBBCCCGEEEIIT9FSLEIIIYQQQgghhHAP8/aHfBDN2PkEderUCTt27NDoY06dOhU///yzRh/zY4lNJFi0NQwnXz/G3jvP0GlARgUlGUyYH4fDT5/g8NMnmDA/Du+OFnbORViyPQwHn/yFI8+eYLlvCOxdCjWe1chUgsU7o3Aq/AV8A4PQeVBmhVknLkzEkZcvceTlS0xcmIjyRzYXj0JsvBiKUxHPsfFiKFw8qinrjiicCnsO3wev0HngB7IuSMSRly9w5OULTFzwftYCbLwQglPhz7DxQghcPAo4m3XW6jjsuPUaF+Kewmt4Re3onxGbSLBoWwROBv+FvXdfoNOANxVmnfBDPA4/e4rDz55iwg/xSlm/XhWDHddf4nz0Y3gNTa+WrHxqr2KTUvz4exCOP7mDPQGB6NQ3tcKs4+dF4eD9ezh4/x7Gz4uCuk8NXQak4Hzwn+gxNFmjOeVtNQKnQp/C9/5LdB5Y8es/cUECjrx4hiMvnmHiggQot9UY7Lj5Chdin8BrWDW2VT4dW3lyDODd++q3Vzj+6Db2XH2ATn0+8L6aG4mDd+/i4N27GD83EmrfV/1TcD7oFnoMSdJ8VuNS/LjhGY7fv4Y9F26jU6+K3rsMxs8Ow8GbN3Hw5k2Mnx2mlFUoZDBmRjj8rtzC0bvX8fuh+zA0KtVoVj61AT5lRY4MWJwO9EkARiUBAR/4vBFaAsxOlZcdkggcy5XfniKR31b+p2s8cDhXo1HpmEXtlRBNoRk7/2FOTk5ISUmBlpYWDA0N0atXL2zcuLFanmvLli3V8rgfY+bPMZCUCjCyeRO41i/AT7vDEBUkQkyYgVK53p+noW33LEzv2QAMA6zYF4LkOD2c32cNQ2MJ7l81xS/fOKMwX4gvZiViyfZwTO7aUKNZZ6xIgKRUgBGN6sO1QSF+9o1C5CsDxITqK2f1fgPPnjmY5uUOhhFg5cEIJMfq4pyfJbR1ZFi6Owontlvh7F4L9B6dgaW7ozChXV1ISjU3Zjtjebw8a2MPuHoU4mffSEQG6SMm9L169c6AZ89sTPOqA4YBVh6IQHJcuay7onBihxXO7rVEb+8MLN0VhQnt63EuKwBEBunj5hnTtx+cqsdMn1h5e23WCK4ehfL2+tpANesX6fL22qO+vL3uD5O3V38rAEBUkAFunTHDhB8Sqi0rn9rr9MURkJQK8Hn7NnCpm4dlW18hMtgQseGGSuV6jUiGZ7cMzBjQDGCA5bteICVeH+cP2SrKiI1LMeLLOESHijSW750ZPnGQlAgwoklDeVvdG47IIPWvv2ePLEzrXk/eVveHy+v07esfGSTCzdNm1dtW+XRs5dExgFfvqx/DISkV4vPPPOXvq80vERmi5n01PAmeXTMwY1Bz+ftq5wukJOjj/KGaijJi41KMmBKL6DDNv68AYPqCYHnWzp/Js/7+FyJDxYiNECtnHZoAz85pmDGsNQBg+Za/kJJggPNH7AEA3tMiUK9JNuaNaYnUJH04uuWjpFiz50P51Ab4lBW/ZQI6AuCoLRBeCixMB1x1ACcd5XLZUuCHdGCaKfCZASBhgDSp/D4bbeCcXVnZJAkwJlleToPomEXtlRBNoVb5H3fmzBnk5eXhyZMnePToEXx8fNiOVC30DKRo1ysTvr/Yo6hAC68eGeH+VVN0Gaw6g6Hb0HQc226D9GRdZKTo4vj2GoqZDqHPxLh0yAp52dqQSoQ4vqMGHNyKYGQq0WjW9r2zsXeNrTxroBj3Lpug61DVM/Zew9/g2BYrpCfpIiNZB8e2WsFruPysQ6O2+dDSYnBiuyVKS4Q4tdMKAgHQpF2e5rOurSHP+lCMe1dM0HWI6pkPr2FvcGzru6y6OLbVGl7D5X9TI888aGkBJ7ZbybPu4m5WADiz1wpPbxtp/EN8+aztemXBd11NRVZ5e1U9y9ZtSIZye91mA6+hZeXO+Frj6R1jlBYLqi0rn9prO690+P3miKICLQQ9McGDaxbo0l91dkHXgSk4vtsOGSl6yEjVw/Hd9ug2KEWpzLi50TjtVxM5WToqv/9Pc7bvnYW9a2uWa6um6DpETZ0Oe4Nj22zK2uo2a6WzsWf2WuHpHWOUVOPrz7tjK0+OAbx6X3V/73113QJd+ql5Xw1IxfE99uXeV3boNvC999WcaJz2t0NOpmbfV4qs3VLh94cLigq1EfSXKR7ctEKXvqozg7r2S8Jx31rISNVHRqo+jvvVQrf+8i/FYqNSDPCOw/+W1UNqkgEAAWLCxSgt0dJoVj61Ab5kRaEM+LMQGGcMGAiBhnqApwFwRc2snSN5QAt9oJsI0BUAIiHgWEG7vFIgf6wamjsnTscsaq+kqhiA4fgPB9DAzifCzs4OvXr1wsuXLwEAMTExaNeuHYyMjNC9e3ekp8s/fPfp0we///670u82atQIJ06cAMMwmDNnDqytrWFsbIyGDRsqHm/cuHH48ccfFb9z6tQpNGnSBMbGxnB1dcXFixcBAHv27IGLiwuMjIzg7OyMffv2aeTvs3cpglQqQEJU2Uh85GsDOLqrTpl0rF2EyNdlZwojg0RqywFAw9a5eJOqg9wszXXk9q7FkEqBhEg9xW1RQfpwrFOsmtW9CJFB5f6mVwZwrFOkuC/qtfwDp/LjFGkuq8u7rGUZosplUM1adoYpMsgAju5vs9YpQtRrfeWsr9U/DttZ/w2KrOXbawUZHN0LERlUrr1W0K6rC5/aq51Tofw4EF2uvkIM4Vhb9QO9o1sBooLLZhtEhRiiVrly7g1zUbtBHs4ftFX53X9K3esfFVTB8cq9kOW2yqNjK5+OAXx7X0kESIh5733llq+a1S0fUSHl31di1HIr/77KQW2PXKWZcZpk55j/NmtZhsgQIzi6qsnqmoeoUKNyWY1Q6205p9p5kEoEaO+VCv+AW9h++i76jojTaFY+tQE+ZUW8BNASAA7lBmhcdYBoNcvoXpcARkLgq1T5MqyF6fIlWO9jGOByPtBds7PM6JhV/nE+0fZKiAbRwM4nIi4uDufPn0fTpk0BAPv378fu3buRmpqKkpISrFu3DgAwduxY+Pv7K37v2bNnSEhIQJ8+fXD58mXcunULoaGhyM7OxuHDh2FhYaHyXIGBgRgzZgzWrl2LrKws3Lp1C05OTsjPz8fXX3+NCxcuIDc3F3fv3kWTJk008vfpi2QoyFVuzvk52hAZylTLGkqRn1t21i0/VwsisQzv7wNgWaMEM36OwbafHTSS8R0DkQwFucpn/fJztGBgKFWTVbls+awGhjKlv+Pd/QZi1b/5b2c1VJM19wNZcz4iawV/M9tZ/w36hlK1WUUVZFVqrzn/blZetVeRFAV5VWwDIinyc7XLldN+W/8MhEIGM5aEY9PPrmAYzc+EqbCtqqkL1tsqn46tPDoG8O59lf/+c2hX7X2V9977alE4Nvm4Vcv7CgAMDKQoyFceLMzP04aBSPXL+oeyWtoUQ2wsgZ1jASb0bofl8xrii6mRaNpGc3uX8KsN8CcrChlA9F77MhTIZ/K8L00qH7CZYQocsAVstYHlavY7e1ECZMqAjppdhkXHrLL7P9n2SogG0cDOf9zAgQNhamqK9u3bo2PHjliwYAEAYPz48XB3d4eBgQGGDx+Op0+fAgD69++P0NBQhIWFAQD8/PwwYsQI6OrqQkdHB7m5uQgODgbDMKhXrx5sbVXPuu3cuRMTJkyAl5cXhEIh7OzsULduXQCAUCjEy5cvUVhYCFtbW3h4eKjNvW3bNrRo0QItWrRAKVP5yHhRgRAiI+UDrchIioJ81SZelK8Fkbjs4C4SS1GQJ0T5EXkT81Is9w/BWT9r3DitOnj1TxQWCCEyUu5cREZSFL73wVmeVfi2g1HNWpgvVPo75I8jQ2Ge5t7WhfkfmdVIfb2qz6r+cdjO+m8oytdSzSqWqXx5kpdVrjuR0b+blVfttUBL9TnEFWQteP84IHlb/wL0+TwRUSGGCHlmrLFsSjnVtVWxVG1dqLZV2b/bVvl0bOXRMYB37yvDj3lflQ2iiAzLva9GJSIq1BAhz6vnfQUAhYVaEBkqD+KIxBIUFqjODPtQ1uK3y1kObHVGSbEWosOMcPOSDVq019wG9fxqA/zJCgMBUPDeYEc+I1+W9T49AdDeAKirK1+KNdoIeFUC5L33xf1yPtDBQP1j/AN0zHr3OJ9weyVVJmC4/cMF1DL/406ePImsrCzExMRg06ZNMDCQn22oUaOGooxIJEJenny9qL6+PkaMGAF/f3/IZDIcOHAAo0ePBgB06dIFM2fOxIwZM2BtbY0pU6YgJydH5Tnj4uLg6uqqcruhoSEOHTqELVu2wNbWFn369EFwcLDa3FOmTMGjR4/w6NEj6Aj01ZYpLz5SH1paDGo6lQ0CudQrUNl8DgBiwvThUq9seYBLfeVyYmMJlvuH4v4VUxzcWFPl9/+p+Ag9aGkBNZ3LpoS61C9CTIieStmYUH241C+X1aMQMSH6ivuc6xWh/Nka53pl92ska6S6rOqfQ561SLnc203qYkL04VyfH1n/DYqs5dtr/QK1GWJCDeBSv2wpg0u9QrXturrwqb0mRBvIjwOO5TLUyUeMmk1aY8JFcK5btk7euU4+Yt+Wa9ImG57dMuD/5334/3kf9ZrkYNL3kZi2KFwjOcva6vttUM3xKtRAuU4raCfVhVfHVj4dA/j2vtJ+/32Vh5j3Nk4GgJhwQzjXKVv25Fw3H7Hh795XWfDsmgH/W/fgf+se6jXNwaTvIjFtoWbeVwCQEGMoz1qr3DHTPRcxEWqyRojh7F7+GJCL2LflokLlGy2Xn1mk6VlGfGoDfMoKe21AygDx5ZZeRZaqbpwMAC46yuMiAjWvcTED3CoEemh+s286Zsl90u2VEA2igR2iYuzYsdi3bx8CAgIgEong6empuO/rr7/G48ePERQUhNDQUKxdu1bl9x0cHBAREaH2sXv06IErV64gKSkJdevWxeTJkzWSubhQC3cummHM3AToGUhRv0UuPL2ycO24pUrZq8csMXhyMixsSmBuXYIhk5Nx5ai8nEgsxXK/UAQ9EmP3as0uE1DKesEEY75NlmdtmQ/PHtkIOGqumvWIGQZ/mQaLGqUwtynF0C/TcOWwGQDg+V1DyGTAwInp0NGVof94+ZnEp3fEKo/zj7N+k/S2XvPg2T0bAcfMVLMeNcfgKamwqFFSLqv8b3p+TwyZtFzWcWmczQoA2joy6OjJIBAA2tp4+2/NDcfL26spxsxLLMvqlYVrx1VnMFw9boHBk1Ll7dWmBEOmpODK0bJy77JCAGjpMNWTlUft9e4VC3h/HSPP2jQbbbpm4Nppa5Wy107aYNC4BFhYF8PcuhiDxyfg6gkbAMD6H9wxtU9zfDWoGb4a1Axhr8TY/0ct7N3gpLGcdy6YYsy88m01CwHH1NTpUXMMnpzytq2WYOiUVFw5rPr6CwSAdnW9/nw7tvLlGMCr95UlvGdGl72vumTg2hk176vT1hg0Nl7+vrIqxuBx8bh68u37akEdTO3XAl8Nbo6vBjdH2Esj7N/kiL3/c9Js1gBreE+PkGdtkoU2ndJw7azq7OJrZ20xaHQMLKyL5FnHxOLqafmAY3K8CC8fm2LE5Cho68jg4JyPjj2TEXjLSqNZ+dQG+JIVBkL5LJw9OfLlVy+LgbuFgJeagZmeIuB2IRBeIr8iln8O0EAXEJf7enS7UP7/JqqDAv8UHbOovRKiSQKG4cg2zkTjnJycsGPHDnTr1k3p9k6dOsHb2xuTJk0CIN/QeMeOHbh9+7aijLu7O/T19TF06FAsXrwYAPDw4UPIZDI0a9YMJSUlGDJkCFq3bo1ly5Zh3LhxsLe3h4+PDwIDA9G9e3ccO3YMnTt3RlJSEnJzc2FmZob79++jW7duMDAwwLJly3Djxg3cvHnzg3+HsdACbXR6Vvr3ik0kmLs2Cs065CAnUxu7VtvjxikLeLTMhc/eUAyq3/xtSQYTf4hHz5HywYWLB62wc6U9AAG6DUnHN+ujUFQgVNrgfEq3BkhLrLxTZ0pLKi0DAEamEsxdH4dmn+UhJ1MLu1bY4voJMzRolQeffVEYWPvdJYAZTPwxCb1Gydd8Xzhgjp0+tnh3ism1QQHmrItHrdpFiA3Xx4Z59oh4WcWzSurOTFWU9ZfYcllr4vrJt1n9IzHQvVFZ1oVJ6DUq421WC+xcXi6rRwHmrIsrl9UBEa80ewZMU1nXHAlD47bKm21+O9QVz+8ZoTICraotLxObSDB3XTSadciVZ11ljxunzOHRKhc+e8MxqF7TsqwLEtBzpPwDxcWDlti5wq4s66EQNPJUvkLDd8Pd8fx+5VkZSdWuSMSF9qplXLXlG2KTUsxZHoambTORk6WDPeudcOOsNTyaZ+OnbS8xpHk7RdYJ30Sjx9BkAMClozWwa50ToGZa+yrf57h+2hqXjtZQue990jzVTVrVMTKVYO66GDT77O3rv9IO10+ay+vULxwD6zRR5Jy4MOG9tlru9T8Sisbvvf7fDqut+bbK9rFVombjUzW4cAyo6tUxOPG+MjWpUjmxSSnm+ISiqWcmcrJ1sGe9M26ce/u+2voCQ1q0V2SdMC9K+X31izPUvq/2PMP1M9a4dKyKGynr6FYtq3Ep5iwLQlPPDPkx4H+1ceNCDXg0zcRPm55iiGfnsqyzw9FjcII863E77PrVTZHVwroIs5a+hkfTLGS90cXR3Y64cNS+ShmkaWlVKseFNlBVnMgaULX6R44MWPsGeFIMGAuBSSZAVxHwvFh+efPylzE/nScf0ClmgAZ6wCxTwLrc0r3v0+RLtcZX7b2i0C2hSsXomPXfbK8PmADkMGr2ayJ/i7GRHVo1m8F2jA/Kyj+OR48esZqBBnb+w/7JwI6Pjw8WLVqEiIgIuLi4AAACAgIwZ84cREZGQl9fHz169MDWrVshFouVBnYA4MSJE1iyZAmioqJgY2ODP/74A40aNcLIkSPx9OlTCAQCNGnSBJs2bUL9+vU/+HdUdWCHC6o6sMMJVRzYIR+nql+WuaCqAztcUNWBHbZVdWCHC/jVVqs2sMMJPPpYVdWBHU6o4sAOF1R1YId8pKoO7HBBFQd2OIFHxyy+oIEdzTI2skOrptPZjvFBWQUnaGCHcJOvry+2bdumNNjDFhrYqSY0sFMt+PVlmQZ2NI0GdqoHDexUDxrYqR40sFNNaGCnevDomMUXNLCjWTSwUzW0xw5RUVBQgE2bNmHKlClsRyGEEEIIIYQQQsgH0MAOUXLp0iVYWVnBxsYGn3/+OdtxCCGEEEIIIYR8qhhAIOP2DxdoV16EfEp69OiB/Hz+LCUghBBCCCGEEEI+ZTRjhxBCCCGEEEIIIYSnaMYOIYQQQgghhBBCuIk2+a4UzdghhBBCCCGEEEII4Ska2CGEEEIIIYQQQgjhKVqKRQghhBBCCCGEEG6ilViVohk7hBBCCCGEEEIIITxFAzuEEEIIIYQQQgghPEVLsQghhBBCCCGEEMJJAroqVqVoxg4hhBBCCCGEEEIIT9HADiGEEEIIIYQQQghP0VIsQgghhBBCCCGEcBMtxaoUzdghhBBCCCGEEEII4SmasUM4TyAUQig2ZDtGlUgzS9iOUGVaRkZsR6gyaU4O2xGqjJFI2I5QZUJDfryvAH61Ab4Q6OqwHaHKmFL+nKnTsjBnO0KVSTPesB2BsEzLyortCFUm7RrPdoQqC9vYmu0IVVbnm2dsR6gygaM92xGqRBB9m+0I5BNEM3YIIYQQQgghhBBCeIpm7BBCCCGEEEIIIYR7GAAytkNwH83YIYQQQgghhBBCCOEpGtghhBBCCCGEEEII4SlaikUIIYQQQgghhBDOEYCBgC53XimasUMIIYQQQgghhBDCUzSwQwghhBBCCCGEEMJTtBSLEEIIIYQQQggh3ERLsSpFM3YIIYQQQgghhBBCeIoGdgghhBBCCCGEEEJ4ipZiEUIIIYQQQgghhJu4vhRLwHYAmrFDCCGEEEIIIYQQwls0sEMIIYQQQgghhBDCU7QUixBCCCGEEEIIIdzDAJCxHaISWmwHoBk7hBBCCCGEEEIIIbxFAzuEEEIIIYQQQgghPEVLsTTAyckJO3bsQLdu3bBixQpERkZix44dasvu27cPe/fuxeXLl//RcwoEAoSFhcHNze0fPU55vXr1wsiRIzF27FiNPea/SWxSitk/haBZ2zfIydLBnl9dcOOcjZqSDMbPjUSPIUkAgEvHbLF7vQvebWd+/tUNFBUI8W7v9VvnrfG/JXU1mtXIVII5v8Shecc8ZL/Rwu6Vtrh+wkxt1okLk9Bz1BsAwMUD5ti53FaR1cWjEHN/iYND7SLEhelj/TwHRL4y0GhWsUkpZvuEoVm7TORk6mDPBifcOGutNuv4edHoMSwZAHDpSA3s/sUJ728T32VACr5ZHYr//Vgbl47W0GhWPtUrn7KKTUoxZ0UEmrXPQnamNvb84ogbZ6zUZp3wbQx6DEsFAFw6Yo1dax0BCGBsVorFm4Ph4FIIoRaDuAgD7FjlhKAnxhrNypd65UtOABCbSDBnVSSadciWv/5rHXDjtKXarBO+j0OP4WkAgEuHrbBrtQMUr//WUDi4Fslf/3AD7FhZC0GPjTSalVf1alyK2T8Fo5nn2z7rf664cb6CPmtOJHoMTgQAXDpeE7s3lOuzXlx/22fJ/3/rgjX+t/TT7bMoazW212VBaOaZgZxMXez5zQ03LqjrwxmMnx2OHoPettcTNbH7VzdFVqGQgfe0CHgNTISBoRRJcQaYP6k58nN1NJaVT/UqzJfAZl8kRMHZkBpqI6O/A3Jbqh5fzc/Fw/xSIhjtss9UMQsaQmKpDwDQjc+Hzb5I6CYXoaSGPlK+cEGJvaFGs2qiL7BzLsTE+bGo3ywPQi0Goc/F2LzMEQlRmqtXsVEJZn/7GM1apCAnWw97dnjgRkAtlXKNmqRi1JhguNXORF6eLsaP6qV0/+jxr+DZPhEOjrk46FcX+/bW11hGQqoDDeyU4+TkhJSUFGhpacHQ0BC9evXCxo0bIRaLq/wYCxYsUPw7Ojoazs7OKC0thba2vKq/+OILfPHFFxrPXt6rV68wZ84cPHr0CDKZDK6urvj555/Ru3fvD/7ehQsXqjVXdZv+YxgkpQJ83rEtXOrmYdmmF4gMFiM2Qrlj6zUsCZ5d0jFjcAuAEWD5jmdIidfH+cN2ijIzhrRAUqyo2rLOWJEASakAIxrVh2uDQvzsG4XIVwaICdVXKtfb+w08e+Zgmpc7GEaAlQcjkByri3N+ltDWkWHp7iic2G6Fs3st0Ht0BpbujsKEdnUhKdXcZLzpiyPk9dq+jbxet75CZLAhYsPfq9cRyfDsloEZA5oBDLB81wt5vR6yVZQRG5dixJdxiA6tnrrlU73yKuvSKJSWCjDKsyVc6+Vj2fbXiHxtiNhw5dex18gUeHZ7gxn9G4NhgBV7gpAcr4/zB2qgMF8LG35wQ2K0PhgG8Oz2Bku3BmNkm5aQSTV3jUi+1CtfcgLAjJ+i5a9/q2ZwrV+AZTtDEPlahNiw917/Uanw9MrEjD4NwDACrPB9jeQ4PZzfbyN//b93KXv9vTKxdHsIRrZs/km+/gAwfWEoJKVCfN6pnfzY+sdzRIao67MS4dk5DTOGtpT3Wdueyo+tR8r1WUNbIimO+izKWo3tdUGwvL12/kzeXn//C5GhYsRGKH9G7jU0Qd5eh7UGACzf8hdSEgxw/og9AMB7WgTqNcnGvDEtkZqkD0e3fJQUa3YBAZ/q1fpwNBhtASJXNoNefAFqbg5Bsb0IJbaq7+fc5uZIGavmhK5EhppbQ5HVuQayO9jA+E4qam4NRfSSxoA2t/oCQyMp7geYYf13rijMF+LzrxKwZFsopng11ljO6bP+gkQixOeD+8LFLQvLVt5BZIQpYqOVTyQVFWnjygVH3LxmjxFfhKg8TmKiGLu2NkSv/pEay0b+PgHXL3fOAbQU6z1nzpxBXl4enjx5gkePHsHHx4ftSB+tX79+8PLyQnJyMlJTU/Hbb7/B2FizZ8W5Rs9AinZeafD73RlFBdoIemKKB9ct0aV/skrZrgOScXyvAzJS9JGRqofjexzQbaBquerM2r53NvausUVRgRZeBYpx77IJug59o1LWa/gbHNtihfQkXWQk6+DYVit4Dc8EADRqmw8tLQYntluitESIUzutIBAATdrlaTRrO690+P3miKICLQQ9McGDaxbo0j9VpWzXgSk4vtsOGSl68nrdbY9ug1KUyoybG43TfjWRk6W5M3Pls/KpXvmUtV33DPj9Wkue9bEx7geYo+vANJWy3Qal4fiumkhP1kNGih6O7awJr8HytlJaIkRClAEYRgCBAJDJBDAylcDIpFSjWflQr3zJ+S5rux5v4LfBXp71kRHuXzVF10HpKmW7DU7H8R22b19/XRzbaQuvIfJ2ovL6SwUwMpXCyFSi0ay8qlevNPhtdEZRoTaC/jLFgxuW6NJPTZ/VPxnHfWuV9Vl7HdBtAPVZlPVfbq/dUuH3h0tZe71phS59k1TKdu2XJG+vqfrISNXHcb9a6NZfPntHbFSKAd5x+N+yekhNMgAgQEy4GKUlmtt1lE/1KiiWQvz0DTL62IPR00KRqxHyG5rCKFD1+PohorAcCGQMsjrXAKMjRHYn+UwqUWiOxrJqqi8IfS7G5cPWyMvWhlQixIldtnBwLYKRqWY+C+jpS9DuswT47aqPoiJtBL20xIO7NdHFK0albGiwOa5dcURyovqZTQGXHPEosAYKC2geBOEHGtipgJ2dHXr16oWXL18CAE6fPg0PDw+YmpqiU6dOeP36tdrfW7p0Kby9vQEAn332GQDA1NQUYrEY9+7dw549e9C+fXtF+VevXsHLywvm5uawsbHBihUrAACBgYHw9PSEqakpbG1tMXPmTJSUlFSaOz09HVFRUZg8eTJ0dXWhq6uLdu3aKT3nqVOn0KRJExgbG8PV1RUXL14EAHTq1ElpCdmuXbtQr149mJmZoUePHoiJKTsoCgQCbNmyBbVr14apqSlmzJgBptxI6vbt21GvXj0YGRmhfv36ePLkCQAgMTERQ4YMgZWVFZydnfHbb79V+jdVhZ1jAaQSARJiys4aRIYYwtGtQKWso1s+ooLLzjBFhRii1nvl1ux9Cv+bd7Dw15ewrlmokYzv2LsWQyoFEiL1yjIE6cOxTrFqVvciRAaVnWGKfGUAxzpFivuiXss/GCk/TpHGsto5FUIqFSAh+r16ra2uXgsQFVzWOUaFGKJWuXLuDXNRu0Eezh+0VfldTeBTvfIqq/O7NlA2TToqWKS+DdQuQGT5NhCs+t7adOYpTr28j6Vbg3HhkDWy3+hqLitP6pUvOQHA3rlI/vqXmyYf9doQjrVVj4uO7oWIfC0qV06EWu+V23T+OU69foilO0Jx4aAVsjM0N8jLp3pV32eJ4eiar5rVNR9RIeWPrWLUclMut2bPX/C/fgcLN7z4pPssylo9We0c89+217J2GBliVEF7zUNUaNkSy6gQI9R6W86pdh6kEgHae6XCP+AWtp++i74j4jSWE+BXveqmFoERClBqU3Z8LbYzhG6S+vew4YssuHz3CLV8nsPkz7ITZ7pJhSi2EwGCsqwlNUUVPs7foem+4J2GrXLwJlUHuRo64WdnnwepVIiE+LI2GBlhAkcnzQ1yEcJVNLBTgbi4OJw/fx5NmzZFaGgoRo0ahV9//RVpaWno3bs3+vXrV+lAy61btwAAWVlZyMvLg6enp9L9ubm56NatG3r27InExESEh4eja9euAAAtLS1s2LAB6enpuHfvHgICArBp06ZKc1tYWMDNzQ3e3t44efIkUlKUZ0wEBgZizJgxWLt2LbKysnDr1i04OTmpPM6pU6ewYsUKHD9+HGlpaejQoQNGjRqlVObs2bN4+PAhnj9/jsOHD+PSpUsAgCNHjmDp0qXw9fVFTk4OTp8+DQsLC8hkMvTr1w+NGzdGQkICAgIC8Ouvvyp+758wEElRkK98xic/TxsGItWzwfoiKfLzysrm52pDZCgF3u6q892YJhjfvQ2+7NsKb9J0sXTTCwi1NHeNPQORDAW572XN0YKBoVQ1q6Fy2fxcLYjEMgAMDAxlyH//cXK1YCDWZFYpCvLUPIe6rCIp8nO1y5Urq1ehkMGMJeHY9LMrGEZzyy6Us/KpXvmTVV8kU9MGtD/QBtRnfWd6vyYY0rQ1Vs2pjaDHmp1JyJd65UtO+fN/7DHgvWPr+69/70YY0qgFVs1yRdAjze6vw6d6lfdZymeB8/M+8L7K01Yqp9RnjWuK8T088WX/VniTpoelGz/lPouyVktWgwraa0WfsXLVt1dLm2KIjSWwcyzAhN7tsHxeQ3wxNRJN22RoLiuP6lVQLIVMX/k5ZAZaEBapZs1rZo6YHxshclVzpH7uDPMLCRA/ks+WERbLVB5HWsHj/F2a7gsAwLJGMaYvi8a25ar73/xdBgYSFLw3wyY/X0dtWyU8wzDc/uEAGth5z8CBA2Fqaor27dujY8eOWLBgAQ4dOoQ+ffrAy8sLOjo6+Oabb1BYWIi7d+/+o+c6e/YsatSogXnz5kFfXx9GRkZo3Vq+Jrl58+Zo06YNtLW14eTkhC+//BI3b96s9DEFAgGuX78OJycnzJs3D7a2tvjss88QFhYGANi5cycmTJgALy8vCIVC2NnZoW5d1U0Wt2zZgh9++AH16tWDtrY2FixYgKdPnyrN2pk/fz5MTU1Rq1YtdO7cGU+fPgUA7NixA9999x1atmwJgUAANzc3ODo64uHDh0hLS8PixYuhq6sLFxcXTJ48GQcPHlR5/m3btqFFixZo0aIFSpjKz44UFmi9/eBQRmQoVTt9sqhACyJxWVmR+N2gkHzA4eVjU0hKhcjP1cHWlbVRw64ItVxUZyf8XYUFQoiM3stqJEXhewNTAFCUL3zbGZbLmicEIEBhvlDp75A/jgyFeZp7Wxe+V1fvMqjNqlKvEkW99vk8EVEhhgh5Vn1LAvlVr/zJWlSg5jnEkiq2gbKs5ZWWCHHzrBWGfZkA57qqZ3z/Lr7UK19yyp//nxwDPvD6n7HEsKmJn+TrL8+qBZGh8hcNkeEH3leGlfRZkrd91qraqGFX+An3WZS1WrIWqmmvYskHPmOVlRUZln0WKH67l86Brc4oKdZCdJgRbl6yQYv2H7f06INZeVSvjJ7q4IuwSHWwBwBKbEWQmuoCQgGKXIyQ1akGjP6SLy+T6Qmr/Dh/l6b7AhPzUizfG4xz/ja4eUbdBsx/T2GhNkTvDeKIRKW0nIp8Emhg5z0nT55EVlYWYmJisGnTJhgYGCAxMRGOjo6KMkKhEA4ODkhISPhHzxUXFwdXV1e194WGhqJv376oUaMGjI2NsWDBAqSnV63js7e3x8aNGxEREYGYmBgYGhpizJgxlT5neTExMZg1axZMTU1hamoKc3NzMAyj9DfXqFF2NQSRSIS8vLwPPkdMTAwSExMVj2lqaooVK1aozCoCgClTpuDRo0d49OgRdAX6Kve/LyFGBC1tBjVrlX2YdamTh5hw1c3nYsIN4VynbI20c508lU1gy2OA97+X/CPxEXrQ0gJqOpdNC3apX4SYED2VsjGh+nCpXzZ91cWjEDEh+or7nOsVvUsIAHCuV3a/JiREG0BLi0FNx3IZ6uQjJkxdvYrgXLd8veYrNtRr0iYbnt0y4P/nffj/eR/1muRg0veRmLYoXGNZ+VSvvMoapdoGnOsWqG8DYSK41C33HqyX/8H3lrY2A1sHzU1r50u98iUnAMRH6ctff6ey18m5XgFiwlSvYBITagCXeu+9/mrKvaOtzcC2luryiL+dlUf1WmGfFaG610NMxHt9lnueyub15TEQfLJ9FmWtnqwJMYaq7dU9t4L2Koaze/nPArmKDcGjQuXL4MvP3NX0LF4+1WuJtT4EMgY6qWXHV72EApTYVuEKUeWqrcTWALqJBUqzBqr8OFWkyb5AbCzB8r3BuB9ghoOb7FR+/59IiBdDS0uGmna5Zc/vlo2Y6Oo7sUgIV9DAThXUrFlTaaYKwzCIi4uDnd2HD0YCwYc7KwcHB0RGqt9pfdq0aahbty7CwsKQk5ODFStWKO1hU1UODg6YMWOGYq8gBwcHREREVOn3tm7diqysLMVPYWEh2rZtW6XfVfccDg4OcHZ2VnrM3NxcnD9//qP/rvcVF2rh7hVLeH8VDT0DKeo3zUabLum4dlr1UpzXTttg0Jh4WFgXw9yqGIPHxeHqSXm5Wq75cKmbC6GQgb5IgknfhSMjRQ9xkZq72khxoRbuXDDBmG+T5Vlb5sOzRzYCjpqrlL16xAyDv0yDRY1SmNuUYuiXabhyWH7Jzud3DSGTAQMnpkNHV4b+4+UDf0/vVP0qblXJeveKBby/jimr164ZuHZa9XLn107aYNC4BHm9Whdj8PgEXD0hv3Tv+h/cMbVPc3w1qBm+GtQMYa/E2P9HLezd4KTRrHyqVz5lvXvZHKNnx8mzNsuBZ7c3CDipernzgJNWGDQhERY2xTC3LsHgCYm4clzeVuo2yYVH8xxo68igqyfFsCnxMLUoQfAzzS3H4Uu98iXnu6x3L5lh9Jx4edbmufD0ykTACdUzrAEnLDFoYhIsbErkr//EZFw5Jm8ndZvkwqNF7tvXX4ZhXybC1LIUwU8/4ffVVSt4z4iSZ22ShTad03HtjLo+qwYGjYkr67PGxuLqqXJ9Vp23fZaBBJO+CUdGiu4n3WdR1mpqrwHW8J4eUdZeO6Xh2lnVPfOunbXFoNExsLAukrfXMbG4eromACA5XoSXj00xYnIUtHVkcHDOR8eeyQi8pdqf/JOsfKlXRk8LeY3NYHEuHoJiKfQjcmH4PBO5rVSPr4bP30BYIAEYBnrReTC9kYy8hvKsBbWNAYEApjdSICiVweSmfHP1AnfNDWZoqi8QiSXw2RuMV4+NsHuN5pZgKXIWaePun3bwHh8EPX0J6jdIR5u2ibh2xVGlrEDAQEdHCm1tBgLg7b/LZnBpacmgoyOFUAhoaTFv/82NJTefHg4staKlWP8Nw4cPx7lz5xAQEIDS0lL88ssv0NPTq3SQw8rKCkKhsMLBm759+yIpKQm//voriouLkZubiwcPHgCQ779jbGwMsViM4OBgbN68uUpZMzMzsWTJEoSHh0MmkyE9PR27du1CmzZtAAATJ07E7t27ERAQAJlMhoSEBAQHB6s8ztSpU7Fy5Uq8evUKAJCdnY0jR45UKcOkSZOwbt06PH78GAzDIDw8HDExMWjVqhWMjIywevVqFBYWQiqV4uXLl3j48GGVHrcyf/i4Q09PigO37uC7tUH442d3xEYYwqNZFo49vKUod/5wTQTetMCmkw+x+dRDPLxlgfOH5R86zCxLMH9dEI4++BO7Lj6ATc0iLJ3eEFKJZt8qG3+wg56+DIdfBOGHTTH4/Qd7xITqo0GrPJwMe6Eod87PAvevGGNrQAi2XQvBgwBjnPOzAABISoVYNsEJ3YZl4tjrl+g+8g2WTXDS6GU4AeCPn9ygpyfDgTv38d0vIfhjmRtiww3h0Twbxx7fUZQ7f6gGAq9bYNPpJ9h8+gke3jTH+UPyLx/5udrITNdV/EhKhSjI00ZBnmanxvKpXnmVdakLdPVkOHj/Ib7fEIqNS1wQGy6CR4scHH96X1Hu/AEbPLhmhs1nn2HLuacIvGGG8wfkg3s6ujJMXxKJQ4GB8L/9GC07ZmHJlHp4k6q5zZMB/tQrX3ICwMbFzvLX/+ETfP+/cGxc5ITYMBE8Wubg+Iuy4/f5/dZ4EGCGzReeY8vF5wi8borz++UDezq6DKYvi8ahx4/hf+8JWnbKwpKJdT7Z1x9422fpy3Dgxm18tyYIf/jUKeuzHpTrs47UROANC2w6HojNJwLlfdaRt32WRQnmr32Fo/duYdeF+7CxK8LSmY0+6T6LslZTe11eV/5Z4PpNfLfqBf5YXg+xEWJ4NM3EsXvXFeXOH7FD4E0rbDp6H5uP3cPDW5Y4f6TsROjq+Q1gbVuEQ7duYunGp/D7wxXPAlUHXf4JPtVr6ghnCEplcPnhCWrsCUfaCCeU2IqgH54D17llx1ejx2/gtPQZXOc9Qg2/CLzxqoncNm8HxLSFSJriDqPANLh89wjG99KQNMVdo5c6BzTTF7Ttnok6jfPRfWgajr94qPixqqm52Zt//NpU/n3g+Fl892Mg/vi1KWKjjeHRMB3Hzp9UlGvQKB2nLp/ET6vvwLpGAU5dPgmftX8q7v/6myc4dfkkOnWNw8jRwTh1+aTaq2sRwhUC5u9MA/mPcnJywo4dO9CtWzeV+06cOIGFCxciISEBTZo0waZNm+Dh4aHye0uXLkV4eDj8/f0BAIsXL8bmzZtRWlqKixcvIjg4GDt27MDt27cBAC9fvsSsWbPw5MkT6OnpYfbs2Zg/fz5u3bqFKVOmID4+Hk2bNkXnzp1x7do1xe8JBAKEhYXBzc1NKWd+fj6mT5+OmzdvIj09HWKxGJ07d8a6desUM4xOnDiBJUuWICoqCjY2Nvjjjz/Qo0cPdOrUCd7e3pg0aRIAwM/PD2vWrEFMTAxMTEzg5eWFXbt2qX3+cePGwd7eXnF5+C1btmDDhg1ISEiAk5MT/Pz80LRpUyQmJmLevHm4fv06iouLUadOHfj4+Kit83dMtK3gaTLo772o/zJpZibbEapMy5g/01KlOXQ1g+ogNKx4OQfXyPI1txcLkRPqa25JQXWTFWluyV5107LQ7JfU6iTNUL0ENPm0aFlpbrZMdZOmpbEdocrCNrZmO0KV1fnmGdsRqkzgaM92hCq5F70H2YVJbMf4zzAR2cLTbSLbMT4oXfciHj16xGoGGtghnEcDO9WDBnYIDex82mhgp3rQwA7hExrYqR40sFM9aGDn02RiYAtPtwlsx/igdL1LrA/s0FIsQgghhBBCCCGEEJ6igR1CCCGEEEIIIYQQntLszqWEEEIIIYQQQgghmiKrvMinjmbsEEIIIYQQQgghhPAUDewQQgghhBBCCCGE8BQtxSKEEEIIIYQQQggnCehC3pWiGTuEEEIIIYQQQgghPEUDO4QQQgghhBBCCCE8RQM7hBBCCCGEEEIIITxFe+wQQgghhBBCCCGEm2iPnUrRjB1CCCGEEEIIIYQQnqKBHUIIIYQQQgghhBCeoqVYhBBCCCGEEEII4R4GgIyWYlWGZuwQQgghhBBCCCGE8BQN7BBCCCGEEEIIIYTwFC3FItwnFECgr8d2iv8cRiJhO8J/k1CL7QRVJisoYDsCYZGspJTtCP9J0sxstiP8NwkEbCf4T5KmpbEd4T+p9leBbEeosuDNLdmOUGX1VyaxHaFqZDK2E/zHMHRVrCqgGTuEEEIIIYQQQgghPEUDO4QQQgghhBBCCCE8RUuxCCGEEEIIIYQQwk20FKtSNGOHEEIIIYQQQgghhKdoYIcQQgghhBBCCCGEp2gpFiGEEEIIIYQQQriJlmJVimbsEEIIIYQQQgghhPAUDewQQgghhBBCCCGE8BQN7BBCCCGEEEIIIYTwFO2xQwghhBBCCCGEEO5hAMhoj53K0IwdQgghhBBCCCGEEJ6igR1CCCGEEEIIIYQQnqKlWIQQQgghhBBCCOEgBmBkbIfgPJqxQwghhBBCCCGEEMJTNLBDCCGEEEIIIYQQwlO0FIsQQgghhBBCCCHcxNBVsSpDM3Y+EQKBAOHh4R/9e9HR0RAIBJBIJNWQSrPExiVYuO4vHLt9FbvP3kTHnokVlGQw/qsQHAi4hgMB1zD+qxDIr6MHeDTJxNE/ryr9nHt8CW27JGs0q5GpBIt3RuFU+Av4Bgah86DMCrNOXJiIIy9f4sjLl5i4MFGRFQBcPAqx8WIoTkU8x8aLoXDxKNRoTgAQm5Ri0aZgnHj+AHtuPkanfmkVZp3wbQwOPXyIQw8fYsK3MYqsxmalWHfoJQ49fIgjTwKx/sgL1G+Wo/GsfKpXI1MJFu+IwKnQp/C9/xKdB76pOOuCBBx58QxHXjzDxAUJSllnrY7BjpuvcCH2CbyGZWg8Z1nWKJwKew7fB6/QeeAH6nVBIo68fIEjL19g4gLlep21Og47br3Ghbin8BpejVl50Ab4klORlU9tleq1erLyql55dLzSQFYXjwJsvBCCU+HPsPFCCFw8CqonK5/aAJ+y8qS9CvMlqLk5DG5fP4LzgqcwCkxXW87iTDxqT38It1mPFD86aUWK+639o+C05DlqTwuE8d2KPlP+fWLjEixc9RDHrl3A7uMB6Ng9oYKSDMZPf40DFy/hwMVLGD/9NcrXaav2KfjD/yaOBlzAum134OCUq/GshGgSzdhhmZOTE1JSUqClpQVDQ0P06tULGzduhFgsZjsa70z//jUkpUJ84dUJLnVysfR/TxAVaozYSOW67Dk4Hm06pWLmqLYAA/hseoTkRBEuHHPAq6dmGNqhm6Jsw+ZvsHjDEzy+a6nRrDNWJEBSKsCIRvXh2qAQP/tGIfKVAWJC9ZXK9fZ+A8+eOZjm5Q6GEWDlwQgkx+rinJ8ltHVkWLo7Cie2W+HsXgv0Hp2BpbujMKFdXUhKNTdmO2NpFEpLhRjVpgVc6+Vj2Y5gRAYbIjZMpFSu18hUeHq9wYx+jcAwwIq9r5Ecr4fzB2qgMF8LG+a7IjFaHwwDeHbLxNJtwRjZuiVkUoHmsvKpXn3iICkRYESThnD1KMTPe8MRGWSAmFAD5axfpMOzRxamda8HhgFW7g+XZ/W3AgBEBolw87TZ2w951WPG8nh5vTb2kGf1jURkkL5qVu8MePbMxjSvOvKsByKQHCevV3lWfdw8Y1q9WXnSBviSE+BZW6V6rRa8qlc+Ha80kFVbR4alu6JwYocVzu61RG/vDCzdFYUJ7etptl751Ab4lJVH7dX6QDQYbQEi1jSFXnwB7DaGothehJKaIpWyuS3MkTzBVe3jFNuLkNvCHFbH46ol5/R5L+XfB/p4waV2Dpb+EoioMGPERhkples5MBZtPkvGzNGfAQB8/vcAyUkiXDjhiJr2efh26V9YMrcVgl+ZYsgXkVi89iG+HNkJMinNiyDcRC2TA86cOYO8vDw8efIEjx49go+PD9uReEdPX4K2XVPgt9kNRYXaCHpqhgc3rdClj2oH161vIk74OyEjVR8Zafo44e+Ebv3Uj+Z37ZuAOwE2KC7S3BionoEU7XtnY+8aWxQVaOFVoBj3Lpug61DVs7Vew9/g2BYrpCfpIiNZB8e2WsFruPxsTqO2+dDSYnBiuyVKS4Q4tdMKAgHQpF2eRrO26/EGfhsc5FkfG+N+gBm6DlQ9w9JtcCqO76yJ9GQ9ZKTo4dhOW3gNkZcrLREiIcoADCOAQADIZICRqRRGJpqbCca3em3fOwt719aUZ30oxr0rpug6RE3WYW9wbJvN26y6OLbNWuls3Jm9Vnh6xxglxZobIFPNmo29a2uUy2qCrkNUzyp6DXuDY1utyrJutYbX8LK/6cxeKzy9bYSS4urpevjSBviSsywrz9oq1atG8a9eeXa8+odZG3nmQUsLOLHdSl6vu6qxXvnUBviUlQftVVAshdFfmUjvbwdGXwtFbkbIb2wK4wcfPzsou5MNCuuagNHRfFY9fQnadk6C37Y68u8Dz83x4E8bdOkZr1K2W+94nDjggow0A2SkGeDEARd06y0fbGrWJg2vnpoj6Lk5ZFIhjvq5wsKqCA2bVjSzklQrBoCM4fYPB9DADofY2dmhV69eePHiBebMmQNra2sYGxujYcOGePnyJR4+fAgbGxtIpVLF7xw/fhyNGzcGAEilUqxYsQKurq4wMjJC8+bNERdXNhp+9epV1K5dG6amppgxYwaYt2sVZTIZfHx84OjoCGtra4wZMwbZ2dlqMyYmJqJ///4wNzeHm5sbtm/frrivsLAQY8eOhZmZGerVq4c1a9bA3t4eALB27VoMGTJE6bG+/vprzJo1SzN151gAqVSAxFhDxW1RYUao5aLaAddyzUNUWNmofWSo+nJ6+hK065qCgLN2Gsn4jr1rMaRSICFSryxrkD4c6xSrlHV0L0JkUNkZpshXBnCsU6S4L+q1AYCyD/Pyxyl6/2H+flbnIkilAiREl505inptCMfaqtORHWsXIjJYpFSulpvydPBNZ5/h1KsHWLotBBcOWSP7jY7msvKpXl3eZo0qyxAVZABHdzX16l6IyKCy+o8MMoCju+ayVEaRNbJc1nL1VZ68XlnMypM2wJecAM/aKtVrteBlvfLheKWhrI51ihD1Wh9K9fpa/eP87ax8agN8ysqj9qqbUgRGKECpTVmGYjsRdBPVL08zfJ4F17mP4bjsBUxupvxbMWFXK1/+fSCubLZ+VLgxarmoLqOq5ZyLqDBjxf8jw4xRy7lcOUHZl3WBQN4SHF00v40AIZpCS7E4JC4uDufPn4exsTFu3bqF0NBQmJiYIDg4GKamprC1tYWFhQUuX76MXr16AQD8/PwwZswYAMD69etx4MABnD9/Hu7u7nj+/DlEorIv2mfPnsXDhw+Rk5OD5s2bo1+/fujZsyf27NmDPXv24Pr164qBnZkzZ8LPz08l48iRI9GgQQMkJiYiODgYXl5ecHV1RZcuXbBs2TJER0cjMjIS+fn56N27t+L3vL29sXTpUmRlZcHU1BQSiQQHDx7EhQsXNFJ3BgZSFOYpN+f8PG0YiFRnhOgbSJBfrmxBnjZEhlLIh4PLOvC2XVKRk6WLF4/NNJJRkVUkQ0GulnLWHC0YGEpVyuobKpfNz9WCSCwDwMDAUIb89x8nVwsGYpnGsuqLpCjIe+858irIKpIiP7esXstnfVev0/s2ho6uDG27v4GOjuZyAvyqVwNDNVkreA59QxkKctRnLd9eq0uFWSuqVzaz8qQN8CUnwLO2SvVaLf4T9crF45WGsqqt1wpen7+dlU9tgE9ZedRehcUyyAyUs8oMtCAsUs2a29wCWR2sITXWgX5UHmpuDYdMpI3clhbVntPAQILCfOWThh/8PlCubPnvA08fWmH89GA0bJqO1y/MMXR0OLR1ZNDT1+xnV0I0iWbscMDAgQNhamqK9u3bo2PHjvjxxx+Rm5uL4OBgMAyDevXqwdbWFgAwduxY+Pv7AwDevHmDS5cu4fPPPwcA7NixAz4+PqhTpw4EAgEaN24MC4uyg+j8+fNhamqKWrVqoXPnznj69CkAYN++fZg7dy5cXFwgFouxcuVKHDx4UGXD5Li4ONy5cwerV6+Gvr4+mjRpgkmTJsHX1xcAcPjwYSxYsABmZmawt7fH119/rfhdW1tbfPbZZzhy5AgA4OLFi7C0tETz5s3V1sm2bdvQokULtGjRAiWyyjerKyzUgoFYOa/IUIrCAtWxy6JCbYgMJeXKSVCQr4X3O8ZufRNw7VxNldv/qcICIURGyh2hyEiKwnwtlbJF+cK3HffbcmIpCvKEAAQozBdCJH7/cWQozNPc27qoQEv1OcQVZC3Qgqjca1A+a3mlJULcPGuJYV8mwrluvsay8qleC/PVZBVL1T5H0XtlRWKZ2nqtLmqzfqhelbKqbwPVhS9tgC85AZ61VarXasH7euXq8UpDWdXXq/rH+dtZ+dQG+JSVR+1VpieEsFA5q7BICpm+ataSmgaQmuoCQgGKXI2Q2cUG4if/zhKmwkJtGBiWKt0mMpR84PtAqVK5d98H4mPEWP9zY0yd9wp+Z6/A2KQEsVFGSE/VV3kc8i9hGG7/cAAN7HDAyZMnkZWVhZiYGGzatAl9+vTBzJkzMWPGDFhbW2PKlCnIyZFP/fP29saZM2eQn5+Pw4cPo0OHDopBn7i4OLi6qt+oDABq1Kih+LdIJEJennz5UWJiIhwdHRX3OTo6QiKRICVFeepkYmIizM3NYWRkpFQ2ISFBcb+Dg4PivvL/BpQHpfz9/TF69OgKs06ZMgWPHj3Co0ePoCs0qLDcOwkxImhpMajpUDZQ4Fw7V2XjZACIjRDD2b1sqqWzu2o5S5tCNGyeiYBzNSt97o8VH6EHLS2gpnPZtGCX+kWICdFTKRsTqg+X+mUDWy4ehYgJ0Vfc51yvCOV38HeuV3a/RrJG6cvr1bEsg3PdfMSEqb4mMWEGcKlXtvTKpV4BYsNVN9R7R1tHBlsHzU0j5lW9Rr7LWvb3u9QvVNksUZ7HQDlr/QKVDSCrU1nW8vWqvj7k9fr+3/QvZuVJG+BLToBnbZXqtVrws155cLzSUNaYEH0416/meuVTG+BTVh611xIbfQhkDHRSyjLoxRegpGbln9EhQPlqrFYJsYbyz632ZVssONfOQWykkUrZ2CgjOLvlKJcrt8Hynes1McO7I0b17IF9O+rAxrYAYa9NqzU/If8EDexw1Ndff43Hjx8jKCgIoaGhWLt2LQD5Pjyenp44fvw4/Pz8lAZHHBwcEBER8dHPVbNmTcTExCj+HxsbC21tbdjY2KiUe/PmDXJzc5XK2tnJ96CxtbVFfHzZ5mTl9/cB5DOTnj9/jpcvX+Ls2bP44osvPjprRYqLtHH3mg28p4ZDT1+Ceo0z0aZT6tsZN8oCztXEoC9iYGFVBHPLIgzyjsbVM8r76HTpnYTXz02RHF/xwMTfzlqohTsXTDDm22ToGUhRv2U+PHtkI+CouUrZq0fMMPjLNFjUKIW5TSmGfpmGK4flS8Oe3zWETAYMnJgOHV0Z+o+XX3by6R3NXVGtuFALdy+bY/TsOHnWZjnw7JaJgJNWKmUDTlhh0PgkWNgUw9y6BIMnJuLKMXm5uk1y4dE8B9o6MujqSTFsSgJMLUoR/Ey1o/0nWflUr3cumGLMvCR51hZ58OyehYBjarIeNcfgySmwqFECc5sSDJ2SiiuHy2biaevIoKMng0AAaOswb/+tuU9Qinr9pnzWbAQcU12iePWoOQZPSX2b9V29lv1NSlm1UX1ZOd4G+JKzLCvP2irV6yderzw7Xv3DrM/viSGTlqvXcfKLFlRLvfKpDfApKw/aK6OnhdymZrA4Ew9BsRT64bkwfJaFnNaqy6sMn2ZCmC8BGAb6UXkwu5aC/MamZQUkMghKZQADCKSM/N8a2ny2uEgbd2/YwntyqPz7QKM3aNMhBdcu2quUDbhgj0GjomBhVSj/PjAqElfPl52UdquTBaGQgbFpMb6a/xwPbtsgPoauWky4S8AwHJk79IlycnLCjh070K1b2SW2Hz58CJlMhmbNmqGkpARDhgxB69atsWzZMgDypVOrVq1CTEwMkpOTFfvorF27Fn5+fjh27Bjc3Nzw4sUL2NnZwcLCAgKBAGFhYXBzcwMAjBs3Dvb29vDx8cGOHTuwevVqXL58GVZWVhg3bhz09fXh7++P6OhoODs7o7S0FNra2ujQoQMaN26MdevWITQ0FF5eXti3bx+6deuG77//HoGBgTh+/DgKCgrQp08fpKenKw32TJ48GQ8ePIClpSWuXbtWpToy0bVGW6sRlZYTG5dg9pJXaNo6AznZOtjze23cvFgTHk0ysez3x+UuY85g/Neh6DFQnuvSSXvs/s0d5aezbjl2G8d9nXD5lGpH8CGSpOQqlTMylWDu+jg0+ywPOZla2LXCFtdPmKFBqzz47IvCwNoNFVkn/piEXqPkU1gvHDDHTh9bRVbXBgWYsy4etWoXITZcHxvm2SPiZdUGo4SiqpUTm5RizqoINGuXjZwsbexeWws3zljBo0UOft75GoMbt1ZknfBdLHoOl8/0unjYBrvW1AIgQMNW2Zi6KBo1HIoglQgQHSqC74ZaePnQuMLnLU9WUFB5IXCjXiGs2vR3I1MJ5q6LQbPPcuVZV9rh+klzeVa/cAys06Qs68IE9BqV8TarBXYut1NkXXMkFI09lTf//nZYbTy/V4VBM6Zqa8WNTCWY+0tsuXqtiesn39arfyQGujcqlzXpvaxl9brmSBgat1VefvftUNcqZq1aV8WJNsCXnHxqq7Kq7RdC9Sr3n6xXQdWWnHDieFVFmsrq6lGAOeviytWrAyJeVbFe/2PHVs5k5VF7Dd3cskpZhfkS1PCNhOh1DqSG2kgfZI/cVpYwCMuF3cYQhP+vBQCgxo5wGL7OhkDCQGKqi6yO1sjqUrZqwP6X1xCFKW9mHDenLgrrVP6ZsP7KpErLiI1LMHvBMzRtlS7/PrC5Hm5etoNH4wwsWx+IoV17vS3JYPyM1+jRX34i+tJpB+z+ox4UdbrlDpzdciCVCnH7mi22/69+la+SezdxH7KL/71No//rTHRt0NZmJNsxPijN5g4ePXrEagYa2GGZuoGdgIAAzJkzB5GRkdDX10ePHj2wdetWiMXyUeKCggLUqFEDgwYNwt69exW/J5VKsXLlSuzcuRPp6emoW7cuTpw4AXt7+w8O7Ly7Ktb27dtRVFSEHj164Pfff4eZmZnKwE58fDymTp2Ku3fvwszMDN9++y2mTp0KAMjPz8fUqVNx5swZ2Nra4osvvsDu3buVZhHdvn0bHTp0wK5duzB+/Pgq1VFVB3a4oKoDO1xQ1YEdLqjqwA4nVPFLHSdUcWCHE6ir0jw+tdUqDkBwAtVr9ajiF2XykejYWj141F6rOrDDBVUZ2OECGtjRLBNdG7S15vZ3wbQad2lgh/w9rq6u2Lp1q9KAENds3rwZBw8exM2bNxW3xcbGom7dukhOToaxcdVma9DATvWggZ1qwqcvdTSw82njU1vl0wAE1Wv14NEXZV6hY2v14FF7pYEdzaOBHc2igZ2qoT12eOjYsWMQCATo0qUL21GUJCUl4c6dO5DJZAgJCcEvv/yCQYMGKe6XyWRYv349Ro4cWeVBHUIIIYQQQgghhFSsagsFCWd06tQJQUFB8PPzg1DIrXG5kpISfPnll4iKioKpqSlGjhyJ6dOnA5Av07KxsYGjoyMuXrzIclJCCCGEEEIIIdzHnUuKcxkN7PDMjRs32I5QIUdHR7x8+VLtfYaGhorLqxNCCCGEEEIIIUQzuDXlgxBCCCGEEEIIIYRUGc3YIYQQQgghhBBCCPcwAGQ8uuAHS2jGDiGEEEIIIYQQQghP0cAOIYQQQgghhBBCCE/RUixCCCGEEEIIIYRwE10Vq1I0Y4cQQgghhBBCCCGEp2hghxBCCCGEEEIIIYSnaCkWIYQQQgghhBBCuImWYlWKZuwQQgghhBBCCCGE8BQN7BBCCCGEEEIIIYTwFC3FIoQQQgghhBBCCAcxgIyWYlWGZuwQQgghhBBCCCGE8BTN2CHcJ5OByS9gO8V/j0zGdoL/JpmU7QSEVA211WqhZWHOdoQqk6alsR2h6mjjTMIjWrVd2I5QZfW+C2Y7QpUljm7AdoQqKT2ky3YE8gmiGTuEEEIIIYQQQgghPEUzdgghhBBCCCGEEMI9DMAwtNKgMjRjhxBCCCGEEEIIIYSnaGCHEEIIIYQQQgghhKdoKRYhhBBCCCGEEEK4iS53XimasUMIIYQQQgghhBDCUzSwQwghhBBCCCGEEMJTtBSLEEIIIYQQQggh3MTQUqzK0IwdQgghhBBCCCGEEJ6igR1CCCGEEEIIIYQQnqKlWIQQQgghhBBCCOEehgFkMrZTcB7N2CGEEEIIIYQQQgjhKRrYIYQQQgghhBBCCOEpWopFCCGEEEIIIYQQbqKrYlWKZuwQQgghhBBCCCGE8BQN7BBCCCGEEEIIIYTwFA3sfKKmTp2Kn3/+uUplBQIBwsPDqznRPyc2KcWPvwfh+JM72BMQiE59UysoyWD8vCgcvH8PB+/fw/h5UQBUp/d1GZCC88F/osfQZI1nNTKVYPHOKJwKfwHfwCB0HpRZYdaJCxNx5OVLHHn5EhMXJipldfEoxMaLoTgV8RwbL4bCxaNQ41nFJhIs2hyKEy8fYs+ff6FT//QKs074PhaHHj/GocePMeH7WEVWO+dCLN4agoMPH+Pwk0fw2RMMO2fNZ+VTvVLWTzsrX3JS1mo8thqX4scNz3D8/jXsuXAbnXpV1NcwGD87DAdv3sTBmzcxfnaYUlahkMGYGeHwu3ILR+9ex++H7sPQqFSjWflUr5SVsvIpq9ioBD/+fA/HL5zCnoMX0KlrnNpyjZqkYeWGWzhy9jR2H7yocv/oCa+waddVnAk4gS/GBWk8J8Cfz9nG+kX4ZehF3P12O87P9ENPj1C15b5o9Qxnpvvjz2924PLXezGv2x1oCVSvvNS8ViL+WrgZ0zs+0GhOQjSNBnZ44vbt22jbti1MTExgbm6Odu3a4eHDh3/78bZs2YJFixZpMCH7pi+OgKRUgM/bt8Gab+tgxpJw1HLLVynXa0QyPLtlYMaAZpjRvxlad85A7xHKnYrYuBQjvoxDdKioWrLOWJEASakAIxrVx+qZtfDVyng4uheplOvt/QaePXMwzcsdU7vVQWuvHPQZnQEA0NaRYenuKAQcM8PQeg1w5YgZlu6OgraOZi8HOOOnaJSWCjCqVTOsneOGmT9Ho1btApVyvUalwtMrEzP6NMD03g3Ruksmen8u7/QNjaS4H2CGSd0aY1SrZgh5Zogl29R3tP8oK5/qlbJ+0ln5kpOyVl/W6QuCISkV4vPOn2HNggaYsfA1arnmqZTrNTQBnp3TMGNYa8wY1hqtP0tH72EJivu9p0WgXpNszBvTEkPbdsK6hQ1QUqzZj3d8qlfKSln5lHX67Kfy48DgPlizvCVmzPkLtZxyVMoVFWnhynkn7NzSUO3jJCaIsWtLAwTeq6HRfEpZefI5+4eef6JUKkTXX8dhwcluWNDzT7hYvlEpdzPUCaN2DkOHdZMwdNsIuNukY1TLF0pltIVSfNv9Np4nWGs8J/k4jEzG6R8uoIEdHsjJyUHfvn3x1Vdf4c2bN0hISMCSJUugp6fHdjTO0DOQop1XOvx+c0RRgRaCnpjgwTULdOmvejah68AUHN9th4wUPWSk6uH4bnt0G5SiVGbc3Gic9quJnCydasnavnc29q6xRVGBFl4FinHvsgm6DlXtdLyGv8GxLVZIT9JFRrIOjm21gtdw+ZmnRm3zoaXF4MR2S5SWCHFqpxUEAqBJO9UvBv8ka7seb+C3wV6e9ZER7l81RddBqrN2ug1Ox/EdtkhP1kNGii6O7bSF15A0AEDoczEuH7ZGXrY2pBIhTuyyhYNrEYxMNXdWmW/1Slk/3ax8yUlZq/nY2i0Vfn+4oKhQG0F/meLBTSt06ZukUrZrvyQc962FjFR9ZKTq47hfLXTrnwgAEBuVYoB3HP63rB5SkwwACBATLkZpiZZGs/KpXikrZeVNVn0J2n2WAL9d9eXHgReWeHDXFl26x6qUDQ02x7UrtZCcZKj2sQIuOeJRYA0UFlbPdXH48jlbX6cUXetGYtPNVigs1cHTeFvcDHNC34aqJxPjs0yQVyz/LiUQAAwjgIN5tlKZ0a2f4V6kA6LTzTSak5DqQAM7PBAaKj8YjRo1ClpaWjAwMED37t3RqFEjyGQy+Pj4wNHREdbW1hgzZgyys8sOSu9m+piamsLBwQF79uwBAIwbNw4//vijotz27dvh5uYGc3Nz9O/fH4mJiWqzZGdnY8yYMbCysoKjoyN8fHwgeztKKZVKMW/ePFhaWsLZ2RkbN26EQCCARCLBkSNH0Lx5c6XHWr9+PQYMGKCROrJzKoRUKkBCdNnIf2SIIRzVzCxxdCtAVHBZxxgVYqg0A8W9YS5qN8jD+YO2Gsn2PnvXYkilQEJk2cBcVJA+HOsUq2Z1L0JkkL7i/5GvDOBYp0hxX9Rr+Qd55cdRPSv1t7M6F8nrNcqg7DleG8Kxtup0ZEf3QkS+FpUrJ0ItNeUAoGGrHLxJ1UGuBjt0XtUrZf2ks/IlJ2Wtvqx2jvmQSgRIiCnriyJDjODoqnr229E1D1GhRmVZQoxQ6205p9p5kEoEaO+VCv+AW9h++i76jlC/lOPv4lO9UlbKyqesdvZ5kEqFSIgve39HRpjAUc2MHbbx5XO2o3kWJDIhYt+YKm4LTbGAi5XqwB4A9PQIxZ/f7MCNubvhbp2BY0/qK+6zNc7FgMbB2PZnC43nJKQ60MAOD7i7u0NLSwtjx47FhQsXkJlZtlZ4z5492LNnD65fv47IyEjk5eVh5syZAICYmBj06tULX331FdLS0vD06VM0adJE5fGvXbuGH374AYcPH0ZSUhIcHR0xcuRItVm++uorZGdnIzIyEjdv3oSvry92794NQD44dOHCBTx9+hRPnjzByZMnFb/Xv39/REVF4fXr14rb/Pz8MGbMGA3UEGAgkqIgT/kMZX6uFgwMpSpl9UVS5OdqlyunDZGhFAADoZDBjCXh2PSzKxhGoPK7mskqQ0Hue1lzKshqqFw2P1cLIrEMAAMDQxny33+cXC0YiDU3HVDf8GPrtXxWbUXW8ixrFGP6smhsW15LYzkBftUrZf20s/IlJ2WtxqwGUhTkK59Zz8/ThoFIopr1/T4rr6zPsrQphthYAjvHAkzo3Q7L5zXEF1Mj0bRNhuay8qleKStl5VNWAwkKCt4/DuioPQ6wjS+fs0W6pcgvVj5pmFesC0Nd9TPEL75yR4d1kzBg0ygc/csDGfllA1ff9bitmPlD2MbIL3fO5R8OoIEdHjA2Nsbt27chEAgwefJkWFlZoX///khJScG+ffswd+5cuLi4QCwWY+XKlTh48CAkEgn279+Pbt26YdSoUdDR0YGFhYXagZ19+/ZhwoQJaNasGfT09LBy5Urcu3cP0dHRSuWkUikOHjyIlStXwsjICE5OTpg3bx78/PwAAIcPH8asWbNgb28PMzMzzJ8/X/G7enp6GDFiBPz9/QEAr169QnR0NPr27av2b962bRtatGiBFi1aoERW+dmRwgItiMTKnYtILEVhvup09KL3yorEEhTkawEQoM/niYgKMUTIM+NKn/PvKiwQQmT0XlajCrLmC99+yHiXVYqCPCEAAQrzhap/s5EMhXmae1sX5f+Tei3L+o6JeSmW7w3GOX8b3DxjqbGcAL/qlbJ+2ln5kpOyVmPWQi2IDJW/vInEEhQWqC6jkB9by8qKDMv6rOK3e+kc2OqMkmItRIcZ4eYlG7RoX9Em938jK5/qlbJSVj5lLdSG6L1BHJGh+uMA2/jyObugRAeGesqDOGK9EuSXfHhwJjbTFBFpZvih5y0AwGe1oyHSLcHl127VkpOQ6kADOzxRr1497NmzB/Hx8Xj58iUSExMxe/ZsJCYmwtHRUVHO0dEREokEKSkpiIuLg6ura6WP/f5jiMViWFhYICEhQalceno6SktLVZ7vXbnExEQ4ODgo7iv/bwAYO3Ys9u/fD4Zh4Ofnh+HDh1e4T9CUKVPw6NEjPHr0CLpCfbVlykuINoCWFoOajmVLf1zq5CMmTHVTtphwEZzrlq2Rdq6Tj9i35Zq0yYZntwz4/3kf/n/eR70mOZj0fSSmLdLcVcHiI/SgpQXUdC6bFuxSvwgxIap1EROqD5f65f4mj0LEhOgr7nOuV4TyM2Kc65Xdr5GsUfryenUqG1xzrleAmDADlbIxoQZwqVc21dalXj5iy5UTG0uwfG8w7geY4eAmO41lVGTlU71S1k86K19yUtbqy5oQYwgtbQY1a5U7ZrrnIiZCdf+MmAgxnN3L91m5iH1bLipUDABKZ741fRacT/VKWSkrn7ImxIuhpSVDTbuy97eLazZioqvv5OLfxZfP2TFvTKEtlKGWWZbiNnfrDESmmVf6u1pCBg5m8mVwrZziUd82DVdm7cGVWXvQvX44vmj1HBuGXdBITkKqAw3s8FDdunUxbtw4vHz5EjVr1kRMTIzivtjYWGhra8PGxgYODg6IiIio9PHef4z8/HxkZGTAzk75y7elpSV0dHRUnu9dOVtbW8THxyvui4tTXuffpk0b6Orq4s8//8T+/fsxevToj/vDP6C4UAt3r1jA++sY6BlIUb9pNtp0zcC106q72F87aYNB4xJgYV0Mc+tiDB6fgKsnbAAA639wx9Q+zfHVoGb4alAzhL0SY/8ftbB3g5NGs965YIIx3ybLs7bMh2ePbAQcVe10rh4xw+Av02BRoxTmNqUY+mUarhyWb+D2/K4hZDJg4MR06OjK0H+8/Azt0ztijWa9e8kMo+fEy7M2z4WnVyYCTqjOtgk4YYlBE5NgYVMCc+sSDJ6YjCvHrADIz9b47A3Gq8dG2L1Gs0uwymflU71S1k83K19yUtZqPrYGWMN7eoQ8a5MstOmUhmtnVfecuHbWFoNGx8DCugjmVsUYPCYWV0/XBAAkx4vw8rEpRkyWX63HwTkfHXsmI/CWlUaz8qleKStl5U3WIm3c/dMO3hOCoKcvQf0GGWjTLhHXLqt+ThIIGOjoSqGtJYMAb/+tXTbbSEtLBh1dKYQCBlpa8vuFQs0tD+HL5+yiUh1cC3bBtI4Poa9Tisb2SejoHo2zL9xVyg5qEgQzkXxw3cXyDSa0fYLAaPl3mk03W2Hg5s8xcsdwjNwxHDfDnHD8r/pYcqazRnKSj8QAkDHc/uEAAcNwZFEYqVBwcDDOnTuHESNGwN7eHnFxcRg5ciTq16+P1q1bY/Xq1bh8+TKsrKwwbtw46Ovrw9/fH7GxsfDw8MDOnTsxePBgZGdnIy4uDk2aNMG4ceNgb28PHx8fXL16FaNGjcKVK1dQr149fPfdd3j8+DFu374NABAIBAgLC4Obmxu8vb2Rn58PX19fvHnzBj169MA333yDSZMmYfPmzdi4cSMuX74MQ0NDDBs2DFevXkVpaSm0teXTSpcvX45Dhw4hPz+/SoNOAGCibQlPceWbLItNSjFneRiats1ETpYO9qx3wo2z1vBono2ftr3EkObt3pZkMOGbaPQYKr/04qWjNbBrnRPKLxl6Z5Xvc1w/bY1LR6t2+UhpTtU2vDMylWDu+jg0+ywPOZla2LXCFtdPmKFBqzz47IvCwNrvLmfJYOKPSeg1Sr7p24UD5tjpY6vI6tqgAHPWxaNW7SLEhutjwzx7RLys2qUjhfpVO+skNpFgzupINGufjZwsbexe44Abpy3h0TIHP+8KweCGLRVZJ3wfh54j5FdIuHjIGrtWOwAQoNvgNMxbF4miAqHSMtQvezRCWmLlV3eTFVVts0Iu1GtVUdZPOytfclLWj8+qZVW1QRWxcSnmLAtCU88MeZ/1v9q4caEGPJpm4qdNTzHE890XCAYTZoejx2D57NhLx+2w61c3RVYL6yLMWvoaHk2zkPVGF0d3O+LCUfsqZZCmpVWpHBfqtaooK2XlQlYt98pnzAOA2KgEc75/jKbNU5GTo4s92xrgRoADPBqm46c1dzCkl/zzb8MmaVj9659Kv/v8qSXmz/4MADBn/iN49VS+mtb6Vc1x9aIjKpVcteMAFz5nJ41uUGkZY/0iLO17HW2c45FVqI/frrfGxVfuaOqQiI0jz6Hd2skAgKV9r6G9ayxEuqXILDDAldcu2HSzFUqkqkvhlvW9hpRcQ2y62bpKOcMOrUdBqmY3sv+UmQgt0EavN9sxPijD4zUePXrEagYa2OGBhIQEzJkzB3fu3EFWVhZMTU3Rt29frF27FmKxGD4+Pti+fTuKiorQo0cP/P777zAzk59x+PPPP/HNN9/g9evXMDExgY+PD8aOHas0sAMAW7Zswdq1a5GZmYm2bdtiy5YtsLeXfzAsP7CTmZmJr776CpcuXYK+vj4mT56MH3/8EUKhEBKJBN9++y18fX1hbGyMr7/+Gt999x1KSkogEMgP5rGxsXBycsKiRYuwbNmyKv39VR3Y4YKqDuxwQVUHdrigqgM7hBDCtqoO7HBBVQd2CCEfp6oDO5xQxYEdLqjKwA4X0MCOZtHATtXQwA6pNhcuXMDUqVOVlm4VFhbC2toaT548Qe3atav0ODSwUz1oYIcQQjSPBnYIITSwUz1oYOfTZCK0QBvdnmzH+KCMBiGsD+zQHjtEYwoLC3H+/HlIJBIkJCRg2bJlGDRokFKZzZs3o2XLllUe1CGEEEIIIYQQQkjFuHc9PcJbDMNgyZIlGDFiBAwMDNCnTx/89NNPivudnJzAMAxOnjzJXkhCCCGEEEIIIeQ/hAZ2iMaIRCI8fPiwwvujo6P/vTCEEEIIIYQQQniNAcBw5MpTXEZLsQghhBBCCCGEEEJ4igZ2CCGEEEIIIYQQQniKlmIRQgghhBBCCCGEexgGYGRsp+A8mrFDCCGEEEIIIYQQwlM0sEMIIYQQQgghhBDCUzSwQwghhBBCCCGEEMJTtMcOIYQQQgghhBBCOIkud145mrFDCCGEEEIIIYQQwlM0sEMIIYQQQgghhBDCUzSwQwghhBBCCCGEEG5iZNz+qYI3b95g0KBBMDQ0hKOjI/bv36/+T2UYfP/997CwsICFhQW+//57MEzlS9Fojx1CCCGEEEIIIYSQajJjxgzo6uoiJSUFT58+RZ8+fdC4cWN4eHgoldu2bRtOnjyJZ8+eQSAQwMvLC87Ozpg6deoHH59m7BBCCCGEEEIIIYRUg/z8fBw7dgw///wzxGIx2rdvj/79+8PPz0+l7N69ezFv3jzY29vDzs4O8+bNw549eyp9DpqxQzhPxxRId3qm0cdMS0uDlZWVRh+zulDW6kFZqwdlrR6UtXpUT9YoDT+eXLVkddDswwH0+lcXylo9qi+r5o8D1ZbVTfMPWV1Zde5p9vsAUD1ZRbJCjT7ep65tj1ZIT6+evlVTCgsL0aJFC8X/p0yZgilTpij+HxoaCm1tbbi7uytua9y4MW7evKnyWK9evULjxo2Vyr169arSDDSwQzgvPT1d44/ZokULPHr0SOOPWx0oa/WgrNWDslYPylo9KKvm8SUnQFmrC2WtHpS1evAp66fq4sWLbEf4x/Ly8mBsbKx0m4mJCXJzc9WWNTExUSqXl5cHhmEgEAgqfA5aikUIIYQQQgghhBBSDcRiMXJycpRuy8nJgZGRUaVlc3JyIBaLPzioA9DADiGEEEIIIYQQQki1cHd3h0QiQVhYmOK2Z8+eqWycDAAeHh549uxZpeXeRwM75JNUfs0j11HW6kFZqwdlrR6UtXpQVs3jS06AslYXylo9KGv14FNWwl+GhoYYPHgwFi9ejPz8fNy5cwenTp3C6NGjVcqOGTMG69evR0JCAhITE/HLL79g3LhxlT6HgKnKRdEJIYQQQgghhBBCyEd78+YNJkyYgCtXrsDCwgKrVq3C559/jj///BO9evVCXl4eAIBhGHz//ffYsWMHAGDSpElYvXp1pUuxaGCHEEIIIYQQQgghhKdoKRYhhBBCCCGEEEIIT9HADiGEcFRcXBzu37/PdgzCEplMhqSkJLZjEEIIIYQQjqOBHULIJ6H87vJcFxsbi3bt2qFu3bro1q0bAODo0aOYNGkSy8nIvyErKwuff/459PX14ebmBgA4ffo0fvzxR5aTEaKquLgYCxcuhIuLC0xMTAAAly9fxsaNG1lORgj/XblyBRMnTkS/fv0AAI8ePcK1a9dYTkUI4SIa2CGfhAEDBqi9ffDgwf9yEsKWbt26oXHjxli3bh3nZ0F8+eWX6NOnD3Jzc6GjowMA8PLywpUrV1hORv4NU6dOhYmJCWJiYqCrqwsA8PT0xKFDh1hOpl6TJk3w66+/IiUlhe0olRo0aBBOnjyJ0tJStqNU6tSpU5BIJGzHqNScOXPw8uVL7Nu3T7Gxo4eHBzZv3sxysqopLCxEcXEx2zF4j08nT/ji999/x7Rp01C7dm3cunULAGBgYECD/P8Qn/oBQj4GDeyQT8L169fV3n7jxo1/N0gV8anTuX79OqKiogAASUlJGDt2LMaPH4/k5GSWkylLSkrCTz/9hAcPHqB27dro3r07/P39UVBQwHY0FYGBgZg/fz6EQqHii5KJiQmys7NZTqZeWlqaYid/qVSK3bt3Y+/evZDJZCwnUyWTydT+cElAQAB+++032NraKl5/KysrpKamspxMvcWLF+PWrVtwcXFBr169sH//fhQVFbEdS60OHTrgp59+Qo0aNTBt2jTcvXuX7UgVWrx4MWxtbTFz5kw8ePCA7TgVOnHiBPbv3w9PT08IhfKPlXZ2dkhISGA5mXrffPMNAgMDAQDnzp2Dubk5zMzMcObMGZaTqWIYBtu3b0eXLl3QqFEjAMCtW7dw+PBhlpOp4tPJkwMHDuD169cAgJCQEHz22Wfo3LkzgoODWU6m7Ndff8XVq1cVnwcAoG7duggJCWE5mXpz5szB06dP2Y5RKT71A4R8DBrYIf9pixcvxuLFi1FSUqL497sfb29vODo6sh1RLT51OtOnT4eWlhYAYN68eSgtLYVQKMSUKVNYTqZMW1sbAwYMwJEjR5CQkIDhw4djzZo1sLGxwZgxY3Dnzh22IyrY2NggPDxc6bagoCDUqlWLpUQf1rdvX4SFhQEAFi5ciHXr1mHDhg2YN28ey8lUaWtrQ0dHR+VHT08Pzs7OmDdvnmKQii0mJiZIT09Xui02Nha2trYsJfqwwYMH4/jx44iLi8OAAQOwadMm1KhRAxMmTODckoG5c+fiyZMnuHXrFkxNTTFq1CjUrl0bP/30EyIiItiOp+TZs2e4evUqDAwMMGTIENSpUwc+Pj6Ijo5mO5oSXV1dlZlFaWlpsLCwYCnRh+3btw8NGjQAAPz000/w9/fH6dOnsWDBApaTqVq8eDF27tyJKVOmIDY2FgBgb2+P1atXs5xMFZ9Onvz4448wNzcHIB/oa9WqFTp27Ijp06eznExZbm4uHBwcAEAxyF9aWqqYyck1UqkUPXr0QIMGDbB69WrEx8ezHUktPvUDhHwUhpD/sHHjxjHjxo1jdBVV8CMAAF8iSURBVHR0FP8eN24cM378eGb+/PlMWFgY2xE/6OXLl8z8+fOZWrVqMW5ubsyyZcuY8PBwtmMpMTIyYhiGYUpLSxlzc3MmNzeXKS4uZiwsLFhOpl5ubi6zZ88epmvXroyZmRkzadIk5qeffmIcHR2Z6dOnsx2PYRiG2blzJ1O7dm1m165djJGREbN//36mQYMGjL+/P9vR1DI1NWVkMhnDMAxjZ2fHxMTEMBkZGUyNGjVYTqZq48aNTLdu3ZirV68yISEhzJUrVxgvLy/m119/ZS5cuMC0adOGmThxIqsZV65cyXh6ejLXrl1jTExMmLt37zKdOnViNmzYwGquqigoKGD8/PyYhg0bMsbGxoyrqytTu3Zt5sqVK2xHU+vWrVtMo0aNGKFQyBgbGzNdu3Zlnj59ynYsFTKZjLly5Yoia4cOHRh/f39GKpWyHY2ZN28eM2DAACYyMpIxMzNjEhMTmeHDhzMLFixgO5paxsbGDMMwTHp6OmNpaam4/V1fxiX29vZMWloawzDy4yzDyNvCu39zVVZWFrN9+3amYcOGjFgsZkaPHs3cvn2b7VgK717rwsJCxtTUlCkqKmKkUiljZmbGcjJlQ4YMYXx8fBiGYRTZVq9ezYwaNYrNWB8kkUiYM2fOMCNHjmTEYjHTtWtXZu/evUxubi7b0SrEl36AkMrQwA75z5NKpcy2bduYoqIitqP8bVzudOzs7Jjk5GTm6tWrTPv27RmGYZji4mLFh2euOHv2LDNixAjG2NiY6dWrF3PgwAGmsLBQcX9GRgZjaGjIYkJlJ0+eZHr16sXUr1+f6dmzJ3PixAm2I1XIwsKCKSoqYp4/f87Ur1+fYRj5+04sFrOcTJWLiwuTlZWldFtmZibj4uLCMAzDxMfHMzY2NmxEU5DJZMyvv/7K1KtXjxGJREzdunWZDRs2KAbPuEYmkzEXL15kvvjiC8bExITp2bMns2/fPqagoIBhGIY5evQo63VaXnBwMPPjjz8yLi4uTN26dZnly5czsbGxTGFhIfPLL78wTk5ObEdUEh4ezixdupRxc3Nj3N3dGR8fH8bX15dp06YNM2jQILbjMcXFxczs2bMZQ0NDRiAQMIaGhszs2bM52+e2aNGC8ff3Z5YuXar4gpyWlsZYW1uznEyVra2top9698U+JyeHsbe3ZzPWB/Hh5ImLiwsTFhbGHD9+nPHy8mIYhmHy8/M5N2CWmJjING/enHF0dGS0tbUZd3d3pnnz5kxSUhLb0ark5cuXTKNGjRTHhYkTJzLx8fFsx2IYhn/9ACFVQQM75JPAxS+YleFLp7Nq1SrGwcGBsbGxYQ4cOMAwDMNcu3aNadWqFcvJlDVo0IBZu3Ytk5iYWGGZ7du3/4uJ/ju8vb2Z/v37M+3atWN++uknhmEY5sWLF0ydOnVYTqbK0tJSpQ0kJCQoZphJJBLODUpynY2NDePh4cGsXr2aSUhIUFumU6dO/3Iq9Zo3b85YWFgw06dPZ+7fv6+2DFeOrb///jvTunVrxtzcnJk2bRpz7949pfvz8/M5NRjNMAyTmprK2QHIdx48eMB4enoyHTt2VMyA9ff3Z7y9vVlOpmrixInMtGnTmKKiIsbMzIyRyWTMrFmzmGnTprEdTQWfTp7s3r2bMTY2ZszMzJjLly8zDMMwp06dYjp27MhuMDVkMhnz4MED5vDhw8y9e/c4MUvvQ7Kzs5kdO3YwnTp1YszNzZnJkyczt2/fZmJjY5lZs2YxDRs2ZDsir/oBQj4GDeyQT0Lv3r1VPhRzGd86nZCQEKUlYiEhIczz589ZTKRMIpEwY8aM4ewZ5Pd99dVXzJ07d5Ruu3PnDjNr1ix2AlWiqKiI2bp1K7Nr1y5GIpEwDMMw169fVwz0ccncuXMZDw8PZtu2bcyFCxeY7du3Mw0aNGDmzp3LMAzDnD9/nmnZsiWrGVeuXMkEBgYq3fbgwQNm9erVLCX6sIcPH7IdocqOHDnCFBcXsx2jSvr06cMcPnz4g8etS5cu/YuJ1Nu7dy/z7NkzpduePn3K+Pr6spTovyM7O5sZOHAgo6enxwiFQkYkEjEDBw5kcnJy2I6mokGDBsyaNWt4c/IkPz+fyc/PV/w/JSWFczNh/vrrLyY2NlbpttjYWM7M2H7fkCFDGLFYzPTu3Zs5ePCgyrGLKzN5+dQPEPIxBAzDMGzv80NIdZs+fToOHDiAAQMGwMHBQbEJHSDfPJFrjh49iv79+3N2g7wPuX79OoRCITp27Mh2FCW2traIjY1VXD6cy6ysrJCQkKD0+hcXF8PBwYGTV0YqLi6GUChUqtuSkhIwDAM9PT0Wk6mSyWTYtm0bjhw5gsTERNja2mL48OGYPHkytLS0UFRUBIZhYGBgwFpGW1tbhIeHw9DQUHFbXl4e3N3dkZiYyFquD8nOzkZISIjKxtNdunRhKZF6FV0B7d0VZ7hCKpWia9euuHTpEufeQ+9zdHTE06dPYWZmprjtzZs3aNq0KWJiYlhMpt6qVavQtWtXtGzZUnFbYGAgbty4ge+++47FZBVLTU1FTEwMHBwcUKNGDbbj8N7ly5fh5OQEd3d3xW0hISGIjY2Fl5cXi8mUNWjQAKdPn4aLi4vitoiICAwaNAjPnz9nMZl669atg7e39wfbaEFBAUQi0b+YShVf+gFCPhYN7JBPwvjx49XeLpVK4evr+y+nqRyfOp2OHTtixYoVaNeuHVavXo3169dDW1sbM2bM4NRVRtasWYOsrCwsW7aM84M71tbWiI2Nhb6+vuK2goIC1KpVS+VqSVzw2WefYc2aNWjTpo3itvv372P+/Pm4ceMGe8F4ysLCAklJSUoDeyUlJahRowbevHnDYjL19uzZgxkzZkAsFit9YBcIBIiMjGQxmSqhUKg0sP+OtrY2atasicGDB2PZsmUQi8UspFPm6OiIkJAQpeMAF5mZmSE9PV1xdURA3ream5sjOzubxWTq8XHgNDU1VWXQtPyXfS4oKSnBnj178PTpU5WsXPucVbt2bdy6dUvpSoOJiYno1KkTQkNDWUymzNjYGDk5OVW+nVQNn/oBQj4GDeyQT9Lz58/h6+uL/fv3c/KDHJ86HQsLC6SmpkJLSwtubm44ffo0jIyM0K5dO8XlWbnAwcEBycnJ0NLSgpWVlVL9ciknAAwZMgTOzs5Ys2YNhEIhZDIZ5s+fj7CwMJw4cYLteCrMzMzw5s0bpTqVyWSwsLBAZmYmi8nUu3z5stovH1yZvde9e3f07t0bs2fPVtz222+/4fTp07h69Sp7wSpgZ2eHHTt2oFevXmxHqdQff/yBkydPYv78+XBwcEBsbCzWrFmDPn36oE6dOli2bBk8PDywY8cOtqNi165duHXrFpYtWwZ7e3ul9xeXBvnbtWuHWbNmYfjw4Yrbjh49inXr1uH+/fssJlOPTwOnFy9exMSJE5GUlKR0u0AggFQqZSmVeiNHjsTz58/Rr18/lRkZS5YsYSmVeiYmJiqDjgzDwMTEhFMDJvXr14e/vz+aNWumuO3Jkyf4/PPPERwczGIy9d6fEf+Onp4e7O3tMXjwYEybNg3a2tospCvDp36AkI/B7juLkH9RWloa9u/fj7179+LZs2fo0KED/ve//7EdS63ff/+90k5n9uzZnOh0ZDIZBAIBIiIiwDAM6tevDwCc+0Lv7+/PdoQq+9///oe+ffvC1tYWjo6OiI2Nha2tLc6cOcN2NLVMTEyQkpKiNP06JSVF6Yw4V8ycOROHDx9G586dVWaXcMWGDRvg5eUFPz8/uLq6IiIiAsnJybhy5Qrb0dSSSCTo3r072zGqZP369Xjy5AlMTEwAAO7u7mjRogWaN2+OiIgINGzYEM2bN2c5pdykSZMAAH5+forbGIbh3Jf61atXo3fv3jh06BBcXV0RHh6OgIAAnD9/nu1oajVv3hybNm1SGjjdsmWL0pdnrpgxYwYWLVqEsWPHsro8tCouXbqEqKgomJqash2lUi4uLrh27ZrSUtEbN27A2dmZxVSq5syZgwEDBuC7775T9AXr1q3DwoUL2Y6m1tdffw1/f398/fXXis+uf/zxB4YNGwZzc3P88ssviIuLw5o1a1jNyad+gJCPQTN2yH9aaWkpTp8+jT179uDSpUtwc3PDqFGjsGHDBgQHB8Pa2prtiGq5uroqdToAkJWVpeh0EhIS0Lx5cyQnJ7OYUq5fv35wcHBAUlISXF1dsW7dOkRERKBbt26IiopiO57CkSNHMGzYMJXbjx49iqFDh7KQ6MNkMhkePHiA+Ph4ODg4oFWrVpw6S1/evHnz8Ndff+G3336Di4sLIiIiMHfuXDRs2BDr169nO54Sc3NzPHv2DA4ODmxH+aC8vDycOXNG8fr37duXEzP01Fm/fj1yc3OxaNEizrbRd6ysrPD8+XOVJRiNGjVCeno6p5YQfWh/GkdHx38xSeViYmJw4MABxMXFwcHBAV988QVn32OvXr2Cl5cXbG1tVQZO352Y4Apzc3NkZGRwauC5Io0bN8bly5dhY2PDdpRKnTp1CmPHjsXEiRMVbWD37t3YvXs3BgwYwHY8JUeOHMHOnTsV761JkyZx8jMLAHh4eODKlSuoWbOm4raEhAR0794dr169QkhICLp164a4uDgWU/KrHyDkY9DADvlPMzc3h1AoxLhx4/D5558rzsjZ2tri2bNnnB3Y4VOnk5GRgV9++QU6Ojr49ttvIRaLce7cOYSFhSmdEWVbRWvSzc3NOTf9vrz391vi4hfnoqIizJs3D7t370ZxcTH09fUxfvx4rFu3jnP7g7i7u+Px48cwMjJiOwqvlZ9yzzAMkpOToaurCwsLC6VyXFvmOG/ePFy6dAmzZs2Cg4MD4uPj8b///Q/du3fHL7/8ggsXLmDJkiUIDAxkO6qCTCZDSkoKbGxsOPn+56O8vDycPXtW8WWZqwOn3377LerVq4cJEyawHUWta9euKf79119/4ciRI5g1a5bK4A7XNlEH5Btm79q1S9EGJk6cqLShNvl45ubmiI6OhrGxseK2rKwsODs7IzMzEwzDwNjYGLm5uSym5Gc/QEhV0MAO+U/r1KkTbt++DU9PT3h7e2P48OEwMzPj/MAOdTqa827z1kaNGuHFixcof8iLjIzEmDFjOLfP0pMnTzBjxgw8f/4cRUVFALi5BON9DMMgPT0dlpaWnD3DvHXrVpw7dw4//PCDypcPrmxGGhUVhYULF6rdB4grAyU3b96sUjmuXR2PD1dFeycnJwczZ87EwYMHIZFIoKOjg5EjR+K3335Tms3Jtjdv3mDdunVq2+utW7dYSvXf0KFDBwQGBsLR0VHlSkNcqNuqLF3i4ibqfML1PeHKGzt2LGJjY7Fw4ULY29sjPj4eK1euhJ2dHXx9fXH37l18+eWXePHiBas5+dQPEPIxaGCH/OfFxMTA19cXvr6+iI2NRffu3XHz5k28fv0adnZ2bMdTi0+dTnFxMX766SccOHAAGRkZyM7OxuXLlxEaGoqZM2eyHU+xEbW6Q12NGjWwdOlSTJkyhYVkFWvYsCH69euH0aNHq2xCyZUlGNHR0XBycgKAD35o58pgyTsVzXjg0qCZp6cnXF1d8cUXX6i8/lwbKCHVZ9y4ccjNzcXKlSvh6OiImJgYLFy4ECKRCHv37mU7nkLPnj1RXFyM4cOHq7TXsWPHspRKWc+ePXHx4kUA8sGSigaeuTBYUt6HXmeu1C1fLF++XLE3zeLFiyssx6UBkw/tCbdr1y4Wk6lXVFSEpUuXqnx2Xbx4MUQiEZKTk1FSUoJatWqxHZWQ/yQa2CGflNu3b8PX1xeHDx+GtrY2JkyYwPombnw3ffp0JCQkYP78+ejVqxeysrKU1lRzRceOHas8y4BtxsbGyM7O5uysFwAwMjJSTKeuaPCMS4MlfGJsbIysrCzeLLspKSmBj48PDhw4gMTERNSsWRMjR47EwoULObcUDwB2794NPz8/JCQkwM7ODqNHj8b48ePZjqWiRo0aiIyMVPpCl5eXB1dXV6SkpLCYTJmxsTHS0tKgp6fHdpQK7d+/H59//jkAGiypTlKpFPfv30diYiLs7OzQunVraGlpsR0LADBt2jRs3rwZAD74ft+9e/e/FalSfNkTjo/40g8Q8jHoqljkk9K+fXu0b98ev/32G06cOAFfX1+2I1WIL53OiRMnEB4eDkNDQ8UXUTs7OyQkJLCcTNn7gzqRkZEQCoWKWSdcMmjQIFy+fBk9evRgO0qFyq+Rf38fIPLPfPbZZ/jrr794c1WOadOmISQkBL/99ptiZsmKFSuQkJDAubPKy5cvh6+vL+bNm6fIumbNGiQmJnLuSjP6+vpIS0tTmqWXnp7OuQGURo0aIT4+Hq6urmxHqdC7QR0AqFu3Llq3bq1ShitLm/38/DB69GgA+OD7h2v77jx//hwDBw5EUVGRYhmOvr4+jh8/jiZNmrAdTzGoA3Br8OZDLC0teXGVsfJu3LgBX19fpc+unTt3ZjuWEj71A4R8DJqxQwgHqet0NmzYAG9vb851Oo6Ojnj+/DlMTEwUGxGnpaWhTZs2iIiIYDuewqhRo/DVV1+hbdu22L17N6ZPnw6hUIjffvsNEydOZDuekhEjRuDMmTNo3769yr4KXB6M5Cq+LcOYOXMmDh06hEGDBqm8/lxaJvCOhYUFIiIilL6AvHnzBm5ubpzbmNzZ2Rk3btxQGiyJiYnBZ5999sGrULHBx8cHvr6+mDt3rlI/MHr0aPz4449sx1NYvHgxDhw4gPHjx6u0V64NPgDc30i/d+/eikvFV/SFWCAQKG1czAUtWrTAqFGjMHfuXMUMzg0bNmDfvn14/Pgx2/GUBAUFwcLCAjY2NsjLy8PatWshFArx7bffqiwnZBMf9oQrb8eOHViwYAEmTZoER0dHxMbGYufOnfj5558xefJktuMp8KkfIORj0MAOIRzEp07nm2++QXh4ODZs2IDmzZvj1atXmD17Ntzc3LB8+XK24ylYW1sjPj4eurq6aNiwIbZs2QJTU1MMHDgQYWFhbMdTsmzZsgrvW7Jkyb+YpGpiY2OxbNky/PXXXyobPIaGhrKUqgzflmHwZZnAO5Vd4pZLrK2tER0drbK8ycXFBampqSwmU8UwDHbv3o39+/crlriNGjUKEyZM4NQyTb4MPshkMjAMA1NTU+Tk5CgtHY2IiEC7du041wb4xNjYGJmZmUpLr6RSKczMzNQOpLGpcePGOHz4MOrUqYOpU6ciJCQE+vr6sLS0hJ+fH9vxFPiwJ1x57u7uOHLkCBo3bqy47fnz5xgyZAinPmfxqR8g5GPQwA4hHMSnTqekpATff/89tm/fjoKCAohEIkyePBmrVq3i1JIBU1NTxf4/rVq1UiwVq+jsLam61q1bo27duhg2bJjKht5du3ZlKZUqqVSKZcuWYeHChZxqm3y3atUq7N+/H1999RXs7e0RFxeHP/74A59//rnS5YO5cMnjMWPGIDc3F6tWrUKtWrWUNiTm0hc6AHjw4EGFS4ZatWrFQiJ+e7cXWEX3LVy4EEuXLv13Q1Xi8uXLcHJygru7u+K20NBQxMTEwMvLi8VkqkaOHIkRI0Zg0KBBittOnjyJQ4cO4cCBAywmU2ViYoLs7GwwDAMbGxsEBQXBwMAAzs7OnPuMxScWFhZITk6Gjo6O4rbi4mLUrFkTGRkZLCZTxqd+gJCPQQM7hHAQXzudtLQ0zl7qulOnTujRowdiYmIUVx1LSEhA69atER8fz3Y8FVeuXMHBgweRmpqKM2fO4NGjR8jJyeHEl+P3mZiYIDMzkxeb/VpaWiI1NZXzWYODg3HkyBGkpKRg48aNCAkJQXFxMRo1asR2NBV8uuTxu0uIHzp0SHEJ8eHDh+O3337j3F4WXF8yVF5GRgbOnz+P5ORkfPvtt0hMTIRMJoO9vT3b0RRiYmLAMAw6duyotOxSIBDAysqKE1eZfF/t2rVx69Yt2NraKm5LTExEp06dODEbsrxhw4bh9OnTaN68ORwcHBAXF4fHjx9jwIABSpuoc2E5sY2NDcLDwxEUFIQZM2bg0aNHkEgkMDc35+SJnri4OCQkJKBNmzZsR/mgAQMGoFatWli9ejVEIhHy8/Pxww8/ICoqCmfOnGE7ngKf+gFCPgYN7BDCQXzrdLKzsxESEqKyDIdLgxARERFYtGgRdHR0sHbtWlhbW+Po0aN4+PAhVq9ezXY8Jb///jv+97//YdKkSVi5ciWys7Px6tUrTJ48GXfv3mU7ngpvb29MnDiRcxskqjN37ly4ublh+vTpbEep0JEjRzB9+nQMGTIE+/fvR05ODh49eoT58+fj6tWrbMf7T5DJZEhPT4elpSXnBvn4tmTo5s2bGDJkCFq0aIE7d+4gNzcXN2/exLp16zj1ZY6P3s0sKY9hGJiYmHBuAOJDS4jL48Jy4jlz5uD27dvIzc3FzJkzMXPmTAQGBmLy5Ml49uwZ2/EUYmNjMWrUKDx9+hQCgQB5eXk4evQoLl68iB07drAdT0VSUhJGjBiBe/fuKQag27ZtiwMHDigt1eUKLvcDhPwdNLBDCIfxodPZs2cPZsyYAbFYrLR0jCtn6PnI1dUVAQEBcHJygpmZGTIzMyGVSmFtbc2p6czvvPvw5urqqrLBI9euitS+fXs8ePAAdnZ2cHBwUJpdxpXNk+vVq4eDBw+icePGite/tLQUNWvWRFpaGtvxeKeqxyGubEbKtyVDTZs2xbp169C1a1dFey0qKoKjoyOnLste3unTp3Hz5k2kp6crDZxxYTZJeU2bNsUvv/yidJLk+vXrmD17NqcGIPjo8uXL0NHRUZyQ4OKs2F69eqFDhw6YP38+LCwskJmZiezsbDRq1Ihz+y2WFxcXh6SkJNSsWZMzs/b41g8Q8nfQ5c4J4YgPdTrlZ8JwrdNZuHAhjh49il69erEdRQVfLxubm5sLBwcHAFB8wSstLYWuri6bsSo0fvx4aGlpoV69epxczlDe5MmTOXV1DnVSU1MVS67evf4CgYCTSxwB+QzDpUuXqv2iHBsby2IyOTc3N8VVeirCpc1Io6KieLVkKDo6WrGX1rs2qqurC4lEwmasCi1btgxbtmzByJEjceTIEXz55ZfYv38/RowYwXY0FUuXLsXgwYMxceJEuLq6IiIiArt37+bkJuoAPy51DQCnTp1Cnz59oK1d9jWoRYsWLCZSLzAwEOfOnVMa7FU3i4tNMplM5TY7OzvY2dkp3c/2yUm+9QOE/B00Y4cQjnjXcfOt07GxsUFiYqLSlTC4gq+XjR06dCiaNm2KhQsXKqYzr1mzBk+fPsX+/fvZjqfCyMgIiYmJMDIyYjvKf0L37t3h7e2NMWPGKF5/f39/HDx4EGfPnmU7ngpvb2/Ex8djzpw58Pb2hr+/P9auXYshQ4Zgzpw5bMf7zygsLIRQKOTcxt/t2rXD4sWL0aNHD0V7vXz5MlasWIEbN26wHU+Fo6Mjzp07hwYNGig21Q8MDISPjw9Onz7NdjwVgYGB2LVrF+Li4uDg4ICJEycqbUrOFXy51DUgvypWYmIiRowYgdGjR6vdpJwL6tevj5MnT8Ld3V3x3goKCsLIkSPx/PlztuMB+PAMQ0C+dJCLn10J+S+igR1CyD+yfv165ObmYtGiRayfkfmvSEpKQr9+/ZCeno6EhAS4uLjAyMgIZ8+eRY0aNdiOp6Jdu3bYt28fnJyc2I5SKYZhsGPHDhw4cADp6el4/vw5bt26heTkZAwfPpzteADkGyd3794dzs7OuH//vmKj1MuXL6N27dpsx1NhbW2N169fw8LCQunqc/369cOTJ0/YjqdWbGwsEhISYG9vr5gdxzXffPMNhg8fjlatWuHcuXMYOnQoBAIBDh06hH79+rEdT+H+/fvo27cv+vTpg8OHD2PMmDE4c+YMTp06xckBiPIzHqytrZGQkAAdHR3OzYTgG75c6vqdZ8+ewd/fHwcOHIChoSFGjx4Nb29vTvVju3btwqpVq/DDDz9g1qxZ2Lp1K1asWIH58+fjiy++YDseAFR5SZijo2M1J/l4fOgHCPkYNLBDCIfxodNxcHBAcnIydHV1YWFhoXQfF5ZhvC8nJ0dlk2cuburHMAwCAwMRGxsLBwcHtGrVirMDZ4sWLcKhQ4cwfvx4lT12uLbMbdGiRbhy5Qpmz56NqVOnIisrC5GRkRg2bBgeP37MdjyFgoICnD17FjExMXBwcEDfvn0hFovZjqWWpaUlkpOToa2tDXt7e7x69QpGRkaKzX+5JCkpCSNHjsS9e/dgYWGBjIwMtGnTBgcPHuTcccDW1hYREREQiURo3bo1vvvuO5iYmGDOnDl48eIF2/GUJCQkYN++fYr26u3tzZm9Nd7XrFkz+Pn5wcPDA126dMHAgQNhZmaGRYsWITo6mu14WL58ORYuXAgAWLx4cYXlfvrpp38rUpXw5VLX72MYBgEBAZg3bx5evnyJdu3a4csvv8SoUaM40eeeOnUKW7duVby3pk6dioEDB7Id64NkMhlSUlJgY2PDiTp8H5/6AUI+Bg3sEMJBfOp0bt68WeF9HTt2/BeTfNiVK1fw5ZdfqnxwpynC/xyflrk5ODjgr7/+gqWlpWKjV4ZhYG5ujszMTLbj8VLXrl2xYMECdO3aVfFlSCwW4/Hjx3j06BHb8ZQMHDgQtWrVwsqVK2FoaIj8/HwsWLAAUVFRnFuG824GSUZGBurWravYOLuiy6CTqjl//jzEYjE+++wzPHjwAF988QXy8vKwadMmDB48mO14mDZtGjZv3gxAvn9ZRbi2zw5fLnVdXkREBPz9/eHv7w+hUIgxY8agVq1a2LRpE2xtbXH8+HG2I/LKuyu6Hjx4UHFF15EjR+K3336DiYkJ2/EU+NQPEPIxaGCHEA6iTkfzHB0dsWjRIowcOVJl81Eu7A9Ur149vH79GgBUrtZUHhdnQfFJzZo1ERkZCX19fcWeBbm5uahfvz7i4uJYy9WzZ09cvHgRANChQ4cKX3+uXLmrvMjISDAMA1dXV6SmpmLBggXIzc3FkiVLUL9+fbbjKbG0tERSUpLKrAI7Ozukp6ezmExVy5YtMXv2bISHhyMkJAT79+9Heno6PDw8WL/a1JQpU7Bt2zYAwOjRoytsr1y7yhSpPny61PUff/wBPz8/hIWFYcSIERgzZgzatGmjuL+goADW1tYqs3v/DXy96AMAjBs3Drm5uVi5ciUcHR0RExODhQsXQiQSYe/evWzHU+BTP0DIx6CrYhHCQbdv31bqdAwNDbFmzRrFVQbYxsep4kVFRYqrN3HR9u3bFf/29/dnMcnfk5mZiTNnziiuhtKvXz+YmZmxHUtF7969MXfuXGzYsAGAfBr+okWLWN+zZMyYMYp/T5o0icUkH0cqlWLPnj2K44G1tTV27NjBcqqKmZmZISgoSGkfkJCQEJiamrIXqgKbNm3CrFmzoKuri507dwIALl26hO7du7OcDHB2dlb8283NjcUkf09BQQHCw8NVvri3bduWpURl+HpZZltbW9y6dQvx8fFITEzk1KWu33fhwgXMmzcP/fv3V7sZuUgkYm22zoEDBxQDO35+fmrLCAQCTg7sXLx4EZGRkRCJRADk+y7t3r0brq6uLCdTxqd+gJCPQTN2COGg2rVr4+jRoyqbEA4ePBjh4eEsJpPj41TxVatWgWEYzJ8/n7OXjeare/fuoU+fPqhbt67iaiivX7/GuXPn4OnpyXY8JTk5ORg7diwuXLiA0tJS6Ovro3v37vD19aWrev1NlpaWSE1N5eReCu/bvn07FixYgIkTJyrOKO/evRs///wzpkyZwnY88i/w9fXFzJkzoaurqzR7UyAQcGJGZPkrZJbvq97/P9eWEKelpcHAwABisRhSqRS+vr7Q0tLC/9u797ic7/9/4I+rqJDSWaWTLMQccsxxModGVgxJaU6zD20rP6flbDEzH4bPh3ZCmLDNZ8kxG8rmkOb0SRuKDq5KKqlEqa7fH769P12uktnW+3XxuN9uu3263u/ro4dU1/t6vl+v59Pf318rfjfQn+fo6IjY2Fi1Rsmpqano16+fED9bVfg6QC8qFnaIBMQXnb/e9evXMWTIEOTm5sLc3Fzt3LPeIa0vI0eOREhICPr27SsdO3nyJNatW4fvvvtOxmQ169GjB0JCQuDr6ysd2717N1avXo1z587JmKx2OTk5UjNK0SaNvf/++/D19VVbPXDq1Cns2bMHn332mXzBajFz5ky0atUK06dPlzvKMzl27Bh27twprSoYN24cBg4cKHcsAI+32vXr1w8AntqfysPDo74i1WnlypUYOHCg2gSs+Ph4nDhxAnPmzJExWc2aN2+O7du3Y9CgQXJHqdOWLVvw448/YsmSJdK1wLJlyzBw4EC8/fbbcsdT06NHD4SHh6Nz586YN28eoqOj0bBhQwwYMEBaISmK/Px8rF69GhcvXtRYtSXSdteYmBg4OjrCxcVFOnbt2jWkpaUJ+f0bFhaGbdu2YebMmdL369q1axEQEIAFCxbIHU+NyK8DRM+LhR0iQWnLi05SUhLMzMxgZWWF4uJifPrpp9DR0cHs2bOl5bgi6NixIzp16oTRo0dr9NgR7etqZmaGnJwctW1j5eXlsLKyEnK6iImJCfLy8tTuylZUVMDc3FzIhsR5eXk4ePAgsrKyMGfOHGRmZqKyslKYbQMWFhZQKpXQ09OTjpWWlsLOzg45OTkyJqtZnz59cPbsWdja2mr0hxLpTZI2aN++PRITEwGob3eqTqFQCFWMtra2RnJyMpo0aSIdKy4uhouLCzIzM2VMVjN7e3ukpKSo9dcQVYsWLXD9+nW116ySkhK4uLjg1q1bMibTZGJigvz8fCgUCrRo0QKnTp2CoaEh2rVrh6ysLLnjqRk6dChKS0sxZswYjeuUwMBAmVJpeuWVVxAXFwdra2vpWGZmJl577TVcu3ZNxmQ1U6lU2LJli8a166RJk7hSmqgesLBDRH9Kx44dsWfPHrRu3Rrvvvsurl69CgMDA5ibm9e6P1wORkZGKCgo0Iol4ba2tvjtt99gZGQkHSsoKECbNm2QnZ0tY7Kade/eHcHBwfDz85OO7dq1C6tXrxZuKlJsbCxGjRqFrl274pdffkFRURFiY2OxevVqYSa3WFpaIj09HQYGBtKxkpIS2NvbC9nY8WlNMUV6kwQ8LpAtW7YMkZGRyMvLw7179xATE4Nr164hKChI7nhayczMDFlZWWqFyLKyMjRv3hz5+fkyJqtZREQEEhISsHjxYo3Vm6KxsbHBTz/9hLZt20rHfvvtN3h4eAhXLDE3N4dSqcS1a9fg6+uLK1euoLKyEsbGxigqKpI7nhojIyPcuXOnxv46IqmajFedSqWCsbExJ+P9QdrYG5Loj2LzZCJBaOuLTmpqKlq3bg2VSoW9e/ciKSkJjRo1qvVus1zefPNNHDt2DK+//rrcUeo0ZMgQTJs2DZ9//rk02jgoKAhDhw6VO1qNPvvsMwwfPhzr16+Hg4MDUlNTcf36dezfv1/uaBqCg4Oxe/duDBw4UGru3KNHD8THx8uc7H/69u2LBQsWYNWqVdDR0UFlZSWWLFmitjVPJKIVb54mJCQESqUS33zzDTw9PQEA7dq1Q0hIiDCFnadNRasi0kqoLl26YOPGjQgODpaOhYeHw83NTb5QT+Hi4oJFixZh48aN0rGq/jWi9a0JCQmBh4cHJk6cCDs7O2RkZGDr1q0ICQmRO5oGT09PjBkzBnl5edK23KSkJGGGPlTXoUMH3Lp1S7imvk9q2bIljh07prb18sSJE8JdX1UXExNT4xY3ua9dq69wk3MCJtHfiYUdIkFo64uOgYEBioqKkJSUBHt7e5ibm6O8vBwPHz6UO5qa0tJSjBgxAn379oWVlZXaOdFG8v7zn/+Ev78/TE1NpbGxnp6eQq2Aqq5Xr15ISUnBgQMHkJmZCS8vL7zxxhswNTWVO5qG1NRUaetd1ZtnPT09lJeXyxlLzbp16zB8+HBYW1tLfQpsbGyEWVH0pNpG8urr66NFixbo2bOnMHfG//Of/0jbhqpW79na2kKpVMqc7H+qT0VTqVSYMWOGWhFCNGvXrsWgQYOwfft2ODs7IyUlBdnZ2Th69Kjc0WoUEBCACRMmYOzYsRrbckUze/ZsvPrqq/j2229x4cIFWFtbY/PmzUIW+b/66itERESgYcOG0lSn3NxcLFmyRN5g/6f67ykPDw8MHToUEydO1OixJtK0qSVLlmDkyJGYPHmy9LO1ZcsWoQZTVBcUFIQ9e/ZgwIABalvcRNiGVTXwAxBrsAfRX4lbsYgEl5OTg59//hlt27ZVW44tipCQEPz8888oKipCUFAQgoKCEB8fj6lTp+LSpUtyx5MsXbq01nOLFy+uxyTPLjs7GxkZGUI2+NVWvXv3xqJFizBkyBCpaBYTE4MVK1bgxIkTcseTVFZWIj4+Xvr37969u7DbCF977TWcPn0aVlZWaNGiBW7duoXbt2+ja9euSE1NBQBERUWha9eu8gYF4ODggMuXL8PY2Fj6979z5w569uyJlJQUuePVqCqnyIqLi7F//37p+3X48OEwNDSUO1aNqveCob9eZWUlbt++DSsrK6F+Zw0YMED6uGrq2JMUCsVTm5bLIT4+Hps3b5Z+tiZPnqzWqFwkpqamuHTpEuzs7OSO8lTbtm1Dp06d0KFDB+nYpUuXcPnyZakoSaSNWNghEohSqcR7772HpKQkuLu7Y9asWejXrx90dXVRUFCAbdu2qU0eEkVMTIw0/QIAEhISUFhYKNTkFm119OhRJCYmomfPnsKNDq9y8+ZNzJ8/v8bl1yKNOAWAM2fOYPjw4Rg2bBj27NmDCRMmIDo6GlFRUUJeLF+9ehVJSUlwc3NTGyErkhkzZqB169Z4//33pWP/+te/8Pvvv2PDhg1Yvnw5Dhw4gNOnT8uY8rFZs2YhOTkZa9euRZcuXXDlyhUEBwejVatWWL58udzxaqQNhZ0qBQUFuHnzJlq3bi1U8/zqZs6ciU6dOmHChAlyR6mTNvWEKiwsxHvvvYddu3bh0aNHaNiwIXx9fbF+/XoYGxvLHQ8AcP/+fYSFhSExMRFubm4IDQ0VZjXhi8DFxQW//vormjZtKneUp3JwcMDFixel7djA40lpnTt3RlpamozJiP4cFnaIBOLl5QVLS0u89dZb2L17N3788Uds2LABPj4+iIqKwsKFC3H58mW5Y2qto0ePYteuXcjJyUF0dLRwBaiqyWdVWzFWrVqFhQsXokOHDkhKSkJ4eLiQd5Pc3d3h7OyM8ePHa7yZ69+/v0ypalfVY6Vq3Lm/v78QE7FmzpwJNzc3+Pv7A3h8V3HSpEkwMTFBcXEx9u7dK/WFEUldU9FKS0thaWmp0QRUDmVlZZg7dy6+/PJLlJSUoHHjxpg6dSpWrlwp7Bs8UQs7q1atQqtWrTBy5EgAwOHDhzFmzBgUFxfDxMQEBw8eRI8ePWROqalPnz6Ij4+Hk5OTxrZckXoXAcD06dOhVCoxb948eHp6oqCgAEqlEoMHD8aVK1fkjqfm7bffRlFRET7++GNpC+n8+fPRuHHjpzZYr0+TJk1CQkIChg4dioMHD2LAgAHYsGGD3LE0HD58GEZGRujVqxcAICUlBRMmTEBiYiLc3d2xZcsWtUlZcqo+oe/o0aM4cOAAPvzwQ42frZYtW9Z3tFqZmJggNzdXbfJoRUUFTE1NhXidInpeLOwQCaT6dJGSkhI0a9YMpaWl0pLxmiYkyO1pjT5FukjesGED1q1bhylTpuDjjz/GvXv3cOXKFUydOhWnTp2SOx6Ax2N4ExISYGlpicrKSlhZWSE8PByjRo3CoUOHMG/ePKG2t1XRpoljImvZsiVOnDgBe3t7AI9HHYeGhmL69OmIiIjApk2bcObMGZlTamrTpg0++eQTvPnmm9Kxffv2Yfbs2bh69Sru3bsHZ2dn2Sd6Va0iAB7/bsrJyYGZmRl0dXXRq1cvNGggRtvBJ7eCeHt7IyoqSm3riAjF6DZt2mDfvn1wcXEB8Phu/ejRoxEaGorPPvsMP/30k3DbWgDtmuJWfZR89QJfs2bNUFBQIG+4JzRv3hw3btxQK+4XFxfD2dkZt2/fljHZ/1hbW+P8+fOwtrZGRkYG+vXrh5s3b8odS0O3bt2wfv16aZVu//790aRJE8yYMQObN2+GgYEBvvnmG5lTPqajo1Pr1rYqojUm7927Nz744AOMGTNGOvbdd99h9erVQr7GEj0rFnaIBFI1AanKk3dqnzwvgicvkrOzs/H111/D39//qdO96puzszN++uknODo6wsTEBHfv3kVFRQUsLS2Rl5cndzwA6v++v/76K1577TUUFBRAV1cXKpUKJiYmwl3MA8Dw4cOxdOlSdOnSRe4odcrPz8fq1atr3DYmdyGy+r9/YmIiunXrhoKCAujr66OiogIWFhZCrtyIiYnB6NGj0b59e2lyT2JiIr799lsMHjwYMTExOH36tKy9rDZt2oRTp05JDcibNGkCMzMzqFQqlJSUYNWqVZg8ebJs+aqra+KNQqFQu0sul+o3GpKTk9GuXTvk5eXB0NAQpaWlsLW1lb2Yp+20qSeUo6MjYmNj1baMpqamol+/fsJsya3rGksUpqamyMnJQYMGDZCTkwMbGxukpaVJP1MdOnRAZmam3DG11s8//4w33ngDgwYNgrOzM5KTk/HTTz/h4MGD6N27t9zxiJ6bGLeniAgAUF5ejuPHj0t3Pp58LNIdjyo13eEcNWoUJk6cKFRhp6ioSGroV7XC6NGjR9DT05Mzlhpzc3OkpqbC0dERx48fh7u7u7RU+P79+2rLhkXi6OiIoUOHwsfHR6PJs9wjTp/k5+eH0tJSjBkzRrgeIMbGxlLT0ZMnT6Jr167S9qBHjx499Y6onAYPHoyUlBQcOnQImZmZeOONNzBs2DCYmZlJ5wcPHixrxm3btiE8PFx6rKenJ73ZvHjxIv7xj38IU9gRcQVBTRo3bozCwkIYGRnh559/RocOHaSGyTo6OkJNmqtOpVLhq6++QmRkJHJzc3H58mXExcUhOztb7Q6+CEaPHo3AwECsXbsWAJCVlYXg4GAhe+1NmTIFgwYNwsyZM6WtWGvXrsU777wjdzRJXddYgBir4aqvgj59+jScnJyksfFmZmYaNyVEoVQq0bhxY7XeNXfv3sWDBw9gY2MjYzJ1ffr0wX//+19ERkYiIyMD3bt3x7p164Rv+kxUFxZ2iARiaWmpNmrTzMxM7bGlpaUcsf4wW1tb4XoB9evXDytXrsT8+fOlY+vXr1eblCG3KVOmYNiwYRgyZAi2bdumtvc/Li5OyKlowOOi0/Dhw/Ho0SNkZGRIx0WcOnPq1CncuXNHyH4qY8aMga+vL3x8fPDPf/4T8+bNk86dPXsWzs7OMqZ7OnNzc/Tv3x9KpRK2trZSUUcUN2/eRMeOHaXHrq6u0scdO3YUYgWMtnnjjTfwzjvvwM/PD6tXr5Z6QwEQejLOokWLcPToUQQHB+Pdd98F8HjbY0hIiHCFnRUrVmDu3Ll49dVXUVJSgldeeQVTp04V6qZJlfnz58PGxgY7d+5EZmYmbGxsMGfOHKHGh9d1jSXKariuXbti/fr1mDJlCr766iu13mo3btyAubm5jOlq5+3tjc2bN6sVdm7duoUpU6bg7NmzMibT5ODggDlz5gg5wY3oeXErFhH9KZs3b1Z7XFJSgr1796Jhw4Y4cuSITKk0ZWVlwcvLC7m5uVAqlWjZsiWaNm2K/fv3CzVKPCIiAgkJCejZsyfGjx+vdtzIyAg+Pj4yptN+ffr0QUREhJBFkkePHmHFihXSv39oaKhUHFu3bp3U6Fc0WVlZ8PX1xZkzZ2Bqaoq8vDz07NkTu3btEuYuraGhIW7fvo0mTZponCsuLkbz5s2FvQsuqnv37iEkJATnzp1Dz5498a9//UsqmIaFhUGhUKgV0kVhZ2eHCxcuwNzcXNqWq1KpYGpqirt378odD4DmNMHKykrk5ubC3NxcegNa1YuLXjxJSUnw8vJCamoqWrVqhePHj0u/S5csWYLU1FRs3bpV3pA1qK0PpGj9IQsLCxEUFITdu3ejvLwcDRo0EG6CG9HzYGGHiP6UJ1e8NGnSBJ06dUJISIhwd+1VKhXi4+ORnp4OOzs7dO/enXdp/iLXr19HZGSktGJj3LhxeOWVV+SOpWHRokWIjIzExIkTNQp6It1Z1ibe3t6wt7fHxx9/jCZNmuD+/fsIDQ3FzZs3sW/fPrnjAQB69uyJuXPn1lgY/f7777Fq1Srh7ijT38PGxgY3btyAgYGB1GOlqKgIrq6uaisO5VTVkBZ4/LpV1Zy2+v+KsDX7yRs7teHv1ueTl5encR1VUFAAPT094bYSA0CrVq1w+PBhtGrVSjqWnJyMwYMHC7ESqoo2THAjeh4s7BDRX+b27dv45Zdf0LZtW2G3DQGP735Wx+LOnxMdHY3x48dj+PDhcHBwQHp6Ovbv34/t27djxIgRcsdTU9vWO4VCIeQEH21gbm6OrKwsaeIUAOGa5+7atQshISHYtGkTRowYAR0dHVRWViIqKgrTp0/HmjVrMG7cOLljUj2YMmUK9PT0sHbtWlhbWyMvLw8hISEoKyvDxo0b5Y4HAOjcuTMePHiAwMBA+Pv717jyTYSea8+ylZm/W18eK1aswO7du7F8+XK0bNkSKSkpWLhwIcaMGYPQ0FC540m0YYIb0fNgjx0iei5KpRLvvfcekpKS4O7ujlmzZqFfv37Q1dVFQUEBtm3bJlSDx/Pnz2PGjBm4fPkyHj58CABC3fnUZqGhoYiKilK7yD9x4gSCgoKEK+wcP35c7ggvHBMTEyQlJan1sLl69SqaNWsmX6gn+Pr6QqlUwt/fH2VlZTA3N0dubi709fWxaNEiFnVeImvWrEFgYCCMjY3x6NEjGBoaYvDgwdi2bZvc0SQXLlxAYmIiIiIi0Lt3b7Rt2xYTJkzAyJEj0ahRI7njSfj7lKqbN28eGjZsiFmzZiEjIwP29vaYPHkyZs6cKXc0NQYGBrhz547aBLeq1wMibcYVO0T0XLy8vGBpaYm33noLu3fvxo8//ogNGzbAx8cHUVFRWLhwoVANlF999VV4eXkhICBAYwlz9Rd3+uNMTExw584dNGjwv3sF5eXlMDc3F2I8e1UBD9BcrVUdV249ny+//BKhoaGYPHmytKx9y5Yt+Oijj4SaiAM87q1w+vRp5ObmwszMDO7u7uyp8JLKyclBWloa7OzshOqz9qTKykocPXoUW7duxaFDh3Ds2DG4ubnJHQsAf7eSdgoLC8O2bds0JrgFBARgwYIFcscjem4s7BDRczEzM0NWVhb09PRQUlKCZs2aobS0VLrIE61ZnpGREe7duyfkpKbqKioqMHDgQBw5ckRr7h4NGDAAQ4cOxdy5c6Vjq1atwsGDB3HixAn5gv0fIyMjFBYWAlDvXVGFK7f+vGPHjqlNwxk3bhwGDhwodyyiWuXk5Gg0zG7ZsqVMaWp39epVREREYOfOnXBycsLmzZvh5OQkdywA/N1K6jp16oS3334bfn5+Qk9xValU2LJlC3bu3ImsrCzpNWvixInCXyMSPQ0LO0T0XKpf0AGQmlDWdl5ugYGB8PPzw5AhQ+SOUicHBwf8/vvvQi25f5rff/8dXl5euH//Puzs7JCRkYHGjRsjOjpaiF5LGRkZ0ujltLS0Wp8n58qtZx1fvGzZsr85CdEfExkZiU6dOqFt27a4evUqpk6dCl1dXWzatAlt2rSRO56Gw4cPY/LkycjKylI7LlIBIj8/H5GRkYiIiEBRURECAgLg7+8v3CQsbfjdqm2etcmwiEXIvXv3YseOHThy5Aj69euHgIAAjBw5EgYGBnJHAwD8+uuv0NfXR/v27QE8Lu4GBwcjMTER7u7u+Oc//wlDQ0OZUxI9PxZ2iOi5NG7cGAcOHEDVrxBvb29ERUVJj6ve6MspICBAuvtSWlqK6Oho9OnTR2PZvUi9FYDHk0bi4uKwdOlStGjRQu0OkqhL2svLy3HmzBlpxUaPHj3UmunS002cOPGZnrdly5a/OckfV1paimXLliEyMhJ5eXm4d+8eYmJicO3aNQQFBckdj/5mzs7OOHXqFKysrODl5YXWrVvD0NAQcXFxQjbNdXZ2xuzZsxEYGChs8dzAwABOTk4ICAhAz549a3yOh4dHPaei+lC18ulpb89EKkLWJD8/H3v27MGOHTuQmJiIkSNHwt/fX/bv2b59+2Lx4sV4/fXXATy+bs3MzERgYCAiIyPRoUMHYRqoEz0PFnaI6Lk4OjrWuWT15s2b9ZSmZkuXLn2m5y1evPhvTvLHVBVvqn99RV7SfvHiRZiZmUl3boHHd3Lz8/PVGuqKoHqxrzp9fX20aNEC3t7ewmUW3fTp06FUKjFv3jx4enqioKAASqUSgwcPxpUrV+SOR3+zqtWZDx8+hLW1NbKzs9GwYUOYm5urreIUhampKfLy8oTeclHX66tCoRBqfDTw+M386tWrcfHiRY0tbnFxcTKlIrk8ePAA33//PVatWoW0tDRYWFhAR0cHGzdulAor9c3c3BxKpRL6+vooKCiAhYUFrly5AhcXF2RkZKBXr17IyMiQJRvRX4FTsYjouaSmpsodoU6LFy/GL7/8gn379uGTTz7ROD937lz4+PjIkOzp5C6I/VH+/v7Yt2+f2rGysjIEBAQI1UAbeNz7qWoMe9W2sejoaPj6+uK3337DJ598gvDwcEyYMEHuqCgqKkJubq7anVsRl9//5z//QXJyMpo0aSIVJW1tbaFUKmVORvXBwsICycnJ+O9//4tu3bpBX18fJSUlT11xIKfJkydjy5YtmDRpktxRaqUNr69P8vPzQ2lpKcaMGaMxoIBeDiqVCjExMdi+fTv2798Pd3d3zJs3Dz4+PmjUqBG+//57+Pv7Izs7W5Z85eXl0NPTAwCcOXMG1tbWcHFxAQDY2dkJMeyB6M9gYYeIXmgrVqzA9OnTazw3YMAALF++HNHR0fWc6umq+hFUVlbi9u3bsLa2ljnR06Wnp2sUHJydnYV8c3Lt2jUcPHgQvXv3lo6dPn0aixYtwtGjR3H48GEEBwfLWthJSkrC+PHjcenSJWlJftXdexFXbOnp6aG8vFzt2J07d2BmZiZTIqpPCxcuRJcuXaCrq4vdu3cDAH788UehVr717dtX+hlSqVRYt24dVq5cqbEtlytLnt+pU6dw584drWn6rw3Ky8uxceNGxMbGahT5Rfxetba2hrm5OSZMmIBVq1bBxsZG7fyoUaPwr3/9S6Z0QLt27fDtt99izJgx2LVrl9rKIaVSyQmJpPW4FYuIXmi2trZIT0+Hrq6uxrny8nLY29sjMzNThmS1KygowPTp0/Hdd9+hYcOGuH//Pvbt24f4+HiEhYXJHU+Dq6srduzYoTaC9/z58/Dz88Pvv/8uYzJNxsbGyMvLUxvN/ujRI5ibm+PevXtQqVRo2rSpxlaC+vTaa6/Bzc0NixYtgpOTE1JTU/Hhhx+iV69e8Pf3ly1XbWbNmoXk5GSsXbsWXbp0wZUrVxAcHIxWrVph+fLlcsejelBSUgIA0kqNnJwcVFZWCjNGPCIi4pmeFxgY+DcneXH16dMHERERcHZ2ljvKC+O9997DsWPH8M4772D+/PlYvnw5Nm3aBF9fXyxZskTueBoSEhLQtWtXuWPU6ueff4aXlxcUCgV0dXXx888/o3Xr1gCANWvW4OzZs1JxmkgbsbBDRC+0pk2bIicnp8YmmQ8ePIClpSWKiopkSFY7X19fmJiYYNGiRXB1dcXdu3dx584d9OrVC9evX5c7noYvv/wSy5Ytw5w5c+Ds7IyUlBSsXr0a8+fPxzvvvCN3PDX9+/dHz549sXTpUhgYGODhw4dYsmQJTp06hbi4ONy4cQOvvfYa0tPTZctoYmKCnJwcNGzYEM2aNUNBQQHu37+P9u3bC7lNr6ysDHPnzsWXX36JkpISNG7cGFOnTsXKlSt59/4FVVlZ+UzPE7HZ+9mzZ9GjRw+N4/Hx8ejevbsMibTX5s2bpY9TU1MRGRmJiRMnahT0RN72JjJbW1ucPn0a9vb20mvB77//jmnTpiE2NlbueBqSkpJgZmYGKysrFBUVYfXq1dDR0cHs2bOF2Z5XVFSEa9euwcXFBU2bNpWOX716FU2bNtVYZUSkTVjYIaIXWrdu3bBgwQK8+eabGueioqIQFhaGc+fOyZCsdhYWFsjMzETDhg3VxsgbGxvj3r17Mqer2bfffouvv/5aGn87ZcoUvPXWW3LH0pCamgo/Pz8kJCRIX9uuXbvim2++gZOTExISEpCdnY3hw4fLltHa2hopKSlo3LgxWrVqhWPHjsHExAS2trYoLCyULVdNHj16JE0/i4uLQ05ODszMzKCrq4tevXqprYyiF0fV5J7aiNzsvarZ85Oq/66lZzNgwADp49omOSkUCiGno2kDExMT5OfnQ6FQqL0u1PY9LLeOHTtiz549aN26Nd59911cvXoVBgYGMDc3x/bt2+WOR/TC4xUXEb3QQkJCMG3aNFRUVMDb2xs6OjqorKzEDz/8gBkzZmDNmjVyR9RgbGyM3Nxctd466enpwvXaef/997F+/XoAwOjRo1FYWIjJkydL50eNGoXvv/9erng1cnR0xKlTp5CRkYHMzExYW1vD3t5eOi/CMvK+fftiz549ePvtt/HWW2/B09MT+vr6so+KfdKmTZtw6tQp6YLd09MTZmZmUKlUKCkpwapVq9S+H+jFIeLKsbpUVlZCpVKp/VclJSWFRcjncPz4cdy/fx9hYWFITEyEm5sbQkNDuVLvL9K2bVucO3cO3bt3R9euXbFkyRIYGRnB1tZW7mg1Sk1NRevWraFSqbB3714kJSWhUaNGcHJykjsa0UuBK3aI6IW3Zs0aLF68GKWlpTA3N0dubi709fWxdOlSzJw5U+54GlauXIl9+/Zh+fLl8PHxwaFDhxAaGoo333wTwcHBcseTPHnX8Mk73qLeVQQe9wB5so+OiBOnKisrsXPnThQVFSEwMFCY5ewA4O7ujvDwcKlJromJCe7evQsAuHjxIv7xj3/g9OnTckYkkjxtlZGOjg7mz58vZN8S0U2aNAkJCQkYOnQoDh48iAEDBmDDhg1yx3ohnDt3Drq6unBzc8P169fxj3/8Q9ri1LdvX7njabCyskJycjKSkpIwY8YMJCQkoLy8HKampsJeCxC9SFjYIaKXQmFhIU6fPo28vDyYmZnB3d0dRkZGcseqkUqlwvr16/H5558jLS0N9vb2mDZtGj744IOnbn+ob02bNlXrT1T9jT0gZmHn8OHDmDx5MrKystSOi7RtZPXq1Zg1a5bG8TVr1ghViGzevLna2NrevXvjl19+AfD4e7h58+a4ffu2XPGoHu3bt6/GyT3btm2TMZW6tLQ0qFQq9O/fX22ikEKhgIWFRY192Khu1tbWOH/+PKytrZGRkYF+/fpp5You+vNmzpyJkydPoqioCEFBQQgKCkJ8fDymTp2KS5cuyR2P6IXHwg4RkWCys7NrnCZT23G5aOOKHWdnZ8yePRuBgYHCvpHTlh4ghoaGuH37Npo0aaJxrri4GM2bN5d1uhjVj6VLlyI8PBy+vr74/PPPMW3aNOzcuRNjx46VtmrSi6uu1wF6fitXrsTAgQPRrVs36Vh8fDxOnDiBOXPmyJhMXUlJCcLCwnD58mXcvXsXCxYsgKenJ4DHk7IKCwuF20pM9CLihmIiIsG4uLjU+Mbe1dVVqAvm8vJyHD9+XLpD/+RjUVbAVHf37l1MmzZNqJVPVaoajFZUVKh9HQHgxo0bahM8RNC+fXvExMTAx8dH49yRI0fQrl07GVJRfdu8eTOOHj2K9u3bY8uWLVi7di3GjRuHsLAwuaPVShtWGGmLul4HAPBN/XNat24d3nvvPbVjrq6u8Pb2FqqwU7XtytPTEwcPHsTBgwelwo4IfeuIXhZcsUNEJJgntzgBj7eStWzZErm5uTKl0uTo6FhngUS0JfmzZ89G27ZthRy/W9VgMj09Xa2hs0KhQPPmzTFv3jyMGDFCrngadu3ahZCQEGzatAkjRoyQGpNHRUVh+vTpWLNmDcaNGyd3TPqbVZ/WZ2lpCaVSiYYNGwo7xY8rjP5adb0OKBQK3Lhxox4TvTjMzMyQlZUFPT096VhZWRmaN28u1E0ebscjEgNX7BARCcLOzg4KhQIPHjxQe2MPAHl5ecK9SU5NTZU7wh925swZrF+/HitXrtTY1la974Ycqi6EJ0yYoBUrB3x9faFUKuHv74+ysjK1xuSLFi0S7vuV/h7Ozs64cuUK2rVrh/bt22PTpk0wMTGBiYmJ3NFqpI0rjESmja8D2qJLly7YuHGj2tCE8PBwuLm5yReqBvfv35emdtrZ2QlZ0CV6GXDFDhGRIGJjY6FSqfDGG2/g0KFD0nGFQgErKyu0bt1axnQvhoiIiBqPKxQKTJgwoZ7T1K2yslLtsY6OjkxJalfVmDw3N1dqTG5sbCx3LKonBw8ehKGhIfr164ezZ89i/PjxKC4uxsaNGzFy5Ei542nQthVG9PK6cuUKBg0aBGtrazg7OyMlJQXZ2dk4evQoXF1d5Y4nady4MQ4cOCBtv/P29kZUVBS34xHVMxZ2iIgEU1JSItRY6xfB+++/r7bN4uuvv8bkyZOlx6NGjcL3338vRzQN58+fx4wZM3D58mU8fPgQwOMpUyJN7iLSVm5ubti+fTvatWsHDw8PeHt7w8TEBAsXLuTqExJOcXEx9u/fj4yMDNjZ2WH48OEwNDSUO5YabscjEgMLO0REglm0aFGt55YtW1aPSV4c2jTB69VXX4WXlxcCAgI0CnwODg4ypSL6n9TUVDg6OgLAU9+wtWzZsp4SPTttW2FERET0LFjYISISzMSJE9UeZ2dnIzY2Fj4+Pvjmm29kSqXdnmxIbWJigrt379Z6Xk5GRka4d++ekJO7iAD1nxcdHR0oFAo8eTkp2gqz9PT0Op/zZG8zovo2dOhQHD58GADQt2/fWl8H5O4JR0TiYfNkIiLBbNmyRePY4cOHERkZKUOaF8OTF8d1PZaTj48PYmJiMGTIELmjENWoehH0yT5Qoqq+XaR6EaqqKCVaIYpeTtV7vU2ZMkXGJESkbVjYISLSAoMHD8bYsWPljqG1ysvLcfz4cekN3ZOPRXpD9/DhQ/j4+KBPnz4ak7u0YVoWvTwqKirg4uKCpKQk6Ovryx3nqTp27IgHDx4gMDAQ/v7+sLGxkTsSkQY/Pz/p4zZt2qBHjx4az4mPj6/PSESkJVjYISISzJM9K0pKSrBz507Y2dnJlEj7WVpaYtKkSdJjMzMztceWlpZyxKqRq6urUBNPiGqjq6sLXV1dPHjwQPjCzoULF5CYmIiIiAj07t0bbdu2xYQJEzBy5Eg0atRI7nhEGgYNGlRj77ehQ4eq9YgjIgLYY4eISDhP9qxo3LgxOnfujM8++wxdunSROR0R0f9s3LgRUVFRCA0NRYsWLdS2NYrYPBl4vH3s6NGj2Lp1Kw4dOoRjx47Bzc1N7lhEAB5/f6pUKjRr1gyFhYVqWwdTUlLQu3dv5OTkyJiQiETEFTtERILRlp4V9Pc5evQodu3ahZycHERHRyMhIQGFhYXw8PCQOxqRmqCgIACPv2erE7lnzfXr1xEbG4vTp0+jc+fOMDExkTsSkaRBgwZSgbRBA/W3ajo6Opg/f74csYhIcCzsEBEJqKKiAmfOnEFmZiZsbW3Ro0cP6Orqyh2L6sGGDRuwbt06TJkyBd999x0AoFGjRnj//fdx6tQpmdMRqdOWQnR+fj4iIyMRERGBoqIiBAQEIC4ujpOwSDg3b96ESqVC//791aZfKRQKWFhYcOsgEdWIW7GIiARz+fJleHt74+HDh2jRogVu3boFAwMD/Oc//0HHjh3ljkd/M2dnZ/z0009wdHSUxrJXVFTA0tISeXl5cscjqlFGRgaUSiV69uwpd5QaGRgYwMnJCQEBAbVm5Io4IiLSVizsEBEJpmvXrhg3bhxmzpwp9dpZu3YtvvnmG/z6669yx6O/maWlJbKysqCrqwtTU1Pk5+fj4cOHcHJyQlZWltzxiNSkp6dj3LhxuHjxIhQKBYqLi/Hdd9/h8OHD+Oqrr+SOJ6k+7rwmCoVCo3E9UX1755138MUXXwBQH33+JE5IJKIncSsWEZFgrl27huDgYOlNiEKhwAcffIAlS5bIG4zqRb9+/bBy5Uq1Pgrr16/HgAEDZExFVLNp06Zh2LBhOHnyJMzMzAA8nubz//7f/5M5mbrU1FS5IxDVycnJSfrY2dlZxiREpG24YoeISDC+vr4YO3YsfHx8pGM//PADdu/ejcjISBmTUX3IysqCl5cXcnNzoVQq0bJlSzRt2hT79+9H8+bN5Y5HpMbMzAx37tyBjo6OtMIMAJo1a4aCggJ5wxEREb0kuGKHiEgwFRUV8PX1RZcuXWBnZ4eMjAz8+uuvePPNN9WWZnMp9ovJ2toa586dQ3x8PNLT02FnZ4fu3btDR0dH7mhEGqysrJCcnAwXFxfpWFJSEpsSEz2HY8eOPdPz2A+KiJ7Ewg4RkWDat2+P9u3bS49dXV0xZMgQGRNRfVMoFOjRowd69OghdxSip5o1axaGDx+ODz/8EOXl5YiMjMSKFSswb948uaMRaZ3JkyfX+Rz2gyKimnArFhERkUAuXbqEkJAQXLx4EcXFxQAAlUoFhUKBsrIymdMRaYqKisLnn3+OtLQ02NvbY9q0afD29pY7FhER0UuDhR0iIgGlpaXh0qVL0hv7Kn5+fjIlovri6uqKUaNGYezYsWjUqJHaOTbTJNGcPXu2xpVl8fHx6N69uwyJiF4c5eXlOHXqFJRKJVq0aAF3d3c0aMANF0SkiYUdIiLBfPzxx/joo4/g6uqq9sZeoVAgLi5OxmRUH0xNTZGXl/fU0cxEojAyMkJhYaHG8eqNlInoj/v999/h5eWFBw8eSP32DAwMEB0djbZt28odj4gEw8IOEZFgzM3NERcXB1dXV7mjkAxCQkLQtWtXjB8/Xu4oRLWqrKyESqVCs2bNUFhYiOqXkykpKejduzdycnJkTEik3Tw8PODp6YlZs2ZJhf7Vq1fjwIEDOH78uMzpiEg0LOwQEQmmdevWuHDhAho3bix3FJLB7du34e7ujkaNGsHKykrt3LNOTCH6u+no6NS6qkxHRwfz58/HkiVL6jcU0QvE1NQUd+7cga6urnSsvLwcFhYWuHv3rozJiEhE3KRJRCSYzz77DO+88w6Cg4NhaWmpdo4jhF98b731FpycnODj46PRY4dIFDdv3oRKpUL//v3VtogqFApYWFjwe5foT7KxsUFsbKzaaPOTJ0/CxsZGxlREJCqu2CEiEkxUVBSmTp2K3NxcteMKhQIVFRUypaL60rRpU+Tl5UFPT0/uKEREJJN9+/bBz88Pw4cPh4ODA9LS0nDgwAHs2LEDb775ptzxiEgwLOwQEQnG1tYWS5cuha+vr8Zd7+pLsunF9MYbb2DFihXo1KmT3FGInsm+ffsQGxuL3NxctV4727ZtkzEVkfa7fv06du/ejczMTNjY2GDMmDFwcXGROxYRCYhbsYiIBFNeXo6JEyeyiPOScnJywuDBg+Hj46PRY2fZsmUypSKq2dKlSxEeHg5fX198++23mDZtGnbu3ImxY8fKHY1IK5WUlCAsLAyJiYlwc3PDhx9+CH19fbljEZHguGKHiEgwn376KcrKyhAaGsqR1y+hiRMn1npuy5Yt9ZiEqG4ODg44cOAA2rdvj2bNmqGgoADx8fEICwvDvn375I5HpHUmTpyIhIQEeHp64uDBgxgwYAA2bNggdywiEhwLO0REgrGzs0N2djb09PRgZmamdi49PV2mVEREmoyNjXHv3j0AgKWlJZRKJRo2bKh2nIienbW1Nc6fPw9ra2tkZGSgX79+uHnzptyxiEhw3IpFRCSYHTt2yB2BZHbv3j1cvXoVxcXFaserT0chEoGzszOuXLmCdu3aoX379ti0aRNMTExgYmIidzQirXT//n1YW1sDeHyjhwVSInoWLOwQEQmmf//+ckcgGW3duhUzZsyAoaEhGjduLB1XKBS4ceOGjMmINIWFhSEvLw8A8PHHH2P8+PEoLi7Gxo0bZU5GpJ3Ky8tx/PhxqRH5k48BFvmJSBO3YhERCebRo0cICwvD9u3bpUkYAQEBmD9/PkdgvwRsbW3x1VdfwdPTU+4oRERUzxwdHZ/aX49FfiKqCVfsEBEJZs6cOYiPj0d4eDgcHByQlpaGjz76CIWFhVi7dq3c8ehvVl5ejsGDB8sdg+ipnqXfl729fT0kIXqxpKamyh2BiLQQV+wQEQmmRYsWuHTpklrj5NzcXHTs2BFKpVLGZFQf1qxZg6KiIixcuBA6OjpyxyGqkY6OjrSqoKZLSYVCgYqKivqORURE9FJiYYeISDC2tra4fPmyRmGnQ4cOyMzMlDEZ1QdORSNt0LlzZzx48ACBgYHw9/eHjY2NxnN0dXVlSEZERPTy4VYsIiLBjB49Gl5eXli8eDHs7e2RlpaGsLAwjBkzRu5oVA84FY20wYULF5CYmIiIiAj07t0bbdu2xYQJEzBy5Eg0atRI7nhEREQvFa7YISISTFlZGcLCwrBz505kZmbC1tYWvr6+WLBgAfT19eWOR0SkprKyEkePHsXWrVtx6NAhHDt2DG5ubnLHIiIiemmwsENERCQQTkUjbXP16lVERERg586dcHJywubNm+Hk5CR3LCIiopcGuzISEQnil19+wdy5c2s8N2/ePJw5c6aeE5Ec5syZgx9//BHh4eG4dOkSwsPDcezYsVq/N4jkkJ+fj3//+9/o3r07vL29YWhoiLi4OBw/fpxFHSIionrGFTtERIIYNmwYpk+fjmHDhmmcO3ToEDZu3Ijo6GgZklF94lQ00gYGBgZwcnJCQEAAevbsWeNzPDw86jkVERHRy4mFHSIiQdja2iI9Pb3GSTLl5eWwt7fnVKyXAKeikTZwdHSUxp3XRKFQ4MaNG/WYiIiI6OXFqVhERIIoLCxEWVlZjRNlHj16hKKiIhlSUX3jVDTSBqmpqXJHICIiov/DHjtERIJo06YNYmJiajwXExODNm3a1HMiksOqVavw+uuvY8aMGejSpQvee+89DBgwAJ988onc0YiIiIhIQFyxQ0QkiJCQEEybNg0VFRXw9vaGjo4OKisr8cMPP2DGjBlYs2aN3BHpb1ZRUYGpU6fiiy++wLJly+SOQ0RERERagIUdIiJB+Pn5ITs7G4GBgSgtLYW5uTlyc3Ohr6+PpUuXYty4cXJHpL+Zrq4uYmJioKPDBbVERERE9GzYPJmISDCFhYU4ffo08vLyYGZmBnd3dxgZGckdi+rJqlWrUFBQgCVLlkBPT0/uOEREREQkOBZ2iIiIBGJnZ4fs7Gzo6urCwsJCbfJQenq6jMmIiIiISETcikVERCSQHTt2yB2BiIiIiLQIV+wQEREREREREWkprtghIiKS2fLlyzF//nwAwKJFi2p9HidlEREREdGTWNghIiKS2a1bt6SPMzIyZExCRERERNqGW7GIiIiIiIiIiLSUjtwBiIiI6H+8vb3x7bff4uHDh3JHISIiIiItwMIOERGRQPr3749PP/0UVlZWCAwMxJEjR1BZWSl3LCIiIiISFLdiERERCej69evYuXMndu3ahbt372LMmDFYv3693LGIiIiISDAs7BAREQns0qVLmD17Nn766SdUVFTIHYeIiIiIBMOtWERERIJJSUlBWFgY2rVrh0GDBuGVV15BbGys3LGIiIiISEBcsUNERCSQbt264dq1axgxYgT8/PwwaNAgNGjQQO5YRERERCQoFnaIiIgEsmfPHnh5eaFRo0ZyRyEiIiIiLcDCDhERkYBycnJQXFysdqxly5YypSEiIiIiUXFtNxERkUCOHDmCSZMmISsrS+24QqFg82QiIiIi0sDmyURERAKZPn06Fi5ciPv376OyslL6j0UdIiIiIqoJt2IREREJxNTUFHl5eVAoFHJHISIiIiItwBU7REREApk8eTK2bNkidwwiIiIi0hJcsUNERCSQvn37Ij4+Hg4ODmjevLnaubi4OJlSEREREZGoWNghIiISSERERK3nAgMD6zEJEREREWkDFnaIiIiIiIiIiLQUe+wQEREJ4P3331d7/PXXX6s9HjVqVH3GISIiIiItwRU7REREAjAyMkJhYaH02NTUFPn5+bWeJyIiIiICuGKHiIhICE/eZ+F9FyIiIiJ6FizsEBERCUChUDz1MRERERFRTRrIHYCIiIiA8vJyHD9+XFqp8+TjiooKOeMRERERkaDYY4eIiEgAjo6Oda7SuXnzZj2lISIiIiJtwcIOEREREREREZGWYo8dIiIiIiIiIiItxcIOEREREREREZGWYmGHiIiIiIiIiEhLsbBDREREwnv77bexYMECAMDJkyfRunXrevm8CoUCycnJNZ577bXX8NVXXz3Tn+Po6Igff/zxuTL8mf8vERERvfhY2CEiIqK/hKOjIxo1agRDQ0NYWVnh7bffRnFx8V/+efr27YurV6/W+bytW7eiT58+f/nnJyIiIhIJCztERET0l4mOjkZxcTHOnz+PhIQEhIWFaTynvLxchmRERERELyYWdoiIiOgvZ2trC09PTyQmJgJ4vKXp3//+N1555RW88sorAID9+/ejU6dOaNasGXr16oXLly9L//8LFy7Azc0NTZs2xdixY/Hw4UPp3IkTJ9CiRQvpcUZGBkaOHAkLCwuYmZkhKCgIv/32G959912cPn0ahoaGaNasGQCgtLQUs2bNgr29PaysrPDuu+/iwYMH0p/16aefwtraGjY2Nti8efMz/31TUlLg4eEBMzMzmJubY/z48SgoKFB7zrlz5+Dq6goTExNMnDhR7e/0tK8FERER0dOwsENERER/uYyMDBw8eBCdO3eWjv3www84e/YskpKScOHCBUyaNAmff/458vLyMG3aNIwYMQKlpaUoKyuDt7c3AgICkJ+fj9GjR+P777+v8fNUVFRg+PDhcHBwQGpqKpRKJXx9fdG2bVuEh4fD3d0dxcXFUpFl3rx5uHbtGi5evIjk5GQolUosW7YMAHD48GGsXr0aR48exfXr1/9QXxuVSoUPP/wQmZmZ+O2335CRkYElS5aoPeebb77BkSNHkJKSgmvXrkmrmZ72tSAiIiKqCws7RERE9Jfx9vZGs2bN0KdPH/Tv3x+hoaHSuQ8//BCmpqZo1KgRvvjiC0ybNg09evSArq4uAgMDoa+vjzNnzuDMmTN49OgRgoOD0bBhQ7z11lvo1q1bjZ8vPj4emZmZ+PTTT9GkSRMYGBjU2ldHpVLhiy++wNq1a2FqaoqmTZsiNDQUu3btAgDs2bMHEydORPv27dGkSRONwszTtGrVCoMGDYK+vj4sLCwwc+ZMxMbGqj0nKCgIdnZ2MDU1xfz58xEZGQkAT/1aEBEREdWlgdwBiIiI6MXxww8/4PXXX6/xnJ2dnfRxWloaIiIisGHDBulYWVkZMjMzoVAoYGtrC4VCIZ1zcHCo8c/MyMiAg4MDGjSo+5Lmzp07KCkpQZcuXaRjKpUKFRUVAIDMzEy1c7V9zprcvn0bH3zwAU6ePImioiJUVlbCxMRE7TnV//4ODg7IzMwE8PSvBREREVFduGKHiIiI6kX1Qo2dnR3mz5+PgoIC6b+SkhKMGzcO1tbWUCqVUKlU0vPT09Nr/DPt7OyQnp5eY0Pm6p8PAMzNzdGoUSNcuXJF+pz37t2TJndZW1sjIyOjzs9Zk9DQUCgUCvz3v/9FYWEhduzYoZYfgMafbWNjU+fXgoiIiKguLOwQERFRvZs6dSrCw8Nx9uxZqFQq3L9/HwcOHEBRURHc3d3RoEEDrF+/Ho8ePcLevXsRHx9f45/TvXt3WFtbY968ebh//z4ePnyIX375BQBgZWWFW7duoaysDACgo6ODqVOnIiQkBDk5OQAApVKJI0eOAADGjBmDrVu3IikpCSUlJVi6dOkz/32KiopgaGgIY2NjKJVKfPrppxrP+fe//41bt24hPz8fy5cvx9ixY+v8WhARERHVhYUdIiIiqnddu3bFl19+iaCgIJiYmKBVq1bYunUrAEBPTw979+7F1q1bYWpqit27d2PkyJE1/jm6urqIjo5GcnIy7O3t0aJFC+zevRsA4OHhgXbt2qF58+YwNzcHAHzyySdo1aoVevbsCSMjI7z++uu4evUqAMDT0xPBwcHw8PBAq1at4OHh8cx/n8WLF+P8+fMwNjbGsGHDaszr5+eHwYMHo2XLlnB2dsaCBQvq/FoQERER1UWhenKdMBERERERERERaQWu2CEiIiIiIiIi0lIs7BARERERERERaSkWdoiIiIiIiIiItBQLO0REREREREREWoqFHSIiIiIiIiIiLcXCDhERERERERGRlmJhh4iIiIiIiIhIS7GwQ0RERERERESkpVjYISIiIiIiIiLSUv8fSrcsQ9Pr9mIAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "if __name__ == \"__main__\":\n", - " from great_ai import query_ground_truth\n", - " from sklearn import metrics\n", - "\n", - " data = query_ground_truth(\"test\")\n", - "\n", - " X = [d.input for d in data]\n", - " y_actual = [d.feedback for d in data]\n", - "\n", - " y_predicted = [d.output.labels[0].label for d in predict_domain.process_batch(X)]\n", - " y_actual_aligned = [p if p in a else a[0] for p, a in zip(y_predicted, y_actual)]\n", - "\n", - " import matplotlib.pyplot as plt\n", - "\n", - " # Configure matplotlib to have nice, high-resolution charts\n", - "\n", - " %matplotlib inline\n", - "\n", - " plt.rcParams[\"figure.figsize\"] = (30, 15)\n", - " plt.rcParams[\"figure.facecolor\"] = \"white\"\n", - " plt.rcParams[\"font.size\"] = 12\n", - " plt.rcParams[\"axes.xmargin\"] = 0\n", - "\n", - " print(metrics.classification_report(y_actual_aligned, y_predicted))\n", - " metrics.ConfusionMatrixDisplay.from_predictions(\n", - " y_true=y_actual_aligned,\n", - " y_pred=y_predicted,\n", - " xticks_rotation=\"vertical\",\n", - " normalize=\"pred\",\n", - " values_format=\".2f\",\n", - " )" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3.10.4 ('.env': venv)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.4" - }, - "orig_nbformat": 4, - "vscode": { - "interpreter": { - "hash": "02dd6d3afbfa9fbbe1037d64ad9014965528a1ccad21929d6e72f466389a68ad" - } - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/simple/diagrams/scope-data.svg b/examples/simple/diagrams/scope-data.svg deleted file mode 100644 index 8e232ec..0000000 --- a/examples/simple/diagrams/scope-data.svg +++ /dev/null @@ -1 +0,0 @@ -
Preprocessed data
Preprocessed data
Data acquisition
(Data Engineering)
Data acquisition...
Exploration &
 model building

(Data Science)
Exploration &...
Trained models  & prototype inference code
Trained models  & protot...
Deploy with standard
 organisational methods

 (SysAdmin, Ops, DevOps)
Deploy with standard...
Use an AI deployment
SaaS/PaaS

(MLEM, Akkio, etc.) 
Use an AI deployment...
Transforming into
 production-ready service

(MLOps)
Transforming into...
Artifact combining the model with deplyoment best-practices
Artifact combining the mod...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/examples/simple/diagrams/scope-deploy.svg b/examples/simple/diagrams/scope-deploy.svg deleted file mode 100644 index b58ddf0..0000000 --- a/examples/simple/diagrams/scope-deploy.svg +++ /dev/null @@ -1 +0,0 @@ -
Preprocessed data
Preprocessed data
Data acquisition
(Data Engineering)
Data acquisition...
Exploration &
 model building

(Data Science)
Exploration &...
Trained models  & prototype inference code
Trained models  & protot...
Deploy with standard
 organisational methods

 (SysAdmin, Ops, DevOps)
Deploy with standard...
Use an AI deployment
SaaS/PaaS

(MLEM, Akkio, etc.) 
Use an AI deployment...
Transforming into
 production-ready service

(MLOps)
Transforming into...
Artifact combining the model with deplyoment best-practices
Artifact combining the mod...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/examples/simple/diagrams/scope-train.svg b/examples/simple/diagrams/scope-train.svg deleted file mode 100644 index 6210bdf..0000000 --- a/examples/simple/diagrams/scope-train.svg +++ /dev/null @@ -1 +0,0 @@ -
Preprocessed data
Preprocessed data
Data acquisition
(Data Engineering)
Data acquisition...
Exploration &
 model building

(Data Science)
Exploration &...
Trained models  & prototype inference code
Trained models  & protot...
Deploy with standard
 organisational methods

 (SysAdmin, Ops, DevOps)
Deploy with standard...
Use an AI deployment
SaaS/PaaS

(MLEM, Akkio, etc.) 
Use an AI deployment...
Transforming into
 production-ready service

(MLOps)
Transforming into...
Artifact combining the model with deplyoment best-practices
Artifact combining the mod...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/examples/simple/diagrams/scope.svg b/examples/simple/diagrams/scope.svg deleted file mode 100644 index b979c7e..0000000 --- a/examples/simple/diagrams/scope.svg +++ /dev/null @@ -1 +0,0 @@ -
Preprocessed data
Preprocessed data
Data acquisition
(Data Engineering)
Data acquisition...
Exploration &
 model building

(Data Science)
Exploration &...
Trained models  & prototype inference code
Trained models  & protot...
Deploy with standard
 organisational methods

 (SysAdmin, Ops, DevOps)
Deploy with standard...
Use an AI deployment
SaaS/PaaS

(MLEM, Akkio, etc.) 
Use an AI deployment...
Transforming into
 production-ready service

(MLOps)
Transforming into...
Artifact combining the model with deplyoment best-practices
Artifact combining the mod...
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/examples/simple/mongo.ini b/examples/simple/mongo.ini deleted file mode 100644 index 8151869..0000000 --- a/examples/simple/mongo.ini +++ /dev/null @@ -1,2 +0,0 @@ -mongo_connection_string=mongodb://localhost:27017/ # change this -mongo_database=great_ai_db2 # this will be automatically created diff --git a/examples/simple/train.ipynb b/examples/simple/train.ipynb deleted file mode 100644 index 4f951f7..0000000 --- a/examples/simple/train.ipynb +++ /dev/null @@ -1,1810 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Train a domain classifier on the [semantic scholar dataset](https://api.semanticscholar.org/corpus)\n", - "\n", - "> Part 2: train a model\n", - "\n", - "![position of this step in the lifecycle](diagrams/scope-train.svg)\n", - "> The blue boxes show the steps implemented in this notebook.\n", - "\n", - "In [Part 1](data.ipynb), we have cleaned and transformed our training data. We can now access this data using `great_ai.LargeFile`. Locally, it will gives us the cached version, otherwise, the latest version is downloaded from S3. \n", - "\n", - "In this part, we hyperparameter-optimise and train a simple, Naive Bayes classifier which we then export for deployment using `great_ai.save_model`." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Load data that has been extracted in [part 1](data.ipynb)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[38;5;226m2022-06-25 11:25:08,430 | WARNING | Environment variable ENVIRONMENT is not set, defaulting to development mode ‼️\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:08,431 | INFO | Found credentials file (/data/projects/great-ai/examples/simple/mongo.ini), initialising MongodbDriver\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:08,432 | INFO | Found credentials file (/data/projects/great-ai/examples/simple/mongo.ini), initialising LargeFileMongo\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:08,432 | INFO | Settings: configured ✅\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:08,433 | INFO | 🔩 tracing_database: MongodbDriver\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:08,433 | INFO | 🔩 large_file_implementation: LargeFileMongo\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:08,434 | INFO | 🔩 is_production: False\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:08,434 | INFO | 🔩 should_log_exception_stack: True\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:08,434 | INFO | 🔩 prediction_cache_size: 512\u001b[0m\n", - "\u001b[38;5;226m2022-06-25 11:25:08,435 | WARNING | You still need to check whether you follow all best practices before trusting your deployment.\u001b[0m\n", - "\u001b[38;5;226m2022-06-25 11:25:08,435 | WARNING | > Find out more at https://se-ml.github.io/practices/\u001b[0m\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'filter': {'$and': [{'tags': 'train'}, {'feedback': {'$ne': None}}]}, 'sort': []}\n" - ] - } - ], - "source": [ - "from great_ai import query_ground_truth\n", - "\n", - "data = query_ground_truth(\"train\")\n", - "X = [d.input for d in data for domain in d.feedback]\n", - "y = [domain for d in data for domain in d.feedback]" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "alignmentgroup": "True", - "hovertemplate": "domain=%{x}
count=%{y}", - "legendgroup": "", - "marker": { - "color": "#636efa", - "pattern": { - "shape": "" - } - }, - "name": "", - "offsetgroup": "", - "orientation": "v", - "showlegend": false, - "textposition": "auto", - "type": "bar", - "x": [ - "Medicine", - "Computer Science", - "Biology", - "Chemistry", - "Materials Science", - "Engineering", - "Physics", - "Psychology", - "Mathematics", - "Political Science", - "Business", - "Sociology", - "Economics", - "Geography", - "Geology", - "Environmental Science", - "History", - "Art", - "Philosophy" - ], - "xaxis": "x", - "y": [ - 4409, - 1422, - 1369, - 1352, - 1026, - 887, - 638, - 619, - 582, - 340, - 333, - 303, - 256, - 254, - 229, - 217, - 113, - 112, - 65 - ], - "yaxis": "y" - } - ], - "layout": { - "barmode": "relative", - "height": 400, - "legend": { - "tracegroupgap": 0 - }, - "margin": { - "t": 60 - }, - "template": { - "data": { - "bar": [ - { - "error_x": { - "color": "#2a3f5f" - }, - "error_y": { - "color": "#2a3f5f" - }, - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "bar" - } - ], - "barpolar": [ - { - "marker": { - "line": { - "color": "#E5ECF6", - "width": 0.5 - }, - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "barpolar" - } - ], - "carpet": [ - { - "aaxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "baxis": { - "endlinecolor": "#2a3f5f", - "gridcolor": "white", - "linecolor": "white", - "minorgridcolor": "white", - "startlinecolor": "#2a3f5f" - }, - "type": "carpet" - } - ], - "choropleth": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "choropleth" - } - ], - "contour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "contour" - } - ], - "contourcarpet": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "contourcarpet" - } - ], - "heatmap": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmap" - } - ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], - "histogram": [ - { - "marker": { - "pattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - } - }, - "type": "histogram" - } - ], - "histogram2d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2d" - } - ], - "histogram2dcontour": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "histogram2dcontour" - } - ], - "mesh3d": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "type": "mesh3d" - } - ], - "parcoords": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "parcoords" - } - ], - "pie": [ - { - "automargin": true, - "type": "pie" - } - ], - "scatter": [ - { - "fillpattern": { - "fillmode": "overlay", - "size": 10, - "solidity": 0.2 - }, - "type": "scatter" - } - ], - "scatter3d": [ - { - "line": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatter3d" - } - ], - "scattercarpet": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattercarpet" - } - ], - "scattergeo": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergeo" - } - ], - "scattergl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattergl" - } - ], - "scattermapbox": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scattermapbox" - } - ], - "scatterpolar": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolar" - } - ], - "scatterpolargl": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterpolargl" - } - ], - "scatterternary": [ - { - "marker": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "type": "scatterternary" - } - ], - "surface": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "type": "surface" - } - ], - "table": [ - { - "cells": { - "fill": { - "color": "#EBF0F8" - }, - "line": { - "color": "white" - } - }, - "header": { - "fill": { - "color": "#C8D4E3" - }, - "line": { - "color": "white" - } - }, - "type": "table" - } - ] - }, - "layout": { - "annotationdefaults": { - "arrowcolor": "#2a3f5f", - "arrowhead": 0, - "arrowwidth": 1 - }, - "autotypenumbers": "strict", - "coloraxis": { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - } - }, - "colorscale": { - "diverging": [ - [ - 0, - "#8e0152" - ], - [ - 0.1, - "#c51b7d" - ], - [ - 0.2, - "#de77ae" - ], - [ - 0.3, - "#f1b6da" - ], - [ - 0.4, - "#fde0ef" - ], - [ - 0.5, - "#f7f7f7" - ], - [ - 0.6, - "#e6f5d0" - ], - [ - 0.7, - "#b8e186" - ], - [ - 0.8, - "#7fbc41" - ], - [ - 0.9, - "#4d9221" - ], - [ - 1, - "#276419" - ] - ], - "sequential": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ], - "sequentialminus": [ - [ - 0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1, - "#f0f921" - ] - ] - }, - "colorway": [ - "#636efa", - "#EF553B", - "#00cc96", - "#ab63fa", - "#FFA15A", - "#19d3f3", - "#FF6692", - "#B6E880", - "#FF97FF", - "#FECB52" - ], - "font": { - "color": "#2a3f5f" - }, - "geo": { - "bgcolor": "white", - "lakecolor": "white", - "landcolor": "#E5ECF6", - "showlakes": true, - "showland": true, - "subunitcolor": "white" - }, - "hoverlabel": { - "align": "left" - }, - "hovermode": "closest", - "mapbox": { - "style": "light" - }, - "paper_bgcolor": "white", - "plot_bgcolor": "#E5ECF6", - "polar": { - "angularaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "radialaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "scene": { - "xaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "yaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - }, - "zaxis": { - "backgroundcolor": "#E5ECF6", - "gridcolor": "white", - "gridwidth": 2, - "linecolor": "white", - "showbackground": true, - "ticks": "", - "zerolinecolor": "white" - } - }, - "shapedefaults": { - "line": { - "color": "#2a3f5f" - } - }, - "ternary": { - "aaxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "baxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - }, - "bgcolor": "#E5ECF6", - "caxis": { - "gridcolor": "white", - "linecolor": "white", - "ticks": "" - } - }, - "title": { - "x": 0.05 - }, - "xaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - }, - "yaxis": { - "automargin": true, - "gridcolor": "white", - "linecolor": "white", - "ticks": "", - "title": { - "standoff": 15 - }, - "zerolinecolor": "white", - "zerolinewidth": 2 - } - } - }, - "width": 1200, - "xaxis": { - "anchor": "y", - "domain": [ - 0, - 1 - ], - "title": { - "text": "domain" - } - }, - "yaxis": { - "anchor": "x", - "domain": [ - 0, - 1 - ], - "title": { - "text": "count" - } - } - } - } - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "from collections import Counter\n", - "import plotly.express as px\n", - "\n", - "df = pd.DataFrame(Counter(y).most_common(), columns=[\"domain\", \"count\"])\n", - "px.bar(df, \"domain\", \"count\", width=1200, height=400).show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Optimise and train Multinomial Naive Bayes classifier" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from sklearn.naive_bayes import MultinomialNB\n", - "from sklearn.pipeline import Pipeline\n", - "from sklearn.feature_extraction.text import TfidfVectorizer\n", - "\n", - "\n", - "def create_pipeline() -> Pipeline:\n", - " return Pipeline(\n", - " steps=[\n", - " (\"vectorizer\", TfidfVectorizer(sublinear_tf=True)),\n", - " (\"classifier\", MultinomialNB()),\n", - " ]\n", - " )" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Fitting 3 folds for each of 24 candidates, totalling 72 fits\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
mean_fit_timestd_fit_timemean_score_timestd_score_timeparam_classifier__alphaparam_classifier__fit_priorparam_vectorizer__max_dfparam_vectorizer__min_dfparamssplit0_test_scoresplit1_test_scoresplit2_test_scoremean_test_scorestd_test_scorerank_test_score
71.9865880.0508961.0902510.1355080.5False0.0520{'classifier__alpha': 0.5, 'classifier__fit_pr...0.4591650.4730240.4754620.4692170.0071771
102.0703330.0383960.9763150.0337420.5False0.120{'classifier__alpha': 0.5, 'classifier__fit_pr...0.4575240.4635750.4580070.4597020.0027452
192.0491660.1931131.0645760.0870341False0.0520{'classifier__alpha': 1, 'classifier__fit_prio...0.4416570.4529330.4512860.4486250.0049733
62.2881450.1313381.1334450.0995830.5False0.055{'classifier__alpha': 0.5, 'classifier__fit_pr...0.4369760.4496930.4379110.4415270.0057874
221.8722340.0729970.7480700.0858821False0.120{'classifier__alpha': 1, 'classifier__fit_prio...0.4323220.4388050.4282090.4331120.0043625
112.0676910.1269230.9109470.0787480.5False0.1100{'classifier__alpha': 0.5, 'classifier__fit_pr...0.4264360.4291820.4374100.4310090.0046626
231.8473300.1475040.4953540.0185891False0.1100{'classifier__alpha': 1, 'classifier__fit_prio...0.4221300.4308750.4308290.4279450.0041127
92.0714890.2560861.0559360.0371980.5False0.15{'classifier__alpha': 0.5, 'classifier__fit_pr...0.4167460.4259380.4173810.4200220.0041928
201.7765460.0646770.8884850.0933021False0.05100{'classifier__alpha': 1, 'classifier__fit_prio...0.4134410.4171220.4271960.4192530.0058149
82.0159920.0625830.9744340.0825820.5False0.05100{'classifier__alpha': 0.5, 'classifier__fit_pr...0.4125220.4104090.4250470.4159930.00646010
182.0320500.1043130.9692100.0709971False0.055{'classifier__alpha': 1, 'classifier__fit_prio...0.3923930.3961430.3864390.3916590.00399611
12.3076110.1429021.1021780.0787550.5True0.0520{'classifier__alpha': 0.5, 'classifier__fit_pr...0.3858340.3922250.3665490.3815360.01091412
41.8769580.0506481.0319750.0293410.5True0.120{'classifier__alpha': 0.5, 'classifier__fit_pr...0.3773090.3842240.3666320.3760550.00723613
211.8974790.0949030.7405160.1438211False0.15{'classifier__alpha': 1, 'classifier__fit_prio...0.3605510.3663110.3504390.3591010.00656114
51.8249820.0381130.9608140.0413300.5True0.1100{'classifier__alpha': 0.5, 'classifier__fit_pr...0.3478310.3507080.3499630.3495010.00121915
22.1514460.1204400.8876200.0379000.5True0.05100{'classifier__alpha': 0.5, 'classifier__fit_pr...0.3350930.3400200.3415020.3388720.00273916
172.0049610.1966400.9534820.1139141True0.1100{'classifier__alpha': 1, 'classifier__fit_prio...0.3000930.3060200.3050470.3037200.00259517
131.8907090.0562341.0062190.0426281True0.0520{'classifier__alpha': 1, 'classifier__fit_prio...0.2971190.3020610.2989750.2993850.00203818
142.0224320.2017450.9318370.0474671True0.05100{'classifier__alpha': 1, 'classifier__fit_prio...0.3007460.2914920.2974560.2965650.00383019
02.0815720.1238751.0586920.0340840.5True0.055{'classifier__alpha': 0.5, 'classifier__fit_pr...0.2966670.2947150.2921440.2945090.00185220
161.9617000.1089770.9648160.0897351True0.120{'classifier__alpha': 1, 'classifier__fit_prio...0.2783890.2871340.2863200.2839480.00394521
32.2727790.1558970.9825280.0457440.5True0.15{'classifier__alpha': 0.5, 'classifier__fit_pr...0.2758330.2726930.2784270.2756510.00234422
121.9798260.1065240.9388290.0509751True0.055{'classifier__alpha': 1, 'classifier__fit_prio...0.1813090.1867070.1934060.1871410.00494823
151.9528170.1079000.9388510.0482951True0.15{'classifier__alpha': 1, 'classifier__fit_prio...0.1604020.1720250.1714550.1679600.00535024
\n", - "
" - ], - "text/plain": [ - " mean_fit_time std_fit_time mean_score_time std_score_time \\\n", - "7 1.986588 0.050896 1.090251 0.135508 \n", - "10 2.070333 0.038396 0.976315 0.033742 \n", - "19 2.049166 0.193113 1.064576 0.087034 \n", - "6 2.288145 0.131338 1.133445 0.099583 \n", - "22 1.872234 0.072997 0.748070 0.085882 \n", - "11 2.067691 0.126923 0.910947 0.078748 \n", - "23 1.847330 0.147504 0.495354 0.018589 \n", - "9 2.071489 0.256086 1.055936 0.037198 \n", - "20 1.776546 0.064677 0.888485 0.093302 \n", - "8 2.015992 0.062583 0.974434 0.082582 \n", - "18 2.032050 0.104313 0.969210 0.070997 \n", - "1 2.307611 0.142902 1.102178 0.078755 \n", - "4 1.876958 0.050648 1.031975 0.029341 \n", - "21 1.897479 0.094903 0.740516 0.143821 \n", - "5 1.824982 0.038113 0.960814 0.041330 \n", - "2 2.151446 0.120440 0.887620 0.037900 \n", - "17 2.004961 0.196640 0.953482 0.113914 \n", - "13 1.890709 0.056234 1.006219 0.042628 \n", - "14 2.022432 0.201745 0.931837 0.047467 \n", - "0 2.081572 0.123875 1.058692 0.034084 \n", - "16 1.961700 0.108977 0.964816 0.089735 \n", - "3 2.272779 0.155897 0.982528 0.045744 \n", - "12 1.979826 0.106524 0.938829 0.050975 \n", - "15 1.952817 0.107900 0.938851 0.048295 \n", - "\n", - " param_classifier__alpha param_classifier__fit_prior \\\n", - "7 0.5 False \n", - "10 0.5 False \n", - "19 1 False \n", - "6 0.5 False \n", - "22 1 False \n", - "11 0.5 False \n", - "23 1 False \n", - "9 0.5 False \n", - "20 1 False \n", - "8 0.5 False \n", - "18 1 False \n", - "1 0.5 True \n", - "4 0.5 True \n", - "21 1 False \n", - "5 0.5 True \n", - "2 0.5 True \n", - "17 1 True \n", - "13 1 True \n", - "14 1 True \n", - "0 0.5 True \n", - "16 1 True \n", - "3 0.5 True \n", - "12 1 True \n", - "15 1 True \n", - "\n", - " param_vectorizer__max_df param_vectorizer__min_df \\\n", - "7 0.05 20 \n", - "10 0.1 20 \n", - "19 0.05 20 \n", - "6 0.05 5 \n", - "22 0.1 20 \n", - "11 0.1 100 \n", - "23 0.1 100 \n", - "9 0.1 5 \n", - "20 0.05 100 \n", - "8 0.05 100 \n", - "18 0.05 5 \n", - "1 0.05 20 \n", - "4 0.1 20 \n", - "21 0.1 5 \n", - "5 0.1 100 \n", - "2 0.05 100 \n", - "17 0.1 100 \n", - "13 0.05 20 \n", - "14 0.05 100 \n", - "0 0.05 5 \n", - "16 0.1 20 \n", - "3 0.1 5 \n", - "12 0.05 5 \n", - "15 0.1 5 \n", - "\n", - " params split0_test_score \\\n", - "7 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.459165 \n", - "10 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.457524 \n", - "19 {'classifier__alpha': 1, 'classifier__fit_prio... 0.441657 \n", - "6 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.436976 \n", - "22 {'classifier__alpha': 1, 'classifier__fit_prio... 0.432322 \n", - "11 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.426436 \n", - "23 {'classifier__alpha': 1, 'classifier__fit_prio... 0.422130 \n", - "9 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.416746 \n", - "20 {'classifier__alpha': 1, 'classifier__fit_prio... 0.413441 \n", - "8 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.412522 \n", - "18 {'classifier__alpha': 1, 'classifier__fit_prio... 0.392393 \n", - "1 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.385834 \n", - "4 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.377309 \n", - "21 {'classifier__alpha': 1, 'classifier__fit_prio... 0.360551 \n", - "5 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.347831 \n", - "2 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.335093 \n", - "17 {'classifier__alpha': 1, 'classifier__fit_prio... 0.300093 \n", - "13 {'classifier__alpha': 1, 'classifier__fit_prio... 0.297119 \n", - "14 {'classifier__alpha': 1, 'classifier__fit_prio... 0.300746 \n", - "0 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.296667 \n", - "16 {'classifier__alpha': 1, 'classifier__fit_prio... 0.278389 \n", - "3 {'classifier__alpha': 0.5, 'classifier__fit_pr... 0.275833 \n", - "12 {'classifier__alpha': 1, 'classifier__fit_prio... 0.181309 \n", - "15 {'classifier__alpha': 1, 'classifier__fit_prio... 0.160402 \n", - "\n", - " split1_test_score split2_test_score mean_test_score std_test_score \\\n", - "7 0.473024 0.475462 0.469217 0.007177 \n", - "10 0.463575 0.458007 0.459702 0.002745 \n", - "19 0.452933 0.451286 0.448625 0.004973 \n", - "6 0.449693 0.437911 0.441527 0.005787 \n", - "22 0.438805 0.428209 0.433112 0.004362 \n", - "11 0.429182 0.437410 0.431009 0.004662 \n", - "23 0.430875 0.430829 0.427945 0.004112 \n", - "9 0.425938 0.417381 0.420022 0.004192 \n", - "20 0.417122 0.427196 0.419253 0.005814 \n", - "8 0.410409 0.425047 0.415993 0.006460 \n", - "18 0.396143 0.386439 0.391659 0.003996 \n", - "1 0.392225 0.366549 0.381536 0.010914 \n", - "4 0.384224 0.366632 0.376055 0.007236 \n", - "21 0.366311 0.350439 0.359101 0.006561 \n", - "5 0.350708 0.349963 0.349501 0.001219 \n", - "2 0.340020 0.341502 0.338872 0.002739 \n", - "17 0.306020 0.305047 0.303720 0.002595 \n", - "13 0.302061 0.298975 0.299385 0.002038 \n", - "14 0.291492 0.297456 0.296565 0.003830 \n", - "0 0.294715 0.292144 0.294509 0.001852 \n", - "16 0.287134 0.286320 0.283948 0.003945 \n", - "3 0.272693 0.278427 0.275651 0.002344 \n", - "12 0.186707 0.193406 0.187141 0.004948 \n", - "15 0.172025 0.171455 0.167960 0.005350 \n", - "\n", - " rank_test_score \n", - "7 1 \n", - "10 2 \n", - "19 3 \n", - "6 4 \n", - "22 5 \n", - "11 6 \n", - "23 7 \n", - "9 8 \n", - "20 9 \n", - "8 10 \n", - "18 11 \n", - "1 12 \n", - "4 13 \n", - "21 14 \n", - "5 15 \n", - "2 16 \n", - "17 17 \n", - "13 18 \n", - "14 19 \n", - "0 20 \n", - "16 21 \n", - "3 22 \n", - "12 23 \n", - "15 24 " - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn.model_selection import GridSearchCV\n", - "\n", - "optimisation_pipeline = GridSearchCV(\n", - " create_pipeline(),\n", - " {\n", - " \"vectorizer__min_df\": [5, 20, 100],\n", - " \"vectorizer__max_df\": [0.05, 0.1],\n", - " \"classifier__alpha\": [0.5, 1],\n", - " \"classifier__fit_prior\": [True, False],\n", - " },\n", - " scoring=\"f1_macro\",\n", - " cv=3,\n", - " n_jobs=-1,\n", - " verbose=1,\n", - ")\n", - "optimisation_pipeline.fit(X, y)\n", - "\n", - "results = pd.DataFrame(optimisation_pipeline.cv_results_)\n", - "results.sort_values(\"rank_test_score\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
Pipeline(steps=[('vectorizer',\n",
-       "                 TfidfVectorizer(max_df=0.05, min_df=20, sublinear_tf=True)),\n",
-       "                ('classifier', MultinomialNB(alpha=0.5, fit_prior=False))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" - ], - "text/plain": [ - "Pipeline(steps=[('vectorizer',\n", - " TfidfVectorizer(max_df=0.05, min_df=20, sublinear_tf=True)),\n", - " ('classifier', MultinomialNB(alpha=0.5, fit_prior=False))])" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from sklearn import set_config\n", - "\n", - "set_config(display=\"diagram\")\n", - "\n", - "classifier = create_pipeline()\n", - "classifier.set_params(**optimisation_pipeline.best_params_)\n", - "classifier.fit(X, y)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Export the model using GreatAI" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[38;5;39m2022-06-25 11:25:32,714 | INFO | Copying file for small-domain-prediction-0\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:32,737 | INFO | Compressing small-domain-prediction-0\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:33,050 | INFO | Uploading /tmp/tmpgerx8x95/small-domain-prediction-0.tar.gz to Mongo (GridFS)\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:33,107 | INFO | Uploading small-domain-prediction-0.tar.gz 0.26/1.85 MB (14.2%)\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:33,109 | INFO | Uploading small-domain-prediction-0.tar.gz 0.52/1.85 MB (28.3%)\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:33,112 | INFO | Uploading small-domain-prediction-0.tar.gz 0.78/1.85 MB (42.5%)\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:33,114 | INFO | Uploading small-domain-prediction-0.tar.gz 1.04/1.85 MB (56.6%)\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:33,116 | INFO | Uploading small-domain-prediction-0.tar.gz 1.31/1.85 MB (70.8%)\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:33,117 | INFO | Uploading small-domain-prediction-0.tar.gz 1.57/1.85 MB (84.9%)\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:33,120 | INFO | Uploading small-domain-prediction-0.tar.gz 1.83/1.85 MB (99.1%)\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:33,120 | INFO | Uploading small-domain-prediction-0.tar.gz 1.85/1.85 MB (100.0%)\u001b[0m\n", - "\u001b[38;5;39m2022-06-25 11:25:33,124 | INFO | Model small-domain-prediction uploaded with version 0\u001b[0m\n" - ] - }, - { - "data": { - "text/plain": [ - "'small-domain-prediction:0'" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from great_ai import save_model\n", - "\n", - "\n", - "save_model(classifier, key=\"small-domain-prediction\", keep_last_n=5)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3.10.4 ('.env': venv)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.4" - }, - "orig_nbformat": 4, - "vscode": { - "interpreter": { - "hash": "02dd6d3afbfa9fbbe1037d64ad9014965528a1ccad21929d6e72f466389a68ad" - } - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/great_ai/.gitignore b/great_ai/.gitignore deleted file mode 100644 index 378eac2..0000000 --- a/great_ai/.gitignore +++ /dev/null @@ -1 +0,0 @@ -build diff --git a/great_ai/README.md b/great_ai/README.md deleted file mode 100644 index 20de423..0000000 --- a/great_ai/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# **S**coutinScience **U**tilitie**S** for text processing [![Lint and test ScoutinScience utilities](https://github.com/ScoutinScience/platform/actions/workflows/sus-general.yaml/badge.svg)](https://github.com/ScoutinScience/platform/actions/workflows/sus-general.yaml) - -> amogus - -## Exports - -- [clean](src/sus/clean.py) -- [unique](src/sus/unique.py) -- [parallel_map](src/sus/parallel_map.py) -- [match_names](src/sus/match_names/match_names.py) -- [evaluate_ranking](src/sus/evaluate_ranking/evaluate_ranking.py) -- [get_sentences](src/sus/get_sentences.py) - -### Requires loading spacy model - -> This is automatic but will require some time. - -> Add this to the Dockerfile for caching the spaCy model: -> -> ```docker -> RUN pip install --no-cache-dir en-core-web-sm@https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.3.0/en_core_web_sm-3.3.0-py3-none-any.whl -> ``` - -- [publication TEI](src/sus/publication_tei/publication_tei.py) -- [lemmatize_text](src/sus/lemmatize_text.py) -- [lemmatize_token](src/sus/lemmatize_token.py) -- [spacy model (nlp)](src/sus/nlp.py) -- [filter_sentences](src/sus/matcher/filter_sentences.py) - -## Development - -- Optional booleans must have a default value of `False`. -- No imports in top-level `__init__.py`, in order to not load anything unnecessary automatically -- Should only be updated through a PR diff --git a/great_ai/src/great_ai/utilities/config_file/pattern.py b/great_ai/src/great_ai/utilities/config_file/pattern.py deleted file mode 100644 index f31f09d..0000000 --- a/great_ai/src/great_ai/utilities/config_file/pattern.py +++ /dev/null @@ -1,18 +0,0 @@ -import re - -pattern = re.compile( - r""" - \s* # leading whitespace is allowed - (\w+?) # then comes the key - \s*=\s* # the key and value are separated by an equal sign - (?: # then comes the value - "([^"]*)" # the value can be surrounded by quotes: "value" - | '([^']*)' # the value can be surrounded by quotes: 'value' - | `([^`]*)` # the value can be surrounded by quotes: `value` - | ([^#\n]*?) # or it is bare, in that case, the trailing whitespace is ignored - ) - \s*(?:\#.*)? # comments can be added with the `#` symbol - (?:\n|$) # a key-value pairs are separated by new lines -""", - flags=re.UNICODE | re.VERBOSE, -) diff --git a/great_ai/pyproject.toml b/pyproject.toml similarity index 100% rename from great_ai/pyproject.toml rename to pyproject.toml diff --git a/great_ai/requirements.txt b/requirements.txt similarity index 100% rename from great_ai/requirements.txt rename to requirements.txt diff --git a/great_ai/setup.cfg b/setup.cfg similarity index 89% rename from great_ai/setup.cfg rename to setup.cfg index f733e59..61faabb 100644 --- a/great_ai/setup.cfg +++ b/setup.cfg @@ -1,14 +1,14 @@ [metadata] -name = great-ai +name = great_ai version = 0.0.1 author = András Schmelczer author_email = andras@scoutinscience.com description = long_description = file: README.md long_description_content_type = text/markdown -url = https://github.com/ScoutinScience/great-ai +url = https://github.com/ScoutinScience/great_ai project_urls = - Bug Tracker = https://github.com/ScoutinScience/great-ai/issues + Bug Tracker = https://github.com/ScoutinScience/great_ai/issues classifiers = Programming Language :: Python :: 3 Operating System :: OS Independent diff --git a/great_ai/src/__init__.py b/src/__init__.py similarity index 100% rename from great_ai/src/__init__.py rename to src/__init__.py diff --git a/great_ai/src/great_ai/__init__.py b/src/great_ai/__init__.py similarity index 100% rename from great_ai/src/great_ai/__init__.py rename to src/great_ai/__init__.py diff --git a/great_ai/src/great_ai/__main__.py b/src/great_ai/__main__.py similarity index 100% rename from great_ai/src/great_ai/__main__.py rename to src/great_ai/__main__.py diff --git a/great_ai/src/great_ai/great_ai/__init__.py b/src/great_ai/great_ai/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/__init__.py rename to src/great_ai/great_ai/__init__.py diff --git a/great_ai/src/great_ai/great_ai/constants.py b/src/great_ai/great_ai/constants.py similarity index 93% rename from great_ai/src/great_ai/great_ai/constants.py rename to src/great_ai/great_ai/constants.py index a60bb55..a912be8 100644 --- a/great_ai/src/great_ai/great_ai/constants.py +++ b/src/great_ai/great_ai/constants.py @@ -15,7 +15,7 @@ DEFAULT_LARGE_FILE_CONFIG_PATHS = { LargeFileMongo: MONGO_CONFIG_PATHS, } -GITHUB_LINK = "https://github.com/ScoutinScience/great-ai" +GITHUB_LINK = "https://github.com/ScoutinScience/great_ai" TRAIN_SPLIT_TAG_NAME = "train" TEST_SPLIT_TAG_NAME = "test" diff --git a/great_ai/src/great_ai/great_ai/context.py b/src/great_ai/great_ai/context.py similarity index 98% rename from great_ai/src/great_ai/great_ai/context.py rename to src/great_ai/great_ai/context.py index d27b0d3..7e8f2e2 100644 --- a/great_ai/src/great_ai/great_ai/context.py +++ b/src/great_ai/great_ai/context.py @@ -6,9 +6,8 @@ from typing import Any, Dict, Optional, Type, cast from pydantic import BaseModel -from great_ai.large_file import LargeFile, LargeFileLocal -from great_ai.utilities import get_logger - +from ..large_file import LargeFile, LargeFileLocal +from ..utilities import get_logger from .constants import ( DEFAULT_LARGE_FILE_CONFIG_PATHS, DEFAULT_TRACING_DATABASE_CONFIG_PATHS, diff --git a/great_ai/src/great_ai/great_ai/deploy/__init__.py b/src/great_ai/great_ai/deploy/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/__init__.py rename to src/great_ai/great_ai/deploy/__init__.py diff --git a/great_ai/src/great_ai/great_ai/deploy/great_ai.py b/src/great_ai/great_ai/deploy/great_ai.py similarity index 96% rename from great_ai/src/great_ai/great_ai/deploy/great_ai.py rename to src/great_ai/great_ai/deploy/great_ai.py index 295b434..4173047 100644 --- a/great_ai/src/great_ai/great_ai/deploy/great_ai.py +++ b/src/great_ai/great_ai/deploy/great_ai.py @@ -16,10 +16,7 @@ from typing import ( from fastapi import APIRouter, FastAPI, status from pydantic import BaseModel, create_model -from great_ai.great_ai.deploy.routes.bootstrap_dashboard import bootstrap_dashboard -from great_ai.great_ai.views.cache_statistics import CacheStatistics -from great_ai.utilities import parallel_map - +from ...utilities import parallel_map from ..constants import DASHBOARD_PATH from ..context import get_context from ..helper import ( @@ -30,12 +27,13 @@ from ..helper import ( ) from ..parameters import automatically_decorate_parameters from ..tracing.tracing_context import TracingContext -from ..views import ApiMetadata, HealthCheckResponse, Trace +from ..views import ApiMetadata, CacheStatistics, HealthCheckResponse, Trace from .routes import ( bootstrap_docs_endpoints, bootstrap_feedback_endpoints, bootstrap_trace_endpoints, ) +from .routes.bootstrap_dashboard import bootstrap_dashboard T = TypeVar("T") diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/__init__.py b/src/great_ai/great_ai/deploy/routes/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/__init__.py rename to src/great_ai/great_ai/deploy/routes/__init__.py diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/bootstrap_dashboard.py b/src/great_ai/great_ai/deploy/routes/bootstrap_dashboard.py similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/bootstrap_dashboard.py rename to src/great_ai/great_ai/deploy/routes/bootstrap_dashboard.py diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/bootstrap_docs_endpoints.py b/src/great_ai/great_ai/deploy/routes/bootstrap_docs_endpoints.py similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/bootstrap_docs_endpoints.py rename to src/great_ai/great_ai/deploy/routes/bootstrap_docs_endpoints.py diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/bootstrap_feedback_endpoints.py b/src/great_ai/great_ai/deploy/routes/bootstrap_feedback_endpoints.py similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/bootstrap_feedback_endpoints.py rename to src/great_ai/great_ai/deploy/routes/bootstrap_feedback_endpoints.py diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/bootstrap_trace_endpoints.py b/src/great_ai/great_ai/deploy/routes/bootstrap_trace_endpoints.py similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/bootstrap_trace_endpoints.py rename to src/great_ai/great_ai/deploy/routes/bootstrap_trace_endpoints.py diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/dashboard/__init__.py b/src/great_ai/great_ai/deploy/routes/dashboard/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/dashboard/__init__.py rename to src/great_ai/great_ai/deploy/routes/dashboard/__init__.py diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/dashboard/assets/github.png b/src/great_ai/great_ai/deploy/routes/dashboard/assets/github.png similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/dashboard/assets/github.png rename to src/great_ai/great_ai/deploy/routes/dashboard/assets/github.png diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/dashboard/assets/index.css b/src/great_ai/great_ai/deploy/routes/dashboard/assets/index.css similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/dashboard/assets/index.css rename to src/great_ai/great_ai/deploy/routes/dashboard/assets/index.css diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/dashboard/create_dash_app.py b/src/great_ai/great_ai/deploy/routes/dashboard/create_dash_app.py similarity index 99% rename from great_ai/src/great_ai/great_ai/deploy/routes/dashboard/create_dash_app.py rename to src/great_ai/great_ai/deploy/routes/dashboard/create_dash_app.py index 45fe646..d7d65d6 100644 --- a/great_ai/src/great_ai/great_ai/deploy/routes/dashboard/create_dash_app.py +++ b/src/great_ai/great_ai/deploy/routes/dashboard/create_dash_app.py @@ -8,8 +8,7 @@ from dash import Dash, dcc, html from dash.dependencies import Input, Output from flask import Flask -from great_ai.utilities import unique - +from .....utilities import unique from ....constants import DASHBOARD_PATH, ONLINE_TAG_NAME from ....context import get_context from ....helper import snake_case_to_text, text_to_hex_color diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/dashboard/get_description.py b/src/great_ai/great_ai/deploy/routes/dashboard/get_description.py similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/dashboard/get_description.py rename to src/great_ai/great_ai/deploy/routes/dashboard/get_description.py diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/dashboard/get_filter_from_datatable.py b/src/great_ai/great_ai/deploy/routes/dashboard/get_filter_from_datatable.py similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/dashboard/get_filter_from_datatable.py rename to src/great_ai/great_ai/deploy/routes/dashboard/get_filter_from_datatable.py diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/dashboard/get_footer.py b/src/great_ai/great_ai/deploy/routes/dashboard/get_footer.py similarity index 100% rename from great_ai/src/great_ai/great_ai/deploy/routes/dashboard/get_footer.py rename to src/great_ai/great_ai/deploy/routes/dashboard/get_footer.py diff --git a/great_ai/src/great_ai/great_ai/deploy/routes/dashboard/get_traces_table.py b/src/great_ai/great_ai/deploy/routes/dashboard/get_traces_table.py similarity index 94% rename from great_ai/src/great_ai/great_ai/deploy/routes/dashboard/get_traces_table.py rename to src/great_ai/great_ai/deploy/routes/dashboard/get_traces_table.py index 2acdfce..9b51761 100644 --- a/great_ai/src/great_ai/great_ai/deploy/routes/dashboard/get_traces_table.py +++ b/src/great_ai/great_ai/deploy/routes/dashboard/get_traces_table.py @@ -1,6 +1,6 @@ from dash import dash_table -from great_ai.great_ai.context import get_context +from ....context import get_context def get_traces_table() -> dash_table.DataTable: diff --git a/great_ai/src/great_ai/great_ai/exceptions/__init__.py b/src/great_ai/great_ai/exceptions/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/exceptions/__init__.py rename to src/great_ai/great_ai/exceptions/__init__.py diff --git a/great_ai/src/great_ai/great_ai/exceptions/argument_validation_error.py b/src/great_ai/great_ai/exceptions/argument_validation_error.py similarity index 100% rename from great_ai/src/great_ai/great_ai/exceptions/argument_validation_error.py rename to src/great_ai/great_ai/exceptions/argument_validation_error.py diff --git a/great_ai/src/great_ai/great_ai/exceptions/missing_argument_error.py b/src/great_ai/great_ai/exceptions/missing_argument_error.py similarity index 100% rename from great_ai/src/great_ai/great_ai/exceptions/missing_argument_error.py rename to src/great_ai/great_ai/exceptions/missing_argument_error.py diff --git a/great_ai/src/great_ai/great_ai/helper/__init__.py b/src/great_ai/great_ai/helper/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/helper/__init__.py rename to src/great_ai/great_ai/helper/__init__.py diff --git a/great_ai/src/great_ai/great_ai/helper/assert_function_is_not_finalised.py b/src/great_ai/great_ai/helper/assert_function_is_not_finalised.py similarity index 100% rename from great_ai/src/great_ai/great_ai/helper/assert_function_is_not_finalised.py rename to src/great_ai/great_ai/helper/assert_function_is_not_finalised.py diff --git a/great_ai/src/great_ai/great_ai/helper/freeze_arguments.py b/src/great_ai/great_ai/helper/freeze_arguments.py similarity index 100% rename from great_ai/src/great_ai/great_ai/helper/freeze_arguments.py rename to src/great_ai/great_ai/helper/freeze_arguments.py diff --git a/great_ai/src/great_ai/great_ai/helper/get_arguments.py b/src/great_ai/great_ai/helper/get_arguments.py similarity index 100% rename from great_ai/src/great_ai/great_ai/helper/get_arguments.py rename to src/great_ai/great_ai/helper/get_arguments.py diff --git a/great_ai/src/great_ai/great_ai/helper/get_function_metadata_store.py b/src/great_ai/great_ai/helper/get_function_metadata_store.py similarity index 100% rename from great_ai/src/great_ai/great_ai/helper/get_function_metadata_store.py rename to src/great_ai/great_ai/helper/get_function_metadata_store.py diff --git a/great_ai/src/great_ai/great_ai/helper/hashable_base_model.py b/src/great_ai/great_ai/helper/hashable_base_model.py similarity index 100% rename from great_ai/src/great_ai/great_ai/helper/hashable_base_model.py rename to src/great_ai/great_ai/helper/hashable_base_model.py diff --git a/great_ai/src/great_ai/great_ai/helper/snake_case_to_text.py b/src/great_ai/great_ai/helper/snake_case_to_text.py similarity index 100% rename from great_ai/src/great_ai/great_ai/helper/snake_case_to_text.py rename to src/great_ai/great_ai/helper/snake_case_to_text.py diff --git a/great_ai/src/great_ai/great_ai/helper/strip_lines.py b/src/great_ai/great_ai/helper/strip_lines.py similarity index 100% rename from great_ai/src/great_ai/great_ai/helper/strip_lines.py rename to src/great_ai/great_ai/helper/strip_lines.py diff --git a/great_ai/src/great_ai/great_ai/helper/text_to_hex_color.py b/src/great_ai/great_ai/helper/text_to_hex_color.py similarity index 100% rename from great_ai/src/great_ai/great_ai/helper/text_to_hex_color.py rename to src/great_ai/great_ai/helper/text_to_hex_color.py diff --git a/great_ai/src/great_ai/great_ai/helper/use_http_exceptions.py b/src/great_ai/great_ai/helper/use_http_exceptions.py similarity index 100% rename from great_ai/src/great_ai/great_ai/helper/use_http_exceptions.py rename to src/great_ai/great_ai/helper/use_http_exceptions.py diff --git a/great_ai/src/great_ai/great_ai/models/__init__.py b/src/great_ai/great_ai/models/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/models/__init__.py rename to src/great_ai/great_ai/models/__init__.py diff --git a/great_ai/src/great_ai/great_ai/models/load_model.py b/src/great_ai/great_ai/models/load_model.py similarity index 100% rename from great_ai/src/great_ai/great_ai/models/load_model.py rename to src/great_ai/great_ai/models/load_model.py diff --git a/great_ai/src/great_ai/great_ai/models/save_model.py b/src/great_ai/great_ai/models/save_model.py similarity index 100% rename from great_ai/src/great_ai/great_ai/models/save_model.py rename to src/great_ai/great_ai/models/save_model.py diff --git a/great_ai/src/great_ai/great_ai/models/use_model.py b/src/great_ai/great_ai/models/use_model.py similarity index 100% rename from great_ai/src/great_ai/great_ai/models/use_model.py rename to src/great_ai/great_ai/models/use_model.py diff --git a/great_ai/src/great_ai/great_ai/output_models/__init__.py b/src/great_ai/great_ai/output_models/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/output_models/__init__.py rename to src/great_ai/great_ai/output_models/__init__.py diff --git a/great_ai/src/great_ai/great_ai/output_models/classification_output.py b/src/great_ai/great_ai/output_models/classification_output.py similarity index 100% rename from great_ai/src/great_ai/great_ai/output_models/classification_output.py rename to src/great_ai/great_ai/output_models/classification_output.py diff --git a/great_ai/src/great_ai/great_ai/output_models/multi_label_classification_output.py b/src/great_ai/great_ai/output_models/multi_label_classification_output.py similarity index 100% rename from great_ai/src/great_ai/great_ai/output_models/multi_label_classification_output.py rename to src/great_ai/great_ai/output_models/multi_label_classification_output.py diff --git a/great_ai/src/great_ai/great_ai/output_models/regression_output.py b/src/great_ai/great_ai/output_models/regression_output.py similarity index 100% rename from great_ai/src/great_ai/great_ai/output_models/regression_output.py rename to src/great_ai/great_ai/output_models/regression_output.py diff --git a/great_ai/src/great_ai/great_ai/output_models/sequence_labeling_output.py b/src/great_ai/great_ai/output_models/sequence_labeling_output.py similarity index 100% rename from great_ai/src/great_ai/great_ai/output_models/sequence_labeling_output.py rename to src/great_ai/great_ai/output_models/sequence_labeling_output.py diff --git a/great_ai/src/great_ai/great_ai/parameters/__init__.py b/src/great_ai/great_ai/parameters/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/parameters/__init__.py rename to src/great_ai/great_ai/parameters/__init__.py diff --git a/great_ai/src/great_ai/great_ai/parameters/automatically_decorate_parameters.py b/src/great_ai/great_ai/parameters/automatically_decorate_parameters.py similarity index 86% rename from great_ai/src/great_ai/great_ai/parameters/automatically_decorate_parameters.py rename to src/great_ai/great_ai/parameters/automatically_decorate_parameters.py index 80ed604..8a3b017 100644 --- a/great_ai/src/great_ai/great_ai/parameters/automatically_decorate_parameters.py +++ b/src/great_ai/great_ai/parameters/automatically_decorate_parameters.py @@ -1,10 +1,7 @@ import inspect from typing import Any, Callable, TypeVar -from great_ai.great_ai.helper.get_function_metadata_store import ( - get_function_metadata_store, -) - +from ..helper.get_function_metadata_store import get_function_metadata_store from .parameter import parameter F = TypeVar("F", bound=Callable[..., Any]) diff --git a/great_ai/src/great_ai/great_ai/parameters/log_metric.py b/src/great_ai/great_ai/parameters/log_metric.py similarity index 100% rename from great_ai/src/great_ai/great_ai/parameters/log_metric.py rename to src/great_ai/great_ai/parameters/log_metric.py diff --git a/great_ai/src/great_ai/great_ai/parameters/parameter.py b/src/great_ai/great_ai/parameters/parameter.py similarity index 100% rename from great_ai/src/great_ai/great_ai/parameters/parameter.py rename to src/great_ai/great_ai/parameters/parameter.py diff --git a/great_ai/src/great_ai/great_ai/persistence/__init__.py b/src/great_ai/great_ai/persistence/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/persistence/__init__.py rename to src/great_ai/great_ai/persistence/__init__.py diff --git a/great_ai/src/great_ai/great_ai/persistence/mongodb_driver.py b/src/great_ai/great_ai/persistence/mongodb_driver.py similarity index 100% rename from great_ai/src/great_ai/great_ai/persistence/mongodb_driver.py rename to src/great_ai/great_ai/persistence/mongodb_driver.py diff --git a/great_ai/src/great_ai/great_ai/persistence/parallel_tinydb_driver.py b/src/great_ai/great_ai/persistence/parallel_tinydb_driver.py similarity index 100% rename from great_ai/src/great_ai/great_ai/persistence/parallel_tinydb_driver.py rename to src/great_ai/great_ai/persistence/parallel_tinydb_driver.py diff --git a/great_ai/src/great_ai/great_ai/persistence/tracing_database_driver.py b/src/great_ai/great_ai/persistence/tracing_database_driver.py similarity index 97% rename from great_ai/src/great_ai/great_ai/persistence/tracing_database_driver.py rename to src/great_ai/great_ai/persistence/tracing_database_driver.py index a4bab9d..51a7be3 100644 --- a/great_ai/src/great_ai/great_ai/persistence/tracing_database_driver.py +++ b/src/great_ai/great_ai/persistence/tracing_database_driver.py @@ -3,8 +3,7 @@ from datetime import datetime from pathlib import Path from typing import List, Optional, Sequence, Tuple, Union -from great_ai.utilities import ConfigFile - +from ...utilities import ConfigFile from ..views import Filter, SortBy, Trace diff --git a/great_ai/src/great_ai/great_ai/tracing/__init__.py b/src/great_ai/great_ai/tracing/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/tracing/__init__.py rename to src/great_ai/great_ai/tracing/__init__.py diff --git a/great_ai/src/great_ai/great_ai/tracing/add_ground_truth.py b/src/great_ai/great_ai/tracing/add_ground_truth.py similarity index 100% rename from great_ai/src/great_ai/great_ai/tracing/add_ground_truth.py rename to src/great_ai/great_ai/tracing/add_ground_truth.py diff --git a/great_ai/src/great_ai/great_ai/tracing/delete_ground_truth.py b/src/great_ai/great_ai/tracing/delete_ground_truth.py similarity index 100% rename from great_ai/src/great_ai/great_ai/tracing/delete_ground_truth.py rename to src/great_ai/great_ai/tracing/delete_ground_truth.py diff --git a/great_ai/src/great_ai/great_ai/tracing/query_ground_truth.py b/src/great_ai/great_ai/tracing/query_ground_truth.py similarity index 100% rename from great_ai/src/great_ai/great_ai/tracing/query_ground_truth.py rename to src/great_ai/great_ai/tracing/query_ground_truth.py diff --git a/great_ai/src/great_ai/great_ai/tracing/tracing_context.py b/src/great_ai/great_ai/tracing/tracing_context.py similarity index 100% rename from great_ai/src/great_ai/great_ai/tracing/tracing_context.py rename to src/great_ai/great_ai/tracing/tracing_context.py diff --git a/great_ai/src/great_ai/great_ai/views/__init__.py b/src/great_ai/great_ai/views/__init__.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/__init__.py rename to src/great_ai/great_ai/views/__init__.py diff --git a/great_ai/src/great_ai/great_ai/views/api_metadata.py b/src/great_ai/great_ai/views/api_metadata.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/api_metadata.py rename to src/great_ai/great_ai/views/api_metadata.py diff --git a/great_ai/src/great_ai/great_ai/views/cache_statistics.py b/src/great_ai/great_ai/views/cache_statistics.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/cache_statistics.py rename to src/great_ai/great_ai/views/cache_statistics.py diff --git a/great_ai/src/great_ai/great_ai/views/evaluation_feedback_request.py b/src/great_ai/great_ai/views/evaluation_feedback_request.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/evaluation_feedback_request.py rename to src/great_ai/great_ai/views/evaluation_feedback_request.py diff --git a/great_ai/src/great_ai/great_ai/views/filter.py b/src/great_ai/great_ai/views/filter.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/filter.py rename to src/great_ai/great_ai/views/filter.py diff --git a/great_ai/src/great_ai/great_ai/views/function_metadata.py b/src/great_ai/great_ai/views/function_metadata.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/function_metadata.py rename to src/great_ai/great_ai/views/function_metadata.py diff --git a/great_ai/src/great_ai/great_ai/views/health_check_response.py b/src/great_ai/great_ai/views/health_check_response.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/health_check_response.py rename to src/great_ai/great_ai/views/health_check_response.py diff --git a/great_ai/src/great_ai/great_ai/views/model.py b/src/great_ai/great_ai/views/model.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/model.py rename to src/great_ai/great_ai/views/model.py diff --git a/great_ai/src/great_ai/great_ai/views/operators.py b/src/great_ai/great_ai/views/operators.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/operators.py rename to src/great_ai/great_ai/views/operators.py diff --git a/great_ai/src/great_ai/great_ai/views/query.py b/src/great_ai/great_ai/views/query.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/query.py rename to src/great_ai/great_ai/views/query.py diff --git a/great_ai/src/great_ai/great_ai/views/sort_by.py b/src/great_ai/great_ai/views/sort_by.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/sort_by.py rename to src/great_ai/great_ai/views/sort_by.py diff --git a/great_ai/src/great_ai/great_ai/views/trace.py b/src/great_ai/great_ai/views/trace.py similarity index 100% rename from great_ai/src/great_ai/great_ai/views/trace.py rename to src/great_ai/great_ai/views/trace.py diff --git a/great_ai/src/great_ai/large_file/__init__.py b/src/great_ai/large_file/__init__.py similarity index 100% rename from great_ai/src/great_ai/large_file/__init__.py rename to src/great_ai/large_file/__init__.py diff --git a/great_ai/src/great_ai/large_file/__main__.py b/src/great_ai/large_file/__main__.py similarity index 97% rename from great_ai/src/great_ai/large_file/__main__.py rename to src/great_ai/large_file/__main__.py index c443b4f..ed3bc14 100644 --- a/great_ai/src/great_ai/large_file/__main__.py +++ b/src/great_ai/large_file/__main__.py @@ -4,8 +4,7 @@ from argparse import Namespace from pathlib import Path from typing import Mapping, Type -from great_ai.utilities import get_logger - +from ..utilities import get_logger from .large_file import LargeFile, LargeFileLocal, LargeFileMongo, LargeFileS3 from .parse_arguments import parse_arguments diff --git a/great_ai/src/great_ai/large_file/helper/__init__.py b/src/great_ai/large_file/helper/__init__.py similarity index 100% rename from great_ai/src/great_ai/large_file/helper/__init__.py rename to src/great_ai/large_file/helper/__init__.py diff --git a/great_ai/src/great_ai/large_file/helper/bytes_to_megabytes.py b/src/great_ai/large_file/helper/bytes_to_megabytes.py similarity index 100% rename from great_ai/src/great_ai/large_file/helper/bytes_to_megabytes.py rename to src/great_ai/large_file/helper/bytes_to_megabytes.py diff --git a/great_ai/src/great_ai/large_file/helper/human_readable_to_byte.py b/src/great_ai/large_file/helper/human_readable_to_byte.py similarity index 100% rename from great_ai/src/great_ai/large_file/helper/human_readable_to_byte.py rename to src/great_ai/large_file/helper/human_readable_to_byte.py diff --git a/great_ai/src/great_ai/large_file/helper/progress_bar.py b/src/great_ai/large_file/helper/progress_bar.py similarity index 100% rename from great_ai/src/great_ai/large_file/helper/progress_bar.py rename to src/great_ai/large_file/helper/progress_bar.py diff --git a/great_ai/src/great_ai/large_file/large_file/__init__.py b/src/great_ai/large_file/large_file/__init__.py similarity index 100% rename from great_ai/src/great_ai/large_file/large_file/__init__.py rename to src/great_ai/large_file/large_file/__init__.py diff --git a/great_ai/src/great_ai/large_file/large_file/large_file.py b/src/great_ai/large_file/large_file/large_file.py similarity index 99% rename from great_ai/src/great_ai/large_file/large_file/large_file.py rename to src/great_ai/large_file/large_file/large_file.py index 09fd350..0172ef9 100644 --- a/great_ai/src/great_ai/large_file/large_file/large_file.py +++ b/src/great_ai/large_file/large_file/large_file.py @@ -6,8 +6,7 @@ from pathlib import Path from types import TracebackType from typing import IO, Any, List, Optional, Type, Union, cast -from great_ai.utilities import ConfigFile, get_logger - +from ...utilities import ConfigFile, get_logger from ..helper import human_readable_to_byte from ..models import DataInstance diff --git a/great_ai/src/great_ai/large_file/large_file/large_file_local.py b/src/great_ai/large_file/large_file/large_file_local.py similarity index 97% rename from great_ai/src/great_ai/large_file/large_file/large_file_local.py rename to src/great_ai/large_file/large_file/large_file_local.py index 33480ae..689ea52 100644 --- a/great_ai/src/great_ai/large_file/large_file/large_file_local.py +++ b/src/great_ai/large_file/large_file/large_file_local.py @@ -1,8 +1,7 @@ from pathlib import Path from typing import Any, List, Optional -from great_ai.utilities import get_logger - +from ...utilities import get_logger from ..models import DataInstance from .large_file import LargeFile diff --git a/great_ai/src/great_ai/large_file/large_file/large_file_mongo.py b/src/great_ai/large_file/large_file/large_file_mongo.py similarity index 98% rename from great_ai/src/great_ai/large_file/large_file/large_file_mongo.py rename to src/great_ai/large_file/large_file/large_file_mongo.py index 07bb25c..5dda944 100644 --- a/great_ai/src/great_ai/large_file/large_file/large_file_mongo.py +++ b/src/great_ai/large_file/large_file/large_file_mongo.py @@ -6,8 +6,7 @@ from typing import Any, List, Mapping from gridfs import DEFAULT_CHUNK_SIZE, Database, GridFSBucket from pymongo import MongoClient -from great_ai.utilities import get_logger - +from ...utilities import get_logger from ..helper import DownloadProgressBar, UploadProgressBar from ..models import DataInstance from .large_file import LargeFile diff --git a/great_ai/src/great_ai/large_file/large_file/large_file_s3.py b/src/great_ai/large_file/large_file/large_file_s3.py similarity index 99% rename from great_ai/src/great_ai/large_file/large_file/large_file_s3.py rename to src/great_ai/large_file/large_file/large_file_s3.py index 25d8be9..d73493e 100644 --- a/great_ai/src/great_ai/large_file/large_file/large_file_s3.py +++ b/src/great_ai/large_file/large_file/large_file_s3.py @@ -4,8 +4,7 @@ from typing import Any, List, Mapping, Optional import boto3 -from great_ai.utilities import get_logger - +from ...utilities import get_logger from ..helper import DownloadProgressBar, UploadProgressBar from ..models import DataInstance from .large_file import LargeFile diff --git a/great_ai/src/great_ai/large_file/models/__init__.py b/src/great_ai/large_file/models/__init__.py similarity index 100% rename from great_ai/src/great_ai/large_file/models/__init__.py rename to src/great_ai/large_file/models/__init__.py diff --git a/great_ai/src/great_ai/large_file/models/data_instance.py b/src/great_ai/large_file/models/data_instance.py similarity index 100% rename from great_ai/src/great_ai/large_file/models/data_instance.py rename to src/great_ai/large_file/models/data_instance.py diff --git a/great_ai/src/great_ai/large_file/parse_arguments.py b/src/great_ai/large_file/parse_arguments.py similarity index 100% rename from great_ai/src/great_ai/large_file/parse_arguments.py rename to src/great_ai/large_file/parse_arguments.py diff --git a/great_ai/src/great_ai/parse_arguments.py b/src/great_ai/parse_arguments.py similarity index 100% rename from great_ai/src/great_ai/parse_arguments.py rename to src/great_ai/parse_arguments.py diff --git a/great_ai/src/great_ai/utilities/__init__.py b/src/great_ai/utilities/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/__init__.py rename to src/great_ai/utilities/__init__.py diff --git a/great_ai/src/great_ai/utilities/clean.py b/src/great_ai/utilities/clean.py similarity index 100% rename from great_ai/src/great_ai/utilities/clean.py rename to src/great_ai/utilities/clean.py diff --git a/great_ai/src/great_ai/utilities/config_file/__init__.py b/src/great_ai/utilities/config_file/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/config_file/__init__.py rename to src/great_ai/utilities/config_file/__init__.py diff --git a/great_ai/src/great_ai/utilities/config_file/config_file.py b/src/great_ai/utilities/config_file/config_file.py similarity index 100% rename from great_ai/src/great_ai/utilities/config_file/config_file.py rename to src/great_ai/utilities/config_file/config_file.py diff --git a/great_ai/src/great_ai/utilities/config_file/parse_error.py b/src/great_ai/utilities/config_file/parse_error.py similarity index 100% rename from great_ai/src/great_ai/utilities/config_file/parse_error.py rename to src/great_ai/utilities/config_file/parse_error.py diff --git a/src/great_ai/utilities/config_file/pattern.py b/src/great_ai/utilities/config_file/pattern.py new file mode 100644 index 0000000..ab5e056 --- /dev/null +++ b/src/great_ai/utilities/config_file/pattern.py @@ -0,0 +1,20 @@ +import re + +pattern = re.compile( + r""" + (?:^|\n) # new key-value pairs must start on a new line + \s* # leading whitespace is allowed + (?!\#) # the key cannot start with a `#` symbol + (\w+?) # then comes the key + \s*=\s* # the key and value are separated by an equal sign + (?: # then comes the value + "([^"]*)" # the value can be surrounded by quotes: "value" + | '([^']*)' # the value can be surrounded by quotes: 'value' + | `([^`]*)` # the value can be surrounded by quotes: `value` + | ([^#\n]*?) # or it is bare, in that case, the trailing whitespace is ignored + ) + \s*(?:\#.*)? # comments can be added with the `#` symbol + (?=\n|$) # a key-value pairs are separated by new lines + """, + flags=re.UNICODE | re.VERBOSE, +) diff --git a/great_ai/src/great_ai/utilities/data/__init__.py b/src/great_ai/utilities/data/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/data/__init__.py rename to src/great_ai/utilities/data/__init__.py diff --git a/great_ai/src/great_ai/utilities/data/american_spellings.py b/src/great_ai/utilities/data/american_spellings.py similarity index 100% rename from great_ai/src/great_ai/utilities/data/american_spellings.py rename to src/great_ai/utilities/data/american_spellings.py diff --git a/great_ai/src/great_ai/utilities/data/punctuations.py b/src/great_ai/utilities/data/punctuations.py similarity index 100% rename from great_ai/src/great_ai/utilities/data/punctuations.py rename to src/great_ai/utilities/data/punctuations.py diff --git a/great_ai/src/great_ai/utilities/evaluate_ranking/__init__.py b/src/great_ai/utilities/evaluate_ranking/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/evaluate_ranking/__init__.py rename to src/great_ai/utilities/evaluate_ranking/__init__.py diff --git a/great_ai/src/great_ai/utilities/evaluate_ranking/draw_f1_iso_lines.py b/src/great_ai/utilities/evaluate_ranking/draw_f1_iso_lines.py similarity index 100% rename from great_ai/src/great_ai/utilities/evaluate_ranking/draw_f1_iso_lines.py rename to src/great_ai/utilities/evaluate_ranking/draw_f1_iso_lines.py diff --git a/great_ai/src/great_ai/utilities/evaluate_ranking/evaluate_ranking.py b/src/great_ai/utilities/evaluate_ranking/evaluate_ranking.py similarity index 100% rename from great_ai/src/great_ai/utilities/evaluate_ranking/evaluate_ranking.py rename to src/great_ai/utilities/evaluate_ranking/evaluate_ranking.py diff --git a/great_ai/src/great_ai/utilities/external/__init__.py b/src/great_ai/utilities/external/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/__init__.py rename to src/great_ai/utilities/external/__init__.py diff --git a/great_ai/src/great_ai/utilities/external/negspacy/README.md b/src/great_ai/utilities/external/negspacy/README.md similarity index 100% rename from great_ai/src/great_ai/utilities/external/negspacy/README.md rename to src/great_ai/utilities/external/negspacy/README.md diff --git a/great_ai/src/great_ai/utilities/external/negspacy/__init__.py b/src/great_ai/utilities/external/negspacy/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/negspacy/__init__.py rename to src/great_ai/utilities/external/negspacy/__init__.py diff --git a/great_ai/src/great_ai/utilities/external/negspacy/negation.py b/src/great_ai/utilities/external/negspacy/negation.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/negspacy/negation.py rename to src/great_ai/utilities/external/negspacy/negation.py diff --git a/great_ai/src/great_ai/utilities/external/negspacy/termsets.py b/src/great_ai/utilities/external/negspacy/termsets.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/negspacy/termsets.py rename to src/great_ai/utilities/external/negspacy/termsets.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/README.md b/src/great_ai/utilities/external/pylatexenc/README.md similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/README.md rename to src/great_ai/utilities/external/pylatexenc/README.md diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/__init__.py b/src/great_ai/utilities/external/pylatexenc/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/__init__.py rename to src/great_ai/utilities/external/pylatexenc/__init__.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/_util.py b/src/great_ai/utilities/external/pylatexenc/_util.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/_util.py rename to src/great_ai/utilities/external/pylatexenc/_util.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latex2text/__init__.py b/src/great_ai/utilities/external/pylatexenc/latex2text/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latex2text/__init__.py rename to src/great_ai/utilities/external/pylatexenc/latex2text/__init__.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latex2text/__main__.py b/src/great_ai/utilities/external/pylatexenc/latex2text/__main__.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latex2text/__main__.py rename to src/great_ai/utilities/external/pylatexenc/latex2text/__main__.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latex2text/_defaultspecs.py b/src/great_ai/utilities/external/pylatexenc/latex2text/_defaultspecs.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latex2text/_defaultspecs.py rename to src/great_ai/utilities/external/pylatexenc/latex2text/_defaultspecs.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/__init__.py b/src/great_ai/utilities/external/pylatexenc/latexencode/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/__init__.py rename to src/great_ai/utilities/external/pylatexenc/latexencode/__init__.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/__main__.py b/src/great_ai/utilities/external/pylatexenc/latexencode/__main__.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/__main__.py rename to src/great_ai/utilities/external/pylatexenc/latexencode/__main__.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/_partial_latex_encoder.py b/src/great_ai/utilities/external/pylatexenc/latexencode/_partial_latex_encoder.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/_partial_latex_encoder.py rename to src/great_ai/utilities/external/pylatexenc/latexencode/_partial_latex_encoder.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/_uni2latexmap.py b/src/great_ai/utilities/external/pylatexenc/latexencode/_uni2latexmap.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/_uni2latexmap.py rename to src/great_ai/utilities/external/pylatexenc/latexencode/_uni2latexmap.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/_uni2latexmap_xml.py b/src/great_ai/utilities/external/pylatexenc/latexencode/_uni2latexmap_xml.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/_uni2latexmap_xml.py rename to src/great_ai/utilities/external/pylatexenc/latexencode/_uni2latexmap_xml.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/_unicode_to_latex_encoder.py b/src/great_ai/utilities/external/pylatexenc/latexencode/_unicode_to_latex_encoder.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latexencode/_unicode_to_latex_encoder.py rename to src/great_ai/utilities/external/pylatexenc/latexencode/_unicode_to_latex_encoder.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latexwalker/__init__.py b/src/great_ai/utilities/external/pylatexenc/latexwalker/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latexwalker/__init__.py rename to src/great_ai/utilities/external/pylatexenc/latexwalker/__init__.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latexwalker/__main__.py b/src/great_ai/utilities/external/pylatexenc/latexwalker/__main__.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latexwalker/__main__.py rename to src/great_ai/utilities/external/pylatexenc/latexwalker/__main__.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/latexwalker/_defaultspecs.py b/src/great_ai/utilities/external/pylatexenc/latexwalker/_defaultspecs.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/latexwalker/_defaultspecs.py rename to src/great_ai/utilities/external/pylatexenc/latexwalker/_defaultspecs.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/macrospec/__init__.py b/src/great_ai/utilities/external/pylatexenc/macrospec/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/macrospec/__init__.py rename to src/great_ai/utilities/external/pylatexenc/macrospec/__init__.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/macrospec/_argparsers.py b/src/great_ai/utilities/external/pylatexenc/macrospec/_argparsers.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/macrospec/_argparsers.py rename to src/great_ai/utilities/external/pylatexenc/macrospec/_argparsers.py diff --git a/great_ai/src/great_ai/utilities/external/pylatexenc/version.py b/src/great_ai/utilities/external/pylatexenc/version.py similarity index 100% rename from great_ai/src/great_ai/utilities/external/pylatexenc/version.py rename to src/great_ai/utilities/external/pylatexenc/version.py diff --git a/great_ai/src/great_ai/utilities/get_sentences.py b/src/great_ai/utilities/get_sentences.py similarity index 100% rename from great_ai/src/great_ai/utilities/get_sentences.py rename to src/great_ai/utilities/get_sentences.py diff --git a/great_ai/src/great_ai/utilities/language/__init__.py b/src/great_ai/utilities/language/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/language/__init__.py rename to src/great_ai/utilities/language/__init__.py diff --git a/great_ai/src/great_ai/utilities/language/english_name_of_language.py b/src/great_ai/utilities/language/english_name_of_language.py similarity index 100% rename from great_ai/src/great_ai/utilities/language/english_name_of_language.py rename to src/great_ai/utilities/language/english_name_of_language.py diff --git a/great_ai/src/great_ai/utilities/language/is_english.py b/src/great_ai/utilities/language/is_english.py similarity index 100% rename from great_ai/src/great_ai/utilities/language/is_english.py rename to src/great_ai/utilities/language/is_english.py diff --git a/great_ai/src/great_ai/utilities/language/predict_language.py b/src/great_ai/utilities/language/predict_language.py similarity index 100% rename from great_ai/src/great_ai/utilities/language/predict_language.py rename to src/great_ai/utilities/language/predict_language.py diff --git a/great_ai/src/great_ai/utilities/lemmatize_text.py b/src/great_ai/utilities/lemmatize_text.py similarity index 100% rename from great_ai/src/great_ai/utilities/lemmatize_text.py rename to src/great_ai/utilities/lemmatize_text.py diff --git a/great_ai/src/great_ai/utilities/lemmatize_token.py b/src/great_ai/utilities/lemmatize_token.py similarity index 100% rename from great_ai/src/great_ai/utilities/lemmatize_token.py rename to src/great_ai/utilities/lemmatize_token.py diff --git a/great_ai/src/great_ai/utilities/logger/__init__.py b/src/great_ai/utilities/logger/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/logger/__init__.py rename to src/great_ai/utilities/logger/__init__.py diff --git a/great_ai/src/great_ai/utilities/logger/colors.py b/src/great_ai/utilities/logger/colors.py similarity index 100% rename from great_ai/src/great_ai/utilities/logger/colors.py rename to src/great_ai/utilities/logger/colors.py diff --git a/great_ai/src/great_ai/utilities/logger/custom_formatter.py b/src/great_ai/utilities/logger/custom_formatter.py similarity index 100% rename from great_ai/src/great_ai/utilities/logger/custom_formatter.py rename to src/great_ai/utilities/logger/custom_formatter.py diff --git a/great_ai/src/great_ai/utilities/logger/get_logger.py b/src/great_ai/utilities/logger/get_logger.py similarity index 100% rename from great_ai/src/great_ai/utilities/logger/get_logger.py rename to src/great_ai/utilities/logger/get_logger.py diff --git a/great_ai/src/great_ai/utilities/match_names/__init__.py b/src/great_ai/utilities/match_names/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/match_names/__init__.py rename to src/great_ai/utilities/match_names/__init__.py diff --git a/great_ai/src/great_ai/utilities/match_names/config.py b/src/great_ai/utilities/match_names/config.py similarity index 100% rename from great_ai/src/great_ai/utilities/match_names/config.py rename to src/great_ai/utilities/match_names/config.py diff --git a/great_ai/src/great_ai/utilities/match_names/match_names.py b/src/great_ai/utilities/match_names/match_names.py similarity index 100% rename from great_ai/src/great_ai/utilities/match_names/match_names.py rename to src/great_ai/utilities/match_names/match_names.py diff --git a/great_ai/src/great_ai/utilities/match_names/name_parts.py b/src/great_ai/utilities/match_names/name_parts.py similarity index 100% rename from great_ai/src/great_ai/utilities/match_names/name_parts.py rename to src/great_ai/utilities/match_names/name_parts.py diff --git a/great_ai/src/great_ai/utilities/matcher/__init__.py b/src/great_ai/utilities/matcher/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/matcher/__init__.py rename to src/great_ai/utilities/matcher/__init__.py diff --git a/great_ai/src/great_ai/utilities/matcher/fast_tokenize.py b/src/great_ai/utilities/matcher/fast_tokenize.py similarity index 100% rename from great_ai/src/great_ai/utilities/matcher/fast_tokenize.py rename to src/great_ai/utilities/matcher/fast_tokenize.py diff --git a/great_ai/src/great_ai/utilities/matcher/filter_sentences.py b/src/great_ai/utilities/matcher/filter_sentences.py similarity index 100% rename from great_ai/src/great_ai/utilities/matcher/filter_sentences.py rename to src/great_ai/utilities/matcher/filter_sentences.py diff --git a/great_ai/src/great_ai/utilities/matcher/normalize.py b/src/great_ai/utilities/matcher/normalize.py similarity index 100% rename from great_ai/src/great_ai/utilities/matcher/normalize.py rename to src/great_ai/utilities/matcher/normalize.py diff --git a/great_ai/src/great_ai/utilities/nlp.py b/src/great_ai/utilities/nlp.py similarity index 100% rename from great_ai/src/great_ai/utilities/nlp.py rename to src/great_ai/utilities/nlp.py diff --git a/great_ai/src/great_ai/utilities/parallel_map.py b/src/great_ai/utilities/parallel_map.py similarity index 100% rename from great_ai/src/great_ai/utilities/parallel_map.py rename to src/great_ai/utilities/parallel_map.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/__init__.py b/src/great_ai/utilities/publication_tei/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/__init__.py rename to src/great_ai/utilities/publication_tei/__init__.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/models/__init__.py b/src/great_ai/utilities/publication_tei/models/__init__.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/models/__init__.py rename to src/great_ai/utilities/publication_tei/models/__init__.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/models/affiliation.py b/src/great_ai/utilities/publication_tei/models/affiliation.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/models/affiliation.py rename to src/great_ai/utilities/publication_tei/models/affiliation.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/models/author.py b/src/great_ai/utilities/publication_tei/models/author.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/models/author.py rename to src/great_ai/utilities/publication_tei/models/author.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/models/bookmark.py b/src/great_ai/utilities/publication_tei/models/bookmark.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/models/bookmark.py rename to src/great_ai/utilities/publication_tei/models/bookmark.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/models/bookmark_title.py b/src/great_ai/utilities/publication_tei/models/bookmark_title.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/models/bookmark_title.py rename to src/great_ai/utilities/publication_tei/models/bookmark_title.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/models/element.py b/src/great_ai/utilities/publication_tei/models/element.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/models/element.py rename to src/great_ai/utilities/publication_tei/models/element.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/models/publication_metadata.py b/src/great_ai/utilities/publication_tei/models/publication_metadata.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/models/publication_metadata.py rename to src/great_ai/utilities/publication_tei/models/publication_metadata.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/models/text.py b/src/great_ai/utilities/publication_tei/models/text.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/models/text.py rename to src/great_ai/utilities/publication_tei/models/text.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/publication_tei.py b/src/great_ai/utilities/publication_tei/publication_tei.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/publication_tei.py rename to src/great_ai/utilities/publication_tei/publication_tei.py diff --git a/great_ai/src/great_ai/utilities/publication_tei/templates.yaml b/src/great_ai/utilities/publication_tei/templates.yaml similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/templates.yaml rename to src/great_ai/utilities/publication_tei/templates.yaml diff --git a/great_ai/src/great_ai/utilities/publication_tei/titles_of_interest.py b/src/great_ai/utilities/publication_tei/titles_of_interest.py similarity index 100% rename from great_ai/src/great_ai/utilities/publication_tei/titles_of_interest.py rename to src/great_ai/utilities/publication_tei/titles_of_interest.py diff --git a/great_ai/src/great_ai/utilities/unique.py b/src/great_ai/utilities/unique.py similarity index 100% rename from great_ai/src/great_ai/utilities/unique.py rename to src/great_ai/utilities/unique.py diff --git a/great_ai/tests/__init__.py b/tests/__init__.py similarity index 100% rename from great_ai/tests/__init__.py rename to tests/__init__.py diff --git a/great_ai/tests/large_file/__init__.py b/tests/large_file/__init__.py similarity index 100% rename from great_ai/tests/large_file/__init__.py rename to tests/large_file/__init__.py diff --git a/great_ai/tests/large_file/test_human_readable_to_byte.py b/tests/large_file/test_human_readable_to_byte.py similarity index 100% rename from great_ai/tests/large_file/test_human_readable_to_byte.py rename to tests/large_file/test_human_readable_to_byte.py diff --git a/great_ai/tests/large_file/test_large_file.py b/tests/large_file/test_large_file.py similarity index 100% rename from great_ai/tests/large_file/test_large_file.py rename to tests/large_file/test_large_file.py diff --git a/great_ai/tests/utilities/__init__.py b/tests/utilities/__init__.py similarity index 100% rename from great_ai/tests/utilities/__init__.py rename to tests/utilities/__init__.py diff --git a/great_ai/tests/utilities/data/10.1136_bmjspcare-2021-003026.pdf.tei.xml b/tests/utilities/data/10.1136_bmjspcare-2021-003026.pdf.tei.xml similarity index 100% rename from great_ai/tests/utilities/data/10.1136_bmjspcare-2021-003026.pdf.tei.xml rename to tests/utilities/data/10.1136_bmjspcare-2021-003026.pdf.tei.xml diff --git a/great_ai/tests/utilities/data/bad.conf b/tests/utilities/data/bad.conf similarity index 100% rename from great_ai/tests/utilities/data/bad.conf rename to tests/utilities/data/bad.conf diff --git a/great_ai/tests/utilities/data/bad.tei.xml b/tests/utilities/data/bad.tei.xml similarity index 100% rename from great_ai/tests/utilities/data/bad.tei.xml rename to tests/utilities/data/bad.tei.xml diff --git a/great_ai/tests/utilities/data/env.conf b/tests/utilities/data/env.conf similarity index 100% rename from great_ai/tests/utilities/data/env.conf rename to tests/utilities/data/env.conf diff --git a/great_ai/tests/utilities/data/good.conf b/tests/utilities/data/good.conf similarity index 80% rename from great_ai/tests/utilities/data/good.conf rename to tests/utilities/data/good.conf index ccca226..55336ab 100644 --- a/great_ai/tests/utilities/data/good.conf +++ b/tests/utilities/data/good.conf @@ -12,4 +12,6 @@ multiline whitespace = hardly matters +# this = should be ignored +#this = should be ignored diff --git a/great_ai/tests/utilities/data/parsed.py b/tests/utilities/data/parsed.py similarity index 99% rename from great_ai/tests/utilities/data/parsed.py rename to tests/utilities/data/parsed.py index 2b46fb0..9d67772 100644 --- a/great_ai/tests/utilities/data/parsed.py +++ b/tests/utilities/data/parsed.py @@ -1,4 +1,4 @@ -from great_ai.utilities.publication_tei import ( +from src.great_ai.utilities.publication_tei import ( Affiliation, Author, Bookmark, diff --git a/great_ai/tests/utilities/test_clean.py b/tests/utilities/test_clean.py similarity index 100% rename from great_ai/tests/utilities/test_clean.py rename to tests/utilities/test_clean.py diff --git a/great_ai/tests/utilities/test_config_file.py b/tests/utilities/test_config_file.py similarity index 94% rename from great_ai/tests/utilities/test_config_file.py rename to tests/utilities/test_config_file.py index aed18e3..c7c6b29 100644 --- a/great_ai/tests/utilities/test_config_file.py +++ b/tests/utilities/test_config_file.py @@ -24,6 +24,8 @@ multiline """ ) assert c.whitespace == "hardly matters" + with pytest.raises(KeyError): + c.this def test_simple_dict(self) -> None: c = ConfigFile(DATA_PATH / "good.conf") @@ -40,6 +42,8 @@ multiline """ ) assert c["whitespace"] == "hardly matters" + with pytest.raises(KeyError): + c["#this"] def test_string_path(self) -> None: c = ConfigFile(str(DATA_PATH / "good.conf")) diff --git a/great_ai/tests/utilities/test_evaluate_ranking.py b/tests/utilities/test_evaluate_ranking.py similarity index 100% rename from great_ai/tests/utilities/test_evaluate_ranking.py rename to tests/utilities/test_evaluate_ranking.py diff --git a/great_ai/tests/utilities/test_get_sentences.py b/tests/utilities/test_get_sentences.py similarity index 100% rename from great_ai/tests/utilities/test_get_sentences.py rename to tests/utilities/test_get_sentences.py diff --git a/great_ai/tests/utilities/test_language.py b/tests/utilities/test_language.py similarity index 100% rename from great_ai/tests/utilities/test_language.py rename to tests/utilities/test_language.py diff --git a/great_ai/tests/utilities/test_lemmatize_text.py b/tests/utilities/test_lemmatize_text.py similarity index 100% rename from great_ai/tests/utilities/test_lemmatize_text.py rename to tests/utilities/test_lemmatize_text.py diff --git a/great_ai/tests/utilities/test_lemmatize_token.py b/tests/utilities/test_lemmatize_token.py similarity index 100% rename from great_ai/tests/utilities/test_lemmatize_token.py rename to tests/utilities/test_lemmatize_token.py diff --git a/great_ai/tests/utilities/test_match_names.py b/tests/utilities/test_match_names.py similarity index 100% rename from great_ai/tests/utilities/test_match_names.py rename to tests/utilities/test_match_names.py diff --git a/great_ai/tests/utilities/test_parallel_map.py b/tests/utilities/test_parallel_map.py similarity index 100% rename from great_ai/tests/utilities/test_parallel_map.py rename to tests/utilities/test_parallel_map.py diff --git a/great_ai/tests/utilities/test_publication_tei.py b/tests/utilities/test_publication_tei.py similarity index 100% rename from great_ai/tests/utilities/test_publication_tei.py rename to tests/utilities/test_publication_tei.py diff --git a/great_ai/tests/utilities/test_unique.py b/tests/utilities/test_unique.py similarity index 100% rename from great_ai/tests/utilities/test_unique.py rename to tests/utilities/test_unique.py diff --git a/thesis/figures/ss-confusion.png b/thesis/figures/ss-confusion.png deleted file mode 100644 index 46101984a38eff730eed600e6cabe6383db03874..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164208 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 diff --git a/thesis/figures/ss-distribution.png b/thesis/figures/ss-distribution.png deleted file mode 100644 index 721684d49ff6986051be3c20b433e1f3bfde3fea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65683 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 P;7?XkNuv0zanSz<&OTcy