From ffc08c2cfa9433c81a98cf20e4422e7e8d482d94 Mon Sep 17 00:00:00 2001 From: Oisin Date: Sun, 18 Jan 2026 17:29:21 +0000 Subject: [PATCH 01/13] Added code for fastapi endpoint to call random generator --- generator/api.py | 28 ++++++++++++++++ generator/app/gen_random_telecom_data.py | 4 +++ generator/cons.py | 11 +++++++ generator/exeApi.cmd | 1 + generator/exeApi.sh | 1 + generator/main.py | 34 +++++++++++--------- generator/utilities/JsonEncoder.py | 14 ++++++++ generator/utilities/check_message_body.py | 5 +++ generator/utilities/commandline_interface.py | 2 +- requirements.txt | 3 +- 10 files changed, 85 insertions(+), 18 deletions(-) create mode 100644 generator/api.py create mode 100644 generator/exeApi.cmd create mode 100644 generator/exeApi.sh create mode 100644 generator/utilities/JsonEncoder.py create mode 100644 generator/utilities/check_message_body.py diff --git a/generator/api.py b/generator/api.py new file mode 100644 index 0000000..b29419a --- /dev/null +++ b/generator/api.py @@ -0,0 +1,28 @@ +import json +from fastapi import FastAPI + +import cons +from main import main +from utilities.check_message_body import check_message_body +from utilities.JsonEncoder import JsonEncoder as NpEncoder + +app = FastAPI() + +@app.get("/") +def home(): + return {"message": "Welcome to Random Telecom Payments API"} + +@app.get("/api") +def get_api(): + output_data_dict = main(input_params_dict=cons.default_input_params_dict) + trans_data_dict = output_data_dict['trans_data'].to_dict(orient='records') + response = json.dumps(trans_data_dict, cls=NpEncoder) + return response + +@app.post("/api") +def post_api(body: dict): + check_message_body(body) + output_data_dict = main(input_params_dict=body) + trans_data_dict = output_data_dict['trans_data'].to_dict(orient='records') + response = json.dumps(trans_data_dict, cls=NpEncoder) + return response \ No newline at end of file diff --git a/generator/app/gen_random_telecom_data.py b/generator/app/gen_random_telecom_data.py index 1b400cd..28b0283 100644 --- a/generator/app/gen_random_telecom_data.py +++ b/generator/app/gen_random_telecom_data.py @@ -114,4 +114,8 @@ def gen_random_telecom_data( fpath_countrycrimeindex=cons.fpath_countrycrimeindex ) + # map np.nans to None for JSON serialisation + user_data = user_data.where(pd.notnull(user_data), None) + trans_data = trans_data.where(pd.notnull(trans_data), None) + return {"user_data":user_data, "trans_data":trans_data} diff --git a/generator/cons.py b/generator/cons.py index d3839d2..6fdb599 100644 --- a/generator/cons.py +++ b/generator/cons.py @@ -48,6 +48,17 @@ default_registration_end_date = (date_today - datetime.timedelta(days=366)).strftime(date_date_strftime) default_transaction_start_date = (date_today - datetime.timedelta(days=365)).strftime(date_date_strftime) default_transaction_end_date = date_today.strftime(date_date_strftime) +# define default input parameters dictionary +default_input_params_dict = { + "n_users": default_n_users, + "use_random_seed": default_use_random_seed, + "n_itr": default_n_itr, + "n_applications": default_n_applications, + "registration_start_date": default_registration_start_date, + "registration_end_date": default_registration_end_date, + "transaction_start_date": default_transaction_start_date, + "transaction_end_date": default_transaction_end_date +} # set unittest constants unittest_seed = 42 diff --git a/generator/exeApi.cmd b/generator/exeApi.cmd new file mode 100644 index 0000000..a9e1fb9 --- /dev/null +++ b/generator/exeApi.cmd @@ -0,0 +1 @@ +call fastapi dev api.py \ No newline at end of file diff --git a/generator/exeApi.sh b/generator/exeApi.sh new file mode 100644 index 0000000..be58e60 --- /dev/null +++ b/generator/exeApi.sh @@ -0,0 +1 @@ +fastapi dev api.py \ No newline at end of file diff --git a/generator/main.py b/generator/main.py index eabed33..769812a 100644 --- a/generator/main.py +++ b/generator/main.py @@ -12,20 +12,13 @@ from utilities.multiprocess import multiprocess from app.gen_random_telecom_data import gen_random_telecom_data -if __name__ == '__main__': - - # set up logging - lgr = logging.getLogger() - lgr.setLevel(logging.INFO) - - # set user parameters - input_params_dict = commandline_interface() - +def main(input_params_dict: dict): + """ + Main function to generate random telecom payments data. + """ # run input error handling - input_error_handling(input_params_dict) - logging.info(f'Input Parameters: {input_params_dict}') - + input_error_handling(input_params_dict) # start timer t0 = time() if input_params_dict['n_itr'] > 1: @@ -67,19 +60,28 @@ t1 = time() total_runtime_seconds = round(t1 - t0, 2) logging.info(f'Total Runtime: {total_runtime_seconds} seconds') - # print out head and shape of data logging.info(f'RandomTeleComUsersData.shape: {user_data.shape}') logging.info(f'RandomTeleComTransData.shape: {trans_data.shape}') - # check output data directories exist data_fdirs = [os.path.dirname(cons.fpath_randomtelecomtransdata), os.path.dirname(cons.fpath_randomtelecomusersdata)] for data_fdir in data_fdirs: if not os.path.exists(data_fdir): os.mkdir(data_fdir) - # write data to disk logging.info(f'Writing intermediate user level random telecoms data to: {cons.fpath_randomtelecomusersdata}') logging.info(f'Writing output trans level random telecoms data to: {cons.fpath_randomtelecomtransdata}') user_data.to_parquet(cons.fpath_randomtelecomusersdata, engine='fastparquet') - trans_data.to_csv(cons.fpath_randomtelecomtransdata, index = False) \ No newline at end of file + trans_data.to_csv(cons.fpath_randomtelecomtransdata, index = False) + # return dataframes as dictionary + return {"user_data": user_data, "trans_data": trans_data} + +if __name__ == '__main__': + # set up logging + lgr = logging.getLogger() + lgr.setLevel(logging.INFO) + # set user parameters + input_params_dict = commandline_interface() + # run main + output_data_dict = main(input_params_dict) + logging.info('Programme finished successfully.') \ No newline at end of file diff --git a/generator/utilities/JsonEncoder.py b/generator/utilities/JsonEncoder.py new file mode 100644 index 0000000..6ab4f63 --- /dev/null +++ b/generator/utilities/JsonEncoder.py @@ -0,0 +1,14 @@ +import json +import numpy as np +import pandas as pd + +class JsonEncoder(json.JSONEncoder): + def default(self, obj): + dtypes = (np.datetime64, pd.Timestamp) + if isinstance(obj, dtypes): + return str(obj) + elif isinstance(obj, np.integer): + return int(obj) + elif isinstance(obj, np.floating): + return float(obj) + return super(JsonEncoder, self).default(obj) \ No newline at end of file diff --git a/generator/utilities/check_message_body.py b/generator/utilities/check_message_body.py new file mode 100644 index 0000000..5869396 --- /dev/null +++ b/generator/utilities/check_message_body.py @@ -0,0 +1,5 @@ +from fastapi import HTTPException + +def check_message_body(body: dict): + if not body.get("n_users"): + raise HTTPException(status_code=400, detail="'n_users' field is required") \ No newline at end of file diff --git a/generator/utilities/commandline_interface.py b/generator/utilities/commandline_interface.py index 515ec43..867f866 100644 --- a/generator/utilities/commandline_interface.py +++ b/generator/utilities/commandline_interface.py @@ -49,7 +49,7 @@ def commandline_interface() -> Dict[str, object]: parser.add_argument("--transaction_start_date", action="store", dest="transaction_start_date", type=str, default=cons.default_transaction_start_date, help="String, the start date for transactions",) parser.add_argument("--transaction_end_date", action="store", dest="transaction_end_date", type=str, default=cons.default_transaction_end_date, help="String, the end date for transactions",) # create an output dictionary to hold the results - input_params_dict = {} + input_params_dict = cons.default_input_params_dict.copy() # extract input arguments args = parser.parse_args() # map input arguments into output dictionary diff --git a/requirements.txt b/requirements.txt index 213f85d..5e77de7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,4 +10,5 @@ pyarrow==18.1.0 fastparquet==2024.11.0 beartype==0.19.0 unidecode==1.3.8 -boto3==1.36.12 \ No newline at end of file +boto3==1.36.12 +fastapi[standard]==0.128.0 \ No newline at end of file From b0fc1cf969cc2b34e75787d1870801037cf27af0 Mon Sep 17 00:00:00 2001 From: Oisin Date: Tue, 20 Jan 2026 08:53:00 +0000 Subject: [PATCH 02/13] Updated user directory in readme --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6653841..3b4c0cc 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ ## Overview -Randomly simulated data is particularly useful when it's real world counterpart is hard access due to complexity, privacy and security reasons. Moreover, randomly simulated data has additional benefits including reproducibility, scalability and controllability. +Randomly simulated data is particularly useful when it's real world counterpart is hard access due to complexity, privacy and security reasons. Moreover, randomly simulated data has additional benefits including reproducibility, scalability and controllability. -This application aims to simulate telecommunication payments using random number generation. It includes typical transaction level relationships and behaviours amongst the user, device, ip, and card entities. It can be used in place of real world telecommunication payments for prototyping solutions and as an education tool. +This application aims to simulate telecommunication payments using random number generation. It includes typical transaction level relationships and behaviours amongst the user, device, ip, and card entities. It can be used in place of real world telecommunication payments for prototyping solutions and as an education tool. The data generation algorithm works by first generating user level telecom payments data. Afterwards, the user level data is exploded to transaction level, and any inconsistencies within the data model are removed. Finally, the transaction status and error codes are generated using underlying features within the transaction level data. @@ -16,7 +16,7 @@ A stable master version of the Random Telecom Payments data can be found on Kagg ## Data Model -The underlying data model present in the simulated telecommunication payments is displayed below. +The underlying data model present in the simulated telecommunication payments is displayed below. ![Entity Relationship Diagram](doc/entity_relationship_diagram.jpg) @@ -69,7 +69,7 @@ docker run --name rtp oislen/randomtelecompayments:latest --n_users 1000 --use_r The generated Random Telecom Payments data can then be extract from the docker image using the following command: ``` -docker cp rtp:/home/ubuntu/RandomTelecomPayments/data/RandomTelecomPayments.csv %userprofile%\Downloads\RandomTelecomPayments.csv +docker cp rtp:/home/user/RandomTelecomPayments/data/RandomTelecomPayments.csv %userprofile%\Downloads\RandomTelecomPayments.csv ``` ### Application Parameters From 9926bd8cc4cd10e5da1871ebaf1eec834c4d548d Mon Sep 17 00:00:00 2001 From: Oisin Date: Tue, 20 Jan 2026 09:39:14 +0000 Subject: [PATCH 03/13] Added example postman api calls for testing fastapi endpoint --- ...domTelecomPayments.postman_collection.json | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 doc/RandomTelecomPayments.postman_collection.json diff --git a/doc/RandomTelecomPayments.postman_collection.json b/doc/RandomTelecomPayments.postman_collection.json new file mode 100644 index 0000000..7a0480c --- /dev/null +++ b/doc/RandomTelecomPayments.postman_collection.json @@ -0,0 +1,95 @@ +{ + "info": { + "_postman_id": "ff7bfe7a-c3ca-4d73-a609-6094c57def45", + "name": "RandomTelecomPayments", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", + "_exporter_id": "39794605" + }, + "item": [ + { + "name": "/api", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://127.0.0.1:8000/api", + "protocol": "http", + "host": [ + "127", + "0", + "0", + "1" + ], + "port": "8000", + "path": [ + "api" + ] + } + }, + "response": [] + }, + { + "name": "/api?n_users=5&random_seed=1", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://127.0.0.1:8000/api?n_users=5&random_seed=1", + "protocol": "http", + "host": [ + "127", + "0", + "0", + "1" + ], + "port": "8000", + "path": [ + "api" + ], + "query": [ + { + "key": "n_users", + "value": "5" + }, + { + "key": "random_seed", + "value": "1" + } + ] + } + }, + "response": [] + }, + { + "name": "/api", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"n_users\": 1,\r\n \"use_random_seed\": 1,\r\n \"n_itr\": 1,\r\n \"n_applications\": 20000,\r\n \"registration_start_date\": \"2024-01-01\",\r\n \"registration_end_date\": \"2024-12-31\",\r\n \"transaction_start_date\": \"2025-01-01\",\r\n \"transaction_end_date\": \"2025-12-31\"\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://127.0.0.1:8000/api", + "protocol": "http", + "host": [ + "127", + "0", + "0", + "1" + ], + "port": "8000", + "path": [ + "api" + ] + } + }, + "response": [] + } + ] +} \ No newline at end of file From bac3b2f52c5997f68e71dcb3fcd1260cd137d2c4 Mon Sep 17 00:00:00 2001 From: Oisin Date: Tue, 20 Jan 2026 09:39:39 +0000 Subject: [PATCH 04/13] Added docstring to json encoder class --- generator/utilities/JsonEncoder.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/generator/utilities/JsonEncoder.py b/generator/utilities/JsonEncoder.py index 6ab4f63..051bd74 100644 --- a/generator/utilities/JsonEncoder.py +++ b/generator/utilities/JsonEncoder.py @@ -3,7 +3,30 @@ import pandas as pd class JsonEncoder(json.JSONEncoder): + """ + A custom JSON encoder for handling numpy and pandas data types. + Extends the default JSONEncoder to convert numpy data types and pandas Timestamps + to native Python data types for JSON serialization. + + Methods + ------- + default(self, obj) + Override the default method to handle specific data types. + """ def default(self, obj): + """ + Convert numpy and pandas data types to native Python types. + + Parameters + ---------- + obj : object + The object to be converted. + + Returns + ------- + object + The converted object suitable for JSON serialization. + """ dtypes = (np.datetime64, pd.Timestamp) if isinstance(obj, dtypes): return str(obj) From f81e2245de6d4896e983034f1fe728615db3ba5f Mon Sep 17 00:00:00 2001 From: Oisin Date: Tue, 20 Jan 2026 09:40:03 +0000 Subject: [PATCH 05/13] Deprecated check_message_body function as unneeded --- generator/utilities/{ => arch}/check_message_body.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename generator/utilities/{ => arch}/check_message_body.py (100%) diff --git a/generator/utilities/check_message_body.py b/generator/utilities/arch/check_message_body.py similarity index 100% rename from generator/utilities/check_message_body.py rename to generator/utilities/arch/check_message_body.py From 909362a8e0efcae199feb93d5505aa0330c3daea Mon Sep 17 00:00:00 2001 From: Oisin Date: Tue, 20 Jan 2026 09:40:46 +0000 Subject: [PATCH 06/13] Refined fastapi endpoint to accept query parameters for get /api. Added docstrings. --- generator/api.py | 122 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 108 insertions(+), 14 deletions(-) diff --git a/generator/api.py b/generator/api.py index b29419a..190358b 100644 --- a/generator/api.py +++ b/generator/api.py @@ -1,28 +1,122 @@ import json -from fastapi import FastAPI +from fastapi import FastAPI, Query +from typing import Annotated, Dict, List import cons from main import main -from utilities.check_message_body import check_message_body -from utilities.JsonEncoder import JsonEncoder as NpEncoder +from utilities.JsonEncoder import JsonEncoder as JsonEncoder -app = FastAPI() +tags_metadata = [ + { + "name": "Random Telecom Payments Data Generator", + "description": "Generate random telecom payments data based on user-defined parameters.", + }, +] -@app.get("/") -def home(): - return {"message": "Welcome to Random Telecom Payments API"} +app = FastAPI( + title="Random Telecom Payments Data Generator API", + description="An API to generate random telecom payments data based on user-defined parameters.", + version="0.0.0", + openapi_tags=tags_metadata, +) @app.get("/api") -def get_api(): - output_data_dict = main(input_params_dict=cons.default_input_params_dict) +async def get_api( + n_users: Annotated[int, Query(title="Number of Users", description="The number of users")] = cons.default_n_users, + use_random_seed : Annotated[int, Query(title="Use Random Seed", description="The random seed to use", ge=0, le=1)] = cons.default_use_random_seed, + n_itr : Annotated[int, Query(title="Number of Iterations", description="The number of iterations", ge=1)] = cons.default_n_itr, + n_applications : Annotated[int, Query(title="Number of Applications", description="The number of applications", ge=1)] = cons.default_n_applications, + registration_start_date : Annotated[str, Query(title="Registration Start Date", description="The registration start date in YYYY-MM-DD format")] = cons.default_registration_start_date, + registration_end_date : Annotated[str, Query(title="Registration End Date", description="The registration end date in YYYY-MM-DD format")] = cons.default_registration_end_date, + transaction_start_date : Annotated[str, Query(title="Transaction Start Date", description="The transaction start date in YYYY-MM-DD format")] = cons.default_transaction_start_date, + transaction_end_date : Annotated[str, Query(title="Transaction End Date", description="The transaction end date in YYYY-MM-DD format")] = cons.default_transaction_end_date, + #tags: list[str] = ["Random Telecom Payments Data Generator"] + ): + """ + Generate random telecom payments data based on user-defined parameters. + + Parameters + ---------- + n_users : int + The number of users. + use_random_seed : int + The random seed to use (0 or 1). + n_itr : int + The number of iterations. + n_applications : int + The number of applications. + registration_start_date : str + The registration start date in YYYY-MM-DD format. + registration_end_date : str + The registration end date in YYYY-MM-DD format. + transaction_start_date : str + The transaction start date in YYYY-MM-DD format. + transaction_end_date : str + The transaction end date in YYYY-MM-DD format. + + Returns + ------- + response : str + A JSON string containing the generated telecom payments data. + """ + # generate parameters dictionary + input_params_dict={ + "n_users": n_users, + "use_random_seed": use_random_seed, + "n_itr": n_itr, + "n_applications": n_applications, + "registration_start_date": registration_start_date, + "registration_end_date": registration_end_date, + "transaction_start_date": transaction_start_date, + "transaction_end_date": transaction_end_date + } + # run random telecom payments generator + output_data_dict = main(input_params_dict=input_params_dict) + # convert transaction data to dictionary and then to json response trans_data_dict = output_data_dict['trans_data'].to_dict(orient='records') - response = json.dumps(trans_data_dict, cls=NpEncoder) + response = json.dumps(trans_data_dict, cls=JsonEncoder) return response @app.post("/api") -def post_api(body: dict): - check_message_body(body) - output_data_dict = main(input_params_dict=body) +async def post_api( + body: Dict[str, object] = {}, + #tags: list[str] = ["Random Telecom Payments Data Generator"] + ): + """ + Generate random telecom payments data based on user-defined parameters. + + Parameters + ---------- + body : Dict[str, object] + A dictionary containing the input parameters. + Possible keys are: + - n_users : int + The number of users. + - use_random_seed : int + The random seed to use (0 or 1). + - n_itr : int + The number of iterations. + - n_applications : int + The number of applications. + - registration_start_date : str + The registration start date in YYYY-MM-DD format. + - registration_end_date : str + The registration end date in YYYY-MM-DD format. + - transaction_start_date : str + The transaction start date in YYYY-MM-DD format. + - transaction_end_date : str + The transaction end date in YYYY-MM-DD format. + + Returns + ------- + response : str + A JSON string containing the generated telecom payments data. + """ + # generate parameters dictionary + input_params_dict={**cons.default_input_params_dict, **body} + # run random telecom payments generator + output_data_dict = main(input_params_dict=input_params_dict) + # convert transaction data to dictionary and then to json response trans_data_dict = output_data_dict['trans_data'].to_dict(orient='records') - response = json.dumps(trans_data_dict, cls=NpEncoder) + response = json.dumps(trans_data_dict, cls=JsonEncoder) return response \ No newline at end of file From 523845a5e186ec553b5700205db9e6b79c510917 Mon Sep 17 00:00:00 2001 From: Oisin Date: Wed, 21 Jan 2026 06:33:26 +0000 Subject: [PATCH 07/13] Updated exeApi scripts to use fastapi run --- generator/exeApi.cmd | 2 +- generator/exeApi.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/generator/exeApi.cmd b/generator/exeApi.cmd index a9e1fb9..be168b3 100644 --- a/generator/exeApi.cmd +++ b/generator/exeApi.cmd @@ -1 +1 @@ -call fastapi dev api.py \ No newline at end of file +call fastapi run api.py \ No newline at end of file diff --git a/generator/exeApi.sh b/generator/exeApi.sh index be58e60..5d8da41 100644 --- a/generator/exeApi.sh +++ b/generator/exeApi.sh @@ -1 +1 @@ -fastapi dev api.py \ No newline at end of file +fastapi run api.py \ No newline at end of file From e850de04280d16ed6371b9790c8fd73ce9a70a0e Mon Sep 17 00:00:00 2001 From: Oisin Date: Wed, 21 Jan 2026 06:33:58 +0000 Subject: [PATCH 08/13] Added screenshot of fastapi browser endpoint ui --- doc/fastapi_endpoint.jpg | Bin 0 -> 112689 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/fastapi_endpoint.jpg diff --git a/doc/fastapi_endpoint.jpg b/doc/fastapi_endpoint.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dfe4d5b0f28de69e1ae21a8668c3277595088e41 GIT binary patch literal 112689 zcmeFYXH-+|`z{!o2na}%PE?vwM3LSiDj*^v(iDU!RX_+zhmZ&;y-0thDqUJYdX4lZ z(g_ke2vPzGHITyD@0qjCtog0^Ff*U#zt%rwe<3?r&;2}ixvuNJ_u2H>BIx2nU42~; z4Gj&*5BLL}VL|smbhNbpzJV7#@MbvAz(7yWz|6>a?)(Mj3l~_JSy))vI4`oYaj>zl zT)cFVgNvJohvx!2FW)6@K2B~P?tg!Th7R}+Jp&U10~0qZ3oG~k>(|*25XX5sTSi|x znyVmM4jMWRnzJqt7zCnW09O0&g8$cxh89@kImYu$%q+kSwHHCOG<0;d^mPBO8n` zDk-a|s@=PS{1N=`{l z`{#3dZeD&tVNvn7lJC_uwRQCkjZGb$UEMvsef+C@X_3tV&@^bA*So#WItW_#BV4dG5OjU#r@gL~lRE^Vq%{Wxgb)uq00S*R=m>+5a=cLjFHl_P-7LKkb?UU7(`@ z4v&rl1OZV@a-*(+{`>mxJ@{`Q_-`NhZy)$?ANc>j4}|UPu&_AaxZxN#KYy$7PfAB_ z{8J;)6Z#2@^aaG|8Hi0`D=ZAk)v;4V-wsn4B+6f5+%Gu;;l~#)oPqv2oPqjTa;VA{ z{WrSyZ>)bawy`<`v1;OnsbNs^r^YkTiWjoe2!8tv^fm1aBz6NyoD)ji78-2aG_^>L zpYdJ#d>Pqca56o61|l@!;Ib=ObUjlzt?*LI%?CL_uaH@gd6NO^)ud>vuXCEQGuH~6 z%UqsEm>DPP|DescE3N>W5PvVmUj6f>fk1ywM+M@fF9D($KPW-sN3>|pKwplj`m;zv z6Tu>*Fn$>#-63n9tF#doXhyXUJ$5WL} zD9y=dpb={bnGLcgG6wz`e?PZn_y2m29$A6?J@T*S87R>gOm>gQ%@$EZHqJncZ_hwC zk3LcD1H^gO|6?%|BUCv*^)6p&m>tThW!t0brvPW~2#h7^p#1u}s>AbZCSBuh2PV)Mkg-zv~} z$WMuh>rL@RWbhuu3c2)E>k@MGAs$I(FGmvpxD#EM^**#XOY1D1fw=!RZAU3{k1L*c zKQGdtt4NR}tL0Ej;;Dd}QYN9A)GQaU+3x9G}enQIM>8aOG&q%foz9k(&Kwj!AF*qPF*?Jnj~RrK!c{G-aQ9CKSx*{1ebQuKL)ENkB43dzUB zCH(rcmbkIbUMg>E^C#Q`*~1KH;rK64R?~4!6ADv*UR=wqf*Y;C*oYD{>Ny;)GmgQq zD>I3kz6n@S@Ez;-5}$@jq@_FCq((Jf6;YbCr(_hHg|Ue7B5Uz3|AW~NF;nGA>9fkr z-2|i97WKtIl?t*R$~hZcn{FhfdT7vxOIV=CUD&2kpgIXMNhP5FEq5 z%so&RQ_C)3ZLU0I-e%(2Lz1~?s2DS%?BZ6l^gl3JiK)sjAhrSF-Z_B~*v7xHcwsjY$n zao2tmxfnGT3^&adrH_nx=%U|POj=;Rn$q%(CcEN_N*e6_x%}+?-&~^l@W6Mup{7*;r6^Jdu z9*{EJsL(7fJv2Y|lkQt0rX7OcM4pyFPGD!CV>1=8)rlHySx#5atzF`4qmMZUPg}re zpwKNSRTaohk{!dR*KOE=jXgx2frL=K;D~uzV5{hseHxe8>x0mw+s1+Hb^cn=jM}>0 z-wi7pNr$Lv43){aQTq(^@oP-X8K@6^2AVS)-CpV!NE^jb;6G>c3m2z~N#pvH+uk@O ztns*<+o7=5ANo($GY`LaOJ&DYK zCmRZan$2{-5jo^mz>`nhh1-(UQo;T;!goWf3KG z`wVno{m5*c@AwQPF(kXwe{=>?h@Tu(9}LnRV<~;U(pZ~y=~>ao&isf@se#Ur^Or-^ zCMNsH!2Tr~Eas4Crhx+Yq1=dzi0N!&s*79cvON0y1>5J7-;}lL)7Lw~`;yiAS&3(| zx;o!@(l>@1n`@IikxMy3ex5y*`pV(86giu)+u=!%TI2qhl9KJBu*J^hL(0rj+2v)^ zuLa=sGg*gq8FuG?rYU>M7=JmG>7pTGG{2Co@p4hM43(pB*QGhzlQvv=SSkHpPHtY( zUBhj5!{<|@I!gMSd^7s|#@v@2?cRen_4Db9E5x;w$*QU3XGQVk8^;B8L7%-d>?C## zoA+~EaAu*!4p)+6LevC&0>eMm7@K;Rdm7@`GL*iSx?F0q{vaxEZS%9TE0j`X3nCj{ zo^926nE-t9RuQ!Kh1)#Sh#M_)>gV6C|9x zeFB|HBUt(WvsE8>fyzDOs>@;>7ZO#Fw`GZp@cIioC?&Z)?0NOiPTAUX+qau#`JqI! z8G*W`1`DndIE?7|byHalk+*UNV%a!8`emCvwe`F%>RG0@xw(gF{5|Vh#0|vg6mkY! zGaOg$dxAhlNJb-W*LyYmQa>yyU^FkuZ#n~|12s3}N&co*4j$P@u{#5WeIPzR1L^#m zuZdc<02oObCwlfEz=Rli!!NE)?u{4V8tHDUzRc*SAC}wrkwkHI26e&4_8zf$Kul1>cnyz4V9NM!G~G)&H~67G9;+<()A-2 zx2H^!vug3OFY1D-tgY3(*)QjoxTKe-hQCrg%JYX6{l42=(Abn>7k6v(XBSATHh5__ zTI4*zn^-l{;;=+8z!9Tj+%x}=%=lq*ioew;)55&1Pie?g0E=NPQ7 zsa2T&hVC_#Xg#>@>qE9U$@#+llq)#tM}-7wC9N|^9*2|Dy6k5;w!wx80g#Qb(buOZ z=c*U9PqJEh^z<+ayByE-f(n38%Sz69xAw~+Rq0edk=3SfvYxf0krlbZ{=VgU$xxvy zLK(jn|LtDQpi{BS6#mg?ny^)0di#sIdUvH!sJ?jYI`wg0_ZeshaOw>)Q*BSvC%edz z(!lR&uziT(8R$QNkXM@kp*LK^St!vD*(G4pEaW$T>agug6C`gOC%p(gk8HmcA4L|; z-LhLY`u(`Tj$!xruaD@#eNhW+Gfq@xE@m-Ex`(Pt{YllJB-X~tbtyIVH&pr`J$F4d z(BQmxjh}fdv!{zzmp>S^KVe}|^jLm1x$Nj>Oo7V2joxj65e7@ooI zDO+-;y{TAXMda&>i*SFUBSz#7F?#8?me0w(7j<(vk6=SSN5{8pw1w~wlRB@4>5IM` z_;GMKE;o1h9XV1;&=ngvdc8jTde>9F{Jl)2USZRfufpB%=ra%l4{>yP_hTC`zAbIZ z&FsJdW4R%BqdW{7n-Ed?P11DupLZ6lKiY-XOV2TA%vctG684^?Oc z6L>ou;kdo9Mz?0Ie-_e*Tyw#n=SGdOv)%smp6yab7ozyZVne0rMncr065lglLk-1a z<&Js?jL~qrphb4j!tC_xR8K+a(pJr=S(n@Eu2;YBi8B77L7ah9`!1X44?N_stokjs zdhmd>-vz$Z!oH+FRgKYbTA~Qx5QlAFOSI`jH!Bt=hc6HTutZhl1he}kJ-~c`qmLX8 zEYuOre9LH!HbDR`$hTN8mvhSMbt5Ed@v&W-Vg~dz%GF;q3n2+pHHjto^H41vXL6jDCCV&5HZb$#9)?mELoX=g;IT`(C~~U$%{V zcRKCOZDws^_I*@FqHO{uyDjt8dTe&?VO1~Rp`$GbY3W7d$JT zEDPpG8%(@vv=_-2>oqy&LIqo>wYiecbcYZ8Hry z0((cBvOJK=GW0M%@5!^?ph{=uSjW88cddNm#ciwu;AQ-|h$4QtgG>bavFzRlt3I1qQ>w zT}Dj(s_OR*%CVOu#|8J(cdn*LMv6yHJ(xXbaqko0_{T+#wLHBOO7(Tegqqax?zaNX zx;By*=t_AU`gZs(>e-%0#UK~+asH5UdTD2Ul7YAY-l zMPKPXbPVq>@K~5mzNyjF3Z&@nEf`e=`wn?}OZ9TQ{##Hqhm7&VF*WQ0zgri=YloC= zYILW^H`3nD=GK3;7o*c%d}FL*F(HRLXlBX4elusWdY$g<;2sghWQ%w&V3=RgljPpF z2G=Gae;_y~#m5zg1^s+=CvutXt0xp+U;a$oi+10D441Y!S4&BAtP)gb$uAa^j_7mRC(WQNykKqk=u~`=>96XF| z(&GU6&&uIq4{lS-VV`?oTSbsV;n0YH2rQ7<*WjLYD z`l%24@c0y5Vm3fbTSkY#d5dEqU0SzB6r}h0k}Wp_@-OWri@nEM2e-Gc3&(n!odB{6 zgY+3FDYEViR4H6fjY)5`D_a2w)avir*56tSYw;rs|49d|5Q4WADRxazz z8!MMGiaR}i1T67oTKoWCKrUt=@l|aiexBVBd=;en3{)p$+e(r=lFax6dxG_)eD$@{ z^w3IKS*U?-qnDAtU7wHc##J_@X8B%GQtOVYZAtj~k6T%zIG;EDtzT-Z7uBrQ-sXrE zRP-1p7m2(^-9Eb1FlZDDWtThjt0{$w_&KhdroMs+C#!Wg|J+M@A56C+n|&*0t)=tm zDiQk){)VWKX1TrKjH!t(9IvP_V)dXc)ssfnm{kTnOqxflX>lR@XZ)O~Jw)_DNyJFo zl_yCHRK}CY2});K6B59DqDPKx0+hVAoAbooZr^mpf=<09oRZxIkDe~st|*VOdXy^5 zU(J40qw7ASSxt7QX-jPr{fo}qz1Q5EJ1_nwYZqusV0rWk;&q6Dc#L)%UZQ-(h}XvD z=4&6%@=Wv7r$sXo$tkP+TGn5bACvcPg(eZAmwrN6Tg-&BvR0rQ7IpoB4jwCPuikkG zzL&r0FC@Zt&O?)BsrADG2gC{I+ddc4falp7c-kMd1Hs&uEtbUOw6X{DR0Kt5?j_ zph4eP(M5kyE5~mTVelJ-StzFld*N19Zl}y&b3fBnJ*iB!_%|`}w$eQaO`v!_C4i&y z@Vc?0Vj{NpRAMXLCE%}^sGF;Aw=xfSMi9MqNm#fl;u({Ql`Jbj!LU5z0ao9)x>@6Rp!a{$>KcK8wr~z%Ilb_+ld85 zCa4CY0e-zxS?LrKLALh2)VA4Xi+x|2r+f$L)2?UK(i!J>uEB^KE;XT{yn=;Xh)gA* zEFsk|a&erZneIK0Z-pi#jkPLw=g_VaqnDlG247uI;WHAs%g*9H;(6OkcS8jE{yzNV zr+M32IF=e&Ox$!s@OSToFH*$r$cbM0kod{7CQk7D`IVS-qSR+$p+_r1<^l?w#bqlJ zC*Q=c8#dPmij`|}y?gM>E2-sb&3MZ3WYDSg$+JCl44O&d3 z99|8{Wg}Li&%o)xVW*2reV5WnJ?+DsTUAN#_2||L;n&7BtX-GX`GMPlM9sfnyMOA4 zqAQv%P!ZR@Yo$6&AN=c%>X6xm97Y*<$w;0+@}~AfjW)8K7)~K?h)LgC)1uR_u8i%X z=hLXBNjQeg;=DCY07q!?kGDuK^VW`eM+dJ&^su%=46&c}T0y1G(gxg29y zFUSt9x@byR2zDditMD7P#?N)<97&{IZOQv787LnzZ%#w+J~zw$So+?Q;!g~cy-loT zujQ9Q_nom@w%lUxFJ%7!F^)BUpGC79@j%(53x3Y2C5E=HyzW8lQQhozTGg6udNLEt z%3p|)~@9~{C3Gt43{=@$=cQK`evi#KQ>8cJ zFREXO@)z$th8IF9OsQ=hsNW5Of>6O^$p~MMq$pU4zT&aXf+&hz@|p{PybvK?AGwY1 zF#K1$5YpuPQ?KyrIL&2Q%Rlykf$W!ty`{Qn-hK0V_K`j~lTBU+F=4U19#=Ey=6Y0& zQP`R$Z>gjC3}6a@QM-CAQk|DW zkRPDyfpEwZi8c#L#Tm%u1EuiLknYilfZ&+fCowr2=Vndx=Yu@4Jl@fm1<5W~YnN!Jm5A(O{Eq@I+AT*20Sj$BVGc;~8iWyg`jN3B9)&bQ@2Q-DW|WWE(L^RZfo#nfy+q(C zXd!fZ(>bq=uCQUv(vIT<*DiDPzQDBoOSKTT4HR`DOC8TqpdWPmJuPn=%>r7G0a>|1#&yW{4O%vKdajpj$ zM_t58f4ur)EfrOu)?2agGu`_`49#A?M^}I7M2R#<_U(Gb6Eq=>YDCwCJW>KvuJIf( zl6g1>mZ2ZoxEt^E%m}-_Y52>cEis1NO(k!bxfhDW{Ao!?52ul*mv}B1J}6HlH=_H& z*Ac%Kz8^;+UFPg8CwCMVwsC6nu!A}G6U$BKqPNX1-(FfbT@nwIS6kpN8!Ze?50Z9$0=5=G9CcG-X)RqlB! z*F=4Vd%FyNw$r`S+d$)jMp2K-99ivE-U-lyL-3-~;r^&k%M;&csuWZRurX^p~0MTsfqjCYd@=qv)w&gCP$ud9sAbq|~ zo|0X06%WHXEWJfRepCBVwKX^uQevuK&-TGd-+H~}*b}o`CGs<)sY2O; zqPjP9?F@8pzqc#hHwtY(9Cz#!;8Vi&0#6y>LtSRDYm7{>_LcCr(53m5G!c_syL$w# z9PW~fqq62KLnFyf0>nJadg^H1ctv@-iIn_Kq>bUqKwl4!aYzWGFk>2Z0kY>UB6kLQ zH+%-tzlxefGv;qaqw?Qti5MCjma1A`XU5Y~tv z5KcuT17bwYB7C_q!7B*)v!=CLEcr%Nvo4W}cc9aX>1;(*Vpejt0f|h~Vlke?1W5e3 ztElM#49D(W&Mnji)&AO^S>~ldDl-LWNLOdx2ZE>Th@VVDwg8~JyJk{wNX8pMFO zNgd7E^UPK~1675=D1y-H+j;%3uIj!Oy?-}zCG)M-(B7i6;%}<4gbT3|wdI2_p^hwE z(s)jKM)os0_nMbeE21fK{2*3A|2waPxaHa-Z^;Y4RcBh*PBye|Alub6?%{ivx{sr3 z&Okg^zmSzj@8@hbHteVVh#IH8&IyFg$osQ=Vn;}??|u~FCP+q5Z#r8thAY6Xayzb;)cUbpTBsQo*X+*)MB%;VBUBp1}+n@fO(wD&82 zk3WA>u^#4nc7xou|43$PLBiTxfq;z!0(QtH=ZGEP*rVPD$nAI%uiw@pZ?_LYskQVk zuchb4{_`43ho8IGov!JzGhc8B3X)!DCtk}TXHI=P1HB|cD7+6#V@k)919rC@rKBEa z-KRp~My<8Ts3&ATN|G0fSD$m%;MLL~2aHaL$;r>|K{CnxRnAM-eazx* zS(pxKqJkF$-L$TeS;jR21HX@y=f{6537U2YziP`^H1LdFmxr(rg#_~8 z3|H@^Pcwe;%Ql~vS)SSN+l889YFU!?+67Z=XldF-MWtpd(m`d_F+9=uV{Kl*%|2f`jFVnBoaE+QyG%-`dz7H9so^# z6Wkk@CChu{$7S5o=BZNDG8>>=PMBaNtYm~S7E8yqxHwkXx zk+}rLl$xr7W$}dC)P+C>J>xYkLc@E1dV3H5E+pQN@_4HADDHu~*t0(^V>iCMS0*%E zBZ`oWhnJuQIb2jRXE2inO9`>sdOz-S(bbm7Hzi|@j?5*&5%h_j-*^g~4*fcAj-x8- zD4Op5g>%mR{m_CoC_adtl@dyoAYyueX_uV?l;B3w_jzZwXs6Om^RXhV+pKWj&$p!B zyZKz1pZc@k8TBpH!g?3DsiRO{d%R?rL>5_@rc38ud14KTKl2`$+BKdu#IXE?2;=Q7;H}Y4wOSveuC_Nk$`6c!sRtzJR%h-GMBo zQYE50Wc|UhUK=gCR~IPBGP71`)Wrt5oUWd8L24L9k^o{9Xpt!s9*-~eM!DY*?5y`K zG6)pxk(qHA4T>^>c>9ve^5P7w*uLr9{KS&a*D+<_`6urFVorl zfCfp?scez_5{zjPevmvy(XnLa7B_~0|1Br{Kshl1$_Y9gyaUu-73p78I_gliDy57H z-awW3)dKYd#TGtZQ;hiOPS@Yi5_6R;R25+_Df#{!Z~T2A@PXLvUFeKI2GVyX&kh=I zly62!gR9&D)ebGG2pi3a0JS76X?tP87d7Yk5Lfc4-VBz4Iu+edGmr1i`R?0mfVEaO z<=AQiH=VD)8FIBT=KT+~^<*!HfgGC_$5tw2T5p*h=n&DpAnOz4Vpd?6TZsb^-*Z6J$x^|cQ<=YW|2yO^S@tsTf-%AUG z{F0c&9Xjv3d7nI>TuwVWBJv8o8C-Gv6x?wmDJbcrg8>ml#h^ui7=De8nmSGWX!n*a z$<8G`=u;LbeP!M8hN%<3(~lQP@6|Z(kib;oP<%BtlnNZpk3lF^7xj>6MB;_Z617X) zOE=Q*pB7fTW51xMB=_gJrgPsH^ZC4N4!3)()gy1>J7PGT((TQ)B>53;jSoF~IHr&# zt*@3A`=;izc&MT8{qBjfF?!ooxjy? znsX-r)0x9gy@D7+*9osx!j+esp)9Yb9_KpMA}c#tlpgjZ>Y~(zXahc}CnO|traY{b zD%koBrGobuc^)UfTsT2*k%xIGc>qSsf*w65)WyHaz9R5XQ#dYFEi2#6RZ3ooeSkme zrpo0oO;;SwNN)n^k~6I~ux@;AzpMALa^=H23$k;iO*;TByA#7s@lqr}aZo&@3&KFw z`6?IHVoSY=Q4F+bNcR`edmU0YqS4P+9Xc$=mU0RvvF?*(h+t~t3jn#A*5>b;oL^8} zPy*WZynh_FY+>634(I1qutcDCn5+UY8rGG!v>RnP99rRkbw$nikBEX#{6l4f4`cds zjv0bjfdCaCrU0eM_eb}L?Aq_3WvhbP88*Rf!m_^6_*F%%VW=?NeWU{IfSTE;HB{o_ ziLEQR)c7)TuN3=$lzs(A{Vw;V9F2u73zGdPUuxpniSEY5zb)I{iZ+&Sr=$nQR{Yc| z7&Rg#7q-=I7w`c5P1gGiG=|X8o%Ww-9(8F8Kpypufbow|AJNkY8jOagFB>+?9a%MV zn@y)iZ%y=fz8DgF1M^W_Vje%0lBDWt|?+#){~N zE8}%?I$<=gMR+Uewr9*TeZIc$IWpc?J$4)fzjNI)So|(c#kBEXpkpT*a4!NdY_Prj zins+|;>-}dB5kEHsZ~QP|F{VmO0LsXU-8}M0MuGEORXH(MN2*$I$2&fyXgaUgp+sZ zntuIy^x-zG!PQlJk_h`EPjA<5>?s^dPlhb>%fJ=iif-~cI=ZFeuK`6giQf@A7spch zOWqI>OPxmVy+L1uYy)F6wVZ9h*@akN&56#IwxxOX^%I*ac!R_ANk;KH)0-6BF?xvi z`MbMZamTgPKgXN?Fq|Gq(gjkj(8SZ}N+5z^w?5I0IGJrF`4M#QGu&4HQ3iulCAa?G7nhJyhq{)+8kLE3P2%rVA&WWX3bl zE0%c5rP^u|ljU$ANyM*kewxcuajHN_`!SQJ`+GY=w*$^WM$tm{g*P<(WV+ELzAiU4 z6HA4x#-}30{YX8?y5ZhZ82g6u1%>{Kd10_o>fO|%%4_09pV*hL75uI=!pAH!Zz9wX zKSVAQB^UWy>COqOhPG}`eQ=A7{*ox}L|^>sz3K+kd^4vi9Cxe28KZ_MAOtKtscekt)-19kYE{pgy+r#%!3 zVh8)p(u1x>$JfTXc3D=0`@ae-%utLrXh_%F*O>5l;P=Fid2WCBA@TSK;5tb~1Qf-q z4v2%--)!V~nM?v|s3a88;{&wv84j{g~zEU)cNQZ-D6~U!}dl%T2znsi52sQhK{- zrEKAGpHHM0dAApqVKcXlC%0RagYu^b3w4CXh0UGq%-J3Y`ski$h%}(a7O<&GNk9Va zd-5y-7cUaB$?3W#M-&ey$Ife=flz`_3g2NE2dO&Vm1;pAB7iSAO*RKj-AC7B;{L4& z?O?VxUTwdrROob-@KXcjmuc|=Wp_2F>AzeX3OVO{Lyxv$Hw0bzIE#?+qY2UMK!83p zAVpkqu4$IO;&T+E3vV>aE-O>JXc9Uunsk(dGs5fr$l-4hhw(-qHX~W)rg;N}U7oMR z{CEZ*XzybS2c`6p^5`wP=0$;!^&~$S%ZoO{`&8!=+uA#ZoZi~`9yu4>mH!S5SkArI zJ%9DyVQz}SH&17YT_ki1&%NZXBb-><3PE)pKz?@~851|~>MQgCACpfV(BXEC7Z*Nz zgJ)gL8~=Q8;SYV8*gW|FX6t#%1Wn3jpcDbz@aGwbgE5?Jjr``KRChZ+ATG3g_$aaJ z6Z=lSc$9FFlyO})6TQXeVQq&swp+vL)IijlqC>xWFJ_+tOfayS2LnGWAQl9QU z_wypX?*B90S3wl%i$hA4K?#nj){5Z^2`qT>gge*0J5z@Mv-c^wl zr^3e7)?-J9FPfY@Sjh5)*87H1709LpTw!FcAJnW7FJ2X;4z2v&&ohCG9e-5ZRs0mI z?LqrdGPb8No+ys_P~qNo#jm*wd;a_Paq~`pA%(;~RPe#YOp0E)7o^4)hhF(im3cu{ zCt7}*9)uy9o}q8%V|XpBj<~fYjCuWMnCLT|E?YQw4_RhDZLV8Trn<}*nnGoy9v)dN ztOBDzfRY&j!5e1T{Xk!+g>j)`%N2$745|XRvJ{+gLiV~JS4}g1ihZK#dEzuv2)L0W zS%2ycRl)_q9N1qtBIk7i;~bq$4)d}<838vpJ`e7NrfD*`!tYX&sVXj15YS<16C<1N z%g88f)bftywKg>Byh z^s?VBZf+5fyC6IofzG+Fvw0`o;Y@FA<1pJY-*vpz?YzdNZb@<1jl2MT)n9pAA-T*> z=5l(5m+O?Z>e^ayHPka6+qOAfHxvle>~UE@w)-rPcTM2HPs-Bs7VoD{RlJV^XVx=!|(B-1QIINRZfaxtDEy^d9ATzaCBwGAe}bmi0lhkZ%**t6biC7H#nQ8iVy7JWo5MMN2_mq1my1 zrAImVL>J~8oOA1KESG<6h<==7I%eZ(%SAsY+b#ViTP+F0?j_@*O{%hoGDh?TuRzKX zcM!vEvasLBN6Diwjk~c9A}PfNMJ}(xPg7pv`+6s?yDi`a1{ulDH_Dy2P^&XaU9REg ze-97F_w{qC1dbXVma^ENOetQc4iz~c?ODGVs>&IRNB@y$OqYV*LF|0x*27sCm^Y)lJT_GI6p(X3l`G zAm*Fjbja=6?`-EcrrItOw@4tkGSLbj-z_3liGe>nK6S`2f(ak~srtCu$6Q9w{8+z- z=3FC2#=o_2kjgsrbnVZRIrLuD!FoF?9(|sA)g_VWx-|dIRd%wq*}66*J4G{H=HWm= zn_ogeQw&|U>naM6ig3JT`pZ2;=ogzoheFGa_|goY8O+nZuc@4R>O2n<)i`G^EMkJHqQ9`crys~2DV<1LdXL|H_ytJM=;2lhA1S~i zpfH0BxCP@xPnPbtiNrYtG|R%lNp|N~z)fz!ElT{($y#o8n_D6yCF;2f!^QIyT)OOa zk7=mp+a57AJ9>(|+k%AkE(kkSsvBS3<$Jp=I!K|;!*Wh*rD$FPVLCi#E;V5Kwjo4) zy&T|El;VmjanIV6q`Nlx`GKFms4c`nsz@N`W}5T{mde**aBLBEocb+&0dHnRJRrJJsb9(E zTZ0H1G6*<8oCE&Yu(E}4*AKP?3=vxzsEh3hz?2rNQl{?;-@Cc*Vg1j`iy(+%KpL6H zgsQ0}h(s6vD-W{+@^A?t4{L*HF~=W1spTldZ@idB9{Xzzp|fzO)rHM2rnpI~edN~@ z0-<+t7l5-4$S9u~mn{i{;uXVthEp=iceXSBIY%d!7iLaRizre&4PJu8{>`aAmqk#2 zVJwsI`YshGdIJBQa&w?9BcD$sqjUvKl#(Q;pqY`=TxTHHew*5|nPGoGk?i^?8+yAU zmOh4;6zvD#FXCT?0#&1PeZ#$q z=NwJC?l)lWG_Ms%LDSEcV>o6PuZe0T2Bc3@z91dgd8qw{xx{8Yg2AQ_(wRfAE3lwWmt|RL%v0fCET;d$g~OhO=^IPu~vGDBWeXh(J#6ifQ_*Q`?sRk-+5xFf~O~7GekdFu!u;&!;CPBtU1`!#JZes{x79k`e-;oYVNway?6BK zf}ts=X;F$f=g8huhe&pHz4G=ln}WRD9q)wI#G9r_Klhado>OZQAL1AF8YK%Zw=65y z)fAQnpZU1zdlTtkC=>BsVrs5U;c_P1=M89f8$(^({!#nrQi`wcyyBy8yV0`~+IRiB z@~WXZvS*-+Enhz*rEXAPOp)2Yw4Dc{LQ})LkgSWZk7{uX%v1WzFy^9McimT}{v+l% zDxTE(A&ps(&2LzuoQl<=C1MHD%e8g!MMOJOB>g=F^BLIhOno=eI=UCbm06ip{2odr zNBzTpH4%aEx0HIs6~EHu?FIHWt_ZI`*7rzKEW;A2?l5=d6Q^@8awWFkzs+Rr4)eHW zl4AKO%A$6=$?FXC9(~V@=lo;0nav@}83?oa4tfc>nAud+DfjWTKKcrwybk4AV42Ze zuCXyhyKVeg$zV-s`P_qnn3Y;DDE^UAq~)MrXO{?L_MU6(g^i(aR@gpl>bzMBPo2|F z80TtmyA-QAv5F)`c0z`=i4*j?a-z`g)#EbxXzG9gHoAD#o1dw+rC}r~IE59Lz7ARZ z=M1z5Rm>sr76AY*I$$$@Hgn}VRIjL?T8h6}k{DzEzskJ-0?r>V3I(J-fpz04lmfO` z!zd`I_<8w<@9KKstY%Jk9h$1E2Qn%em{MvN`g=~aH-y8FcX`$_E~-r^ZqwPYbogdV z2mcj_TuQZi7~%|MG|&WuP_i4P5s$}wycL}-$2>-NM2W;D`xKx6_?LI z!1Ox|OV{Nq@WZ~oo?wBMkiUWSaN-P&TX_Zki0IbV@O`4EATLwd_jT;Ps`*p-^P25E znGoNw4=XM8NHGAE{Aj8;{9}j{2J{J{z-dlm4s)Bd-`0^Vaq#U@xw}64yX;PvWm}w> z9DP+C1bJRl@RhkapV&*~FQj`^W_DjdN7=3o@`PO-gel^Z6Z(p-BsW}+FIEKD6*t79 zauV%qtt0bX#6X?J)v7RN{WgP)_AzrG`&e5RrTlxHp5<3$u4G*(~M* zduSIJlU`^@86aMx%#cKZfRytjwY?8MZ((?#ViLjJWHvl+7kk`MJ(yKPQsbsG__bR1 zzV(Aqt5Sw%qXiBZ9tiW?O-hv%vPS@qhk?KM6p&OmvPE;cEG)f`T1yOtTyJEE_H$Z& z>Erjhm-w@bK$f<-4P?Qxy7&QN{M-8D<}%T_zYv7$Zqwf`!||jK0R_m;gYT-&6+t%r z8#kMJcD9R3&pkp3iyi;vH~e?VG9zJRHU$}2%yM~IOO4?q~BPPNcC(2MywD@8MDg`b z7{r+16t`nLa3?zdc_X-MI?-112M0Tm0|lZKlEr=TyhqtnVq>1KuS|$y6zb_{%%&eU z99hhw@yz2yWfF{tU4#Y8!mlskSUTmWwPlj{cir4Y{H?L#nPrHb!LV>yt=^eWpb>s?Kg^uwN!`v%=<$o*gy@v4}hm8n+!eTuE(mG9;hB;@BxxZL+l zNepy+4`SN}CiV<3^9CQtaZX=!Q?yd47(x2J3o#{yehTVFI3wF10;8tOZs=`B00rbp zpuQp()4{-=h!U+z{nR$yFbI*ReYc5h#Lz7n(CGufCEHTl0sthR0wDP=EOMF+dj`@q zd{KM(+p=vcrs=>reKaYBAL><3L=inVjDnGM$oAoLWC6TQc$r`4c6votJ{J1|_>!Xy zB<<>#3(cvVMfBeEQ771=bxLWAGGPjPAHVS7>GJx6ad*o-w};E37qjnv1rpCj1Rt{L8by zr*CwnrByx{UsqKT*4OM;6+2C`c}~DAw#+NMs(4*eWD!ei=>Ax1B=0NZmsjK2c_Nu4 zMV`gA&yHZ_P6L)Gi)hmLUrf%y!3__Scxed4TN99KbQ)cQ?hXWAPhRYO%YW~5QjNlv ziTMXXSo!Vr*4U!hJERF(%w7fDzc+)fA_`eS2(< zwHWup`lLHQz9rm|ORN8bd0JR0XIFsK7B%E7F5aZ@xW6KXh&|$%YVl?aJ%ohWK=8;& zuW~g$F}K^s6E)2dSNEWivOnYA)3Uff4!9)z9+lQ&2cSF@;N7*X36N`zWkGiY#EaXy*2YvJoG3LcpCjy zvCBN9d7|8F?&>esW?6aar0k!ThWoZvy-u88=Mg){PdsMbS1p2oTC;$!k8Tqt*7pcF zMZyJ_h0iUR)r7o;DauL(`WbZmVupEvIK{;-?AKuC4@}G&{Sz$}>$gsVI+9fZeGIZU ze!7FOqGF+pErHAE8KZ8s?8wDqT6$n# zhp&t0E*>=y&XoGQav}dR{lx%*$=qs_T5*F~H0^3*NuZH50=kMYhCe6D5g4CRN)#!U z<3F;+o5l(VstpEzy#m97SN7ZIg(Sur)>XR^iEtO9Q6b!o2rDHTn0nItMhFNNSP#ME zGkY%!Inlq9muKSVuULzEY>~$-w+-~l&OleTa1PG_i3ZR*KA+rn#@ii5QvQLvc}jjb zi1iwlu;rzS)Tn(dpM9BCFd|x^9(*S>>`xqwF~y z;k_Biev?9pv@87%tOBt2E(RK@K#OrUufcLglsGWgIM)oNUKQl0j!WFC&* z3B{-buq?4Zf_+J%Y()e=W#NP3N9-puQb?l&7C$s!R2z?xPDXhwCLmc zzo5U{=PZ-JphX+Pj#r7l?_(wb(H*l+v_0nC2$+!A)TS;i)ddD_u{6JmD->J6jwWsS za*mZorw1?~(vt|`5Nip*(p#C66|+>eM(=dd>rr5=?X&52&vkLLWIn5iWj}P+vh14N z-`WHdaeyvxY(7s8%5@S9@E*1=o>xQ;Q09l|w{z1@L|@TG572KE?pC6TNy=`B7W`y_NkiWZ7LPYHo~KR$!`!j>?6!P34Pg(v}c*U5iqg=d)J{ri9_|H>&T15z) z@)i&nKj>fbVfR;Zx^=A2BeAIk?^nd=mmMeeYjvm=8{#~8B_1R{Na?(%CLbDo;~e|p z*_}!fx#)?kYXJiSUr-DW_U0&_z%noO0~+XYzI(c_`3h|0 z$FeZ4nj|d<{YD}mtZ-YF)3MSir#_(@P3A9cIF7gXDHvknk6%~2emHRFg-Ayf1&zhw zi=*@#c%3)xKfd&tO7j`^7ou%)RAiHaOczM zXg>Xs+~O-lN*M7EX2u!(%q1tZ0H#oj?K`;62NXkmllq_mtJh}2zj$9Jb*>R}kPS3H zxs%voipNeN>_!t1wRhs}reHMCQYZZqhm|R$Jk1<@j8=ADr0xDWaaoCZJbC-Gs|r?n2GbOn|zpA;Q}sX0#chjxDoSa+KSL0GHe_-QcNqmV$&NI zf5#lWE8RJIYY=m^dYHUAxM+9XohJ43;Mb&&Y`UW;dy+AJ<4Y5-&~_NeYr1()AVt@~ zlQ)TkEAV@(-Y`u9;^$EUoCS9bVS+twY?_h`c89uJPw>tM6}F)}7`>X>mAwmfWw@>R zzhI40t_=u(zL?;k-5>d*q2;;myHtd)&9+VN+a1~a=wvx!=;J-6QQ+cSM)nVReBKQx zU?NLgBI+nB!nT0PnPoe7PB{0%@b$DFU?Kh)hCVq4O`%GrXkuOg4dT+xCT^Q*#V2<@ z5oRDi;f-rm%n;o2YPb91Xt69%@x2N#Vm?V&N@e=MaCqILNzDF5*Inr}x6qJJD0>{( zwwV&seKwa<-UGVk4Y<+pn)2M%$x9`w)WJR)tNwE%yKypK%Wu-zM#u7Q65dDA7YTpo z&p9UHZ2lq3eaiRf7^cy|a=r=dF#-)A$Rq{^Q$%mczf2*#Mapn81tlxa>wP?Eg$Pq8;-^L?w+HDtf&k}E~IM!KUal9TnO0LE47L?FeArWC&LlGhFl z%r{q|wCWHb$@+3D>G{S5BjAdR1zMH4niY}yb(t+;@Yg`z5ya9M0e@;(YK)`lo=LY^ zdXVH$<$4+z5w3w>hyas^{MzPTLz(Q9ITVw0`pM{;HX~Lc7D`Zu5$r@GH&JzxYC2*R=@VV@5$7 ziY4l$b;=gNs{Qb7sK}e`oSE_cbWRja#*GMd=b0c!2j7-rP@tA>(08PSm!dJvf;W8!9bQ`BbwoIcc z^GA`o*c#91Y(M>}Y(f_RbL;;ZQ{JJwPdQ0TWFI;4JT4QCQ|LbQs(Ga5a z?m9sPK8|1jNCBvWBgzHG#6gCq0VR1j&tB_o?GPfl)WpA^bV=PM{Hy*z|BkMxjtF&QU7c$M(HC(SqUK&(m!|SQ}yj;gMoj`l|;R4;WgUVr zs~MmbA-=|>Hm!_)ns6jM81tdJi{EFai?Pt1LT?HfaI;x|a(55tvxdCZf5qQV-gSvu zL448i`lSq@qeBVyTg&JN*EG20j+}dLNPA4pbdbvH)Q#mH*Fw$BrQKS$g;&mBOjJAz zB)SS^`qz+}VrUC&(d(Gbk4uSb*R8TyUQ{FTlDK@K7Z3@k=#%z)G$Y+ML^J6(Cb^kH zGCeQK3Vv=LX%0KguApkf+EMg)X3XpLUQV9YX`j~TdCy{&`V}j)qp5jf#d}Y3zJKZi zQ3fYt)zQfqXdf^e%|}8?c9ux7kE#ks&bNdIIUcS#*z_QuqkUddlkxngbkNVusfW)R z1y

