From 789f50c45077b083910589191252f65775e11b63 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 7 May 2024 13:36:30 -0400 Subject: [PATCH 001/174] update gitignore --- .gitignore | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index c3ffc9b9..977421cd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,20 +1,13 @@ -# R project files to ignore - -.Rproj.user/ -.Rhistory -.RData - -# Temporary or generated files to ignore - -.Rapp.history -_.rdb -_.rdx - # Operating system generated files .DS_Store Thumbs.db -# R package cache (optional, see notes) +# python cache +__pycache__ + +# python pyenv +.python-version -.renv/ +# python venv +.env From 3c6f7579b32c4ab09b127bf91b92fab7bd43be42 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 29 Apr 2024 16:30:39 -0400 Subject: [PATCH 002/174] add project files --- INSTALL.md | 32 ++++++++++++++++++++++++++++++++ LICENSE | 1 + mypy.ini | 8 ++++++++ pyproject.toml | 31 +++++++++++++++++++++++++++++++ requirements-dev.txt | 2 ++ requirements.txt | 4 ++++ 6 files changed, 78 insertions(+) create mode 100644 INSTALL.md create mode 100644 LICENSE create mode 100644 mypy.ini create mode 100644 pyproject.toml create mode 100644 requirements-dev.txt create mode 100644 requirements.txt diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 00000000..79d034d4 --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,32 @@ +# installation instructions + +## system dependencies + +- python >= 3.8 +- pyenv (or python 3.8) + +## development setup + +```bash +# clone repo +git clone https://github.com/Big-Life-Lab/PHES-ODM-sharing odm-sharing +cd odm-sharing + +# setup repo to run python 3.8 +pyenv local 3.8 + +# create a virtual env for the repo +python -m venv .env + +# activate the virtual env (must be done every time a new terminal is opened), +# or run .env/bin/pip and .env/bin/python directly +source .env/bin/activate + +# make sure pip is up to date, and install dependencies +pip install --upgrade pip +pip install -r requirements.txt +pip install -r requirements-dev.txt + +# build and install the library in development mode +pip install -e . +``` diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..1333ed77 --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +TODO diff --git a/mypy.ini b/mypy.ini new file mode 100644 index 00000000..4480da0a --- /dev/null +++ b/mypy.ini @@ -0,0 +1,8 @@ +[mypy] +disallow_any_explicit = True +disallow_untyped_calls = True +disallow_untyped_defs = True +no_implicit_optional = True +explicit_package_bases = True +mypy_path = ./src +files = ./src/**/*.py diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..3465426b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,31 @@ +[project] +name = "odm_sharing" +version = "0.1.0" +authors = [ + { name="OHRI", email="PHES-ODM@ohri.ca" } +] +description = "Population Health and Envirmental Open Data Model (PHES-ODM) Sharing Toolkit" +readme = "README.md" +license = { file="LICENSE" } +requires-python = ">=3.8" +classifiers = [ + "Programming Language :: Python :: 3", + "Operating System :: OS Independent", +] +dynamic = ["dependencies"] + +[project.urls] +"Homepage" = "https://github.com/Big-Life-Lab/PHES-ODM-sharing" +"Bug Tracker" = "https://github.com/Big-Life-Lab/PHES-ODM-sharing/issues" + +[build-system] +requires = ["hatchling", "hatch-requirements-txt"] +build-backend = "hatchling.build" + +# specify package dir +[tool.hatch.build.targets.wheel] +packages = ["src/odm_sharing"] + +# install dependencies automatically +[tool.hatch.metadata.hooks.requirements_txt] +files = ["requirements.txt"] diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 00000000..43cbc574 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,2 @@ +pandas-stubs==2.0.3.230814 +sqlalchemy-stubs==0.4 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..1a825daf --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +openpyxl==3.1.2 +pandas==2.0.3 +typer==0.12.3 +SQLAlchemy==2.0.29 From 8ab0d675400a56bda97613b5d848aea08bbb1296 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 7 May 2024 13:38:20 -0400 Subject: [PATCH 003/174] add cli, api, cons, rules --- src/odm_sharing/private/cons.py | 32 ++++ src/odm_sharing/private/queries.py | 14 ++ src/odm_sharing/private/rules.py | 245 +++++++++++++++++++++++++++++ src/odm_sharing/sharing.py | 65 ++++++++ tools/share.py | 47 ++++++ 5 files changed, 403 insertions(+) create mode 100644 src/odm_sharing/private/cons.py create mode 100644 src/odm_sharing/private/queries.py create mode 100644 src/odm_sharing/private/rules.py create mode 100644 src/odm_sharing/sharing.py create mode 100644 tools/share.py diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py new file mode 100644 index 00000000..d6e055fa --- /dev/null +++ b/src/odm_sharing/private/cons.py @@ -0,0 +1,32 @@ +from typing import cast + +import pandas as pd +import sqlalchemy as sa + +Connection = object # opaque data-source connection handle + + +def connect_excel(path: str) -> Connection: + # copies excel data to in-memory db, to abstract everything as a db + data = pd.read_excel(path) + db = sa.create_engine('sqlite://', echo=False) + for table in data.keys(): + data.to_sql(table, db, index=False) + return cast(Connection, db) + + +def connect_db(url: str) -> Connection: + return sa.create_engine(url) + + +def connect(data_source: str) -> Connection: + if data_source.endswith('.xlsx'): + return connect_excel(data_source) + else: + return connect_db(data_source) + + +def exec(c: Connection, sql: str) -> pd.DataFrame: + '''executes `sql` on connection `c`''' + db = cast(sa.engine.Engine, c) + return pd.read_sql_query(sql, db) diff --git a/src/odm_sharing/private/queries.py b/src/odm_sharing/private/queries.py new file mode 100644 index 00000000..0f2d227d --- /dev/null +++ b/src/odm_sharing/private/queries.py @@ -0,0 +1,14 @@ +from dataclasses import dataclass +from typing import Dict + +from odm_sharing.private.rules import RuleId + + +SqlQuery = str + + +@dataclass(frozen=True) +class Query: + data_sql: SqlQuery + rule_count_sqls: Dict[RuleId, SqlQuery] + column_sql: SqlQuery diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py new file mode 100644 index 00000000..d941c85c --- /dev/null +++ b/src/odm_sharing/private/rules.py @@ -0,0 +1,245 @@ +import sys + +from dataclasses import dataclass +from enum import Enum, EnumMeta +from typing import Any, Dict, Iterable, List, Union + +import pandas as pd + +RuleId = int + + +class RuleMode(str, Enum): + SELECT = 'select' + FILTER = 'filter' + GROUP = 'group' + SHARE = 'share' + + def __repr__(self) -> str: + return self.value + + +class ParseError(Exception): + pass + + +class SchemaCtx: + filename: str + row: int # zero-indexed + column: str + + def __init__(self, filename: str) -> None: + self.filename = filename + self.row = 0 + self.column = '' + + @property + def line(self) -> int: + return self.row + 1 + + +@dataclass(init=False) +class Rule: + # XXX: should be immutable, but then we can't initialize it in a clean and + # dynamic way + id: int + table: str + mode: RuleMode + key: str + operator: str + value: str + + +HEADERS = [ + 'ruleID', + 'table', + 'mode', + 'key', + 'operator', + 'value', + 'notes', +] + +FILTER_OPERATORS = set([ + '<', + '<=', + '=', + '>', + '>=', + 'in', +]) + +ALL_MODES = set(RuleMode) +GROUP_OPERATORS = set(['AND', 'OR']) +RULE_FIELD_TYPES = Rule.__annotations__ +HEADER_LIST_STR = ','.join(HEADERS) + + +def gen_error(ctx: SchemaCtx, desc: str) -> ParseError: + col = f',{ctx.column}' if ctx.column else '' + msg = f'{ctx.filename}({ctx.line}{col}): {desc}' + print('Error: ' + msg, file=sys.stderr) + return ParseError(msg) + + +def fail(ctx: SchemaCtx, desc: str) -> None: + raise gen_error(ctx, desc) + + +def prevalidate_row(ctx: SchemaCtx, row: dict) -> None: + # called before coercing, can't coerce empty values + # only for non-str columns tho, maybe normalize this into something else + + # ruleID + col = 'ruleID' + if row[col] == '': + ctx.column = col + fail(ctx, 'missing value') + + +def quote(x: str) -> str: + return f"'{x}'" + + +def fmt_set(values: Iterable) -> str: + items = ','.join(map(quote, values)) + return f'{{{items}}}' + + +def coerce_value( # type: ignore + ctx: SchemaCtx, + type_class, + column: str, + val: str +) -> Any: + '''coerce value and validate type''' + try: + typed_val = (type_class)(val) + return typed_val + except ValueError: + + def get_expected(type_class) -> str: # type: ignore + name = type_class.__name__ + if type(type_class) is EnumMeta: + return fmt_set(list(type_class)) + else: + return name + + expected = get_expected(type_class) + fail(ctx, f'got {quote(val)}, expected {expected}') + + +def init_rule(ctx: SchemaCtx, row: dict) -> Rule: + '''construct rule and coerce/validate value types''' + + def get_field_name(column: str) -> str: + return ('id' if column == 'ruleID' else column) + + result = Rule() + prevalidate_row(ctx, row) + errors: List[ParseError] = [] + for column, val in row.items(): + if column == 'notes': + continue + ctx.column = column + field = get_field_name(column) + type_class = RULE_FIELD_TYPES[field] + try: + typed_val = coerce_value(ctx, type_class, column, val) + result.__setattr__(field, typed_val) + except ParseError as e: + errors.append(e) + if errors: + raise ParseError(errors) + return result + + +def validate_headers(ctx: SchemaCtx, schema_headers: List[str]) -> None: + errors: List[ParseError] = [] + + # header count + expected_len = len(HEADERS) + actual_len = len(schema_headers) + if actual_len != expected_len: + msg = ( + f'got {actual_len} headers, ' + + f'expected {expected_len} ({HEADER_LIST_STR})') + errors.append(gen_error(ctx, msg)) + + # header names + for i, header in enumerate(schema_headers): + expected = HEADERS[i] + actual = schema_headers[i] + if actual != expected: + msg = ( + f'got header name {quote(actual)} ' + + f'for column #{i+1}, ' + + f'expected {quote(expected)}') + errors.append(gen_error(ctx, msg)) + + if errors: + raise ParseError(errors) + + +def validate_rule(ctx: SchemaCtx, rule: Rule) -> None: + # called after constructing rule with typed fields + + errors: List[ParseError] = [] + + def check_required(ctx: SchemaCtx, val: str, mode: RuleMode, + modes: Union[set, list]) -> None: + if not val and mode in modes: + msg = f'{ctx.column} required for modes {fmt_set(modes)}' + errors.append(gen_error(ctx, msg)) + + def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] + ) -> None: + if actual not in expected: + msg = f'got {quote(actual)}, expected {fmt_set(expected)}' + errors.append(gen_error(ctx, msg)) + + ctx.column = 'table' + check_required(ctx, rule.table, rule.mode, + [RuleMode.SELECT, RuleMode.FILTER]) + + ctx.column = 'key' + check_required(ctx, rule.key, rule.mode, + [RuleMode.FILTER, RuleMode.SHARE]) + + ctx.column = 'operator' + check_required(ctx, rule.operator, rule.mode, + [RuleMode.FILTER, RuleMode.GROUP]) + if rule.operator: + if rule.mode == RuleMode.FILTER: + check_set(ctx, rule.operator, FILTER_OPERATORS) + elif rule.mode == RuleMode.GROUP: + check_set(ctx, rule.operator, GROUP_OPERATORS) + + ctx.column = 'value' + check_required(ctx, rule.value, rule.mode, ALL_MODES) + + if errors: + raise ParseError(errors) + + +def load(schema_path: str) -> Dict[RuleId, Rule]: + ctx = SchemaCtx(schema_path) + data = pd.read_csv(schema_path) + data.fillna('', inplace=True) # replace NA values with empty string + + # XXX: header errors are not catched, to avoid error propagation + validate_headers(ctx, data.columns.to_list()) + + result: Dict[RuleId, Rule] = {} + errors: List[ParseError] = [] + for i, row in enumerate(data.itertuples(index=False)): + ctx.row = i + 1 + try: + rule = init_rule(ctx, row._asdict()) + validate_rule(ctx, rule) + result[rule.id] = rule + except ParseError as e: + errors.append(e) + if errors: + raise ParseError(errors) + return result diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py new file mode 100644 index 00000000..00b3015a --- /dev/null +++ b/src/odm_sharing/sharing.py @@ -0,0 +1,65 @@ +from typing import Dict, List, Tuple + +import pandas as pd + +import odm_sharing.private +from odm_sharing.private.cons import Connection +from odm_sharing.private.queries import Query +from odm_sharing.private.rules import RuleId + +# type aliases +ColumnName = str +OrgName = str +TableName = str + + +def connect(data_source: str) -> Connection: + '''returns a connection object that can be used together with a query + object to retrieve data from `data_source`''' + return odm_sharing.private.cons.connect(data_source) + + +def parse(schema_file: str, orgs: List[str] = [] + ) -> Dict[OrgName, Dict[TableName, Query]]: + '''returns queries for each org and table, generated from the rules + specified in `schema_file`''' + pass + + +def get_data(c: Connection, q: Query) -> pd.DataFrame: + '''returns the data extracted from running query `q` on data-source + connection `c`, as a pandas dataframe''' + return odm_sharing.private.cons.exec(c, q.data_sql) + + +def get_counts(c: Connection, q: Query) -> Dict[RuleId, int]: + '''returns the row counts for each rule, corresponding to how each part of + query `q` would filter the data extracted from connection `c`''' + pass + + +def get_columns(c: Connection, q: Query) -> Tuple[RuleId, List[ColumnName]]: + '''returns the select-rule id together with the column names that would be + extracted from using query `q` on connection `c`''' + pass + + +def extract( + data_source: str, + schema_file: str, + orgs: List[str] = [], +) -> Dict[OrgName, Dict[TableName, pd.DataFrame]]: + '''returns a Pandas DataFrame per table per org + + :param data_source: a file path or database url (in SQLAlchemy format) + :param schema_file: rule schema file path + :param orgs: orgs to share with, or all if empty + ''' + con = connect(data_source) + queries = parse(schema_file, orgs) + result: Dict[OrgName, Dict[TableName, pd.DataFrame]] = {} + for org, tablequeries in queries.items(): + result[org] = {} + for table, query in tablequeries.items(): + result[org][table] = get_data(con, query) + return result diff --git a/tools/share.py b/tools/share.py new file mode 100644 index 00000000..a160feaf --- /dev/null +++ b/tools/share.py @@ -0,0 +1,47 @@ +from typing import List +from typing_extensions import Annotated +from enum import Enum + +import typer + +import odm_sharing.sharing as sh + + +class OutFmt(str, Enum): + CSV = 'csv' + EXCEL = 'excel' + + +SCHEMA_DESC = 'Sharing schema file path.' +INPUT_DESC = 'Input spreadsheet file-path or SQLAlchemy database-url.' + +ORGS_DESC = '''Comma separated list of organizations to share with, defaults to +all.''' + +OUTFMT_DESC = 'Output format.' +OUTDIR_DESC = 'Output directory.' + +DEBUG_DESC = '''Only output the intermediary debug information describing what +would happen, and don't create any output files.''' + +app = typer.Typer() + + +@app.command() +def main( + schema: str = typer.Argument(default=..., help=SCHEMA_DESC), + input: str = typer.Argument(default=..., help=INPUT_DESC), + orgs: List[str] = typer.Option(default=[], help=ORGS_DESC), + outfmt: OutFmt = typer.Option(default=OutFmt.EXCEL, help=OUTFMT_DESC), + outdir: str = typer.Option(default='./', help=OUTDIR_DESC), + debug: Annotated[bool, typer.Option("-d", "--dry-run", "--debug", + help=DEBUG_DESC)] = False, +) -> None: + for org, tabledata in sh.extract(input, schema, orgs).items(): + print(org) + for table, data in tabledata.items(): + print(table) + + +if __name__ == '__main__': + app() From 6fe59d0f3204ef3111e7c54321053f5b9acaaa35 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 7 May 2024 13:47:07 -0400 Subject: [PATCH 004/174] add tmp parse test --- src/odm_sharing/sharing.py | 12 ++++++++++-- tools/share.py | 14 +++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 00b3015a..455155b1 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -1,11 +1,12 @@ from typing import Dict, List, Tuple +from pprint import pprint import pandas as pd import odm_sharing.private from odm_sharing.private.cons import Connection from odm_sharing.private.queries import Query -from odm_sharing.private.rules import RuleId +from odm_sharing.private.rules import ParseError, RuleId # type aliases ColumnName = str @@ -23,7 +24,14 @@ def parse(schema_file: str, orgs: List[str] = [] ) -> Dict[OrgName, Dict[TableName, Query]]: '''returns queries for each org and table, generated from the rules specified in `schema_file`''' - pass + try: + rules = odm_sharing.private.rules.load(schema_file) + pprint(rules) + except ParseError: + pass + + # TODO: implement the rest + return None # type: ignore def get_data(c: Connection, q: Query) -> pd.DataFrame: diff --git a/tools/share.py b/tools/share.py index a160feaf..49382d08 100644 --- a/tools/share.py +++ b/tools/share.py @@ -30,17 +30,21 @@ class OutFmt(str, Enum): @app.command() def main( schema: str = typer.Argument(default=..., help=SCHEMA_DESC), - input: str = typer.Argument(default=..., help=INPUT_DESC), + input: str = typer.Argument(default='', help=INPUT_DESC), orgs: List[str] = typer.Option(default=[], help=ORGS_DESC), outfmt: OutFmt = typer.Option(default=OutFmt.EXCEL, help=OUTFMT_DESC), outdir: str = typer.Option(default='./', help=OUTDIR_DESC), debug: Annotated[bool, typer.Option("-d", "--dry-run", "--debug", help=DEBUG_DESC)] = False, ) -> None: - for org, tabledata in sh.extract(input, schema, orgs).items(): - print(org) - for table, data in tabledata.items(): - print(table) + if False: + for org, tabledata in sh.extract(input, schema, orgs).items(): + print(org) + for table, data in tabledata.items(): + print(table) + else: + # temporary functionality + sh.parse(schema) if __name__ == '__main__': From d0c2c916683545d9889203a5bc6aca766b944c31 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 8 May 2024 08:24:37 -0400 Subject: [PATCH 005/174] only validate missing headers - show missing - remove order enforcement --- src/odm_sharing/private/rules.py | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index d941c85c..c96f70f5 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -155,30 +155,12 @@ def get_field_name(column: str) -> str: def validate_headers(ctx: SchemaCtx, schema_headers: List[str]) -> None: - errors: List[ParseError] = [] - - # header count - expected_len = len(HEADERS) - actual_len = len(schema_headers) - if actual_len != expected_len: - msg = ( - f'got {actual_len} headers, ' + - f'expected {expected_len} ({HEADER_LIST_STR})') - errors.append(gen_error(ctx, msg)) - - # header names - for i, header in enumerate(schema_headers): - expected = HEADERS[i] - actual = schema_headers[i] - if actual != expected: - msg = ( - f'got header name {quote(actual)} ' + - f'for column #{i+1}, ' + - f'expected {quote(expected)}') - errors.append(gen_error(ctx, msg)) - - if errors: - raise ParseError(errors) + expected = set(HEADERS) + actual = set(schema_headers) + missing = expected - actual + if missing: + msg = f'missing headers: {", ".join(missing)}' + fail(ctx, msg) def validate_rule(ctx: SchemaCtx, rule: Rule) -> None: From fb097438d5ac6409c5d23d9a9360ded27ba2daba Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 8 May 2024 08:27:52 -0400 Subject: [PATCH 006/174] remove unnecessary prevalidation --- src/odm_sharing/private/rules.py | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index c96f70f5..0073bc89 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -86,17 +86,6 @@ def fail(ctx: SchemaCtx, desc: str) -> None: raise gen_error(ctx, desc) -def prevalidate_row(ctx: SchemaCtx, row: dict) -> None: - # called before coercing, can't coerce empty values - # only for non-str columns tho, maybe normalize this into something else - - # ruleID - col = 'ruleID' - if row[col] == '': - ctx.column = col - fail(ctx, 'missing value') - - def quote(x: str) -> str: return f"'{x}'" @@ -136,7 +125,6 @@ def get_field_name(column: str) -> str: return ('id' if column == 'ruleID' else column) result = Rule() - prevalidate_row(ctx, row) errors: List[ParseError] = [] for column, val in row.items(): if column == 'notes': From 15a8f9fd080fa84ea7329c18e1143e5a549fb33d Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 8 May 2024 08:32:03 -0400 Subject: [PATCH 007/174] tech-spec: update parse-errors --- docs/tech-spec.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/tech-spec.md b/docs/tech-spec.md index 7c55ec5e..aa79e2a6 100644 --- a/docs/tech-spec.md +++ b/docs/tech-spec.md @@ -194,10 +194,10 @@ The exception types that may be thrown, as well as examples of what they cover: - failed to read from data source - data source columns don't match query - ParseError: - - header is missing/invalid - - row/rule field value is missing/invalid - - rule is referencing a rule that doesn't exist or doesn't have the - expected field values + - headers are missing + - value can't be coerced to the correct type + - required table/key/operator/mode is missing + - invalid filter/group operator ### Examples From 0242db85719516e33572ca9c1eeab9735e265a37 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 8 May 2024 08:44:59 -0400 Subject: [PATCH 008/174] tech-spec: update rule schema parsing --- docs/tech-spec.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/tech-spec.md b/docs/tech-spec.md index aa79e2a6..c1da1e97 100644 --- a/docs/tech-spec.md +++ b/docs/tech-spec.md @@ -256,17 +256,19 @@ for table, query in table_queries.items(): ### CSV rule parsing -1. open schema file -2. parse each line into a rule obj: - - validate and throw exception on error -3. add each rule obj to a dictionary with rule id as key +1. read csv, or fail with OSError +2. normalize NA values +3. validate headers, or fail with ParseError(s) +4. parse each row into a rule obj: + - validate rule, or accumulate ParseError(s): + - coerce values into the right types + - check existence of required values + - check operator values +5. return a dict with rule-ids and rules, or raise accumulated errors Error messages should contain all the necessary info to find and fix the issue, -including the line number, row number, rule id and column name (if applicable). -Parsing can be wrapped in a try-block to accumulate errors instead of aborting -on the first error. This is a viable option since each line is parsed -individually, and their relationships aren't taken into account before the next -(AST generation) step. +including the line number and column name (if applicable). Errors can be +accumulated, but the result is only valid if no errors occured. ### AST generation From a294b663d1c7a753b96a1eccd220828b3c434c8d Mon Sep 17 00:00:00 2001 From: Yulric Sequeira Date: Thu, 9 May 2024 09:07:56 -0400 Subject: [PATCH 009/174] Typo --- src/odm_sharing/private/rules.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 0073bc89..09c89eb4 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -197,7 +197,7 @@ def load(schema_path: str) -> Dict[RuleId, Rule]: data = pd.read_csv(schema_path) data.fillna('', inplace=True) # replace NA values with empty string - # XXX: header errors are not catched, to avoid error propagation + # XXX: header errors are not cached, to avoid error propagation validate_headers(ctx, data.columns.to_list()) result: Dict[RuleId, Rule] = {} From 5e5592400b1c3ea826e2bb972ef52b3a67b5b8e5 Mon Sep 17 00:00:00 2001 From: Yulric Sequeira Date: Thu, 9 May 2024 13:26:29 -0400 Subject: [PATCH 010/174] Added docstrings and comments to the constructs in the rules.py file --- src/odm_sharing/private/rules.py | 151 ++++++++++++++++++++++++++++++- 1 file changed, 149 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 09c89eb4..57492fcc 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -20,13 +20,24 @@ def __repr__(self) -> str: class ParseError(Exception): + '''The error when parsing a sharing schema file''' pass class SchemaCtx: + '''Keeps track of the current state of the parsing process. This object + should be created at the beginning of the parsing process and its fields + updated throughout.''' + filename: str + '''The path of the schema file being parsed. This is the path as passed in + by the user.''' + row: int # zero-indexed + '''The current row being parsed''' + column: str + '''The current column being parsed within the current row''' def __init__(self, filename: str) -> None: self.filename = filename @@ -35,14 +46,18 @@ def __init__(self, filename: str) -> None: @property def line(self) -> int: + '''Increments the current row being parsed''' return self.row + 1 @dataclass(init=False) class Rule: + '''A sharing rule''' # XXX: should be immutable, but then we can't initialize it in a clean and # dynamic way id: int + '''The unique ID of the rule. This is mapped to the ruleId column in the + sharing schema file''' table: str mode: RuleMode key: str @@ -76,6 +91,16 @@ class Rule: def gen_error(ctx: SchemaCtx, desc: str) -> ParseError: + '''Creates a ParseError + + Parameters: + ctx (SchemaCtx): The context object for the current parsing process + desc (str): A human readable description for the error + + Returns: + ParseError + ''' + col = f',{ctx.column}' if ctx.column else '' msg = f'{ctx.filename}({ctx.line}{col}): {desc}' print('Error: ' + msg, file=sys.stderr) @@ -83,6 +108,18 @@ def gen_error(ctx: SchemaCtx, desc: str) -> ParseError: def fail(ctx: SchemaCtx, desc: str) -> None: + '''Create and throw an error encountered during the parsing process + Parameters: + ctx (SchemaCtx): The context object for the current parsing process + desc (str): A human readable description of the error + + + Returns: + None + + Raises: + ParseError: The error that is created + ''' raise gen_error(ctx, desc) @@ -91,6 +128,14 @@ def quote(x: str) -> str: def fmt_set(values: Iterable) -> str: + '''Formats the values in an iterable as a single string separated by commas + + Parameters: + values (Iterable): The iterable to format + + Returns: + str: The formatted string + ''' items = ','.join(map(quote, values)) return f'{{{items}}}' @@ -101,7 +146,22 @@ def coerce_value( # type: ignore column: str, val: str ) -> Any: - '''coerce value and validate type''' + '''coerce value and validate type of a column + + Parameters: + ctx (SchemaCtx): The context object for the current parsing process + type_class: The expected type of the column. This should be a value + from the dictionary returned by the `get_annotations` + function. + column (str): The name of the column + val (str): The column value + + Returns: + The coerced value + + Raises: + ParseError: When the column value cannot be coerced + ''' try: typed_val = (type_class)(val) return typed_val @@ -119,7 +179,18 @@ def get_expected(type_class) -> str: # type: ignore def init_rule(ctx: SchemaCtx, row: dict) -> Rule: - '''construct rule and coerce/validate value types''' + '''construct rule and coerce/validate value types. + + Parameters: + ctx (SchemaCtx): The context object for the current parsing process + row (dict): The row of the sharing schema file to parse + + Returns: + Rule: The created rule + + Raises: + ParseError: When a column(s) cannot be coerced into its type + ''' def get_field_name(column: str) -> str: return ('id' if column == 'ruleID' else column) @@ -143,6 +214,20 @@ def get_field_name(column: str) -> str: def validate_headers(ctx: SchemaCtx, schema_headers: List[str]) -> None: + '''Checks the columns in a sharing schema file. The only check done is + whether the expected columns have been found in the file. + + Parameters: + ctx (SchemaCtx): The context object for the current parsing process + schema_headers (List[str]): The list of columns in the schema file + + Returns: + None + + Raises: + ParseError: If the check fails + ''' + expected = set(HEADERS) actual = set(schema_headers) missing = expected - actual @@ -152,18 +237,65 @@ def validate_headers(ctx: SchemaCtx, schema_headers: List[str]) -> None: def validate_rule(ctx: SchemaCtx, rule: Rule) -> None: + '''Validates a rule object throwing a ParseError if validation fails. + + Validates the following: + + 1. The table column is not missing for a FILTER and SELECT rule + 2. The key column is not missing for a FILTER and SHARE rule + 3. The operator column is not missing for a FILTER and GROUP rule + 4. The operator column has the right values depending on the rule mode + 5. The value column is not missing + + Parameters: + ctx (SchemaCtx): The context object for the current parsing process + rule (Rule): The rule object to validate + + Returns: + None + + Raises: + ParseError: When the validation fails + ''' # called after constructing rule with typed fields errors: List[ParseError] = [] def check_required(ctx: SchemaCtx, val: str, mode: RuleMode, modes: Union[set, list]) -> None: + '''Validates that a column value in a row is not missing based on the mode + for that row. For example, the table column is mandatory when the mode is + SELECT or FILTER. If validation is found then a ParseError is added to the + list of errors. + + Parameters: + ctx (SchemaCtx): The context object for the current parsing process + val (str): The column value to validate + mode (RuleMode): The mode for the column value + modes (Union[set, list]): The list of modes for which the column should + not have a missing value + + Returns: + None + ''' if not val and mode in modes: msg = f'{ctx.column} required for modes {fmt_set(modes)}' errors.append(gen_error(ctx, msg)) def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] ) -> None: + '''Checks if a column value is one of the expected values. If the check + fails then a ParseError is added to the list of errors. + + Parameters: + ctx (SchemaCtx): The context object for the current parsing process + actual (str): The column value to check + expected (Union[set, list]): The list of values the column value can + take + + Returns: + None + ''' if actual not in expected: msg = f'got {quote(actual)}, expected {fmt_set(expected)}' errors.append(gen_error(ctx, msg)) @@ -193,6 +325,19 @@ def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] def load(schema_path: str) -> Dict[RuleId, Rule]: + '''Converts a sharing schema CSV file into a format used by other functions + in the library + + Parameters: + schema_path (str): The file path of the sharing schema file to convert + + Returns: + Dict[RuleId, Rule]: A dictionary where each field is ID of the rule and + the value is the corresponding rule + + Raises: + ParseError: If the file parsing failed + ''' ctx = SchemaCtx(schema_path) data = pd.read_csv(schema_path) data.fillna('', inplace=True) # replace NA values with empty string @@ -200,6 +345,8 @@ def load(schema_path: str) -> Dict[RuleId, Rule]: # XXX: header errors are not cached, to avoid error propagation validate_headers(ctx, data.columns.to_list()) + # Iterate through each row in the schema file creating the dictonary of rule + # objects and list of errors encountered during the creation result: Dict[RuleId, Rule] = {} errors: List[ParseError] = [] for i, row in enumerate(data.itertuples(index=False)): From eaa65d6a734716b88cc1c218ab2d0f2f33fcc5ca Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 9 May 2024 14:42:31 -0400 Subject: [PATCH 011/174] Revert "Typo" This reverts commit a294b663d1c7a753b96a1eccd220828b3c434c8d. It wasn't a typo, but I can reword if needed --- src/odm_sharing/private/rules.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 57492fcc..0be41557 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -342,7 +342,7 @@ def load(schema_path: str) -> Dict[RuleId, Rule]: data = pd.read_csv(schema_path) data.fillna('', inplace=True) # replace NA values with empty string - # XXX: header errors are not cached, to avoid error propagation + # XXX: header errors are not catched, to avoid error propagation validate_headers(ctx, data.columns.to_list()) # Iterate through each row in the schema file creating the dictonary of rule From 62f1f357cb81d0a7de8ce1dd04f4b66c1251db72 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 10 May 2024 10:50:38 -0400 Subject: [PATCH 012/174] fix docstrings and comments --- src/odm_sharing/private/rules.py | 177 ++++--------------------------- 1 file changed, 23 insertions(+), 154 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 0be41557..b0ddbe77 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -20,24 +20,17 @@ def __repr__(self) -> str: class ParseError(Exception): - '''The error when parsing a sharing schema file''' + '''schema parsing error''' pass class SchemaCtx: - '''Keeps track of the current state of the parsing process. This object - should be created at the beginning of the parsing process and its fields + '''Keeps track of the current state of the parsing process. This object + should be created at the beginning of the parsing process and its fields updated throughout.''' - filename: str - '''The path of the schema file being parsed. This is the path as passed in - by the user.''' - - row: int # zero-indexed - '''The current row being parsed''' - - column: str - '''The current column being parsed within the current row''' + row: int # current row being parsed + column: str # current field being parsed def __init__(self, filename: str) -> None: self.filename = filename @@ -46,18 +39,16 @@ def __init__(self, filename: str) -> None: @property def line(self) -> int: - '''Increments the current row being parsed''' + '''line number of current row being parsed''' return self.row + 1 @dataclass(init=False) class Rule: - '''A sharing rule''' + '''A rule mapped from a sharing schema row''' # XXX: should be immutable, but then we can't initialize it in a clean and # dynamic way - id: int - '''The unique ID of the rule. This is mapped to the ruleId column in the - sharing schema file''' + id: int # aka ruleID table: str mode: RuleMode key: str @@ -91,16 +82,7 @@ class Rule: def gen_error(ctx: SchemaCtx, desc: str) -> ParseError: - '''Creates a ParseError - - Parameters: - ctx (SchemaCtx): The context object for the current parsing process - desc (str): A human readable description for the error - - Returns: - ParseError - ''' - + '''returns a ParseError''' col = f',{ctx.column}' if ctx.column else '' msg = f'{ctx.filename}({ctx.line}{col}): {desc}' print('Error: ' + msg, file=sys.stderr) @@ -108,18 +90,7 @@ def gen_error(ctx: SchemaCtx, desc: str) -> ParseError: def fail(ctx: SchemaCtx, desc: str) -> None: - '''Create and throw an error encountered during the parsing process - Parameters: - ctx (SchemaCtx): The context object for the current parsing process - desc (str): A human readable description of the error - - - Returns: - None - - Raises: - ParseError: The error that is created - ''' + '''raises a ParseError''' raise gen_error(ctx, desc) @@ -128,14 +99,7 @@ def quote(x: str) -> str: def fmt_set(values: Iterable) -> str: - '''Formats the values in an iterable as a single string separated by commas - - Parameters: - values (Iterable): The iterable to format - - Returns: - str: The formatted string - ''' + '''returns a comma-separated string of the items in `values`''' items = ','.join(map(quote, values)) return f'{{{items}}}' @@ -146,22 +110,7 @@ def coerce_value( # type: ignore column: str, val: str ) -> Any: - '''coerce value and validate type of a column - - Parameters: - ctx (SchemaCtx): The context object for the current parsing process - type_class: The expected type of the column. This should be a value - from the dictionary returned by the `get_annotations` - function. - column (str): The name of the column - val (str): The column value - - Returns: - The coerced value - - Raises: - ParseError: When the column value cannot be coerced - ''' + '''converts a value to the specified type, or fails''' try: typed_val = (type_class)(val) return typed_val @@ -178,26 +127,15 @@ def get_expected(type_class) -> str: # type: ignore fail(ctx, f'got {quote(val)}, expected {expected}') -def init_rule(ctx: SchemaCtx, row: dict) -> Rule: - '''construct rule and coerce/validate value types. - - Parameters: - ctx (SchemaCtx): The context object for the current parsing process - row (dict): The row of the sharing schema file to parse - - Returns: - Rule: The created rule - - Raises: - ParseError: When a column(s) cannot be coerced into its type - ''' +def init_rule(ctx: SchemaCtx, schema_row: dict) -> Rule: + '''constructs a rule from a schema row, or fails with list of errors''' def get_field_name(column: str) -> str: return ('id' if column == 'ruleID' else column) result = Rule() errors: List[ParseError] = [] - for column, val in row.items(): + for column, val in schema_row.items(): if column == 'notes': continue ctx.column = column @@ -214,20 +152,7 @@ def get_field_name(column: str) -> str: def validate_headers(ctx: SchemaCtx, schema_headers: List[str]) -> None: - '''Checks the columns in a sharing schema file. The only check done is - whether the expected columns have been found in the file. - - Parameters: - ctx (SchemaCtx): The context object for the current parsing process - schema_headers (List[str]): The list of columns in the schema file - - Returns: - None - - Raises: - ParseError: If the check fails - ''' - + '''validates schema headers, or fails''' expected = set(HEADERS) actual = set(schema_headers) missing = expected - actual @@ -237,65 +162,18 @@ def validate_headers(ctx: SchemaCtx, schema_headers: List[str]) -> None: def validate_rule(ctx: SchemaCtx, rule: Rule) -> None: - '''Validates a rule object throwing a ParseError if validation fails. - - Validates the following: - - 1. The table column is not missing for a FILTER and SELECT rule - 2. The key column is not missing for a FILTER and SHARE rule - 3. The operator column is not missing for a FILTER and GROUP rule - 4. The operator column has the right values depending on the rule mode - 5. The value column is not missing - - Parameters: - ctx (SchemaCtx): The context object for the current parsing process - rule (Rule): The rule object to validate - - Returns: - None - - Raises: - ParseError: When the validation fails - ''' - # called after constructing rule with typed fields - + '''checks that the rule's values are valid according to its mode, or fails + with a list of errors''' errors: List[ParseError] = [] def check_required(ctx: SchemaCtx, val: str, mode: RuleMode, modes: Union[set, list]) -> None: - '''Validates that a column value in a row is not missing based on the mode - for that row. For example, the table column is mandatory when the mode is - SELECT or FILTER. If validation is found then a ParseError is added to the - list of errors. - - Parameters: - ctx (SchemaCtx): The context object for the current parsing process - val (str): The column value to validate - mode (RuleMode): The mode for the column value - modes (Union[set, list]): The list of modes for which the column should - not have a missing value - - Returns: - None - ''' if not val and mode in modes: msg = f'{ctx.column} required for modes {fmt_set(modes)}' errors.append(gen_error(ctx, msg)) def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] ) -> None: - '''Checks if a column value is one of the expected values. If the check - fails then a ParseError is added to the list of errors. - - Parameters: - ctx (SchemaCtx): The context object for the current parsing process - actual (str): The column value to check - expected (Union[set, list]): The list of values the column value can - take - - Returns: - None - ''' if actual not in expected: msg = f'got {quote(actual)}, expected {fmt_set(expected)}' errors.append(gen_error(ctx, msg)) @@ -325,28 +203,19 @@ def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] def load(schema_path: str) -> Dict[RuleId, Rule]: - '''Converts a sharing schema CSV file into a format used by other functions - in the library - - Parameters: - schema_path (str): The file path of the sharing schema file to convert - - Returns: - Dict[RuleId, Rule]: A dictionary where each field is ID of the rule and - the value is the corresponding rule + '''loads a sharing schema - Raises: - ParseError: If the file parsing failed + :returns: rules parsed from schema, by rule id + :raises ParseError: ''' ctx = SchemaCtx(schema_path) data = pd.read_csv(schema_path) data.fillna('', inplace=True) # replace NA values with empty string - # XXX: header errors are not catched, to avoid error propagation + # XXX: loading is aborted on header errors since row-parsing depends on it validate_headers(ctx, data.columns.to_list()) - # Iterate through each row in the schema file creating the dictonary of rule - # objects and list of errors encountered during the creation + # iterate dataset and parse each row into a sharing rule obj result: Dict[RuleId, Rule] = {} errors: List[ParseError] = [] for i, row in enumerate(data.itertuples(index=False)): From 69bf4bb40bffba3bbc7702e8238177b6af120482 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 10 May 2024 10:51:33 -0400 Subject: [PATCH 013/174] fix coerce_value params --- src/odm_sharing/private/rules.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index b0ddbe77..ca56c025 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -107,12 +107,11 @@ def fmt_set(values: Iterable) -> str: def coerce_value( # type: ignore ctx: SchemaCtx, type_class, - column: str, - val: str + value: str ) -> Any: '''converts a value to the specified type, or fails''' try: - typed_val = (type_class)(val) + typed_val = (type_class)(value) return typed_val except ValueError: @@ -124,7 +123,7 @@ def get_expected(type_class) -> str: # type: ignore return name expected = get_expected(type_class) - fail(ctx, f'got {quote(val)}, expected {expected}') + fail(ctx, f'got {quote(value)}, expected {expected}') def init_rule(ctx: SchemaCtx, schema_row: dict) -> Rule: @@ -142,7 +141,7 @@ def get_field_name(column: str) -> str: field = get_field_name(column) type_class = RULE_FIELD_TYPES[field] try: - typed_val = coerce_value(ctx, type_class, column, val) + typed_val = coerce_value(ctx, type_class, val) result.__setattr__(field, typed_val) except ParseError as e: errors.append(e) From 68fe6c0a377ee8805f951e513d9065dd80bd2820 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 10 May 2024 11:18:26 -0400 Subject: [PATCH 014/174] fix filename --- src/odm_sharing/private/rules.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index ca56c025..850532aa 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -2,6 +2,7 @@ from dataclasses import dataclass from enum import Enum, EnumMeta +from pathlib import Path from typing import Any, Dict, Iterable, List, Union import pandas as pd @@ -207,7 +208,8 @@ def load(schema_path: str) -> Dict[RuleId, Rule]: :returns: rules parsed from schema, by rule id :raises ParseError: ''' - ctx = SchemaCtx(schema_path) + filename = Path(schema_path).name + ctx = SchemaCtx(filename) data = pd.read_csv(schema_path) data.fillna('', inplace=True) # replace NA values with empty string From 251672cacef63f180a8e92086c600d1be6b5b745 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 15 May 2024 13:09:26 -0400 Subject: [PATCH 015/174] refactor --- src/odm_sharing/private/rules.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 850532aa..318c38cb 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -112,16 +112,15 @@ def coerce_value( # type: ignore ) -> Any: '''converts a value to the specified type, or fails''' try: - typed_val = (type_class)(value) + typed_val = type_class(value) return typed_val except ValueError: def get_expected(type_class) -> str: # type: ignore - name = type_class.__name__ if type(type_class) is EnumMeta: return fmt_set(list(type_class)) else: - return name + return type_class.__name__ expected = get_expected(type_class) fail(ctx, f'got {quote(value)}, expected {expected}') From b7283259c1eb90c139df3fdffc08b15fccd37ef0 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 15 May 2024 13:17:27 -0400 Subject: [PATCH 016/174] improve coerce_value docstring --- src/odm_sharing/private/rules.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 318c38cb..ec2ae54c 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -110,7 +110,12 @@ def coerce_value( # type: ignore type_class, value: str ) -> Any: - '''converts a value to the specified type, or fails''' + '''converts a value from string to the specified type, using the type class + (aka. class-constructor) for that type. + + :param type_class: str, int, MyEnum, etc. + :raises ParseError: + ''' try: typed_val = type_class(value) return typed_val From a3d9b70cb6142eafb0de98a53a6ea3232921bc29 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 15 May 2024 13:18:26 -0400 Subject: [PATCH 017/174] specify error type names in docstrings --- src/odm_sharing/private/rules.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index ec2ae54c..cc0507cf 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -132,7 +132,7 @@ def get_expected(type_class) -> str: # type: ignore def init_rule(ctx: SchemaCtx, schema_row: dict) -> Rule: - '''constructs a rule from a schema row, or fails with list of errors''' + '''constructs a rule from a schema row, or raises list of ParseError(s)''' def get_field_name(column: str) -> str: return ('id' if column == 'ruleID' else column) @@ -156,7 +156,7 @@ def get_field_name(column: str) -> str: def validate_headers(ctx: SchemaCtx, schema_headers: List[str]) -> None: - '''validates schema headers, or fails''' + '''validates schema headers, or raises ParseError''' expected = set(HEADERS) actual = set(schema_headers) missing = expected - actual @@ -166,8 +166,8 @@ def validate_headers(ctx: SchemaCtx, schema_headers: List[str]) -> None: def validate_rule(ctx: SchemaCtx, rule: Rule) -> None: - '''checks that the rule's values are valid according to its mode, or fails - with a list of errors''' + '''checks that the rule's values are valid according to its mode, or raises + list of ParseError(s)''' errors: List[ParseError] = [] def check_required(ctx: SchemaCtx, val: str, mode: RuleMode, @@ -210,7 +210,7 @@ def load(schema_path: str) -> Dict[RuleId, Rule]: '''loads a sharing schema :returns: rules parsed from schema, by rule id - :raises ParseError: + :raises OSError, ParseError: ''' filename = Path(schema_path).name ctx = SchemaCtx(filename) From 26dba55d5a17c6873e2809e2b056758077390b7b Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 8 May 2024 10:58:42 -0400 Subject: [PATCH 018/174] readme: remove 'all' for tables having the option to use 'all' for tables would complicate the implementation since schema parsing becomes dependent on the tables that exist in the input-data --- README.md | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 720e250b..7c203efe 100644 --- a/README.md +++ b/README.md @@ -162,8 +162,8 @@ distinct column names with a ";". The `key` and `operator` columns should be left blank (or `NA`) as they are not used in these rules, and any values in these columns for `select`-mode rows will be ignored. -To select all tables or all columns, an `all` value can be used in the `table` -and/or `value` columns of the sharing csv. +To select all columns, an `all` value can be used in the `value` column of the +sharing csv. Some examples are given below: @@ -192,12 +192,6 @@ table |--------------|----------|--------|-----|----------|------------|-----------| | 4 | measures;samples | select | NA | NA | purposeID | NA | -5. Selecting the `siteID` column in all tables - - | ruleId | table | mode | key | operator | value | notes | - |--------------|----------|--------|-----|----------|------------|-----------| - | 5 | all | select | NA | NA | siteID | NA | - Notes: - In examples 2 and 4 where multiple columns and tables were selected @@ -205,9 +199,9 @@ Notes: document when multiple values need to listed in a single cell, the `;` symbol should be used to separate discrete values. -- In examples 3 and 5 where all the columns in a table and all the tables - were selected respectively, the keyword `all` was used. Similar to the `;` - symbol, the keyword `all` may be used in a cell to mean everything. +- In examples 3 where all the columns in a table were selected, the keyword + `all` was used. Similar to the `;` symbol, the keyword `all` may be used in + a cell to mean everything. - The **ruleId** column is mandatory for all rules and each value is unique across the entire sheet (`sharing.csv`). It must be a number. From 6dc1a05f25cdba3afad8d17f9393235b04ab58ea Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 24 May 2024 16:32:43 -0400 Subject: [PATCH 019/174] install: tweak --- INSTALL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 79d034d4..5f31c752 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -2,8 +2,8 @@ ## system dependencies -- python >= 3.8 -- pyenv (or python 3.8) +- Python >= 3.8 +- pyenv (for development with Python 3.8) ## development setup From 5ba7a42752e4a69d2d9962283a1e198078e57038 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 24 May 2024 16:33:37 -0400 Subject: [PATCH 020/174] install: add sqlite install instructions --- INSTALL.md | 1 + docs/sqlite.md | 101 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 docs/sqlite.md diff --git a/INSTALL.md b/INSTALL.md index 5f31c752..8c71f56d 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -3,6 +3,7 @@ ## system dependencies - Python >= 3.8 +- [SQLite](docs/sqlite.md#installation) - pyenv (for development with Python 3.8) ## development setup diff --git a/docs/sqlite.md b/docs/sqlite.md new file mode 100644 index 00000000..8d9c4841 --- /dev/null +++ b/docs/sqlite.md @@ -0,0 +1,101 @@ +# SQLite + +## Installation + +To install the SQLite library, follow the steps for your system: + +### Windows + +1. **Download SQLite:** + Go to the [SQLite download page](https://www.sqlite.org/download.html) and + download the precompiled binaries for Windows. Download the following files: + - sqlite-tools-win32-x86-XXXXXX.zip (contains the SQLite command-line tools) + - sqlite-dll-win32-x86-XXXXXX.zip or sqlite-dll-win64-x64-XXXXXX.zip + (contains the SQLite DLL) + +2. **Extract the Files:** + Extract the contents of these ZIP files to a directory of your choice, for example, `C:\sqlite`. + +3. **Add SQLite to PATH:** + Add the directory containing `sqlite3.exe` to your system's PATH environment variable: + - Open the Start Menu, search for "Environment Variables", and select "Edit the system environment variables". + - In the System Properties window, click on the "Environment Variables" button. + - In the Environment Variables window, find the "Path" variable in the "System variables" section and click "Edit". + - Click "New" and add the path to the directory where you extracted the SQLite binaries, for example, `C:\sqlite`. + - Click "OK" to close all windows. + +4. **Verify the Installation:** + Open a new Command Prompt window and run: + ```sh + sqlite3 --version + ``` + This should print the version of SQLite installed. + +### macOS + +1. **Install Homebrew:** + Homebrew is a popular package manager for macOS. If you don't have Homebrew + installed, you can install it by running the following command in your + terminal: + ```sh + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + ``` + +2. **Install SQLite:** + Once Homebrew is installed, you can install SQLite by running: + ```sh + brew install sqlite3 + ``` + +3. **Verify the Installation:** + After the installation is complete, you can verify that SQLite is installed + correctly by running: + ```sh + sqlite3 --version + ``` + This should print the version of SQLite installed. + +4. **Reinstall Python:** + If Python was installed before SQLite, you might need to reinstall Python to + ensure it picks up the SQLite libraries. If you use `pyenv`, you can + reinstall Python as follows: + ```sh + pyenv uninstall + pyenv install + ``` + Replace `` with the specific version of Python you are + using. + +### Linux + +To install SQLite on (Ubuntu) Linux, you can follow these steps: + +1. **Update package list**: + ```sh + sudo apt update + ``` + +2. **Install SQLite**: SQLite can now be installed by running: + ```sh + sudo apt install sqlite3 + ``` +3. **Verify installation**: Once the installation is complete, you can verify + the installation by checking the software’s version: + ```sh + sqlite3 --version + ``` + This will output the version of SQLite installed on your system. + +## Verify SQLite Support in Python + + After installing SQLite, you should verify that SQLite works in Python. + + Open a Python shell (by typing `python` in a terminal) and try importing the + `sqlite3` module: + + ```python + import sqlite3 + print(sqlite3.version) + ``` + + If no errors are encountered, SQLite is ready for use with Python. From eaf369c2e13d75953fac069817271b6413d0180d Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 23 May 2024 08:02:31 -0400 Subject: [PATCH 021/174] docs/tech-spec: fix node field names --- docs/tech-spec.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/tech-spec.md b/docs/tech-spec.md index c1da1e97..eb47b933 100644 --- a/docs/tech-spec.md +++ b/docs/tech-spec.md @@ -291,10 +291,10 @@ Node kinds: Node structure: -- (ruleId: int) +- rule_id: int - kind: NodeKind - str_val: str -- children: List[Node] +- sons: List[Node] Tree structure: From b54b02b149179f16d2d998bca9491357c7c4c020 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 23 May 2024 08:11:18 -0400 Subject: [PATCH 022/174] docs/tech-spec: fix param name --- docs/tech-spec.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/tech-spec.md b/docs/tech-spec.md index eb47b933..4846e083 100644 --- a/docs/tech-spec.md +++ b/docs/tech-spec.md @@ -125,10 +125,10 @@ package): Exceptions: ConnectionError - - `parse(schema_file: str, orgs=[]) -> Dict[OrgName, Dict[TableName, Query]]` + - `parse(schema_path: str, orgs=[]) -> Dict[OrgName, Dict[TableName, Query]]` returns queries for each org and table, generated from the rules - specified in `schema_file` + specified in `schema_path` Exceptions: OSError, ParseError From 9df9f25af6db86afb0398ac982b5f501e7f7dba0 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 8 May 2024 10:14:37 -0400 Subject: [PATCH 023/174] sort requirements --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 1a825daf..8f6f8524 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ +SQLAlchemy==2.0.29 openpyxl==3.1.2 pandas==2.0.3 typer==0.12.3 -SQLAlchemy==2.0.29 From 4d64970f49d9d00ea3e13c81a4228b65f261a557 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 8 May 2024 10:14:45 -0400 Subject: [PATCH 024/174] add pyfunctional requirement --- mypy.ini | 6 ++++++ requirements.txt | 1 + 2 files changed, 7 insertions(+) diff --git a/mypy.ini b/mypy.ini index 4480da0a..0087c279 100644 --- a/mypy.ini +++ b/mypy.ini @@ -6,3 +6,9 @@ no_implicit_optional = True explicit_package_bases = True mypy_path = ./src files = ./src/**/*.py + +# libraries +# + +[mypy-functional] +ignore_missing_imports = True diff --git a/requirements.txt b/requirements.txt index 8f6f8524..3e2892e9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ SQLAlchemy==2.0.29 openpyxl==3.1.2 pandas==2.0.3 +pyfunctional==1.5.0 typer==0.12.3 From 5ddd1e21a72235943ad0b21e365f39495b39f529 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 8 May 2024 10:42:52 -0400 Subject: [PATCH 025/174] rules: refactor quote --- src/odm_sharing/private/rules.py | 12 +++++------- src/odm_sharing/private/utils.py | 3 +++ 2 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 src/odm_sharing/private/utils.py diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index cc0507cf..c5c09e21 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -7,6 +7,8 @@ import pandas as pd +from odm_sharing.private.utils import qt + RuleId = int @@ -95,13 +97,9 @@ def fail(ctx: SchemaCtx, desc: str) -> None: raise gen_error(ctx, desc) -def quote(x: str) -> str: - return f"'{x}'" - - def fmt_set(values: Iterable) -> str: '''returns a comma-separated string of the items in `values`''' - items = ','.join(map(quote, values)) + items = ','.join(map(qt, values)) return f'{{{items}}}' @@ -128,7 +126,7 @@ def get_expected(type_class) -> str: # type: ignore return type_class.__name__ expected = get_expected(type_class) - fail(ctx, f'got {quote(value)}, expected {expected}') + fail(ctx, f'got {qt(value)}, expected {expected}') def init_rule(ctx: SchemaCtx, schema_row: dict) -> Rule: @@ -179,7 +177,7 @@ def check_required(ctx: SchemaCtx, val: str, mode: RuleMode, def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] ) -> None: if actual not in expected: - msg = f'got {quote(actual)}, expected {fmt_set(expected)}' + msg = f'got {qt(actual)}, expected {fmt_set(expected)}' errors.append(gen_error(ctx, msg)) ctx.column = 'table' diff --git a/src/odm_sharing/private/utils.py b/src/odm_sharing/private/utils.py new file mode 100644 index 00000000..fa63422b --- /dev/null +++ b/src/odm_sharing/private/utils.py @@ -0,0 +1,3 @@ +def qt(x: str) -> str: + '''quote `x`''' + return f"'{x}'" From 409fdd51545aadf27a95a80468d17b49ae7088a7 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 9 May 2024 08:44:30 -0400 Subject: [PATCH 026/174] rules: cleanup --- src/odm_sharing/private/rules.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index c5c09e21..1bb96b45 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -22,11 +22,6 @@ def __repr__(self) -> str: return self.value -class ParseError(Exception): - '''schema parsing error''' - pass - - class SchemaCtx: '''Keeps track of the current state of the parsing process. This object should be created at the beginning of the parsing process and its fields @@ -59,6 +54,10 @@ class Rule: value: str +class ParseError(Exception): + pass + + HEADERS = [ 'ruleID', 'table', From af2778c1e1eda983be0a9c0c2e45d765538cbd21 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 9 May 2024 09:18:02 -0400 Subject: [PATCH 027/174] rules: make rule immutable and fix init --- src/odm_sharing/private/rules.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 1bb96b45..79bb713a 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -1,9 +1,9 @@ import sys -from dataclasses import dataclass +from dataclasses import dataclass, field from enum import Enum, EnumMeta from pathlib import Path -from typing import Any, Dict, Iterable, List, Union +from typing import Any, Dict, Iterable, List, Set, Union import pandas as pd @@ -41,17 +41,15 @@ def line(self) -> int: return self.row + 1 -@dataclass(init=False) +@dataclass(frozen=True) class Rule: '''A rule mapped from a sharing schema row''' - # XXX: should be immutable, but then we can't initialize it in a clean and - # dynamic way id: int # aka ruleID table: str mode: RuleMode - key: str - operator: str - value: str + key: str = field(default='') + operator: str = field(default='') + value: str = field(default='') class ParseError(Exception): @@ -80,6 +78,7 @@ class ParseError(Exception): ALL_MODES = set(RuleMode) GROUP_OPERATORS = set(['AND', 'OR']) RULE_FIELD_TYPES = Rule.__annotations__ +RULE_FIELDS = set(RULE_FIELD_TYPES.keys()) HEADER_LIST_STR = ','.join(HEADERS) @@ -134,8 +133,13 @@ def init_rule(ctx: SchemaCtx, schema_row: dict) -> Rule: def get_field_name(column: str) -> str: return ('id' if column == 'ruleID' else column) - result = Rule() + def init_default_rule() -> Rule: + # XXX: `mode` doesn't have a default value, but it'll be overwritten + return Rule(id=0, table='', mode=RuleMode.SELECT) + + rule = init_default_rule() errors: List[ParseError] = [] + assigned_fields: Set[str] = set() for column, val in schema_row.items(): if column == 'notes': continue @@ -144,12 +148,14 @@ def get_field_name(column: str) -> str: type_class = RULE_FIELD_TYPES[field] try: typed_val = coerce_value(ctx, type_class, val) - result.__setattr__(field, typed_val) + object.__setattr__(rule, field, typed_val) + assigned_fields.add(field) except ParseError as e: errors.append(e) + assert assigned_fields == RULE_FIELDS, 'some rule fields were not set' if errors: raise ParseError(errors) - return result + return rule def validate_headers(ctx: SchemaCtx, schema_headers: List[str]) -> None: From ecef5e23d5a268771e70a286aefa418f3c7904a7 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 9 May 2024 13:21:15 -0400 Subject: [PATCH 028/174] rules: factor out enum classes to stdext --- src/odm_sharing/private/rules.py | 8 +++----- src/odm_sharing/private/stdext.py | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 src/odm_sharing/private/stdext.py diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 79bb713a..267e384a 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -1,26 +1,24 @@ import sys from dataclasses import dataclass, field -from enum import Enum, EnumMeta +from enum import EnumMeta from pathlib import Path from typing import Any, Dict, Iterable, List, Set, Union import pandas as pd +from odm_sharing.private.stdext import StrValueEnum from odm_sharing.private.utils import qt RuleId = int -class RuleMode(str, Enum): +class RuleMode(StrValueEnum): SELECT = 'select' FILTER = 'filter' GROUP = 'group' SHARE = 'share' - def __repr__(self) -> str: - return self.value - class SchemaCtx: '''Keeps track of the current state of the parsing process. This object diff --git a/src/odm_sharing/private/stdext.py b/src/odm_sharing/private/stdext.py new file mode 100644 index 00000000..3b7425ba --- /dev/null +++ b/src/odm_sharing/private/stdext.py @@ -0,0 +1,20 @@ +'''python standard library extensions''' + +from enum import Enum + + +class StrEnum(str, Enum): + '''shim for python < 3.11 + + Provides a ``__str__()`` function that returns the enum string-value, which + is useful for printing the value or comparing it with another string. + + See https://docs.python.org/3.11/library/enum.html#enum.StrEnum + ''' + pass + + +class StrValueEnum(StrEnum): + '''extension of `StrEnum` that makes it look cleaner with pprint''' + def __repr__(self) -> str: + return self.value From 2dc9bf61fbf91d525d89a74932744f08dcbbb100 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 9 May 2024 14:05:13 -0400 Subject: [PATCH 029/174] rules: rename ctx fields --- src/odm_sharing/private/rules.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 267e384a..c7134e53 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -25,18 +25,18 @@ class SchemaCtx: should be created at the beginning of the parsing process and its fields updated throughout.''' filename: str - row: int # current row being parsed - column: str # current field being parsed + row_ix: int + column: str def __init__(self, filename: str) -> None: self.filename = filename - self.row = 0 + self.row_ix = 0 self.column = '' @property - def line(self) -> int: + def line_num(self) -> int: '''line number of current row being parsed''' - return self.row + 1 + return self.row_ix + 1 @dataclass(frozen=True) @@ -83,7 +83,7 @@ class ParseError(Exception): def gen_error(ctx: SchemaCtx, desc: str) -> ParseError: '''returns a ParseError''' col = f',{ctx.column}' if ctx.column else '' - msg = f'{ctx.filename}({ctx.line}{col}): {desc}' + msg = f'{ctx.filename}({ctx.line_num}{col}): {desc}' print('Error: ' + msg, file=sys.stderr) return ParseError(msg) @@ -225,7 +225,7 @@ def load(schema_path: str) -> Dict[RuleId, Rule]: result: Dict[RuleId, Rule] = {} errors: List[ParseError] = [] for i, row in enumerate(data.itertuples(index=False)): - ctx.row = i + 1 + ctx.row_ix = i + 1 try: rule = init_rule(ctx, row._asdict()) validate_rule(ctx, rule) From 822e93206244d30524bad77944c6604858d21fee Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 16 May 2024 12:42:36 -0400 Subject: [PATCH 030/174] rules: add comments removed by mistake --- src/odm_sharing/private/rules.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index c7134e53..f2c56d17 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -25,8 +25,8 @@ class SchemaCtx: should be created at the beginning of the parsing process and its fields updated throughout.''' filename: str - row_ix: int - column: str + row_ix: int # current row being parsed + column: str # current field being parsed def __init__(self, filename: str) -> None: self.filename = filename From 49a828d1083ea83719dddce5292e2103056726a3 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 23 May 2024 07:42:18 -0400 Subject: [PATCH 031/174] rules: refactor validate_rule err --- src/odm_sharing/private/rules.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index f2c56d17..cfae29c9 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -171,17 +171,18 @@ def validate_rule(ctx: SchemaCtx, rule: Rule) -> None: list of ParseError(s)''' errors: List[ParseError] = [] + def err(msg: str) -> None: + errors.append(gen_error(ctx, msg)) + def check_required(ctx: SchemaCtx, val: str, mode: RuleMode, modes: Union[set, list]) -> None: if not val and mode in modes: - msg = f'{ctx.column} required for modes {fmt_set(modes)}' - errors.append(gen_error(ctx, msg)) + err(f'{ctx.column} required for modes {fmt_set(modes)}') def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] ) -> None: if actual not in expected: - msg = f'got {qt(actual)}, expected {fmt_set(expected)}' - errors.append(gen_error(ctx, msg)) + err(f'got {qt(actual)}, expected {fmt_set(expected)}') ctx.column = 'table' check_required(ctx, rule.table, rule.mode, From 7411fa63250b2062be914c3b5c698fde01553c53 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 23 May 2024 07:44:37 -0400 Subject: [PATCH 032/174] rules: enforce empty values --- src/odm_sharing/private/rules.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index cfae29c9..d750cb04 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -176,8 +176,13 @@ def err(msg: str) -> None: def check_required(ctx: SchemaCtx, val: str, mode: RuleMode, modes: Union[set, list]) -> None: - if not val and mode in modes: - err(f'{ctx.column} required for modes {fmt_set(modes)}') + has = bool(val) + should_have = mode in modes + for_modes = f'for modes {fmt_set(modes)}' + if has and not should_have: + err(f'{ctx.column} must be empty/NA {for_modes}') + elif not has and should_have: + err(f'{ctx.column} required {for_modes}') def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] ) -> None: From 813f33b576852da713ac41f1d29bf0735dbf82e8 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 23 May 2024 08:06:27 -0400 Subject: [PATCH 033/174] rules: add rule-id validation --- src/odm_sharing/private/rules.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index d750cb04..250bf2fc 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -189,6 +189,10 @@ def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] if actual not in expected: err(f'got {qt(actual)}, expected {fmt_set(expected)}') + ctx.column = 'ruleID' + if rule.id <= 0: + err(f'{ctx.column} must be greater than zero') + ctx.column = 'table' check_required(ctx, rule.table, rule.mode, [RuleMode.SELECT, RuleMode.FILTER]) From 178a6606987d4806f6f1c7ca31d2afc443bdd2aa Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 24 May 2024 15:53:17 -0400 Subject: [PATCH 034/174] rules: move init checks to test --- src/odm_sharing/private/rules.py | 3 --- tests/test_rules.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 tests/test_rules.py diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 250bf2fc..289accb7 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -137,7 +137,6 @@ def init_default_rule() -> Rule: rule = init_default_rule() errors: List[ParseError] = [] - assigned_fields: Set[str] = set() for column, val in schema_row.items(): if column == 'notes': continue @@ -147,10 +146,8 @@ def init_default_rule() -> Rule: try: typed_val = coerce_value(ctx, type_class, val) object.__setattr__(rule, field, typed_val) - assigned_fields.add(field) except ParseError as e: errors.append(e) - assert assigned_fields == RULE_FIELDS, 'some rule fields were not set' if errors: raise ParseError(errors) return rule diff --git a/tests/test_rules.py b/tests/test_rules.py new file mode 100644 index 00000000..89d044e0 --- /dev/null +++ b/tests/test_rules.py @@ -0,0 +1,29 @@ +import unittest + +import odm_sharing.private.rules as rules +from odm_sharing.private.rules import Rule, RuleMode, SchemaCtx, init_rule + + +class TestRules(unittest.TestCase): + def setUp(self) -> None: + self.ctx = SchemaCtx('test') + + def test_init_rule(self) -> None: + schema_row = { + 'ruleID': '1', + 'table': 'mytable', + 'mode': 'filter', + 'key': 'x', + 'operator': '=', + 'value': '2', + 'notes': '', + } + assert list(schema_row.keys()) == rules.HEADERS + actual = init_rule(self.ctx, schema_row) + expected = Rule(id=1, table='mytable', mode=RuleMode.FILTER, + key='x', operator='=', value='2') + self.assertEqual(actual, expected) + + +if __name__ == '__main__': + unittest.main() From 8eac8607fa735f51eca76de29ea6e5db0d1b3c86 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 12:46:12 -0400 Subject: [PATCH 035/174] rules: add table-modes constant --- src/odm_sharing/private/rules.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 289accb7..5df5fc83 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -78,6 +78,7 @@ class ParseError(Exception): RULE_FIELD_TYPES = Rule.__annotations__ RULE_FIELDS = set(RULE_FIELD_TYPES.keys()) HEADER_LIST_STR = ','.join(HEADERS) +TABLE_MODES = [RuleMode.SELECT, RuleMode.FILTER] def gen_error(ctx: SchemaCtx, desc: str) -> ParseError: @@ -191,8 +192,7 @@ def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] err(f'{ctx.column} must be greater than zero') ctx.column = 'table' - check_required(ctx, rule.table, rule.mode, - [RuleMode.SELECT, RuleMode.FILTER]) + check_required(ctx, rule.table, rule.mode, TABLE_MODES) ctx.column = 'key' check_required(ctx, rule.key, rule.mode, From f4ada09da83bff14ce078cfcf1c5130d33608ca2 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 7 May 2024 15:56:13 -0400 Subject: [PATCH 036/174] add trees module --- src/odm_sharing/private/trees.py | 495 +++++++++++++++++++++++++++++++ src/odm_sharing/private/utils.py | 7 + tests/3.1.1.csv | 3 + tests/3.1.2.csv | 3 + tests/3.1.3.csv | 3 + tests/3.1.4.csv | 3 + tests/3.2.csv | 10 + tests/4.1.csv | 6 + tests/4.3.csv | 6 + tests/4.4.csv | 10 + tests/5.1.csv | 11 + tests/test_trees.py | 253 ++++++++++++++++ 12 files changed, 810 insertions(+) create mode 100644 src/odm_sharing/private/trees.py create mode 100644 tests/3.1.1.csv create mode 100644 tests/3.1.2.csv create mode 100644 tests/3.1.3.csv create mode 100644 tests/3.1.4.csv create mode 100644 tests/3.2.csv create mode 100644 tests/4.1.csv create mode 100644 tests/4.3.csv create mode 100644 tests/4.4.csv create mode 100644 tests/5.1.csv create mode 100644 tests/test_trees.py diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py new file mode 100644 index 00000000..fa79f5af --- /dev/null +++ b/src/odm_sharing/private/trees.py @@ -0,0 +1,495 @@ +''' +This module contains the parsing of a set of rules into an abstract syntax tree. + +- Each rule in a sharing CSV sheet can only reference rules defined in a + previous row. +- a node has a type/kind, a value, and a list of children +- the children of a node is called 'sons' since it's shorter +- nodes are first added to ctx and then later added to parent nodes with O(1) + lookup, this way the tree is constructed incrementally while parsing each + rule +- share nodes are made to be children of a single root-node, since each org + gets its own node, there may be multiple share-rules, and the tree + can only have a single root node +- the root-node is updated every time a new share-node is added +- tables of each rule are cached for O(1) lookup + +Algorithm: + +for each rule: + for each table in rule, or just once if no table: + init node, depending on rule mode: + select: + kind = select + value = empty if sons are specified, otherwise 'all' + sons = a value node for each column name + filter: + kind = filter + value = operator + sons = + 1. a key node for the field name + 2. a value node for each filter value + group: + kind = group + value = operator + sons = nodes matching the rule's list of ids + share: + kind = root + sons = + for each organization: + kind = share + value = org + sons = + for each select-node referenced in share-rule: + for each table in select-node's rule: + kind = "table" + value = table + sons = + 1. select node + 2. filter/group node referenced in + share-node. Multiple nodes are + implicitly grouped with an AND-node. +''' + +import sys +# from pprint import pprint + +from collections import defaultdict +from dataclasses import dataclass, field +from functools import partial +from typing import Dict, List, Optional, Set, Union, cast + +from functional import seq + +from odm_sharing.private.common import TableName +from odm_sharing.private.stdext import StrEnum +from odm_sharing.private.utils import not_empty, qt +from odm_sharing.private.rules import ( + ParseError, + Rule, + RuleId, + RuleMode, + TABLE_MODES, +) + + +# {{{1 types + + +RuleTree = object # opaque + + +class Op(StrEnum): + AND = 'and' + EQ = '=' + GT = '>' + GTE = '>=' + LT = '<' + LTE = '<=' + OR = 'or' + RANGE = 'in' + + +class NodeKind(StrEnum): + ROOT = 'root' + SHARE = 'share' + TABLE = 'table' + SELECT = 'select' + GROUP = 'group' + FILTER = 'filter' + KEY = 'key' + VALUE = 'value' + + +@dataclass(frozen=True) +class Node: + rule_id: RuleId + kind: NodeKind + str_val: str = field(default_factory=str) + sons: list = field(default_factory=list) + + @staticmethod + def _get_repr(node, depth: int = 0) -> str: # type: ignore + result = (' ' * depth) + str(node) + '\n' + for child in node.sons: + result += Node._get_repr(child, depth+1) + return result + + def __repr__(self) -> str: + return Node._get_repr(self) + + def __str__(self) -> str: + return f'({self.rule_id}, {self.kind}, {qt(self.str_val)})' + + +class Ctx: + '''Keeps track of the current parsing process. This object should be + created at the beginning of the parsing process and its fields updated + throughout''' + filename: str # filename reference for error messages + rule_tables: Dict[RuleId, List[str]] # rule-table mapping + nodes: Dict[RuleId, Node] # collection of nodes + root: Optional[Node] # current tree root + rule_id: RuleId # current node's rule-id + + def __init__(self, filename: str) -> None: + self.filename = filename + self.rule_tables = defaultdict(list) + self.nodes = {} + self.root = None + self.rule_id = 0 + + +# {{{1 constants + + +ALL_LIT = "all" +VAL_SEP = ";" + + +# {{{1 error gen + + +def gen_error(ctx: Ctx, desc: str) -> ParseError: + msg = f'{ctx.filename}(rule {ctx.rule_id}): {desc}' + print('Error: ' + msg, file=sys.stderr) + return ParseError(msg) + + +def fail(ctx: Ctx, desc: str) -> None: + raise gen_error(ctx, desc) + + +# {{{1 input text parsing + + +def parse_list(ctx: Ctx, val_str: str, + min: int = 0, max: int = 0) -> List[str]: + '''splits a multiple-value string into a list, and validates the number of + elements + + :param min: min required number of elements, or zero + :param max: max required number of elements, or zero + + :raises ParseError + ''' + result = seq(val_str.split(VAL_SEP))\ + .map(str.strip)\ + .filter(not_empty)\ + .list() + n = len(result) + + has_constraint = min > 0 or max > 0 + absolute = min == max + no_max = max == 0 + in_range = min <= n <= max + + if has_constraint: + if absolute: + if n != min: + fail(ctx, f'expected {min} values, got {n}') + elif no_max: + if n < min: + fail(ctx, f'expected at least {min} values, got {n}') + elif not in_range: + fail(ctx, f'expected {min}-{max} values, got {n}') + + return result + + +def parse_int_list(ctx: Ctx, val_str: str, + min: int = 0, max: int = 0) -> List[int]: + '''splits a multiple-value string into a list of ints, or raises + ParseError. See `parse_list`.''' + int_strings = parse_list(ctx, val_str, min, max) + result = [0] * len(int_strings) + for i, int_str in enumerate(int_strings): + try: + result[i] = int(int_str) + except ValueError: + fail(ctx, 'invalid integer {qt(int_str)} (#{i}) in value list') + return result + + +def parse_mode(ctx: Ctx, mode_str: str) -> RuleMode: + '''converts str to mode enum, or raises ParseError''' + try: + return RuleMode(mode_str.upper()) + except ValueError: + raise gen_error(ctx, f'invalid mode {qt(mode_str)}') + + +def parse_op(ctx: Ctx, op_str: str) -> Op: + '''converts str to operator enum, or raises ParseError''' + try: + return Op(op_str.lower()) + except ValueError: + raise gen_error(ctx, f'invalid operator {qt(op_str)}') + + +# {{{1 ast gen + + +def is_filter_for_table(ctx: Ctx, table: str, node: Node) -> bool: + '''checks if the node is of kind filter/group and if its children + references the table''' + assert table != ALL_LIT + if node.kind == NodeKind.FILTER: + return (table in ctx.rule_tables[node.rule_id]) + elif node.kind == NodeKind.GROUP: + if node.sons: + return is_filter_for_table(ctx, table, node.sons[0]) + return False + + +def get_table_select_ids(ctx: Ctx, select_nodes: List[Node] + ) -> Dict[TableName, RuleId]: + '''returns mapping between tables and their select-rule ids, or raises + ParseError''' + # enforces only one select per table + result: Dict[TableName, RuleId] = {} + for node in select_nodes: + assert node.kind == NodeKind.SELECT + id = node.rule_id + select_tables = ctx.rule_tables[id] + for table in select_tables: + if table in result: + orig_id = result[table] + fail(ctx, f'select-rule {id}\'s table {qt(table)} ' + + f'is already used by select-rule {orig_id}') + result[table] = id + return result + + +def to_value_node(rule_id: int, val: str) -> Node: + '''init value-node with value''' + return Node(rule_id=rule_id, kind=NodeKind.VALUE, str_val=val.strip()) + + +def to_value_nodes(rule_id: RuleId, values: list) -> List[Node]: + '''init value-nodes from list of values''' + return seq(values)\ + .map(lambda x: Node(rule_id=rule_id, kind=NodeKind.VALUE, str_val=x))\ + .list() + + +def get_filter_root(ctx: Ctx, table: str, nodes: List[Node]) -> Optional[Node]: + '''returns the root of the filter node tree for the table''' + is_filter_for_table2 = partial(is_filter_for_table, ctx, table) + filter_nodes = seq(nodes).filter(is_filter_for_table2).list() + n = len(filter_nodes) + if n == 0: + return None + elif n == 1: + return filter_nodes[0] + else: + return Node( + rule_id=0, + kind=NodeKind.GROUP, + str_val=Op.AND.value, + sons=filter_nodes, + ) + + +def get_node(ctx: Ctx, rule_id: RuleId) -> Node: + '''returns node generated from the rule id, or raises ParseError''' + assert rule_id + try: + return ctx.nodes[rule_id] + except KeyError: + msg = (f'missing rule {rule_id}. ' + + 'Hint: Rules must be declared before they are referenced.') + raise gen_error(ctx, msg) + + +def init_node(ctx: Ctx, rule_id: RuleId, table: str, mode: RuleMode, + key: str, op_str: str, val_str: str) -> Node: + '''initializes and returns a new node from rule attributes, or raises + ParseError''' + get_ctx_node = partial(get_node, ctx) + + if mode == RuleMode.SELECT: + values = parse_list(ctx, val_str, 1) + use_all = ALL_LIT in values + to_value_node2 = partial(to_value_node, rule_id) + return Node( + rule_id=rule_id, + kind=NodeKind.SELECT, + str_val=(ALL_LIT if use_all else ''), + sons=([] if use_all else seq(values).map(to_value_node2).list()), + ) + elif mode == RuleMode.FILTER: + op = parse_op(ctx, op_str) + is_range = (op == Op.RANGE) + values = \ + parse_list(ctx, val_str, min=2, max=2) if is_range else [val_str] + key_node = Node(rule_id=rule_id, kind=NodeKind.KEY, str_val=key) + value_nodes = to_value_nodes(rule_id, values) + return Node( + rule_id=rule_id, + kind=NodeKind.FILTER, + str_val=op_str, + sons=([key_node] + value_nodes), + ) + elif mode == RuleMode.GROUP: + + def not_filter_group(node: Node) -> bool: + return node.kind not in [NodeKind.FILTER, NodeKind.GROUP] + + op = parse_op(ctx, op_str) + if op not in [Op.AND, Op.OR]: + fail(ctx, 'incompatible group operator') + ids = parse_int_list(ctx, val_str, min=2) + sons = seq(ids).map(get_ctx_node) + if sons.map(not_filter_group).any(): + fail(ctx, 'group-rules can only refer to other filter/group-rules') + return Node( + rule_id=rule_id, + kind=NodeKind.GROUP, + str_val=op.value, + sons=sons, + ) + elif mode == RuleMode.SHARE: + + def is_select(node: Node) -> bool: + return node.kind == NodeKind.SELECT + + def init_table_node(share_value_nodes: List[Node], + table: str, select_id: int) -> Node: + assert select_id + select_node = get_ctx_node(select_id) + filter_root = get_filter_root(ctx, table, share_value_nodes) + return Node( + rule_id=select_id, + kind=NodeKind.TABLE, + str_val=table, + sons=([select_node] + ([filter_root] if filter_root else [])), + ) + + def init_share_node(rule_id: int, table_nodes: List[Node], org: str + ) -> Node: + return Node( + rule_id=rule_id, + kind=NodeKind.SHARE, + str_val=org, + sons=table_nodes, + ) + + orgs = parse_list(ctx, key, min=1) + ids = parse_int_list(ctx, val_str, min=1) + + # the nodes the user wants to share with the specified orgs + share_value_nodes = seq(ids).map(get_ctx_node).list() + + select_nodes = seq(share_value_nodes).filter(is_select).list() + table_select_ids = get_table_select_ids(ctx, select_nodes) + + init_table_node2 = partial(init_table_node, share_value_nodes) + table_nodes = seq(table_select_ids.items())\ + .smap(init_table_node2)\ + .list() + + init_share_node2 = partial(init_share_node, rule_id, table_nodes) + share_nodes = seq(orgs).map(init_share_node2).list() + + root_node_candidate = Node( + rule_id=0, + kind=NodeKind.ROOT, + sons=share_nodes + ) + return root_node_candidate + else: + assert False, 'not all cases covered' + + +def add_node(ctx: Ctx, rule_id: RuleId, table: str, mode: RuleMode, + key: str, op_str: str, val_str: str) -> None: + '''parses a rule into a tree node, and adds it to the context object + + :param ctx: the context object to update + :param rule_id: rule id + :param table: rule table, required for select/filter rules, otherwise empty + :param mode: rule mode + :param key: rule key + :param op_str: rule operator + :param val_str: rule value + + :raises ParseError: + ''' + # - rule tables are recorded for later lookup + # - new nodes are added to ctx + # - new root nodes are also merged with ctx.root + if table: + ctx.rule_tables[rule_id].append(table) + node = init_node(ctx, rule_id, table, mode, key, op_str, val_str) + ctx.nodes[rule_id] = node + if node.kind == NodeKind.ROOT: + if not ctx.root: + ctx.root = node + else: + ctx.root = Node( + rule_id=0, + kind=NodeKind.ROOT, + sons=(ctx.root.sons+node.sons) + ) + + +def validate_schema(ctx: Ctx, rules: List[Rule]) -> None: + '''checks that the required rules are present in the schema + + :raises ParseError''' + if not seq(rules).filter(lambda x: x.mode == RuleMode.SHARE).any(): + fail(ctx, 'no share-rules in schema') + if not seq(rules).filter(lambda x: x.mode == RuleMode.SELECT).any(): + fail(ctx, 'no select-rules in schema') + + +def filter_rule_orgs(ctx: Ctx, rule: Rule, org_whitelist: Set[str]) -> Rule: + '''return a new rule with orgs filtered using whitelist''' + assert rule.mode == RuleMode.SHARE + rule_orgs = set(parse_list(ctx, rule.key, 1)) + new_orgs = rule_orgs & org_whitelist + orgs_str = VAL_SEP.join(new_orgs) + return Rule(id=rule.id, table='', mode=RuleMode.SHARE, key=orgs_str, + value=rule.value) + + +def parse(rules: Union[Dict[RuleId, Rule], List[Rule]], + orgs: List[str] = [], filename: str = '') -> RuleTree: + '''parses rules into an abstract syntax tree + + :param rules: collection of rules to be parsed + :param orgs: list of organization names to include, or an empty list for + all orgs + :param filename: the filename of the schema the rules were loaded from. + Only used as context in error messages + + :raises ParseError: + + :return: an opaque rule-tree object for query generation + ''' + if isinstance(rules, dict): + rules = list(rules.values()) + org_whitelist = set(orgs) + + ctx = Ctx(filename) + + # make sure schema has the required (share and select) rules + validate_schema(ctx, rules) + + for rule in rules: + ctx.rule_id = rule.id + + # remove non-whitelisted orgs, skip if no orgs left + if orgs and rule.mode == RuleMode.SHARE: + rule = filter_rule_orgs(ctx, rule, org_whitelist) + if not rule.key: + continue + + min_tables = 1 if rule.mode in TABLE_MODES else 0 + tables = parse_list(ctx, rule.table, min_tables) or [''] + for table in tables: + add_node(ctx, rule.id, table, rule.mode, rule.key, rule.operator, + rule.value) + assert ctx.root + return cast(RuleTree, ctx.root) diff --git a/src/odm_sharing/private/utils.py b/src/odm_sharing/private/utils.py index fa63422b..f2b7fe01 100644 --- a/src/odm_sharing/private/utils.py +++ b/src/odm_sharing/private/utils.py @@ -1,3 +1,10 @@ +from typing import Union + + def qt(x: str) -> str: '''quote `x`''' return f"'{x}'" + + +def not_empty(x: Union[list, set, str]) -> bool: + return len(x) > 0 diff --git a/tests/3.1.1.csv b/tests/3.1.1.csv new file mode 100644 index 00000000..fca13c2d --- /dev/null +++ b/tests/3.1.1.csv @@ -0,0 +1,3 @@ +ruleID,table,mode,key,operator,value,notes +1,samples,select,NA,NA,saMaterial, +2,NA,share,ohri,NA,1, diff --git a/tests/3.1.2.csv b/tests/3.1.2.csv new file mode 100644 index 00000000..4739a45d --- /dev/null +++ b/tests/3.1.2.csv @@ -0,0 +1,3 @@ +ruleID,table,mode,key,operator,value,notes +1,measures,select,NA,NA,reportable;pooled, +2,NA,share,ohri,NA,1, diff --git a/tests/3.1.3.csv b/tests/3.1.3.csv new file mode 100644 index 00000000..9873caae --- /dev/null +++ b/tests/3.1.3.csv @@ -0,0 +1,3 @@ +ruleID,table,mode,key,operator,value,notes +1,measures,select,NA,NA,all, +2,NA,share,ohri,NA,1, diff --git a/tests/3.1.4.csv b/tests/3.1.4.csv new file mode 100644 index 00000000..83e569bd --- /dev/null +++ b/tests/3.1.4.csv @@ -0,0 +1,3 @@ +ruleID,table,mode,key,operator,value,notes +1,measures;samples,select,NA,NA,purposeID, +2,NA,share,ohri,NA,1, diff --git a/tests/3.2.csv b/tests/3.2.csv new file mode 100644 index 00000000..4f0260e7 --- /dev/null +++ b/tests/3.2.csv @@ -0,0 +1,10 @@ +ruleID,table,mode,key,operator,value,notes +1,samples;measures,select,NA,NA,all, +2,samples,filter,siteID,=,ottawa-1, +3,samples,filter,collPer,>=,5, +4,samples,filter,collPer,<=,5, +5,measures,filter,aDateEnd,=,2022-02-01, +6,measures,filter,aDateEnd,in,2022-02-01;2022-02-28, +7,NA,group,NA,AND,2;3;4, +8,NA,group,NA,AND,5;6, +9,NA,share,ohri,NA,1;7;8, diff --git a/tests/4.1.csv b/tests/4.1.csv new file mode 100644 index 00000000..03d42b49 --- /dev/null +++ b/tests/4.1.csv @@ -0,0 +1,6 @@ +ruleID,table,mode,key,operator,value,notes +11,measures,select,NA,NA,all, +12,measures,filter,aDateEnd,=,2022-02-01, +13,measures,filter,aDateEnd,=,2023-02-01, +14,NA,group,NA,OR,12;13, +15,NA,share,ohri,NA,11;14, diff --git a/tests/4.3.csv b/tests/4.3.csv new file mode 100644 index 00000000..a64998ac --- /dev/null +++ b/tests/4.3.csv @@ -0,0 +1,6 @@ +ruleID,table,mode,key,operator,value,notes +11,samples,select,NA,NA,all, +12,samples,filter,siteID,=,ottawa-1, +13,samples,filter,collDT,=,2023-02-01, +14,NA,group,NA,AND,12;13, +15,NA,share,ohri,NA,11;14, diff --git a/tests/4.4.csv b/tests/4.4.csv new file mode 100644 index 00000000..742b5217 --- /dev/null +++ b/tests/4.4.csv @@ -0,0 +1,10 @@ +ruleID,table,mode,key,operator,value,notes +11,measures,select,NA,NA,measure;value;unit;aggregation, +12,measures,filter,measure,=,mPox, +13,measures,filter,reportDate,in,2021-01-01;2021-12-31, +14,NA,group,NA,AND,12;13, +15,measures,filter,measure,=,cov, +16,measures,filter,reportDate,>=,2020-01-01, +17,NA,group,NA,AND,15;16, +18,NA,group,NA,OR,14;17, +19,NA,share,ohri,NA,11;18, diff --git a/tests/5.1.csv b/tests/5.1.csv new file mode 100644 index 00000000..416afb39 --- /dev/null +++ b/tests/5.1.csv @@ -0,0 +1,11 @@ +ruleID,table,mode,key,operator,value,notes +11,measures,select,NA,NA,all, +12,measures,filter,aDateEnd,=,2022-02-01, +13,measures,filter,aDateEnd,=,2023-02-01, +14,NA,group,NA,OR,12;13, +15,samples,select,NA,NA,all, +16,samples,filter,siteID,=,ottawa-1, +17,samples,filter,siteID,=,laval-1, +18,NA,group,NA,OR,16;17, +31,NA,share,OPH;PHAC,NA,11;14;15, +32,NA,share,LPH,NA,11;14;15;18, diff --git a/tests/test_trees.py b/tests/test_trees.py new file mode 100644 index 00000000..606c926e --- /dev/null +++ b/tests/test_trees.py @@ -0,0 +1,253 @@ +import unittest +# from pprint import pprint + +import odm_sharing.private.trees as trees +from odm_sharing.private.rules import ParseError, Rule, RuleMode, load +from odm_sharing.private.trees import parse + + +class TestParseList(unittest.TestCase): + def setUp(self) -> None: + self.ctx = trees.Ctx('test') + + def test_no_constraint(self) -> None: + trees.parse_list(self.ctx, 'a') + trees.parse_list(self.ctx, 'a;b') + + def test_absolute(self) -> None: + trees.parse_list(self.ctx, 'a', 1, 1) + trees.parse_list(self.ctx, 'a;b', 2, 2) + with self.assertRaises(ParseError): + trees.parse_list(self.ctx, 'a;b;c', 2, 2) + + def test_min_only(self) -> None: + trees.parse_list(self.ctx, 'a', 1) + trees.parse_list(self.ctx, 'a;b', 1) + with self.assertRaises(ParseError): + trees.parse_list(self.ctx, 'a', 2) + + def test_not_in_range(self) -> None: + trees.parse_list(self.ctx, 'a', 1, 2) + trees.parse_list(self.ctx, 'a;b', 2, 3) + trees.parse_list(self.ctx, 'a;b;c', 2, 3) + with self.assertRaises(ParseError): + trees.parse_list(self.ctx, '', 1, 2) + with self.assertRaises(ParseError): + trees.parse_list(self.ctx, 'a;b', 3, 10) + + +def get_actual(schema_path: str) -> str: + rules = load(schema_path) + tree = parse(rules) + return tree.__repr__() + + +class TestParse(unittest.TestCase): + @classmethod + def setUpClass(cls) -> None: + cls.maxDiff = None + + def test_simple(self) -> None: + rules = [ + Rule(id=1, table='t', mode=RuleMode.SELECT, value='all'), + Rule(id=2, table='t', mode=RuleMode.FILTER, key='a', operator='=', + value='x'), + Rule(id=3, table='', mode=RuleMode.SHARE, key='OHRI', value='1;2'), + ] + tree = parse(rules, filename='test') + actual = tree.__repr__() + expected = '''(0, root, '') + (3, share, 'OHRI') + (1, table, 't') + (1, select, 'all') + (2, filter, '=') + (2, key, 'a') + (2, value, 'x') +''' + self.assertEqual(actual, expected) + + def test_select_one(self) -> None: + actual = get_actual('tests/3.1.1.csv') + expected = '''(0, root, '') + (2, share, 'ohri') + (1, table, 'samples') + (1, select, '') + (1, value, 'saMaterial') +''' + self.assertEqual(actual, expected, actual) + + def test_select_two(self) -> None: + actual = get_actual('tests/3.1.2.csv') + expected = '''(0, root, '') + (2, share, 'ohri') + (1, table, 'measures') + (1, select, '') + (1, value, 'reportable') + (1, value, 'pooled') +''' + self.assertEqual(actual, expected, actual) + + def test_select_all(self) -> None: + actual = get_actual('tests/3.1.3.csv') + expected = '''(0, root, '') + (2, share, 'ohri') + (1, table, 'measures') + (1, select, 'all') +''' + self.assertEqual(actual, expected, actual) + + def test_select_multiple_tables(self) -> None: + actual = get_actual('tests/3.1.4.csv') + expected = '''(0, root, '') + (2, share, 'ohri') + (1, table, 'measures') + (1, select, '') + (1, value, 'purposeID') + (1, table, 'samples') + (1, select, '') + (1, value, 'purposeID') +''' + self.assertEqual(actual, expected, actual) + + def test_filter(self) -> None: + actual = get_actual('tests/3.2.csv') + expected = '''(0, root, '') + (9, share, 'ohri') + (1, table, 'samples') + (1, select, 'all') + (7, group, 'and') + (2, filter, '=') + (2, key, 'siteID') + (2, value, 'ottawa-1') + (3, filter, '>=') + (3, key, 'collPer') + (3, value, '5') + (4, filter, '<=') + (4, key, 'collPer') + (4, value, '5') + (1, table, 'measures') + (1, select, 'all') + (8, group, 'and') + (5, filter, '=') + (5, key, 'aDateEnd') + (5, value, '2022-02-01') + (6, filter, 'in') + (6, key, 'aDateEnd') + (6, value, '2022-02-01') + (6, value, '2022-02-28') +''' + self.assertEqual(actual, expected) + + def test_group_or(self) -> None: + actual = get_actual('tests/4.1.csv') + expected = '''(0, root, '') + (15, share, 'ohri') + (11, table, 'measures') + (11, select, 'all') + (14, group, 'or') + (12, filter, '=') + (12, key, 'aDateEnd') + (12, value, '2022-02-01') + (13, filter, '=') + (13, key, 'aDateEnd') + (13, value, '2023-02-01') +''' + self.assertEqual(actual, expected) + + def test_group_and(self) -> None: + actual = get_actual('tests/4.3.csv') + expected = '''(0, root, '') + (15, share, 'ohri') + (11, table, 'samples') + (11, select, 'all') + (14, group, 'and') + (12, filter, '=') + (12, key, 'siteID') + (12, value, 'ottawa-1') + (13, filter, '=') + (13, key, 'collDT') + (13, value, '2023-02-01') +''' + self.assertEqual(actual, expected) + + def test_group_or_and(self) -> None: + actual = get_actual('tests/4.4.csv') + expected = '''(0, root, '') + (19, share, 'ohri') + (11, table, 'measures') + (11, select, '') + (11, value, 'measure') + (11, value, 'value') + (11, value, 'unit') + (11, value, 'aggregation') + (18, group, 'or') + (14, group, 'and') + (12, filter, '=') + (12, key, 'measure') + (12, value, 'mPox') + (13, filter, 'in') + (13, key, 'reportDate') + (13, value, '2021-01-01') + (13, value, '2021-12-31') + (17, group, 'and') + (15, filter, '=') + (15, key, 'measure') + (15, value, 'cov') + (16, filter, '>=') + (16, key, 'reportDate') + (16, value, '2020-01-01') +''' + self.assertEqual(actual, expected) + + def test_share_multi(self) -> None: + actual = get_actual('tests/5.1.csv') + expected = '''(0, root, '') + (31, share, 'OPH') + (11, table, 'measures') + (11, select, 'all') + (14, group, 'or') + (12, filter, '=') + (12, key, 'aDateEnd') + (12, value, '2022-02-01') + (13, filter, '=') + (13, key, 'aDateEnd') + (13, value, '2023-02-01') + (15, table, 'samples') + (15, select, 'all') + (31, share, 'PHAC') + (11, table, 'measures') + (11, select, 'all') + (14, group, 'or') + (12, filter, '=') + (12, key, 'aDateEnd') + (12, value, '2022-02-01') + (13, filter, '=') + (13, key, 'aDateEnd') + (13, value, '2023-02-01') + (15, table, 'samples') + (15, select, 'all') + (32, share, 'LPH') + (11, table, 'measures') + (11, select, 'all') + (14, group, 'or') + (12, filter, '=') + (12, key, 'aDateEnd') + (12, value, '2022-02-01') + (13, filter, '=') + (13, key, 'aDateEnd') + (13, value, '2023-02-01') + (15, table, 'samples') + (15, select, 'all') + (18, group, 'or') + (16, filter, '=') + (16, key, 'siteID') + (16, value, 'ottawa-1') + (17, filter, '=') + (17, key, 'siteID') + (17, value, 'laval-1') +''' + self.assertEqual(actual, expected) + + +if __name__ == '__main__': + unittest.main() From a6615d96b31f26182839b9dd6a65e8d564f2709c Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 16 May 2024 10:02:30 -0400 Subject: [PATCH 037/174] sharing: refactor --- src/odm_sharing/private/common.py | 1 + src/odm_sharing/sharing.py | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 src/odm_sharing/private/common.py diff --git a/src/odm_sharing/private/common.py b/src/odm_sharing/private/common.py new file mode 100644 index 00000000..ac39c489 --- /dev/null +++ b/src/odm_sharing/private/common.py @@ -0,0 +1 @@ +TableName = str diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 455155b1..35acb6fd 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -3,29 +3,29 @@ import pandas as pd -import odm_sharing.private +import odm_sharing.private as private from odm_sharing.private.cons import Connection from odm_sharing.private.queries import Query from odm_sharing.private.rules import ParseError, RuleId +from odm_sharing.private.common import TableName # type aliases ColumnName = str OrgName = str -TableName = str def connect(data_source: str) -> Connection: '''returns a connection object that can be used together with a query object to retrieve data from `data_source`''' - return odm_sharing.private.cons.connect(data_source) + return private.cons.connect(data_source) -def parse(schema_file: str, orgs: List[str] = [] +def parse(schema_path: str, orgs: List[str] = [] ) -> Dict[OrgName, Dict[TableName, Query]]: '''returns queries for each org and table, generated from the rules specified in `schema_file`''' try: - rules = odm_sharing.private.rules.load(schema_file) + rules = private.rules.load(schema_path) pprint(rules) except ParseError: pass @@ -37,7 +37,7 @@ def parse(schema_file: str, orgs: List[str] = [] def get_data(c: Connection, q: Query) -> pd.DataFrame: '''returns the data extracted from running query `q` on data-source connection `c`, as a pandas dataframe''' - return odm_sharing.private.cons.exec(c, q.data_sql) + return private.cons.exec(c, q.data_sql) def get_counts(c: Connection, q: Query) -> Dict[RuleId, int]: From de053886cf8e9563946a21b55a8b3efb7855a899 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 16 May 2024 10:04:16 -0400 Subject: [PATCH 038/174] sharing: parse rules into trees --- src/odm_sharing/sharing.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 35acb6fd..1bf61651 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -1,9 +1,11 @@ from typing import Dict, List, Tuple +from pathlib import Path from pprint import pprint import pandas as pd import odm_sharing.private as private +import odm_sharing.private.trees from odm_sharing.private.cons import Connection from odm_sharing.private.queries import Query from odm_sharing.private.rules import ParseError, RuleId @@ -26,7 +28,13 @@ def parse(schema_path: str, orgs: List[str] = [] specified in `schema_file`''' try: rules = private.rules.load(schema_path) + print('\nrules:') pprint(rules) + + filename = Path(schema_path).name + tree = private.trees.parse(rules, orgs, filename) + print('\nabstract syntax tree:') + pprint(tree) except ParseError: pass From 5f7d5adb5bb85b9f2e2ccef9d5b247bbd61e05da Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 16:09:45 -0400 Subject: [PATCH 039/174] readme: use 'in' operator for sets --- README.md | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 7c203efe..8338fcf6 100644 --- a/README.md +++ b/README.md @@ -244,9 +244,11 @@ between the `key` and the `value`. The currently accepted values for the - **\<=**: Denotes "lesser-than". This can be used for numeric, integer, or date-type variables. Note that it is inclusive of the value used in the expression. -- **in**: Denotes that a value is contained in a range of continuous data. - This can be used for numeric, integer, or date-type variables. Note that it - is inclusive of the values used in the expression. +- **in**: Denotes that a value is contained in either a range of continuous + data or a set of values. Range values are separated by `:` and can be used + for numeric, integer, or date-type variables, while sets are separated by + `;` and can be of any type. Note that both ranges and sets are inclusive of + the values used in the expression. Technically the `operator` column also accepts `AND` and `OR` as values, but only for rules of the `group` mode. @@ -289,6 +291,12 @@ is a date in February from the `measures` table. | ------ | -------- | ------ | -------- | -------- | --------------------- | ----- | | 10 | measures | filter | aDateEnd | in | 2022-02-01:2022-02-28 | | +6. Selecting only the rows where the value of `siteID` is either "ottawa-1" or + "laval-1" in the samples table. + + | ruleId | table | mode | key | operator | value | notes | + | ------ | -------- | ------ | -------- | -------- | ---------------- | ----- | + | 10 | samples | filter | siteID | in | ottawa-1;laval-1 | | ### 4. Grouping Rules @@ -478,11 +486,11 @@ ID is "ottawa-1" for Ottawa Public Health (OPH) material (`saMaterial`) is `rawWW` or `sweSed` for the Public Health Agency of Canada (PHAC) - | ruleId | table | mode | key | operator | value | notes | - |--------|----------|--------|------------|----------|--------------|-----------| - | 4 | samples | select | | | all | | - | 5 | samples | filter | saMaterial | = | rawWW;sweSed | | - | 6 | NA | share | PHAC | | 4;5 | | + | ruleId | table | mode | key | operator | value | notes | + |--------|---------|--------|------------|----------|--------------|-------| + | 4 | samples | select | | | all | | + | 5 | samples | filter | saMaterial | in | rawWW;sweSed | | + | 6 | NA | share | PHAC | | 4;5 | | 3. Share all rows, but select the `notes` column from all tables for Laval Public Health (LPH) @@ -735,7 +743,7 @@ example is shown below, |--------|------------------|--------|----------|----------|-----------------------|-------| | 1 | all | select | NA | NA | all | | | 2 | samples | filter | collDT | in | 2021-01-25:2021-02-25 | | -| 3 | samples;measures | filter | sampleID | = | pgsOttS101;pgsOttS102 | | +| 3 | samples;measures | filter | sampleID | in | pgsOttS101;pgsOttS102 | | | 4 | NA | share | PHAC | NA | 1;3 | | | 5 | NA | share | public | NA | 1;2;3 | | @@ -824,7 +832,7 @@ files), with one for the public and one for PHAC. |--------|------------------|--------|----------|----------|-----------------------|-------|---------------| | 1 | all | select | NA | NA | all | | 30 | | 2 | samples | filter | collDT | in | 2021-01-25:2021-02-25 | | 8 | -| 3 | samples;measures | filter | sampleID | = | pgsOttS101;pgsOttS102 | | 14 | +| 3 | samples;measures | filter | sampleID | in | pgsOttS101;pgsOttS102 | | 14 | | 4 | NA | share | PHAC | NA | 1;3 | | 20 | | 5 | NA | share | public | NA | 1;2;3 | | 16 | From 12e873da5fab10fbc7af940d45a5c92d979ee53b Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 22 May 2024 07:59:41 -0400 Subject: [PATCH 040/174] docs/tech-spec: fix func signature --- docs/tech-spec.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tech-spec.md b/docs/tech-spec.md index 4846e083..be9ea5f2 100644 --- a/docs/tech-spec.md +++ b/docs/tech-spec.md @@ -178,7 +178,7 @@ Parsing of rules into abstract syntax trees. (SQL) query generation from ASTs. -- generate(rt: RuleTree) -> Dict[OrgName, Query] +- generate(rt: RuleTree) -> Dict[OrgName, Dict[TableName, TableQuery]] ### Errors From eebe10fd780f02931545910ceee79c28e36dea75 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 30 May 2024 17:12:20 -0400 Subject: [PATCH 041/174] docs/tech-spec: add range-kind node --- docs/tech-spec.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/tech-spec.md b/docs/tech-spec.md index be9ea5f2..8c7ff4f4 100644 --- a/docs/tech-spec.md +++ b/docs/tech-spec.md @@ -288,6 +288,7 @@ Node kinds: - **filter**: defines a filter with operator, key and value - **field**: a field name - **literal**: a string literal +- **range-kind**: specifies if a range is an interval or a set Node structure: @@ -307,6 +308,7 @@ specified, so the filter.field node comes before any filter.literal nodes, etc. - filter: - (**filter**, rule.operator): - (**field**, rule.key) + - (**range-kind**, 'interval'/'set') # only present for 'in' operator - (**literal**, x) for x in rule.value - group: - (**group**, rule.operator): @@ -349,6 +351,7 @@ Example rules with its generated tree: (literal, "mPox") (filter, "in") (field, "reportDate") + (range-kind, "interval") (literal, "2021-01-01") (literal, "2021-12-31") (group, "AND") @@ -403,7 +406,7 @@ the table node: ``` operator = str_val - result = recurse(first-child) + operator + recurse(second-child) + result = recurse(first-child) + (logic depending on range-kind) ``` - **field**: From d6a556c5c0c06486365f4e988412463aa1932315 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 23 May 2024 13:41:35 -0400 Subject: [PATCH 042/174] rules: allow unknown headers --- src/odm_sharing/private/rules.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 5df5fc83..a8cda763 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -138,9 +138,10 @@ def init_default_rule() -> Rule: rule = init_default_rule() errors: List[ParseError] = [] - for column, val in schema_row.items(): + for column in HEADERS: if column == 'notes': continue + val = schema_row[column] ctx.column = column field = get_field_name(column) type_class = RULE_FIELD_TYPES[field] From 656a2738be9c561bb4689554ad821297a6145762 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 14:09:02 -0400 Subject: [PATCH 043/174] rules: factor out fmt_set to utils --- src/odm_sharing/private/rules.py | 10 ++-------- src/odm_sharing/private/utils.py | 9 ++++++++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index a8cda763..27283b3d 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -3,12 +3,12 @@ from dataclasses import dataclass, field from enum import EnumMeta from pathlib import Path -from typing import Any, Dict, Iterable, List, Set, Union +from typing import Any, Dict, List, Set, Union import pandas as pd from odm_sharing.private.stdext import StrValueEnum -from odm_sharing.private.utils import qt +from odm_sharing.private.utils import fmt_set, qt RuleId = int @@ -94,12 +94,6 @@ def fail(ctx: SchemaCtx, desc: str) -> None: raise gen_error(ctx, desc) -def fmt_set(values: Iterable) -> str: - '''returns a comma-separated string of the items in `values`''' - items = ','.join(map(qt, values)) - return f'{{{items}}}' - - def coerce_value( # type: ignore ctx: SchemaCtx, type_class, diff --git a/src/odm_sharing/private/utils.py b/src/odm_sharing/private/utils.py index f2b7fe01..ee78cc5e 100644 --- a/src/odm_sharing/private/utils.py +++ b/src/odm_sharing/private/utils.py @@ -1,4 +1,4 @@ -from typing import Union +from typing import Iterable, Union def qt(x: str) -> str: @@ -8,3 +8,10 @@ def qt(x: str) -> str: def not_empty(x: Union[list, set, str]) -> bool: return len(x) > 0 + + +def fmt_set(values: Iterable) -> str: + '''returns a comma-separated string of the items in `values`, surrounded by + curly-brackets''' + items = ','.join(map(qt, values)) + return f'{{{items}}}' From bb786be421b274789fb418f7bdaddee2d2a5dd38 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 28 May 2024 11:06:20 -0400 Subject: [PATCH 044/174] trees: fix alias --- src/odm_sharing/private/trees.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index fa79f5af..61d7fe41 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -76,9 +76,6 @@ # {{{1 types -RuleTree = object # opaque - - class Op(StrEnum): AND = 'and' EQ = '=' @@ -122,6 +119,9 @@ def __str__(self) -> str: return f'({self.rule_id}, {self.kind}, {qt(self.str_val)})' +RuleTree = Node # alias for a complete node tree + + class Ctx: '''Keeps track of the current parsing process. This object should be created at the beginning of the parsing process and its fields updated From a3c7f202b1b3286fe0eca22b91ffb5dac9650e1e Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 28 May 2024 11:06:49 -0400 Subject: [PATCH 045/174] trees: factor out parse_op without ctx param --- src/odm_sharing/private/trees.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index 61d7fe41..f26d2e58 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -219,10 +219,15 @@ def parse_mode(ctx: Ctx, mode_str: str) -> RuleMode: raise gen_error(ctx, f'invalid mode {qt(mode_str)}') -def parse_op(ctx: Ctx, op_str: str) -> Op: +def parse_op(op_str: str) -> Op: + '''converts str to operator enum''' + return Op(op_str.lower()) + + +def parse_ctx_op(ctx: Ctx, op_str: str) -> Op: '''converts str to operator enum, or raises ParseError''' try: - return Op(op_str.lower()) + return parse_op(op_str) except ValueError: raise gen_error(ctx, f'invalid operator {qt(op_str)}') @@ -319,7 +324,7 @@ def init_node(ctx: Ctx, rule_id: RuleId, table: str, mode: RuleMode, sons=([] if use_all else seq(values).map(to_value_node2).list()), ) elif mode == RuleMode.FILTER: - op = parse_op(ctx, op_str) + op = parse_ctx_op(ctx, op_str) is_range = (op == Op.RANGE) values = \ parse_list(ctx, val_str, min=2, max=2) if is_range else [val_str] @@ -336,7 +341,7 @@ def init_node(ctx: Ctx, rule_id: RuleId, table: str, mode: RuleMode, def not_filter_group(node: Node) -> bool: return node.kind not in [NodeKind.FILTER, NodeKind.GROUP] - op = parse_op(ctx, op_str) + op = parse_ctx_op(ctx, op_str) if op not in [Op.AND, Op.OR]: fail(ctx, 'incompatible group operator') ids = parse_int_list(ctx, val_str, min=2) From 5eb9461eafe011ab7e743458c17f3e3f0102e876 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 14:54:01 -0400 Subject: [PATCH 046/174] trees: fix node kind names --- src/odm_sharing/private/trees.py | 26 ++++---- tests/test_trees.py | 110 +++++++++++++++---------------- 2 files changed, 68 insertions(+), 68 deletions(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index f26d2e58..f20d26d9 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -94,8 +94,8 @@ class NodeKind(StrEnum): SELECT = 'select' GROUP = 'group' FILTER = 'filter' - KEY = 'key' - VALUE = 'value' + FIELD = 'field' + LITERAL = 'literal' @dataclass(frozen=True) @@ -266,15 +266,15 @@ def get_table_select_ids(ctx: Ctx, select_nodes: List[Node] return result -def to_value_node(rule_id: int, val: str) -> Node: - '''init value-node with value''' - return Node(rule_id=rule_id, kind=NodeKind.VALUE, str_val=val.strip()) +def to_literal_node(rule_id: int, val: str) -> Node: + '''init literal-node with value''' + return Node(rule_id=rule_id, kind=NodeKind.LITERAL, str_val=val.strip()) -def to_value_nodes(rule_id: RuleId, values: list) -> List[Node]: - '''init value-nodes from list of values''' +def to_literal_nodes(rule_id: RuleId, values: list) -> List[Node]: + '''init literal-nodes from list of values''' return seq(values)\ - .map(lambda x: Node(rule_id=rule_id, kind=NodeKind.VALUE, str_val=x))\ + .map(lambda x: Node(rule_id=rule_id, kind=NodeKind.LITERAL, str_val=x))\ .list() @@ -316,25 +316,25 @@ def init_node(ctx: Ctx, rule_id: RuleId, table: str, mode: RuleMode, if mode == RuleMode.SELECT: values = parse_list(ctx, val_str, 1) use_all = ALL_LIT in values - to_value_node2 = partial(to_value_node, rule_id) + to_literal_node2 = partial(to_literal_node, rule_id) return Node( rule_id=rule_id, kind=NodeKind.SELECT, str_val=(ALL_LIT if use_all else ''), - sons=([] if use_all else seq(values).map(to_value_node2).list()), + sons=([] if use_all else seq(values).map(to_literal_node2).list()), ) elif mode == RuleMode.FILTER: op = parse_ctx_op(ctx, op_str) is_range = (op == Op.RANGE) values = \ parse_list(ctx, val_str, min=2, max=2) if is_range else [val_str] - key_node = Node(rule_id=rule_id, kind=NodeKind.KEY, str_val=key) - value_nodes = to_value_nodes(rule_id, values) + field_node = Node(rule_id=rule_id, kind=NodeKind.FIELD, str_val=key) + literal_nodes = to_literal_nodes(rule_id, values) return Node( rule_id=rule_id, kind=NodeKind.FILTER, str_val=op_str, - sons=([key_node] + value_nodes), + sons=([field_node] + literal_nodes), ) elif mode == RuleMode.GROUP: diff --git a/tests/test_trees.py b/tests/test_trees.py index 606c926e..f50fd37f 100644 --- a/tests/test_trees.py +++ b/tests/test_trees.py @@ -61,8 +61,8 @@ def test_simple(self) -> None: (1, table, 't') (1, select, 'all') (2, filter, '=') - (2, key, 'a') - (2, value, 'x') + (2, field, 'a') + (2, literal, 'x') ''' self.assertEqual(actual, expected) @@ -72,7 +72,7 @@ def test_select_one(self) -> None: (2, share, 'ohri') (1, table, 'samples') (1, select, '') - (1, value, 'saMaterial') + (1, literal, 'saMaterial') ''' self.assertEqual(actual, expected, actual) @@ -82,8 +82,8 @@ def test_select_two(self) -> None: (2, share, 'ohri') (1, table, 'measures') (1, select, '') - (1, value, 'reportable') - (1, value, 'pooled') + (1, literal, 'reportable') + (1, literal, 'pooled') ''' self.assertEqual(actual, expected, actual) @@ -102,10 +102,10 @@ def test_select_multiple_tables(self) -> None: (2, share, 'ohri') (1, table, 'measures') (1, select, '') - (1, value, 'purposeID') + (1, literal, 'purposeID') (1, table, 'samples') (1, select, '') - (1, value, 'purposeID') + (1, literal, 'purposeID') ''' self.assertEqual(actual, expected, actual) @@ -117,24 +117,24 @@ def test_filter(self) -> None: (1, select, 'all') (7, group, 'and') (2, filter, '=') - (2, key, 'siteID') - (2, value, 'ottawa-1') + (2, field, 'siteID') + (2, literal, 'ottawa-1') (3, filter, '>=') - (3, key, 'collPer') - (3, value, '5') + (3, field, 'collPer') + (3, literal, '5') (4, filter, '<=') - (4, key, 'collPer') - (4, value, '5') + (4, field, 'collPer') + (4, literal, '5') (1, table, 'measures') (1, select, 'all') (8, group, 'and') (5, filter, '=') - (5, key, 'aDateEnd') - (5, value, '2022-02-01') + (5, field, 'aDateEnd') + (5, literal, '2022-02-01') (6, filter, 'in') - (6, key, 'aDateEnd') - (6, value, '2022-02-01') - (6, value, '2022-02-28') + (6, field, 'aDateEnd') + (6, literal, '2022-02-01') + (6, literal, '2022-02-28') ''' self.assertEqual(actual, expected) @@ -146,11 +146,11 @@ def test_group_or(self) -> None: (11, select, 'all') (14, group, 'or') (12, filter, '=') - (12, key, 'aDateEnd') - (12, value, '2022-02-01') + (12, field, 'aDateEnd') + (12, literal, '2022-02-01') (13, filter, '=') - (13, key, 'aDateEnd') - (13, value, '2023-02-01') + (13, field, 'aDateEnd') + (13, literal, '2023-02-01') ''' self.assertEqual(actual, expected) @@ -162,11 +162,11 @@ def test_group_and(self) -> None: (11, select, 'all') (14, group, 'and') (12, filter, '=') - (12, key, 'siteID') - (12, value, 'ottawa-1') + (12, field, 'siteID') + (12, literal, 'ottawa-1') (13, filter, '=') - (13, key, 'collDT') - (13, value, '2023-02-01') + (13, field, 'collDT') + (13, literal, '2023-02-01') ''' self.assertEqual(actual, expected) @@ -176,26 +176,26 @@ def test_group_or_and(self) -> None: (19, share, 'ohri') (11, table, 'measures') (11, select, '') - (11, value, 'measure') - (11, value, 'value') - (11, value, 'unit') - (11, value, 'aggregation') + (11, literal, 'measure') + (11, literal, 'value') + (11, literal, 'unit') + (11, literal, 'aggregation') (18, group, 'or') (14, group, 'and') (12, filter, '=') - (12, key, 'measure') - (12, value, 'mPox') + (12, field, 'measure') + (12, literal, 'mPox') (13, filter, 'in') - (13, key, 'reportDate') - (13, value, '2021-01-01') - (13, value, '2021-12-31') + (13, field, 'reportDate') + (13, literal, '2021-01-01') + (13, literal, '2021-12-31') (17, group, 'and') (15, filter, '=') - (15, key, 'measure') - (15, value, 'cov') + (15, field, 'measure') + (15, literal, 'cov') (16, filter, '>=') - (16, key, 'reportDate') - (16, value, '2020-01-01') + (16, field, 'reportDate') + (16, literal, '2020-01-01') ''' self.assertEqual(actual, expected) @@ -207,11 +207,11 @@ def test_share_multi(self) -> None: (11, select, 'all') (14, group, 'or') (12, filter, '=') - (12, key, 'aDateEnd') - (12, value, '2022-02-01') + (12, field, 'aDateEnd') + (12, literal, '2022-02-01') (13, filter, '=') - (13, key, 'aDateEnd') - (13, value, '2023-02-01') + (13, field, 'aDateEnd') + (13, literal, '2023-02-01') (15, table, 'samples') (15, select, 'all') (31, share, 'PHAC') @@ -219,11 +219,11 @@ def test_share_multi(self) -> None: (11, select, 'all') (14, group, 'or') (12, filter, '=') - (12, key, 'aDateEnd') - (12, value, '2022-02-01') + (12, field, 'aDateEnd') + (12, literal, '2022-02-01') (13, filter, '=') - (13, key, 'aDateEnd') - (13, value, '2023-02-01') + (13, field, 'aDateEnd') + (13, literal, '2023-02-01') (15, table, 'samples') (15, select, 'all') (32, share, 'LPH') @@ -231,20 +231,20 @@ def test_share_multi(self) -> None: (11, select, 'all') (14, group, 'or') (12, filter, '=') - (12, key, 'aDateEnd') - (12, value, '2022-02-01') + (12, field, 'aDateEnd') + (12, literal, '2022-02-01') (13, filter, '=') - (13, key, 'aDateEnd') - (13, value, '2023-02-01') + (13, field, 'aDateEnd') + (13, literal, '2023-02-01') (15, table, 'samples') (15, select, 'all') (18, group, 'or') (16, filter, '=') - (16, key, 'siteID') - (16, value, 'ottawa-1') + (16, field, 'siteID') + (16, literal, 'ottawa-1') (17, filter, '=') - (17, key, 'siteID') - (17, value, 'laval-1') + (17, field, 'siteID') + (17, literal, 'laval-1') ''' self.assertEqual(actual, expected) From 2177e8bd226e6ebbbe1b1722c07e313448bf4dd7 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 13:36:11 -0400 Subject: [PATCH 047/174] trees: move algo doc to separate file --- docs/trees-algo.md | 50 ++++++++++++++++++++++++++++++ src/odm_sharing/private/trees.py | 53 +------------------------------- 2 files changed, 51 insertions(+), 52 deletions(-) create mode 100644 docs/trees-algo.md diff --git a/docs/trees-algo.md b/docs/trees-algo.md new file mode 100644 index 00000000..6045fa5d --- /dev/null +++ b/docs/trees-algo.md @@ -0,0 +1,50 @@ +This module contains the parsing of a set of rules into an abstract syntax tree. + +- Each rule in a sharing CSV sheet can only reference rules defined in a + previous row. +- a node has a type/kind, a value, and a list of children +- the children of a node is called 'sons' since it's shorter +- nodes are first added to ctx and then later added to parent nodes with O(1) + lookup, this way the tree is constructed incrementally while parsing each + rule +- share nodes are made to be children of a single root-node, since each org + gets its own node, there may be multiple share-rules, and the tree + can only have a single root node +- the root-node is updated every time a new share-node is added +- tables of each rule are cached for O(1) lookup + +Algorithm: + +for each rule: + for each table in rule, or just once if no table: + init node, depending on rule mode: + select: + kind = select + value = empty if sons are specified, otherwise 'all' + sons = a value node for each column name + filter: + kind = filter + value = operator + sons = + 1. a key node for the field name + 2. a value node for each filter value + group: + kind = group + value = operator + sons = nodes matching the rule's list of ids + share: + kind = root + sons = + for each organization: + kind = share + value = org + sons = + for each select-node referenced in share-rule: + for each table in select-node's rule: + kind = "table" + value = table + sons = + 1. select node + 2. filter/group node referenced in + share-node. Multiple nodes are + implicitly grouped with an AND-node. diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index f20d26d9..6b4437d7 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -1,55 +1,4 @@ -''' -This module contains the parsing of a set of rules into an abstract syntax tree. - -- Each rule in a sharing CSV sheet can only reference rules defined in a - previous row. -- a node has a type/kind, a value, and a list of children -- the children of a node is called 'sons' since it's shorter -- nodes are first added to ctx and then later added to parent nodes with O(1) - lookup, this way the tree is constructed incrementally while parsing each - rule -- share nodes are made to be children of a single root-node, since each org - gets its own node, there may be multiple share-rules, and the tree - can only have a single root node -- the root-node is updated every time a new share-node is added -- tables of each rule are cached for O(1) lookup - -Algorithm: - -for each rule: - for each table in rule, or just once if no table: - init node, depending on rule mode: - select: - kind = select - value = empty if sons are specified, otherwise 'all' - sons = a value node for each column name - filter: - kind = filter - value = operator - sons = - 1. a key node for the field name - 2. a value node for each filter value - group: - kind = group - value = operator - sons = nodes matching the rule's list of ids - share: - kind = root - sons = - for each organization: - kind = share - value = org - sons = - for each select-node referenced in share-rule: - for each table in select-node's rule: - kind = "table" - value = table - sons = - 1. select node - 2. filter/group node referenced in - share-node. Multiple nodes are - implicitly grouped with an AND-node. -''' +'''see docs/trees-algo.md''' import sys # from pprint import pprint From 928eaec2db2b730cac87b38091c78ae357cc7922 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 13:42:59 -0400 Subject: [PATCH 048/174] trees: fmt parse_list, add doc --- src/odm_sharing/private/trees.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index 6b4437d7..d936fc74 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -112,11 +112,16 @@ def fail(ctx: Ctx, desc: str) -> None: # {{{1 input text parsing -def parse_list(ctx: Ctx, val_str: str, - min: int = 0, max: int = 0) -> List[str]: +def parse_list( + ctx: Ctx, + val_str: str, + min: int = 0, + max: int = 0, +) -> List[str]: '''splits a multiple-value string into a list, and validates the number of elements + :param val_str: the string to parse values from :param min: min required number of elements, or zero :param max: max required number of elements, or zero From 92844921adfbd26ae078e2031dbf5bb35caff048 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 13:43:54 -0400 Subject: [PATCH 049/174] trees: add sep param to parse_list --- src/odm_sharing/private/trees.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index d936fc74..c1a22e19 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -117,6 +117,7 @@ def parse_list( val_str: str, min: int = 0, max: int = 0, + sep: str = VAL_SEP, ) -> List[str]: '''splits a multiple-value string into a list, and validates the number of elements @@ -124,10 +125,11 @@ def parse_list( :param val_str: the string to parse values from :param min: min required number of elements, or zero :param max: max required number of elements, or zero + :param sep: the value separator :raises ParseError ''' - result = seq(val_str.split(VAL_SEP))\ + result = seq(val_str.split(sep))\ .map(str.strip)\ .filter(not_empty)\ .list() From db609409423bae2245915ffdbb8d31dcc02c08b1 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 13:55:51 -0400 Subject: [PATCH 050/174] trees: refactor filter value parse --- src/odm_sharing/private/trees.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index c1a22e19..f5625a18 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -33,7 +33,7 @@ class Op(StrEnum): LT = '<' LTE = '<=' OR = 'or' - RANGE = 'in' + IN = 'in' class NodeKind(StrEnum): @@ -263,6 +263,13 @@ def get_node(ctx: Ctx, rule_id: RuleId) -> Node: raise gen_error(ctx, msg) +def parse_filter_values(ctx: Ctx, op: Op, val_str: str) -> List[str]: + if op == Op.IN: + return parse_list(ctx, val_str, min=2, max=2) + else: + return [val_str] + + def init_node(ctx: Ctx, rule_id: RuleId, table: str, mode: RuleMode, key: str, op_str: str, val_str: str) -> Node: '''initializes and returns a new node from rule attributes, or raises @@ -281,9 +288,7 @@ def init_node(ctx: Ctx, rule_id: RuleId, table: str, mode: RuleMode, ) elif mode == RuleMode.FILTER: op = parse_ctx_op(ctx, op_str) - is_range = (op == Op.RANGE) - values = \ - parse_list(ctx, val_str, min=2, max=2) if is_range else [val_str] + values = parse_filter_values(ctx, op, val_str) field_node = Node(rule_id=rule_id, kind=NodeKind.FIELD, str_val=key) literal_nodes = to_literal_nodes(rule_id, values) return Node( From e9cd25a9aceeb5a79bc83addd46014892f2ec6f4 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 15:43:54 -0400 Subject: [PATCH 051/174] trees: fix group sons --- src/odm_sharing/private/trees.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index f5625a18..6c2a24a8 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -306,8 +306,8 @@ def not_filter_group(node: Node) -> bool: if op not in [Op.AND, Op.OR]: fail(ctx, 'incompatible group operator') ids = parse_int_list(ctx, val_str, min=2) - sons = seq(ids).map(get_ctx_node) - if sons.map(not_filter_group).any(): + sons = seq(ids).map(get_ctx_node).list() + if seq(sons).map(not_filter_group).any(): fail(ctx, 'group-rules can only refer to other filter/group-rules') return Node( rule_id=rule_id, From a5b99711a0ef1c569021d7fdb4faf4102efcde00 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 16:11:10 -0400 Subject: [PATCH 052/174] trees: refactor --- src/odm_sharing/private/trees.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index 6c2a24a8..69fb9e95 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -227,11 +227,10 @@ def to_literal_node(rule_id: int, val: str) -> Node: return Node(rule_id=rule_id, kind=NodeKind.LITERAL, str_val=val.strip()) -def to_literal_nodes(rule_id: RuleId, values: list) -> List[Node]: +def to_literal_nodes(rule_id: RuleId, values: List[str]) -> List[Node]: '''init literal-nodes from list of values''' - return seq(values)\ - .map(lambda x: Node(rule_id=rule_id, kind=NodeKind.LITERAL, str_val=x))\ - .list() + to_literal_node2 = partial(to_literal_node, rule_id) + return seq(values).map(to_literal_node2).list() def get_filter_root(ctx: Ctx, table: str, nodes: List[Node]) -> Optional[Node]: From 24f35aa4050d9401a275c575a75c4a4a8ffa168e Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 28 May 2024 17:46:17 -0400 Subject: [PATCH 053/174] trees: remove unused param --- src/odm_sharing/private/trees.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index 69fb9e95..10eef67f 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -269,8 +269,8 @@ def parse_filter_values(ctx: Ctx, op: Op, val_str: str) -> List[str]: return [val_str] -def init_node(ctx: Ctx, rule_id: RuleId, table: str, mode: RuleMode, - key: str, op_str: str, val_str: str) -> Node: +def init_node(ctx: Ctx, rule_id: RuleId, mode: RuleMode, key: str, op_str: str, + val_str: str) -> Node: '''initializes and returns a new node from rule attributes, or raises ParseError''' get_ctx_node = partial(get_node, ctx) From 9e845caf3badf9194c5768ed60da742a6cbd6e95 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 28 May 2024 17:46:46 -0400 Subject: [PATCH 054/174] trees: fix node re-use --- src/odm_sharing/private/trees.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index 10eef67f..d3397b7c 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -381,13 +381,23 @@ def add_node(ctx: Ctx, rule_id: RuleId, table: str, mode: RuleMode, :raises ParseError: ''' - # - rule tables are recorded for later lookup - # - new nodes are added to ctx - # - new root nodes are also merged with ctx.root + # record rule table for later lookup if table: ctx.rule_tables[rule_id].append(table) - node = init_node(ctx, rule_id, table, mode, key, op_str, val_str) - ctx.nodes[rule_id] = node + + def get_or_add_node(rule_id: RuleId) -> Node: + # node may already have been added in the context of another table, in + # that case we can reuse it + if rule_id in ctx.nodes: + return ctx.nodes[rule_id] + else: + node = init_node(ctx, rule_id, mode, key, op_str, val_str) + ctx.nodes[rule_id] = node + return node + + node = get_or_add_node(rule_id) + + # assign initial root or merge with existing root if node.kind == NodeKind.ROOT: if not ctx.root: ctx.root = node From c7467c3bdd56b2f1938c39979122974ca54d75fd Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 28 May 2024 11:39:16 -0400 Subject: [PATCH 055/174] impl queries module --- src/odm_sharing/private/common.py | 1 + src/odm_sharing/private/queries.py | 314 ++++++++++++++++++++++++++++- src/odm_sharing/private/stdext.py | 5 + src/odm_sharing/private/trees.py | 59 +++++- src/odm_sharing/private/utils.py | 5 + tests/3.2.csv | 2 +- tests/4.4.csv | 2 +- tests/filter-set.csv | 4 + tests/test_queries.py | 110 ++++++++++ tests/test_trees.py | 46 ++++- 10 files changed, 530 insertions(+), 18 deletions(-) create mode 100644 tests/filter-set.csv create mode 100644 tests/test_queries.py diff --git a/src/odm_sharing/private/common.py b/src/odm_sharing/private/common.py index ac39c489..fa3e2f7d 100644 --- a/src/odm_sharing/private/common.py +++ b/src/odm_sharing/private/common.py @@ -1 +1,2 @@ +OrgName = str TableName = str diff --git a/src/odm_sharing/private/queries.py b/src/odm_sharing/private/queries.py index 0f2d227d..0c7c9e13 100644 --- a/src/odm_sharing/private/queries.py +++ b/src/odm_sharing/private/queries.py @@ -1,14 +1,316 @@ -from dataclasses import dataclass -from typing import Dict +import re +from collections import defaultdict +from dataclasses import dataclass, field +from functools import partial +from typing import Dict, List, Tuple +# from pprint import pprint +from functional import seq + +from odm_sharing.private.common import OrgName, TableName from odm_sharing.private.rules import RuleId +from odm_sharing.private.stdext import StrEnum, sorted_dict +from odm_sharing.private.utils import dqt + +from odm_sharing.private.trees import ( + ALL_LIT, + Node, + NodeKind, + Op, + RangeKind, + RuleTree, + parse_op, +) + + +Sql = str +SqlArgs = List[str] -SqlQuery = str +class SqlDialect(StrEnum): + OTHER = '' + MSSQL = 'mssql' + SYBASE = 'sybase' @dataclass(frozen=True) class Query: - data_sql: SqlQuery - rule_count_sqls: Dict[RuleId, SqlQuery] - column_sql: SqlQuery + sql: Sql + args: SqlArgs = field(default_factory=list) + + +PartialQuery = Query # incomplete query + + +@dataclass(frozen=True) +class TableQuery: + '''collection of queries for a single table''' + + columns: List[str] + '''columns specified in the select-rule (unless "all" is used), which can + be used instead of querying the columns using `get_column_sql`''' + + data_query: Query + rule_count_queries: Dict[RuleId, Query] + select_rule_id: RuleId + _select_query: Query + + +OrgTableQueries = Dict[OrgName, Dict[TableName, TableQuery]] + + +INVALID_IDENT_PATTERN = re.compile(r'\W+', re.ASCII) + + +def ident(x: str) -> str: + '''sanitize and quote sql identifier''' + return dqt(INVALID_IDENT_PATTERN.sub('', x)) + + +def convert(val: str) -> str: + '''convert to sql equivalent value''' + norm_val = val.lower() + if norm_val == 'true': + return '1' + elif norm_val == 'false': + return '0' + else: + return val + + +def gen_data_sql( + node: Node, + args: SqlArgs, + rule_queries: Dict[RuleId, PartialQuery], +) -> Sql: + '''recursive helper function of ``gen_data_query`` + + :param node: should be a table-node in the outer call for a complete query + to be generated, but it'll also work on any node in the table-subtree. + :param args: (output) sql arguments + :param rule_queries: (output) see ``gen_data_query`` + ''' + + def recurse(node: Node) -> str: + return gen_data_sql(node, args, rule_queries) + + def record(node: Node, sql: str, args: SqlArgs) -> None: + '''associate (partial) sql query with node's rule''' + assert node.kind in [NodeKind.TABLE, NodeKind.FILTER, NodeKind.GROUP] + rule_queries[node.rule_id] = PartialQuery(sql=sql, args=args) + + n = node + if n.kind == NodeKind.TABLE: + # table has a select followed by an optional filter/group + table = n.str_val + select = n.sons[0] + filter_root = n.sons[1] if len(n.sons) > 1 else None + select_sql = f'SELECT {recurse(select)} FROM {ident(table)}' + filter_sql = f'WHERE {recurse(filter_root)}' if filter_root else '' + record(n, select_sql, []) + return (select_sql + ' ' + filter_sql) + elif n.kind == NodeKind.SELECT: + # select has an all-value or fields as children + if n.str_val == ALL_LIT: + return '*' + else: + columns = seq(n.sons).map(lambda x: ident(x.str_val)) + return ','.join(columns) + elif n.kind == NodeKind.GROUP: + # group combines any number of children with its operator + op_str = n.str_val.upper() + assert op_str in ['AND', 'OR'] + arg_start = len(args) + sql = seq(n.sons)\ + .map(recurse)\ + .reduce(lambda x, y: f'({x} {op_str} {y})') + record(n, sql, args[arg_start:]) + return sql + elif n.kind == NodeKind.FILTER: + # filter has op as value, children define field, kind and literals + op = parse_op(n.str_val) + key_ident = ident(recurse(n.sons[0])) + + def gen_range_sql(range_kind: RangeKind, values: List[str]) -> str: + '''generates sql for a range of values''' + if range_kind == RangeKind.INTERVAL: + a = values[0] + b = values[1] + return f'({key_ident} BETWEEN {a} AND {b})' + elif range_kind == RangeKind.SET: + return f"({key_ident} IN ({','.join(values)}))" + else: + assert False, 'unreachable' + + if op == Op.RANGE: + range_kind = RangeKind(n.sons[1].str_val) + literals: List[str] = seq(n.sons[2:]).map(recurse).list() + sql = gen_range_sql(range_kind, literals) + record(n, sql, args[-len(literals):]) + return sql + else: + val = recurse(n.sons[1]) + sql = f'({key_ident} {op} {val})' + record(n, sql, args[-1:]) + return sql + elif n.kind == NodeKind.FIELD: + return ident(n.str_val) + elif n.kind == NodeKind.LITERAL: + # literal value is converted and added to list of args, while only a + # parameter placeholder is added to the sql + val = convert(n.str_val) + args.append(val) + return '?' + else: + assert False, 'unreachable' + return '' + + +def gen_data_query( + table_node: Node, + rule_queries: Dict[RuleId, PartialQuery], +) -> Query: + '''generates sql from a node-tree + + :param root_node: the root-node of the tree to generate sql from + :param rule_queries: (output) partial filter and select queries + + :return: complete query + ''' + args: List[str] = [] + sql = gen_data_sql(table_node, args, rule_queries) + return Query(sql=sql, args=args) + + +def get_table_node_columns(table_node: Node) -> List[str]: + '''returns the column-values of a select-node of a table-node''' + assert table_node.kind == NodeKind.TABLE + select_node = table_node.sons[0] + assert select_node.kind == NodeKind.SELECT + return seq(select_node.sons).map(lambda x: x.str_val).list() + + +def parse_sql_dialect(dialect_str: str) -> SqlDialect: + '''parse dialect str to enum value, or fall back to default''' + try: + return SqlDialect(dialect_str.lower()) + except ValueError: + return SqlDialect.OTHER + + +def get_share_query( + table_node: Node, + rule_queries: Dict[RuleId, PartialQuery] +) -> Query: + '''returns the complete query associated with a table-node (belonging to a + share-node)''' + # if a zero-rule exist (which is an implicit top-level AND-group) then use + # it, otherwise, if the table-node has a filter/group-node then use it, + # otherwise, use the table-node's select-node + if 0 in rule_queries: + return rule_queries[0] + else: + if len(table_node.sons) == 1: + select_node = table_node.sons[0] + assert select_node.kind == NodeKind.SELECT + return rule_queries[select_node.rule_id] + else: + filter_root = table_node.sons[1] + assert filter_root.kind in [NodeKind.FILTER, NodeKind.GROUP] + return rule_queries[filter_root.rule_id] + + +def gen_count_query_sql( + table: str, + rule_id: int, + filter_query: PartialQuery, +) -> Tuple[RuleId, Query]: + '''generate count query for table from partial filter query''' + sql = ( + f'SELECT COUNT(*) FROM {ident(table)}' + + (f' WHERE {filter_query.sql}' if filter_query.sql else '') + ) + return (rule_id, Query(sql=sql, args=filter_query.args)) + + +def gen_table_query(share_node: Node, table_node: Node) -> TableQuery: + '''generates a table-query for a specific table node of a share node''' + assert share_node.kind == NodeKind.SHARE + assert table_node.kind == NodeKind.TABLE + assert table_node in share_node.sons + + # generate complete sql and partial rule queries + rule_queries: Dict[RuleId, PartialQuery] = {} + data_query = gen_data_query(table_node, rule_queries) + + select_node = table_node.sons[0] + assert select_node.kind == NodeKind.SELECT + select_id = select_node.rule_id + + # save select query and replace with an empty partial query so that we'll + # get a count-query without a filter for the select rule + select_query = rule_queries[select_id] + no_filter_query = PartialQuery(sql='') + rule_queries[select_id] = no_filter_query + + # add share-rule to partial queries so that it'll be included in the count + share_id = share_node.rule_id + assert share_id not in rule_queries + rule_queries[share_id] = get_share_query(table_node, rule_queries) + + # generate count queries, making sure sure they're sorted to retain rule + # order for the user + gen_count_query_sql2 = partial(gen_count_query_sql, table_node.str_val) + count_queries = sorted_dict( + seq(rule_queries.items()).smap(gen_count_query_sql2).dict()) + + return TableQuery( + data_query=data_query, + rule_count_queries=count_queries, + select_rule_id=select_id, + columns=get_table_node_columns(table_node), + _select_query=select_query, + ) + + +def generate(rule_tree: RuleTree) -> OrgTableQueries: + '''generate queries from a rule tree + + :param rule_tree: the tree to generate queries from + + :return: query-objects for each org and table + ''' + + def gen_table_query_entry(share_node: Node, table_node: Node + ) -> Tuple[TableName, TableQuery]: + table_name = table_node.str_val + table_query = gen_table_query(share_node, table_node) + return (table_name, table_query) + + result: OrgTableQueries = defaultdict(dict) + root: Node = rule_tree + assert root.kind == NodeKind.ROOT + for share in root.sons: + assert share.kind == NodeKind.SHARE + org = share.str_val + table_nodes = seq(share.sons) + gen_table_query_entry2 = partial(gen_table_query_entry, share) + result[org] = table_nodes.map(gen_table_query_entry2).dict() + return result + + +def gen_column_sql(select_sql: Sql, dialect: SqlDialect) -> Sql: + '''returns an sql statement that selects zero rows of data, but gives the + column names''' + if dialect in [SqlDialect.MSSQL, SqlDialect.SYBASE]: + return 'SELECT TOP 0 ' + select_sql[len('SELECT '):] + else: + return select_sql + ' LIMIT 0' + + +def get_column_sql(q: TableQuery, dialect: SqlDialect) -> Sql: + '''returns sql for querying actual colums, for when columns are not + pre-specified''' + # XXX: this query is generated on demand due to dependency on sql dialect, + # which we want to keep separate from query generation to keep modularity + return gen_column_sql(q._select_query.sql, dialect) diff --git a/src/odm_sharing/private/stdext.py b/src/odm_sharing/private/stdext.py index 3b7425ba..c0136f43 100644 --- a/src/odm_sharing/private/stdext.py +++ b/src/odm_sharing/private/stdext.py @@ -18,3 +18,8 @@ class StrValueEnum(StrEnum): '''extension of `StrEnum` that makes it look cleaner with pprint''' def __repr__(self) -> str: return self.value + + +def sorted_dict(d: dict) -> dict: + '''sorts a dict so that the keys are in sorted order''' + return {k: d[k] for k in sorted(d.keys())} diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index d3397b7c..625e5478 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -1,18 +1,18 @@ '''see docs/trees-algo.md''' import sys -# from pprint import pprint - +# from overloading import overload from collections import defaultdict from dataclasses import dataclass, field from functools import partial from typing import Dict, List, Optional, Set, Union, cast +# from pprint import pprint from functional import seq from odm_sharing.private.common import TableName from odm_sharing.private.stdext import StrEnum -from odm_sharing.private.utils import not_empty, qt +from odm_sharing.private.utils import fmt_set, not_empty, qt from odm_sharing.private.rules import ( ParseError, Rule, @@ -33,7 +33,7 @@ class Op(StrEnum): LT = '<' LTE = '<=' OR = 'or' - IN = 'in' + RANGE = 'in' class NodeKind(StrEnum): @@ -45,6 +45,12 @@ class NodeKind(StrEnum): FILTER = 'filter' FIELD = 'field' LITERAL = 'literal' + RANGE_KIND = 'range-kind' + + +class RangeKind(StrEnum): + INTERVAL = 'interval' + SET = 'set' @dataclass(frozen=True) @@ -94,6 +100,8 @@ def __init__(self, filename: str) -> None: ALL_LIT = "all" VAL_SEP = ";" +INTERVAL_SEP = ":" +ALL_SEPARATORS = set([VAL_SEP, INTERVAL_SEP]) # {{{1 error gen @@ -262,13 +270,29 @@ def get_node(ctx: Ctx, rule_id: RuleId) -> Node: raise gen_error(ctx, msg) -def parse_filter_values(ctx: Ctx, op: Op, val_str: str) -> List[str]: - if op == Op.IN: - return parse_list(ctx, val_str, min=2, max=2) +def parse_filter_values(ctx: Ctx, op: Op, is_interval: bool, val_str: str + ) -> List[str]: + ''' + :raises ParseError: + ''' + if op == Op.RANGE: + if is_interval: + return parse_list(ctx, val_str, 2, 2, INTERVAL_SEP) + else: # is set + return parse_list(ctx, val_str, min=1) else: + if seq(ALL_SEPARATORS).map(lambda x: x in val_str).any(): + msg = ('multiple values ' + + f'(using separators {fmt_set(ALL_SEPARATORS)}) ' + + f'are only allowed with operator {qt(Op.RANGE)}') + fail(ctx, msg) return [val_str] +def filter_is_interval(op: Op, val_str: str) -> bool: + return op == Op.RANGE and INTERVAL_SEP in val_str + + def init_node(ctx: Ctx, rule_id: RuleId, mode: RuleMode, key: str, op_str: str, val_str: str) -> Node: '''initializes and returns a new node from rule attributes, or raises @@ -286,15 +310,32 @@ def init_node(ctx: Ctx, rule_id: RuleId, mode: RuleMode, key: str, op_str: str, sons=([] if use_all else seq(values).map(to_literal_node2).list()), ) elif mode == RuleMode.FILTER: + + def init_range_kind_node(is_interval: bool) -> Node: + kind = RangeKind.INTERVAL if is_interval else RangeKind.SET + return Node( + rule_id=rule_id, + kind=NodeKind.RANGE_KIND, + str_val=kind.value + ) + + # XXX: range-kind node is added before literals for range operator + # XXX: a set with a single element isn't required to have a separator op = parse_ctx_op(ctx, op_str) - values = parse_filter_values(ctx, op, val_str) + is_interval = filter_is_interval(op, val_str) + values = parse_filter_values(ctx, op, is_interval, val_str) field_node = Node(rule_id=rule_id, kind=NodeKind.FIELD, str_val=key) literal_nodes = to_literal_nodes(rule_id, values) + sons = ( + [field_node] + + ([init_range_kind_node(is_interval)] if op == Op.RANGE else []) + + literal_nodes + ) return Node( rule_id=rule_id, kind=NodeKind.FILTER, str_val=op_str, - sons=([field_node] + literal_nodes), + sons=sons, ) elif mode == RuleMode.GROUP: diff --git a/src/odm_sharing/private/utils.py b/src/odm_sharing/private/utils.py index ee78cc5e..94462367 100644 --- a/src/odm_sharing/private/utils.py +++ b/src/odm_sharing/private/utils.py @@ -6,6 +6,11 @@ def qt(x: str) -> str: return f"'{x}'" +def dqt(x: str) -> str: + '''double-quote `x`''' + return f"\"{x}\"" + + def not_empty(x: Union[list, set, str]) -> bool: return len(x) > 0 diff --git a/tests/3.2.csv b/tests/3.2.csv index 4f0260e7..98cde6f8 100644 --- a/tests/3.2.csv +++ b/tests/3.2.csv @@ -4,7 +4,7 @@ ruleID,table,mode,key,operator,value,notes 3,samples,filter,collPer,>=,5, 4,samples,filter,collPer,<=,5, 5,measures,filter,aDateEnd,=,2022-02-01, -6,measures,filter,aDateEnd,in,2022-02-01;2022-02-28, +6,measures,filter,aDateEnd,in,2022-02-01:2022-02-28, 7,NA,group,NA,AND,2;3;4, 8,NA,group,NA,AND,5;6, 9,NA,share,ohri,NA,1;7;8, diff --git a/tests/4.4.csv b/tests/4.4.csv index 742b5217..d2566be7 100644 --- a/tests/4.4.csv +++ b/tests/4.4.csv @@ -1,7 +1,7 @@ ruleID,table,mode,key,operator,value,notes 11,measures,select,NA,NA,measure;value;unit;aggregation, 12,measures,filter,measure,=,mPox, -13,measures,filter,reportDate,in,2021-01-01;2021-12-31, +13,measures,filter,reportDate,in,2021-01-01:2021-12-31, 14,NA,group,NA,AND,12;13, 15,measures,filter,measure,=,cov, 16,measures,filter,reportDate,>=,2020-01-01, diff --git a/tests/filter-set.csv b/tests/filter-set.csv new file mode 100644 index 00000000..f6e2b9f3 --- /dev/null +++ b/tests/filter-set.csv @@ -0,0 +1,4 @@ +ruleID,table,mode,key,operator,value,notes +4,samples,select,,,all, +5,samples,filter,saMaterial,in,rawWW;sweSed, +6,,share,PHAC,,4;5, diff --git a/tests/test_queries.py b/tests/test_queries.py new file mode 100644 index 00000000..941d0ae4 --- /dev/null +++ b/tests/test_queries.py @@ -0,0 +1,110 @@ +import unittest + +import odm_sharing.private.queries as queries +import odm_sharing.private.rules as rules +import odm_sharing.private.trees as trees +from odm_sharing.private.rules import Rule, RuleMode + + +class TestQueries(unittest.TestCase): + @classmethod + def setUpClass(cls) -> None: + cls.maxDiff = None + + def test_in_interval_and_gte(self) -> None: + ruleset = rules.load('tests/4.4.csv') + ruletree = trees.parse(ruleset) + q = queries.generate(ruletree)['ohri']['measures'] + + actual_sql = q.data_query.sql + expected_sql = ( + 'SELECT "measure","value","unit","aggregation" ' + + 'FROM "measures" ' + + 'WHERE (' + ( + '(("measure" = ?) AND ("reportDate" BETWEEN ? AND ?)) ' + + 'OR ' + + '(("measure" = ?) AND ("reportDate" >= ?))' + ) + + ')' + ) + self.assertEqual(actual_sql, expected_sql) + + actual_args = q.data_query.args + expected_args = ['mPox', '2021-01-01', '2021-12-31', + 'cov', '2020-01-01'] + self.assertEqual(actual_args, expected_args) + + def test_in_set(self) -> None: + ruleset = rules.load('tests/filter-set.csv') + ruletree = trees.parse(ruleset) + q = queries.generate(ruletree)['PHAC']['samples'] + actual_sql = q.data_query.sql + expected_sql = ( + 'SELECT * ' + + 'FROM "samples" ' + + 'WHERE ("saMaterial" IN (?,?))' + ) + self.assertEqual(actual_sql, expected_sql) + + actual_args = q.data_query.args + expected_args = ['rawWW', 'sweSed'] + self.assertEqual(actual_args, expected_args) + + def test_rule_count_args(self) -> None: + ruleset = [ + Rule(id=1, table='t', mode=RuleMode.SELECT, value='all'), + Rule(id=2, table='t', mode=RuleMode.FILTER, key='x', + operator='=', value='a'), + Rule(id=3, table='t', mode=RuleMode.FILTER, key='y', + operator='in', value='1;2'), + Rule(id=4, table='', mode=RuleMode.SHARE, key='ohri', value='1;2;3'), + ] + ruletree = trees.parse(ruleset) + q = queries.generate(ruletree)['ohri']['t'] + implicit_group_id = 0 + actual = q.rule_count_queries[implicit_group_id].args + expected = ['a', '1', '2'] + self.assertEqual(actual, expected) + + def test_share_table_rule_count_queries(self) -> None: + '''tests that each table of a share rule gets the right count-query''' + ruleset = [ + Rule(id=1, table='a;b', mode=RuleMode.SELECT, value='all'), + Rule(id=2, table='a', mode=RuleMode.FILTER, key='x', + operator='=', value='1'), + Rule(id=3, table='b', mode=RuleMode.FILTER, key='y', + operator='=', value='1'), + Rule(id=4, table='', mode=RuleMode.SHARE, key='ohri', + value='1;2;3'), + ] + share_id = ruleset[-1].id + ruletree = trees.parse(ruleset) + q1 = queries.generate(ruletree)['ohri']['a'] + q2 = queries.generate(ruletree)['ohri']['b'] + expected1 = 'SELECT COUNT(*) FROM "a" WHERE ("x" = ?)' + expected2 = 'SELECT COUNT(*) FROM "b" WHERE ("y" = ?)' + actual1 = q1.rule_count_queries[share_id].sql + actual2 = q2.rule_count_queries[share_id].sql + self.assertEqual(actual1, expected1) + self.assertEqual(actual2, expected2) + + + def test_sanitize(self) -> None: + '''special characters are stripped, and parameter values separated, to + prevent injections''' + injection = '" OR 1=1 --' + ruleset = [ + Rule(id=1, table='t', mode=RuleMode.SELECT, value=injection), + Rule(id=2, table='t', mode=RuleMode.FILTER, key=injection, + operator='=', value=injection), + Rule(id=3, table='', mode=RuleMode.SHARE, key='ohri', value='1;2'), + ] + ruletree = trees.parse(ruleset) + q = queries.generate(ruletree)['ohri']['t'] + actual = q.data_query.sql + expected = 'SELECT "OR11" FROM "t" WHERE ("OR11" = ?)' + self.assertEqual(actual, expected) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_trees.py b/tests/test_trees.py index f50fd37f..99e49d6f 100644 --- a/tests/test_trees.py +++ b/tests/test_trees.py @@ -1,9 +1,10 @@ import unittest +from typing import List # from pprint import pprint import odm_sharing.private.trees as trees from odm_sharing.private.rules import ParseError, Rule, RuleMode, load -from odm_sharing.private.trees import parse +from odm_sharing.private.trees import INTERVAL_SEP, Op, parse class TestParseList(unittest.TestCase): @@ -35,6 +36,34 @@ def test_not_in_range(self) -> None: with self.assertRaises(ParseError): trees.parse_list(self.ctx, 'a;b', 3, 10) + def test_set_with_one_element(self) -> None: + actual = trees.parse_list(self.ctx, 'a;', 1) + expected = ['a'] + self.assertEqual(actual, expected) + + +class TestParseFilterValues(unittest.TestCase): + def setUp(self) -> None: + self.ctx = trees.Ctx('test') + + def parse(self, op: Op, val_str: str) -> List[str]: + is_interval = trees.filter_is_interval(op, val_str) + return trees.parse_filter_values(self.ctx, op, is_interval, val_str) + + def test_eq(self) -> None: + actual = self.parse(Op.EQ, 'a') + expected = ['a'] + self.assertEqual(actual, expected) + with self.assertRaises(ParseError): + self.parse(Op.EQ, 'a;b') + + def test_in(self) -> None: + actual = self.parse(Op.RANGE, 'a:b') + expected = ['a', 'b'] + self.assertEqual(actual, expected) + with self.assertRaises(ParseError): + self.parse(Op.EQ, 'a;b') + def get_actual(schema_path: str) -> str: rules = load(schema_path) @@ -133,6 +162,7 @@ def test_filter(self) -> None: (5, literal, '2022-02-01') (6, filter, 'in') (6, field, 'aDateEnd') + (6, range-kind, 'interval') (6, literal, '2022-02-01') (6, literal, '2022-02-28') ''' @@ -187,6 +217,7 @@ def test_group_or_and(self) -> None: (12, literal, 'mPox') (13, filter, 'in') (13, field, 'reportDate') + (13, range-kind, 'interval') (13, literal, '2021-01-01') (13, literal, '2021-12-31') (17, group, 'and') @@ -248,6 +279,19 @@ def test_share_multi(self) -> None: ''' self.assertEqual(actual, expected) + def test_filter_multi_value(self) -> None: + actual = get_actual('tests/filter-set.csv') + expected = '''(0, root, '') + (6, share, 'PHAC') + (4, table, 'samples') + (4, select, 'all') + (5, filter, 'in') + (5, field, 'saMaterial') + (5, range-kind, 'set') + (5, literal, 'rawWW') + (5, literal, 'sweSed') +''' + self.assertEqual(actual, expected) if __name__ == '__main__': unittest.main() From ba569889da251bcc6fc7d6d68c6bf8e1a8763353 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 29 May 2024 10:40:21 -0400 Subject: [PATCH 056/174] sharing: fix errors and cleanup --- src/odm_sharing/sharing.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 1bf61651..9542fba2 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -5,15 +5,13 @@ import pandas as pd import odm_sharing.private as private -import odm_sharing.private.trees from odm_sharing.private.cons import Connection from odm_sharing.private.queries import Query from odm_sharing.private.rules import ParseError, RuleId -from odm_sharing.private.common import TableName +from odm_sharing.private.common import OrgName, TableName # type aliases ColumnName = str -OrgName = str def connect(data_source: str) -> Connection: @@ -45,19 +43,19 @@ def parse(schema_path: str, orgs: List[str] = [] def get_data(c: Connection, q: Query) -> pd.DataFrame: '''returns the data extracted from running query `q` on data-source connection `c`, as a pandas dataframe''' - return private.cons.exec(c, q.data_sql) + return private.cons.exec(c, q.sql) def get_counts(c: Connection, q: Query) -> Dict[RuleId, int]: '''returns the row counts for each rule, corresponding to how each part of query `q` would filter the data extracted from connection `c`''' - pass + return {} def get_columns(c: Connection, q: Query) -> Tuple[RuleId, List[ColumnName]]: '''returns the select-rule id together with the column names that would be extracted from using query `q` on connection `c`''' - pass + return (0, []) def extract( From 7291558fa2b265ddfea0f047401329128f6db3cd Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 5 Jun 2024 13:23:33 -0400 Subject: [PATCH 057/174] docs/tech-spec: tweak errors --- docs/tech-spec.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/docs/tech-spec.md b/docs/tech-spec.md index 8c7ff4f4..9fe845c2 100644 --- a/docs/tech-spec.md +++ b/docs/tech-spec.md @@ -184,15 +184,12 @@ Parsing of rules into abstract syntax trees. The exception types that may be thrown, as well as examples of what they cover: +- DataSourceError: + - table not found in data source + - unable to open/read data source - OSError: - - input file doesn't exist - - failed to read input file + - failed to read schema file - failed to write output file -- ConnectionError: - - failed to establish connection to db - - failed to import data to temporary db - - failed to read from data source - - data source columns don't match query - ParseError: - headers are missing - value can't be coerced to the correct type From 304914e9ddafab5329f09fe284ed7c6ced9d77ee Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 22 May 2024 12:56:23 -0400 Subject: [PATCH 058/174] cons: finish impl - add dialect name func - add args to exec func - add table whitelist to excel connect, to improve import performance when not all sheets are used - print excel import info - fix excel connection - add exception handling --- src/odm_sharing/private/cons.py | 62 +++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index d6e055fa..160c9022 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -1,32 +1,66 @@ -from typing import cast +from typing import List, cast import pandas as pd import sqlalchemy as sa + Connection = object # opaque data-source connection handle -def connect_excel(path: str) -> Connection: +class DataSourceError(Exception): + pass + + +def _connect_excel(path: str, tables: List[str]) -> Connection: + ''':raises OSError:''' # copies excel data to in-memory db, to abstract everything as a db - data = pd.read_excel(path) + print('importing excel workbook') + table_whitelist = set(tables) db = sa.create_engine('sqlite://', echo=False) - for table in data.keys(): - data.to_sql(table, db, index=False) + xl = pd.ExcelFile(path) + included_tables = set(map(str, xl.sheet_names)) & table_whitelist + for table in included_tables: + print(f'- table {table}') + df = xl.parse(sheet_name=table) + df.to_sql(table, db, index=False, if_exists='replace') return cast(Connection, db) -def connect_db(url: str) -> Connection: +def _connect_db(url: str) -> Connection: + ''':raises sa.exc.OperationalError:''' return sa.create_engine(url) -def connect(data_source: str) -> Connection: - if data_source.endswith('.xlsx'): - return connect_excel(data_source) - else: - return connect_db(data_source) +def connect(data_source: str, tables: List[str] = []) -> Connection: + ''' + connects to a data source and returns the connection + + :param tables: when connecting to an excel file, this acts as a sheet + whitelist + + :raises DataSourceError: + ''' + try: + if data_source.endswith('.xlsx'): + return _connect_excel(data_source, tables) + else: + return _connect_db(data_source) + except (OSError, sa.exc.OperationalError) as e: + raise DataSourceError(str(e)) + + +def get_dialect_name(c: Connection) -> str: + '''returns the name of the dialect used for the connection''' + return cast(sa.engine.Engine, c).dialect.name + +def exec(c: Connection, sql: str, sql_args: List[str] = []) -> pd.DataFrame: + '''executes sql with args on connection -def exec(c: Connection, sql: str) -> pd.DataFrame: - '''executes `sql` on connection `c`''' + :raises DataSourceError: + ''' db = cast(sa.engine.Engine, c) - return pd.read_sql_query(sql, db) + try: + return pd.read_sql_query(sql, db, params=tuple(sql_args)) + except sa.exc.OperationalError as e: + raise DataSourceError(str(e)) From c9aab762a32ac3a92e2571f5b656ea710a61378d Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 22 May 2024 17:05:57 -0400 Subject: [PATCH 059/174] sharing: fix param name --- src/odm_sharing/sharing.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 9542fba2..b87e7c39 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -60,17 +60,17 @@ def get_columns(c: Connection, q: Query) -> Tuple[RuleId, List[ColumnName]]: def extract( data_source: str, - schema_file: str, + schema_path: str, orgs: List[str] = [], ) -> Dict[OrgName, Dict[TableName, pd.DataFrame]]: '''returns a Pandas DataFrame per table per org :param data_source: a file path or database url (in SQLAlchemy format) - :param schema_file: rule schema file path + :param schema_path: rule schema file path :param orgs: orgs to share with, or all if empty ''' con = connect(data_source) - queries = parse(schema_file, orgs) + queries = parse(schema_path, orgs) result: Dict[OrgName, Dict[TableName, pd.DataFrame]] = {} for org, tablequeries in queries.items(): result[org] = {} From f3368557a1d59a8c3bff66dd1ca6dea4570a01b6 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 28 May 2024 11:38:42 -0400 Subject: [PATCH 060/174] sharing: finish main (API) module --- src/odm_sharing/sharing.py | 91 ++++++++++++++++++++++---------------- 1 file changed, 54 insertions(+), 37 deletions(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index b87e7c39..32687289 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -1,61 +1,76 @@ -from typing import Dict, List, Tuple from pathlib import Path -from pprint import pprint +from typing import Dict, List, Tuple import pandas as pd +from functional import seq -import odm_sharing.private as private -from odm_sharing.private.cons import Connection -from odm_sharing.private.queries import Query -from odm_sharing.private.rules import ParseError, RuleId +import odm_sharing.private.cons as cons +import odm_sharing.private.queries as queries +import odm_sharing.private.rules as rules +import odm_sharing.private.trees as trees from odm_sharing.private.common import OrgName, TableName +from odm_sharing.private.cons import Connection +from odm_sharing.private.queries import OrgTableQueries, Query, TableQuery +from odm_sharing.private.rules import RuleId + -# type aliases ColumnName = str -def connect(data_source: str) -> Connection: - '''returns a connection object that can be used together with a query - object to retrieve data from `data_source`''' - return private.cons.connect(data_source) +def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: + '''returns queries for each org and table, generated from the rules + specified in `schema_file` + :raises OSError, ParseError: + ''' + ruleset = rules.load(schema_path) + filename = Path(schema_path).name + tree = trees.parse(ruleset, orgs, filename) + return queries.generate(tree) -def parse(schema_path: str, orgs: List[str] = [] - ) -> Dict[OrgName, Dict[TableName, Query]]: - '''returns queries for each org and table, generated from the rules - specified in `schema_file`''' - try: - rules = private.rules.load(schema_path) - print('\nrules:') - pprint(rules) - filename = Path(schema_path).name - tree = private.trees.parse(rules, orgs, filename) - print('\nabstract syntax tree:') - pprint(tree) - except ParseError: - pass +def connect(data_source: str, tables: List[str] = []) -> Connection: + '''returns a connection object that can be used together with a query + object to retrieve data from `data_source` - # TODO: implement the rest - return None # type: ignore + :raises DataSourceError:''' + return cons.connect(data_source, tables) -def get_data(c: Connection, q: Query) -> pd.DataFrame: +def get_data(c: Connection, tq: TableQuery) -> pd.DataFrame: '''returns the data extracted from running query `q` on data-source - connection `c`, as a pandas dataframe''' - return private.cons.exec(c, q.sql) + connection `c`, as a pandas DataFrame + + :raises DataSourceError:''' + dq = tq.data_query + return cons.exec(c, dq.sql, dq.args) + +def get_counts(c: Connection, tq: TableQuery) -> Dict[RuleId, int]: + '''returns the row counts for each rule -def get_counts(c: Connection, q: Query) -> Dict[RuleId, int]: - '''returns the row counts for each rule, corresponding to how each part of - query `q` would filter the data extracted from connection `c`''' - return {} + :raises DataSourceError:''' + def get_rule_count(rule_id: RuleId, q: Query) -> Tuple[RuleId, int]: + count = cons.exec(c, q.sql, q.args).iat[0, 0] + return (rule_id, count) -def get_columns(c: Connection, q: Query) -> Tuple[RuleId, List[ColumnName]]: + return seq(tq.rule_count_queries.items()).smap(get_rule_count).dict() + + +def get_columns(c: Connection, tq: TableQuery + ) -> Tuple[RuleId, List[ColumnName]]: '''returns the select-rule id together with the column names that would be - extracted from using query `q` on connection `c`''' - return (0, []) + extracted when calling `get_data` + + :raises DataSourceError:''' + if tq.columns: + return (tq.select_rule_id, tq.columns) + else: + dialect = queries.SqlDialect(cons.get_dialect_name(c)) + sql = queries.get_column_sql(tq, dialect) + columns = cons.exec(c, sql).columns.array.tolist() + return (tq.select_rule_id, columns) def extract( @@ -68,6 +83,8 @@ def extract( :param data_source: a file path or database url (in SQLAlchemy format) :param schema_path: rule schema file path :param orgs: orgs to share with, or all if empty + + :raises DataSourceError: ''' con = connect(data_source) queries = parse(schema_path, orgs) From 8ebdc8914b86631627e3e279f64c0ebf7e116652 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 11:37:50 -0400 Subject: [PATCH 061/174] cli: rewrite debug param desc, rm dry-run alias --- docs/tech-spec.md | 10 ++++------ tools/share.py | 8 +++++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/tech-spec.md b/docs/tech-spec.md index 9fe845c2..8d31a1c4 100644 --- a/docs/tech-spec.md +++ b/docs/tech-spec.md @@ -53,19 +53,17 @@ Options: output file directory, defaults to the current directory -- `-d`, `--dry-run`, `--debug`: +- `-d`, `--debug`: - only output the intermediary debug information describing what would - happen, and don't create any output files. + output debug info to STDOUT (and ./debug.txt) instead of creating sharable + output files. This shows which tables and columns are selected, and how + many rows each filter returns. One or multiple sharable output files will be created in the chosen output directory according to the chosen output format and organization(s). Each output file will have the input filename followed by a postfix with the org name (and table name if CSV). -(Debug) information about the operation will be printed to STDOUT, as well as -written to a `debug.txt` file in the same directory. - **Examples** Create a sharable excel file in the "~/ohri" directory, for the "OHRI" diff --git a/tools/share.py b/tools/share.py index 49382d08..d2e19fde 100644 --- a/tools/share.py +++ b/tools/share.py @@ -21,8 +21,10 @@ class OutFmt(str, Enum): OUTFMT_DESC = 'Output format.' OUTDIR_DESC = 'Output directory.' -DEBUG_DESC = '''Only output the intermediary debug information describing what -would happen, and don't create any output files.''' +DEBUG_DESC = '''Output debug info to STDOUT (and ./debug.txt) instead of +creating sharable output files. This shows which tables and columns are +selected, and how many rows each filter returns.''' + app = typer.Typer() @@ -34,7 +36,7 @@ def main( orgs: List[str] = typer.Option(default=[], help=ORGS_DESC), outfmt: OutFmt = typer.Option(default=OutFmt.EXCEL, help=OUTFMT_DESC), outdir: str = typer.Option(default='./', help=OUTDIR_DESC), - debug: Annotated[bool, typer.Option("-d", "--dry-run", "--debug", + debug: Annotated[bool, typer.Option("-d", "--debug", help=DEBUG_DESC)] = False, ) -> None: if False: From 64ebb9396b994d6c4a91d5b432b5065d5b972f5b Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 27 May 2024 12:26:21 -0400 Subject: [PATCH 062/174] cli: finish impl --- requirements-dev.txt | 1 + requirements.txt | 1 + tools/share.py | 166 ++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 157 insertions(+), 11 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 43cbc574..3fc21233 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,2 +1,3 @@ pandas-stubs==2.0.3.230814 sqlalchemy-stubs==0.4 +types-tabulate==0.9.0.20240106 diff --git a/requirements.txt b/requirements.txt index 3e2892e9..0bb7f28e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,5 @@ SQLAlchemy==2.0.29 openpyxl==3.1.2 pandas==2.0.3 pyfunctional==1.5.0 +tabulate==0.9.0 typer==0.12.3 diff --git a/tools/share.py b/tools/share.py index d2e19fde..c9556eaf 100644 --- a/tools/share.py +++ b/tools/share.py @@ -1,13 +1,29 @@ -from typing import List -from typing_extensions import Annotated +import contextlib +import os from enum import Enum +from os import linesep +from pathlib import Path +from typing import Dict, List, Optional, Set, TextIO +from typing_extensions import Annotated +import pandas as pd import typer +import sqlalchemy as sa +from tabulate import tabulate +from functional import seq import odm_sharing.sharing as sh +import odm_sharing.private.cons as cons +import odm_sharing.private.queries as queries +import odm_sharing.private.rules as rules +import odm_sharing.private.trees as trees +from odm_sharing.private.rules import Rule, RuleId, RuleMode +from odm_sharing.private.utils import qt + class OutFmt(str, Enum): + '''output format''' CSV = 'csv' EXCEL = 'excel' @@ -26,7 +42,93 @@ class OutFmt(str, Enum): selected, and how many rows each filter returns.''' -app = typer.Typer() +app = typer.Typer(pretty_exceptions_show_locals=False) + + +def write_line(file: TextIO, text: str = '') -> None: + '''writes a line to STDOUT and file''' + print(text) + file.write(text + linesep) + + +def write_header(file: TextIO, level: int, text: str) -> None: + '''writes a markdown header''' + write_line(file, ('#'*level) + f' {text}{linesep}') + + +def fmt_rule(r: Rule) -> List[str]: + # [id, mode, filter] + result = [f'{r.id:>2}', r.mode.value] + if r.mode == RuleMode.FILTER: + result.append(f'{r.key} {r.operator} ({r.value})') + elif r.mode == RuleMode.GROUP: + result.append(f'{r.operator:3} ({r.value})') + return result + + +def write_debug( + file: TextIO, + con: cons.Connection, + org_name: str, + table_name: str, + table_query: queries.TableQuery, + ruleset: Dict[RuleId, Rule] +) -> None: + '''write debug output''' + write_header(file, 1, f'org {qt(org_name)} - table {qt(table_name)}') + + (select_id, columns) = sh.get_columns(con, table_query) + write_header(file, 2, 'columns') + for col in sorted(columns): + write_line(file, f'- {col}') + write_line(file) + + write_header(file, 2, 'counts') + counts = sh.get_counts(con, table_query) + + # XXX: the rule with ID 0 is not from the input schema, but is generated + # implicitly during schema parsing, so it's not included in this output + # table + count_table = seq(counts.keys())\ + .filter(lambda id: id > 0)\ + .map(lambda id: ruleset[id])\ + .map(lambda r: (counts[r.id],) + tuple(fmt_rule(r)))\ + .list() + + headers = ['count', 'id', 'mode', 'filter'] + write_line(file, tabulate(count_table, headers=headers)) + write_line(file) + + +def get_tables(org_queries: sh.queries.OrgTableQueries) -> Set[str]: + '''returns all table names in the query collection''' + result = set() + for table_query in org_queries.values(): + for table in table_query.keys(): + result.add(table) + return result + + +def gen_filename(org: str, table: str, ext: str) -> str: + # [-]. + return org + (f'-{table}' if table else '') + f'.{ext}' + + +def get_debug_writer(debug: bool) -> TextIO: + # XXX: this function is only used for brewity with the below `with` clause + if debug: + return open('debug.txt', 'w') + else: + return contextlib.nullcontext() + + +def get_excel_writer(debug: bool, org: str, outdir: str, outfmt: OutFmt + ) -> Optional[pd.ExcelWriter]: + if not debug and outfmt == OutFmt.EXCEL: + filename = gen_filename(org, '', 'xlsx') + print('writing ' + filename) + excel_path = os.path.join(outdir, filename) + return pd.ExcelWriter(excel_path) @app.command() @@ -39,14 +141,56 @@ def main( debug: Annotated[bool, typer.Option("-d", "--debug", help=DEBUG_DESC)] = False, ) -> None: - if False: - for org, tabledata in sh.extract(input, schema, orgs).items(): - print(org) - for table, data in tabledata.items(): - print(table) - else: - # temporary functionality - sh.parse(schema) + schema_path = schema + filename = Path(schema_path).name + + print(f'loading schema {qt(filename)}') + try: + ruleset = rules.load(schema_path) + ruletree = trees.parse(ruleset, orgs, filename) + org_queries = queries.generate(ruletree) + table_filter = get_tables(org_queries) + except rules.ParseError: + # XXX: error messages are already printed at this point + exit(1) + + # XXX: only tables found in the schema are considered in the data source + print(f'connecting to {qt(input)}') + con = sh.connect(input, table_filter) + + if debug: + print() + # one debug file per run + with get_debug_writer(debug) as debug_file: + for org, table_queries in org_queries.items(): + org_data = {} + for table, tq in table_queries.items(): + assert table in table_filter + if debug: + write_debug(debug_file, con, org, table, tq, ruleset) + else: + org_data[table] = sh.get_data(con, tq) + + # one excel file per org + excel_file = get_excel_writer(debug, org, outdir, outfmt) + try: + for table, data in org_data.items(): + if outfmt == OutFmt.CSV: + filename = gen_filename(org, table, 'csv') + print('writing ' + filename) + data.to_csv(os.path.join(outdir, filename)) + elif outfmt == OutFmt.EXCEL: + print(f'- {qt(table)}') + data.to_excel(excel_file, sheet_name=table) + else: + assert False, f'format {outfmt} not impl' + except IndexError: + # XXX: this is thrown from excel writer when nothing is written + exit('failed to write output, most likely due to empty input') + finally: + if excel_file: + excel_file.close() + print('done') if __name__ == '__main__': From e9708a0f8a4683ea01679fc19afca562227bdc42 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 10 Jun 2024 12:37:00 -0400 Subject: [PATCH 063/174] move tools to package dir so that they're included in the pip package, and to enable calling `python -m odm_sharing.tools.share`. --- {tools => src/odm_sharing/tools}/share.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {tools => src/odm_sharing/tools}/share.py (100%) diff --git a/tools/share.py b/src/odm_sharing/tools/share.py similarity index 100% rename from tools/share.py rename to src/odm_sharing/tools/share.py From 8f6c9ee10d584da8be93187f85ab0348ae2781be Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 25 Jun 2024 10:47:20 -0400 Subject: [PATCH 064/174] fix required numpy version Pandas' numpy dependency varies depending on the installed python version, which can cause binary incompatibility. It happened when using python 3.11.9. This change makes the numpy version fixed, so that pandas and numpy stay compatible in all versions. --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 0bb7f28e..b4f3a1d1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,5 @@ SQLAlchemy==2.0.29 +numpy==1.24.4 openpyxl==3.1.2 pandas==2.0.3 pyfunctional==1.5.0 From dbeaf059c093bdf4c24b6d0118ea7e5e18c238b1 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 25 Jun 2024 11:03:37 -0400 Subject: [PATCH 065/174] stdext: fix StrEnum for python >= 3.11 The StrEnum in python >= 3.11 did not have the same behavior as the shim in python < 3.11. --- src/odm_sharing/private/stdext.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/odm_sharing/private/stdext.py b/src/odm_sharing/private/stdext.py index c0136f43..ab51aedb 100644 --- a/src/odm_sharing/private/stdext.py +++ b/src/odm_sharing/private/stdext.py @@ -6,12 +6,13 @@ class StrEnum(str, Enum): '''shim for python < 3.11 - Provides a ``__str__()`` function that returns the enum string-value, which - is useful for printing the value or comparing it with another string. + Gives the enum's assigned string value when converted to string, which is + useful for printing the value or comparing it with another string. See https://docs.python.org/3.11/library/enum.html#enum.StrEnum ''' - pass + def __str__(self) -> str: + return str(self.value) class StrValueEnum(StrEnum): From 17c3519f77131c26652f9aeaab8567398a092796 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 10 Jun 2024 13:00:18 -0400 Subject: [PATCH 066/174] fix table whitelist type annotations --- src/odm_sharing/private/cons.py | 7 +++---- src/odm_sharing/sharing.py | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 160c9022..9f506d09 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -1,4 +1,4 @@ -from typing import List, cast +from typing import List, Set, cast import pandas as pd import sqlalchemy as sa @@ -11,11 +11,10 @@ class DataSourceError(Exception): pass -def _connect_excel(path: str, tables: List[str]) -> Connection: +def _connect_excel(path: str, table_whitelist: Set[str]) -> Connection: ''':raises OSError:''' # copies excel data to in-memory db, to abstract everything as a db print('importing excel workbook') - table_whitelist = set(tables) db = sa.create_engine('sqlite://', echo=False) xl = pd.ExcelFile(path) included_tables = set(map(str, xl.sheet_names)) & table_whitelist @@ -31,7 +30,7 @@ def _connect_db(url: str) -> Connection: return sa.create_engine(url) -def connect(data_source: str, tables: List[str] = []) -> Connection: +def connect(data_source: str, tables: Set[str] = set()) -> Connection: ''' connects to a data source and returns the connection diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 32687289..3f65b0ef 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -1,5 +1,5 @@ from pathlib import Path -from typing import Dict, List, Tuple +from typing import Dict, List, Set, Tuple import pandas as pd from functional import seq @@ -29,7 +29,7 @@ def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: return queries.generate(tree) -def connect(data_source: str, tables: List[str] = []) -> Connection: +def connect(data_source: str, tables: Set[str] = set()) -> Connection: '''returns a connection object that can be used together with a query object to retrieve data from `data_source` From 399569f5168d5824f3d3346488559c9127eae623 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 10 Jun 2024 13:01:14 -0400 Subject: [PATCH 067/174] cons: add support for csv input files --- src/odm_sharing/private/cons.py | 37 +++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 9f506d09..3d87fc29 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -1,3 +1,4 @@ +from pathlib import Path from typing import List, Set, cast import pandas as pd @@ -11,17 +12,39 @@ class DataSourceError(Exception): pass +def _create_memory_db() -> sa.engine.Engine: + return sa.create_engine('sqlite://', echo=False) + + +def _write_table_to_db(db: sa.engine.Engine, table: str, df: pd.DataFrame + ) -> None: + print(f'- table {table}') + df.to_sql(table, db, index=False, if_exists='replace') + + +def _connect_csv(path: str) -> Connection: + '''copies file data to in-memory db + + :raises OSError:''' + print('importing csv file') + table = Path(path).stem + db = _create_memory_db() + df = pd.read_csv(path) + _write_table_to_db(db, table, df) + return cast(Connection, db) + + def _connect_excel(path: str, table_whitelist: Set[str]) -> Connection: - ''':raises OSError:''' - # copies excel data to in-memory db, to abstract everything as a db + '''copies file data to in-memory db + + :raises OSError:''' print('importing excel workbook') - db = sa.create_engine('sqlite://', echo=False) + db = _create_memory_db() xl = pd.ExcelFile(path) included_tables = set(map(str, xl.sheet_names)) & table_whitelist for table in included_tables: - print(f'- table {table}') df = xl.parse(sheet_name=table) - df.to_sql(table, db, index=False, if_exists='replace') + _write_table_to_db(db, table, df) return cast(Connection, db) @@ -40,7 +63,9 @@ def connect(data_source: str, tables: Set[str] = set()) -> Connection: :raises DataSourceError: ''' try: - if data_source.endswith('.xlsx'): + if data_source.endswith('.csv'): + return _connect_csv(data_source) + elif data_source.endswith('.xlsx'): return _connect_excel(data_source, tables) else: return _connect_db(data_source) From c2489e76abd5ce89a670cfa7087395285cac5033 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 27 Jun 2024 15:16:52 -0400 Subject: [PATCH 068/174] cons: remove cast to connection it has the same effect as simply having Connection as an alias --- src/odm_sharing/private/cons.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 3d87fc29..4b7612f6 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -1,11 +1,11 @@ from pathlib import Path -from typing import List, Set, cast +from typing import List, Set import pandas as pd import sqlalchemy as sa -Connection = object # opaque data-source connection handle +Connection = sa.engine.Engine class DataSourceError(Exception): @@ -31,7 +31,7 @@ def _connect_csv(path: str) -> Connection: db = _create_memory_db() df = pd.read_csv(path) _write_table_to_db(db, table, df) - return cast(Connection, db) + return db def _connect_excel(path: str, table_whitelist: Set[str]) -> Connection: @@ -45,7 +45,7 @@ def _connect_excel(path: str, table_whitelist: Set[str]) -> Connection: for table in included_tables: df = xl.parse(sheet_name=table) _write_table_to_db(db, table, df) - return cast(Connection, db) + return db def _connect_db(url: str) -> Connection: @@ -75,7 +75,7 @@ def connect(data_source: str, tables: Set[str] = set()) -> Connection: def get_dialect_name(c: Connection) -> str: '''returns the name of the dialect used for the connection''' - return cast(sa.engine.Engine, c).dialect.name + return c.dialect.name def exec(c: Connection, sql: str, sql_args: List[str] = []) -> pd.DataFrame: @@ -83,8 +83,7 @@ def exec(c: Connection, sql: str, sql_args: List[str] = []) -> pd.DataFrame: :raises DataSourceError: ''' - db = cast(sa.engine.Engine, c) try: - return pd.read_sql_query(sql, db, params=tuple(sql_args)) + return pd.read_sql_query(sql, c, params=tuple(sql_args)) except sa.exc.OperationalError as e: raise DataSourceError(str(e)) From cec4a38a7503a3c89bcfc83c40b88a810d84198f Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 26 Jun 2024 19:03:18 -0400 Subject: [PATCH 069/174] sharing: fix sql dialect parse --- src/odm_sharing/sharing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 3f65b0ef..ae67cdc8 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -67,7 +67,7 @@ def get_columns(c: Connection, tq: TableQuery if tq.columns: return (tq.select_rule_id, tq.columns) else: - dialect = queries.SqlDialect(cons.get_dialect_name(c)) + dialect = queries.parse_sql_dialect(cons.get_dialect_name(c)) sql = queries.get_column_sql(tq, dialect) columns = cons.exec(c, sql).columns.array.tolist() return (tq.select_rule_id, columns) From cabdca201f0d8b8949d2f90a846fc56e3588ed75 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 10 Jun 2024 09:45:15 -0400 Subject: [PATCH 070/174] cli: cleanup --- src/odm_sharing/tools/share.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index c9556eaf..68873392 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -8,7 +8,6 @@ import pandas as pd import typer -import sqlalchemy as sa from tabulate import tabulate from functional import seq From 27d17961c3afcd5afbc8bef65051fa3d61a32279 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 10 Jun 2024 13:02:22 -0400 Subject: [PATCH 071/174] cli: fix return value type error --- src/odm_sharing/tools/share.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 68873392..e6d752bf 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -3,7 +3,7 @@ from enum import Enum from os import linesep from pathlib import Path -from typing import Dict, List, Optional, Set, TextIO +from typing import Dict, List, Optional, Set, TextIO, Union from typing_extensions import Annotated import pandas as pd @@ -113,7 +113,7 @@ def gen_filename(org: str, table: str, ext: str) -> str: return org + (f'-{table}' if table else '') + f'.{ext}' -def get_debug_writer(debug: bool) -> TextIO: +def get_debug_writer(debug: bool) -> Union[TextIO, contextlib.nullcontext]: # XXX: this function is only used for brewity with the below `with` clause if debug: return open('debug.txt', 'w') @@ -128,6 +128,8 @@ def get_excel_writer(debug: bool, org: str, outdir: str, outfmt: OutFmt print('writing ' + filename) excel_path = os.path.join(outdir, filename) return pd.ExcelWriter(excel_path) + else: + return None @app.command() From 244e806606ece88b06da31d9c2f408277e693754 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 10 Jun 2024 13:29:03 -0400 Subject: [PATCH 072/174] cli: remove dataframe index from CSV output --- src/odm_sharing/tools/share.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index e6d752bf..3008bc38 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -179,7 +179,8 @@ def main( if outfmt == OutFmt.CSV: filename = gen_filename(org, table, 'csv') print('writing ' + filename) - data.to_csv(os.path.join(outdir, filename)) + path = os.path.join(outdir, filename) + data.to_csv(path, index=False) elif outfmt == OutFmt.EXCEL: print(f'- {qt(table)}') data.to_excel(excel_file, sheet_name=table) From b6394a6b36dd058a06878f58d79f54a4ae89bc42 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 10 Jun 2024 13:29:17 -0400 Subject: [PATCH 073/174] cli: make cli main function callable from code to emulate a call to the CLI, from code --- src/odm_sharing/tools/share.py | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 3008bc38..5ad6bc9a 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -40,6 +40,11 @@ class OutFmt(str, Enum): creating sharable output files. This shows which tables and columns are selected, and how many rows each filter returns.''' +# default cli args +DEBUG_DEFAULT = False +ORGS_DEFAULT = [] +OUTDIR_DEFAULT = './' +OUTFMT_DEFAULT = OutFmt.EXCEL app = typer.Typer(pretty_exceptions_show_locals=False) @@ -132,15 +137,13 @@ def get_excel_writer(debug: bool, org: str, outdir: str, outfmt: OutFmt return None -@app.command() -def main( - schema: str = typer.Argument(default=..., help=SCHEMA_DESC), - input: str = typer.Argument(default='', help=INPUT_DESC), - orgs: List[str] = typer.Option(default=[], help=ORGS_DESC), - outfmt: OutFmt = typer.Option(default=OutFmt.EXCEL, help=OUTFMT_DESC), - outdir: str = typer.Option(default='./', help=OUTDIR_DESC), - debug: Annotated[bool, typer.Option("-d", "--debug", - help=DEBUG_DESC)] = False, +def share( + schema: str, + input: str, + orgs: List[str] = ORGS_DEFAULT, + outfmt: OutFmt = OUTFMT_DEFAULT, + outdir: str = OUTDIR_DEFAULT, + debug: bool = DEBUG_DEFAULT, ) -> None: schema_path = schema filename = Path(schema_path).name @@ -195,5 +198,18 @@ def main( print('done') +@app.command() +def main( + schema: str = typer.Argument(default=..., help=SCHEMA_DESC), + input: str = typer.Argument(default='', help=INPUT_DESC), + orgs: List[str] = typer.Option(default=ORGS_DEFAULT, help=ORGS_DESC), + outfmt: OutFmt = typer.Option(default=OUTFMT_DEFAULT, help=OUTFMT_DESC), + outdir: str = typer.Option(default=OUTDIR_DEFAULT, help=OUTDIR_DESC), + debug: Annotated[bool, typer.Option("-d", "--debug", + help=DEBUG_DESC)] = DEBUG_DEFAULT, +) -> None: + share(schema, input, orgs, outfmt, outdir, debug) + + if __name__ == '__main__': app() From 359fe7d5bf643b22440a4c8e03749f0bdd6912d9 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 18 Jun 2024 10:41:21 -0400 Subject: [PATCH 074/174] cli: add executable script --- pyproject.toml | 3 +++ src/odm_sharing/tools/share.py | 9 +++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3465426b..d8f833ad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,6 +18,9 @@ dynamic = ["dependencies"] "Homepage" = "https://github.com/Big-Life-Lab/PHES-ODM-sharing" "Bug Tracker" = "https://github.com/Big-Life-Lab/PHES-ODM-sharing/issues" +[project.scripts] +odm-share = "odm_sharing.tools.share:main" + [build-system] requires = ["hatchling", "hatch-requirements-txt"] build-backend = "hatchling.build" diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 5ad6bc9a..abc354b8 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -199,7 +199,7 @@ def share( @app.command() -def main( +def main_cli( schema: str = typer.Argument(default=..., help=SCHEMA_DESC), input: str = typer.Argument(default='', help=INPUT_DESC), orgs: List[str] = typer.Option(default=ORGS_DEFAULT, help=ORGS_DESC), @@ -211,5 +211,10 @@ def main( share(schema, input, orgs, outfmt, outdir, debug) -if __name__ == '__main__': +def main(): + # runs main_cli app() + + +if __name__ == '__main__': + main() From 854d1900870dcdcee8645da17f505a97c68c1c81 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 18 Jun 2024 10:51:46 -0400 Subject: [PATCH 075/174] cli: use sys.exit (site.)exit/quit is not recommended to use --- src/odm_sharing/tools/share.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index abc354b8..7a2816d4 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -1,5 +1,6 @@ import contextlib import os +import sys from enum import Enum from os import linesep from pathlib import Path @@ -49,6 +50,11 @@ class OutFmt(str, Enum): app = typer.Typer(pretty_exceptions_show_locals=False) +def quit(msg: str = '') -> None: + # XXX: shadows site.quit which may not be available + sys.exit(msg) + + def write_line(file: TextIO, text: str = '') -> None: '''writes a line to STDOUT and file''' print(text) @@ -156,7 +162,7 @@ def share( table_filter = get_tables(org_queries) except rules.ParseError: # XXX: error messages are already printed at this point - exit(1) + quit() # XXX: only tables found in the schema are considered in the data source print(f'connecting to {qt(input)}') @@ -191,7 +197,7 @@ def share( assert False, f'format {outfmt} not impl' except IndexError: # XXX: this is thrown from excel writer when nothing is written - exit('failed to write output, most likely due to empty input') + quit('failed to write output, most likely due to empty input') finally: if excel_file: excel_file.close() From cd05ea5598359c8d0cd343574114f74b76078297 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 19 Jun 2024 14:39:27 -0400 Subject: [PATCH 076/174] cli: fix return/except code flow avoid exiting from except-clauses to avoid nested exceptions --- src/odm_sharing/tools/share.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 7a2816d4..c9b25eac 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -50,9 +50,8 @@ class OutFmt(str, Enum): app = typer.Typer(pretty_exceptions_show_locals=False) -def quit(msg: str = '') -> None: - # XXX: shadows site.quit which may not be available - sys.exit(msg) +def error(msg: str) -> None: + print(msg, file=sys.stderr) def write_line(file: TextIO, text: str = '') -> None: @@ -162,7 +161,7 @@ def share( table_filter = get_tables(org_queries) except rules.ParseError: # XXX: error messages are already printed at this point - quit() + return # XXX: only tables found in the schema are considered in the data source print(f'connecting to {qt(input)}') @@ -197,7 +196,8 @@ def share( assert False, f'format {outfmt} not impl' except IndexError: # XXX: this is thrown from excel writer when nothing is written - quit('failed to write output, most likely due to empty input') + error('failed to write output, most likely due to empty input') + return finally: if excel_file: excel_file.close() From 3bfe37edfbd694047eb7aad928dfda682a075243 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 18 Jun 2024 10:52:01 -0400 Subject: [PATCH 077/174] cli: infer output format from input --- src/odm_sharing/tools/share.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index c9b25eac..475d8c6d 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -24,6 +24,7 @@ class OutFmt(str, Enum): '''output format''' + AUTO = 'auto' CSV = 'csv' EXCEL = 'excel' @@ -45,7 +46,7 @@ class OutFmt(str, Enum): DEBUG_DEFAULT = False ORGS_DEFAULT = [] OUTDIR_DEFAULT = './' -OUTFMT_DEFAULT = OutFmt.EXCEL +OUTFMT_DEFAULT = OutFmt.AUTO app = typer.Typer(pretty_exceptions_show_locals=False) @@ -142,6 +143,15 @@ def get_excel_writer(debug: bool, org: str, outdir: str, outfmt: OutFmt return None +def infer_outfmt(path: str) -> Optional[OutFmt]: + '''returns None when not recognized''' + (_, ext) = os.path.splitext(path) + if ext == '.csv': + return OutFmt.CSV + elif ext == '.xlsx': + return OutFmt.EXCEL + + def share( schema: str, input: str, @@ -152,6 +162,12 @@ def share( ) -> None: schema_path = schema filename = Path(schema_path).name + if outfmt == OutFmt.AUTO: + fmt = infer_outfmt(input) + if not fmt: + error('unable to infer output format from input file') + return + outfmt = fmt print(f'loading schema {qt(filename)}') try: From 7da461eeefb48d5e6346306b20fe6e524fb7dba4 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 18 Jun 2024 11:09:25 -0400 Subject: [PATCH 078/174] cli: refactor --- src/odm_sharing/tools/share.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 475d8c6d..9b38a8cc 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -161,7 +161,7 @@ def share( debug: bool = DEBUG_DEFAULT, ) -> None: schema_path = schema - filename = Path(schema_path).name + schema_filename = Path(schema_path).name if outfmt == OutFmt.AUTO: fmt = infer_outfmt(input) if not fmt: @@ -169,10 +169,10 @@ def share( return outfmt = fmt - print(f'loading schema {qt(filename)}') + print(f'loading schema {qt(schema_filename)}') try: ruleset = rules.load(schema_path) - ruletree = trees.parse(ruleset, orgs, filename) + ruletree = trees.parse(ruleset, orgs, schema_filename) org_queries = queries.generate(ruletree) table_filter = get_tables(org_queries) except rules.ParseError: From 2d51516688d946cf7da2dd7b21d89de386466859 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 18 Jun 2024 11:13:32 -0400 Subject: [PATCH 079/174] cli: include input name in output filename to easier see which output file is associated with which input file --- src/odm_sharing/tools/share.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 9b38a8cc..8a10a3dc 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -119,9 +119,13 @@ def get_tables(org_queries: sh.queries.OrgTableQueries) -> Set[str]: return result -def gen_filename(org: str, table: str, ext: str) -> str: - # [-
]. - return org + (f'-{table}' if table else '') + f'.{ext}' +def gen_filename(in_name: str, org: str, table: str, ext: str) -> str: + if in_name == table or not table: + # this avoids duplicating the table name when both input and output is + # CSV + return f'{in_name}-{org}.{ext}' + else: + return f'{in_name}-{org}-{table}.{ext}' def get_debug_writer(debug: bool) -> Union[TextIO, contextlib.nullcontext]: @@ -132,10 +136,10 @@ def get_debug_writer(debug: bool) -> Union[TextIO, contextlib.nullcontext]: return contextlib.nullcontext() -def get_excel_writer(debug: bool, org: str, outdir: str, outfmt: OutFmt - ) -> Optional[pd.ExcelWriter]: +def get_excel_writer(in_name, debug: bool, org: str, outdir: str, + outfmt: OutFmt) -> Optional[pd.ExcelWriter]: if not debug and outfmt == OutFmt.EXCEL: - filename = gen_filename(org, '', 'xlsx') + filename = gen_filename(in_name, org, '', 'xlsx') print('writing ' + filename) excel_path = os.path.join(outdir, filename) return pd.ExcelWriter(excel_path) @@ -162,6 +166,8 @@ def share( ) -> None: schema_path = schema schema_filename = Path(schema_path).name + in_name = Path(input).stem + if outfmt == OutFmt.AUTO: fmt = infer_outfmt(input) if not fmt: @@ -197,11 +203,11 @@ def share( org_data[table] = sh.get_data(con, tq) # one excel file per org - excel_file = get_excel_writer(debug, org, outdir, outfmt) + excel_file = get_excel_writer(in_name, debug, org, outdir, outfmt) try: for table, data in org_data.items(): if outfmt == OutFmt.CSV: - filename = gen_filename(org, table, 'csv') + filename = gen_filename(in_name, org, table, 'csv') print('writing ' + filename) path = os.path.join(outdir, filename) data.to_csv(path, index=False) From f0a22eb15f7271598f3cc8f517d4e142a6a0eeca Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 19 Jun 2024 14:42:13 -0400 Subject: [PATCH 080/174] cli: use logging instead of stdout to avoid spamming the terminal when running the tool. The python logging doesn't write to stdout like print does, while still allowing us to have a log of what happened (to a file, etc.). This is good because we don't want to pollute stdout when making a CLI program. Our errors are written to stderr instead, so that's fine. --- src/odm_sharing/private/cons.py | 7 ++++--- src/odm_sharing/tools/share.py | 17 +++++++++-------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 4b7612f6..47c1ec29 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -1,3 +1,4 @@ +import logging from pathlib import Path from typing import List, Set @@ -18,7 +19,7 @@ def _create_memory_db() -> sa.engine.Engine: def _write_table_to_db(db: sa.engine.Engine, table: str, df: pd.DataFrame ) -> None: - print(f'- table {table}') + logging.info(f'- table {table}') df.to_sql(table, db, index=False, if_exists='replace') @@ -26,7 +27,7 @@ def _connect_csv(path: str) -> Connection: '''copies file data to in-memory db :raises OSError:''' - print('importing csv file') + logging.info('importing csv file') table = Path(path).stem db = _create_memory_db() df = pd.read_csv(path) @@ -38,7 +39,7 @@ def _connect_excel(path: str, table_whitelist: Set[str]) -> Connection: '''copies file data to in-memory db :raises OSError:''' - print('importing excel workbook') + logging.info('importing excel workbook') db = _create_memory_db() xl = pd.ExcelFile(path) included_tables = set(map(str, xl.sheet_names)) & table_whitelist diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 8a10a3dc..8de4b69f 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -1,4 +1,5 @@ import contextlib +import logging import os import sys from enum import Enum @@ -53,6 +54,7 @@ class OutFmt(str, Enum): def error(msg: str) -> None: print(msg, file=sys.stderr) + logging.error(msg) def write_line(file: TextIO, text: str = '') -> None: @@ -140,7 +142,7 @@ def get_excel_writer(in_name, debug: bool, org: str, outdir: str, outfmt: OutFmt) -> Optional[pd.ExcelWriter]: if not debug and outfmt == OutFmt.EXCEL: filename = gen_filename(in_name, org, '', 'xlsx') - print('writing ' + filename) + logging.info('writing ' + filename) excel_path = os.path.join(outdir, filename) return pd.ExcelWriter(excel_path) else: @@ -175,7 +177,7 @@ def share( return outfmt = fmt - print(f'loading schema {qt(schema_filename)}') + logging.info(f'loading schema {qt(schema_filename)}') try: ruleset = rules.load(schema_path) ruletree = trees.parse(ruleset, orgs, schema_filename) @@ -186,11 +188,9 @@ def share( return # XXX: only tables found in the schema are considered in the data source - print(f'connecting to {qt(input)}') + logging.info(f'connecting to {qt(input)}') con = sh.connect(input, table_filter) - if debug: - print() # one debug file per run with get_debug_writer(debug) as debug_file: for org, table_queries in org_queries.items(): @@ -208,11 +208,11 @@ def share( for table, data in org_data.items(): if outfmt == OutFmt.CSV: filename = gen_filename(in_name, org, table, 'csv') - print('writing ' + filename) + logging.info('writing ' + filename) path = os.path.join(outdir, filename) data.to_csv(path, index=False) elif outfmt == OutFmt.EXCEL: - print(f'- {qt(table)}') + logging.info(f'- {qt(table)}') data.to_excel(excel_file, sheet_name=table) else: assert False, f'format {outfmt} not impl' @@ -223,7 +223,7 @@ def share( finally: if excel_file: excel_file.close() - print('done') + logging.info('done') @app.command() @@ -236,6 +236,7 @@ def main_cli( debug: Annotated[bool, typer.Option("-d", "--debug", help=DEBUG_DESC)] = DEBUG_DEFAULT, ) -> None: + logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) share(schema, input, orgs, outfmt, outdir, debug) From 29482299a23e4bda64c1e47dbc40543afbb88852 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 28 Jun 2024 08:30:14 -0400 Subject: [PATCH 081/174] cli: add quiet switch to suppress stdout logging --- docs/tech-spec.md | 4 ++++ src/odm_sharing/tools/share.py | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/tech-spec.md b/docs/tech-spec.md index 8d31a1c4..bda5772f 100644 --- a/docs/tech-spec.md +++ b/docs/tech-spec.md @@ -59,6 +59,10 @@ Options: output files. This shows which tables and columns are selected, and how many rows each filter returns. +- `-q`, `--quiet`: + + don't log to STDOUT + One or multiple sharable output files will be created in the chosen output directory according to the chosen output format and organization(s). Each output file will have the input filename followed by a postfix with the org diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 8de4b69f..86bb9ae8 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -43,11 +43,14 @@ class OutFmt(str, Enum): creating sharable output files. This shows which tables and columns are selected, and how many rows each filter returns.''' +QUIET_DESC = 'Don\'t log to STDOUT.' + # default cli args DEBUG_DEFAULT = False ORGS_DEFAULT = [] OUTDIR_DEFAULT = './' OUTFMT_DEFAULT = OutFmt.AUTO +QUIET_DEFAULT = False app = typer.Typer(pretty_exceptions_show_locals=False) @@ -235,8 +238,11 @@ def main_cli( outdir: str = typer.Option(default=OUTDIR_DEFAULT, help=OUTDIR_DESC), debug: Annotated[bool, typer.Option("-d", "--debug", help=DEBUG_DESC)] = DEBUG_DEFAULT, + quiet: Annotated[bool, typer.Option("-q", "--quiet", + help=QUIET_DESC)] = QUIET_DEFAULT, ) -> None: - logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) + if not quiet: + logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) share(schema, input, orgs, outfmt, outdir, debug) From 5a207a07ea27e080d2799e8b3c1d37c0fe6ded66 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 26 Jun 2024 19:45:34 -0400 Subject: [PATCH 082/174] tweak project desc --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index d8f833ad..9b6b06b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ version = "0.1.0" authors = [ { name="OHRI", email="PHES-ODM@ohri.ca" } ] -description = "Population Health and Envirmental Open Data Model (PHES-ODM) Sharing Toolkit" +description = "PHES-ODM Sharing Library" readme = "README.md" license = { file="LICENSE" } requires-python = ">=3.8" From 2eb0293aaa588febdce0d098498c5e1b35250cdf Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 26 Jun 2024 11:04:25 -0400 Subject: [PATCH 083/174] move old readme to design spec --- README.md => docs/design-spec.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README.md => docs/design-spec.md (100%) diff --git a/README.md b/docs/design-spec.md similarity index 100% rename from README.md rename to docs/design-spec.md From 929b01355846c90afb890bcfd9311f0d0277cf41 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 26 Jun 2024 11:04:31 -0400 Subject: [PATCH 084/174] add new readme --- README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 00000000..486c6485 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# PHES-ODM Sharing Library + +The purpose of this library is to support wastewater-based surveillance and +epidemiology by facilitating the collection, standardization, and transparency +of data by providing a more harmonized ODM data format to share data between +different data curators and data repositories. + +## Features + +- A standard schema format defining rules for data filtering: + - specify custom rules per organization + - specify tables and columns to include + - specify filters for which rows to include +- A Python library for performing each step of the process +- A CLI for easy one-shot sharing + +## Usage + +See [docs/manual/getting-started.qmd](docs/manual/getting-started.qmd). + +## Install + +See [docs/manual/install.qmd](docs/manual/install.qmd). From 74286806fd563686944bcfab98bd19775e56de59 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 27 Jun 2024 10:24:58 -0400 Subject: [PATCH 085/174] change order of arguments for extract func to be consistent with the CLI. It gets confusing if the order of the schema and data arguments are inversed depending on the interface used. --- docs/tech-spec.md | 6 +++--- src/odm_sharing/sharing.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/tech-spec.md b/docs/tech-spec.md index bda5772f..e0f2a7de 100644 --- a/docs/tech-spec.md +++ b/docs/tech-spec.md @@ -107,14 +107,14 @@ package): - `TableName = str` - high level functions: - - `extract(data_source: str, schema_file: str, orgs: List[str]=[]) -> ...` + - `extract(schema_file: str, data_source: str, orgs: List[str]=[]) -> ...` returns a Pandas DataFrame per table per org Parameters: - - data_source: a file path or database url (in SQLAlchemy format) - schema_file: rule schema file path + - data_source: a file path or database url (in SQLAlchemy format) - orgs: orgs to share with, or all if empty Exceptions: ConnectionError, OSError, ParseError @@ -215,7 +215,7 @@ orgs = [org] high-level one-shot function: ```python -results = s.extract(data_file, rules, orgs) +results = s.extract(rules, data_file, orgs) for org, tabledata in results.items(): for table, data in tabledata.items(): data.to_csv(f'{org}-{table}.csv') diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index ae67cdc8..0978c091 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -74,8 +74,8 @@ def get_columns(c: Connection, tq: TableQuery def extract( - data_source: str, schema_path: str, + data_source: str, orgs: List[str] = [], ) -> Dict[OrgName, Dict[TableName, pd.DataFrame]]: '''returns a Pandas DataFrame per table per org From c45ddc2e2f2df1a66e4bda12ebbfea4d435ece2c Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 16 Jul 2024 15:01:10 -0400 Subject: [PATCH 086/174] fix outfmt auto-detect when using db input --- src/odm_sharing/tools/share.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 86bb9ae8..456e2daa 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -176,9 +176,11 @@ def share( if outfmt == OutFmt.AUTO: fmt = infer_outfmt(input) if not fmt: - error('unable to infer output format from input file') - return - outfmt = fmt + logging.warning('unable to infer output format from input path, ' + + 'defaulting to excel') + outfmt = OutFmt.EXCEL + else: + outfmt = fmt logging.info(f'loading schema {qt(schema_filename)}') try: From 82311cb864b54a127355eced0a007d5b889ee7c7 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 16 Jul 2024 11:14:48 -0400 Subject: [PATCH 087/174] doc: move spec files to subdir --- docs/{ => spec}/design-spec.md | 0 docs/{ => spec}/tech-spec.md | 0 docs/{ => spec}/trees-algo.md | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename docs/{ => spec}/design-spec.md (100%) rename docs/{ => spec}/tech-spec.md (100%) rename docs/{ => spec}/trees-algo.md (100%) diff --git a/docs/design-spec.md b/docs/spec/design-spec.md similarity index 100% rename from docs/design-spec.md rename to docs/spec/design-spec.md diff --git a/docs/tech-spec.md b/docs/spec/tech-spec.md similarity index 100% rename from docs/tech-spec.md rename to docs/spec/tech-spec.md diff --git a/docs/trees-algo.md b/docs/spec/trees-algo.md similarity index 100% rename from docs/trees-algo.md rename to docs/spec/trees-algo.md From 675dc7e92d3b4ebdc20e4c479e61085ac7590e38 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 16 Jul 2024 11:30:16 -0400 Subject: [PATCH 088/174] doc: move trees-algo to tech-spec --- docs/spec/tech-spec.md | 51 +++++++++++++++++++++++++++++++++++++++++ docs/spec/trees-algo.md | 50 ---------------------------------------- 2 files changed, 51 insertions(+), 50 deletions(-) delete mode 100644 docs/spec/trees-algo.md diff --git a/docs/spec/tech-spec.md b/docs/spec/tech-spec.md index e0f2a7de..a4e3b623 100644 --- a/docs/spec/tech-spec.md +++ b/docs/spec/tech-spec.md @@ -365,6 +365,57 @@ Example rules with its generated tree: (select, "all") ``` +#### Algorithm + +- Each rule in a sharing CSV sheet can only reference rules defined in a + previous row. +- a node has a type/kind, a value, and a list of children +- the children of a node is called 'sons' since it's shorter +- nodes are first added to ctx and then later added to parent nodes with O(1) + lookup, this way the tree is constructed incrementally while parsing each + rule +- share nodes are made to be children of a single root-node, since each org + gets its own node, there may be multiple share-rules, and the tree + can only have a single root node +- the root-node is updated every time a new share-node is added +- tables of each rule are cached for O(1) lookup + +``` +for each rule: + for each table in rule, or just once if no table: + init node, depending on rule mode: + select: + kind = select + value = empty if sons are specified, otherwise 'all' + sons = a value node for each column name + filter: + kind = filter + value = operator + sons = + 1. a key node for the field name + 2. a value node for each filter value + group: + kind = group + value = operator + sons = nodes matching the rule's list of ids + share: + kind = root + sons = + for each organization: + kind = share + value = org + sons = + for each select-node referenced in share-rule: + for each table in select-node's rule: + kind = "table" + value = table + sons = + 1. select node + 2. filter/group node referenced in + share-node. Multiple nodes are + implicitly grouped with an AND-node. +``` + ### SQL query generation SQL queries are (recursively) generated from each table-node of the AST. Values diff --git a/docs/spec/trees-algo.md b/docs/spec/trees-algo.md deleted file mode 100644 index 6045fa5d..00000000 --- a/docs/spec/trees-algo.md +++ /dev/null @@ -1,50 +0,0 @@ -This module contains the parsing of a set of rules into an abstract syntax tree. - -- Each rule in a sharing CSV sheet can only reference rules defined in a - previous row. -- a node has a type/kind, a value, and a list of children -- the children of a node is called 'sons' since it's shorter -- nodes are first added to ctx and then later added to parent nodes with O(1) - lookup, this way the tree is constructed incrementally while parsing each - rule -- share nodes are made to be children of a single root-node, since each org - gets its own node, there may be multiple share-rules, and the tree - can only have a single root node -- the root-node is updated every time a new share-node is added -- tables of each rule are cached for O(1) lookup - -Algorithm: - -for each rule: - for each table in rule, or just once if no table: - init node, depending on rule mode: - select: - kind = select - value = empty if sons are specified, otherwise 'all' - sons = a value node for each column name - filter: - kind = filter - value = operator - sons = - 1. a key node for the field name - 2. a value node for each filter value - group: - kind = group - value = operator - sons = nodes matching the rule's list of ids - share: - kind = root - sons = - for each organization: - kind = share - value = org - sons = - for each select-node referenced in share-rule: - for each table in select-node's rule: - kind = "table" - value = table - sons = - 1. select node - 2. filter/group node referenced in - share-node. Multiple nodes are - implicitly grouped with an AND-node. From 3bd9289ac1948ae2dc3dfff64b10ee64733b119d Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 10 Jun 2024 13:03:50 -0400 Subject: [PATCH 089/174] doc: add manual Adds a proper manual that can be rendered to HTML and PDF. The following files are moved into the manual: - /INSTALL.md - /docs/sqlite.md - /docs/tech-spec.md (CLI reference only) --- INSTALL.md | 33 -- docs/manual/.gitignore | 10 + docs/manual/_quarto.yml | 20 + docs/manual/api.qmd | 111 ++++ docs/manual/assets/minimal/measures.csv | 5 + docs/manual/assets/minimal/schema.csv | 4 + docs/manual/assets/odm-logo.png | Bin 0 -> 483906 bytes docs/manual/assets/schema-missing-headers.csv | 1 + docs/manual/assets/schema-missing-rules.csv | 1 + docs/manual/cli.qmd | 151 +++++ docs/manual/common.py | 18 + docs/manual/getting-started.qmd | 92 +++ docs/manual/index.qmd | 14 + docs/manual/install.qmd | 142 +++++ docs/manual/python.qmd | 65 +++ docs/manual/schemas.qmd | 540 ++++++++++++++++++ docs/manual/sqlite.qmd | 87 +++ docs/spec/tech-spec.md | 70 --- docs/sqlite.md | 101 ---- requirements-doc.txt | 1 + 20 files changed, 1262 insertions(+), 204 deletions(-) delete mode 100644 INSTALL.md create mode 100644 docs/manual/.gitignore create mode 100644 docs/manual/_quarto.yml create mode 100644 docs/manual/api.qmd create mode 100644 docs/manual/assets/minimal/measures.csv create mode 100644 docs/manual/assets/minimal/schema.csv create mode 100644 docs/manual/assets/odm-logo.png create mode 100644 docs/manual/assets/schema-missing-headers.csv create mode 100644 docs/manual/assets/schema-missing-rules.csv create mode 100644 docs/manual/cli.qmd create mode 100644 docs/manual/common.py create mode 100644 docs/manual/getting-started.qmd create mode 100644 docs/manual/index.qmd create mode 100644 docs/manual/install.qmd create mode 100644 docs/manual/python.qmd create mode 100644 docs/manual/schemas.qmd create mode 100644 docs/manual/sqlite.qmd delete mode 100644 docs/sqlite.md create mode 100644 requirements-doc.txt diff --git a/INSTALL.md b/INSTALL.md deleted file mode 100644 index 8c71f56d..00000000 --- a/INSTALL.md +++ /dev/null @@ -1,33 +0,0 @@ -# installation instructions - -## system dependencies - -- Python >= 3.8 -- [SQLite](docs/sqlite.md#installation) -- pyenv (for development with Python 3.8) - -## development setup - -```bash -# clone repo -git clone https://github.com/Big-Life-Lab/PHES-ODM-sharing odm-sharing -cd odm-sharing - -# setup repo to run python 3.8 -pyenv local 3.8 - -# create a virtual env for the repo -python -m venv .env - -# activate the virtual env (must be done every time a new terminal is opened), -# or run .env/bin/pip and .env/bin/python directly -source .env/bin/activate - -# make sure pip is up to date, and install dependencies -pip install --upgrade pip -pip install -r requirements.txt -pip install -r requirements-dev.txt - -# build and install the library in development mode -pip install -e . -``` diff --git a/docs/manual/.gitignore b/docs/manual/.gitignore new file mode 100644 index 00000000..14813475 --- /dev/null +++ b/docs/manual/.gitignore @@ -0,0 +1,10 @@ +# generated files +/measures-OHRI.csv +search.json +site_libs +debug.txt + +# generated dirs +/.quarto/ +/_book/ +/build/ diff --git a/docs/manual/_quarto.yml b/docs/manual/_quarto.yml new file mode 100644 index 00000000..2447b238 --- /dev/null +++ b/docs/manual/_quarto.yml @@ -0,0 +1,20 @@ +project: + type: book + output-dir: build + +book: + title: 'PHES-ODM Sharing Library Manual' + author: 'OHRI' + chapters: + - index.qmd + - install.qmd + - getting-started.qmd + - cli.qmd + - api.qmd + appendices: + - schemas.qmd + - python.qmd + - sqlite.qmd + +pdf-engine: pdflatex +toc: true diff --git a/docs/manual/api.qmd b/docs/manual/api.qmd new file mode 100644 index 00000000..9ee29801 --- /dev/null +++ b/docs/manual/api.qmd @@ -0,0 +1,111 @@ +# API {#sec-api} + +## Reference + + + +```python + +def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: + '''returns queries for each org and table, generated from the rules + specified in `schema_file` + + :raises OSError, ParseError: + ''' + + +def connect(data_source: str, tables: Set[str] = set()) -> Connection: + '''returns a connection object that can be used together with a query + object to retrieve data from `data_source` + + :raises DataSourceError:''' + + +def get_data(c: Connection, tq: TableQuery) -> pd.DataFrame: + '''returns the data extracted from running query `q` on data-source + connection `c`, as a pandas DataFrame + + :raises DataSourceError:''' + + +def get_counts(c: Connection, tq: TableQuery) -> Dict[RuleId, int]: + '''returns the row counts for each rule + + :raises DataSourceError:''' + +def get_columns(c: Connection, tq: TableQuery + ) -> Tuple[RuleId, List[ColumnName]]: + '''returns the select-rule id together with the column names that would be + extracted when calling `get_data` + + :raises DataSourceError:''' + + +def extract( + schema_path: str, + data_source: str, + orgs: List[str] = [], +) -> Dict[OrgName, Dict[TableName, pd.DataFrame]]: + '''returns a Pandas DataFrame per table per org + + :param data_source: a file path or database url (in SQLAlchemy format) + :param schema_path: rule schema file path + :param orgs: orgs to share with, or all if empty + + :raises DataSourceError: + ''' +``` + +## Usage + +### Examples + +**Common definitions:** + +```{python} +#|echo: False +from common import DATA, SCHEMA, load_csv_md, print_file + +def my_processing_func(data): + # what a user-made function may look like + pass +``` + +```{python} +import pandas as pd +import odm_sharing.sharing as sh + +ORG = 'OHRI' +ORGS = [ORG] +``` + +**High-level one-shot function:** + +```{python} +results = sh.extract(SCHEMA, DATA, ORGS) +for org, table_data in results.items(): + for table_name, data_frame in table_data.items(): + my_processing_func(data_frame) +``` + +**Low-level sample code:** + +```{python} +def describe_table_query(con, table, query): + print(f'query table: {table}') + + (select_rule_id, columns) = sh.get_columns(con, query) + print(f'query columns (from rule {select_rule_id}):') + print(','.join(columns)) + + print('query counts per rule:') + rule_counts = sh.get_counts(con, query) + for ruleId, count in rule_counts.items(): + print(f'{ruleId} | {count}') + +con = sh.connect(DATA) +table_queries = sh.parse(SCHEMA, ORGS) +for table, query in table_queries[ORG].items(): + describe_table_query(con, table, query) + my_processing_func(sh.get_data(con, query)) +``` diff --git a/docs/manual/assets/minimal/measures.csv b/docs/manual/assets/minimal/measures.csv new file mode 100644 index 00000000..4f73510f --- /dev/null +++ b/docs/manual/assets/minimal/measures.csv @@ -0,0 +1,5 @@ +measureRepID,sampleID,measure,value,unit,aggregation +o.08.08.20covN1,o.08.08.20,covN1,0.00036,gcPMMoV,meanNr +o.08.08.20covN2,o.08.08.20,covN1,0.00003,gcPMMoV,sdNr +o.08.08.20covN4,o.08.08.20,covN2,0.00002,gcPMMoV,meanNr +o.08.08.20covN3,o.08.08.20,covN2,0.00004,gcPMMoV,sdNr diff --git a/docs/manual/assets/minimal/schema.csv b/docs/manual/assets/minimal/schema.csv new file mode 100644 index 00000000..e495f5e3 --- /dev/null +++ b/docs/manual/assets/minimal/schema.csv @@ -0,0 +1,4 @@ +ruleID,table,mode,key,operator,value,notes +1,measures,select,NA,NA,all,"select all columns from the measures table" +2,measures,filter,measure,=,covN1,"where measure equals covN1" +3,NA,share,OHRI,NA,1;2,"use rule 1 & 2 for the OHRI organization" diff --git a/docs/manual/assets/odm-logo.png b/docs/manual/assets/odm-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..99754e6f3255adb6146ecf29b857e92c213781a6 GIT binary patch literal 483906 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 z zmUF-v7gA!29978T@n%8*FYcEB1E>=pEMB1)@GT6?RJ}%{lG{A0k{t~~)HH1CqhgNn z@mpS~4+}h&n;+PGAq033?Js#};p@=--#Ke+<7~l^JKx0_<3>4ZViG??ttkfUXuh{UZG4Nw-A4k{Us$7f@!7w#9wHkTj=o3m&n^6du@x2ESR zq}0e1uNvNgM7?Y3mMLDi@#HQ>-Nv|iFyA0k*96L{pz`pOq#gjXf`*=Sj1A+7NNY(c{Aj+k?^%=K~B0)nJe(pGOF+pKN?Nv=`#M*oU)eT2LI92i2yc^wy zOHYSTuH7;4d@yBae-1|&?{a(J{7-8B+@3}^2V~d2q>7wn+=0CznfbVyBx$Muq}Yqw z4Pd!_LjQ0kJRy-N9QLDKN^kk+bUw1xYPxiu0dO>?_0>g0v-f59^5z=HF3QKTor(hJ z@(1IEXncYhtI6S>w|06Yf&AT&TJc`R2q7a-l7k}VtNPA2I9POG_1#MTKdy1;=g|Ee z>t#%QxOyaWIjU|UqGk<=E}H)Mwux@bct&3{yz9g3U&os-Bi0Fz5fV$lv%BZN=M0mD z$sv9|3k`&|9CZWzfd=mS;%Oh6^| zcM)07QO5^1PMk;PTu_Y!}4t2yfY{zMDc;0b_V^91S{~I_-7=l7Ro1Yu&qhH zz<&;8Rb$%@=T-xe^|t8fQR4xSEi{zlzG3EYYE5jz)K@XgG-jacd`!g~YC+A#@vqMU zR!ZRF1r~3Sf%DI(wKzoi)cz78>FHz!b(U;TjTn|%ZOg<Ju|A&^nc08HUbhG=z4> zBrL>86iu!X$%Y#n0BcYz+ANc_Riw5f^uJeiZzY7ynAN?PW^#K+2noiA37osW# zPmd_gRH13P7bY6e)6_J)CviWe}`LKi9&U&1?kTivf!?%)Nk}nF*p)>cg^u5!P za4a{<1hO!sXIYx>M7uuTHd%o^B#FZ-8RSDqyu53kViXL)vpO8rG>qspMWow-JnM3Vc9ev}E zc_poORbpsmXRY7eA2=5p_c}g#G21BpPeCHGYi{+AHPE~GAnm>***OPG{}!-(MZ?Ye zs40r< z<#-~o4CR%FV(k>g5yEVAVA&x<>H52PlAW9iiS$j)zB8v;oR33`nz5+lUgA$5pzNGY zbHT$F5XFT8WCocj*Ljf~JO1hYXWZ`c`Qhk!m5(gTi(mT?cpz_AFjck*L+(jDEspU$ z`#g!sIR+(ybnLHr(fzSNjXop3YM(6f77|PEuA0%@)x(_oU;VX4>(+a~vu^qN^z`Pd zYdeMzt+yj+Vdv6HAUC$~mq0b-$xa<}nH=4$wq~^Hhg6)C%+*4{k7Ne@X)f5k4AfyI z2`ZC|chLVmv`%AcGoVp76y;6cN>>zcnRB@~aD6kRVTd`oT;Csu9beB>24fsP*aZJ6 zkIdAGoDG`Py+c`4GN@smhcn}e>e5?-ju(O1?kxV_%0Jc7B1Q6uHo{I3_h2ftmB^=F zMD>&IPLn!(14-y;pWm@FAPQ)(c}S&iPT^MQFsQ9uGL*Ob6Sm@x;GG?(R>`*(Ejs4u8_YnwdW1 z<3l!}ktJj>E{O8_nwcbIhkiSJWn^`r*0hY1TmBaBJjXT?6Z^L!lFkO{*5O)+Y-Th_ zS3v>DdMi{$Jhg>43@bmIf>P;1XMJWTQ6sC>iY@YmIZ+>B3P-eXElVrXsxusuHRYmh z9W{CG^83flT!Y)4^r@K9HZ$&c>+_}895^n1cMWRv)A>EJ<-P8sEo^ zkH`@cc0mHoXs!W&g!xlVnvb#~L@Ma}|JWnYbT0d5gb_?T)6PMonoRzn%gffWUgG5n zjAdlC)VxEP+wqCen_tQCu4ovKP+wBSo6VbXc;oqtgDL%37wn>)0P3x_9;m&ic%0q`}ls9r@iq(OPmaI(*|OY>w2(_JkQ-le5xy=SCk*CGkY z&Qk}c_@6iX3_C|xoB$=y%zGf**cDEL?hrki-u@=G#29p@~JFH-k>=fxhxNpxqzm0pr zv1fG`m4K}B31Y#dQrjyTvStR2|5g|Ic`wyX{3f$`GUtc6bnDtq*BcMWvFL<|%(waa z?|&9Y*WcI>ZVz|VWn9xc9B8@O({UF)3ND4WM#D7LOl(Q2aqXGw@MV=C(66H03RFOD zFR1tqbk?ck{gizph5}>0-jAtx-sY1|()2V3+~~N)7HyR5?QCDZ?_3@wgukcwc#9ls z(~LTi1{2q0r{9C{>n7pJGM^6&dp^TF^aL{dD)JxwkG5g-n~TLm}+2)lqm&Fo3W z>bUVI{(&lP4gEt{u{FN?xM*eb(?KR}my9l-x=(PCSTKe=bMtr>4u=Fo0u^cPtw0HE z;tknvZ4YE`Svb^)lGtEU|Cevme5Cw8q{^Jt6BylCiHBKR;suF7AsJ%W{u6}@^MUS5 z%zgC2G`lWVTw7JpFJ5%?32Xs(u0H9-_#^jL9hRw!v(pgemPD%7mJtf6n*y%um&z-N>((#Cdtqm8KPFqi{ErWw4CPol9 zk2ekZ#i!=2M6E3+J;O4eyR+b$UgFRXBGUVbicgNY_Rw2SjWJ!x-$k5YVjVZp{9W(I z(+~B-L`p{ZWfQ}B$k^u9{c}jJ`BK3jg1T5$z|!kURWdH5tdk9-FO;(nl!~Nitp9S! zN&T{uEjlguP|0eGxqV9K`_gwOKb#)K?6maAerl%FWUv@nL!Fc=SNU9c#QqVE5KGm& zu*Hqa=c)?5cIR6%vMo4!uq@G)R;g9IL2oA!rd@2T4yPMn&Xm+;y7)hH#mzT>gN?GR8jJv)g^_z0nOyMw3X8=0&^U)cwfB73!e*I zo>-Md+<|&IT0NR6#)f-!0!Y}GlTgT$_k6R1$CmaITtZHh4Tsm?V@}`x*`#Ni52BPN z{B?9#llKONjmV+S0$v9%_;}`MHGAS$z;8SEheYd~kHU}2avWWx&e@QytR4hVLMibD z;^%{-7R|67(!cs$cz5ie^dSb1%Mzf+R8ua-L)E1;qEwQ6rjG~O!l2Do`TtyvW-A5W z8j7<+nVXBRMipnQ?u&a%I!L%GOn8nK*SUUA57%crpZBe8Vr!d!Zp$$Km0mY*C=u!Q z@eh(f6^ng?AB11^(-kRcRSd77e5cD7scfEe=svLDGG|3fBCVz4+)6o*pqH>}7qSBD)T;sJ-XBy*=9x3 zh6KiAeZ$+=<{IRHJNQhpq!L%0mZU@3~WW;W->gQ@bGlc9qt2dfJkZ^JnJZh#SL4h zy*An&yTmf&*e{?IoN8-L0e3dD*&9?k^p2fXC&$giQ*hV!_z)~}#JpBJ7l(UcaAQ=Nt%E{?|G6u~k#I)a0RA-ibYso6G$wYCGvr z=<@++G-`f@NW)K_v%y-@Pa*u=;(jn$GeI;+HBXgEn^-Z3sx~%N%5sI*+Y^xee-?yp z9gNB?g}L^+N}RdBYIND*Cn|ZmYa8vy_1RfAYdQIWU7ke=x&9noucKSxaX~bh!e>*|?;b`z1PygK&*pE4yOsi@(c;8Q0A-G`5(s)2fE;0wI`Ie7L?N};(x$=NXq{1(1$ zOl#=Gs=~Q#?nd0b-~_tg5InesrUsXac4Ty><-F82p_+mtS&bScy1UjrX2+THP!@*K zbO}22>4`8Xwvcu<0&C~05m>-4_%nu;@Rn-XLm5h_=Uoud zSu8q&kU*GMP@|eW>VH%~;)BTkqJyqvAnC{YH=NlGJNDL(?3R!+M08J>EHB8y%9zO{ zkM`<9cqb{Cw(+~c@x%a=nEc{#n5L3PCJb>ltDJ_klZFU0L8-Hf7Ftx5$!cW2pphx= z_^elH%CVs=i%SFhz50{oD`S7hrds4v%;s3&F0DNs9-VK1v8LN)2-deNG8`+l5&vBz zmGQl&_(jrp@^@3x8v(sSs2^~BKxCL#!V>xzeL1&=g*$!LJvFyLdBy*$w1pT0>uIS+VM15 zgPRgP+^r<|AMN*eoD?fhD*vxflHXe+He!z8M5&V(FJ7d~T(BVj3#*xLb;kR4EiT7s zeZD#KzJL7Mc{?fyzbj9O5YyZG)AEbS%<_j);X(prKxNE<6Uu39#p&;Qkjkhioyu9q zx+wwS6RM1aEj2<=K&tKbC`QS*mjNpfK1_R801dU$y57R$ko4?64-L%Fl4mNtUS3z4 zG@cn1&=kP8P;Z-6u$S*j@%jS-RvlLqb6>V~ZnE=apQ3GOr94S!L!%v^(O-jM=UUo! zmg+~U7@VCx*Ea4Is-5NBlJ74&#>zY|x-!8|!Zh!LjqrMGYln8smp>it;D(bw~WQ9!<|b^Q{aNz?8InL4VyR zB}5Wt0v39jCypptpTX#XGvj7H>Kdy=UbX;z%vZb^%J=3q>CpJ7yK^v=k}Y^HRRY9u z-g$Il01k6AL?KNZadK|VKt=Riz%hLb z>xxcDux$F>n2KF_&6r8M>L`$$fV`Q(H6mZW=^^ea(!d)0FpccwUiEYk8Xq;UpVNgEuoKL|UCnD)e zRuzRc#a-k1hYWWhIf-=$`dbLTs5MD8sKayjIv7{xCz#}9*@hl20*HIs0Ow{TeU#!m zqLkUz%^w!OF(Qa46ku*uw~_UOkJc4{X!FyS_v0Ml%MvMIdqMIdM2cAGTY*DpEPMpa zp#zBTCz1<)9WOhv3{YxFEa0#lZX^s1=03GwlBW+148}X@K76%+dVb*-{yC=+z6{4e zi7(GX<~U%Lg!oHnetCXkl74*Cu*m7#I<%%ija#Ww8Ii>!hJ)R>tEL0nTv~RWgd~ax zeZ1;7|9|WIp(x08TsbOVvUh$Dw!5K3gd7i%Es&G-l&V|dtI_vye`V+7^ZjaP_oyHu z3;NGro3EOs@>tjBDJ3^U@22MQu(yoW$ME^U=kUk-WtzhxL&!DnT7ibZlf!4T$OLo# z9u_OF!^_$I+du@bQgZL@#7dNXP-x=Cvhr7fVkYK3)MXdge%;g>AQ?QhwY%q*gN&3S zUkNtN@d7ESZmXF1l~F-OfjS-mcT8fop zBec=ADwJyCQdpONwn%};U;TJKe*D+WCxJ$E4Cc5Onr%~@tGgjB(b z6)BL~;Yf&H*v}8}TmLRrBUDkeA&b9#bYa`d&f#(lwJG8-lEIU!knCKpkfFPNki$OI z=@*9WxT4YScx%SsFb7CesN^TN!eG$TrNr9Ze*dJ`b`4*;$uz?ZPu`1o{>!r)eTw>{ z?75Kuv z4ZAjKY09r&k#U%$Stb}>OR-t{-S79E2wDq_y&@kkE!xOGe5PX+>ORI$7-!TeY=Y>) z>$tCrA?+wRAz-6%g?#n#(C?sUwGYi3hS}GB3y>FaduaCcWPPRUTe{*IMSC(9zSZ$}r z7KllsX0E)l(%(HXJe(_BDvohh9yKl(%AAR$s=2z8tfIJrY8jD!NG`d3P*-~IFOzT%IdsQQq%EV=7U6KaN^-0pl8Ec%k-b0ZLshQN~mRk zf0N7}Lb8%s8ybI7tJkJkQR~H}5NE*T1PlV?<$oL$B&j8^x6v<9$_2&mF(xx!XUDN^ zRxH}{I%mZ9(-Vb2taP2BCaJ4_>x#J+{k|#2v0cbD4?%l|3X+~+@H)3h4Z+b`?k%Xb zDctuwC8}99o^=#_7&rPTFuB_Ad6!w;>M3_Hw6#94456s*$b7I)%#fJ^m#%q_6uGUR zbtxio?_!f3P5FmPTllU&c!xYN=2V0Q(W5Y^A=B8eNxh$K@-0r;PV+<&iuF10E-lN> zkqin9q;t4UUp`P_x5Pk#%E(NM$`f~0veS7Btc^Jbw#Fr7t33y%81BK&ZONW`}lTZgXQK>YphUr|@aeSH#;ydcRepMTk> z|MX=Xdk+O9RSJ-MKVHwStCTN?X5d^h=T_#Aa3!jtO(fNfa*AyzWEB~M%nuB>a2p=STU%qR0IztBu(8b*#k$4#Z#-#b>R@A8F-0^qJkVD^W+{OabT&!iYvx((*Rb+N?0;q z;=3MzHjDFe3XRIwaNgNgJ=W%4;Qb$i(}8bmupH-?oC=4RmFI)TPFCh|-En*j{JlIk zD~C^=HUy)nrtf`nb$)RDSWXgN{^djxT;LM)Vn07V+3A5E6C!gk5zC5%R@C&`L=E^KwZHvI;uLpLQ~W8**=rBir7X9OY#3{geHz=J7LV`RZ{hsE3E({W=$ zkn%xazg?X!0%2xPn)@CD>&Es;JZ_R<0@Pi7p+~f#BRzP55Llr|UDb%>e0b0ffkh6) zfC~E*#DgG_c?slG$-N$$=>3@Slk|LI;)!~`uO|YHccsU_WAjX+0z?6t)rFpb>I>Uf z>I6gz5sOqdaFmbWyw%YBVDBn|flQ;LGmiwu0@hF&{%(fQ=qRb?pR(nIzyyHy?y_dT zl>34sJp+np3~4WQTyLi=5d&)qpw-3$exO;GapFg)RpB0!Q&itoGRxCpjd8Shd5Gff z?|&Fs&*m`oI~fqa%tw47(f@{uhKi=oaK4qGS}59vR_RaDQL{#&y7J1S`;ko7a6y>m3WdWF2O-#! zLf0jYL5f(&`=>}kb><4y^-*3}IJ3;dcQkg;%ycjc%*gQ=NB=JIxR;H-*N}f}@lObJ z2hk|TSo4eo<@1pHd>kIA&~NT8g<86cb{9%?gHyt5U4TuEr8LagwXxYXhO&J{?WTni z)-ttd^;B{!h376gIT04jCZyFoPYv5}LIE;XqWNoY_bZ~~Ty#BU77ekTx~I$UbYo0fE>BV@IlzZ%Y8 z{5rh&_Uqxvm;cnqPQMurw7k0~<7Y=7@3OLDs%7$;EXe@U8c--kmW1_0nK76{;XF8t zve~08N=L6!LMjJ}h^O-hbSPZW6OjE45hcJu4RuwZCB3&>OfH;J(R3~f?PcLGfINXz zA$t;{jPXPjN4Yb(@Cr~ffb=X$<)q1PKB6idqL73Cgd4QS5^4x3CMhoKLWmJSR}QpJ z8R2WrIUVe?uYphzF_yRX2#ziW$eauizLue~iLs(Vn-!dywz+X! z_1?k$aLkdeCnrA0U`tOgH?^%}Lr*q0w)9MJQ;!M}BSdM!SQ-S;C7LhA2$(P1eG-mSw^u@INMwFwlv5Heke$L>fGV?SiJ) zct@C)wDbmk;uZj+Qk3ckq=s+nFQn}SFEXsV0@-HlCr$ZKrh7h&;PRujk`e+cUS7k2 zrJ(D^>BQ?V^U*MLn>ZUl)T01>O;VQykVO~D7defq7Et&g2nG?WK9|xzPqiZS{Q0wS zh3L5qqUX=`p=)iU!(hr6z->6IBOteRne!$#x|288F0>KB&N&R;#1qF)l|_LOya8mG z2{!(0=ZVgJj)-FnD_@j3I0BRM8&d7@>_gn5n;(XUnb`~cnJWh}TEI}E9 zOr_!zg;SiyLDPy3C<92Rm|S1H87_bMemMQ%o8ief`rgkkKMrTlf7QO$O&LB~`H@v) zK>`5L5v>a`WF5HldP+kxSzuS(y zVN@`n%kQU(;rC=n>4-p^t)-rW)@TH45OSP=#87;+^0ogI0|!X1tYKBu>7qp0pYEhJ9ge$ab7hk8->L|-vK<_K3AJqKF(;p3#6 zGKOZn%cJ)vxCRa0GT(JCLm9;}$(_=&A(7Q8V`8X8fza8Th&ta+-pAn{&6 zD3_Gwy%4-T5kH6!ZyHdx`+5JQd}>+E`y+gtQcTR-3tAv24Ae<(B1VJvzuK;rEHQ}K zT9+ru?|9LZ2!EhQ4TranYP;hh4^yg7z3=M@_*W?WmCKa>Q{&2{nxv9hX1&$kEI@O4Eqvun>x@E)|Ld^;RDzVZ0SVD z-g9alKv zq=?*A6f&;vts@ymy$glISB?ihbgJ+AT)liUy#4l{!|QLq9A5nL-EgHt5H|EgV^>-b zm87#-L;{{rKvF_+jl>oETV06Wgj<1ZnJb93*9zbj(I3tLvUKK};|sjf0CG7ABn%*4 zq{R5qrKdnPfV_)12HQGd)NFJPs?KE60B**~0Z9r`k5;1q06+jqL_t)%6k>WS-E1E; zm}D_YuL4!S2!~9x3AG3dq{RDBsc{Gg1N;T4}knSy>`pg6Zl z`)SXF#X(82g(n6Qp3*U(z?(kf7h99A#LnZWv);TCgj|BT5KUE;{nvW@x1rP6Hnw-Q zg>8E{IJrCA(H`|}eWz!S0}V7#@9GKVj>4=0ZL+mZ1G+Cy>=;NH#@xFRXwi`Y9)qOs$ z$~HMZy87Zpyf^e*TjO5pR5`vu^a{ULiQIC9H0BOk>Lbb7{k$deAOYuo6`l#6!5G8v z=>Fo<}76j22hkwvW^NaqWqimdK5W@F5sP#BU^l@ z8*+|mBfMl&QsyJlr?8bq!Yy)3%C$Tq=c56%m;oa}GYrRRK5k?u(G6GuQV6oSON4S51TGz;jq>1lG6vJPj{tj5AWU|4jw-A z(b$)Ih!vM+Ct~FM@Bl-8{%pKS6q;9zOyWa01<*al#FC+w=9mT;sTHdbu(!2Isd_Qj zzl7F1bsUVaCnMv>_p z#*g0P(TQ(Y`nJ!xR)1c6`M2TKcV7-?&mL>3_F~x8hSg2J?<3>KLRe$aQ&GMi3PoqC z*kJivT^I|u$8sKiBirA~!x|_HjY14qm->39s=ru&cP^_}Vmpv~_Sa zfMP;ys;!Qaa^5=!aV{g!bbv`{!Hjg|$w9#bLxGXE!znQ0%<pyJTfM;tOxrs>&?mnZuladG-bzMkYqu_e-=_ppkId^uwj!|wj@2J7zZ;~J z<$l#kpg(^1omPX+hYJ}?J~%-J4lAg%avZeWBh}!&-Oj7BYVDfzxy?7gob&NujL|$`424{<>IJT^j&tvz8B~Gi&taqm8T6EKbv~6yrl;V$NDPjJ$)SY zGi`-?bg(tt-<=Kn5^Yx(Hd7n`LAgpq>Pr84fJW*?5 z8u&5;sP||AWN!dRek;4ybFzc@9zC>mDgqi{m@G=+aD?jBi>JfcV@`bga(J%m)z9A# zv$HqDo|bg?)pgczh!u?1HKx8!fYTl~xq!tX-)bPOPsleCzN zTLzE60n}E1m^kpni;Ka*)wH7EqQs+ACIiqa_%U9dW&pJYu)1hR9AxesyKjn$a*i|& zWgZA41eq9ui?UP-7qvueoJ9pUP zc3-Cw=|0mtJs3e-I?|dWg8dEqwHi0Gt?m>_*sC1Ks^qU<;c7J9VDXT6YK^Ox|xckq_k8ZlQEs#92Z z83o$|)hmC`U+^=g^e^;dYd8v-2WIiXT^TqU8_yXxrBkoemNxXwG(L>_`TzRg!-fo^ zO@%kK(te>rz*xFU14z8!#<=Tubi~6dx6NIG|NHrME+lhS0q+PglJVepxL_;X`Ea1) z-|p^j4_}-d44)tE4R>`Y!hzuYogm4`yH?2R0Zzq{h7d(b{YFW(IU!*0NAxw7-?;?V z22iVjY~b_(91WZfJoZ;7xQme-0GT*;5U_gJ7(+=Mco{s`7&K@a{AW5Q_4{wN>hraX zpRc^~bN%|c-ucm?2kMnvY?JfU)O&TM@XRl$Tfv5;(MwabPzMU#&eZ|Dso>cZf}9p;LrU^N}c#k9f1uTwe4!^)i)^y($Y-^u~qP6ygVPs0P?^qp%?=F zM~38V@c8ba0796E?*j#p&a=UqU!XMgKp8VZOpFaK%-+iVZ4}ZBA!_lj5cK$i79)}j z6HTx%Os+MU<^;+Hk)8+e%$e(&V}2RI1j`9+yV`oew|WlrUeEsByTgIr^I@wS1`&g? zS9-uoXV3=>V+v;WdQbz#uhDV`6a z#>$Vj$ms~}mpUxrnUB_fJUo5!REH-#_qT>lPtOcX$Abn&jrAcN5!d*c7k>TG7jT9H z#DVzXp#iSl!tY=Dm_5=L(a%lBk?Q+O%k)43xFKk!=@qCzpZr#wY9M6U09;`r(C8LQ zqf8|(yhVp!jmG$|)Zyl4QC4doOANOi(PDNbmkJ@CD$4c?8_ zxX2b{_Mlv-Jzi?XXJ5Mbo>tv=^`7MpEAiTL%m)1n89yu@@{v^ZFvTWR8x}NWHAnqq z3CsV!96ZRZ?(h(6UCM{%P1jfYT*$djhr2!>4s~YsXLocmoQ}u-j6)GL&KwHfC&Mx5 zF#zE#XV8EwsnH;d|-%q*()&@|kKDuRIM9~L4{1Azw2UJH#_SNx1X@VJU zq(QK0f@^)l=UVUecr`~)^{!sO93KDezlWz^{$qIY!*_mKu_vSFfUR$Q@8|N=XWe_t z9Yc+X!YB3=w@E9KTH6J0Vk4yqa*JCIezyQM$RFDPLIFqVQ|vs@^hYsyy2+LiRvx72 zN&9mcK(vYYTdY5|glxlAb-NvPXtq7HF(jIjlH8>9wVn0)^1$_zh?>L0S0m6 zoBEPEYp&$*ohbB}{^iua{j@;FgTg*MLH&w@5+48Z%kcdVKlo1g?Q0#Ty){^H@OFALyy!b90qcPVY*IwW=;+wd*g#GL2TsBosKtk$UN7p|DIFO< zQ(hi{1Enjmi9E@#kg#`@X+Gh`o*xE~WhjCaZ>L5XSf)Rw0kll!Wd;ycfWbgs*m_A7 zqD8l)V|}uw5?PJcT8hr8)m{2~OZu6IQHKv6>f1nCjhBwTmQKIW!^HD*l?P*qjUXWi zmtyLw8jkPTK~foJY(joJhKLQ?{+W)U*9s}~C>cZ#4)=!7?;H+a+}#@O^r3RmJagAq?8u5?tR-utfBetzRL5PPKjTZr8~%Fnz7Vg} zaWAwLjxQe58Q~QC7+^w(h(&QnIBc@uZ2@oj69&UAfsq78W9Dv$_gi^5v!hBAzj4Hj zTz9U7!=Y^96TDO|Qi>Qmb@hh|izh}@o?t0dWyVzTE^(a$xIJXlW$+^%c&MNZI7W7i zB~g~6@aVunrgM)J!a3m2%d-r&(hEOB9>&6)YcjiaNglt{s{2?C0%usjbs3-&D=(We zeztV_n!a7=|cOh;3_ZabqQi@A8~zfBBJ&9S$>K)yD?WzTWL=@AY6n z2{9Pb2iW??wm1B`+z;e!Q!LAcY+Q==MYH81ymspn_`OO1;|GVXN}a;J>dB1f0hrsb z`VHgAl_slvUx;qRmbEkaPi6SL(6QRzfA{_HleWh_e*DYuO55hnfouI1W&OkBJb!kdh2fM?69PJMOd9>sAfp*jt`ABLT zI7Cn_tKl=($s|3}Yo$_i^?vfPrt@bV{K2SIhm zHPS#)Y0Dc1(DkKGe0%oG@b>2)h8N#`J3RUR`{B*gU-jP4+u=YTGd)jC3aCL!c(e!!0Q641SUR_tu&40Y+`7jT5b@Aj;LCE8b~ z2hF@uh#FP&lB}L4Udh}X5H;k}2$ zzCKvWD$usBnYO|40(W=vL)(|=dv8S;MVZ&}-jFPxez?;&IQb`fOQ*W_txMozmp~do z<5ssK0F&#yh^7b7cHM~S?J|N`<(aWcq(0yYtX}wjtM`GP{Hi0gwJq++(tSHgMX2;T_mH@J>LU=$VU^q}yA;W)qr5D({^JpM2$ z1wCM_sm8Qrp8t=%H-C~VM-udqkvEyVk1E#L)1#f8U1`l^G9706L1y~%^@Aka9nH@6 zQ3s2xo5kYIyi?!j4!nnmj7XBz%r16UAoB(A0Effj032`t59re{T=_Q7wBBwuER~a4 zU*9`Ax?r(St&l`MI)GVc@S&Db~rQyGvhinLB~5r~uu5A6b2= ztZZzvQslu2o(fmf0yeUrsBr6eyC!I+V_c(JS%+hby9$syqj`>52|DJpgA-PPxVKdC8x>S z6`&a|_sw&vtxg4GBn3+o zy2<_?GZ80T;KhAEEY(gpAR$hF<2?p|Aj(FV0xpG?shEO(Hb@7n4nLCylYU+E_o4vF z1BFxM$C;=Qh~vp`z8jVg{BzmcLL^R=(PmlNZyw85}9XioXj#r&*c}XdsrpEqr5|s~>S$u0011Ey$ zgqanmw%gtXTbd;Yek~5Dz$k~#Qh*w5&Zoz=H$Lp1 zxFaA&l^JTic11{hy4#@!ZfUyv<(C|o@PKcIp0Fas_d;xu^Lrt`_YmJItEX*6DCi)5 zY_$v2*^qh}XFE%i^3q0Rn&GcITGi>6HRb;b1!zdG4x+Pdk100_w3R>eTCz0FHw)ka z?iHYQNg@&?|;~ch=C0oKNf= zd4gsqp%9uXKzqp2=hPn$qS?8A3q|PtvVG+m2hv<-)nxFIhiwHk+i1YAoV)_pCb>jV1R)B&K@)pM2Ha??m7ta(j!VvFDhe;m<~>oIsX zR8#g;4!aJ#Rl`2qi2b`+5U%-Y$Gd(*-NAFV0|GGA2!Mk^-a`S>7Q8*-5AO!LvbL)~ zTH_pugf0nBUFkWZPP$#fTg5#_)w?9zC%(-EdOO@Fan=3fJbqBS#Y)dwTv*Bx)^Sm( zm(oHNX-a?tKHa`*oDk4`*vgXd7N*_vLHG!(0LEN}w#c)AOS9y_uf%~SN0hy~`$v-W zAD(E54oYcltx-0*soO2CwLMz0I1vgjJUPzi`SbWj=)r@ZVr!iD3>oHe+Qx0^DIY|i zW=yCypB8{!+Z-T~wjsJB_K2ZHnDReE0kZ85Cgi3#eMSnJD{Uk6kur7^24?X@SvbuR`wYc?IG}f3$%yVDw9cjB=9Wievyw!#>>rW`@hy?1EgRV8R}atrOUYiwe+M|QRDh-mfg0Wfnk{!) zdW?_;35iX+OE-270~Iq42N5J8t$>WtDKjZ3K>I&_RbJfvLwWYyz4Dx+uU|ZRT(%g% zT|nE}c2=8h4D?FC9>!rFOA5lQRkQup4!HXbwPTXf7Bb7@980$U+)fz2uK^Q=>|b?u(~6Rw5`vXNW%qh z3AC1_@^5YgBzvV&u z0fSwS^;(-8fyeKD@X+2 zMJ_*rcLk|o)Q*jbDDcmOKwtX zgljGm0BK`U!=IrkM|3B>HBL`c_0kIY+Ay6WJ^{t^mnuM0w19T1|A{e%^foi{d6uNb z3eY+uY-h{gD&wpT+Qmh3b?531m!xj8 zBD5OYAUF3YIPeJ}PiQDVc5bNvJ^k|E%EN#8zskXrhvne;({jX~Z55y`1d0mK1mUyd z@z~C8(`X&+H9_k@Q(>y@EPDz@>71;~K|{6Sdz{f~Fi_#C-3 zPI)xtXTrBBsQ_gOwlbZ^v{uH3O?5!9f1VkuPAwlw#gaM8%%*V`J>p4t@l!8qf-POc zj@dpL3J<-4{s|9Ha7#&a93sL@0>CW*sR)G)RKO(&_0F1T{z*@pz)*Uu_0-G5w(=7; zez8?;qg;RQy>jb=kIMTWeOlI7@tH777zY=KJ$grN$_yna@}VL`doXQ{X}NOeBkxz^ zl2p~SX(OD?O=Fm-dt+M#L975pcptcQFFEilalks=o~H23%Hy24$vO>mv6T`cD~&bLydtRv zV;@)>ooQBT8ho>-{G)Fi;|OCuW=%g}H!saZJ8mxv(;MLj&~T8D@=I$vfVY|_!+L_| z&}LNgoh89bAUh3czRy(wGU5D}B#bmziq)xIP0!Et0u~{8vf`I9%3cwvB;+_|jq!)O zP*lX-g6xTc2X3=OPOor~zzcR&91zcK%U5rIP_Eqh5GCk+ww-OoivK>HLkxdNY?yRv z8cHMTE!feISt-!CAUSpnoS*<5L3{R3_IZ?q*@ZK!^otYnc*wVLM_e%c@y)9|7t1F% zHp?Y|E&#`_IFukc<`~Xzw{t6?Cz!_eZ2GIE`P=8fQURJOL&Zjj4s2RLF9fIHGDt|< zou}})yt;<6vPug~1<2N)jpl^!dk#77`sw%g%d@XPD=+T-i31PlY+_F;%dw=%Iav8| zww;5k6bd6q@bPZ3mR7F-4FH`2WCM@q90X0z0teQuzv%tXa?f_^XThEhlLO84?&jBQ z2gVAg6xy!*92{_B60<|eQU>)gGH%QTw4$5eDJI@UDK4raqkq;Tj|F{|>C>1;OCLVs zO8lOYnn5H zd9VSU3>~9e*)}ik#9cjZaogdfpiLB>ZSV5opo7UK+uS$;J1S51NZ5+cA=*!h1>bStj$9GE;ZYpA2iUNiXC_dr!NE??W1W z(>Q9Jo{P%U#>5^$=aw6T^0x>W+MKYQXHF|56{-VI1)}o+B=R=xgqtCxvE7_4_M@sa*nP-*-tqhGJzNm3e?u+YkUvHp$KWAlrv{9{ymI8~)}-9p zS!X5aLbm4``sd7iINQ#I0XI+eyA5gmWZIzk7i=61@7PlRqOB`%)nF9{u&;nM2JnDJ{{IT6l zx?3GK3(_o~qJC%Rk~O-9C4^AMd@Yl0A@e&%Fm`)J-=%BGfp?t)F^G#6os?ROTkW3L zCQkW9zmjocu*SQCH@^jX&No3%o<1$#efv%M=Ii@K#pwBSzaQed1}91QbLBjmtrH}) z_mHL7;z(sld6R9c4F+3SY&)(pN98B(CtASpmZz8`sdrc{I zsqqW}(00UeX-!E(q641W-{Jyx6@XMDfR&Jh(6=y=b;OpiJvxMyjf-WAgAlIY`M7NJ zP0%{qo&63d6f(tm^nq|=hBV1rWLh0s6yEy>X_8lY)sm^N0h;_tQoM(8;=}f~qupnG z`*Tz-Z%oQ3w=S1Em$u7IPU5{ltPPaDRmKn+>%5POP@j>$uDuD(fpq!vt8!qe01fQ# zT2E_5emytG3=N5}BNZLs{cL-MMikrEoLLZuGh@si?EUzCdH&74^5fml%i)tB%ErNC z8Wt-?C{7ckn+lM2EZ-7M5j~_qTMMNJ$>G4WDL^U2ZRU0GO9bDVSt>vXcDB47umaS+ z|FJ{O%iSm%_&h2=$+f5fJrf%+mKok2DaZUjl(O#zB@ z=nXP2)IS{I_A60LblF5v`Ptxz>3uICk_X&}7}GEByX+jo0pUj`37muAU&rJd97&It7k!BYVRGj{K zmlU9pZ_?e--Z@Y2LLks_1>+pmo)D4N4c^@P<=T)_ypBz>2hdIh=onyE@{f@1DnQ3; zn;d{}xm@)`PwoY}c&u%g;q^;f?|{k&@@G@ZRy+E)ilKN z?Oo)+QUMxD#THUqNwZ&}04eU{!%+sD8?63tyD1HYQ*~HYjTI6Up<_NceSH6`^7H+> zKL)C-1UD4!%`B5heIuU#Bd?<{8Upo*Dg90m{yG0dPey zFa3Gx_I{Lp5FHB8kSGv((}^{lx| zr-pO1^+wrbyPMnEu6VEk&jp@sR)D;`bcL{3?U4{amUZ?FJb1$6tj`h|^fkhG2f99n z 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

m7s`++YjV&ojM} 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 z zp@O5}F#P0f_vftmd|#ga;g99f7oT(a=?`Ux8oKR%PgZ{pIQfH`%g!TDH(_bhw#Ohe z6`K^WS>45ok_4P zj@z;ceTihX79OygbBWopE8OjK zg4z`6FpLYEih!-N#}pp?G-NewsK_;rU}40G$wr>;_$7X=18q>}YeSM8C)##A!KR9i00zd38Bx&v>fqa63ccn1_3bFEW*RDintRT`EGP%!A-_!$d$F+H_> z8$gsOWv}9*aTRBO|FC>dKm9ewWPinE<&P*qPo6x9i^$iw7~1VtUL@_xj@#liZZ#b) zRE@e3-n7>dw?1#A0Clvc(o=ClZyTzo&-CviHsoNxB5mz?I%>9&F5T7<1)qj?Ug;R( zW-A$9tHYkime=~MA$+F&kKrafCT1Yke&+AF@3mI$W4g8uP?8|9xrrSE2}xQ6m1mg5sPw?n%MIUC}UWvl~b!G$ax6ri_4 z_Y%oj9QaKuKutN4L2;R>-}D^smZP7(D=+SURUWd${_^{8%gNJ68y)e>VDnJO^H(UX-yh1{q z;&KY^=1q|grWf*k57PWqfL0g`htRgJAl(?kx$gq$@Ap2Q?l$3|15|H%gk8tYC^=hK zua-NX{I1;mgj3!=_@JzBU5J&UINb;$Re;<>orfOa4#KU618J{zya}w5yP4kI{Fe4K z2U;bW;Z?GH#*>&12HM~*dR6>}vAdXw(qd_^c)$XuQ08F^L~fz20z~?K0pk{7AQd6+ zbl@qad~e1$hWVrw=|()|TEo%o1drGWSP=m`nC7N_22A43VEpRVO_Nlm%cKRQoj7Qy z(Fx80Ld7v+4RLHJ4|$5bo400&uv`IZ%=qU^vyTlmCru=tbBFv9!F>YM1}DCALOHxMa1x6ggC8^7iH%9#yaBH2_(1Iu^LYU zj1{8rp%%4DSKnu?%z^}3x5m(SO#w&Ww7U<}?E3oltW?vy*+6LfKd6(49j2Id6$E$!>88z@Gu11-(3!GXVf1xTj$LTQ+V#6R``V@Icq zR$dOCv-?DnMB>wQ#VSsl~{vB{h~-4$!8&B8q}B3Yj;B zf5cKq$DoXPHn&*t<}sfWj;!{6pFG;y885^q!f>+9C2`kol~<}<#F-gp@&l@nlik2Yi* ziTp4yhKANAfe^rSxK zK_p4lU#b9s5w!lcI-Pj?UqgE{yhr`6nXiM1A*@B1VOd*|H8|T)0#3)Xjg2OnAg>D* zAZc$vQ|Zm-X(|wWm}xKklyQuOP;*g`; z51u_Lm$z2Soog4%zx(*Ta+@QvchHoayiyJyvt@1rUaVO^1Mx`ZxnyBPzjRd&{3aBj zMWx*a9M-)PW>Zg||ID{P-<3yy_?PnZ-WTQh!v`E=c+7>TEO9c>@ObPATj8v%Iitk; zWCQec_zF-uZhxb7gyjqeg4@RyOMu}tm8Al-s8GT`c_l03aX>S^r28#xfy++N^iG>5 z`y=i8QYkwPjE}R|y-D&BiU>vrq0TghFh|+(BGY~HuuInBZXfRP*}8nKT)s(1!1q44 zKKUI79bD#qpKX$-C#VC#7z9{hc@JfZU;ms#s3Z@zGbV~ry?vp zW;u{7oMvRQPe1E3b_|e=+1!TdHk^lnS}HH~y(uy(Elk)PAEE%ow?>2q3j9^FnH3Lz zk5`ZPREm!GkZ}waP1k`#{E0ILgyQVe3zWc6_pEQ!!8pATx2J76TkfDT6%=REt)ql7 zm|5ZEE$gS3`8osdAs-X#JobtgY50vs;1#!Uz+1;-tDLyxlrXsQ%Pn*nCyt3XJeV0j zz>Ow-8Xv12@P@Q!gkQRT4Gy&OG3_(TBnva@MV~x* zRvtWf$bCUymp`!@bPq+ys-1Pw6(i~y>E-sh{ag_uo&(VM4rmnkA*TUeXhb{EUg^{) z+K_g24=@I5reM>{-!AD2Q~{d;)WsWPjjk!Br$d%>HaOc*nhpe7Y5PHO3#~8<%LWBN zhBwn8>zpk#Y}0VeB=1##CVaE%9L+vu=;1w=+1`EQeZF&L(r=Y-Tu&&g1IV4H0L7{g z(PRx*?+hkR;?=VwZ3z5}9pJ5UJH(;#ivBzLU^4B>4%IM{KH7VkO3;hP<(T8Kw^t6z zfBL6?DF1N#dU>BqQmut(g5{7aJJyhuu0$#;v(|{izjMllX)n#dfxl}7XjE`s(IV{l zIo|r{r*F!^y+4)*fBe_-?ECxWVDDMkxv(C`ULPND=MR;3g#m+0mY!U6$dde;v-W;~ zPKWI&D+mq%d^ zL+guT&}W{RRe%x(5m}YrLk6UD;|TRNRtDE%yW1{!Pu8}|&h^{n=7*n@8=w5XTw*qC zgHzt(a0CW`R8Pi%)ES>j%5++a;U+YvL*~&r<@Y-E@SLjY6diwOFS)urH7ucoTJ1@h z&=j4hgDN6+u%VEkxbPt@0tUI%+pgevxB{K$!CraEHVbDFl}Rx}?kssIJt*41#fqcv zRgsGBIusw0GMz}1)FaJQfbisBKVa>1_QJY8UT+21C=1$*iq9Xy_#kw zI@KnVS~H+&w)t3^cY_02$C8$)H1o;If~?986Ohywx4l`SO##X($^euRsNeeR?(Ubz zC_f1wH1wpcgM+a;6N2%CNfN<*B>7yP*Kt_BQ!m$U*24N>L!>cr&H3FPcx(l%(l^Gj@wJ=BWdL1Lv&($z^2|D?rF7x4=zk&#vmI z#NxyKc01+j&G$I%^iH{O?Rs4H-EV{ISAd!Vr1Ilq_icXSm}&dkt~^@K|8kpzf=^C@ zD;AM+C&;8@wy~3V6Mv@T7Pn(3)c0PLr$2sO_8$FE{=@G+D*y4*JLR80xLr1gzpAXJ zzD7KMtbfR1Ikk?=1N-@8<1c5#-xY@6oB}kf6!~sNJbwPT9DMzGdHJXRQl5SNW!ZiD zfaTe}vVCEVqcs_{9(nO83J?{S=4)$X9O5Ndbn3bLljh-OC;X|;q41#mAeMQWZR2zp zWTy^LJm*lKK)qCe;PYQW0qQ%Lz7xt)t)WQi*bYg_AE6|Bx#Cw;SyB~f;3Az_6LO-AgiD#9%=L*D;69biw zH54LOG+kv%Kk!7o8dIEgMVm13AYcqNzG3kM{t6?A&dx+I?}2M7tjC)v&C22qO*mUE z_oZ!H%a}c+ZRK=&Z>j)I9nug8llas5h~y&0P=Ls=<>ROSPH0R}gkX6n5PXzXE^->& zm0PIRXTa3&(CLID%c_U&-5GJVJWZKD>drBbb>ol& zGE{($xwmKI;+3*}&h{uN9J>d3Hc(~LT*>vpcG|G=kkatI=az*FwmL3OcRs;JZAK5)^2= z+?k4|)z@aH@ACK8<$#5sB{ofmrL>@=@K!@UmX$B+45$SbBNWt{=2ig_sW;((q|vMO0`RRL=4QzEM|nRy(@;L3+! zMM6av)FRKZvmGYRrU1=?^-4q^=72pp*ZYdA(owxf8fN?#mDzv}?8p}Z7eoh*% z(VmZ;5M;o#N2j*A!;#or^KkotO67%!xD#Ap#V|liY~cy#3{Y!tpLSg zS#pL1Cnw(TgA67w&NC_JLe^0&y(VQH0-t>Ubtplr>?Zo;+NJWJKK;1-d%g#{$wjHk z=41K=xqn1`Zl%B)dyH({x%dKYxk_F!l4Dlt1x3L9b?o$k1agnI}Df06_VE4 zBW6+kVD0%gUzMky{Tm9?70v5|^dQBg2#F)zLh#gNXJn zxLY8&Kj$TPIE9eKOBm2(hahY-HJ)_mfZ$jAv z0S^#_2S~dE_;rZDKc?=iGQhif>kg|vpO(uX{zKWka-*zmauFQiXgf$(Ru*0HVW!+{ zIIvW>+F=LV@eAs$(+rB&oM{IY61qy4hcGfwQvwdLeZ$PyJ^H33;0E)n!am z9R{kL7;+07E2FObOgQ;)ZEJ^9qIP1HXmy>favYnx#tP{Ke`f?7NNJBNLD13Ysx(Q( zB9m0N(7qg-UuQR98PeQc@Y4CZ9FWhI*Nx@!Q@$=@EI~PeX$0zumCVPjNR+p-FT5&d zq3j2qv-RzVA0Cu@_rH!);=X59=*iQkvF$BRg7aGwlp>X%Nt~g0>+_GQ9zgq`iSZ2|1QCL1gF&V~rK^ zfGSNM_?`)zLikA&+Dj~QudkgjvGsF#{@}av@T+(#si$Jj@`rrBRWOohE5csx# zNN2_Ah1WJli2ql{2wnm;%5);Wu6YAcIThtx%Q#;|P@gE!?j3(mnAv?vdC{3gXBaGK zq9hX!S>G~CChS-gT$%yf9M(B-b7e0cU`ZkVA|7}wQEzmfP(N0ALQdj;gaChmBJ&b} z7sPNo&jvHz*W%QhkGbIVld^UFy|SwEgW$6+r36K=h60pyhk%9n=bs+C0(VZTIxtuE?;8?Bh2GXf#Z!ye#{i z0Ca*K3J{YnN37l)ay$JIN{-*}9HAT?*GDBsJSt8evf>_h=L1zMT-mc^v@PB~o9;cA zszyD|F!~Oq8F7RHPDWXWd>Su>t!1P94E!}La%>#q4r!;u6r{%ADFw$QjF6bBMXeFA z`Gqq)0yx--UvgJiM-V7NY=@hu2r)2P^*bTlXhda$tukw@l)7rP%F58H+vHG;aOCPx z&~Hr@S1M<%L`_f-iQMoe~ssB<7dzB9%l=$ zey;ZTF*!gQVyi=U{s&A&lrpqP3*;Ts^r)7rae zra2uuaU_Bcwt7eY8pw>DcpLHz9C45S>6f&OoM>rL7IuhX$O+;Otp;TR6#ylI?z+6> zd+G^oc*{G1I1TQ~d$-G_n>Uz%=I|gh9;?`*z0?;&j|nO{2fPH@gC~;AZ#1(>QtvLWaN=MSU?aG{vvqZ0s@y2Ob&QoaHn^Lazc=%c7K>88uOFBEZNyK&t%E=CJ z;z!w*4J7A-!~8O$bO)}YS)R!3S zEno!8tu3@T+Kv2V)_3Gt}w9CmrT(%vT>M?+8ou6}YQIJ!o?`Mz!~9%cZl-Y|C8) zE1k;HW=3Vo2?x31ZSbtFGrH03w{sh;{%o)+w8j=Wzn|OKxmqS18sgTul?@anX>%3T z5fSz=HgmU8qFDxb<1hzJsZ>Ts0}O2pcQ6UM+K5O3gLx6lx6@|K#_6!7&teX=LRk#) zMj@ixcd~(j^2R3L_s|D8Iq~C<56hPvj_}7n{i%HW{dcScJ&UHc#Y%&RaCm@%hkCfR zG!Eqek&2Or*JP8lrc%gOi`qu#5oY>*weejO{#6PDlJxGJO)`woi>g$^nUNF9G$m{9 z7PtVJZnH^`@FTV$X(rKmZ8?;tkPS1y(W)9|C2EeJ+(l!MWw9cmRiqx%Pdbsq>;}6c zw)yODE9{%xefQx%{=Pih-{-0bg6TsiZutfFfD3T_2FLHYJbv24s9eQcMdMJmJ6>y4 zNlEWEf4(>WkfC~Fn*V$^F+wI7Q&`fFZcW&_@x@9A@`@~pReQEIKVy>phc7=X-+l2} z`9J^n|E>Jb|M4HoKYesPSNNIuTIF+#b$FAPrIXL#V~4CEH9bvDTHB!6$6!laJIEHI zFX!k43H*(lza0h0aRH4c3?o$cScYOk!TJ{k&2K0`T`g=*?Hoif)5@OulYQ>|@!*5+ z?w6PMz9>I``8mg6KQ0%*tCHjZsMWblCzCdv3>dp@ai@1WGG2?_>T15H0Id-++ADu! z!1qe15g_P^QT*ulD%YE)Aro4@UxmAczi}F!AWIzbjVCjB%55k2^2MwImXbsfGEXshqO+Z_9nz07(al{L2NU=F zAhaJa)Ai!w#j?q={*CuJ?11O$ZBBZ-$Sk(s`#4Yo)>?d|)(x%keFwg?CWKl1Sf9*L zgD^dx*D%p>Wz-hEVheQ5PfX1%=HLzXY$~(wL!>EeU~0&83~p1YhJ5ABEosPCA5&9U zhiNILEs7@7qio|{E*iH+t5I6GXjFOaz#RPgrn@OSc39E&>6Bc}@lna~L?5@b9l3hL zYY@cD}XN~WJ zeB4sH#$gJvWzO%2HW}2?w)}4B1o-0>9#T=kGOb~7fIHf6R3tl@ULh2+Ql_QciMm+* z@Cwsjo8A1E_OHePw_4@INv+?M?>-Y_kA8k!zWwfd4oCR1eDm$MT$=h21&7+qV0x1) z2M(FM+Gn*^CBmcIy+g=4;3|83KScd;;JvZQK??LY@lDH2E={rT8(Rwt|A6f(N_A#? z8vQdqzR*4TjtPyv)1jsj3dIOIx&}EqdIe1(n?}D7p53d?F}(~(r77F#G<>5+%!b>4 zBG*-b2=dc|iIbQ1b9ku$`3Zp+qE1wDIFWA!-d?|RClnwgDieHmwLB!;f z>>xzuX(BEm+P`u0x1|8JzKIg;6`(BktP#<;ELqAr`n2?}6~nI7Ei2C2a#7WH_t^IK zd3k>K^K$U`Ap_XGvdL1dU2bjKQTxef)BpfL07*naR6VRVwd$O%E?p&B2s0DwO&Xn1 z-xNNC=Q%4tDGX*Z_KMdx&4(?wWAFdZ-g|iIaU2Pr*}fYM??D5Sppi5hNi&+0Zp_Z@ z-rm0Z;VTdj1+ufdzRJpsjC7Ha8EGOd2`WOD zXx5{4{Opk20_O^l=YeFbxdOCR0Lp|a#3)m%K2sxR>)p>9ulY1eQzD#e08mgc;}C-E zRA4NzB+i)GRUntO zlMdLyp6Y`uJ=L^C8pF{9@&tibD21pVq|Uuh!?q^e%~_iMyV~{X+YKU1&v%BazuTf| z1Gbh5x+Tq>vo@h)`=T~GN(ZZyMgM}rHUuD%{cs>J&3B#6v?HXyOcMzdz)xYL)}bOQ zD+2PZ8y%IJ9#v4F0s`;ZQ48DJ((~9V>xz%s+T#4q(u)v!))0DPJDZ9N7$mu!jWq{4 zHAULwB~2=bDiRQ%{kG7zSJ-jh(b0CFa!k|KWch8Iv&3RX z8z8xND4DTj88CTX$SrY&ZE%xrg<}P124QG!@epqWBHGv_D?%(00dtUcMWskj#>wMv zzB}3o=k_Ok^RwE0S9=SXPCGdFAoi_);m7!#phkKuP zMqnzlg5G=XDF9Ur{Wt{b0XAMj4iSJ17K%%n@VhgJ=ou?ikC)-T2UD?^=>(vr9uR;g zJRB?gwfN|#ZQIQHp%s-2zv=sqojFs^e*7^L8=eJZRR{sd@w*dbYfd)$M|*Y^#=cke z|9K}FrPB20ZDRMZ4CTFfok=2$iIWERNKN!AP;TR-+A>Ei?%ntn0q9~mI5$x~{oqXb zx8MGK`QZ4Wa-6GHyk{~lQl%_&W1sW@)>`$xtKB$jgn~3+7G)nq41uMF?e#w~`&V&@ z?B9RY|+Y$xX+@HpcVgq~ZNk|JPEK^aLA@UkEX_!VIj!6b?eHaFO^@{Gf2-~6dO zy7X0feEmu}fWSZ#3qs7M-jPzJpB-tWM?_tS9U)uCp^a`Re6+uxxBwJO>oC^n_+kYJ zBEZ-g$_HdK`pKMoYkhchwV3rT3n!egBCx)(%ZS~JEKRy?B37AXH!@@ZMYBN%y5{{S z>}fuH{-bj4(=Rx`aEyT(+jQ{D4uEuUmZ1tkb-S1NBEBX{qt;~dnh1iSRVeeMY(QZo-u#D>&lkrL9Sy_I{i0+w~jQK!yX2G(RlJUW1!qn0AA- z7(fSKmNx^p1|N~nJF0Lc$SqdVje<|CI7Gj)y}~1&p0nSYaPJey2#oZYCi?Hj{=EgD zUK~mDHJ0w(3P1rn5}*Sj-A+hU)A2IgdrYO~wZfU}DgfD&3Oec88HFG-Dof_AHaI6Y z)+u}6hfba>XFmL}ES@;dHdos4{9LFvSNMrOmwJd@9rp2&vN{elj_s-F(lcrs%6oSb zfVxs?aQ7<$5?UU}2QQR<}neKDbpLe)GrjgcYDAv~(PqXKy(~;r5l$rXDC-I^0Gl zl@K$kZQeUM3~h8n;iLWi6a=7_L1b%o^v`#;$9`5wgR_V;EalH~x!dfKqvi00 z&&r_>&cn=4mMIQ;#s#M^{D?rV6^FMWQt(Q*{2P(KVLBVm;mHr@*8;c#!9HQE+H%#<#@05^@*oVk)h#X}H5{u$>^2YFA@~qS6@J{p z#aM_*H99Rx5wpRJUeHjlj4Pe#-*3}>yME)E9*K+@#I`UdXam+C+zbmjE;I#J3#}=u zI_MisYYd-2O3l;e++5<&)F!w_LyePG3O8tw^KPM8+Sv@-;3g4>W;iEw;KaGy66e-A zx7qln-Nni)_y~yIj-to?C8coTr!j5QiEn9($1;tlS}OGZ`-dulx-~8Nzx9%<2T?;b zR__XW`s{hRjfS`@tO8yA_IkN>i*tKar`wMmQ>?+qg>$9Bm7r-Z@wK|`UzXq(UY_c+ z)c_K#y}J9Y3HKnB{O((u%~A=M$qjpL3r&djRmVK7Lt`D3Pa!BUWCbPh5LIN6 zcko65ECwI_nuk|}ZM>T?L(j7hp#3Lo-W>tRO0tIg)hrcS%lya?^6@*Nyk*!XHp}cR zEroFqv$CB3S><-#m$$Bz2i*I!bng~tfgY8k5a0~>HW=8BHuaGhMLlXF{&b4ujr#8R zHMG$Ug^%|4qY!|yX0s5Rg3iq0R12PW!*E>nar=UYA{BbuQK;a-V5#61! z_hMTetUI^3sY)~6qQxyxX99we$d+W>DqJ867%zuxUBRJ)dU4s2CiXlu^p#IVA`B@Y-Xo*?wguZ-6Z*7@*x0eZ%pK`NpyAF?Hx$$ zC_onY_-P~2AslxIZEF(Hci-ri2zClt-Rip^vhQY!Mhu>TmGaDi0Ntvnm3qgDv=lF<-;5O`L2RuOvEJDY>%5%z(F9I;jG<(W2aaE zS}aos7URs&q?fO%Gyy@#1K9Dz=0)aV!Qu8+D^!Z&6%Vgye}0FDvFCI&9>Q11fDmfm z{6Hn303;7^CEeOfzAr;@u$-&w3O6sAF!PdBwZr}KkAIH4gX}w;#HxLWLXIm#KH^P( z&YbX__(wAtT&PC^erv+Lr6e3iU^<>U+UINw)!?eM7N6~p(Bld~iP>~%tEQKz>crc& z)=zMhXMk>T?}bS#*lEY!&*Pt0k=R(P02Gr(vGze5CgU8VWm1EkIE!2sdhA3w_wjko z%bqIpOeQWl>4*RnTit+#MZ_5*CnT*SC!P8{c3V<*a2U#aLjWS)%yqxq`pBuvUL{(y zT;o^P*j4ZhrCZ9s1pOs&J`ce7xy;EftASrVi{+8nm0vbj0nBQtf zSPi&)U=^gTvFI9g?S*eWTj-yr<=qf~qHZb`G!->cnKT9{LMJ;!pMb_9@iFX-fzqZk zx-XxWXV<8li<<0eKs9J`pKPBE3J6x9Q&v2RB$&WrNM?d-` z&ikm&*Z6}l9iS;R1$FA23J^BL-3+|2wPwT~Lfr!G7450h*Z@y!oyns=fEt z+9JS0I@>g3OHTo8do5sKtXKoA`LSL0%~qK98;i_7Fl*s)zCY&tO-2(#uKc*#f0xV_CwMNwX`^5j9Y3grDftkfXv_=H+(ctC7vBOY{IU?)D@QaOUv zW5Vjt+c?RUk5k7Ey7-Ij?bNS|GlB%0O!qtIew*&w`{na0dvt=Y0vhqREsQw4^5bm_ zK-O%W<)K!iUa3dLnxLq#D{NZ+lrP5Q#~@0(6Bs_U<4}@7HK;^H$RG!xLwg((3mXVR zDoarD$l~GSWrhogr+7~uJOWv(hy+0h)g@~ioD+ehykt`)C*m^B`p8zJ2qQU7-3LwJ z+VGeLf>8VBhbsYEBJDEIhdA)2Ei*_CfyH*ocMiyztUwUD&pDt!{rM~I3%Xfuvo-GF zlP8h%Iad-nobOh+r6u?Wgr(p!$137FcKe*IMwjT48jlJQ?nyoA6NHpj+d(z`uu1n7 zLxu2NDKgz^n4tUmQNa>~-(DPiRjignXL^b1!Sv(HeAF1>f4x(-SUK1-cA zbI8BLeTA1v+NXRbx3#j1!t}7KVus0z_b+^0j-NSO7LOib1qfval(%g@&IO8w?+}34 zp6C@PeIDDTV0YVa-beW z7M+-nZ7#MbD09oLXK?}Yq{N`I`s5(qn zfb7)hvw+P3l4U5WFPqnzW6&mj(Qo9BC zRTA+!0#IP^$9y%9J!TtQwMW5q&QZ*!Ed`*a6^aN`Qy4%an9{%dt=K!4&Zb|OXn$f& zmv~2=rDjG4#}pR63O+oX#R*}@GdxakgmMDT@o)j6+S%6QOwUU+2f5m_OeLY6&Brr5 z%B|Jzx{}l)JqkaQ*#*pcxQEh4L`TYt=c)n8KFh);X+9Q+u~*parrRMly?fv9cB>-MG3U)bahu0yV^0OV5zAO+I6fR?vYTyl9=&(-)y z!IyKKopmeRVa@{S=OYsf0m%LwRDlDAts;ajS39R=tLt#yTlu~vQp;czYxWS9RrdGB zVb2-;4Z99*qYduPw^z!&n^()JBL~aRFML@3`@j9ZoH=#~1qp1m1lDnDPK)wkG+nfO zXtFNil~DnW@XY|?BjClNmi%LeTq(M ziha+cITSvaZ`(`nfw<>2I1Y2$%X<&iuGXP(h=1oOaE(mr+d%NGz@y-^ z>K3>VfMB_}EAAL~3P6Uy1qR!$02vU0LiVWuw1HYmg`ZXcYOV^Uw|pVuBax;l1|_5mucm4nV6iwmNjU{A@$D*5 zHT~Jiep~3fet_5~oid1$w(ZOT4Zd#smH0VwNA0V$MR=x=61 z05Vg(j0KT3ZGpP*Yym8Rw#`g4TUIwvjXlL(LemR}%Pazrt3fk|SP?qN?elYJXJlI( z(`KLy>WH+}!m2T4J0v3MGd}dOja10}_YYbEv~366R!6WEt0{=zHriE^q*9dtNb5Il zepfDEzE-~ZhC%ARd*$i#=O8dFJRiX)QOF^rRKxPK#po2>Q{!Gi!o5!*T{4J5oN4-D zUt0j`;jVa-v*nj*uf}rfOc${4nuMKxnUCrl9I*?&#THNo3#Lk+DleriD!4d~Q+SEp z8MZZrAPU&6aCE6LmOJ(SduUEQTaKJ`3pra=g`o^X0J1D&f|GYtjJc}m+LDl6K8N#O z@n;+jhuMZXsZQr+^3}|fZ@Jtg@5h`uzkT&mx$>7kvh%2v^Y5K0{}ln~)Avu8Ge@~D zgY4KpRRJj2OBZd>v)Gdswd9lWj;5;d$|U!Tru7ihPuIK?0#G(kW)2{rs5ctOgj*ft z6h1me17ns3du;|GNju1Kp!DcLS-Eqoyx=mbr#CN`m-lX#c@|seX1FYEmSu1cMZ?V; z*tQha&_$2-wo{66H>OWt)orKu&_*{D-XiIyDR)Z2cDKQC$OL+M-;Qy+%g{K)zjGA0 zMke*`AmA;r^{rh2LO9t?0Fvo?1}LN^xp7ce(vIhV-2PStAgC?k3x*ASxcalgUgRa7 z7o3mZ=#z5n0=oS_`j`P0+iEx$^+s7$X^>}pj!6k}YxN2hE~ zcA_CeRTIom3g5Z{1iOr~=!zqP?1Zo4%6CE}+q4||A^LV9k|o;#ZHZ>vca38!Ty@|6 zCaw^2s_4L~i)pcLniUw;P#5py@d+gc%jNmw$K}bx`?#sHTKAX8MJenkAmwFrQQ}1D zAbO+BaZyvOD)`;cqA}V*Q)jV#Cf=K^^i36tX48R^PW%Ot@-Y^ zg}%M|kMoWWa2&uEhI$*nLL$`L7l0HP8v%&K)%t3NInY(snZi&AMOg`%BQsO;<0v=k zrOJcm7r^!4SM$MS@_R*7Y(??v%JiTa0o=umUPxLL54l2N|E8-5-b5mU^*@zU0Z{1 zF9B$4yatIl`Uo04;e@bI)6zJ{tMade=_RTUL}J_cKvKh)iAw!~?+|rj0d1y@-?p2n z{0L9$h;q!!j}?H}%>n4qQzyzXgrDPQm{8$awTzvF(0)&c=vXnY>?;~yk}u2&rybO_r|qy`O81iZ@nx>IDh{6ryrMp;5^XJ zKmMQ`K>|`Cm#R3dv7n5MvKJi=3QXXIas;oV{Qzl+KM*2p9>ZFW} zGXM^<2;&VdTdAW@H{u;JEp;V*jri^IF|^SQg%2h)I>!n=3(a7Z7mUSAb-kIr~J#$6!~k9Q7QiVDB)Oh{Egy4m}_+ z814k;30`tgz}26122qPA&y=I@!MG5B4sglo-0>4JnqFUsjM0zaSfC^_XAh0j zRfEW>j*TGHfJOdmE&l2I4qo)8e}UQf{VgSsHSeTw5__Dv%>R&2Q6(IbR6E(<0_BO1Y6qF^5$08 z308Sxbq66ahOZ<9Zcf|tE4yfN2`t~09E3K7AUJ2L&)B#89@JdTN=y@gNZ~)tf_^SXU2I(WWz;)D? z!VvXF`RVUp!bX6whm+;&W5L8jyQ1DA4jVHAR>i0_`i)gqaaY*tw#HDn9Or|)R5g_&NJS2GZU0h>spz8BrmL-Z-~4TqK=kLaC5rS|Z`4rN&S?Gc znhgghQaI&?-_NfEoas|khpaVw^m!oJ;J$df^uusp;vzqHzknohficYLM>uk!t zvr9@%(w^^*CiVo|;#q4l-$6(%gy|v=A#BPocmVU1rlMan@O`E~` zW?)(MgZ^0T?~DK>$t$ARgdN+v9ce@WvNG{pmI8MyUL;m3XdOBcT>&n|sk9$fyq z%(6{pLB$8tU_>qU`sNa04FS$z62{U|M@McuRC@opMmH2bc+8JM0J0W(<=d4m zjw77b`l8-L0P_4#BLKlga|H;YrC|)w&r#2osk3>WCCNk8$;va1eodNyd~$0O9VUa@ zIP=4HnuViWaQg9ua{80c%FNmKnLR$l*q4H5LUS_mZ3b zIClaq@*lAVe1yuMTmd40mgs~kmI_2!nA|Xx8Rl1otnUVBZYOv@Q?!MgChTyZ#N)8=DJhW$A(5$**d4%^Av)tyA+|9W>~)HQpZB*w&rf#$LgP4-j(Tvlq_S_lp)sCKP})4w0g+ zC^+dW>rJkl!=tFn7`R&A*%u^Wj~XrWAV}MR1i)aI!K$~%PoafzlJgv{?l{0w*}+S8 zQm(l*j%{%>Y>AuUJkT^NK!-oLQ09-Fr2V421R*I_ggm#`2tuZ?QaO&140F*-iO&1x z2P*+-#CrEgz3p|1%cb4ICULL|*j#oxsWKZ6{prR^&?HP_dOBh5-g}64xEtlGufAey z+|Baf!NUmeivASmJ-xfe{$(ctD5ujv+H0i28u}E{BbJ7mBOU#&Z8rfZT1XGK0V}(S zoiTx_VMWy*W1HrqzDR@Zu7(}$R}(1HV`4MG0ZaRfw@y90{j}F8eAjJ;)C5=vl>gC= z<&(B&+fzK`D_cBuwy;nRA3I)7eZT}G?^)Dgd(}krq`=vx6=0qC{M!(K%&qhz*UH|< zGIeKxTHY4sCb<-KxjcSwpEE$$%hUUJ<9YJvUitlRe^vhdcfTpW`0#W&!ai+RjN~ba z4NEYbr0ZH2PUuCoSPwq@NE<;Pyjy3z+DZ;EU4HWBoe_W-wm|e*wUZFkl#Q;x0%T3& z7gSWxCo#m(ZQDE>i?%-L+eT}VcULv=ScE-@urm_+RNpU0aDD0>? z$ALl)lxf9b_d9B^$wQ{kZH;-CgYPbXB&I13bCe#|Twnm7gXo~2D8r^svDfl2eEqO$ zga}OjG^P`P@awr(|Do^UIEKgjIs(wR{3^>X%Qy7` zZEh+svA=*gqMefp+dwM-H3{sOgYkFm+j@8d1Q4aL|Fd%mNE_L1^|!pU%q@57+*zlF zesuS%9i#^=0y092;g|KhdD}{Y_IvK;LAM}3yz{#Pn8#j()tUEbe4{X( zU&fa>?NhS#MH&R+e>A>c1YylG-kRnu%-h00s;(CcV z(`Py37ZVz;%2~F!X-w%`Ga*1HkFubX19T;uWnf0=d5oIiq6SDK^L24f_0ios z<>r;k<wp{>S1XHK)^*^GkZeqLq;-mX8%Ax zg&#MFG(u2=6SrWxFux@j*>f1*F}A#&JpVD;-Y%5c<0ly;p-$I3MG$@_SQ#P+nDePQ zsBdespOd~_zdqd7ZwL1Yz*~EbCANF$N9bVEV#)O9Y?|&qZHSRH7|%{dED;UwCU}79 zu7@3f)enPvW zfkTVTm~RnEC26vHff5iC-uz~`=9l&&B}K1+FtpAJ(UjZb*b29B{0!%UPN6LhmD%%$ zK)nF{*v^@Gj&O)O7@9R;pRgj-YJ89#K_ zZ-AMM@Y+oPa$;^sK17xiUV(Pxryob(qq4wo>wQF-v}x30`o(X5SxZcZbnoLFwP#q} zYN%0vz9<*{;t^%j9#`1PKFfJp&jFn||6y#0Lj_-KgY%pagE&_0=&=!kLdCY_z76>s zbcnt+N+NiD^lfmCn#0V4U-SULMqTjbHuw;Z*`B{J$Ak;#Sf8+>c#WM&Zii#vK1VV( z%ej+>%76dY-s_(EGXhZE0+&t06(E?;Hr@b%aGnRYMSEhv1(7Y?za4k}Jh^-+lpxG8(|mxD z?mU9h#3pA37}{=lCV*w{=meR5NJi07N)q+XRhmpL{e*iPrZU%YaR(3kDG5Lpj7*p( zw!tX`u?n=xDM~L#9T9+0pex}DQX(1Rk8AyM!-pinZT6_W@`^@b-L>NDW(C(*C;}+jN7{9|bgP4G= zZjn0Em}!%n7&P{1w=i$k(j;R5QU~7yzyTc@u#FLPD6eWtd<1ip;cn@qZnE67q-#KD z*=q&ImZVxoK?KwZf!Yv3)G6{K#kEL>^Fn{0jCoH7m8NZ0!gg_6oZSK(-rcIOw?NU-Pm5ep4kd+B!R|(JI?dq57r@Kz+9r zwol%F^eDE$UA=q-VTikexIERfpi|rfryvw~_=&SceA#Z?DrbYU&V!c;B%M}M36Jj_ zbEHS*MSi_X0NR>1Y{Y;NhqBBOeXDnxEkRfuwC!eUv?WQ{KIV zRy=(MZJravcrp+2;Z-Ivr@4#i(6M9XG?R|UPB9t5{Xq0AC`n*cXj^hiqARlW`=+Z+ zaxWEc%-RS*k-~_}{!Y%(#T$Z;0uYb&@2YdKCqP-iDab!`Zz%A2@{ARrOXc3}n`PzM zQ^p(X<;0=6@~h9!mtXztlk)RVJ}k3jCPx*-$evyK*epv(D(qrl!-JcGQ0(_ME#}_T zXwn{5zjS=7g;QgCci!)a03?YqkmXO~5D2+H##Z4J73&WV+u3L~_^qJ%?Ou8Q-SzVD z%Gc$^&Ff_YO>hTkIt#2T&M7f7C|gGeavfkw6^jrm0ybDi38%pvac}+E7l5{w$nM|6 z2S@$kiFIpDRMWTXMxDVhgD=1|*I{+qJ&L*&Qx{TY3JhsL)_tH#&iJZ};Zyc^=Q} z%`<^9jo>r^4tg_Vh^V9;l@Vx?z0(Pk3DfHKf~`iE5prn&0wZ|rWNQvHmijGSU{Amv zTtAMq3zB#YtC3#Am2^o37I23>Vcy*D4%vPMay#Q!fNb$@2P<3Lcl#XH#=ElWNWE(cD%UuKS-Wx|8Iy%3Hz@pJ2(TU?CI?J9K}j&WNSwLI#eQ9e`s_JyD* zinsKW^}Zc>pElCBA+Pv|Q2azaHT7rREpwLW1qxWMpd$OqRi10t%F`FioEu_f0u78b zENKxMw0;wx6LIb`0gUZ(tuZN$=?f=)p0ZT{YW>2}L(t;McG2OjHs8rV`!3om&Un|4 ztw6Rl^Cdjx;da3^x^?LY*X|Sc*ZAX6oyF6^DJ+`izDa+ZN^WzTE%S>9%gHnEm7}Lm zmqmmjx1c)Jy=I@M0L1omCp&G&HJ(1kH)fAM$QX#nxT98mckyb=FUs5PkyE4s=rGuOiI&*Zs{05D1|Md5NSB@>tl>-PoQq4L7klWxq z^Sa@kR1{F0dkW!)7-9l4bD!m@J-^L=bVc2#PCt3`&ImwOs6tS!(&%#JDA}K25rTme z&0=%IL)0(I(#@;o>5Z%9(YKe&3M)aA48RVt(z5^o%`%EpUG6$Wr(ortUI&e9G@_1p zK#B1?-QsiPCpx%>sCI)H3Gf;pwG$mTXz-jL{R+@drA`j5fexOE+&KFkpuS#mFZ6m1hNxH4K;#Ebfc7?ux=fUxLLyYjLrtCsMmQmVD4^Z zTYvV1Gd{V(CXbWjlvvr7y&s9K_((btK}TA7HX%l}Al+>s*jJi4Zh@^b8XqYI#Im_M#IXtolyQ zgUR@kP8G_fP0dyTr_$_h{t;;Z=M9yBbx(-s} z?Twou1YQ5`PPzB+X{u!=j9_tBkn{(CGyU#vB zBit{`h4)UOCVM_79TB!e07Br|aHd`Xi1BRnf60Ps(wcfV4L)h24!Y0k{F8paGXjvc z6g1RSSJb2ZRzvW)<;GcK)#q}cdg)1d^z|RhQ-q(F_imSsXAjFXTWl8DGdhm|Gy^3% z`>eW5XMEjLDbenFvvU*g)>jTV)3u+zt#IGxd)T0YBCv3Nk^&IT9R{V~B412(*v%>s zf=pikiY+q;!K^=o0Hlgj=UHZ$)tzBA$EEidORHr`rn7Lc96EKHdwxDHM?O4X=Gpc( zc>rYxFk!d7d3S+BDw&OcVQc6zh}Qbxkv_C)Dy{gvn>_%x{YdnEL+IeHFvJl|8B;K0 zI+2b=X9pC0Iv_$NByX36#1#WVQ{_W^e*3_jon#2N#ywP3tH40bY^?4qv6R2`;t7Hd zTiiI;vx*xM505IU6>@wiQzD&$MpaLpCFd}5z08DwMaL5EP0C2Df2P##C6Yrr9i-Sc z9H3-}14wHUzWvlhBUO>614{%Se**?mU#-tK?4Ml2PDP} zo;ZMpaBK-`3!IV$p|=>sD8vUn8_GBhpNbLIQGBpmco1~frWeW_+u;@wf)1W$HRvFd zAe$jn+9pW%lHEx}Dpr6{sq`Sg) z-Iem_$?CnZmJMyq2_bltW*T?t(tf5jy<{X8 zOrJ{je)U&?B5gHH0M(Bmy%y~d0Z26c_(nha=`pU1@AUq$}WHXWo!-4>l~hy56_$^ zfA{%?^3T8iMLBcgX!KT0(bGRh*Am~BQa=g#5_l&BAX97I zHMA9pj|vXQBr&F+85k-2FuS~j7Adqz-Tm`_l;=0EmcoE+k`gUKiI=6bmX&?XIs%MOs>F8n z0)M$Kti#LGLI8peRuP!jU}VlFc?quTKMswS;cZLa#Ks=)MU)(z{NST<^y3TV02i`N z9YiA(T3B3qSB0;_g^%1NSzg0z`Zcb1P_b`6nzUP4b&$N9-5|Rf@%YI68ha1`U(j+4 z5`#;on2~Y&+YBRv-qW6w2;$*U$`D^j8>}uVQM$EMVTKi)SmEKl%yzal&hRMkct4M4 zd)Bz4$Ag-iY-`)(T?d(U02*s$pE-Jva)Qm zd}YsJw>*QUv1sR~eF9YXTBiolF+AE=7mC*H3Q#Ky*>Y*@O*=3~c|`OouI!@NWMy-v zENx81Q@l9!;E8hh^n2yNG42gIdK~#@5nh10Y$i`qOI#B-SSs(XZ?W&2zeWj2JiE2M zu73I{iL;{6POU4)0(F~h&=kSkW~Fwx=V;>k%f)Nuo6FyF9_T)b5gx}DxoHOCu0~8U z(YnSqr#haPwZDKyR~)d{NPEfHRRDq)%g4j?;DgCj8ppF?`GLDH0M)4Sof8ACTZ6BL z4fm0c4sSN346s!IvMq+`r>{l=zW9s27e~ICkLv`WhF@A&5uB_FpM|6g!Vh84P+k^} z94SXno+_t5I$svpjWIbl%Vp%0G5vU4O51c%aWIT=?K@Il3?t=YiO}+@Wp-zh*5S?yKPw0} z>u7sA;H=ZR4`8~VmIc&s&KzOD1FYel9Zvx$QxnA=sW7QEtu=jm=mu20w%YNsXQ;C{ zVHd`yZycQUO@;B@^Z;1vm+?vCHk>R=e+A%i>zQFf*s-Jao5wc=7AmY&M1at<>3JP5 zAB91?+M^J2mhLm+`5oycZSTW z!80-uEz-0$N#=!D=A`B+>B<0G%}#E>R3@?&ynaUmsvr5@1=A=HUk3Gw1xM?9+<@CK zz1ktN@oKOh1m!j`J#Tvj$ck-+-Jse`p!M7iTqz{DaaKtG>`7sR-r zB?TZ|q)%y5+6)NkEKEScLzz`(HQ0NCmZ?w{gyT#Q)6eDLkrS*0u^NPSs!1+SotQ%l z2VEz8hvU>a5a_`b#%If2L93lfoqCyCAS=s@Ym#D^! zKb@OfpK_@hgh4z;*crb@T{^$$)EeU34W@&BJ=@TZGx*GpLI7%*U|af>aMX{CW~b72 z@XX)?Z-pHhXH|#I4y+K2WJU@E&c<1;t7<1>(C@`|tI)v`VVNqQ<;Pd?9JuV{U zTn`fs9^ecG25xObkcxpN@p&hYvsNgJ2cE`ld!=lA=pFdZwE3G#9JFM4 z)j>!LhO;X^aT#fJMh;Sd@0nVhJ*U<9>%LI{Q7J~Mj`eJy&ZsT1&i+rn*lP9U0~}x>RmeI zQ7AWB=~5vmXfg1Z77YVjtlmU#uMrAPyxR+nkSnYt$GJeh7Y`pRM-YIfPk&UVj(9HN z1VLR1LU6)#w3~SAmbmcT|9Q(LV42tY95*VcgCKQqFD+Mkc6^|Qw^(h)-FC6e;Pw9F zXXWclH_O-GTq@VDT`ezJ4Y!dg09E5Ekae$FYnd}29f<}d1^_=vtNHb}BmiX_?C3gE zm}ODZzU@tB;x8DZWdJ;5le~`&-Yv7X97Y5n+NJ^!{JjbfD+oYdin_?z+mr8eAJD0j zXlFbe+u-Q6SYdGtNK6smwp4s?hnD|DpOfemgX4iNf>ZdWu3Mfdta)%U6_z6{sTt5Q ziEz`o@VJ44f&OR&AS#_`OqU%M6l0WSlN=RD}rZ%$hjfSMY@p z@(<3T`sfV^%hjJ{!Y=V%W82HziIe5<*$=qq=hJcs?K88?_-=9@z*%7hpdMctNlKn) zFntIZP18~oXt|Wh4tiDT?-`pYi)05LqmWXqJy1hj%-q5D~5c6~$;=;^cAl%>l)fVHi+&j!)C# zi~{INp}Om05$EbmR$KaYuz{%lG|oiR;BL}g!6R_}00yfN(E&!sm)I-1H~ltU!;I}? zSctYWA2Zl6URBG^ceNW)P*N@Q-D8d*lsK8{>d0W3NwHYpg1N=D8fj5KjjmzuM~_Pg zK>T8Sv8{=N*sdzCsA8WH%^V6)7SRGZck073ef)fxI(nWF33ml?nQAQud4MYc znMTvuq^*~pNXY)r8!iDWbfi+pzz-$JYntclH~ldF%JrnF7i@?7?(S1AO8vH6 z;j+|w_wJVGs`c;Hd4y_k4pxF-KeA&!Olw2a9cc$->mI4?en#T%oTH8SnYja5TC#Dp zaJG_+$a1J<5oNO%EtAIht4x=#y#*j*p#z9XE~h7Gf3`W*%}>p7LGhu(f7}KGwh^=rF#F4SJiGE|2%scs)uY=W+2;oOch(6FsKCP7%hTgMYP);hx@Kz#3;t^}yBrp7wAzdf5Y#j{-iaxlfsx_YveY10AQ zwM*skrLW5U%U_lGwHIY}<7MorbWc8(5T0ZN&QovNVAfHn&Hio&Q{rMon30LIF-`RK zbL1Tznn5vLi2Qz2zqQjG7hmwjAB_NH;ntGn9gW+1(%vhP0BHsoO31-H8zG3d&??QEXW zo1A_!f`;Hs#AHM~`e%CDZ1mGENJWs~5oY8kXtM&;k2tBj zY5;HZTitx?ZjEd>`$$xc92~CtZ8JT#7&rr{sn32rwVjReilymv?D!(q9kFkV?sXi3 zECvP4`Wh1C?FvAqB&jyi)D%??;P~hjou#^s;+r}WO!5&#yX6vZ93-U}toD%s(-|SF zNqfWufjIbbW;yN|;cUnBEK_aFyn5h$g^2*~9+_pOcm~A?vnMZGWc}MF zh(DN)>9YL0_|n>a*HrAk-$V)QKrgRC+iUZ6SQHa#QBe(T0OQyd894ZetAsC^T)Tbe zeq5G%`SR6r=gu7zB|K>-YTT8uu0jODhE}jj1HGzuEwY;Eznc&Hk*z#Ey+#MOZCETj z3qZivcq?%8uJKu7*>W0>kyjU=WmC&X_}%bEaFE9zeP@-lS^)@N9C@=G=rdDzpd=iZ zDJ(EX^Bk3v5b6e~naP9V~=j36p}#x|1hH}X*hpjL<^ z&8{Se5ESoG0mw+BT&R16pvu!ce=M)sWCCT4G`kAqz;=b57FRERRc@Z~q`CkAKmbWZ zK~!A50%5UT1$vpF4^`N?@ZksL_y6$g^7(moq#R{uigDBB+262OWVabSkHi>jdT7OA zUjT}N*!Ab#5P(d+tc=q-qF`u03IV9k&M4g&VOq+~V_j%Q3SQ=k2SSeOpB=D-I_nUCm|5XlX5=1YxyCfB zISx=BdXV3l-or=BnNL3}M=yL@4xaynJ3yGxomq%`L71;0D#Af2Mja1vhYKHmXJV=V z6b}427|Jl!CDTk`1Hr)4)OQP|Cr@JTyN=i+m|aN>@q1pfKRjX3v2vqg0?zXItUP~O zUOau6t2{5cpXVvU&vM?`Gr_8uXX>iPHnnEC#GmRR?5My8TFcp@R)7g%s28&URVA>g z7p^M-{R9??FFol>c!-&Ib{cWPX#_S4#_7}40PZ0;MgGWVltH2sZwh_J(HWz0>qQ7a z3PRX-YbH@{T~KUI1lTf3-FF4kJv$t8nsr`NRAJua+cF(yvc86d*>iBS1EQh4N)#g{ zxl5k1J{rh2KvUY(qa_|NgwGb*B~Ebr3!ySZ_1pe!eF-l%jrrH+lLJ3pF*t+|w7)X7 zP-aiCP4@h+%OrOMO)eZ|tLy;)oG_6OH9=~ah@s6y=LyCwu8m7|ttrVM`@egYfMr(8 zZ7;a=i@Jr!1W$`Wsr^JgQk1LCm9`at=tdBN5r%nBGAXo*a)ZZchx_B7E|!azxGeR? z^$=b1+($hR1U~S$HSEpP z)(##jC(fPaZ0^}|fNgNz1+=ux1={rGPBzxI+ok>c+uHIZO`0fO;#B~GyO8E;?>LOM z5SXIA3Fnvtw;2xeI7ztta=FYnv4UD_ImI_${iR&tERa`4sNi50@KttSoIvT)g%95^ z|LvduzI^r}lP&lu_}IhPe??lbN5O$79Qw7v_p|ps;P+(WcVl~Gq3~t-JEK)yZLW*Z`#>b=RLnGbKeuF?@6L4t-i~i z_QCkUHp0l{iX-v$zxySGJq9hhG5CN#`5rW2!m?VKM+LG z#ZP3bhKb&baPe&xI$&%Ke0^6OW)cBEXqU`}#x}RAA?SG5)f$)ht;1AZR^MQ`UCnHv zrWzs0?QXiSvBfR7w^^) zFxtj4D@i{Bl3T*)ybhl1G;+WpPLTzhY6c|XRO7;1V|==&5mUP5cm8%7+Hyb~0+3z_ z-UkiG4&N3pKHK`*<`t=O|QjoTu!UbZ>z?l4sN5!36m^KHeyV|2GJEtaiV;r3J5ZA!`x6v`Or7FTliq9~euRtDxU~)FVw7EKY~Px6X#%Cw{_id& zUKv%=WyT_ly zq4`PQ%ttyAg3olXkbVEgjWVe%F!?&}Em&H%Q)nZ{?SteOQijIjYKAyc0-e2=bIbUek~X#7#@2Qh;ry1>5HH({Xrb z1RxuMj|60u&f0L;_U6ium!7WQy-}8~UoN-*^2f6IM1}+!1}j60MmHc>W%^?Wi8#iF4#1&BHHy8K zc;B_UZK(sx*gtzF3xmg19y^(QSP!JPh2j%323tV={ zOfIWGp7&YjQ7mv7UIEAstD4|#e8_}+OiAC)rxaCLQ~2xF z7~*#oB(d=hc;5&+>j*YzjtPxztY&R+hG&y4Y%9-rxQiz*Aw@;CD?kWGN`;*^w%RJh zjj{ZQE7A}SX-{ok*lmQFINn?B28gaMezj$01>Ir~P{QLLS+VemHx`W2@v@n$^34G-OygeD_Gc@__if0*G5+nf>z61Ir82o<-oZMW%|sg z4AxMZ!u>&UN)=w?mbxjo`iLV4Hrrd|Cnn|OF&UjvCO>i8XLU7X-5rU4PwQPzrWKTKp?wPU~2J$m( zsg#vEF{gI8ILHr;s!Cg$2o>7FYvoh&e(RiPTh*t#G!svsKW~F=iY8`B!3iDa-%dr= z;N6OYNK%m59wtTno!rySaHHcNQ;ca|`2mardwA$7+ndEXL78|ds(1gOO069CUcUFv zl@q5y%+#ZAq@4m|pcelwY|qFHM)==qsZ=Z^=uPn-h6Fm+D)jRC^YZBa{c`1-i%du^#VXJ$ThgZ(6C6Z)+`s(pAIm@d?342O2gjMTPXXuv zn&Rxovrm>!^bHAsjO>8im!Z{ze zzAfLpTwYxMx;(jgwG_@REI<@f4)TD_s!u|Y2o!$mkgq|hYglto(I=G-Vkg_s1{C}& z8p}@D-i%xF$!L9JBYd5FY-hxKM@O;0h8e#uTI9q73yn^s_7;+PX!4N(DGWhWE9^^t zx=ts=-5$r^|Cm*uj~KkX&q2#WD1Jhl6RSUPu9$h+m}VP8u8Z)lOfX~g%f~r?-)1wi z+9X|m=RReb5q!{Biy`2oy=aC~I*&q52s-_5Is&(R#tM%JJ6NhQ_E&=I2+DD&(r%T5$BawDPL%Nox9LB8lww8&@x@*5l zVWu%G-|HuEnitc=e~m+@;iiV(DI^%J=s`w$9TY&haiAF<$G`~4!{9`<^)PN+T^xJW zL5D4>JLr4dwCx19dtCH1oC%pgL)>IJz$K~kCs{o{bAeT$Gbn{S1`C;^dE0tuKQVg( zE(D=y>$<^X)Ewsk4m2U|)YQ8YyDtFM()inY%d&%QOB&RhbY}fMe)0mv2oK9Q7cZ7; z-`*%Uzq`ZzKi)P+AHg=R=u?2RABsS%4!9zuz_TWQ$K7*hs?J{bo*O%>h=@SdjI^`P z-J}GGRX7v2qe=G=fWYnFc2Hp&IB`@|k?$Sc0ohRi0@O5_HjN=Gs&MT`EgX5XjXQy< zVB=WLJNJBh={QnDInI4RC(j`OaSlk0d!A;{FDJG;>=EG}KOHaG1E}$mg;e+yIJSlX zV4LakVjU_h=b2RnAk<C|Uia(`kD@00+~4rx2tt*H|c2Yj>J$A;)Csu!8Hy(VIvG9w@w|2L~g^<9zomVhU;AP(N zpRZCe+hy(f zV`heE6NHU02s<*-xQH~~q=IccrqR}*3QbEU9=N-M~& zu@3{R`KW0cEslHX7Yin{YB2@J*9^-PxZNB^N#u7BHrEfsd z3P9LHkf{EFpcjho9D@nS>Z$^RX`sy9fEwBySuH(!@46D3P5ICw@?y9K0~nzt3Xe=Q1{BkOXb-kj&yL@ zE=xh2_dyu~3q^-m?fK%9_sjqFUw(%&gvD}%^XyJ!DgfCx#~32sI9B>--j=X@MHBgG z-r?{Q{&^<^Ac@6|L9PH<;gil{qp50g5|T#%TD^6p-1+i9QGD>{a*$Cd`nt+&9O6#G zPzZwSKpGGM{2-efb`fi&h=x4&1t7~}3{zXt7@!p-+G70}>s>2oEZ`1^v{ms$$E{2* zR)c_8LjZcd3PH>rE@waftjxdvL774WoJun2f#{of*l#?+>QAb^ZsuCpJ{LF@kdpO4 zRMMCa5kgqesrYS5nB9|sV@()dNpHf#44YLMq_g-A0VdQ_L-DTOu#&UJojj{AUz8;- zA6-T(o3lkLp4~wZa!cDZ+u-a1x^p_vKIw3IJn!alo|PC<}B>6fMT3fJMEB;GIHbUrpvl?7*9VPZM=Y39^nT* zC;bxBZUHi6v@2kJdrd`Lkw7{WAP*luR!+DIbmlDgaj|2Aa$TlAqDpF-+XU=x8Jm}o z_{eFKaJs{>Oq~b~C0k9p+ybY&ai;)83+G$G_xaPOa%YXm(e*OOi!uU~STO0tt3p?E#0}Xz+ocHr6L)bt7T4o#E zI)j$EgGac+gWHz5XJD55J*Me=Cb?-^ZB7#~*H{%|mMMfGx5vp?g1OMaz`Vlv<_V@( z-SkkfiIpebjFeK~aaG5&J8X?m$l<-wTqi#^cJ*8c)n5HA0gb zV-$4ARnWc6(2gc&kQI8cljL~g9_%m}rU@JsfZU2>j`A^|31e3p*6`8o)uvzOuZC`l zbR59ffQec%J5g`sFEjHRn8paQF93~ENC^`4GB$Kqf8z$praCm1ak1M@XiX54E5pn1 zl=W#ez%3jrizh!Qi`)@3fBbz8ZXZb@$QDVzq#)!OfS|>O9&KHfCTnWD_GT;^f8QqI zMkM<`uPOm5DETk-sH*>_4uc(AJuu5vCdwW>dRo4{afi!NxhVD9>*dbfd$FBsk{tyO z(h4dR1?%ZFi(S5|Wl3f2B9qSQIn1nxME! zn?aaKcNt%W*Dc)*UtLFVfx|3?pPFMQ*mncKHRc?LzZMlE@ zb~%png9&zZynM{|cJAprb!4&p;us&ImwOtHkX9&TT#D>;u#+T!!l&VuhS3?)zEb4AAre4lpw-x52^H6nbV+q0a0b zm$6N-T_L9Z8pe_tPxew*erlZ28!5=RjSX6?Thlg~!P>AIoftOBaqd#oID+mVGzP8p%JPv>Sg8xse-b3!1~Ds)YIe+4M^Qdgh0 z(hRF`X_y+W0ovnL%X|-z5wAA75!W~K5vh*$mu+KcTOX8)eF13f;u@ct66NdA)Z3hN ziq<6IGDurStLO^TZ);QB*TMZj3kW|4PoFO{hfkHMg(Hkd;WxmnvsyHbM$%B!Lbe); ztd?F2OP|{2cAwrEySVoO-$V&OwDRoWv8><(P3k6VmK0#PT3;@$mWP}Px_;}s*b4Wj zKYz&IYnVHxpq% zkpj?msN|0|QUQ04ucku`{d6Qo!tg&T03~FkYPAfqARdvi(cw5M0%t^k#J)bCfn z`;GY3&_Yy3qP;So`i`=<@mFTRdy>8RYL{7}qw-D%x4zA=_u6f6o|ciRy8J%PC2R*+ z9h#YEgQaldaF7dw7GFFvotOgT;HFHd5yC@oaRrFK4TSfcIb`L>)gOc(FGbVccZAWd zkgxCpj#`~Y7wSQ=ct_5Zoh9*`mK8csHQZ^kyHH>OzJ2mLCJ;oZX&EIc!_91I_649U zhwt@kWeqaY(4YWyJTf5A@Hhq_575DUgiw|4#*J%e9G2_b=DDHiiGhfh_^zqb9EI;S27X+XgCe&1n z@SK@{;S_%6>0|6aUZBZy2KtcCZ#Nw!L{fSHBkhU4t(x7&Hug(3OuR+C&GhIHpgv93 zuo+~Bz&I()w78o94!guUVw&K(2JJTjkoFXS=tFUHE8zmGJ||A24GtklWe6|ntL>ZL zh5%I4Sb21B$XLC0eAlr@6?6o03tT;mEH87+;-gXFg{wf<5P+_sL}O7}Kmb~P`lzV! zjj5Gb3Ht4?{;vG?@4qO&xbS{iM4MnvaN6HTsZj`7f`K%CDA=0#eJ;`#%R3?fHH}2# zR_hh#9aMq+?AwdwA<7T#UinLz=1kCmNfZ@BEDl}K-z7CQv*84Zrk1U%+7m0kJ!;;K zNwg)l#WJ)rmiFFuXB>HGiG53gclmssd_+6i1>a821Cs=brrvi#wu{?V0Vps8Gw1@e zc_l$!o+caig4AHrGF+zb+|Ht^?9f7k+Z5-3W;qWu#nuJH6N137%uqb}%Jkw#FDTfFX7&U+8go*kW18^$JT9m{3tZ)(cy$6rVU%t6qzWfU9aM!uE zgOwl!pjigFFPGTfY(Kzcn*xwwmpS_>kB>>OaKW)PGVxA)5Wbqeo!PtU96Y}L=vf8} zK!i1~)r`bPnzk97qKnf*?_PirA*czecYs90%^|&Al~aN?4;3MJu6A}|z8pJos+@lB zy>ja8Syo=@$Bn>nW0>rp#{lesh1N-T`2$McfTq}7Z;jyK-u?aiGirkOWNdEK7LfX zc%9s|$liI&J0buzjK(^J0NnoO-9HaF`*ZJ`FU#W_SIPn^5)N|^VuHhB(+Ei{A|ux* z0Qn}I#6``=<9AEOeC!KAZQ~r9qHQ+=+fLK|$Bx2U8fq$&FS`H~$U7o4Sn!U%AZW<++MP(RY15vX2%F-HELG}D_$*JNc01T&*aj+&#q}u9iBI)(v<0Bata$f)%x1y~6LCAF>3j4W6i{e7DLi5MW|Oh`JR@4(p@+1wzjKhfm9Y{O6y` zpa1erxyzj|Zhv!YbturF^YL5t*D}I-UrZgjfTCx1b``+5S~FAt+J(5X$Eu#h-HW7W zCE5zprXZa55`cv4w@=F}jO~LqVBGe{zGEDRyP8!eS@}3}>{vPb{s#y_@6!jOO58~U z!;NWn8yoBv+`jd7P32oP&gj=E$m*VN#~PF69!d~yT)kRuU%$?l_?IX{U>6D#`jaR} znpj&ZM-I%D&p8A1fB&EVQqCMZ!s^getODg$IEy?=3u36H*{>zahd82QcB-$}&EPv2 z?%fc8JO@EV29s$d;Ppp$%iYUgmHSuGnf~Aon%`E-L27@Bl_4)conXqqrW4JFx{roa z$-?ip;`xa7k_0kzP*jO`?7ElsdIHzj;RXOk9tJQ0QNK<;+9Dh?Z3B}8)~u5;(GLU@ zw^X1I1l_=BB?KA!2Fz9l;r2MU!UeOyV~u?)L4$FBj?6eySTB>aJi;E5iOI=0+{cah z1TA(3P)z!Fu8{)bU@x=VHzR$*n96uH0vj$m#E%T0Ej6YOr_51U@(cbKlK{pAOm-s% z%`J3d*F;OnMA3<4%ECS3s1W-CkR>se*%yGuDkgy{4UQXND6f))-!9LkRoOow#Kgsh zMCdFoO2FuqIOlPgO#AGoC&&8 z9zA)AHaM;>pq@QABrkU&OB(kPuW^V?6McJQ>BcbO)&3-8e#+NhWwKZ3;cf$D9`e)9 z!N;6S?_q6z(mg(U);>fEKphUT`1FTDkw-xKL-q+K6f8f_%%xySekh-~AeFK@bo59F zKxf|nkh8ho-Der@l8AnS8haH+cJSKK>D8sVV=&6AE3m!!S8j)U{OEDHee)LE;Jzu# zTxdSW_P1%qwO)!E598por;e5X_OHJypPxTh&K^S}9NBh)#3%U#bQ1zljoWuq2b5iF z$M#b-?~DKxTi+l6ZgoWS+vBoy>uPy${c?Hy-Sx7`{UaO@NhOcHo& z!yP+{meGvl$1>lRSaIiLl{;Q-VdTKfoYe~o0~eriA)QHy&JB>J9v%8rB?6l)Q+G6! zRHgtTE#?Y}2#l*Sjivp@*};^nGl@RSpyo$BVQK&h)mbn52jw>7HXnM&V{o1Xx8rKk zL^yHkt*@>%-Mb4w9i9j_#!pT67@z?%oJPjQ9K{eBsA;PC9UsF0$bA85?7~VK92vA6jWd}}rZv1Zw3s!#)o#V-;p1oJ z#&>s7jr~ozeC>Ll+ngPsXe1@<{sfX<%(s7!lySM7QOI+4C$(qwecSKI&Y3ANob=!3l4_w*kjN7JDH zWO<5UeDBU(6d_zi9ri=c0j;3%4Yk>h3seBcs?ZU(zWwI!J}>|D%g@WtxF5*XpJ~dl z6M`(?WOpj3LG)-2Edtf27V374Kexplp~U?pf8b=Z>- z#3Xwq4|*WX&WOY1F{q8kFv={FDfMc+FOXo*hT8Mr!&(PZdw`63NqhbHMt$GRm&{i> zA7EZ5A0xbMjJO8yr3TxOn#dp?9<5oAJXzlUHIe&Hh9hq4I;0&S4Cg8h0W3V2t1CeY z&+T6`GY7H=X=p)PEZpuM-|&{2@)!rJoB(`)=0kYx;)%C*Y<#ATcTIaDG6qa0IV_O} zzVl*V-lRNMIh(Lz&b(xtM${*}#Mj`(Gg1eP?&8!$bTv_Y*%dWj3Gm9_E>EunZ2;Qn z#tkq8uE}4e1?%dqnSB9h?4k`?92>f68-w5tGc=X~5zsDj1&DjNX!|h}OMI$9_AJn{ z+uasUlt~1i#dBYj1uscGdX9GH<;qEv(@frZ)#Hc&A>E=UX`+v035(fF0IK-JTv27H{Ox)yzcWwT#6KFM ziMWFKZj5-v(?2s*{o)<{HP~7dgurebbeRZ*l$~}2!B7?6Xw6$*MuRH->H!oXoIdwH z0?_#~fA}!l;%4LgZsqYKaqaLiDtzn!u*JzX_&UaTYFt(6K?roZi!l7Pka;@67hHq! z=;4EM=jM&_=-$2Z{K?~TV4icxK(C|hYn^)m=aF{aKYfC8K))`(`}NQHMo9u;s}Q6D zrQ|7MC6=HgqaYXXlzjn+BA`;D{4M$)%Jh@4BjLL3EmR3}_GjgJd3pC%x&P%K%Cmdl zl~uH3%%K!va&?JIQCHB2FR?Wx-6|>PV8vEx0JWJrc6TYj~1|l~X^uamp-&pEe)aRYaDE7Fi~QANfWK6Jl?H z^$eP^tQ8n?)dV-)PeC`LfnJ}|7_vfY&}{s>N#L~MhjMMop_Y#%}rTX9|8Ri<{9 z*U}g*ks+nM5BvQ~K#H}lnz!}VH_KU}jY1Y8qKnfjh@q=|s zO2gT7>Av01uwD33|IWP!l5`tbGiVLd2|$Lct^#V`@(oB$lMu-mag5a<&)2a|{$x32`Ps&7v%P#oWPASzJuF1x+i8qj z+tb4)c-xl2ng%hhkbDfe!FSDrn7438i`@CPqNjkRI;%?z~nPrv?U`TalsvYbDC zq%6+O#6*dA15L1FYLi8Q83gGmnMX4qwrulacg4Ba$<5wn^e*}S?F&HB(iMQb@qVdn zJbPGPuzvk*K8qp7oVj!;}f??%kZpSYxyA%F;`KVTx1{e)i+%ZxBB#UOkd)!-#tM~s^Y;C6>B_g|4}bh~xqa_`Sz2B#3*12$+q}33D0u?2{>|Xk zwvg=sJm83dy~!Y|IDdvkfx0u%i^b<|{33+221gf8+bE?8(wQCw_N*gguGT#Twhmv# zA+_|@VY_6J zJXU|I=C}2Gx5|r~*UJ4%UzerF_sa$<0aXvEa^g4~M#}OcNSbxC$1#`>t$$la?X-mF z$$=|&h;JL*o6Ied4egAF4giw(nya^HYQYVNBANMs0IyLKvD0Mxvtq;LaLV31GoO!D}*lL$MC7r~;7oE?!U@hmHfx`1Mhd_G7GWd%wqxV{0+=^SpNq=6zVs zhv3e*sk32Gv~>Hbw0Hi);~1LnF0S!y+iQF@o!>tVwvFwvjGw|+L5iElwx^~hhPcy{ z3___;?-*O=-XBk>uA=zBZE&;4K0qnL2W9cZd)zB_h>*5d2Xq?xA4j$hfxM%Pttx>L zCtIxp8OdZIsSsk{ytxu+>N~h&wQs@RX8=)Ijw?9K4?RQ(+^q4(&t8`A?mR4i_|sRM z2l}?$=G@05XIv&(`J3bnklVZze(bGm2R;tq^L%O!tNU-e!P~zyjCo*E}x5=0=NK`qwDE=mYI%BVVz%mJy;Ur)VmErRT z50%BEC&~w(e#+Hbhs!DgPrt0H02FSNooDp=|F(!XOAK{CI|5 z%+Ob?01;1o^ZQdZKbQbi1)NIMTPvXY`}WXRVfANo?L}F=`b~NM?WOYI*0*Kl*%P+C zz2tD%W*iW6f23!BylB#yG#QDELdKJiu|NRP+Oq*lXg)HSu+TWdThO;*h-_$QyjvOV zmb_qe8@52T?hYGJGFLV-LbGoC7Z0nhI&18sY`_EQv`t?m6 zgD3>iN9YZGsPN$Fi=}e;>aFtir7Ptd&I3Jr{+v}D2DzMPsT@6cf5RVqc^)Pwcu56g zBv(Y@GHviW?x{wtayywwU4w5_0O~WLt`AEbJ-?ncgqw z2?E{Q?qlm8VCH{Z3k0EKoSRFyL<2l!6XVFnz4DVf z#%xkF)@$d|94qM9K%Nb<)Kr6hpYuO=&<1xa)M0Z59v(Bx8IMgaK6iCz3gKp+?=vTl zmjC0Q|EYZb;hA#g@O(_*x=J+1lY$c4;Z{(g%?_zp{gFn3HnM)kPTY?S@COrsss!$A z#!jXsPKZ5Le>nTIx%8yG{OS+o`PGZ%$-{fB{=9$)R@fW45eLBLSn6Bl^00M?!+iv* zq_mQoAtKRO**>-?9vWeF2{%6CAo)%SdQ)!1F|;$T4R+il#K4Hg{#H#_aAQX^JW15i zKr?PxiP@(LKv8Crgz@o~D&^7j+)mha(?5)%36Dbze*g$NYriX`t3NU{FlNO>xc<-1 z1KA9pvGk$0+LMMSCt{dHJX=F_>4=au4R!`Xo3SmX6M*#V{KqZZKDyyyy7>Bd_Og!~ zM_{hSVa|H?z3}TdZX6ZQ5ZoEYPP>L4@BP<^V`#p|OZh0&_8K28i|?NX+Q<%cKAMW} z_Z3PI7@WimErYpf;&YH{f5KQ60ceUrhFGTXZ2;5>!oHhzb;1Igt3Wo$q69wi{<)~AA1YOe3UHi1x>#=Ax>cS$^aAy)5x)0rveW3uLtahSD1+0XK7#b@0ZREm@UHf3P+qQ<#mZOB zFK(IF=}>$yfADZQ|HaSCp%Y9fAQV-eQOB7C52Jha)1e(_ruQp~5( znfB+;p0NV-UAcDUYI%uZ>&=&s%lhNn zRq$n?y>+)@?d#7i6X6J6^c7J>3FW%qn z?DTEVc2{+^R8{hxqC|?MM9*Zp`@V;G5l9~(GbL741{oO$csx7+?+XAA$z@%)*|~f% z-&*j*Bj{mv^*KySTQ4fF9s9PO%=Kw@@@Z~q^QAFc@e#NiT`hh-)23lzLgIE|P#<32 zES^r!w~D)QwS{V0eC9_()DWmVm&1L=wyoM zWJ=HoSBCNfsH~E+06^o@=Ougm3>XYw`>Rlvfc*`*{3z5S59{m^^TM3-CVLD-77*cx zTnR_9-tD5O&MR?s@Ak_*I-Ie=*u!xF0{sy9grQzwKhWI=&*TmcNnOBK|JR$?_>S3) z9M89bz)FFbcUeF1f*)X)!$)3*XXnAQr=09$eLefQ#B4d>)9*VD1ArWFCZ+e&P>$7s z)wPP)jox*Pb)iWsx9mE4M_JexvfZ;xJU@vuW&}XGss~TfLBR{-2MzLL<8tx+59HXH zX(?b|5dG4fw6gxgp3H}RcxOBzS8Hm9#L(SuChDs!|I16u^60?>*~HmERg`CR6sKMm zp$Z!yC{Ou?tDr!y_pe-(-+X#qe)Gvy{ZNAAbVUIWKogh1@oY?jN+s?90BJ?MGXP|a zXN<_)u)>w8VJ5RWhJ_uKAFRKU@(V0|yM04;u>6g{XQ&F*p+L7Zb6Su9Xnzk&{dysx!j6N`l@GOPV ziNy_}6=UZT6M`Vp%=J4kfPbub`i!zcbK~Wl_{-bHqju(5BWAZrH?wSvrOUfNTD9_u zj8omE6Y`LEmnoNC99B!>g=YI=zAW!iAobB;r`d*Go59qJw8^bCQZv&>n+o!VWC3ec46v;ev7Bm^KGONTJBEyZRgfp+sytWmVfL=WuU zG9L(3TndMFMa@epaNv#0o=T{&5@v!*8K}k1kIC_wi!zRT823v{A}qTOzP$|rtOum{$wy&4>z?k{)fUGNzS~Vw&>Ynz-|$KRL?A?9Lm+r1h@Ju*+eg z*xh=?gGVc>J=Ft#k{r_HT$2I8d`D^MYZAiZ==?;WB*GS6nK^cB>@aynPgpy^W#OG` z5&;JVc7V)}e_MMnJ2)e5UU7W-mhLB{K3t40t#q+FUuo0Om_0IdBx^$k(xzd-LgJ1} z5!^oBMjD~zw(^HOn`@lBnZ$7TJh=9e#MloL+Y-hO2pVo2gTMhRE@xreWEm-#a-J5) zrAiqfXk_ZFjLuw?iTUd?G(wGVljwN>jo{<*U0-^TBk(uC!@r%tjm}(Sjsx6Hc3kMGz9V3sW!jTRfefZzGM+a(BvaJGbT< zucyV~^T77eoJza=gxWjdj9;fQ3PIS=Jqs9z^rHmQbzffj4xWQORb!W_;9%sqj6fUQ zvGeaqc4}URa9C<>XcTj~9L*e~Qk>LJcL>Mp@U+lq20w?S0Bgf;juzH4@}n$WoO}`S zTvT@|%TTygWK1C*OT6HP0z796*}rms(DKTLJbnIB4@iBu04-pz-(c(j0K&}~9}4d} zYs7H{aqEl_L65SGOF1cC0!Ui*7g~mRnOYLcnH&$sw%+T(0T3c#TU445{=mq0ZJ&Hg zF8y%8^5G^$SwQkX>A>_|*`18XWpF3XotM*d=j04PP#zleSP%P9E1m((30^QVMW`Oe z`%VE6%V8b5F{5K}$LMOujeR?Bp!nd9tbFrF$-|u4+rqj>91;d3ljDuXLp03F<(Cv? zcrXsXu&{Gss-S)Nme^fUSagnJsWY6Y-nKQ}JbO3bP1oHfX_zY<(8sDTJe`b! z8r3CjfJaN}n3&IdNu20nprq3sS&=puCEE`=AvL0#$mu870oJN2=J&H_Qc&B707f++uH0Gf&$ujTB?WAgsx3-Y@! zK9VbQr{%;b_D6wE1V9Am2>=2>8~`B7Kgx;93~%$tlC{B2!44{)@2UlZ%*lq0jb62l z71?-rOJ02aZ*shbHIPt?y|=ps@Pp0(>l_O(Q1cu8Qu7;`hF?fZIz7r#5#qRp!_9Vs z8K552wDm&)QK4!BFLr`qm+@2DP#7-s&-ZWrH0|1fAM?-9c2Q%T>+tbJy=7RG{TD5K z4@2kBEkk!BEes%`G^l{m4T9204-HCpcS(0icc&mA-6=41zdYx?{^xw2`^#KA*V=3E zUx|4@P<-*A9CQ8#_V>7e$|%q3(z4-C$L;fxxJ{F!uT%6Elt^)UhGR1+M)Qb4Q7Iee z^Xeb<7Y$WhwIcF7DOh?{Exl@Ur3&+=3bGk5LVo7$5moIZ2;yK7Jm($%<`abZsgrwK zxPbKV5^MX>Vv0y}21)QZ_&P~iE0YTh(oqyJ?dmZ7SI$* zC-yZ(hkaH|nj>&tch^_KPNpsUqzr++&)aRLkai>^!=?Vc@K7cj_0OgLn-8hVf>~ej`@7K&lAYXgv4_kjZv!&Gd15i#*N9+88 zrkSn9m)x^PHvszBg39{kAl0dZfTI+UHL{?J=Yk9PE=1h~MP^3vJD&0RY<&+4BT_r3 zo&U>j%oGTZ=ER_R0b?JEZ$c92T|3?dK{;-^ZE*3px3D3|I`iP`rRC*#3sqjq##&^Y zfvYl z&UOf!V%hE)x#J;u^J%L?Ihwdj8GI^Ki|PLv!J~Zqc3mDn8y(s#JRF zS{*s_KOl9>Fh9%2j3>+FZVhx|pf*HqE`t>MJ&JhvxyX%ckfkTZt9`5@{4L2Odl@p6 zE6|hLDnF}?7gRTV+CU$6>W(9gx8WevRQ>o?I<+-lfz(0}W^%k8t9k*dc(#{3@FNv)KyCtCHV!k?ABIK!0 zYC+?=zs>9z*<^roTFE(V2+FH!`Jm4xsDH!?0k;I9&q=DYZyjpNM;O<4+DU?v{abOl4NtCyRIzMy68ZkOFTT&-#9cwW3+hGEU&Zqjo34ug>GNkVqe z<7p=}ItrMoqv^TEuKll;Fy_qhs8lN=()u=_wBV|wC zOCZ^*)OI$m{{aG{{cClQX*zunJI zC>wUZWkD=HmJ{&=-~Tf3;>z@~(~)Ql@d{FaMuwSoFds^s(|_mx_S-z7*`T~<>ES`! z^BfhZiV4?((LPU4b)pUb$)R{WjtsCBq7|aOAP#uDxu%j5_qXn(_n zL_)WeTG1*UTZZ#MxUoo<{%wV^sCG0brE^>xFDqd-b*A~0)*PSDM?kQarPT4Do10Km zIxj3$=et7^A2QfdMB`2}L|&QR3l?)}m{?LLV1!4WtC#Jb`~g%^PKvj>@JACKWK-xfc5W=}r~k_k%?P<9go9lG)23XyW~5 z$ed6T#aJ!}9D~KF1GvIT0Bxd4~%vxzc>SVV*RF)GRBRgn~JSJ(kx8x53`Of#tiVuTo=BvcI zKNVFiSREJ!Pi}$}5-@^MH~3F4%&WLY5bC<(w9|t}Pc%f5Dsc)=Ijv#}uje*QMh=zz zJz|Iuwhjs7D+`>FhTuKrouw{2jz=T@~@5@Q&P%^dv&1(kT>g+NHKPs}Vb5hfW3{?6mYbm)Y!Vzd&cp5HUbRYvdzy8Ylsu6bG> zQWDcA>GN@Yyy=W{;IKf$SSTJ~Zo{jO$DnIajM=z3-a-5JCMMLG=Zn+WUx1Tg|~Z~$UE3XP{r#L zlRX<;W&bK_2BjTcfkr=lZ^^%_3#nQKlc`Ay{eHLqoa)w5GV8;$)1P`07Jsuv)LY55 zNExxA4lQWXCg6H*1PSCNFoe78wf`Zta*_D773cE2b_mo(R!jKqjuyUG#8XZv zLriS`9HX?9p-?=J+kSgKb`RluC&zZS!f}H{lQS(wNe>hx zPFy)gbU*0;it*}=@2J=XVbSb)NF|ky8EEBb1+c=5p&5KHCq!@F9{*4EGh14WxJ0d$ z0fVp0@yB16I&WYpOb93sQQA40c!*QY$Y+QG0;PUU^AACt`+HJo_fEbUJhquYhNVRuQkwd>O(3N*IJ zAyN_P;*9)fYC(1`AA{uO%}70Z-;`j(CgxaRbmp4hW)m)HBREbgKMJ)VWI3sb=_(db zbEn+*re_fA_rF{%j&DokJQ8Az2t3d*LB>V%WF3)c3l0PTrKp{S8OB=(I{bNBj_Eo= zv>(Qw1GSuOahS?tk;#8W-rtneetVsAFZqOU!_WYhEETmtw9?*pp;0EK zj}%RXn#d#tv6TufnNfXg=`%{@={AEUFXENr6zO33)#8-jO z8?9rajZ|e@@MdAWyD64Rr^v4Wym@*TDv|R+eh`Aw;|t}3f99#DiE1gMd2Lt*MVH2Y zPxbXkE356wPiaIiVXdh|n2?yQil4C2UQi7cEl(Q07Hr*DWT7v|yTRM&okJ8N{FaeA z1FyERwgA|DRykDHHe-@wp|x*B{bmCY5=prs$yrEvN`aLI>-)(eTtneQiEv@a6wx&c zI^W)imx~Gx9KyXZ%kpVrnX~(gOUSmBG1_ou9lof*Wk2poBlKdg$%R$c9YdN#8`}#SA9o|dZ2XWyURf?Zofs8FlWwo zH}Uu(7Ox6zm!|Djmn$aBCr)S$g>X!iL*^tc$japS08VTF>WVBBRP@v&)7uWZl2*C0?Bsc}aZ@HRm zXAh{JdwA!=Ey)1$=WM_)XH_@;2LLXTJAURyx<_ii&7J$%{8u1|R&U+#6?Qfr7j6(l z_d8_31-hw}CeChRF+M!k^f`uHj9#W27x{fKCK)|1Rsb~4k>f*T_{;Flan(qqQb#0% zv5z*#BwL-ig$@T}UN^XC`6N{WY?0&MmyIz7m$6z;FWELbh#4PqCxYdvfji}N-ohmY*lc1RcKC!sB zff%gALi{z*jaRhjpq%6A_1APJ(UBrlOwbkhq

I6U?7XQ&Zt{Wm4+O`y{_N?+Coc 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⋙`b|mqUN_0REU1--578tm!7Jn&A5_rm?l8RHW&EUiI4{jzjYUeiVIqk*FWj z@d#c{$;_yf7bwHe9!F1+nN;n^Wjt6eH-FFnMwEs!LQ$iVk%jNJP_GoIL(^DIyj7EVosFFns%MsfbD7L4d4`@@RPN>ZyPA4LD7pwvXrL2`K@@w?KQl}@j;;n!F* z^p^y=T*BaX#-XveD`@v(+d=*7=fhwS^e?yh0_IG{^=e1lScFZe02qQ*$P3=#K^r$* zAOWJ+I-xVjSO{Q84%+$4w(@T_Ds=>KH-MCD{g0PYj~lJx2OBOYhI+gpr~-kexrG3% zn_g#S846!i>DUwij1+u-Jg}`UycV?@>%*eCWU1!%Oa;_5IZ!{$88DC|6i1QR5eSL> z@or}!sy4q%+G;2gV)8H5Dcqw?svUhNR&yi-^j3|A_xXOJat>(9kk8wZetDl-ZG{F<9vyGeyk znQ_~0Uw`{*Pvz7*R8IM!*8^m(Ry%;XGmKC`MmPOheI+gAPq^gHCO(C6k@h|~Ss9sV zYl>c*YbP{!4r38g@01>>=LBk<%YU`|C#rD=@E6sVRnc=b{c2@Qh*evVUPG{ya zX+Y8(mke{BCks{nb%_AsJlfKsO6T$A^d>$d1vnk;|G?mXd$t>QJ$Ht(?%R#>$ol%9 zaYUH$9D2=4v6C009BcDf6@}FvUgsG!hT-*?k%!Bgp;K5vmejZ-i?OkICln@2shPV| zez|KO#Z-?7+hexR9GDF6K0k0loc%Is2v>8mL7%xXT#+TWA}{5Mh@%@f&*Ef3%3&NX zP1Fbm$g)qP&*&Q{*hV^FKU<5pFMBveRq8!rIWGIvy9-zssWy=B?$kZ0=Ey!@(9?$W zd5mWTg{I%o^ROf7+bqn;1?EgL@`!`Wu|?FfPc~=5ECI*~NW|m%KbyXVkAE5X{zg4& z3~TOOERsWC++!JV9Pfk|sRE@;`|mI{GKQUMuk{YJ@wYJ2vQJ7)fnT#{c3-m$f|1{k z#M%UKnRe`nL;tprplWQt3?K_Ab$&|d*ASH=op?5`p+`2LlU2ax-XsYg_Ck{X(E7HtQIk@!y)>CU9vd(ru*lYeqCas<#sP*)ci5CNnkgzxV!UGnORbobnJ^d zYx?_51BcUd!!!-^G-E4KAI^j?E#4;H#=h6_2dQJ4lh0l)RklX-%>;oshdtCMyPMUA zXf}R;AVaLYDFG5}mh9Dq1u@?UpdXTz&*}G~E}$M~6_gM;M#|Zx32VL|LGYJ==em+WU;m0hc;C8H1GLwdI@ zKfo;e-y4jboyd#{Bc(t^l+(yVGA*ds93qq>(CMI%+s2=G(b(Q$9d8;??YXs_WI5Ab zJ{0i7DkpR!@RVY+U$MUe`Hz0D7Th%->-=71;S!}ONq`PP^V3ijr^It+^+Xa0nwjY5 zZD$n!0k`uoLiXh~?eUo#wrGrF?&!3Tq4Mb5cVR%g1jT;)wg(+L{mB`q(Y2r~iz4o1 zkkj`P;8=$M^;m=b3_krS8~}GgqCc3y13^Z=!blG}wt$b;N=?XED8J=Ovgm+$@>Hp^9{>8Ug7z?|CZM4V*wKL@(N0oapWu(kU-g3*^7l8& z1*qPfvhT?4va!3Ev?cNzDz5I_vXNQ5aTpbKY#3sC>|0Hap(JOwe5K*aH{)i>r`9F;yK6hcP+PB^A35pKb7(q)N^u-DG!#sv;hQQgnuZ%rGx?XGp@Z5sdd;<| ze`42s7>!+Q?~e6}T=?f@>8uWU4N$&tHbDwdSE#Wc3>r+4$Px%Lqq(f9gVd%w^ zUVfP>R-9*uKLO-Lt8@ghgrgU&fduDLp?xg*QmVE;Talo8(kr6><|ar0JC$HOn~#h0 zRc2rSExquE8*71Zy?7a~An;*k0SkLG{XwihE=YF20;hkBFts;67f9Y(p22UQx(pJj zPQzIffnx_wKHe(^+!2k^Flut4uBw+C&`j3^&;fQb<9sfK_bQP6IsQ&JzShjYTE<6< z%(8ZJf5JwjOaw-qfe@AeqUdD~!3oKC03y!P>aW-KQZ&lPi%pT=Ndv=fbFP%CaQHY} zpUH`bp+<>YqMpm)p>E+X4OSN#>PTs^ig?Ux5*QF=DjKr}{*=b?InT}y;FrL_%SVC? z7v4+%0)EKw57HuUnGMl}EbM0{+RdR0s=4Kz=R9#Z=gkxrqJfG=4Np#H@!RlDuE=s` z_ypMRagZ9XPm`|92dSm9R6I?0i?vuobhyXN7w@H3)L zeA6Fd=Au6Kc;Yc*px9?bzS6$LT5WP7_(v%I%?Ish?-DiZZ3SOf7eqDqk1%2;)SgK} zwV;!>i3EcGt3=bNtMMt!>!ugBYK;8OQA93~itI~D&zsc+jWEbFUWZkaRl`GHO7wU- zmKwiTmFRGFG&~||_EL$DGG+b>zzG9znL86|2V|;{0sb7&%+3)_U{EGvu-Ji zbps>HroL>Y9zGy2@vmona2cJTZ#en1FB^N#RA zY0rtU2}rokqLHNEnNubsW&qH4Urfcnm{|0xDsL=$vmN}8y?L@xczyTrMe}jvhTcAF z(a6&(tpTa&J8ivMP^E?_N~|K@o1%HL}1n){1!6MX{@vh_i$u{q=Xq6E2& zAJI$4LDnp`39^V{GbDzb{TV+cru1)uOgHEAjttoyntP?3!EeR-dN0Q3lVkQMnMryr z$XHBdyPk%)P;2(C*0pW3N^I~Phac^4r;BPo9p<2=bPC>!mRr;ZUfoFqPLm&B6z|#X zPxtN+pmp{pzHj3(&Idh&Y*M_83SeWMSDECE9tsFIG7H0b_KJa%IgAklcXQ>TAlzoj zRO>o~&N2siW`^;3-LFAg*Y!17iREOIKmyH2^(qC2QDBJQV3aM1WB z4J<)4H-@+T338V04Zs?5|jDF6UK07*naQ~?kqY|y6yK$86)>?LiYuOCZvRe1G7G#hmB z%8m5xcbC$sQve{jk-78avQ(UsCCCEj3tH$Q`|JU-)KEWcL;JeOIR{I4ud$Y4FKdu( zy4^`f_RXgM{Ga|JefXneX|Isaw1_kz=j#19h6Yt-@_ebC13;7+4X_Bav2s7%UpsJGm-{D05GkmSV;yHo#Dv#M#lT&&sXuwIuGk z_66NYD_S1snV`gyI3J*_HSrphLN2og+znw2Fc2C%t0NQ?e$+u}hUytn04b;5haPQi zUJ+ zyqK~zCEgQnt;%5xWIj3oB81)w-VN0Sfad4L-l`*06Y0aBe3)K+?xe}lwX|Q$;QrIE|2+NV?N`##Jrik0 z^kpwl^xh)HO7L^3b`}89#RCAT;k~5;5N@6PEN$ozgtnH%aSm@u;ZL9aH6(K=U^hGB@a42z zw3)qRfB<0Kr4V&4OtqX)hsT%=E7Mtu#{3q%3S7X3(wSgWkZ3{d$B)~ErH z7)8Pd(L}$P=l*gheS7s*`hWlVcj>J50o|HkNUiB95B{wg0EHZhFlyS?G02RL4jlmf zqngX$>NYj(>R)&_)Q0Lr%O}5$rNxB>8FtdN((u8L-%qc+aydW$Z%q49_St6#F4Cgd%D@D%*l&@)Ing=(06;1;rs`$JJ#UdQS^??RhhcB> z#j7{dx92qj1OOsmn*fj}B}6;IbGGFqFm4TiHdyDVg60%BFQHXGe_j3hw)UXzn&_lo z|Jl#d&)oQ00g!q`dFZSv&VI=C)ZOeD0HRFFDR2Ow+qwhj_UX^ls*b@108MHW z?l_~40zgc;RZHM9S}l#NSu1yJUBC!w7q|+*9n2?4BNu#sj9pUE?9>;t2fh_Yso)QE z*Rbrf{xp0Ht{pfZE|Z7H)1+oIj;47t6e^&303u~Tu^9j%D9jt;6Ib=pNwj$Y9>Of) zAVf?<{osQS-kg-OtV+G2NLefE>1Hie;}Ws9W^}l#XKMGJnDN=OPfOf%sDaEzIn8ZE zGefvlCs9brX*Ca5=_dtMld)})!w!$8Y6?P)@>Sl=aJTA%GQH!)b?u{shuhk;x6h$z z@EmkNYV}f08Ww%LbD5anO}#>C@HbjyC%n3@)|ieht_gzVaR2I}u=mNuz%6d(sHcQ%R-kQOkgxMn3{tR8*KuZ?TLv}kVc9cuupLF@w z-Sj_x_j&sA?6>LSjhh-QszQU$9w0}ek*)}00F<434@$OiC%tk-n4y^Q zsQ}R8g0R3y+P!-=z4P9?J_upd8{i@Z#{BZuJ2lE{Ba&v^1pw78Zi#*SceCHKy(?^> zx1?I-%5J< z-vWRXi~*4QHk6x|z-f=+h}r@lgRS&&0_DiYQW{a4F)k4F(NEq7#d!#SD;A zt5_aZ;&Sn9)#C#o(jVoaw*<0~VMmSa-E$|>9o+-8@csGJUcR5EG{(-^6aj!3y^q48 za~os&rJ+?YO#lQl=-Y+w4)GHt82k{!V|_=`KXd0G6-UL#ea2$B(5Kr+bvAH5T<8yv zjgl*>8AsE+*z+!OhfY^?=MZq{Wuh0rC+@pZ2nIk13_=Tg?&x7knEgL=3=j=e_7Mq( z04uSthuI$1FmGt~rlW@?ZetTuX^eY%1aR7#@!=Vt)w_TmxkIl!8 z{L|BE)4@>hGJp(FxmiX{+V#|D9A&zK|sY@b8Ue77dPqa=BP&+;3$ssk*O@<9pQ z8>AVZbzPpis-nZ)ZgxNCdcy-cbTg%|4kGz}44!)jRdyn-5K=5C5vgF5HTDT|Y zt;wLzCcDE}pC$!h1NcC4COCrmpTZk75pW-GF$Qgh1Wtz;0nIotxX5_RnjBoeH=lm{ z+1d2*iBnn*cOkWAXLKJBgD5Z*?Q(=dY(14bI=BrLsmc1%G0J?am)?5wt#pJF;N+CNpwRmruT8(b0g#u_$z=&+lc#MzoBf_`9oa&X)^a|# z&)Kni4;5{oPnO8^jmeMSqA&o6GScJ24hjIeb~}BiC2%KCp4M_iIR^moKuGx=Wx$K} zLaPAi|HkZ(aw!1hL1D_yGe9~8PUXoS{*AR2U9BK4S({hk&!rFEd@cR?2XCbR`17~Z zjP_ZT86XDb>Jrt*bEb9%0Ff!z7g3iba2j!(`|gx4L%nzLY#P-~<_l+5$Zj0y|SW z%mC2Sn$%2>mcOyYO~^=LYeZc9=Wz|q_;4Ci@FP4-9JvaR?5vL*Ao`U8gcJ`dy9rJC z;N5tNu}sNZp;vj!s4{Cft%H_*w|VhdQc3{ifsi&U1Zf?9vF+)!SPtJ61vZyglWslr zE}G&izimd44fA3q*~yZ}06@_k6K;7ZJ+IR?5E8d*_T7&UN4S^PZeC7v*Dj^`TUWhY zxh-?cW`QBD&+~#QRW^5SU|WUEGgQxx0z0Fc^J4s}@-0NR+)47CnF zm_Gb=8b9=-)Y|{5s`!j%fOKyeJfVkD^t~DSdk8O8VE&zDl2;J*`vNbquyT;cUF8t#K&m zw^LOoKO77Wfat_48v;Qq%S*bJVmuu>crd;G#_Q>z-g)h(`wN2upy+=@FLk>N^fqty zdwRRbrmB;ToiDqQ zg=KIGP!9lz{z*ue4fYkfxQJ8bOP_~FhpcEiPy0pHI_RFIbpfEsNl`-pXnpx!dgJK9 z^otMPOn?8Y57VrG7yzgohaD*<)z6>WF#rTDeVm@A#sENzm(HepngzO{XLRwdro{w+ zB&^#aG^18*ibL>HDR}6lQpgkvMXg~-*$)8_ECX4dwCcN(RtcfRAFi6NnsGGEo1q|I zLowb2k5mTI!4sJ94spPDgcSmUO_y=nn_vf>M6uh7o>dJ~dHt)*#&lm#TeCea?(NyL zU%+RtK+v?7kj!e`vVaelm1=*GK@Xs*Oc|3n34l1^E%=pG5I;|(iWG$+5E};U{_5aGO(RE%AUI%I>gxXh1{&;aWMMvN)Noqa#RCPu~05% zgE}mU(}2|K?W<||<`rF>dLylAGb^+9%m#6QYFmjc$70jDsq18kVfcR96rhbnelgLb z0aowZ8rP|QbYNHpr#?(tZ_lKpXo$ZhQu z&q}2N2^vITy#Nq1Uv{e?R3s7hrBKYQ=}Ch2h`=w)|T`|;ia0|Ep{f*`quySI1Cvuhrm zr29eoMLPYPI@xXUWGBYwFP2?)D zUFSr>?5s@G0*h#O%ZWq#Vh8Bo{fpm56gH1Clk^M2013xXGB#emznwL~}6 z<1s+CILu7^Ste5g!S$8)L?qK&ZFwf49v6ItdM`w0#J=!*p zjwovd9C%h%|M=KNihDhY@*|&|055%57o7f%wGb5fL|Ag zg1BoRio2c1X18jueMFmBvKvZsPHY&kDBju-E*ivfI3_M+WS4cApjE_}$^N?VXeGmxz1_LCHL+UVXw936Ljw{w(WmkPy#(8UO z=3tpR`mHj3>h&_oF3{M7cYyL;5S!31a781wB7XIWer27o>oig?1_WZ5JI0gcXgfe{ z^ou|2GudzG7#@ptEl+xkezy)+zA-gc9>O^~|5;zT zha|X}@>_45EC1s^|NU|p8Q6P>-x#2zCNjIH?e}Z%0Cl=v0#OEtBNZ!GKQ9kHeZQQ4 z=kLk}l8E*K^ALgnpyLQ!e@Nx-j|kpIcJgi$Hmzd|jToRdF2BLvv+F_HFGFkjzQeYL zZm4b^UH5K8@M);%2bhN$py60K?6bG{^0Y5bFLKB=ws>WLysuO5_jtr@3WjHf-JZGq z9&_8r7CpN?9Dy5~;%<*e+M-XwC3N9s2Nfn4BmuH=pb9iYb@N(RUSj$+d6JJBcT8_`>ml1-oJST$6baUQAX9|D0e><}J(vq$9-xNyd9 zKasS~enZD#lHQ2j0Cdd|(e3~(67Jf=jq=yO{1tbBeo?L?ih9wlN#^2^l}!q}Wq>m8 z!EesL+ciaCHau!+L3-};tgWt;0|)n)Z@u;^$KQ^Yz56)k&e1F%NcD}tWPs`zh-7QO zujZ{n5S+(_LBqBUI@^_L*sV+V4Et=d^_iM(+F7mv1C(W!KFT^vpd^FZ>j?|$h@WpS z$pCrU<;sn_eFkVj21p_+7$9&0;oJd=d!LN~@)(>9kh^!#RS;6_5Xk^>{0*_WtIQ(` z*qP!8-1r#t38xD7zyQDX>PzL{{^SqJ={>!25GF_#%g<6ht?G#|K(>WnY@<1`vdXx6 z<3f4(`3L3GU;MNb7@&PXVzNqsi%VCrf^K)pZ^QuY+(m|H;+=ziEuUQv(ta*60{ga| z4Bb%OJi6}PxP1mFdPWYOxX-|tWmxj3sz?FdeiLF|=})d~ARv|%3=po2&lF;-=l8+v zAjxeX5|X&z)0;m~CRi02m+1jP_$XK&X(LVhqzIiHBp$s#B)YTQ!5=vln6)N}a_1VtPI4$4IC(|IT<%>8?A5JfAEe?8gH0_D9 zHpl9O+%BP!TNeVGf!FnG<_6G?-Dq9a>@7L`u@v-VA~XT3ucMS92d|EJl+fitwBJv?-6&uL}af0D+%8 z`Y16v;Z7ZdN3=96+v2e04H%ssyV(cNmf5r4DRZaafC$xFd%TmA!lCnZvdt7U9@2r!uN-JU%#J?!{Q!34!SKJNBRBf^@&-@n%r9gBWPIwFtA z8LTd1Pm&Ke+}%BI;L*==L?A5DbD2EiT(LgUXImiSdvw#zcKzGUw21{aadw?#AeZjF_XJ9U!n7a61I+gI@m%+%CLZGF{!E zIWFu`9>jMtGK8+#&l)am@k~0BXQj{CF&;f-zrbCf;t>Xp!>!%Dfr#u&W#P{Cvhd(8 ztAYy<*-K1)%YoNjUQo61oy9eWR0C73NUKl_Fr*Jc4>^x4J3=5Adcb?&k_mAQcWo!w z!3*3Y1H@v^(i*q8xbri%|5TYf^PMse6Er@35TYg@LpAZ%7eW`2iRGd>aEYd?A;P?4 zaYi1`69n3D>@Ywsw)vNxBWJH+28f=gWH5p#Vb#Y_k(68>^8Nh>pOwG<$M?&7pM6&D zA{arbV?Ggyv`kJqRC_9Sxy-}xjZz)t*+T8CcNczl4n+xKJX)4kA46xk zk}*u|8)H7g>d)d7WlPr1%E&hYS#piIfT6oO=yPd;juxf2Vx!%)xT{ zz%0^5Umym^>2cicw8j8&$@bxe56dS%|0|Bb-6%X3TY7Apjk62nb{m^#Gyq>fIvY7B zaS{qeLr6$A1_-z4NNu&MhI*nJ#dtm#pzZ+L9fXDlsqL||%G9&XhI2~ND`O5qwUqKM zSJ$`sRJTppTBb(Uo0?;OaQWMJP`IrCLEu{hYhLQ(e$Nbddgk^YDsu;qmdV4%kmR-> z_c=OGz1Ktd>}MiC3C2XSt`3Psy7lRrhf6xJiEsmPp$C(s7ZXXJu&~VTNJUwl(Qx}LGbBoqs-*h84KU*i30Klcg3{Wl%I7V!(Zd|iS;Ry712!Oc7YiY}2565A z(Ci^5Uc?cD{{r-+E4bSiIHK#(d`4}usRf>6Yp4B_ymj_Ule42^HE|C8#;|-F-UAZ- z$Sgp3E9qJWXo>GvpIs_Hd*|cwi+A5Ex9&fP`Pru<#<&ag_zchxrsy<+9n`O@a`(qO zK7L1!9xiXb`DWRFU|*TxLDb1$fMAYd2Pnw@nnDKvk=$_F$pDcXmA5qQ>*l<(Svq59 z-{uo=6|ntJAMF*F_vhwxZ_H9KKa~OM$p8_~BXCNm3?BrCtVGO|M@h6|T4#sK_;tBQAcXX5fF0PaH2M*sjBWD~YXrkJ)Q?m_6k680_){ag`92(b-l3jOqW!^>K>nB7J%%pGs zMhqtZm|5&*01e7IfY-ontI1GZm3g#+HN6|6ncbTc1-SEKI0h(MpsDCexJr0e;@fm% z2-9%psa?h<^o$tpQ67F;x#G+#7WO+5xS{l%khYar7Jq_w%b6UW=;_LUyYPY>p& zhr52`Fg|eyh@GKW9hdnrW0Ytt`%&gN%m5C`5rMz-rxiL8qg6^J3^Z9`NtV7x^&i%@ z`ewN@l;*B|IBwb!Q4V}soJYkQ#HcORb=Z>Y)^ZL7A6Xg%9tHL<0c4BXbd&6wjT&E! zvF1|~q<^=*)_hu#G7hf9+lYlKDHvwMSY(3aS>nw8y*uUZ&Fkd>N8*-wFtxXI6OtM+ z*&K(Hd~qizk2*8X8Pl<-0pc{TxDXw9f&NZ8+_lJ+OR|t@vfSjIB~0uQ@ho61zQ&Q- z3IU;Ky9%`l<|x}>oCU?W&<(76JY2iL3hmN5Vuz;>l)W##QTD&`J$8U#fF_X+$1%9J z6D`bbi%`L}lCrp4+~{XxjM}3D=mpU15GvZdjmMm=(^*%?tUWM7G%W}wW>My6F^Q6~ zy_NRGwY%l*PcN1K@|S;AuHU)GJUmOk4bdtP)%~7F$W$%+>~z`jTK?v|z0$q;wG`07 zFOCVv$noRH%3D8ptIW(!BM@yOc7P%VeSMWXLU#2DDfy^ZOUv9er@f6iU0w7E93~MO zadaK1ZVCfeQfkHPI&L;c7=9W~?U#vEDQLnWa|m0|TDYoof1r%xR^SbpzEKPW$b<5YR=_3z%3y8l?w>Sk~lR5Z=oX* zWP+n^8~3iUqWDF*{n0PW!j1D~W#KlQx3BXe4to-SGVjXUOhC~3^(rG|GN!r4q`XSs z^r)$W!A9qLdc@hOqZzlWHWRg7zirJV+$QX8{hx%Rh2L!jYJM>%?K*Fvm+<Ov75l0< zN9}&=;|wVtBo(Rl=J%IrcYF>Uff4e4&;BxwaD(FDhCzxICz+lo-GCTtd089F)jsWA z)eYBm@0yJ}P~8~K+(Oucw^uF1_P)CA6tf#+yHs`)ubYPE;dHtw4Et=3H?j{wpbNMm z4=lR?=`C#KnmubUdD#43L-sFDGd60r{m5aj{!YO}l|fB=my* zR7@JX;OwFZ*74y&QPuy9jzg{O=@3e~}R9F1SbN zTuic?_}O;0jbFAww&SQhUZ9TFkcAxrrL{SQ13!+{{z_|NMXdg$ww%<7CDP^n&k}#jZk2v?WvX%{0?8C`0q?L<(cqJqsgVYj=PqCwt}8 z$rI(RAO4_B_M`=<1O7c|2xBfI%2_=nr)Ao$N;wep%{g0K=0MRVW0kIh(8f0OPHI~` z-3{DN3Il=Th;lzca-;C(ZZ7c~3uOsG2;=dXd(EVce;dHU#z&IYTTDa#(o!^Dya5#NEy`?pqKj6S{av_ws~kVL zul&{zzF+>}duPfUCl8iAB;OuHwX{#8dZG-_7}Tnt_k7kL+$^h1p!Z;a9v~6!;r(m$ zA)3%t=Z7a^%py$ABd4wLx zWqQuJ^54M#xr&@viZO>7rpMRKm+O|b_nL~=({xXX|gSi8Tc=YceN8FI+HpK+* zyFFFvTf5&wkD(+{ny6~4ZqqGA4)M)394hh1GJ?R<34zv;HoN}R3}$P7nc^w0)i11Z+uY}F1=sIAKokzh&px0VH&(V!P1ty+bOMH3~c&$&P+r1PC-dA`YnL zK8?_?f161YhcxGOZ46MpQ+4yfYWeK)t@0oL?7x)@S8qTbLnhPjJg&Y51JYHIUBx|_ zcUp9h{@xATH@67QAq#D{l>t)F!OYBbIeqG6`93>9lkASFyu9x*I8PF-ASPR!Btz5G zpw5Y{93`gwjWIx3?3O(`4h+UV0~AHevLq}j9_=$ggvD%~Wq_y}<6DLWmPF}$+cH28 zlL3kyVIr7El*6CSr+c3PVv#!&59xa1A8EZ{fE1P^19b0pIl@uHx4!?q@`v9)Q@(TR zVA)GJL`{V_Y_z9RJy8aT`%}r-a0zXFksY5qoGJh0?Q-WLoF`&dCy*4;V*>T4;y4UY z+!>U|prFC~h6S}~h$$y%+{+o$_TjUe#MK%m>9 zyM=C@yX%Ho2FS7K4nhw1mVkPi*O^GyyhP07)l0W|DD}d79AUm()>zQmKty&jKnSz} zkIN8ktS&JT64&v~qD5nX+^=uDK#s5&@lM>q7UeFGZssb!k3pzDQrkixT8Q}%5C#Kl z`%UoE7@!G=oh25emSKQa$7agjlP{P3XTM!04xa{x9snJ>12mHi5IJP~SFqcBW-wxa zwuSw3?-*@QEyWwvJYWV|?H#*%I$F`~h??j~j&+wi6}9e(jeCenzQo1*|MXw}x_t7* zrE=%tQd#3v#ya@nn`eNaJ;7gl_so~mr%#vfz4ayw?(SZ2okHOUl-F^y?h)X?M^TMh zmu9w3i9{Qnl67ay!7!yc>pzImOsVI18g>iYaI{SU@ca@6$egpxlq%8zms5u>1C(@+ zr)Ov<7KJBf=E^OPz+Jvp-u>W1c7Ps-0m{=exdQ~@#8YZ`x8?# zKsGXyW@CV4e%hTNcYBfn@)%tA4iI7J03!xy)0o-Dnqw?~H+v_JYkoP%4I^UMtukbM z{?LvRO%B55uCLpqfiiKFK1#+$&es)+4jF|1D%iF!avFgKN{!jz%%u85O@|K(1!8m zvJQ9dzVB`rpnhN^jIG|kULIcls4U&Q05f#8EI+&(@6XJD!^Ptsbw*}36QLNJF$AHJ ztW8|g4|A+Y>Sw}%Bf$IkRO|qbNG2!)^m88>HbKCqjyG2@h^m8-1INm&;uAPf0Zr}z z`5w@oqi4$g)88t+ zv4ps)zvDnpavrxgF5-Rt?gQ=s{e5}&qtDBw>nxs3&M~KRKkb{|0rK<_jLt#sqntf+ z8Yyt!;RqZ%K$LlfV{eX|pmn_WXdQw$q0rR5fkBJ3OH+L_PHq^b&mgqn2BERwHDqrI zsSii%`h=&)^v1xgp(2rnDZ!z@SDT5%m_?5#La3Wmvt^@%vBDbr00X5G6xK(U~VFZd>Rpeac(K&wz)D`n}yy|RCPw!Hev z+47U$eZ9Q(^09K50`JO?LXwI<^mNRc+8!0}k9%#I%w zmM{tgiJz-Q`MFA*cYAz~XL52H0R}S&Fz}AgOqoA)yv!ax$^_2a7Ch(`Z}$YVBa;Ke z6L^9`u(ISu%w&GhN#7cFYnd=;u9m3z>SIN=LJ7x_8bRRcg+S}Vn@hMuSI+TCPY;BW zV0bSrMTxmb>thjg5BZm-s(S{HxtDMna=2H;D z?7`z@?}>9|=IrY{2XKV888ARTglHG=b3ri`28lu2p%F&SYotHl5a{=TK{e?jn^c=K z>4DDkL39&@PPD;X?A-2Q%ysPU0^NSFSpMQ~-z~p<_oMRRXBWyCr#K4p`!~q|IZ8a{ zCO$fL{Af9Q_H6m~Yp)`7iv?BalV#pFvs!HjJZON*00js-b&ls*`gTJS0=uTZa|c30 zZW*-i+owY#lfLsd1_OXS8v|qr;ahY4G6pCxL~upmT#vw21}JubV1UlU0KNAi4A7m2 z9B~Fa$35vr_ay!{js9naL=b_)S!50~r2~$dWwsQgqf}?-faQhzWzXzXIio1--~Vp; z(W|G*F@z<|5-txQlGIbEp2!h6!KQ>R!Rh^(G11Tp&Arsv(7#{~w>;%!E(ec8!GC&61rD~0~%itE_Ibwhkp540Jom1Ij z!zxz~n%h=?eUkai;h3Zi1E(@RffFMTldH@~$dG5Pm&r69Dh0SpbP^|NFGI#H0AjvXF%dwLvq8wX)dBEq^iyO%TU9CIU_yFJm%7~t(pYLv!20%Oxh5Yf0< zWxcc9BA6WHEmT7STjRA5BYgycrxF62hv{H|@1nRy2D>_NW8!0c*GW!hNYU7ZU7(E> z7P0Oi(1snLhc~X2McxZq<=vpkwPlXOv7p7U@%@NK6p2KW0TTao86c6XzAZoXj{UL9 z9#LPYpM)jN65zuIyry{hU4m~t+K@#haH}Wsmk@-|gXx(&a=Pq665QneW8h;XV#X1; zNy6J`@gH+`0+NKmkJ>O%f!IR19#r8DK_m(D_pu*fO{#NEbNY^RJa zAV_=W;tdf{*2Vv*sQ?Ib+AH$HsR66$`gekA!K)uN{JJ&+?4&A;Q2D?n92i-AN$`DFx23MzT${wF^yzw`Rpa+-&Llmz$uGeE#C7$7P;26M9^r_Ftz zvawLs5vO|V)A!1?58o-h2fQo6?$9)=RsvZSi$igJ~}r9Um)IUPvHGR*TlTr?bJm9d~plILtldIp{^lGEl!lSo5dz5oC9ZQ77Bp9;k*4Z> zhsMMzYFGwHNpNE`92q`%qU?Y5tun=K&{$7NaNYspE(R|hHXJGDOGSH(7@!7>7fX+^ zIb3Dw|K{9AZR%~#2TRaj4AU5(6^V4_<~2IkgTELpO7a(Ciu7vET@C5%k=-bL;?}DJM?w7N9f<3k54I%;(Y3iAwL} z(fv%tH2L@snnD2R6sj3qc*wj4&}m^hIzd{D0n^g)uf`T;;A6!4HODqkEl)pHN*KW^ z^#cQBy{RTj`m3`81bsEc04W8I9iUiHHbSJ^XriXqtRin2AQL8k?0p8vtl0T+2S^5J zZE2Am>9MkRZo2%NfBHM+_r80sygWZ%_87Kg=P zurxr?K%w;0oT1VUb98pyTDbH{rYFt)u#hz}K=Bz5q!&9fw2wnEw!>*q5u%dOos@m7 zG{jf4A~7+IP=k7>$GbffyyYX))0^D`Q^bR5N^^@XTG-@xz>h&lT0xkZUsNwk+DaR| zGzE-msBifi;_eJ`2Y>V_`<35FjUe!%K!DLC{%r$hsM?Gw&Udqtg)4#%c;(xNQP(=?R?**+2B4#vtn>;fG? zGMO{G43H8o6@cJFo-qKZP*M>#v$e|_COA6u0C5^L1`DYTI>z0kgh_RBJZ+C-2Vn-W zO_Q-4Ojb*vreuTkQw4jP2X&S`u`W@MIM2G30rC#e`Ac;NXfp$3nz4ftcgn)W&&&N!KPnH-pD*Rkoiam5oF;+*6X;5Olj%|9b?gL1LuMn(0ND)L_}Lg? z-NnyN9dE~|_J!!|JBIlB9?`KLFPX1Wqz1J?PT6S_j$L2P_>oB#t%b{&gR$6kr`_au zZ5w9LV17V+4ieA*%Jjs}kBkopZ;c%vCAv)`!n((Oo=HSkPqEuGiG4~j*4+7tV{QsI zFdc_=9MkaFn@kWT%uW!6Y9;9pSNuBOeKWnK)=6E&Z46`A6ijr)00EDYdeI=zb`6Gc zWE)vPgNbeM$po>RfA3aVxPGZT@QolIx-Kw9Jp>_4akrCO04#_w8G1Ti`efw{ru<^?9xRi(bo z9x8`leY4DP6mERxAUK$NK#0HHU`@8o*P9t2F=ZTK?jqDjlx^hwj6-0XVb{i~HEUfV z^`zMx#d-gXF2zwR1#r0V>0+o1&>{{Ou0Lc4=$-Ok|N3vs3JaR6%;n!K0|bKub2G=o zr{DSB_jm{BRGFSZ5CENB=H4;VqkP_9_OaBcTdQ2!;aKr@h5EiEkOwhx)TEgM+yx_8o<2A-RYa$`;h^PJ3uf)-T}%5W+^1p zb_|g2<}H0B{YCzkE+qNtM;u`x6XY(Ci(fnv6m!6z{N$gMfBM$9%NvJ!We>YTp7wfL z6)%9P?!+8@evHr#>xX8M7>-V&wo~Ke((XSh&Rd{2t4lr+0g75!SJlH zinyi@%w>WEu6&SRcBpKO$6-*0C-+^{k1QT1{avKEH3)h1`|(!aZC% z0;Dqr96yebrWjCth1r1!Q^RP)%u%?Ng}4v2%(3SCHxQ0+?`B!| zJ`haMBw<1{cI+Z#I*pJJr;0B;4kvM>(k=0Nu43l&Iw)5J8vXPk5DZZ4w6og2yv))P z4A3;ki6J_Y31Z2~X9GAkyvPx^r45d{P46#9cno#s$eA)eUmrxBV37&D8h43EJ>G;0 zutRuB6xuF}{#d*NM0%zl43MoRQV?@`dx|>aTuPRkXn_;iTD^*j$|Dit`4Nd-)c@5>bTYIk+3q+NG66KT|V#k z__DLZ#sT6AkU|d>V?8yuCq!4z?mtv|GCLe~>%shZ?`ItO^xV#4vQ`u$XJ}%=b)~^i zJA@MD&s9&`onAuTGFU3%A=A^ZV)fV06;1v_4KqNAw6hWo9)@h8)JJLrffo+~PH63m z`Ht}yN77t1g}`>UjRgcH!+9U*-i`9`3XfaE2rb;XUV0pn^FGkrqyy1aKo`JruqMf% zt>OmsaH~kItzzoB8Be`FB$A=Yyu(-i$ zJNJGLpZiXkl>yp^B)BOA%EU1^7$8;|Z3h{k#FzE~+KhJTuk!9(oRQD-1c5dkwmQ)v zHjhU8Nb4ukY<{aNtojqsM|eH)kz+hZzDMG2KU^sp-kGci-Of!yo*h96NTjtib3r2B^pG&?L`m$N>2es_&N# z(LMcSH84J^Jx`+~M0Ubc$&l32My1mHbr>L17{GwS)B?rGjXcB(grM$GE*T(cDB7Yi zK;E(T4v;%QjREow5QJEab;oxa?o{D}!6PxojaFhJ%TEshSp2k*=LEHB(E zfAW)mR(|rMH_G>q^B&m?!vFz$nIFm4^=wtojGP?Qc+P3C%Y_6aP`&P;BBxVjMVw_--t3lD=;d{ ztotg^ARZxw5t;xI_84$IA1>Xuk9$4`%Jlw&?D(+LGc%v>_r#I5-0=y<#|Do zFNgK8auIj0eZ+$xcdl3P)I^g(bzp!1Dj-^V48BAIX3H5Nm`C` zz8I+FBc6|m)Ue%g*-A6gg@AAq>G`ZcJVppaJ#WwU55T33SRL{x(gur4%NxDe0b1+L zmwl(cRc4R9RHlxehB*Qc*Bzh@c8OAQX3nqq41&0kH0wMtg8T~t0mfh|+dfU3N2AW^ zrH}oDg=?O`5O+uvyKt$rSC7E!>(cfDYbXDJ80`Q2*MDCw-hNQ-dp4fq?%o}0I7fj6 zGWOcnK@>72k)9X_x5P!v+?ewtVN`QhPj?q<5X!>t&#@y%%eP;DtsFjlh(%M!2VayE zX00;(ac_=MRjb<)O+8$tH`5vnkhrPhw4@_y(5@zEHmQJH9Zy4fZ3>rG6R^(Og5p9q zw-ysvMIK_)C{Fn1&1=K^XSul>NPT?>wH<-`!Xt1zgz65E?*I+$07Z)lBh#&wAcM#^ z3PbytqqG@xo`hHkUjeQ(A7aLdg@ordcYu~2mVf@^-{J_|Yvs4k?koF{R5@AO(ONxi ziup%KeLZCgkqWKj`9;>GNKi6)m9ybU5&|&m4>=0==_lpRd+(Ra@BFG9nV&0j0B&Uo zQP~`?SVN@h7%N)iNVbVbG$rCi>Wrw^rU&@ZJhe0Jro;}8$5J->+n)XV%RCIv{NW>IV&DEUhG^@tNshodXkwSA=^Sel&i$RAdi0I_yPdIL zimqdYgveX`{7Ta9>Mrs6s5d=0vz)|ALszkQZ+FaCP8;D1)ZM9J-^ubeQ4kl>NORoWM?gfFbWA)dt zuE;~gPS754F}#7fi#VIxNPm7I5X76+qv31YcW21zQ@sKsFjO;y_i9$zg`DtI2aB7F z&};TlukboY|LVgp%76apugd%9ua-MY(1S>Pm4R1~hw-MSA<`$^k#t81clzVxl!7{7 zqU@XEiOL`uCj>8065VB#g0>;>QTBDFCy>wlPT4NHib%NrsG&00AJ)Fz|Ad{mNc8c zK|{wZdtylIpNmb2E2PUN=Vr@|+Yig<7q6Cg-a`yFyFp9K#9^lx!19@9((BtYKxR%j zbCHhobFszak8A9%O(ObwmU~vqFh1S`5(E9{^;gP|-*~C~;Ty-xe*C)(P|$s*xk<@} z?Bus8=o7U*5eCQ-#dx4q+y!#YPzDI}8fU{5sk*VaP*y(wyxjfhgL37ax62-2k5qV8 z|2S4bxOEty4ekNO-FMo=X7Tb`h(x!298@+$_5mCotsWbor2RZFK-pchLnXMJ933wF z(KPPUXuL6TJ|)CJ>B}o zZ4E-9t1|kgM7jY+<`D#*S_pLe@{{kwZ9GckxQgm7kT^Z=11;SxD;#ZJxPGBLym^WH zKsS(@eLonWDR6lYCTN2B!13nd$r=bJ7$Ari1)bzKVt{trwIo2cXMmCk3Os2TNRU!5OB@)Pn z&-MBN17tV_8iWXJaL$nh2k!NZbNddN?UcarSs)fE2z01KVSVXNF^kE4;C^&XGtrJ>GilT=~5> zUMm0cdnd~Q8K9_1{ya8K-iiB77@rseWC!t&E*hV#khesTQxoR{-33~`c(L63?2~fi z!}rP<$Kob%o9WSjGCzb{<1(!blscP#LyR>T%}5b1^h_j?WH3MJXZrfvwkq{z z4)!RJmdLBQ8Y<(2mOnKg{aSp(r0T|OZt8;&!{%<7k$D7xryBw>uxb&zJ-S=!o!q-& zwwl|xQIFy0SoEy7_?-QP4IW8dyML=Jv-|Vl+WE3@>q-bknBw^Z?*mP;6Xd?`I7CV8 z05t~4*6d^%ifL36DmSJ`_W)7A4 z6R(s5ue^Z(I3#Yu1aZ`Y&m(YzWdaBWNXAs~f3@!NqBqa8TmKkxG0L;?EA`!6x)rl) z#5e^PNL#36NH!e5&iRaMg&|14`5EGa&##of{^iHzXYYMnuH9RR=PqJVRmO?0htL9< zoM4Jzr1}hyv6m$?r@5(OVV?3; zTb}_6Dao4{pm>LoM8>?5pb&({0P!I0UD_abfZPd|%2KuV?BLL9 zFg~OurpQaQnER?$Ix4Q&{*kKbEvR;5#?YkSxRV$KYcZmI43X(zNOQz$Zt36BZn_~` z`kGaSR5d+qqu&t(o&^XviQA+7+GMu5+&LCDyMC#ioF5TdY`C-#>4<1d%PuY8Ahf!MJ}5P}Sl>G`eE&~2XG zG4qkf^9z9(;QoYxzA>0Pt4qJ`;S)h6nAr(7Y#YCf=Madri2?fL(#`VocfTlq{)@M{ z2XsFqzveEEQR#uP5CWwL4)AD|G>Avyq#*)VSTggdpM5+8cT^%uccmbTn`UMv%Sn#D zo%`0ga`?z$goJPmlwAoKBbF;?ej|>BejU#o%cJMC{CO-OZr)=GfX>3d~ zK=E~Ah;&1#n`X6!L3?vhk5nQ+OQGrAPzGrB2t4{3LEx!|K^2Gcbi z=LhgjT!41ujToRuwTMuUdDXd9thR*#3LGCkgkwb(CTE#%X>7jC9X(r)a0G7RAYy@8 zunGo9Le-hVIe|ZMbR$k4d)|Cx=|=&cUI;iS9hFtZ{AoYRvD%!~1CxXY^qA5fBP`+Q zdvVW~1?r^u9OJQcS$iCj6?!33%9P{SJz-^lf^H!FV1P^u zvwgCCQ3m@z1XRo0MPB1dYwp{>r<^)*qP+6T%jMuf-Wr4fSYCnws`y0-a9Lz&lw35h zPAaQaJ)1>`iU%{4(utG#h|tE^Ug6!+H9#wCn0JU;bI9~MsJyW{nPP_8jsdd8@@*r= zw6vW0vI8{1-Rv6(p!kA2KyR}Hbnm_l5Ij~eKrDnCZaW4@h_t?dF0PO>i*~klv`YwM z!RS4pH5s6gthZ8LIe8cc=ydsazyEqUGCQ?}0cv7rvPLRj+Ryi(l;hkTU`>Nb^W|Is3MR>cp%P)ah3(nhXhHIuU~r^_q3wZ0 z$wDukjqBmw zc7dQfVm!x4c9BF|Onga@j0I!W>d`67$k>NKJJ-K01Jo9Z0BssfWllr96r zSY}Me;xvSf64P>lBN?E}w;q=FzqnEU-@o~J`S{X}vIvlyKnK7$7Md z%|SC`4p>EAGC;tWh3ScznR4yc{a}FJc~1st@hdSv(s;oH0sqE;DhR>slme%D9ia#t z9E&@1bYJ=1*G`uI`48VLN9Lvw$1+g%70cOF>j%FnobzNDAS#tRH$X#()Xr-BUs)EA`0n^HO}3Y z2K!-y-XrwK1}X^;2Eii||Ek^zp067Fk?|ZtF<6BYfON;lNzQ@Pn4T2?8xNK;$Q4$u z_{tv4jtr0Q_sk)_dS*W#LJbsQJWgXTsbe9<2| zrMB(5?bqymHzNcKuH+>LmWEw%>X@!8jxb@_&xs|t$ zg|K$b&3_xcCD-xlr%V#2688F&lPn&6I54*@qaK~t{1 z)ZP0yCQTaN`t-p~7f13viB85N;}!^P&j9(%MC=XGI1+S5W3~k+uW|=yX>6u&%eG7( zI8pW^2w~>LIfNqc9uV$IfMXR4oDMrZ!T~GX!EV*M3v$XeebUvCWPajG1Ce8g2infw zCvlzbb>R|s`(-d$HJ)Lbl9+bq!{cqIPo5~J&YnU)S@zCPM?Ve*2xdq0Gljqf1sTWy zDY!v8DT>_^!)EcLGMgBntfUofkkQ;xSclU}KWY@is}r(s+>sd~p)7~Fwp7*A91Kw8 zr|*CPawpDXZLtHSe`A1d-a`u9mGbWUA8pS7S*N-Sl&xkRO(643ni!aqw(aXNICt(m z0%th!h3~~}zyPh`cH+Qn`JGo!mjC5n{h%DB9iD#%NMHd#iQi}>J1DS|qxUX}K%GFG zn@8akq3RKd+n>Bw?tk$~S-5(stlzo;6Li1K14tPlIm%Veb^4go3XL$~MLFAo25#K1 zIXz0fm<*7EI6pgZ9!CW7z%qAyL{2a*432T`_KYDaahz@G**ymknYgF)_@;QYbP~yK zzUQNVNO+NvGF=-skb{UUD4TTCoffv?b6Ca@+R{XZ@>4Z)*rV_0+Baw+&?bAj=I@YK zO?AicmTNmDiW;dA1fC@b*ps{8=CZeurF+-BIb6rS&ESX}_+i*bGR-cYA6LvZIDgEY z{nh&{Y~2mf*tgGr$ooL&c?$k+8C!YC(dWg&>jvQeJi8x9WQphERuTs}{zhZ4(-zwp zy9|(RAB&0{LvpQGa}cC~m$9(}wAw!cH_P3hBW3RJnX-pnpsD@GK-&mM;2j_)0n9FD zfg5QLKifLy+HJ}(a(dn%K!b}%)S9Y;y^;CNSv}A|M5+BPJnP6si~A==bejc+#4&#R z;aWL=bD{j7FhK8oezDv~>R?7=r-!5XvOTdQ5S>rvCy&zG5u;yj!vJMT%x_R|@1eYM z?rb>)6Lj?0k&sMg3X5FMk6jXJOTt)LcZ3wTts3xBwI1oJ4S-QM@?5)huY3XX`3?-w{Riv- zL57bb$Vx^@)n|Id=i-w1%pgi1^kf1G+=BBs^rH*w?)sQ#(Ag}&$N;$ubYyb@9E9* zQux$dN^|q9Zj%+yH0v;NKtvmpX1pI{KK|MK`d0=>-MKj3hM{k$?x*iCA|SC)go-q( zbsKFsUJVeAEsd>_Hv5doudOf|xjgL##5Ij+6J^0a_mCs4`C$Od<~Z zz{{_f*~2Hn@q1`9ckcPz%?DXa*r;TFY}=7~5g=fr^VPPG8b{+N8N3++c8i=|K?>2| zT8Qj04PVIocvr+nQSbBS%$55q<^TBezb*fWDC}Dgxhq0I$GqaNB|r0xL1_whg!$qq zSM+7*4RSyel|4qs7+G3gbf1$Vv9QkKx^8*j zC~@cTZfEQGNoBU$4F-gH8n42wAE3geV{gWQ*$xA0EB%rUA>A6LC{C@f@QBa6fCT}f zl$r^hF(@1Gb75N8Q{lMIaP{Wh5P}dpKo6G6@+vqN+U{`}Ab0Cy*#$(Ag0#Rq+}V#! z339i`gcxqz4or`gADuf^{)Yc2# zj?$Egsmu@0F1qQ)>6$Y_{-(QWv_!k+Zpdb)gAJ9axsUV_1fEt1v_9?VP-$-?Lc8WK zvm0iUYQv@Lj9Uyxl5!|_$70LTX>pAEK4oKpV-P%cef>OwZZ7af5XW8aUN5U0cjiV) z;eG2MRGjoAfcgxOczvj>-2#lv4FUrO$O#dG0;XqM1}G+49z*5eNeDuinCC&%J!Kt% zHOId7-7=3rgz>opBny6~Wjw;%aJR%D%`s|?2K47%cN9CwI~BD9&;uG~>G(vy2&@7V z;E|_L_7@$A5IaCj+QF!>yTh7mSzxT+TwE>x`=9?q`Nc=)5rvKTeDB|&yptpIBa>qy zGCzL$2i|dkRX>zPYrF(s=h7*w3X>;DXV8GzA6Lc@jel?cL3L@-$rAAZd3;7 z1CGFLVSti(i5pwAMYg;!H?09IWKKhBaGwFO|1Q?);M=}7ta zfAZsUa(=4JQm&Br8R=zx8xy4M8E1fOwEW_|p6JW)+*X!<@0!GMWASzn%`2ejg)-)f z;oX~M`4T%ppM6@EE+G~hDRC2Qq4fZm6YeVCGHIB)O%WXyU?;bW!y{Ce0WytYWs1Wp z7`09#4f_t;c3XzwSd@Zn8(+}Mw6!DymkiVFO*hqHv*G-lD24EfjEl$I;PiXk-` zo4Y-}#O%90lQKRt2sH>1)*uXbdlZDg;2Cpe(D;1GP&q8R`GI&~eEjsu&fJBF467>< zt`SqNsKj7$Z7DT90ue4$1|}})5x}A7*Hy-AaX0IR%aSyR=n@6cu#IY|HQgXByl&f> zw@K!aPA#470=8Og=cn7F{CA4?n{@w@`gXmx%m`nlu8$k1TY%lb=yB8EO`2aPjOF*+ zJTgqvvTiQ#c5a64sGUIKc&yPI=54tf+Yvs-U7xWHCPQ|D*6+de+(sw@jL<{GVlTo3 zO(+ln+&{@mZIqcbgOFg1`xhBF*fs7-wSe0cy5Wy*IuX3Z>3Tdn=C-gUei!G;04Z2V z9IWh4D3RjRGWv;E-zvTHvNHY}%KEEU)iFxzQ$k!^r@xvxx1Y z_BD2ZKI0D1dme$~G1}!g0@rqc%*}bE;t4)i2 z$zTc>kHGEet(EVe9WX%ioB)sk>hAP62FTna3v~Z~-3nN?9`;qU7El6^$^#rvM7XjP zTZ?ckZpFpX3E_i^Yxk@cdO@}3nvm7Are^Sf8O~9P ze#(JR=y*a7K0BiI%im8%t{;CscYc;x)mvsKXPl#MGl;F;i!g)P0|(1Af(^#^)pvX1 z@~cPNvST}F+&=9yKez|SPrgE5)z1!dn|PDO(KpMTx?wFZACa=WBp>Zz*cK|yLkYL; zXnpXu-Lmy-*c#W|n%ZiPn4OZhkWFtj87^~VW<3NmqF;z~y^4+rU)GNH8Ygxjh;>>a!aW$C|L~V@m!H4? zMLB={Rxm))1QReWu^UX9io}qi(uzW1CVnuD z)XA$>8=m5U0rCi32tj!7!}8$aN?eI>!8?w?nP0@0a5s{>_u5 z9-(TiM}&H`_Y-7*5_mZ|C9niufR)l_W9kAUgX?puJDlFr<@jU7MyA zQ#O2qn!7wCPI+58OYqhwd!(nI` z#-om7w`Q~p+Ut0^^H5gLE@^ zjfC^SGzjy}nJiuVS}vAgyHafD*5d4-N9Fy=u@uS1cxWx!(riS4xDULhR5&Gl-nmxp zT>h-w<&o4?jytm#QRaK#3~;`9zwrEl1W+8UkN~%3z?;!Dk#tLcyOCS{C|(d@!oj|P zo;Vpj>{-?zETZhjYw7M#@2Au`nMC`bU#%-+$z$aSp-wvyMtH7)*Eb+^mewcA!dkB! zJaw+@IeD&3qmPaAl)<>C^QQ^tbLGwfnR?6RDFwx-SWg-PZLG)87>ti_?&Q_?VQeMt z-5i3zh{28_R*56`iSBa=`9J;Lhvlble^TE5_*3q5Lx-?)V=tCaT9B4F5{v0}dsGK};yqr6Gy6j^oNE{ywndNjO5V6f&y65h* zx$`Hz<9r`gX*F#6pz@8e38sNG0%P$Onu5LjOdwoIZ=Ky$_PepWpq$iQyxYZYlnei{ z2m~$YC^g%R$7vg2k#wpfI%X<-Elc~ViAd(3IF4~IAsF?nIFvH1*$%*YoX21hV6TBenyFpZrRaV&@bK{FC7cG;){ZRK1YA@B#|l-ExjDF4&H z`0et_k@<3HMjDqt%MI*ep~Z|a_tl_^{ZeG9j2YSXgKE%C)%3JI{_hiHfMj)47RkoT z2F#|Z{VROjJs^}!ja!j)qVfyFiFgy~s`wOi)>Rz&;Y&mu{a0L26g-0IcQ| zgQD+F7&~~_2^$SXvrr^EnFhr(24MM#vKhWQ$N;%r8l}ZeXFVgm2t*1dgGX@N;VnTI zAtP**haXoVWWH+f=q#K_WpGpmh&p9hyA2-`^ag~0a7!d&xh3qp6lizX%#fk;Cb2*{ zSuvS_>6t`K^(4DJy?G`zkGJhRjI^JlJXY%6o>^oWxYCz{Q5Zy>EHd@A9$6_%s?uKd zG+5njR6>-*s$YxWf~LLs4!btnCVg|@&GwcBdU~~AJv6rn19K-z$G?+r1Z|;o#~l65 z;2pDY>ZfnGfo+g$nj%U2P3=2uWCCL0rH|?4piZ;t;1*H!Yw5OdsfR~+x47XFKapR= z%f7lb#2~Du$O_%^49s2kVRI{IOE*i|NvI|o!ytYfS=qlGQ~lI3z+k*Y?v$Wk2vQDn z);V_wOdQoRRX3eT3ypS(Nim{kJQHb2MqHy*m?u^m#2+M_d9-*W|Rz2!a;axs`U&@g+pztv=PFw$NaFwn?DOowflGnXdVV==FDrHfJ5L7Owa~9 zL2D9hG1tUQl=E}V?U@14sG#2n1ngz1!3a!ybU*RJW>ptSnzO9IeRgC1+b=&WfAg!4 z%HO^7emt%|&f>?a1hhK~&|DJLLHtVx8CeDhloEGGa9D?444R9AIEx{Ec^Wo?A#h_qZ;HbEXAV_ixx z=Ry~sWb_h-;yZHlk`?sdOu2CRcKP^o7@&7QL;@TzcZ73F$b77MrrcnF!#1i;x6w`( zF=F8;jpK2|Y#V7_r0sDO`n6;G%fI`{57GA`3Y(p%TJCY$H6(&Y9xeCkS(9}p(I>yG zdzLZFx}7YG$8QK#2hXCR?3Xl*scqPD8j@K4IkZ? zPJnLXQBvB3xO5BBn}Vr`u8dm{ur*E1*(8}AmKcbxLg?ozLvE=m#@q7o2&jcd*+JYY zT=m@SI4gD&^?WMvOcw7L>~?l{d*Wm3G9-1-Q6DZYhaiJ>M3?$*kC)u+z>~9c@kr_3 zgB))=c(_dRjqm4tH^&|}e1CTuiEgd})N({&o|T^gxEt63IED9Xsv_W=@Ha=$o@zLn z?ky3_gJ3OqM{nUeQNnj?Bwd=T{U;<{MY|)}5JE5ef}|Ng>K=WJ zIJie?;%BG^k#8GkQM^q*tz4U&Ywnv}zua#2wFrZNW>AM;o(0biJptzz(s&|dR0@-U zHHTxhH?w*t^^S26q93vEBrF4N#$^mQHJIEC;WU(ar#=YPOfBW6>z-x{GAPWzRwvMI zgqGMKcyoEibSq`AstwyMebjBc3f4H_x%K6Rcn|14$KdW=`=S(ffhJdc>R=hnv=rj8 zv%`}xxJ+Upi44bq?PV(^A&{VNt(Ps4xl4$cr}#H@*&T)DWXq|CORTpB!tS&qp3jVG z4A59~^alG@PpT31ukF=pCEjN~W6>7|Xrt^oe4@M_q<=f|j0s7h7?{X^3(@$kho=A28gn)G5@S{^i=xGT_7kyK4?SfOYmZ^GEK559$|Gj%lI`0NW7OsErp7@ z2DKa|%(1UCr2#m(w8P*I0usA$Y_8IXEPjju>x)+g4A3%{^1Vmc7@!>Kj|M=}zl4r< zLZ{4e7mTQVKiu?}0ebb=zVbi70DT(<=ok!8v@Y$5FlgEo-7Eu7W1-Z6zclhSEQYH- z;h1xIcxT*jO?w3Sia$?~0kYUl(GURH#;^kVWJLxQ@EVL#BR1BMAS4rnzOnp(ouF%o z#lBc>fAL9qa05v~_wU3z5}qHQWB>&4Fh|D~fOISeM>~F&$I6l!3C1IUOaW{hK0$A% z3kC>1lCX6A%f!e8X|YkAQ`FJIUrl9vQ!=?Y4;hXO=HR4qN65S~zm^8+*ilK;-2l0D zJ4<#bd3m}s8F?OijSL(}iW!j4U%~EWHg|cv(=&wt1K;bJ;AmTKo(D`3WFV*Sdp^jw zCQWqDcze&Mzw=`uvn**E{I+rqT%Hn>fDhnz$|K-aO;1}5)&dVl91f~qx@5}^hpovG zVmMZFw~g}!WcpaNv7M22AO{C-#+7X&5;I~MG>O_Ir4K+AY3De6>GNCyQR$_f~bWFKy;vL zn>glF(LMpsv=34mn6eFXEccU%48#Eqz8T+NWA^i|&T02IQw!&Q8Efc4mKm!h()60v zv!z+7hPgLau+^kn!5Sux!MP~3QdS?_EQ_};m%A6a<9YKEcZ05%y_0KYX55{9!a&4C zr{%1=1V((eOW<7F#~w-^kxk}hE@`q1;%HsOr>Setk(hRST;NvIiq12LZ3@qd8fJj9 z)QJICn*YdkyYOZOY3Fs;IT4){AJz)dcBO#^C0TfK0q=XZw5(#nV#fU zBe|YUNVUq3^rry=!2of5?QcK0%n`Vc%isL+ZD?9O}wo`3zl+3$4&Z~zGA1G(fo-HrGe5TAQ>`5jmaKi3tzkAxJ;v>gYC>L5>j&|YS zT4oKh_>7=ymn2r1+ zZDN{6b8QR|S0XN4xm7;?EO&r>md4#)=|brie)t|k1rDv@E1bpGq3{!)lQKX@_m=kZutF7z02Q z3*E-3zJ0XZ3LPB+258J(5hhE|k8gO1_Tjynd?|XEEwn+BCu4?Y~%S^oK89PG{;zSE}69^{P*N*jROsqpvM7OQ#_A?TW5)3lv zSFhoH{Tmq*CFDoDebONoJDTYHr@iVvbgR@I-ThQyCgQ+NgqnW-c8W1@+}4zE42FhC z)}3kv1DH%8Zo2E%_tQT=v{35p+YVa##mbgt)DnfwydzJY$)u%$HI(*LM67Yb9(BzM z$Ig_FWb8x09yREYijk(?-LzY}sb{`@;2JoS9_THB?R4FqDP`q0f87c+=ycr(4-RA* zCq4xttlqm(?p^$(+`IC5d3fU@5`w_vNC}$hF%cv1#>Fee?%T?n86X=gT0gSdAwSyN zn9={58G9>xGP<<21I$4Emd5xDsV`@M5(Zi4+N%Rxbav(s8KC=!BA(udh+xEE?|e(mcTc z!ThYl1UX`Jo^x*LWBXtll5T=Rit!8H;3%0VYCK(V?D*00(z%z)%j^Kf9hV4Yan9;mhod0jX}@FF>vrt+vOGywFS7Co%@6#5U6RjBlEjq zfTF(E*>uU35-^^j{dyb+gg!if`DXd(vy0{3cRxzu2rxgs6PcrYJG^TBc2Lm<)vv<2 z(Ubv8{3q8J$}30rlz;mN-!I=eb+DY=$KpIua?^uiVaX~BGxP5QEUeKFY8Hvj26)?a zT8Rg)HSkx^o(uydAhM)cIyuW)%2t`?-O9M(nNAoMA4iSLv-JY)#+s6Z*xqF4XMr7{ zdmM$k#g5P#_8FL^DYgxJ#Iv#OB$2Up%3w#xbws@-_UsOt`87OdWAx2YM$^#|KZwY- zt(Pu?-V(oEKo$ibyF@{NnS zgjZOB_jWwqrtU7!%)vv5ujaS{_Hpj{jO&Nw6B4E_mB|t2pa6#=T@W)w1%od^6Sa=Y zMA=$}!zF*7%42eaVs}dV7{<*~qH5Gk)|T=QhLu12Q8F>vPcrDhJTT!SF%@U>4W*fX zJ9xLewNHh2HhV_v1T%Q|izIMRmyGn2>9Kz()g?aqo9{Z&b>a(u!Ypyobk)_JmL`2t z6&Dqo*?t<1=+!L(J@SWGjHk(1SP-ED4Hp{d+mlRSy`GB>+UbGn)K})mw_m30o+x`~ zFh}TuMtcJh#=cvI!(KhrcKoQUe#S{fIjv*VE$bf;)~H(qX0d^BwjBesQ$CS)ORnZL z)Ye@;6H#r})Abqq4Zu<6rf)5NRy`~0^qV{J;C3$O7er&PBk6M)=I8c>kIU`LpOzWi z<|ft(&qI{8#RtIvDN#sFEm7bg39OA#rln$V;MoAWsSLHPGo-kepsoF#15DS?f<_uU zq_Zj6r_GuSkaZiBKaH&g`Xiq}t@Mlx86b|mJmC5F9`FCm9X?$Sa0jS|KE8)tAdkSo z0C{Z3c#hl6W3#0;(nk<@TnIRaEig&Fec?_pK>zipe@9=-1>bzEvoSy}QY5BH8YO3o z4dyh*bBtp8rVHI`?*1^UXL#@D)Txu@<#R8WvmAq4=Zb`cRgVANl{DzOT?NfDbjL>2 z1DxVGlZ)=H$>9mv00E^d5JBR;61!axCrmO^kHl(OY|1&LRBZPk;Y=<;^pP%jpAL z#V|LjD#;GH5PC(*S#mwB1Yg5s*uvaAs&@;fcbLQQ6@Ta}F*SU}=tiU9{P#bdViwYX zGo{wMTPfYw+0l^!l1Q@gy$e)ee)u5*L@7+rD!W0;cWyCxvU+&+Vp&F{>LlF1q67tA z5?he1>}8+1&W6PXs{v67)gqzNUs?eVQ1j<><^$o$Cc^wbq(;F(S( zsBq3TwvNdwR}y0FgIto@n{LuFTc^Nj5ZbmV1M#x^$BBN_e>LY_j1E2L>Z#Ts|VL5;l(ilH)3~NlYO2OUhu8?3lKFGlx@i zue#c9ls&n}4y-$?TdTJuZB(-nWJg?YWm3-)%$S-m<(o#9&7j-$KEUJ z?w+dV$Oj$ozF9ZZ4_#RM0lx@KT`gw}NWz6<*tG}+LJ@g`Ol5$aoFm>gy2179E2FE1 z9Cc_OnwuifmT=AQS<|gw`?i)nYi|pwqQ?_lA_RQSDIfp>=h+5s+Yu95&rJ!0dK?*2v)$Hh<@5&RkY zq5M&$LET#o(OwF;fA*I@mA(7+lv7B4JA3AIIdS3`f+aap>%w{t6jFM$+AZDFn6L@* zw=B|b-kWnV&5@ToH+iq8ha}9r>*HRG^>AStp$`Z~P%M4k6UzC=#4K-MJ&)9JoKE&I zSi~SknF;%}M#9AK`BkRN?17Qx&`0J<1_*I`!2o@J@j499h4S8e>;QpZedPX|Vt_1z z4A9Gm=gOb__&epzmyVXRhoEP1mjQC7h`Buq>rX(_3ZxNhc;TZiR;SkeUkufzDa~p6 zYQJBf0kV{;uAb#h=S>yr2ZI5!dP++R?%5-7bZh}3ab-tWO56sW`aaChgNvVYEbh}X z&T+UgnIpLUIPymN-V2feifNd1<5(Pe0NsM|PY{%bEP)+A-TcLj7Cz}+&6Rk}m^l#> zFovUrwB&|2GF*M68Iw6-aF;msp|2oPwaa}o2*xMa$w55n1l;)qjLjrR*?O}cb4y8X z6Ns)Ji=CcXwlKZR<4zK_i5(>dTrC3|Ngxu-lS4+`+9dnKZ>{jiTln9k-Yt4F zTQ|RGoaWdHx!E28tLG+j2DNSd6BXxbO{SjhnlWozldFHWX~gZMSG!ZXcgkWo2e0oS zJcKz}#A1&ZpUb%TK=2Cg%Y2^8^^2Vy{V*)@cwDe%*e&52{YZu=m?Aoz{VL3sDHvVL z-9C&e!bf@2mcNGI>e>yl)l51Fi8wjb(x|` z_P{4u26E?UQl^S@T@~`1B^{pt>!JJZmt$K7D#o~Z*Du^P3uL}n0-$br0Uo!$st`~k zz2KgREMqEM(IQQCKS9%Ut=p;yppSuvp_#d5f9VI?Hj!t^(OPBAx}|P)O*d<+3u7r3 zpTOlZK?t!~U%FcsuAT>ne}Y7~D{NQZFH=Z_i-$bv$1(ZGKq7uHKqNz31#Y!9_z#?$ zEu$x2RrF1jeJ}HmsC{$wZjJ_hhLwOA)ZH5ADG1?awGsv{5LoXRg)l(kngx*0+QbY; zrw^5VN6wU)vN`vJLkMrDAASd$;*@(hD(RP^6C1jMnFx+$oHcML8IDRrlS}L^2rSsh*2FmId3&xD1VV=NvcE5a2R!-lPvd!vy7H#SSSL z5>Di-vfH{cK8MbNC7*MUiK$IcP2W=UO|_urz>B7rcZm#ve;xZd&pNsd1Jk7+UrInW zUGlSBGC&j4Jc4?yeDvvg7@&{wgO-%(4EnXjH1#K=TyUL$0eb1sZ26<#d852_?pS&0 z2zS;=KIU%fDP5lE-UheiRz3g_R$bc%1PGCT7$fv{x^7=ZJ$VMGl_J}$kFQ&Wn)kYs zBn>DblarU+eUkHo$&6SMdW*g*aigqUy?~^+TVQt(gPH5jv5LY|l_3|fT(4aY)XdiUFpgHM84py7ihDwG9A~gt9 z!bcu3C6#d*WBYTGRk*3SgNTCUP7h+Lr}nbbqwIQjc{t)0_jww_qb@^bI_NS%es*35 zU=YSpyIf7kT`P_%(aEQR4H|S9QrK2y96?bVY}-)3en+dUYPx1i7z0O(9@R78quVAG zRch6$dbC@FYYB)%G9i14ZJF(CpbFOrA9y%I+SUebNo$SN_-U!eZVi@YzU%il%Dp8R z93n`J$mn?VQ8Az^Z11ene^;wre7{QnjiZr-H$92=I3kHL^ET(!Pcc)`2?!V^&LqM# zQYu3Z6|}l%!p*W9ot%AhBoKX$2}|dA>#IQ8*l;snMVGF6UkXbyF-k{-DWWe=zzAvX zOHQO=6?wmBs>l5h7$nR}&zoecXc~^lqjVt%g_J?-b#Y@@7qR9SwRbwcgaRw^;69Fo+HcEc(A!=%h_8_BNj%aSri{5H%eG+=ZHK(6|dlhQq zF*qmnjkSfchA8Z1n4mjIg>#x(twWg~D`P`CaDZ!T8Kx?gAYvdrp0;%)khZ&mCsYkpY4b zbznp%Zz+xR5d^*-1f)@z`pU)o2ts)G)AE1+=RapRa-}SDf?M{?G7AT*NbOy91rOX6BMkfXvVmZ>Jhu@XH{BfQE@5aP zoRss6j#G=Fk9nvEF%%9qk*m6436tGSWfymn2m+aScB1U2ri#0H#UvtO$Lqsz+LH|M z9y>frX&XZg<(I&MEL22J z%YXsWCt5PbUIz5H!k6HZ6v?JzCjDkMl-V_ZxAbLdc)&Usnq^nG=!47b>L7fn+*#lZ zK4NG^deLr#kKG&+O~g-s$0wu~wzjnJnrqo(%erIFz7f@=B=q4m`UdZPcj5K0)?No^`nv?s!Sa_|Izbmc43Yh8VOIvun*X^IF7WqKZI|)M-*ize(vCK8-Z#} zF>82H(glpEV1Q(TCW0}VX2HR6Ei>fe$ux7%GzO<2mm=In5|`p#%a?W=3+GTVUsZEo zYo6-O+&o+T0!iaZ`3w?m7P?W=%_xpM$Dn#*7hRuSwHX}40LoS$)Q-^L+7NETo~H~@ z+y#1g8{szB%Kb~9ArTwtp7(CT03i*IFy8A-OzMcL=>hW~h_I(y>XA=vkA9xr0)}68 zsG37*xXk^S&z`|SySe_Y7Ii=m7$9K?Jl)-as9Xd`ta@uR;~3n56AT&_ z-hu&Q1XaA#k{szH2z(s~IA_WLUE}BP-utxthyU~!<-x-x1arX5K;w)<1IYlbFjqKL zIAnWV-q#Qe5S?9IE*-Z9gA-RL=>JEL!~F36z~${rSwoh!zq|ANjll}D?@3p)*_ z;rLR0$pDGd$Oam1nH``N#!c=5iT7nU1!#z8vmB@~2htF4oX+pSY?S2k$?Y`aP-5eh#^`+xU2KE%k+Ge@KGs$r_ z@AHh!xYL95Hb3Gd5o?z~MaCLhp^~AB;U9VHPB4oeUn>{TqY|zBSz?3cz%#|JY8|-g ztrIuB8}>J8PH+s!%2uy{lb#h0QO0TyvjMBJZG~BW31{In=!H2Tb1)8?Ai~sepwwt% zkFI&EL0v>G1LIM)CB8)*eP?3F#$61MIEp+AXvS)6*{!hy*L~rie|6+JX@~2Kin!cvaln3bh4p@xES7XAT0W`DC3LEH8tJ>9Pa@^Au>a zKT}R$x>k;H7pQ;kGV>M>XtR(T3pO}LM&PM7izCYs1fClL;zw3)n_FF*dG{BQs9 zAIg)({H#05xn2Jr@4a0!~_c)d%Bu#AFJuavZGD# zHqXS=OqoD>+k|&`W{`LR(c{3D((XYNjmgsrMV{ zg#-XmPe&cz2CFG*R~buhRo73u8oGw%8Qo7iDY%Gu1WTJcSgR1}D@b2kg5X|8uR`c} zq7#Umlw&7`)T`7NNrG&Ys7YpS2>^FMh`(xMVb%o=*hTf08H9;ULl8}}ne9nYGN@)=wzHc3#hg~M zC;^)&&PbUuPFqO|ACk?S%_xiTm*`0m8fiCrVlxOaa!3-W3#BH_SHS3k!s2G#b}x7h zTTS~x=y>7){L4wtHhl5hYYV}~{N&Ef^5E+mOq9!I0(OzGu-2XYxx(s%- zRqos{2mMvdjiz9yW4T_kG4gj8Z(**@96iW^s@{x@J7Dd5jW3O4d_AgT&cH`RvAR?f~5= zzx&;1tUI}P{(=dhyrw~I#M{ivyh{w_ZE@Gy!B)17BH3YmU|$ za7h=w!biva(?vM=6V`A2^TG(ArV3G@TDGBCeXD7(S_?y=gZRl9`gB$H5f?*FrVc5V z9}!5Cj>FODHYY&7E3pdUvyR=nL2IzcZDDt3dE2cp7F6+QDg=}brHWmHC<5Jz260gn z$e#|FJMj=c5-_k3_HcJ&_VxHUm2*Pfg4ei1?R2cjS0PW}+%oJbu5;dWC-Wf5T`y6Kc4zb;HcC&=poD`h$M=1b5k)`=ZMFiBc~4? zA}F)ZI^jN2x2E8^c&1FvDNsG}iMvFUqxLHT#2@Ftl-c&DV6ULEm8z=t1{Bq~HLJg7 z?UJz=si#1}1_zGbD1Ir^t(?02@A(i0}tw~pcOaY`mkKD!6Lhc6w;M#HVRH%D6{9U zl-bMI;Z8WgDbNgYov)bVf&jAL?haRTIZ{UuI0ytP0klY8eDBj6<$wRr|8IHlc%FMe zu(QP?T~;j??97!6cXW<-S*fy+;1+^@exPY^!fs~+o4?*qBX zgCK0mOGR0?Zn6&D?>Mq%be-ub5t{X(vtBIZnsFFqC2EXu>lw2S`A`pG5GO$4 zN;ybJ;zvn!AAj~``NNlAm78DPAq=tI=y;AX9$82Btu1hI91>V6;3L~2mpsdB#|Gtp z`r(!Gw?DX6zJK+Cn1vZJYtwfc#a`iPePYhH9r^dG=8&c}kJ{rykm_k7-%`C00;m?a znqAbHWwf#Ibq3Rn4xrCYo!;F#8DpfLEFf>Ae#mO#9XUA8s}n`NXI_&hCGw7&82!v+?qLgSOsip*F;&4bljt%qJ9QSW%#HUX2k8d zH=t--4rW9jIatvBL)F4qLF`e_CPvquh0efx=H1je@kLE5iJxF+rEOy8D|XdzXPn1L z5fe-U`6PxAvM@b0S!QRZ%k1nVmt=dqKZBGxV$YB{heUZX6T8rlVMB*#4tRz`7r(57 zEP~eND{=|33eSk z9<0dGVv*I3LJeEXqS%kZg^%wx0n`AE`sRW#!Q%TtF?tj(ffP7*tXCm~wmJ2gICZ|9 zedC=ne&Spin?6niPJw~|Vm<@MWeN?9kBlP-JO>2Cn6i#9G5+5F?5pzc{>#tHy$6q& zTM?4NU7r=kv?Rp<4jMOwnt?4NY8X+DF5)|-<2;o1$y{osVuRMaZ_aA-Sb0?adEFIh@HkBZXj!67;wbh zt1H_`{X9Q2R{r*T7t8(yE^y_gUQqS)t3{>4J20h2q& z^nN@UG!j8U3}II)2pug41`X2?M)7T@Q<I@Z$Ob*Wl?Ijnb<4! zYX?wUSy8BM+BjioXPO6ELZ^X{)Ma|%M{fgQ5hdU~1e*&q-LtopvOv-bD2UUZHN{VF zK>VzQ=>vixo|?oYSeudrPjft^DWVZ+W5%fuWy#Z@%s<+b%)nBt)ltUH7hiuPi%J+aQS&8#t0# z;*uOiF7JXsW|Hxw*G&-pWtWpze4Gi>Npk|J2?|(H%=QV{<`Akd?I{tLi6$AtZedh% z#d6x4#4&c1`W+JR0{cq-Sm~y;nzXSSG10$h#{s<7hnZl==}%HMHH@H$V8pt@3~V*I$-9 z_a3mJi1c1Ij};Q6a3I;TWW7uRh&~<@w0N9(9%Qh^#gCtU>u+2|3fvjo z5F1TLH(VeM#`thlJiEXLCxA$ca`a+{$ALyJ{5xfPdgaD~f(POO(xw2;ALE1{X9H*g z(a@9Vsm;ZZ634xbxW2JYog@IaIH4Vzs%}DjTeJ&<0@l{oW)6SbL_#RF z{y>O-gBUZ3&9s|}$G^}tA#yt2-l1V1!WTcU00Y*~s}evV#9)n`W+b^uFq=L*JXJh- zJfKM$LG(0vS4n(ko&*q?p)5zV8~IeT^$1J;=-1kalwomcJnA|-60AW34ow)sZ4t=F zB)h|?2Hnd%DDuzvQL155HUFVY+M4q3bZ)9L>f8w%$ytxl5balupW{3rjUPl1b+!it z0tJcYBgm%G_z^L9q#38)Bbr1XM|9kr1Q5i}%p^h;AdseL;|U2Nh$bb;d1+HNIS-rz zaq}I+iug`3(H1dFTk=NJ&PiZHnlk|zw&^c(&ab-lGsr+x-eCQx@J6h4MppYqo+dlTmN!YHKmKf z`LnZ>S-RS9n$WMHQCp%r#!$QD$*HJ71^wHcoA5#s6V?9Y7NFMzX3P}LDAsb_T z5G=1BNC0sH^mrcO6DyoN0a68Z9cF{>c}{@-=A8@WU;gNwJOQGBF^^hyrcW`8^iI}? zitR%H1%9K323G|f(wY^o_UABP*a?sw-S)ANR<129c71HHAWX8x*a_jTlx9^XP*vAX z5O=sYfMCt1=3(q=uV&j(1Zw2Rq+y2*d$V|{`Rp`zLbpbX8krk9TCNgAeA@$2wa8Jm zaB*l3Ra?GrY7=e))cCDKYcXcRG;`vk8(qg5xed@nzn&ISm_z-w^{a|s^fhY&nZpo(}_m(w1EV4ye9-am*g zBk{wowD%CazZDsPn6ls6tLej}-z}Q)y4^ZhZ=&dW7?|LV86VZH>yBH~ty;uq5;cCt z3ztZ2o9(7;Fbluob&#KfBmXEoN!A{Wb)RgSQaxRS9dT-^2GmO}(W)8=sv8dB)%Y7G za7r69`-;7yvczhJ9k&px4?Y+$9nV7HOtHD9;Dl**9;dmxr#XYtugN^zITi_ z>E=$KFVhz;mq|~7kWR{@bf7p0A;Jc(iRHVc1GKinRP$2pl_gAER%LH6N3-|Mi-d1V2gU}wH~{#^ONyYIx^p8+TM)0_y& z^|KDQkF1~h*BvAKm;2yzAj5%ihc)be9vLELpZ{E#(drSe>8Cd|?ET6JJ%c47BeCJow;#CF#l+KQj^!^w^h=~GZ!xDj{H%Jy!%5FFA3^-AtRw*h zCRhTgErYD&nUyJ3q>yZl=4aYXq9h!4+=2}fGgag7N3~jr##^h+CxH@;6b@jCRJMLrbyAVe+HJ}x!kf#eNRZf<;@iGf9`RwFG zIfm(@tTS|rDUgDa<9y6b#O=vYkAjW`g>4>Y!w)42`~e~l?t(z*BQ3F?259&ZLh=rv4XIghhIYg-6)H&WgE0@dLZ(oah zo*pGg07)Pj&WE*~)0!dj!Yl2Glv`psPm7maVR#C}9OTSEnI+&f9es-SpMceE!bhLi z=gVOAVd*bD0Qd2XixM(fZw#i7!Iyo!Y)qagYn;BWaZhgxB4`T&$TTC}TB8QB4oCei z1Q2>GT*X@VOHzU(H<7_)ve9ZJL3*Yoo>~nxGoM1ina!W^{LgZDIx-vdbkbs(UwZ?81|lur|G_a$(eb;okK# zwOX8L0Q}>-nnbJqrl7rQzjvx=d;++5ijdLpSS^oQ)wT1P=~=t|RgG?_u6_Slf6Bhr z96$l1q(N*8mrzOgh**Q@A(-F{M2mfuMJcon+V^=NdL(>SAau|xygXZt$5#<-vw1qfUH}Nc*b^G+Id*%Q6eWl&Z-iVy zL`=fMys1C|?(MpH5&}S8Qe`Uv%SN83PLTKA`VbRzl6_&r-R;XB04va~&$& zV%`y{yei4P_8tNff0bJr`M~VKUVjGwq}we~m*o zfN8YpbRr(m`a%exnpd}6)var0ISsWVq^rc;YECdi3YTDk!>qA0t*my_w@fdlw}{bAZ#R2QLcb=7-GaRm zZWX?o438jkDnjKRU%C{QR*$Mq>y=cYQz@v8$tBlOaZ^h%^f8+#zcEDoJh8@Zzz$c&SlGOwt)? zuO?l?B*`}tdiY_yM%P28q38a#gPs6IQ7Bx?VnnhHc%IH6#&XBGQ;&}8o>rsp8f64H z!|0ZyElV556qMb6R8$E)W5nt zpE(y|2ckzY*q&B+CrF995N&rEyfz#Mh2sYjjdCex9lHYm|JY&lbA%Ip8`Oi}= zt4l#7Y|3#mc^u&*XCQ!1l{E;U6&@*G^Mna$!|_atGgBpinvx|}vx2E5fYKfyBOYZ8 z!g9a{@K|}WvQd8h!EfROXc4=!UDP4QHuk`iP2&3)hbDlgw#!ehpDBO$SMQd;di#x* z05V4p05rcl1ki3Bt~2pG?cH^0?9IZd6D^xVZzetsrNGsgHQautjiw%1=tUYCtEN>= zJN2$=hr6HENrJeRp~kI#^;^?0k-na>Lg=J|=g1;10%xoYl{xH{t|7asjox*9#q3dU zegu`k({!k->*J&nJj)=e$Og|&pMQk_k?0XXW$P& zx;-C`LC49W{mVS;FP`+M$;XV_Kf*`~MPX_~R5M+T5Xw-h>b(VJB7WbU05Wt98PP_5 zGOfmcw+^Zob&~}qkn-M1J)Lgb=|;Tv{5W9J#LrS!IP96=9v;ukClbz3j_uB-RHPW= zK6_4#|EJ(fe5>AS;9nm~cBfI@V?rCSa`!EVX(m=#<7N<=aGV{-lZw}d7@FZO(KPKk zPD1s5kZf_L8+TUld*#(gV=&-?xQJ2NG_#FiMIA$lr;XBth@NefVCHb4pie^pZNnC_ z@#t1rx%r#2bpKXaoqre$83~{XbS!?FQy?!pO8`mq1OY@k=B(-t3-gvZsGd>W2v|c$ zlvnmAn?pFOhaJq#4^{fmBJ|rD$~Ln-)WM>|;%i;@BI3JCJahb1nLT^4Oka7c4353V z;SYWgKa5A@z+@pWf0V7AcQQf0JEVh_p>NVij<}eV?rv zPJiakmd)u?Wp!|j2Z~c{b=)@&T*?Uk76g!jogOc*mtVdAQTg(#+i<_o8k`Ib*%K0P zAEf>jRtG%+IxPWo?R5FOpS)Xs^7fk}1P~w#C?1pms%x+)r+BWxb@6RuAGEX(+IPKXk^AI+V+0}Twv<|Q9Cda+&W!}>s0(-+FSUv!3!qMF!MeKq+SuqDu zOqxlUkePNC3PJp6ssnlnRey6JYN0^2F(S;~ZK8Ke_(TV&?P&s;b|jV=G^sspWEwj% zjbKE44g$!iBO3!xXF1|Bn)B$_NWivEqpo{>RS1mw@0Y$IhyFKrn)C4%O>h#P_vda%$j zpOdu2P!L3zyVnnoS4Fk(6R>`WyjsVmf=;AEHnTB{ zolnc+oiEGM!*9we4_A8!Xu{oG2_+Xd5JAvGNdTFW(gIpUg%j_nN&m7}n)U##o^4n$N zH0&y~7irgNw2QqXbp(Ouhkzrs5d*^z2?fhB#HJej(W7%pqV5P12U_hTf+?)pT*ad&= zU0X7hAaM*yXn}ls9B0JI&lY$Kd^XOe&eZy&G6}oe)W(z2_XG%`2V>x{E#~PB;%^M* z$_7NwCa0~NGiS>B)XB1f@Da|8sG01)B;OQl>ktHxYosU}aFDoMf+NAT(J$UZ@Pq^q z8^pan!Ve%ayX@?H*LUdiJOt2Ry?LtqtDpR!{N$ZCUkm|M+p3xtFX}uj=V5Ixh5)ia z=qMLI?ZTodT;tvLH4$;D>NEOXQM=JqX-e5+i`lLE5Z~Fgodr#=tMseit%Y)!LomKX znT!>_SZwH6=;AQSVo}r4G={p9yyfVswoHv<^=`{=j!l^wqkaxk?n4=pQ-hRUQ26K0RlpceRQy($*KbVa_D7P`BiPgQ z%P856`3_a%V(J}TBs`kHjoa`GhZ@Il=3^uRbe;9uPsKRhFF?nyoA$a_FjbetIkCmdsfK9016y5O{tF)Op)GKsW9^F2DNZ ztMbeDKP+F|x*fs~dOZBO4bij8WIx88m_GK9!rDy!K7@Mu)Cq(iTq>7dJ6}#7=dB!A zV`DP~0%*&V6;C_G4fNNSO8_yDf&g+O70k|x3%!Vv(NLXB-JYCjj&X={h*UBpPRoLHF`@H`{`DIg8ctXAHd}snF%0&vK zwZyU7Lj)iE5&|erfLJ5-$ER5nK>&HDq`@5rY28B;K$BbLM{k@e|N37@09_0G?OYhS zx*o#rW?`zt;ZYnM{HjX3P>z|qdQ{UuiT-NvLz^#<0NPQiS}^+z#oA40X{(Q4F?CX> zQS`1)fWYngsIe}nx(KSNj{vm!Xx-A{zJ4r(BNxk+?)A3;btLbiDcvKp$S-TjZ{$tv zSXmh=eTHTeCsOjKrleWx(YRGFe7evuR#(+v)jUw(ZUWWbCQuz-pjp8%LIAdokx_m% z3zJUPHI$~>dp@$ei98oqH_JSyJx^e9o9CowL5Xf4l@(T8pupJ8^dhC=D7T%s*#!yR zEX=I3Y5EhJqINax4oU~2iz!v~kFYgAxpL0ti#i#CvKzdCW5f)!Kbk^K2^jJazY3v+$9myrnf z7~_6fx%F9Dx_zU}KY9?8zwa@5`sQLMc>M`)++5sSI7gv>ChWH^x@k!Ve=UQq=32uU z>u#M(*T=8@|FgLS?NbAnoUF0>wQbVB_WUG2Q`D1hJ>)o|F%!=gNumZYsF{|e3ljPH?e?aPFz~CoSQw~|4|FuMG2sVmGX;UB>|)~ z+`+^&M39p61VW~!?OE#31Q0B6KYE=Lpuhe>`Rnh!xq|?*R$T(f+^J7iv1yI`u$EcM zj;D@QrDy#*wE1EPAdBpFd8npDwP2X~RNrc^-x;UtI@%#S$QVTlVzykYs_j^ zcg>nZHQQ{ufwk8F)$Arx?fd!FFb6ONNrNLYbhj)F&LJ%HFtAgzHVcr8k{U{P?J7;j z=Q6uMvS=*g@MvM9Jb1Fo`vD7O0WsFgJd(I2Uknp@e~Mj=NqE*_?T~0v%1NMxun)Ut zRNEiiHEfC4m5xHtuI`Z9zELqeshqFU2eM;9W?gOlO~M%@RO4oX)+^8_Sk@sPvG8Mw?A!N8(}H2i4|Yr{3l>jD!p!x|O78mafxvny^Dd|HG(m@+0vgA%D8M z2~jf<(!w{ICb79IdTM!jvQ1Mg!L_~o}@6qc z%_gPw#cS{G@~TbUtRjzE>S{)-6Rt4{V_9;U&_v?<)m7HMscRyJPE~Zbw)Q7O2`}&l zE1ke$EQ&Vi*p4di0rg-lk^ov-<6eRwMI`p@sY_+{%DZLy>JRw#Js<=jxJ49s(Z-~a zIpAa*e4El>t15E9Lo<7}K5e<1SWm~R@sG^!5(Ml8&gBw8K>+>kX8FhWJ}jTzg7p=4 ztlktSIxPNId7q|FpBylsE6_j*kg{pa%uJQbmoJwe|K(q%a1^_ty(w8Z=%eO<1~(*& zEuW!s6xc(f`_`V?;0Al7aS}V&t835BwL?f#YerJc<%BTB0r|pUhITUsjj)3rc&yJO zrvnI{aZZ1xR=z3Il>i#!5ma!UZ#pj{UVdTxbXhxgrL4|gDJ!#=A&6!<{Xz6~vuW#C zO+1%aE5{8vXCbDOU?Xva03tULK(3Qq7p2y%N`X5i0d(bb`PYB*?ydw-+zGWNIWdr+b`!QHDnA0- zcfPQ8n@XPy7Ga*}=i3uN=34vCZY7|AUGKf@wPwRAXJQRZ;$w8F)6J}#YS+DMH>C_$ zyU@;9rr*u48@t90w}|KuIwI6qJ5wA@A>$gBQCy?!2(n)aPes`)uRwL=Be0l4*uL9l|wzvfS1$ zrs){a)w>BC72_xW!_Y20TnF67R$@Pj&ui$?}J7zn_S- zUx26lj8Svm&)!CC>nXymi<@o=ZOFr0NX9ZGjQlWC?e((Ljgbaf0dO(~~IIVTWqwN>WW#&2F%6ysq6a zJHIm_Qfb@YP&HLTM~0YM8z0lCAq?$zI0(xcY8(Fj4Nig9coSrGv8-?h=-#J@#9rdH zbR;N^<3H$a1~KH8rBdNM#qc7o3k6eZ^KSBR(Vt5nObbAMh6|j~l+U8Px{7+&1|F$I zKp2;RN(*D*K}V_(&lm=!UkMYs878sBpIpqIIe(42K;J9<)4U5bi8yR}Enr7+cM>A0 z-X)?LqTk#1vs;jld6}9HF@7T>>{+T>vh20H_g!;3Qr{g2*dv-=QNFtOh!db2 zVfj4*5&Fl^vhbf`K1U)UtMdWldR%r4h>9)rHUbV_fBkZ~a`h^rudgC(CN~wO*nRFm zme}ov0CJv=dK0;rt2o&(adL;) z?~{l~{o$ok<$wL@yX9|w@Me1g#B!0^f;(&n8%ji?0!M|8dJpTIt&&+rwmPV586vJf z&!=7t0c75_q}_6K3b~tiH)z`T4%JEO>1fa8k|}m`JbWJA*oP>D6WBhP?Uw4E!FLO+ zTXfFGGa{Skj#Qe@-IA!a8Hv#eX!2?&Ks&x;(M}MHMaM4=@o1r)+|EI`E%J|j6OdCq z$bi+5<7Sfz#5aH4-}F8Z2)ZT>aD!ObC?M8>Hp4wGzM z2!P$PXmom&4z-A_J7GlZAvq4u8BT^~C;QwHLRdlwP=G~F5!w(gK@3sRB!HL%2iSd6Gv_FI+1V7hW&@ zIo<^7^Ck%kr)};pjPXLfcsA};H3^zrwg3*{21a*L77Mc`Gy1IgWL_ECp4}FuDdUmx z-Go5)vr=x~e_Y=G^k(@_zxc3xA^~*l9BYDUh;U9L;r5VZajb7cVD$PMWdb2H*WY@h zT;}o9^XJa9DMF8Nok151!W$xJi|~r0b}O|Hr5*&1U9n35i4DZ7sHX`a2@ew`5;!|B zhjAO?C(^+#!7&bwn%P_^lRj$7-JZUL&-w!9JOmKL4pQGH(bI&P+FD96*y1fx_kEwm z@iS$9>T+2<@j3+1<+3t!DaM?+_h6NaQ!VVi;S(b3V}v+La-_ts#f*{UoY9OkkU`89 z5nwfe>1U&>XOd(L>yLiW(>B1FBf#5ms&(GRs&UBxL^9 zGYOyt2%xR;mf1S*1pGenqvaQU-G*#wU>mQCy5n9i% z9RBCU5kQB}`zXfCfI##Ze(apuYe#81*GQK5Meq^F(T^HETz3nMo4W~{UScG**qO1H z*NCnXn|urb(-0bT#g4uki)tS)U12aUF&@5ouvETzxLEEzS>kapUL>DFVv4(vBol*> zdTFX0bXB5TR1dc}+6~_W{$x@I4E(&o4xfp2JB&JH@WUkChIMiI>>kqwe=f^E$HFM? z^*mSUo*l_aNg_xB#|gQI);>EmUQW$Tm9r=Mh|xxP0u9Fe&V-+fb=kgp>_+++Yp~(k z{1x1+;IqpE9r^K|p}GW+LHFx@wU<@X@Ljv#FHLz$9QUhMI0;(eG1Nz8>8sDmlW%U6 zWufC#6>O;P}bkg7vZuWEF$oq z>5q_Ghi#@ed!~#_1YNp@c>!tIya}|$qm0|ICULfD|MNbPD%LIlR2I+ZGXY$;v?>u~ zD13xHW@>76-&X*5Azg7OPpM6k1`s#k!^3h#bz!bSI`?!6#yOt;*yA|Ua0wZt(1Q6pr@vq}O&KcT1XWvuV z3-L|U@ZelGYx5My08M{2K3W1ueA6dm-}M>izTyND-hv2{5DEfF;%BKS0((*oOWXt} zMLlqv7{}aJ*hpBMI9KLpIr%xp2@v;xR%b47$Jwz3OWhX46ywJ1Hx-l3SK>Fz-ISf8 z*HM&28~BZhAx=^ZRf!+tL*(3N4fXlg_sS=qeg*;bD1`Lqs;)np+1t_n+6FsCM66)Xyla8{p?^xHJ zZr%RWwLcZGi5P` z5s#RzAf;s63zA4J0kx4rqAu&zC4efSP|fORy$+;yR{lVd4jbt3nbi6mG$#?~%T`AO z(6b>NFmh$cMP7*-clCTsRf%!4lLLsL@p57siE+~dPK6Mlz^s7G!sy{H<((j$EOJ@T zhg~PSPcxvRof|t|p=$REzs3!Fb*^UP^OVtzw$pPzznx(Z{q1UoQyqmI1S=d5p>90B zTOQo}w9IoSXu9vSfGgayV&M@iFPVygPRBuxHy!`PcX#8Q*CL#Q5Xqo5zdglUsMozyF8#%6nhlDVqZx0%eo4*Po8= z(nF%#7zD&NrzodR&%pY2u3WryzMMXNx*VH34rd%=A2#?g2D3eh9S(>Ea6;49g0v=| z@EiHX(L$i=o!h`6I!Aatb&*sNcR+rSrgw^5dE}dLFsjL}yYL`Rd?qO4I49SGbqJpz zepVomAbil1Y}$;2*Ce#OQ!I~(5^i^YocNfbu;rhK-x)= zNU`8(hO6%nGqlm{G7`o6JU&{wz|FvU^!@p@@_2ErEH1Bwe@JpuRHK*m7|8C1>{)>* z)VKJl_4yV_JUi;)GdUuFo(HhfMQIr8L$aYyA!G>JZdk(de_IhK(iCQGB?FZ z5K`lgPr(+4-~`#?cv^^_?gU)Tv=bFoN1_`5S@U3zOKam$!!(Y~=iz(bFwq?;4n1Ck z&Bd|=4LiS{02Nu`U@Lj}#V6%4M9?_9q604&Z=+onuqcu3&r{y~YakVrO_nrHg79^r zpnwyVOta#n7KGt?^wWia5L0s0s&_IFfN=c$)iR5oym%FYM~QG;)ZUa0P69|49pEbc zN@pBEvD*@<1iD%xsA&MgW{cEDI3j==V14I}+8bnZzxQOhdD^pzF-$WAZ76g#jeqw&4e{FIC z6l)C@A7k|2=!xW2iJ2f6f+)|vC`PS!g0w3zDS9Qi#W>z0>U-iGL=58hVS7`1`qKwT zZOlIkcDHfMxz1f62sZUZ+*#y)5GOxuBY>~OI%E0RFk4(Jlc&n^^rfi6?X4W}M!E==u2b zo8^m}x61>F&n-@dd}ucAOS?&zAnByPxAlks+8Z`UK7WD`ux}r%e?J{E2Uk|A9cbOu zh~h@QX>Mambc}?>51RI2>tPeTY;|-3bN~oD zHt3fd5cs}KJ_&K-1F0d-d7b+%D@#oBNCskcetK@YoIXCysnAS00bAVMxPlaNkDSd- zr!h1plVUp#nJg>+c8~EAGoQtZ0RCi1okH#Stj^VZR?mD!^qS1`nT}uT69f>aJcUJs z=fY2Ja02wjZ_C!=Jr*B`k!3+N#^OUbOajae?g7Ok*LM04juFco?3OlnhqVbqmBi8( zad(0yeUE+LeQABaA;-Vi_o#<{2Db|VB#Hv|xvl8gWL zO^JsdgiMN(rssiUBpOs=R5w%=G~j88ST>h0adtxf5<8sc#Hr3==_93b96bR4^wyTk z#xg<=co%Na5Jr6oABdp|2pEYUh0B|-N2qbRzWqa4 z<&Wtr@Wl-t#*L>&R<4ejsHh3zp2Ux416kc-teIbI6T#{x0W@B2A#~!yPySH8`sRLl zj5zFVPJYIKkq^Sh{cMvspgJOe4hX2DV1HZ))IP15Lw;v@hQlg-av+IMx+(`)*QKW1 zxHSY&JyI5n1fRXbA09XfALS8L!bc+K-r{BJxH zK$prs(rtL`mF_S7BTBPo6B4>O})K?ErffklOH1FhWovMli~(EQym z*>&YU02iV+m$`Jz4(T*(gdu8`ctcDEWTM`lLs;VB5<5`?Bv24QJ8So?Yw(>(Kv;V6 zz9s?0BC^1mG;{i5IsMu-9!5nX+zj_MI34mNXq%nnz|DLK(S*4D5#55gu{0g1bqCgM@Z(_ zOY`I;Y^+l}1+ot+-Hj6<2oFgICAN*T;i52u3E%ZWs+$51LPMPO-K2p~>mj0B93GPA zxaTu~2$J<}+evi-gYtgRF{H;$LKsbuj#HKsmY4hceCPIni%oOrD#k~3YKKZ|A>c0du2Yj# zO~TJzyqi!j$S||OBM^uZLGZ$FKE6{{5QOmH#wTTr3&&Hvb-3dm1#8L-EQ7vn6FZnu zI^m3N2%v<2GGw{LX+hKyK;7D%5uN}501d23L_t)&pgMd9k`Zn$41G-6n^$Wrq$ZF8 zcM>+Z>5FfsKm-O_I%(nvXaUj{ zQ^dImxJM~(&0?5rPa4<-{hxRl^{4I-|EO4IUB%cep zNsPeax6nUXo=lu=h@VSk4MJ#*`#>Ai+qF_iu_GPJAhBkeiL|nm$p%NVjmq(5IF)t6 zj-&Jc7$-b((yRfaE$-@l$$hJzzyI6vkhg%Ag&ikto{%LFj2np@=;w$4IuMwS0{yWe zAhNMvS5v!#r5!N%*6$c>;a5=tA5W?MM~V439D{F_A?z@g_<`A{EV8C~w6u+IgEdZk zmXQL(gNID4Tgaj>gM9qU9Sa1=H8&#p)744gjP;TffSx zs=e!9{q{A7N$eZ!+j$;7lf%~IhyXfx3%$%cK#rssO*DwzGYB9iO~;(&NTwj6n3#KDj;%4xifCX4ma`L&qcAcMby4uc(!z!R^P(<)a&q z%YXjaugb?azbXA0SSvZt*Ye;@zM5nb+dv zN3qvyGv^_GX5zlxRuC^@E3~IS9&h1h=~X#y{LSxl8)Cc|Re}G-ZD2kKpf&KlQguB6 z`oqmT<)41}L78X$wI=KkC{<$zOm+@RGuT5N5kPwY=E(U^3jz`(73pZI>kz6)p$?}c zfE*HCRbzDBp0-Q$WL`=9XqO0b0Io17pR8>15Z5{vAJ;HfL+F9K5)we`52dmeKSsqfInc!4tB7`I$J0VVkOe5xe#)Ta1 zPmPa}?nda5Z=u%89j-6YrZ8S%kmaG z#(nN+%pwhL=IoU+ArUlroK0jz7jqv-SjUBOz%OJ~*%Cv0+S;yFKab2m6A0wGAkRf^ zJz6dweEG2am!JQ-d=doE9C#9fg}ychadGa%OnKwNsq)5^3*|V(&tMAt38LF#O~L!; zgq8Rhuvx@O1|4n-e6b;EMVKD_R_U?|HOM!AYERTe5ne*WQz1oK$DJDpmJn?ncYL_( z1MxFZi)$o&xCi9PPmhf%iJt*DnrGZ71O1tF#66jw?7I*^5@W84yo&?7*)pte^D|e< zlessz|C5s6)~1yF=1G-laQYvD4=7jQGhBlJk_5_f5AmC0C`XxQ+W7_tCSEgJ)>kC4 z!t2HgkoxS#*X4geY%Z~xAzNH;0;#%!f-sSKCWp(j)e!;oY#1Gd_!EGDecHjLuKl|~ z0kJ&D!DB%?gUHWT8LP&qj>B(#jVZAsx2uz;d9imVrS;~N#Z!UvUB4_X7@VSaU2J$^tlh=%l4Zf!wvL0Ov4gCN*JmGzn12OniWVd zG|`=j9X^vI0%#`;U)=Z0CV*`1O$Z>_;QHhKRTsD4L9AZj)@9M6650|XF@dpp}E8%G;# zim>=T; zN4Q{H1}_aj+;K-Jh$jgt?-f!e2^LtJIkrYqOYssXF&mteE(}ic?#~-#{={2liPN7| zh@W*NzbPg`asGYcIKtxehav_S3+eW(P>dYQ?byoElQu_Lx)Q@kNdOU~$Ei~gK&-E} zc<}W1pMO>U8|;Q$y9SnQG*8X~A5bknk#Z&#={@V`hyZ#PgpU0GBp_g)7U{&IqA8K6 zL*)Q+nGgdf29K`0je;C-IqqVpG@(qPA$IWej!*rDW+_i_cz|$&ZywEukOSE$6e#In zR4%McSCy{@T4Q}b()FY_k&I#AmPN^WI1tcJRVW?I=TdqQ>6ruW4yvG$9R?` z2B_mF2!`rL=o;9;R#oHH?X5Lf4e}yQ^QpMX$CSrF0^@zzKp=ErL)m(GyF9%4yK?`_ zPs%ACMw9?rTX@6*NYTrL7hbIrH+eP`=R;u^gNS1qEJKyev0J+~@{vWz&`0bl!mP)G ziS8P&tn)F67~+!%M7Vst3{JgP#t?`QY;X`qai@S&{PsRj2a>h#XjXg2`^frd00Bp+ zo1+pyw}Sw>&k2wO5O;tOZOx%KBeqwL%}keTm(G>9ufYCx_IQDV3s$Z*P9gJDXG21X z{x*QPn2=?JeyT8(bqJsy8zO!1WJrdLwSt?nT>>aD0R)G_3lvtsTRoiaOmfmZfuMtN z?)nV8@581`j|~=2ec}x_QW2N-IngmSiJ(5GL7v!)PQCYRK|EPX0*K0hPPY+mu+9Uo zj|Zn9ey*e6F3YgNtxYKWU?w)l#+3Rd%UzE&r2t7P#QT%3(mmM@ChZ(Kk}K-`%`Y4x zZ}X26Ac6(~1Rh=X1c)`)r+@gW{MUc@{~(GeA*W^oSXwuMkMododE!IUdA4%SGE2E~ zVxeV}fOW=oy`ujXZL+<(P)<%9J%pN&Ir{x)g@BzfI%1P+4xt=McG&EuO(=~}Si-4s za8YDOXMr{vBV&uuRtXBTN?B$wEh5!zerdftM$*U=^gP;K2W6scfv~pOnNY+vY`l)r z&~=j|cO;szM4FLplf6hL%Z%AkN#uYKtlYO%O_jfGGS7~G@Qe;i{FwI(fyFZ_5v|`r zdd~=cXm3&ci)hk)GbV$|GO%yB=l0BYZe)2xDuT>$6uXn|P#OenJ2S*W$2T4dNQhlW z%rS_eK9jBDQD>*dStLjRO_pO^3_cE<+;L7#eLF}Z2qR!8{9@E*rs1YvO8`aj1cHvJ zKQaL%E^+fD>!0i?y%S>y!hF~ShGmw11}hX-B2z&4`PB#Fj|$Zyu#rHGfI zW7$HINdN^r;>^0qD8e88JPiR@kLhpTO&CmZM-y1CaCczM2NY*cmgDEHlo>>0Pn?Db z;{6sMNL3~mkGVuYin#(1H(f7qQuNDCcY8X|BbVDB*PC^-Hgn>kvP0Ts+I0KO!}_L>T9r;7CWicYEOL0#{0mKnz7c^UWOC z$RL0M-_myzxeC#W5$T%r=U{u2h1OFa?i5ZU>20w3u=HWIo#50*JpjKb>CI;ff*sdn z$X~J1rWU6_Y);9xECCUlxp>5ULfRqDpKzOq_g+QN!NTO(vT*XPvUuX1vNUDs5Ey@rlKtc%O!MVY@0T0Wsoz(Th?%XK;(#6Va%heer@dF}oGESEiI`w#E zt$gy?jq*#CE`4?LrlN5jq!Hhk&sLEg!FmDc3?EOSG*P<*P+46pCy?g%1Kx7_ zH-GzX`RNbej5*GE%9`c*R&0Gs^<@fm%^9_`-l=N7LZMDsS@#;E>(OyLp!NR;00960 zvUKxY002M$Nkl3s&IK?iyc@c$Hqmnn(S+ z@xHaYmch41^n3)pGtEGz`%2QF=FU1RaLMxv@{~e)J-PU-jE!kZ6RIsoem74&cz=MK zw#C!!bq$?1;KM;FLp%nww8?0{%no=)2W5HCE33=Ha$#ewTwGf!S5}ARwe?aqhy4f> zM`CW;5pA;v9YfOX8;F4dh~cGqPfuT3fbi-zi7sdap5l+`&|Q=fd50i7-e+~oo zR;j0D*lHLhZ9i`{MvcHc@}4|YpEgN7&dqne1mpu-=>gBphg;?6pWZ3|_CNhi`RMCA zWw3s+9PE$F>Tsp}gP;AZ{P68J%IlXez<+zh;g9A!p<|fPi%rW?na&3AQNIi)O^+%M z(a+kS_wCcClj!s81sq505p4JU>9`E&QwHPRvNYZ*%kexd{p|;(Y~L%Z)19(1-7Cwp z1K{X?=r@yN?Jl!Vk*V!fmLi-S@jiv;d-ThIKBdBbdW-8g!JDZshiRd`Z`>q z&Gv_7pO-Ih-!Jcf^jZ1qUwl{ws}~4dE#oQW*QZb=xEXLx-VA}{zi&s~n5j5y?3iBA zZxv8B2ixWH(yaXKjZ5WU{rS(zKl=T5qaUz0wwKVZeR9&F2Y5q>$#TFaOkx*4pF^Gr z(g~;@C%2I?n;e`x&N<|7O9@o&33_?4s-wCY(AqFqOYbqA2h8150>g_wCIk~ZFW-Ag zWf+wo8`uMW?(d=i9gNGPt-bQ(>2BE_jSFH49KHmns{qky!R}*(G5$**VNG1mSAG=Q zOeKB*%{28nGm}Z38F~@F66NF-6jcr=XIfORq|VP)0ZL)pK~4oE*vr8o22zHrMhTiR zDGR$Oj{{4R}?|*T#4AwTw z((+oldhts6*-w93-ne=>CU;Q7`I{h1z==+pqF_&ZE41G}6Ca2cZ8NUe$As}9WYGHQ zD}C$(QJrQeG)$QE$2+AzLg6@gT84X1%F+n?;7J+cw>;hDp1fLfl!D~%up8XJLgy{_UGA_N2mP)cCG+DudL4ffBhv8t%jd$J{H+y9cAPyFUtrX~qE9 z8!iK%jaWfsLY!295)bGPH9UMVHbxboq%pjr!UGs;pOLeujq(GA`3g|e zw?wW??A#n*0+dr!c-pFr6BKoopfROAMSxr0xKdUx-6-p?eXlHCe!cWJuTgg^pi2d) zH$VwecnhhJDx|nofSe47VTAFeN#uAE&V9dAC17i-3ecS=JLRLB_sakNfB*aP-lt!c z;rfMg_4@1OdvAQN{N&wt%7x`66qZTpFTr8TD@FG>o>~5=38ZF9VKY>jj})3DC1_8)V^&g zR-B-VwC&r)9Jt7(IdF`~Hk5SOgK2~fW5bGA?6`q$-tcZr&~*e*Ag) z`3Ikr{>lc0wo0imO-B0+1;~{e+GJu)lrR3ZEGXae6`&Uv(|PD`KnXN$LWKU3jZavs9ceW48!~IFwV}Nu9*Cyz! zMUT~=0SZtGBPrZW!4nElo!;)GEGboh$z{=oP6J|={EP=olRIORLdDr8@=DU6j^Tzg zHNW)=kOMfaC02m2<>_e*qB(pzK~M*`SOt>DDb!kjwoji>1}JIE+d z4DRcLak;oMESJ`o%auzT<cE%^L#tL}3`yVW zbNaSv_}I5pW4^Qe5Ng=AGTnb%CQt5{ojaeGoqJ!E-3PbIN^ew_5qeaB6kIH0dmv*f zNLc#w6(BiEzRhQz=bGZVJud;u2u73_?X$xm;HgNe2<=ZOX_TPh+Qo7S1!(22Ty@UTq;2FQ$NOlv*xTM{rvaWUjns#yKCeQD?lIJyj%Xa z|LgxLzeE9Ay>Pj_`|eN6kKX-JdFL&*RI=hd+TJP4Z1J7IC;PPRDFVAYNmR0tE@f{#KJ@`%~!hXPT)=^lE8BTV}kgaY@vFgK05BxBCaB+J6Bs}h+m*wzmxq9+$yB+ug92Mo);hjnbjwkrOA`3n$^x zAH$D5W`SzoIA8UN&MDY6l^A(9dlY*f*PckR9H9J+*b+M0c)g4-yj~`oua~{yrLxl} zZ_zgBf9bE>_6BsEOLAMC?ZHWgssQEKU>cP|8%k{~O&f}V0yo6E!YY>K70(zA$~Nb! zKKS(W^3i8sm5)Eag~qtXAg~q+P(M~^!PTq)W$sV@d#(VTysXY4e;p-I8%7K^*;tx! zC&r%$j>cqbZw4Wp(MbV*fX3qHovHxspcOqin3jiJaG>(@=;=Y(W`^N_S()*Gy}8cx z1)fxZqM_0#O}Tx73W8r07j z)yh zSscXW@URyxpbYiK>?x;lU0hQMVoyCYs25iUWpkM=aYW5a6`B3bHxlHfB&12XSRY>~2lLIGlxtMJU2&7C~DTefb0UhaPWA%e_KY#|8+h~BEM z0=30Np;^|}MCI6YMTXBJ8{Zk6)`7kEjBy~8Z+?bL%)nEg))9;Tv6ZL4a-l45UMVYV zgIj&`-7?^Ug#PjdF@^QeItmbzVKQ*en&S;}&lrg-{9Z+;MQZ2f*H;3zIBVQV)z3MY z|Chh`Rr$+beo*dg?UvWx{y};72R|v_d+U4jSDfhE-7WiDTu8u*HhX4gOx_lHN>;-)g8)Ph`6#`K2=d!>&8)JO5@$9bPrewN*K2HZ08i3^c1 zYfRAEN5m?SKxGi)EiSQvsr_+TXbX)G49rgq)exo^K0w?ZiuoGH_r67Ww##ljwS=o;Me5N*u08y{*|Oby<|AYI7HBq4)WsV5B5fg7@P%qhywIQx%cV&rO&MHfJ4ng4id)-SW^x}iXsg~lUSB@ z<=E(F&N?IC0sPs2Q(DwTk9x2!hOFdxd4_%ZIL-sP@{cHqP}N_%T&}$Rld|Ha2p6xh z9c~q77K%1oF%Ay{~ai}^DG=&0#>^{q4LD9zPwfb?SJ^2 z^1-dUWtUZ*cYgXi<&7KPi%Sre;D_lx6CHcIWreN0Gc=SD6Cri`u-hvK@Z=Kx#46j@ z;`|P`w{b@y6CkX=u(C7bEOL*2us1>h+V{*459fWBrrUYZ0aVyO4&i0_8FYC*8Gg(a zV^0{_*TVPk`e6k~sfMX76b$>9?5AlD^w(~E+wF7n+wzriz}cVCg*Q_HT0`qLH#4qR$oAjC9Scg##n0Q#At}hQ1s^i=#(l`UZTyFQPwnj}8K;JLjwtdze?1e|D@g;Msgl5V+4?0m{KEMyY6rol*;a^Ibd{_>+TdUBToiC%_~hnT%^!W*9g7iD6< z)|5=x`kw{$r&tib5vVMsT$!QHVZIrH8dni!X;Ofpv)J$RxQS<<+uz1skA3C!vT@`4 zT#x-Wmm*vVfh!fDrsU;Ww?^|PKeuVLy!9KA{c|GDpag8;_ApLme8`H#zxjXvs@&OO zWtSV^-ucPzaIOEPvdZ<%Zf)zadedh`dud69V9L#LC^W7J!#mvn#+KJaoudEL5uXFLin`M9FO)f!rtxT3L=2RGT_h?J5 z{76R#Nn($5a|+AJRRYt^j>wQJn+)dP|@y(AfQ88Y^FD zI??d5d3Ti`XAgGi5gv~w<=)nam7fEYAkO>ne&8Usyv%-Z8j*(*Y0kAlrjSM=b`tS8 z%jcH2oN1|zCYEXmk9gUGBuUYnkC1sNqrmO8MFQmZP+otF(`dTmv&lhX4dMPQ z69D(wDnKw4^_`15>8@Kn&DPwVgIMKy_nt>M%n}m@yf`?k{P;M?g+DWw4q_otvaDm9 zigQ5@{0y?o3JKV2G|$bYLAic$g`48|ZV(F53UTX7kXt|;3LRwa2`U}Z;9E7E0KqA3 zNniCp9ov-Xbf9_4O?T#TQ1__QPfQVHVmllP(2NzIgU5Hv&aKbmEYSGrU1oLJToUJi z6vv%a1s7ymviYQ2TF-*|(K{)!F&iw2&8DDQMLp4r{`)8+n&8rcaIOX zxV>k>xrg=Z-z%5i{6SgfJkVhM5+Dd%&X!ZB)^hNxd~0?YOLF|sJ~!Xx5@=d@oB{gP zmtU9vlNF$CRtJ~3`ufcu{E)4?tWn$U>Ek@t<7CE=vyEPay=VKUqw@Ox0X(xzAF;wj z&nhcLgAwO@*y2_W9-;toxq%lR9Qd6dE-bbE2(y+$R?|?`R9y>%1^5R(N4B_ zdBn=k*AKVLZLX}m$4tV$4RndUqpRK|;&qhn1!o`xURg|;BhsT$xoslc1giXmz}C1; zH?C_GL?{NwFu)xa1=HK#F2!@-Q+74#WjJlJ=eDF}cE2;@ zcfi362l+LGg*Eoh57+|I+uvm=cbjhnt(F^?*2`PhE|v}8y&OU1$D87`LpXpI>B(pA zvM$bC0Sdvy^=C}v&wc^IFn&}o6(IT+uB@HzJSvlix68fH-Y=p1-5d2&H)AYm6M5Ew%<6zI#A7;>f85y49k zK4t6Mzx&(wIVZDGh8M2HB?vvYhjDgiNC!7W!BP0{_x%hiH^RYpFd&qpb^T?!2|p`!B9&qt}oN!qH+2L|XM4WBrN27im!{w4TYx5PFk zFC>ubZ5IJqgBl-|s&QF45$ zLYy1&a)kKEtL;u2$oG&w&DA2$lE&%|t~Ava&R)`XWgci-#%J0I9zQC>UZ6fvJ15?ZNOxr;dn@7JC*s*y_Wk^^;A{<9ssR0q` z3vD}$J?qT+#Y8>0ynD-aSw&8_f%HcVqRifJF#c_#__!_Z^{X3vGic2rF%+O&4a!yt zRxmexhcxhLo~HmkQ%^NQMtk%+e- z+gytshni7>mOTRy0z--`iPhYQu=Y7w&Ul=g=afK*MX_pQnaNWKZ=5{Ot(NeH0x5!{ zb>ud<376oE5a6~^fJSVEn{hG18kZt$-gvWIy1|(swmIcWP)!g)&5vY**%|As8#(Xf z<}e%8nAp{M2$j%>V;l-T?&T=>v3Q$^M`4e{x1gWNRkSZkdO@@;c*Wg%gyTgiJsaai z&=qfm(RO;n521c>|55qdkG?3gwGCDY`3Neu9|7xou>r{p+45$e#h0g0mJ$BpJuiHT zt+1T!8Mwm3>dy-2d;E~;5=zf-it@u5pB1i@Uh%s=;;{dOKbBQ-;C9_7`(SU0n=3#N5;V2Hb?neLJi&%+rt&kx ze#%jW+m!Qv_^ZDwUt>>EeCi62m}3_XgGOv5u+ap*#GZ}lcy}F=@YLpNoV&WbJS#tY{c`zNfBv)bkADB%NY55upHwM{FAfc3T4X53yyy1`l{!fe(|R=T z3tEi3HERpTJO_Wd5~vk-H1;tSSwW8pIvl$K23M%oG>lmlAebu#x2CDvA^EsEs`BGa zZ})e`toZDgdz|@syn7H$u&l5=jRG`fCS^n?Wp@FmvrnJygN|!TJd>#O?s-=q$7-!&Fem0{x*e>S;%r}VjQv>unOJ{%cwaB2AKH{ zLBtRq3rjzGEYCT4E%x0H|E@f}^=X;yJS?lT-NOA#D0K8_3QOds2QZ)&;E;hyzxgwUYA6WST0Yy6fT9SvyBbJ+Yu zv?f^0p8wfGUbw}sl25*Vz@#em4^Mcg%&l*JyT=qE*Oj*&M z?R&8STi=)jS!QK>nKM6rM`yXmcY~M!@oIb(4L=$kvqH3e)|5hdi4%e-+$uv!G<*{) zOQ;0EI~A-VR23kAQUOx=5sz_$mxxWC^V|)|@G@qr=fToN&i-K3b8ON&6XkVcxr{kdxmFN*Dbv7#!3H~WsTdh zNiX|_P>N7cFR#qX@4s=S`~?copZ(suhZG>wPKgv;&fsap5qJ}qUQLM3Lq^CpFkTJ? zFZ6P*04-Ep-x4@#)Sp_lwbC2BO=Z?leRX&1xRu}Z>;n1{jYBR^K_K}_;fWa#XY61* zo1cmgN8`#4akh{f9_~!aS9iAKBd2VhVShKx&_<8qldC?NR1P;JT+;?lr_Ui`j?xw3 z{v>3)2E(@jO;$SLO;Ct^k*_)IX}VItJWY(hE?gA)v&DC6#E7~T+z&I}3(~N2d_nMW zL5FzfIDpggGoj?@ZjzE)->X|LHy=m+rKG|fb;k;jff^#F`cegr^iDypaced3ooEr5 ztt{b^2C=285<(sk!l!Bf4&)Bqeq&;Q&>FW7Asl!E(k3fGH?CYN*Ejii>Iydpfi?#u zWD3 zlT?E2+#FW|q5g(Ilp<@q(YINf-? ztX;WL2A8-PAp~By4dtiDcTo!013R|J9M-T#Sx6zR@{D}buuFs|ufdh@bXjrm6o?_tEzn zx9cxOQFhU9kV2P`h#<7R19lTp5bKHgQ1#i?KWNpTC+ZD&gB6jLHy)G5{ar3q;#~0_ z+jA$Z^bGkr^9q%^f}#@_6^!|^AZPvjR?iegXSB<0kF@t#6&iEhH44%Yd&!TO;vW|q zxWYmzs1qns2_45`Er1&i{PIR>NO@@DXQ$okQ;pvaQf4%(k zKl|PCr@#AyRsj;DALZ7zHloY}A8+Y_Z^!7@7{N4=bUGtS<9sRWTmgEiVtd(0R9)1f zKeZY=wT?4_JLv0s<%4YC9e{8GRXZ^-#FDWy4RM1CbG$S%uWDp|gl3qlKD)p_0^}~2 z9o&05;cD?40X&7oeVUgzKM4h!S!6&nur3xJlW&i6~!X?2<%OL=&pE= zZ5YvRf$6k~IsCCPz$b(c!${4FghoU?9J~|;9QJq={!uFW^a*?#s9fe;(6vo2N8o!K z7g2&%nTd5J$giTiX5x&j|*62JFX20h%ydJYc||u`=OR z&90QW%_0;*Qd@*~N%ilcnU|1t>s$A!1riDnoDj3>%sxA5c7XIdV%rZDQ2HpL>ldz; zH4eKkU%raI!*)2%e)Lv03BLehlpsXcoG1up3tmvT4tdOk@UFueEb43Un+j0ywX_8T z8Yy``A{dD=ue;5zMJkdot%JCDbY2^PZ?=fj()!KN3qwejZA07Vs5y>g{pwTUyKr-N z?fbx73%N#U3uBHcxnNF<^%PweAeFwTfril9ovAGB0et^pTpsR?%aiR<8L^TxLjhW5 zo14ndGRjPkm0ho`9$+t{02Q~p?rnu)Gypbkb<+mcRTNja?W-yuAhk67kvWVHivkhT z9>_F)P_-c~a%sF!f`XTbYo8Z>28#pUrgB3O(v6?IYJH=|AV(ondCS|{)iT?7tsL<2 z)BTm}eE9SNvesJkJ)Whrhs$sNcnJbZ8nlZ|lN9@wIf?Ch^mC~QB}8t|Yx?ho#v0f7 zQyRvYvv{LM0lM|zaruPnuRr?i^YZ8kWr*C@<2zpFV>Ch$<07j8=SSn>oMu-p9&hX6X|=&l^e;t$YwHzW2w7qtG)8aKe%50*`NNb{K@aUb4UTo zekJ>RQ;1Y*<y^SgW$K05<>CHv#AG zl`mR>qXI+>VpW_l;*3s0B`9v}iCdMHxUHwhs!xwYtJxtv9Zk#K-D$b`fHOaQ+;qaB zL6=ao5gzU=L~iGhiI|Yo%ysydl+$)Z$9&pI595nQTnqPb&~MkM@m(`Itq|! zAI&oHHC0f`m-wx{R`e>WI)d7x48hT3rc^P*LA44}DbSK9=%2FnZRg&Xd=u!GrT_GH zSsp#&);p$lm>r&R3zYle-I_IF|9h+`K$r)tQ|Pf=&drHSfZ}SmHh22t5C$6oae{!W z&=zMd7(-&_9l@*5;qWDtp7jeC%kaw8GQ5N$w86K6mM&4*oA7|2Q$S&|lAGZq@IqX2 zFA6|2?1Tc;@}uA>npR~$nGaxuv)I*-0u(dTmHDD!baUM>XV*)2^*#}sGz1;RaZ2x! zOm5ndw@Y3(iAr+y^S$fWbpBW!4EqhN3iKZ%1~8+ zLXltv#cgX<@tOBi5|H$ow(3zp!IybnGU-hkQ=W;*7D_i)fE?HKuVtrD?}+Ckx1lt^ zODa+$cxy!8vcGZ#1?YO2ZlVBj1@`{Z<+4B6$gOQCByRBw3{F0&{LrV_2iI>5MHw~t zT?GoIjrQP?gQUWgjc5FP>aKz04e|!;2nC1@fN>`8t2+zPNd-Jmq^pwn^y_ z-n@7TiCbE|ckSjoJ-9rJo&NZZe{O*nN&;I0h z%OCwT6(E~W45-m7TeR<{k=^Fh1{@8F21~f#_i@|X-6!L6=kY`h|tw%ZtH z-rD0p23(-4q{W+f+YsE9g%44M|0x=K+%q=cB?agVYa(i)c0pADKS|XrsyHO$odomC z!+duXpjrmjd{aB&tnD<1?^p?9&~mdyj~Pf;N>*2TR zd(`fx*a@pl9#UntyTmWn8t2=)t%FoJ;`c}n8hT!kkrxDYGDBP8EMYCh6hlrJvnlH- zZO;4~w|?@%VsJ%ZZ!{`f`}^E1`ur{p$p&>xbAIx(W3cyUEpS)a`o^tq!;59V&*~4`JiXW;u6`GP^r0#~ zC^J<70;?(c8)>1a1SKa_fV|8t;8lPqO*aB+e|Gau`Q=BSlw0>6lwB^e;^RP+1*t&$ zz?C2;D}1$moA^<4oF6cjiDlzA9>vih0gv@g2wsMHbEhjnH&B57^oOsPfBGjsEr0lv z??>F)X2nyt!PUA8GP-F;|AU9X@l(qxAln~<1Elp?%yF&&EmmIN5}J-#6BS)+o9b(8 zFsrkMByj$=AZ`4v<8TZQ>6wz_k{yA|q$)t(^!A8b55By+Rc<}p;p`8~(KHZmdMn=c z<_Zw-(G5g`*&!ssVllzOmV=zQHKGk+!k6mV^bEY#)aM}y<$E_wx4lY=PYjB<`wXrsG4x(MKm-zg zTqy{{06f_#)7^(<#8uc&zj&|g-T91j0b6;NfRT0NL49XY8wE(g$UJ4wRw-!Eom+=W zpuL=ivX7zoWyhq^y43&#psB`t{NQ(t zF(~60m@xTX;j4W#vi?AZ@&m^r5J%|*xEN}@mvNg`;?Mrv9P_+rH93hkVq>}<9e2lB zA+rQf7RZZ}rBNV_B}_Mp?xu%+1uM?C1R)Cee{Sc znz_n86af1ol^`ZL*s{uDpE6;)+W=+Avpp-cVK!AV8Nx{$SA2kVQp7$iR;aVYBQ5(S zud$ADlMe~AK0@wM`BA+ACaMen6#Rv-FO*LL0{rQheQ<p>$GhbXD(*E)^BgfgfG2f`-qq4+i6g!Z`tbi#r<9WXnzYHC#;t-h@63U$b? zQCiPqSi(j@xZ;C1ylI=NOVN+n@^?{BZI-h2VU0@XB6`#8?>CL2psB zXg(I*0vE05gl(xRKGp8#B?kIKO|lu-8SEW=ymiTen2q@CyLUhRIJd)H+$?Wg+h8RK zVU@vAg<*-NzoKl@6qn<&;zd-FX-F@yjn6Zs8XygEUAJDo*Le0>lebL`2R0&}k z@kqUfaJI_pJ;g~c&q;yWambdYV#A}7<76A>gDzZui|++} zk883omL69j_t||AFu1i5pn8 zHOYz9U2~Su88_V(R@=rvo=||$wt2598+IDTbZrB+hiV^#w_6B7LqkXS8c2-pxmT zYbRxzSWN_0|Jqw==XPJ?%DFxXVckYblwH^`oENGbu(Gq)UoE3$l%Lg0rMJ%N56aJE zP332!>~Z#olTFB6u5U3R;1)43pwjTLf)$FKii~M$NEO`XP6a5pk*WZ-p`rZMmXz_O zvB@8CRe)?$lpG&DotF1L`MmtiFFq_gyL-?LiN52JPAL-JRUU{91=oWxnaCgUC-{}9-7U(OYv=N8Rb1lVCzQ>*i6^<`yOs2AJfm>b`0 zOl}@g`O)@K`MLdYmsyxSZVB0CPcGZxY{`zj|7-FA2angCf;0kW+uWN28& z4oJ^IqO36&Mj0xiVcLGHyBm>uqwbumt{*||aaLxA;4$6f)-;fU-w|~gLntJvZo*0^kgkMw7#;+x%zd{Mp z6RwUgJfv`tNdH z+&;bpQZ$Pi0-$N{O}o!FVExOh8h)u8zeC~*!UVWbeiZ0JnL#*nR{?c5W;S}vijcR( zt*{ET&Mk2(7g!CtaJejF_cu1VAa2!41FyHmHLF4~#x!_BP*i9P5+ox`wWZ0YzRz9h zQ~NGq4D-Fl$*?BBO;~_6u+O?}O^ls&1!xX%DlX|#EcVh5uSNFk+uURh;ywD;`aaK1 zj?48O$N;HuiK*tkPLf(mErc&T+2^|gkxEFkOD0Xcavo0ry6rU;wHcEuQ?|S9J$YER zA3ZKxTiiwlyvolMrDn>Cgz;V7>8S)Y?g6-#=!=%=TkHos&sWEstScy%CV5UuwatGJ zol2MVWuIaUsm2CIzsQgz8=^8|o`SanszD zu7F9mk0wHaRRI9TKsmoET*dA8h#qq0=e>_ULjn3#*`th=>H47n(O)vLu#N(>uVUoH z*Af#9{5@k5{WIPbvfXC*3DdHC!v18=kAi0i!7pjxFG)K$ucib#6&n?NT+vrndmcqc!}Gmjwwb{0C_Oyb z&I&wX)cNZ66BM8w_Th3^cy&Ey-FjS!IAS#MvC-L4Xew2{CEM9S*kROEE$#THd!E~QSPH{p zt@xT08f;k>uAF$PPL4OmX&W(yNUY$i^5auYZ3~i8-4SLiA6j~l)VzmVfOOOx=%YK; z7T+oa4gx~?h<51qtyCCt#iuGjsr<}1pHukw@{C7&!Yyy(ovpI__;J~J`lRgc@X=D| zN=ZqjW=emqZO(Y1Mn;Mk5QXMiJ=31EVQ z0Zj$SSopxtsf<{2S>FxD01T>>hmdiq`=HNC3KtyguU;$T*!qS7q$0#>&{)N&QGPs! zBTtxuH2Gv-`#83sdO<>;N$!0V9+k0GCK>kGlIRN1@Y^UrLBBt9)2b1cEtgt+kIQxb2_HcH zN5AuS`N`YYEs7`+>(-L-nV0z-PXG#BO%zr_>e~qkh!#hMU(h~RfEFyUZx3$ctX0|V zWGm*TiffCl-qo&+Ki&^BhJ%7DK5^LrXtrU-`+Vr<*1f%Q=fR^;en!j+tT5;d*$+Bn z<>!FjZ^T`dGlYc}WkbRoyN%Xm>u9n87PA&K?d*&)>Z$*d-dUS-1?XfY95Zh%-<~Xv zP$w1YTa0I47CHAa6TBG7BweLBL_kTkq}NY6$fgK-9`?+IBdXSEY!x=HcUKc z;&P6iFb2da+fx)eR=E-G(&k2a1SGX7f5XSKwwXp1ha`i{mrz$|IKYks9 z!|)9)&niG26(~spThd%%(6grx*vkUeu z-C3e>G9=r1cPz9Lf(&fktpOPMfnK`1PmP^9%5mRSs8GN{3DeztXHc8A zIO9y=425U5%eK^Azu&WipuJu8SOq%Rz<27Yb0q3EPTN_=oaiI?0W4ZN)~K@}xfUa-PWv zs*#xv*!t!b*ZZ4qmhn0_zj5}bx4gkFnzgus+H0}hhUQi|+k$0k8e&rcigQe+)z)J} zU%*>3DngmB%(Ij$bIE1e(phT?Ql*o}6(AKLzrXdxtq0|Ow!nS(@#mb&1KLRl&e(Yd z$ac823axAp9;1W~IqO-=7E>`R8F=(Jemh4T@u@@&$`dSDP?P^_jE!f2a00OPO$x5j>kKiZT6 zhBI*r9?P_USA(W*Tj7dY{Z?1_Nb1@WH~B1=H`j;d!V-SSp93P%g`^4G_GHpf*MR)S zMXmu=Ak%cX)6SKkX6QRw&n>OTs2Zi+WrYa#cws zsM#{q^19?nT%^ZOQ_USRBP?hS*WsTUv$Z=B8&vZMcx1k+`d@ig$Qtq6y3K+uCfkl> zUrpq*zP7}*4#2wZ8f$LXsQL)$ZEdc&>h_A{ux-~WKC~Q_pBZh=>#Nx}%Rha^K2iqu zab65eQjfkK4A&WJgt67y! z%ica-B`6g({hHiLD{*5B+|p{5`Zs6>f3+Tmf3V%w9T1R-9~8t1uhnoVhv-&`w*BTnnJ14lF6g z8KVjZ+A2Wz*!Fg7cU-=DG%5F=?8c2C13!SpOu>-H8{xbm&ONT~ZEDZp`fb(wLJ;Ntxy;PMqBjhXkQUDgiy4KEeSS$ z21SJx+xvil*lV&cu}$JlE=9PyF)SCk)n}E}Aik~K@>%j+_7C(ZU`)IirRc#d^+H!ISaXb)CSn@a{ zAY;h{K8%}6fs0$Sn4BB11#SgJXc+})z|&_XXu!u)`(BoSz?q8B3U)mwl;dGCM^FrL z5-39%Hs>32tFO=V%yD7I`Q`9Tn`!udj?WZp4BZ;vyKeoC!gb^5HZQgn*J*7-b5k+R zebQAioYX&PppxRl>9(g#mZBqts`N0CV0b7!2b>w?vI3Q#G1pdmc|mMqg;T&T{jcA%c;P)>QXDB<{7AvousO*Jn47UC)bFoTZ+LFv>GQA zAmW=pV`%&}tyF-xScFv`k2?I4m7h<)__}<3`(7SvKmp2jVp(Qv%T|RY>N>C;`Dy7p z>|e7Kz70%Oe5zezEb$E|6`;T12Dm@@(HrI6*DlA_SkvV01#7f@nk>b8=Bz<}D8Y;;PyLh~_PFh{#l>$lcq@`mY*hfRZBof!$$utSA7EMqNE&H8kt&TZX5PY{ zQ%>ONn&_BL7v)iGIVd0X{q1`{%tL2Gf7697g#4sJeT%fq_pRsYI=*`fkcE~U;2@s8 zNn=Ofk!@6`*VKA#tW9~w4E%)c5DEoDgpC!H1qWZh<~>2ES!Mvg!S{h~TwLdJgjKf2 zag{1Ei7*akVdIXgTBA3~o+*b2tX(~SAe2OU-*+{P3;BGG#u6GgQH$~ zx4HzW!klf~xJXubQqR2mCuDu53_4T7bG0D_y4Z%pth67lMShEO3to~iy)y0Uqxtn&S!0UuR$yH9V4RUwoiX7fn2@|6TYRICU{LtQEAGM6xmo54=W3u2${i~_ zvAvC(++5`u?QWG3D?SHociZ231h}h0%{Dk!hj{n)$RV>T+R@MA=cNZreN+n=CT@!h zs_cVEN1ib`O_$hEZ1fOO@>I$kVx_1!%N%F%=N#7^Ad}r56GQvEpoUq)Fa$ z?U}UbaKo?WHQqW35dCkiW{mizx&|h^7&V{ z%UzB;j3%V!_PC+n=TeCViwE=qw`F3FdW>o5I~+!|xoKdk;uCh1V@_}kIg9xN6`(&x z0s7$^<((TSK&()?yMUc{k`N|r<6-PCk`Z{X01=X*)=xFYsBhJ-VT;=53ech@_ATJ8 zxP0a=8$~`9F<}OGj0_e~DjYPFY!VC@@UVNJJ-*|RvWwvIHQ)F7^69AD-1dkt0}Bn) z30}8?CgT`LUflIOSE*_$!z&yW8h1%?dNamskb5!sQ58QGzb6a+?ra;yjrV z!j3jQQuazYXq$SlV)R=8&{y=F%~g=WEo0l~XwvG|$J|HXqmOX{gWEzp2gH@wQ?9^1 zxc^nz;lrrAcRnrsy~ij(JA7rHJj4=L3N^LV#Bpw(ErBd+>n7_U_^T06gbrS7-h+qq z>sDO=H5D5*+u#DGm32d?O9jZYL(Z6cR>5)1a|;TR3ZOH#yt(4jXM0Z{rDwnjkV?^j zEpbaILY^BMa;Cv8-92vmQ;EuLcJi45U-JadNfS@xtLqMeGpwQ4&}R&uHJf3JN}#sS zJt9mVi$wT{GDrVBxCX*8Hm-Aq?wWp$Y}6V(YyeVdRAiMn>q}4bRtbVu=;~yF_j15yYb4EGFrb;_BOvCiqOGuBjbQt-py1=3!YAD?O>gD zag8YJLw-pkZAne8{Llt~l;#NGCzKx*OqHJqAvB{!-&wc6sho{bf*$Yem%se$UzD4y z{yf=6p_O)Us+IOY1e&zQxG`xARrQ-d-7x*uIq&t88<)y| z^Jl+Xe)r8QoG0bdEr4wA+7`VfW;`e4<`+0UC-J5PjCIu1w2%6q^!;1`I%!Fr0-V)b zpX!QE3xAnBOxsBERW6CyGa;HrYLjpXakgwMGc(BVq5M4B-Y*~DdR*@Amh#Bi3ue;X z2MU|XX~DQLxba#Wlc|`p15_o>4oSueTZSi~cCG??6S$3psQStaCH-9i0yD*lf6P(=t6w?LUGd` zfewiQwhr_;!z*5ZoP4n_YIv?HKy8|Wg_)OJ&7Cy+RFeu2p?)aQ8Tc8iJt#dpH$Ub^ zxDU%7A4nbYouKtT;Q?$(rGQb(rs6uc=OvKk4F5EB6r9uNpiM3 zw*16IABqvJj5yCTR`EgU@q(0;RTStmEo-V>r2v2W6BayUMjKkqgS5m`OE%w= zPJ#}Zpu7W}P-0AzDILZ{h+x&s3oObZ%87C?55{)YTVdW+NzcZ3A(Sg7`xN*-9~9l4 zGNt1xBNrVkvl3Z0Zp7K2CrhuD-N8j}gyW_{j5#zXHE-#ogqCSJG1MwREm%?`zoiUy zSOHQ=2<0^TQk5WZz?8wRO~cExNvZsBsdahqbf^5gzx-=1yn0af4wynonjyUIEg7PQ8PqP5cm&2E}Pw9THCyZHud02Ce6B zfTMOQCncp@Hz$p=Xx+{E^u#GF4k(K)XcjK3Xax%+D~+yuMPdZ?YQ1Aa{`s-RnRt6EWu7 z=^thcfT0Ar6{H#)8U0tR0^z4@QstB6sT7tZ+?h~~q;;S0Y<{Fu!OLrJRe<`e1WmaC zZl9arcDWI5hf5LqyAR4L+v9Tg2YnT@y7MyXVmo)&63FtV4%$w!@xh8Rj~Z#9sq3iL zPGn&Yo4JpeMAG(C&4Kkyq1KJI%8)jqBX%l6)N+hZ@J1*%OIS-NLp*GQ8*;vNiLKp3 zw|KJ}q!Ki^c$M4aE&=cON4(%a+5+(dNBGHW4urOm=IOZe*0H25nKpUStT+_fUfZJ5 z^OTLaQ%wXhjWo;KgtOGLI#faw<}Dy6AFw5km7P#@Xd^7w@X8i7l$jY9olIHfneskG z81~xg(e^`DdRPTw!b1UB!8QbC1X^*3KZI4z1;%VW!a|%E3<;pND(y_$TCcPE4W)R1 z3V+*u$``)r5kcvhKJ9NnL`NaUG}&*|cl(RPn^>y9p6Rysga}B=M!JH_EVCxWS&}^K zvlO?f9n6->KC3FzAxaMC&jx(3cecUx*Ia?UHN1ub#0N$B?$6u=rGYK`WF@0if_zU7 zsxVMf^8~LYH4Ps&2<61A!z_O%3#40qvu(!3RZbGX+phlXAOv~^_Fw*|zd;6kT=v)+ zw8X@Kecrwo+t41os=kNPW4*c!b>PfU6w#cnNdCxcLlU3@HwqARtB_6P4~*ygLYb@z z&>9L5S6}}R|M?%5cdo3LtLz$BLIIM0HPcXl$T<`DdSxv}&~tu-Xd)khINtXN&N`EjWs$-Ko1v3SWxS48) z%Mfms{kxx+?OUIe*^^skxc{guFEdy}ire37PuoFq?(CF6mO1>=4i41^Ae@zxB1%-w zA+GCSN@wy@{-#ev!YMM_phBqOwP&eyFAci$J?7Af;vFcg*m;8c`|*C7*~Tny0oL z8yxUiPNQ&>8}&abe9V-U!!a_H-}vE5!qP(lnyzvK9G4($4=%^|fW}NNC#_PDWtDa+ zK9);9$;GDD<}GNK!sPMR2362aNYHE@TlbDvW=5m3;RCI4{)b!M-1+k*^50+m-7m_$ z2W$r>%3x&;s+hhSq3qBmLII)zRet0b`Fc)&V9uX;fp$De-pZ%^T;*|Mz!ji4&j(cE zf>ISAcFPjMB$C9W#R{PSq4>CSLPg3) z<%qE~ZYFbuG8h>a}(3W=XHZ}xo1=PDm6 zJZ?Wi;EXG$Rbsqu8fB+=UT5nG@3{4M#$Sa8#b_L7ceL^2i8v@d=ERi>TVIwX9+Y{y zGapt#JV6_E7xembi0}pm@5Y2wL&S*!Gq#U>5!u$!xaTc??w2T%D=NO{+LU+lt(fO& zWLn@Pq3n~zmmO3nuqenQw!FE<&DX=qh?Si&=X)m07s`weofcPrP=tIR4KJ3RzN}So87n_Cuej!M z_2-kDx63bn@nL!Jgv%=ET!*0maR!J9a`|5+#TFGGi*?+vG6QGg6?d2;uhqMbO+atykFbqeq%bOMMq;-gz|qR^tT0b9`-_GjKFX zodM=V8U4VSVSjnVwZl0nhM3(79y)0Z;1yub}>m-#@@_4U6?ju~4WeC#Q_Zr^?9j>3-f;Tto7C|RTdkaS=L#WGTB%GdM2aBJvX%kvdo)$h_cG^Hr!XogKDxa z>Kk^1RSdw^vZk)Oup#3`v?|hxJ0UtKfB->^f0;(qHD1=cX;mHx8Jc&oW$H=F1OkH3 zoat71@o_~5g(l8?gi@m*sdR=vD?>|Mtk6fWbTvq&Ct+PxVryL!FD?=i54VH$nP?29 zDO3paEX~am^mqKshIB@I4T7tOp7BIjrZ`aX$}Z{Ba8eTF%`b`#zTQU zWR|W1)B=bqV+AeY?|am816AE~?7|+VRa$sro2yQh34OGQZ+-Nq?j8z?D@IvQBfn z400lU6P=fu^!k=Qv7#7I5|^~*3W>@O-^-$})Fm&wVyW^I3K0DI#qIli|L5!S{zspd zCtIA`A}@aO1O|@V*ZT3%Q)^h!FZlz1M2Wm) z^z&$olt5*-%44;PgBODlv!Pa;b{+}@>fBugXpb4Nr}S+f-+ofQ;@r=pT{=8&$LXW> zdy|eIi}M3mHJxZ@yhQpYs=Ed@iPh!Fns(bh0Is|iw()SZ(Q9Chc*^z}qmPDp$|Ro( zx^o5SfJz33 zYtbYI2vbYUKD+I0gL6RF*4H=_v{J6{y`T+0no2x}%eWrNDSQ6o1|au*nUaB<*rJj9J05vejkZ?A5b;o-^HSX$RlrR7b zkH105J1R2z=Ocba7(e!?5az`jAt=IYYQDzv(MUzE66AV^JQNSORCtE04yp0SZE{sH z!fww{#CAHBA0KAaIV7**MC_!g+HUQs^od({5)iZoH#z_Z?MZXYisNTq^70V;X>Te& zp3?~-9%aUDN7J}^y4or~Do02OC`YzYClmr6g(s8+{Cv+`H$^8swHPA@L1EGq&TKQ1 zsb|;}b}dWuRNV;?kq-aZPD!IGKvfwMs3{R#7DB$yF{(&Zle`l^#)FVKT!q1|eS)Fp ziywJI*nlUVie61C`VH#Stz-v{^0UXen#s}yw!5MHY+gqRLIGkGNTq1Rs?PzdJ|oXn zJJC%2r?Mk{vE>uJR}@y0DMD-Y2VuNdQ&)WAJ@SS2v;4)zZ5CEp7*_$;UE130WXrbL6!KNsCON zf@7)HRUi34cPMC#37#LjwzL5S?B@L-I;qh*7f~leLQhyEsR?pM5 zk4^U!lbAQeQ$%_SsMquKG(c>4q^RP4e0?>-r}Cpf)F?oJJ6r0lV6hJ#7_%F&Y!~Y7^F?|t zLfF0eLD@kG@|zT{4#oAfkcSx_l;$av3c}+%M0li) z*lOHRn3DHYY*dJ(InG(=R?y{1#!cJ4Ib#H5y7iN{{c9AUfD70RtF$-(n`O%&(pPb7 z=&Q7*5~Kt``ALzHGdF3`NltGyf!-u2!<^841}Ho-c4A9~qMPTStc|FW*BT2ZqM26q z7KVial#VPXV5$P7wV|rOH4kgY)8QfjCbS48Lpt)pRCIoI;FtmZ)G^g+-XMvA|RA*l^?%R zg45d|m)$Ef!smHJHtFPQmr1?Za!bRPaH6rgU?3?7IdXb3jQexRiYzZ{%fp9Gt~ zwk~^)h%J98%rzmY#4!J<0D|)4(_`j&MWG8}bdA-Z>wNRUZw4{(SJv=%mB`^&S=Dhb zwoSx49(5Kn=+61+?h25CpT4mPxDn`r=um!K{b9xy7>9CU2PiuI@phTq|Dx>Q{#DsS z0h(?-fKI;$WFKe2MB!kco8wBLmd-aRK*qH=D{oX>^LGLp2A%sQRHPAgks-PLM`RJw z0L|UHLNM216#3HsrvIvfcpcM1n2PX36&%dFv-V*kOs>R{h+;fcm#C@A|B-HmY2I_7 zB!o7gLXpZH@8V4Cfip=<&$)jKkm*2h(p+uR7k2}f$?$FtvK@-6$$q962%y%ogC@gm zr@5kJhQytAll#nqNq{Jov}|djs_A$8mNs+36HW43Sn-58+PkE0z)FuTH0%ca1=e8& zNI{;evu9dHoV;`K%{GoT8~h~TZ6+oBVIfW&8~3Ain&S$ zaMs^MC7Fti6(G*^@X1+j1n!qT8tVHWe-R4My@yQx@BvhAKp?Z65h4}OKK5Pdf-JXA z##tcHej5cSRzIOF+N3m_Kj|Y8i~Ehs8|BYXfd1!y^1J26+Hyw$ipt1}2}pojTX)xF zNvBWOjgM$FdVfoEt^j?@0$e0|t+#4NwbqxThzN9W_o>RyHro8>4|mJw_n($8?mlFR zmYZ(Yy{Uv--#o|%u*$xI#(+N0cG$GVWY(5pWY(IX4m(2Mn}%A0!X}`FJrt0kk-)S5 zr{&XD>tz%wb*;aVxza3!BQVXJ^eKF)1Q(K(EjXKI{Pv}}g*UhSZ;6_8B96`)FCim1YS ze!+)MO~ba8T>bIZrnv&-S7U~J)qe8yb{XIMq#WG-uyTLM!Clwz*`M zrKf^sN_u429A1|cdS!6Lji7{+>K0d}Ryv}MW;({Py##H%%yBfy2MviQ&cfL4gfks} zT>U-PG=v8J4nQQ=d7nE8$)Zfc2zU5oFg0O_0D?pSh z%EOq6lreqD80BZorBP!pI#2-`uV0NTuMd{F`Hd}ce)GpqnucPci@q*TX4@ahV?0qH zP5DU}iKoIXZ)V>XRKaXXn^fi&MYktb1xQ|#S``&nfK*gs#nM$i6(VmrL;>=mgFTd; z9j?6o#jid?3Hq!&-r^fhZ0GBt$k{(ec|e!jJ5^97Tw>!nOjmQ_X2D45NI4#PH7lAr z#(I08@l&aiuQG!81CFq_uV0K6p#Skd`*FF>8PWL)5U?#@8SgoXB_@6?DNUAGy7}!! zs~~OQVvchKXtDD8R?xNHsvXr@Uyfk5Qt%R>C0myIcSn5m3Se%fEkkgI0>mH?{Ps*jCYp`4GH^0@01~F1#zxedV`xpGqJ=nh zM$rBnCxNdpi=+{8f|-tCf{O4o?3X~lXg(aU&e}M{ zENT|bM-Hq}`R%w8!>3-PU)|D?!>Tl$j4rp33>dhFYzvvNtv0q7F;M&MhWLmcwgY$^ z%64BkN{|P&(RsKkd&mbvtRNfgl=PrzQajQ_(}yRMTsmq z+r2>w8nFqOtFH49xA3fXv;D(a&@q74rmznAOTbO{AC~FEFUt7tM`h>hkIQ81A>q&$ zkSEJO=>A@sD4l5M$tm;x-x~3Gv5CH@f&?-!H27L?2RCuG=yY`JMR%sG%XZ;a*SZzy zV@nV`lmfeWPzlh?g^P#Uc5yLiNmRh5AgQ2M&kErQ!t4u-w-krPlPI|xub{(UiIvAR zfs!y+$&8&NX#}+bVZb%QVYrROf2A>@`2|O&6^TW-VZK>zQ?~WR3Qo5Sqx^)LryXSh zeudK|1mtR@b#4M{DrsH*_+DFU}1JG)KY_IcO{6w1$2gub7@|4Dg|3lO&VxEhNqya${Ihf;Vmd;Qqj zi7YtgatybR`q+jl_Z}+AX9_+;Ykj8z#I^G%VsY+=_7l8^EzA(w-g)gZ3efB2zyF8d zFW1?M>I7ICkhgpsHB|$!<+v^%WLYIZ<r8A`?P%hc&j{NpXZ2cJZElw1$I281zjnGJ(qONxm`XQZFNzT>U{dR4b^8>9DGnZW&m1lqhEM?gy}ju+xM z8d=~Pc|muSVK?qk+$Vp}Cf~*NJhwQhv9_WXNTaFmZ;sKVeH^oXbL7P!YBr+|YQ*&hl1PUpqwKhJ(^nYpfRuoZv1_p``I>pb6nIU zjz(zGudOd$0PHivA1fsi9H`35UA6nS(Tu9`T`|C z2DnLJq`nhfkMN!U>cZfkv9WDWK`VB^CxGGNN_-7o@i&!|{fKpyaK=iLNFrX7zT-yl zHlBJJ*P;|Aq0=2=qOh4NE5WwTz!Y$`n4^qp{0O$BEW5^jhNgzJW2~U7`d7sDy|I&m zj%Q69uZR-q&hw(na`B>o18#luY|nJ{Vs3p~zlH*IrHodtl!GO=zOBX9xKR&TD|1P| z#VU$hZJRB*S;Cn=si@@;>CjI`FBWBGX=aHUM}?=om;!ewK!E@r2T887SjMTaPe{+} z+Esp3g3xu!79ae1yn9go?!AvtfIf>4pnCi7U^zd6nlvXamFN*4!X2XIs{l=$Py)OE z(irAYVfvC7(uQihCVc13OF;%){!z~+#kYmn3hlPNWv-R~;hR_40{43PZ~yrFd@F9q z&7nk$tXJFAa67PMk?@`+X-In30PWf$A~2#hu1@^cXCViCDRt*&UIMi^Y6Z+gx~>Y< z^*gCMgw3(W zcXn2-sqX`>e#~yoDXkq=Wx5ccYSQ-PjXV5h$hlX9RZI<7%ZTlJQvfw<-SV(gUD!0~ zo9@x**`_K*bIga*iC}-~Gl#2ef4FIxijNhM?soPv3Ztgy(3&`F7ZLAmff?3xDxf*8 zJOFsEX;LP<(k-s)HdN#L+#N2x7BGj(>Ko%V$X_O*Z^T^zKpx5X<1^3S^W1f?Zz48v z8d@X%QFpDen&wIDO2gfZ>(`ODj!Yd z`w(kPVtOtJta&*C7+e{Wj-Pc*>+OS)=Lh5+0Pbyg)?UVZxSgnm9yC1*pkOAQpK7WWQ8l zt1XYsVdnX+;c3^nu2=^4rY$7A{Fk+=KD;(7wd|nH}$mWgzXvaj; z7FG=UN4y5EZKbUOlqnf(glI|~x6VY8_-eA%KhnsTfFtF2Ye;HBs&6H#zKi)VhOUnx zwsE1GUM2G4B#UQy_PEh)zsL4Aw!BT&Zm!S5NB!D{Kd0t6wZ7k`of9xpH$hMY)`%8EUnJfuut3Ub`l z=r2w7XGwV!95_8w)Qd|NQUQuF0Nj3e%Cd14{ttijz4GTjeY^b2KX|iTW_Qw(naZrs zZE;7wGR;~trkp_Y2-TI4{3cMoJ`>nNoyb8QNZq-~60j(0aagkR(yhMTk~+?>8-CQC z*laiq{wsNe$Ci49o_BYk$Pt!dJT;Bfmx&Y(SRIce%JJ7XhK-i8+gKcc0j(yX>WxxUhr}cZ`;g7ktkpI8*#;HN=+IHYAKAF z*Te3Xg*uwWO-scbQK6sJqgn|BKu;46qZMIUk%finSkfXq}O1 zmGdrsve)&8O^z5nd@5np?R#y|HhOprzU{+%$%S|kCt^pVNO$-Kp9(cA%VNl8YaFZ9}-@kske1(Mmfg!&lM4 zZBe#GOB=BUT77dno?o}0>^v#^55Fo;Z+~1K-h2;bY{nKn`a?bl>Bk}2U&Mz}nazwO z*=FKaJ~}*SIAg`D&3l$XofwjWcE*i?(EFn-r3pRe?GI@y}g|sMbYeLD|U%4ty6`{`#yId;zf$e z$m+^w4H?LM@$euV4#3?3hdeHKjiQe8JIO6*i-Mb_+)hf{a!)@o02UvK%h;ond<)q^ z_?`9)Bu0%7I?;}?8Z)4oj7XR^i3cfHyV0UU8+6gak;XWV_Gww(mGO-)gfnG=2X*P< zJ{6)gDQ|mv1bQIx;Zg$vXAn!yL^#{gAP=D zE_|U3FT7d$9C|Qd&yTaqF7e7vJ#vgT-IFlwwgo=p@(+y0I8R#wi*U+1P2VxC6LpgB zZcOAEQO(Op+(~x@MPi@*mZ~kB*Uq6=>*c|Aue{CaZ|`5ZQ9ilNfR6_sxIB0fscOef z)B;=SS;SceEFIE8oD6ap&Qk+@i?7Cdap`d#e4-DzsFD=&mXf5OAm2| zSRt)aCd4b!&9!CVxbIfC`ZaqC?>iw%h>k*fbR{m8u!8uA$cc#SBfU?dCncx)> zPX3A55!Wz&wS=^567JaEywl;Fep@2#{rr=e)ajx8MH!f0OZ#w{oW=d@c;}$N?D2w? zT2;*+ZN`w9*8tCtoP0LZ!k=7*ty4cH!AL-*14AXHjK~aTBc2$nI&ulWc>}%2WUCCV zGBdr!Owh%Rm2#1ppbP6ud@q(w;CM&GrXU&I5qRu(&_cp7&Jal`y(WL=IQdi0kai)9 zRD)E4GzTa%qy4?o=Rkx_%wbf1_^A>*ccle`%A!*U22BD{o|Ji187$i0bnjFcd% zLJrI9a;fP)OWpR@UoX9_&z1hx7vdSP?`Oz98u{M=9GASUFr(}NFOC^I$Kec89&pg` zJX%3nF12*RyV@g4D?@8K?Ok6nH!Wp}do1k-d8B&}d8$gn8Sms_wcL5MTYmn|`{iRU zLcRTfJJ3*kQUP*ksikd6S*Fe;sQ_UIu1lCBjEc;V@Sy-HOK~?0;TMpVp#-S_Ik-z- z)x#BBab!6q3P0<+v#u(QyFmf!DXaI1Y>g<|F z^TtmEi9870aJbbDSHc!%hEF8?wJ!4FycX25db)As>ggel_?`;$NQ`H2Fp=|3D9ZF1 zFgx!kQ#3I{VrQ_?lO4fn=U|FRz_6QJPqBl4568HlzfmB|UQtgp|Um+r6e+e1M5*hkE;FVO$nVUNU(dymV%z5QOfe)l1>K@9kiFYf^IfS4=^ z<)fvBY*YDB5j>&*A(T~s9C^1t8AwIuN!JT_jmLNNt5kq8|3k_V%`66~7Cd3Izgrge z9)6?a-fF)6jd$jqQVSm3=?g?msE_S+23~MHXw^Jk6zpar-nJZd_^G zC-?jS7AKcn4Io76HT*G6in>`b4$lWBN1eK1TX z!@>-}HLU=Olg3U;1l6w-=U6-bOXS&;s1yZ(zCy>m5I??UKJ=+vGcKDqs{3<&bY9HmP;Br8k-AKFJIhZPtZzviJ736SMzWLBphbKtCelSRoKZv z@D*u9ij7J5&Lyt$jg2@DA!2>{{^PQ9`@?eogMTWc-Ma`_j>KkUcZCs9$8wiOjB?t^ zKoAJC<-`t7Q-A`N@G{W|l}q3nvrXP}1&HFAn|TS0OF%w^aVoFMDam74f{*Q>XI~}T zFhVHPd>KT(^C5opm+H6hgq8kS3|-^671{$?a`wk904&MH&#eP}?#S_8A5VB2ZhgL# zOJ68^ap(aTp004BE=q(Kq(;{!IL>}S~BJ8&>{mE~_c{c`ojz4Fh$dM9Rr`0OY^s2qfk0t!rlF^dA^ERQoo zp(H5}QvtG`qMu0zHIyrrKoy`i1H|b2L2tV(_jbx!Z@2uHzxuQCv$wukzW&+<%bl6M zI-127#$~Pm%~%zXz*CL>$1*^Tm3}tfj7CU|!N3qTop0`~j?;`J@I3%M;Gl!w-q|nL zQGjl9wtF9qf5^c@lJh2mTVw<`JNAQWdV|8yzVWBLzwb731j6W4sWwlwa8W*4+=%j2G|7vjw6* zPbffRyKcI6Ok~vXmJfe=^CW~$xTjd#$oEr%OnJ2i<4lQ6L73$u^E6AyXAScrDnMtg z3-d00ouA2i2)d)<&m*a(08PX8D>!fb78CK1{xm8EhOmne3J?PU2b>J2^5aa<3Ou^T za*hp7hTB|S3?=AwW`s7duhXE~ST^1a@daFAN2efC;KRWMc`VVv6}vr_Fv0Nni3RS1 zozi=7t?XR+W!b%d9sP%kQBlZNS+=1Pw8(Ne6(Bn}!PmeIc}FM6Ss!PDNIg4XHHFA= z@VGY82;-Z)w}Pmy^Vhrt{?JPx6rc&S*5auA68w`gW6aK4zaCDS%tjbGC);haBa^^l3Mhujl}30HW^Fgkc4YH&O780@$QXuaHe zuw6d9db9k?FW)H-cG(`mKAy=8P~w;cW(g`APniK40^1SzDFw)b4IHp1e)Kc(cLs>% zLI?Iktrth$EoWwbR)_oL66OBCvIOoge(;U*<(HB3REB-i7uC!apc!lC5Uq}5NwgaM zPqWiXLz5~%5EhNA4Xh^_#f4llC_o-DRB@Z>%nz|%B4%}6kgAf2~r86 zKv?Ng+E!4|cZdftL91Nd5wn&JsZe$TPa1gQGzEuXamUB*9v29D=YU}(Y%HnlgcZAq z>E<^$kZ8J)V0iF@TQI9YQhJ3~{6yi@67ppj%`x@}rN0UIw6Ivi)I?fm!=wxpYh_nC zC!ccF9{kDM)A77i%*(rc>mGi*@uJ8G0}KTxQS%K%KGWbg&Q}Yk5B7k?yO|az-hr6q zM7dZtEzk__!=3J@#WgLHiZq`VaE5fB9z@{hngHb~b)By{T(;+tnzVF&ChH*-k08S5 zpHfqRrW>yqt0gfq2jPbtz}}XDHX3xvgi3|Xt9=o>OW;BwB33L>;aj&Y4k38`J7q%poHJKg-C@wYxd1Z!6@M15J`z(b+{t{!~%>))fr{+0%f{^*q0?ps^ z5}21jErE#=)QY6?%b2O;v=A#Tz>#Oj2!xJ_95Na5kYoK+P9J9u zi;J2I`Wlu^=0kfMY+iKh1CIw_UB7j|y!YE{%mBSxwtIx(`0F-1<361L5J+3D%FCSP z&b<=!MU;I?RAzk^>Jqp(s9{P0s!Efi>>q6O+0ui<88~oegY`?FerQ4e1DBmy)~RN9+(wX!N{k zT%BrVn;qxTbE_}uad>OF`DDP%&t6=1`WV6gUVw@?00Ctn6_hQEEx=-Lpl|HC$CEA=D0Em*37ML*zuFCvXf!T zI@a>2_VJe%qA8TJ3v5GsLk&`H?z zNt2PtLQA2!SC1CXw@wkR>zMYCTc&ad{Lzq~#zo-gngI3E%JI|S`SiGQ%`v6>^hjs) zwf@h~1otJ4pId!oT~9Y&M-`x?$INVyI##7a?8#9P;*qbG@bvB(~#V5<} zdJp4XpeI+}D?2x?l-gCuPP6+`KW}J(eM(O)s!e-thrM;mX(M z*T)cZ<;QZEn|TQwUjo58)hpX^KdP%dTbZ^SPQFUxyV;3Fpya#iEl=WT2fnf+vSPCD z$C;nOGTrkvmbszu47S+&!)2$#wU^3h^+L>^s3_6lh-3o3xG`YrFb$F-x+0>OeS*ZN z@xEA0;XOe$knQ?Sjinu6`(^E(WTw4S0kq`Bc@#+ zWAQ*tVS>tAj7Dhq(9pJNo0$Ef1!w%R>=0y|4)g;Qlf9a zDY`{6B;`9gykT$Y`^KH9tDaNO)N&|4II8?CaWa&97@RF?Giz<&ha5*(xIfFzcRZwN zPDF>FNK-3`MCXXQA0IubdovM<52R~_kUo)t7KryaoERK6ZRt^_f7DLFCu{%!KmbWZ zK~(?wxU{lwWA&iI|TIb40uH$5qZ(a1<72=4iU4`?+F>?zJnF)3SO%)t-d z(Q%R5)5J1UtuRH~Cu6rH=2F59J_rSf0T+}HM zGe|`Ub)+7YfCae_>B$PgUofB!fhh6;yHdyodPxOnxWlp756j-Q56bQ*T#kD07Rhoc zAT#k?r^-?|79lIj1nmG3C&y$6u23!Ms0<38O8!O{BiZ&QGP98>G0W}kJ)j7~cQL3jJ9Je~rVdxt1RN7m_BdIWY+0b&-2VJzV0UZEa? zN|zC$-~9Y5~cz>Q-4BPapk9iB?Ivqvuf=S z@Esx`fayOmO~_4L1SPC9n3~^+F;2r=Rh-PYIcXgq^T%E$nLXUcarlfJSBK_K{7`hj z%Z^(vlVb@EqrZ7$GH2LR&OV_S$@@I4vP%;M3}oI7mGBTgk61cll%p<)3-PS(K`Ifr z{bZhusQj+V{gCV6(nw^A zN=}VAdw@(ME()!Yg4Zk0ckM~(8Aw$~3XK_5-gXjV`7BBg+6DBhNunlkdC-_LOlom4b;fVQN8`j`+?8$|~N_#>wC@!q1 z83LRx4swOQ0B!?jMdEHB6&`1PE}#Hy@-X}3(l;*;jk|W73FgE%=X?S-_&B37boOY$ z#SDBDs=O8(d77-QzDu^k`xdvHHCJYg-LC=~6M4}CUQ_56&UR_@<-~ZAZ<%vL@khKFIoZSd-D)!NjA=(Q~GZ&kdatH0@#_oQ(!p63{TyFKy zJNh_|aRGu~bi-MvgDq`plow*)rw1Mk=v?G8qC+t(`+fCu6_sirR_$Y!jSNB5zTvnS z$<0jS&@9FX*5sWgNH7gVCO{jE+GF;n#;32FK7wq)mCvx4*(vnC_E4dx0L@F8lXxmd7`)6-O+G zY}{RAl+&efbTf$Jns@mW7^D|Z<2M*{{4Lr*_tm(u?Ss;1ZssL0FM(D9@FFrGhfI@a zQnFNjqGKJd@>@g+=4z378(%)FiU}VRShWAZ9vhadc|qrZehHjh`p(|C^lby>XX8~) zeR~}{M_#YLiu(l=2X+cY7lQd6W`kFe6R}UxwiGnnqA(N&ha<$k8WIw6%z7XrrZDZG zF~-O606J;KK{tNbBcI4PWTTg`I%vH_AJC((*$si>u~POCQ;+s~<(>CGD(`=Mt=y;= zpf0YsN8FhoXMm87WhXT~6z~Z7+_aX@! zIE#yevd;ymuOqL2__Z&Uzx~m-$`8K$`EmjI-u7+=E-&B@WfP_I0;2ZWqts})y^j#6 zoai$yvKErJf#b6q%RF?ywet{e0FkpeBbL8i;}nl8k9W(5cOR6;thMYj<+`+SA(+mi zSPdUKmNaZT%^UuJdAYru$MfNbG~RTb)0+&FqBYff; ze@v1_$0407))YJhm%@vBvJ)61+9at$v=+C=J7dHVk9frF5X_F3q9@B6 zkWpvxCJkW6RCH)K;%{D#nud8Oct^d*@mjb5V;Yo83cBMWJuf#?Z7Dx5nA33P3ea?U z9REdKQxDST`PE0Ju^ee67P?eQliI?bK0$qHt-mc~kc$Ef`fsz8g3OUoL7=7}w^Wi8 zYKw&RGF2}qy~xRzmo}C;DQ>A;^x{<9TvM(B6iQGf#YhV{VgV4IMyJ|6AGU`Agc7v- zsPrG)DLXeg6%IwHw|$@M1W|x^mXM#`W^M<_*(haCLcy-`BUBKNR7?<)Uulo;9KD!0 z%x&`$_=7J2I0xPz&#X`$$*HI@@RR+UJJy78W%G39K3B<1v!bAW0&9Qy!6*|Ex*Lmdw8e3!L0pHzWufGH-GZ=@|`ce7AL@koE~TJ z#k0&6pjs!5e%o8;E`dg8w)JRj(8s15qd9hBHibhk8_0OrmkT|4;VIYsln)>6mk+q_ z=Y1|b?Q@#P;>N|Yc7b)PEQ8xeOLEy&KqT1_Ljj&D%QAIldHT%u^k9^Iw0}1JNxb&L z?H({1;02ta01;cp%AaIC9xQMj^2t}iX5pE<% zH0?&t|A^m(b)ub4P#EB3zakP%x4@$!lP>)7ZCZ4qGOrcS>Ys|yIB-~^vrS-^K0D?qbUTI~n~jht7VXBy0PcIYbUHbj_>rBtU= z*REUT!&v$z-6LBZIIv+CW!>eq0sC#7MD`GpU@+w>v)2b4jHtFy4>@jPzzl`$39Y2GMx$kGl zGPoWJ(LP6B50D_Hs}%Fjpk)R?+z;sC35=G2GW~&=P4Rf?JRy#RY0o=L>}$I55|v|& zeT&%@AoG?7GY#0w+^2uHw4O(Es{lEp^<;m*y+2RNuYU6Z$6$X_p6u>1&b`V^kuyNZ z(Xj%Q$V4fUmnIL7C_pHS3nP}!u>>wpffEGsvo38*1;|r8k+{gg-ac~FnI=~z(cjFI zxl;jp^WsMN^Y4DM{M8?SrF{F%S3^cCr!C_b)yx&3S~HD)+gs;k!3+?(Py7(VhB{0q zbP!o}4yA|K!PHYwV&=v*s^~W5p-bO(2Ia&1kIJ>}-Ex=j(b^X4J+{zaU_1!UHJ7x_ ztV<^?c+b@$1J=Pi%QK*1AK0*?{IsB}Bdly`~qcSLJ z6VN6)F~T#?x;h}jFb%JUdX6vfZ)rbAs1s00iRYV!#n;MhlJfJm zoo6w{$R`OTnV+G~jZ-P+^!z$LYU5>2S{j)vc{3VI{IoX(NSN{MyYUcFg%L|Z3>)Dc zT*#RpK{r2nD+u4cLOe_G<0@LtI-6@RFcajxK^~0o8f)S%a8N=hL4XubkIh!vH6=)1 zOGaZrL*=H=Ih%_rS370Ma*YSqKPua|u9ZbDMqOfgoO^`|14$l+;9y1^)BsN@VR8nD z1RzYHMjqlF)`@Md09iP5GcSQ|2_zq$qyQ=L9cD~vW4vr(qmA@Sw&Sg05Zs4H>}4^Q z_Uf-NG>&Qvw|teol}lxRjYAJu@-~cpKfFBxo0%Vvyk;T=LmSSMxG{I+><(~s&;Ljn znWluP2{k+nFoRLvb`>BYhN;oV-__ZaR>-V-wfhVbEw1I>9=A()l=p)jwo2T(SAOy9 z-;}GL+zh2B?uKM`$ee^UYz=5bvAqLl@~3ix(ihG%DnMQqf57S_`<)BS{=|$^4Cpez z#30g$W3a#W>gDpcKl~oEKwm6h``qR6DW2x(MKyB;sMbuQk@nWPOPtZ!h#v^3ac7qa zbjyDxU8wTLG(c%EeTVV`2#>wK&Go$>a^&@uhurzY=KUVp{=pi@8KTX5Cy?Ro2=|yK zN+pQ+cnnd7Tq6pLFgihJVHxq^{x^C7&iWiktY}ysSr|q@-OT7X{?IZ z2pSy1&obbXS6U{o_^!A&`y?&H&t?MUDt9LF8=fZ6u}1)fp|P4tf!MxIdQTLfZf1p} zpv`yGcPPDGHwADMK%^duP|OIe#AU22+<3p@Xf=6Q1=nRB##$y>spW0CYi&LXdQJ6? zB21U|3l3WAPs%#VBBr*x`ETK$-+Q`zpC8;Vq|amqXi^K^q@Sz(JcWMN19ctMJ$s!e zt zh3JjT&IYZNHHIJ8U>NrXxz=2TC`KHCxxk2N@-Gd&OW=Bplscuvo}bbFS+UC_!5 z&+htbWgq3Izx4)(9^|QSLuP-5%wDMGcom3>)S}7&@odY*py3x)#;57(mVQ{HZx@bF z{mFRZEdKeW9Bl3p+2lG#Kl9^Yj!WSBbQYHw3?I_D^LU0K1Fd%+@052wzER$J_x*D7 z_Feor8r#mF{l16|gqmJtNBC3eC|}95{YK=Ka(rRrKJ%(Pi9jra!=FPCya+WEPJ^QW zshBOUZp6~OA+up4X3afdX0f+hzV*hdW4oXes8Mhb7Q1?pt zxoL&q+s8`lR$MgV(aDtgT6v8v89IuRSTae4Ksy}44e5l5 z0ck+fwfk!bjUmRuECfXgj3#^y5&kVtA#9rfG~YE1-PKO3KT;w_dX_jrZpoP-gjFn+ zBaIE*)?G43z2X(q#!l3Ub_3%*O(RBE%%6LXmYGGGG9()`7!*`}2sh3bo>2?UVJhh8q%k0n2&5z3yPKGIqx-1{ImS?~om(95X)T!UObzTBd z0y0nQnrAzjzsd`xOOr6E4EY@~FqN z_ECO%C_lOH=Q4LHGQb>?Mx2t*IWi$+jFQerzD^t*&>%GJaVSd41O4dRWJk>0fm+0` zKzK!GJUsYmAX*xJpJq4ilrfSI=>>f3Y7b!=zy`EBpZGFd!i(u`%6y_q2)@FNOqtk3 zOzRsXI;5Q&w{yL4gaKp|cyY=VbYPXNA)MAwf>wRpE5s19`b|#jlOvLgi)ocfz*PvY z+S}8#Eb&gcpSX#Am}>Ee?Fc&dXaSzzd#(V@UY51?W{+@&kgdy*Q5u1q4xo)ho*pu} zBO9;7@FxU@)B#j`8q|q@b2;%1=-9T1jDqB=k^8vA16dnAXk4RCeHaQ)@dzwm|9 zD;8c>!FMCa)LL%oU(oEsdak`$#91Y$61-kAt00 zxiOshX(8)(Y?{mNi7xsY!?*g2%i8vMw$X&%zd0;dQGjl3KPf{-G6$S^)T39t3q|ij zWPKK?dZ*{e*&J!r6W72f{$MKQLr|Cski(tv#?C);rYKAVaLUQ=(~Q9!LeX?Hoi0az zEsS`wlVAX3g}?s9t9HlJX%?6nGk+_X1}@(fNG3!$$~hDu16vrrTSTmfP4f~=*cEtu z*fUZA>fk8c_L&o;DHe?wQ53*vErv@ah};HV6C9)hVYn1$8Tczap#V|Oo+7uxx*boE zQ`r%FaWXqCo_@Lo-PL#EBt@mW9W+xkp&YqNyH4j}<_gg4rD~mKea#+c_K?;(^yMoO z2`V@>`dJhpfn^?m-N1L5BvK1C;ZV9FG+WL?gaF&In}(Z;yo-DN8wP#LTh59)I+`7q z0|cY{gIof4$(f+_)$%g?f-W<-aDjmXPl|K&QIY7(YV@g?H5xLaWM^ho?Wp&t^d8(S z_dfb{*}ccTKsyi01(wKpIqE`HfZ|A8vLb8qFOvRZe1}VXO@5mH#AR-qm%tx<3BW2b zm=G-E4}4Nt#db5CW%V`|MCmxWx$S;gzY5Khgq;6bCOX25;g^)h*kwis|pZH;NlPj^KRDdPlf`- zfKki8gV*iB@ zE{A?iRAa)2?bMY{Avoar<{cp?33k)7yO(7zNMYIurR=m@yVn}x=|R8;f_ZH%Dfn?n-4#qr}=$Q zfU>wcmHj*msKTmMa*kDz1d-A}8aRhc05ZD)Sc0&4KQ$e=L;v8}PFUj}iKhdd8F(W{ zS?%!Pgo&I{fFop!e=deoI7$05hMRX|tkO07aZ=m?OV<|by+P~T9khnsW3+QgTtqV_ z@ZC45;ym_YPMhMMpE zJuiWI2^?1fV+LxTI@q4UOZ;a$D_>8@%WWOV@`wW8j=r=5Fk*8JgC(j?*rc1C96YMs#>tX%1}LnQ<@gjh^4msa+pJFTKh3u?nVByH**E3mU$zY zB#$5$NoH(DqLhY(l_m9y2?T_V)J>1H(*_J8a-%Ec){#XgFVSdH&2Ssm{ z3p4UMi76s24K37W6*4W_xNPvvu2PL-I0)jvqkY{x2vm;*UPQ}@JA_bxR?vDpMthxQ zaci7%r6QzWsR9%N1iNpI>F5{u2pgJ-50K5-EG!LiBRpsG?_L3-$Sj^V+wh!=C%`p! zXsa~NBaKP`K~G)&d){dU{WYM{-6^ycqNd3k!x~3(Bwo}4sONZV3=(t#D!PoL%uEn+ zm7Njk-O)&Aci>SK8lGkB9)_?9FKxj~msu8fk!K4n$O8@RF9jTa4C`K>CHDLr^d6Sp zovY=^jgQJ>_5+QW1@bodb*7}2+#^6*)@SlGiH1qs+gH8`bR>_{A?9E668OU|0a~wM z!YqYsGqat|L08=y6X}~F>}bSs*(yWHk@S!3YtdPcwi`8uduawMo1B^dS{ZFHW3u)V z4|{%AE-PQ2UMfH#3}OZ-@e|{d zOlt@1BeY)I;jk@Ca~G;g&@yR~WXx)LD)0eIeMcUw^6m_*-8tDnM^s;38|L;j0)ol^52`6`)!*jW>P!bjT$_1hK{szR?iZh%Kay zijxXZ9I;qyUpL{o|K|b3{Q=6)FK=?06?=Sk&~%3I+Ym14F`Bu(!x627cI0DuZCzUu z93vAdG$t!v!b@R-Eoi*H!$+seat742cYYoEH7-vM-`2pUqM_*z#z}iP;TAJL=I;=N zKQ{%a;``|opeCfim;B|aRn6Y5UFwb6PSMXpey0lSVd1-^aL7pB*TCj$B zvDuDO<2Z+NamXctyZ6iX4Nio+`hIzG`&wCIM01PAI~5>DJ`*>hRbyrjXUH%-hn-uL z`Fmahf8Zsc>M>@J%2TQw*%s0scGyf2qF&`TM0PrjeRpJMtPBGQ=Y^il_1krjz2i z!C-wL@b)>$w4lxZxB<5S)ycDAl{Mny9!J%O15bY=4DOYdY z$r+#(@~-TQgdztZM#15d=p~|g8gMIrLsRZ;2FQ9jRRJOmW}{+cp7758STBooQ2Kk1 zOMmBK`PP>{SN`m~Un~Fcqwkm3HWtek)fRaS++N(DxdK${rqN=1>zqWC0fIr}hY&$z z_)1^F3EE|qq>(lQ6pT{c+}m@Lliz-Ge^}nW*DsIRqq7HN4d}!=GBJSYz4>>6HSCMb z3`k&3Hx8W!mEatm2->zYZ@P(BbQXfPaY!`M&#>a#!qwpU((#Z-I302$OjCfe^IQE% zC-P3Z_E-E!d;$odbxgbQGfcwD;3wOS8>vKeLbtccU?%DK5ib6O3AWcQ649yQ(d;@A zAn?7HyR{iW$LOxNE0d5hC=UV&>DVP!#U#4{f1O6EgEs>o4!X@gF~1(w5YGO(~kgM49&(-?urym}}=EGl8i8_PEaG~lXs6(-tYZ4ruh4H4dx(1wUFmxzr&(t7w;G0DT3*4{wxvk9S!jtOAJii-sm;X!Jm{lUUOy75h_h z!dvtnNLBnv^|yyT$R?$4%M`czc|F z@NjojKH}Kx4;~N8dn|+7MZ0G^5Cj^UwVNi!!g>QmUfu?9L-z-n!RwX%kwif*3e97-$|#lr1fkH(1fOvicPPZX6ra~ zF=$~j#+1*vT(rO=$Oivp7XO;U6H7(OpMPWV0nHmOpf))2f_wxYIC>i0p2|0IDKQM? zC91DnS}j}H(S>3O+!n{cZg|f{*)AgvL+IbRQXVi1)O*B6GyaeVYprk^fX^IF1k~6r;uTA;M^)qsk4_wU4NryP*nPZ?w%!Ig% z%`+VP?u|wvT40;N3il=+p!^IrUn|=iUo5*TocP9Nr}WrU9w-y!KmYu8dGG42!u63c6Xsqh2g_ps2_@x-0%Ru?*IfM)Jq*4rU(4i}JwWC& zMwAE>%iuf$+j1l<9a|4{ioTld4$9XOdzS|+e;e#RC_nn{H_Fex|F!a;e(;rYfyU1} zfb1K+=w_|})f$p4H0`auTYqE5&|-tDFEt#;tYWwG*%Tm`yXoyqMt- z>Drm_pn~8s5t%YN9CD0~L^n_k6HJ7Ams>-@A^j)=L8aYw`eFF)+9RzfH<=K)N9@MO zgnNaXF7>zi^VRLdb?u@OCUC3v<6eeqc@h^ZC^}W<_o!*EQ_QRoG^ma>U6r6H^N66J z$e39VhNB~=f)eG7YbZe0F%L6;vFKMiz<(8?wz;{cTJUKri{yo5gT^hqrSo8#${;nktQVn_5yF9& zSZ@~m5zG1m($%{V9*mj|34m+zIuolVp$DA$=6yf+SKi=CkyL|t>ciXmmNNS|QQ z0Zo*=J)Zk)m-yu2Zuv(JKlu38{nB4x&l7UceM?ImhLB6)Q{ii6n6OF3G7QX=UTQbu z{WJy0OcKV6QaKDJXMj8koN_`2+i&q41Qp2@_FInJ1GM+3{KcPq7X|36`%Z!m(of8a@r6EDk za$-CL4^xrAt}{H%4{q(jIx&7sIiy#op-=A?u4XhGP1oSM!3>d@Zk;d{baea!X7v-7 z7H%ecqLsf5J|H@Hj_ng~0z8H5#^JC8p8Qx*mVY{Q6AgO=!xnwH>Ou|aGS$CJ1;_v` zMu3f?3Ksz6QI&r2m=8N|JaNgB$`9@;HtmW1L7a-PP6y6CLaR)JuQKZ5%#a=IP@;n9 zh{JbOcTGRi6rD4haUs>1?b|e-9qQ?50G~juoX<0<&mxUH`m~joIqTXjjqdl^?b1r5 z(W*y~rPsvvO-8vfDJ-+#yjS~Xnw%4@;rrca`JY+v}pGSGU zwvHk?U;v4IK!5e)KQ2G}-dDeceD61%~-zgF=LgJ7_ z7~k#DCb8#ughWGaN+ChSS+goTDmvj+-$6PA_a5CR6z>PO_sY9BcFM;Ow#x%fblY3r zgn2pSfKmJC#1hU1f04%7?@)jsGDkC)>GVo;!4nd3O(=zy3Htbx*06wD9#JhOhfRi^ zay?7}5hMT;tWmJv=D&TLp7#1Z2Ah@yId+^%?ra||y?l4cHI=Lh3IVr+-&8scOgJ{2 z!B0eaD)gx+ewc&sYw-!|h;RE03m=H}j9XucrymNS>J>s)yDmBE-Bo^c3*l91z~yl6 z2}(t1g}p&2LOiQ0IWr`5#dru(hGi5~c~TaRm?(-!oS%wUU|Q`BuMCZ2MBuIexEyO> zaf^f!_l$G;@3>q}4VrM}gGg~2xl?1GB|vM?4>v$hg^@kgrv~YIS}$qL$fOLPY9D7@ zi;w)_`-|_cSdF9IU8n`D&YofATKftbg;J*ys?H%-P+pZ zl(^M$aUJ{0C}xDV7I(|yqnl-iy+9AHyjxa#kITw%myQ(U&cL+|(5SSCg59+=q$44X zd80ZTc4DozjMHMq01`eEzG@L#%=$LLC_iJi*e&e*JuiVzQv%7ojlz?Kw*d9P7z7n@vi1_YHEXxK2xF7i1K@r32ziuT55LGSdBhV1w80@M8iPIBW! zx8d>yuC2LT$_5X|UYB+D|M1;gy;vR{Y?OUwM?5^BDL<-Dxr{3nAQc~aRy1$OQJ!dT zLK(|hpq%l|oVfJOL-&2mhi1{^p&R#i3*m6)n_p{3&2+N^Crdp*PJSZ)o>XZ)GKt`^NcFTYM%O97&{LWX(Tc5vJmhHO| z$NsC~USva=)slFTvHT2h3z{IE$=k*>r%r92ZHR+9P=Inxr41iCG8N2{OxC4JOz{&; z<()rl^(nWRVfg2d?w5bP@~HGte7w|Z2!k@^!z1|}Hbe?6I_^3Jsft6#J>0tAX-`o^ zK$pO2rsAa2;oqZV0CB?zQ;l?T$Kj~s?=Fn4eH`GKEfX&4!tL6h6|{0m6Z?A7I`tbh zbf}u9(mmui71{cs%qARWK1{GxNWPs?H;{j!#L!qQu?%iB=*1EqH+U~0tXEKmH<&rx zp!2rLsW5!9Ob0;(#Ni%-S;6CoO{J?m8r|f8tWd+<$Ias!JDf>ZekHE)CatXZN#@d~ zs&50>@HgJmO~d8sp(egyC?=TM)0o7b)mHgp*5KkaDT%~dY#TP&|{q6qaLmgUFS%fa1`%HAjMA;533PsovE zM`Z=hshz}ggSMyG1&+Z_B%}gXafq}H9<@U{;2n0u);wjH30)*l>DeAbw9clG4eKLi zwRl+PW?ll%Tmm6Ipe@yoR8Zu#bmiT(M~I1^yf8LZ76j#XNHZxJXt<3S|Fz&xvonMUJ|Lr-!s_!T&^c z#wTYlc-MRga-0LhC_g(gG*YzFKgn2zS6OOiTqeK@c-5okC%%9=F_}j2b%fDREHa0a zaCq{syXE2OcC0ZgkGTW#z3Vs2KfV24`Q-j1?utY$W9Dn0`yySuva-&8CoC~=q)-#T zz|k_yc0c5!I58*`DMW>sr$8tLl=6!w6raEkI|p@TZUnBF2YMfOC&~e%`siU*5j6S3Y77P@kzwM<<|ee5H<)%yCsB z@y=+dQvb#TK0~zQ$v_w_-LCxvfE`jg9^MJ@PIYcLkfZ0EMnI0@j-OL8F+h~<48_re zO`vRe1@Cgk#H+pyrZ8tzXXFw|PX~nFmT+5TneJ}9E;*W#e@y0%3mXyVT@nSbv6MRpELZJ#;hhfzBTx`Xl9K( zOSlR&dBd!>@;@!Ijo4{nI{tt?OYn$E0yD>{Xgfn_V|SkBO!=cyypFq+=BzWra#l?NSmf6`)C815AW6!#vg} zurxJRxZ9>gn^D^y{pV(00-vq~lEQMY3wC7?^cR#Cia;`<>X8)R=rQ@Q(rZJYk~FLl zruha0++sN!@4DigFnq+n-TgGtU#{}ZmxBxgh93qCa3HfDqqUbg5*o#aOHPL@c^j;9 zyB-k%lZ=3xI(S>qs?S2$Vb|N6V1m7jd$OXW>u>5{YffLMqIDwBCpe<`y{ zaW5){pAlZtUwe{u>?X-pR=W>m%<{DZ2}c6*n^&6wN(D$F!wo>&6zlcve)%82eORvU zEtGqlwZ6~!^_*?U>?R73iJg}r?ZcyyrzQ1V$e=??&jsEwNO$3O?Z*V2$*BpWnF7~9 zv!@Gm2m*PO^(}EI88neF_AvqojquZ-`twysbOHbl3eqK}#+RX=6-HrJ*)!%L3Ep#Z zk^Kx@UxJQO6(EHm-yWc$;*>C%(^RPvE=Knhia-u239feLg1)oai-7znP_x_DGShsX z{(hkpAoD;OXYR>UtBa>+A$-r04jI)2Jl0L?X|U&N#stERw@{8o|54_Iymz ztfwmZc&zLQC8$rQY9Aty4VKYJJQ(59(x_Y*as>7O1ws10{++V6bE7Oj__(a?-Y%QN z$7PKT)hi=rkx+tUOnFntU>@(NH!312t5!~MjJcAx3>VhQXMS{z&;(j}D=IbJ!kwUY zX@nKL8I|Jq+{{bh)09Ay>Pg3`07+#z8`G#fLp2&r%Fk4#>PqjDreF1~|JYZzAlIbk zjG+U(QQZx%u^rNX$lKo6aACcSTsgxMw*wTQp))_6_@?qRSiTfTUiaNgO(bp!0-l3( zF}e}(;s?Kk+ME&tm7lhZxcTHe{iogXOV$jO4HA|~j7cm#c=EpnJmQ-XTPcNiV(GzJ z9`DWcPPuybL3!uOb?*Q9s65!~BezgSIQ${I1`Nw1&(tbI0phLlqZ|oHhZUgc2JoXo z6AF+BlJJtZu2W{M>=bZ-Sr{_Qnj50ME(TNRPXDv!yY6 zr~WDMWSnZA3%mxb^X|g!+B-qcWVLS3YGzLt=nC{CsIZ5?F~LZf@){$cJsTNkX}kkU z0d42XAnpxQ$fa;grN$+3xj$&JytKvgIA(+vB|_jtTxc_wNeKX&U_*GEn$;8_1ynWJ z@HAwyLF^zGp{jVsKB?yx|D^ZKoq7O7<5E%3{`?K)3t+25^O-0>v*yFPo)AMKc*^hZ zj{?-_?vxBagLjNvN2h@0p$r@x@OX)05BcmJYcLfG&VZ+1whp#YcpjFGJ`#KTW?A3A zTQ&y|%G%&b><3y_k&4a*hy=>=iEV+LK}83nHzaY3F#Oc^B7D-Z1*-4l`_}R#YzZgb z1v62A_=;X*06zq0{y8s!vy=cdDm@1MPT~b+CHajdk`x|f7r|1f1441w|VxEBLigD!7{T$v4w)cblxt1i&Y|30m{6Z$n*@5 zc?x-TL;<4L%C!J0K+3}?FQSJ6gu+FFz{(|zUd^(^k`u@9NBzg;^2Sp6qgOAM|NXDt zDsTPK>*ZAnb!vbCP$REOOx^mp|4Sp%q7HI9bahvlZBRoI12z5i!Y-OSQhb9d995q`+iiw~!`+ z)y&LhrW%-2qD12o<&k)w68ssw$>GXUW zD96VQ>Y|L!lJDaoJ`;VSlP^Fam?g;Ktk)KB?_iINnPwF z?N+i?MHP4c+J^x<{TIBBHPLgM24BOS5CPwb0@R7v+TMtUyIvp@%l_zRE;0i&;NXFO zd-nq_KfPMszkY-L@o(4-PFt8cR;DDWZKB@pkO`rhf5;zjK zQkGPJ?8)-B-)MaM7%qXU3XpP6S_w3nHD6%HybQL>>zCKdH^2C5`TL)IyL|5pua=hp zxrj_P;9LQsIRCvED^}w>?P-%f<7pn@nIR01@(t5Mxb!x+v2!S3*@b|9e(h2D)hCb3 zO_ss!d2}O8yTFttR1qCgG}UMC1^PF3Vjej-o8? zA8MJe=mfFXp}c%`OQ;2Ek)HmJm{Tpx$>E#Q(1N$`lVd!K4}u%O<6O*`$g|{QlE{pB zlE_&U0daDt)_I#&ALo&d#cw{&lJ952gG|Uv*1R2rm=(hAY|eqBl|z=tag6K=BcSVC z5V*;~2W$KHdG7JtEgO4xP=ffT!Czsfh+PReFae|(u_hnZggl!ja}|y?hvw3hvr|b} z>$_Wh@expjl#gH%2=5A0r?7`*{xdIuPhSG?#KZ*A)lckId6#x4WG5{r4QEV#JJGV; zn7}mjlAU_q?a?jouc2KdsKW}*Zg|9Ve`y^h=K@DSUuLflvp;d-8wwDc|3{vHMwkK8 zZvbw_&1Kx8K!?4HNXtd!FYyu04ywq78fdBv4h3p(!ucd=)c_f|<~?K$?*7Z))j5=m zDVX^Yk_kEG!4D()ihGpV|NO72VOs4S z=~BM#B_!Rb577%0=_nkh06F{P(@}t8`J1!X%mAhGgFRrRvb4bIZ*RVSvHbDZ-zNS!dm&2(R(`~R$4V(d5gH%zOG1jcXEVC}}b?r}q@eKKhYIzFCBVK1r!>ajx zQ-I9V^ES~rlBhgZmH`9@0+!g%vkV=`3!wxBPvw%+72Mb92&}NaeHEo=ojpP8yPO8c zdxKNr)<=6Rx?w*M;SyhGfRZ($d58??lfLn$2O^~zqw#~^VaF0w7<8GT0z{3Gb^~|d zjUDHfc?o=)5|H?47lQUGoYq^0+&t}8noUZ#^_bAH^eElqgrO}N+qF#SIAZe|$0GZV zw20|ofddfqg*;Usd*84C06+jqL_t(B?)r&YpY`Z74Vm#N7uf5=tj}-_B}iq+gAhXb zai)Y+i5FOaL-LX>n;mv>o!}rw&4_O1B3%Ogu4lE2=EP4}8e(?%Fkz*SI%?dk$C_34^*qMu2DkRU%ksCkuXFeTZ$~X$`Xo z0!q-@>MBamYT4kp$~Bh6v1c*I$As5}CIT~?u@rcTM_@r9(rP%ymp|s=h~wDzILld< zz||Cz)s6%9sof@JouDj?+00qWtGuU4?s`}l82)200%i~>Y|#}A*a8g@Hh*!v3HY)0})sbw=sOeP3LtfT<~Rf zry?DBU3gKCVF6LzVKQ7>{w#U4`c5!OFu~su-tP_(1(*ga0?dErCGaUr0Q!RXVs}Sv zgCt<-*N%QFKsje4wdVW{QS^&2CSU0^NVCywdnfgK@?leegw{IQHjFAiLptLFmUH!3 z^44e1&pvy8Mq96zg-f3=y%mQKd%SX%rwK4@H85#}tQGoW!I)}%6_p4tlfBC21EkF3; zrSc|+AzUEJcqtx(PDcs}urHFKtfI7DB%FRnxI~Rp_m$XTB9H%*7{b`Qj1T=i=D@ec zRpCnXrY_oj=!~^vi=jY_PHcadA?IjEkl&0eL~+xf<}8D?qcA@Uzs! znOFw;IZ%*DM+)ZF&_u#G@|{95?SZwyj3R3y;oPebbb~Z;DNg{ij;mjs0OPt`-4KMX zIbPu&p^c68a$$3=Z1HTcanY@euI(MVS&g@lRDj|kZc~87K?>>$FMK0(I7S0wsMF0^ z6^E9}>5!i#M9X7~OCD!5XU#{{_l&R&mNa1QPd6>pTmd@0tfX6y;9X$9+{oo3p#X7t zpJUE+5L`Z*T)^h*Sn9!-2O}WkSBKjuLHElh3ee_W&H`<6RJKacDziv-#iFAVXkepL z(K?60>tpl`m9^Fe)slr;O&TybZklYO12YCPx6Di6IhO$ZfZUgkV;61AYgU#Zkg7!2tSb%H9d>1TH7mTe^h|jE^*`jlk(xU8|9r3J}Ni4|7W`o zymgkqF-xWbevQ0%}8J&&XFKLhZP`~zVYNeK*Fj)qu*lq+7G6# zTy{U~?IKHe%LNWV_~Ey|TK@K@Z5AK!wOdooWxCFbv z?2sdW!@h)u&E4teX<&xA0yJ9zKMQ|8y8;AGEx~vzX%J5xdtlAC%1ER`kd~goLIILg ztz#dQAfHgGi8G4nXF7HOU5$%V*SR!x9R-M4AcniyHc2PY1|vtm6`B(TsL{0aV_7Zmgqb!GkUpnkjGl5{$s~Z1<1QDpmX?% z1GCF2Gd*hqkH)@TpF7L~aWY)brEoj!2T}=gHGl>fv;jFveptSn)0$g59~~3f4zKJY z!P3>hf#F^quqT9ZfEIB6o|nKgmH@N_!Og4yMH?U$cDwV^BaiJ^^oiu476P|Q(B6gR z&QpE-8v!eix_0#pGdpzp-Sacxl(zxP-&_JW;Le}^(q`@nVjp!?)98A+pEY(31^?NW zIp}vVo&h46j_LAE*e6UTI%&*8wNApDw`O$Z87n~M!aQrT3^K1-4wakn=g&Z-*)26= z*%T#@`$e;if;V)DABx}y*Kd_yz4uYMdgE4ku(QXhc;u3OK^}l`K!4K15`^e1P^3Se z0TP#xV(Bbk5eP*6sZYqE#5)j)eyx39-SQRt6$3%iMp@O%uB!@AK>>Q@;%52j558Xh z)6d>2pI=`rmsxASZWv%$C$>CY;&LF+0*>X`|&0+#pH1$pebkfWz;^;M$m=E43#9j9Eh54~y#0#%Nhcc1pM4>FVJnhGP?8?DA+j z?&AP+%e(~6S_06K?F3XC)ED$7ovNTn&pgqU)fad8$9JQ?XDvZ=~F(k2K)W1Mm46dD7eFE4*J~Hs}(2ftV5E1YHk37_y4S)=A?Gt#|#fa1IDA zgA+@VZ~!8hDKU${hEMGCbBt5L zBdnpFj@+l=bWz2B{rFM&#l8JeQbEvLjrc3%p~}>B8;Wj|n=H)3a2=nbM`ck5_=IIG45pi4;Qo#&>qq^~6EPu@RsG z4~OOsfH)qTu#29(uRDUsLkinwX)LkU{*AOsFX2qlQ`%~9?LQW150I}{)~cYbN6Nv&JEk?Ua7hH5S? z3f68;lRip-tAu5l1>pKU4n4QbOW>>}01ZLs?xUG>&>L+w1;|c1Zb5EoPs(eYWt!S; z&+^eOylmGJr`#70%$VhX&)~Iw9CytO4~ovnqpneY7Pej~W&LFak2lI5GqNg3d3}g{ zrMwVs&IK{7A=mL_dbYD&tTN>qr+pljnZa9z;faj-lR0cr@}1=}o&h3r&iF+1cpFE& zauy}QikGnSE6b_D#tm81ZAzm|$nQP}XZ`Ct@0b7YUw%;@@9u}1x5%A90~I{>lP@e& zew<$Eq|7n{n=X5gYctFn_N)i7&eX^6ZiO^73>Nvt!2)QqMgKrfJo%3bWcFN;eP+-Z zK>E__FO|RilW&xN_}TYZ`o@YASEBR>47hqKZBu?44yNrBmjV5^kM5VZ@9vem1I8xY`@^Yk3wAUi4x{yV zNrU%d5XU&-=WijAxdJp>vC5ujHD_0VNI|mcnv}L7o5mfQE;3#FRAc}Ns|zo}DsXUD z$f^7wj6!H3xKx0ap~E!DfNb6ob;`ZCH8qiS*Ve+q8*Lpa5)wyr`I%jrmHiC*I} zaYF`1x>Lw?b9KZ%v*J)=+Nhk>%$|mgC-5VQv!ye88WZeiFQtrgmNcTAqQRRzAHqLN z8e*ja)JS!bv*&5E0|va=vyq9w2>|tVyv5x==9_ePej8KGf1Q|NPeVNV# zRL>=;J7smiJwP0Zy|&AN2s=D1i`(Lo)UDCuST48dh`FQGj+)!C;jfk37*%ly>=Ta+ zm)WteAu54R?G@EmjTAl+U@R{(>ilM9`Tbb-*K%B2^Xg9$!Po!p=H7L2*zsr8xP;nDdqPBYj;Xf-$R z3oFu$yM3H_V*yDS?d@=HTCaTL&CiveF$46U{_Hztjbv6xe~C_lS8}wym17)Q5--@B zI*d|#!O;3$ppyy^=aN9g5Li`!4%|2^U8n##xQ-@sz^)%d8`2w#@3WHP+U}_Q&yVkw z-#pkak48*Wa%TJDI%_t`iqnQFKs^;8Mk!>3pw08jCRI9DfMzRPYU0f1Oe`b$I8-Ac zbWKYbffK^Z@8*Ve61@6%<7%G-ARZB2p5{CJsQ<141U*P{j>@dmXA=eJGN-n<*NvD6 zESeeushcafJ!MA)NZeG|ml-{eK4YZYK{OIP`RA-1?&#Q`4DMK;+0&pb74YM-8(WTr z+jX2hjf^#W31xWe$C{qiL^)B%XEEmCEcp-{@tTy^SyG!Vtl+2X<=BgXt^UIL%C1d=YNpoA0D z76b?FReG$SP$E={>`^vIz0Sx;{%JQdPsmx{x}x+j^W#dHcvNth^*La_&%)MgaolxT zW6zIQhTzwu?=^DYG#!6hq(H5;3xUH_mvw?wF5#}}cQZ5<9*-JD)g&(|HSl!24p#=G zjq%Kvu*^E4Re(&Rhk|1}y2_yVkapEBfsL(hL)zQDJxXSaWq&As zZ(q4p-v01f`OU}I%kCaC)tr8}y2W7-^hM(&f8sjxWBh?DJQ5UXDm{DzuF;1FnKZVC zTk~&k!#0DP(ZXoqo4g$`AnILdtDI(Wu+M-H_V0h~OXV;A`0M4bfB5y79|#2qB`Ny5 z5=2XX0x-e8K)-VZs8)td?K8>=$B6<|JFg4YDlOs&#vXG1xynzRT@QWS*d3JjP<(!V z{ZYBPJ>cTg4KA(XS+hZeP9+8Ck`)&d+8h(@#)hPXcRZt9dT)8nDj0 z3%6_U1UZv+%3Lcp+S(Q&%JBAqj*Jp{2qN z;n`Rbv666f*1R;;{XiEsIUs?{Qz6yB(-Y+mAk>((Gy=w%B$c5h8>Kb^7Cxu{oVBys z8oJXVPeRO|M(sR~i*sz506W1pdm0H~s+v!L*>ygP0u+0;h#Ym>1#*hrJj|L8@o zU_X_2rZIaxnAog&NW|!V(J_ei@g!zvYzQ4Il_OQ$lIEZd!x^G_n2vm~WTSq-y%)>^ zt+Eej-B}<`hP$wj64bxL3=s+vapKg_l=dW)U8cY{>;etI@iO0OOfkRojja+*0g`E} zvE32Rigk0Izvm_JsY{?zj&4$yB~j2etY9?=@D;{Bd=GP z9qRX0fau!+Z;6>C3whAr=S3PJD*|ffCD2ct;}o~Ry9pFM4O>lwZ6Cy`(Xz1dwER$b z;<9L#1ut<7_7#&K029%2M_`t2q^R084L22t zND5O0mqJ$hO`(NQtqPC=TDNFWNLSs)sp?A?x5|YrPKx6Q%Sc)Q8_JHt85h1?4mV^9 ze3^X`i_SEi!JMtL3jW=4nlYW((;)x0ptU#;H*!x)ZuT@9l-7}M->1B(!zlk#f_1&E z+q1+m53}Z@!ENtuy3f-t{HzBmWyZuJ*zt^V1hvH|BNZUmGE?=?ubZmf`kk{unSO2{ zrg5)4;#&V!UV$SW0B3<#JpjSWQBi=lP=L02C`3b!z`=h>IZqmrn4KQq@f`%0yf>z~ zPIem}IMwFHSmGM5__5tFZc~0IK6Bf=1fIPFq&d6pjRu20gEqr8WTkGhTlf(^Xxkrn z%e^Nq;R++Y8ZH7D+TIlXA$V?^*`MC>CW_BRW`5Y`6UxuarN7FlZ_Afh61T;GvPV37 z{D{0q`@^H+vjqGc#1N;%7aziTe1m*!y5@vVdUUk3V~%M{4BCuogdztdP5RZi)h#@9 zB5;;ScI?Bcx`dB%18jVZny|o|c*>EugqgSd4J~WiYn7fQ_a*Wyaws z7sW@|h)I};iZYunZ49qxJfMzRL+4QXD>=_yimI_| z;B!`_2=B&iP3&`Mf=9xOMoPg1P1sN&LB}KAP|4QT1`qcIZLF|9nWb)_K+yyN(XVwmP1NK=dKv~3xOTS@p^nKQRoVBBx#hO?hP5lIy+VPk*mU%d9 zK4yh|0*0qL+rUN|w!p`9SdIg5mOR)fyD@ozhS`RAa(=YK|RD7pO!&Q$ro6J5a}vFx@=hFzs)bOUzn*@#Rb9Z-4wJ<@;a#T>0{A8`OeefoXjaH)ntv z+=MOs7tPESpjsocRVqMKdQ>Fr1>xlSS1J<14V{R(+~?sW^s)`{T-iS;zrOLX{L_2a za)e{my+7PqOx)Doi3?r8-4HQvz|R$+TIkR4>M9>y`!j%wD9^&0XHC~rTI}2%msZHB zGa?^w_yJ_*A?zye$}R=2f=8OobPX7zbSg4NLW)N7K`+gY+A5bsx(x0D%FyNp)9uPu zqk41}FmkpC`gi!LC7MZ}`g@kns=z)A1*o+V*$|wXg$Quge0&xPP;>}pLw_9VtoaC9 z8^?aW7P|%6H6Rr$Wk%XMOCC;DfFfz}prH>1hPQahL-0~AypfkU-j$_paXBhSV6SpP z>ND&1u15Nh@Yd^*jz@`Soval>fou2e+Si_sr+BkKJDdxTU{LNJhkc!Vs)H!9UPINN#kiC84QSeFZ0G%7$f>_mYj zXjOphye^{HEHL{s+>W>AT8Tz%c=nPE9d0Z8VptpKqlhgntEXJpu#$(dW3EEz8b^I)=M;%r&T z7^)U~eZnfxgi8+)g4VbYb#36M&K@!QsMOVBi5@Kzd7oC01{MnDj~;kY1tH6gB8DD-D~dJaED%U%8nV& z{T$Rgv`jTeuT0$=MA+h}}`t;hK>MKK=bB!fV6Yu&lZF$u* zT4A*dCk8Xpi$242G2kKLogn}bN3Cs#gx_Zpa+M2B&GYUat0f3PtLy7!ja8sm-~OPy z_}W|L*RQ`*ZtXJGvg)%6FR36gf&bhmyu-M{k3x`HI%LwuT}ui<<|Xpe#x(_=5N>!o znGc+NuSQis0+@WNaTxNzVXE; z%M}!aH37)HNFSng8KDhe_2KmhnhOD_R!Wji3P2K-4Q?$tIEV;>;BcCI*baH_5$6V# z`~ip3{`sAI_tCA8fW)hjB!cqd{Sbc0+l2r$ z46j)i!@{;u=M#Wrc%-tPnfV;oQ5f|^-mUi_vg#ABv?nRo1bMmg+|10{LvR4785Fj2y3cjt(GTrmkYCyH||UtYZa-^R$cMX^?m7;6ea8t;S~kq@JXp zS@#F?uZHyCZt{2aO61x6qBWvupGDa%*B5O@9TuWZ3ivD)LR5N}s--1_E4 z#qv$j+t3EGtz^54$%1G*wwr3mOWLz-n6((=x&SR8?p;{j4C#~cr(?&|y&on5cA@Pr zY938J@+4C?+omJ$_-S%QWhwyWxgSr_pcI1fRAmOs3Xzokr8nLxFTVO_dFlP@W#wI8?m~eTS z7p8i?XPw!+ODxAn8e$oqM%KaO zAOOXn9`!i{L+1=bRmg)sJR=Q~ND}1WWX1?U!p=Ej>8jBd{V}v2Y)hT-jK&h)iBxGS z^2Y3QXrOW?nn!lcCl~_u#4oY!ZG#n{%lF?eSMR-DE*;*D^FWPh>zK(Z067u}w>{=B z(y677iP$cu)u*ci8NFID&nJlU4@B0hea6o6>AmJy#|0a-co4B{a|hZiurv;6M8o$~wF-Yma+^PTcG ziV*e@5SKT$i2**5Z4TitLy-btz3kjR(5}nDc~XU-nH8|;NC?ojzada96o3w=;kp$d z)Ln-Fw44G^;f$jK(9ylym&uA5P%TAm)U=;5FUgnFv1!xwTKaq9@tf&yzK0V)t_~Q zpKUb6ZI>-1Am*Dw2wHQ1V@!gSXm2unXm?|BAXasp=dO9?o!Opn{^w@7a{t}(sp-m*+kZ zA|b~qS1l@eOXJb@Y^gDA5JFMVzk$M3VI%UzghWh4w00z4)mzzZQFzCSO!qx)`8s7A zte(*hb)2@q>JuT&R|r7SDUu%HTYq9_kl1W-YdV(67T>*DAye=RVU6Pv2s7UG^Wlfr z%kN)*tNh{J56Z`?yGDpq06OwcB+xWL05Z3lP(&2?A`S9-1h49|v7+{E^U0CfI( z?UQTYeqM;#rHqR`Jl#rF(Zm{s_0rO*GvvgMamKCl>{*hPn>rAINUbx@!6iW1Q-C?E6jk!L10TNGvkC744;h5=E1FU_5R!CsoO7?D=0@;-@k{#5SC0s zb!@I2Ne>?EcC(8Dkg#)4Gz^@@4n`)+?{C@+sbBr!BN+<6FU$o7{-qemcH!=)*Z~E& zTme$3@En_~KoH%`po9x67)MO((kkL&)14y(pXE)29~kz{E2XgNv&`y`%AnX5!yP|Y zI5&NXvp$@CK~SPBh0v0cquGNo$YUCT(Zt!W`Lt^UG64PDTL3Hs<)}AFyqY zwzR%U|7=lxcUxJs!{*opv7vPz)i-)WhExTFY{8lD)|L&QZ97|UjotK1UzULMh>c?O7E zoXXFC@V)YHfBK{HoiAQ0PjR8T0#GPOa%RzsQc1=1-Tvlp%~ZHPYCjhOP^}Rw%||*_ z0I~yErQ&ULYQu5`=m-I5kHcyo(coVE=&=0L+xz9+d%NWxjOOYUI)M8-g!PacY73p7 z1=#*BFx=;fn`eTiw<;%@)Z`!Ri~Nz}Q80%y^{0UCb(9YT-khZRaQpT-K?gZSe=#WJ zG|;$ospr6p^>M7uXFlz)&d!ZD&Ci;IA48d|I?*wj5?zlpNDt{HzA}wL6+z&HgFce+ zs$G@B7t;FC0cY1xjNk;&8naWEFJERQ$SrXk$Ry$Jo|MRhsc0-nzc9G-Ns{qIi16;0 zuWvU*GYQMMNlxb7cBB7EyKeEAV3!6KodcibC18a^z!I2WW6UU~8^9L=&=Ble4_2CW zSKkAojj9VP-&ATd}U8>V)XDQ1R&-vi53i(;X?qjO&HJI0?$LuFe*nVRM=$O z+vT12%GEosaW~M%tO$L|1nX|xnXz(+QUo5EH5tm-Mk;LRHJO;!Ph0-JAyBk+^RH=d z?Z?CFc7`!Zfat@?vh-u7?>XT2f&8nnLkFjz>cp1k<9O-n1do8zfVDbm-}na|CxGm| zx|TDyUIQS}h1BY_i=lf>!W1U$!?3iGsh}Z4@0en`2`R)P7;(?=?6~EPNr2s@t#XKB zgGp?6L&F=ZK1HTHGRi#x^sG3Uo$c<~SAkMF!&-o?JhB)gZQvZV-qlC*+#K&(S} zigBEA+PnE;47Z~KijQX;gXVCu&f+SUP;j7>R3G!Hpwel9qhEBTsD{gxDbke9SOKmA z5H+X(bPYZRyOS6EI)8B1R(J688VG* z_ZhI%e6fZEJYj~xwz)jvpdYgy_aNLiSfYIX{XH%}-HX*9x4$iOkIF$6fYi|84Zk*s zxB-|(@A)AKxpkP?gdP%dNaR8Q8iw2K2#1Ajp~eY7#L6B_O9PSbW1sY3v;K3w>|$q3 zz`(Vo!8^ec&VemffwU*>sl_exZ)XW41Cwqns|$kz+lTvfc+67iy~PU9B~)Wy-d-!0 z&}g_01B2;jFA`E zDTIGn5Z}#yN}OYsKn0|m%2Cd$x?I3S`y?O`6KY1r&gKP0i%!3_!9)k8y8 zd!HV89Ihxu5V|lGfMlR@ds@;AGpxa6<%}~Ob>u3Vj^SZ8V*49RT5Ja*i{>%~ASSgK z4>mX;y0v$sT-xDYpuJBx6Lb>|ai5m;Jyc_(9((-&#RzJLli`CfgiVr+Fo&`&wb@V0 zF73otH}>xb6VvY(f-#F6^pKQouICU|>#u_fjF@4M%G5`{)(*{322Pjb@FV!e&kP2@ zRKH$k{PIIwo@_f^jZnANK@9_}2=8|nDZ|EZ&~U4r`j&1@3ctupR%=vx^u6{&dI!y0 z+fI7fuUC2@e1jddVc(5^QikosaD3IY<%$mwO7@}Tpl0s&an0~I3>*U7sT@(j<60OVvq3P0{B=ma2B?Al{(n>ELouN2A@fNaNk zJ}>bUD?mBL5c!U#LjG;{;ShFyGB{|{Qse4Z-NQ1CtWOx*WNhndc{wT|O4$r*dPg-^Je@31Sy#AAki_|`uJAcZFD8;A-&t~8OBweG*cmsX*b zSOKD^+VQTlz4E22m&(8S=?}}l`}60@=Q#YcMYt6v_7BaEaM#R}TLsnTcd-K0NaQp1 zzQ4m31{&A~((EqFejZZW-r&+M2>27|<^}e={pQ0Rv~}F4;j`?^!Ew);Eg3L65M~Nv z6q6!t_%1^-b0Ae#W0QGkhK6w=01d+~?RT^pD*)ww=duL3=zQHW(BKA{(&0LL{gp2~Q7*GJjum&*bJExGtfK-`!d6?>-tKO!fO<}7gY$5t zPIIuMZHBOR!gk`}nB{ zr~uRnK8}Z)maY6+_$&OOX$Zv9D}X+16G;S~h81K?+Yqe0)!1T;!BfMJG?|qFZAGQz zdrF6)D~>Rk8-F7lZ9z6Om`4Qv&d8+c%G-nDYi#G)INC)e_N}t9gI2ivT$Fn6I@;k7 zjMyTl>g?4eE-iGQe%+O_1C8&KuZa~I^iEoE9?LKyD=;K7Cd*vL?K_&Jaedsw-v}!_ z%%kP0MsVVm&m==jl5H+SP3_M9hg*vi<;~Dt8V&BnyF+jaKOM#cRlTna7c|#LTBE^q zlP0Y`N9$<+;cS=&Nqg2phN}XBJOyEvc;v|)FE{VpE4vCjT#hb|8}x7c<$KS3wfy~0zgPb5 zN8c)2lxG#;XW7Y8&I%tQEbVgs(H&5$2yZE_Whz~k9x=|85* zFmP%sS>*uV4#e^it3Utv@ud9j`c8S{W463i0Z3|cX51O{;1K16f`09sXqd6YI8E%- z#x@OhKAS`wo!s!~V;Gl(Q0+jgc_8o_u->~5w{PzS8D+J3jx}S`ohzJ-P4ukr!JJL; zpTSQr-E28}aeG$bEUCs9in_MVxgah<+ge{MYIj!%lEhKrG^aNA%VuPKE}^7 zBty4;aEDc(+vU>zj}d~d^HvDr!qme%2uU0wc1G2G@;rOYBq#vI7JS~qGYy5Gl`8xw z04+N^Yl<)}M?NsO8M@^l-z|UEnRfFfE0#9%+8*Kg$V8``fg=v}mp-N#sRo3LpFRe_ zS#pWh5#&{Tr$Y~Kty03H)mMg^nXT{R+UQmuMypLKm~3k%>Z{cdy=`TZBV3J>b>C>h z`lL^-eY5sj^8wxdwl&!h!YT~Yc1TGYF;=dSdWY5liVnQP$1QIYR(p=No@CYHTC4=^ zt)S@*UPb%Li)wm8SId|d5XW>DBi)9N8KbA$k? zk_hiXQb2r{D^y;6`=j#f-~OT8y1R!OaX>J$=n8YD%Igdhm}-?c6LuC4>1APz;pRJ2 zAcOQVWGv{wo+UhRUPAC$MhU_)6D|jLZkEdg`|)?aS^mwReY^bpyI(6CPJ|)=$@ea? zHSUmbyWEqu3gf(j02j)W0@zHZ9;uHD0jO1ngs0)%)Cwxds3GVuwneO!yAa6-yOZ+& zzPnfc@Clkb?s7N`Vh&CaY6<~}84fo$Fzo{6>qvJK61GGZDa6mh#x@OdejAP9LI4_u zzIk25Sutk?hqFRc?b5{D4(jZ0+D0)!3^KOS;l><0*bOm% z8UZLV_izQEB&Nos4Jo@}2GdjpC{`_2`?>Vx(fyV<@ z$zFc_{qo8i@0VBK`k>s|IY0nH1gu(vhmJX;`dkZQU)2Or(~HUZ#9b8E;n+^uehMC# z^{aAp|4w-lg$FV07y%lSZ z+Ur69YBf>`J$noW85-*Wd%M-vp?08sW*2Tzop0aUFaOUUZk0E0Ps*ngqZFa1w&wOWQt@#J)hg$bN_nv*8z0U?a=k?=26V2gR zQcS&M7&bE~{%dA~nw7!&5Hn;HY~80e44@*pxyl!YQzoD-=;IdDTCEB=LyRt2`c7Qj z5Lyy?!J9RWZ#oq(E|Zf!(qoq0P_t*8%47m32!V$E?NPK;Y+@+Ff6>rpJ=}>Fyt(H? z2u?7Hk`B&T2+9@mw z!mZU9DJBX=8VwuaFhc}8bY)Hy-l?O}+)oK;Uxt~2zWlMZHPm4GD z$jR3H*TT~U;ry`0v_M)GRctNrkG zB@Kl^5qx)onzBWNGoK7AESd1ofHlKp=?nSJH=34y4>|`q06Q4veL$#coP__dDLQ^BuNaBrlSRY(yuCgZL-(WH%gGVn6hu)^#6Q3Y zdS&~8TwU~;a}egahwd#6f%359(r=yPWQlFK1*^z?US98;yU&k1vFgF+x12B2mneJh zGVdqnl+>BLpZ?*vmx+`Jatgv8x0 z0pj;%x)u**h>oIf*uy}c@ECOe30wJ}QPJ5CBB;ie)-t$#*;9JiNon_QaTxyMMd-RF z^>oI2F}(>N4hpM*V;Vc&(RyBOJhQeCL?q(kyWz5PgjZ^5kGK>2xR<5`Bo>$S!a(x? z9hCOq^b25M>=nrlV|b4hw{vE+-8|Z{1{hjzsxgn!eg4p5x=1QKy2uYl)%Q~@xzG&9 zardg|TMPk2!Kk#|cU;*!=|`YNVb;g0o?@JDJtN(rmultq4L}rcL`2jtVkN z`;;%3N2=~;&dKj&Dd0hN^}Mil&7_0Lvmrl{QJelG3pU;t2De3l&@2Ak-8`(;1)~)b zrNU}>nWnZR{ZClVDfe9v(LOt`z4s+Ypa08C&3}u|ZI@1!-jLvMY#ZG*B>*Z}@%`sy z0k7mh(00r|&H;P1d7d9^A~06A-6Ut97-l5HCdBLLUOv(9E9$EZG|!L+$qHH`RKj*H zsCdcFMgqlWHh|{?%vPv0U(rkkHGeHJ$PeXH62NS)5Fl(qi}L+KByqz_Ypc~+LGRVQ z<^8oPZY;*fwK4zWJ0vkO%3N%|qr`q7bKnh>9u)CNo;`jdQ923oe}kzD@qGf!MtHXJ zev&0)5`g6NhBpxwFDZhp6Xpr3d0@3}hf1>oW_>l}K{o7rrmT)L=1<%w-kAs?d6iIx zYXkXx#Nxg2Cv28jk|`lS1n>S>*`PXuL`i-_PBvW7en7yW2CW^Dl@EoiD*uIO7HyyV z_<95k_r!0Cn=C3*Yi-ST`7FwRJkK>rs!04b)R338s4ib-mEgKtLR{du`_0HRs9}Hu z)jx1Tz4X1Tko{-c8)H=jjDla~H4uxtR}A@_4Jw(uc%|i))wjP9*Bi$x z?GL&ux|ET$7L4#ICdsH^HE9~lG99|FfiVaHFebrvC}k!vY^ioMrCGJ^LdBABXoHVQZ{g4+F@a7Gihyb z))R2Q6-fQwMd23w>=Y}IUM1cllkp#n_|tRi`q~KBs{;>FpF1ZNBU=R8bw5uz7*f>R z-dX9xO{4PCx5;}>4T#1+JEuWsYG?4WT@BUVl+{dy7ao0W9o;`a*D77PEFOGDu5HLJ z&ff0<{!rj!b9&q@yGx6IIxUCo$mhU{tkbG3fKM}Sq;(A%?rD~NL33fPAZuJe?8-(T zMqq1yzA;}T4@v&1Y_}u#^oeMjhQZgN%9966t9maI_f7tIYdj2(HS7yd`0wjO;kHvze zX*w8z)YI{8zv*_!-9iIYhY}E*gY0s}UGMn=r$3%Vcs7=D(O`B6!_(`>y zD;uGS+$%>qe&yOTEwfx2P|dT74`c#b2f_)rOknd63p|*?s2{J=AKGiC|wN zIksCzGl`ywTZ!^d1bfZ<+Oo-}p3&*q=x(?}7IVm&|F*5|TZvWQQ}D4t>o6T(Q1jBS*{=ZoOzuI)ZTw2~gA6mw*KcC6ZYU~5u7LDxd z#A4}!WpIxaxT4YkoX6(q0;ujX-na}H*kI`VO=UH5h?QGx1DLv3g8PBvcZVg_$wc1! z6^Gkjm-1sQ@;cNT|5(WYqgbu8lC}<-PU0Za|^`M}_lY>n+o;+#_Xbqq((oGb=7c@L({JPPLqSdX=O6 zEL#gr$6oBKNN$IyYr7k$B|uSZ=+gop^*{r_53epCd{5^dsmfzwow_yZJ^V={bP*Y+ zdPw8RR92&CrT`RE9H?$H!UcZOed5($n#dek@iW6aQrsUYaDp+c$EM2d{Cfxrnud06 zNdyox$yy>55~Tqp*ZPB9dB8@uI2IvF@zyuPRZ+g?F_dbDfU~6odf_>r<~YwYa897? zMBx~%R`00lF1dEngw2vvT-ro{c{<^46;Wb==VSD?MagrZsL zVrPOvdDE6i?k(4ik^ai@M;W=DGE8;Og;NB#_Lp{ne_| zJ@|{-hDc|1BQ{D2S%D^tSG*WiGV6{dk|+W}S^bgjVAjS=O}3)?Q^Ad~ueAfbu^*?7 zK+Ug9#rJO0KC%1lv}HVn!I^_NPu+_~Fz=_x3XI^MgbX02TVj1iVoC3AcIvo)I;*J| zP$+l5GAF)xTXW-#)_tCPs&4P2<9q)Y<7D1P(v9)cUykI_h8l3Y&4y1U1x6VQ4hza0 zh0KM7U-+I7ro?#X`JWI;yU4T_ZOa@N1z4EnAUHtLvh5_6Cb!PGbWlG<&uMK}WnVUU z?K#=4rk1xP#XpJGlC%0uk$r2ANy5 z=#BJ~!8Oq7XkM0>I!KpdgIi``Xlt|HF)m8UM+33FyxoSizl_ui>dO=xsaP9K>W!2I zPLLXiIK%`G>`QvcZkl(p0wYk|qu6rn&D+8(-)k+%c(!|3-+~=yFT+m8S8CUNr|%Jj z5!lN#A5!T{b+jg$J#UKJ%HYHmQniK?Y^ru_p=S93(I_aMzILoI6y2Sd5kaTPxb>9W zJWl^U@p)EMA6>hTSyj}2R*=jAmE+UgUzdiK{0$`xBj41ui}GYxHR;#c)@bMXFOZn(&bYCr&wy1(5uLE`du2O%7=+Rw9lWAm_+OM*^~ zQ@yEv%%dD6Y4xp|p$ixl_iDlk{$tYQQUkh5llt5d1L*P=ie@P2<~cqNI=1Qk9{R5n zyPqGi#*ew4#!sJS01{6s6yhkU!IRM?R2Ca>-ksEQ$FnaW)I&>G!@3S!bg%(@!Hnig zDQNlD%hp~g+waZOL692JCYd1HQ|iTvIC&^fN~b5hVwd zGJrbM5x)P^nND{BL`k%UVf&J~u32`ygM?>HkSEnkFE`e77?!Jbj`A0N1rw(VSj@x- z!ig~FA;mVwd;+SXK({vp#MVENZ6ULTNC1$9AxO}ic#L+QYiMOjY_(OxSjobJ86`W+ zV8SbTUCzb;cXl*pTxN%I2U*&ggqUib%)`)S$) z|8w(OJvqd{OIy>&-}-XkKw7Q_;@V$L`aB%F4D)#wAsFHDje>Y#;APaUXc08@)z4g@ zkbJgc)u5cVudH_R_9?q`16}aJ+{L_GZV0PQLVbfSDO*+4GCqQ+eo|}pKF_kHl+Vs5 zCkcwk*EdD4g&BYL#W-^!ZR4ftJoV}46N-%V3W1Entyg7Jw~tY$+D}MxZ(tyM>W1nd z8+bhK)?*4g7hEl7oQ$^x%l)0(p9nK}+46%P3XUPe8t~uRdqx$P>Prfb|r!;o!z0BoCY+w-G|lSB!VJ+cQ>LbAjLc0QD237;t=?de90jC%Jn{vT0ev(=W2nO%8dIV?G2=$ zu>JGu(gmvbeda@gjuRHcIJp*;_}_vtuN3=;R;e8tCrV(0)6WTy&{2P{Tvt=D-5f&utbOUqg&{!ej_Fci>6i0Ta5kp2> z=}4TsqKSI*bz#{lEfOeMVUQmq}yWazyh)DXP5OZPyfu-Ve0+*Dnv>h8Kl*5>;z#1Fj@L2x6-K5^ZYO zR;wDfPApWCv6S)IVn;Yd!4giO5>R%fWjNAcD`AD4M6~PBeT%?l?fG(6nV1>P@T8_4 z$X}4yP#3b4|Kmps>iL>?v15JGv#rIa=QE!wfcaZ)oEapsl*sBu_ud4}DAap;rD=?8 zz(jOMAB*O`&ElGt$1Spb(suXI{m^=CM6eLc2I^WcGDdLl?gVs1(;pdUfo=9kqPl)% zja{Yy+HR-@|Aho&7v2R5b3AnvlVwfV*SD`zhVkvse{FX^>_q-fK%S5*s-Xp=Ou7WZ zC|Gv4LRei%R!b4Qr+ zz+KrW^pqvwX*PEOg86V`3Wx`oQp>-7X#DvNs%1jhjZ#DDAbq2U2n&qTt~RVb7XPJw zy5Q}Ir@4RDF86_EUHh;Mw5ahoN0_gfKmZMli3JlPDO)dt@nxv-8@A8-JjONI2wlx zz=q%Sbn7w%Cm4Thy!xxfe{U*4c_|i3p=lz>-19DeD1k7ON{y+H8`1b-3sEh|4g@w? zVqH3PzzErei7@q{V!?Sfk9hfc7xt*6TEq-x1@Qo(GObdlI+AFAunU zjCB6aJ6bcsY2@RZ-lyz%w!_9I0f@0Rx<6C_Sf_QbOC`=~^`&)PBFc#BQ0o%0rVePx zb@w~^a_cWWHj7Dpe#%2<9F}va)!yLyuMfL_$bTL9 z06rFqU9k>`e#~-4WSfKPDc|zmd_=`8QMBE7ZsA^?fQjZ@0o^?1-`Jxf?rUiQ(u$LlPPM^~YOYmozRjoWVGNithl^ z20iImjoAFgl)XstsK2~aNu^L589*nLXC z(fb`)ar=w;dxY8n{(kQ=Q}y18IrN>ou8T%SkP`=hfC-6F9~T6c6!xumit$~)%#!7M zvcrs18&8U7!W;2qVij&laDhjnG}hD;*qJ&p7+|lwX=d{1izxO{+tMZdNL6({glL*Y z>X#GZ0fTunWGuz0&UqNC0ZJ(Qkj6FtB&HLV3GRM|MSxr@PMjOIClc`)lM8Kl2|N#1 zF&5uc?IzYZoBLGl5Hk3ws~F*I%gM+IItGqFm4PSE?m|1AQs4JmqwMAMon{t+3kuB-7 zc6z;TEZE`*PBX$r`sm9&09GR57P0y>-a?m{^zl-eQx~u2)Z{suEM3bbYPO1bm%taS zy4T*mKm#lBkKn5C*;w_j8Nxko*B^x!P?cdT>@Z!|5LZJVfA93aUItgdpKeP^hr7L# zSkyC-g>PWNka&k*_!6?oiQ2UOfw~5iZaB(+@OGy9kx89e>dDbeTCbp`ApLJ{;~32i zes47LDcxTc$79pJHxC*wtGVIfwzF|RvI8{F>2A<*S{_mHqV7H@TlHZCb?Fo$Q~}g* zg1|k3@B{LskJrB+clui(hOVPQ`%18sh7h%oh0EzJ1JYhPvIIQAVH5lqM-VsclD~A& zjTN|!Jp23TKifg~!iEJ)c|X|eJ{cf_8j9GwxgkgzY$PJ+V+N^Z$dw=@S6VxRQhbG0 zUdOOH-1Xq>_gf@E<0Y&52_r!x2D*`8@3t9P&AQQwasBbmoM%LAxa4Y=?z@r znYG;#7+!oq*U!{v8-6%2i%SOvZ1h|(B7aTBiwLpqx76sMvv{NSr;p;ps-k`p?L31J zfs)!*z0^ps8L}g9Oydf5BFN~)aVhOsvRn08{2DEc_`qK{fwt1bY4ax%5owmv+pvNp zMX>aCn#x5FzNL*@CT|#4RjbYVGgr+MV#VV&+YG!`-s}6()BF`ec8(2fa9mq-IRvt% zk?{_nE*?M#s?>0LoUH}Zx|un^lu}w0dN9$f21wkm7hJ}la{~U_oNRW zo&+d!nCrS6L*9~BxVw(iwDy8$X8v5?L9{AQaQc1^0QIKPec&z3gkw*n|1?;kh+D3u zB*WYU#CCf@QBBUqNn5hZJwLfg*ep5RoRrBZk zju}I(1*7DuAc88Ma?xM=I{-w_VjE4*3l9I{oC{*1MI97j?ITJXD0T8L{b3d@Luy9i zF|I++b5j4xvg`k361S+hAq)feu%dl9O0#YnwDl+AyIGQjk;^|c^E3O2TTvwN@)1I-A?C*%53o|^l6f#M?BbzaNzXr2IC{waPP6b(-kQm&f3LU%G%8Gg zYGolU-7BZ|n%8W!yJ@7Z4*~sC5rXA-EvXMl@H2kXNfpCBnIAN=DdGe&me%n1+kTy!<%LJ-&R-{p zSX5tCWepUfs4kKtUa(ZzwWJ-2W!Pv2VNzu7rV($H4qk@8d67GYA=|Sp*Wa;d_U7o) zW(zom{Opx<^%KtJUntol!=#7czKDSjlI%_7Cb(-;#ikPM^O^}s? zT2gF|aKBI!XZa?OCN4_$9)Enxs5TB~tg!%31ShC?hdYxk8!+dr23^@j;M6_+#=%d= z(ET9f@$$ei?v=Aa{lsa~)w%oFf;gmhMm!{FnD#qDRLT7FpXJd+&o|;4IiqSyz%4$b zhvhaUJ@5SaO6P=^$FbfE-1_R*QHcPxz}uDjm|OR|D2$*{&oEnc^6W%8HVo~++botJ z?W4toV)O8vLWl}4K5kZ@)@ndq2V!1lowJHwdz<>_OBLSXW8Pcm=6E~Y?!g-j6fC5) zvbKje&*v|2VDR42HDk0 z1UE3Pa8>8w$UUs6)7v`IhgUgdR3b3>91tFhT)}WFkzo>CQ7Zv`7#Yu&+Ckkk9#azw zf~}o5!JL711|NjCdqU5O3O@GmcT`i2kstWeCT9E|3%gLTHzM<;Sz2&{{qvmJ^UB?l zBI4C({)FPp#G|AVT&RW(nxvB+|K@A1Zv=kWOEYFlXC`SJO^C{%p^;qQDMG+B#)5)I z1!aQER(iJDnA~LRda0jmD+x9j@ZL7C3W0@!2U5W4SAN{R8*K@)1g|?~k%U8L^G<7= ze0|~4F-a~KTIGHAOOupMqXepB?SV%7_&*+VKSXf9`e=vzSL8EIQ<1b8YqNA~d^4ij zOLvRVDp8V&PD#If%=u`YVK!fD1thtP=?k_3A3_InH4n{Th=e%S1co8YmD-`tTZ!HOs`j=Sd7cfo5Kb^SUXA3YUt#&nHpl`r_mk*{^)%r z#634&2?M~}ebi;dzxz5V(aqPXqt#fgDg&GNRs25Iyoi#pK5xW5o?c^|&OhxI(jL@j zN?StHZ9-N>hJ=pC$$EVWwT_NEhwsS}q50iHm^{;tdxF}RUAU zjo#L${nWDG*3b?s zx6D=Yi`O;k^j(EGpI;zl&-#!#eV1GYTLu^i`g4j?%BTTgtl#|E!)5WtSAULknunbW zXBN;86~@!8kJZYBszxI8Arvf_y4DTahFGq7IcoR}CFTi5dJhiQvTAkaU2EXCfI>of zO}{bTpmiTvvFG84m!w!i+c#jCu}e8$ZjHkT>Up+%m(E!a15%YxGZ{~ddJ=?xYws!% zTd^3|C)T4*J&#RQxBoy&YQXc#2?aFPMg0kW%c*4^z^s=Kj~zqXcGQC{pJsyAs&m?+=z8@Cdddhg!Z5YvG8_Sc-UlVyeDt~P90 zn}m-77SrrD3JzukBk730cFM$DL4b79T(K!Z*+t))>#yF+L@O-i)LTXC46BO2xtk4q zXw7HCrkB;9rAup3GKNFOrh%<}j!`BH9RCiqPtsi1jGN*+U9ObmSkouulNpSq;vLPX zoYqgMg$KS%pf9?#Kc8~kYrjdaTQja^mHg9@B`x!bNM`67h^$xvF365^#9wYaZf>GjT8*xvat`$SxFuk;)BXs7Y3v% z&z8P6zA47K_!v3Wmy@+5>BBROX~-((i?vbI)U;}htt&RYhYX4vbTXB5QD{|?OKTIl z^sS#PtTEMCjIa`Q0hXq9!%4;wV9wDvTA}!}i9MwhLCM7t&);PF)R zJ*L0?7q}KwDG=413Fx1!@lr4!>DBLSG5`zIHog(WTdpGulXmvPc8uS(0mmTsm@E<{L^?2qz5 zkW4HYGMC)Tir&KB+atO|@8j7$t8NB4%hGlqTI=Lux!Kl?{tiY&{!R<QJw1NL|vCpniK&3iClpfIXW2F*X#)eY!>l~^P2BKmUb z21){b0x{Wl|9;R5{OSyY5(F6{ zAV?S{h*Ec;c+35U^~M8tK#@PEd>%2icDhT6FxArTW?0ex#KEliV|DtZA4c)TRNharBS;2^#6eAKTF>?AG~PC!MNjvkNbmwX=Vf zPcy702&7NB!|`j^d1e;41f2$2?KKT_wg&<{CRj!?pE0bal-$4)E$Ty{8Dw@aXDzMn zCr_+d`jifJKhMU?Xz#nmW65kk*j0Y*yeH3Uy{{&e- zAG33)dx16z=M5KiBN=jR2}dskp@PDQmo19B*4^fUy=4-s)pf=bUa(weSnOfAg_rh3 zpJifHI+`_nwDV|ebP@6Tr65TJvBbmD;$Y%6IoTiP;FDisb9J|3ST3DM)fv1~#7%JH zKu+Hy9Qre8d@AC#{J<76{XGpZ%Bjy*(&54v-Km(bqoS5EY5PuPJ+C(iNDYU6rYMZY z?uc2=H;60s4b@=uJ*nRb;Sn_x_m{W9^46?4ELrn({Dka9&Js6q%Z~1$^y#I5dg@(FJXWbe%5}= z_R8C%Gbm4`saaf%DC26M6aZCyQfgerk1J#spzU-v5|C#&+Z8X)v`c(wk|VO^Za){G z*ET>mr_PDh*rdgN>b}}JrN;RUh!nW4Vv>ESFr0o$%+7d3MhSqrGD0WP_!c<25z9=r zJFh5v?qVQ(jNxB@6t?(z^4g3q*;$fI3KfD-&lrK(4ld?`VWGX%yBi5 zoHw9mL;G*Ll7Lig;wv^xI}xMN11Y~mWi{pNJ|^4OXd5T)Mn8h?;ut!W^n8x{?|LVB zVDJaTUxLp@Qh=W5{*SH-uJv7NYOCyoXwk^3fPC)-+tS|RcBE69*aM$BF~0z%;KRS0 zcPZPSYA@&40@|OC68d!Nd?lhN#wU;*vM_LoFtL44U)18a9*vVALSZou91a34Xc{SK zb{KejzVImU*RiGZZkO<^M%6TAF9@-P78oIZ;PK78<}xSOvy2EnE1-&+tzgamRMOqd zv5+w2J5(-vLGDu!d!ch3I4eTg(uxKP!A9ud`vttkXEqK3!8xmFnOu(Ep@KUp2iUF+X>M?Rd$s*6jbEQcr zhg?;(p!12!-x`Ud_~u50G008TLsW|H$}D9UVC)1KhDfFOcUDXAtvsM@QW6q9Xr@}t z()heGwtAL*DUDbGwhvBgHyP}dM`&ePrGy}G2E+)$iMykR-m#~kI~IwnJlKFJ%=5FjFSfgJ zA!+awduVwc^pQbc5O|BT{GL~e)xafii%*r^VbXJu1ve8cAF<;IO)%ilBU|TVR|d1f zf#ZrO*^R#~>g-&7Y#o&0&C?;{-Sb7DC?UOY3I`qsJ~OrHg%4{K#VM>1ov|d(@B#`3 zc|kEWUCryDj5cl)2GWc@vd!#cMtto_Oeb}}ZY__?XSWSKa=6-ZZYaCH)%-~EL|J~8 z#F<<9$ADra71s=M`M1B8fdkj!uAFmkARbq{2E>ZH|BDU(c;#Q;J8?-Z136Orctqi5 z2gFK%;DHKof~yh1fP?20V_Z;9Ot5?_=uz7L>_Pi6wAGRWo$MIu%Ix!OJnv%zGI!zg zctG2n2yD6dG0iX|G%~Rc6I*6Mx98*%O!XQOfSs)^(j3ClOa85Iixj6>Lp4lJJv0fw zHh`{{P?>NrYhB8J>5Kju*og?gnHq*oc{Zb<%=dsX16@1|DBAgLYH3%}CDCioIp*Yc z$jt_Z4e@O(kG$UagG0#EV8DPEI%Uv_^}m@+u)}e;en0&An+7Kd6dFJzcMc+tmIu z!B~IIT$K`%c)|3#SCE9bYPYLcoJ%c2CFjzWGsnc2PJj*e3iJX~udEMcNx2-q!8-c> zttZL_o)AKR1wuKA{3DXSxL|h8^Igr_4ACB&!uwAC=Rz!_2QQfuprEe7yX~SXw+FDe zc!@e+gcwZR700^{kx<2LokTp~$|1T%z5rf&G~21x%f5zNf!P};s4-Uz{bsz#eE(Z} zjg;r1q8(viNkw?u@e2c8xS(I~!^5Qn)?`GYa~EtNhS{6X3Vk@7C4x zI4`)Hv%XG@QwXjN%1?&oG6Z{OB2mvVv^Nc2veKTu@>dt564 zKz9-3W++Oby^z#G`rtw|@ZT(3pdSdkz1Mh+`D-tLOuL_1k`^obREOd}fcgCbK!w8>2p7)VKZV|Bzb<;N7j#PH&A8K$eA!4eyO<)-=hCsu;&bERb1bWbZLsw z*s}oP6vtSma@SH63|#(mV26j;xqnwaKo%-D{b<3u%a%6V-$-`M0bx*e;Um?h68^*} z8Yd;R)$-Z$+R~~)Mt<5y5eMLij|InwR+t#1ItHK z1^0I}Iv-_bso||l66f77k+QX$2gj6A>g2-X9oplk))cZO0TSI z>a{^l-GC9Ori)=DW|3s;m<|7j4#^W8s<2K2AeBxa)uJ5zLDL}FvV@Up=7|zYROm~4}brkYIB9(%c%9C zz~{TfVac>_8Sm&6!t~bw-0w7_d~?Y`dbuM&G=o#dGpJgM&X~^$#sG7?NUm#nU%oZo zjBCFgx?OKkUvHaTKQ1W)ZKk$t^oj}sG@elWh2g^yw{AnCZfuA_0JO6AP^G&c6lL)D zW9085IbjAP$Rc-?J;r#mIy+`ZpeINYPw! z0|RSIw#5c@ih0MQOIEZSM8SX90xw*AL$r;jf?VfaH#BR)cq-abe>;h2l>0a~_88Na z(3i|L0cZD&%_aCZbZ@KTIx!WXTvY&qM?x*f875mswX^4O%6ct=!1OZ zMn|n(e&iMtMEMe3a7bPH1#N=sAh;<5kz*9a8?SVpC1|Xb?01i7i%Q>8p#*LrZN__Vah>riom6JB zzyr~Y9Od_A!5lnOA%zI}hsi0kInLJoPf256X?%V~aDqP8<*RkMKH^~+eZbih*<2oD zpXguX4A|UhR#_4GY1+LlWG~W97{nvXc|llOD!^^Hwz?8hgdZUGQNf`$%D+7FgJy)qK0Q^2M@L*2JcDaA^L9 zqpDeSzkEBM_m-b=M;UcHLJypAW?*5*W09gZ0D_jX5rHi}%CDDxufqpCp2Gx!W)d4c zI%rz`wGE2LQw!Xg{{ezb&M6}zkP>kUbDg^`0UyZoTS>E#^4zNmm>@WwbKM{4V(HA1NUGD; zsL8%up~eZVI0thnu?Dsh(4Wnx+RUbn8p8mdO7ynQ8MquZOEhhhGooqelq>f(vmJtP zs{=@zacQng5`KDl{3Lvbv}{e^4R_w4_pOXO%B~|^v7anv(5%iA=Ux5CGBZ01@oz4P zX0D`F#4`T@zCk6k`(!{tl9fDY06c<%N##=@-@|Mrhtwn@sbu7*9e!lHL82pSt`2-AV0fmHtN zXc9vawG3C)^U3X6;9NT5h=;(+I^$b15mE`NyDpp5dHERk$$Bf!P%>sG<<*_c@3kb0 z5}%P-%{mxf8{0>IAYfpp2AG`4Si${8He4d4n&e)riKhE5{cXy+OM53_ro`j?70Vel z?es5=e=Z+*v3q|xyBkjv#ssY@9J|q6yK90<*UOMB*vc@AzJ!f))W<)@iMsmzGdbSp ze%|YbNn88-`_7ylE2IStZNmD6yVWhTs#OesHI!Tz2eDoPx?6JB9YU=by992l;|GLf z8VO0n)f##0vFibM;vY=23TPVaS(t$?q%3TIBU==nvVRU1^`=$D99bo*(d;fEFFBv| zoll4D3#Oj|i9SZSWxA`ztL@KwWwBX=UKj&RZe!3EpzMMs_s!!jjo%XA02@TP8$0yB z-odoDvi(kD?m+f6lB!34+ZY(Zb8U5vLt|rV+Z+E1vSjSkrIuOju$x^sJ5sX0mTDce zlMT^_68P51d2K$|ZzPk5ki<=rgmp2^7h5#?AG~KZId6I|Ies@ycb6qO2B;zLioSAw zDhLToJhyA{8Iz(pYzAHXGz1mD^tyM|8tO~ z<*!qlPFuY$y=_f0V)ANMm=;`>1EVLiIn&NTt=Sw>eV%)ssYuWJ`Zl@9Xzl7@KkF?c zq4*Z_)_dxw23qvA|If_}laydg$0AJ|`R7n;l<9hk4h#dLA$bJ5t6%mW0zcxDO#>m7 ze@V?u(J0JDfp)6e;%H$BpVc`k_dxt1NC@@u%Y-OL2w+I-;e9L6#XmBxf~puXXUBu! zD4sQFOfVQPw?Kt1CQz>@2%gEmLA_v{KqFg%6OPB-QRAd2G(fN5&;AnPg}xC+U`}3XS|dP(k>oU9ehM$2Mk+x9nU8Jm`Q_? zJ5Jcb+4{9ZUZBVWr@K;>hZCZ(30uhXqeGr=z7+&ozl~^g14;H`n#1!)I7aplbX;1; zScxrC)@uP76uukT zTv`5-%a!Ym65F_ns9`8X)&eo~RWQTI*{3;-r1Ak0-ChoJJbva47LD(wVksfYDl|gzuXNreqavEq~;ZFrd82 zXgN0=JW7o}6vofbx#S(huMm*|HYGlFw+@Q8ARvjs1+Oi3gw~F^w~K)O*gY%Yjt7Rq z+-N*~8lGX;e;EA=! z(_rpH#jHn+kBq9eRw26K)nHVK$1t5K;^UM4&;o^BINb&~e^u z0>>W2a28ONw7iq-+anTyN3)G~spnhy#rGO{)a z`|ltsI9UX6R|O8GYSBNyLxs{ePe`^&ua)cI_MMgBPeoDqhN$aZ$bnD3PD9>>tcmD?L8W|UY))8BnnCayghUfNZ?2X9UcF0py_%zrI@I5YIy~>xqM^*0 zR*)8u7iE5uynlhUrXJ*cku@4(9DLxV7oA{-!*sgvlTUE?59cSBG}f?>ys!3hb*^SM z+lgLY&pi*%h26@r&p_%C!Jq4`RjTgS4vhO0#8Mugxv#Y2Lz z&)t3i5vor93mjO!U+5`C3bWy52UoZ}KyBbMn2J_FOzY*Ox)BU(Ec))T1}Ea74fRK8 zW9NMua|}qYF9efcuqlo=Nxho^Fu`7z&(_U7y`eA-i)b_u83|=+WarQfYz8lM(*_%3 zKN$jF9f3(={Pvmdr%Yr-$N&}|U=PEhSRwiz{hvkQJ7T{oTJ%)ySvYsg7Fn!Igikom zI5yOV8qyz)#J`vWyrt~?cSRr3GCyoPvdWt~aJMi>(r$}IO*Fwqs<`ZuL`of-%rV6I zrVvICT21Lw2~;iaZ~j8wA7u&Ci!2G-vMA?lQjMYkSzB8L&;yTCxkQJ?!mg;!A# z7sYdR39LrEk*vCx#ao|~U||GW&h3aK^>fbw>9Y*bYT+3}YYk|J?wZU6xPBs$hY<>m zqEPoR>d>(Xuz@1&Q2hO#olJIagllDGeK=FZ^M<{p7-`vKMs`i`7p*WykCX{w$_?uX z{fgBO(Y?!9TV24oVe5qr3hjZd#uL$-^kILYyPP&4om zIaM(Hty4ixkzSYjdUKP?@BL&Sl!x(E=k2ghSY9&-6sG5iXvM*(Mbhe=C>ev~xy)`F()nRl^o%F3PbcuQ)o_R<@aE|8 z%545CEwynN<@nOFtmXP7o)#ID=$v1!J%G83;teXTO-ktgoPWmN)v2y82$Qe`y3{}K z@s`JJr#{?MZIgU5BpkHW7{@Bg0iqO*eS*Db$b5)d`e^_(T`T z|8qW-tPLx1=67MSJ?=6Yz6F9y1)ol6YnO!<=b+zq3AJ%O|(=9w)F)4eMy*}*-*Z(kTPN+0#_g) z<}ob7I8Ag*xuP;O>*VJBm5g(}PgJlAv9ntP$RY*MQ7*MX=29sVNQ`e>Gqs*s)a=t^ zn!IaB8PAQBO78#t=7eD6`Y%TdRs+Ved`lZ;1 zWT5gcc34)U`flKVQS}X6m9XL389UpaY`b>0?V4}O}6dHwlR~f$#$LIv({PP z`u@ZHJU1>yDRlu;u<|H4Il>;Op~ylhr;*D=rq7-F0R#LYWNT#oSl|D0ForU(rC5h| zbq%==xp&TAJP@?HorkVkz|OBW9AWZh+jK71uuEZigl@IZQP~(4T(aZ}7zpX|Tu}o$ zewRHr=1zATz+TIyo63NKXbyqz(VOg-lxP4yc^*oqv3@0tHZNj8-#MI+T!X6Em*yF ze=KQ@!itG1_<4z(UK#aPx4xnO=fF+>sbdO`p?CHAD%s=>Hb+vWuv`sTGYmrx7ARdD z1zdXnnFIp$oE)~7HUiCYhG^xZ-wqyobo?LIxhIT1u2x*2 zch{0Xq_wh0Mton9g>Q(=_Bt}YhF_E2xd5>+S}>Ks+KudFoZ2nMPo(#A&%c;XbuC|u z-h^B1BF%ewcwg+_J#SE6Q^@`%Ja8If2%CqW1pFHt12)Ze%mu>I5)JPJnc@NR=vvmC-U#sI`^y8vgHK35TB!Z024d1G7OOnWE2 zgMY;_E)q+BS-j~1LTupo*?zQ*LsVj~@Bo|^M6$0Z<%37A0P!bwCHR=lhL5AKv}@{I z$6{PP3#;J;#aQ4azCbRWyz!EAM3I-z&6Ff#nGl4Kja>s4InH~i|8;=;`hh+}6|=!G zpAF(qc&(!=FNI5Sb`{UR4Q%&6?-jU0?+_8BU7jF$MSI+UIOCgdkD}sa;XSx>>3j)jXtYh}3H1J8ezC8mQ2RpGf;S|pI5c~X!l-pCgPC*@E<5B3kNBBsgKtI)nAsYI76igytB%M~cZ3*6 z%KNS+Ili~%c@;Y>R|#{pZ)}Lq|V;Gz6t5b}6UL>FINsO3lyWhc&g7To5DyJHS zYrx8#@+@YrmBAyZzryhb%qqY*u#y#L)^Poc6j142sz|rnh<>~mJ_Zs0vavHj>}^ex39MqH3#GK;*sbQQ@ljBDy6Y;sYu=XUZ>toY)_@53bTap z?eF&Caas<<$vCK>kCTnlgB-afLQVY@P_MzSFpKjRED&=0kWgzcn#@TT28b<7!1&HU z^1Blp2Grc|hH!Brb?eh7_PNFY5;(j&>65_T%%t=G|Bhz}5no-5pYZ2c=LpY?iryq{ z(}Eq#iyZFUq+#ZUzf$1EF;BxRv)XAB8v_L_1PzlZ`*mm2 zc2kXP)FV9DdpE&)%%1B9LYky?lUw{CYzX85IWU_@mK+fVgWy0 z8mMJ{q2Ji+oe$PT+F4f`d`cU5Xt8TIqWK4~ZN2(>*H-wiV_r>t=fpVa!Y17x-;d+* z97%tc+f?4}c`;#7SLU~y^DOa~rk!(Drv{EJebi#WNyCF5D(#B|Vcd-xCb0gm;y9r;&$8aj8HIU61C&z`Wuhkv0#G!5!8VbiU#7VU(LVzs29eo!!$I|I3 zbxos;taeolwV{^m^OewMYwJyaMGNc(#BXvI{+&}o2rRHn@Z}3pD{csPOFHsZrPt4r zj<%0^Fo`Tqw+u4GviUQM-e%+7Yr0r{0Jk88j2zPqzj#b{vaQ{Q-+{8%1`!fA<3Ed9 zN1x-K+oID`@|0^NwIG1!Gt4lW)%S()D?~uK8JAwUS&mK)98@ z9S#tfTc!}C@wT;fUXXF|(Y~d)V}g=D(*E|WRD-PqzNm}H^v+Rbf?<-Vic^$-Rkd5# z*Jft*|2DHWIH1Uzh#powIWy{C9SfF=?OoSVo3D5V$OxRemEBdk_$YMswcpcyzwMcf zU;C53Fw!=HGN!HxIFRpV{{MLa4ALn(9I^a%DssH6jqlUBDH8fzdHh~pf)RA3PU*~^ z-^?n+Ch2PQgnYH|gfMU~kZ5wun`KUv687wY%Z~mq{Faq6%==~ul?Q!{&Q9b}b~Wwb z^K+Nu5j(>rdU&PxMjU;YhJR0_9v_33h9yv!^)NKIPl_3oZsVWOoU`R@Ym;GmkD0PE zw)m(9<;vC6Yuzs&hyuGB%iu3$t%a(q!UOQksKHc@hV&xdyY4+MZ%$Z=`VxJnen-f* z{Q1v=PctU=FW1on?+j5W8+0fwRN;q>O4YumGsS$(vn*AY)+#Z1K}ah6&mr3q%b_u_ z#$og^;njUL#Nzw#truB^=B0&Q0c*w}d>BJAn?SxokiD1} zdV;Qr zS%)XE8LA4ZY?i+y=I4=+!Bnr{gUL%v8di$I5)q=Um1;0}kzzT&y3tk`$&cHYm@j(7 zd;QzRl;;F;|8&TbND;+%Q3}HV2ob7(lZ`P*)9fvMV}ZNa)9B1`NPeLI#9C~N4-3nG z1YG4T9vrsz3l`pQpp((wNj|T*zarf}Y`lGZ@yuz?Ja)^Ivv?z)tT`*Enz9Z%o;m(t z|C{suntm4}mzJhK>t3q`KKr_E`lUQ4~4K z{w8KUm-ADJ9nP)r#YrQ6L;n%4_FpNJqCSR#ecPSk`a)H{^np50Ukr(6v7}h@Z) zCo=nf@+E?>I5Y|1h44V$Bmh__4s4=vh!vLjim~I#!aC3|1wpkHHDVdfPP8Qfud(`i zx&tmk&JelKU~U+WV`{1X$9BSAft?7F`K|4PZfc|9d*4%4UH`?=?%CCf-{R(XpwqIy86ZaiDzXl|LJ64Um-1`^zu z5H`RMiuL=y;?jN4?V0~Y1(|i5%IVj<(X6+P7uFSG^Uk0a1NS{&o~LVc~T<@d;B0h>KFUeQlC*bL%>t=rKG6m;9nc?)lH+(40{TqsHEiD+l3?KJ` zvW)?FRIB}33(l*4`A|4H*ovpuHRGCzH3a||?)k-r;t6<-DHYcG7-06-_rIE4unLx= zL{R_(bf&wLMC;f#6CNvBcD@6mjtn5RdZe!1zhs&2#b9nEuca(HpHI`-H{=krwyl>b z12ObY7HP%}$6uz!1)iLVgX6tua%t+nvoj{Po7p3s_+Z`L5+ZO1kR2oU$k51T z=I3h4^#Mu%xRz*E>OWq(vfUI?`32nL5Yykuhq1CzgA!Fz6Q(qTwxzl##ToL#a5#gImruv)4{>X3BIK*U72T_RPnyn??hEgR<)S*Pf_E34|n3y!U zp+OK(q|lk_a@o$AHa1(ke!B)@7Y`BoW{Q(bi-%hHDyMC8B>ZeyJ&UvT(qC6CS}58& zi_ewqsqP^;{JwpF@_@$e$&u~yrPqgE^yIvq_B**FXHU1TyLqRz;Z4V<9t9)Zd^nb= zI0`MN1&KCuI~0!xG>!4YJP-Vje+6vtr^XqKk+J6C0(8HnDRJ};l3so5UvA$>Hfd_R zJ&8=(9&ibco&yRCgrDPKS+l(8}fRC7)snXgM`}o4t4xZ12-IrL|anHh0Yj;_h zW~Mr%sQ{9<+*N-vut4X^$#X|fZ-?IK_kh|hhMw0e2XD`C$bw9*FXQ;z=nb&hiqpSy zto0ARm{5pN_=)?;^uW#{!z#WhjXMu!qp-Jh{e}H%P z{|(A2!oi}7kTD96*V^Dg!_`L60ebT2TwDxTk-Vw$toVKAEylCIY`2l)GNuzQDW-|N zhK)1jT56o=ADZRX4#tb`8zNPq_;;+nxNv5ZW{6Z=qoZ<%ea38}Q-kff|LV?CAqHOl zIv_0~oF07_`xQJum5gY(poiFYi^pW_t}^N$Oj4ZTBLLJ}Bn-8N)Pw!??I_=@#IU2+ zI>S7CAn;_Wh!dxE4C)aJ zfJ-mC2$hFtp+R=G6c>H?TpG$!=q}dFh{<_+~wrc`gw7!liGsvw};?%)Vf| z>M+0JRt^Vk!O%Tcf03e2@gZ)4<=-e^<;C05o`RzW}ujg$)gL)#Z)-D+- z@z5>#@SOr)w)@03#-#D%j8cVN zyjQ;#WC)9tg#UH2^!?}qhI2ASEw$$I1o&`n?hI^QDW<@M0 zt0_s|bS6BH^AL$Cq{ogeD(Z2508U^DP1L#9%mEx3lF7_(?xkex>0wcaqf!I0-V6Ku z*5$v^THB@KGjb0t>6*peFr}&>%vao%d>^Z4wV{bN?i{!Bqe0VTF2w!jtB^!!*me6- zNRhGow8@Dbzm`S=NkG|$5tq6!8yt9wnY7mi^g`Bg^Lu{>a!3S|uG}NqcGAFYuqo_{ zSPAN33w0nx-%%y|t^dQaEpMzobYDlCN_XCgO%LaOUsu2GKq!~wHd&up`@iu`HMwMA zOZE&>$Y-x{=U1jQb51`o6i#Qe1It7L-h-9K<+5I%m*mR2H?#97oeHb$S-oq}tFx#` z^^9RpIvwUGx#@+G?V{AIrDecrsK&!hT=fIe`_p`LL=)iYThr1Ro=zVBb3ZnEZ~G#+ z6$&)>W$3dt_KOD~rl^c@dYT-CGZ5o|_W6d?U|O?21XsVXwE}-TCIB$k*gH4a?(-bw z%jTtai=O)d57<(hTC9Lvud>EkZ(bb^24z|bwx6R+HcJ}>VJ2ni9@Z)TBC* zct>x_j*M`6_~&)SKZ;27?X}koY9!s+TH6CJA)gXADarb;apCLw;-Z|8Rn6FgTZ2Zk z&#@HSXAp^&$IoukYoV)YMf{`Qr8WU`UTiiy1H+<$O{tmHk-wcR_3vRWRV;9v0ji;4 z)>_?#IR(Q{sTnxrceP-cA0>hc`nU-t*c$`2iqC8%<&?5X&-04>a;0tyiny+*(L|S; zVc#-dLcc8egR!=%-vJ?B-7i!HiW}8G7ee<#lG>|zsbYDoghZ^0=EjxP4)xwl;0U^) z9VZH{{>V4B+Wj+yYdxz0`(i+aQVVbRu72nlky=@Q+e6ssjck=i^3{e5-Zt<3%BQ{mVmHGDj5XX{1q*|%v*9lYV&!il47$Eoa)Qu1-Y=QPgA{8aTF zQ1`7WmfI}*sHVv$F(oQJ0fx(ixb9;m43s<>O*O+y`!H|4YldOut zJfQQ6g5t!+g5$H$GOudI;&-ijPCl2$K>A1k!GMub@F5b?#Ek;I@bRvE3olLLkpF!X z1xgKsr^`o3)*>&25B=&qJ8_vY;Tu%hVUdFcD%6-XHkCnecm5*5EB1Wr5+z1Q{HAD1 z(?o5g10^dd%ge!n4en!tm{7`H+L+(*8V$({W_L}Ma%azTAStQkID`dTiti1R%qhsn z+jcyHtYaLBQaG2G7Ss;+{s$p$k8S=CG5ZZPEC6!0IZQUN?HC#1xn!g!=0_3BB*B=;7+G5Lp~7vPFIqRmgJ8r%8zvr+Z}uT2i_)_?03LFj6!k-fa zdzA4{XsMW&a_*1;-~3Ae@s#@Ww8Z11x)!%P7c}p2!Ul3A8|#W|sz06@{;T-RhTvp{37(cJK%>G4RZH%ON=Azhf@T zOqpTDCcY5lgOO3PaVbqSh2m~ORGXP+M_nmm&0i5y)IJFO3%nbti3H!Y2$xU=;5L5G>wHwAsI zj%PWT#DfwW7Q%_kh0vb@D?nZIEs=WO#-o(-}_L3D;#G&6+~) zpeErMj~18}iC;RU1B%Y08z>0H5Mi9hlt&$a#106;7sBf$4a#vvOk`3E=dueE-i~5f zv1!a7#$+)r@hcAT;9yVvX|2 zKy*`%=bRtVZLv7#Km!CPo7rBCA^h2u}+Xznp+R zamAbGNAxjphBC80skj$I8;Qum!liL)Gk{Y6Tv^Ex@#p(z^wVlBm zEvjGYm7T2V?^1g-y2%kP; zr6ZS|)ZEp>Ve!JN=$rucI1$cy%txxbjOQamK3SOQ$rpc&z{lsCIW&H^5TrAa?NTXU zJUa)A!3=J|fZ341Y93g>LN+xi_y(o&po+-OwzHScTW`qK6`Xi4{rUC#Ph1Xf3bj^H znO%ONi_SH9>&w8aYkcJ!w87tNzR5ez;XRWq6jRIf#x03X#A9+Vul?GlD=G~(0^GPA zXE-hylwH?0+A(e`8mp5(j9(hk5*3$iqHLJM`3`fO3jr`z4k$RPl7xY#h&4;RuEcOv zO-gwjWHTx4nImKosXD&8JZkot@&VO34%VZ$#Pj3~d}aVD(YMsS!9>Dw_>DKaXhq}% zw1qiVhVcl0h$4YIl5~o)5wJgmc(+%MrczsY=BSn31P%XAM`6+V46jy*%?KwZu2i7e z=sPvoYPtqdNJ4{W^>Sx<&aG?_lp(DpC$o@0$w2ed4^A@O)mL@riuS9}pGXjl9|*!~ zpx)&ImErah9Pm@PP>N;WXHwG)b|{`)boD$>btddjeNPAep2IN%g71lC5F%H)N0Rj#t{>6JA`|yCZ zTf7E^fMhYkcR4FG;!fS|5e$@x=hm6YO5e$iZ3x4KF$>0|26&L%v1CS4<_$UKTWgU9 zbn=ilC!z*yB8vnsb8jF*3m(n&N&|lH9?skL#Uc_!D&1x_`?}n;sLM3YeQdurPoAvw zRjS**eXas`8l3v?=mAw&-FpjCPNc{4mzoVi+aDuq24afhE4MyLtrps5Vwg6B3dc@b z(fzB3f97lP#;tiS>e4P7gcz=4O#^A(*;9ap3&sWF-gX_P>eFJz__)H_+OkG=4yD3= z9-QwFahD~hd=D>7;Uvd!r^QQ+)*_9<9UYT75sk(psp)j4|Lpzxs@}9W=YaV`a!*A5 z0;ztJO7kQc_57VpkCvZ-76Fnc<+r8t0Z&Ua3zaka@^RMX&rzcVV9uX2R$A&gWU*uc~!b7ruTf9&%w-H zk;o1wiwRKjHv{n^b+C$Z&2tpg#3z0)G;571S$(oNYCT=MZ977~x$dL~YVyxsH|i9e zAkI1iq;&quy*fLgS$J`(seOHD+*05GJn?26$91_5A+#!+8(nY+n2|RQOwy8ZEW>I- z0(ljX2Ny|M_AFZVZ`Av{mtPmKx=V9^f3{%8j^k0%Sf@tdk&-;C16*|&=I3T+- zrcw8Y5}v4a_`K7dG5cBU_ac_oMxD5+7T@7avcB>57TO=BgX#Ri{R#PVia90L-3p_#gu8J zWpaSv*<4vMB!;og*hC9QpEquRw2pz`7|AK0#4+Ry%|j}w``V!oA z0Um?(6%{ZyJTd`;n0bCvA7|@wO2_f}S~+%Qb{#;5Ii|lSpzrf`Dub$m zA5fvh4>_A1crIiBD$L6T`#Esk$fA^+^PAv&qcY{}^%-CFCkY<)hR@k-?o@lGA5m<; zv_C+uR0ciTaA**XoWWL9M~9z<=$WUG*0GkU3C{l1^t&l}I$QTo;XCm37qqGqbJ%Ka z-W*Ko^IvI=8n0|=H|Bf|Zl((-|iPM7uv_*0MG->!4%~NehD?k^C z=ir4kQICN)KA05Ym3x@Zlq+>37-gr9X}$+JDtT{&e?{(A+o}mQkFa&6cP72YaAqGA zou_}IPF>t*D!XX;b9(vVQTdT>$zzk^p zY8y5yZU~&mOq_$;x-#{>s*6n*4)P;Tm?tCMw8aPR0W4jb~taHc8b$?O;Y~G+kru7n-XGOeB6-u|8@zixvOSvVO?n zf_NX83cl;Re?1Aa2tsaxiXAMyayf`FY(Q`-5^KyDR%hgIfQby52E@lonl0DmgRw%I z0pe*^5aYMcNkh5|J}FHV5ARDXSPC%4U?ep8(0&lDr+LZw!XA^B?iKZZHCZ$OY8Mj# zlu@>QS0c(hZ$Q$#J{B$?K0lb@DxK-*^vtbMikHGjVBO&K%UlC`QsE|A(iwlf{XWHQ z=d8jau&oq$TWe#l46>t*nxnNwXr()|!G_b!mi>Tk0XaT33o#h8yCD=j!=L20Ws-&a z$q+X~aIhd7b9ILe7Y_4(W192gwpyfNFx*RK2NT5E=R`K%Srvw{Fj*Da+v3>Aje|sb z<&iH%@Ge~_98u}*0w~kl^ohA$LF}2_(LqOeaYvcpkzMA1;+}>vo)TC&M6sJY*0hKH z@)Xy*Q<%aLNsij_HdE8*M8d3Z)WAUF}PY4#F@C3tx75E6IfJo9LY*gY(Y zBu^1S2fQoxW>opc6X>mGHTBiwz%1i#V#A#`$p!56;1|c^AU7cQ0ODgq+VYqM^w{p{ znv*dQcj-UH7&(Q^nHAXG&b4r2R%4tJge;g*-LH-M)DK2XQTt@^6LL3di*(k;PNh=I z@Yj_ko>|7Q{M|c)2_6}|0l7&&N$9V#r@5yAKPONHx%n}H?T93o7NRSn`yaB_>L3?~Ee^ck_qZ|?~@ z=X$woTk>-J1Scboomn3@u#QD(xx8u9$G_oWuruCwn1qmp^C%`r^NS(-moSQhJ=Mh> zezHLp_I13pdkOXb*Lj_f3-ZCbs@x4EZfb(LDSR*h?hH4rgtc`EUKts z&wh~93Y3+^YJ%+ksp0t*sf3h6xOJ+kU_Z?J3)qd&=O)d+zt96KhVTKX^CgK3VyAzU zg`8$2FNi&D`n=4b(>Rej@A0xR{R-L|tCEYIszeSQ@)9h9HQh-2@n}Wjggta&DXgm5 zRSK)E4Gh0-QkdRAmEUVL-xIrw46UaLN0%fOiLr?`}*e?p-1_7knye_ zQr{rBiELW=1zDCHw&O;um%T7!QM@|{$ZWM;_ZJX3T)ZG_1p3#umY64?uuyhM&5?)Z zT)O7wl{B4xprN?KvMvR8JYS#tB19s5EQ^($DUOO(1UTg#T>A&w3<2YcV`;&rYHLUb zlN`7?DcL}ACFRaMc26D$V#bk5X(t*W2ES8OPQjgVyp?r)tC44@fhR=6m{yaCw(*;z zPJZ<E=U19gxxg2pZLAP zg_+Es|D*y^KmJh%ds)0~-10pf)ivuK5Mc1!N|FEBi^mdY+%JDbOs3NFCstIP2v*5rL3xf78= za<+V^JG<=*x-g|3fvM_TOKncuW!!9YG9Xw)xDz2`s|YrO?y7MF9!Q>-k@4p_V{ntk zp=;J{L6sczPor#z#f^O0!o@%3wX1!I`lUcL-PonU?>j$KHRthvYld6C%Ir97lMxq_ z0%qph|0}vuI{=}DgtEu3)rm?P??4}QC5CK#gFe?fZ9RB-1C4(bkts{93pMZuy!WV@ z!X1EvC*|aM{T!PrB zGv=z@K7vR#i~ILHESjv2ZJ|f8zIooV#1B42XC3A*Nqq$_8vDnPBxxZpUO74FDOM|K zfg&{0BGWSo*${OqMm1xM{caxI96_s61VYEn*4ho)a8GAP&FVJ8n+tP)KCd3uP7tO(CTpr?0_HT~588ETMJC^(i=Y_m z{Y33?eRWS>S#M1nh0SmTOT2zT6nR8pgp5rL`&2Rt23^an#_AYsG?ZXO<_b2)``_HgL?`i*AX*q z)z8pB4qfY(4V2RZG|5g_io3HXDk480m z+TNI?79e?BWt({A7OVnw(6-=ey~%ZY(RupXmg14yuYZ{{!a4reM>EAFoo_|7KpXq> z5DmTMiU)P>#106kpAS+Oa}7dT?ocsBV&LPDF5^ee#|gy-o7|Y?1z>Sm8FWBd^acXJ zY|r|t!so$4wVR*ZBgDB%pbdQ1d`7r{?R|Vh??nxtnJVaz6JW2Ck|eUY(xA5ekgSp% zP=QCv2JQ>ORtD{Z|8J>@&>;9)3p0sET^CuX{@!AMmZl60GL{X&m%tz`1}YV6??>@t zlD35w|tGqLb__HZ15|{DH_-^x=<3PxkQO5bR0QOg-d)Y^s1nbEC_`%$M-s zmE$e&DY>OG%UzS7`@NYXWGl&p)W~$!8XX5QABkOC}?BSDW&IDJLRlNCcJQYF=OV z;wsm{5i03$n{z|D{*A9HmajqR6pE(w;6zaza)ug`Wq@exOWW2zK8@!z@(Slq|E&OT zw9wd~z7+0qS>7RAmFizChRPrllDP>AvqP|Kj4gEjcER+@10)y{-!eY>zA)9*es>ac zem7leRMaZeS>?Z5f-Hv0YY@R#sJ3IlfiReY{JMr8zd*#7Wn3}mG6hp_sV|$5+S?9M z1f1O0)tRmgw1a_b5uaM6F1sPLkG+Un^il@p2y|tA98UdlyFLlMo5$d*6FIA!NevdO zbHyQf)YlCylpVn$y{`NfsN3fnbmXu9PL@T=n~f!=$F2d=$Buhp)>yDFUK8G0SLpdL zW8YZKkjY#>8E7g&G#8vt6a@J4=Yv^C8SF41M5lwJ=eZG9o{p<+-;lwnkN;xUI{f~d zUCA3i6yt-80v}`Gn%E!$W}A+#AEWP&NW-AsDnAgGmv)GX>uZv;pan9qI)0A6&DBk8 zj=DZAQHZ9*7bck?Z;#W0iQ+>o^%_Gk6XDwGx5vjwijT(+|7pUpqRbX<%wfthYShWc z!z9gwR>hsWi;cU&WxRqR3Rp|zrT8w7_<9Y80>b*9P|taJwOh~2wqE#U=D^o)1E?yD zvvF>Uja~UVq*C@qXqW3Db!_^1p^PkF65Ke_0Y$Q%{2sWbg?PT7H8_Wc-GIP})h4Qm zT9rW%^E;4*iQ$uZ&E!NAaf$N^*LSy3W)p7U;@ zJt~U&S$Ba+4Mg>8Hi!NAjmZt%rrh2O1{%y06G*hM{KGLCny&t@?STcq=i(@_U>bsL zT_8DNP6iozly)gTsBB+(Z712L>1KEBA6XX?rvTjMKH)VwbpxLQBw+ikZ=yIPhV7I+ zA?J_n2PEX%v9J)l>0&Uk_ApX+42z)q1rIj08NHngL&b05kyYFZX-WNmo_N0cQ&J(5 zOhOM$Z|9rSc0R9#1ScqIOr@SeF9I=|?u0F=?dP^7&JNZRE?TEWu5~CL-*B3BZUIsq zMJJ>x%WJ8<)y&#-Ktdo;AkQ(uy`!Di(xka{Na%*(3cDn#$`}&?bT@ed zcXl*WTl#rg>;G%h>o7XDAN%r#Z#H_#D$bVLVhIWXl~UT#7g#JWA1IabyHLIWLuMYU6QiyNUJs?owap-R<1pPLDXYk?>srn!fIaNeWbai;&k@W&MnZX_ z4vtSXE4^wmi_B@A@cgxiM77#{uRXMp+1V|byxNiMqW9GxlWbGnEjIY5V99u|U$2CL zGV;xCB(aRAj@omYlqqr(%r;Xr{Dm$W;}DPCoYLM`f-p;$@4C{Y}e^ zaS80O;7mXD{`nKTQV`_gQN;PAOfI&Q#nud~G|PU9COo$z1o5RV^ZAvN(h&`!2( zs}q2D-;^hG88a^`%=>Q~J>e`Cwl6OVS6sNc8JE>2Y!C1L_)z{yRM@%%vyvU7DiS@#W^~ zbjKpJOUA{M;Rkt|QFO+3NkcRTFefe6sc#B^+9_OwdZRX85y+$Dx4CfLis$#)@xlPkj;z)Ujr=k$v;rH%v(IL?Arkiog0I za=~+(B-y%!kZ3%JJL|Lt$-gVYWGD6yIaf>Uy{!!oZh_{mQWJ+3hlinRnQHE?kDC|W z>mCaba%bvgg@Hne%wRBD`-#E3XV3po+nXZMAAc`fy>j(5mL)8H3;RvSmm?MKy2%(_ zH9|`rJ`dJK2{JRkH;t9^ZytCkUQ+JHzi#=>Ek)&GY^JpyhlSk2P=Y^~cwsjxs#@)MG5q@075M*$Odt5P;1G4SI`XmxW? zGk{iql!xErNNjiiM=C%(wA8HF?1X6uCK#oO{Y>!QvumNv|VrNc4f9#J8#URWH zkfb5&ezTZ@s|k$vBas_{w%t0d@E>%lO!;lOj|697tm*O^G4BA>v-CajfmM-@qfr{R zXjms(96Dv#vDi!nhP;%Q=J_09aGet~kB72LI!3nN-VB?$69da!sMy5T;?cH69YAYu z<42$qcQ8z}2MW*9cK_5Xi)k4$)@)%#T#(M42tZRgp?2tmUi~|*d)V3@3DA{@Ovxx5JEE?!-acXHK{=wZX1$E z86(W}p=XYn4~ij2t%vQhwpXX2 zq=};kjyt8E=#>+CgP>|V0aDE1D9rpcOzJ5~=`#ES*=?1RaX+G-JRnGB>c57QxbSM} z9C%cD*~iR6FqJjM^qQpJg@`##+Dqa(w_X@BH@teuZEZcfg*#P{vI`HGiJ!Spws2QE zF+U}=RE&^s2=*d53kHX(mj%e;Xemzyyuf7b59Vi0avn6kW6GK)QGge6or^zD#H*}O zR3nbB8K<%#;L3^?n2Z!Br4fo0`6152lp6-|l`t&+Crxv}tFT2FzafN%|HQA!r1_z6 zni1DwuyD=5r>&WivTO}{OU0qH9B)M9dgBJ7JKA&VlxJvM0*ECL+!41}MgjH0YrVYutm$qKK!I$g5ps+F87@$w zbgrbyt(}p8|Hq|%y)Y)J^$AB+VtE{Di$!sB=_hK;2pgEg(}LlZB>49W)qo5059-H4 zul(74^UP^9K>R8aJd6a5jg}e+Q&^AO8g&v=Hphnjq4{!1={{4g1J2W0C%lo7D%(1q z$6u{H~rt_n*dvDCiiA#5JyF66B=X{DS7CP@xN%k zY8nytpaT?pnfM@5N19<95|tk+L6Z1zS!%@ED)?{vF_XE#3a2aPlx3q7(F`0|I!&Jxo|U8F-gMjy^-lxJjX6AmecPMn%NbuqsNDC}G0 zO)PqF7@~K^q+9fP^s?cMthdUmS)o2`*6+g3t~{bldOm{JdiIGHOa~bXGdTcvt)$a8 zb2w-?c4}zp5zY!fWg5x8Mby7%ac@*M(XeT*Lt+QLw^#@HOc+-SwwT)qsvrU0Z> zkCJCBC~0xDz|nF8T!eW)yQW|_6<1u1RjG9Jw5g_j4&h{vp+a|}4qD9n@B6UIdO}qZ znh^}2Zsh1y6BQ?V`Br?HJQFQ7%)~Lq&<$dZKY}-2An~E2VE#RUIg(t^*%2rykk9_@ z2y$%uw}&bz&pUcGBoIDd7!z_y-0u}BX(Vch1WV9kIeG$WXavx*R^C$ce#G+D$Ll-+H;Bv6eo+XE|Nc^U`N~LR~AI zX2{c;ynHamSL)dK-|GIZ3`z%oX`TX8z{)el0(|A8Q)!@+ud7_5J6a3V>E{Zk?Ebfj zt3g{ugme{GVUlvL_gneQl#660-3;P8{1V`UGMhUVPbEsC;5|D#aSKHU$Je|UkN0mCE8nX8fMdo*xCFhxetj@Q#f-N-pFRu9Vv5?xjk6KslKCY)TsyyRri z_}(~}em|10X%;%%E+bO;@nQ_ORtt@rqq#X=o}zlcNocvC)})OD8E)@v$W^AH@%6?| z9%GH-{|`;?*cf;Bes9ONjmA!sG`4NqW-~DwTMZlAZrIr71dXkU?WFfy-{1d!1M}#d z&)$2jW35vV*KS#+L@^dhX;6P;{JUnM)x)jvP@15)2!UtKkDAw^wG_o+@3E+mAJ#qu zCzM9sef^-|J0ci!&#_c?i4k@NKbmhYLFyFZ&p&O%)u8Fx?=3vo{j3n|{j9!}N%xxa zcS6fNj5;Vsox6}QH~2^M$fngP#vZ&b;}&$m%sfI-N)4m?(9diu{4#0Q;f}%PMe%AGivj! z8dOE&It4MVq0Idj3Uv@|2I}9+H`=^wq6$ZYjrtH&Sle!P`_R|dF?e2cXDjLb1TleR zz+U!@Jm2qF6%|1&6SlBzU)ZRwvac4?5Hto*PhjQ+@J^z*J5}b0Gk8J01@>_R4L7vC zR0zEPZxn*kyiy6$poWq)7+7;^1`of#szTQsWes8g8gmlX=N0FS`CB?n<>z2?k=p87 z+!V6J))o#c&vCQTkU~0)M>c2<%wZE)4z*1{<|2$xI^h6R+Yy7l ze=TNPS~oiv)A5Y*6aCHUCVGm#fPs1P{KhVS;hlbSqDWZi*p5#+Ys@c2a8~mG!F~PM zr#T~)D{Cm!b9v@NEkQ)``4Mq1stvg`D#K76k@Lk=1QC0!pk^x+c`d+S>OJ_RNUS~i zi8i}LwhiRTM!*0`pPdGi`xm(WY+s^RrU#|v=uKED+{tWS%q$Uqe-bh}ZF%;tV+Gy+ zOB(aDzZ24CwLNad#ezwbgUsBK1HP^1l9_=%&+{tFl?pos!OsuD#n1oC%viB{g(}%S z9q(X@*%aC>`|pnIyYU^go(~W)Wa3>!GTA!8zGi^4%=aLB?Vy4yzo4kl^k_Rc1YA(? z#Yd*nq{Eq=3_l#pWF6Y{s!pf7pF7>hO*i_&I=O!`s~!4W{{#rY-dj`>HEc1u`;^39 z2J@$v^t+jcr>!8DX-s@+cunCueFrb5ih!srhbnRfw+2#9*tC$(dYf};?AaN}=Evv9 zJ$}7NT2J-DcC*v+$ec|0*6&j#?hF(^HjmgqQ}OJoj~AA@a$Ym5G# zqw_eNG5co20za3US!qtjV~>G)qzWBXKWjgnrXj$}&0_3*{3_KW*7Vr4jOtkze^}=X znSqU{OG#I;gb^oYu5u2G41QXp1Z95n5q9GIZ2PXPzTo&e- z;u)?Lmd)J+B(fTVX~fkn6Rhf&v4$>2n_?Y5l=04lyr9$jDrmu&nfit-|0TI2rc{(xI_TqaQvYv#vhBqx_q{b=xYv#D;}ZRc2F=b24t5NfubJAP z86Z+dkIAE=GChlFG=g&Rh-cky-CS-b%|vUxNY>+hBmUZ%|Bt!*b7~cQVD*Boc?>?e zwSs6bruC}ci9eE_We6u}_C+yMDP z>`a{NuSJGkgn-6bjSAA%O916asx%!E%*Nu~o0^r)m@=hk*)}b4Ec|Ha7iJdaU}705 zP+4IYuSM-1M8|3?GUv-*y5M5%>G7I9&~zVKNq)&=`a<#+eDrW08VYAo5sa#zK^Xz} zOB!#ji>{Cp=0`*@v8=a+Fgq&}J3AgO9eDBd4~lrk16Kt=>l)>Eld=oP-xskmHoq{I z324Xb>GWk8ZHGFkycg_5bC10iyc<+GE~7C$ByRj92@Q)^V znONvFWz69ZN#i7uXo?;k6!7T2Wf{x3Vcq|0TAr#!RUcX*nhq`2#+;8T9D{zcl>d!Y zV50r8Lf39UXU4jbzY=s{VsS2}`H-55O~&63@a-3xEJP?Ht_&Q9r@n4oK{ygs*jbr9 zKZ^eI|91iGh05@wh)%Al`f~vekdiDpf0sHB(1aP%3fW{c6B+`s%vrBW610S({ePjF zBd+I6qe&&$bC5h;{xYZ0U-W1FhOe3zYd2;9L1(GoMKJ!wEGe5_PoGMA&oY@J2d>W! zy#!*KrOtLdTN}CIz}N1ZQI8u>_rIHCQ2ys(B4|03bQ;Bup~dn9 zxS8BT`Sj;<*VOzi)MFBl{6!Dz*F2LPrP#^6J5vEtM`77F^vlw_Nd=G}n_$N0LVaMN zf+{}vTAM2c`2{Zi_gll4dxZTD?P&NZO&j!SZ)m>Enh4H)Z@Uw_o%Io-_txSbkfdi>r0V^|Kr|O5$9Nq(%?0Z} zwANQUV)miMXiSdL<89o$DdcTb*r=;(D$^n8J~EB|$!**fvc9i2m?0t->`{24q{`3w zf3rn}K4BvqQTsZw1<|N7AX3uqTe)VPN6ZCOA+K%_=mq6x5qOnF#0g-?kw&UL%Q;UY zdTecc=@m^ze~)16Lg}5YBNRitNYJ{%MhS`en&SoWEUE@our+GvaNrgwzeX)=QVVDj zroXy#p~x7!pAt{5s0JNrkrzRL=4|GJ&|(-K=n7T4ym2bel|LEJxc4*}MDb9?_Zfw! zt`Av5rkv4_t?bkb5`OR8M-$)Yl5YWVmB?~FxwA~Gx!y z|631E!JA$4pP$A7r*fnLALg&#9j+u)@o^q~>dR z4$zbnyCh}{m--t9*Nm@pr-8a_>%!{789$bv(i2o|IW7a=B+}q~KE3GLArovAcfJH> zvzq2$`5*2Ri!zWh)dB$Y4@&jjfo3aAnj{<{0YT2fIX)whmew8S5=gu;=j#o(VN8DK zoPE;Oy!nPxAnZM$aZDVZ-uF6?dRa^1tK<(JF>oTz6AXj1tAGq|GCWOLu<#}MBeg|Bk)^8qw$XfO4cMR z`tOnq)6xvHk|^=8@z*zaSU#-+8wGWPmg2+JB|5y3yhwEOg?Z){Kc*lm7qhXbk+|yq4fRA!>K- zyAt0;>rLFOOpoyBmqbQkTD;LH7(;oqLzDI)4aqy0+FU!zXi6Tn*r+XT9xOTx3nC%IWuq91N{^Mi1c}zGI4+_&5 zU$Jw62A�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

H(EDq%brC4Qgou85op`lO#@kCttokfPG?A!jl z&`1drNgMf-lb+K*5~%gaI9=_sA9SobWaVs*J6PO4_;XZW|Lps(rJsNAWfURIqFBP! zA5TO1nC9sGD6~v9@y4F}rc6a8DswSj4oZk`=6fmtQLmDxi`Obbcn%Hyp6zeHd+;p% z9=-hgto|gPS#AyPq6oo3Rso1+8H3|&2WARkC>kmUZTkfvhSX>;#^7M*1KGt$+z=@) zr*3FGQvqnaQhkw5pmfON#bBRm$24vyI4;%!IPp&y#h)b~XPs|b;;4KdanFOX+u#n_ zj^TiO<;q32!Euq?r4_bcFjTnZ4Zj5j4(D#2fs_pi=7@G1gC>nSwm`MSV?=*`0Vww^ zN2|R})&Pn0F?AH$D7ZEl0EHwwRk^lQ8O8Ax|dW zZ9H?l-QF{=1O%YB+3#^y!x?)It}nuPEU?ukw)_yYht%EnV@mVAA||+$RHn^RCJG}V zJVkuK6Sl3rCOJ4XZha2n+E8EEkNv5FP9gw_Gx)rc{1K6qIw{_kSFX(BlHbE!^{W!t zA0)i8B8(cQpH>SCnu9u~4mTz%@&hW!FEpb)_J3HUle!Re?)GKkZ=gq4MLTjO!)4sP$+w0KYY-^q; zl9_U4&l*>W!S?QcdiH!bJ!8w;`o?DZ)2%z{-lHe!>E>qI#ZN(^v(Q^Df_1}WNptp2352y(Z+<$i&Pb7WXZo5bHdr8h0vFy-YLNba}pb1DE){R2e?JtV(MQUKuc&7r;i`LFK;WCps z4rB}v&}Gc5!O$|ort{~Q+5UDe-9RD23I}o*X*n})Pl2hOm6_&S0jMyN4kpotZNk{1 z8An?a&i37y>`}f(zFS5Me8keiweGD;wg}M40{`eAbnbvm+3KsiXqa!Yp0cr9h0T%M-C#FyWumReypI7*$ejxz!=;L9)> z0-*@^9TzE!ahg$;%skI$V71s-MhShyFY6xt0c8{Q*zhO+t9L zE;$h7Ei#@p1D#7l2xKA5kq+s_enRHbdp)Ah;M=6dmN8*!ddb<3U-Ld#-g=C3k3a?) zVvNPo(3E%n>iyR4LAK$LDLvO`4^~?Z?{};KHICNLpuaFjOq*WfDU~}26fpi+ZoPcu zvS|>sc&fl9Eh7>#%vraQTlt2?ft&e`Cg^Sux4`i@G13!&>^Y#(Lxgl-@kJPCLWSis zR}sX5b^uj{Uv5_~0 zN4W(3(thF`rmJ9Tf1_P3a@f-A2(DhbfMS}9>GFluw7Rm)R=LI4?mCC?V?VUd1l1np zv5jD~fspg`*>kqJJxx!zQ1vl){5(R_+tx0Z%~D)Zm$CYTfa&&S%b#*=s5<%%lifF# zM^gRap{@R_2tcNh$5pa9Xk>r$NxE`wA$^DKg8${O-$~zp{W@x|(fkI%E||tp7BNr( zv=s^fN8hnF6aY<4guU?{2>9*$oC-kHxrE_doZH}7QB8k(y2~oi^YqVm9;HoKqJ8${ z&UFxk+}eh}0+3-s1B!|e;(QN-9V?wp$%Au!fj0mKub(RUPK7GcKHG`k=&?_TG3hd zjWdN9Gqj!qiYDAf;4t1$O*CWMT5jLHp{4;op^f+Pec-BDygt7+?ikYI%NQBkPBb;1 zNVNe6Op}`dS3XTs2onbC4_MPCj@E0 zN-pD_Da-^8nkLbM&gFX`h{>vHY7BD86=1+HGFZhv{H>r@CI^HNz70M+NOo=T=KMQ0 z4lw~k8bH{ec0C#d2CJ+_9`TPz#0clegS0Trglio~6X!4iDDMU-D?nmw1R!is9XtlB zJ{;Vbqo5AZI_cR$1)y$cHT~)Kqx9SNKjjX>t@M8I0HhG;mg5B`pUy2WrVHnm<9&W*C9SeDH18D!v?<%@K5cK8?QUE2 z&0Cw>>A6DC#&d+B?X<<#<$caw9a5e%3YD~3CrJ3A4dxc-#D}e~rCHL}c2#ZtYT;?y zX|}f|)ATRn@^2Y`i@ZfM%n|}9W#g)HD1ksoOlZ$j^V`qgc{}~p_g_h`Up=2V(ZqQv z1SF6vC}q>oZZs(DxnadSk57@S0L_qf&(NUw7QUteP*dry02LwVljr;C59^!hH(#!& zrz}UqCL#2!+I$1r2?hH~8`KOli!qx6F`g^{8JvI)=Hs=Ah;QN_)6zDK@j_3^)DOj) zTYGq&3cewc)Oc(A5YVxla%V6WXbUuHyi)%-R16;@C^YmGLj>69@jE*A6K8GuI>5JI`$0dloVU#wW@5Bu8`ZFf6x?5~zhT%ehi7hbrXPU|7 zF$XRg(GCn#tOO|lamacF%~9t$mv9kg>^ujumzk-~O1!`m0+2V?lRszltqX;qc=J*a zBCSO@aI1}srZ>CiZ8wZ2z!(2sDOv2YY5nD0{EuHPDNwz)IV@%ByV!dWwJpbKm502^ z=kf44Y@G+`VyrMN6nPy=Odx6+w)mnf+oTqz4~LxO)<;W=FKD;VD?Wy$Pq$dfIto5q z2qa#`o4_Sq#R?Ey1bHz#s==P|X#^nAx&pb!T`mh8U}qO43RlpKCLPbCo|%hKKVr-M zKY#E=dhg!j^a$R!vwAVMdxn5ABweTF(j#7;>nfA>WgJVYo&bzZ8wa*2dfX` za5WPOxY_2NNLoY*jjKR&Ogt#eC;+K|%C@~n8`@`r!_}ZYgdrz8aN-`+bLcvNR|^FP zS@3bYtXotavlWDbR-3jd@dSxAbe7XBLGe_y7vn|AP&9NwhEY)g>b)}>ah_~qMVT^C zAaon{91}MyOs>E4*6Zm%vHk5kSJ%AF`V-41rz8p*4?VMsG3I18d5R?D zw77z9O?=zUQ~+uyK;g$nLFm@bLHZ-JF#q`Fqx5ilmThsUQ1mPi#4q_cu^?gDsAf=o znFSy^5mtZ>OQ0AKB{D;mPTPP!IGvRtT~h&Qyu!71CN)z5Xo3=J29gOvObFTx zVq=HO3s96a=7V9yP@ zYShOJkOmnv{S02^EBflQ&uafN%!~+AGs6ZO5xT+HAc?`$1UKc@_zu2C;Tq*$!t0-5 zO8;1VN+xo73q=a(I_YgGTUFq85K!!WchLT{v9*_;vJK|hCfi_`4fX)^78<3t(4w@* z6qXvg+@56580|OuU}EN-6(+!Fftz1gR<*`;n3aavfcZMN2s6eVBNq^c&Monv#ma3v zSp!q9dAG>99mSb$Cp;{+vehl07s|N|Aqf8%J1Rm5UyB)&8TjTSJGH--LXNR@8fwY0 zS!yOEg9ND#g~m~|1&(+1IVwc!URW?48Wh=Ycov$nDZvMT+D|R{L!42b&3Ac~Nc09bV7}nG!9A0X*hjd0Vp)?9hVRbDfn$NV!shsWDDDe#wlV}D z-gd&#o0f*fx70aan*jF<7#nt9qdghNq)h!#j8#v4D)@#(Qsb@dLqNxJq9!Iblg2w; z0h+joCkP-zI{`SLF$)M2>LBYZ>;eaqS2>LP+RZEJD(YF6J-%VQjN1!%=C0OgwSfZO4F&K>s6B8_hi1;1_??74Ty}XA6?>ULcghgjH zS^ye_Ym|G5K!3M=$ng8t3>KTr6~6JrP4F^8@v!-WK6VpEU=u-S{n=J}%vpeEo&!Jt z+H)1pDwgfEjy#~wN=@5#%~$lprXn)~kzKRgxabPM!B#j|ggOX8OX)mYbk48vX1mTZ zg3uB|QU_eBR7cS+bb_)4w^v4fOgStr=?vyN;PJ<-pZi> z<%IEN9mK2nwC~zICLpTJ*U_~BS_>heoy>aTI8*?_Usc%h0&dL$EVjTM_5`4VovdPi zW)^kNY=OJGv7i2Q?@9XaA9H_=D)~{4AVY5n=ZDv+8>o@CGI1wbrDGfcXvT(Qu{DB@ z{b|lsY27&u(a+L1cSHR(!hkCr3OmFXtEf&MP){l`nBxh5gc^}|nFz67V(S|v?hc)U zSpC7b36t9c{R#B$*(U-FlCQGM;jr)qsu_;CvyOJN}Z>Uey4(ONGvtp+CBtyEGMgFQZs41 zQvqnw5}pJeTJMcjV+C}843-)JXm4|aZB4B7FtWUS<4U@I@qD`Ast;S7yp+!iQG+>; z!BX^6458tWqKyUTS`xrJI49mJLkU>J^vo#6%E3!Ua+nzvW>NttA0+R^(X$PUHRmZ0 zq}u80veOaZ8c)q|3t0ON1`OfHL755^x3G4f#Ta+6M-)z0Bg{c&`qeqM$EYIs>Gpnl z^z?aJf3kr9l+OYv47n8!)mowYHnz{Gn;ol~e&mnZy@qdmNg8$GV;YYL zK-4*ORRka}M3ux8fcBZ;pJyh2oDIHo^lP@keYXBAZLyog z1N;gAl-SW^oQ8|^-q8JvqB}_d3YvGdx~YU1KczX^RZ+m;-kRJ-;I*2qp~4kf)Lw)l zSAt^o2gJ3%C^f|`$~JH)99Wi=p+Mv}3sVhjRJQ5K;q!0rBMU$#o+tW>8t!;|PE!xp zanPaAfJ-k4OEOEW zL8H-s$l+=PEHqUDg~zw~lWf(_&& zt%U#$paKxH8nF$Ii&A3*A0+@mgn>XLMs`+)RyP%Z#w*+xY5r3IXuPrws5}Bp5TF4a zY#$>lN``e@^djMLFy!Sy(|uNeX1d(C&0gypC_=cl#-*sM9KNLmm4l`+IQK=ukiwwp zU*=p(0-A5#zor0mJOkF`x84G0)FX-^1UPdZ`R+mWY{LSUJn5&s{_cmb@wCiG15*19 zqOe@mtTy8y9`HF65gQJ=D)`7?bxFIz&jC!#0W-fFto+=6^o-{TLeNIqMD1-Hf`*y& zAar!lcG6Zfalk!QdB9C~@Q1?LCTsDEdWKbH=2*tZIjn$mg`d?O-CQ7CMCe&vJ%<)S z1R>9mAsAg}Ym=)$p_to2LL)vN`;5%c8MPRFHxX;cnq8ZZ!NLj#rZ9ZHaN-#>Egn3e z^wzs)Yn&plt#`HnRMI!#GxGCm3qWmlS_^R%n#ko+msMRfeeQJ%DbOSNt^FH&RRu8K zO`YLayB`fkJurs*glPpJ4(<@pJ6u8ycC!Lh3qbTZod0oE5W0uiH81ouX>Vo;&2P); zVYie1;e*f92Y0#42KCM%$V-I(js+mgs3>x%1s9uT2qG}^d4-)azYWl-^d=9w4N*YQ#tm7*}QD7}UH67~acdqNU&I{-X@7%-&@eL0Y z0ubBZW)Og0xpE^)3V;l|JBaOhJ}8 zxe<}26qEG9-Rh*Lv|b+FzMW<&05$bqNYv)_l#h?My6GR+chaZp+vy?O;0|X|f`DM7 zzhherjBcrjO>=I6!zY%IGI2Su#vm+>=@dOGh(q|np+tz+sT&)5q;!1Db*C|Yr~$~_ z+Qacw@C~5%v&LK7hk%adWYtV+CXIKx0yJp}13%b4MphKGJ_tK9x@d^_=E2i#HEx0P z9MCM6&0StQm#(3L_1eV?s2W8J7>H+KoP(k1G-3*4gfMcl}XXfAo}dKWrC5*qPxl`5X@i2dI${TZsuo?1ej2v!8?# zX}~Swp>w7)FUg83i?m5o^yw7p9L#EDiSI7Vi3hgTV5KVK1=_ZO2 zR#_!Fhkb?Za-BH5ZARRVm(MovmB)`j>Z*=Lh9)e{4j4v?2Pj0s20fE@{M`Olo&YCrP!Y6) z5RK3@tClZ3Twi2kT-s$D+$L9U{KNa7ruS~&=T4hv@EvS;Vl^|*xPm@RB(i)|Z_`(s z!SCYNgb#0M9r~Q06D>&E_em>2;&wv8s*So2K{JV^r(nXk9Sm|`YSs>YI&w1FmW95g&8)txU zil*K~+X@?zp5X}|)$XHDDWewnM!_{v<=2@DKxX9R!mV>U$UN76gQ!9PqD=GQ-)2x( zaB0dlpY_QrKYIuh`wa4X2sgLx-cNTQApAUemY$>R!1F$Hp#f@{vzm+1N2~44zB&#* z^Pcg1fSduZOfPia6nfNO6h4s#Q(_xXDqLN&;6WQ6C@&VMc|X{@Q`@;2E`8cX>~ zYvE0}*0eZUmwfh!&j5?ODxFvD$z>m^Yn4I*qk_oHFOA90xXfE2nv zyrF8=ECih%dcDKc0#M0E_Gro{DqZ{~4tb!oN0iHJTT(iC=mH6}n7y&1nV@!&?C zA=DhQitO7Uu>uru3PG999FIzRgMj2;B z5v7hT(?d%ad@GdMJfeOhnUT=I5lsQ6-*;?RrCo`CPBrwFvF%K(FlkvR%5Zs=DPjxl zY4!sl6y?N3ib~3a>bK(}Tw8WV5Do+H290?TwgJib{I2mG+tJ@MO&h4-lilwn+WJGq^062eftRU?KM*YsIGe& zoQ>i+G;xnv!w(RG{`+V5(a+)-+;y$W#rO0z2TGizOV5xEFbjbr3p#_ZVH{ z)=lXC@ENknQ}Yoxdr@RplUw4&uZ z@#fW}2U~!i#ZPZ6F#jcnC@DTjw^mCo-dLR|7B1=|2e5P_i3Q9+0Ohub01*>H_6NBR zGTsJZz-2s9GlUgitbQ4FYcfnuNMom*0!w^aeggA@up8xU8Vm0yVECIhKP+b^Z&1vl z+WvXebY~?g)(u;2>HB8jA3K~2>ux`X!1Fe)Psol&^R%ndiyG6#I&z zuWSp^nRrbku!)k-NJ8su&!LNPY6Lc16G*3TshJ8urQ#d_{l$E#_446=c=B##`Gfkcq5K4NVkg(s;i)0?veB+(Orj0)If}+&Y;UsJV+ylF?Kiq4Mq%!SsPWXo zj}U#KhZZ7*C4xZGUyn83UThQx)(%p_;G;wiu;&I%p8L`Y+cO!#)6IejJXZ| zknLnonUMMlHP?66pQd{cAE#&76)A!xfWgSK(B=r7Q7^oM8RRW9RVJPIjGU9s)`Ye9 zEl9LkafJz&unj;p-q3>6)y_mC+{}S{3E|}utBF@ps&RwE%okOjz!)&^Y85cE-t$4; zowQz100NUj`R*Qvpow>e)vkHA*um*W-n{$7Va2U|k$z}RCfi}BR8cQ&CaX!a`2-*Y z!r~@=>N|^8ys>8nNz}w=xmPCew_$r8L*onYNN5jmz!o#}CM$3jET(tB3^?U<48T;M z1(SIX;l}_Ghd}xkgv0F(n=3G;hRH7FHyCJ8g}~m@5oH{~_$|={jvPu}IQz4m6FTv0 z0nLKeOP7k>mo8B2zOb~C9z1=PKDc!!{r0^N)BW8JLJ%vPOKZ>vZG)hyd!9o>T&Kf{ zGy0}|)b*>hqqF3Shl06hkz_J5qhU^r{Lo3+5P*0elociMHLy`$0-wIg<3Lj|rF`15 z8xo)C6>gF=g>*O^SL<5hZXAw|PX(Y?|FP{YoUKILpC3Hj{S@V_@MC$K)+lVfGb}AW z%6f;1n>hraMOLcwY8V$Yt1%L-Z*GZPScVo5fUZ-A|Ht3|GX3D@)fj)ghM_}W5V1lh zqSxL?jFgeI-bC8GBB{bOrg7%0Nq1oBxfZx@<9jLqm0FiJpkw<2v|gvD(8pbf>;L`u zPI~wLv$VT-o_*+xEUz*s?MT#l&^mP1L5gI|nCaLMcqBB=FNP4rE3aD$2cX{eH-#4U zKW#(0rvlJ;h591hz|l_g__(G5(DCKd?`s2@#6at|rLhcv{Cm^O0Ziz=OoJDn&eN75 zg#9g*Ay(XYBi*g4!o7`y{DzOf2)f47_NqVes^`;XES zgrDsl%GYf{hd%VHpvngNQ7UkDHf||34sdnppj(&%Tfh5jX|gs8VhIQV?x4{gr*N^d z)CqOjm$+N%@;SCwqCR`gJB1K<;CC1!5aJMoX34*?D}+0X?e;yW4CV-CR=l{)S{CAu zJV0}e0Avw{5JYw(2l``a$Pjx5Xa%5XELq@D00}_|H|=4ZQRc~XZ9LgI7he03<0@Ve zw)puj_7fA+aH6Tun2uo~hPfGkUi~>aEp-}NMzVGsVmD5ok`L`wQv2)%w=UY0 zVE1B9jc3U8^LrN|ro#oE3kdtqpFdBZfAui^%cr-}$B*~Y0~wM<1R!YrVBhxPf%kc; z38tBPcRW&v=`2uRApki!KpZgTwxsAFZ37_y5!ML<1)yN&O@0W`TraN7rMIrHrT_g`KT2<1J)bTyF2zNsF~&HikO=%nggdmumP@xK~ zhXCZb(UCeqV5eiB0>MYm=jxA}HyvE0VcU%Hot3deGz}A&aXNw%(b+&7b1L`>vg%#q zt?d=aL{_VBQZs41lQC11rUqIfNTkW)?^VHxh$hX)i3kS)q{E6P2EB)WPe!+9c>E|R z9R3wn+~TB=GRxM3JmF1?*@X#VF!8>Z8*E*=4&%B;+g)UkiQBoES>{8Hxa8`?D3w;EbZNx(|3U0cdy$)~*qELlZTFcO*?i=_U%R>8$zz>a^GKja&ih z4<14C`3>t^B{DGoSmh~#aj;V6m*|V<(>4=Fcevl@777o(e6Y^Nr*y3fN~{<43qVE! z5+|V)eu62%&H6r30E#5FKe;^(NpuU*Zwc*Iq}iExw^rtrAZGbV;yJX#ts(qe;%576 zsLj5JFr?Z-Ir~}!Al^h5 z9Z|!SXT}`D48{d78IpjnQ;pLpnmi6nhJWI*BhL;TpXz}mj1x!O*IAL#pm^!1;1er9 zz6-q>eSveuPCijVhRO3iwz#6E{~YH8t*f2w4g9Qku3O+5hPPk2o__M(m($L0Z6_4 zd$UV0Osfnw2to{~_8aysLGQ5w1d`~fadi)e{fc-!^{Nn51R(n+-OtL{U~%YPB;I091z$l{y=%O+y#krYYF9O>nKa(105nMnM~j*ufP=%h-~b9+21*)X9CrvJ zKwx2;l`2LTX|Gq#ts(%eAPAx9i$HO9u5RO4!WU$c$#eXBGh{#zmrtu@bzt z#8D=qZM^G&P58Qh7)7I_Fpq*Kb<6gRSL5pwfck^fU|}x;P%zWZ zJSk|(ORz#W!x@K}h2^xvEcXWW_4)b}1fWOhHV4BGorpp^)@T8U4z?A5Ogb?zVKtD2 zBk8FfqK%JFSaj{M!wM*Ifg?f1J72xifb9KzW*${%7Dk_P$%)zP9Q)txhK7t}11_j!*%JFx&%c4CZ7XJ4%GVYk2`B4<@_*&izD&iIJIlH7>U}`c?qi-eJ{7H�}8?1QV+t^P3^wFL4!M&&HIs8Tl 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�Bugk!1c|%u zVvEW7dEiMc{vRhxxkT`J1?&=bXb>>X|j61 zJZ*M#FlWw8H&Imz{#5uaSO7p$FP_fysDmR<$|40ly7mj|SI@vHU!*U9f+9}z+4?Q% z_Ln%yJv=jq?^{=o5mD-wz2n$uLxDXf?gU4*OSd*lJ(De%7Ho)EOK~(`66KZ!o2uvvpj2ZIT z8!f~A@#PLbW@gQ01$pt!PA0L&awwCypsjd_|7?Sj;}6up*sLdOpvj zZwHMoGmNK@v!-J)FGg1Wyp^?=TFM9McFT(F&_yq=G|4DqKcp{DiWHq16+db$6a6occYdwiOrdYS{k4BVj`f$QHcqEHv9qFdK zr?pHX(xOb@%L^@w^%sT%wXXWTmG1dnTr@f_B}n4~@p|+p_8NcH(CeK1#6hwD;UvtH zN*N%`?r^Z*qTGO3Ba{;wE^4qLMoFz`ew9aMY+pLj z#L`Cd+p*GD`)!RT*{Uti)>2!l2c_EW+}0S0?4dY;1o=bH8Mllv&)^@?g5LJ*AQ2;C z`kixkM0%pwx=g}~h+t5V0=%=S=S|9}RVeIJNlgFN0ys#ca*Mp8q)a8clTn~Uzt4U) zI_fxy>ZpHezm>?ry>9z~IN}cjA_?#Ek{mC_R8cwjn;qA>mUJ3$sVN{<5b4sWBw?u* zQAEKdS^uosNt{#&%f4%>E2jKE0HQtH;puqoUkK5R^A)*c1oC~$?%3u?kk?Gj$8OLG z1SDR^0{-X`g0^g^TrQZbPKuVe{JI2spzk@)xw-)~dq-2PBaM!r7tI|gZ(Lh9{{E!f^0sO29>h(Zz6=uKQ-Hlu+@p5CSi&sqM$6=KcPZ~?{`CDtdNczS(;Cx` zivrQH+N6HdSbmqgzS##z5YHvt9hpOHF*oN6X?Iq6;W7wZ(js;kl_|oS8Bk*=6!dhb z^|Bwbf+=Jk0Hus*hO~m2_3Mp=?lAU}R@xKhe^;iQ`1O?Y4Fga4dlKi)C6Vagsn^p_ z+a1&YGoFzb*yGF5_NhtV8dx!lVI6@Syr<L!GerjHlh3#(QSQeWu%;fJr z!PCK%QVG&KIzBn3g+$B>i?~MgB>oOUrO3l^yG&S{W8qWVah|;+0YCJ8)?kNm6m5?l z3GfL`Oij!%xcmb%5X~9q!?3MLIx@Il3QfIoJ>srn;lXu*<%=3M>&ZG}_5Ra011a0r zZ3;i*SA5#d`lz91dWMXkU;udQM+Oo}cELQxA9@3b6mZ<{1V^8rUBC7I#Oe4#7#5yw zgo~-XNYzZ|J;gCdyR6>e!=Yig`{@CZ?=&K@0cx38NAJOoxBN%o$*J4j&|bt5h>0wU zIBjH6_+w2+4ugjg+dr8;FhQF*BgIytf8>#(Z3Kj3u&vz0Z~|qjt#Pt@r=4M|jSFB4$=9 z?MdKbvB5ISRGOt|4@)hl!7H+J?fAE_8@x1UW-JpUX(0-49IF2G!4dRt9*Ra-oznQt zA%c2EB;4!m9c8g_aB{R>ws1t5rPYu+btKDLm)8lnIzH0G#~pmbG@>j$|H(`q^aEG> zC*WND8ejS5zo%yu`Dwxbl=4)l<6b{*F?{kMP|@+=1(COL_3Q;r6Oq9OzqZJna(Krf zDG9c_3uKy9^k&FXME;0q`{tOI6Tp(3WN zEFJc^x9{s85Ciut+D3mC`*<}hYfR(+vjp6qG(Z6K(G$4ch38CyrnY%LY=IgJH7>>Q z)o)E@TNZz*>uwhm6mUyu_j+XE5IG}9l_DR2K<)I@3T*((Z$@j*feHr$6gy}wvxotz zkQ$V*wdY11K2`X$Uas9?^0jwB7Zurtwc%9O*ktHPWAB@)4~6S*Ky}!`Zb!C#U6#0} z0C)RV*d1MH1OMkM*t5qh7)a)G1_UAFYK5dAsC($q#^Dy#nq%tHlIiLxd}unG8061; ze|L6!dgtyQa5u<-A0GBWKTQpGWCZ%f&vzGdubHq=X`7?S?tj@`3~*JMs)}#qQoWR= z!_iKGZGM0m`{qj4MoJ|l#P3E`klLQi0LxEAf3GpqQ<$FlzLkIvY}1i!93L-&y3V3% zFAVUTDP)gAmxYyp7ckU9^M&|4M0kzwsZp*_$0cG}+*)@2^z``f7Wj`iJ=>QpfQXft z%l4PDr4H+PUn+Q!iX^xtbxyzSHs(3?I(7HyC0}h+&?|(ow7kb7rB+$_M(w=x@@s-j z^2HIG3@0G0tx6LVgbM z?5pD)m$M68?$Z{IUGBS+k51qUJL@R=dhVdo`rGdkE|KJiRW)o-` zo1cBTpod-X0|O*t`WBjJm_I`7e+S(%t50IEI+zoJA0lO~pLgiWYAWD8bo%(hzWMg06mr%0)2qj{Hz3jfysLFi66a@TG9~S$Tf!!zGjQ z5LzPjhK@s##&=4QBnB-?2(;xx3gp%KgnU^=nb=^Ox$zI`KxK!13|nHol}LUg1y~ti zl!NU?YO@^}1TwV5|2zQ?f84T{O^<**Fs&Wv^&c?D|{@2`EP5Sks1)(=;H>H zChZ|#A_8p9*bEhmGBi6PLVsuTcrT<%X3JOvhiE@YYE9_7?&>IDDk00(Hnu7YO$y%e z@%Rnmk5lO3VP^x?8_99?yosU3W%?O za?v5gOo-0Gu;8>rS(adJ5?J3_{+shbdNY6qqkCJh}aL7r(+UqE`rZ5mLI(+=J9l+}cH&hzWxlq%%py#ob z?-C^t)89(LQy!qh`C>#nC|lcLjyy9`=Zg1AZer8X=0xh%P1RZ_rh2I~68cJ*K)Ii% zxHnI3r5(_?N(@Jk+|D&+C>5-nyi4XTI$KcMdYgVfSVQ*wc)%b0A3z)1YcP8?_0`Fq z9{oWU{FjZ!XT51ie)GL^`2&1Jz7g#Wy*1elJ{@s{`V1n*y6XCgeN*(C+w10V>D_wg zM`bMRkl<&12eaND-FfJPzk)-J{|XMNMZNNi1O9Vu4>=iSs}!7z_DdWiwMc0v+4V0I zdwpMV5HS7NDpDNlPz+qhVV84qo&yE4hTe||j1ogvngyad7rMg=na+$w6wQzk)i1WN zj zcYnPXrG0Hhqe0Z1Y#%invFtg%{9P+lj^IZMhlDD!F9epBDZ@DR&gWW(i=XrEzc8wn z?m8EFC)g=V)gOapLLPXyRB@zIv1sOh*Dn;`R6KDyI#%3pV`oHkaR-7D1Lq@Itr?5ObDA$MZ6OijAZ- zn}ev7qMDtu0abhx=L?-lBHZ*+pFUPymfiufZwKNpkIx$<+qA$^iS)JGw}hzMo12Q;OZFH2rq)Ei zV$lQ6-pGj5gdXZGb?DUPP0znjr0aj7$l*!6FUKVRIpqU$B-b_yHVX{>j^RFRMy)$i z3;LC5MA$y=fu@@-X(ArUi@rh>9b%}p$=gU%9vn1(%Z|T~)#bwUUR}h|a!`Szw>3+q zv5AY6a*l^bt3XS$-Qv}aCw>Cz16qQ>Au=|Ex0%k#(E#<%h#;ixvcEsgIxn^E)|}kl3pm`8=A?fBLS^ei^8vALFjYf($~vi*kHCP5 zTrcDQshf4FWF_X#r5XIU>Q6X#lEASNKOJ9%V5MATOOPnyvgG;~()2(PX4E1onZ+Cw%Vy9qPtt@Zvu^uh#}nE| zp#0`gVd8^%W;i6hHB4hSO;Ojn?@B^As-r!azF-*59|2-a+%&HM)$W1;mGzH(%tU}kXt?Y zcBB^h<(9cG3)Sm!tj>mi+r&ClR>zNZ|n3DL}gslL?Yu!%V4FtW$uxvqfA7@7vP8sVSIvrImI)5J8g?6b5C9X&M zCyWt?YzN6r-KE6v03_{FtWAcI@unsQZu($1$kZ(BfKlhxGVU8{ga9n5gT+?nIc zlKnGlp-{}ivw7PXT@ys?F_)Yd*?z1v@Bs8Mo+#Q6VoN?N|5hcaEF;`GAVz|N5Z{dF zX2BAML~wQon69b2FO3<+t1gvM%z6 zukJsH2=bB--i>A@9(S=x8TMI@*YsJc`~gs@7}r2G#` z@@x<9?gu2=;PjEC6>n!@n$R^Xq{rQrpf=5H3Y7w?rM3Q zxQ@EVB`^O#-)Njj)bc5z$+I@@G2YxfvwADgOo{3boAb%4N{J#E) zX)gRu8$PS@2K?ggz2SHKyU+dlD{nl$)Fc46HT5C$OF=%3RKa=aaaPuYiL>*@%Ew3B z+J>`<$A+Vt6lF<%V&X$zI^y{Qt}iSAS2)b=Ez^G5&9+vKSqTi=7D?S4X2>DqVmhYE9ad^D98&Z?{HBUG=;hv?q0MF_l)hhq5t^54l&E*l- zQK(HN2q_&`Z`k~^7$eqNmnl^~ZoqfKy@L&6KH2hjBg{c}oUc3rCK_bJlezv7Ivv#g zpI9&^cNBfqMS__DDEUsjNZc8!6fl^1_Q!;PqKMQ?y3Y&Qlyt{Z_(Lg{REg5vL z)dOqQ#jgqYIYRV1S=1|Xg%+JOL@(j5ZtkI=V^f4Xr3jUn2jycRXQOWtlYHIxO}Pfn z;|{cJ>qSIQyl3)de!GOPvv25q2R~Lkvr&m&rQWZqDwG=~Eo&SPa6Bfqa~^h*ga7fx8ZB3` zpp*TSqKB?pBsSlCggu4@VOMKNFhahWZ7CBnQYmPWrry|~?Ao8;vwmoNA5@5*v@Udr zj~$y8>2&`e0m$lL?AAzjJIufz^Mj7fDMp-ISPrJGC1f_k0u-A-_mP8->e&#qtFLme z47F@HVFy*}gRgb_RoU(GjA-x3n*j)?aiOPvQA)eq_%f6I8P$0#PJtKFK5+^IeBw=G zJ2}5(y(86T35dnErpiE=JPUC!3Y+x_eDZH3oX;C}iluESGVzL!YUURy)xMAE9-PfK zpfTmVEY_@-%;8*vJn-HGex^<9gZE8w;;K{n>k>I?WD@G{j&MJyXEHSjeW*EM7}HNF zIThgD-ngR530>icrCKUFlWD0+hpN-KITSF%#3 zsuc3RY;8x=^^SIEZxlB6n|QIVTva=)@PuSCun1inJuto99gW-yzQ3m2t}!a?tY#ZO zzka=kAT|V-AF&>|pMZz=^Vs54`g{&vYh6rx!hSqvqXz$rc6)O$&dGL*`}$z+@mUiW z-P)j;rhE(4&I_q8e^v*Y&GcLRLgz%H9oPPk7?!HaN~Wc~ax!?-!Z~bnUN!aoj|n}` zWKfb>HuH@GcQnc($um48nKX;vpJ9c1trM1oQnx+NpBi5K9K7Q4#rxsCy{lRTCu^Oz z;~&-Rle9t|*G2fu;5SL)E3XoaBHz2mvTE_5AX-9UuZ|4yP~6vpjy@jEIK5tOunqui zk}(=DFYb3N!D#w{h_s8gglo^RgD=e7I z@KA@qs3B>p-xzWSeCJ|t-Vti))}R`v6aT(W>R0)653d+9e1<4}z#*)1Loq34mT}XI z2-L6>e}^{=Vn|$XJ(b)^ZptSOW=@pnLsSlc4f$hEXs~+|b5Y=-##oR}XH3ZSl1Irk zZmTfT>m>F9M7!dd_Rcp!CFF8T^&F$(If<0T;)OSigUUu?Ao1GXs_;@j$} zR%o0KCdu(6(j&FtBA?`jAx^)jBC$T91H!svAVe>!OaAz>=ybrx*pj+`|3Tmw?&S(v zJ1udTC(k}}x0QSdSFWIK=A+r3mK?cVlYSVV~FTvwo0FZ|Q+VG}OzKXtHZYb=Lu? zC`9Pz5D7D1+|pcD0n>#y+0sg$VB2*WBO36B7rwXAir&b;w3@40ZLp& zna;!3GEcehaNgq4dEyy??J{8#{VZQ-y1{r+{Kj?R$7HOev|X7PO78#D>q(&0*UmTy zqM!plc8^n;2z8D>nvDK{qd>5Fx~iT|aA(5jO%xo$rd=N==IYUx62`l8ZAmnkdphY( z_<0){Ce!=f?z!hp>*zkMu+m&BpIIm@nNxhDrRi z-v_c0elN%V8MW75RDv_NG-lV_POC!XLm6{OPT3Ze7d%Hsdam%mjtNyEN zI{UlXhd}qH1Z;34qqRPKdMa^XCpgW?1&U?d7eSB60N} z^+uU$@(a~`%Ma_S%E9I?TsSO|GWFtqV2O}sXyky8RI4gkT2GE&)Mgy9a@1|KjgEen z5yp1rrbr4<*1*TB^Gf4QF|lmBx--Ww%-_xnk4<5r&m*s~#Ape1_%YbySqsIxvodY3 zWrLYhv(hl%uxpm2)I0PYx%1M7Z{-J(P-mG+s+DW`>tejrK!YXMEl$YKG=SSzXOkV0 zf;~uTTBy{9{EYxBqyoBvC|b1{@Z=F))Z4Wg>`_MngQs*>L0)s1y@SCzPrjS*1pjCy z=m3+vS^~?dE`4x#gMGo@jM!h2&|w7HzEeX^DQBJbv%b76YuC`NvuFq)n6&|_%zV40 zi0oj$kPH%x^Q3m6uA6KCR}?CX_`qZ;x^|Km4|a2>V0f!$*2_$R${n%o&%4ggf**Tj zw@*=Hj_Le@7StnDjm6jB9t{UsKPw$>yx;+qA=@C>3Y6EA)b@z)%mpUT58F*$f+8hPFT7rq7Uz*%n5--kM3Z=i` z5lvbVdAF^P+P({g3eP`25<{>ppr(fnvb`4eM1*K zt>HvT?3If49z_?5r4cK`K?95I-T$U!fK+sU2#H8y&@Z8^i z3J2ibXI3ia*6sarp_B>P5^wrs4&mge&clTX(uY3L$8xw2 zR~U}c3>;j2=1`qQRbh}m(_1lj&*t@$n0V`l?vV}WU_BZsx27{8kUIQWWdse>>GM7l+Pl>rvvQ1v}9o(6H z^)XKTvVRJH%cyM=bY}Bk98?Jw+IYKVczfQ{5a!&v;j|2+pi@zFwF_0Ght)xdXnewf zk2U@11&f4_Z9347jwyu@BVe9bZ*q*(MdYzdx@>@uHt+Z4Zuhv8#I2=78I~`oy^X$J zUcb}}%tGQ6JdrFASI5i-r>bIP;(e4De|p-nxhMeXT{0bfl4q!tv^j8NX9M?3rm(g}5HH&17Xu%#a*$064 zl>~ka61tum@M}t}eCPVqnC7WI%s}vYjFAY#01iY}3|!pcuwG*muHL-uPjv8tyn3lR zo!9l`KV|e?oA)m;EFzz>tXe8O+82v*>3%MhS+uu7%>EAk(>Y@hoxYZVmJS=`Fg}P> zkrB!)Z6Ql8OguFRi|Ec0-L6c>N!Y|HJdnFdP>7V6r4R zEhkihYKAZJSqYdit&$ZjmDN>_a%q)Butd+vkxqgzzu~0LRaYO9(6FoMP7dc=_V4nO1m|&0U3LGXMyg+ znC&&hRO@I8t4@#(oQF@>AkdqhzQ$5Acac?C(^K}PoYsu*njhg}!*bAua*Fu;Tjzb7ZF_ z^`gbIPK24Rb6gF@c&dnIhcy0=dq(<()?%YQzB|U| zo6$O2+)O)ZDy0?2CK(!V@af!NXkYr7Ve6t`+Lotwklo3&mjw)iXLjg=ac&;>?y#ia zzajIzS-4;Ba#K|)A#3c_9Lj!{*|^6Ab0VJoWvbT^_LZPW{wJY`-3Z#^DWBka)pincM*{%%!mD zkWN{`f6_AP|G2pjko&kCs&Krxw%07UR!LP!WMOoo9<=!p9Cw5hvJNWD$iHJ77xRXp zm6rBOL*uJVX_qH_0`j?TtnFD{9=`ll@S>Pe3^p8TFyN;4?aLrf`Z9to?0C`@(T|?ZjEeP`P6sADT&};sBAp6V4O;^ zy+2*S{3L_#&!Tu9;zu=NIM(L9R5R+jm!Aa@Dv?goY^uP1|9)s#tM9U_OJ}|M+d*0F zshZ3?zfJR;C247&)h7XJOVoJY4j&(8en+JBwx06`kc(q+@AGG=$7*;`3xX0>6Xf>CG63>eFV3EaH@hN$w}y#8-^{ zVy|d*gK`8{3sJH4G`xLp-(zW{7j7>V&gLO8%LYEc z<{B~K*B_E{3gb6and$V?z{g%_*Wnd_=ib69UJ#ISPL%`yYz$tD=~>zyp_6lhm33VF ziVyP4a;3uv`n()^Ra;g8$aeP ze4ifrD98VZDDfCFb+&~d*fpV~_93D^8I^#;d=jA+;FDk#QcU%S4F5KYrx84bS%A|P zMVN2ZCB||5ok(fzabWKc(^K5dKBlH1^aN=DhULRAd0WiZS8%0-8?-g@&O%g~&nH(h)_*b8LRW2s`Bw9>vUZpeFMm0z7jj+*ay zWp*PTjm+isk&at{w{DjL%{RZAd6|S*dwF`IE;3eLa&S_J@IX)kpeiFj`61l5gN;@$ z$qhcYr1$4tT-A7{u%j)#GWAdgw@?`vBOwzqRs@p_iTZ0@V&xH7aD8a`gdQuS(sq1R zo0-da@}v_`f#N+ynu0z~0_4M~!pVgvbAPA%v1X6X=Fw~anDuz*UqHZgSJraI*Ftlu z*q;T#GB*{L@f@vhI}Gq?z7pq-Z`CW4!R!;hC~U`;ZAW_gCGXu zdz?v5Tq(uIefR=;(l5P8J~g4*u_=~m;bZo4K1|A5mIMQNEYFOJEy~QA&ox(NN`9da zVSIr7Xci*_yJE1CSn;PomwO2fE3l0)VH~jxQP-t7)+LMdqplIF`*%JWy^mX_HX+>Q zBtd38A`j6;gqp$8#swuwEs~i{Y;aa@|9*wpEyT$hmwz3UI85g$yvcPoT`<)WCD`tNW=+h_l%5P9Qx)^S1q|(PJxv zpPl&+B@6_cYz~B@zFz+{(}bH+RCEkc>N1Ys!Gx(e;Gm?eUIsrRXUeSKdy9;CWuIgi zU5H$m4`2_2HYWAj{gp<{Q3G44=_yQr6DBoaw7a)uEF z$Rjy#{wqT|@F2W4f4*^IJKFzhOadO8bexOux=pbKOGQP=-%u~sBs1Ct&Y{{ACdftb z?TVAQNYLAv@ona9<+3};acT!rQnTP8_W1^bDM@;)@TQO6OTRO(;~9^u5!xN(goP} zo+g(N(}+An3mo^`F@uGD!q}xUWZL-!X8whW>vP!9?|_O}7um9r%_jICv;-V4-!t4i z^2Yg#?DuW{Rw(N4dREWbcZj?> zY70$o=kpG-8?}u7V_Vtl&2iRx%d!h<$*AvKV)1^l>{+7XJu#?6A;6Hk)~YlD++NJ) zXm5-n7R@K~_dR}nJQp{{q1|7-r;*?ZeuYU@L)D9jIwE8pVP@!zLYR@U`WOW&-le}e zDOp0?6UjxvubCvE4YXmMTD$FulcB80`MgFDA2?&O3OfWmN2fVmcuQ|PH`pKvM*L*c zXSE;F>u47<-(c}BmaBQXUG~WR><0M88TO78?c5vTQQffI6}$MIpNjTtj#Aa3lIE+A zozV9L>3W&b9Z$M{wnTnxg9d25Px535Dl<-Xj-khjST%0_B~J3x+*gb-y3ChwE> z%Lw&R=(;7^oq!I^Qjry1Q@~)q_xN-1>!Ls&Z9UyP=%6kx%E?I3&2Q?rBFCgHjF*)_ z>`ca?0vsZx(B1&9&N~0Yu`dgsYg+yRcPhV*sN~2; z?G>j%VyYr;dTylR3nsN9M{=Ctt2jBDof8Kkw%E(gU~|_%uzjMZOOw7qZsi9Eb+=yK zErLkg8rliH_@w$$>WBHOuf-Ed?etQI*(u5|Acl+fxZ`!lX6E8z17r%Pi(+AeY#Qnh zkGeY^j_n#aj1pd8&;}t!dAqRsZ~0W4+dx)dicq*nIHi0PrzTRohs80$WffxK;^s$W zNQ_5>pcrNO6GbMf0%zC-Q>Y&^Bihu9vN-!Oqfn(zQ=5`?(HXi((ArtwTr@I5muVT^ z>J+#sJisFTJxGF7WPZ9jrTdVTKv{*iE#=SN5aC^Zz2O28} z3`$%WZ3>Y9yGR%z>?U5&h+uRCr`3TTA*!O<&?wNFQq+(Tmh{3xy8fD|^#z=Q&!I&2 z>55OoR<#Xix}O<#lFBBB#db(FsSoliSlFb?Za0?9V&88Y_c5(d)SoYKntDgxq}yd) zX&48_k9{w|*~Xo-KwbC!V&fI~etYxdzS*i^AtSCnWE$JUZEYo(%rTz@lk;)%{s%I^ zGmn;2O9>|lvxsPWnnq|+Dj6JN5q1wgpS28UP8ey&+*X@MzMo!L$+^3pBx2Pm`xx(J@iU zaPU#(;0AMN_KN9iv>_H$5M-u#Pcs$??Z)UIn~kPJk2BboE`yi#Tg17VIb;(+tFq`h zhSjsPsO8^SVve~%&jJ{l^r;CXOCyT9jEYwugd9NQZ`f!zX9$>} zcHa9q{K$0h$C`l>*h$k{eiNk@IzNlIUcImNg}}%cSC&v0#h*5@-!R6N6MO*vhTCn> zcwy{0p%iPo>mlsoE-W$Hcx4-{SDy`P%%wixYG53Df(8VVs*GAq6S3Rdj_Ptul=6tX zElEsme8qKb{++37xG7Xt`Em0nds>fs#U?}p@5Kr83Ch)vYO{oG7b8)AZq z_E%$-dLbrT3#yG9@O?g|_qrhh)a6*W%#ybZh@L2NiBOt|`0D|#yeL(an@ugi9ovuS)) zy5SM!A#u?U<%EkKjxBQLg{r{j(jGChlK3BQlNGfLqvSopA=pGJs8ByaGoQ^$b_Hw9WUee#B+JlwGu1yocO z(9-#>>0>yiQVOL(S9%zavMR#!P$I;S!ha>9P~I}tiV?<0BEISrOeF3Uu?!9G#T-WK z>Mey=)LmAkr0GecW#L3~4S|rn{H#}ZIM+Tz`d=>q6;g$1&4zO0@k?Un$d+$UQ-Ei2?vt*@_ah$Lo6C$I*?XpU}%i8HNe4Yf}?2|4cwx^cVQ zg2FpG_^SW5QN?rM0CyiBCY}6+3i$QO^q>iyDum zrUy5lD3;5N0&kR>%lpH=vRmMrm0(TCLYq}ux9(**ezJSeFKjohUqZ!<>gT{13L?DX`A4 z+uDw?V%rTG+jbf^X>2x4W81cEH%4RIY?8*tif#NWefPKbd+?vG!{^4DbBt@un}}uF zPa#oF0|sc{9PSk%aeiiLpoMe;m~PN=lk!dy_*1gf(4US)DwemeEVU@Qql<-sYmn&< z8tjHm>r&cmbb}`ezO#)x(5yeJ&o2&q^tMcWJ2gk7;9rxkCX_K0c=d%`&=Dhq2}( zR((nbX-!q75EJ1AU68np8%9(GvzM1>5S^eJWm=R*#1Y6iGaFo92Yo;7pseJbjCK~S z>>ZriVdlxMyP_jYqHC=35QH!eVRr`&(T)Go1Nl|#0>OfsqOdOB<}y|?La5pfx_X#F zkCHkD`cj9P6V?11vZ@T?$D|X;iglfz;l9gz;6e$DeQ`~!RxiNrl-(u!_;9V_+H0BnLI=zLl`NKiQ5LJs6uI)*k#RQ`?{78M$?Y?)n7&oc`XC zb2vyLg>zx{Ru*TLA-Qj@!<$7{O1QJVv$u{qSx|(pH&EAfrHieQvMtqxOuxQSV9yN~ zjnRstfn`-EqA|yQX-{*08?QF3oDY*!8>c4ZQ|f)PjBGT@tXWv$Re`7p#8XC->_mq^ z+i_^o0W70iLABS!$-vla!3~_m+g1dFwVC(dsk?Yc#irCpJcHlg3WzoRSXs_!2o+ga zNm!Xf zH9*O;tkh4pu7bEy$;;QPAGyAohn(teeg|4^j(==nw(^5hm{IKZBb6rlQoXB21KXaz ztSXa+R*`6qPN?SN%>i*UY0XuO4gp4oP%yQMl5MN_lCI*jLMMbpKF_91UiTL~1q!KI zI$e>dJtM#>85lYznv&$lz4-=PlnZg`gqgh=W9XD#$9_pOohq)QRm)wr4@v(ylExh7 z_pJ|=0mk1CLFxzXc_rVeYa7)v$j5gmVWo?HqktYZ)tQd&y>9`a=AQW(Y{ba=p=bDo zr1}Z0uNW2|&{R@MSNxwnME^=`79h&*hP_~5*GDUz-TAJG8mx-KFAw_fz26GGCB8vy z@J7a6I`!*w#o`d-%3%r?#qQbnekV+hgHpsctP{qt`M<&d^(1vjJa6AM%w`_3ZUW7e zc36B#E7MBV8=0U&{gEnO-ji;9M~D6y*QT=yFtK%pJeCUsL=OPh3T@k|Q_5as&hm=0 z@aKR9M^^IwE6aMbN{Ze2#E8#tF#y4neyE+Pdqfm{{^?>q?ix^ z@oC@$C9Eu!4?)~GrjZeTs3OL8A@3Yp&5kIQ3=kv9p9xZ<9#5g(7 zp-rdBhOnr>Ubo_li)n-tCtkH7Bbm8}Ov>*!rx0UTuMD!#9fys^CQWYGcNicFIqg3+GabEGgkWCoeyyTZTNKQ?;v#bHak zNo7tHf^@6Yf{zX?`ipx8X-~OyjUd^|OwwBLaMBIqnQu3P@IzBAV#PTWK61cUaDY!5 zC`<^x<$J(b&14{s!UJ{7R1xv~wxsa%_-O6kdHe`(Jtz+Tl{wCC$v8GQ**Us)viHpL z#ZWMN{{)@*o?|%e#~bUqy}YCE{51prilg>@29>U5mF&wuC?#e26d?Od$koO}!3Ao> zGUE`C6#O_D0x?o-YD=?lEMjGOKYvjg2jfwzApK?`hyK+)zA<)=13nTHN39B5>AMbz z547q20+o58PFwJ|Pj`@ckMw7(yrAuk{@8LyGy<`jD*LsW!X^kBg;>Xt6E1y%pcv`0 zZqIxfniiq(o5rXK393y#n8eXVx+Xx02yc*vc~6|%DBzwI`rdbpGLQyZ?>->ci;SMt zwNLB41WqC*t;4(B1ynGFNC9z@yOA`JxyBJ7K7TgNd%@4;M&28;5ysa`rb{N?Uv%>h z_+O!56I4C8jV||wsvO|ua{6s&(`ZN3TRHwQ{j2xNDc%cYyHVd13ylFwA_X6<;|5#M zcyo?}WUV%&eZy8mx2cgjd>TNgrMJ$a3JUMx&SLLhCq1M|B!V_gOs`O7krmS>5GGik zQ4s02S8w0p>1~^a)%at2FbP)cN={!jDAL(X9lp>l8kqNzyKa04)+avx(EfL6XLCL4 zW^9b%?)hhtd9@46t{umAZ1)dfw+WGxD9CM;>GrY7@5*{F@gPY6k5vctQO zdbmUyRE##E=1$LY zr2Rj$|Dqau)99`zPAl$u904jPl_Bby33I`XDF8#-co@H%*XZ=CN)nBkYxL3vv&rs? zcHSmyFzT6JOE9`4%bKChG_?5_RAKD)EfiW2$T@OFsoyAA5NOeV>NC-<>P}%0lp{k2 ztGnZ&+jU}GY0GRse{b%eq-N=}c>%pk%CU!AtjN=B;7mKhK&KFqOZiO$?l?v?uLRlYxYx)Zk^2@gt_nRg@yAWx#FWnz#Vp5A5J zDa=QldL?FM-6W>vNKG})svx_1{dN%6Iy17*L9xOkBOcwUVx!@)K}D-CMHq|S*uz@V zU+vh@WvZ6jU0S0R#-_5qFh`}tlsj@|&y}fpRQZdDU6U5V4b~cnXxlBfLKeU_x&G_L zbx;{G8eOG`&CJPIhEO|gL1QrF*}yzPQ*ZKd3Ad0*s59wpZ|oUJa<=hhk>$BdA$trn zqF#Z)ZF4nW{|nw;6B0eQ^tOR=B8lrAd@p;m2XyF{!)l%%AVX`vw6F>3tJ~a&Bf`jz z08)Oek1bT#tH}vE67!?K>|cMfWw&X(=0Ju81~&P2MSMb@V5jCCr9kg3{wSZD^iUDVb#xV>SxvlaCL^N8^#Xjo7y){oKOijC6*|}`t zB3~0W&3&L?sz&%y4uM&ZD(yfPN#j`#Ceub1D#lfdEzY~IhK|s~JXdDX|CJjmf+8^| zpmGsca>o-9hO$b(a~#}HeRfElsW^tIx<)6k$TrniEi?=gTp6DqlUZ9>g_}hVe43r8 z!)ZhG^XI9*eWc0F^@oMA3E=%+jS%cr3_&C5Ca<`(!g2XP>>jyBHE3gKt$Tt|q3Bd1 z0@8=tqZ~ZaPo!@Y5|M%@@skKpB|-w;nVsGbG+x(Z6epzm;q~L0m4d|NH{5U-8~rH4 z9=0&jd$64cZ9pD`6vIK+oIU(4PweTDnrNijg@F;1Nze1tp)?D5c+3(PUP#qtH+rnw zzCio%t0S(fYb;Y5r3ev-u9C4oxTu?&u&~1D8di{upx1)a1VjmdcYAa+qA5z@3oMB> z=~X&}xlk+yQrU*Ynua>=hG`3N^*9o))uYq)^nPPWv)&oZ#b8-xlv2Re3~$GG-)}CP ze({~5dBKzy7m>uyr?9%G%*?e&MmER*bCcI4AgJ;7X0JmV=<{B(QB-}V zBS)g^AJap<31jPvU7s1gmqw$)OaM)om{Wsmu`{CrEj@SeAN$~c*%g?yfgJxTih69( zCNjYmGIc@mdE@PZUiv~^TKEOB=k*uXlGh{1a3ml|Xn^8oBw2Q&Xp5AW2srx((* zq15fwU<;zLKWWK#iB?jfI_c;{F%+uIr_BLNnBxKP;V1@Ce9!G!8~?dsamM*1&i|PP zzt*F>otKFUpz;#Avv$yJ)CgabcH4EcmBGbI>x=Bl!JsF&A^Sa6d4^pXxsafTNyG3A zt%f^;jiETB0bh>C=zv#8Us^|~E;iPUgis6C2-Bl|!P^UZ;S>Z@a-T`HlSq;wKA-UL zu`9V!RA7U5(68oY^k6{bY;x_Nb2p?+b4a?%y@2SkKyeucb%L0~-aXY#8K}iL>#3hJ z;t%Bf&}it7@h%s;dk;B8B-tVu{a-UNKzZHl|A(Gqw>A&MN ztJGY-J92WD;PdVopK>tsc2;&bQVZpTPl_iVTl>4x7#bG?y?le}9f!j88!15lPg<(2 zwpU!n*>;J!&SOWumX|E)#WtUtW;`w_*@V)MUGU_%;~PY!JD2Jh*^Ol7yX083Rd+V} zu`R@iq99MYITbrB=TL}J|DBW7bD?LN*UPulo9CG7B7$Rj53%Q&?V|8sDP~o8MDRs2 zIzJLvDw01Z@H5|AV~S#a@d-EXkKaa*VYhpXgP8ntW~u>ehn(I2>svk ziUX4-Dd>cG+VPo&kGHXqO>$WE(l`q=m~p9mXE7>1zdjt%c-?O^d)=RKu!%%!^$g<} z*nUxu79GGE*$z&lB{rqfwEe+*0P4XUkj>v3fsJQu6j^8*me+`}DkA^XS(R@O*aF|@ zlGyhZeuM7UjZaVFgmVDipj^yeI-}VlQHkji$9~;FnjDGs?wqnvzNoV{*1DnGizi8R2CfJf4gt zG~TBsdB=77T(Jw>*h(ih3mnpY(DM_4^z?xK{)MuWqnbX^QMM|t0hC<92Ps^NuxF?N z4QlZ@tiuDAFcqCv5TSC@r4a1a1KfbrJ~ia%mdF$KD2BEcTO*(1@X!~J>3 z_sLtwgF#6xu^K*SN4JPRGPFTrG5a-iL#y6umz-lic>Ju71*PS|Dt;LJqJh5Y4 zgrm)6TJz%mgXippjO@GiNCjB>c7s#zmpSh$ zPrFyFY(kLq_q7H{)08U>0qk~c{KtCv4`AM!)?+dq;&V9idK4&E_^i`$@2oKuT~-`7 zXPq!+^B_ZO;#b=JCX-c;6V@_H?1BK=kZ*6UaWJu&-8j3u89FnyjvkpA%T+Ns#+@pv zoL*mO4x8vLWbcrRM)339rDbyFN#Hy_5(WKWUKz7(A{n1=L0n#tbbO@!a_4Ud8F(+c z5617cILthGox%BIUzTdWg35o$bL@Zxp6F@rq3nZZvjKP?pXH22Ws36XC&B{^tMKo# z(`p*&`AS-v_6_s9$(cb&dp(-jM3Sm5%=k4CltuH70exiWI$izoIY^S7cu5kZm&DEN zq0|vSj1rwhM4)@bp&72hFAP0A8L41ZXHsG5jdGDP9UcQ;G77w&BS8%ctUy4vZMzT_8A%IPtB-PAZiuE#|3I>s z2=KERfYsT-cjGw6CjFAv=hzOJ{&!!tBZ$O~Jd4l;^x1kK@A*z0LM_Iha+~Q@LSzve zb1w@a$L~qz2EpqDjUNdBRUDMaMf`qY zdxd&+z3RQLfm~L@q}3ISniObs9(P?{NSVqYYTr?E?`2seh+2NaS?#aPSDZ=YacxWX zE8X>*sFe|?HL~taM2B`(BZEFUPMtk?J0DLcR5psGL8EWiz1$o6Uz2Q zR;t5pLDKmO?}BI64o^-)aySNK?NadXN=&_1FbyjtRHOt{3-^lbRnbp*%LI;nt<%zr46CzzXQ8*0cie{2H_Bn6{z6W0L)r(&I@{Cirpbf z4vjbEYA_~G(qw9~cGrs^p19qj*=V@k6^MAdy~LXhH1LW`Mw@#)vVp`#_z%<-#;;fY zlr}Vi9%m@C>_P?GfM_1=>);THY)X=W+zUo#Oe&kh$;UxB_nw|1H}z>(mBH&xiuMoj z|BA|OJjey|lfthPqp1PLXaIp<9wvvuqdk*cPn@4OVEogu$d8=Am-BCT;pk zs3|!V^sn__B#iUn0wVlQLtp7Gdhh_!SiPr0*V%+gq~@H`BsxDlZZ5XO%-nSV=A7bG zc8R!Av=@J*MIZA1Y8Yh5bU;txq-hm5L&F7L+G^3jihlz}j-s!xXPPIjm54lQ_S^ut zgpfV^wXI6{i*{mhpsq4-$=*??w6>AEwo%&IROs+&mezY~z}fgWn@2n8ut<@JP7E6c z4uT>wfOo&gfLtzBMek3KL%@iP6lSN1Ivra?N-6x`#4-*`MNyN)VFm3JbqM1W{5YcG z{X_N+3DKVA!ZFxgQPUG;H=rFiUf~CdYG`tt(~@$_%jkS1O0XomhqGM6!g!^1Jg(Xj zG=+(b8BFZR^1rC7%~Ub7NGt38X~4gOy7L3VBi8xC+rRgk?Rfj`<;Hi<78ZzeGHFk5 zoN3VE+f6C*C@g`a|nhl2nCki3J%iY$I%Q@>mK2cw!^$gA&4;6Pg?@@?f|S#sUD@OnWy} zo>GLzquS=KXzJZ3w;Vh34K|;E!3-N$DqExzxQ(P3aZaM^($a}%P*+|KHuFFU*Ohci z+X??yf_m?M3q&7i!#6#YYUCRH%|J4;3BB2BstSjfL{~jAUI@H{&FZHovtqvYO%^P{ zIv&py`6Lhcay|0+7l$@6gNsI7nt3B^jArM7 zOmmnFNiTlDNi*6@n(}3|%gZr+%Cq^EuV`?LJ3?UpG+<1X(3z@QYTbZd^PuzJOmShS(@hR7@Gsj zcYRenh*t2^{c*Brzi%BEYqunb}k2Vl>F76OFikR%H z1BnoV4|INF9Q)3%DNbuBw5DwgL)UbjsF)8c-^I79N3o|=W&EEkUvhK`7wL;>RVdr= zPvi{Jw9|S=t&pCf`bklL-e|SB63o!fWiJEw0}RGuFattae3W#yB#aE6zOKY3EKo(u8>;M4de_sn?Wos0u!-~1TP=H1m|>C{ssHgB30Ibw&;eL&jvoHPjSCF;^e}+O zOKZUrkfeeP!jO~FpiIOed|MG)>rSAPT!)CNjm{Z5B4V9TLzC3kIIM(!kY5!T=tSi_ zNO=An>9r~K|9j6C25 zy)wTEiFCx>Lq6W}cEa${C0(DudzN9$7G`)wwz#|5?o8YE0QnPJ@;C)T0=y(t+a;DU zY=|k(V&LS#1a9G1sCz<2t*%hK$ zL`up`zBz?8bL$JCAxX{PlzO>m!x{eiEfDAMzfrv1|3dNRo@4<EglOl@0dU}` zovWe3u5E$+MSO#%ZpfqK`5yX8v__n8+lX82ayzu7JOsUUoMs|~9F_ZZTpEln6MNK) z)%J{|1CCBsl$?b1wj5@Ds-EmZsK%vvh-rDDu?jC?tv;Lm`cP=RzrKsKh#Ew)Ci!2X zE^4Hs15G$66Keb;czSa-IiwOzV^XA2;ohD?U=5wFpabamz(|;?>sPV&%kbn|OGfJC$zkQ@+{rgyU8uRz`r|06fcLi)s* zhj(j|JqY4crHIE&N~)0QWby>7x1V|@hB3@f_Gbetm%|4OBwY-2z{>&U9SM*27)oW^Nr3l!S@@z zrz5U=?(&}kYZ^ud!D+;$ctK%32yRdt5j!dYB;wz~BFt&+7WZtmy6HfoKe`hW%1pcL zKD8u9y?<8q7P8d)++sJ+zlK?L`Wca!B^X&6cPMH2&27Y=j-V=%9Aej1&wca)tIDL5 z8IOyaPOk<4&9(&3wloC9lHKm~X-s&#dieHq&7?TDux-Yx)8?PKwd^@(s2NS+mgiop zoHSED-o83rR;Gx(X}is5d2&IOqZAx?(AbAC7|Of@9^47JUuqMaFp~lAjdhN32Im=& zllh}5lmYp=|HVVucUyZxWfKA;hn9B@IqoM)79-!T0vee0|4?})x7E^1-RY9adtv;u ze4_l@;JYeIh2plD+9G36m>Jvp%b~VoQMkf2j?}L|-n0_x(>wI+Ag`9u5AuE%%4TFo z)%kk}WM?;Yit>)F%F+tY{#dmpmVzTgNP#rP=sD4cYZpcoL><#(i#O;Yv7J2mgXS`i zCZnUWFa%dJG){%mGr$n&0cBkqcuKkNr{B43L~1G|u(2*5!{S&IqI9xk!f3@4tnW&( z^i^_wLO(CfHU+9>Mu3*qmC%n|=Xj+Rz6a@nynU-X?a@$`sCKGN(jVyNYxMvZvf$9z z28z@tf+F>N_dv4kKcG1oI?)f=l<%wU*Rr0xkR1Rl)xQ_}QZJ(nszq^doD5aA2Mh2O z**tns(V}ds$YW$PomR59yqb$~okFWyj5R@$mJOK_V2Ng*vv!q^7lc+SRCPTw%y-P+ z)@g;etjKBk1la^4SD%vj2bKc z55S_T+OBJs>%6&@!Zp`06q+JWzKg!o32&R|?Ay5kP7nZdIv==S=Ri44ZQSomP*bL} z{a=LY`F9D}8mHMG%qW8k$BOJ}T9fHmZJ^Y$a(Z<>hvizQ7bS$rP0v9o3e$v^SAZCjN977E4QxvWvtR?Tqvlgk|Lr3o35d zFceCKL=L)>8q!1i_RyMiZ}L0PNUnyCF%!PAssyG(&fW|6{(>4=r3)}-yBEz|SFoo2 znwy428l0*c2q?GYTUoGDv$5y+&Ej%X_4xKmBkZ8A3_{$TE6Z26TX&6#bvJ{o{&x%F zlr`G@J{u0bfPV;I_}q=C-mz2m6^tPbnmt2)5ELnKPF{**7C?YzVkxbeq&bBt_WeER zhzEVhy8oRE)rd2Va(S1YYzm+iY^|$W7n)n}jp{(&hy%^KQYB4!SQ*YJoZ%8VQiqaG z7#WfdH?JG@GV~cW$drUIYi~(nWVy#E8GBvN+5z{|=!bgT$Zh#EgdIimjPvGəf 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 CZXq=Q literal 0 HcmV?d00001 diff --git a/docs/manual/assets/schema-missing-headers.csv b/docs/manual/assets/schema-missing-headers.csv new file mode 100644 index 00000000..6ec11481 --- /dev/null +++ b/docs/manual/assets/schema-missing-headers.csv @@ -0,0 +1 @@ +ruleID,mode,key,value,notes diff --git a/docs/manual/assets/schema-missing-rules.csv b/docs/manual/assets/schema-missing-rules.csv new file mode 100644 index 00000000..b116cf15 --- /dev/null +++ b/docs/manual/assets/schema-missing-rules.csv @@ -0,0 +1 @@ +ruleID,table,mode,key,operator,value,notes diff --git a/docs/manual/cli.qmd b/docs/manual/cli.qmd new file mode 100644 index 00000000..33bbffb2 --- /dev/null +++ b/docs/manual/cli.qmd @@ -0,0 +1,151 @@ +```{python} +#| echo: false +from odm_sharing.tools.share import OutFmt, share + +from common import DATA, SCHEMA, load_csv_md, print_file +``` + +# CLI {#sec-cli} + +## Reference + +```bash +odm-share [OPTION]... SCHEMA INPUT +``` + +Arguments: + +- SCHEMA + + sharing schema file path + +- INPUT + + spreadsheet file path or [SQLAlchemy database URL](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) + +Options: + +- `--orgs=NAME[,...]` + + comma separated list of organizations to output data for, defaults to all + +- `--outfmt=FORMAT` + + output format (excel or csv), defaults to input format + +- `--outdir=PATH` + + output file directory, defaults to the current directory + +- `-d`, `--debug`: + + output debug info to STDOUT (and ./debug.txt) instead of creating sharable + output files. This shows which tables and columns are selected, and how + many rows each filter returns. + +- `-q`, `--quiet`: + + don't log to STDOUT + +One or multiple sharable output files will be created in the chosen output +directory according to the chosen output format and organization(s). Each +output file will have the input name followed by the recipient org name. + +### Errors + +Error messages will be printed to the terminal (STDERR) when something is +wrong. The message starts with telling where the error originated, including +the filename and line number or rule id. Here's a few examples: + +When headers are missing from the schema: + +```{python} +#| echo: false +share('assets/schema-missing-headers.csv', 'assets/measures.csv') +``` + +When no share-rules are contained in the schema: + +```{python} +#| echo: false +share('assets/schema-missing-rules.csv', 'assets/measures.csv') +``` + +## Usage + +### Examples + +#### Using a CSV file + +To share a single table `measures.csv`, using the sharing schema `schema.csv`, +the following command can be used: + +```bash +odm-share schema.csv measures.csv +``` + +It will make an output file called `measures-.csv` for each organization +specified in the schema, with filtered data that is ready to share. + +#### Using an Excel file + +Excel files can be used as input to share multiple tables at once: + +```bash +odm-share schema.csv data.xlsx +``` + +It will make an output file called `.xlsx` for each organization in the +schema. + +#### Using a database + +To use a MySQL database as input (with the pymysql package): + +```bash +odm-share schema.csv mysql+pymysql://user:pass@host/db +``` + +Same as above, using a MS SQL Server database through ODBC (with the pyodbc +package): + +```bash +odm-share schema.csv mssql+pyodbc://user:pass@mydsn +``` + +#### Using additional options + +- Share CSV files from an Excel file: + + ```bash + odm-share --outfmt=CSV schema.csv data.xlsx + ``` + +- Create a sharable excel file in the "~/files" directory, for the "OHRI" and + "TOH" organizations, applying the rules from schema.csv on the input from + data.xlsx: + + ```bash + odm-share --orgs=OHRI,TOH --outdir=~/files schema.csv data.xlsx + ``` + +### Debugging + +Debug mode provides information about what would happen when using a specific +schema, without pulling the actual data to be shared. Debugging is enabled by +passing the `--debug` flag, or simply `-d`. + +Here's an example using the sample files from [getting started](getting-started.qmd): + +```bash +odm-share --debug schema.csv data.xlsx +``` +```{python} +#| echo: false +share(SCHEMA, DATA, debug=True) +``` + +Here we can see the columns that would be selected, as well as the number of +rows each rule would produce. Specifically, we can see that 4 rows would be +selected by rule #1, but the filter in rule #2 reduces that number to 2, which +is the final count as confirmed in the count for rule #3. diff --git a/docs/manual/common.py b/docs/manual/common.py new file mode 100644 index 00000000..7522129a --- /dev/null +++ b/docs/manual/common.py @@ -0,0 +1,18 @@ +import pandas as pd +from tabulate import tabulate + + +SCHEMA = 'assets/minimal/schema.csv' +DATA = 'assets/minimal/measures.csv' + + +def load_csv_md(path): + '''read csv file and convert it to markdown''' + df = pd.read_csv(path, keep_default_na=False) + md = tabulate(df, headers=df.columns.to_list(), showindex=False) + return md + + +def print_file(path): + with open(path, 'r') as f: + print(f.read()) diff --git a/docs/manual/getting-started.qmd b/docs/manual/getting-started.qmd new file mode 100644 index 00000000..d34bc40e --- /dev/null +++ b/docs/manual/getting-started.qmd @@ -0,0 +1,92 @@ +```{python} +#| echo: false +from pathlib import Path + +import IPython.display as display + +from odm_sharing.tools.share import share + +from common import DATA, SCHEMA, load_csv_md, print_file +``` + +# Getting started {#sec-getting-started} + +So you want to share your data, but not all of it. This library provides the +tools for filtering your data before sharing it. + +## Data + +The input data can either be in CSV or Excel/XLSX format. Here's a CSV example. + +The following text can be copied into a file called `measures.csv`: + +```{python} +#| echo: false +#| output: asis + +print('```bash') +print_file(DATA) +print('```') +``` + +## Schema + +A sharing schema is needed to define the sharing rules. Here's an example +schema that defines one rule for which columns to select, one for which rows to +include, and one that binds them together with a recipient organization. Look +at the `notes` column for an explanation of each rule. + +The following text can be copied into a file called `schema.csv`: + +```{python} +#| echo: false +#| output: asis + +print('```bash') +print_file(SCHEMA) +print('```') +``` + +See @sec-schemas for more information on schemas. + +## CLI + +Run `odm-share` from the command line to filter your data using a schema: + +```bash +odm-share schema.csv measures.csv +``` + +This will produce one output file per organization (as specified in the schema) +with the filename pattern `-.csv`. + +Using the above schema and data examples would result in the following: + +`measures-OHRI.csv` +```{python} +#| echo: false +outpath = f'{Path(DATA).stem}-OHRI.csv' +share(SCHEMA, DATA) +display.Markdown(load_csv_md(outpath)) +``` +
+See @sec-cli for the CLI reference and more examples. + +## API + +The following code does the exact same as the above CLI command but using the +functions exported by the library: + +```{python} +import odm_sharing.sharing as sh + +# `SCHEMA` and `DATA` refers to the examples defined above, namely `schema.csv` +# and `measures.csv`, respectively. + +results = sh.extract(SCHEMA, DATA) +for org, table_data in results.items(): + data_frame = table_data['measures'] + print(data_frame) +``` + +See @sec-api for the API reference and more examples. diff --git a/docs/manual/index.qmd b/docs/manual/index.qmd new file mode 100644 index 00000000..cd7ca14d --- /dev/null +++ b/docs/manual/index.qmd @@ -0,0 +1,14 @@ +--- +title: Introduction +--- + +![](assets/odm-logo.png){width=100px} + +The PHES-ODM Sharing Library supports wastewater-based surveillance and +epidemiology by facilitating the collection, standardization, and transparency +of data by providing a more harmonized ODM data format to share data between +different data curators and data repositories. + +In the upcoming chapters, we'll explore how to install and use the package. + + diff --git a/docs/manual/install.qmd b/docs/manual/install.qmd new file mode 100644 index 00000000..e2a1e77a --- /dev/null +++ b/docs/manual/install.qmd @@ -0,0 +1,142 @@ +# Installation + +The commands below can be entered using any terminal application. Search for +"terminal" or "command line" in your OS application menu. + +::: {.callout-important} +The python and pip executables may have different names depending on the +distribution. `python` and `pip` is used below, but they may also be called +`python3` and `pip3`. +::: + +## System dependencies + +- Python >= 3.8 (see @sec-python) +- SQLite 3 (see @sec-sqlite) + +## Package + +Install the package: + +```bash +pip install git+https://github.com/Big-Life-Lab/PHES-ODM-sharing.git@impl +``` + +(The `impl` branch must be used for now, until it's merged into the main +branch.) + +You're done! You can now explore how to get started in @sec-getting-started. + +## Development + +If you want to setup a development environment, then run the commands below as +you see fit. If you just want to use the library, then you can ignore this +section. + +1. clone the repo + + ```bash + git clone https://github.com/Big-Life-Lab/PHES-ODM-sharing odm-sharing + cd odm-sharing + ``` + +2. if python != 3.8, then install pyenv and setup repo to run python 3.8 + + ```bash + sudo apt-get install pyenv + pyenv install 3.8 + pyenv local 3.8 + ``` + +3. create a virtual env for the repo, using the selected python version + + - with pyenv: + + ```bash + pyenv exec python -m venv .env + ``` + + - without pyenv: + + ```bash + python -m venv .env + ``` + +4. activate the virtual env + + (This must be done every time a new terminal is opened, to set the correct + python-binary path/env.) + + ```bash + source .env/bin/activate + ``` + +6. verify that python now has the correct version (3.8) + + ```bash + python --version + ``` + +7. make sure pip is up to date, and install dependencies + + ```bash + pip install --upgrade pip + pip install -r requirements.txt + pip install -r requirements-dev.txt + ``` + +8. if you previously installed the package, then uninstall it again + + ```bash + pip uninstall odm_sharing + ``` + +9. build and install the library in development mode + + ```bash + pip install -e . + ``` + +You can now edit the source files, and directly see the changes when importing +the package. + +## Documentation + +To generate the documentation, you'll first have to: + +1. Install [Quarto](https://quarto.org/docs/get-started/) +2. Activate the Python virtual environment (if any) +3. Install Python dependencies + + ```bash + pip install -r requirements-doc.txt + ``` + +To preview the manual in a web browser while editing: + +```bash +quarto preview docs/manual +``` + +To render the manual to a PDF: + +```bash +quarto render docs/manual --to pdf +``` + +The rendered PDF file can now be found in `docs/manual/build`. + +::: {.callout-note title='Troubleshooting'} + +If you're on Linux and the above command fails after mentioning 'tlmgr' or +'fontawesome5', then do the following: + + +1. Fix `tlmgr` as described in the [Arch Linux wiki](https://wiki.archlinux.org/title/TeX_Live#tlmgr). +2. Install the fontawesome5 package: + ```bash + tlmgr install fontawesome5 + ``` +3. Try the above PDF render command again. + +::: diff --git a/docs/manual/python.qmd b/docs/manual/python.qmd new file mode 100644 index 00000000..961e19dc --- /dev/null +++ b/docs/manual/python.qmd @@ -0,0 +1,65 @@ +# Python {#sec-python} + +The recommended version for most users is 3.11.9. A higher version will work +fine, but cause a very long installation time for packages (like this one) +which is based on Python 3.8. + +## Install + +### Windows & macOS + +The main download page can be found [here](https://www.python.org/downloads/). + +Direct download links for version 3.11.9: + +- [Windows](https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe) +- [macOS](https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg) + +### Linux + +Linux users should install Python using their distribution's package manager. +Installing a specific version is more complicated, so we'll keep it simple and +use the latest version. On Ubuntu that would be: + +```bash +sudo apt update +sudo apt install python3 +``` + +## Test installation + +You can now test that Python is working by entering the following in a terminal, + +```bash +python --version +``` + +which should output `Python 3.x.x`. + +If you get a "command not found" error, then: + +1. Make sure you typed it correctly. +2. Some distributions don't include the `python` alias. Try using `python3` + directly, like this: `python3 --version`. + +## Setup Pip + +(Replace `python`/`pip` with `python3`/`pip3` as needed.) + +Pip should be bundled with python. Ensure that it's working by running: + +```bash +pip --version +``` + +If it's not working, then try the following: + +```bash +python -m ensurepip +``` + +Lastly, upgrade pip: + +```bash +pip install --upgrade pip +``` diff --git a/docs/manual/schemas.qmd b/docs/manual/schemas.qmd new file mode 100644 index 00000000..d0b2383b --- /dev/null +++ b/docs/manual/schemas.qmd @@ -0,0 +1,540 @@ +# Schemas {#sec-schemas} + +## Introduction + +The sharing CSV file provides different data generators or custodians with a +standardized and code-agnostic method to define rules for sharing data with +different organizations. Each row in the CSV file defines one rule which +combined defines all the sharing rules for a given data generator or custodian. +The headers of the CSV file define the different parts of the rule. The +following sections outline these different parts, and provide a guide to +defining a rule. + +### 1. Setting the ruleID + +Because each sharing schema is a closed system to a given data generator or +data custodian, the ruleIDs only need to be unique within a given schema +(`sharing.csv`). Using sequential integers for ruleIDs works well, and is the +recommended approach. + +### 2. Rules and Modes + +After defining the unique ID for a rule, the next step is to determine the +`mode` of a rule. There are four possible values for the `mode` column: + +1. `select`: This indicates that the effect of this rule will be to select the + tables and columns for inclusion in the output shareable data. It also means + that the `key` and `operator` columns do not need to be defined for this + rule. +2. `filter`: This is used for rules that will filter the shareble data output + rows based on row values. The full rule will require the `key` and + `operator` columns to be fully specified. +3. `group`: This defines activities for a rule that groups or combines rules + together for execution. The full rule will require the `operator` column to + be fully specified. +4. `share`: This defines a rule that specifies the `organizationID` or + `contactID` with which an output will be shared, as well as the rules to + apply to generate the specific output data. The full rule will require the + `key` column, but not the `operator` column, to be fully specified. + +Generally, the bulk of a sharing csv will be composed of `filter` and `select` +rules, with a few `group` rules, and the final `share` rules at the very end. +Rules should also be written and specified in this same order. + +### 3. Selecting an Entity + +In order to generate an intelligible output dataset, several `select` and +`filter` rules will need to first be stacked and applied. This step involves +selecting the parts of the PHES-ODM or entities within the model. The entities +that can be selected are: + +- Data contained in a table +- Data contained in column(s) of table(s) +- Data contained in row(s) of table(s) + +This step uses four columns, `table`, `mode`, `key`, and/or `value`. The +`table` column specifies the name(s) of the table(s) to which this rule +applies. To list multiple tables in the `table` column, list each table +separated by a ";". The `mode` column specifies the action of a rule. For +`mode = filter` rules, the `key` column lists the name(s) of the column(s) to be +included in the shared data output as specified by filtering rule. For +`mode = select` rules, the names of the selected columns are specified in the +`value` column. For rules that select entities, the `filter` and `select` modes +will be used. + +#### 3.1. Selecting Columns + +In order to have any data to share, tables and columns need to be specified for +inclusion. These are the first rules to define in your schema. To specify which +columns should be shared, specify the table or tables in the `table` column, +list `select` in the `mode` column, and then list the column or columns to be +shared in the `value` column. When specifying the columns, you can separate +distinct column names with a ";". The `key` and `operator` columns should be +left blank (or `NA`) as they are not used in these rules, and any values in +these columns for `select`-mode rows will be ignored. + +To select all columns, an `all` value can be used in the `value` column of the +sharing csv. + +Some examples are given below: + +1. Selecting only the `saMaterial` column in the `samples` table + + | ruleId | table | mode | key | operator | value | notes | + |--------|---------|--------|-----|----------|------------|-----------| + | 1 | samples | select | NA | NA | saMaterial | NA | + +2. Selecting only the `reportable` and the `pooled` columns in the `measures` +table + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|-----|----------|------------|-----------| + | 2 | measures | select | NA | NA | reportable;pooled | NA | + +3. Selecting all the columns in the `measures` table + + | ruleId | table | mode | key | operator | value | notes | + |--------------|----------|--------|-----|----------|------------|-----------| + | 3 | measures | select | NA | NA | all | NA | + +4. Selecting only the `purposeID` column in the `measures` and the `samples` table + + | ruleId | table | mode | key | operator | value | notes | + |--------------|----------|--------|-----|----------|------------|-----------| + | 4 | measures;samples | select | NA | NA | purposeID | NA | + +Notes: + +- In examples 2 and 4 where multiple columns and tables were selected + respectively, a `;` was used to separate the values. Throughout this entire + document when multiple values need to listed in a single cell, the `;` + symbol should be used to separate discrete values. + +- In examples 3 where all the columns in a table were selected, the keyword + `all` was used. Similar to the `;` symbol, the keyword `all` may be used in + a cell to mean everything. + +- The **ruleId** column is mandatory for all rules and each value is unique + across the entire sheet (`sharing.csv`). It must be a number. + +#### 3.2. Filtering Rows + +Once the columns and tables for inclusion have been specified, users can +specify which rows should be shared using rules with the `filter` mode. Note +that rules that filter can use values in any columns, including columns that +are not being shared in the final output. To specify a `filter` rule, users +need to specify the table or tables in the `table` column, and define the +`mode` as filter. Then users can specify the columns which the filter will act +on in the `key` column, specify the nature of the filter using the `operator` +column, and the filter values in the `value` column. The general structure for +the filter argument is: + +``` +**column name** **operator** **value** +``` + +Where the "column name" the name of a column (specified in the `key` column) +from the table(s) specified in the `table` column, and the "value" is the value +or range of values that determine whether a row is selected for sharing, stored +in the `value` column. The "operator" is a placeholder for the symbol indicates +that the nature of the filter to be applied, and the desired relationship +between the `key` and the `value`. The currently accepted values for the +`operator` column are: + +- **=**: Denotes exact equivalence. This should be used for categorical or + character variables. +- **\>**: Denotes "greater-than". This can be used for numeric, integer, or + date-type variables. Note that it is exclusive of the value used in the + expression. +- **\<**: Denotes "lesser-than". This can be used for numeric, integer, or + date-type variables. Note that it is exclusive of the value used in the + expression. +- **\>=**: Denotes "greater-than-or-equal-to". This can be used for numeric, + integer, or date-type variables. Note that it is inclusive of the value + used in the expression. +- **\<=**: Denotes "lesser-than". This can be used for numeric, integer, or + date-type variables. Note that it is inclusive of the value used in the + expression. +- **in**: Denotes that a value is contained in either a range of continuous + data or a set of values. Range values are separated by `:` and can be used + for numeric, integer, or date-type variables, while sets are separated by + `;` and can be of any type. Note that both ranges and sets are inclusive of + the values used in the expression. + +Technically the `operator` column also accepts `AND` and `OR` as values, but +only for rules of the `group` mode. + +Some examples of how these rules can be constructed and applied in practice are +given below: + +1. Selecting only the rows where the value of `siteID` is exactly equal to +"ottawa-1" in the `samples` table. + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|---------|----------|-----------|-----------| + | 6 | samples | filter | siteID | = | ottawa-1 | | + +2. Selecting only the rows where the value of "Collection period" (`collPer`) +is greater than or equal to 5 in the `samples` table. + + | ruleId | table | mode | key | operator | value | notes | + |--------|---------|--------|---------|----------|-------|-------| + | 7 | samples | filter | collPer | >= | 5 | | + +3. Selecting only the rows where the value of "Collection period" (`collPer`) +is less than 5 in the `samples` table. + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|---------|----------|-----------|-----------| + | 8 | samples | filter | collPer | <= | 5 | | + +4. Selecting only the rows where the value of "Analysis date end" (`aDateEnd`) +is exactly equal to February 1st, 2022 (2022-02-01) from the `measures` table. + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|----------|----------|------------|-----------| + | 9 | measures | filter | aDateEnd | = | 2022-02-01 | | + +5. Selecting only the rows where the value of "Analysis date end" (`aDateEnd`) +is a date in February from the `measures` table. + + | ruleId | table | mode | key | operator | value | notes | + | ------ | -------- | ------ | -------- | -------- | --------------------- | ----- | + | 10 | measures | filter | aDateEnd | in | 2022-02-01:2022-02-28 | | + +6. Selecting only the rows where the value of `siteID` is either "ottawa-1" or + "laval-1" in the samples table. + + | ruleId | table | mode | key | operator | value | notes | + | ------ | -------- | ------ | -------- | -------- | ---------------- | ----- | + | 10 | samples | filter | siteID | in | ottawa-1;laval-1 | | + +### 4. Grouping Rules + +By default, all `filter` and `select` rules that are applied together are +combined with an implicit `AND`. That is to say, data to be shared must meet all +the criteria together. To stack particular rules to be applied together, or to +combine rules with an `OR`, users can rely on the `group` mode. To create a +`group` rule, the mode column needs to be specified to `group`, and the rule IDs +of the rules to be groups should be listed in the `value` column, separated by a +";". To specify how the rules are being grouped, the operator needs to be +specified as `AND` or `OR`. Group-type rules can also be grouped together, +creating nested group rules. + +Some examples are given below: + +1. Selecting only the rows where the value of "Analysis date end" (`aDateEnd`) +is exactly equal to February 1st, 2022 (2022-02-01) or February 1st, 2023 +(2023-02-01) from the `measures` table. + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|----------|----------|------------|-----------| + | 11 | measures | select | NA | NA | all | This rule selects all the columns from the measures table for inclusion | + | 12 | measures | filter | aDateEnd | = | 2022-02-01 | This rules takes all rows where analysis date end is February 1st, 2022 | + | 13 | measures | filter | aDateEnd | = | 2023-02-01 | This rules takes all rows where analysis date end is February 1st, 2023 | + | 14 | NA | group | NA | OR | 12;13 | This rule groups rules 12 and 13 together with "OR", such that if either rule is true, the data is selected | + +2. Selecting only the rows where the value of `siteID` is exactly equal to "ottawa-1" or "laval-1" in the `samples` table. + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|----------|----------|------------|-----------| + | 15 | samples | select | NA | NA | all | This rule selects all the columns from the samples table for inclusion | + | 16 | samples | filter | siteID | = | ottawa-1 | This rules takes all rows with a siteID of ottawa-1 | + | 17 | samples | filter | siteID | = | laval-1 | This rules takes all rows with a siteID of laval-1 | + | 18 | NA | group | NA | OR | 16;17 | This rule groups rules 16 and 17 together with "OR", such that if either rule is true, the data is selected | + +3. Selecting only the rows where the value of `siteID` is "ottawa-1" and the collection datetime (`collDT`) was February 1st, 2023 (2023-02-01) from the `samples` table. + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|----------|----------|------------|-----------| + | 19 | samples | select | NA | NA | all | This rule selects all the columns from the samples table for inclusion | + | 20 | samples | filter | siteID | = | ottawa-1 | This rules takes all rows with a siteID of ottawa-1 | + | 21 | samples | filter | collDT | = | 2023-02-01 | This rules takes all rows with a collection date of February 1st, 2023 | + | 22 | NA | group | NA | AND | 20;21 | This rule groups rules 20 and 21 together with "AND", such that only rows that met both conditions are selected | + +4. Selecting only the rows from the `measures` table that correspond to MPox measures between January 1st, 2021 and December 31st, 2021, or SARS-CoV-2 measures after January 1st, 2020. + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|------------|----------|------------|-----------| + | 23 | measures | select | NA | NA | measure; value; unit; aggregation | This rule selects the measure, value, unit, and aggregation columns from the measures table for inclusion | + | 24 | measures | filter | measure | = | mPox | This rules takes all rows with an MPox measure in the measures table | + | 25 | measures | filter | reportDate | in | 2021-01-01:2021-12-31 | This rules takes all rows with a report date between jan.1 and dec. 31, 2021 in the measures table | + | 26 | NA | group | NA | AND | 24;25 | This rule groups rules 24 and 25 together with "AND", such that only rows that met both conditions are selected | + | 27 | measures | filter | measure | = | cov | This rules takes all rows with a SARS-CoV-2 measure in the measures table | + | 28 | measures | filter | reportDate | >= | 2020-01-01 | This rules takes all rows with a report date after jan.1, 2020 in the measures table | + | 29 | NA | group | NA | AND | 27;28 | This rule groups rules 27 and 28 together with "AND", such that only rows that met both conditions are selected | + | 30 | NA | group | NA | OR | 26;29 | This rule groups rules 26 and 29 together with "OR", such that if either grouping of rules is true, the data is selected | + +### 5. Selecting an Organization for Sharing + +Once the rules in the sharing csv are defined, the next step is deciding to +which organization(s) or person/people a rule applies. This is done using the +an additional rule row with the `mode` columns value specified as `share`. A +unique identifier for each organization or person should be used and reused +throughout the entire document, and is used in the `key` column for sharing +rules. This unique identifier should ideally correspond to an organization ID +(`organizationID`) in the `organizations` table, or a contact ID (`contactID`) +in the `contacts` table of the ODM. To apply a single rule across multiple +organizations, the different organizations that a rule pertains to can be +listed together in the `key` column. The listed organizations should be +separated by a ";". For example, if a rule applies to the **Public Health +Agency of Canada** (`organizationID = PHAC`) as well as **Ottawa Public +Health** (`organizationID = OPH`) the value of the `key` cell in the row for +that rule would be `PHAC;OPH`. The example assumes that PHAC and OPH are the +agreed upon identifiers to represent these organizations. The rules to apply +for the shared data output should be listed in the `value` column, with that +various rule IDs separated by a ";". To specify different rules for different +organizations/people, users will need to generate addition `share`-mode rules. + +Some examples of how these rules can be constructed and applied in practice are +given below: + +1. Selecting only all columns of the `measures` table, but only the rows where +the value of "Analysis date end" (`aDateEnd`) is exactly equal to February 1st, +2022 (2022-02-01) or February 1st, 2023 (2023-02-01), and everything from the +`samples` table with the Public Health Agency of Canada (`organizationID = +PHAC`) and Ottawa Public Health (`organizationID = OPH`). Using those same +rules for Laval Public Health (`organizationID = LPH`), except only including +the rows of the `samples` table where the value of `siteID` is exactly equal to +"ottawa-1" or "laval-1". + + | ruleId | table | mode | key | operator | value | notes + |--------|----------|--------|----------|----------|------------|-----------| + | 11 | measures | select | NA | NA | all | This rule selects all the columns from the measures table for inclusion | + | 12 | measures | filter | aDateEnd | = | 2022-02-01 | This rules takes all rows where analysis date end is February 1st, 2022 | + | 13 | measures | filter | aDateEnd | = | 2023-02-01 | This rules takes all rows where analysis date end is February 1st, 2023 | + | 14 | NA | group | NA | OR | 12;13 | This rule groups rules 12 and 13 together with "OR", such that if either rule is true, the data is selected | + | 15 | samples | select | NA | NA | all | This rule selects all the columns from the samples table for inclusion | + | 16 | samples | filter | siteID | = | ottawa-1 | This rules takes all rows with a siteID of ottawa-1 | + | 17 | samples | filter | siteID | = | laval-1 | This rules takes all rows with a siteID of laval-1 | + | 18 | NA | group | NA | OR | 16;17 | This rule groups rules 16 and 17 together with "OR", such that if either rule is true, the data is selected | + | 31 | NA | share | OPH;PHAC | NA | 11;14;15 | Share all measures from feb. 1 2022 and 2023, and all samples information | + | 32 | NA | share | LPH | NA | 11;14;15;18| Share all measures from feb. 1 2022 and 2023, and all samples from ottawa and laval | + +2. Share MPox data from 2021 with Ottawa Public Health (`organizationID = + OPH`), share all SARS-CoV-2 data since 2020 with Laval Public Health + (`organizationID = LPH`), and share MPox data from 2021 and all SARS-CoV-2 + data since 2020 with the Public Health Agency of Canada (`organizationID = + PHAC`). + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|------------|----------|------------|-----------| + | 23 | measures | select | NA | NA | measure; value; unit; aggregation | This rule selects the measure, value, unit, and aggregation columns from the measures table for inclusion | + | 24 | measures | filter | measure | = | mPox | This rules takes all rows with an MPox measure in the measures table | + | 25 | measures | filter | reportDate | in | 2021-01-01:2021-12-31 | This rules takes all rows with a report date between jan.1 and dec. 31, 2021 in the measures table | + | 26 | NA | group | NA | AND | 24;25 | This rule groups rules 24 and 25 together with "AND", such that only rows that met both conditions are selected | + | 27 | measures | filter | measure | = | cov | This rules takes all rows with a SARS-CoV-2 measure in the measures table | + | 28 | measures | filter | reportDate | >= | 2020-01-01 | This rules takes all rows with a report date after jan.1, 2020 in the measures table | + | 29 | NA | group | NA | AND | 27;28 | This rule groups rules 27 and 28 together with "AND", such that only rows that met both conditions are selected | + | 30 | NA | group | NA | OR | 26;29 | This rule groups rules 26 and 29 together with "OR", such that if either grouping of rules is true, the data is selected | + | 33 | NA | share | OPH | NA | 23;26 | Share MPox data from 2021 with Ottawa Public Health | + | 34 | NA | share | LPH | NA | 23;29 | Share all SARS-CoV-2 data since 2020 with Laval Public Health | + | 35 | NA | share | PHAC | NA | 23;30 | Share MPox data from 2021 and all SARS-CoV-2 data since 2020 with PHAC | + +## Example Scenarios + +In this section we will be working with some data, providing an example +scenario for a rule and showing what the rule looks like in practice. + +### Filtering on license type + +One special case for filtering is using the license type (`license` in the +`datasets` table, or `measureLic` in the `measures` table). This is more useful +for data generators and custodians who work with a mix of open and private +data. By only filtering on open data, or open data with a specific license, all +of the data and metadata that are open can be shared, without needing to +specify additional sharing filters. For example, to share all data in a given +dataset: + +| ruleId | table | mode | key | operator | value | notes | +|--------|-------|--------|------------|----------|-------|-----------------------------------------------------------------------------------------------------------| +| 1 | all | select | NA | NA | all | This rule selects all the columns and tables for inclusion | +| 2 | all | filter | license | = | open | This rules takes all rows where the license is open | +| 3 | all | filter | measureLic | = | open | This rules takes all rows where the measure license is open | +| 4 | NA | group | NA | OR | 2; 3 | This rule groups rules 2 and 3 together with "OR", such that if either rule is true, the data is selected | +| 5 | NA | share | PHAC | NA | 1; 4 | This rule specifies that the data should be filtered using rules 1 and 4, and shared with PHAC | + +For an example pulling specifically open measures: + +| ruleId | table | mode | key | operator | value | notes | +|--------|----------|--------|------------|----------|-------|------------------------------------------------------------------------------------------------| +| 1 | measures | select | NA | NA | all | This rule selects all the columns from the measures tables for inclusion | +| 2 | measures | filter | measureLic | = | open | This rules takes all rows in the measures table where the measure license is open | +| 3 | NA | share | PHAC | NA | 1; 2 | This rule specifies that the data should be filtered using rules 1 and 2, and shared with PHAC | + +### General Example + +The data we will be working with has two tables from the ODM, **samples** and +**sites**. It does not include all the columns present in these tables. The +rows in the samples and sites table respectively are shown below: + +**samples**: +| sampleID | siteID | collDT | saMaterial | reportable | notes | +|-----------|----------|------------|------------|------------|--------| +| ottWa19-1 | ottawa-1 | 2021-08-19 | rawWW | TRUE | Note 1 | +| ottWa18-1 | ottawa-1 | 2021-08-18 | sweSed | TRUE | Note 2 | +| ottWa17-1 | laval-1 | 2021-08-17 | pstGrit | TRUE | Note 3 | +| ottWa10-1 | laval-1 | 2020-01-10 | water | FALSE | Note 4 | + +**sites**: +| siteID | name | repOrg1 | sampleshed | +|----------|----------------------|---------|------------| +| ottawa-1 | University of Ottawa | OPH | school | +| laval-1 | University of Laval | LPH | school | + +#### Basic Example + +1. Share all columns in the `samples` table, but select only rows whose site +ID is "ottawa-1" for Ottawa Public Health (OPH) + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|------------|----------|------------|-----------| + | 1 | samples | select | | | all | | + | 2 | samples | filter | siteID | = | ottawa-1 | | + | 3 | NA | share | OPH | | 1;2 | | + +2. Share all columns in the `samples` table, but select rows whose sample +material (`saMaterial`) is `rawWW` or `sweSed` for the Public Health Agency of +Canada (PHAC) + + | ruleId | table | mode | key | operator | value | notes | + |--------|---------|--------|------------|----------|--------------|-------| + | 4 | samples | select | | | all | | + | 5 | samples | filter | saMaterial | in | rawWW;sweSed | | + | 6 | NA | share | PHAC | | 4;5 | | + +3. Share all rows, but select the `notes` column from all tables for Laval +Public Health (LPH) + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|------------|----------|--------------|-----------| + | 7 | all | select | | | notes | | + | 8 | NA | share | LPH | | 4;5 | | + +4. Share all columns, but select only the rows for samples taken in the year +2021 and who have been marked as 'reportable' for Ottawa Public Health (OPH) +and the Public Health Agency of Canada (PHAC) + + | ruleId | table | mode | key | operator | value | notes | + |--------|---------|--------|------------|----------|-----------------------|-------| + | 9 | all | select | | | all | | + | 10 | samples | filter | reportable | = | TRUE | | + | 11 | samples | filtr | collDT | in | 2021-01-01:2021-12-31 | | + | 12 | NA | group | | AND | 10;11 | | + | 13 | NA | share | PHAC | | 9;12 | | + +5. Select all columns from the samples and sites tables, but only rows that + belong to the University of Laval for Laval Public Health (LPH) + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|------------|----------|--------------|-----------| + | 14 | all | select | | | all | | + | 15 | all | filter | siteID | = | laval-1 | | + | 16 | NA | share | LPH | | 14;15 | | + +### A Note on Filter and Select, Groups + +When specifying the columns to include in the shared data with the `select` +column, it is implied that all rows will be included **unless** a filter has +also been specified separately. Conversely, specifying the rows you want to +include in the `filter` column **does not** specifies that the column used for +filtering should be included in the `filtered_data` output. `select` is the +only way to specify columns for inclusion. + +As such, if you wanted to share all of the `samples` table data with Laval +Public Health (LPH), it would suffice to define the rules as: + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|------------|----------|--------------|-----------| + | 1 | samples | select | | | all | | + | 2 | NA | share | LPH | | 1 | | + +Similarly, if you only wanted to share the measure, value, and unit columns for +the siteID that belong to the University of Laval, but did not want to share +the siteID column, the rules would be: + + | ruleId | table | mode | key | operator | value | notes | + |--------|----------|--------|--------|----------|--------------------|-------| + | 1 | measures | select | | | measure;value;unit | | + | 2 | measures | filter | siteID | = | laval-1 | | + | 3 | NA | share | LPH | | 1;2 | | + +With group-type rules, the rules are combined with an `AND` or `OR` operator, +and the rules to be combined are listed in the value field. Similarly, when +specifying the sharing target, users also list the rules to apply for the +output. The result is that with the sharing, there is an implicit grouping +action run by the library as part of this activity as well. + + +| ruleId | table | mode | key | operator | value | notes | +| --- | --- | --- | --- | --- | --- |-----------| +| 1 | measures | select | NA | NA | measure;value;unit | | +| 4 | measures | filter | measure | = | mPox | | +| 5 | measures | filter | reportDate | in | 2021-01-01;2021-12-31 | | +| 6 | measures | filter | measure | = | cov | | +| 7 | measures | filter | reportDate | >= | 2020-01-01 | | +| 8 | NA | group | NA | AND | 4; 5 | | +| 9 | NA | group | NA | AND | 6; 7 | | +| 10 | NA | group | NA | OR | 8; 9 | | +| 11 | measures | filter | reportable | = | TRUE | | +| 12 | NA | share | PHAC | NA | 10;11 | | + +Which implicitly generates --> + +| ruleId | table | mode | key | operator | value | notes | +| --- | --- | --- | --- | --- | --- | ----------- | +| 13 | measures | group | NA | AND | 10;11 | | + +Which then generates the SQL query for sharing with PHAC for this example --> + +``` +select measure, value, unit from measures where ((4 and 5) or (6 and 7)) and 11 +``` + +## Sharing CSV Columns + +This section summarizes all the columns that are a part of the file + +**ruleId**: Mandatory for all rules. Recommended to use sequential integers for +naming, but can be a number or a string. If a string, then its recommended to +use [snake_case](https://en.wikipedia.org/wiki/Snake_case) - spaces in names +are not supported. Each value should be unique across an entire sharing file +(`sharing.csv`). + +**table**: The name(s) of the tables for this rule. Allowable values are names +(partIDs) of the tables separated by a `;`, or `all` to select all tables. + +**mode**: The activity and modality of a rule. Allowable values are: + - `select`: used for rules that define which tables and columns are to be + shared. Requires values in the `ruleID`, `table`, `mode`, and `value` + columns of the sharing csv. + - `filter`: used for rules that define which rows of data are appropriate for + sharing. Requires values in the `ruleID`, `table`, `mode`, `key`, + `operator` and `value` columns of the sharing csv. + - `group`: used for grouping together rules that should be applied as + combined conditions, using either `AND` or `OR` as the operator. Requires + values in the `ruleID`, `mode`, `operator` and `value` columns of the + sharing csv. + - `share`: used for rules defining the target for the sharing data output. + Requires values in the `ruleID`, `mode`, `key` (to specify the + organizationID(s) or contactID(s)) and `value` (to specify the rules to + apply for the output) columns of the sharing csv. + +**key**: The argument used to specify the header or headers used for a +filtering rule, or the destination organization or person for a sharing rule. +Multiple headers can be listed, and likewise multiple organizations/individuals +can be separated by a `;`. Also supports key word `all`. The organizations here +reference the organizations table (`organizationID`), or the contacts table +(`contactID`) in the ODM data. + +**operator**: The operator used to define the logic of filtering and grouping +rules. For `filter`-mode rules, use of the `=`, `>`, `<`, `>=`, and `<=` +operators are supported, along with `in` for ranges of continuous data. For +`group`-mode rules, the acceptable values for this field are `AND` or `OR`. + +**value**: Specifies the values for filtering rules, and the rules to be +grouped for grouping rules. Discrete, listed values in this field should be +separated by a ";". + +**notes**: An optional, free-text description or notes explaining this rule, or +other related information deemed worthy of sharing. diff --git a/docs/manual/sqlite.qmd b/docs/manual/sqlite.qmd new file mode 100644 index 00000000..f7da63f2 --- /dev/null +++ b/docs/manual/sqlite.qmd @@ -0,0 +1,87 @@ +# SQLite {#sec-sqlite} + +## Install + +To install the SQLite library, follow the steps below for your system, then +[verify that it's working in Python](#verify-sqlite-support-in-python). + +### Windows + +1. **Download SQLite:** Go to the + [SQLite download page](https://www.sqlite.org/download.html) and download + `sqlite-dll-win-x64-3XXXXXX.zip`. + +2. **Extract the Files:** Extract the contents of the ZIP file to a directory + of your choice, for example, `C:\sqlite`. + +3. **Add SQLite to PATH:** Add the directory chosen above, now containing + `sqlite3.dll`, to your system's PATH environment variable: + 1. Open the Start Menu, search for "Environment Variables", and select "Edit + the system environment variables". + 1. In the System Properties window, click on the "Environment Variables" + button. + 1. In the Environment Variables window, find the "Path" variable in the + "System variables" section and click "Edit". + 1. Click "New" and add the path chosen above. + 1. Click "OK" to close all windows. + +4. **Verify the Installation:** Open a new Command Prompt window and run + `sqlite3 --version`. This should print the version of SQLite installed. + +### macOS + +Run the following commands in a terminal. + +1. **Install Homebrew.** Homebrew is a popular package manager for macOS. If + you don't have Homebrew installed, you can install it by running the + following command: + ```bash + /bin/bash -c "$(curl -fsSL \ + https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + ``` + +2. **Install SQLite using Homebrew**: + ```bash + brew install sqlite3 + ``` + +3. **Verify the Installation**: + ```bash + sqlite3 --version + ``` + This should print the version of SQLite installed. + +### Linux + +To install SQLite on (Ubuntu) Linux, you can run the following commands: + +1. **Update package list**: + ```bash + sudo apt update + ``` + +2. **Install SQLite**: + ```bash + sudo apt install sqlite3 + ``` + +3. **Verify installation**: + ```bash + sqlite3 --version + ``` + This should print the version of SQLite installed. + +## Verify SQLite Support in Python + + After installing SQLite, you should verify that SQLite works in Python. + + Open a Python shell (by typing `python` (or `python3`) in a terminal) and + run the following commands: + + ```python + import sqlite3 + sqlite3.sqlite_version + ``` + + If the version is displayed, and no errors are encountered, then SQLite is + ready for use with Python. diff --git a/docs/spec/tech-spec.md b/docs/spec/tech-spec.md index a4e3b623..82de4b9e 100644 --- a/docs/spec/tech-spec.md +++ b/docs/spec/tech-spec.md @@ -21,76 +21,6 @@ boost when running queries on big indexed databases, as well as enable us to output the intermediate SQL to the user in case they want to inspect or execute the queries themselves. -## CLI - -**Usage** - -``` -./share.py [OPTION]... SCHEMA INPUT -``` - -Arguments: - -- SCHEMA - - sharing schema file path - -- INPUT - - spreadsheet file path or [SQLAlchemy database url](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) - -Options: - -- `--orgs=NAME[,...]` - - comma separated list of organizations to output data for, defaults to all - -- `--outfmt=FORMAT` - - output format (excel or csv), defaults to excel - -- `--outdir=PATH` - - output file directory, defaults to the current directory - -- `-d`, `--debug`: - - output debug info to STDOUT (and ./debug.txt) instead of creating sharable - output files. This shows which tables and columns are selected, and how - many rows each filter returns. - -- `-q`, `--quiet`: - - don't log to STDOUT - -One or multiple sharable output files will be created in the chosen output -directory according to the chosen output format and organization(s). Each -output file will have the input filename followed by a postfix with the org -name (and table name if CSV). - -**Examples** - -Create a sharable excel file in the "~/ohri" directory, for the "OHRI" -organization, applying the rules from schema.csv on the input from data.xlsx: - -```bash -./share.py --orgs=OHRI --outdir=~/ohri/ schema.csv data.xlsx -``` - -Output to the default (current) directory, for all organizations specified in -the schema, using a MySQL database (with the pymysql package) as input: - -```bash -./share.py schema.csv mysql+pymysql://scott:tiger@localhost/foo -``` - -Same as above, using a MS SQL Server database through ODBC (with the pyodbc -package): - -```bash -./share.py schema.csv mssql+pyodbc://user:pass@mydsn -``` - ## API ### Public modules diff --git a/docs/sqlite.md b/docs/sqlite.md deleted file mode 100644 index 8d9c4841..00000000 --- a/docs/sqlite.md +++ /dev/null @@ -1,101 +0,0 @@ -# SQLite - -## Installation - -To install the SQLite library, follow the steps for your system: - -### Windows - -1. **Download SQLite:** - Go to the [SQLite download page](https://www.sqlite.org/download.html) and - download the precompiled binaries for Windows. Download the following files: - - sqlite-tools-win32-x86-XXXXXX.zip (contains the SQLite command-line tools) - - sqlite-dll-win32-x86-XXXXXX.zip or sqlite-dll-win64-x64-XXXXXX.zip - (contains the SQLite DLL) - -2. **Extract the Files:** - Extract the contents of these ZIP files to a directory of your choice, for example, `C:\sqlite`. - -3. **Add SQLite to PATH:** - Add the directory containing `sqlite3.exe` to your system's PATH environment variable: - - Open the Start Menu, search for "Environment Variables", and select "Edit the system environment variables". - - In the System Properties window, click on the "Environment Variables" button. - - In the Environment Variables window, find the "Path" variable in the "System variables" section and click "Edit". - - Click "New" and add the path to the directory where you extracted the SQLite binaries, for example, `C:\sqlite`. - - Click "OK" to close all windows. - -4. **Verify the Installation:** - Open a new Command Prompt window and run: - ```sh - sqlite3 --version - ``` - This should print the version of SQLite installed. - -### macOS - -1. **Install Homebrew:** - Homebrew is a popular package manager for macOS. If you don't have Homebrew - installed, you can install it by running the following command in your - terminal: - ```sh - /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - ``` - -2. **Install SQLite:** - Once Homebrew is installed, you can install SQLite by running: - ```sh - brew install sqlite3 - ``` - -3. **Verify the Installation:** - After the installation is complete, you can verify that SQLite is installed - correctly by running: - ```sh - sqlite3 --version - ``` - This should print the version of SQLite installed. - -4. **Reinstall Python:** - If Python was installed before SQLite, you might need to reinstall Python to - ensure it picks up the SQLite libraries. If you use `pyenv`, you can - reinstall Python as follows: - ```sh - pyenv uninstall - pyenv install - ``` - Replace `` with the specific version of Python you are - using. - -### Linux - -To install SQLite on (Ubuntu) Linux, you can follow these steps: - -1. **Update package list**: - ```sh - sudo apt update - ``` - -2. **Install SQLite**: SQLite can now be installed by running: - ```sh - sudo apt install sqlite3 - ``` -3. **Verify installation**: Once the installation is complete, you can verify - the installation by checking the software’s version: - ```sh - sqlite3 --version - ``` - This will output the version of SQLite installed on your system. - -## Verify SQLite Support in Python - - After installing SQLite, you should verify that SQLite works in Python. - - Open a Python shell (by typing `python` in a terminal) and try importing the - `sqlite3` module: - - ```python - import sqlite3 - print(sqlite3.version) - ``` - - If no errors are encountered, SQLite is ready for use with Python. diff --git a/requirements-doc.txt b/requirements-doc.txt new file mode 100644 index 00000000..64b2fccc --- /dev/null +++ b/requirements-doc.txt @@ -0,0 +1 @@ +jupyter==1.0.0 From 58538fb6aff68440fbbecd2b058fa43fc20170a4 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 28 Jun 2024 08:58:39 -0400 Subject: [PATCH 090/174] upgrade to python 3.9 It's no longer slow to install the package with the latest python version (3.12) after upgrading the package to python 3.9. This upgrade also enables the use of quartodoc to generate the API doc. --- docs/manual/install.qmd | 10 +++++----- docs/manual/python.qmd | 11 +---------- pyproject.toml | 2 +- requirements-dev.txt | 2 +- requirements.txt | 8 ++++---- 5 files changed, 12 insertions(+), 21 deletions(-) diff --git a/docs/manual/install.qmd b/docs/manual/install.qmd index e2a1e77a..7455ac41 100644 --- a/docs/manual/install.qmd +++ b/docs/manual/install.qmd @@ -11,7 +11,7 @@ distribution. `python` and `pip` is used below, but they may also be called ## System dependencies -- Python >= 3.8 (see @sec-python) +- Python >= 3.9 (see @sec-python) - SQLite 3 (see @sec-sqlite) ## Package @@ -40,12 +40,12 @@ section. cd odm-sharing ``` -2. if python != 3.8, then install pyenv and setup repo to run python 3.8 +2. if python != 3.9, then install pyenv and setup repo to run python 3.9 ```bash sudo apt-get install pyenv - pyenv install 3.8 - pyenv local 3.8 + pyenv install 3.9 + pyenv local 3.9 ``` 3. create a virtual env for the repo, using the selected python version @@ -71,7 +71,7 @@ section. source .env/bin/activate ``` -6. verify that python now has the correct version (3.8) +6. verify that python now has the correct version (3.9) ```bash python --version diff --git a/docs/manual/python.qmd b/docs/manual/python.qmd index 961e19dc..f55d068c 100644 --- a/docs/manual/python.qmd +++ b/docs/manual/python.qmd @@ -1,19 +1,10 @@ # Python {#sec-python} -The recommended version for most users is 3.11.9. A higher version will work -fine, but cause a very long installation time for packages (like this one) -which is based on Python 3.8. - ## Install ### Windows & macOS -The main download page can be found [here](https://www.python.org/downloads/). - -Direct download links for version 3.11.9: - -- [Windows](https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe) -- [macOS](https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg) +Python can be downloaded from [here](https://www.python.org/downloads/). ### Linux diff --git a/pyproject.toml b/pyproject.toml index 9b6b06b8..9ffd46a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ authors = [ description = "PHES-ODM Sharing Library" readme = "README.md" license = { file="LICENSE" } -requires-python = ">=3.8" +requires-python = ">=3.9" classifiers = [ "Programming Language :: Python :: 3", "Operating System :: OS Independent", diff --git a/requirements-dev.txt b/requirements-dev.txt index 3fc21233..fb871af1 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,3 +1,3 @@ -pandas-stubs==2.0.3.230814 +pandas-stubs==2.2.2.240603 sqlalchemy-stubs==0.4 types-tabulate==0.9.0.20240106 diff --git a/requirements.txt b/requirements.txt index b4f3a1d1..81bb3bbe 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ -SQLAlchemy==2.0.29 -numpy==1.24.4 -openpyxl==3.1.2 -pandas==2.0.3 +SQLAlchemy==2.0.31 +numpy==2.0.0 +openpyxl==3.1.4 +pandas==2.2.2 pyfunctional==1.5.0 tabulate==0.9.0 typer==0.12.3 From e1e9ca2c6cf2c061c3d8d0b1458606179006a709 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 18 Jul 2024 15:36:14 -0400 Subject: [PATCH 091/174] fix deprecation warning from pandas the inplace version of pandas.fillna apparently shouldn't be used see https://github.com/pandas-dev/pandas/issues/16529 --- src/odm_sharing/private/rules.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 27283b3d..5f4420c6 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -218,7 +218,9 @@ def load(schema_path: str) -> Dict[RuleId, Rule]: filename = Path(schema_path).name ctx = SchemaCtx(filename) data = pd.read_csv(schema_path) - data.fillna('', inplace=True) # replace NA values with empty string + + # replace all different NA values with an empty string + data = data.fillna('') # XXX: loading is aborted on header errors since row-parsing depends on it validate_headers(ctx, data.columns.to_list()) From 12e6e383bb2a519c71839e27122b0d2988d19525 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 18 Jul 2024 15:51:52 -0400 Subject: [PATCH 092/174] fix type errors --- src/odm_sharing/private/rules.py | 6 +++++- src/odm_sharing/tools/share.py | 7 ++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 5f4420c6..e5745f41 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -231,7 +231,11 @@ def load(schema_path: str) -> Dict[RuleId, Rule]: for i, row in enumerate(data.itertuples(index=False)): ctx.row_ix = i + 1 try: - rule = init_rule(ctx, row._asdict()) + + # type-checkers can't handle dicts with values of multiple types + row_dict = row._asdict() # type: ignore + + rule = init_rule(ctx, row_dict) validate_rule(ctx, rule) result[rule.id] = rule except ParseError as e: diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 456e2daa..27ba0f0f 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -47,7 +47,7 @@ class OutFmt(str, Enum): # default cli args DEBUG_DEFAULT = False -ORGS_DEFAULT = [] +ORGS_DEFAULT: List[str] = [] OUTDIR_DEFAULT = './' OUTFMT_DEFAULT = OutFmt.AUTO QUIET_DEFAULT = False @@ -141,7 +141,7 @@ def get_debug_writer(debug: bool) -> Union[TextIO, contextlib.nullcontext]: return contextlib.nullcontext() -def get_excel_writer(in_name, debug: bool, org: str, outdir: str, +def get_excel_writer(in_name: str, debug: bool, org: str, outdir: str, outfmt: OutFmt) -> Optional[pd.ExcelWriter]: if not debug and outfmt == OutFmt.EXCEL: filename = gen_filename(in_name, org, '', 'xlsx') @@ -159,6 +159,7 @@ def infer_outfmt(path: str) -> Optional[OutFmt]: return OutFmt.CSV elif ext == '.xlsx': return OutFmt.EXCEL + return None def share( @@ -248,7 +249,7 @@ def main_cli( share(schema, input, orgs, outfmt, outdir, debug) -def main(): +def main() -> None: # runs main_cli app() From 4fe6a56427343b4a14f6f90e698169d2ca2fff32 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 2 Jul 2024 12:54:33 -0400 Subject: [PATCH 093/174] cons: fix excel table whitelist --- src/odm_sharing/private/cons.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 47c1ec29..90ec800c 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -42,7 +42,9 @@ def _connect_excel(path: str, table_whitelist: Set[str]) -> Connection: logging.info('importing excel workbook') db = _create_memory_db() xl = pd.ExcelFile(path) - included_tables = set(map(str, xl.sheet_names)) & table_whitelist + included_tables = set(map(str, xl.sheet_names)) + if table_whitelist: + included_tables &= table_whitelist for table in included_tables: df = xl.parse(sheet_name=table) _write_table_to_db(db, table, df) From 347b60e2d105d54089981855432c4885ebc7a362 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 22 Jul 2024 12:48:40 -0400 Subject: [PATCH 094/174] cons: add comment about sheet name type mypy gives the following type error if this seemingly redundant mapping isn't done: ``` src/odm_sharing/private/cons.py:50: error: Argument 2 to "_write_table_to_db" has incompatible type "Union[int, str]"; expected "str" [arg-type] ``` It seems like sheet_name may be an integer as well as a string, so it's best to map all names to string. --- src/odm_sharing/private/cons.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 90ec800c..f9d84a75 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -42,7 +42,7 @@ def _connect_excel(path: str, table_whitelist: Set[str]) -> Connection: logging.info('importing excel workbook') db = _create_memory_db() xl = pd.ExcelFile(path) - included_tables = set(map(str, xl.sheet_names)) + included_tables = set(map(str, xl.sheet_names)) # XXX: may be int if table_whitelist: included_tables &= table_whitelist for table in included_tables: From 2dfff4067bf27f40351dd5019666ce54fa216761 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 2 Jul 2024 11:06:35 -0400 Subject: [PATCH 095/174] fix get_count datatype --- src/odm_sharing/sharing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 0978c091..70a38063 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -52,7 +52,7 @@ def get_counts(c: Connection, tq: TableQuery) -> Dict[RuleId, int]: :raises DataSourceError:''' def get_rule_count(rule_id: RuleId, q: Query) -> Tuple[RuleId, int]: - count = cons.exec(c, q.sql, q.args).iat[0, 0] + count = int(cons.exec(c, q.sql, q.args).iat[0, 0]) return (rule_id, count) return seq(tq.rule_count_queries.items()).smap(get_rule_count).dict() From 66caec53e2b142fadbf60adff6be4ea37a9a1f96 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 22 Jul 2024 12:04:20 -0400 Subject: [PATCH 096/174] remove sets from api for user-friendliness --- src/odm_sharing/sharing.py | 6 +++--- src/odm_sharing/tools/share.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 70a38063..0e1f5e43 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -1,5 +1,5 @@ from pathlib import Path -from typing import Dict, List, Set, Tuple +from typing import Dict, List, Tuple import pandas as pd from functional import seq @@ -29,12 +29,12 @@ def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: return queries.generate(tree) -def connect(data_source: str, tables: Set[str] = set()) -> Connection: +def connect(data_source: str, tables: List[str] = []) -> Connection: '''returns a connection object that can be used together with a query object to retrieve data from `data_source` :raises DataSourceError:''' - return cons.connect(data_source, tables) + return cons.connect(data_source, set(tables)) def get_data(c: Connection, tq: TableQuery) -> pd.DataFrame: diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 27ba0f0f..aef8c345 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -195,7 +195,7 @@ def share( # XXX: only tables found in the schema are considered in the data source logging.info(f'connecting to {qt(input)}') - con = sh.connect(input, table_filter) + con = cons.connect(input, table_filter) # one debug file per run with get_debug_writer(debug) as debug_file: From 46aa235208bd3bc471b8b99bb8d519beabb4d0d3 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 2 Jul 2024 18:48:03 -0400 Subject: [PATCH 097/174] fix exception docstring format since it doesn't play nice with quartodoc --- src/odm_sharing/sharing.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 0e1f5e43..a64a95b1 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -21,7 +21,8 @@ def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: '''returns queries for each org and table, generated from the rules specified in `schema_file` - :raises OSError, ParseError: + :raises OSError: + :raises ParseError: ''' ruleset = rules.load(schema_path) filename = Path(schema_path).name From 0a3d7f69d544de3ce8c1975b449a3a912f0cdaa4 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 22 Jul 2024 11:43:21 -0400 Subject: [PATCH 098/174] improve api docstrings --- src/odm_sharing/sharing.py | 82 +++++++++++++++++++++++++++----------- 1 file changed, 58 insertions(+), 24 deletions(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index a64a95b1..c2edf402 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -1,7 +1,7 @@ from pathlib import Path from typing import Dict, List, Tuple -import pandas as pd +import pandas from functional import seq import odm_sharing.private.cons as cons @@ -18,11 +18,17 @@ def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: - '''returns queries for each org and table, generated from the rules - specified in `schema_file` + '''loads and parses a schema file into query objects - :raises OSError: - :raises ParseError: + :param schema_path: schema filepath + :param orgs: organization whitelist, disabled if empty + + :return: a query per table per org. `OrgName` and `TableName` are + strings. + :rtype: Dict[OrgName, Dict[TableName, TableQuery]] + + :raises OSError: if the schema file can't be loaded + :raises ParseError: if the schema parsing fails ''' ruleset = rules.load(schema_path) filename = Path(schema_path).name @@ -31,27 +37,44 @@ def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: def connect(data_source: str, tables: List[str] = []) -> Connection: - '''returns a connection object that can be used together with a query - object to retrieve data from `data_source` + ''' + creates a connection to a data source that later can be used with a query + to retrieve data + + :param data_source: filepath or database URL + :param tables: table name whitelist, disabled if empty - :raises DataSourceError:''' + :return: the data source connection object + + :raises DataSourceError: if the connection couldn't be established + ''' return cons.connect(data_source, set(tables)) -def get_data(c: Connection, tq: TableQuery) -> pd.DataFrame: - '''returns the data extracted from running query `q` on data-source - connection `c`, as a pandas DataFrame +def get_data(c: Connection, tq: TableQuery) -> pandas.DataFrame: + '''retrieves filtered data from a specific table of a data source + + :param c: the data source connection + :param tq: the table query + + :return: the resulting (filtered) dataset - :raises DataSourceError:''' + :raises DataSourceError: if an error occured while retrieving data + ''' dq = tq.data_query return cons.exec(c, dq.sql, dq.args) def get_counts(c: Connection, tq: TableQuery) -> Dict[RuleId, int]: - '''returns the row counts for each rule + '''gives the row count of the query for each rule + + :param c: connection + :param tq: table query - :raises DataSourceError:''' + :return: the row count for each rule. `RuleId` is an integer. + :raises DataSourceError: if an error occured while counting rows + ''' def get_rule_count(rule_id: RuleId, q: Query) -> Tuple[RuleId, int]: count = int(cons.exec(c, q.sql, q.args).iat[0, 0]) return (rule_id, count) @@ -61,10 +84,17 @@ def get_rule_count(rule_id: RuleId, q: Query) -> Tuple[RuleId, int]: def get_columns(c: Connection, tq: TableQuery ) -> Tuple[RuleId, List[ColumnName]]: - '''returns the select-rule id together with the column names that would be - extracted when calling `get_data` + '''gives the column names of a query + + :param c: connection + :param tq: table query - :raises DataSourceError:''' + :return: the select-rule's ID, and the list of column names + associated with it. `RuleId` is an integer, and `ColumnName` is a string. + + :raises DataSourceError: if an error occured while retrieving the column + names + ''' if tq.columns: return (tq.select_rule_id, tq.columns) else: @@ -78,18 +108,22 @@ def extract( schema_path: str, data_source: str, orgs: List[str] = [], -) -> Dict[OrgName, Dict[TableName, pd.DataFrame]]: - '''returns a Pandas DataFrame per table per org +) -> Dict[OrgName, Dict[TableName, pandas.DataFrame]]: + '''high-level function for retrieving filtered data + + :param schema_path: rule schema filepath + :param data_source: filepath or database URL + :param orgs: organization whitelist, disabled if empty - :param data_source: a file path or database url (in SQLAlchemy format) - :param schema_path: rule schema file path - :param orgs: orgs to share with, or all if empty + :return: a dataset per table per org. `OrgName` and `TableName` are + strings. - :raises DataSourceError: + :raises DataSourceError: if an error occured while extracting data from the + data source ''' con = connect(data_source) queries = parse(schema_path, orgs) - result: Dict[OrgName, Dict[TableName, pd.DataFrame]] = {} + result: Dict[OrgName, Dict[TableName, pandas.DataFrame]] = {} for org, tablequeries in queries.items(): result[org] = {} for table, query in tablequeries.items(): From a6a46dba5c38482bdf3d8877da578c57b5e32beb Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 2 Jul 2024 09:12:09 -0400 Subject: [PATCH 099/174] doc/man/cli: split into ref and usage chapters --- docs/manual/_quarto.yml | 3 +- docs/manual/cli-reference.qmd | 68 +++++++++++++++++++++ docs/manual/{cli.qmd => cli-usage.qmd} | 84 +++----------------------- docs/manual/getting-started.qmd | 2 +- 4 files changed, 80 insertions(+), 77 deletions(-) create mode 100644 docs/manual/cli-reference.qmd rename docs/manual/{cli.qmd => cli-usage.qmd} (51%) diff --git a/docs/manual/_quarto.yml b/docs/manual/_quarto.yml index 2447b238..4a77e810 100644 --- a/docs/manual/_quarto.yml +++ b/docs/manual/_quarto.yml @@ -9,7 +9,8 @@ book: - index.qmd - install.qmd - getting-started.qmd - - cli.qmd + - cli-reference.qmd + - cli-usage.qmd - api.qmd appendices: - schemas.qmd diff --git a/docs/manual/cli-reference.qmd b/docs/manual/cli-reference.qmd new file mode 100644 index 00000000..465c492f --- /dev/null +++ b/docs/manual/cli-reference.qmd @@ -0,0 +1,68 @@ +```{python} +#| echo: false +from odm_sharing.tools.share import share +``` + +# CLI Reference {#sec-cli-ref} + +```bash +odm-share [OPTION]... SCHEMA INPUT +``` + +Arguments: + +- SCHEMA + + sharing schema file path + +- INPUT + + spreadsheet file path or [SQLAlchemy database URL](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) + +Options: + +- `--orgs=NAME[,...]` + + comma separated list of organizations to output data for, defaults to all + +- `--outfmt=FORMAT` + + output format (excel or csv), defaults to input format + +- `--outdir=PATH` + + output file directory, defaults to the current directory + +- `-d`, `--debug`: + + output debug info to STDOUT (and ./debug.txt) instead of creating sharable + output files. This shows which tables and columns are selected, and how + many rows each filter returns. + +- `-q`, `--quiet`: + + don't log to STDOUT + +One or multiple sharable output files will be created in the chosen output +directory according to the chosen output format and organization(s). Each +output file will have the input name followed by the recipient org name. + +## Errors + +Error messages will be printed to the terminal (STDERR) when something is +wrong. The message starts with telling where the error originated, including +the filename and line number or rule id. Here's a few examples: + +When headers are missing from the schema: + +```{python} +#| echo: false +share('assets/schema-missing-headers.csv', 'assets/measures.csv') +``` + +When no share-rules are contained in the schema: + +```{python} +#| echo: false +share('assets/schema-missing-rules.csv', 'assets/measures.csv') +``` diff --git a/docs/manual/cli.qmd b/docs/manual/cli-usage.qmd similarity index 51% rename from docs/manual/cli.qmd rename to docs/manual/cli-usage.qmd index 33bbffb2..3bf77bf6 100644 --- a/docs/manual/cli.qmd +++ b/docs/manual/cli-usage.qmd @@ -1,81 +1,15 @@ ```{python} #| echo: false -from odm_sharing.tools.share import OutFmt, share +from odm_sharing.tools.share import share -from common import DATA, SCHEMA, load_csv_md, print_file +from common import DATA, SCHEMA ``` -# CLI {#sec-cli} +# CLI Usage {#sec-cli-usage} -## Reference +## Examples -```bash -odm-share [OPTION]... SCHEMA INPUT -``` - -Arguments: - -- SCHEMA - - sharing schema file path - -- INPUT - - spreadsheet file path or [SQLAlchemy database URL](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) - -Options: - -- `--orgs=NAME[,...]` - - comma separated list of organizations to output data for, defaults to all - -- `--outfmt=FORMAT` - - output format (excel or csv), defaults to input format - -- `--outdir=PATH` - - output file directory, defaults to the current directory - -- `-d`, `--debug`: - - output debug info to STDOUT (and ./debug.txt) instead of creating sharable - output files. This shows which tables and columns are selected, and how - many rows each filter returns. - -- `-q`, `--quiet`: - - don't log to STDOUT - -One or multiple sharable output files will be created in the chosen output -directory according to the chosen output format and organization(s). Each -output file will have the input name followed by the recipient org name. - -### Errors - -Error messages will be printed to the terminal (STDERR) when something is -wrong. The message starts with telling where the error originated, including -the filename and line number or rule id. Here's a few examples: - -When headers are missing from the schema: - -```{python} -#| echo: false -share('assets/schema-missing-headers.csv', 'assets/measures.csv') -``` - -When no share-rules are contained in the schema: - -```{python} -#| echo: false -share('assets/schema-missing-rules.csv', 'assets/measures.csv') -``` - -## Usage - -### Examples - -#### Using a CSV file +### Using a CSV file To share a single table `measures.csv`, using the sharing schema `schema.csv`, the following command can be used: @@ -87,7 +21,7 @@ odm-share schema.csv measures.csv It will make an output file called `measures-.csv` for each organization specified in the schema, with filtered data that is ready to share. -#### Using an Excel file +### Using an Excel file Excel files can be used as input to share multiple tables at once: @@ -98,7 +32,7 @@ odm-share schema.csv data.xlsx It will make an output file called `.xlsx` for each organization in the schema. -#### Using a database +### Using a database To use a MySQL database as input (with the pymysql package): @@ -113,7 +47,7 @@ package): odm-share schema.csv mssql+pyodbc://user:pass@mydsn ``` -#### Using additional options +### Using additional options - Share CSV files from an Excel file: @@ -129,7 +63,7 @@ odm-share schema.csv mssql+pyodbc://user:pass@mydsn odm-share --orgs=OHRI,TOH --outdir=~/files schema.csv data.xlsx ``` -### Debugging +## Debugging Debug mode provides information about what would happen when using a specific schema, without pulling the actual data to be shared. Debugging is enabled by diff --git a/docs/manual/getting-started.qmd b/docs/manual/getting-started.qmd index d34bc40e..18d0afbd 100644 --- a/docs/manual/getting-started.qmd +++ b/docs/manual/getting-started.qmd @@ -70,7 +70,7 @@ share(SCHEMA, DATA) display.Markdown(load_csv_md(outpath)) ```
-See @sec-cli for the CLI reference and more examples. +See @sec-cli-ref for the CLI reference and @sec-cli-usage for more examples. ## API From 4e225ca44f33654eb9067ea327d29d70162a9d44 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 28 Jun 2024 09:08:51 -0400 Subject: [PATCH 100/174] doc/api: rewrite - remove old placeholder content - add generated reference - add proper usage examples - update ignored files --- docs/manual/.gitignore | 19 ++-- docs/manual/_quarto.yml | 19 +++- docs/manual/_renderer.py | 21 ++++ docs/manual/api-usage/.gitignore | 3 + docs/manual/api-usage/api-usage.qmd | 157 +++++++++++++++++++++++++++ docs/manual/api.qmd | 111 ------------------- docs/manual/assets/minimal/data.xlsx | Bin 0 -> 5817 bytes docs/manual/build-api.sh | 23 ++++ docs/manual/getting-started.qmd | 2 +- docs/manual/install.qmd | 7 +- requirements-doc.txt | 1 + 11 files changed, 241 insertions(+), 122 deletions(-) create mode 100644 docs/manual/_renderer.py create mode 100644 docs/manual/api-usage/.gitignore create mode 100644 docs/manual/api-usage/api-usage.qmd delete mode 100644 docs/manual/api.qmd create mode 100644 docs/manual/assets/minimal/data.xlsx create mode 100755 docs/manual/build-api.sh diff --git a/docs/manual/.gitignore b/docs/manual/.gitignore index 14813475..9f2ddd3e 100644 --- a/docs/manual/.gitignore +++ b/docs/manual/.gitignore @@ -1,10 +1,13 @@ -# generated files -/measures-OHRI.csv +# generated by quarto +.quarto/ +_book/ +build/ search.json -site_libs -debug.txt -# generated dirs -/.quarto/ -/_book/ -/build/ +# generated by quartodoc +/api-reference/ +objects.json + +# generated by code examples +measures-OHRI.csv +debug.txt diff --git a/docs/manual/_quarto.yml b/docs/manual/_quarto.yml index 4a77e810..fef42bea 100644 --- a/docs/manual/_quarto.yml +++ b/docs/manual/_quarto.yml @@ -11,11 +11,28 @@ book: - getting-started.qmd - cli-reference.qmd - cli-usage.qmd - - api.qmd + - api-reference/index.qmd + - api-usage/api-usage.qmd appendices: - schemas.qmd - python.qmd - sqlite.qmd +quartodoc: + renderer: _renderer.py + style: single-page + parser: sphinx + package: odm_sharing + dir: api-reference + sections: + - title: API Reference + - contents: + - sharing.extract + - sharing.parse + - sharing.connect + - sharing.get_data + - sharing.get_counts + - sharing.get_columns + pdf-engine: pdflatex toc: true diff --git a/docs/manual/_renderer.py b/docs/manual/_renderer.py new file mode 100644 index 00000000..e9e41f31 --- /dev/null +++ b/docs/manual/_renderer.py @@ -0,0 +1,21 @@ +from typing import Optional, Union + +from griffe import dataclasses as dc +from plum import dispatch +from quartodoc import MdRenderer + + +class Renderer(MdRenderer): + style = 'odm' + + @dispatch + def signature( + self, + el: Union[dc.Class, dc.Function], + source: Optional[dc.Alias] = None + ): + # exclude package name from function signature + # XXX: doesn't work to set this in __init__ + self.display_name = 'short' + + return super().signature(el) diff --git a/docs/manual/api-usage/.gitignore b/docs/manual/api-usage/.gitignore new file mode 100644 index 00000000..3e7aa202 --- /dev/null +++ b/docs/manual/api-usage/.gitignore @@ -0,0 +1,3 @@ +# asset copies for code examples, generated by api-usage.qmd +*.csv +*.xlsx diff --git a/docs/manual/api-usage/api-usage.qmd b/docs/manual/api-usage/api-usage.qmd new file mode 100644 index 00000000..9690a620 --- /dev/null +++ b/docs/manual/api-usage/api-usage.qmd @@ -0,0 +1,157 @@ +# API Usage {#sec-api-usage} + + + +```{python} +#|echo: False +import tempfile +from os.path import join +from shutil import copy2 + +temp_dir = tempfile.gettempdir() + +# copy assets to current directory to avoid long paths in examples +ASSET_DIR = '../assets/minimal/' +FILENAMES = [ + 'data.xlsx', + 'measures.csv', + 'schema.csv', +] +for fn in FILENAMES: + copy2(join(ASSET_DIR, fn), fn) +``` + +## Share a single table in CSV format + +`extract` is an simple high-level function for retrieving filtered data. It can +be seen as equivalent to the `odm-share` CLI tool. + +The following example extracts data from table "measures" (residing in +`measures.csv`) according to the sharing rules in `schema.csv`, and stores the +result for each organization in a separate CSV file: + +```{python} +import pandas as pd +import odm_sharing.sharing as sh + +# NOTE: the CSV filename must be a valid table name +filtered_data = sh.extract('schema.csv', 'measures.csv') +for org_name, table_data in filtered_data.items(): + df: pd.DataFrame = table_data['measures'] + df.to_csv(f'{temp_dir}/measures-for-{org_name}.csv') +``` + +## Share multiple tables in Excel format + +The above example can be rewritten for Excel files as follows: + +```{python} +import pandas as pd +import odm_sharing.sharing as sh + +# NOTE: Excel sheet names must be valid table names +data = sh.extract('schema.csv', 'data.xlsx') +for org, table_data in data.items(): + with pd.ExcelWriter(f'{temp_dir}/data-for-{org}.xlsx') as writer: + for table_name, df in table_data.items(): + df.to_excel(writer, sheet_name=table_name, index=False) +``` + +## Parse a sharing schema + +The `parse` function turns a schema file into queries that later can be used to +filter data. + +```{python} +import pandas as pd +import odm_sharing.sharing as sh + +org_table_queries = sh.parse('schema.csv') +for org, table_queries in org_table_queries.items(): + print('org:', org) + for table, query in table_queries.items(): + print('tbl:', table) + + # NOTE: query internals are considered private and are subject to + # change + print('sql:', query.data_query.sql) +``` + +## Connecting to data sources + +The `connect` function establishes a connection to a data source to be queried. +Both files and databases can be accessed. + +```{python} +import odm_sharing.sharing as sh + +excel_con = sh.connect('data.xlsx') +sqlite_memory_con = sh.connect('sqlite://') +sqlite_file_con = sh.connect(f'sqlite:///{temp_dir}/data.db') +``` + +The following examples require extra packages to be installed, depending on the +database driver used: + +```python +mysql_con = sh.connect('mysql://:@/') +mssql_con = sh.connect('mssql+pyodbc://:@') +``` + +See +[SQLAlchemy](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) +for more database URL examples. + +## Get filtered data + +The following example shows how to use the `connect`, `parse` and `get_data` +functions together, to extract filtered data from a data source. This is +essentially the same thing as using `extract`. + +```{python} +import odm_sharing.sharing as sh + +con = sh.connect('measures.csv') +queries = sh.parse('schema.csv') +for org, table_queries in queries.items(): + for table, query in table_queries.items(): + print(sh.get_data(con, query)) +``` + +## Get column names + +The `get_columns` function provides a way to know which columns will be +selected without performing the actual data extraction. + +```{python} +import odm_sharing.sharing as sh + +con = sh.connect('measures.csv') +queries = sh.parse('schema.csv') +for org, table_queries in queries.items(): + for table, query in table_queries.items(): + (select_rule_id, columns) = sh.get_columns(con, query) + print('columns:') + for col in columns: + print('-', col) +``` + +## Get rule counts + +The `get_counts` function can be used to show how many rows are included by +each rule's filter. This is useful for debugging a schema during its +development. + +```{python} +import odm_sharing.sharing as sh + +con = sh.connect('measures.csv') +queries = sh.parse('schema.csv') +for org, table_queries in queries.items(): + for table, query in table_queries.items(): + print('rule counts:') + rule_counts = sh.get_counts(con, query) + for rule_id, count in rule_counts.items(): + print(f'- #{rule_id}: {count}') + +``` diff --git a/docs/manual/api.qmd b/docs/manual/api.qmd deleted file mode 100644 index 9ee29801..00000000 --- a/docs/manual/api.qmd +++ /dev/null @@ -1,111 +0,0 @@ -# API {#sec-api} - -## Reference - - - -```python - -def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: - '''returns queries for each org and table, generated from the rules - specified in `schema_file` - - :raises OSError, ParseError: - ''' - - -def connect(data_source: str, tables: Set[str] = set()) -> Connection: - '''returns a connection object that can be used together with a query - object to retrieve data from `data_source` - - :raises DataSourceError:''' - - -def get_data(c: Connection, tq: TableQuery) -> pd.DataFrame: - '''returns the data extracted from running query `q` on data-source - connection `c`, as a pandas DataFrame - - :raises DataSourceError:''' - - -def get_counts(c: Connection, tq: TableQuery) -> Dict[RuleId, int]: - '''returns the row counts for each rule - - :raises DataSourceError:''' - -def get_columns(c: Connection, tq: TableQuery - ) -> Tuple[RuleId, List[ColumnName]]: - '''returns the select-rule id together with the column names that would be - extracted when calling `get_data` - - :raises DataSourceError:''' - - -def extract( - schema_path: str, - data_source: str, - orgs: List[str] = [], -) -> Dict[OrgName, Dict[TableName, pd.DataFrame]]: - '''returns a Pandas DataFrame per table per org - - :param data_source: a file path or database url (in SQLAlchemy format) - :param schema_path: rule schema file path - :param orgs: orgs to share with, or all if empty - - :raises DataSourceError: - ''' -``` - -## Usage - -### Examples - -**Common definitions:** - -```{python} -#|echo: False -from common import DATA, SCHEMA, load_csv_md, print_file - -def my_processing_func(data): - # what a user-made function may look like - pass -``` - -```{python} -import pandas as pd -import odm_sharing.sharing as sh - -ORG = 'OHRI' -ORGS = [ORG] -``` - -**High-level one-shot function:** - -```{python} -results = sh.extract(SCHEMA, DATA, ORGS) -for org, table_data in results.items(): - for table_name, data_frame in table_data.items(): - my_processing_func(data_frame) -``` - -**Low-level sample code:** - -```{python} -def describe_table_query(con, table, query): - print(f'query table: {table}') - - (select_rule_id, columns) = sh.get_columns(con, query) - print(f'query columns (from rule {select_rule_id}):') - print(','.join(columns)) - - print('query counts per rule:') - rule_counts = sh.get_counts(con, query) - for ruleId, count in rule_counts.items(): - print(f'{ruleId} | {count}') - -con = sh.connect(DATA) -table_queries = sh.parse(SCHEMA, ORGS) -for table, query in table_queries[ORG].items(): - describe_table_query(con, table, query) - my_processing_func(sh.get_data(con, query)) -``` diff --git a/docs/manual/assets/minimal/data.xlsx b/docs/manual/assets/minimal/data.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..2417f98b34973efc4c49cab637802ba1a7ae042d GIT binary patch literal 5817 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 E1CAK;U;qFB literal 0 HcmV?d00001 diff --git a/docs/manual/build-api.sh b/docs/manual/build-api.sh new file mode 100755 index 00000000..3e209b8c --- /dev/null +++ b/docs/manual/build-api.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +set -e +projdir=$(dirname $0) + +cd $projdir + +# build API reference +quartodoc build + +cd api-reference + +# fix +if [[ -f index.qmd.qmd ]]; then + + # HACK: fix generated file name + mv index.qmd.qmd index.qmd + + # HACK: remove 'None' header and desc + sed -i 's/^#*\s*None$//' index.qmd + + # HACK: add cross-reference to title + sed -i 's/^# .*/\0 {#sec-api-ref}/' index.qmd +fi diff --git a/docs/manual/getting-started.qmd b/docs/manual/getting-started.qmd index 18d0afbd..6fa29945 100644 --- a/docs/manual/getting-started.qmd +++ b/docs/manual/getting-started.qmd @@ -89,4 +89,4 @@ for org, table_data in results.items(): print(data_frame) ``` -See @sec-api for the API reference and more examples. +See @sec-api-ref for the API reference and @sec-api-usage for more examples. diff --git a/docs/manual/install.qmd b/docs/manual/install.qmd index 7455ac41..6e6fedd5 100644 --- a/docs/manual/install.qmd +++ b/docs/manual/install.qmd @@ -106,12 +106,17 @@ To generate the documentation, you'll first have to: 1. Install [Quarto](https://quarto.org/docs/get-started/) 2. Activate the Python virtual environment (if any) -3. Install Python dependencies +3. Install Python dependencies: ```bash pip install -r requirements-doc.txt ``` +4. Run `docs/manual/build-api.sh`^[This is currently not very portable, and requires a + unix-like shell. Windows users do however have many options, including: + GitBash/MSYS/Cygwin/WSL.] to generate the API reference. (This must also be + re-run every time the API changes.) + To preview the manual in a web browser while editing: ```bash diff --git a/requirements-doc.txt b/requirements-doc.txt index 64b2fccc..e938dfe6 100644 --- a/requirements-doc.txt +++ b/requirements-doc.txt @@ -1 +1,2 @@ jupyter==1.0.0 +quartodoc==0.7.5 From 033256aac5bdcb6f253eb0bcbb5dca1ac37607a8 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 22 Jul 2024 12:01:10 -0400 Subject: [PATCH 101/174] doc: make h3 less prominent to make it easier to see where the next api function section starts --- docs/manual/_quarto.yml | 5 +++++ docs/manual/style.scss | 6 ++++++ 2 files changed, 11 insertions(+) create mode 100644 docs/manual/style.scss diff --git a/docs/manual/_quarto.yml b/docs/manual/_quarto.yml index fef42bea..407069aa 100644 --- a/docs/manual/_quarto.yml +++ b/docs/manual/_quarto.yml @@ -34,5 +34,10 @@ quartodoc: - sharing.get_counts - sharing.get_columns +theme: + - default + - style.scss + pdf-engine: pdflatex toc: true +toc-depth: 2 diff --git a/docs/manual/style.scss b/docs/manual/style.scss new file mode 100644 index 00000000..b1e933c5 --- /dev/null +++ b/docs/manual/style.scss @@ -0,0 +1,6 @@ +/*-- scss:rules --*/ + +h3 { + font-size: calc(1.17em + 0.24vw); + color: #5a6570; +} From 9844f888c62f27c2e05789d709b7f327b15614ee Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 25 Jul 2024 16:38:10 -0400 Subject: [PATCH 102/174] doc: factor out asset-copy code --- docs/manual/api-usage/api-usage.qmd | 16 +++++----------- docs/manual/common.py | 17 +++++++++++++++-- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/docs/manual/api-usage/api-usage.qmd b/docs/manual/api-usage/api-usage.qmd index 9690a620..7fb4c51f 100644 --- a/docs/manual/api-usage/api-usage.qmd +++ b/docs/manual/api-usage/api-usage.qmd @@ -4,21 +4,15 @@ ```{python} #|echo: False +import sys import tempfile -from os.path import join -from shutil import copy2 + +sys.path.append('..') +from common import copy_assets temp_dir = tempfile.gettempdir() -# copy assets to current directory to avoid long paths in examples -ASSET_DIR = '../assets/minimal/' -FILENAMES = [ - 'data.xlsx', - 'measures.csv', - 'schema.csv', -] -for fn in FILENAMES: - copy2(join(ASSET_DIR, fn), fn) +copy_assets(['schema.csv', 'measures.csv', 'data.xlsx']) ``` ## Share a single table in CSV format diff --git a/docs/manual/common.py b/docs/manual/common.py index 7522129a..199606d4 100644 --- a/docs/manual/common.py +++ b/docs/manual/common.py @@ -1,9 +1,16 @@ +import inspect +from os.path import abspath, dirname, join +from shutil import copy2 +from typing import List + import pandas as pd from tabulate import tabulate -SCHEMA = 'assets/minimal/schema.csv' -DATA = 'assets/minimal/measures.csv' +MODULE_DIR = dirname(abspath(inspect.getfile(inspect.currentframe()))) +ASSET_DIR = join(MODULE_DIR, 'assets/minimal/') +SCHEMA = join(ASSET_DIR, 'schema.csv') +DATA = join(ASSET_DIR, 'measures.csv') def load_csv_md(path): @@ -16,3 +23,9 @@ def load_csv_md(path): def print_file(path): with open(path, 'r') as f: print(f.read()) + + +def copy_assets(filenames: List[str]) -> None: + '''copies asset to current directory to avoid long paths in examples''' + for fn in filenames: + copy2(join(ASSET_DIR, fn), fn) From a47a6141c741f98a70b63dc46df2c70f0464c329 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 25 Jul 2024 16:39:06 -0400 Subject: [PATCH 103/174] doc: use local filenames in getting-started api ex --- docs/manual/getting-started.qmd | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/manual/getting-started.qmd b/docs/manual/getting-started.qmd index 6fa29945..4721a435 100644 --- a/docs/manual/getting-started.qmd +++ b/docs/manual/getting-started.qmd @@ -6,7 +6,7 @@ import IPython.display as display from odm_sharing.tools.share import share -from common import DATA, SCHEMA, load_csv_md, print_file +from common import DATA, SCHEMA, copy_assets, load_csv_md, print_file ``` # Getting started {#sec-getting-started} @@ -74,16 +74,18 @@ See @sec-cli-ref for the CLI reference and @sec-cli-usage for more examples. ## API +```{python} +#|echo: False +copy_assets(['schema.csv', 'measures.csv']) +``` + The following code does the exact same as the above CLI command but using the functions exported by the library: ```{python} import odm_sharing.sharing as sh -# `SCHEMA` and `DATA` refers to the examples defined above, namely `schema.csv` -# and `measures.csv`, respectively. - -results = sh.extract(SCHEMA, DATA) +results = sh.extract('schema.csv', 'measures.csv') for org, table_data in results.items(): data_frame = table_data['measures'] print(data_frame) From daaaba732afc4695764f84a114b7df6aff99fcc6 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 26 Jul 2024 12:44:21 -0400 Subject: [PATCH 104/174] doc: properly ignore copied assets --- docs/manual/.gitignore | 5 +++++ docs/manual/api-usage/.gitignore | 3 --- 2 files changed, 5 insertions(+), 3 deletions(-) delete mode 100644 docs/manual/api-usage/.gitignore diff --git a/docs/manual/.gitignore b/docs/manual/.gitignore index 9f2ddd3e..2e0d0703 100644 --- a/docs/manual/.gitignore +++ b/docs/manual/.gitignore @@ -11,3 +11,8 @@ objects.json # generated by code examples measures-OHRI.csv debug.txt + +# assets copied by quarto document setup code +/*.csv +/api-usage/*.csv +/api-usage/*.xlsx diff --git a/docs/manual/api-usage/.gitignore b/docs/manual/api-usage/.gitignore deleted file mode 100644 index 3e7aa202..00000000 --- a/docs/manual/api-usage/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# asset copies for code examples, generated by api-usage.qmd -*.csv -*.xlsx From 66a07105ddbcb2b339de6a0b8d9f36458c6f0f55 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 26 Jul 2024 12:46:29 -0400 Subject: [PATCH 105/174] doc: ignore quarto dir in the way quarto wants if it's not added with an initial slash, then quarto will append its own ignore entry to the end of '.gitignore'. --- docs/manual/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/.gitignore b/docs/manual/.gitignore index 2e0d0703..46187478 100644 --- a/docs/manual/.gitignore +++ b/docs/manual/.gitignore @@ -1,5 +1,5 @@ # generated by quarto -.quarto/ +/.quarto/ _book/ build/ search.json From 5abd4af73976824f750d46c4ed31cff2f1adac1d Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 26 Jul 2024 12:49:44 -0400 Subject: [PATCH 106/174] ignore cli-generated debug file in whole repo --- .gitignore | 3 +++ docs/manual/.gitignore | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 977421cd..b0ac1eb5 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,6 @@ __pycache__ # python venv .env + +# generated by odm-share +debug.txt diff --git a/docs/manual/.gitignore b/docs/manual/.gitignore index 46187478..faaa144c 100644 --- a/docs/manual/.gitignore +++ b/docs/manual/.gitignore @@ -10,7 +10,6 @@ objects.json # generated by code examples measures-OHRI.csv -debug.txt # assets copied by quarto document setup code /*.csv From f823c192a272a1914c44274ec208278f36cbfe63 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 23 Jul 2024 11:38:22 -0400 Subject: [PATCH 107/174] add ci for code-lint/test/check --- .github/workflows/lint.yml | 15 +++++++++++++++ .github/workflows/type-check.yml | 16 ++++++++++++++++ .github/workflows/unit-test.yml | 16 ++++++++++++++++ .python-version-ci | 1 + 4 files changed, 48 insertions(+) create mode 100644 .github/workflows/lint.yml create mode 100644 .github/workflows/type-check.yml create mode 100644 .github/workflows/unit-test.yml create mode 100644 .python-version-ci diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 00000000..12053a68 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,15 @@ +name: lint + +on: [pull_request] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version-file: '.python-version-ci' + - uses: py-actions/flake8@v2 + with: + path: 'src tests' diff --git a/.github/workflows/type-check.yml b/.github/workflows/type-check.yml new file mode 100644 index 00000000..fb5eed96 --- /dev/null +++ b/.github/workflows/type-check.yml @@ -0,0 +1,16 @@ +name: type-check + +on: [pull_request] + +jobs: + type-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version-file: '.python-version-ci' + cache: 'pip' + - run: pip install -r requirements.txt + - run: pip install -r requirements-dev.txt + - run: mypy diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml new file mode 100644 index 00000000..99abb171 --- /dev/null +++ b/.github/workflows/unit-test.yml @@ -0,0 +1,16 @@ +name: unit-test + +on: [pull_request] + +jobs: + unit-test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version-file: '.python-version-ci' + cache: 'pip' + - run: pip install -r requirements.txt + - run: pip install . + - run: python -m unittest discover tests diff --git a/.python-version-ci b/.python-version-ci new file mode 100644 index 00000000..bd28b9c5 --- /dev/null +++ b/.python-version-ci @@ -0,0 +1 @@ +3.9 From 2b1d8fca1928fad8ac983614401ae9ce058a1c88 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 23 Jul 2024 13:10:10 -0400 Subject: [PATCH 108/174] fix lint --- src/odm_sharing/private/rules.py | 2 +- src/odm_sharing/private/trees.py | 2 +- tests/test_queries.py | 4 ++-- tests/test_trees.py | 3 ++- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index e5745f41..4acd494c 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -3,7 +3,7 @@ from dataclasses import dataclass, field from enum import EnumMeta from pathlib import Path -from typing import Any, Dict, List, Set, Union +from typing import Any, Dict, List, Union import pandas as pd diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index 625e5478..0920bb9e 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -278,7 +278,7 @@ def parse_filter_values(ctx: Ctx, op: Op, is_interval: bool, val_str: str if op == Op.RANGE: if is_interval: return parse_list(ctx, val_str, 2, 2, INTERVAL_SEP) - else: # is set + else: # is set return parse_list(ctx, val_str, min=1) else: if seq(ALL_SEPARATORS).map(lambda x: x in val_str).any(): diff --git a/tests/test_queries.py b/tests/test_queries.py index 941d0ae4..a2f01e8e 100644 --- a/tests/test_queries.py +++ b/tests/test_queries.py @@ -57,7 +57,8 @@ def test_rule_count_args(self) -> None: operator='=', value='a'), Rule(id=3, table='t', mode=RuleMode.FILTER, key='y', operator='in', value='1;2'), - Rule(id=4, table='', mode=RuleMode.SHARE, key='ohri', value='1;2;3'), + Rule(id=4, table='', mode=RuleMode.SHARE, key='ohri', + value='1;2;3'), ] ruletree = trees.parse(ruleset) q = queries.generate(ruletree)['ohri']['t'] @@ -88,7 +89,6 @@ def test_share_table_rule_count_queries(self) -> None: self.assertEqual(actual1, expected1) self.assertEqual(actual2, expected2) - def test_sanitize(self) -> None: '''special characters are stripped, and parameter values separated, to prevent injections''' diff --git a/tests/test_trees.py b/tests/test_trees.py index 99e49d6f..8ba448dd 100644 --- a/tests/test_trees.py +++ b/tests/test_trees.py @@ -4,7 +4,7 @@ import odm_sharing.private.trees as trees from odm_sharing.private.rules import ParseError, Rule, RuleMode, load -from odm_sharing.private.trees import INTERVAL_SEP, Op, parse +from odm_sharing.private.trees import Op, parse class TestParseList(unittest.TestCase): @@ -293,5 +293,6 @@ def test_filter_multi_value(self) -> None: ''' self.assertEqual(actual, expected) + if __name__ == '__main__': unittest.main() From 9537a50b7f91ef2b1125df3febc4cb452edef06b Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 29 Jul 2024 17:30:10 -0400 Subject: [PATCH 109/174] cli: remove sorting of columns (#24) since it's easier to check them when they're in the same order they were specified in --- src/odm_sharing/tools/share.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index aef8c345..f5d7a2d7 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -94,7 +94,7 @@ def write_debug( (select_id, columns) = sh.get_columns(con, table_query) write_header(file, 2, 'columns') - for col in sorted(columns): + for col in columns: write_line(file, f'- {col}') write_line(file) From 6413398b6de23ff7e4546deaa0bc442c9bcc37fa Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 31 Jul 2024 09:05:47 -0400 Subject: [PATCH 110/174] doc: restructure manual files - move qmd files to chapters subdir, except index which must be next to _quarto.yml - execute files in chapters dir to avoid asset copy pollution in project root - move assets/minimal/* to parent dir - style.scss: move to assets dir - api-usage.qmd: remove path hack - cli-reference.qmd: use asset dir constant --- docs/manual/.gitignore | 8 ++++---- docs/manual/_quarto.yml | 19 +++++++++--------- docs/manual/assets/{minimal => }/data.xlsx | Bin docs/manual/assets/{minimal => }/measures.csv | 0 docs/manual/assets/{minimal => }/schema.csv | 0 docs/manual/{ => assets}/style.scss | 0 docs/manual/build-api.sh | 5 +++-- .../{api-usage => chapters}/api-usage.qmd | 2 -- docs/manual/{ => chapters}/cli-reference.qmd | 8 ++++++-- docs/manual/{ => chapters}/cli-usage.qmd | 0 docs/manual/{ => chapters}/common.py | 2 +- .../manual/{ => chapters}/getting-started.qmd | 0 docs/manual/{ => chapters}/install.qmd | 0 docs/manual/{ => chapters}/python.qmd | 0 docs/manual/{ => chapters}/schemas.qmd | 0 docs/manual/{ => chapters}/sqlite.qmd | 0 16 files changed, 24 insertions(+), 20 deletions(-) rename docs/manual/assets/{minimal => }/data.xlsx (100%) rename docs/manual/assets/{minimal => }/measures.csv (100%) rename docs/manual/assets/{minimal => }/schema.csv (100%) rename docs/manual/{ => assets}/style.scss (100%) rename docs/manual/{api-usage => chapters}/api-usage.qmd (99%) rename docs/manual/{ => chapters}/cli-reference.qmd (87%) rename docs/manual/{ => chapters}/cli-usage.qmd (100%) rename docs/manual/{ => chapters}/common.py (94%) rename docs/manual/{ => chapters}/getting-started.qmd (100%) rename docs/manual/{ => chapters}/install.qmd (100%) rename docs/manual/{ => chapters}/python.qmd (100%) rename docs/manual/{ => chapters}/schemas.qmd (100%) rename docs/manual/{ => chapters}/sqlite.qmd (100%) diff --git a/docs/manual/.gitignore b/docs/manual/.gitignore index faaa144c..a4377a31 100644 --- a/docs/manual/.gitignore +++ b/docs/manual/.gitignore @@ -3,15 +3,15 @@ _book/ build/ search.json +/chapters/*.quarto_ipynb # generated by quartodoc /api-reference/ objects.json # generated by code examples -measures-OHRI.csv +/chapters/*.csv # assets copied by quarto document setup code -/*.csv -/api-usage/*.csv -/api-usage/*.xlsx +/chapters/*.csv +/chapters/*.xlsx diff --git a/docs/manual/_quarto.yml b/docs/manual/_quarto.yml index 407069aa..417d81e9 100644 --- a/docs/manual/_quarto.yml +++ b/docs/manual/_quarto.yml @@ -1,22 +1,23 @@ project: type: book output-dir: build + execute-dir: file book: title: 'PHES-ODM Sharing Library Manual' author: 'OHRI' chapters: - index.qmd - - install.qmd - - getting-started.qmd - - cli-reference.qmd - - cli-usage.qmd + - chapters/install.qmd + - chapters/getting-started.qmd + - chapters/cli-reference.qmd + - chapters/cli-usage.qmd - api-reference/index.qmd - - api-usage/api-usage.qmd + - chapters/api-usage.qmd appendices: - - schemas.qmd - - python.qmd - - sqlite.qmd + - chapters/schemas.qmd + - chapters/python.qmd + - chapters/sqlite.qmd quartodoc: renderer: _renderer.py @@ -36,7 +37,7 @@ quartodoc: theme: - default - - style.scss + - assets/style.scss pdf-engine: pdflatex toc: true diff --git a/docs/manual/assets/minimal/data.xlsx b/docs/manual/assets/data.xlsx similarity index 100% rename from docs/manual/assets/minimal/data.xlsx rename to docs/manual/assets/data.xlsx diff --git a/docs/manual/assets/minimal/measures.csv b/docs/manual/assets/measures.csv similarity index 100% rename from docs/manual/assets/minimal/measures.csv rename to docs/manual/assets/measures.csv diff --git a/docs/manual/assets/minimal/schema.csv b/docs/manual/assets/schema.csv similarity index 100% rename from docs/manual/assets/minimal/schema.csv rename to docs/manual/assets/schema.csv diff --git a/docs/manual/style.scss b/docs/manual/assets/style.scss similarity index 100% rename from docs/manual/style.scss rename to docs/manual/assets/style.scss diff --git a/docs/manual/build-api.sh b/docs/manual/build-api.sh index 3e209b8c..32e88634 100755 --- a/docs/manual/build-api.sh +++ b/docs/manual/build-api.sh @@ -1,13 +1,14 @@ #!/usr/bin/env bash set -e -projdir=$(dirname $0) +projdir=$(dirname $0) cd $projdir # build API reference quartodoc build -cd api-reference +builddir=$projdir/api-reference +cd $builddir # fix if [[ -f index.qmd.qmd ]]; then diff --git a/docs/manual/api-usage/api-usage.qmd b/docs/manual/chapters/api-usage.qmd similarity index 99% rename from docs/manual/api-usage/api-usage.qmd rename to docs/manual/chapters/api-usage.qmd index 7fb4c51f..8ecea402 100644 --- a/docs/manual/api-usage/api-usage.qmd +++ b/docs/manual/chapters/api-usage.qmd @@ -4,10 +4,8 @@ ```{python} #|echo: False -import sys import tempfile -sys.path.append('..') from common import copy_assets temp_dir = tempfile.gettempdir() diff --git a/docs/manual/cli-reference.qmd b/docs/manual/chapters/cli-reference.qmd similarity index 87% rename from docs/manual/cli-reference.qmd rename to docs/manual/chapters/cli-reference.qmd index 465c492f..6d5b67ff 100644 --- a/docs/manual/cli-reference.qmd +++ b/docs/manual/chapters/cli-reference.qmd @@ -1,6 +1,10 @@ ```{python} #| echo: false +from os.path import join + from odm_sharing.tools.share import share + +from common import ASSET_DIR ``` # CLI Reference {#sec-cli-ref} @@ -57,12 +61,12 @@ When headers are missing from the schema: ```{python} #| echo: false -share('assets/schema-missing-headers.csv', 'assets/measures.csv') +share(join(ASSET_DIR, 'schema-missing-headers.csv'), 'assets/measures.csv') ``` When no share-rules are contained in the schema: ```{python} #| echo: false -share('assets/schema-missing-rules.csv', 'assets/measures.csv') +share(join(ASSET_DIR, 'schema-missing-rules.csv'), 'assets/measures.csv') ``` diff --git a/docs/manual/cli-usage.qmd b/docs/manual/chapters/cli-usage.qmd similarity index 100% rename from docs/manual/cli-usage.qmd rename to docs/manual/chapters/cli-usage.qmd diff --git a/docs/manual/common.py b/docs/manual/chapters/common.py similarity index 94% rename from docs/manual/common.py rename to docs/manual/chapters/common.py index 199606d4..0dc5d2ce 100644 --- a/docs/manual/common.py +++ b/docs/manual/chapters/common.py @@ -8,7 +8,7 @@ MODULE_DIR = dirname(abspath(inspect.getfile(inspect.currentframe()))) -ASSET_DIR = join(MODULE_DIR, 'assets/minimal/') +ASSET_DIR = join(MODULE_DIR, '../assets/') SCHEMA = join(ASSET_DIR, 'schema.csv') DATA = join(ASSET_DIR, 'measures.csv') diff --git a/docs/manual/getting-started.qmd b/docs/manual/chapters/getting-started.qmd similarity index 100% rename from docs/manual/getting-started.qmd rename to docs/manual/chapters/getting-started.qmd diff --git a/docs/manual/install.qmd b/docs/manual/chapters/install.qmd similarity index 100% rename from docs/manual/install.qmd rename to docs/manual/chapters/install.qmd diff --git a/docs/manual/python.qmd b/docs/manual/chapters/python.qmd similarity index 100% rename from docs/manual/python.qmd rename to docs/manual/chapters/python.qmd diff --git a/docs/manual/schemas.qmd b/docs/manual/chapters/schemas.qmd similarity index 100% rename from docs/manual/schemas.qmd rename to docs/manual/chapters/schemas.qmd diff --git a/docs/manual/sqlite.qmd b/docs/manual/chapters/sqlite.qmd similarity index 100% rename from docs/manual/sqlite.qmd rename to docs/manual/chapters/sqlite.qmd From 1fa36f537421702165676bca6b0090b24d4b76f2 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 2 Aug 2024 11:02:44 -0400 Subject: [PATCH 111/174] cli: make input-param required (#26) as in spec --- src/odm_sharing/tools/share.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index f5d7a2d7..a94222a4 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -235,7 +235,7 @@ def share( @app.command() def main_cli( schema: str = typer.Argument(default=..., help=SCHEMA_DESC), - input: str = typer.Argument(default='', help=INPUT_DESC), + input: str = typer.Argument(default=..., help=INPUT_DESC), orgs: List[str] = typer.Option(default=ORGS_DEFAULT, help=ORGS_DESC), outfmt: OutFmt = typer.Option(default=OUTFMT_DEFAULT, help=OUTFMT_DESC), outdir: str = typer.Option(default=OUTDIR_DEFAULT, help=OUTDIR_DESC), From 7109de3919252f1470a1adb9aa27e457435e89d3 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 2 Aug 2024 11:04:07 -0400 Subject: [PATCH 112/174] rules: fix error msg for non-empty value (#28) When having a share rule with a table value, the following error message were given: "table must be empty/NA for modes {'select','filter'}" It failed to specify that it was regarding the 'share' mode. This change fixes that. --- src/odm_sharing/private/rules.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 4acd494c..cd676596 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -171,11 +171,10 @@ def check_required(ctx: SchemaCtx, val: str, mode: RuleMode, modes: Union[set, list]) -> None: has = bool(val) should_have = mode in modes - for_modes = f'for modes {fmt_set(modes)}' if has and not should_have: - err(f'{ctx.column} must be empty/NA {for_modes}') + err(f'{ctx.column} must be empty/NA for mode {qt(mode)}') elif not has and should_have: - err(f'{ctx.column} required {for_modes}') + err(f'{ctx.column} required for modes {fmt_set(modes)}') def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] ) -> None: From 445b1df001ba7e21b548755d9d66c020fdd88dca Mon Sep 17 00:00:00 2001 From: zargot Date: Sat, 3 Aug 2024 15:41:29 -0400 Subject: [PATCH 113/174] cli: remove index column from excel output (#29) --- src/odm_sharing/tools/share.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index a94222a4..9f4ca420 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -219,7 +219,8 @@ def share( data.to_csv(path, index=False) elif outfmt == OutFmt.EXCEL: logging.info(f'- {qt(table)}') - data.to_excel(excel_file, sheet_name=table) + data.to_excel(excel_file, sheet_name=table, + index=False) else: assert False, f'format {outfmt} not impl' except IndexError: From 467556c1d598dc0e1625b17794f1bf24a2940d96 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 21 Aug 2024 16:39:51 -0400 Subject: [PATCH 114/174] doc: fix cli usage outfmt ex (#41) It must be lower-case, like the enum value. The typer library is handling this, so I'm not sure if it can be made case-insensitive. --- docs/manual/chapters/cli-usage.qmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/manual/chapters/cli-usage.qmd b/docs/manual/chapters/cli-usage.qmd index 3bf77bf6..5bfbdc71 100644 --- a/docs/manual/chapters/cli-usage.qmd +++ b/docs/manual/chapters/cli-usage.qmd @@ -52,7 +52,7 @@ odm-share schema.csv mssql+pyodbc://user:pass@mydsn - Share CSV files from an Excel file: ```bash - odm-share --outfmt=CSV schema.csv data.xlsx + odm-share --outfmt=csv schema.csv data.xlsx ``` - Create a sharable excel file in the "~/files" directory, for the "OHRI" and From 9f860a97cfa6686c6abd6c8735795a98db77dad5 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 22 Aug 2024 12:34:53 -0400 Subject: [PATCH 115/174] doc: fix build-api.sh invalid cd-command path --- docs/manual/build-api.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/manual/build-api.sh b/docs/manual/build-api.sh index 32e88634..81b472e9 100755 --- a/docs/manual/build-api.sh +++ b/docs/manual/build-api.sh @@ -7,8 +7,7 @@ cd $projdir # build API reference quartodoc build -builddir=$projdir/api-reference -cd $builddir +cd api-reference # fix if [[ -f index.qmd.qmd ]]; then From 3fc281f4b29821beca171a319178b7f340179eaa Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 23 Aug 2024 11:25:26 -0400 Subject: [PATCH 116/174] doc: fix requirements --- requirements-doc.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements-doc.txt b/requirements-doc.txt index e938dfe6..2a34b7ea 100644 --- a/requirements-doc.txt +++ b/requirements-doc.txt @@ -1,2 +1,3 @@ +griffe==0.47.0 jupyter==1.0.0 quartodoc==0.7.5 From 9e53fb7ebb2bbf77a36d9093893563b163505eef Mon Sep 17 00:00:00 2001 From: Yulric Sequeira Date: Tue, 27 Aug 2024 10:31:04 -0400 Subject: [PATCH 117/174] doc: fix build-api script compatibility it didn't work on mac --- docs/manual/build-api.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/manual/build-api.sh b/docs/manual/build-api.sh index 81b472e9..105c6a99 100755 --- a/docs/manual/build-api.sh +++ b/docs/manual/build-api.sh @@ -9,6 +9,9 @@ quartodoc build cd api-reference +# XXX: `sed -i` must be written as `sed -i'' -e` for portability: +# https://stackoverflow.com/questions/4247068/sed-command-with-i-option-failing-on-mac-but-works-on-linux + # fix if [[ -f index.qmd.qmd ]]; then @@ -16,8 +19,8 @@ if [[ -f index.qmd.qmd ]]; then mv index.qmd.qmd index.qmd # HACK: remove 'None' header and desc - sed -i 's/^#*\s*None$//' index.qmd + sed -i'' -e 's/^#*\s*None$//' index.qmd # HACK: add cross-reference to title - sed -i 's/^# .*/\0 {#sec-api-ref}/' index.qmd + sed -i'' -e 's/^# .*/\0 {#sec-api-ref}/' index.qmd fi From 738826a514e66015ea91e461bd0086191aa00dea Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 14 Aug 2024 14:01:40 -0400 Subject: [PATCH 118/174] test: fix and cleanup asset paths --- tests/common.py | 11 +++++++++ tests/{ => common}/3.1.1.csv | 0 tests/{ => common}/3.1.2.csv | 0 tests/{ => common}/3.1.3.csv | 0 tests/{ => common}/3.1.4.csv | 0 tests/{ => common}/3.2.csv | 0 tests/{ => common}/4.1.csv | 0 tests/{ => common}/4.3.csv | 0 tests/{ => common}/4.4.csv | 0 tests/{ => common}/5.1.csv | 0 tests/{ => common}/filter-set.csv | 0 tests/test_queries.py | 14 ++++++----- tests/test_rules.py | 5 +++- tests/test_trees.py | 40 ++++++++++++++++++------------- 14 files changed, 46 insertions(+), 24 deletions(-) create mode 100644 tests/common.py rename tests/{ => common}/3.1.1.csv (100%) rename tests/{ => common}/3.1.2.csv (100%) rename tests/{ => common}/3.1.3.csv (100%) rename tests/{ => common}/3.1.4.csv (100%) rename tests/{ => common}/3.2.csv (100%) rename tests/{ => common}/4.1.csv (100%) rename tests/{ => common}/4.3.csv (100%) rename tests/{ => common}/4.4.csv (100%) rename tests/{ => common}/5.1.csv (100%) rename tests/{ => common}/filter-set.csv (100%) diff --git a/tests/common.py b/tests/common.py new file mode 100644 index 00000000..f3c8a948 --- /dev/null +++ b/tests/common.py @@ -0,0 +1,11 @@ +import unittest +from os.path import abspath, dirname + + +class OdmTestCase(unittest.TestCase): + @classmethod + def setUpClass(cls) -> None: + cls.maxDiff = None + + def setUp(self) -> None: + self.dir = dirname(abspath(__file__)) diff --git a/tests/3.1.1.csv b/tests/common/3.1.1.csv similarity index 100% rename from tests/3.1.1.csv rename to tests/common/3.1.1.csv diff --git a/tests/3.1.2.csv b/tests/common/3.1.2.csv similarity index 100% rename from tests/3.1.2.csv rename to tests/common/3.1.2.csv diff --git a/tests/3.1.3.csv b/tests/common/3.1.3.csv similarity index 100% rename from tests/3.1.3.csv rename to tests/common/3.1.3.csv diff --git a/tests/3.1.4.csv b/tests/common/3.1.4.csv similarity index 100% rename from tests/3.1.4.csv rename to tests/common/3.1.4.csv diff --git a/tests/3.2.csv b/tests/common/3.2.csv similarity index 100% rename from tests/3.2.csv rename to tests/common/3.2.csv diff --git a/tests/4.1.csv b/tests/common/4.1.csv similarity index 100% rename from tests/4.1.csv rename to tests/common/4.1.csv diff --git a/tests/4.3.csv b/tests/common/4.3.csv similarity index 100% rename from tests/4.3.csv rename to tests/common/4.3.csv diff --git a/tests/4.4.csv b/tests/common/4.4.csv similarity index 100% rename from tests/4.4.csv rename to tests/common/4.4.csv diff --git a/tests/5.1.csv b/tests/common/5.1.csv similarity index 100% rename from tests/5.1.csv rename to tests/common/5.1.csv diff --git a/tests/filter-set.csv b/tests/common/filter-set.csv similarity index 100% rename from tests/filter-set.csv rename to tests/common/filter-set.csv diff --git a/tests/test_queries.py b/tests/test_queries.py index a2f01e8e..cef7156c 100644 --- a/tests/test_queries.py +++ b/tests/test_queries.py @@ -1,18 +1,20 @@ import unittest +from os.path import join import odm_sharing.private.queries as queries import odm_sharing.private.rules as rules import odm_sharing.private.trees as trees from odm_sharing.private.rules import Rule, RuleMode +from common import OdmTestCase -class TestQueries(unittest.TestCase): - @classmethod - def setUpClass(cls) -> None: - cls.maxDiff = None + +class TestQueries(OdmTestCase): + def get_ruleset(self, schema_fn: str): + return rules.load(join(self.dir, 'common', schema_fn)) def test_in_interval_and_gte(self) -> None: - ruleset = rules.load('tests/4.4.csv') + ruleset = self.get_ruleset('4.4.csv') ruletree = trees.parse(ruleset) q = queries.generate(ruletree)['ohri']['measures'] @@ -35,7 +37,7 @@ def test_in_interval_and_gte(self) -> None: self.assertEqual(actual_args, expected_args) def test_in_set(self) -> None: - ruleset = rules.load('tests/filter-set.csv') + ruleset = self.get_ruleset('filter-set.csv') ruletree = trees.parse(ruleset) q = queries.generate(ruletree)['PHAC']['samples'] actual_sql = q.data_query.sql diff --git a/tests/test_rules.py b/tests/test_rules.py index 89d044e0..9e135b5d 100644 --- a/tests/test_rules.py +++ b/tests/test_rules.py @@ -3,9 +3,12 @@ import odm_sharing.private.rules as rules from odm_sharing.private.rules import Rule, RuleMode, SchemaCtx, init_rule +from common import OdmTestCase -class TestRules(unittest.TestCase): + +class TestRules(OdmTestCase): def setUp(self) -> None: + super().setUp() self.ctx = SchemaCtx('test') def test_init_rule(self) -> None: diff --git a/tests/test_trees.py b/tests/test_trees.py index 8ba448dd..aec2359a 100644 --- a/tests/test_trees.py +++ b/tests/test_trees.py @@ -1,4 +1,5 @@ import unittest +from os.path import abspath, dirname, join from typing import List # from pprint import pprint @@ -6,9 +7,12 @@ from odm_sharing.private.rules import ParseError, Rule, RuleMode, load from odm_sharing.private.trees import Op, parse +from common import OdmTestCase -class TestParseList(unittest.TestCase): + +class TestParseList(OdmTestCase): def setUp(self) -> None: + super().setUp() self.ctx = trees.Ctx('test') def test_no_constraint(self) -> None: @@ -65,17 +69,19 @@ def test_in(self) -> None: self.parse(Op.EQ, 'a;b') -def get_actual(schema_path: str) -> str: - rules = load(schema_path) - tree = parse(rules) - return tree.__repr__() - - class TestParse(unittest.TestCase): @classmethod def setUpClass(cls) -> None: cls.maxDiff = None + def setUp(self) -> None: + self.dir = dirname(abspath(__file__)) + + def get_actual(self, schema_fn: str) -> str: + rules = load(join(self.dir, 'common', schema_fn)) + tree = parse(rules) + return tree.__repr__() + def test_simple(self) -> None: rules = [ Rule(id=1, table='t', mode=RuleMode.SELECT, value='all'), @@ -96,7 +102,7 @@ def test_simple(self) -> None: self.assertEqual(actual, expected) def test_select_one(self) -> None: - actual = get_actual('tests/3.1.1.csv') + actual = self.get_actual('3.1.1.csv') expected = '''(0, root, '') (2, share, 'ohri') (1, table, 'samples') @@ -106,7 +112,7 @@ def test_select_one(self) -> None: self.assertEqual(actual, expected, actual) def test_select_two(self) -> None: - actual = get_actual('tests/3.1.2.csv') + actual = self.get_actual('3.1.2.csv') expected = '''(0, root, '') (2, share, 'ohri') (1, table, 'measures') @@ -117,7 +123,7 @@ def test_select_two(self) -> None: self.assertEqual(actual, expected, actual) def test_select_all(self) -> None: - actual = get_actual('tests/3.1.3.csv') + actual = self.get_actual('3.1.3.csv') expected = '''(0, root, '') (2, share, 'ohri') (1, table, 'measures') @@ -126,7 +132,7 @@ def test_select_all(self) -> None: self.assertEqual(actual, expected, actual) def test_select_multiple_tables(self) -> None: - actual = get_actual('tests/3.1.4.csv') + actual = self.get_actual('3.1.4.csv') expected = '''(0, root, '') (2, share, 'ohri') (1, table, 'measures') @@ -139,7 +145,7 @@ def test_select_multiple_tables(self) -> None: self.assertEqual(actual, expected, actual) def test_filter(self) -> None: - actual = get_actual('tests/3.2.csv') + actual = self.get_actual('3.2.csv') expected = '''(0, root, '') (9, share, 'ohri') (1, table, 'samples') @@ -169,7 +175,7 @@ def test_filter(self) -> None: self.assertEqual(actual, expected) def test_group_or(self) -> None: - actual = get_actual('tests/4.1.csv') + actual = self.get_actual('4.1.csv') expected = '''(0, root, '') (15, share, 'ohri') (11, table, 'measures') @@ -185,7 +191,7 @@ def test_group_or(self) -> None: self.assertEqual(actual, expected) def test_group_and(self) -> None: - actual = get_actual('tests/4.3.csv') + actual = self.get_actual('4.3.csv') expected = '''(0, root, '') (15, share, 'ohri') (11, table, 'samples') @@ -201,7 +207,7 @@ def test_group_and(self) -> None: self.assertEqual(actual, expected) def test_group_or_and(self) -> None: - actual = get_actual('tests/4.4.csv') + actual = self.get_actual('4.4.csv') expected = '''(0, root, '') (19, share, 'ohri') (11, table, 'measures') @@ -231,7 +237,7 @@ def test_group_or_and(self) -> None: self.assertEqual(actual, expected) def test_share_multi(self) -> None: - actual = get_actual('tests/5.1.csv') + actual = self.get_actual('5.1.csv') expected = '''(0, root, '') (31, share, 'OPH') (11, table, 'measures') @@ -280,7 +286,7 @@ def test_share_multi(self) -> None: self.assertEqual(actual, expected) def test_filter_multi_value(self) -> None: - actual = get_actual('tests/filter-set.csv') + actual = self.get_actual('filter-set.csv') expected = '''(0, root, '') (6, share, 'PHAC') (4, table, 'samples') From 9b4dc9610b7a3d1da3f56e1d82fcfa2e7c0687ef Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 21 Aug 2024 12:53:13 -0400 Subject: [PATCH 119/174] test: inherit common setup in tree tests --- tests/test_trees.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/tests/test_trees.py b/tests/test_trees.py index aec2359a..dc672ed4 100644 --- a/tests/test_trees.py +++ b/tests/test_trees.py @@ -1,5 +1,5 @@ import unittest -from os.path import abspath, dirname, join +from os.path import join from typing import List # from pprint import pprint @@ -46,8 +46,9 @@ def test_set_with_one_element(self) -> None: self.assertEqual(actual, expected) -class TestParseFilterValues(unittest.TestCase): +class TestParseFilterValues(OdmTestCase): def setUp(self) -> None: + super().setUp() self.ctx = trees.Ctx('test') def parse(self, op: Op, val_str: str) -> List[str]: @@ -69,14 +70,7 @@ def test_in(self) -> None: self.parse(Op.EQ, 'a;b') -class TestParse(unittest.TestCase): - @classmethod - def setUpClass(cls) -> None: - cls.maxDiff = None - - def setUp(self) -> None: - self.dir = dirname(abspath(__file__)) - +class TestParse(OdmTestCase): def get_actual(self, schema_fn: str) -> str: rules = load(join(self.dir, 'common', schema_fn)) tree = parse(rules) From 3a98cf2a223e845fd89140f5a92b3c1c260ed3f9 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 21 Aug 2024 13:08:46 -0400 Subject: [PATCH 120/174] move columnname to common --- src/odm_sharing/private/common.py | 1 + src/odm_sharing/sharing.py | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/odm_sharing/private/common.py b/src/odm_sharing/private/common.py index fa3e2f7d..2b116b13 100644 --- a/src/odm_sharing/private/common.py +++ b/src/odm_sharing/private/common.py @@ -1,2 +1,3 @@ +ColumnName = str OrgName = str TableName = str diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index c2edf402..47eac8d1 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -8,15 +8,12 @@ import odm_sharing.private.queries as queries import odm_sharing.private.rules as rules import odm_sharing.private.trees as trees -from odm_sharing.private.common import OrgName, TableName +from odm_sharing.private.common import ColumnName, OrgName, TableName from odm_sharing.private.cons import Connection from odm_sharing.private.queries import OrgTableQueries, Query, TableQuery from odm_sharing.private.rules import RuleId -ColumnName = str - - def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: '''loads and parses a schema file into query objects From 903c8f0a9e09a49b31ffb783fbae93f2ce1a7b96 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 14 Aug 2024 14:37:06 -0400 Subject: [PATCH 121/174] fix bool conversion - docs: - add warnings for bool normalization and explain how bool input is handled - requirements-dev.txt: - add type stubs for openpyxl - src/odm_sharing/private/cons.py: - find bool columns and store them in the connection obj - normalize bool values - src/odm_sharing/private/queries.py: - store table name in query, to get the table's bool columns later - src/odm_sharing/sharing.py: - convert numeric bool values (0/1) (in bool columns) to str (FALSE/TRUE) in output - normalize None and empty string --- docs/manual/_quarto.yml | 1 + docs/manual/chapters/cli-reference.qmd | 10 ++ docs/manual/chapters/data-sources.qmd | 27 ++++ requirements-dev.txt | 1 + src/odm_sharing/private/common.py | 5 + src/odm_sharing/private/cons.py | 199 ++++++++++++++++++++++--- src/odm_sharing/private/queries.py | 2 + src/odm_sharing/sharing.py | 43 +++++- tests/api/id-schema.csv | 3 + tests/api/true-schema.csv | 4 + tests/common/mytable.csv | 6 + tests/common/passthrough-schema.csv | 3 + tests/common/testdata.xlsx | Bin 0 -> 6308 bytes tests/test_api.py | 61 ++++++++ tests/test_cli.py | 50 +++++++ 15 files changed, 395 insertions(+), 20 deletions(-) create mode 100644 docs/manual/chapters/data-sources.qmd create mode 100644 tests/api/id-schema.csv create mode 100644 tests/api/true-schema.csv create mode 100644 tests/common/mytable.csv create mode 100644 tests/common/passthrough-schema.csv create mode 100644 tests/common/testdata.xlsx create mode 100644 tests/test_api.py create mode 100644 tests/test_cli.py diff --git a/docs/manual/_quarto.yml b/docs/manual/_quarto.yml index 417d81e9..9b0553c9 100644 --- a/docs/manual/_quarto.yml +++ b/docs/manual/_quarto.yml @@ -15,6 +15,7 @@ book: - api-reference/index.qmd - chapters/api-usage.qmd appendices: + - chapters/data-sources.qmd - chapters/schemas.qmd - chapters/python.qmd - chapters/sqlite.qmd diff --git a/docs/manual/chapters/cli-reference.qmd b/docs/manual/chapters/cli-reference.qmd index 6d5b67ff..228cccd1 100644 --- a/docs/manual/chapters/cli-reference.qmd +++ b/docs/manual/chapters/cli-reference.qmd @@ -51,6 +51,16 @@ One or multiple sharable output files will be created in the chosen output directory according to the chosen output format and organization(s). Each output file will have the input name followed by the recipient org name. +::: {.callout-warning} +Boolean values from CSV/Excel files will be normalized as TRUE/FALSE in the +output. See @sec-data-sources for more information. +::: + +::: {.callout-warning} +Even tho using a database as input is supported, it hasn't been tested +properly. +::: + ## Errors Error messages will be printed to the terminal (STDERR) when something is diff --git a/docs/manual/chapters/data-sources.qmd b/docs/manual/chapters/data-sources.qmd new file mode 100644 index 00000000..033fe3ee --- /dev/null +++ b/docs/manual/chapters/data-sources.qmd @@ -0,0 +1,27 @@ +# Data Sources {#sec-data-sources} + +## Data Types + +Boolean values from CSV/Excel input are discriminated and normalized to make +filtering work correctly. This may cause certain columns to be incorrectly +recognized as boolean, and columns intended as boolean to not be recognized. +Columns with the following values are recognized as boolean: + +- CSV: + - NA-values: empty string, `NA` + - Booleans formatted as string, in any case: `FALSE`, `true` +- Excel: + - NA-values: empty cell, `NA` + - Booleans formatted as string, in any case: `FALSE`, `true` + - Boolean values formatted as such: `FALSE`, `TRUE` + - Boolean formulas: `=FALSE()`, `=TRUE()` + +Columns with only NA-values won't be recognized, since their intended type is +ambiguous. + +If the first cells in a column have values other than what is show above, they +won't be recognized as boolean. There may also be false-positives if any of the +boolean values shown above are used in a column meant for text. + +Finally, boolean values included in the filtered output are converted to the +string values `FALSE`/`TRUE`. diff --git a/requirements-dev.txt b/requirements-dev.txt index fb871af1..9685505d 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,3 +1,4 @@ pandas-stubs==2.2.2.240603 sqlalchemy-stubs==0.4 +types-openpyxl==3.1.5.20240806 types-tabulate==0.9.0.20240106 diff --git a/src/odm_sharing/private/common.py b/src/odm_sharing/private/common.py index 2b116b13..c7fb0117 100644 --- a/src/odm_sharing/private/common.py +++ b/src/odm_sharing/private/common.py @@ -1,3 +1,8 @@ +# type aliases ColumnName = str OrgName = str TableName = str + +# constants +F = 'FALSE' +T = 'TRUE' diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index f9d84a75..23480be9 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -1,18 +1,51 @@ import logging +from collections import defaultdict +from dataclasses import dataclass from pathlib import Path -from typing import List, Set +from typing import Dict, Generator, List, Set +import openpyxl as xl import pandas as pd import sqlalchemy as sa +from functional import seq +from openpyxl.workbook import Workbook +from odm_sharing.private.common import ColumnName, TableName, F, T -Connection = sa.engine.Engine + +# types +############################################################################### + + +Sheet = xl.worksheet._read_only.ReadOnlyWorksheet + + +@dataclass(frozen=True) +class Connection: + handle: sa.engine.Engine + bool_cols: Dict[TableName, Set[ColumnName]] class DataSourceError(Exception): pass +# constants +############################################################################### + + +F_FORMULA = '=FALSE()' +T_FORMULA = '=TRUE()' + +BOOL_FORMULAS = [F_FORMULA, T_FORMULA] +BOOL_VALS = [F, T] +NA_VALS = ['', 'NA'] + + +# private functions +############################################################################### + + def _create_memory_db() -> sa.engine.Engine: return sa.create_engine('sqlite://', echo=False) @@ -23,37 +56,161 @@ def _write_table_to_db(db: sa.engine.Engine, table: str, df: pd.DataFrame df.to_sql(table, db, index=False, if_exists='replace') +def _datasets_to_db(datasets: Dict[TableName, pd.DataFrame] + ) -> sa.engine.Engine: + '''creates an in-memory db and writes the datasets as tables''' + db = _create_memory_db() + for table, df in datasets.items(): + _write_table_to_db(db, table, df) + return db + + +def _find_bool_cols(df: pd.DataFrame, bool_vals: List[str], + exclude_cols: Set[str] = set()) -> Set[str]: + '''Finds boolean columns in a dataframe. + + :returns: a set of column names + ''' + + # The following columns are included: + # - col-type=bool + # - col-type=object and val-type=bool + # - col-type=object and val-type=str and upper(val) in ['FALSE', 'TRUE'] + # + # NA-values are ignored and won't interfere with the result. + # + # The search is non-exhaustive, and will assume a valid bool column after + # the first match even if there are invalid values further down the column. + + result: Set[str] = set() + + for col in df: + col_name = str(col) + if col_name in exclude_cols: + continue + + def add_bool_col() -> None: + result.add(col_name) + + # check column type + # XXX: columns with mixed types have dtype=object + if df[col].dtype == bool: + add_bool_col() + continue + if df[col].dtype != object: + continue + + # check cell value type + for val in df[col]: + if val is None: # empty cell -> NA + continue + if isinstance(val, bool): + add_bool_col() + elif isinstance(val, str): + norm_val = val.strip().upper() + if norm_val in NA_VALS: + continue + if norm_val in bool_vals: + add_bool_col() + break + + return result + + +def _sheet_to_df(sheet: Sheet) -> pd.DataFrame: + '''converts an excel sheet to a pandas dataframe''' + row_iter = sheet.values + columns = list(next(row_iter)) # consumes first row + return pd.DataFrame(row_iter, columns=columns) + + +def _normalize_bool_values(df: pd.DataFrame, bool_cols: Set[ColumnName] + ) -> None: + '''normalize bool (string) values to 0/1''' + # XXX: this is needed to be able to run the same query filter on booleans + # coming from different data types (like string) + for col in bool_cols: + if df[col].dtype == object: # potentially str + df[col] = df[col].replace({F: '0', T: '1'}) + + def _connect_csv(path: str) -> Connection: '''copies file data to in-memory db :raises OSError:''' + # XXX: NA-values are not normalized to avoid mutating user data (#31) logging.info('importing csv file') table = Path(path).stem - db = _create_memory_db() - df = pd.read_csv(path) - _write_table_to_db(db, table, df) - return db + df = pd.read_csv(path, na_filter=False) + bool_cols = _find_bool_cols(df, BOOL_VALS) + _normalize_bool_values(df, bool_cols) + db = _datasets_to_db({table: df}) + return Connection(db, {table: bool_cols}) + + +def _iter_sheets(wb: Workbook, included_tables: Set[str]) -> Generator: + for sheet in wb: + table_name = sheet.title + if table_name in included_tables: + yield (sheet, table_name) def _connect_excel(path: str, table_whitelist: Set[str]) -> Connection: - '''copies file data to in-memory db + '''copies excel file data to in-memory db + + :returns: a connection to the db + + :raises OSError: + ''' + # XXX: we must NOT change the data (#31). + + # XXX: We can NOT use Pandas to import Excel files, since it may convert + # booleans to float when the first column cell value isn't a valid boolean. + # This happens even with `dtype=str`. Invalid booleans happen because + # we must allow empty cells and NA values, and we can't normalize the data + # (#31). Pandas uses openpyxl under the hood as its Excel backend, and we + # can use it directly to avoid this issue. + + # XXX: We will NOT use `dtype=str` when converting the imported data to + # Pandas-dataframes, since there's no need at this point. - :raises OSError:''' logging.info('importing excel workbook') - db = _create_memory_db() - xl = pd.ExcelFile(path) - included_tables = set(map(str, xl.sheet_names)) # XXX: may be int + + # load excel file + wb = xl.load_workbook(path, read_only=True, data_only=True) + sheet_names = seq(wb).map(lambda sheet: sheet.title).list() + included_tables = set(sheet_names) if table_whitelist: included_tables &= table_whitelist - for table in included_tables: - df = xl.parse(sheet_name=table) - _write_table_to_db(db, table, df) - return db + + # convert to dataframes + dfs = {} + bool_cols = {} + for sheet, table in _iter_sheets(wb, included_tables): + df = _sheet_to_df(sheet) + bool_cols[table] = _find_bool_cols(df, BOOL_VALS) + _normalize_bool_values(df, bool_cols[table]) + dfs[table] = df + + # include bool formulas when looking for bool columns + formula_wb = xl.load_workbook(path, read_only=True, data_only=False) + for sheet, table in _iter_sheets(formula_wb, included_tables): + df = _sheet_to_df(sheet) + bc = bool_cols[table] + bc |= _find_bool_cols(df, BOOL_FORMULAS, bc) + + # write to db + db = _datasets_to_db(dfs) + return Connection(db, bool_cols) def _connect_db(url: str) -> Connection: ''':raises sa.exc.OperationalError:''' - return sa.create_engine(url) + return Connection(sa.create_engine(url), defaultdict(set)) + + +# public functions +############################################################################### def connect(data_source: str, tables: Set[str] = set()) -> Connection: @@ -65,6 +222,12 @@ def connect(data_source: str, tables: Set[str] = set()) -> Connection: :raises DataSourceError: ''' + + # XXX: After import of CSV/Excel files, boolean values will be normalized + # as 0/1, which we'll have to convert back (using previously detected bool + # columns) to 'FALSE'/'TRUE' before returning the data to the user. This + # happens in `odm_sharing.sharing.get_data`. + try: if data_source.endswith('.csv'): return _connect_csv(data_source) @@ -78,7 +241,7 @@ def connect(data_source: str, tables: Set[str] = set()) -> Connection: def get_dialect_name(c: Connection) -> str: '''returns the name of the dialect used for the connection''' - return c.dialect.name + return c.handle.dialect.name def exec(c: Connection, sql: str, sql_args: List[str] = []) -> pd.DataFrame: @@ -87,6 +250,6 @@ def exec(c: Connection, sql: str, sql_args: List[str] = []) -> pd.DataFrame: :raises DataSourceError: ''' try: - return pd.read_sql_query(sql, c, params=tuple(sql_args)) + return pd.read_sql_query(sql, c.handle, params=tuple(sql_args)) except sa.exc.OperationalError as e: raise DataSourceError(str(e)) diff --git a/src/odm_sharing/private/queries.py b/src/odm_sharing/private/queries.py index 0c7c9e13..bca5b9ba 100644 --- a/src/odm_sharing/private/queries.py +++ b/src/odm_sharing/private/queries.py @@ -45,6 +45,7 @@ class Query: @dataclass(frozen=True) class TableQuery: '''collection of queries for a single table''' + table_name: str columns: List[str] '''columns specified in the select-rule (unless "all" is used), which can @@ -265,6 +266,7 @@ def gen_table_query(share_node: Node, table_node: Node) -> TableQuery: seq(rule_queries.items()).smap(gen_count_query_sql2).dict()) return TableQuery( + table_name=table_node.str_val, data_query=data_query, rule_count_queries=count_queries, select_rule_id=select_id, diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 47eac8d1..e18b558c 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -1,6 +1,7 @@ from pathlib import Path from typing import Dict, List, Tuple +import numpy as np import pandas from functional import seq @@ -8,7 +9,7 @@ import odm_sharing.private.queries as queries import odm_sharing.private.rules as rules import odm_sharing.private.trees as trees -from odm_sharing.private.common import ColumnName, OrgName, TableName +from odm_sharing.private.common import ColumnName, OrgName, TableName, F, T from odm_sharing.private.cons import Connection from odm_sharing.private.queries import OrgTableQueries, Query, TableQuery from odm_sharing.private.rules import RuleId @@ -38,6 +39,9 @@ def connect(data_source: str, tables: List[str] = []) -> Connection: creates a connection to a data source that later can be used with a query to retrieve data + Warning: Even tho using a database as input is supported, it hasn't been + tested properly. + :param data_source: filepath or database URL :param tables: table name whitelist, disabled if empty @@ -51,6 +55,9 @@ def connect(data_source: str, tables: List[str] = []) -> Connection: def get_data(c: Connection, tq: TableQuery) -> pandas.DataFrame: '''retrieves filtered data from a specific table of a data source + Warning: Boolean values from CSV/Excel files will be normalized as + TRUE/FALSE. + :param c: the data source connection :param tq: the table query @@ -59,7 +66,36 @@ def get_data(c: Connection, tq: TableQuery) -> pandas.DataFrame: :raises DataSourceError: if an error occured while retrieving data ''' dq = tq.data_query - return cons.exec(c, dq.sql, dq.args) + df = cons.exec(c, dq.sql, dq.args) + + # At this point bool values are 0/1, so we have to convert it to + # FALSE/TRUE (which is the ODM standard). + # + # XXX: selected columns are only a subset of all columns, and may not even + # include any of the previously found bool columns + for col in c.bool_cols[tq.table_name]: + if col not in df: + continue + kind = df[col].dtype + if kind == object: # potentially str + df[col] = df[col].replace({'0': F, '1': T}) + elif kind == np.int64: + df[col] = df[col].astype(str).replace({'0': F, '1': T}) + elif kind == np.float64: + df[col] = df[col].astype(str).replace( + {'nan': '', '0': F, '1': T, '0.0': F, '1.0': T}) + else: + assert False, f'invalid bool type {kind}' + + # normalize None/empty to empty string + # + # XXX: bool columns may end up storing empty values as NULL in the + # database, which in turn are extracted as None + for series in df: + if df[series].dtype == object: # str + df[series] = df[series].replace({None: ''}) + + return df def get_counts(c: Connection, tq: TableQuery) -> Dict[RuleId, int]: @@ -108,6 +144,9 @@ def extract( ) -> Dict[OrgName, Dict[TableName, pandas.DataFrame]]: '''high-level function for retrieving filtered data + Warning: Boolean values from CSV/Excel files will be normalized as + TRUE/FALSE. + :param schema_path: rule schema filepath :param data_source: filepath or database URL :param orgs: organization whitelist, disabled if empty diff --git a/tests/api/id-schema.csv b/tests/api/id-schema.csv new file mode 100644 index 00000000..c323663c --- /dev/null +++ b/tests/api/id-schema.csv @@ -0,0 +1,3 @@ +ruleID,table,mode,key,operator,value,notes +1,mytable,select,NA,NA,id, +2,NA,share,OHRI,NA,1, diff --git a/tests/api/true-schema.csv b/tests/api/true-schema.csv new file mode 100644 index 00000000..b2a58c60 --- /dev/null +++ b/tests/api/true-schema.csv @@ -0,0 +1,4 @@ +ruleID,table,mode,key,operator,value,notes +1,mytable,select,NA,NA,all, +2,mytable,filter,bool3,=,TRUE, +3,NA,share,OHRI,NA,1;2, diff --git a/tests/common/mytable.csv b/tests/common/mytable.csv new file mode 100644 index 00000000..4b883a9a --- /dev/null +++ b/tests/common/mytable.csv @@ -0,0 +1,6 @@ +id,bool1,bool2,bool3,bool4,bool5,int1,int2,str1,str2 +1,TRUE,FALSE,,NA,,0,,a, +2,TRUE,TRUE,FALSE,TRUE,,1,NA,b,NA +3,TRUE,,TRUE,TRUE,,2,2,c,c +4,TRUE,,NA,TRUE,,3,3,d,d +5,FALSE,,,FALSE,FALSE,4,4,e,e diff --git a/tests/common/passthrough-schema.csv b/tests/common/passthrough-schema.csv new file mode 100644 index 00000000..eed284b0 --- /dev/null +++ b/tests/common/passthrough-schema.csv @@ -0,0 +1,3 @@ +ruleID,table,mode,key,operator,value,notes +1,mytable,select,NA,NA,all, +2,NA,share,OHRI,NA,1, diff --git a/tests/common/testdata.xlsx b/tests/common/testdata.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..5a4c5c9a415e5f64caa5f4a1fe1686ac0f6ccdcf GIT binary patch literal 6308 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 BYB2x+ literal 0 HcmV?d00001 diff --git a/tests/test_api.py b/tests/test_api.py new file mode 100644 index 00000000..e47c3bc0 --- /dev/null +++ b/tests/test_api.py @@ -0,0 +1,61 @@ +import unittest +from os.path import join + +import odm_sharing.sharing as sh +from odm_sharing.private.common import F, T + +from common import OdmTestCase + + +class TestApi(OdmTestCase): + '''test cases related to the whole sharing pipeline''' + def setUp(self) -> None: + super().setUp() + + def _test_extract(self, data_relpath: str) -> None: + schema_path = join(self.dir, 'common', 'passthrough-schema.csv') + data_path = join(self.dir, 'common', data_relpath) + df = sh.extract(schema_path, data_path)['OHRI']['mytable'] + self.assertEqual(list(df['bool1']), [T] * 4 + [F]) + self.assertEqual(list(df['bool2']), [F, T] + [''] * 3) + self.assertEqual(list(df['bool3']), ['', F, T, 'NA', '']) + self.assertEqual(list(df['bool4']), ['NA'] + [T] * 3 + [F]) + self.assertEqual(list(df['bool5']), [''] * 4 + [F]) + self.assertEqual(list(df['int1']), [0, 1, 2, 3, 4]) + self.assertEqual(list(df['int2']), ['', 'NA', '2', '3', '4']) + self.assertEqual(list(df['str1']), ['a', 'b', 'c', 'd', 'e']) + self.assertEqual(list(df['str2']), ['', 'NA', 'c', 'd', 'e']) + + def _test_extract_true(self, data_relpath: str) -> None: + schema_path = join(self.dir, 'api', 'true-schema.csv') + data_path = join(self.dir, 'common', data_relpath) + df = sh.extract(schema_path, data_path)['OHRI']['mytable'] + df = df.set_index('id') + actual_rows = list(df.itertuples()) + self.assertEqual(len(actual_rows), 1) + actual = actual_rows[0][1:6] + expected = (T, '', T, T, '') # row 4 (incl. header) + self.assertEqual(actual, expected) + + def _test_extract_strict_subset(self, data_relpath: str) -> None: + '''test that selecting just a single column works, which is a strict + subest of all columns and may be less that the code expects.''' + schema_path = join(self.dir, 'api', 'id-schema.csv') + data_path = join(self.dir, 'common', data_relpath) + sh.extract(schema_path, data_path)['OHRI']['mytable'] + + def test_csv(self) -> None: + fn = 'mytable.csv' + self._test_extract(fn) + self._test_extract_true(fn) + self._test_extract_strict_subset(fn) + + def test_excel(self) -> None: + fn = 'testdata.xlsx' + self._test_extract(fn) + self._test_extract_true(fn) + self._test_extract_strict_subset(fn) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_cli.py b/tests/test_cli.py new file mode 100644 index 00000000..d7c878dd --- /dev/null +++ b/tests/test_cli.py @@ -0,0 +1,50 @@ +import unittest +from os.path import join +from tempfile import TemporaryDirectory +from typing import List + +from odm_sharing.tools.share import OutFmt, share + +from common import OdmTestCase + + +def readfile(path: str) -> str: + with open(path) as f: + return f.read() + + +def share_csv(schema_path, data_path) -> List[str]: + with TemporaryDirectory() as dir: + share(schema_path, data_path, outdir=dir) + outfile = join(dir, 'mytable-OHRI.csv') + return readfile(outfile) + + +def share_excel(schema_path, data_path, outfmt) -> List[str]: + with TemporaryDirectory() as dir: + share(schema_path, data_path, outdir=dir, outfmt=outfmt) + if outfmt == OutFmt.CSV: + outfile = join(dir, 'testdata-OHRI-mytable.csv') + else: + outfile = join(dir, 'testdata-OHRI.xlsx') + return readfile(outfile) + + +class TestCli(OdmTestCase): + def test_csv_to_csv(self) -> None: + schema_path = join(self.dir, 'common', 'passthrough-schema.csv') + data_path = join(self.dir, 'common', 'mytable.csv') + src_content = readfile(data_path) + dst_content = share_csv(schema_path, data_path) + self.assertEqual(src_content, dst_content) + + def test_excel_to_csv(self) -> None: + schema_path = join(self.dir, 'common', 'passthrough-schema.csv') + data_path = join(self.dir, 'common', 'testdata.xlsx') + src_content = readfile(join(self.dir, 'common', 'mytable.csv')) + dst_content = share_excel(schema_path, data_path, OutFmt.CSV) + self.assertEqual(src_content, dst_content) + + +if __name__ == '__main__': + unittest.main() From f1990154416b9daf1e0be8c058c63311319f77cf Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 30 Aug 2024 11:19:38 -0400 Subject: [PATCH 122/174] add sqlite db file detection (#49) --- docs/manual/chapters/cli-reference.qmd | 2 +- src/odm_sharing/private/cons.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/manual/chapters/cli-reference.qmd b/docs/manual/chapters/cli-reference.qmd index 228cccd1..e0a31cbd 100644 --- a/docs/manual/chapters/cli-reference.qmd +++ b/docs/manual/chapters/cli-reference.qmd @@ -21,7 +21,7 @@ Arguments: - INPUT - spreadsheet file path or [SQLAlchemy database URL](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) + CSV/Excel/SQLite file path, or [SQLAlchemy database URL](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) Options: diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 23480be9..dbf62fed 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -213,6 +213,16 @@ def _connect_db(url: str) -> Connection: ############################################################################### +def _detect_sqlite(path: str) -> bool: + # https://www.sqlite.org/fileformat.html + MAGIC = b'SQLite format 3' + try: + with open(path, 'rb') as f: + return f.read(len(MAGIC)) == MAGIC + except Exception: + return False + + def connect(data_source: str, tables: Set[str] = set()) -> Connection: ''' connects to a data source and returns the connection @@ -233,6 +243,8 @@ def connect(data_source: str, tables: Set[str] = set()) -> Connection: return _connect_csv(data_source) elif data_source.endswith('.xlsx'): return _connect_excel(data_source, tables) + elif _detect_sqlite(data_source): + return _connect_db(f'sqlite:///{data_source}') else: return _connect_db(data_source) except (OSError, sa.exc.OperationalError) as e: From fa2c2b442f3649f727ab49c2884da5ef0cc15ee9 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 19 Aug 2024 14:03:51 -0400 Subject: [PATCH 123/174] specify excel writer library to prevent Pandas to pick a different one, and get consistent results --- src/odm_sharing/tools/share.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 9f4ca420..12b68fd1 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -147,7 +147,7 @@ def get_excel_writer(in_name: str, debug: bool, org: str, outdir: str, filename = gen_filename(in_name, org, '', 'xlsx') logging.info('writing ' + filename) excel_path = os.path.join(outdir, filename) - return pd.ExcelWriter(excel_path) + return pd.ExcelWriter(excel_path, engine='openpyxl') else: return None From a8f081a0afd1f3eae3d02b576dd3987eb6641f78 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 19 Aug 2024 14:23:29 -0400 Subject: [PATCH 124/174] cli: add param for listing output files --- src/odm_sharing/tools/share.py | 44 +++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 12b68fd1..84ec1fc8 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -44,6 +44,7 @@ class OutFmt(str, Enum): selected, and how many rows each filter returns.''' QUIET_DESC = 'Don\'t log to STDOUT.' +LIST_DESC = 'Write output file-paths to STDOUT, separated by newlines.' # default cli args DEBUG_DEFAULT = False @@ -51,6 +52,7 @@ class OutFmt(str, Enum): OUTDIR_DEFAULT = './' OUTFMT_DEFAULT = OutFmt.AUTO QUIET_DEFAULT = False +LIST_DEFAULT = False app = typer.Typer(pretty_exceptions_show_locals=False) @@ -141,17 +143,6 @@ def get_debug_writer(debug: bool) -> Union[TextIO, contextlib.nullcontext]: return contextlib.nullcontext() -def get_excel_writer(in_name: str, debug: bool, org: str, outdir: str, - outfmt: OutFmt) -> Optional[pd.ExcelWriter]: - if not debug and outfmt == OutFmt.EXCEL: - filename = gen_filename(in_name, org, '', 'xlsx') - logging.info('writing ' + filename) - excel_path = os.path.join(outdir, filename) - return pd.ExcelWriter(excel_path, engine='openpyxl') - else: - return None - - def infer_outfmt(path: str) -> Optional[OutFmt]: '''returns None when not recognized''' (_, ext) = os.path.splitext(path) @@ -169,7 +160,8 @@ def share( outfmt: OutFmt = OUTFMT_DEFAULT, outdir: str = OUTDIR_DEFAULT, debug: bool = DEBUG_DEFAULT, -) -> None: +) -> List[str]: + '''returns list of output files''' schema_path = schema schema_filename = Path(schema_path).name in_name = Path(input).stem @@ -191,13 +183,14 @@ def share( table_filter = get_tables(org_queries) except rules.ParseError: # XXX: error messages are already printed at this point - return + return [] # XXX: only tables found in the schema are considered in the data source logging.info(f'connecting to {qt(input)}') con = cons.connect(input, table_filter) # one debug file per run + output_paths = [] with get_debug_writer(debug) as debug_file: for org, table_queries in org_queries.items(): org_data = {} @@ -209,14 +202,20 @@ def share( org_data[table] = sh.get_data(con, tq) # one excel file per org - excel_file = get_excel_writer(in_name, debug, org, outdir, outfmt) + excel_fn = gen_filename(in_name, org, '', 'xlsx') + excel_path = os.path.join(outdir, excel_fn) + excel_file = None + if not debug and outfmt == OutFmt.EXCEL: + excel_file = pd.ExcelWriter(excel_path, engine='openpyxl') + logging.info('writing ' + excel_fn) try: for table, data in org_data.items(): if outfmt == OutFmt.CSV: filename = gen_filename(in_name, org, table, 'csv') - logging.info('writing ' + filename) path = os.path.join(outdir, filename) + logging.info('writing ' + filename) data.to_csv(path, index=False) + output_paths.append(path) elif outfmt == OutFmt.EXCEL: logging.info(f'- {qt(table)}') data.to_excel(excel_file, sheet_name=table, @@ -225,12 +224,17 @@ def share( assert False, f'format {outfmt} not impl' except IndexError: # XXX: this is thrown from excel writer when nothing is written + # XXX: no need to return paths since excel file didn't finish + assert outfmt == OutFmt.EXCEL error('failed to write output, most likely due to empty input') - return + return [] finally: if excel_file: excel_file.close() + if excel_file: + output_paths.append(excel_path) logging.info('done') + return output_paths @app.command() @@ -244,10 +248,16 @@ def main_cli( help=DEBUG_DESC)] = DEBUG_DEFAULT, quiet: Annotated[bool, typer.Option("-q", "--quiet", help=QUIET_DESC)] = QUIET_DEFAULT, + list_output: Annotated[bool, typer.Option("-l", "--list", + help=LIST_DESC)] = LIST_DEFAULT, ) -> None: if not quiet: logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) - share(schema, input, orgs, outfmt, outdir, debug) + paths = share(schema, input, orgs, outfmt, outdir, debug) + if list_output: + cwd = os.getcwd() + relpaths = seq(paths).map(lambda abs: os.path.relpath(abs, cwd)) + print(linesep.join(relpaths)) def main() -> None: From dcfbd74542f8eb5a29969a8cb007299aa5b7ccf0 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 20 Aug 2024 10:22:32 -0400 Subject: [PATCH 125/174] test: move readfile to common --- tests/common.py | 5 +++++ tests/test_cli.py | 7 +------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/common.py b/tests/common.py index f3c8a948..70581f25 100644 --- a/tests/common.py +++ b/tests/common.py @@ -2,6 +2,11 @@ from os.path import abspath, dirname +def readfile(path: str) -> str: + with open(path) as f: + return f.read() + + class OdmTestCase(unittest.TestCase): @classmethod def setUpClass(cls) -> None: diff --git a/tests/test_cli.py b/tests/test_cli.py index d7c878dd..7a9ec637 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -5,12 +5,7 @@ from odm_sharing.tools.share import OutFmt, share -from common import OdmTestCase - - -def readfile(path: str) -> str: - with open(path) as f: - return f.read() +from common import OdmTestCase, readfile def share_csv(schema_path, data_path) -> List[str]: From b2c7b7b6e41ab2c97e919ab05cff9cec47311245 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 20 Aug 2024 10:50:56 -0400 Subject: [PATCH 126/174] test: refactor cli test --- tests/test_cli.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/tests/test_cli.py b/tests/test_cli.py index 7a9ec637..eccb1c0a 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -17,12 +17,8 @@ def share_csv(schema_path, data_path) -> List[str]: def share_excel(schema_path, data_path, outfmt) -> List[str]: with TemporaryDirectory() as dir: - share(schema_path, data_path, outdir=dir, outfmt=outfmt) - if outfmt == OutFmt.CSV: - outfile = join(dir, 'testdata-OHRI-mytable.csv') - else: - outfile = join(dir, 'testdata-OHRI.xlsx') - return readfile(outfile) + outfiles = share(schema_path, data_path, outdir=dir, outfmt=outfmt) + return readfile(outfiles[0]) class TestCli(OdmTestCase): From 5aed19cf683f33de175a114140c57d9ac1f8f455 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 20 Aug 2024 10:50:39 -0400 Subject: [PATCH 127/174] test: add integration test --- tests/int/delatolla/AUTHORS.md | 7 +++++ tests/int/delatolla/data.xlsx | Bin 0 -> 2325415 bytes .../delatolla/expected/data-org1-measures.csv | 13 +++++++++ .../delatolla/expected/data-org1-samples.csv | 16 +++++++++++ .../delatolla/expected/data-org1-sites.csv | 2 ++ .../delatolla/expected/data-org2-measures.csv | 7 +++++ .../delatolla/expected/data-org2-samples.csv | 16 +++++++++++ .../delatolla/expected/data-org2-sites.csv | 2 ++ tests/int/delatolla/schema.csv | 16 +++++++++++ tests/int_test_delatolla.py | 27 ++++++++++++++++++ 10 files changed, 106 insertions(+) create mode 100644 tests/int/delatolla/AUTHORS.md create mode 100644 tests/int/delatolla/data.xlsx create mode 100644 tests/int/delatolla/expected/data-org1-measures.csv create mode 100644 tests/int/delatolla/expected/data-org1-samples.csv create mode 100644 tests/int/delatolla/expected/data-org1-sites.csv create mode 100644 tests/int/delatolla/expected/data-org2-measures.csv create mode 100644 tests/int/delatolla/expected/data-org2-samples.csv create mode 100644 tests/int/delatolla/expected/data-org2-sites.csv create mode 100644 tests/int/delatolla/schema.csv create mode 100644 tests/int_test_delatolla.py diff --git a/tests/int/delatolla/AUTHORS.md b/tests/int/delatolla/AUTHORS.md new file mode 100644 index 00000000..e1ad526f --- /dev/null +++ b/tests/int/delatolla/AUTHORS.md @@ -0,0 +1,7 @@ +Authors for data.xlsx: + +Mercier, É., D’Aoust, P., Pisharody, L. K., Hegazy, N., Wan, S., Tian, X., +Tomalty, E., Kabir, M. P., Nguyen, T. B., Wong, C. H., Ramsay, N. T., Addo, F., +& Delatolla, R. (2024). The Public Health Environmental Surveillance Database +(PHESD) - Delatolla Lab v2.0.0 (Wastewater_Surveillance). Zenodo. +https://doi.org/10.5281/zenodo.10794558 diff --git a/tests/int/delatolla/data.xlsx b/tests/int/delatolla/data.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..11743fada0d55a4adf57735ea4af14c4d601ca3f GIT binary patch literal 2325415 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%0AHN8;`YIP`(@}5 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

ev0gdaFd#W@^g*v3buYR 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 z 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 z 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Πh0mIq$O&wYU?&=V#vx>+~c8pt*|m^>@P!B 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

}WhOR9( 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͢PwX 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⩔TUAhfq? zfvhuImURTOCwY?!-ya`p!~y}DxSm-t+Y@&s$4k|U>GIpHfKZslOo^Sk)DuuRcs+0} zNnW3TW%`_X9MHTDn)9k)n%-PKi@M0HDLHgP(EhAkgV$g}?vI&-71~-}GYo1VsnIRf-e&*wk!b zG&3@j3rn#$T-{^K$|&d3)b3^|(03N^zJ!|Gpnq+`rXidm*lH=gNp zmcmoCRl>A;t5cv$9Bd?hZ>?lkc`~B%-u(G}`WN%_@&`6kIC@;Vszv(9zw7D76VPRCmQX= z%>rC99$o`41o+*wPZ==;LkpO9E6t_0c=OnK-!_7b@i;&g!(Z&D0z3|CL@LpAnf`9>^^5$l7#ax=}qUD;JzczI-eCqRMYY;m} zRy0ULItBgWL`QKLl(j@lnF)8?&N{auq(=DRY{|RyL*z=*0p6&-<~0

+R)??kN!{* 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ìRGGvf~vmw{G|{ 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

dw4M4 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
@s%Gi`^g&{4a=5D}poZy;S4OWp;*-jDp!q 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%0Aeo!T=x@>&EV&^x$H4*4S z<5~L3eS$_%i7VwePOwem{4lX$5gWfHUHSCq>O6yK?ejH8GQSPRM*Qxo z@2#YMb^q$`-Vbet^TT)4`q2?f{Tb&g+^#fRJQZnytfJ2V`Z`jDT5}9M_)aE8d!qOX z)k9msI5V~eWVyujYIJcTv952i#oN`|F!(RjOAH~;Zqj@22tTQUR}E^5mmCNW^s2sF zmQGT5_|$quV-b#$SCeee$x!Iz!!?nT z)nCyfbw6k?iN?m0UqQu7@WYU9;7&*vE&LN*%o(3;uz<6U39mbOUJid-qN?8XX)`>f z(AfAJ-l%=f*uW`u(WENF5ScduXPEVk1XCIa>G%HFjYoLNh9_IR-Ng~8>FP6S2gw@? zky|d#k;nKY&*{RTs~o&GzZ=}Gn9_V(k|tF5EB>wTAT%yrJ`+Tnd~{EWmB-@uPUv9B^N z^o-&b$RAqfB9jwyE!O~QY3?%}&d?gVzYXE7}{Webnvd|<+YDv4EG;~0DQ zmTbs$7;8jo82n3kQwd_jMzuyfX&~bP^qA}AwY$AfcJp1}U>}G7te9gU_0%h@CAsmo zB%YX0NWqnU+}L7+A=0pNA5P$CAmj1ICYTzdGLKwKt_cL#_Vzrg)~Yl3l&19NsE2+h zC+jDzu>Ad;#p+@CWY2?RR?3fP8VrqQ-|6JMc9)-lT$tyE?C-rV6|K_Gn86&6rxy)8 zYpV#qTWWp)7qDMtXt!bQbIl`n0&1RWM#3WVorS=2%>di?c@ z=3)6FR(mW2oJK<<4Fdc-BKxI#vntgXG`nrnCo^llelmk`&{u|k|hwbk>FlE%DShTNBr+nbH(?}5{4V~iv1ZApBarG8)SQ;;7W;l zF=M*B7G`o_tOs-=YWg`mB1QUcpJdg7JDsxMS1j3>b&R|QmQGGSElfFZ5gW}r=eaZn zg#z!`>V%yzwwY!PtaRNhoz!cuj;e_6DnLICpGrxO213;-uTAfTR&;JPqsA6rD`I zi;@4RBUP>6ew-Lq zLvb`(uKxVpdQuTPV4g0cRvVRIzt(tjx2D&p_E#jlR+@LH%JMhh?KC1}N9p+raUNmI zVUyNkJ#2pnjO6?MlU{iOYfhGhvqXGhsdZ!_^2mPOz`HSc6X6T%L5Ht5(~YfrXc*w|$BF&V!`}iO z{$LbZ?lah)JOg`jE%RkIv#)+pbg23WuWFx(-D^I@O#ZME(I^>>&Ka z6Y8Y5t%5PAWBY&&l5BZ+8anIF6#m;Slr?ygX2QB#<+l=h>&o%N!b6$E6sfzf{n^<# z(aXBw(kMJe*@%A*M>G6E$G>6~;plw!B99BFL{aTi*CKKzmVIZ4j1_V)lx1l?9L|xY zIALN#aACaL?I{l8mft)3Jk{hCXAWyY<>$ z%3QM{>(+zhwPZ(kHr|)FDIt2*b;0NxIs-4voLP(FwGpkW9jGB}T{W3Wf@kT#=fS_< z?W%oX(X-|gEaXbV<-0+qj$YJ3CrK+1nLn0n>)z9SOTQYdX`5kXnJU?0N` zQk?M4+lbn(gK!$b9(-p(Bw5*RP&0baElmzqKUNpkN-3>p8s9RE(BHdO(X(KqD(Vyd zO0+V6PNf!_dd}N*ggGl$aNEJvacKU`8sndjBO}7I+HbjoHW;UG#jt)CRFdQ>|7i~y zTv3K7)r(j~=E}B$vX^IRVmev}usv#z{z`|e5oXM#Jj~p2<&5(&Yo0X*Bgsg7F2zC`7s~B&ZcpxO)p_gO%(P(i`i@*ZUXcGpEbgkL z39P0;qTag4OacjYr2TD7yKEW#xY_S7Py}u;*5mg*4<@*P(47lwQH@bwrGR>*=f5ub z?oNP=G<=3*iQEvTKwV3mv$AmpT4|e5P>{clEzY?ac7&!cglTv@HW0k4pcZ%ZNso?#U zQ5y|xBHXb8;062~n}sakX(u=YLhx2 z87Ep`kfIIu>Qobmq3&8g{{;~WIHUs?Xo=tyKmQJ$;#l+Hn73Jvk2=^WgxN~V_}Afq zDW-tN(=cICgouAyel6;$CS@JmLIcWflvDXgaA%{VPR17nJdPN5LpGN=RK^NM-5-AT zp)QY;|XP z1XDMO{8(0?Xb@G-9gcc@FWWeK@b;sFX9nc{_cbZ+&xH|`L(xYN-#V|HAF-yu|~rQwm{MJTH9G(>T> zkEBWjwEpV$Ow-KaCfDbeNXC*fRv;;`o*#^MPG1Q-o(Scm`rVnk-E-s3MNOV}YiQ73 zG;HKNe}3fggPH-4UN z;NeyLGMw2zoSWX;aQYi-r;n@+>}GG2z%(is~k%26B0#ZLG$Rc>&u zFg7m9m$rwt%QzWJKpi9XOV7PDeFcuOqx$|$Q8@|$iR&^@g|Qx`fW*`WEH2ZAy`i(DR<~HryD>FG>YLVK z!}{7(i;i@`1DUURZBj`pHj`M8TcuXmRvJ_`x%Y|2Eyu&x4DCD8cLlOm`!o$@+hUG) zb4jqQkZmLQt7=d?g!Q(!J7tB|#+#fSr#|Vu4dspWTzpjhvF^nOWK8f&2-dwcy%1a= z^BBPeKKgu^dDuE=Xmu$;GLh?*( z{36fdsE@3^*zdzM$Jm*LiXmFch`h-VZinA>M=UY&=Fv~&CWl&g-=V4*!U>tybW3tA<^79_>`p6vW=^wQo(FIA(}Ka45SH&` zDGx&w4ZZR!)Y>M={61^M)iIJb={a z1rq2`H&=G@xi)7N3%>||Jrvm(r4~tp(<5dW04G56lAu4I?M6t;!&E{Gnx4WEMV2ca zqkCJG(u9uWpa3KFd7^*g<;`*Y?Y_%0na-F&vjHe&J9KH$6wc;=*mP0oOzaKU`%pS1 z%()pf)hndN9dGycB2OlH8f?o2(x z^{3lsHZh`kM4&yFmC;VVnyO3x@*lSE_(v=SnbZzBu_CWkYM;#*eepx1Ng|#`|9-&Qrsr30J%hmMCTC-FQGvRdUya{SK99Czk!evg z;k>~7<>rYsk=V7U`htW%jrfzbS)C@5?+gND7Q$OJsZVUytd0k!Wj|QJNiK>6Uk(Hd z#&FhDC%8yVDj->UL4PuIA1KzBZ~=_kAJbo=pSB~ z-Qn>8C(X5DQo+y@)1`pA1#8_~Sq0EETAP6e zDDDOrZmdbXb&>L~_mM#Me(E8A7fg3Fu4y%p%10aIHBd$`jBS-;OyYd)H0-OpW@rQ? zPz{N4VawUB`iW@$9`x-)!9C01i?yhWmu#!Hp*ZXYqyM~#MvR-4_63Mmi<}>U8TzAH z?EO`HAv#+W`IweaMd&mE%F;MG0+pcf9kv}sdI|xU{$Q=4bA}A~oY?x_0sN&u;1?}q zgc=BV<3n5PQdiVO4(q-8m&)G^Avl{(5!SQy+Sa4+Yv##!?4Qmj{UxGuT$aPuzrQ&NvL$LA)uJ!>fUu?X)Hum03cVl>B`WvH(nV zK)e{?OZ!<7zT`?70}!Z!tavO6v%~>oUBLZ>eKXCgjGY#9Uq1kZiur3P6XNp-qkXo! z1z}?Zcn}Z|Joaqip5eFs@SA_A0R+;BFfqx&3E)-u*4Gjdv};MYLhKl+>pFrl6wu8=X

=>t%=4A>fZ^Z)x452HtSWcWTGoyi=~y05(V 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�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 None: + delatolla_dir = join(self.dir, 'int', 'delatolla') + schema_path = join(delatolla_dir, 'schema.csv') + data_path = join(delatolla_dir, 'data.xlsx') + with TemporaryDirectory() as tmpdir: + paths = share(schema_path, data_path, outdir=tmpdir, + outfmt=OutFmt.CSV) + for path in paths: + actual = readfile(path) + fn = Path(path).name + expected = readfile(join(delatolla_dir, 'expected', fn)) + self.assertEqual(actual, expected) + + +if __name__ == '__main__': + unittest.main() From c7576fc3e735c75b8e729c1ca4d4e6e48da82cbf Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 20 Aug 2024 11:04:40 -0400 Subject: [PATCH 128/174] test: add scripts for running tests --- .github/workflows/unit-test.yml | 2 +- run-all-tests.sh | 10 ++++++++++ run-unit-tests.sh | 3 +++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100755 run-all-tests.sh create mode 100755 run-unit-tests.sh diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 99abb171..7e6a7f65 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -13,4 +13,4 @@ jobs: cache: 'pip' - run: pip install -r requirements.txt - run: pip install . - - run: python -m unittest discover tests + - run: ./run-unit-tests.sh diff --git a/run-all-tests.sh b/run-all-tests.sh new file mode 100755 index 00000000..b48b4f0a --- /dev/null +++ b/run-all-tests.sh @@ -0,0 +1,10 @@ +#!/bin/sh +dir=$(dirname $0) + +echo "unit tests" +$dir/run-unit-tests.sh + +echo "" +echo "integration tests" +cd $dir/tests +python -m unittest int_test*.py diff --git a/run-unit-tests.sh b/run-unit-tests.sh new file mode 100755 index 00000000..01a22b4e --- /dev/null +++ b/run-unit-tests.sh @@ -0,0 +1,3 @@ +#!/bin/sh +dir=$(dirname $0) +python -m unittest discover $dir/tests From 9e6be80cb2f8d95107956653344fb71b0c8753de Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 3 Sep 2024 10:50:15 -0400 Subject: [PATCH 129/174] ci: improve pip caching to include installed packages instead of downloaded ones --- .github/workflows/unit-test.yml | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 7e6a7f65..80825e6f 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -3,14 +3,25 @@ name: unit-test on: [pull_request] jobs: - unit-test: + test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 with: python-version-file: '.python-version-ci' - cache: 'pip' - - run: pip install -r requirements.txt + + - name: cache dependencies + uses: actions/cache@v4 + id: cache-pip + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} + + - name: install dependencies + run: pip install -r requirements.txt + if: steps.cache-pip.outputs.cache-hit != 'true' + - run: pip install . - run: ./run-unit-tests.sh From dede4d35a4a1fe756645ecc1d7e76c717b53b80c Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 3 Sep 2024 11:06:26 -0400 Subject: [PATCH 130/174] ci: run unit and integration tests together --- .github/workflows/{unit-test.yml => test.yml} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{unit-test.yml => test.yml} (92%) diff --git a/.github/workflows/unit-test.yml b/.github/workflows/test.yml similarity index 92% rename from .github/workflows/unit-test.yml rename to .github/workflows/test.yml index 80825e6f..db2bccc6 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/test.yml @@ -1,4 +1,4 @@ -name: unit-test +name: test on: [pull_request] @@ -24,4 +24,4 @@ jobs: if: steps.cache-pip.outputs.cache-hit != 'true' - run: pip install . - - run: ./run-unit-tests.sh + - run: ./run-all-tests.sh From 9268d3e6d3d92927546349930a877f6e34afe9fb Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 20 Aug 2024 11:41:57 -0400 Subject: [PATCH 131/174] cli: create outdir if not exists --- docs/manual/chapters/cli-reference.qmd | 3 ++- src/odm_sharing/tools/share.py | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/manual/chapters/cli-reference.qmd b/docs/manual/chapters/cli-reference.qmd index e0a31cbd..7858c769 100644 --- a/docs/manual/chapters/cli-reference.qmd +++ b/docs/manual/chapters/cli-reference.qmd @@ -35,7 +35,8 @@ Options: - `--outdir=PATH` - output file directory, defaults to the current directory + output file directory, defaults to the current directory. It's created if + it doesn't exist. - `-d`, `--debug`: diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 84ec1fc8..414408a8 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -189,6 +189,9 @@ def share( logging.info(f'connecting to {qt(input)}') con = cons.connect(input, table_filter) + # create outdir + os.makedirs(outdir, exist_ok=True) + # one debug file per run output_paths = [] with get_debug_writer(debug) as debug_file: From 7e2e44d5d8aa772de3ddc6f4e5aa4fdaa73c831f Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 28 Aug 2024 13:00:41 -0400 Subject: [PATCH 132/174] test: rename int test --- tests/{int_test_delatolla.py => int_tests.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename tests/{int_test_delatolla.py => int_tests.py} (95%) diff --git a/tests/int_test_delatolla.py b/tests/int_tests.py similarity index 95% rename from tests/int_test_delatolla.py rename to tests/int_tests.py index 721f734a..fbee5af5 100644 --- a/tests/int_test_delatolla.py +++ b/tests/int_tests.py @@ -8,7 +8,7 @@ from common import OdmTestCase, readfile -class IntTestDelatolla(OdmTestCase): +class IntTests(OdmTestCase): def test_excel_delatolla(self) -> None: delatolla_dir = join(self.dir, 'int', 'delatolla') schema_path = join(delatolla_dir, 'schema.csv') From 996b7e2494e586274d1b2452912471eb5dc5b2b2 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 28 Aug 2024 13:06:41 -0400 Subject: [PATCH 133/174] test: add outdir creation test --- tests/int_tests.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/int_tests.py b/tests/int_tests.py index fbee5af5..fb0994a1 100644 --- a/tests/int_tests.py +++ b/tests/int_tests.py @@ -1,5 +1,5 @@ import unittest -from os.path import join +from os.path import exists, join from pathlib import Path from tempfile import TemporaryDirectory @@ -22,6 +22,15 @@ def test_excel_delatolla(self) -> None: expected = readfile(join(delatolla_dir, 'expected', fn)) self.assertEqual(actual, expected) + def test_outdir_creation(self) -> None: + with TemporaryDirectory() as tmpdir: + subdir = join(tmpdir, 'mysubdir') + schema_path = join(self.dir, 'common', 'passthrough-schema.csv') + data_path = join(self.dir, 'common', 'mytable.csv') + self.assertFalse(exists(subdir)) + share(schema_path, data_path, outdir=subdir) + self.assertTrue(exists(subdir)) + if __name__ == '__main__': unittest.main() From 760b496795c251e0ff27f266397e7571952876de Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 26 Aug 2024 15:29:44 -0400 Subject: [PATCH 134/174] rules: use constant for rule-id column name --- src/odm_sharing/private/rules.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index cd676596..1f940d6b 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -54,8 +54,10 @@ class ParseError(Exception): pass +RULE_ID = 'ruleID' + HEADERS = [ - 'ruleID', + RULE_ID, 'table', 'mode', 'key', @@ -124,7 +126,7 @@ def init_rule(ctx: SchemaCtx, schema_row: dict) -> Rule: '''constructs a rule from a schema row, or raises list of ParseError(s)''' def get_field_name(column: str) -> str: - return ('id' if column == 'ruleID' else column) + return ('id' if column == RULE_ID else column) def init_default_rule() -> Rule: # XXX: `mode` doesn't have a default value, but it'll be overwritten @@ -181,7 +183,7 @@ def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] if actual not in expected: err(f'got {qt(actual)}, expected {fmt_set(expected)}') - ctx.column = 'ruleID' + ctx.column = RULE_ID if rule.id <= 0: err(f'{ctx.column} must be greater than zero') From ae2a4eb0d3fdc5204782ca2085faecc55e18f493 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 26 Aug 2024 15:31:51 -0400 Subject: [PATCH 135/174] rules: handle dup rule id edge case --- src/odm_sharing/private/rules.py | 3 +++ tests/rules/schema-35.csv | 4 ++++ tests/test_rules.py | 7 +++++++ 3 files changed, 14 insertions(+) create mode 100644 tests/rules/schema-35.csv diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 1f940d6b..38612366 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -237,6 +237,9 @@ def load(schema_path: str) -> Dict[RuleId, Rule]: row_dict = row._asdict() # type: ignore rule = init_rule(ctx, row_dict) + if rule.id in result: + ctx.column = RULE_ID + fail(ctx, f'rule with id {rule.id} already exists') validate_rule(ctx, rule) result[rule.id] = rule except ParseError as e: diff --git a/tests/rules/schema-35.csv b/tests/rules/schema-35.csv new file mode 100644 index 00000000..1e63fa6a --- /dev/null +++ b/tests/rules/schema-35.csv @@ -0,0 +1,4 @@ +ruleID,table,mode,key,operator,value,notes +1,mytable,select,NA,NA,all, +2,mytable,filter,bool3,=,TRUE, +2,NA,share,OHRI,NA,1;2, diff --git a/tests/test_rules.py b/tests/test_rules.py index 9e135b5d..4a0e40bf 100644 --- a/tests/test_rules.py +++ b/tests/test_rules.py @@ -1,4 +1,5 @@ import unittest +from os.path import join import odm_sharing.private.rules as rules from odm_sharing.private.rules import Rule, RuleMode, SchemaCtx, init_rule @@ -27,6 +28,12 @@ def test_init_rule(self) -> None: key='x', operator='=', value='2') self.assertEqual(actual, expected) + def test_dup_ruleid_error(self): + # trees.parse may throw a misleading error if rules.load doesn't + # check for duplicate rule-ids + with self.assertRaisesRegex(rules.ParseError, "already exists"): + rules.load(join(self.dir, 'rules', 'schema-35.csv')) + if __name__ == '__main__': unittest.main() From 3926b7f5299d7a783bf3f8a0ab826090dd0e951b Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 26 Aug 2024 15:46:11 -0400 Subject: [PATCH 136/174] trees: hide error msg rule if zero --- src/odm_sharing/private/trees.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index 0920bb9e..6f4ea6a7 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -108,7 +108,8 @@ def __init__(self, filename: str) -> None: def gen_error(ctx: Ctx, desc: str) -> ParseError: - msg = f'{ctx.filename}(rule {ctx.rule_id}): {desc}' + loc = f'(rule {ctx.rule_id})' if ctx.rule_id else '' + msg = f'{ctx.filename}{loc}: {desc}' print('Error: ' + msg, file=sys.stderr) return ParseError(msg) From 02528a645b4cbbf2dc8f28566244d711fef99889 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 26 Aug 2024 15:47:26 -0400 Subject: [PATCH 137/174] trees: handle invalid org edge case --- src/odm_sharing/private/trees.py | 12 +++++++++++- tests/test_trees.py | 4 ++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index 6f4ea6a7..1ff011e2 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -485,11 +485,20 @@ def parse(rules: Union[Dict[RuleId, Rule], List[Rule]], :return: an opaque rule-tree object for query generation ''' + ctx = Ctx(filename) + if isinstance(rules, dict): rules = list(rules.values()) org_whitelist = set(orgs) + orgs_in_schema = seq(rules)\ + .filter(lambda r: r.mode == RuleMode.SHARE)\ + .map(lambda r: r.key)\ + .set() - ctx = Ctx(filename) + if not (org_whitelist <= orgs_in_schema): + invalid = org_whitelist - orgs_in_schema + fail(ctx, f'the specified orgs {fmt_set(invalid)} are not part of ' + + f'any share-rule in the schema {fmt_set(orgs_in_schema)}.') # make sure schema has the required (share and select) rules validate_schema(ctx, rules) @@ -508,5 +517,6 @@ def parse(rules: Union[Dict[RuleId, Rule], List[Rule]], for table in tables: add_node(ctx, rule.id, table, rule.mode, rule.key, rule.operator, rule.value) + assert ctx.root return cast(RuleTree, ctx.root) diff --git a/tests/test_trees.py b/tests/test_trees.py index dc672ed4..b9cdd9cb 100644 --- a/tests/test_trees.py +++ b/tests/test_trees.py @@ -293,6 +293,10 @@ def test_filter_multi_value(self) -> None: ''' self.assertEqual(actual, expected) + def test_invalid_org_error(self): + with self.assertRaisesRegex(ParseError, 'org.*not.*in.*schema'): + trees.parse([], 'org123') + if __name__ == '__main__': unittest.main() From 8b5e775977c7ad6c176078a8bcb67c1c05050680 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 4 Sep 2024 13:46:29 -0400 Subject: [PATCH 138/174] rules: handle header whitespace edge case (#47) --- src/odm_sharing/private/rules.py | 4 ++++ tests/rules/schema-33.csv | 1 + tests/test_rules.py | 3 +++ 3 files changed, 8 insertions(+) create mode 100644 tests/rules/schema-33.csv diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 38612366..bdfb3719 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -6,6 +6,7 @@ from typing import Any, Dict, List, Union import pandas as pd +from functional import seq from odm_sharing.private.stdext import StrValueEnum from odm_sharing.private.utils import fmt_set, qt @@ -223,6 +224,9 @@ def load(schema_path: str) -> Dict[RuleId, Rule]: # replace all different NA values with an empty string data = data.fillna('') + # trim column names to avoid silly str-compare issues (#33) + data.columns = seq(data.columns).map(str.strip).list() + # XXX: loading is aborted on header errors since row-parsing depends on it validate_headers(ctx, data.columns.to_list()) diff --git a/tests/rules/schema-33.csv b/tests/rules/schema-33.csv new file mode 100644 index 00000000..04823c9a --- /dev/null +++ b/tests/rules/schema-33.csv @@ -0,0 +1 @@ + ruleID ,table,mode ,key,operator, value,notes diff --git a/tests/test_rules.py b/tests/test_rules.py index 4a0e40bf..ff01b658 100644 --- a/tests/test_rules.py +++ b/tests/test_rules.py @@ -34,6 +34,9 @@ def test_dup_ruleid_error(self): with self.assertRaisesRegex(rules.ParseError, "already exists"): rules.load(join(self.dir, 'rules', 'schema-35.csv')) + def test_header_whitespace_allowed(self) -> None: + rules.load(join(self.dir, 'rules', 'schema-33.csv')) + if __name__ == '__main__': unittest.main() From fbc9562efdb5b18b501bf0b3e771ce5a969db687 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 6 Sep 2024 11:10:04 -0400 Subject: [PATCH 139/174] cli: log relative output paths (#50) --- src/odm_sharing/tools/share.py | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 414408a8..918e5039 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -2,6 +2,7 @@ import logging import os import sys +from collections import namedtuple from enum import Enum from os import linesep from pathlib import Path @@ -23,6 +24,9 @@ from odm_sharing.private.utils import qt +FilePath = namedtuple('FilePath', ['abspath', 'relpath', 'filename']) + + class OutFmt(str, Enum): '''output format''' AUTO = 'auto' @@ -135,6 +139,14 @@ def gen_filename(in_name: str, org: str, table: str, ext: str) -> str: return f'{in_name}-{org}-{table}.{ext}' +def gen_filepath(outdir: str, in_name: str, org: str, table: str, ext: str + ) -> FilePath: + filename = gen_filename(in_name, org, table, ext) + abspath = os.path.join(outdir, filename) + relpath = os.path.relpath(abspath, os.getcwd()) + return FilePath(abspath=abspath, relpath=relpath, filename=filename) + + def get_debug_writer(debug: bool) -> Union[TextIO, contextlib.nullcontext]: # XXX: this function is only used for brewity with the below `with` clause if debug: @@ -205,20 +217,19 @@ def share( org_data[table] = sh.get_data(con, tq) # one excel file per org - excel_fn = gen_filename(in_name, org, '', 'xlsx') - excel_path = os.path.join(outdir, excel_fn) + excel_path = gen_filepath(outdir, in_name, org, '', 'xlsx') excel_file = None if not debug and outfmt == OutFmt.EXCEL: - excel_file = pd.ExcelWriter(excel_path, engine='openpyxl') - logging.info('writing ' + excel_fn) + excel_file = pd.ExcelWriter(excel_path.abspath, + engine='openpyxl') + logging.info('writing ' + excel_path.relpath) try: for table, data in org_data.items(): if outfmt == OutFmt.CSV: - filename = gen_filename(in_name, org, table, 'csv') - path = os.path.join(outdir, filename) - logging.info('writing ' + filename) - data.to_csv(path, index=False) - output_paths.append(path) + p = gen_filepath(outdir, in_name, org, table, 'csv') + logging.info('writing ' + p.relpath) + data.to_csv(p.abspath, index=False) + output_paths.append(p.relpath) elif outfmt == OutFmt.EXCEL: logging.info(f'- {qt(table)}') data.to_excel(excel_file, sheet_name=table, @@ -235,7 +246,7 @@ def share( if excel_file: excel_file.close() if excel_file: - output_paths.append(excel_path) + output_paths.append(excel_path.relpath) logging.info('done') return output_paths From 0511e4c16ad8f9241cac8993bd7a4309de17d8e7 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 5 Sep 2024 17:21:47 -0400 Subject: [PATCH 140/174] doc/man: specify quoted string values --- docs/manual/chapters/schemas.qmd | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/docs/manual/chapters/schemas.qmd b/docs/manual/chapters/schemas.qmd index d0b2383b..2394367b 100644 --- a/docs/manual/chapters/schemas.qmd +++ b/docs/manual/chapters/schemas.qmd @@ -133,13 +133,17 @@ the filter argument is: **column name** **operator** **value** ``` -Where the "column name" the name of a column (specified in the `key` column) -from the table(s) specified in the `table` column, and the "value" is the value -or range of values that determine whether a row is selected for sharing, stored -in the `value` column. The "operator" is a placeholder for the symbol indicates -that the nature of the filter to be applied, and the desired relationship -between the `key` and the `value`. The currently accepted values for the -`operator` column are: +"column name" is the name of a column (specified in the `key` column) from the +table(s) specified in the `table` column. + +"value" is the value, or range of values, that determine whether a row is +selected for sharing. It's stored in the `value` column. String values can +optionally be quoted with double-quotes (`"`) to allow commas, while +single-quotes are assumed to be part of the value. + +"operator" is a placeholder for the symbol indicates that the nature of the +filter to be applied, and the desired relationship between the `key` and the +`value`. The currently accepted values for the `operator` column are: - **=**: Denotes exact equivalence. This should be used for categorical or character variables. From 0bd916a2da031bff0f039905fe09bb72b3eddff0 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 5 Sep 2024 17:32:38 -0400 Subject: [PATCH 141/174] rules: normalize case of group-ops for user-friendliness, and to be consistent with the trees module --- src/odm_sharing/private/rules.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index bdfb3719..5c914603 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -77,7 +77,7 @@ class ParseError(Exception): ]) ALL_MODES = set(RuleMode) -GROUP_OPERATORS = set(['AND', 'OR']) +GROUP_OPERATORS = set(['and', 'or']) RULE_FIELD_TYPES = Rule.__annotations__ RULE_FIELDS = set(RULE_FIELD_TYPES.keys()) HEADER_LIST_STR = ','.join(HEADERS) @@ -202,7 +202,7 @@ def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] if rule.mode == RuleMode.FILTER: check_set(ctx, rule.operator, FILTER_OPERATORS) elif rule.mode == RuleMode.GROUP: - check_set(ctx, rule.operator, GROUP_OPERATORS) + check_set(ctx, rule.operator.lower(), GROUP_OPERATORS) ctx.column = 'value' check_required(ctx, rule.value, rule.mode, ALL_MODES) From 3f629ba32ff0ab4ddd5534419c2d78a4ce6126cd Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 5 Sep 2024 17:33:42 -0400 Subject: [PATCH 142/174] rules: allow empty filter str value --- src/odm_sharing/private/rules.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 5c914603..4a402a1e 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -172,7 +172,8 @@ def err(msg: str) -> None: def check_required(ctx: SchemaCtx, val: str, mode: RuleMode, modes: Union[set, list]) -> None: - has = bool(val) + # XXX: empty filter string value must be allowed + has = bool(val) or (mode == RuleMode.FILTER and val == '') should_have = mode in modes if has and not should_have: err(f'{ctx.column} must be empty/NA for mode {qt(mode)}') From 48afa97d5e639a9c116f2f9dec792115c2b85227 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 5 Sep 2024 17:35:27 -0400 Subject: [PATCH 143/174] test: add filter string value test --- tests/api/str-filter-schema.csv | 11 +++++++++++ tests/test_api.py | 8 ++++++++ 2 files changed, 19 insertions(+) create mode 100644 tests/api/str-filter-schema.csv diff --git a/tests/api/str-filter-schema.csv b/tests/api/str-filter-schema.csv new file mode 100644 index 00000000..4e6e9483 --- /dev/null +++ b/tests/api/str-filter-schema.csv @@ -0,0 +1,11 @@ +ruleID,table,mode,key,operator,value,notes +1,mytable,select,NA,NA,str1;str2, +2,mytable,filter,str1,=,a, +3,mytable,filter,str1,=,"a", +4,mytable,filter,str1,<,b, +5,mytable,filter,str2,=,, +6,mytable,filter,str2,=,"", +7,,group,,and,2;3;4, +8,,group,,and,5;6, +9,,group,,or,7;8, +10,NA,share,OHRI,NA,1;9, diff --git a/tests/test_api.py b/tests/test_api.py index e47c3bc0..d4554ade 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -56,6 +56,14 @@ def test_excel(self) -> None: self._test_extract_true(fn) self._test_extract_strict_subset(fn) + def test_excel_string_filter(self) -> None: + '''tests that '=' and '<' filters work with strings''' + schema_path = join(self.dir, 'api', 'str-filter-schema.csv') + data_path = join(self.dir, 'common', 'testdata.xlsx') + df = sh.extract(schema_path, data_path)['OHRI']['mytable'] + self.assertEqual(df['str1'].to_list(), ['a']) + self.assertEqual(df['str2'].to_list(), ['']) + if __name__ == '__main__': unittest.main() From fef5322792619657eb3ae11f4f6f185e87930328 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 3 Sep 2024 09:37:52 -0400 Subject: [PATCH 144/174] cons: add sqlalchemy input url detection --- src/odm_sharing/private/cons.py | 14 ++++++++++- tests/test_cons.py | 41 +++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 tests/test_cons.py diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index dbf62fed..1aaa39ef 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -223,6 +223,16 @@ def _detect_sqlite(path: str) -> bool: return False +def _detect_sqlalchemy(path: str) -> bool: + if not path: + return False + try: + sa.engine.url.make_url(path) + return True + except sa.exc.ArgumentError: + return False + + def connect(data_source: str, tables: Set[str] = set()) -> Connection: ''' connects to a data source and returns the connection @@ -245,8 +255,10 @@ def connect(data_source: str, tables: Set[str] = set()) -> Connection: return _connect_excel(data_source, tables) elif _detect_sqlite(data_source): return _connect_db(f'sqlite:///{data_source}') - else: + elif _detect_sqlalchemy(data_source): return _connect_db(data_source) + else: + raise DataSourceError('unrecognized data source format') except (OSError, sa.exc.OperationalError) as e: raise DataSourceError(str(e)) diff --git a/tests/test_cons.py b/tests/test_cons.py new file mode 100644 index 00000000..45b4e290 --- /dev/null +++ b/tests/test_cons.py @@ -0,0 +1,41 @@ +import unittest + +import odm_sharing.private.cons as cons + +from common import OdmTestCase + + +class TestCons(OdmTestCase): + def test_detect_sqlalchemy(self) -> None: + valid_urls = [ + 'postgresql+pg8000://dbuser:kx%40jj5%2Fg@pghost10/appdb', + 'postgresql://scott:tiger@localhost/mydatabase', + 'postgresql+psycopg2://scott:tiger@localhost/mydatabase', + 'postgresql+pg8000://scott:tiger@localhost/mydatabase', + 'mysql://scott:tiger@localhost/foo', + 'mysql+mysqldb://scott:tiger@localhost/foo', + 'mysql+pymysql://scott:tiger@localhost/foo', + 'oracle://scott:tiger@127.0.0.1:1521/sidname', + 'oracle+cx_oracle://scott:tiger@tnsname', + 'mssql+pyodbc://scott:tiger@mydsn', + 'mssql+pymssql://scott:tiger@hostname:8080/dbname', + 'sqlite:///foo.db', + 'sqlite:////absolute/path/to/foo.db', + 'sqlite:///C:\\path\\to\\foo.db', + r'sqlite:///C:\path\to\foo.db', + 'sqlite://', + ] + for path in valid_urls: + self.assertTrue(cons._detect_sqlalchemy(path)) + + invalid_urls = [ + 'myfile.db', + 'x:/', + '', + ] + for path in invalid_urls: + self.assertFalse(cons._detect_sqlalchemy(path)) + + +if __name__ == '__main__': + unittest.main() From f3e66b84469ee7c3b0fe715c6a1b2aaf3a488cb4 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 3 Sep 2024 10:31:33 -0400 Subject: [PATCH 145/174] cli: default to excel output, remove warning --- docs/manual/chapters/cli-reference.qmd | 3 ++- src/odm_sharing/tools/share.py | 16 +++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/docs/manual/chapters/cli-reference.qmd b/docs/manual/chapters/cli-reference.qmd index 7858c769..60347889 100644 --- a/docs/manual/chapters/cli-reference.qmd +++ b/docs/manual/chapters/cli-reference.qmd @@ -31,7 +31,8 @@ Options: - `--outfmt=FORMAT` - output format (excel or csv), defaults to input format + output format (`excel` or `csv`), defaults to input format when input is a + file and `excel` when it's a database - `--outdir=PATH` diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 918e5039..5c9518a2 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -6,7 +6,7 @@ from enum import Enum from os import linesep from pathlib import Path -from typing import Dict, List, Optional, Set, TextIO, Union +from typing import Dict, List, Set, TextIO, Union from typing_extensions import Annotated import pandas as pd @@ -155,14 +155,13 @@ def get_debug_writer(debug: bool) -> Union[TextIO, contextlib.nullcontext]: return contextlib.nullcontext() -def infer_outfmt(path: str) -> Optional[OutFmt]: +def infer_outfmt(path: str) -> OutFmt: '''returns None when not recognized''' (_, ext) = os.path.splitext(path) if ext == '.csv': return OutFmt.CSV - elif ext == '.xlsx': + else: return OutFmt.EXCEL - return None def share( @@ -179,13 +178,8 @@ def share( in_name = Path(input).stem if outfmt == OutFmt.AUTO: - fmt = infer_outfmt(input) - if not fmt: - logging.warning('unable to infer output format from input path, ' + - 'defaulting to excel') - outfmt = OutFmt.EXCEL - else: - outfmt = fmt + outfmt = infer_outfmt(input) + logging.info(f'inferred output format as {outfmt}') logging.info(f'loading schema {qt(schema_filename)}') try: From bfdfd6e9abbec31eedaa327624394ff666fe5a18 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 10 Sep 2024 11:15:28 -0400 Subject: [PATCH 146/174] cons: cleanup --- src/odm_sharing/private/cons.py | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 1aaa39ef..2691fde5 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -13,10 +13,6 @@ from odm_sharing.private.common import ColumnName, TableName, F, T -# types -############################################################################### - - Sheet = xl.worksheet._read_only.ReadOnlyWorksheet @@ -30,10 +26,6 @@ class DataSourceError(Exception): pass -# constants -############################################################################### - - F_FORMULA = '=FALSE()' T_FORMULA = '=TRUE()' @@ -42,10 +34,6 @@ class DataSourceError(Exception): NA_VALS = ['', 'NA'] -# private functions -############################################################################### - - def _create_memory_db() -> sa.engine.Engine: return sa.create_engine('sqlite://', echo=False) @@ -209,8 +197,6 @@ def _connect_db(url: str) -> Connection: return Connection(sa.create_engine(url), defaultdict(set)) -# public functions -############################################################################### def _detect_sqlite(path: str) -> bool: From c588a14d97254bd0ce7283ba5de09716b2448319 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 10 Sep 2024 11:27:57 -0400 Subject: [PATCH 147/174] cons: detect db bool cols --- docs/manual/chapters/data-sources.qmd | 3 ++- src/odm_sharing/private/cons.py | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/manual/chapters/data-sources.qmd b/docs/manual/chapters/data-sources.qmd index 033fe3ee..979e0f94 100644 --- a/docs/manual/chapters/data-sources.qmd +++ b/docs/manual/chapters/data-sources.qmd @@ -24,4 +24,5 @@ won't be recognized as boolean. There may also be false-positives if any of the boolean values shown above are used in a column meant for text. Finally, boolean values included in the filtered output are converted to the -string values `FALSE`/`TRUE`. +string values `FALSE`/`TRUE`. This is also the case when using databases as +input. diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 2691fde5..27c5cab5 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -194,9 +194,17 @@ def _connect_excel(path: str, table_whitelist: Set[str]) -> Connection: def _connect_db(url: str) -> Connection: ''':raises sa.exc.OperationalError:''' - return Connection(sa.create_engine(url), defaultdict(set)) + handle = sa.create_engine(url) + # find bool cols + bool_cols = defaultdict(set) + db_info = sa.inspect(handle) + for table in db_info.get_table_names(): + for col_info in db_info.get_columns(table): + if isinstance(col_info['type'], sa.sql.sqltypes.BOOLEAN): + bool_cols[table].add(col_info['name']) + return Connection(handle, bool_cols) def _detect_sqlite(path: str) -> bool: From 4fbf71c7c7a59a225e9ae448b82f11e36c671bad Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 11 Sep 2024 14:56:23 -0400 Subject: [PATCH 148/174] cons: add temp-db path override --- src/odm_sharing/private/cons.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 27c5cab5..b584c0ef 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -1,4 +1,5 @@ import logging +import os from collections import defaultdict from dataclasses import dataclass from pathlib import Path @@ -34,8 +35,14 @@ class DataSourceError(Exception): NA_VALS = ['', 'NA'] -def _create_memory_db() -> sa.engine.Engine: - return sa.create_engine('sqlite://', echo=False) +def _create_temp_db() -> sa.engine.Engine: + path = '' # in-memory by default + custom_path = os.environ.get('ODM_TEMP_DB', '') + if custom_path: + # XXX: extra initial slash required for both rel and abs paths + path = '/' + custom_path + logging.info(f'using temp db {custom_path}') + return sa.create_engine(f'sqlite://{path}', echo=False) def _write_table_to_db(db: sa.engine.Engine, table: str, df: pd.DataFrame @@ -46,8 +53,8 @@ def _write_table_to_db(db: sa.engine.Engine, table: str, df: pd.DataFrame def _datasets_to_db(datasets: Dict[TableName, pd.DataFrame] ) -> sa.engine.Engine: - '''creates an in-memory db and writes the datasets as tables''' - db = _create_memory_db() + '''creates a temp db and writes the datasets as tables''' + db = _create_temp_db() for table, df in datasets.items(): _write_table_to_db(db, table, df) return db From 7c76cf2d345b4951d160ad220959ffecfeee8d30 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 11 Sep 2024 14:56:38 -0400 Subject: [PATCH 149/174] test: add int test of sqlite db input --- tests/.gitignore | 1 + tests/int_tests.py | 39 +++++++++++++++++++++++++++++++++------ 2 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 tests/.gitignore diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 00000000..50e50392 --- /dev/null +++ b/tests/.gitignore @@ -0,0 +1 @@ +data.sqlite diff --git a/tests/int_tests.py b/tests/int_tests.py index fb0994a1..409d7bbf 100644 --- a/tests/int_tests.py +++ b/tests/int_tests.py @@ -1,3 +1,4 @@ +import os import unittest from os.path import exists, join from pathlib import Path @@ -8,20 +9,46 @@ from common import OdmTestCase, readfile -class IntTests(OdmTestCase): - def test_excel_delatolla(self) -> None: - delatolla_dir = join(self.dir, 'int', 'delatolla') - schema_path = join(delatolla_dir, 'schema.csv') - data_path = join(delatolla_dir, 'data.xlsx') +def _remove_file(path): + try: + os.remove(path) + except FileNotFoundError: + pass + + +class DelatollaIntTests(OdmTestCase): + def setUp(self): + super().setUp() + self.delatolla_dir = join(self.dir, 'int', 'delatolla') + self.dbname = 'data.sqlite' + self.dbpath = join(self.delatolla_dir, self.dbname) + + # remove db from previous run + _remove_file(self.dbpath) + + def _test_impl(self, data_filename) -> None: + data_path = join(self.delatolla_dir, data_filename) + schema_path = join(self.delatolla_dir, 'schema.csv') with TemporaryDirectory() as tmpdir: paths = share(schema_path, data_path, outdir=tmpdir, outfmt=OutFmt.CSV) for path in paths: actual = readfile(path) fn = Path(path).name - expected = readfile(join(delatolla_dir, 'expected', fn)) + expected = readfile(join(self.delatolla_dir, 'expected', fn)) self.assertEqual(actual, expected) + def test(self) -> None: + + # test excel + os.environ['ODM_TEMP_DB'] = self.dbpath + self._test_impl('data.xlsx') + + # test sqlite using the db generated from the excel file (to save time) + self._test_impl(self.dbname) + + +class MiscIntTests(OdmTestCase): def test_outdir_creation(self) -> None: with TemporaryDirectory() as tmpdir: subdir = join(tmpdir, 'mysubdir') From 717136a9b071197a801bb6925e5f651a8b8a2ab1 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 23 Sep 2024 12:07:30 -0400 Subject: [PATCH 150/174] test: fix invalid org test --- tests/test_trees.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_trees.py b/tests/test_trees.py index b9cdd9cb..238273c1 100644 --- a/tests/test_trees.py +++ b/tests/test_trees.py @@ -294,8 +294,8 @@ def test_filter_multi_value(self) -> None: self.assertEqual(actual, expected) def test_invalid_org_error(self): - with self.assertRaisesRegex(ParseError, 'org.*not.*in.*schema'): - trees.parse([], 'org123') + with self.assertRaisesRegex(ParseError, 'org123.*not.*in.*schema'): + trees.parse(rules=[], orgs=['org123']) if __name__ == '__main__': From f34ca82f122ab42dafbc572f7713e5edda5e481e Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 19 Sep 2024 13:12:38 -0400 Subject: [PATCH 151/174] test: call real cli in integration tests --- tests/int_tests.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/tests/int_tests.py b/tests/int_tests.py index 409d7bbf..e15d2f03 100644 --- a/tests/int_tests.py +++ b/tests/int_tests.py @@ -1,10 +1,13 @@ import os +import subprocess +import sys import unittest from os.path import exists, join from pathlib import Path from tempfile import TemporaryDirectory +from typing import List -from odm_sharing.tools.share import OutFmt, share +from odm_sharing.tools.share import OutFmt from common import OdmTestCase, readfile @@ -16,6 +19,26 @@ def _remove_file(path): pass +def run( + args: List[str], outdir: str, outfmt: OutFmt = OutFmt.AUTO +) -> subprocess.CompletedProcess: + res = subprocess.run([ + 'odm-share', + '--quiet', + '--list', + '--outdir', outdir, + '--outfmt', outfmt.CSV.value, + ] + args, + capture_output=True) + if res.stderr: + sys.stderr.buffer.write(res.stderr) + raise Exception('failed to run') + assert res.returncode == 0 + assert res.stdout + paths = res.stdout.decode().splitlines() + return paths + + class DelatollaIntTests(OdmTestCase): def setUp(self): super().setUp() @@ -30,8 +53,7 @@ def _test_impl(self, data_filename) -> None: data_path = join(self.delatolla_dir, data_filename) schema_path = join(self.delatolla_dir, 'schema.csv') with TemporaryDirectory() as tmpdir: - paths = share(schema_path, data_path, outdir=tmpdir, - outfmt=OutFmt.CSV) + paths = run([schema_path, data_path], tmpdir, OutFmt.CSV) for path in paths: actual = readfile(path) fn = Path(path).name @@ -55,7 +77,7 @@ def test_outdir_creation(self) -> None: schema_path = join(self.dir, 'common', 'passthrough-schema.csv') data_path = join(self.dir, 'common', 'mytable.csv') self.assertFalse(exists(subdir)) - share(schema_path, data_path, outdir=subdir) + run([schema_path, data_path], outdir=subdir) self.assertTrue(exists(subdir)) From b6c5ca4b3c547c60b15d72b9d48a3c3d849fe391 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 20 Sep 2024 12:14:40 -0400 Subject: [PATCH 152/174] use schema name in output filename to have a common reference when multiple input files are used --- docs/manual/chapters/cli-usage.qmd | 9 ++++---- src/odm_sharing/tools/share.py | 22 ++++++------------- ...-measures.csv => schema-org1-measures.csv} | 0 ...g1-samples.csv => schema-org1-samples.csv} | 0 ...a-org1-sites.csv => schema-org1-sites.csv} | 0 ...-measures.csv => schema-org2-measures.csv} | 0 ...g2-samples.csv => schema-org2-samples.csv} | 0 ...a-org2-sites.csv => schema-org2-sites.csv} | 0 8 files changed, 12 insertions(+), 19 deletions(-) rename tests/int/delatolla/expected/{data-org1-measures.csv => schema-org1-measures.csv} (100%) rename tests/int/delatolla/expected/{data-org1-samples.csv => schema-org1-samples.csv} (100%) rename tests/int/delatolla/expected/{data-org1-sites.csv => schema-org1-sites.csv} (100%) rename tests/int/delatolla/expected/{data-org2-measures.csv => schema-org2-measures.csv} (100%) rename tests/int/delatolla/expected/{data-org2-samples.csv => schema-org2-samples.csv} (100%) rename tests/int/delatolla/expected/{data-org2-sites.csv => schema-org2-sites.csv} (100%) diff --git a/docs/manual/chapters/cli-usage.qmd b/docs/manual/chapters/cli-usage.qmd index 5bfbdc71..04a96879 100644 --- a/docs/manual/chapters/cli-usage.qmd +++ b/docs/manual/chapters/cli-usage.qmd @@ -18,8 +18,9 @@ the following command can be used: odm-share schema.csv measures.csv ``` -It will make an output file called `measures-.csv` for each organization -specified in the schema, with filtered data that is ready to share. +It will make an output file called `--measures.csv` for each +organization specified in the schema, with filtered data that is ready to +share. ### Using an Excel file @@ -29,8 +30,8 @@ Excel files can be used as input to share multiple tables at once: odm-share schema.csv data.xlsx ``` -It will make an output file called `.xlsx` for each organization in the -schema. +It will make an output file called `-.xlsx` for each +organization in the schema. ### Using a database diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 5c9518a2..c20b2cc8 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -130,18 +130,10 @@ def get_tables(org_queries: sh.queries.OrgTableQueries) -> Set[str]: return result -def gen_filename(in_name: str, org: str, table: str, ext: str) -> str: - if in_name == table or not table: - # this avoids duplicating the table name when both input and output is - # CSV - return f'{in_name}-{org}.{ext}' - else: - return f'{in_name}-{org}-{table}.{ext}' - - -def gen_filepath(outdir: str, in_name: str, org: str, table: str, ext: str +def gen_filepath(outdir: str, schema_name: str, org: str, table: str, ext: str ) -> FilePath: - filename = gen_filename(in_name, org, table, ext) + parts = [schema_name, org] + ([table] if table else []) + filename = '-'.join(parts) + f'.{ext}' abspath = os.path.join(outdir, filename) relpath = os.path.relpath(abspath, os.getcwd()) return FilePath(abspath=abspath, relpath=relpath, filename=filename) @@ -175,8 +167,7 @@ def share( '''returns list of output files''' schema_path = schema schema_filename = Path(schema_path).name - in_name = Path(input).stem - + schema_name = Path(schema_path).stem if outfmt == OutFmt.AUTO: outfmt = infer_outfmt(input) logging.info(f'inferred output format as {outfmt}') @@ -211,7 +202,7 @@ def share( org_data[table] = sh.get_data(con, tq) # one excel file per org - excel_path = gen_filepath(outdir, in_name, org, '', 'xlsx') + excel_path = gen_filepath(outdir, schema_name, org, '', 'xlsx') excel_file = None if not debug and outfmt == OutFmt.EXCEL: excel_file = pd.ExcelWriter(excel_path.abspath, @@ -220,7 +211,8 @@ def share( try: for table, data in org_data.items(): if outfmt == OutFmt.CSV: - p = gen_filepath(outdir, in_name, org, table, 'csv') + p = gen_filepath(outdir, schema_name, org, table, + 'csv') logging.info('writing ' + p.relpath) data.to_csv(p.abspath, index=False) output_paths.append(p.relpath) diff --git a/tests/int/delatolla/expected/data-org1-measures.csv b/tests/int/delatolla/expected/schema-org1-measures.csv similarity index 100% rename from tests/int/delatolla/expected/data-org1-measures.csv rename to tests/int/delatolla/expected/schema-org1-measures.csv diff --git a/tests/int/delatolla/expected/data-org1-samples.csv b/tests/int/delatolla/expected/schema-org1-samples.csv similarity index 100% rename from tests/int/delatolla/expected/data-org1-samples.csv rename to tests/int/delatolla/expected/schema-org1-samples.csv diff --git a/tests/int/delatolla/expected/data-org1-sites.csv b/tests/int/delatolla/expected/schema-org1-sites.csv similarity index 100% rename from tests/int/delatolla/expected/data-org1-sites.csv rename to tests/int/delatolla/expected/schema-org1-sites.csv diff --git a/tests/int/delatolla/expected/data-org2-measures.csv b/tests/int/delatolla/expected/schema-org2-measures.csv similarity index 100% rename from tests/int/delatolla/expected/data-org2-measures.csv rename to tests/int/delatolla/expected/schema-org2-measures.csv diff --git a/tests/int/delatolla/expected/data-org2-samples.csv b/tests/int/delatolla/expected/schema-org2-samples.csv similarity index 100% rename from tests/int/delatolla/expected/data-org2-samples.csv rename to tests/int/delatolla/expected/schema-org2-samples.csv diff --git a/tests/int/delatolla/expected/data-org2-sites.csv b/tests/int/delatolla/expected/schema-org2-sites.csv similarity index 100% rename from tests/int/delatolla/expected/data-org2-sites.csv rename to tests/int/delatolla/expected/schema-org2-sites.csv From b87948c2e76a7a7ccc2d3c7dc987b79f753cdfe8 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 23 Sep 2024 11:24:47 -0400 Subject: [PATCH 153/174] support multiple CSV files --- src/odm_sharing/private/cons.py | 54 +++++++++++++++++++++------------ src/odm_sharing/sharing.py | 2 +- src/odm_sharing/tools/share.py | 15 ++++----- tests/cli/multi-schema.csv | 4 +++ tests/cli/mytable1.csv | 2 ++ tests/cli/mytable2.csv | 2 ++ tests/test_cli.py | 30 +++++++++++++++--- 7 files changed, 76 insertions(+), 33 deletions(-) create mode 100644 tests/cli/multi-schema.csv create mode 100644 tests/cli/mytable1.csv create mode 100644 tests/cli/mytable2.csv diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index b584c0ef..ab6ded67 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -12,6 +12,7 @@ from openpyxl.workbook import Workbook from odm_sharing.private.common import ColumnName, TableName, F, T +from odm_sharing.private.utils import qt Sheet = xl.worksheet._read_only.ReadOnlyWorksheet @@ -129,18 +130,23 @@ def _normalize_bool_values(df: pd.DataFrame, bool_cols: Set[ColumnName] df[col] = df[col].replace({F: '0', T: '1'}) -def _connect_csv(path: str) -> Connection: +def _connect_csv(paths: List[str]) -> Connection: '''copies file data to in-memory db :raises OSError:''' + # XXX: NA-values are not normalized to avoid mutating user data (#31) - logging.info('importing csv file') - table = Path(path).stem - df = pd.read_csv(path, na_filter=False) - bool_cols = _find_bool_cols(df, BOOL_VALS) - _normalize_bool_values(df, bool_cols) - db = _datasets_to_db({table: df}) - return Connection(db, {table: bool_cols}) + dfs = {} + bool_cols = {} + for path in paths: + table = Path(path).stem + logging.info(f'importing {qt(table)} from {path}') + df = pd.read_csv(path, na_filter=False) + bool_cols[table] = _find_bool_cols(df, BOOL_VALS) + _normalize_bool_values(df, bool_cols[table]) + dfs[table] = df + db = _datasets_to_db(dfs) + return Connection(db, bool_cols) def _iter_sheets(wb: Workbook, included_tables: Set[str]) -> Generator: @@ -234,9 +240,10 @@ def _detect_sqlalchemy(path: str) -> bool: return False -def connect(data_source: str, tables: Set[str] = set()) -> Connection: +def connect(paths: List[str], tables: Set[str] = set() + ) -> Connection: ''' - connects to a data source and returns the connection + connects to one or more data sources and returns the connection :param tables: when connecting to an excel file, this acts as a sheet whitelist @@ -248,18 +255,25 @@ def connect(data_source: str, tables: Set[str] = set()) -> Connection: # as 0/1, which we'll have to convert back (using previously detected bool # columns) to 'FALSE'/'TRUE' before returning the data to the user. This # happens in `odm_sharing.sharing.get_data`. - + if not paths: + raise DataSourceError('no data source') try: - if data_source.endswith('.csv'): - return _connect_csv(data_source) - elif data_source.endswith('.xlsx'): - return _connect_excel(data_source, tables) - elif _detect_sqlite(data_source): - return _connect_db(f'sqlite:///{data_source}') - elif _detect_sqlalchemy(data_source): - return _connect_db(data_source) + path = paths[0] + is_csv = path.endswith('.csv') + if not is_csv and len(paths) > 1: + logging.warning('ignoring additional inputs (for CSV only)') + + if is_csv: + return _connect_csv(paths) + elif path.endswith('.xlsx'): + return _connect_excel(path, tables) + elif _detect_sqlite(path): + return _connect_db(f'sqlite:///{path}') + elif _detect_sqlalchemy(path): + return _connect_db(path) else: - raise DataSourceError('unrecognized data source format') + raise DataSourceError('unrecognized data source format for ' + + f'path {path}') except (OSError, sa.exc.OperationalError) as e: raise DataSourceError(str(e)) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index e18b558c..3fd28940 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -49,7 +49,7 @@ def connect(data_source: str, tables: List[str] = []) -> Connection: :raises DataSourceError: if the connection couldn't be established ''' - return cons.connect(data_source, set(tables)) + return cons.connect([data_source], set(tables)) def get_data(c: Connection, tq: TableQuery) -> pandas.DataFrame: diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index c20b2cc8..40ffe874 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -35,7 +35,7 @@ class OutFmt(str, Enum): SCHEMA_DESC = 'Sharing schema file path.' -INPUT_DESC = 'Input spreadsheet file-path or SQLAlchemy database-url.' +INPUT_DESC = 'Input spreadsheet file-path(s) or SQLAlchemy database-url.' ORGS_DESC = '''Comma separated list of organizations to share with, defaults to all.''' @@ -158,7 +158,7 @@ def infer_outfmt(path: str) -> OutFmt: def share( schema: str, - input: str, + inputs: List[str], orgs: List[str] = ORGS_DEFAULT, outfmt: OutFmt = OUTFMT_DEFAULT, outdir: str = OUTDIR_DEFAULT, @@ -168,8 +168,9 @@ def share( schema_path = schema schema_filename = Path(schema_path).name schema_name = Path(schema_path).stem + first_input = inputs[0] if outfmt == OutFmt.AUTO: - outfmt = infer_outfmt(input) + outfmt = infer_outfmt(first_input) logging.info(f'inferred output format as {outfmt}') logging.info(f'loading schema {qt(schema_filename)}') @@ -183,8 +184,8 @@ def share( return [] # XXX: only tables found in the schema are considered in the data source - logging.info(f'connecting to {qt(input)}') - con = cons.connect(input, table_filter) + logging.info('connecting...') + con = cons.connect(inputs, table_filter) # create outdir os.makedirs(outdir, exist_ok=True) @@ -240,7 +241,7 @@ def share( @app.command() def main_cli( schema: str = typer.Argument(default=..., help=SCHEMA_DESC), - input: str = typer.Argument(default=..., help=INPUT_DESC), + inputs: List[str] = typer.Argument(default=..., help=INPUT_DESC), orgs: List[str] = typer.Option(default=ORGS_DEFAULT, help=ORGS_DESC), outfmt: OutFmt = typer.Option(default=OUTFMT_DEFAULT, help=OUTFMT_DESC), outdir: str = typer.Option(default=OUTDIR_DEFAULT, help=OUTDIR_DESC), @@ -253,7 +254,7 @@ def main_cli( ) -> None: if not quiet: logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) - paths = share(schema, input, orgs, outfmt, outdir, debug) + paths = share(schema, inputs, orgs, outfmt, outdir, debug) if list_output: cwd = os.getcwd() relpaths = seq(paths).map(lambda abs: os.path.relpath(abs, cwd)) diff --git a/tests/cli/multi-schema.csv b/tests/cli/multi-schema.csv new file mode 100644 index 00000000..9722e740 --- /dev/null +++ b/tests/cli/multi-schema.csv @@ -0,0 +1,4 @@ +ruleID,table,mode,key,operator,value,notes +1,mytable1,select,NA,NA,x, +2,mytable2,select,NA,NA,x, +3,NA,share,OHRI,NA,1;2, diff --git a/tests/cli/mytable1.csv b/tests/cli/mytable1.csv new file mode 100644 index 00000000..e3a3c2b4 --- /dev/null +++ b/tests/cli/mytable1.csv @@ -0,0 +1,2 @@ +id,x +1,a diff --git a/tests/cli/mytable2.csv b/tests/cli/mytable2.csv new file mode 100644 index 00000000..0ee74356 --- /dev/null +++ b/tests/cli/mytable2.csv @@ -0,0 +1,2 @@ +id,x +2,b diff --git a/tests/test_cli.py b/tests/test_cli.py index eccb1c0a..f8b6f987 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -3,21 +3,22 @@ from tempfile import TemporaryDirectory from typing import List +from functional import seq from odm_sharing.tools.share import OutFmt, share from common import OdmTestCase, readfile -def share_csv(schema_path, data_path) -> List[str]: +def share_csv(schema_path: str, data_path: str) -> List[str]: with TemporaryDirectory() as dir: - share(schema_path, data_path, outdir=dir) - outfile = join(dir, 'mytable-OHRI.csv') + share(schema_path, [data_path], outdir=dir) + outfile = join(dir, 'passthrough-schema-OHRI-mytable.csv') return readfile(outfile) -def share_excel(schema_path, data_path, outfmt) -> List[str]: +def share_excel(schema_path, data_path: str, outfmt) -> List[str]: with TemporaryDirectory() as dir: - outfiles = share(schema_path, data_path, outdir=dir, outfmt=outfmt) + outfiles = share(schema_path, [data_path], outdir=dir, outfmt=outfmt) return readfile(outfiles[0]) @@ -36,6 +37,25 @@ def test_excel_to_csv(self) -> None: dst_content = share_excel(schema_path, data_path, OutFmt.CSV) self.assertEqual(src_content, dst_content) + def _multi_impl(self, schema_path: str, inputs: List[str], outdir: str): + share(schema_path, inputs, outdir=outdir) + outfiles = [ + join(outdir, 'multi-schema-OHRI-mytable1.csv'), + join(outdir, 'multi-schema-OHRI-mytable2.csv'), + ] + actual = (''.join(seq(outfiles).map(readfile))).splitlines() + expected = ['x', 'a', 'x', 'b'] + self.assertEqual(actual, expected) + + def test_multi_csv(self) -> None: + schema_path = join(self.dir, 'cli', 'multi-schema.csv') + data_paths = [ + join(self.dir, 'cli', 'mytable1.csv'), + join(self.dir, 'cli', 'mytable2.csv'), + ] + with TemporaryDirectory() as dir: + self._multi_impl(schema_path, data_paths, dir) + if __name__ == '__main__': unittest.main() From 17865026fa4c44aa225c0efd3f48c2ae0f039a90 Mon Sep 17 00:00:00 2001 From: zargot Date: Thu, 19 Sep 2024 12:33:14 -0400 Subject: [PATCH 154/174] check that queried tables exist --- src/odm_sharing/private/cons.py | 14 +++++++++----- src/odm_sharing/sharing.py | 11 +++++++++++ tests/test_cli.py | 11 +++++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index ab6ded67..ee639d54 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -21,6 +21,7 @@ @dataclass(frozen=True) class Connection: handle: sa.engine.Engine + tables: Set[TableName] bool_cols: Dict[TableName, Set[ColumnName]] @@ -137,6 +138,7 @@ def _connect_csv(paths: List[str]) -> Connection: # XXX: NA-values are not normalized to avoid mutating user data (#31) dfs = {} + tables = set() bool_cols = {} for path in paths: table = Path(path).stem @@ -145,8 +147,9 @@ def _connect_csv(paths: List[str]) -> Connection: bool_cols[table] = _find_bool_cols(df, BOOL_VALS) _normalize_bool_values(df, bool_cols[table]) dfs[table] = df + tables.add(table) db = _datasets_to_db(dfs) - return Connection(db, bool_cols) + return Connection(db, tables, bool_cols) def _iter_sheets(wb: Workbook, included_tables: Set[str]) -> Generator: @@ -202,22 +205,23 @@ def _connect_excel(path: str, table_whitelist: Set[str]) -> Connection: # write to db db = _datasets_to_db(dfs) - return Connection(db, bool_cols) + return Connection(db, included_tables, bool_cols) def _connect_db(url: str) -> Connection: ''':raises sa.exc.OperationalError:''' handle = sa.create_engine(url) + db_info = sa.inspect(handle) + tables = set(db_info.get_table_names()) # find bool cols bool_cols = defaultdict(set) - db_info = sa.inspect(handle) - for table in db_info.get_table_names(): + for table in tables: for col_info in db_info.get_columns(table): if isinstance(col_info['type'], sa.sql.sqltypes.BOOLEAN): bool_cols[table].add(col_info['name']) - return Connection(handle, bool_cols) + return Connection(handle, tables, bool_cols) def _detect_sqlite(path: str) -> bool: diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 3fd28940..62a7b24d 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -13,6 +13,7 @@ from odm_sharing.private.cons import Connection from odm_sharing.private.queries import OrgTableQueries, Query, TableQuery from odm_sharing.private.rules import RuleId +from odm_sharing.private.utils import qt def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: @@ -52,6 +53,12 @@ def connect(data_source: str, tables: List[str] = []) -> Connection: return cons.connect([data_source], set(tables)) +def _check_con_query(c: Connection, tq: TableQuery) -> None: + if tq.table_name not in c.tables: + msg = f'table {qt(tq.table_name)} is missing from input' + raise cons.DataSourceError(msg) + + def get_data(c: Connection, tq: TableQuery) -> pandas.DataFrame: '''retrieves filtered data from a specific table of a data source @@ -65,6 +72,8 @@ def get_data(c: Connection, tq: TableQuery) -> pandas.DataFrame: :raises DataSourceError: if an error occured while retrieving data ''' + + _check_con_query(c, tq) dq = tq.data_query df = cons.exec(c, dq.sql, dq.args) @@ -112,6 +121,7 @@ def get_rule_count(rule_id: RuleId, q: Query) -> Tuple[RuleId, int]: count = int(cons.exec(c, q.sql, q.args).iat[0, 0]) return (rule_id, count) + _check_con_query(c, tq) return seq(tq.rule_count_queries.items()).smap(get_rule_count).dict() @@ -128,6 +138,7 @@ def get_columns(c: Connection, tq: TableQuery :raises DataSourceError: if an error occured while retrieving the column names ''' + _check_con_query(c, tq) if tq.columns: return (tq.select_rule_id, tq.columns) else: diff --git a/tests/test_cli.py b/tests/test_cli.py index f8b6f987..86237604 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -5,6 +5,7 @@ from functional import seq from odm_sharing.tools.share import OutFmt, share +from odm_sharing.private.cons import DataSourceError from common import OdmTestCase, readfile @@ -56,6 +57,16 @@ def test_multi_csv(self) -> None: with TemporaryDirectory() as dir: self._multi_impl(schema_path, data_paths, dir) + def test_multi_csv_missing(self) -> None: + schema_path = join(self.dir, 'cli', 'multi-schema.csv') + data_paths = [ + join(self.dir, 'cli', 'mytable1.csv'), + ] + with TemporaryDirectory() as dir: + expr = '.*mytable2.*missing' + with self.assertRaisesRegex(DataSourceError, expr): + self._multi_impl(schema_path, data_paths, dir) + if __name__ == '__main__': unittest.main() From 2548ee5920c1f234ec09c4141dab57597d9d1da3 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 30 Sep 2024 10:12:23 -0400 Subject: [PATCH 155/174] cons: check input filetypes --- src/odm_sharing/private/cons.py | 15 +++++++++++++-- tests/test_cons.py | 4 ++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index ee639d54..70ab7ad1 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -244,11 +244,23 @@ def _detect_sqlalchemy(path: str) -> bool: return False +def _check_datasources(paths: List[str]) -> None: + if not paths: + raise DataSourceError('no data source') + (_, ext) = os.path.splitext(paths[0]) + all_same_ext = seq(paths).map(lambda p: p.endswith(ext)).all() + if not all_same_ext: + raise DataSourceError( + 'mixing multiple data source types is not allowed') + + def connect(paths: List[str], tables: Set[str] = set() ) -> Connection: ''' connects to one or more data sources and returns the connection + :param paths: must all be of the same (file)type. + :param tables: when connecting to an excel file, this acts as a sheet whitelist @@ -259,8 +271,7 @@ def connect(paths: List[str], tables: Set[str] = set() # as 0/1, which we'll have to convert back (using previously detected bool # columns) to 'FALSE'/'TRUE' before returning the data to the user. This # happens in `odm_sharing.sharing.get_data`. - if not paths: - raise DataSourceError('no data source') + _check_datasources(paths) try: path = paths[0] is_csv = path.endswith('.csv') diff --git a/tests/test_cons.py b/tests/test_cons.py index 45b4e290..7e78454c 100644 --- a/tests/test_cons.py +++ b/tests/test_cons.py @@ -36,6 +36,10 @@ def test_detect_sqlalchemy(self) -> None: for path in invalid_urls: self.assertFalse(cons._detect_sqlalchemy(path)) + def test_input_mix_not_allowed(self) -> None: + with self.assertRaisesRegex(cons.DataSourceError, 'mix.*type'): + cons.connect(['a.csv', 'b.xlsx']) + if __name__ == '__main__': unittest.main() From 42404ca887ca57539f2a5a5068fb2f533b1ea8bf Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 8 Oct 2024 10:10:23 -0400 Subject: [PATCH 156/174] doc/man: update cli reference & usage --- docs/manual/chapters/cli-reference.qmd | 16 ++++++------ docs/manual/chapters/cli-usage.qmd | 34 ++++++++++++++++++++------ 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/docs/manual/chapters/cli-reference.qmd b/docs/manual/chapters/cli-reference.qmd index 60347889..d24e824e 100644 --- a/docs/manual/chapters/cli-reference.qmd +++ b/docs/manual/chapters/cli-reference.qmd @@ -10,7 +10,7 @@ from common import ASSET_DIR # CLI Reference {#sec-cli-ref} ```bash -odm-share [OPTION]... SCHEMA INPUT +odm-share [OPTION]... SCHEMA INPUT... ``` Arguments: @@ -19,9 +19,9 @@ Arguments: sharing schema file path -- INPUT +- INPUT... - CSV/Excel/SQLite file path, or [SQLAlchemy database URL](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) + CSV files, an Excel/SQLite file, or an [SQLAlchemy database URL](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) Options: @@ -51,16 +51,16 @@ Options: One or multiple sharable output files will be created in the chosen output directory according to the chosen output format and organization(s). Each -output file will have the input name followed by the recipient org name. +output file will get an associative name. ::: {.callout-warning} -Boolean values from CSV/Excel files will be normalized as TRUE/FALSE in the -output. See @sec-data-sources for more information. +Boolean values will be normalized as TRUE/FALSE in the output. See +@sec-data-sources for more information. ::: ::: {.callout-warning} -Even tho using a database as input is supported, it hasn't been tested -properly. +Even tho using a database as input is supported, it hasn't been tested much +yet. ::: ## Errors diff --git a/docs/manual/chapters/cli-usage.qmd b/docs/manual/chapters/cli-usage.qmd index 04a96879..19737065 100644 --- a/docs/manual/chapters/cli-usage.qmd +++ b/docs/manual/chapters/cli-usage.qmd @@ -9,18 +9,36 @@ from common import DATA, SCHEMA ## Examples -### Using a CSV file +### Using CSV files -To share a single table `measures.csv`, using the sharing schema `schema.csv`, -the following command can be used: +::: {.callout-note} +Please keep in mind that CSV files currently need to have the same names as the +tables they're representing. `measures.csv` represents the table "measures", +etc. +::: + +::: {.callout-note} +In this example, the terminal is pointing to the same directory as the schema +and input files. If that isn't the case, then their full relative/absolute +paths must be spelled out. +::: + +To share tables `measures.csv` and `samples.csv`, using sharing schema +`schema.csv`, the following command can be used: ```bash -odm-share schema.csv measures.csv +odm-share schema.csv measures.csv samples.csv ``` -It will make an output file called `--measures.csv` for each -organization specified in the schema, with filtered data that is ready to -share. +It will create one output file per table for each organization specified in +the schema, with data filtered according to the schema rules, ready to share. + +The above command can also be simplified with a wildcard (`*`) if you have a +directory with only the files you want to share, like this: + +```bash +odm-share schema.csv mytables/*.csv +``` ### Using an Excel file @@ -77,7 +95,7 @@ odm-share --debug schema.csv data.xlsx ``` ```{python} #| echo: false -share(SCHEMA, DATA, debug=True) +share(SCHEMA, [DATA], debug=True) ``` Here we can see the columns that would be selected, as well as the number of From 70594ee47d976bcfce54537b3d12066c5c0444ad Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 8 Oct 2024 11:05:46 -0400 Subject: [PATCH 157/174] api: fix param for multiple inputs (#62) --- src/odm_sharing/sharing.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 62a7b24d..6915d121 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -1,5 +1,5 @@ from pathlib import Path -from typing import Dict, List, Tuple +from typing import Dict, List, Tuple, Union import numpy as np import pandas @@ -35,7 +35,10 @@ def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: return queries.generate(tree) -def connect(data_source: str, tables: List[str] = []) -> Connection: +def connect( + data_sources: Union[str, List[str]], + tables: List[str] = [], +) -> Connection: ''' creates a connection to a data source that later can be used with a query to retrieve data @@ -43,14 +46,16 @@ def connect(data_source: str, tables: List[str] = []) -> Connection: Warning: Even tho using a database as input is supported, it hasn't been tested properly. - :param data_source: filepath or database URL + :param data_sources: filepath(s) or database URL :param tables: table name whitelist, disabled if empty :return: the data source connection object :raises DataSourceError: if the connection couldn't be established ''' - return cons.connect([data_source], set(tables)) + if isinstance(data_sources, str): + data_sources = [data_sources] + return cons.connect(data_sources, set(tables)) def _check_con_query(c: Connection, tq: TableQuery) -> None: @@ -150,7 +155,7 @@ def get_columns(c: Connection, tq: TableQuery def extract( schema_path: str, - data_source: str, + data_sources: Union[str, List[str]], orgs: List[str] = [], ) -> Dict[OrgName, Dict[TableName, pandas.DataFrame]]: '''high-level function for retrieving filtered data @@ -159,7 +164,7 @@ def extract( TRUE/FALSE. :param schema_path: rule schema filepath - :param data_source: filepath or database URL + :param data_sources: filepath(s) or database URL :param orgs: organization whitelist, disabled if empty :return: a dataset per table per org. `OrgName` and `TableName` are @@ -168,7 +173,7 @@ def extract( :raises DataSourceError: if an error occured while extracting data from the data source ''' - con = connect(data_source) + con = connect(data_sources) queries = parse(schema_path, orgs) result: Dict[OrgName, Dict[TableName, pandas.DataFrame]] = {} for org, tablequeries in queries.items(): From 18311a035f478c7c73ebf7ceb02be19e71c27a9e Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 8 Oct 2024 11:19:22 -0400 Subject: [PATCH 158/174] doc/man: fix use of cli code (#63) --- docs/manual/chapters/cli-reference.qmd | 4 ++-- docs/manual/chapters/getting-started.qmd | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/manual/chapters/cli-reference.qmd b/docs/manual/chapters/cli-reference.qmd index d24e824e..a790f267 100644 --- a/docs/manual/chapters/cli-reference.qmd +++ b/docs/manual/chapters/cli-reference.qmd @@ -73,12 +73,12 @@ When headers are missing from the schema: ```{python} #| echo: false -share(join(ASSET_DIR, 'schema-missing-headers.csv'), 'assets/measures.csv') +x = share(join(ASSET_DIR, 'schema-missing-headers.csv'), ['assets/measures.csv']) ``` When no share-rules are contained in the schema: ```{python} #| echo: false -share(join(ASSET_DIR, 'schema-missing-rules.csv'), 'assets/measures.csv') +x = share(join(ASSET_DIR, 'schema-missing-rules.csv'), ['assets/measures.csv']) ``` diff --git a/docs/manual/chapters/getting-started.qmd b/docs/manual/chapters/getting-started.qmd index 4721a435..e55e3411 100644 --- a/docs/manual/chapters/getting-started.qmd +++ b/docs/manual/chapters/getting-started.qmd @@ -66,7 +66,7 @@ Using the above schema and data examples would result in the following: ```{python} #| echo: false outpath = f'{Path(DATA).stem}-OHRI.csv' -share(SCHEMA, DATA) +share(SCHEMA, [DATA]) display.Markdown(load_csv_md(outpath)) ```
From c070001740136ba2b5c987e268728702a10b6ccb Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 22 Oct 2024 11:05:09 -0400 Subject: [PATCH 159/174] cli: remove old comment --- src/odm_sharing/tools/share.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 40ffe874..5689f7a0 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -148,7 +148,6 @@ def get_debug_writer(debug: bool) -> Union[TextIO, contextlib.nullcontext]: def infer_outfmt(path: str) -> OutFmt: - '''returns None when not recognized''' (_, ext) = os.path.splitext(path) if ext == '.csv': return OutFmt.CSV From 38b0ebd02de578090e553ce602f240c96e33c62f Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 22 Oct 2024 11:05:27 -0400 Subject: [PATCH 160/174] cli: default to excel outfmt for multi-csv --- src/odm_sharing/tools/share.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 5689f7a0..33e15f3f 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -147,12 +147,12 @@ def get_debug_writer(debug: bool) -> Union[TextIO, contextlib.nullcontext]: return contextlib.nullcontext() -def infer_outfmt(path: str) -> OutFmt: - (_, ext) = os.path.splitext(path) - if ext == '.csv': +def infer_outfmt(inputs: List[str]) -> OutFmt: + first = inputs[0] + (_, ext) = os.path.splitext(first) + if ext == '.csv' and len(inputs) == 1: return OutFmt.CSV - else: - return OutFmt.EXCEL + return OutFmt.EXCEL def share( @@ -167,9 +167,8 @@ def share( schema_path = schema schema_filename = Path(schema_path).name schema_name = Path(schema_path).stem - first_input = inputs[0] if outfmt == OutFmt.AUTO: - outfmt = infer_outfmt(first_input) + outfmt = infer_outfmt(inputs) logging.info(f'inferred output format as {outfmt}') logging.info(f'loading schema {qt(schema_filename)}') From 724d654b374118ade3df60732c073d8db6fedee9 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 25 Oct 2024 15:33:03 -0400 Subject: [PATCH 161/174] doc/man: fix getting-started share code (#68) --- docs/manual/chapters/getting-started.qmd | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/manual/chapters/getting-started.qmd b/docs/manual/chapters/getting-started.qmd index e55e3411..8325eb84 100644 --- a/docs/manual/chapters/getting-started.qmd +++ b/docs/manual/chapters/getting-started.qmd @@ -65,9 +65,8 @@ Using the above schema and data examples would result in the following: `measures-OHRI.csv` ```{python} #| echo: false -outpath = f'{Path(DATA).stem}-OHRI.csv' -share(SCHEMA, [DATA]) -display.Markdown(load_csv_md(outpath)) +outpaths = share(SCHEMA, [DATA]) +display.Markdown(load_csv_md(outpaths[0])) ```
See @sec-cli-ref for the CLI reference and @sec-cli-usage for more examples. From 2c82cd5a4d13bc938e06961164e13b6ff7c1e9e6 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 28 Oct 2024 12:18:09 -0400 Subject: [PATCH 162/174] test/cli: fix regression caused by: 38b0ebd "cli: default to excel outfmt for multi-csv" --- tests/test_cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_cli.py b/tests/test_cli.py index 86237604..b3223728 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -39,7 +39,7 @@ def test_excel_to_csv(self) -> None: self.assertEqual(src_content, dst_content) def _multi_impl(self, schema_path: str, inputs: List[str], outdir: str): - share(schema_path, inputs, outdir=outdir) + share(schema_path, inputs, outdir=outdir, outfmt=OutFmt.CSV) outfiles = [ join(outdir, 'multi-schema-OHRI-mytable1.csv'), join(outdir, 'multi-schema-OHRI-mytable2.csv'), From bb27516f0e2606b375229f4b00cc0ede4d214eab Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 28 Oct 2024 12:17:10 -0400 Subject: [PATCH 163/174] test/cli: always use outpaths --- tests/test_cli.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/tests/test_cli.py b/tests/test_cli.py index b3223728..a5ff4423 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -12,15 +12,14 @@ def share_csv(schema_path: str, data_path: str) -> List[str]: with TemporaryDirectory() as dir: - share(schema_path, [data_path], outdir=dir) - outfile = join(dir, 'passthrough-schema-OHRI-mytable.csv') - return readfile(outfile) + outpaths = share(schema_path, [data_path], outdir=dir) + return readfile(outpaths[0]) def share_excel(schema_path, data_path: str, outfmt) -> List[str]: with TemporaryDirectory() as dir: - outfiles = share(schema_path, [data_path], outdir=dir, outfmt=outfmt) - return readfile(outfiles[0]) + outpaths = share(schema_path, [data_path], outdir=dir, outfmt=outfmt) + return readfile(outpaths[0]) class TestCli(OdmTestCase): @@ -39,12 +38,8 @@ def test_excel_to_csv(self) -> None: self.assertEqual(src_content, dst_content) def _multi_impl(self, schema_path: str, inputs: List[str], outdir: str): - share(schema_path, inputs, outdir=outdir, outfmt=OutFmt.CSV) - outfiles = [ - join(outdir, 'multi-schema-OHRI-mytable1.csv'), - join(outdir, 'multi-schema-OHRI-mytable2.csv'), - ] - actual = (''.join(seq(outfiles).map(readfile))).splitlines() + outpaths = share(schema_path, inputs, outdir=outdir, outfmt=OutFmt.CSV) + actual = (''.join(seq(outpaths).map(readfile))).splitlines() expected = ['x', 'a', 'x', 'b'] self.assertEqual(actual, expected) From 215ed5a3b38acb9b430682041fda00d2e727fd70 Mon Sep 17 00:00:00 2001 From: zargot Date: Tue, 15 Oct 2024 10:52:07 -0400 Subject: [PATCH 164/174] api: tweak docstrings --- src/odm_sharing/sharing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 6915d121..576895f7 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -68,7 +68,7 @@ def get_data(c: Connection, tq: TableQuery) -> pandas.DataFrame: '''retrieves filtered data from a specific table of a data source Warning: Boolean values from CSV/Excel files will be normalized as - TRUE/FALSE. + `TRUE`/`FALSE`. :param c: the data source connection :param tq: the table query @@ -161,7 +161,7 @@ def extract( '''high-level function for retrieving filtered data Warning: Boolean values from CSV/Excel files will be normalized as - TRUE/FALSE. + `TRUE`/`FALSE`. :param schema_path: rule schema filepath :param data_sources: filepath(s) or database URL From 2b51fd08c512bd7c6fa7828cb12d1c424bf98649 Mon Sep 17 00:00:00 2001 From: zargot Date: Mon, 14 Oct 2024 14:50:13 -0400 Subject: [PATCH 165/174] move filename gen to utils and include input name --- src/odm_sharing/private/utils.py | 8 ++++++ src/odm_sharing/tools/share.py | 27 +++++++++++++------ ...ures.csv => data-schema-org1-measures.csv} | 0 ...mples.csv => data-schema-org1-samples.csv} | 0 ...1-sites.csv => data-schema-org1-sites.csv} | 0 ...ures.csv => data-schema-org2-measures.csv} | 0 ...mples.csv => data-schema-org2-samples.csv} | 0 ...2-sites.csv => data-schema-org2-sites.csv} | 0 8 files changed, 27 insertions(+), 8 deletions(-) rename tests/int/delatolla/expected/{schema-org1-measures.csv => data-schema-org1-measures.csv} (100%) rename tests/int/delatolla/expected/{schema-org1-samples.csv => data-schema-org1-samples.csv} (100%) rename tests/int/delatolla/expected/{schema-org1-sites.csv => data-schema-org1-sites.csv} (100%) rename tests/int/delatolla/expected/{schema-org2-measures.csv => data-schema-org2-measures.csv} (100%) rename tests/int/delatolla/expected/{schema-org2-samples.csv => data-schema-org2-samples.csv} (100%) rename tests/int/delatolla/expected/{schema-org2-sites.csv => data-schema-org2-sites.csv} (100%) diff --git a/src/odm_sharing/private/utils.py b/src/odm_sharing/private/utils.py index 94462367..8a978c4d 100644 --- a/src/odm_sharing/private/utils.py +++ b/src/odm_sharing/private/utils.py @@ -20,3 +20,11 @@ def fmt_set(values: Iterable) -> str: curly-brackets''' items = ','.join(map(qt, values)) return f'{{{items}}}' + + +def gen_output_filename(input_name: str, schema_name: str, org: str, + table: str, ext: str) -> str: + parts = (([input_name] if input_name else []) + + [schema_name, org] + + ([table] if table else [])) + return '-'.join(parts) + f'.{ext}' diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 33e15f3f..1c654673 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -21,7 +21,7 @@ import odm_sharing.private.rules as rules import odm_sharing.private.trees as trees from odm_sharing.private.rules import Rule, RuleId, RuleMode -from odm_sharing.private.utils import qt +from odm_sharing.private.utils import gen_output_filename, qt FilePath = namedtuple('FilePath', ['abspath', 'relpath', 'filename']) @@ -130,10 +130,9 @@ def get_tables(org_queries: sh.queries.OrgTableQueries) -> Set[str]: return result -def gen_filepath(outdir: str, schema_name: str, org: str, table: str, ext: str - ) -> FilePath: - parts = [schema_name, org] + ([table] if table else []) - filename = '-'.join(parts) + f'.{ext}' +def gen_filepath(outdir: str, input_name: str, schema_name: str, org: str, + table: str, ext: str) -> FilePath: + filename = gen_output_filename(input_name, schema_name, org, table, ext) abspath = os.path.join(outdir, filename) relpath = os.path.relpath(abspath, os.getcwd()) return FilePath(abspath=abspath, relpath=relpath, filename=filename) @@ -155,6 +154,16 @@ def infer_outfmt(inputs: List[str]) -> OutFmt: return OutFmt.EXCEL +def get_output_prefix_from_input(input: str) -> str: + # - ignore CSV files since their names may double as table names, which + # are already included in the generated output name + # - ignore non-existing files like database URLs + if (not input.endswith('.csv') and os.path.exists(input)): + return Path(input).stem + else: + return '' + + def share( schema: str, inputs: List[str], @@ -167,6 +176,7 @@ def share( schema_path = schema schema_filename = Path(schema_path).name schema_name = Path(schema_path).stem + output_prefix = get_output_prefix_from_input(inputs[0]) if outfmt == OutFmt.AUTO: outfmt = infer_outfmt(inputs) logging.info(f'inferred output format as {outfmt}') @@ -201,7 +211,8 @@ def share( org_data[table] = sh.get_data(con, tq) # one excel file per org - excel_path = gen_filepath(outdir, schema_name, org, '', 'xlsx') + excel_path = gen_filepath(outdir, output_prefix, schema_name, org, + '', 'xlsx') excel_file = None if not debug and outfmt == OutFmt.EXCEL: excel_file = pd.ExcelWriter(excel_path.abspath, @@ -210,8 +221,8 @@ def share( try: for table, data in org_data.items(): if outfmt == OutFmt.CSV: - p = gen_filepath(outdir, schema_name, org, table, - 'csv') + p = gen_filepath(outdir, output_prefix, schema_name, + org, table, 'csv') logging.info('writing ' + p.relpath) data.to_csv(p.abspath, index=False) output_paths.append(p.relpath) diff --git a/tests/int/delatolla/expected/schema-org1-measures.csv b/tests/int/delatolla/expected/data-schema-org1-measures.csv similarity index 100% rename from tests/int/delatolla/expected/schema-org1-measures.csv rename to tests/int/delatolla/expected/data-schema-org1-measures.csv diff --git a/tests/int/delatolla/expected/schema-org1-samples.csv b/tests/int/delatolla/expected/data-schema-org1-samples.csv similarity index 100% rename from tests/int/delatolla/expected/schema-org1-samples.csv rename to tests/int/delatolla/expected/data-schema-org1-samples.csv diff --git a/tests/int/delatolla/expected/schema-org1-sites.csv b/tests/int/delatolla/expected/data-schema-org1-sites.csv similarity index 100% rename from tests/int/delatolla/expected/schema-org1-sites.csv rename to tests/int/delatolla/expected/data-schema-org1-sites.csv diff --git a/tests/int/delatolla/expected/schema-org2-measures.csv b/tests/int/delatolla/expected/data-schema-org2-measures.csv similarity index 100% rename from tests/int/delatolla/expected/schema-org2-measures.csv rename to tests/int/delatolla/expected/data-schema-org2-measures.csv diff --git a/tests/int/delatolla/expected/schema-org2-samples.csv b/tests/int/delatolla/expected/data-schema-org2-samples.csv similarity index 100% rename from tests/int/delatolla/expected/schema-org2-samples.csv rename to tests/int/delatolla/expected/data-schema-org2-samples.csv diff --git a/tests/int/delatolla/expected/schema-org2-sites.csv b/tests/int/delatolla/expected/data-schema-org2-sites.csv similarity index 100% rename from tests/int/delatolla/expected/schema-org2-sites.csv rename to tests/int/delatolla/expected/data-schema-org2-sites.csv From adee18d22c7357e00bd313ad06440776e1dd1811 Mon Sep 17 00:00:00 2001 From: zargot Date: Fri, 11 Oct 2024 11:08:05 -0400 Subject: [PATCH 166/174] add file object input support to complement file paths. This makes it possible to use the library completely in-memory without the need for IO. --- docs/manual/_quarto.yml | 1 + src/odm_sharing/private/cons.py | 105 +++++++++++++++++++++++-------- src/odm_sharing/private/rules.py | 14 +++-- src/odm_sharing/private/utils.py | 7 +++ src/odm_sharing/sharing.py | 34 +++++----- 5 files changed, 114 insertions(+), 47 deletions(-) diff --git a/docs/manual/_quarto.yml b/docs/manual/_quarto.yml index 9b0553c9..1ef7ce4b 100644 --- a/docs/manual/_quarto.yml +++ b/docs/manual/_quarto.yml @@ -35,6 +35,7 @@ quartodoc: - sharing.get_data - sharing.get_counts - sharing.get_columns + - sharing.CsvFile theme: - default diff --git a/src/odm_sharing/private/cons.py b/src/odm_sharing/private/cons.py index 70ab7ad1..9f6a369b 100644 --- a/src/odm_sharing/private/cons.py +++ b/src/odm_sharing/private/cons.py @@ -2,8 +2,9 @@ import os from collections import defaultdict from dataclasses import dataclass +from io import IOBase from pathlib import Path -from typing import Dict, Generator, List, Set +from typing import Dict, Generator, List, Set, Tuple, Union, cast import openpyxl as xl import pandas as pd @@ -15,6 +16,19 @@ from odm_sharing.private.utils import qt +@dataclass(frozen=True) +class CsvFile: + '''a table's CSV file''' + + table: str + '''table name''' + + file: IOBase + '''file object''' + + +CsvPath = str +CsvDataSourceList = Union[List[CsvPath], List[CsvFile]] Sheet = xl.worksheet._read_only.ReadOnlyWorksheet @@ -131,19 +145,39 @@ def _normalize_bool_values(df: pd.DataFrame, bool_cols: Set[ColumnName] df[col] = df[col].replace({F: '0', T: '1'}) -def _connect_csv(paths: List[str]) -> Connection: +def _import_csv(data_source: Union[CsvPath, CsvFile] + ) -> Tuple[TableName, pd.DataFrame]: + # XXX: NA-values are not normalized to avoid mutating user data (#31) + ds = data_source + if isinstance(ds, CsvPath): + path = ds + assert path.endswith('.csv') + table = Path(path).stem + logging.info(f'importing {qt(table)} from {path}') + df = pd.read_csv(path, na_filter=False) + return (table, df) + else: + assert isinstance(ds, CsvFile) + logging.info(f'importing {qt(ds.table)} from a file') + df = pd.read_csv(ds.file, na_filter=False) # type: ignore + return (ds.table, df) + + +def _connect_csv(data_sources: CsvDataSourceList) -> Connection: '''copies file data to in-memory db - :raises OSError:''' + :raises DataSourceError: + :raises OSError: + ''' + assert len(data_sources) > 0 + if isinstance(data_sources[0], CsvPath): + _check_csv_paths(cast(List[CsvPath], data_sources)) - # XXX: NA-values are not normalized to avoid mutating user data (#31) dfs = {} tables = set() bool_cols = {} - for path in paths: - table = Path(path).stem - logging.info(f'importing {qt(table)} from {path}') - df = pd.read_csv(path, na_filter=False) + for ds in data_sources: + (table, df) = _import_csv(ds) bool_cols[table] = _find_bool_cols(df, BOOL_VALS) _normalize_bool_values(df, bool_cols[table]) dfs[table] = df @@ -244,22 +278,31 @@ def _detect_sqlalchemy(path: str) -> bool: return False -def _check_datasources(paths: List[str]) -> None: - if not paths: - raise DataSourceError('no data source') - (_, ext) = os.path.splitext(paths[0]) - all_same_ext = seq(paths).map(lambda p: p.endswith(ext)).all() - if not all_same_ext: +def _check_csv_paths(paths: List[str]) -> None: + if not seq(paths).map(lambda p: p.endswith('.csv')).all(): raise DataSourceError( - 'mixing multiple data source types is not allowed') + 'mixing CSV files with other file types is not allowed') + +def _detect_csv_input(data_sources: Union[str, CsvDataSourceList]) -> bool: + is_str = isinstance(data_sources, str) + is_list = isinstance(data_sources, list) + is_path_list = is_list and isinstance(data_sources[0], str) + is_file_list = is_list and not is_path_list + return ((is_str and cast(str, data_sources).endswith('.csv')) or + (is_path_list and cast(str, data_sources[0]).endswith('.csv')) or + is_file_list) -def connect(paths: List[str], tables: Set[str] = set() - ) -> Connection: + +def connect( + data_sources: Union[str, CsvDataSourceList], + tables: Set[str] = set() +) -> Connection: ''' connects to one or more data sources and returns the connection - :param paths: must all be of the same (file)type. + :param data_sources: filepath or database URL, or list of multiple CSV + paths/files :param tables: when connecting to an excel file, this acts as a sheet whitelist @@ -271,16 +314,24 @@ def connect(paths: List[str], tables: Set[str] = set() # as 0/1, which we'll have to convert back (using previously detected bool # columns) to 'FALSE'/'TRUE' before returning the data to the user. This # happens in `odm_sharing.sharing.get_data`. - _check_datasources(paths) + if not data_sources: + raise DataSourceError('no data source') try: - path = paths[0] - is_csv = path.endswith('.csv') - if not is_csv and len(paths) > 1: - logging.warning('ignoring additional inputs (for CSV only)') - - if is_csv: - return _connect_csv(paths) - elif path.endswith('.xlsx'): + if _detect_csv_input(data_sources): + csv_data_sources = ( + [data_sources] if isinstance(data_sources, str) + else data_sources) + return _connect_csv(csv_data_sources) + + is_list = isinstance(data_sources, list) + if is_list: + if len(data_sources) > 1: + raise DataSourceError('specifying multiple inputs is only ' + + 'allowed for CSV files') + + path = (cast(str, data_sources[0]) if is_list + else cast(str, data_sources)) + if path.endswith('.xlsx'): return _connect_excel(path, tables) elif _detect_sqlite(path): return _connect_db(f'sqlite:///{path}') diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index 4a402a1e..fc815258 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -1,17 +1,19 @@ import sys +from io import IOBase from dataclasses import dataclass, field from enum import EnumMeta -from pathlib import Path from typing import Any, Dict, List, Union import pandas as pd from functional import seq from odm_sharing.private.stdext import StrValueEnum -from odm_sharing.private.utils import fmt_set, qt +from odm_sharing.private.utils import fmt_set, get_filename, qt RuleId = int +SchemaFile = IOBase +SchemaPath = str class RuleMode(StrValueEnum): @@ -212,15 +214,17 @@ def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] raise ParseError(errors) -def load(schema_path: str) -> Dict[RuleId, Rule]: +def load(schema: Union[SchemaPath, SchemaFile]) -> Dict[RuleId, Rule]: '''loads a sharing schema + :param schema: file path/object + :returns: rules parsed from schema, by rule id :raises OSError, ParseError: ''' - filename = Path(schema_path).name + filename = get_filename(schema) ctx = SchemaCtx(filename) - data = pd.read_csv(schema_path) + data = pd.read_csv(schema) # type: ignore # replace all different NA values with an empty string data = data.fillna('') diff --git a/src/odm_sharing/private/utils.py b/src/odm_sharing/private/utils.py index 8a978c4d..4b8c4ff3 100644 --- a/src/odm_sharing/private/utils.py +++ b/src/odm_sharing/private/utils.py @@ -1,3 +1,5 @@ +from io import IOBase +from pathlib import Path from typing import Iterable, Union @@ -28,3 +30,8 @@ def gen_output_filename(input_name: str, schema_name: str, org: str, [schema_name, org] + ([table] if table else [])) return '-'.join(parts) + f'.{ext}' + + +def get_filename(file: Union[str, IOBase]) -> str: + '''returns the path filename, or a dummy name for file objects''' + return Path(file).name if isinstance(file, str) else 'file-obj' diff --git a/src/odm_sharing/sharing.py b/src/odm_sharing/sharing.py index 576895f7..b820d2dd 100644 --- a/src/odm_sharing/sharing.py +++ b/src/odm_sharing/sharing.py @@ -1,4 +1,4 @@ -from pathlib import Path +from io import IOBase from typing import Dict, List, Tuple, Union import numpy as np @@ -10,16 +10,17 @@ import odm_sharing.private.rules as rules import odm_sharing.private.trees as trees from odm_sharing.private.common import ColumnName, OrgName, TableName, F, T -from odm_sharing.private.cons import Connection +from odm_sharing.private.cons import Connection, CsvFile from odm_sharing.private.queries import OrgTableQueries, Query, TableQuery from odm_sharing.private.rules import RuleId -from odm_sharing.private.utils import qt +from odm_sharing.private.utils import get_filename, qt -def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: +def parse(schema_file: Union[str, IOBase], + orgs: List[str] = []) -> OrgTableQueries: '''loads and parses a schema file into query objects - :param schema_path: schema filepath + :param schema_file: schema file path/object :param orgs: organization whitelist, disabled if empty :return: a query per table per org. `OrgName` and `TableName` are @@ -29,14 +30,14 @@ def parse(schema_path: str, orgs: List[str] = []) -> OrgTableQueries: :raises OSError: if the schema file can't be loaded :raises ParseError: if the schema parsing fails ''' - ruleset = rules.load(schema_path) - filename = Path(schema_path).name + ruleset = rules.load(schema_file) + filename = get_filename(schema_file) tree = trees.parse(ruleset, orgs, filename) return queries.generate(tree) def connect( - data_sources: Union[str, List[str]], + data_sources: Union[str, List[str], List[CsvFile]], tables: List[str] = [], ) -> Connection: ''' @@ -46,14 +47,16 @@ def connect( Warning: Even tho using a database as input is supported, it hasn't been tested properly. - :param data_sources: filepath(s) or database URL + :param data_sources: filepath, database URL, list of CSV filepaths, or list + of [CsvFiles](#odm_sharing.sharing.CsvFile). :param tables: table name whitelist, disabled if empty :return: the data source connection object :raises DataSourceError: if the connection couldn't be established ''' - if isinstance(data_sources, str): + # normalize single str/path input as list + if not isinstance(data_sources, list): data_sources = [data_sources] return cons.connect(data_sources, set(tables)) @@ -154,8 +157,8 @@ def get_columns(c: Connection, tq: TableQuery def extract( - schema_path: str, - data_sources: Union[str, List[str]], + schema_file: Union[str, IOBase], + data_sources: Union[str, List[str], List[CsvFile]], orgs: List[str] = [], ) -> Dict[OrgName, Dict[TableName, pandas.DataFrame]]: '''high-level function for retrieving filtered data @@ -163,8 +166,9 @@ def extract( Warning: Boolean values from CSV/Excel files will be normalized as `TRUE`/`FALSE`. - :param schema_path: rule schema filepath - :param data_sources: filepath(s) or database URL + :param schema_file: rule schema file path/object + :param data_sources: filepath, database URL, list of CSV filepaths, or list + of [CsvFiles](#odm_sharing.sharing.CsvFile). :param orgs: organization whitelist, disabled if empty :return: a dataset per table per org. `OrgName` and `TableName` are @@ -174,7 +178,7 @@ def extract( data source ''' con = connect(data_sources) - queries = parse(schema_path, orgs) + queries = parse(schema_file, orgs) result: Dict[OrgName, Dict[TableName, pandas.DataFrame]] = {} for org, tablequeries in queries.items(): result[org] = {} From a7cbb70ca82350cdff0f1c2eb4430e4010bd130f Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 30 Oct 2024 12:13:06 -0400 Subject: [PATCH 167/174] remove old/ignored files (#72) --- .Rhistory | 8 -------- sharing/.DS_Store | Bin 6148 -> 0 bytes sharing/readme-examples/.DS_Store | Bin 6148 -> 0 bytes 3 files changed, 8 deletions(-) delete mode 100644 .Rhistory delete mode 100644 sharing/.DS_Store delete mode 100644 sharing/readme-examples/.DS_Store diff --git a/.Rhistory b/.Rhistory deleted file mode 100644 index bd29281e..00000000 --- a/.Rhistory +++ /dev/null @@ -1,8 +0,0 @@ -# set up environment -options(scipen = 999) -library(tidyr) -library(dplyr) -library(writexl) -#### Original Data Treatment #### -# import the original data -CPHD_QC <- read.csv(file = "centreau_qc_data-V1/CovidPublicHealthData.csv") diff --git a/sharing/.DS_Store b/sharing/.DS_Store deleted file mode 100644 index 14f6bdb63d6494350a5f8cba5b44f9ebdc837b59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyH3ME5S)b+ktj$(L3uww!5^HWZu zcf9fxULOFNzc;tQ48WABh)-RHq4zZhaTbiC*fTbG#0_(g)u4KuQ0*ml)U43pSiiv= zTJl}ft=os~wq*-kp~EvvcX+`op4e*>oTsNC(n^bl`tFpaYdLy>QGm z9Y_b#frA73eJD)D8rVD9r-O?f0f-aQ7QD8z1hFVVtbx5F8HTu&=u(LzhPa%3iMkrt zJGvZVo%x*TEO9~+>rTE{Iixz~nhvA`rw*L^cBb=x$^7B`e=5pdI*<D%Fz=b)!CEWlVxyR7qnH~V#n(r5MX!0k2KJ67CvS3M{s^cq8R@`pIPe81 CFd@PK diff --git a/sharing/readme-examples/.DS_Store b/sharing/readme-examples/.DS_Store deleted file mode 100644 index 9637735645c0912ed9081a429b008284e0409d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%Sr=55UkN00$u`MJkAdo@DIii51#!2lPD^zMij;4-u!H>ekd-h;K_qjLwC*e zcFkn#u$=}_7Ec#Pzzo2YZirV4W3%VxBiqSLA<}uq4eoG-LtNrzRQ-Lzxchj-HCA{S z@K?CSJvyE>$A%Tpr`>k5?zU?(?B^cS=WlLY$)tc3kOERb3P^$9DPX;qHr)$Ulmb#f z3VbSH--k*!Y>9oKe>xa^1RzeBcH`P-31YPbu_g9_%+N|ui9sznVw9jWU$d?y_JKi1 z@tb*0-du7*DSkWi)yq*@prRCz0z(CMV>`3{e?tFZ{vVRGlLAuUUnx)~%d_Qzuav!Y y^m5i~EB&1QVXXCX25-egZ^hhLD?a#AS8dJbEwK-DI`d8^>W_fwB9j7tp};%pi5^G* From 8ec212d0b509c33a6b29e40ce04b7d0dfe050a97 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 6 Nov 2024 16:22:58 -0500 Subject: [PATCH 168/174] improve error readability (#74) --- src/odm_sharing/private/rules.py | 8 ++++---- src/odm_sharing/private/trees.py | 2 +- src/odm_sharing/private/utils.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/odm_sharing/private/rules.py b/src/odm_sharing/private/rules.py index fc815258..f5b9ba7d 100644 --- a/src/odm_sharing/private/rules.py +++ b/src/odm_sharing/private/rules.py @@ -88,8 +88,8 @@ class ParseError(Exception): def gen_error(ctx: SchemaCtx, desc: str) -> ParseError: '''returns a ParseError''' - col = f',{ctx.column}' if ctx.column else '' - msg = f'{ctx.filename}({ctx.line_num}{col}): {desc}' + col = f', col: {qt(ctx.column)}' if ctx.column else '' + msg = f'{ctx.filename}(ln: {ctx.line_num}{col}): {desc}' print('Error: ' + msg, file=sys.stderr) return ParseError(msg) @@ -117,7 +117,7 @@ def coerce_value( # type: ignore def get_expected(type_class) -> str: # type: ignore if type(type_class) is EnumMeta: - return fmt_set(list(type_class)) + return 'one of ' + fmt_set(list(type_class)) else: return type_class.__name__ @@ -185,7 +185,7 @@ def check_required(ctx: SchemaCtx, val: str, mode: RuleMode, def check_set(ctx: SchemaCtx, actual: str, expected: Union[set, list] ) -> None: if actual not in expected: - err(f'got {qt(actual)}, expected {fmt_set(expected)}') + err(f'got {qt(actual)}, expected one of {fmt_set(expected)}') ctx.column = RULE_ID if rule.id <= 0: diff --git a/src/odm_sharing/private/trees.py b/src/odm_sharing/private/trees.py index 1ff011e2..fb8a64d6 100644 --- a/src/odm_sharing/private/trees.py +++ b/src/odm_sharing/private/trees.py @@ -108,7 +108,7 @@ def __init__(self, filename: str) -> None: def gen_error(ctx: Ctx, desc: str) -> ParseError: - loc = f'(rule {ctx.rule_id})' if ctx.rule_id else '' + loc = f'(id: {ctx.rule_id})' if ctx.rule_id else '' msg = f'{ctx.filename}{loc}: {desc}' print('Error: ' + msg, file=sys.stderr) return ParseError(msg) diff --git a/src/odm_sharing/private/utils.py b/src/odm_sharing/private/utils.py index 4b8c4ff3..f99cfaee 100644 --- a/src/odm_sharing/private/utils.py +++ b/src/odm_sharing/private/utils.py @@ -20,7 +20,7 @@ def not_empty(x: Union[list, set, str]) -> bool: def fmt_set(values: Iterable) -> str: '''returns a comma-separated string of the items in `values`, surrounded by curly-brackets''' - items = ','.join(map(qt, values)) + items = ', '.join(values) return f'{{{items}}}' From 1fe55df94f1334e40dbebc7a8ec076d1172a3e85 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 30 Oct 2024 11:09:40 -0400 Subject: [PATCH 169/174] cli: add sql debug output --- src/odm_sharing/tools/share.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/odm_sharing/tools/share.py b/src/odm_sharing/tools/share.py index 1c654673..300856be 100644 --- a/src/odm_sharing/tools/share.py +++ b/src/odm_sharing/tools/share.py @@ -96,8 +96,13 @@ def write_debug( ruleset: Dict[RuleId, Rule] ) -> None: '''write debug output''' + write_line(file, '') write_header(file, 1, f'org {qt(org_name)} - table {qt(table_name)}') + write_header(file, 2, 'data sql') + write_line(file, table_query.data_query.sql) + write_line(file, '') + (select_id, columns) = sh.get_columns(con, table_query) write_header(file, 2, 'columns') for col in columns: From 50496e227cdb04584d46d6a7b4120687bd53e3ae Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 30 Oct 2024 11:40:49 -0400 Subject: [PATCH 170/174] queries: remove redundant ident call --- src/odm_sharing/private/queries.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/odm_sharing/private/queries.py b/src/odm_sharing/private/queries.py index bca5b9ba..2cc2891c 100644 --- a/src/odm_sharing/private/queries.py +++ b/src/odm_sharing/private/queries.py @@ -130,7 +130,7 @@ def record(node: Node, sql: str, args: SqlArgs) -> None: elif n.kind == NodeKind.FILTER: # filter has op as value, children define field, kind and literals op = parse_op(n.str_val) - key_ident = ident(recurse(n.sons[0])) + key_ident = recurse(n.sons[0]) def gen_range_sql(range_kind: RangeKind, values: List[str]) -> str: '''generates sql for a range of values''' From 82b431b5bdcd6ad3d43240fa2f9e7da22179a483 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 30 Oct 2024 11:41:14 -0400 Subject: [PATCH 171/174] queries: fix sql ident sanitization --- src/odm_sharing/private/queries.py | 35 +++++++++++++++++++++++------- tests/test_queries.py | 10 ++++----- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/src/odm_sharing/private/queries.py b/src/odm_sharing/private/queries.py index 2cc2891c..ba155288 100644 --- a/src/odm_sharing/private/queries.py +++ b/src/odm_sharing/private/queries.py @@ -1,4 +1,3 @@ -import re from collections import defaultdict from dataclasses import dataclass, field from functools import partial @@ -17,6 +16,7 @@ Node, NodeKind, Op, + ParseError, RangeKind, RuleTree, parse_op, @@ -60,12 +60,19 @@ class TableQuery: OrgTableQueries = Dict[OrgName, Dict[TableName, TableQuery]] -INVALID_IDENT_PATTERN = re.compile(r'\W+', re.ASCII) - - def ident(x: str) -> str: - '''sanitize and quote sql identifier''' - return dqt(INVALID_IDENT_PATTERN.sub('', x)) + '''make a sanitized/quoted sql identifier + + :raises ParseError: + ''' + # Double-quotes should be used as the delimiter for column-name + # identifiers. (https://stackoverflow.com/a/2901499) + # + # It should be enough to simply disallow double-quotes in the name. + if '"' in x: + raise ParseError('the following column-name contains double-quotes, ' + + f'which is not allowed: \'{x}\'') + return dqt(x) def convert(val: str) -> str: @@ -90,6 +97,8 @@ def gen_data_sql( to be generated, but it'll also work on any node in the table-subtree. :param args: (output) sql arguments :param rule_queries: (output) see ``gen_data_query`` + + :raises ParseError: ''' def recurse(node: Node) -> str: @@ -177,6 +186,8 @@ def gen_data_query( :param rule_queries: (output) partial filter and select queries :return: complete query + + :raises ParseError: ''' args: List[str] = [] sql = gen_data_sql(table_node, args, rule_queries) @@ -226,7 +237,10 @@ def gen_count_query_sql( rule_id: int, filter_query: PartialQuery, ) -> Tuple[RuleId, Query]: - '''generate count query for table from partial filter query''' + '''generate count query for table from partial filter query + + :raises ParseError: + ''' sql = ( f'SELECT COUNT(*) FROM {ident(table)}' + (f' WHERE {filter_query.sql}' if filter_query.sql else '') @@ -235,7 +249,10 @@ def gen_count_query_sql( def gen_table_query(share_node: Node, table_node: Node) -> TableQuery: - '''generates a table-query for a specific table node of a share node''' + '''generates a table-query for a specific table node of a share node + + :raises ParseError: + ''' assert share_node.kind == NodeKind.SHARE assert table_node.kind == NodeKind.TABLE assert table_node in share_node.sons @@ -281,6 +298,8 @@ def generate(rule_tree: RuleTree) -> OrgTableQueries: :param rule_tree: the tree to generate queries from :return: query-objects for each org and table + + :raises ParseError: ''' def gen_table_query_entry(share_node: Node, table_node: Node diff --git a/tests/test_queries.py b/tests/test_queries.py index cef7156c..c9e7c47a 100644 --- a/tests/test_queries.py +++ b/tests/test_queries.py @@ -92,8 +92,8 @@ def test_share_table_rule_count_queries(self) -> None: self.assertEqual(actual2, expected2) def test_sanitize(self) -> None: - '''special characters are stripped, and parameter values separated, to - prevent injections''' + '''double-quotes are not allowed in identifiers and parameter values + are separated, to prevent injections''' injection = '" OR 1=1 --' ruleset = [ Rule(id=1, table='t', mode=RuleMode.SELECT, value=injection), @@ -102,10 +102,8 @@ def test_sanitize(self) -> None: Rule(id=3, table='', mode=RuleMode.SHARE, key='ohri', value='1;2'), ] ruletree = trees.parse(ruleset) - q = queries.generate(ruletree)['ohri']['t'] - actual = q.data_query.sql - expected = 'SELECT "OR11" FROM "t" WHERE ("OR11" = ?)' - self.assertEqual(actual, expected) + with self.assertRaisesRegex(rules.ParseError, 'quote.*not allowed'): + queries.generate(ruletree) if __name__ == '__main__': From d1f054a2c9c1a55a2d9a47479df3894250058dd1 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 30 Oct 2024 11:42:20 -0400 Subject: [PATCH 172/174] test/api: add edge case for header with dot --- tests/api/issue-69/protocols.csv | 4 ++++ tests/api/issue-69/schema-org1-protocols.csv | 4 ++++ tests/api/issue-69/schema.csv | 3 +++ tests/test_api.py | 8 ++++++++ 4 files changed, 19 insertions(+) create mode 100644 tests/api/issue-69/protocols.csv create mode 100644 tests/api/issue-69/schema-org1-protocols.csv create mode 100644 tests/api/issue-69/schema.csv diff --git a/tests/api/issue-69/protocols.csv b/tests/api/issue-69/protocols.csv new file mode 100644 index 00000000..d1d9ff97 --- /dev/null +++ b/tests/api/issue-69/protocols.csv @@ -0,0 +1,4 @@ +Protocol.ID +a +b +c diff --git a/tests/api/issue-69/schema-org1-protocols.csv b/tests/api/issue-69/schema-org1-protocols.csv new file mode 100644 index 00000000..d1d9ff97 --- /dev/null +++ b/tests/api/issue-69/schema-org1-protocols.csv @@ -0,0 +1,4 @@ +Protocol.ID +a +b +c diff --git a/tests/api/issue-69/schema.csv b/tests/api/issue-69/schema.csv new file mode 100644 index 00000000..9ee5bc70 --- /dev/null +++ b/tests/api/issue-69/schema.csv @@ -0,0 +1,3 @@ +ruleID,table,mode,key,operator,value,notes +1,protocols,select,,,Protocol.ID, +2,,share,org1,,1, diff --git a/tests/test_api.py b/tests/test_api.py index d4554ade..ae06cc73 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -64,6 +64,14 @@ def test_excel_string_filter(self) -> None: self.assertEqual(df['str1'].to_list(), ['a']) self.assertEqual(df['str2'].to_list(), ['']) + def test_header_with_dot(self) -> None: + HEADER = 'Protocol.ID' + dir = join(self.dir, 'api', 'issue-69') + res = sh.extract(join(dir, 'schema.csv'), join(dir, 'protocols.csv')) + df = res['org1']['protocols'] + self.assertEqual(df.columns.to_list(), [HEADER]) + self.assertEqual(df[HEADER].to_list(), ['a', 'b', 'c']) + if __name__ == '__main__': unittest.main() From 056f24bc21e2a4a1b44e933c35790cacda67ff04 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 13 Nov 2024 10:59:47 -0500 Subject: [PATCH 173/174] bump version (#54) --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 9ffd46a4..d8417292 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "odm_sharing" -version = "0.1.0" +version = "1.0.0" authors = [ { name="OHRI", email="PHES-ODM@ohri.ca" } ] From bb97b32eba483b5a78b95ba009d2c8bd45577a94 Mon Sep 17 00:00:00 2001 From: zargot Date: Wed, 13 Nov 2024 12:07:08 -0500 Subject: [PATCH 174/174] doc/man: update install branch for v1 release (#75) --- docs/manual/chapters/install.qmd | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/manual/chapters/install.qmd b/docs/manual/chapters/install.qmd index 6e6fedd5..ca003e55 100644 --- a/docs/manual/chapters/install.qmd +++ b/docs/manual/chapters/install.qmd @@ -19,12 +19,9 @@ distribution. `python` and `pip` is used below, but they may also be called Install the package: ```bash -pip install git+https://github.com/Big-Life-Lab/PHES-ODM-sharing.git@impl +pip install git+https://github.com/Big-Life-Lab/PHES-ODM-sharing.git ``` -(The `impl` branch must be used for now, until it's merged into the main -branch.) - You're done! You can now explore how to get started in @sec-getting-started. ## Development