HUxUqs3}UcU&ZB)mD5h>l8?xw8->5yJ}IrSG;OsWCrvQdZ&Dyrxu*)aPq3jlOtgNM&s5d zglEG-!d!SYs?OLX8n#rzB+397x0T6r{s!k0uGNcRgu`;MCI2LSrzHbcEwOl!e^%7C zVO(hj`Y`T^04MHIyI94*B{b?XOI zi9fRL>AzBLVJ{Q}L7rD6XaORj6^4%Wu57K%bnD(#%|=a^5txi~aa7c@b08Xxqj)xFjWvp?v`$D)RdQ&pveP) zIbEH_pH+j1dFPdj1Q_^Q6Ib+hOo4Vy(OT!b2r)Pvp6sC@7US?0?G3yW_sSV5%0Qqz z_tLKD?>J#U!RvTl9an#Cxx=cO`u%;reQ^c1Y#F!Q~~y#M83iaZa1 zlf*NOwcQ448BE)kVb6iyz`UAzs zM`;50*qQv+WNxwsmB?b|;r#4t=M&7O&;VJl1dxx?g~c4j9MRCKvzv$GTGUx}%FiUZ zh~Sesb;C%``&jso@*Pe(%CZ2j3gd!L0?Mtd`JU#S61N5pK}m8`Vt@Nqs}hvx;Nz)u z``M&ezJ?T`h25k*y?k>D{|ll9l}E!Z6c6KOd)a`dC{y3G7xg$p)1(OTJ+tIQJ*92> zxcYboeT@c(zfx^) zOmLUCk#L#+StGER`Mx$2yxYU@wnTqYe``^gE;mo`S?%3R;q!)@2rJxFiT2tu*~0v; zl8DXiy`^noD5B0v+=^WDiFoF{zbt*GSJTmbcIk_({H``H8^19#KEkCeJw>! zsGJ+`RQ#|cK12H@S%}&ztj~0Kia~()G!~|N*|n*F5)uGXWklMITkZa*vv>Cj+4z!jSjUx zZLqd<|Ht#m$7ywR{WYf(7i*;}^8LzGFjC)@tg-oLO83hv@r%1nol(rZuAlQ=k4dz=L91a6xfO!m!v|q!>H;UnWEh&HDgKQw+HMD ziGu6fiSG9V79G63ehkyV=tWs$A#wGt+RrCeD5nV=3Hl%0^50(^(%vtAk$E7?*Zk?u z@C65BRpZAN;WnTqbWXkURRZ8jAt^9rta>~e&Xqvr4+Ue%>jT$i#>@Gdj~mIP4v#0% zBNISTcv@w6^BE~#j#D}J9j{vq)NC7j#(-?LtDSVsUa}=Mcpc}(38}3Lv4qb0buKYsm68=3v+`TB&a)5{st?Q3DC1*qy$xLe*NkauOB_Yz(tDJS*7gz3cJd%R(bY|lRIiCO6_owluJ`$A)l|B$#*w zs?>sa({|1+IE#}qc^jMK6?OF*+Y$ZV-s>5^i$;mp3cbAsA{!}j&q35r``dY=@tYWa zAR|d3>fy;{qd-RL$S;aX-8|YDJ7gk>K?fqc9_ak=7&%yHpV>n*{4ngTsQ?y`_|Gd@ z{MrC`Hk9xllKL;G4sj5S&C1d4GV5kHM)6d-+d^vWo8Z(Pmm(e$g!E@5vg zvR>*Jzqv{njNFqyPp&sh`g*trK0N_z;5@GN2$QK}J8-E#x5p2*@S z57kaGKdG(O(Pp)e!#kF4VMjZc=ZH1eXl~=ubSA1!uj6E^4!vVOhdf$H5_G)ldiS-N zS0=0zrL|MB4oPX@vqLG0S_^oo4WqBPco7{h2)A%~z;HPnXde7^JI(?Z=`^PU$uv$Z z1#ffwrdblQ<`URATww=C!+$4StN5$;X47Nxub89iP!ZEJ!y=oNKk_O3^Wu)pFKc=$ z;)YwC8u?}JJiAg=wb#nauW&9~>Y2106OD6#MO@nvdS)Q3^(5GY(EP@T9{tV-E!Dr? zv-|DkZ9KSo{0WAVCbs7DJvmW|DA@W@37j4@V zM}rJegYcO_^qY*&0n!N{3XYzMmX%yCUrPWM;h%!pyRIuo|EVu1XTE(VS@!+&40yuc z-|;uE(BVe7{I?J?qN*`SV?@|l4l`ktH8ta(UFNx^+>7bThIF6W1+90QNiVtiK|X73 z;knVZJ^@Dkk~959S9jAl+{_vgJ!WT00>BT@`9D9v;KxW<8y_&MS>0+%`rZD_jK%eJ z%d7c@%V=q99+}-li1V1LTs?=0m$F!gaimJ3aY4nNy82kvQBU1P_%t~`({%NBzBH%g zYKGe;@lQY-$&jyHG;Oy4YG=#!%iTu86JS15H>_+ltwSjBE8Yd)dtQAc@w;FV!~*)K zfA4wK^njp#PIU>I3CI$7nqSQ^*%?L4K!Yj{x(gx#dEfpemH?qnUPA$MS4MyHT;#>H z-nr{yCH*!4J6LwAU)DG7_j(lbxrsM@2VjQvWHaEtVTf1(=3Dsr=@ z_a4O?XR6&YG6I#{sjhmJ8y%f|p6nH5(Mh`zonTefpA)W30)OxqKGDWG<%Ybo=Ikme z#?a@%cQB{e`7)6rGfniZgSl7cI^)%_DnrphsZdN2p5|D{IXj~eFw1|&&$-dU;{Q() z!vA*(?2PIbQ@MYWs^_wRT z`$Z4b5^7!!nb@>*3l(!cSploc(Uma^oL<7kbR@6GV)uG8v@8%Sh@7qe=-5i-FpA+- zN=;1s{knEPx_S3Z&gs0oILN(c<3FU+AWMzukC%`;79V!biT@Z7p{?yvWU^#2Uq4h* z}Q-RG9+| z$A6z{34g^RqJCfqt*f}rx~3*+E@yYwBA@xq_VIfk*tIn7-)g2K+p301W4*2+T^G$a zQz?;SA}%`n3%eh4Efrn~SW}i%-_@==Wea~n9RD=az22V0Kv*x$XncReVSggFiEUTTVZ!lj-1J!+pnFkRyHjt zY`Ihx6FU+^p0Wz${)+$Sf3yexd;Q@5ULqnRjkL`K!!UJpeXyQo2nLx^cF{~sUoOc>PJA4>4Mq7uuJtNTKEAk z2{*UJHzMMd*lOfYM=md!|C}tW;6r5W+FtSW9x1Uqr&H&x8b9_4fV!a?#h$VFsQ+9@ z4EQ4Z(8dT3^i43NC^z7&;2OPc7({SKyh zO|U-V78?K=5+}!h`l!lC!D2uz^wGqu-~!r^aVorrNp>^chqsDcpeI)!-~vi4Elu?* z_OW}A+4H2iSuz(`NX0`JM_VOpXb=+Caz~_3!L%9|a4rlbR=xRwBGBf~=J0a?{0(&n zMC-B7;_}2&3#$;PXze&qKw139e$OKE8z3>q0Fnf}0BnCeIUcAoyt(z?&wp+3Umy6t z*9R;Ef8aeZ%aKZt_myc}RsT-c{d!%ckXT&*Etn-qW5UKwjx73po^2BmXup6X`m zoC^%>RGq`ueiz@Yd+!;_`Q|sH_xRU?^Bc>Ujd~Y8AGV4sSUo~I*Rp8I8$7g+IqJ;0 zk8n(22QWZ$qOEx}G>-HgPAAH<1!CuMHD3*go|vPpFZ`08=sMTke1&cyLK=Q9n)fT1 z+Wjd0t0FQKwrCZ8_%6=m+Xh;dB6(I-*i`zX^06=d$KBEita+d68Z=&s4U^NuMT4Wp zSpYEWea&X!$o03bw_FLPTART}UwT(TZxU`pG>i$9OE|yoY?>LHhQJmx zWjf=Erj{r&>JK)4M#71SU);Uof9)x;;-62n3HtMBV|7!grrL6f%j)!(gvv`9XQ@}p zyGpY^W20B_&oGU>>5bir!o8?_^*5}?C$H+78YU!BG{%D@bvjROYg%k3F8(bIn{VfE zQvSQ2Gh5pMIqO~j7o=sIKknh`R)K4RN0D0sEv)U;!f65pZbAne)Z0RxIo>o@&paWT z{%THPO=#xz3C7E+q7ucB*c ze%<+oKVQ=MXmRvOK^ddH?$rtfN z7tLXT9xd^p@$1WXZD{cNn8jr4tfnt&Ap-(Wz#J8gd4nTi0o9?v&Yw={zQ3?pk{<3= z{r96SR2`k9W6cUO|Msx)tPHZ{xzLg1nIMXL9x@8#4X9M8+F8Kd1i- z>VifQ=-O&)Fk->wZpiDvc@F+=>13UXo{egds-zHK3L71C{Ifb#69KUngm$nl)H?-haFJmA94kGO%mzfKM}axKlbp% zr>*DNYK?6jPizn6U81_I4_G^rd(&MkWkNe`3*?Y<-s#`o8AW&2nz z+14T=kb-MaYMAPbq;ka7X!OQJ0WyX_&jB$C8Q~DpwrSTE%NeG9IT%L4HS~fcqry9z z{*O1nI5o$p$GDva2EFaB!c2?Um=9%arkQh)8$ix?Oflct4Bpz!C{#4=6~zry_sGQ>VRm9Ey=0u4%8 z9Zz{us!{a-lHq5kDD*oElwB29+8nRktFQ+4SZpSjmd}HOiME}0Xag-_yN{cUCp58e z4!j~}h?4??J;zoixv{t#t*HH>m7N*h!&Rn6(ZRMtzOt~=A<|sQ#r|=BEoaH zU{6V72~-mY&^mH-op6wbMP(N61i<9-xqMS?=vk`qwte?q$&z`=zaaAgB7+(@ zIt|eYEQkq>*XK>6oc?=Vt6Oo!IOFwBrO) z*fVTF!BCQap7B&2Tg;-x5y#e4Vd@@p%A-NrM{Hgo_5Mw4yyp)_e&!&y=<5w25;U|1 zNebx{H%^Z`ZzSJ;!jH9zqT4Xk2j*&hF0rIfPuLx;C8N~~2I)ddy*{?!q_C8MMqB+8|TtybUa#Mxb zfrCRtN$xa^SOo~RcOZ1OrDsVL(f|lGidR~i?U;UTtU=D%FwGFmpR{YkBAL14uj9Rf z6N(WIS)7BGIP&%1&)AHs9_Y~Rtr{5qrcz z;AhJHV80{N-s9cuJjXYYzAOp{15>rG9j_8)yJbr={3UzZ?u}DWlqyWq9vGhEZJTjX zYr<%r&h)UG)F#Axrs_&u$koWnD-HI@&%*4Fe+r4tN|Z~x@zq)sh2h1Rd%2>T{UYFe zOD6tp^XeGioIq!)g89KBCuurll;ZKaL)ziPa2_Jx=Pabvu>naz2LvE>~W=8?K=lzbyORd!<<{5hijpe*Y7{WL5yqN7^VlWvGXMl zZY_Zn%^3UrFEnG+8nBI@Br{rmA$bb?C%PPqc)@NEy}$^y?E5ynH6$)iK=?3Rk4#ra z>ax@Hsi*!8bjqwar)3yX8wkK26_%%moeLx8Pr-vs%eNKinbCrXmA|K6T%Y+d`KGPC zA&n9@@oN|hg@*ywixKWwBLSE3#zdCM*TR=yV0>nz+0K!Y!;rTV6*}GF>KYGP(`Ax9 zHo{a5Sq?}<->nbjj&ELAKs8Yr`z%Nj9pvr`z^Seop@+DC&S^qZ6^8Uamx7MKt$>mt!c!6=ay`^uH_Lkg0v-?H$mTTN| zw^?3KFH67GJm82?>M}W!!-G0w%~c$x806oKh&q#xady7^(fXw7+lRQJVFs;VYWKUC z6oNHXwWfim{F(v8NXTkK15|stXx|yJt964MZ7D4*E1BPEw%GdNyCrX?VYy}xN-8cj ziNC}D$$6cI$zRwM)7Lc&?qba@$(`E`?frPKb`1HnV!>iCHz1k+JLjc7=e<6qlWrOc?&|Ec-4~&IHD^i2CJQdtlS>ZyZY$F);xTp9~FjCy0B(-HH?@bxf%> zFB%8#A}V4+kV$Yz>?L9)M;~Y1E!8H1SxTuijv`4daAw@NZ8%3TkL2*9%w(rE^}+7J zctiDZj+l_;t}C$!n5rvj*iA{`3WvJBl=7VCAf+twIT5M1OYH9g^=|>h(dS~b(f@(~ z4C-ewqcQIrW#civv1g9uhjlu3Xwi`jL2~}t)f94?yAf=%yth@Ma*kS>-l!GyjoG&S zk5LwBvi>swM0W#cHqEXm-4owswcR`&7^W&0lP?7smzMCe^vN))bYu(FVMjkpLTLZ0 zOG?SrXG;H3_xxe=E|I9%iX5~OyOMb5ymhU7%inL!g^NYOWNo(qLA!I+miOKsexb*< zGu?nCx|2k7>%I`ItCuTaF)`8jBV$@Pa9IiX4o3tZh@w_GQfL$ZPeol4C>YS{4);be!NkVvvix2JqrIWgC3&WfGt3Y- zZ8r5(Wr-<1$O&{wL4)ju5~C2u6cTNb)*9Oa9ur~O3G2}Og>OVSd{|wp0QTG z?8jY|mWQ&$XJ{3zCtH{JrVlqt(-)1|GZ5#rE0iQa$=tsRGBoe&LPg5?b&pav)E0F4 zkd!Vi%rdm7f|n^P=re_%blC8EO|TFZcpz$gn*!F9XXo25uEK^I{akIv>P|Fl{K$oS z^Q$*7dFhuIT_{QgZiL+tyZ@EuMk5xU7F1y|yRRMaaJXF|GpRwJOr3p6`FGBRBfS5zkoVEJCp- zUeFOO{Mm(;=M@9Dgy0*lV&1pjbIn0q+kWsHc{2-iiIA4&vs!>dPz3G6{<*e`#sMOe z?{bX(AXzZm&&Q9vTUcOkgNmGhD_ur4`>vGzE{_uQn0*Hhrnlkx0SoU0*Xoek|KLz7 zIblk?B5_CI3S31C4(B5<<<&T+wJlf0Z1jhuE17~Q%DW!|ZrQXivS$CYve7mg)CLUE zEz^z~^4ewy_0FgJP~=rhH(c%~pdF|nmTRHn#kU+;X;)wGZ>YtiPBhf}()gZK@AGzr z^&-=q{Vg4{RsK*VCcHgPKtYgff@Hs|IyErATgHal%9Ga>#`5RVp?3CUwMYm^vrnCYH#J($^ z7@LL7e?`dLEW76~xHXrdlJwIy2q$}{!hQdO9QzGu$o&mW?(=%!P_OK*$JFPoH)i;; z>FnU``MmzpJXq*;~T1M=|`-HZ{dCMIwBRw ziKqGm4t5AWYH81?cSuVzxVT?zxz?&pm4NI#+yw^eOhwy@a~)`srX7+(NAbzKh@2W&}99 zA@%PjQmP8muNu-e;RH2ZqqwVmXcA=GRkU&PIy?F@W_2bErp(n1jU~uV)=^a5+vnuM zG9(+naES9zuyy%i$24X`^Xw$P=jW$v5-=_lYfoTSMSVuf2CPC@{h7O(i=tfX&}IZW zZPE$WE9P)NW7?^Hp(8pTtI(5MOS$5n`VB{Eo5Rj<+kr99wm~4@@U;TEh&y69-Ex|4 zm6g#)+t+We#jYVEb8ULbTbE{DExzc5bvNQ9_-wSTKN=Y{h-N%AYnmbdtWhLzMhqkeR{4nk)@6K>g>_CoWx5wSNGgUG?tFIwIFboGL@{eW?sEmWwV>+0<3WN(0lnaClfBF0v0r>pjy;cNa5d$SB=U{|47hwq^>?6wzw!Iiepi!8<={j&%voNk`-M4;) zirxUYmuBL6=hMM6+X>j)l7)G*MRWQ4n@z$D1_9#&ca=QCmNYh|hv2N!k~h*_T+~Rt zN=FHQ^|#ovzrax)*2xQJdp8kQ z$+TXL{2*85g_U}Zvg!i2MA*=Xtd!;bWqfYNd9=h4wCC^jT=b>1IgW2thX;VNbOs4c zPwxpU(>q=z;Cb(g6)u)vKIxGNDn1-SAwTpfdW9Zi%@NVulM4Kfl`wfszcz%@9IqCt zX~x$2GSJKzU05COpnW)NJbYCC;%G+8y*^uE3flrUvI@C&8DVhLe&OC2u>R{?s zvp8_qRd#)Gi~9Q_Gi^Wjor35-*3=K6jZC5*&D_18`^}2s1#TR!N8Isi;@n*%K9mxQ z?#}BddKlNF0^bk(%b$}j3bX)Lh-ML|bakjl?$F%RGok54woG+wHhh=(?_gasMt5N& zI@uKC(_2u5e~b(GvBOH$7jD)WS3yN#+?w6nd5%HCt$&6~pI8tv|Lx*J+8qeQ(vK-E zUk4(t^e)fp73tupYg-fx!W42aC%gt>!toemmb)sptM-m3Ygf+GPVDD*OhNtJ)T6W(#5_e)x;!j zL(B8~7g$UF9Ku(s(bT*w@T`%bRd6*=0O65UfHv5(D+q!7Oowp`RohTsxUWoJ7hIrJ z<652_NSXjiu|tMv6nOh*t6rKvATbPcl4jB(?Ah~M(g+)g?IDB z5qF?-jNf&Q+MeOp^=jhiCRG~4fpb<@`Me|yw6lr=uiWCCbw|fpaISOywdl;-*YIJ` zdrAb-_xeXhc9BAI@Y`Jo6<+ZN4xoj1Nik75=Pt9QW-p4`F7&Q`FMOyoKjY!6EKF%1 zYX#O(m6aAgarO}NohDS|UZ;lpMZlDc{PkW;oLW2rjzA475jQk6zSM}91PN^<=@FIi zW}gk<5G#Hm3L@o>&4nqsK}i=n*~e?cse8W0oclm~A2#smFPG>OR41v9pZD7>zpXaZ z_OJ4a!9OnnVFW5`fBB9%GE*Ty@^_A1^4rp}dCrt)~awf=8sh$*Qx(;6e(>c_ABH~#d%7g1t!N^-K~8Y5}Q z#l*b#^YT$#sP2?gWg9xQ*3A)GahF+ZX%;M;j=F@k5Y2cEDk=Me4X|!u1*RP<`&{h1 z`j+HXbxmSaDSIpMLuc){o$B9lGmrC2xSt&L+h!VT)_EHv2J&>zhV)h zP|`f%7hK;gwM(>Rk~CQj^oDSEm8^lWxhnbWvjxruV2LVE2ue`GD7TB5^x1P^No7fuNPc1M!1m6 zs2eM)i`Hfjivotr9K^1RFwdxh^R+VW&KhUaqv}eB+d*0ms>lnb8LzpFZ+)-6sXQcq zXGN)WNGb<@;fUGqN{6@P?=v;OGitmt40ZGsA(HgyaO%;FvL=2c5rvn%zY@K(lb@kA zctxlrU|anNs4}r%Csc3G?QxD3&a9~gfvf&S83rkpVj{znYtsS7Rs+*(dIG4RYiaw; z?etklC?`$)MQ3B;uBWQsYM@Wucv1BED(8K$8_x$`(s!54o5}7nTP;okI%OsYG!~;z zxoYjZY_a_3D;VU%6Ep&PtlHfcU2gjhZD-fd``31+L*f;ri+5NTtLDA4 zUh2Oh`DV(hZY-!_BQquPT`Yy3VFLjwPb-f8^`~Jr~!*7{hoF;3vN$es6 z7XvQP*U_xV`7UKt9aHKrtv(IY&c%fskB&^8+Ge?kD$GE5U;nVZd~tU^B>03V)+2hA z=Aa3K+{5mvbXFG(ft?Yz`8GSdpfZUzCl5bsZgy)6C0DDdz4*<`Wtf}fCh}~8z;!YS zHMFnZ&KAGPLEc(N`?^}2V~#DHnD0h;@q*vBH#+6G>n1jrw_AaDsropC^Xf26!SC0c zq4!L8tLL2><{ZW!q%zrPpot=AA6p%Op4^xB6pvkx-VyjAmGVXLKQG7=uS|yIg>jVP zz}Nf)Ub%wq8E|TjW5z|zpjZYEborO`=1kzi=3`r*K&9zB&IEK^|DToccLze)j~GoP4l(Rcg0s=PH1|} zA6IHp(EWDCynH+ZMmH?i@uN<77-M~WM#-aUwN>%BE^&yd$=7YvBx#$tl3(}Aey~l{_W8i}I6zkNS~-|-2e>QbygF!cn=OcQjv%7{ zAl}3ewYdZUVP#5XW^Awe$wJ* zw5&pjh7oZ#i*O8HKaM2SGPlaD&O@7*F{@L+Kifv&thGzuVT|%=} zeHiqI(72oVphe1MERx9aM76s;ul0oRbunbkzxLUqK zU$S#Vw4;a|v+sv?O*a#}@4nfi-OGKJ4Uy3PwIHX%+j8-{BPGCBw*3xI^x`D`&OiG~ zyb+MriRo>_@Ltzvj{>-$vjsvnv4y^0dcaBK>lM&3orViSWyPiA?mr?@gnHC=Rb|mP z<%22AE?&9N0rmGOg@^<=y(8^yiwT+n#PT6idn@-|-i8rH`&tVZi9hoToZpW}39E}z zB2V?ej;|d|($(Ee7XPODD$Yjnb2xvDh7F%FCT_zeZgK!~{|mCnF`j|Rb8Oyp^7@IU zJ$;#`g>u(pcPo)vn(wkE;t=96JNLu|RJ_RT^ZG}EgSA7lMb;I1=(=g93VJNY>nW@e z%E8`(8A}Qr3FH1as z-0r7UCw(X-c2$!Xy5~h*b}fyUn?4JlJVMH!$22_*XN#Mec_`l#^|EM=htA~}H|VLr zhrndZG{E_nujY?w#P(5JA8^tg&C*@Kre@B8mE_yRX^aj*wK#EuHr#XL_C}_gb+5Y| zCADyP<4qdjzUiL(a#7far|OXORHc*tg-X{Wq6m_Fzvo5QO z|5GQNjM5WE3AeBbQEty}%)0hHN*0CqCJH98s=g%`udqDjULcv9wMKUDVmFk%a)ck8 zV_fp->KJuSzP99?-)xmAclw`!o(Pr>Z9q~`%yOIViT8npDnmUx*6F~hd zDl0RX;XIu8@OiS!(B{zPXx7%@iNf-gV~by_F($1eht!`(Z|b0~g8BhndPlbfyf(~~FUcg6%tOf47H0**r3Zu!%!9#%7z z{n)Xiz`b`445+Mf6D16@T=$cutJ4zw`ApHrAyk=lEd`SrN2)V5Ilp2r}hWG9=yV^kidB>qm5py#gu|_4w0oG~)X}ij-eDNgXAu(pZ*B(Ol`(cAa z384)g-I_H*)RA)wNwGp@dh%{eQjABxwO$GgmX`KfRP5#pW&AR9g!+fYC6m&g-4H@S z7(q}YS=K0A?KLn9zBALYM-H5O0akVP*S%yGb26I!n~WdRPt%2(3R;0I7cZ(83a3fa zZT{)XBb8=4gXev!e*XPGmq)~HPHIs++lKP$gMEuVj=OEQ{&n5gSY zap{v%|0?bktN9m;QL5qm_r7TD&tJ4dK*Y@3ZBA==dW?iW36eoU8pvE^gHk6pesne? zu!%>0m*2OC7F!gyT0ROkNe8xe*VQ+(iv=r@;lx%8YyHan{nVXB3=VHWy#howF6c&r z8>!I3)z--u@wymQ5l7n;6SNfZs)Op$p!<)!n6 z1e-n<;*(JH*S9TO20>!DLX_E6gj$*zoJx7(P=T<$!vDz)N$a}Gj9F~nk(#-Ec;7np z6~M|L&3t4;cbS>l-{LX)sLT;jo7UCJc*gP=FUOOkKT$MZ<;Hrxy4Bq9E%f0akA_Kq zdsp@2f2{5ak2@6j9&H10>e7MDZ16wz*BV|21ML9#97}OOoaSVHP1HffuH^@t(pf5` z1XRU`;%fxwK)lj2+s_gluccu!KdYx*Meve|DitOO`#m$aL+QmXB?SVum>;bTCqRVOhfdyj-v<+cD6Q_EeiYb(n*9sXwlZ~b_vN~crz!*z z2942}%UI@a0XTm_cE3{_xXHHXd^c$io z)?4e4*&_&n%x^&8E5W>H)5V^_*Bo7HQ zN>2cR{B8@C)yD1^ndI&#>Vo0BB7{+~4BDH6r)o;(>%5E<7aH6ftk*(qoHx+~5Uy4q z7Z-qS>7DU)RVqy$wPj4{_6j)GyV!d4Q2(8vEqUffX4pKSUWFFHP{Fxj??S=26fAtO zYnhtzmD$d)f2u_Hz^~ilf)0x@w&^b^tnV`4?=jL&r}focy08H*Mk~JF-5;4Qy$YzH z`B_{w2*8ElJU@Yn=KCE2GtPNkewo&vLcc}Zgt&%F)E%4E5k6&P16L`HT@MX$wm;AL zIr9uLKd&_blP=Tz;Vg}vHBl*fDRJIu91DGT@muW!SqDd?LfAp&O5S-Lx*}rO4GyiT zy2!~t1#hXNEily3S-I=ZY$=R=EbN6;NuUp}pLFAe(8T2)Q8;CElhI{OMN1LyR%`P4 z{7tTc%4${c5>dpyFxWTNI!Wf0eoO8XS&Lzz*w9Qtj(sKV9vS(Txg`W< zF11YwTo{K>-Jbjx#8f}HOo@Mtjjt{QE)T2gjU9NqY zj#ryVPUFnPZ0Ei+)ZdVkRrU5Pzn*ll z_-8E$fZPA9x5BN4|F7Gs!?)2}IxPvmjY;hkKDkqi>jB!~UzBL!znAIp<`2xGyoWWj z$smWwVM@XKF1|~HIWE)D;vp4&fqWMy-e-SfnxoT%a2c1oGbhR~9IAlV{j^-m2fT6U zYT0PyG6T%MazSx(=;toRWFY3}gRUn_<)s;ow^)UO>oWfrd+!z0;7HGR{weQF0v5;qaZP*n}l@hdYnMyCcmQe%6{|*`jpKVef7yd z`;NX+1kWX$vw#Ao>kiEU{ATFf>!95%FQB;}(b5F+)dQznQ(@K1agz8cLejD}J>w$5 zL3bP}^2({s+$O9(c|w%>spfp$lV<@ovJ{`3ebbi@qhSt+nGE`fMOva`siXA5gG-U( z<_tAQ3Lg-!WH5`_mqWo;A-X3j8->j0<5H7OyBAk5x-*&HjYgH-?JG~B?)Z)nFp9&c z5=`7KIiVT=;sxm1w73F4(~}tVP|EwnX=WS0D$1T)u{EbeRU5FDh1uR?^83}j_O>db zXIZN)KuTY9yB4)9J$}x)?a`|2gdl)I~{R zns9k(;t0R9PvV~2MVZ7oJmMV->dDXUO7SOQHP+)03U#~SqSN!!)!}okgHWIcECM@; z8ta%IkLRz*49Y7Z$__%917Ld%K+l5ZFWGI^^1o!%DWqqxcYurWU$QSgM5tfvUos`M z%>4XWJ<$!UZPEk7>d_}$oOJ|}cPubtH}XW|eGnXW&Es$1SM|7tn>hVi_hFS48e-$# zT}QK-6CVP0B~c36Sj4JwlqiXJMgbz&l0De$6ZVB~>ecP)l8>5uw~R7dbu z&~w2Rb&{_#)LyzhnB05eT3O%9cO-K#+_!OFKRgHkTOC?KNK6#}Rdln;s>L+xZr8=# z#i?DN2jm;SH^iCu>f7$yQEZ01*(|@4zs#XHQ@2`}SkVY;Wwsl9RFV9bEONs0&*keF z;yyw4lC%F(lgOvc*le`w;tJt#z6tF8=4WX!TW}{S?EfBWt-2Ft*UC#Cb2ccq+WnWT z%4Dx=1sMETKZ@*bEKFy2`KL;ALA$|pHM+o~(U7k7i1~BU7<?a+N{hCddnorg z-%S4{GdWR8%S9^$k&}L(!I6kC2SO4~xx4Xda464B!Vx#~Dzx9wy&&P#&S-)C)}Ke$ z{Et761P!1W6~I^veCjyqhHsHoJ&q?qyD-zsdtjLQ7If=(8sAR^n;R0(KH8ulQ7atyAM0l zNlcJ#?71btS%r3#F0i_`|N)OiEEm{dG0SFOxU&b0$FY;}mb>F58M#%8q_$sYT^_qJ6XOfQ&^6YkP zQ7=XtE*!K7=7Kt64LW$3ny~iBt9Z9Szo#bjcvFFepE1umi(B1wUzsETUaqrVCy$WD z19j#Bv*k1FE+>vWn!gVy)PGtg)6bJDO;?nXr~nP&18^|l*l^zsAhA!@5Au?zyaMtF z>K$rhsJoqza^XCHPUrHrH$3Tjq_{AZ=Bm6Z{j0MgHJR70f(O8_2o@%XpBQ5f9cqKR zl#w~5xM?JWhETh3tJ$ESUDSAELHV)kk2%Iz0X47p4c*t~{$ZEB_=y6piV%My2hJri zwpkY^-z5jV(425tt3$@@+@YR(T2)r{k|FrH9W(i&z+I|592edRyYT}@+3An&fhR~0 zfX*6S3bKjb81WLmB)s2?Oh)xTCG4_&vfL+SdBZH#$VG&$gRT)j(qwF`;jD}0eE5>W zH)hq65W9L9!L;kc!-u8qPW8ci);k={h)cZSdl6)_csDStsw9_m(2VlEZ>hphsI>AZFD=|boGJAun;&}&$Idcudp zSwxqT?3cj2XV@n38k^rt-$G_VmRgU_%#Y{U+Ah$Yy0dvb3#?-bYJtnKR^}uU_scV# zz;xOV6@0!UO{|YXmBQ8-zt}U+owJ##^^b_{g2x+>bg+XO6y#zIopceZ7Gw$_XBPnw zkNxmWNJlG}76{ebZiILdm(hb2HNWd~mCiws(TOP=P&5UBB$gl}Tq^iz;lCE;^K+Y1U^;DT zQ0AM$!n;flB_*R3srI;4_`i4@d|HVMJ_ErU;J_ixE~Ps@#@;f!G%}U13b)_u-R;d> zGwG$tcc)`svLWYD1dO|G07}lTL{4YU4TN8bg%v^lOczzD{n*BI4JM({`6DTsBRpu^ zpl`EKI-L2ZVc0^Sa!M__AZ}fL#2{gR_8Vh6vAcXmNbllg zDJWR0#WQR>adJJWcwVBPU?hFxUcPOu&z&LNF?c1QZH&bF#3QXV+CXe&Pz&tDm#7n| zufw03(gjBg4OJf0eL_nl7&^rL(9NI%e0~0sVHLGA*HU7(fQyqR@H6-(XOXV*RZuGVmXLq@I8p&;>`&;)oUh+reHya0~&hi;O_Pq6b#gL2*j4%@sP#4kS4(Ye#!V*R zRhWGahf8(BO&x>1zQWyFChEYK?b5}V?}vZ$dDv>&*T%6tds_bPp-B#%;I@@T zZ*)(xpyR0)ad;#{==czbYSl7fi(NVV6G4hl&yZDp`(xpERp=F&P_u?dXgzvopq11d8PIra5aWI=?tbd`;W^q)(XIksd-6y3{O)=(4& zn~=ug*F~EHSK#zIEASY+H50+gh0|iVU~XO{Gx?|c?;&V|tJ83^z3M?=*6V+RQad;r9x z!O(P_OY?2pYigRim z9RnzHWgX7C8s=_Q`cp4DsD71IrtIto5xV{i?2u(s{*b*G+`n$#&B+|B_nZgPk+)aQ9biqWVmt* z(WfJzMNlpWhP=86q9cw%nXNFqqJzt#;X%x5a#C}SioN2sBwMmOUvAyKtm}X$a1M8i zO*yQ@Bccu#-%Qp}3m~1hU)$D)e|`FKvx!CyPuX%N-UKL$X^%N*=Bc;$3)QYcnr+GBWco3M zieva(0<~CTvrDcep=kvf8K%Ul!r40W6!W}q{3igGc;((Ctz-`p#9r%p_|hrss|Dr+ z*>&5aaCG*#C9%A8b9g2ZUk0iMZqdjZXGQ8uuqj63eVU)QMeFAY?I$3~th#wF*up-T zouF(sf}#wX47xL_#6;LR>r`SI7u(wxlNoH3g-$~o9t8d@5xquJ#ulPZr|xV(qPmSu z*T5pWuhKf&mp!gL@A}DfPvXzgumzyKS$;0uLER>(gCa=GRX8=oRC%%x+qiza zB)MAs;0E)j&MYSJWXr4z;*}##$OPjFyG{VLkr*b3LPc{6&JX^QJ;!!8QCZoKekx~{ zN%^<^e$w>RecGCLnjGbGA~HIzXq|cV@+AkbzF&NzdpdjZ=h8TaaM&%E-la=Uyi14^ z9qU}+8oQtJDqUsVtK5F!Os~$TDPACIkfLlTt3sh8OY$+FiPcIp5)ur$167&~dW2(( z-b2RIo7ST$G02;Z@rBi&9kd?ki!;7Ads)av@s`H$Y4QdtgT%N2!)#d^{AUJxL2A)0 zC`QCV?<;q6J9k)f;d0{h2#ba|?z3s+?V=`Nb=}jV*H&;;y*4O_H?G_CzM5If%_St>4h-9mkWw zTV^>gTvnY0p=lXlNYePYf*m&R`7hkf^5sh_uvvX=ONwUW2fj2$N1?BL{`*U( z2FIf8*B^Ed@|^*)ZdlvNgJ`36b9PO;JIN4fK4dev4>L~N7N$85msfk37m3hJ8E@`E^8N2q?fzBf9 zEp=&|P;m+2__#ZJxuB*9YOG%k7y=ZtV93hj$Y(GXUj{@1Vk z_^W&AQSv8M8?q&x}6Tq7G(0?gBF84uWLy?a`*61jyOAaU&O4u=vmb2DK9@ppMz|S zU8{jRtz+ruLhi3y4A)8wVIq*N6@I>SK^d z%yJaX^DLT`+~2=-oxwwM71~Fb@h18D@`Lo$^E|fmCV!B*9+;OPI<_(=qr`~2nVCn} zxH#HanQ^gRHOEP3yA@iS|5o{yJmK)*?&EpT*PrTS@>R~?v8c#0=v(Yr4AH9?s)Zqf zd|ZAmwiU%{9}2u4eOvQw)j+Y~K7a4?Q4ZaEODx?^>$<5m3mEk8{?nuBF9icBRxXfi zz<+W0$4M8YOm-fF!0anA)ll{MvOU!J2l!RC#0+DMt6`l6$q{)=vP_o**c z`}gS0SBZC4;CF~_IOXiTxnjUW$jb+HSnoj%)#8hZ>b;M z6VLxXtBpbnustN)ud`irQS#9~hDH83J!QcGa8aYbWK>rfMd?Xz!HueTX!^>Kf<8<~q%h6IL4g}N|R8VnTE0F6!Rew62U05X` zY>F4Y?HxX7nkjn_Oss5VH8y_5#C#x3U5~=&EtgTTt!q7IOom6j|3GB4sMktrEy43Tw&?-;GL77zH8I zkkIg*aK{3781uch2K%suRB#0^)n=|UDLhc~kyxub>Pfx#rMO{6{0;C9UyNv>n^F<= zvgu+nrw9=g$re~eb`n|v49+dsTDcHWRYVn>)DU`k->R%^HDJEBYPJoA4@_q$rk0mm zt43Myy^Zsz{JCo_2P};qf~0b?S2Ig#>5Ws=$I#2nIF_7mH%g)z(vxK$s%NO%&tJCo z)dW+T%Le!p0UG66IxxhLS-9Fi#t^@qcG>SP@Qx{nJKyLo@#Fp~IoIKEM+=_gXvz0M ze7yPz=*sE*=csZNj|?Fii|GiG#7LoUJF)Sww7{(@N4#!?&GoYkyevnt3dXgTvc^SR z`=&ycWSJOq(m(Ih!A1gn2(?ydU((YMb;fE+xwgGzjkn7Slc$4|)$a9f*}5c4o4vku zFQ$OHPyG_zk*z`!-O`zsz7Xq48a^2ZQiOBWm9E5C1+kTKe;3!ol@~mBW7v7IB=jB|qJ=I*X5h8cf5dpBdbpP@ zJRa1)T32PvZmEtLGLDxq$Rz<<{%yLw(_xOoZKiiB-KL*YS`VI;$DFfulE^1ql(>mcaCU#m61?Vp^d_2Bzgz7XUxaUF zI!Nkx+(~?J*Co>C$?W>7;H`UD)gVzq3v- z{ZR_#Wk%4JO>eq`l?j1CcEwphgUj!BrCc7hVeD>Uri>B ztk&3yu$vCD-&AgfjZosSVtZd)@gX^4PLi&uOh8h1KaueYt&yj@YCZD#PF)YIA` zCZGBMqtYuE_Yr<{GwJ2jW`C{V&+U1c0YffZ#w~=KJMGbJ^ZAlN*>0SGeP? z5kHCdH)9dAy>wI2S`)6?PTHS?^gL?B%^Z zdapAuu(R{~8JC-G`in*QvMUK?AwFxI1Z;&Ksn@M0GDA%XkzV;*JzYwVum?%G+jZi@ zOM~whU&we^c8&)AG~g?_uTM71nfz1Lm0|@kwMf*Sge`-i^0+{J^|Gv&i?)H}jyM8?D85LalFx5VF;3E>kb-|x;poUZjoZHX4>m?`Q>9L;W z8l5vmk^8_X6Z|TII<^TS(vy03mY7!`U!-J#z0G@f^+ByrTM#wjJ>(V?Mt~RgmxG-v zH43)6spDTma4qT`YW zVwV#iNtbF{j79&pz(Dgdf5Gt^x;+Jn>VuJG)H{8Fqy)A3KYkNJ=x&JhFn1_(t zvGSCM8?X)1{HWl2ueoOQ^kE%}(`mYORMk;9l96GL%PCc0lPqL{(Xvlz8{G(nV*{z2 z1}g@|PzsA!Mcv|JL_!5hY)6TP;Ib+NqutFBb8$nQ%vxAccc;yIS+QGbuS-U6x>xfq z$4H7BzLogo?4vS95+G<>-Ld$9lBvdyH@d7i9T5VL&ML7_3R}bl-90brZCQ^q07)K*H=7wF~Ei_Q(3`6S>AV$p4v><)BpH{4*{^?ZV#fh{$bB?*)CEGI#SG9KB)9SPi#vKxtF`!^XOV zK3(vX@=mR?u38gf8Az;!{pk(EGXD7>`f9af-y}kD6Ip%r(Bi)ljbY z8vi9TJL|WLWpeh>@o+Di5X=0Ui#~zx+OY7i4z4ZssZ0DNn?;uo|Jp(%+(hEIR=R(z zia5U-YxYu@^zYip%v^tVpF2jR+^2RW%fhKDt(+X!+Y#z z>}k18Th#|8&R;F)F{om3tQoK-NRzAK_+G%%asAWhnDvI?mwoEnN_ZH5CNX_svUYsb zde^z`yx<(&psc#kEVD8%)HMR`%byP{7Z$T0tI$o`u3F)reE@BBpp1(Poyx!5&R|Du}wc#IA-4)O|vpX5FaQ zX3eOJ=b+9~!eCboomHg#m~eeOO654a;k}bpT8pe9oTN?izflM52_}+KN#<~EJ@7+Q z;wx};&>bu{07ZkEt!$kNWmC-SECXOnE0Ou}Tm#1DWaqbL4_x4aOtC3hIic_|1;-Tx z6I2F!08IaHYs7e#*bs6QWbl^_o&Lp@;tfYdUVKl3m2Q7L`sx4K{8C`BZxVk*0BCw= zep~#biIV#;Vru^p7?xHvQ)4oyr1)#(MEQYtkeHo!W4AK2_#ib_ z*6P~gt}Lv^MsKp|JS>$Xpzl@|c>wO>%~Y9K1+@Z8D?*X+2m}(=&vJtQQ_yPoZ-rqm zqao{B1lQ-eYb9}hDA2A&kT+1d{(;OdUW{cPfk($L?3Sacfa9BP8=$h8R zsID?x_)ID2C!y5Kipo8Co&G8{ zxb^Ug)TbBY_IPIwEAN^kb4{bdxCrX|9dx(Wl0VMvDE$LGgcw(cjm_%pm3&8I<_CXg zf^%nW2Go0leRUv3c#L;gNPOk0s zwRO0|1k?inv$zKd0p_`Vv3hu*vg!D4GI_f#$5T{B2bD}9}+-fTE7z8 z5<0X)qFG=Bo}wvc!%wf$88n1l0nz}66`d+zONlQL68S7&`kyODd(5Nn*Z;4*gu)18 zxV#R~HRx@x6$JCVf^pRD4Pm=k6m3oKX_h{RY2gUkaBZocMs zAwwF!pOI5MdZo)nRKT(AxvgC3uIRSU3kE`#BZ|ZuagiOfEd4X$mltUn*(|{v$&A6R zZo${$$afos;8^;^X27DRZN?;~S>&fm*_K@Xg8++uk5sQM70T4ND*E}?^BJDq1Gc#T zPy7nVml6qr>BIo2)L*iSjL4%pM41vFly4+Rn)pD8b#j%*s4L$E;?B&5%o6Am35HmBJ4J%W}&!@t#ZN~apNjc>CrB@Ij}FM{u%Y$KD{173&K_E-F{D zJH32wNkw`V0mkbb$e+eRK|!w)48P{qx+v=sDA(T?rJOVs2w{t*~OE$9A<%X+_3x1o>Dtt_2%OSi==96+hdNVAQRUGR{M^bo+x z&e_LWzHv0aa(s=kq`Ee-Ur1s7%oQZM8fiqOE9^F?JcV9vBQ#t-fWE;dze)qJTq%4^ zy%Hr79n{?xv;Gx!HW*zq`Qs8qus&Sg>;m0z z#&?hIn0fBTYQ8!DoGJXhNw5kqnT#5sJIFFoyOag|fY3Z>$IQiqApSo^*oDux#R_Mw zN@(T%lwPUGkeL}Ny(f^>kt?ho>>E7>w$L2`lo~>7#4q`473UC5$Bpd zow^rqo9Oul1Ir!6+2PUb;S`Ys z2u+G$J^w+F&mib5ma};{(O-oGEL#d@#Doj!8#YOkaD5&+x>dhSHZh6H>jI7RSDr|K zz3gL|OuzZrmO%!0{;GIrQ<1s5 z;gsd#zM7oJS|aa+HL&G=7Iw8cI5`OzhSn1z@dwpo0KL-|O$D>}HG{G_i`GH@`7=2q z_+VU$6m=-UcnOFA;oaBQvABC0DaVdB$+ zt~0b5567d!7Y?@UOg`EsiX`kE`C~?d1PCV1xH`PSQ#3Pd98v+mNuo zQcee>b0llpPD^)E9T=of;rY|b`XV-&KvpY#)-!KtbP4ercV0juc2U`VpU(W)IsyRv zpT;I^ZvxOk&=I2ll7TsUNMEU{ac3lbS)f=WHEzQ$xJiZp%Y&L(eYj1f8>u zNLM6_z)KK(5o>q|;GqdFr2Vtw5Y#0g-AvR}o&&EN=)Ea$dYNv&xF9R)Sb{fJ0#0N| zA>a*^zNCD4%M!MQMEp|Xg7wK^>#jn|VJ9y!8fuK`!Vl>Hp;mZ^c81>nToew32%+s0 z+SiJrYOw|ZX2z51TUB4>Z(m3Y9mOu8N|p{Id7k2U;JC!)^eBaQtI-vPQ!_R8W}NRW z{QK@S9ximfCTit$U`}ge9`{f8p>`Ir^O0iyf{H-LbommV3Hx=P*#WN=h$%ysb3+A+ z7q>C?+ziFK)of`TlQ-UwaoJGD(cIXQGalYQ&ja>=DN&LHpOvBr%jr3%TK6ekxr*mQ zmF&?<`_#e8yWbQ`Pef64gaWKKKJ2Qv*)iYIT7DGB!hGdlHF;ZPaz*`aw)l0fRcK$^vd~!O>?x|Q$(;|r!x9&Rdu+?QnWwc zhaZOY->;WXyhI$X8@br0=NW_D)%8O0f|(23#4#6=!{+e54Di|CCfJbhDZl~LHv&G) z|2_1zY?b9H8R@`;Ad?$sS8GM{4+*A(L_C&oe+9(p3uz_&gI!4HZ;}rG_-oM-r@ATm z+`AE-J~7VF7EBpI`Td{OGME!2q_J7fDk9}lW_oAg@wZX=atYd-{Z7(KkVik|dsVim zL<7}=B1Vij(;A(%>&^}w`g0FbQTsJY53gE2mI*7{9#Ux(5*!skA1)@E`*R;QzX|-( zEJM?)|KN?ZmH>C(uq?tFD@OeHH1aA6m|y3|Tc4{r$PB(NP~Px48SPGjA|DT*8?|^f z-~@}jF}+Qg#t|iyX1(Ed-r1&<~?X) z`C`nU4HP*Xs?7bU=N3AdiJ6~lG1DpMOLiU`=u$ni9=d|SvWGvDo&^2jG^*>=vCtr# zVl046{P{u|svskVt9W zMn5E*w+dTo^aD||P`39^GUwtp|G68Kp=a>2sJdF)=nRU{-w|{48X@syhoFJ#&p8nU zYcId5-)lC*)9)+qMSZM5^=$enxjwjT!q+aed~!Y+jrq;=Da*dmnZUfa{7C8NVvMpp zQ3L3IKEmlH)&yjew=L3{_gJIV>q2}Fb4V}d#Q$B^e3QPJpgC+a+9H5gy~JU~n((3bnMEgw`@Y=iHhn4K3S2@z*zzp8yXjU9OZUH?4gZjn99C!qMx<~RWT zb(V=hJHolQE(SxkIGbmntCx?0QQFi|^SN*SIagVt>zF~Se<(K!^vl@7q)m=+{LaP* z1{z#u4-f2$MNwah1kGA2;OJvdM9iJJUt1hjmB&#HOXy1UaTVf?>{cl$LvvPHH1P2m zA_90sVi%l+C{soVU7kPD>$9N{9*L-Xay=>Urd|Wz$C?04*4pv#_7%%lf!-elb4Doe z=7yuP-yq;;fF33`C-#A(&AS0*BNvL3(4wXLeiEk;JtKK9Fxup;yKRWW-NcQ^=mrR(S0_qa(nLY*PP9XE*b>9q43^6EU=vE z$A8OBULc3iM5vjbtrvPE%RHLRX>$I4Ri(t{v~ca}M-4i57nm8K!|WJpOW#TTst@OU zdi2fiIlJIjDx==kcf%_1KU9KOMM9Aes^S6e#lcIHjZMrqGh%He794^800{*;t!9NE zP_$Q>ytv!-@~&nI%0*>gn4VDxmOi$AZ8lHVvkv^?4X&Dyjunme0A~x|eUTqX@h%8c zxaJofcB=26$jHbj@0x76u;~5#p`ZN%#TIxrf*Aj%_WMpKjH#}0aSaNf1#bZQj}%KB z=qk_*w*A~B$x)foOF15leGRADmg5TwLcZf`Of9H=c04WWU>tX+`=$Kq+%>Sbo~eM7 zd!*lEe>2Xy!|uQoYoM7BsVu3)P5J|;4!TQJMq<$kBntCI04k%MxRnVpu2p-`B>IG4#n*wDDet{&_9K-szAdxq#Zqt=@<)pbkJ- zK+DnJ%rC0~5Wml+2nhU}EBNVQIEWm@3usEyMopa;ctppOswn z<@zS&J$)eaFoX3bt|BgP0gt&=h^YTi>Sf{KO-Qy*^SR%?^SH$TGP%>Hlg5`Jlkmcf z_mfdlgev(scQD_FX?5nuU;JE_@>l^o>nbTxb7^b1=mdQNEHS3 z^Kgu13=Lm;bYcMi?k2Xh1*ZCO)$Js?+7qixh3BH;>N^P zdfWkD{rLU?AD4=+F{|nCpQ%>Ga>*V!&P}-yv&OKAeUkP8Z8iq6NrD_ISc^@2Xe5K_ zwMqyb-E!O5(|zPYT4P!PS3&jjX``u1!Ft|x;bk~Chr6@WF5oA*@Ixm4K}+NKp(lh@ z84kEwb6Iv5M^RTTYoj)J(dOGw1MKB%oKIA|EG16V(RAA1xoG6M>cGwp(#<^A^ z%n0e7Bp$gDK#{DhKK_FBtSp8>5*j`dLspRM$#-qYFRu+=jgDxhBHfa6St#sVzE&)n zefLnuB0aBEe~%rmD+lK56kvjG z;<&!Mp6-4%*hoEu?Ve5t_Wy!`F)oV>mpMiN%pUV%(kom0&6w07BjK4-adgQv!Ta2$ z{Ls7jnbk|_?y2i(ad`}KlMAs}=MKPXOD57QUhpv>UD~64pu^PN%?5I?@UgY2XE3d` z0ZAWh$_hx$>pf4gf|W|0OQYU9D({YvVhXG)c6%r3IBTkT@8B z;I?rqVSr5h=zvDU-RZCkKw~9_1WAn6T>2flf}b_l)`c)jXbW-q7#SIH*b9)6$?`YF z2+4|msQ0rtFb2EjKkS!M0$MErO_#$o1eHrg#~I_#OIEt3<3z3E{`@J6IkPR!!Q}uQ ziLLe@-yR5p-0ec5IcjagsXvFIuD&#j7yCND!FCYfU46?!h^Jl4gi|#OZFO&98k_!w z=aq9MymAi7g)O5o3to5E)&Z4X&c++dByA*`9Dol+Ef6+w_j*TLI=Ox` z=1_##q#f0%Iihkm>-M(-({HWp;76D;M903Y(!;*h&r%qC^|nwRyAL91EjsQ;Wu5m` z5666*_o0;{i^8yO=6MTf`TJh&wk=9)K1eRd34KjL2~CXzT??$%C-tD4)9_}*DbgPv zZFtQu<0Jekj9l=w{ANb^3VizbC5EUAOmra83OdVNE$>*QG>M8qzto_HH|Tb@F2NtD zTcm5{F(o4gu-%IjH84yv^iL2K0n)zk0J~A1-{bb~>T|w!?zEZ4y(hQ$JiSG}n8C#p zGks+F*0Lt8k(Y|T0p?>wy^k{q2xtD5a#cjjd>Jl(GTrS~r^~gYUNXOzpV}JXAN|9b z&$AB$VN1tB{ui(AD;t#S2bstR!)q_ZO)Tt2)-)@^2Czoyr(8)>I`v z+Dn>vW*^%>jPy571(5qM0AO|G-d=8`dM(o8Q5mj*;=VV z+KfD<-``ck0i}1deEG2A#Af8jQ*oA9ZRuBWPjcSUbXKbHx9bY3bOneopJ)F6(T1*$ z)cD^$Gb|pvL>KGgx6D-<2sW!r?`YKg)0*(1c8B#D|GNeQ9(L~FShwy2 za473^39Q7LV-0y6Wh)-U1Z6DqwJ^+B;Z`=Pb9P)u+L=AiDbRjQcBN9G+@W0E9SV@- zOn1`FQRo%%LRCIaql5;isL08UdtHv6DQKwCxT)Nk4W9$l zZjlcr@!7^5>f=m80UJ~dO+xBj97)fs)!%$k^h22BW~KxHot+lE1>P$3&(R z>9V?G+<02P&6#1X1f30)ByU-pYYV-ef7hjz%s-XcLmPb>K=QxXVI`rA0l+3;cpd?x zs6j{Y+{4i|xRmYsZy*p48yDwyO|<2E-yKUonTf577XN${TpBDpfRZOj6%uAUS#$1% znoc&0tZ)T*I9!!}w=9#?c71&)_-t!yhy8%VGPL(W)5T-yS=~CK%zDvx7ntNg4SM>p zeMY1%JhvuAPvei2qf}RY^5$U1#gXPbU)uV-wx+43R-5&+Zn7@VNicoQE`3yEQQT_A z)=owO{AQ-G@a~$hn|xy`m(NXp^*&(@^3PU^|9xSuTp;}_W-#kI;^{xSQSe(&52MUc ziDfY7U7oub&w@00V8x_f)8Qz;=i42KhVgTw*Hlxe{$s-TgCs?1vX^VD&|6N-fd#XIWs5ORsI4%Wd z0`ASaFJ}EVHlpaDl&c6?1KW58({YI1Qd7ix`BQ{3kgVw_p|Pzs6EN^ZoY-}OQvdQ< zs3(}#adcQJBE^wAi^)o&rY!1*%KPuvKgnM^sett?QhF|O@7Bug`J<|r6B(vkC!EeuMIgXF?yDzHoZ^(l1=-xUBH4xiTt9-Z{-CO znO2c{$;2zv=*j9GwSUMWC>%uUi9ND|7GuEU#bF;<~0qzELPpHNme>jEbqf=TYtkn*W zYtr(zf)tsA2C_U$ow}}X0N!ND__^=gu^LMEr-%SqhEX6Fa-SmTb!-&N+BJ!1&L$>_ z1M<>eUdB)9X{D=b835KG$gsK+g{GQbQS>^9B9X0 zX38S$Q4Zq{#|6g^W#6I6l5+M_c659f!0>8NWrXaMuDB}^L&#PzW3O*A z%UYnAGRpqb#OvPUCak3_<8=D_aY>*2;zbLPbq2l|by}R91a1X|;V$LtPY)RgLuZ|n zN)K^j;Ye=v1$h@WPp-8H`SHa2G@tX{mwivA2{$F5{7JCDyI|`=SFz*fUJF0(Vetr` zvZ*eqcCBbp#*tO;#|>X@v&Usm?{v4A$9$dhCLz%qG8O*|@GC1Kv|N~;@0;0ez9%`4 zT#N~?Z_)4)?^)|uLwvm+B2gsZ<{Btx!Yj5nu}r8zQ>hj>Ti*j}-sN&d&r(H?mrV)s zeIn05jhW*AuIWGf$h>qUZe6E#8(EjWlmQNP-T+}1AxB`hb$!y1H5cSMFuy2ve)DQ3 z%YSUQ-xs8xe9r!)-qFfT8~Xii#oQ;dVkBa^|JC?u=DcxFSB?;N9bZ84X=n69W7sEJ zouuox?F|^IAM1tSC=~ro%Jp==0XKHqWm#J0hbGEX!s0PzV~AdbAhe98_Koexs7>MS zip1Yc5{d9)C|~B*Qj$F^C(AFN5MV|P6Yl_>T4X0a=HyRn@_P33vd8h`t-@u#asO8D^2@O zA|{5u6)yK{tR84*O*!)t()hTX;78_fe8sHa()Bhs<}uBq+!(U|TQ4DbBkVyc zLZ@i3WIN42ZpN#(xhnZ!{-Lv3dsVcJFkKJTo{T6Rd)$$;`v3Z)hWw#h~{zv?s}&>dK--wLLwt``4itx_Px{HfkE0EGDeUjOesc=rFb_Z?7CbxXQU z5JV6pNt6ajA|NO^wumH=q>_`8b4$*&f`DWJ0hOczg5;cY76c?K8JZls2~E>9%{%{p z=gzEqXU+ZJ%-p&2W?rw=XTf5heGU}0t7`B1>MLrK8Sd=M{1Ht0Ow`IF5+={{$skEO zz;cS5#QB=T7MfwW>y_&tDTdIhMXu{f1CLJrQAafR_x$^h z!#a_1F_qx(smt9}OB#BU$|DP>#}aNAOfn*6D%kq&XgxC*#toZShIc@tAr;}Bax(2^ z{8i&(7Ymo%?U3qF{u>#xNoqRkFK6;3_soD?^aaYsdL*<55++YvSD!F_zs|rauqgC^ zw@$bMLz5rEw2`=F7J6zCGytJ&6g!o0z{G|uI!h>yRT2lQJ5EayyQ|7}#w6>5MeFor z>v$zaPb}6?)sCEn603e?8^_qS%M?Ibp2Qa5$d>NmzDp}`frLuPcyaX~wyL1hLJQqd zCGv5e@P2T0)``;(1=$|}0-^XDQyg;kr8&3VoX}VR7yvpA$5(#)Fz2kIo1&TUMAAA^ zZTdS1V4Tcn^zkYGX0x~iLe;!0UQtBjxj~v5#pmJg&wN0f@RcK; zhMPSZ*(+0hv-3BD!UbiNsZICx_3h3Wkn`O_mwd<&6Fc26)>~}H1e1zCCuP1y zohX!(^>D`dVf)U~on&c|{Y#!JYh7`yj@5HFn_H?it_i9)%st%wrJvaM=6Xok-98XY z$jhE#a2Yr_KndU*NbJE;qGJ{s)+5CysZX?${02vR)k`p5zDq zz)pnM%Ozf9aaR7ipG$6@ea%&xpR;C0DgxCdr|^2-rw>^3)4pCK&5_oLxmk5>ukZ6@ zR-o)Dwvt{=>QUtGR8YZT&1PUA5{!C}eujwCW!8@jFtyKhxJx+UswDWmESP|0gwE|f zF?9nINmVmbz;lF9x8yA@gm;9X*q0in55!b-!?7QC-dw8*C-^OoJa{TjK$g$@l*_T?hz5P@}&Bl3H+_ zM;fj{QMNyKrBBSfG4n$Gr)g(4Rj@EDIktV&EF?r;HBD3JyWvWO2_l8qPuE zoR%z;#nMP~mL33+tO-6EZ#f)u*u&DRO@2c=q=xMruetbk3vSXqegZz&L+>0j8y{DM z-!DPmZb3Y$8`;uATZ(GbOEI7QRyr=&E4B`)me^79Mp(8Qfy1$!g?j%_4mAtj`$?2BQH zbxBbX;U+D;H;92*g}mL%o53`MqJCEo9um-qBg zQDM!{&}<_E$NjAg&f&ubu1Sg?--}bI*cdB%KS~KCxMjym@AFUbe}h=hliIPdqInk@ z&Uh6^JsNhj?v*BEHv2{-ts7t*nj409Z@GPU`vtjuRAQXp$yK0s3xN0ZmnB`D6`i*N z8V9?l;?J@FA34YOJ?@^5)@vaO;Ds*5Jib46WKPxP%PL(omvSYkvccwZ{jTak-DhR; zhNoO4g3){>3STrRyoJBfl@*q$=3Ha7HekERendy`SaDKxkJfI&s5(9n`gOy*w5Y3U zr7&3aOH7#VcsTJD_jp4HwfuFo`ywR76GHD(p&O#~!(+X1I;tV0b({X~%KKQtJmNBT zkXlKStYPlfJVI;0?YK*xVHBvOK9$>~t?I5=jJmyQf_`Kx*|W+ zZ8g%00D6soMe9~^*=LO$h3eMF3T|Jwr&qgZO4!`))==t8QeXe?t9_*U05H3k{PNdE zBfr>T=0kUv%8_AV#@jgecOy&J6`khfw+bk}ZhRwU>fP4@2gsl02T5ba>JdFrqO%N2 zr4_Fp3{MSFO&xvJwh^_c5Oqu@h~N?13wgo6i@BL~%V6JQe)!ltGjF=_ZT-&vcEDFe zIO^%RnE6i>EEFeIDNR}AD%aVoXRv#@G6VXa;(bhC4ZD@gy6RHnaVw7YtO%fO*V7_I zJKp;ttB_?}Q50LmJti>G*O|CN#uL48TQGvti8eM(f3{LDwlFO<(AjfTLw=v`QKV@J zG;`fIv%QIb=}~}aeGNJ>&)z6EA~#Y=AxCi~|LemGUW`*k-wsY{3J2%sRCdGjx>LEA8o}}9SzXSVurLLxNt@xF>uD_*tNCemk`^b zH~^w1)LBBUh1k0Pqfs{-AWW@iz`R9<8q_4;>$8qka?QB6`*`nVOx!D2g?HB;0d8V~ zO$I5J)be_})t>LAtD~-JDR+mn{MCOgZbvm{;Ud9kF=@Y`QBcM6o(L6T2f6Jxt; zsiw$L-e+0Oa!Oe~QJsF8iSjuFjy?f0S+k0CUbnB1s}2eL6xb%cv^Sd9N{``FddRcz zIpx=MKW6$z?w(qIeZ_&i%vl}KeBl7j7LM4QZ)aveHBLSBCiiP`stM^6D7~<1$l&!r zVs=O?$9ukNvNg~j?%g^obMHsM%i@icD`qOruIx(h3LnNW2EA+!2=;;J4LYtn+%!pz z6UvkrJf;hryjp+DJbnREu3OV}M%BKxI3E$jIw~qBq+C{AHo`XIvz%dl_sRPQ8rRQ$ zq`hcDmjrzVs>nRKzaR75*49%{qSLeft>zbRod1W)fS$hZJ3_c7LGlaSu`hJYeef=) ztp7N;VhaM`C;&RL7g|8Gk~|{K$nU4}73Uxb3W6p+2Vwo<@OR+lf!7cGYQS3uye-80 z2E4DtM+W#v2_F~Y<7E840l!Q7NADVQZLfYzNc41f7WG+tR%169=w{_2jf||rA4}km zX7D=jzgY+9GfOnMr0w_9y7$%TI41M=;jx!Kk)GvKK{hV-}wE< z|Ly)O&e@qQsi?=%sadzEt1;o7{w^mcdtdA?s$SOT{1z`R-T3@BFA-S)>B>e8o187d z#l==`iFBGH7a7h10S2~p^p@s}OZ=TM2Urwlt-Xa}y&A_Vo;=mu;E!UgV%h&pemmBR zyII>!MKB3;n|-McMuHB3*L2KBFkel9XL9z)Uz>9qO7<$0dNWEhj+oQ`98>uU4 zF0v1UeWwTKWlXqt3tG&RwgUx~o&zmEWzbZMx<^eZk+Mo8slL)oG{1muq=e@n-(+r! zk0?Q)>4v1_LEO}1c+Bccgm(w-7J~FOhk@8NJw_$$ZIwHXf~+}jBj`feKN4SIdho`z zH^+Z^T&U@%*T%tVmHeyEjeBjGl~f&jV4ozc+$W!mY3&JZsr{=`SJW!@d|mozG}o4S z*=Z!1zW9uyBG8_Q<4#KjfZGXbnZKw$U3h0;Wq18rmhuxhL?`PNzbp2rgP(7Ai~Z#2 zyU{Ihst{QckH;mBsHp&>UYpX|r$ZEdpVXkY6?7Rr*~>s{(UU^IrM&0s&f;+cVF_@AtB41xC7#Exkk?$T>v951~uri)JRf8izqK$NC<7w0<%pr_!D4DPVg$2Y8u?FCnBY>A48#28$O(r#%I zNVbY@@AZ%AkDO7dd~U4if>j=OfQiw;YxgH)^)EE%I!*J0@!PLa*Bl$dm9g7!}V}%P1l^HSxhQrp8J|@ztudMFGw-K`j^9kxsboj~K@%sb4`Xjx=kN@p;`5%){ zi3ob-R0S)4mR1=k@d&xw!WKuFQ(@XWji*JK3auz#`g8-;8$i@WL+YbP=%IjsV^2_PrZZG56|ve(Z+B@O0h;A{3j zNMGT`=WYY+<6)HmNpyD*1&q!IqSHh@XQtvdET4IOAuCU(w(K#F@Yb6`kwN~oYvcxq znht=OcStvRxj_Ka(~U?@B#Fd=KyKzeC1l#1Ukgm_Dge?L!702;pSJl_l$OM zn}y&8lD2O@mE|ADYQYD;F2ul428hZzqLJ*80O>i-$lH!$4fjtwACm}lW(p$+o)4s1 zN)c0)$*L`6QldMJV_nL;um$Tf*4pYlfx|Bp zii4}P+C-}(1jnBy(^KCtVW%KO{v`A{7K3N7)zsEZ1PO1jaiOzpfq%x}n2mILSZB!UO<93XAZh@gg$_J&;xm?S5M}N6;*@=^_l{zN#*2u3V z0rH5NNa#}YM59Eu!*OYz>MnHqdd7WiHIN7&JE2`l>M`(NQ*JdR88=WNpD&}5sw7@iGHwa>tTWB;9g@U zj`(#=L;rHhEPo~iTBsZKTNCz6*vIuy$_*T62#%)B@p4!JX{Ifc6vwjS*yR_LDl)!B z8WNrQ(&wNZb42&*IjC!jG{QyxduzvHExkbHf<=mRy;_3R(MjxL10xY(b8ig-99ATH zrrb_Nxgq>>Q@{*0CBvA^|3&U$J_Dszfz8JXwEf~`NrNb@OY6y>+ihwq_dV7hZ|_&n zj;Ms5Fz%Sd2YbaSJl2|dYrFw%2RN-l0x?dyT0wWzOC**6rdq;j&l&V&cf660kO?~c zs}Jc?*bBj1CET@>jhsu<)U1ipSKW#2U7197Ew5ug`Q-^{i5=Mj4IY+MkkGb03V_B) zubD;S>T-;9H<)J@%+ECZ7tIt=X`Gj_^h^81^+jn#s3fe+t_qZ6>vX{R9ej` zf5|56vt38JRNXE|9EVo!Ld6`5g&s)0&CXIiS%QzRzGm|;As*ng z`o_4DU1lR?z1*#-B6T3&G~($f2zyX5b~s%NJ>2Sjv^2FlrNH%AdEw4Kd9yq*!P#sE zRE5#3;`F z4}#`90UC^{>IOec_3Eo1=|*PQ#(iQ9+2uP2A!333*pTramJvWybqy~Gp%GEI<{j8! zfM@PQfQCoK8Man*jHBQM%=J2uqw|`?`OU)?+F`g`mFw9gwph;UmV=4Ya}WvbISA3YX`;#fvqHhofx>C_ zJ(-g<7fPamw}Ki{v1T6_r??Gy9n9w2k*4-58(z*9|Y$1C=J8$hB4UF9c>zKhm7d$3{vgvR=N-g-LZGSOQ^3RP(vE4H?(!Y&99u4dCV+*+Yv- zil8gu>~C^v;9UHyo~`mp7twIUcIF8fD+HwLQ=zz9aqKc5_@kT9-xlP=_x;s}Sbf|k zHc4;y6Jx6CWt}K5m8bNwqr`&XOG2TAhb)0^Fj_l=U5(I6+gCLh&GdsAYypRJVUXSe zcv1eXN3HKQZhFnF$JONkui(-qi~o%*5jA)I&=^i4?tV7HmxF#5pN2ipWI8`M8HL5? zO>HLAto7HIzqg4%s7iWrv0hOj&HE@jaFbui6v>ma7${eAl>TT)wM_5Qr2auRHK8Bj z_q*Tnz954lobwIrD;$jijAAgp$;nVp#t$pcHP?Tn)wasM@YAVvavIjwa7#usmiLw^ zF(-Sw5$3TbsIA{j4qeg^>SFerU!O|PD6-hrbt$w}`wYC8NsWo*h1iX}<4mI*_u`+1 z)AJ@K4p&PRo{}{rt0n2pT%ZhS*Q8zHsOuqSdrOd|q&?zUa1EvzqCF~9RK-u$W>;Lq zZD{evmbieAeg7hSq-amR(uw%(6aS$iYoDmDDWO-+oDGwnsh6)#sO*mfDzD0T*tW?i zN`cY{UAOIsY$BJ6nnlrs`%5?2k&|J$8G2-_I-98N!OjH`(Q<;nzGWlk$Dba@GE@Xo zQ&MTf4FBsNjfOIQ+N28TmsT)!)Kc;m7_42F++n3+pd&x^{Bu zTahy_PA>KA02>N21*37=zrQ^jYM~!)#z-_E z*`U!P)Qzkeoc5(OzmVd2>Hx9x5gLJzwx4gG|7=!v_%Z&X<#vp`H=Piv4CHY7U-1=5S0gG@vH zYyhT5p;z*3qXCeG9sc$yl~;|BoZKl{#ijm{Hzw-)yH5;e?$C6_nmmhou1vBgi-w*G z_#}4BSIW#eTn&SS*K2-qFR)kHp}r$pQepABgW-|zd+xhuy+=&r=y-%}xA#2QGm{n) zEIR*sO5-fe3uC-Fm7wIDUH#+LH=?!gx-!!aUk7(u!v}9YayRK$kqZ(Fub=Cax(JOpqKXBaIaUe!#rK1J_?N2Y zPwuGK;qe?X-QvkJGx2@FHy5oTyf<2~iRL}X9}%-11Ip^>Af8c#@NSS4Rso$3i37Kp zT^qh7%k)uT!o4|1^s8?`UtCMCbst|VF^L&Gm1Zh{n6O5eg>1? z$+=TQez_^1iP9!fpm4!sD)aVGjffriGL8?+(SY0wYZO{+prT%9^a`d%COpBsAhZW)ynteeft)$eo z0bMS!>~`B=v|jVflK!B6^|Z0xd1k_|vOy|v!s`@^+4WQD7>YBKK=O8i>9F!+oQTl9 z2&c-8TZLkRG`^WyhLfN!akU_(7fw%$M}*zuS0NQPElaa93&&liHmJ*_`ad`TKe=>G zfhWU16-npRuEguu+MgEeO%uppgO))=b@QxtSp!Ffu)z1#rd$}Xk8>N(0E>+7frI)ZZB3`_#t#4tco(1Ks~}L#xj)Yn2BIwsXMs^J~YZsaL_3f|Fr5(g4{+MZ`oR@c)HI zF8gZ;-5*^NpSaTUq0juO)J3v~F&*4-oC(rUGOQ&s`6be5kY*6DE!w)oz zA3)h(3aRIz!A>_n9%5a1x=T`PbCxM<3vL$*P5BVmR878;rRxD}`B8DE0)i@5{zibq53Da7Mm3F=&_t{>bUn*f$>ZKW_};pzoN&9wc3?Cl ziHMlS(c4xRwdxI^M=NUp%et^`QL>#9qzgrw8)I7v(lU}xm9fT1vrzbsmf{ateiVdk zR+Fc$N#c@Cm~iK3W$=5DX;;*ZHW0<6+^KfJz3?U2_BX_7m%cd6R(;1vqOK|?0+jzS z;esrywJ}?#zBi&`;T#mzD1{h>^CabMKx|u(7rIV2O3%JrJ(y56)LtxwPOy7LmYJK)mIH1-k#EOb>~fC&FSuj9(FIVvW2fZ z{`7=IpMz*Uhhm#=q5~JsL^>|BB@ydW&uv{_yvL#158eN{%k}LAVYK&#Au34jEH7jC zLM_^L@%2uBUi`$$oq`NippB(mK|TW90i#}TsiKO*n)>GY%Cn6NaD)vW48=4~>RjY} zY60Js(3aNgH&l{q+H3BcpM1>wInj9IWb4dBY8gF%H1Eu0#Of}9DK_S4d_@gDB~@M4 zaj|?&7@tDSS!Q84_yg3+nrQSPyxaUWn>ae8#7BRz`2FIqp0GD6`I{dOG&z!&kt_Gg z(!O3W3Fr)|+!vNGMLQ$rJN-y^xRIP)`WWx{kDG|Q$@)P7&Z|k(!QvzWEgokJ(s~S7 z_LeKSOIRIb+-q6-#Z)a;y9|NE9XG@3oNI4U`k>@~(X>0XoC`wo4Xy`PnRS#dWdK<^ zgVIVa+%b8wN!~0@OS1%XP-gzAE>ufJZj@+F*k#KeGoEpaaj0Msuj*p-N#8Vm_RW?XGg@+LMC^n?9}zLp81q+$ z#xmLa#m?Iw!=CiYm|AKptB}6&(~FaR`eI7c$&#qWGJ)fVx=_QLtsdC#3wQI^mY|^o06nwZLSS4>b#4htfx~($J##ByP zrqzTf%W(CX3V#IB7&lM^rx$moS>s`!p}v6>jgWzUK`4 z**hIHdTU8Sg-wCO7XwmVX|aL)%Aa0PPRie$>dv0yL&q-}2K`!s&ETLQa`Z~A)f8)Rh zn>=-OZt!&o|uD$Ns`zKF1fMy0aDVBou8q?U||c)Qw*=eYVtSVD3ku$3HTVA zWw+c}dl7zhB6T5ZAm02$F%}|wjf{+R;Hb(lj(r?+_ zG31%_CSCa&E)hicQ&1E6Ke^t<6Vav}twnAXyaHgB{yL6upi~UfX z;C`{$ai^Bz-t=w#F)0<>u;`!f)e*beVj*)^(Uf6Fm~ zq__s83^Q^#y{ww|8kb^!nz2*?w9;Un>^7f1rf&Wq+9bZ*b@?o#=)$slC!NHHIm5F_ zSW@hB5i?_;grv2?%Zzq%{w52Kr%so+v-9IScbM;7e&IzyXC6|HfTfuQtw7O!nxmSUN-J z5a|#!P}Yopm@BxG$osm3a8k{M>Nw%u6So-(cm{tfmI~NKRG|HPCiZ>2*4m7|lw=pZ zqLI&f#$CC56|%X#vvkq_DtiL!Q5WC@F9tA4pq%GIm$X7K458c2J#-?bU1CL34g#;9 zO5aTGRz{fA$Q=wQnFwAA*wI8)4?^VYvCU7j59_yZ=4%_DW&)(pHH&ePMh+(HMsM$E z>dqdX@Wk!t+^o|WVlKN$1`75UJ}T~O6hS#5Zq*=AWFF3rtX7bmFDEcw19Td;k%O6d(S^d@<*5c>GbQr1sVPK zLRkN|Kj&YL53DAtftZtR0C$4B_u|&D5*@*N*K-i3VECDz32gnjUix3v%>5zj7E=aL z5*K%|Wovix9Hi1?)-PG~Mu2_({goYjAvJA9X7 z|7?B#Y~xUyNVdff_yqn}-IQ~YZ%mueiR~@$snjOcvZqK?5xE~D@buN2VncYGQyO23yC>Wx)4$k}u|3f>zb-;zpksy@CAbfG`AeyRXAvWfq^ zfdiMu_NbRuk2+-y_B%@I-I(O%z4Vb_z~pnLNR8kjpbdN=9VI&a^>>ni-oL1HxuY@A z87I!>929U4;<(FT2Q)DIt9pitzpR4!NErFIJAF_LQNwy(nI9bk#Rpk%pgaP}fb{{& z&&|DBF!Iu)zt6vvuuNC<2f{_6=n{*;W?PSJhhmY>?Xm-ZM^4cUmp z$pI5U04ESY$w+wiji1!9~2Z;|2@IldkGERIC`z^3+ zBJOu(^xW9kxJv_^5dY)O=IQk0W0uZnJG~_)Fq&n#n~6Wat(YoVdnAfAEXR~z;QHE^ zK`9M>0Q&j4oD1m^bG3!-6{acJ(M@HI=fmWUTZU36uY6}zNYgAsj8ccHK=P3taosrZ z2WLITquJXlBTt&MnCFy@2JUjb58IoKCOR(rF+Kn`8^tQ-D(2biPt>Qs`gPmX@OybD zn(JC&c1ZBW1=L4z(Hn)Sne=ujqm|+)*8&5DLeozP^IFL(SC_1rxD)Pp3$qx%kpVv# zoeRt(IMj74Ks#m8m}t;9T2Bb?muefnyIHK|)(MhHxbO(b<`t*_q-H2Eswx~cpR{%k zvN_9I!TJYxn$cZA1>8g6Iln*Zu|%c=+(lk208*Ku$_qegpMBur<8pIAZT7Y< z1d}gc@z*AGRI)_-1CZRP!nwVB6QXAhBNDe|F`j)U*K0vZ0P-K9Uaq#S4IUfCA}SPh^+U<2P>**k$(~(OLOLf{gg?$SE(bDNE|Vf`1YJ%zs63G%*5$|7w|s^y+Ci+Cz}r^Lv@gHwbrtG#1lekVsBg z_h6%|!ABcF675r)k;fn9bO`=3J7)M-$+O?*6Ab>A9MbRiqrw_Nrd13_sdhbJ*9^|e zsfU9`8r~gj)dA^^mf+^>l8hF|mJk5Y8kdE3*F%^#Xe^~)J*<>BLAK%^$Gr>l(s|Px z&a~^m@;u>#nK^Inn(hA0KAq>#p;ds<^5uc#-YbTw+?XH^tO2?v+pecGrA*^2=A&WY zCw9Yl@nFTeOIZ%xou{R&A7+MOc2r;==+beRECam2{NjvyQE^X5hc``Xy7VLZx0=^} zQc@|jk#f9d6xlQfH7e!czVR&xQ9h_{=1Q35ZHyWuLq!;d43WN*TzgBLcI6{&u*P#X z7BoFv9m(R?;0 zC4UnrW61n0lIr&AOLFm!ue0^BkfKU!eF{pVvt$aYeJWUW{L485RzBCWsvti0Zadyh zg0K7HE?JR3c^!z!RIDfTqH3t$6|3IlVtE_;Bv^}+Gnl^wU5Bh$YU%KIHt&>R z=6xj!xokB1TA=dG<|KRUh_M4?CUjHdJ$v$0kTqyo{EowvkHiuz24*jG!RMfpjj9H* z8k75LzzLz4ujqmL73)cI@8XPM8g=Ov0;V;wReeZ>d8gj6EHrBtO|CZCsE|La=9VGR zGH&V1CdSdONNb&-!Vz{*8h~~IiAr!Y=G3pkP9#pePk7pg-JN%KOWNi!*hdmDJ97qf zO}G3lG(*Aq))ym#&3%PDdp+-jhtp7&K1)=3Ek#rl;airv#4k#IF7M%|4dzoeU@AvH zaF|7NREN5+f3cBaX+6yalKX1EDwfwIiESAN+}WhiYViIz(g4aaj}ppTpNf10?h93_ zw1hEO6fmf%Ga}#l1#1mT%ECXFq8*otV5kHwCI=i?+9fn_@ujtg{4~WE@^GDIa8ix< z9c4tVWUpA(F_h8c?K$W$rT=&X%_+8bqwX9e06Q##T@E_9PBlffz83DYvQu$G}>;gMX^r@%6;+>Mi#&X;8DVhVAZr8(&e+8-q(HLAkDg-}iBp6zm zB#9y)Oc^_NOv3zE&|W{BtAcRHU*`6Pkb7Up(Y$b>Smz*Vs&F&ekweCurc%dK@}di? z)*u%dlU}zOeu^D4{aQ{imydC0CTXP>HF^*dAx}4sRmf|udOlHMKT3YB^s^}230 z@yD6t)|vZa%j-Reqd6sdK4^f$Vj=Wc0z_z|d%;Eq zO(@jt`^Ll-?(gNw2?Zi2%k?p>&fTLkYdIo406-oRZ4Q!E&+^G^H}VXR$ZoC{7dP_! z{-C_QIQqL`t|#%+qi3Tz9^gueb^zarUPJi~V?{n~WI9jm48$i)?og}L^v6*h$Xt+= z56>8PYs$vV@p+E)or5M7lqVxM?9C^3=O-U&_`_{unKZrC)yMTj-sB zJ}jJk&l>g^sP^)j!uYXK=LC(m`~p|<JVTGrc70AK;*X16Fa!hY~pyDs`g8&SjJ5Xnf-*twGU~ zTt;4g9@x#SoOQpLl-JplToutQD7)3FM-4@ZF(qk>5z_}xj~NGVxODPQf1e)3n&vnp z+)JJm!1-S1wX?eKM)Dxc8kFg@7NQx~Wn@)DeXru%`)uJJzF-B~+M&L3`YA2aPiypj zXp5;+eZ+kDj#7M0@SIhhgw6e*ec5m5h#Fi6DeqqM6+Ot>O7Uj4N=cqfoK^H^ouvKd z6%2~}c{b+IN*(Lg$5LWc;P@hZJ@sd=q0@EAYm?Qyi7y%59T|Lk!W}IDsgniHB}SU)X7%|?<>+4 z5DGm;CB9jk!*gtlO4QcGCg z^hPqy^Lr}obDdCu??4^fM;f(5!ZJ@GhW6?^YEQjq6kRFqbh(pv_g-uLrgzDYHe{q2 zog~I2z{%{WTJBr0`uYLcL-WonE&UC-=87io5EHpv9})#)I_+hvp;zh}XjS#3?o7X{ zYwM9Dj`cbG1fWDwGGI!Fgw5*XxSOBfL3v(!5#GuBNxXbiTuD^zCs^m9x&UpHQ#Ny91x04%F1PAJ^1w>eUJ!ar+@(##*Q7Xk|@!PnA0xGrA{h zi;ZKlGEmw78qJ>8ch}!B4`Jy0q7C6K zNGeoiki7p-+$fYR$?7L9o67=$2_XY-F7lDj5P+YQRak0aF;rM^7S~0R6sG9S-L7wr z`d<2qPExhoigd+AS)_rO+U!VxhyK@t&*R=kj@P`m=i*Goe-1u!Kmn|qCqnyLnrn?d zHA~GYi)Xf)!`o2NKy`ym?XbZ$%@m`W>e_0RE#Blc_xPmFr!LMN^urDr!aqFZ9!zVE zc{a&twbb{-J9>Jvy7ec%EMp9wLAI8VqemrPLa}O#Vk5B9HRNZX2F*ysbkCJBRW;#L zglu~j`8PPoUtb0pwcs6D)$+QTcgzCOm~m^wvy33pSVOse!tri=C|~{NoQj#ULd4sr z2N@yK1`ovOq*nSpj{HoEO^bJ&jm=(6YhZ*1fTGr;uZOv>W$hRD$QYIDiZ?#oPL!^1u0-1??48&*TPh$7B>lzf1*SKOr`1zQKsmG}2vhzPYDBsX~fU?h(3?-lI-t`r2FqjlTo_;21)zyn72qe5@egQ zr;@U#_4x(U%IWaR>FD}L65pUh;DfnAkYV1$X5J+KAHV4&=+KGn5IBBlAZ=nZ$kn-f zWqL}{{*ofGBZaDPS@$Phl~Q`1wmr?yFIYUlBoS1mDqpZ6q1BTQfLfKSfr z0~GZTG6(w(3pM@xf)8fZakhr-LF=3)QXOX=fEV@cK3+2aB@A@NIS1Xw(fxT`cj^XV z%AY5K|9PC=D-x9R=cy`x9>+fzFABU?{Jwzj3j}W~{%jWUW)ts0es{KbXZpV-t}u!f z3nk2JrNjJQ`u2BbeA%qdvJxYgcu^Ofz+?*a6r;#RurufJOuV@uo=g*ug*kW(HO~vc z4@3#RD%k{P83H*MaxnHX3@4&8C6;-DC_4wW0`*>SQG#6jI9@(@{lKpeynVpiN4$T) z`$v3yfRB&x@gY7w#_tdQU)Udk{;CD`gqOFF9~An~;u%w<@;dbrR)64 zf7t2qU%@1QV+h4xcp2bz0Ivgh9l+}VUI*|xfY$-M4&ZeFuLF1;!0P~B2k<(8*8#i^ V;B^4619%<4>%hNL2O#Ia{tr~=R`>t_ literal 0 HcmV?d00001 From 3996149a891543b8337e02f682eb5153ec3d297e Mon Sep 17 00:00:00 2001 From: Oisin Date: Wed, 21 Jan 2026 06:34:22 +0000 Subject: [PATCH 09/13] Updated README doc with instructions on using new fastapi interface --- README.md | 52 ++++++++++++++++++++++++---------------------------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 3b4c0cc..2d6f524 100644 --- a/README.md +++ b/README.md @@ -26,27 +26,16 @@ For a more detailed account of each column in the dataset see the data dictionar ## Running the Application (Windows) -### Anaconda - -Create a local conda environment for the Random Telecom Payments app using [anaconda](https://www.anaconda.com/): - -``` -conda create --name RandomTelecomPayments python=3.12 --yes -conda activate RandomTelecomPayments -pip install -r requirements.txt -``` - -Execute the Random Telecom Payments app to generate data for 2000 users using the following command and the local conda environment: - -``` -python generator\\main.py --n_users 1000 --use_random_seed 1 --n_itr 2 -``` - -View the generated Random Telecom Payments data using the following command: +### Application Parameters -``` -type data\\RandomTelecomPayments.csv | more -``` +* **n_users** - integer, the number of users to generate Random Telecom Payments data for, default is 100. +* **use_random_seed** - integer, whether to run the Random Telecom Payments data generation with or without a random seed set for reproducible results; must be 0 or 1. +* **n_itr** - integer, the number of Random Telecom Payments data batches to generate; must be at least 1. The python multiprocessing library is used to run each in parallel across all available cores. +* **n_applications** - integer, the number of applications to generate, default is 20000 +* **registration_start_date** - string, the start date for user registrations, default is two years ago from today. +* **registration_end_date** - string, the end date for user registrations, default is one year ago from today. +* **transaction_start_date** - string, the start date for user transactions, default is one year ago from today. +* **transaction_end_date** - string, the end date for user transactions, default is today. ### Docker @@ -60,6 +49,8 @@ The docker image can be pulled from dockerhub using the following command: docker pull oislen/randomtelecompayments:latest ``` +#### Command Line Interface + The Random Telecom Payments app can then be executed to generate data for 2000 users using the following command and the docker image: ``` @@ -72,12 +63,17 @@ The generated Random Telecom Payments data can then be extract from the docker i docker cp rtp:/home/user/RandomTelecomPayments/data/RandomTelecomPayments.csv %userprofile%\Downloads\RandomTelecomPayments.csv ``` -### Application Parameters +#### FastApi Interface -* **n_users** - integer, the number of users to generate Random Telecom Payments data for, default is 100. -* **use_random_seed** - integer, whether to run the Random Telecom Payments data generation with or without a random seed set for reproducible results; must be 0 or 1. -* **n_itr** - integer, the number of Random Telecom Payments data batches to generate; must be at least 1. The python multiprocessing library is used to run each in parallel across all available cores. -* **registration_start_date** - string, the start date for user registrations, default is two years ago from today. -* **registration_end_date** - string, the end date for user registrations, default is one year ago from today. -* **transaction_start_date** - string, the start date for user transactions, default is one year ago from today. -* **transaction_end_date** - string, the end date for user transactions, default is today. +Alternatively, a FastApi interface has been configured within the docker image to allow for interaction with the Random Telecom Payments app via REST API calls. The FastApi interface can be accessed by publishing port 8000 when running the docker image as follows: + +``` +docker run --name rtp --publish 8000:8000 --entrypoint fastapi --rm oislen/randomtelecompayments:latest run generator/api.py +``` + +Once the web endpoint is running, navigate to localhost:8000/docs in your preferred browser to access the FastApi interface documentation and test the available API calls. + +* http://localhost:8000/docs + + +![FastApi Endpoint](doc/fastapi_endpoint.jpg) From 4fd408400a6d8d34e4772763f8029a6c33561c49 Mon Sep 17 00:00:00 2001 From: Oisin Date: Wed, 21 Jan 2026 06:34:57 +0000 Subject: [PATCH 10/13] Updated docker to expose hosted port for fastapi endpoint --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index ab85832..c48fc97 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,4 +25,5 @@ RUN python -m pip install -v -r /home/${user}/RandomTelecomPayments/requirements # set working directory for random telecom payments app WORKDIR /home/${user}/RandomTelecomPayments +EXPOSE 8000 ENTRYPOINT ["python", "generator/main.py"] \ No newline at end of file From b938b6df96ace9f779b7acdf5b1f753c5b7f8d86 Mon Sep 17 00:00:00 2001 From: Oisin Date: Wed, 21 Jan 2026 06:35:30 +0000 Subject: [PATCH 11/13] Added commented command for running fastapi endpoint --- exeDocker.cmd | 1 + 1 file changed, 1 insertion(+) diff --git a/exeDocker.cmd b/exeDocker.cmd index 0452ab6..e16646f 100644 --- a/exeDocker.cmd +++ b/exeDocker.cmd @@ -16,6 +16,7 @@ SET UBUNTU_DIR=/home/ubuntu call docker run --name %DOCKER_CONTAINER_NAME% --memory 7GB --volume E:\GitHub\RandomTelecomPayments\data:/home/ubuntu/RandomTelecomPayments/data --rm %DOCKER_IMAGE% --n_users 100 --use_random_seed 1 --n_itr 1 :: call docker run --name %DOCKER_CONTAINER_NAME%w --memory 7GB --volume E:\GitHub\RandomTelecomPayments\data:/home/ubuntu/RandomTelecomPayments/data --rm %DOCKER_IMAGE% --n_users 13000 --use_random_seed 1 --n_itr 2 :: call docker run -it --entrypoint bash --name %DOCKER_CONTAINER_NAME% --memory 7GB --volume E:\GitHub\RandomTelecomPayments\data:/home/ubuntu/RandomTelecomPayments/data --rm %DOCKER_IMAGE% +:: call docker run --name %DOCKER_CONTAINER_NAME% --publish 8000:8000 --memory 7GB --entrypoint fastapi --rm %DOCKER_IMAGE% run generator/api.py :: useful docker commands :: docker images From c8468279ccaf36faa605c70b7dfd969158a0d0e2 Mon Sep 17 00:00:00 2001 From: Oisin Date: Wed, 21 Jan 2026 06:45:58 +0000 Subject: [PATCH 12/13] Fixed use of metadata tags --- generator/api.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/generator/api.py b/generator/api.py index 190358b..77125c2 100644 --- a/generator/api.py +++ b/generator/api.py @@ -20,7 +20,7 @@ openapi_tags=tags_metadata, ) -@app.get("/api") +@app.get("/api", tags=["Random Telecom Payments Data Generator"]) async def get_api( n_users: Annotated[int, Query(title="Number of Users", description="The number of users")] = cons.default_n_users, use_random_seed : Annotated[int, Query(title="Use Random Seed", description="The random seed to use", ge=0, le=1)] = cons.default_use_random_seed, @@ -30,7 +30,6 @@ async def get_api( registration_end_date : Annotated[str, Query(title="Registration End Date", description="The registration end date in YYYY-MM-DD format")] = cons.default_registration_end_date, transaction_start_date : Annotated[str, Query(title="Transaction Start Date", description="The transaction start date in YYYY-MM-DD format")] = cons.default_transaction_start_date, transaction_end_date : Annotated[str, Query(title="Transaction End Date", description="The transaction end date in YYYY-MM-DD format")] = cons.default_transaction_end_date, - #tags: list[str] = ["Random Telecom Payments Data Generator"] ): """ Generate random telecom payments data based on user-defined parameters. @@ -77,10 +76,9 @@ async def get_api( response = json.dumps(trans_data_dict, cls=JsonEncoder) return response -@app.post("/api") +@app.post("/api", tags=["Random Telecom Payments Data Generator"]) async def post_api( - body: Dict[str, object] = {}, - #tags: list[str] = ["Random Telecom Payments Data Generator"] + body: Dict[str, object] = {} ): """ Generate random telecom payments data based on user-defined parameters. From 920955ce4f88e18dc91a3f3d590615f7272624d9 Mon Sep 17 00:00:00 2001 From: Oisin Date: Wed, 21 Jan 2026 06:46:20 +0000 Subject: [PATCH 13/13] Updated screenshot of fastapi endpoint --- doc/fastapi_endpoint.jpg | Bin 112689 -> 139049 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/fastapi_endpoint.jpg b/doc/fastapi_endpoint.jpg index dfe4d5b0f28de69e1ae21a8668c3277595088e41..fe1a6b59cff11d7c030861930ec4aad0cc6ae6a4 100644 GIT binary patch literal 139049 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 uY>2d&b8*e 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 z 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 Ii2ls~2mOe62><{9 literal 112689 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 V;B^4619%<4>%hNL2O#Ia{tr~=R`>t_