From a030fcc2ef71223c4274f6d243bf5e797fdc1883 Mon Sep 17 00:00:00 2001 From: iSalehi <127154083+i-salehi@users.noreply.github.com> Date: Tue, 22 Aug 2023 11:05:57 -0700 Subject: [PATCH 01/11] Create cytex_refactor.py --- cytex_refactor.py | 207 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 cytex_refactor.py diff --git a/cytex_refactor.py b/cytex_refactor.py new file mode 100644 index 0000000..f3a1c01 --- /dev/null +++ b/cytex_refactor.py @@ -0,0 +1,207 @@ +""" +CytEx 1.0 +""" +import argparse +import os +import pandas as pd +import numpy as np +from progress.bar import FillingCirclesBar + + +def excel_file(input_path): + """ + Validate the file format for "raw_data" and "matrix". + """ + _, ext = os.path.splitext(input_path) + if ext not in ['.xlsx', 'xls']: + raise argparse.ArgumentTypeError(f"{input_path} is not an Excel file") + return input_path +parser = argparse.ArgumentParser(description="Command line tool for acquiring user input") +parser.add_argument("-a", "--assay", help="Assay type", type=str, choices=['ast', 'hc50'], required=False, default='hc50') +parser.add_argument("-p", "--prefix", help = "Prefix", type = lambda s: s.replace(" ", "-"), required = False, default="Sample_name") +parser.add_argument("-d", "--raw_data", help = "Plate reader data", type = excel_file, required = True) +parser.add_argument("-m", "--matrix", help = "Matrix map", type = excel_file, required = True) +parser.add_argument("-r", "--num_tech_rep", help = "Number of replicates",type = int, required= False, default = 2) +parser.add_argument("-s", "--start_con", help = "Starting concentration", type = int, required = False, default = 128) +parser.add_argument("-f", "--final_con", help = "Final concentration", type = int, required = False, default = 1) +parser.add_argument("-t", "--threshold", help = "MIC threshold", type = int, required = False, default = 0.4999) +args = parser.parse_args() + +def detect_plate(row, col, raw_data_array): + """Detect the start of a new plate using the markers "A" and 1.""" + cell = raw_data_array[row, col] + cell_south = raw_data_array[row + 1, col] + cell_east = raw_data_array[row, col + 1] + return pd.isna(cell) and cell_south == "A" and cell_east == 1 + +def process_plate(row, col, raw_data_array, matrix_data, master_dict, plate_num): + """Process a detected plate to capture absorbance value, synth_id, and amc.""" + master_dict[plate_num] = {'wells': {}} + for i in range(8): + for j in range(12): + well = chr(ord('A') + i) + str(j + 1) + master_dict[plate_num]['wells'][well] = {'abs_val': raw_data_array[row + 1 + i, col + 1 + j]} + matrix_row = matrix_data[matrix_data['well'] == well] + if not matrix_row.empty: + master_dict[plate_num]['wells'][well]['synth_id'] = matrix_row['synth_id'].values[0] + master_dict[plate_num]['wells'][well]['amc'] = matrix_row['amc'].values[0] + +def process_data(raw_data_path, matrix_path): + """Process the raw data and return a master dictionary with processed plate data.""" + raw_data = pd.read_excel(raw_data_path) + matrix_data = pd.read_excel(matrix_path) + raw_data_array = raw_data.to_numpy() + num_rows, num_cols = raw_data_array.shape + num_plates = 0 + master_dict = {'plates': {}} + total_cells = (num_rows - 1) * (num_cols - 1) + progress_bar = FillingCirclesBar('Processing data: ', max=total_cells) + for row in range(num_rows - 1): + for col in range(num_cols - 1): + if detect_plate(row, col, raw_data_array): + num_plates += 1 + process_plate(row, col, raw_data_array, matrix_data, master_dict['plates'], num_plates) + progress_bar.next() + progress_bar.finish() + return master_dict, num_plates + +def calculate_concentrations(start_con: float, final_con: float, plates_per_rep: int) -> list: + """Calculate Concentrations based user input""" + conc_list = np.logspace(np.log10(start_con), + np.log10(final_con), + plates_per_rep) + # Apply high-precision rounding and remove unnecessary decimals + multiplier = 10**10 + conc_list = [np.round(val * multiplier) / multiplier for val in conc_list] + conc_list = [int(val) if np.isclose(val, int(val)) else val for val in conc_list] + return conc_list + +def validate_input(num_tech_rep: float, start_con: float, final_con: float, num_plates: int, conc_list: list) -> bool: + """Validate Experimental Setup""" + if start_con <= final_con: + print("Starting concentration cannot be smaller than final concentration.") + return False + if num_tech_rep > num_plates: + print("Number of technical replicates cannot exceed the number of plates.") + return False + if num_plates % num_tech_rep != 0: + print("Number of plates is not divisible by the number of technical replicates.") + return False + for i in range(len(conc_list)-1): + ratio = conc_list[i] / conc_list[i+1] + if not (np.isclose(ratio, 2) or np.isclose(ratio, 5) or np.isclose(ratio, 10)): + print("The concentrations do not follow a 1:2, 1:5, or 1:10 dilution pattern.") + return False + return True + +def populate_rep_conc(master_dict: dict, plates_per_rep: int, conc_list: list) -> None: + """Populate the master_dict with technical replicate identifiers (tech_rep) and concentration values (conc_val).""" + num_plates = len(master_dict['plates']) + for plate_index in range(num_plates): + tech_rep = (plate_index // plates_per_rep) + 1 + conc_val = conc_list[plate_index % plates_per_rep] + master_dict['plates'][plate_index + 1]['tech_rep'] = tech_rep + master_dict['plates'][plate_index + 1]['conc_val'] = conc_val + +def determine_mic(master_dict: dict): + """Determine the Minimum Inhibitory Concentration (MIC) for each well in the master dictionary.""" + tech_reps = {plate_data['tech_rep'] for plate_data in master_dict['plates'].values()} + total_wells = len(next(iter(master_dict['plates'].values()))['wells']) + total_tech_reps = len(tech_reps) + progress_bar = FillingCirclesBar('Determining MIC: ', max=total_tech_reps * total_wells) + for tech_rep in tech_reps: + plates_in_rep = [plate_data + for plate_data in master_dict['plates'].values() + if plate_data['tech_rep'] == tech_rep] + for well in plates_in_rep[0]['wells']: + mic_value = None + for plate_data in sorted(plates_in_rep, key=lambda x: x['conc_val']): + abs_val = plate_data['wells'][well]['abs_val'] + amc = plate_data['wells'][well].get('amc') + # Handle Sterility Control and Growth Control + if amc in ["Sterility Control", "Growth Control"]: + mic_value = "N/A" + break + threshold = args.threshold + if abs_val <= threshold: + mic_value = plate_data['conc_val'] + break + if mic_value is None: + highest_concentration = sorted(plates_in_rep, key=lambda x: -x['conc_val'])[0]['conc_val'] + mic_value = f">{highest_concentration}" + # Update master_dict with MIC values + for plate_data in plates_in_rep: + plate_data['wells'][well]['mic'] = mic_value + progress_bar.next() + progress_bar.finish() + +def determine_hc50(master_dict: dict): + """Determine the Hemolytic activity (HC50) for each well in the master dictionary.""" + tech_reps = {plate_data['tech_rep'] for plate_data in master_dict['plates'].values()} + total_wells = len(next(iter(master_dict['plates'].values()))['wells']) + total_tech_reps = len(tech_reps) + progress_bar = FillingCirclesBar('Determining HC50: ', max=total_tech_reps * total_wells) + for tech_rep in tech_reps: + plates_in_rep = [plate_data + for plate_data in master_dict['plates'].values() if plate_data['tech_rep'] == tech_rep] + plates_in_rep = sorted(plates_in_rep, key=lambda x: x['conc_val']) + positive_controls = [well_data['abs_val'] + for plate_data in plates_in_rep + for well_data in plate_data['wells'].values() + if well_data.get('amc') == "Growth Control"] + negative_controls = [well_data['abs_val'] + for plate_data in plates_in_rep + for well_data in plate_data['wells'].values() + if well_data.get('amc') == "Sterility Control"] + avg_positive = sum(positive_controls) / len(positive_controls) if positive_controls else 0 + avg_negative = sum(negative_controls) / len(negative_controls) if negative_controls else 0 + # Calculate HC50 threshold + absorbance_range = avg_positive - avg_negative + absorbance_at_hc50 = avg_negative + (0.50 * absorbance_range) + # Update master_dict at with HC50 threshold + for plate_data in plates_in_rep: + plate_data['abs_at_hc50'] = absorbance_at_hc50 + for well in plates_in_rep[0]['wells']: + amc_value = plates_in_rep[0]['wells'][well].get('amc') + if amc_value in ["Growth Control", "Sterility Control"]: + hc50_value = "N/A" + else: + hc50_value = next((plate_data['conc_val'] + for plate_data in plates_in_rep + if plate_data['wells'][well]['abs_val'] >= absorbance_at_hc50), None) + if hc50_value is None: + hc50_value = f">{plates_in_rep[-1]['conc_val']}" + # Update master_dict with HC50 values + for plate_data in plates_in_rep: + plate_data['wells'][well]['hc50'] = hc50_value + progress_bar.next() + progress_bar.finish() + +def compute_selected_assay(assay: str, master_dict: dict): + """Compute the selected assay metric (MIC or HC50) and update the master_dict""" + if assay == 'ast': + determine_mic(master_dict) + elif assay == 'hc50': + determine_hc50(master_dict) + +def main(): + """ + main + """ + # Process the raw data + master_dict, num_plates = process_data(args.raw_data, args.matrix) + # Caclulate number of plates per technical replicate group + plates_per_rep = num_plates // args.num_tech_rep + # Calculate concetration based on user input + conc_list = calculate_concentrations(args.start_con, args.final_con, plates_per_rep) + # Validate the inputs + valid = validate_input(args.num_tech_rep, args.start_con, args.final_con, num_plates, conc_list) + if not valid: + return + # Populating plates in master_dict with tech_rep and corresponding conc-val. + populate_rep_conc(master_dict, plates_per_rep, conc_list) + # Compute MIC or HC50 based on user selection + compute_selected_assay(args.assay, master_dict) + +if __name__ == "__main__": + main() From 15911d168b2a33870e6b1a2fc9a375e6895aa7c5 Mon Sep 17 00:00:00 2001 From: iSalehi <127154083+i-salehi@users.noreply.github.com> Date: Tue, 22 Aug 2023 11:10:15 -0700 Subject: [PATCH 02/11] Create .pylintrc --- .pylintrc | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .pylintrc diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 0000000..c8e2a7d --- /dev/null +++ b/.pylintrc @@ -0,0 +1,7 @@ +[BASIC] +# Maximum number of locals for function / method body. +max-locals= 50 +# Maximum number of characters on a single line. +max-line-length=120 +# Maximum number of arguments for function / method. +max-args=10 From af3edc85de741547a94f9f78cb77b260189c8800 Mon Sep 17 00:00:00 2001 From: Ali Salehi Date: Wed, 23 Aug 2023 00:16:40 -0700 Subject: [PATCH 03/11] Overwrote CytEx.py with the content of cytex_refactor.py --- cytex_refactor.py | 207 ---------------------------------------------- 1 file changed, 207 deletions(-) delete mode 100644 cytex_refactor.py diff --git a/cytex_refactor.py b/cytex_refactor.py deleted file mode 100644 index f3a1c01..0000000 --- a/cytex_refactor.py +++ /dev/null @@ -1,207 +0,0 @@ -""" -CytEx 1.0 -""" -import argparse -import os -import pandas as pd -import numpy as np -from progress.bar import FillingCirclesBar - - -def excel_file(input_path): - """ - Validate the file format for "raw_data" and "matrix". - """ - _, ext = os.path.splitext(input_path) - if ext not in ['.xlsx', 'xls']: - raise argparse.ArgumentTypeError(f"{input_path} is not an Excel file") - return input_path -parser = argparse.ArgumentParser(description="Command line tool for acquiring user input") -parser.add_argument("-a", "--assay", help="Assay type", type=str, choices=['ast', 'hc50'], required=False, default='hc50') -parser.add_argument("-p", "--prefix", help = "Prefix", type = lambda s: s.replace(" ", "-"), required = False, default="Sample_name") -parser.add_argument("-d", "--raw_data", help = "Plate reader data", type = excel_file, required = True) -parser.add_argument("-m", "--matrix", help = "Matrix map", type = excel_file, required = True) -parser.add_argument("-r", "--num_tech_rep", help = "Number of replicates",type = int, required= False, default = 2) -parser.add_argument("-s", "--start_con", help = "Starting concentration", type = int, required = False, default = 128) -parser.add_argument("-f", "--final_con", help = "Final concentration", type = int, required = False, default = 1) -parser.add_argument("-t", "--threshold", help = "MIC threshold", type = int, required = False, default = 0.4999) -args = parser.parse_args() - -def detect_plate(row, col, raw_data_array): - """Detect the start of a new plate using the markers "A" and 1.""" - cell = raw_data_array[row, col] - cell_south = raw_data_array[row + 1, col] - cell_east = raw_data_array[row, col + 1] - return pd.isna(cell) and cell_south == "A" and cell_east == 1 - -def process_plate(row, col, raw_data_array, matrix_data, master_dict, plate_num): - """Process a detected plate to capture absorbance value, synth_id, and amc.""" - master_dict[plate_num] = {'wells': {}} - for i in range(8): - for j in range(12): - well = chr(ord('A') + i) + str(j + 1) - master_dict[plate_num]['wells'][well] = {'abs_val': raw_data_array[row + 1 + i, col + 1 + j]} - matrix_row = matrix_data[matrix_data['well'] == well] - if not matrix_row.empty: - master_dict[plate_num]['wells'][well]['synth_id'] = matrix_row['synth_id'].values[0] - master_dict[plate_num]['wells'][well]['amc'] = matrix_row['amc'].values[0] - -def process_data(raw_data_path, matrix_path): - """Process the raw data and return a master dictionary with processed plate data.""" - raw_data = pd.read_excel(raw_data_path) - matrix_data = pd.read_excel(matrix_path) - raw_data_array = raw_data.to_numpy() - num_rows, num_cols = raw_data_array.shape - num_plates = 0 - master_dict = {'plates': {}} - total_cells = (num_rows - 1) * (num_cols - 1) - progress_bar = FillingCirclesBar('Processing data: ', max=total_cells) - for row in range(num_rows - 1): - for col in range(num_cols - 1): - if detect_plate(row, col, raw_data_array): - num_plates += 1 - process_plate(row, col, raw_data_array, matrix_data, master_dict['plates'], num_plates) - progress_bar.next() - progress_bar.finish() - return master_dict, num_plates - -def calculate_concentrations(start_con: float, final_con: float, plates_per_rep: int) -> list: - """Calculate Concentrations based user input""" - conc_list = np.logspace(np.log10(start_con), - np.log10(final_con), - plates_per_rep) - # Apply high-precision rounding and remove unnecessary decimals - multiplier = 10**10 - conc_list = [np.round(val * multiplier) / multiplier for val in conc_list] - conc_list = [int(val) if np.isclose(val, int(val)) else val for val in conc_list] - return conc_list - -def validate_input(num_tech_rep: float, start_con: float, final_con: float, num_plates: int, conc_list: list) -> bool: - """Validate Experimental Setup""" - if start_con <= final_con: - print("Starting concentration cannot be smaller than final concentration.") - return False - if num_tech_rep > num_plates: - print("Number of technical replicates cannot exceed the number of plates.") - return False - if num_plates % num_tech_rep != 0: - print("Number of plates is not divisible by the number of technical replicates.") - return False - for i in range(len(conc_list)-1): - ratio = conc_list[i] / conc_list[i+1] - if not (np.isclose(ratio, 2) or np.isclose(ratio, 5) or np.isclose(ratio, 10)): - print("The concentrations do not follow a 1:2, 1:5, or 1:10 dilution pattern.") - return False - return True - -def populate_rep_conc(master_dict: dict, plates_per_rep: int, conc_list: list) -> None: - """Populate the master_dict with technical replicate identifiers (tech_rep) and concentration values (conc_val).""" - num_plates = len(master_dict['plates']) - for plate_index in range(num_plates): - tech_rep = (plate_index // plates_per_rep) + 1 - conc_val = conc_list[plate_index % plates_per_rep] - master_dict['plates'][plate_index + 1]['tech_rep'] = tech_rep - master_dict['plates'][plate_index + 1]['conc_val'] = conc_val - -def determine_mic(master_dict: dict): - """Determine the Minimum Inhibitory Concentration (MIC) for each well in the master dictionary.""" - tech_reps = {plate_data['tech_rep'] for plate_data in master_dict['plates'].values()} - total_wells = len(next(iter(master_dict['plates'].values()))['wells']) - total_tech_reps = len(tech_reps) - progress_bar = FillingCirclesBar('Determining MIC: ', max=total_tech_reps * total_wells) - for tech_rep in tech_reps: - plates_in_rep = [plate_data - for plate_data in master_dict['plates'].values() - if plate_data['tech_rep'] == tech_rep] - for well in plates_in_rep[0]['wells']: - mic_value = None - for plate_data in sorted(plates_in_rep, key=lambda x: x['conc_val']): - abs_val = plate_data['wells'][well]['abs_val'] - amc = plate_data['wells'][well].get('amc') - # Handle Sterility Control and Growth Control - if amc in ["Sterility Control", "Growth Control"]: - mic_value = "N/A" - break - threshold = args.threshold - if abs_val <= threshold: - mic_value = plate_data['conc_val'] - break - if mic_value is None: - highest_concentration = sorted(plates_in_rep, key=lambda x: -x['conc_val'])[0]['conc_val'] - mic_value = f">{highest_concentration}" - # Update master_dict with MIC values - for plate_data in plates_in_rep: - plate_data['wells'][well]['mic'] = mic_value - progress_bar.next() - progress_bar.finish() - -def determine_hc50(master_dict: dict): - """Determine the Hemolytic activity (HC50) for each well in the master dictionary.""" - tech_reps = {plate_data['tech_rep'] for plate_data in master_dict['plates'].values()} - total_wells = len(next(iter(master_dict['plates'].values()))['wells']) - total_tech_reps = len(tech_reps) - progress_bar = FillingCirclesBar('Determining HC50: ', max=total_tech_reps * total_wells) - for tech_rep in tech_reps: - plates_in_rep = [plate_data - for plate_data in master_dict['plates'].values() if plate_data['tech_rep'] == tech_rep] - plates_in_rep = sorted(plates_in_rep, key=lambda x: x['conc_val']) - positive_controls = [well_data['abs_val'] - for plate_data in plates_in_rep - for well_data in plate_data['wells'].values() - if well_data.get('amc') == "Growth Control"] - negative_controls = [well_data['abs_val'] - for plate_data in plates_in_rep - for well_data in plate_data['wells'].values() - if well_data.get('amc') == "Sterility Control"] - avg_positive = sum(positive_controls) / len(positive_controls) if positive_controls else 0 - avg_negative = sum(negative_controls) / len(negative_controls) if negative_controls else 0 - # Calculate HC50 threshold - absorbance_range = avg_positive - avg_negative - absorbance_at_hc50 = avg_negative + (0.50 * absorbance_range) - # Update master_dict at with HC50 threshold - for plate_data in plates_in_rep: - plate_data['abs_at_hc50'] = absorbance_at_hc50 - for well in plates_in_rep[0]['wells']: - amc_value = plates_in_rep[0]['wells'][well].get('amc') - if amc_value in ["Growth Control", "Sterility Control"]: - hc50_value = "N/A" - else: - hc50_value = next((plate_data['conc_val'] - for plate_data in plates_in_rep - if plate_data['wells'][well]['abs_val'] >= absorbance_at_hc50), None) - if hc50_value is None: - hc50_value = f">{plates_in_rep[-1]['conc_val']}" - # Update master_dict with HC50 values - for plate_data in plates_in_rep: - plate_data['wells'][well]['hc50'] = hc50_value - progress_bar.next() - progress_bar.finish() - -def compute_selected_assay(assay: str, master_dict: dict): - """Compute the selected assay metric (MIC or HC50) and update the master_dict""" - if assay == 'ast': - determine_mic(master_dict) - elif assay == 'hc50': - determine_hc50(master_dict) - -def main(): - """ - main - """ - # Process the raw data - master_dict, num_plates = process_data(args.raw_data, args.matrix) - # Caclulate number of plates per technical replicate group - plates_per_rep = num_plates // args.num_tech_rep - # Calculate concetration based on user input - conc_list = calculate_concentrations(args.start_con, args.final_con, plates_per_rep) - # Validate the inputs - valid = validate_input(args.num_tech_rep, args.start_con, args.final_con, num_plates, conc_list) - if not valid: - return - # Populating plates in master_dict with tech_rep and corresponding conc-val. - populate_rep_conc(master_dict, plates_per_rep, conc_list) - # Compute MIC or HC50 based on user selection - compute_selected_assay(args.assay, master_dict) - -if __name__ == "__main__": - main() From 2832ba97357fa893375a3b8859369d30feb56450 Mon Sep 17 00:00:00 2001 From: asalehi Date: Wed, 23 Aug 2023 10:59:15 -0700 Subject: [PATCH 04/11] Relocated the refactored version of the CytEx --- CytEx.py | 715 ++++++++++++++++--------------------------------------- 1 file changed, 210 insertions(+), 505 deletions(-) diff --git a/CytEx.py b/CytEx.py index 5a4b900..1ce969c 100644 --- a/CytEx.py +++ b/CytEx.py @@ -1,509 +1,214 @@ -import pandas as pd +""" +CytEx 1.0 +""" +import argparse import os +import pandas as pd import numpy as np -from datetime import date - - -# Ask the user to select the assay -print("Select the assay:") -print("1. hAST") -print("2. mAST") - -assay = input() - -### hAST -if assay == "1": - # Ask for the organism name - organism_name = input("Enter the organism name used in the experiment: ") - - # Replace spaces in the organism name with underscores - organism_name = organism_name.replace(" ", "_") - - # Create unique folder name with the current date - folder_name = f"{organism_name}_{date.today().strftime('%m_%d_%Y')}" - - # Ask the user for the raw file paths and validate them - # Function to validate whether the given file path is an Excel file - def is_excel_file(file_path): - return file_path.endswith('.xlsx') or file_path.endswith('.xls') - - while True: - file_path = input('Please enter the path of raw plate read data: ') - if not is_excel_file(file_path) or not os.path.exists(file_path): - print('Invalid file path or the file is not in Excel format. Please try again.') - else: - break - - while True: - matrix_map_path = input('Please enter the file path of the matrix map: ') - if not is_excel_file(matrix_map_path) or not os.path.exists(matrix_map_path): - print('Invalid file path or the file is not in Excel format. Please try again.') - else: - break - - raw_data = pd.read_excel(file_path) - matrix_map = pd.read_excel(matrix_map_path) - - # Convert dataframes to numpy arrays +from progress.bar import FillingCirclesBar + + +def excel_file(input_path): + """ + Validate the file format for "raw_data" and "matrix". + """ + _, ext = os.path.splitext(input_path) + if ext not in ['.xlsx', 'xls']: + raise argparse.ArgumentTypeError(f"{input_path} is not an Excel file") + return input_path +parser = argparse.ArgumentParser(description="Command line tool for acquiring user input") +parser.add_argument("-a", "--assay", help="Assay type", type=str, choices=['ast', 'hc50'], required=False, default='hc50') +parser.add_argument("-p", "--prefix", help = "Prefix", type = lambda s: s.replace(" ", "-"), required = False, default="Sample_name") +parser.add_argument("-d", "--raw_data", help = "Plate reader data", type = excel_file, required = True) +parser.add_argument("-m", "--matrix", help = "Matrix map", type = excel_file, required = True) +parser.add_argument("-r", "--num_tech_rep", help = "Number of replicates",type = int, required= False, default = 2) +parser.add_argument("-s", "--start_con", help = "Starting concentration", type = int, required = False, default = 128) +parser.add_argument("-f", "--final_con", help = "Final concentration", type = int, required = False, default = 1) +parser.add_argument("-t", "--threshold", help = "MIC threshold", type = int, required = False, default = 0.4999) +args = parser.parse_args() + +def detect_plate(row, col, raw_data_array): + """Detect the start of a new plate using the markers "A" and 1.""" + cell = raw_data_array[row, col] + cell_south = raw_data_array[row + 1, col] + cell_east = raw_data_array[row, col + 1] + return pd.isna(cell) and cell_south == "A" and cell_east == 1 + +def process_plate(row, col, raw_data_array, matrix_data, master_dict, plate_num): + """Process a detected plate to capture absorbance value, synth_id, and amc.""" + master_dict[plate_num] = {'wells': {}} + for i in range(8): + for j in range(12): + well = chr(ord('A') + i) + str(j + 1) + master_dict[plate_num]['wells'][well] = {'abs_val': raw_data_array[row + 1 + i, col + 1 + j]} + matrix_row = matrix_data[matrix_data['well'] == well] + if not matrix_row.empty: + master_dict[plate_num]['wells'][well]['synth_id'] = matrix_row['synth_id'].values[0] + master_dict[plate_num]['wells'][well]['amc'] = matrix_row['amc'].values[0] + +def process_data(raw_data_path, matrix_path): + """Process the raw data and return a master dictionary with processed plate data.""" + raw_data = pd.read_excel(raw_data_path) + matrix_data = pd.read_excel(matrix_path) raw_data_array = raw_data.to_numpy() - - # Initialize plate count and plate_data_raw dictionary - plates = 0 - plate_data_raw = {} - - # Get the dimensions of the raw data array - rows, cols = raw_data_array.shape - - # Find the starting point of each plate in the raw data array and extract the plate data - - for row in range(rows - 1): - for col in range(cols - 1): - cell = raw_data_array[row, col] - cell_south = raw_data_array[row + 1, col] - cell_east = raw_data_array[row, col + 1] - - if pd.isna(cell) and cell_south == "A" and cell_east == 1: - plates += 1 - raw_plate_name = f"Plate {plates}" - plate_data_raw[raw_plate_name] = {} - - for i in range(8): - for j in range(12): - cell_name = chr(ord('A') + i) + str(j + 1) - plate_data_raw[raw_plate_name][cell_name] = raw_data_array[row + 1 + i, col + 1 + j] - - # Print the total number of plates retrieved - print(f"Total number of plates retrieved from the excel file: {plates}") - - - # Function to request user input and validate it - def request_input(): - while True: - technical_replicates = int(input("Enter the number of technical replicates: ")) - starting_concentration = float(input("Enter the starting concentration (µg/ml): ")) - final_concentration = float(input("Enter the final concentration (µg/ml): ")) - - plates_per_technical_replicate = plates // technical_replicates - - # Check if the starting concentration is less than or equal to the final concentration - if starting_concentration <= final_concentration: - print("Starting concentration should be greater than final concentration. Please try again.") - continue - - # Check if the number of technical replicates exceeds the number of plates - if technical_replicates > plates: - print("Number of technical replicates exceeds the number of plates. Please try again.") - continue - - # Check if the dilution series corresponds to a 1:2 dilution for each step given the starting and final concentrations and the number of plates per group - dilution_steps = np.log2(starting_concentration / final_concentration) + 1 - if not np.isclose(dilution_steps, plates_per_technical_replicate): - print( - "The dilution series does not correspond to a 1:2 dilution for each step given the starting and final concentrations and the number of plates per technical replicate. Please try again.") - continue - - # Check if the number of plates is not divisible by the number of technical replicates (i.e., there are leftover plates) - if plates % technical_replicates != 0: - print( - "The number of plates is not evenly divisible by the number of provided technical replicates. This will result in some plates being unused. Please try again.") - continue - - return technical_replicates, starting_concentration, final_concentration, plates_per_technical_replicate - - - # Obtain validated user inputs - technical_replicates, starting_concentration, final_concentration, plates_per_technical_replicate = request_input() - - # Calculate the concentrations for each plate - concentrations = np.logspace(np.log10(starting_concentration), np.log10(final_concentration), plates_per_technical_replicate) - concentrations = [round(c, 1) for c in concentrations] - - # Rename plate data dictionary keys and update the values with new information - plate_data = {} - - for replicate in range(1, technical_replicates + 1): - for plate in range(1, plates_per_technical_replicate + 1): - old_plate_name = f"Plate {(replicate - 1) * plates_per_technical_replicate + plate}" - plate_name = f"{replicate}.{plate}" - plate_data[plate_name] = plate_data_raw[old_plate_name] - - for well, value in plate_data[plate_name].items(): - # Extract the Synthesis_ID and BIROL_ID for the current well from the matrix_map - synthesis_id = matrix_map[matrix_map['Well'] == well]['Synthesis_ID'].values[0] - birol_id = matrix_map[matrix_map['Well'] == well]['BIROL_ID'].values[0] - - # Add additional data to the plate_data dictionary for the current well - plate_data[plate_name][well] = { - "value": value, - "technical_replicate": replicate, - "concentration": concentrations[plate - 1], - "Synthesis_ID": synthesis_id, - "BIROL_ID": birol_id - } - - # Define output paths - output_folder = os.path.join(os.getcwd(), "output") - - # Create output directory for the current run - output_folder = os.path.join(output_folder, folder_name) - if not os.path.exists(output_folder): - os.makedirs(output_folder) - - # Define sub-directories for "plates" and "replicates" - plates_folder = os.path.join(output_folder, "plates") - replicates_folder = os.path.join(output_folder, "replicates") - - # Create sub-directories if they don't exist - if not os.path.exists(plates_folder): - os.makedirs(plates_folder) - if not os.path.exists(replicates_folder): - os.makedirs(replicates_folder) - - # Write each plate's data to a separate CSV file in the "plates" directory - for plate_name, cell_data in plate_data.items(): - # Create a DataFrame for the current plate's data - plate_df = pd.DataFrame.from_dict(cell_data, orient='index') - plate_df.index.name = 'Well' - - # Generate the output file path for the current plate - output_file_csv = os.path.join(plates_folder, f"{plate_name}.csv") - - # Save the plate's data to a CSV file - plate_df.to_csv(output_file_csv) - - # Iterate over each technical replicate - for replicate in range(1, technical_replicates + 1): - # Initialize a DataFrame to store the results for this replicate - replicate_df = pd.DataFrame() - - # Extract the wells from the plate data - wells = list(plate_data[f"{replicate}.1"].keys()) - - # Initialize each row with well name - replicate_df['Well'] = wells - - # Add the "AMP" column and populate it with corresponding BIROL_ID - replicate_df['AMP'] = [plate_data[f"{replicate}.1"][well]['BIROL_ID'] for well in wells] - - # Iterate over each dilution stage - for dilution_stage in range(1, plates_per_technical_replicate + 1): - # Get the concentration for the current dilution stage - concentration = concentrations[dilution_stage - 1] - - # Prepare the column name with concentration - column_name = str(concentration) - - # Extract the values for each well at the current dilution stage - plate_name = f"{replicate}.{dilution_stage}" - dilution_values = [plate_data[plate_name][well]['value'] for well in wells] - - # Add the new column to our result DataFrame - replicate_df[column_name] = dilution_values - - - # Add a new column for MIC and update plate_data dictionary - def calculate_mic(row): - if row['AMP'] in ['Sterility Control', 'Growth Control']: - return 'N/A' + num_rows, num_cols = raw_data_array.shape + num_plates = 0 + master_dict = {'plates': {}} + total_cells = (num_rows - 1) * (num_cols - 1) + progress_bar = FillingCirclesBar('Processing data: ', max=total_cells) + for row in range(num_rows - 1): + for col in range(num_cols - 1): + if detect_plate(row, col, raw_data_array): + num_plates += 1 + process_plate(row, col, raw_data_array, matrix_data, master_dict['plates'], num_plates) + progress_bar.next() + progress_bar.finish() + return master_dict, num_plates + +def calculate_concentrations(start_con: float, final_con: float, plates_per_rep: int) -> list: + """Calculate Concentrations based user input""" + conc_list = np.logspace(np.log10(start_con), + np.log10(final_con), + plates_per_rep) + # Apply high-precision rounding and remove unnecessary decimals + multiplier = 10**10 + conc_list = [np.round(val * multiplier) / multiplier for val in conc_list] + conc_list = [int(val) if np.isclose(val, int(val)) else val for val in conc_list] + return conc_list + +def validate_input(num_tech_rep: float, start_con: float, final_con: float, num_plates: int, conc_list: list) -> bool: + """Validate Experimental Setup""" + if start_con <= final_con: + print("Starting concentration cannot be smaller than final concentration.") + return False + if num_tech_rep > num_plates: + print("Number of technical replicates cannot exceed the number of plates.") + return False + if num_plates % num_tech_rep != 0: + print("Number of plates is not divisible by the number of technical replicates.") + return False + for i in range(len(conc_list)-1): + ratio = conc_list[i] / conc_list[i+1] + if not (np.isclose(ratio, 2) or np.isclose(ratio, 5) or np.isclose(ratio, 10)): + print("The concentrations do not follow a 1:2, 1:5, or 1:10 dilution pattern.") + return False + return True + +def populate_rep_conc(master_dict: dict, plates_per_rep: int, conc_list: list) -> None: + """Populate the master_dict with technical replicate identifiers (tech_rep) and concentration values (conc_val).""" + num_plates = len(master_dict['plates']) + for plate_index in range(num_plates): + tech_rep = (plate_index // plates_per_rep) + 1 + conc_val = conc_list[plate_index % plates_per_rep] + master_dict['plates'][plate_index + 1]['tech_rep'] = tech_rep + master_dict['plates'][plate_index + 1]['conc_val'] = conc_val + +def determine_mic(master_dict: dict): + """Determine the Minimum Inhibitory Concentration (MIC) for each well in the master dictionary.""" + tech_reps = {plate_data['tech_rep'] for plate_data in master_dict['plates'].values()} + total_wells = len(next(iter(master_dict['plates'].values()))['wells']) + total_tech_reps = len(tech_reps) + progress_bar = FillingCirclesBar('Determining MIC: ', max=total_tech_reps * total_wells) + for tech_rep in tech_reps: + plates_in_rep = [plate_data + for plate_data in master_dict['plates'].values() + if plate_data['tech_rep'] == tech_rep] + for well in plates_in_rep[0]['wells']: + mic_value = None + for plate_data in sorted(plates_in_rep, key=lambda x: x['conc_val']): + abs_val = plate_data['wells'][well]['abs_val'] + amc = plate_data['wells'][well].get('amc') + # Handle Sterility Control and Growth Control + if amc in ["Sterility Control", "Growth Control"]: + mic_value = "N/A" + break + threshold = args.threshold + if abs_val <= threshold: + mic_value = plate_data['conc_val'] + break + if mic_value is None: + highest_concentration = sorted(plates_in_rep, key=lambda x: -x['conc_val'])[0]['conc_val'] + mic_value = f">{highest_concentration}" + # Update master_dict with MIC values + for plate_data in plates_in_rep: + plate_data['wells'][well]['mic'] = mic_value + progress_bar.next() + progress_bar.finish() + +def determine_hc50(master_dict: dict): + """Determine the Hemolytic activity (HC50) for each well in the master dictionary.""" + tech_reps = {plate_data['tech_rep'] for plate_data in master_dict['plates'].values()} + total_wells = len(next(iter(master_dict['plates'].values()))['wells']) + total_tech_reps = len(tech_reps) + progress_bar = FillingCirclesBar('Determining HC50: ', max=total_tech_reps * total_wells) + for tech_rep in tech_reps: + plates_in_rep = [plate_data + for plate_data in master_dict['plates'].values() if plate_data['tech_rep'] == tech_rep] + plates_in_rep = sorted(plates_in_rep, key=lambda x: x['conc_val']) + positive_controls = [well_data['abs_val'] + for plate_data in plates_in_rep + for well_data in plate_data['wells'].values() + if well_data.get('amc') == "Growth Control"] + negative_controls = [well_data['abs_val'] + for plate_data in plates_in_rep + for well_data in plate_data['wells'].values() + if well_data.get('amc') == "Sterility Control"] + avg_positive = sum(positive_controls) / len(positive_controls) if positive_controls else 0 + avg_negative = sum(negative_controls) / len(negative_controls) if negative_controls else 0 + # Calculate HC50 threshold + absorbance_range = avg_positive - avg_negative + absorbance_at_hc50 = avg_negative + (0.50 * absorbance_range) + # Update master_dict at with HC50 threshold + for plate_data in plates_in_rep: + plate_data['abs_at_hc50'] = absorbance_at_hc50 + for well in plates_in_rep[0]['wells']: + amc_value = plates_in_rep[0]['wells'][well].get('amc') + if amc_value in ["Growth Control", "Sterility Control"]: + hc50_value = "N/A" else: - return next((c for c, v in reversed(list(zip(concentrations, row[2:]))) if round(v, 2) < 0.4999), - f">{int(starting_concentration)}") - - - replicate_df['MIC'] = replicate_df.apply(calculate_mic, axis=1) - - for index, row in replicate_df.iterrows(): - well = row['Well'] - mic = row['MIC'] - for plate_name, well_data in plate_data.items(): - if well in well_data: - plate_data[plate_name][well]['MIC'] = mic - - # Generate the output file paths for the current replicate - replicate_df_csv = os.path.join(replicates_folder, f"Replicate_{replicate}.csv") - replicate_df_excel = os.path.join(replicates_folder, f"Replicate_{replicate}.xlsx") - - # Write replicate's data to CSV and Excel files - replicate_df.to_csv(replicate_df_csv, index=False) - replicate_df.to_excel(replicate_df_excel, index=False) - - -### Combined MIC - # Initialize an empty DataFrame to store combined data - combined_df = pd.DataFrame() - - # Separate the data by technical replicate group - for group in range(1, technical_replicates + 1): - # Specify the input CSV file - group_csv_input = os.path.join(output_folder, "replicates", f"Replicate_{group}.csv") - - # Read the data from the CSV file - group_df = pd.read_csv(group_csv_input) - - # Remove the rows where BIROL_ID is "Sterility Control" or "Growth Control" - group_df = group_df.loc[~group_df['AMP'].isin(["Sterility Control", "Growth Control"])] - - # Add a new column for the technical replicate group number - group_df['Technical_Replicate_Group'] = group - - # Reorder the columns to have 'Well', 'AMP', 'Technical_Replicate_Group', and 'MIC' - group_df = group_df[['Well', 'AMP', 'Technical_Replicate_Group', 'MIC']] - - # Append the group_df to the combined_df - combined_df = pd.concat([combined_df, group_df], ignore_index=True) - - # Define sub-directory for "combined" - combined_folder = os.path.join(output_folder, "combined") - - # Create sub-directory if it doesn't exist - if not os.path.exists(combined_folder): - os.makedirs(combined_folder) - - # Specify the output CSV file for combined data - combined_csv_output = os.path.join(combined_folder, "Combined_MIC_Values.csv") - - # Write the combined DataFrame to a CSV file - combined_df.to_csv(combined_csv_output, index=False) - - # Specify the output Excel file for combined data - combined_excel_output = os.path.join(combined_folder, "Combined_MIC_Values.xlsx") - - # Write the combined DataFrame to an Excel file - combined_df.to_excel(combined_excel_output, index=False) - -### MIC Plot - import matplotlib.pyplot as plt - import seaborn as sns - # Output dimensions - plot_width = 20 - plot_height = 8 - dpi = 800 - - # Make MIC non-numeric for plotting - combined_df['MIC'] = combined_df['MIC'].astype(str) - - # Create concentration list with string type - concentration_list = [f">{int(starting_concentration)}"] + [str(i) for i in concentrations] - - # Order y-axis - combined_df['MIC'] = pd.Categorical(combined_df['MIC'], ordered=True, categories=concentration_list) - - # Initialize the figure and axes - fig, ax = plt.subplots(figsize=(plot_width, plot_height)) - - # Scatter plot - scatter_plot = sns.stripplot(x='AMP', y='MIC', hue='Technical_Replicate_Group', palette='Set1', data=combined_df, - ax=ax, s=10, jitter=True, dodge=True) - - ax.set_xlabel('AMP', fontsize=15, fontweight='bold') - ax.set_ylabel('MIC (µg/mL)', fontsize=15, fontweight='bold') - - ax.legend(title='Technical Replicate', title_fontsize='13', loc='upper right') - - ax.tick_params(axis='x', labelrotation=90, labelsize=8) # Rotate x-axis labels and decrease font size - - ax.grid(color='grey', linestyle='-', linewidth=0.25, alpha=0.5) - - lgnd = plt.legend(loc="upper right", scatterpoints=1, fontsize=10, title="Technical Replicate") - for handle in lgnd.legend_handles: - handle.set_sizes([30.0]) - - plt.tight_layout() - - # Define sub-directory for "plot" - plot_folder = os.path.join(output_folder, "plot") - - # Create sub-directory if it doesn't exist - if not os.path.exists(plot_folder): - os.makedirs(plot_folder) - - # Save MIC plot - mic_plot_path = os.path.join(plot_folder, "MIC_plot.png") - plt.savefig(mic_plot_path, format='png', dpi=300) - -### Excel Output - import datetime - import os - import pandas as pd - import seaborn as sns - - # Get the current date - now = datetime.datetime.now() - - # Ensure the "output" directory exists within the output_folder, if not, create it - final_output_folder = os.path.join(output_folder, "output") - os.makedirs(final_output_folder, exist_ok=True) - - # Create an Excel writer object with the path to the "output" directory - output_filename = os.path.join(final_output_folder, f"{organism_name}_MICMBC_{now.strftime('%m-%d-%Y')}.xlsx") - - # Specify the number of empty columns to leave between replicates - empty_columns = 1 - - # The column offset for each replicate - offset = 0 - - # Generate a color palette - colors = sns.color_palette("Set2", n_colors=technical_replicates) - - # Open Excel writer and Visual_Results worksheet within 'with' block - with pd.ExcelWriter(output_filename, engine='xlsxwriter') as writer: - # Define a format for the cell borders - border_format = writer.book.add_format({'border': 1, 'align': 'center'}) - - # Define a format for the headers in the MICMBC tab - header_format = writer.book.add_format( - {'bold': True, 'bg_color': '#D3D3D3', 'align': 'center', 'bottom': 2, 'bottom_color': 'black'}) - - # Add a worksheet for Visual_Results - worksheet = writer.book.add_worksheet('Visual_Results') - - first_replicate_well_amp = None - - # Iterate over each technical replicate - for replicate in range(1, technical_replicates + 1): - # Read the replicate's data from the Excel file - replicate_df = pd.read_excel(os.path.join(output_folder, "replicates", f"Replicate_{replicate}.xlsx")) - - # Fill empty cells with 'N/A' - replicate_df.fillna('N/A', inplace=True) - - # Save Well-AMP pairs from the first replicate - if replicate == 1: - first_replicate_well_amp = replicate_df[['Well', 'AMP']].values.tolist() - - # Write the DataFrame to the "Visual_Results" worksheet - replicate_df.to_excel(writer, sheet_name='Visual_Results', startcol=offset, index=False) - - # Get the last row and last column index for formatting - last_row = len(replicate_df.index) - last_col = len(replicate_df.columns) - - # Get the xlsxwriter workbook and worksheet objects. - workbook = writer.book - worksheet = writer.sheets['Visual_Results'] - - # Assign the color for this replicate - color = colors[replicate - 1] - hex_color = '#%02x%02x%02x' % (int(color[0] * 255), int(color[1] * 255), int(color[2] * 255)) - - # Apply the conditional formatting rule to the required range except the 'MIC' column - for col_num in range(offset, offset + last_col): - if replicate_df.columns[col_num - offset] != 'MIC': - worksheet.conditional_format(1, col_num, last_row, col_num, {'type': '2_color_scale', - 'min_value': '0', - 'max_value': '100', - 'min_color': "#FFFFFF", - 'max_color': hex_color}) - - # Apply the border format to all cells including 'MIC' - for row_num in range(1, last_row + 1): # +1 to include the last row - cell_value = replicate_df.iloc[row_num - 1, col_num - offset] - worksheet.write(row_num, col_num, cell_value, border_format) - - # Increase the offset for the next replicate (the width of the DataFrame plus the number of empty columns) - offset += len(replicate_df.columns) + empty_columns - - - # Add a worksheet for MICMBC with the current date in the name - micmbc_worksheet = writer.book.add_worksheet(f"MICMBC_{now.strftime('%m%d%Y')}") - - # Set the format for all cells to be centered - centered_format = writer.book.add_format({'align': 'center'}) - - # Write the headers for MICMBC with centered alignment - micmbc_worksheet.write(0, 0, 'Well', header_format) - micmbc_worksheet.write(0, 1, 'AMP', header_format) - - # Write the MIC data for each technical replicate with centered alignment - for replicate in range(1, technical_replicates + 1): - # Read the replicate's data from the Excel file - replicate_df = pd.read_excel(os.path.join(output_folder, "replicates", f"Replicate_{replicate}.xlsx")) - - # Fill empty cells with 'N/A' - replicate_df.fillna('N/A', inplace=True) - - # Filter out 'N/A' values in the MIC column for the "MICMBC" tab - replicate_df = replicate_df[replicate_df['MIC'] != 'N/A'] - - # Get the MIC column name for the current replicate - mic_column_name = f"MIC_R{replicate}" - - # Write the MIC values to the "MICMBC" worksheet with centered alignment - micmbc_worksheet.write(0, replicate + 1, mic_column_name, header_format) - for i, mic_value in enumerate(replicate_df['MIC'], start=1): - micmbc_worksheet.write(i, 0, replicate_df.iloc[i - 1]['Well'], centered_format) - micmbc_worksheet.write(i, 1, replicate_df.iloc[i - 1]['AMP'], centered_format) - micmbc_worksheet.write(i, replicate + 1, mic_value, centered_format) - - # Write the MBC column after the last MIC data (cells below left empty) - micmbc_worksheet.write(0, technical_replicates + 2, 'MBC', header_format) - - # Prepare a dictionary to store lowest MIC and corresponding replicate for each well - well_mic_data = {row[0]: {'L_MIC': float('inf'), 'R': None} for row in first_replicate_well_amp} - - # Add a worksheet for MBC_Wells - mbc_wells_worksheet = writer.book.add_worksheet('MBC_Wells') - - # Define header format - header_format = writer.book.add_format({ - 'bold': True, - 'align': 'center', - 'bg_color': '#D3D3D3', # light gray fill - 'bottom': 2, # thick bottom border - }) - - # Write the column headers to the MBC_Wells worksheet - mbc_wells_worksheet.write('A1', 'Well', header_format) - mbc_wells_worksheet.write('B1', 'L_MIC', header_format) - mbc_wells_worksheet.write('C1', 'R', header_format) - - # Calculate lowest MIC and its replicate for each well - for replicate in range(1, technical_replicates + 1): - # Read the replicate's data from the Excel file - replicate_df = pd.read_excel(os.path.join(output_folder, "replicates", f"Replicate_{replicate}.xlsx")) - - # Fill empty cells with 'N/A' - replicate_df.fillna('N/A', inplace=True) - - # Iterate over all wells - for _, row in replicate_df.iterrows(): - well = row['Well'] - mic = str(row['MIC']) # Convert MIC to string - - # If MIC value is numeric and less than current lowest MIC for the well, update the lowest MIC and corresponding replicate - if mic.replace('.', '', 1).isdigit() and float(mic) < well_mic_data[well]['L_MIC']: - well_mic_data[well]['L_MIC'] = float(mic) - well_mic_data[well]['R'] = replicate - - # Write the data for each well in the MBC_Wells worksheet - i = 1 # Start writing from the second row to leave the first row for headers - for well, mic_data in well_mic_data.items(): - # If lowest MIC for the well is still inf (i.e., all replicates contain > in their mic values), skip this well - if mic_data['L_MIC'] == float('inf'): - continue - - # Write the Well, L_MIC, and R values to the MBC_Wells worksheet with centered alignment - mbc_wells_worksheet.write(i, 0, well, centered_format) - mbc_wells_worksheet.write(i, 1, mic_data['L_MIC'], centered_format) - mbc_wells_worksheet.write(i, 2, mic_data['R'], centered_format) - i += 1 # Increment the row index - - # Add a worksheet for Plots - plot_worksheet = writer.book.add_worksheet('Plots') - - # Set the width of the columns in the Plots worksheet - plot_worksheet.set_column(0, 0, 30) - plot_worksheet.set_column(1, 1, 30) - - # Insert the MIC plot - mic_plot_path = os.path.join(plot_folder, "MIC_plot.png") - plot_worksheet.insert_image('A1', mic_plot_path, {'x_scale': 1, 'y_scale': 1}) - - - print(f'Output written to {output_filename}') - -### mAST -elif assay == "2": - print("mAST data extraction is not currently avaliable!") - pass + hc50_value = next((plate_data['conc_val'] + for plate_data in plates_in_rep + if plate_data['wells'][well]['abs_val'] >= absorbance_at_hc50), None) + if hc50_value is None: + hc50_value = f">{plates_in_rep[-1]['conc_val']}" + # Update master_dict with HC50 values + for plate_data in plates_in_rep: + plate_data['wells'][well]['hc50'] = hc50_value + progress_bar.next() + progress_bar.finish() + +def compute_selected_assay(assay: str, master_dict: dict): + """Compute the selected assay metric (MIC or HC50) and update the master_dict""" + if assay == 'ast': + determine_mic(master_dict) + elif assay == 'hc50': + determine_hc50(master_dict) + + +def main(): + """ + main + """ + # Process the raw data + master_dict, num_plates = process_data(args.raw_data, args.matrix) + + # Caclulate number of plates per technical replicate group + plates_per_rep = num_plates // args.num_tech_rep + + # Calculate concetration based on user input + conc_list = calculate_concentrations(args.start_con, args.final_con, plates_per_rep) + + # Validate the inputs + valid = validate_input(args.num_tech_rep, args.start_con, args.final_con, num_plates, conc_list) + if not valid: + return # Exit the function if validation fails + + # Populating plates in master_dict with tech_rep and corresponding conc-val. + populate_rep_conc(master_dict, plates_per_rep, conc_list) + + # Compute MIC or HC50 based on user selection + compute_selected_assay(args.assay, master_dict) + + +if __name__ == "__main__": + main() From 00fdc59f5f1e4d9ccb0b9b86a230f6df5a7baaf7 Mon Sep 17 00:00:00 2001 From: asalehi Date: Mon, 17 Jun 2024 15:30:04 -0700 Subject: [PATCH 05/11] Refactor: Move .pylintrc to bin, rename CytEx.py to main.py in map, update README.md, and add new files --- CytEx.py | 214 ------ README.md | 161 ++++- .pylintrc => bin/.pylintrc | 0 logo/MAP-Logo.png | Bin 0 -> 72138 bytes logo/MAP-Logo.svg | 2 + logo/Manual-vs-Hts.png | Bin 0 -> 448158 bytes logo/Manual-vs-Hts.svg | 1 + map/__init__.py | 0 map/main.py | 628 ++++++++++++++++++ methods/HC50_C550_Method.pdf | Bin 0 -> 107734 bytes methods/MIC_Method.pdf | Bin 0 -> 83939 bytes run_tests.sh | 40 ++ setup.py | 44 ++ template/data_template.xlsx | Bin 0 -> 7405 bytes template/matrix_high-throughput_template.xlsx | Bin 0 -> 8460 bytes template/matrix_manual_template.xlsx | Bin 0 -> 6859 bytes tests/data_hts_ast.xlsx | Bin 0 -> 12263 bytes tests/data_hts_hc50.xlsx | Bin 0 -> 20847 bytes tests/data_manual_ast.xlsx | Bin 0 -> 7405 bytes tests/data_manual_cc50.xlsx | Bin 0 -> 16693 bytes tests/data_manual_hc50.xlsx | Bin 0 -> 9669 bytes .../E.coli_ATCC_25922_Hts_AST_20240611.xlsx | Bin 0 -> 23006 bytes ...E.coli_ATCC_25922_Manual_AST_20240611.xlsx | Bin 0 -> 8023 bytes .../HEK293_Manual_CC50_20240611.xlsx | Bin 0 -> 15234 bytes .../RBC_Hts_HC50_20240611.xlsx | Bin 0 -> 28367 bytes .../RBC_Manual_HC50_20240611.xlsx | Bin 0 -> 7822 bytes tests/map_hts.xlsx | Bin 0 -> 8460 bytes tests/map_manual.xlsx | Bin 0 -> 6859 bytes tests/map_manual_cc50.xlsx | Bin 0 -> 10272 bytes 29 files changed, 874 insertions(+), 216 deletions(-) delete mode 100644 CytEx.py rename .pylintrc => bin/.pylintrc (100%) create mode 100644 logo/MAP-Logo.png create mode 100644 logo/MAP-Logo.svg create mode 100644 logo/Manual-vs-Hts.png create mode 100644 logo/Manual-vs-Hts.svg create mode 100644 map/__init__.py create mode 100755 map/main.py create mode 100644 methods/HC50_C550_Method.pdf create mode 100644 methods/MIC_Method.pdf create mode 100755 run_tests.sh create mode 100644 setup.py create mode 100644 template/data_template.xlsx create mode 100644 template/matrix_high-throughput_template.xlsx create mode 100644 template/matrix_manual_template.xlsx create mode 100644 tests/data_hts_ast.xlsx create mode 100644 tests/data_hts_hc50.xlsx create mode 100644 tests/data_manual_ast.xlsx create mode 100644 tests/data_manual_cc50.xlsx create mode 100644 tests/data_manual_hc50.xlsx create mode 100644 tests/expected_result/E.coli_ATCC_25922_Hts_AST_20240611.xlsx create mode 100644 tests/expected_result/E.coli_ATCC_25922_Manual_AST_20240611.xlsx create mode 100644 tests/expected_result/HEK293_Manual_CC50_20240611.xlsx create mode 100644 tests/expected_result/RBC_Hts_HC50_20240611.xlsx create mode 100644 tests/expected_result/RBC_Manual_HC50_20240611.xlsx create mode 100644 tests/map_hts.xlsx create mode 100644 tests/map_manual.xlsx create mode 100644 tests/map_manual_cc50.xlsx diff --git a/CytEx.py b/CytEx.py deleted file mode 100644 index 1ce969c..0000000 --- a/CytEx.py +++ /dev/null @@ -1,214 +0,0 @@ -""" -CytEx 1.0 -""" -import argparse -import os -import pandas as pd -import numpy as np -from progress.bar import FillingCirclesBar - - -def excel_file(input_path): - """ - Validate the file format for "raw_data" and "matrix". - """ - _, ext = os.path.splitext(input_path) - if ext not in ['.xlsx', 'xls']: - raise argparse.ArgumentTypeError(f"{input_path} is not an Excel file") - return input_path -parser = argparse.ArgumentParser(description="Command line tool for acquiring user input") -parser.add_argument("-a", "--assay", help="Assay type", type=str, choices=['ast', 'hc50'], required=False, default='hc50') -parser.add_argument("-p", "--prefix", help = "Prefix", type = lambda s: s.replace(" ", "-"), required = False, default="Sample_name") -parser.add_argument("-d", "--raw_data", help = "Plate reader data", type = excel_file, required = True) -parser.add_argument("-m", "--matrix", help = "Matrix map", type = excel_file, required = True) -parser.add_argument("-r", "--num_tech_rep", help = "Number of replicates",type = int, required= False, default = 2) -parser.add_argument("-s", "--start_con", help = "Starting concentration", type = int, required = False, default = 128) -parser.add_argument("-f", "--final_con", help = "Final concentration", type = int, required = False, default = 1) -parser.add_argument("-t", "--threshold", help = "MIC threshold", type = int, required = False, default = 0.4999) -args = parser.parse_args() - -def detect_plate(row, col, raw_data_array): - """Detect the start of a new plate using the markers "A" and 1.""" - cell = raw_data_array[row, col] - cell_south = raw_data_array[row + 1, col] - cell_east = raw_data_array[row, col + 1] - return pd.isna(cell) and cell_south == "A" and cell_east == 1 - -def process_plate(row, col, raw_data_array, matrix_data, master_dict, plate_num): - """Process a detected plate to capture absorbance value, synth_id, and amc.""" - master_dict[plate_num] = {'wells': {}} - for i in range(8): - for j in range(12): - well = chr(ord('A') + i) + str(j + 1) - master_dict[plate_num]['wells'][well] = {'abs_val': raw_data_array[row + 1 + i, col + 1 + j]} - matrix_row = matrix_data[matrix_data['well'] == well] - if not matrix_row.empty: - master_dict[plate_num]['wells'][well]['synth_id'] = matrix_row['synth_id'].values[0] - master_dict[plate_num]['wells'][well]['amc'] = matrix_row['amc'].values[0] - -def process_data(raw_data_path, matrix_path): - """Process the raw data and return a master dictionary with processed plate data.""" - raw_data = pd.read_excel(raw_data_path) - matrix_data = pd.read_excel(matrix_path) - raw_data_array = raw_data.to_numpy() - num_rows, num_cols = raw_data_array.shape - num_plates = 0 - master_dict = {'plates': {}} - total_cells = (num_rows - 1) * (num_cols - 1) - progress_bar = FillingCirclesBar('Processing data: ', max=total_cells) - for row in range(num_rows - 1): - for col in range(num_cols - 1): - if detect_plate(row, col, raw_data_array): - num_plates += 1 - process_plate(row, col, raw_data_array, matrix_data, master_dict['plates'], num_plates) - progress_bar.next() - progress_bar.finish() - return master_dict, num_plates - -def calculate_concentrations(start_con: float, final_con: float, plates_per_rep: int) -> list: - """Calculate Concentrations based user input""" - conc_list = np.logspace(np.log10(start_con), - np.log10(final_con), - plates_per_rep) - # Apply high-precision rounding and remove unnecessary decimals - multiplier = 10**10 - conc_list = [np.round(val * multiplier) / multiplier for val in conc_list] - conc_list = [int(val) if np.isclose(val, int(val)) else val for val in conc_list] - return conc_list - -def validate_input(num_tech_rep: float, start_con: float, final_con: float, num_plates: int, conc_list: list) -> bool: - """Validate Experimental Setup""" - if start_con <= final_con: - print("Starting concentration cannot be smaller than final concentration.") - return False - if num_tech_rep > num_plates: - print("Number of technical replicates cannot exceed the number of plates.") - return False - if num_plates % num_tech_rep != 0: - print("Number of plates is not divisible by the number of technical replicates.") - return False - for i in range(len(conc_list)-1): - ratio = conc_list[i] / conc_list[i+1] - if not (np.isclose(ratio, 2) or np.isclose(ratio, 5) or np.isclose(ratio, 10)): - print("The concentrations do not follow a 1:2, 1:5, or 1:10 dilution pattern.") - return False - return True - -def populate_rep_conc(master_dict: dict, plates_per_rep: int, conc_list: list) -> None: - """Populate the master_dict with technical replicate identifiers (tech_rep) and concentration values (conc_val).""" - num_plates = len(master_dict['plates']) - for plate_index in range(num_plates): - tech_rep = (plate_index // plates_per_rep) + 1 - conc_val = conc_list[plate_index % plates_per_rep] - master_dict['plates'][plate_index + 1]['tech_rep'] = tech_rep - master_dict['plates'][plate_index + 1]['conc_val'] = conc_val - -def determine_mic(master_dict: dict): - """Determine the Minimum Inhibitory Concentration (MIC) for each well in the master dictionary.""" - tech_reps = {plate_data['tech_rep'] for plate_data in master_dict['plates'].values()} - total_wells = len(next(iter(master_dict['plates'].values()))['wells']) - total_tech_reps = len(tech_reps) - progress_bar = FillingCirclesBar('Determining MIC: ', max=total_tech_reps * total_wells) - for tech_rep in tech_reps: - plates_in_rep = [plate_data - for plate_data in master_dict['plates'].values() - if plate_data['tech_rep'] == tech_rep] - for well in plates_in_rep[0]['wells']: - mic_value = None - for plate_data in sorted(plates_in_rep, key=lambda x: x['conc_val']): - abs_val = plate_data['wells'][well]['abs_val'] - amc = plate_data['wells'][well].get('amc') - # Handle Sterility Control and Growth Control - if amc in ["Sterility Control", "Growth Control"]: - mic_value = "N/A" - break - threshold = args.threshold - if abs_val <= threshold: - mic_value = plate_data['conc_val'] - break - if mic_value is None: - highest_concentration = sorted(plates_in_rep, key=lambda x: -x['conc_val'])[0]['conc_val'] - mic_value = f">{highest_concentration}" - # Update master_dict with MIC values - for plate_data in plates_in_rep: - plate_data['wells'][well]['mic'] = mic_value - progress_bar.next() - progress_bar.finish() - -def determine_hc50(master_dict: dict): - """Determine the Hemolytic activity (HC50) for each well in the master dictionary.""" - tech_reps = {plate_data['tech_rep'] for plate_data in master_dict['plates'].values()} - total_wells = len(next(iter(master_dict['plates'].values()))['wells']) - total_tech_reps = len(tech_reps) - progress_bar = FillingCirclesBar('Determining HC50: ', max=total_tech_reps * total_wells) - for tech_rep in tech_reps: - plates_in_rep = [plate_data - for plate_data in master_dict['plates'].values() if plate_data['tech_rep'] == tech_rep] - plates_in_rep = sorted(plates_in_rep, key=lambda x: x['conc_val']) - positive_controls = [well_data['abs_val'] - for plate_data in plates_in_rep - for well_data in plate_data['wells'].values() - if well_data.get('amc') == "Growth Control"] - negative_controls = [well_data['abs_val'] - for plate_data in plates_in_rep - for well_data in plate_data['wells'].values() - if well_data.get('amc') == "Sterility Control"] - avg_positive = sum(positive_controls) / len(positive_controls) if positive_controls else 0 - avg_negative = sum(negative_controls) / len(negative_controls) if negative_controls else 0 - # Calculate HC50 threshold - absorbance_range = avg_positive - avg_negative - absorbance_at_hc50 = avg_negative + (0.50 * absorbance_range) - # Update master_dict at with HC50 threshold - for plate_data in plates_in_rep: - plate_data['abs_at_hc50'] = absorbance_at_hc50 - for well in plates_in_rep[0]['wells']: - amc_value = plates_in_rep[0]['wells'][well].get('amc') - if amc_value in ["Growth Control", "Sterility Control"]: - hc50_value = "N/A" - else: - hc50_value = next((plate_data['conc_val'] - for plate_data in plates_in_rep - if plate_data['wells'][well]['abs_val'] >= absorbance_at_hc50), None) - if hc50_value is None: - hc50_value = f">{plates_in_rep[-1]['conc_val']}" - # Update master_dict with HC50 values - for plate_data in plates_in_rep: - plate_data['wells'][well]['hc50'] = hc50_value - progress_bar.next() - progress_bar.finish() - -def compute_selected_assay(assay: str, master_dict: dict): - """Compute the selected assay metric (MIC or HC50) and update the master_dict""" - if assay == 'ast': - determine_mic(master_dict) - elif assay == 'hc50': - determine_hc50(master_dict) - - -def main(): - """ - main - """ - # Process the raw data - master_dict, num_plates = process_data(args.raw_data, args.matrix) - - # Caclulate number of plates per technical replicate group - plates_per_rep = num_plates // args.num_tech_rep - - # Calculate concetration based on user input - conc_list = calculate_concentrations(args.start_con, args.final_con, plates_per_rep) - - # Validate the inputs - valid = validate_input(args.num_tech_rep, args.start_con, args.final_con, num_plates, conc_list) - if not valid: - return # Exit the function if validation fails - - # Populating plates in master_dict with tech_rep and corresponding conc-val. - populate_rep_conc(master_dict, plates_per_rep, conc_list) - - # Compute MIC or HC50 based on user selection - compute_selected_assay(args.assay, master_dict) - - -if __name__ == "__main__": - main() diff --git a/README.md b/README.md index 18fb7cc..fe4b241 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,159 @@ -# CytEx -This GitHub repository contains a Python program that extracts plate reads from raw Excel files and repositions the data for downstream analysis. With its ability to handle multiple plates per file and user-friendly design, it's a valuable tool for researchers and scientists who need to efficiently analyze large sets of plate read data. +

+ MAP-Logo +

+ +# Microdilution Assay Processor (MAP) +MAP automates data processing and analysis for high-throughput and manual microdilution assays, efficiently calculating Minimum Inhibitory Concentration (MIC), Half-Maximal Hemolytic Concentration (HC50), and Half-Maximal Cytotoxic Concentration (CC50), and generating comprehensive experimental reports. + +# Table of Contents +1. [Microdilution Assay Processor (MAP)](#microdilution-assay-processor-map) +2. [Installation](#installation) +3. [Dependencies](#dependencies) +4. [Data Structure](#data-structure) +5. [Input](#input) +6. [Assay Analysis](#assay-analysis) +7. [Usage](#usage) +8. [Example Command](#example-command) + +# Installation +## Clone the Repository +To clone the MAP repository, use the following command: +``` +git clone https://github.com/bcgsc/MAP.git +cd MAP +``` + +## Create a Conda Environment +First, create a new Conda environment: +``` +conda create --name map python=3.10.12 +conda activate map +``` +## Install MAP +Once the environment is activated, install MAP using the following command at the root directory.: +``` +pip install . +map --version +``` +## Testing Installation +To ensure MAP works as intended, run the test files as follows: + +``` +chmod +x run_tests.sh +./run_tests.sh +``` + +The test results will be saved in the `tests/test_results` directory. Compare the contents of this directory with the expected results in the `tests/expected_results` directory to verify that MAP worked as expected. + +# Dependencies +MAP requires the following dependencies that are installed during installation: +* python 3.10.12+ +* pandas +* numpy +* progress +* openpyxl +* xlsxwriter + +# Data Structure +MAP organizes its data using a hierarchical dictionary structure. This structure supports scalability and flexibility, allowing easy addition of plates, wells, or assay types. It reduces redundancy, speeds up data retrieval, and clearly defines relationships for analysis. + +### MAP Dictionary: +- **Plates**: The top-level dictionary containing all the plates processed in the assay. + - **Plate**: Each plate is uniquely identified within the Plates dictionary. + - **Wells**: A dictionary containing information about each well in the plate. + - **Well**: The key is the well identifier (e.g., “A1”, “B2”). + - **Absorbance Value**: The absorbance reading for that specific well. + - **Synthesis ID**: An identifier for the synthesized compound tested in that well. + - **Antimicrobial Compound Name (AMC)**: The name of the antimicrobial compound tested. + - **Concentration Value**: The concentration of the compound. + - **MIC, HC50, or CC50 value**: The determined value for MIC (Minimum Inhibitory Concentration), HC50 (Half-Maximal Hemolytic Concentration), or CC50 (Half-Maximal Cytotoxic Concentration), depending on the assay. + - **Technical Replicate Number**: Identifies the replicate group for well +- **Absorbance Threshold**: The provided threshold value for AST or the calculated threshold for HC50 or CC50 assays. + +# Input +MAP requires two main input files in Excel format: raw data and matrix. Ensure your input files match the provided requirements. For reference templates, please check the `template` directory. + +## Raw Data +For both manual and high-throughput assays, the Excel file must contain plate read data in the form of 96-well plates, where: +- 96-well plates must have column headers (1-12) and row identifiers (A-H). + +

+ Raw-Data" +

+ +### High-Throughput: +In high-throughput assays, concentration changes across plates are expected: +- The first plate in the raw data should have the highest concentration, and the last plate should have the lowest concentration. + - For assays with technical replicates, the replicate groups should appear sequentially. Within each group, plates should be ordered from highest to lowest concentration. + +### Manual: +In manual assays, concentration changes across rows where the concentration decrease from left to right in each row. + +## Matrix +### High-Throughput: +A single sheet with the following columns: +- **well**: Specifies the well location (e.g., A1, B12). +- **synth_id**: The synthesis identifier for the compound in the well. +- **amc**: The antimicrobial compound name or treatment name. + +### Manual: +A single sheet with the following columns: +- **well**: Specifies the well range in a horizontal or vertical array of wells: + - In horizontal ranges, the row identifier remains unchanged and only the column header changes (e.g., A1-A12). + - In vertical ranges, the column header remains unchanged and only the row identifier changes (e.g., A12-H12). +- **synth_id**: The synthesis identifier for the compound in the well. +- **amc**: The antimicrobial compound name or treatment name. + + +# Assay Analysis +Detailed methodologies for calculating MIC, CC50, and HC50 can be found in the `methods` directory. + + +# Usage + +```plaintext +usage: map [-h] [--version] -a {ast,hc50,cc50} -o {manual,hts} [-p PREFIX] -d RAW_DATA -m MATRIX [-r NUM_TECH_REP] -s START_CON -f + FINAL_CON [-t THRESHOLD] [-e OUTPUT_DIR] + +MAP: Microdilution Assay Processor + +options: + -h, --help show this help message and exit + --version show program's version number and exit + -a {ast,hc50,cc50}, --assay {ast,hc50,cc50} + Assay type, antimicrobial susceptibility testing, hemolysis assay, or AlamarBlue assay + -o {manual,hts}, --operation_mode {manual,hts} + Operation mode, manual or high-throughput + -p PREFIX, --prefix PREFIX + Prefix for the output Excel file + -d RAW_DATA, --raw_data RAW_DATA + Excel file containing the raw plate reader data in format of 96-well plates + -m MATRIX, --matrix MATRIX + Excel file containing the matrix map, specifying the treatment name (amc) and ID (Synth ID) + -r NUM_TECH_REP, --num_tech_rep NUM_TECH_REP + Number of technical replicates used in high-throughput assay + -s START_CON, --start_con START_CON + Starting concentration (highest concentration) of the assay + -f FINAL_CON, --final_con FINAL_CON + Final concentration (lowest concentration) of the assay + -t THRESHOLD, --threshold THRESHOLD + Absorbance threshold for determination of minimum inhibitory concentration (Default = 0.4999) + -e OUTPUT_DIR, --output_dir OUTPUT_DIR + Directory for the output Excel file +``` + +# Example Command +``` +map -a ast -o hts -p E.coli_ATCC_25922_Hts -d path/to/data.xlsx -m path/to/matrix.xlsx -r 2 -s 128 -f 1 -t 0.49 -e path/to/output +``` +This command runs the MAP with the following options: +- **-a ast:** Specifies the assay type as Antimicrobial Susceptibility Testing (AST). +- **-o hts:** Sets the operation mode to high-throughput . +- **-p demo:** Prefixes the output file with "E.coli_ATCC_25922_Hts". +- **-d path/to/data.xlsx:** Path to the raw data Excel file. +- **-m path/to/matrix.xlsx:** Path to the matrix Excel file. +- **-r 2:** Number of technical replicates. +- **-s 128:** Starting concentration. +- **-f 1:** Final concentration. +- **-t 0.4999:** Absorbance threshold. +- **-e path/to/output:** Directory for the output Excel file. \ No newline at end of file diff --git a/.pylintrc b/bin/.pylintrc similarity index 100% rename from .pylintrc rename to bin/.pylintrc diff --git a/logo/MAP-Logo.png b/logo/MAP-Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dff6316d26a994e8d8caf559bd4429dd260b84db GIT binary patch literal 72138 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 literal 0 HcmV?d00001 diff --git a/logo/MAP-Logo.svg b/logo/MAP-Logo.svg new file mode 100644 index 0000000..5fd7605 --- /dev/null +++ b/logo/MAP-Logo.svg @@ -0,0 +1,2 @@ +MAP + \ No newline at end of file diff --git a/logo/Manual-vs-Hts.png b/logo/Manual-vs-Hts.png new file mode 100644 index 0000000000000000000000000000000000000000..21bff85d6a30e2e3b403b8369de0a43f4c12fac3 GIT binary patch literal 448158 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

r1sa_Lv;!4vt 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

a-K*Ff=YxB9lo3gXOyGI|K+5U=Fma@T|Fa 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 literal 0 HcmV?d00001 diff --git a/logo/Manual-vs-Hts.svg b/logo/Manual-vs-Hts.svg new file mode 100644 index 0000000..022f922 --- /dev/null +++ b/logo/Manual-vs-Hts.svg @@ -0,0 +1 @@ +High-throughputPlate 1Plate 2Plate 3Plate 1Manual \ No newline at end of file diff --git a/map/__init__.py b/map/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/map/main.py b/map/main.py new file mode 100755 index 0000000..1cee307 --- /dev/null +++ b/map/main.py @@ -0,0 +1,628 @@ +""" +MAP 1.0.1 +""" +import argparse +import os +from datetime import datetime +import pandas as pd +import numpy as np +from progress.bar import FillingCirclesBar + +def excel_file(input_path): + """ + Validate the file format for "raw_data" and "matrix". + """ + _, ext = os.path.splitext(input_path) + if ext not in ['.xlsx', 'xls']: + raise argparse.ArgumentTypeError(f"{input_path} is not an Excel file") + return input_path +parser = argparse.ArgumentParser(description="MAP: Microdilution Assay Processor ") +parser.add_argument('--version', action='version', version='MAP 1.0.1') +parser.add_argument("-a", "--assay", help ="Assay type, antimicrobial susceptibility testing, hemolysis assay, or AlamarBlue assay", type=str, choices=['ast', 'hc50','cc50'], required = True) +parser.add_argument("-o", "--operation_mode", help ="Operation mode, manual or high-throughput", type=str, choices=['manual', 'hts'], required = True) +parser.add_argument("-p", "--prefix", help = "Prefix for the output Excel file", type = lambda s: s.replace(" ", "-"), required = False, default="Sample_name") +parser.add_argument("-d", "--raw_data", help = "Excel file contaning the raw plate reader data in format of 96-well plates", type = excel_file, required = True) +parser.add_argument("-m", "--matrix", help = "Excel file contaning the matrix map, specifying the treatment name (amc) and ID (Synth ID)", type = excel_file, required = True) +parser.add_argument("-r", "--num_tech_rep", help = "Number of technical replicates used in high-throughput assay",type = int, required= False, default = 2) +parser.add_argument("-s", "--start_con", help = "Starting concentration (highest concentration) of the assay", type = float, required = True) +parser.add_argument("-f", "--final_con", help = "Final concentration (lowest concentration) of the assay", type = float, required = True) +parser.add_argument("-t", "--threshold", help = "Absorbance threshold for determination of minimum inhibitory concetration (Default = 0.4999)", type = float, required = False, default = 0.4999) +parser.add_argument("-e", "--output_dir", help = "Directory for the output Excel file", type = str, required = False, default = "results") +args = parser.parse_args() + +def detect_plate(row, col, raw_data_array): + """Detect the start of a new plate using the markers "A" and 1.""" + cell = raw_data_array[row, col] + cell_south = raw_data_array[row + 1, col] + cell_east = raw_data_array[row, col + 1] + return pd.isna(cell) and cell_south == "A" and cell_east == 1 + +def expand_well_ranges(matrix_data): + """Expand ranges of wells for the manual matrix map""" + new_rows = [] + for _, row in matrix_data.iterrows(): + well_range = row['well'].split('-') + if len(well_range) == 2: + start_well, end_well = well_range + start_row, start_col = ord(start_well[0]), int(start_well[1:]) + end_row, end_col = ord(end_well[0]), int(end_well[1:]) + if start_row == end_row: + for col in range(start_col, end_col + 1): + new_row = row.copy() + new_row['well'] = f"{chr(start_row)}{col}" + new_rows.append(new_row) + else: + if start_col == end_col: + for row_char in range(start_row, end_row + 1): + new_row = row.copy() + new_row['well'] = f"{chr(row_char)}{start_col}" + new_rows.append(new_row) + else: + for row_char in range(start_row, end_row + 1): + if row_char == start_row: + col_start, col_end = start_col, 13 + elif row_char == end_row: + col_start, col_end = 1, end_col + 1 + else: + col_start, col_end = 1, 13 + for col in range(col_start, col_end): + new_row = row.copy() + new_row['well'] = f"{chr(row_char)}{col}" + new_rows.append(new_row) + else: + new_rows.append(row) + return pd.DataFrame(new_rows) + + + +def process_plate(row, col, raw_data_array, matrix_data, master_dict, plate_num, operation_mode): + """ + Process the detected plate to capture absorbance value, synth_id, and amc. + """ + if operation_mode == 'manual': + master_dict[plate_num] = {'rows': {}} + for i in range(8): + row_id = chr(ord('A') + i) + master_dict[plate_num]['rows'][row_id] = {'wells': {}} + for j in range(12): + well = chr(ord('A') + i) + str(j + 1) + abs_val = raw_data_array[row + 1 + i, col + 1 + j] + matrix_row = matrix_data[(matrix_data['well'] == well) & (matrix_data['plate_number'] == plate_num)] + master_dict[plate_num]['rows'][row_id]['wells'][well] = {'abs_val': abs_val} + if not matrix_row.empty: + master_dict[plate_num]['rows'][row_id]['wells'][well]['synth_id'] = matrix_row['synth_id'].values[0] + master_dict[plate_num]['rows'][row_id]['wells'][well]['amc'] = matrix_row['amc'].values[0] + else: + master_dict[plate_num] = {'wells': {}} + for i in range(8): + for j in range(12): + well = chr(ord('A') + i) + str(j + 1) + master_dict[plate_num]['wells'][well] = {'abs_val': raw_data_array[row + 1 + i, col + 1 + j]} + matrix_row = matrix_data[matrix_data['well'] == well] + if not matrix_row.empty: + master_dict[plate_num]['wells'][well]['synth_id'] = matrix_row['synth_id'].values[0] + master_dict[plate_num]['wells'][well]['amc'] = matrix_row['amc'].values[0] + +def process_data(raw_data_path, matrix_path, operation_mode): + """Process the raw data and return a master dictionary with processed plate data.""" + raw_data = pd.read_excel(raw_data_path) + matrix_data = pd.read_excel(matrix_path) + if operation_mode == 'manual': + matrix_data = expand_well_ranges(matrix_data) + raw_data_array = raw_data.to_numpy() + num_rows, num_cols = raw_data_array.shape + num_plates = 0 + master_dict = {'plates': {}} + total_cells = (num_rows - 1) * (num_cols - 1) + progress_bar = FillingCirclesBar('Processing data: ', max=total_cells) + for row in range(num_rows - 1): + for col in range(num_cols - 1): + if detect_plate(row, col, raw_data_array): + num_plates += 1 + process_plate(row, col, raw_data_array, matrix_data, master_dict['plates'], num_plates, operation_mode) + progress_bar.next() + progress_bar.finish() + return master_dict, num_plates + +def calculate_concentrations(start_con, final_con, plates_per_rep, operation_mode, master_dict): + """Calculate Concentrations based on user input.""" + if args.operation_mode == 'manual': + wells = master_dict['plates'][1]['rows']['A']['wells'].values() + wells_per_treatment = sum(details.get('amc') not in ["Growth Control", "Sterility Control"] for details in wells) + num_points = plates_per_rep if operation_mode == 'hts' else wells_per_treatment + conc_list = np.logspace(np.log2(start_con), np.log2(final_con), num_points, base=2) + conc_list = np.around(conc_list, decimals=3) + conc_list = [int(val) if np.isclose(val, int(val)) else val for val in conc_list] + return conc_list + +def validate_input(num_tech_rep, start_con, final_con, num_plates, conc_list, operation_mode): + """Validate Experimental Setup""" + if operation_mode == 'hts': + if num_tech_rep > num_plates: + print("Number of technical replicates cannot exceed the number of plates.") + return False + if num_plates % num_tech_rep != 0: + print("Number of plates is not divisible by the number of technical replicates.") + return False + if start_con <= final_con: + print("Starting concentration cannot be smaller than final concentration.") + return False + for i, j in zip(conc_list, conc_list[1:]): + ratio = i / j + if not (np.isclose(ratio, 2) or np.isclose(ratio, 5) or np.isclose(ratio, 10)): + print("The concentrations do not follow a 1:2, 1:5, or 1:10 dilution pattern.") + return False + return True + +def assign_manual_rep(master_dict): + """Determine technical replicate for each row of the manual plates and populate master_dict.""" + combination_counts = {} + for plate_data in master_dict['plates'].values(): + for row_data in plate_data['rows'].values(): + first_well = next(iter(row_data['wells'].values())) + combination_key = (first_well['amc'], first_well['synth_id']) + tech_rep_num = combination_counts.get(combination_key, 0) + 1 + combination_counts[combination_key] = tech_rep_num + for well_data in row_data['wells'].values(): + well_data['tech_rep'] = tech_rep_num + return master_dict + +def assign_conc_manual(master_dict, conc_list): + """ Populates concentrations in the master_dict for manual plates, excluding Sterility Control and Growth Control""" + conc_idx = 0 + total_conc_assignments = len(conc_list) + for plate_data in master_dict['plates'].values(): + for row_data in plate_data['rows'].values(): + for well_data in row_data['wells'].values(): + if well_data['amc'] not in ['Sterility Control', 'Growth Control']: + well_data['conc_val'] = conc_list[conc_idx % total_conc_assignments] + conc_idx += 1 # Move to the next concentration + return master_dict + +def populate_rep_conc_hts(master_dict, plates_per_rep, conc_list): + """Populate the master_dict with technical replicate identifiers (tech_rep) and concentration values (conc_val).""" + num_plates = len(master_dict['plates']) + for plate_number in master_dict['plates']: + tech_rep = ((plate_number - 1) // plates_per_rep) + 1 + conc_val = conc_list[(plate_number - 1) % plates_per_rep] + master_dict['plates'][plate_number]['tech_rep'] = tech_rep + master_dict['plates'][plate_number]['conc_val'] = conc_val + +def add_notes(concentrations_above_threshold): + """Constructs a note for wells with absorbance values above the threshold after the MIC well.""" + if concentrations_above_threshold: + concentration_word = "concentration" if len(concentrations_above_threshold) == 1 else "concentrations" + concs = ", ".join(map(str, concentrations_above_threshold)) + return f"At {concentration_word} {concs}, absorbance values greater than the threshold were observed." + else: + return "" + +def determine_mic_manual(master_dict): + """Determine MIC for manual operation mode""" + total_wells = sum(len([data + for data in row['wells'].values() + if data.get('amc') not in ["Sterility Control", "Growth Control"]]) + for plate in master_dict['plates'].values() + for row in plate['rows'].values()) + progress_bar = FillingCirclesBar('Determining MIC: ', max=total_wells) + for plate_num, plate_data in master_dict['plates'].items(): + for row_id, row_data in plate_data['rows'].items(): + filtered_wells = { + well: data for well, data in row_data['wells'].items() + if 'conc_val' in data and data.get('amc') not in ["Sterility Control", "Growth Control"]} + sorted_wells = sorted(filtered_wells.items(), key=lambda x: x[1]['conc_val']) + mic_value = None + concentrations_above_threshold = [] + mic_found = False + for well, data in sorted_wells: + progress_bar.next() + if data['abs_val'] <= args.threshold and not mic_found: + mic_value = data['conc_val'] + mic_found = True + elif mic_found and data['abs_val'] > args.threshold: + concentrations_above_threshold.append(data['conc_val']) + if mic_value is None and sorted_wells: + highest_concentration = args.start_con + mic_value = f">{highest_concentration}" + additional_note = add_notes(concentrations_above_threshold) if mic_value is not None else "" + for _, data in filtered_wells.items(): + data['mic'] = mic_value + data.setdefault('note', '') + if additional_note: + data['note'] += (" " + additional_note if data['note'] else additional_note) + progress_bar.finish() + +def determine_mic_hts(master_dict): + """ + Determine the Minimum Inhibitory Concentration (MIC) for each well in the master dictionary. + """ + total_tech_reps = args.num_tech_rep + tech_reps = set(range(1, total_tech_reps + 1)) + total_wells = len(next(iter(master_dict['plates'].values()))['wells']) + progress_bar = FillingCirclesBar('Determining MIC: ', max=total_tech_reps * total_wells) + for tech_rep in tech_reps: + plates_in_rep = [plate_data + for plate_data in master_dict['plates'].values() + if plate_data['tech_rep'] == tech_rep] + for well in plates_in_rep[0]['wells']: + mic_value = None + concentrations_above_threshold = [] + for plate_data in sorted(plates_in_rep, key=lambda x: x['conc_val']): + abs_val = plate_data['wells'][well]['abs_val'] + amc = plate_data['wells'][well].get('amc') + if amc in ["Sterility Control", "Growth Control"]: + mic_value = "N/A" + break + if abs_val <= args.threshold and mic_value is None: + mic_value = plate_data['conc_val'] + elif abs_val > args.threshold and mic_value is not None: + concentrations_above_threshold.append(plate_data['conc_val']) + additional_note = add_notes(concentrations_above_threshold) + if mic_value is None: + highest_concentration = args.start_con + mic_value = f">{highest_concentration}" + for plate_data in plates_in_rep: + plate_data['wells'][well]['mic'] = mic_value + if additional_note: + plate_data['wells'][well].setdefault('note', '') + plate_data['wells'][well]['note'] += (" " + additional_note if plate_data['wells'][well]['note'] else additional_note) + progress_bar.next() + progress_bar.finish() + +def determine_hc50_cc50_manual(master_dict, assay): + """Determine the Hemolytic Concentration 50 (HC50) or Cytotoxic Concentration 50 (CC50) for manual operation mode.""" + positive_controls = [] + negative_controls = [] + for plate in master_dict['plates'].values(): + for row in plate['rows'].values(): + for data in row['wells'].values(): + if data.get('amc') == "Growth Control": + positive_controls.append(data['abs_val']) + elif data.get('amc') == "Sterility Control": + negative_controls.append(data['abs_val']) + avg_positive = sum(positive_controls) / len(positive_controls) if positive_controls else 0 + avg_negative = sum(negative_controls) / len(negative_controls) if negative_controls else 0 + absorbance_range = avg_positive - avg_negative if assay == 'hc50' else avg_negative - avg_positive + non_control_wells = sum( + 1 for plate in master_dict['plates'].values() for row in plate['rows'].values() + for well in row['wells'].values() if well.get('amc') not in ["Growth Control", "Sterility Control"]) + progress_bar = FillingCirclesBar(f'Determining {assay.upper()}: ', max=non_control_wells) + for plate_num, plate_data in master_dict['plates'].items(): + absorbance_at_target = avg_negative + (0.50 * absorbance_range) if assay == 'hc50' else avg_positive + (0.50 * absorbance_range) + for row_id, row_data in plate_data['rows'].items(): + target_value = None + sorted_wells = sorted([(well, data) for well, data in row_data['wells'].items() if 'conc_val' in data], key=lambda item: item[1]['conc_val']) + for well, data in sorted_wells: + progress_bar.next() + if data.get('amc') in ["Growth Control", "Sterility Control"]: + continue + data[f'abs_at_{assay}'] = absorbance_at_target + if ((data['abs_val'] >= absorbance_at_target and assay == 'hc50') or + (data['abs_val'] <= absorbance_at_target and assay == 'cc50')) and target_value is None: + target_value = data['conc_val'] + break + if target_value is not None: + for well, data in row_data['wells'].items(): + if data.get('amc') not in ["Growth Control", "Sterility Control"]: + data[assay] = target_value + progress_bar.next() + else: + highest_concentration = args.start_con + for well, data in row_data['wells'].items(): + if data.get('amc') not in ["Growth Control", "Sterility Control"]: + data[assay] = f">{highest_concentration}" + progress_bar.finish() + + +def determine_hc50_hts(master_dict): + """Determine the Hemolytic activity (HC50) for each well in the master dictionary.""" + total_tech_reps = args.num_tech_rep + tech_reps = set(range(1, total_tech_reps + 1)) + total_wells = len(next(iter(master_dict['plates'].values()))['wells']) + progress_bar = FillingCirclesBar('Determining HC50: ', max=total_tech_reps * total_wells) + for tech_rep in tech_reps: + plates_in_rep = [plate_data + for plate_data in master_dict['plates'].values() if plate_data['tech_rep'] == tech_rep] + plates_in_rep = sorted(plates_in_rep, key=lambda x: x['conc_val']) + positive_controls = [well_data['abs_val'] + for plate_data in plates_in_rep + for well_data in plate_data['wells'].values() + if well_data.get('amc') == "Growth Control"] + negative_controls = [well_data['abs_val'] + for plate_data in plates_in_rep + for well_data in plate_data['wells'].values() + if well_data.get('amc') == "Sterility Control"] + avg_positive = sum(positive_controls) / len(positive_controls) if positive_controls else 0 + avg_negative = sum(negative_controls) / len(negative_controls) if negative_controls else 0 + absorbance_range = avg_positive - avg_negative + absorbance_at_hc50 = avg_negative + (0.50 * absorbance_range) + for plate_data in plates_in_rep: + plate_data['abs_at_hc50'] = absorbance_at_hc50 + for well in plates_in_rep[0]['wells']: + amc_value = plates_in_rep[0]['wells'][well].get('amc') + if amc_value in ["Growth Control", "Sterility Control"]: + hc50_value = "N/A" + else: + hc50_value = next((plate_data['conc_val'] + for plate_data in plates_in_rep + if plate_data['wells'][well]['abs_val'] >= absorbance_at_hc50), None) + if hc50_value is None: + hc50_value = f">{plates_in_rep[-1]['conc_val']}" + for plate_data in plates_in_rep: + plate_data['wells'][well]['hc50'] = hc50_value + progress_bar.next() + progress_bar.finish() + +def compute_selected_assay(assay, master_dict, operation_mode): + """Compute the selected assay metric (MIC or HC50) and update the master_dict""" + if assay == 'ast': + if operation_mode == 'hts': + determine_mic_hts(master_dict) + if operation_mode == 'manual': + determine_mic_manual(master_dict) + if assay == 'hc50': + if operation_mode =='hts': + determine_hc50_hts(master_dict) + if operation_mode == 'manual': + determine_hc50_cc50_manual(master_dict, assay) + if assay == "cc50": + determine_hc50_cc50_manual(master_dict, assay) + +def generate_excel(master_dict, assay, prefix, operation_mode, output_dir): + """Generate an Excel file output containing different sheets using the master_dict""" + total_steps = 2 if operation_mode == 'manual' else 3 + progress_bar = FillingCirclesBar('Generating Excel: ', max=total_steps) + date = datetime.now().strftime('%Y%m%d') + file_name = f"{prefix}_{assay.upper()}_{date}" + counter = 0 + if not os.path.exists(output_dir): + os.makedirs(output_dir) + output_path = os.path.join(output_dir, f"{file_name}.xlsx") + while os.path.exists(output_path): + counter += 1 + output_path = os.path.join(output_dir, f"{file_name}_{counter}.xlsx") + with pd.ExcelWriter(output_path, engine='xlsxwriter') as writer: + if operation_mode == 'manual': + create_visual_data_sheet_manual(master_dict, writer, assay, progress_bar) + create_mic_c50_sheet_manual(master_dict, writer, assay, progress_bar) + if operation_mode == 'hts': + create_visual_data_sheet_hts(master_dict, assay, writer, progress_bar) + create_mic_hc50_sheet_hts(master_dict, assay, writer, progress_bar) + create_raw_plate_sheet(master_dict, assay, writer, progress_bar) + progress_bar.finish() + print(f"\033[92mExcel output has been saved to {output_path}\033[0m") +def cell_formats(workbook): + """Initialize and return common cell formats for use in Excel sheets""" + header_format = workbook.add_format({'bold': True,'align': 'center','valign': 'vcenter','border': 1}) + cell_format = workbook.add_format({'align': 'center','valign': 'vcenter','border': 1}) + return header_format, cell_format + +def initialize_worksheet(writer, sheet_name): + """Initialize Excel worksheet and formating """ + workbook = writer.book + worksheet = workbook.add_worksheet(sheet_name) + writer.sheets[sheet_name] = worksheet + header_format, cell_format = cell_formats(workbook) + return workbook, worksheet, header_format, cell_format + +def create_visual_data_sheet_manual(master_dict, writer, assay, progress_bar): + """ Create the visual data Excel sheet for manual assay """ + workbook, worksheet, header_format, cell_format = initialize_worksheet(writer, 'Visual_Data') + if assay == 'ast': + column_widths = {'B:B': 6, 'C:N': 6, 'O:O': 14, 'P:P': 9, 'Q:R': 6, 'S:S': 70} + if assay == 'hc50': + column_widths = {'B:B': 6, 'C:N': 6, 'O:O': 14, 'P:P': 9, 'Q:Q': 6, 'R:R': 70} + if assay == 'cc50': + column_widths = {'B:B': 6, 'C:N': 6, 'O:O': 14, 'P:P': 9, 'Q:Q': 6, 'R:R': 70} + for columns, width in column_widths.items(): + worksheet.set_column(columns, width) + row_index = 1 + assay_column_header = "CC50" if assay == "cc50" else "HC50" if assay == "hc50" else "MIC" + additional_headers = ["Synth_ID", "AMC", assay_column_header] + (["MBC"] if assay == "ast" else []) + ["Notes"] + for plate_number, plate_data in master_dict['plates'].items(): + column_headers = [''] * 12 + for row_data in plate_data['rows'].values(): + for col_num, (_, well_info) in enumerate(row_data['wells'].items(), start=2): + key = well_info.get('amc', '') + column_headers[col_num-2] = '+' if 'Growth Control' in key else '-' if 'Sterility Control' in key else well_info.get('conc_val', 'N/A') + worksheet.merge_range(row_index, 1, row_index, len(column_headers) + len(additional_headers) + 1, f"Plate {plate_number}", header_format) + row_index += 1 + for col_index, header in enumerate([''] + column_headers + additional_headers, start=1): + worksheet.write(row_index, col_index, header, header_format) + row_index += 1 + for row, row_data in sorted(plate_data['rows'].items()): + worksheet.write(row_index, 1, row, header_format) + for col_num, (well_id, well_data) in enumerate(row_data['wells'].items(), start=2): + worksheet.write(row_index, col_num, well_data.get('abs_val', ""), cell_format) + first_well = next(iter(row_data['wells'].values())) + well_data = [first_well.get('synth_id', ''), + first_well.get('amc', ''), + first_well.get(assay_column_header.lower(), '')] + \ + ([] if assay == "hc50" or assay == "cc50" else ['']) + \ + [first_well.get('note', '')] + for col_num, data in enumerate(well_data, start=len(column_headers) + 2): + worksheet.write(row_index, col_num, data, cell_format) + row_index += 1 + min_color = "#E599FF" if assay == 'cc50' else "#FFFFFF" + max_color = "#F94449" if assay == "hc50" else ("#FFCCCC" if assay == "cc50" else "#FFE599") + colour_scale_option = { + 'type': '2_color_scale', + 'min_color': min_color, + 'max_color': max_color} + worksheet.conditional_format(row_index - len(plate_data['rows']), + 1, row_index - 1, len(column_headers) + 1, + colour_scale_option) + row_index += 2 + progress_bar.next() + +def create_mic_c50_sheet_manual(master_dict, writer, assay, progress_bar): + """Create the MIC-MBC, HC50, or CC50 Excel sheet for manual assay operation mode.""" + date_str = datetime.now().strftime('%Y%m%d') + sheet_name_mapping = {'ast': f'MIC-MBC_{date_str}', + 'hc50': f'HC50_{date_str}', + 'cc50': f'CC50_{date_str}'} + sheet_name = sheet_name_mapping[assay] + workbook, worksheet, header_format, cell_format = initialize_worksheet(writer, sheet_name) + headers = ['Synth_ID', 'AMC'] + if assay == 'ast': + headers += ['MIC', 'MBC'] + else: + headers.append(assay.upper()) + for col_num, header in enumerate(headers, start=0): + worksheet.write(0, col_num, header, header_format) + row_num = 1 + for plate_data in master_dict['plates'].values(): + for row_data in plate_data['rows'].values(): + first_well_key = next(iter(row_data['wells'])) + first_well_data = row_data['wells'][first_well_key] + row_values = [first_well_data.get('synth_id', ''), first_well_data.get('amc', '')] + if assay == 'ast': + row_values += [first_well_data.get('mic', 'N/A'), first_well_data.get('mbc', '')] # Placeholder for MBC + else: + row_values.append(first_well_data.get(assay, 'N/A')) + for col_num, value in enumerate(row_values, start=0): + worksheet.write(row_num, col_num, value, cell_format) + row_num += 1 + worksheet.set_column('A:A', 14) # Synth_ID + worksheet.set_column('B:B', 9) # AMC + worksheet.set_column('C:D', 6) # Concentration values + progress_bar.next() + +def create_visual_data_sheet_hts(master_dict, assay, writer, progress_bar): + """ Create the "Visual_Data" sheet """ + workbook, worksheet, header_format, cell_format = initialize_worksheet(writer, 'Visual-Data') + reference_plate_wells = next(iter(master_dict['plates'].values()))['wells'].keys() + tech_reps = {plate_data['tech_rep'] for plate_data in master_dict['plates'].values()} + first_row = 0 + first_col = 0 + for index, tech_rep in enumerate(tech_reps): + plates_in_rep = sorted( + [plate_data for plate_data in master_dict['plates'].values() if plate_data['tech_rep'] == tech_rep], + key=lambda x: x['conc_val'], + reverse=True) + result_header = 'MIC' if assay == 'ast' else 'HC50' + headers = ['AMC'] + [str(plate['conc_val']) for plate in plates_in_rep] + [result_header] + for col, header in enumerate(headers, start=first_col): + worksheet.write(first_row, col, header, header_format) + worksheet.set_column(first_col, first_col, 12.5) + header_row = first_row + first_row += 1 + for well in reference_plate_wells: + well_amc_data = [plates_in_rep[0]['wells'][well].get('amc', 'N/A')] + well_amc_data += [plate['wells'][well]['abs_val'] for plate in plates_in_rep] + assay_result_key = 'mic' if assay == 'ast' else 'hc50' + well_amc_data.append(plates_in_rep[0]['wells'][well].get(assay_result_key, 'N/A')) + for col, item in enumerate(well_amc_data, start=first_col): + worksheet.write(first_row, col, item, cell_format) + first_row += 1 + abs_first_col = first_col + 1 + abs_last_col = first_col + len(plates_in_rep) + max_colour = "#F94449" if assay == "hc50" else "#FFE599" + min_colour = "#FFFFFF" + for col in range(abs_first_col, abs_last_col + 1): + worksheet.conditional_format(header_row + 1, col, first_row - 1, col, { + 'type': '2_color_scale', + 'min_color': min_colour, + 'max_color': max_colour}) + # Adjust start column for the next technical replicate + first_col += len(headers) + 2 + first_row = 0 + progress_bar.next() + +def create_mic_hc50_sheet_hts(master_dict, assay, writer, progress_bar): + """ Create the "MIC-HC50" sheet """ + current_date = datetime.now().strftime('%Y%m%d') + sheet_name = 'HC50-' + current_date if assay == 'hc50' else 'MIC-MBC_' + current_date + workbook, worksheet, header_format, cell_format = initialize_worksheet(writer, sheet_name) + assay_col_prefix = 'HC50' if assay == 'hc50' else 'MIC' + assay_result_key = assay_col_prefix.lower() + headers = ['Well', 'AMC', 'Synthesis ID'] + [f"{assay_col_prefix}-R{i+1}" for i in range(args.num_tech_rep)] + worksheet.set_column(0, len(headers) - 1, 15) + if assay == 'ast': + headers.append('MBC') + headers += ['Notes'] + for col, header in enumerate(headers): + worksheet.write(0, col, header, header_format) + notes_column_index = len(headers) - 1 + worksheet.set_column(notes_column_index, notes_column_index, 70) + well_data_compiled = {} + for plate_data in master_dict['plates'].values(): + for well, well_data in plate_data['wells'].items(): + if well_data.get('amc') in ["Growth Control", "Sterility Control"]: + continue + if well not in well_data_compiled: + well_data_compiled[well] = { + 'amc': well_data.get('amc', 'N/A'), + 'synth_id': well_data.get('synth_id', 'N/A'), + 'values': [None] * args.num_tech_rep, + 'notes': well_data.get('note', '')} + if well_data_compiled[well]['values'][plate_data['tech_rep'] - 1] is None: + well_data_compiled[well]['values'][plate_data['tech_rep'] - 1] = well_data.get(assay_result_key, 'N/A') + row = 1 + for well, data in well_data_compiled.items(): + values = [v if v is not None else 'N/A' for v in data['values']] + worksheet.write(row, 0, well, cell_format) + worksheet.write(row, 1, data['amc'], cell_format) + worksheet.write(row, 2, data['synth_id'], cell_format) + for i, value in enumerate(values): + worksheet.write(row, 3 + i, value, cell_format) + if assay == 'ast': + worksheet.write(row, 3 + args.num_tech_rep,'', cell_format) + worksheet.write(row, 4 + args.num_tech_rep if assay == 'ast' else 3 + args.num_tech_rep, data['notes'], cell_format) + row += 1 + progress_bar.next() + +def create_raw_plate_sheet(master_dict, assay, writer,progress_bar): + """ Create the "Raw-Data" sheet """ + workbook, worksheet, header_format, cell_format = initialize_worksheet(writer, 'Raw-Data') + row_letters = sorted(set(well[0] for plate in master_dict['plates'].values() for well in plate['wells'])) + column_numbers = sorted(set(int(well[1:]) for plate in master_dict['plates'].values() for well in plate['wells'])) + worksheet.set_column('A:M', 6) + first_row = 0 + for plate_number, plate_data in master_dict['plates'].items(): + worksheet.merge_range(first_row, 1, first_row, len(column_numbers), f"Plate {plate_number} - Replicate {plate_data['tech_rep']}", header_format) + first_row += 1 + for col_num, col_header in enumerate(column_numbers, start=1): + worksheet.write(first_row, col_num, col_header, header_format) + for row_num, row_letter in enumerate(row_letters, start=first_row + 1): + worksheet.write(row_num, 0, row_letter, header_format) + for col_num, col_header in enumerate(column_numbers, start=1): + well = f"{row_letter}{col_header}" + value = plate_data['wells'][well]['abs_val'] if well in plate_data['wells'] else "" + worksheet.write(row_num, col_num, value, cell_format) + worksheet.conditional_format(first_row + 1, 1, row_num, len(column_numbers), { + 'type': '2_color_scale', + 'min_color': "#FFFFFF", + 'max_color': "#F94449" if assay == "hc50" else "#FFE599"}) + first_row = row_num + 2 + progress_bar.next() + +def main(): + """ + main + """ + master_dict, num_plates = process_data(args.raw_data, args.matrix, args.operation_mode) + plates_per_rep = num_plates // args.num_tech_rep + + if args.operation_mode == 'manual': + assign_manual_rep(master_dict) + conc_list = calculate_concentrations(args.start_con, args.final_con, plates_per_rep, args.operation_mode, master_dict) + assign_conc_manual(master_dict, conc_list) + + # Calculate concetration + if args.operation_mode == 'hts': + conc_list = calculate_concentrations(args.start_con, args.final_con, plates_per_rep, args.operation_mode, master_dict) + populate_rep_conc_hts(master_dict, plates_per_rep, conc_list) + + # Validate the inputs + if not validate_input(args.num_tech_rep, args.start_con, args.final_con, num_plates, conc_list, args.operation_mode): + return + + # Compute assay + compute_selected_assay(args.assay, master_dict, args.operation_mode) + + # Generate Excel file + generate_excel(master_dict, args.assay, args.prefix, args.operation_mode, args.output_dir) + +if __name__ == "__main__": + main() diff --git a/methods/HC50_C550_Method.pdf b/methods/HC50_C550_Method.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c4923d53c12bc878b476f1071abecbdcedcc7ab3 GIT binary patch literal 107734 zcmeFZ2{e@N|1f;b%9z2}ml$J^ov~BY*w?ZaDjHj;6e6T$49XTpDwPURDQS{wEY%1Z zl%!SPsU~Srnxus`J=d+@@BjXvvBmn@Nr+Z2m%r2ZfMNLl|ULqf8WJ# z8F8E9(-No-wp4SE#Eofjsqo*8QE72*aWR`?A=cl21ENxswonl#xNhE9ni2JcO=ahVWcMYXp2J6^XLzM)ftsOCYNH>W`k z^UuN1p;T)q9%B+rw zj%AACnbAz9J%M(}ioa2Z+;5M$)r{u+xZ|w*&sy@KW+~e3^EqB>@zj2Uv$D}03v#_i zm8e0LsEz7j)uS4ImTd0`a(}AwtpiME^snR7G8>7QmkbV&IZ4V#0{t&h|DS~Xe{|yi zk+BpK)qfXEKvaC(7OIuy-$4J(I@hSQsEwQB|5G8@{wIq6WeNsUtzdfmD^cxi{`(Lz zndDd|(+tLtS$*Xw3eViQlDaO60h|riF;7Rs=ss?9_cYt^&%|Z_oq?Vit9r5C1ybRVs zl*?u$+v)I+Ei4B+hxxex)(s^44;KW*ZP}cj8UvkT`LFE%>lDOM|H&ivkjcM&=#rSW zB_J-V$xtWC&t2w!Gdm0{}1O|SlC<6&td;jLX%H7 zY<<~z0XIxJy!-X{ShD)z^VjSjr97z!%Pi0Dd$#mqg^cdV3VSqT?mGs+&!11TNos2h{;6jk|OByXUtEgy(*z#jhFPq|t!CwdE8)WZ+r~0AVY?g&Z7e*=zv7 z$%9S}uV|xokjkq6*wt?-f7WW53!iQKdi}@r@3Qz^4>z@Jb^-vu-zm`abEwp;L-(CI z+8@Wg3#@JyO`6LC*7ngYBbe*1&fioXc6~J9{I<~&%-sNhx9S_|OX0@^uAkZIsiQhK zNphoWWdV3IaBTD3qdRHPI8xFrEC;c1IQZM-$P;J(=LFi%GjlpW2LY&w6#I=#ciG^> zcL?U7Y6Sy_Eq0pH!kh*B7ihICg$jLKvvg@|0lnq?QD4JR?Vl$wU}~+3KQ1m$EiP`) zoCA^ymMZC zT_!zx91lcCOYc#n2T97U1;$3BC&UFv|j;p$223iPjr znDv4=1HdnB_lsGghs*R`55T(nao=c$jB)`0x9SG#-Gf+CPz;^-t+1#b?5)QGCga0C z1#i@%cNOX_OR<2<{^ro%9kXfQZwIC`#4Ps>Vs$yq^@wLWAd59kPKJ+J*n<~_;j?!T zOYPFB-IM+Rlr*Qbe4-jM>iV>5?gLO=pHlkbG@9fR3&4-{)vF*0ra~RC%+%u*4=6Fi zXc#bjI*t|t!NMk1RtxY#23ue3ydE#Bbz0jJfIaH_*m1b3qmXUq zh^2ROv)Ta!e0{|oX%l1qHp;I1WlNJdC@>r3WXx>>#0}vI0?J}A?D;iTbkDV%i78w9 z`G66}X*;O#{;I);5MyQNGS>%BpHp-nBYydLdee_m+wRxU8DWv>=dUz@Uvg@InV4?+ ztOY$4JgEJ4@&X2!uh^46nS;?e6AAg-gQ+X+$L11c<);on4#d+k#BWs89*uawYJ6am zBB9KpmDNEt`DyQ-TygSZ;Ij7trr8a2vIW$1UEtmGADq!ooCds}KC6d3`5y0XxO_XE zlYZaSI<`z5JPf^CvlL=1r$P=1c{rv4bXds=GZT9*s2(6B099vq^R4Y_yqhQP7mz^t zX)_Z@_PBV@LKLH@Xzo29U4A144|r8vaLYXwum&ZG{1P_^V7OmNZ&y>zgDRggN@}6x zV@pnoYrRKL;8}!_y!=URj3ZQP(ZijiPpayD)QK+y7I+h`ww@tI} z13DQFk3lx+P&);vU8TG->m1aDtZxDqoXI@0`dc}Qn!^PfeWCmrh_uCaA&PH&1I^ch zjE~7FgKPUec29mn^V{-ptm}|+$~_EZ`oM&VLW!g~DArK|5qx~Q>B>mZA*WdI)*}qq z>skV?eiVx86$_YlH_!|@h_*wL2$XzuT)$U%UD@uF!!R*jAg9kWM-Jn1(VGNCYjre7%EU&uz?h@ z)D(OfOYsJN&S5|>HfaTN6_i1$!%q^QJEl2+;eer+R1Clr&7Aa)uSN}x!@&u|^?qAv zsOn`XKF;JLZSzF1fwBP+UyEZ*PMS#b^XRfh3(}6`Vt8> z;H7N>Zry0s1bjE|B zlXtn7|M~M{_R96S?nw(5r;Z9>zoK*SabXYlS}yo61e`qz}60M5ez5aV#26_C@+)%7=vwWcEye^^Lft#jbe z=g9+#J1f+AEQl3SoIyU{I7V8mpMSg_KcxJ8f2C6pxEXEfs_gy3?qk{O5J(qbv}A8T z#n4yH$ncj&*tf8`?wo|>(a==)qIKq@xp8uj^z*O1yq-EfC$`Vk!-FxuRlKmfuA1-H z{HYz9bDIMbgYp>Q`~w$ibhxf^U@rMj`m^{-^|ykqctE=q#JlOepuA=2!wX`qQ7s+K z(fwF{c9-poe4_QcYbe8?mfT<%{ zl5Zxa$@P=6DVJ`ZAAF{(?l4Q@`*)qBngrDDkPZ5#FStMZ;QNt=!?}0BFU5^gr4GSo zQXqWF^X{}}5h>(i58$g@lo=YnCSmwfp`_u}kyg9HMF&*DY@OzCL`;}~GRHe}J&2Qo zz$9(a#l)UVa2C06r}oGDOAX~g5NfM(d|hl=WnydfrXk8tzcbfkIXOYc&Pj1EGKpLs zBOo0znQeM^Eos-?%IQ5M?kVQ)D<2L~qqN@HbWN*e0iZGcZNl4L=4QFxlRpV^mr_S++=FM1tKrFal@_1Y@dLUr-x@fP*@6JJu|H#%noj%tMZ7Y5>7sF=D-{0l z1oxi7?3TI(iD91xXACXL%t92?f^%k5N=|6eR$83wfrDczfzG0GD1X1fL~HWKC_VRs zBhL6|!3yAjT;rRazT<{{$`2K;AKt3>DRQbW4>~NFZ(XKbYHDJ*bD2B-8CQ?Ml;-$A zj;AzMhlTwbc(T7|!Ez_ets%cMd9ny|=UKhDT^ zMnQEV*P%lclx^j%4?qz`P?0P{QAn}YmLZDaIkw7^X5DAp9zbvO`g)ni-~6dJf08re zJhf`qs%Vjo>`Gh}=R4)Wn1TR8J*QGvM~kH0G0a7r_N0`Y=O$*8hM9Mjq$4jt9nD^6 zhiv%_0Z${gMW(z{W14Y_K4iG;yvXBT6g7k{%It;unON^QgWG&;GAgx5^dO@sCzS0= z8tukX?|(_(4lx;1_^BG*$Us+clHB+}S!H(Fi8p0h8VNDJ^88u9@26jWn%GWwNcJT; z#vu?|{*y8EbzFSmX!p1jXK|N2=6qN*P^~svhASriQfyOOVrntPh8A<&eOlMzzMI-F zy+v90D9|sVwjPj-gN`S8jG0r4dp38iz9EnCAFaUB7X~kR_qe1dnA7oZ$Vsmh#4()3 zp7GDi7vw67wOA;3ql=yVwMgcS!}t`Q+USi|T~=>$_SUc0LofCUu15LF&vQHM6%J|F zTBkiL7E;9I$P3WXiZ+L&Y;{r$QujQr=n3A*0ji$$)YWT5R|H2-9NBF47d(yT+tYC2 zks@6;k9&R3qXD7{L`mJpzudIb?Ujb=1^$sra^qups4#hv`%%etuXBE_hzoae2Z zi`+J;da5F^V$hVTq;`r=u(NlsheQXwzF&ewwmN~@sdwfzKLG^thS#Ae_i2}Js%oWd z*J8o%eNG-MoZ4DlO?9ZwsOm|0^v&G*V<2ab&$% zV-;@~FgrOF)b|2+#(khv=T2ud#Mn>Md*l&)tU~3qa--uk`h1uW%L}R>e}cs3_-sp` zfEPkJ(@zAUL8*&+fh!YtWz#=Hc+z)N77PX15%kwZX0EoGHpNZYkI+ zT-qAI2F-GYm!bdMWfpIE*eTbxOC#&GQWi?2US#^fQKQg<^FzmcYPY8uSR>+&JXw0n zcpCjdX0!JDBb_fKG5k?l+{%lum99_TT~4UWH}wYb#g*YlP?_$LHBVod>Y7hQ)^p;@ z&B`e& zXNHy$2m^7nqhM<(9aL)vtmmXD!SR<0K*6Cd{j2+{xwYw zrpDSLqlm|Jzj^(rUK=oP-*W4ol(^+V^oTU%DV)Vd*(E?>_~?XQ%j&R< z*LwxOW3qKqcJ_b-m5HHgwDZb8iQ{v%=2@tki2B7pZOW)wIUZuIAJYZ8tgY=UT-d zx!k?3Qp*CYdOMUB|MmEK&f>n8Dh7Ix1gf$;vgYvOJyu~~unDz`x8P@#(uEGyU1h4k zv@&3b`SrLICp9)(R|)b{Znugr7{@(5blpv?rc}5Hde-LYA*)%NGAXgz&`UA;v_j+Y zX>@v8yiZ%aec7@KkWPC#+RZtAVsWr;Q0cGj&NfPfn&tJ*@nxKFcM9_@{^jcNO&pce z3(diOi=!_cOX&eUPj57KvQafdQJ*^D);cCOdL66B(6f5LTot5SCoF%}cn0e(Rye{* z(1t{JYaI6Dmj#S32`o*h)j<7g>^8nI<@oSW5ww*TIs zNYK~*^@CGrni-j0LwSEC@JmVDPY_M8=r zb@z8=o}YA@eqFT1STN6GnAas@SitPkApQ7OaI$mW$B96m>ftu5qG7 zmv7VSWK{dO~J741r{!PR4*k0(Yb$t1+0VDf0u29~+Yie$H<#Sgqkvq5_ zg)rHJ3yu_7$}BO5dx{kc%ygjo6CzS?bA4~m`IAB2`(cLiy4e#-XV;i4>ApWKp>nex~sQ$GU`ThNvpQkjTp!2%NNdz_dlp2(6jWb{Q`Gn;}t4^O-qW1q#hN}c_U|a zOv;zfi`bf#BUib^%=`Rxzln4?Wz`%+(M0hyI+v`55839Phr`31$GZRM=;YhG?XIni zB>MZuX+Q@C)b|b&OHPat&K{mqGiqjY`2q7{4<1xe^@)fb{;~MX>~ucP1G)@qc(s$C z;I`XMX>A9W&zi?O5AlL~!|_{K%IVK9bNN*?oGwgW*MipUtemJq(!s``$DE`Kqy8NQ zW-P6H^xd^*{!uv>{sWe*w0W1UmgJea=zJVr9|_J+lNvqCDkaAU(>sjROJHgj-1`xp zD;V}2d^DTrUg2%a3>xZ0?zhg{Ep>>1P92i;$!q3oBH)0kdDy6CUHXeZ%-Qq|#35TI*mA)x5AK5?-5 z@>_Hq0@v14k({7%CY-;i*5-;iQBzCHt(G*#;T}@WfnuSbd`q9?)9Qoj9Y_sOuo-JLcW?NB(uVB8o(=O)2)9$V^Lig{Tn~!=Q+@SXP>xoOK zLOu7nZx{O{>E(jzuDqNTJASQx-?YuW0!`cpRdrh@b5go#+4@=UAZ8Y4Y2Ks-nxq?K zyNvQU=RVbtTPQg0`b`yeGd0Y1nfBv>-HpycOs&X=_<$GOjoTJUEf`ot-l1oaBMrl( zMB7&cO_^9z3|U6KbAR6 zuY5tJPId{sF6v@#2{@nm9f5p7Anji!sX7d|@$-f-Te=Gs{r8azvVUFO{_FZaO3Ro1 zGL%2p_6-K;PS5OzJE|9MMW+Y^>mO>gohJ)7FU{p&IsPZ^E_i}yHjV>ZMX!k9flTqK z(90-#he-PbJVcbd|7Os$qfFR-?I; zJx5X73M+#>kD;oHyNAG480@CLsCZT+EvpM*fB-c$SB4-6zT=O$Fou4vfjFj~%wo(J zCBrjtr$Z+~CO=?qh81=b!4CInwhjs0qK!O)!Jw-_h2tR8r-tW1Q`ZX|%gW8?EPP*b z=g1QZ_eZ6t=b>1i+;^e|DLVX0Xv(@bQ|S2}nH(N?z?HVzGxBe* zDT`+F@PIDtS9d&xvp_J6!>z$}x~z-t15I#CSOVvK`y=xSZ=mDsPUjYlxldrf8q-8rcf~o!H9ww?OvJ)h9bl$ zVHo0>eltHK_MyF0411w2$reXA058{g^FKdJSpt=N$G}ZFLjeL-D<%Th!uzq1A+Mwp z&?~)`tvrC@mE6SAk%JNBO$=KDR0HZQ|Ea+8ah+RHOa^D*S7ITGwJ+-fn$M+u{r>W$ zPIeV&x&?g}<^Jv>bY!*BND1`02}eE&`a%B!4>riX_FsnW4{r$WazE4RBF*>yLWO}` ze+lBJ#iyW{Qk+!?_EUHD@=j207S?QP0fsrfI98#X(Pb6*960sp46K?dS@#7jW1Nag zD}|NfR&*JmhrZya(bE5Ej0f!n)|y!;ra{+85>(PdSq1hP8=t{GK!W10d?TpnFViqS zWF2sO49&j}&*HGp^niVRS)8l_>rG_}7>a?qpx|L1>VoVFac)L!P(_ZTzk3N%?8y4bhq{#Mw_=tS&X z(KWpZYG!9*2AYhjRFKY65w!9WuDBEOKGp&$FEb}PmV z20IayGG-UT+zvATDft=)nQw<~<{n{=BH-i6j|7y3;3?MlIwXLSCJn=WL8CV=4+D>b zxpPqS$A=)tqqx;9c=k>r5W!;NRutrt4Vg2za*nG!zImZ|m0W~Zh)ywslc&^}3SHOWth$l*SW#m;{&7w(4(ude#zQ`Xus=I%`dAZb^gvI8^VkJQ zgJ%Vl)G0S9_XNv7V~qySh?fa>R^r0SAfZg}u5j3{Wa@q5A}q}wn?ROfg(~eTms>6<5LjmHb3I-0tTss^NR!))v{i52Sgs2e6?x)2D!|QneVB;2 ze~KV_ZpYJ2H_+f|?~!6S(t!kvmBdwI5@9*!AV>-C+2#5ujgVdGbl5im8zSM_7oGo-9|KP}O1Izhr z6zOwNq9a^*)m2CWyP&r+;mv?8ykFsG(=c4qC={T%;hC;bU{4{5zY-!C=vjgzFl;rY z0$}1F23X1vkq!}`K!gg2@D|<%DeIU3##;D-1YZon8zv&85INE?^h^JISO~c{LavAz zYg}W&Nr=qf4*@g;;12=tc7&nKL8(?l#oFMDF!-W`5ex9pd2kzyN3JeFi3bEA)>OIS zsYfBEj)EG?O)1Jb60nL3Nen3{dL6uJQh`OsG^1gX)er!@-gyLdVFp3K<)6RJAbqDB zUgQWFnm`FdP&D7t4PRppk(Gm=jBdUHZ<%tOVTE#aIj980GdJMtd?;@a%3B2KHo_Z7 z9|S>(gDOCT!FZ4n#V$j}PLPkSz9l#hiwe1x%7k}J;2Lz5zm}F3B%azQ0NdeB73-86 zo&jGyBdamv5qRW8h;u9}4w5n8RoViW;4FI%>N3p)fCe}G<2~<;j7?0hWMW~fvC3MN1rnD z(p?kHFo}?Gu)GUN$(KivIS#nW zsm+Ij3pgkw9AJ>FR&&1Zc>xsB$Iw>| z2!b&U(}Nhg+YMiU2uRvL#NLF&@&%H1Tn7#+5_%oX6_BP%AmgcJv8>~e4!I>nE(wua zLRMddDHPvHv*cPq)}nF&{}_T&Q)hVZ_s%;M^HvxXP*gxd=6+zXV$lwHwRxuoc*Zg% zpcIA;C+CurI1CckJ54Huir%E~6SyZ>Yg z_dy2yEH^wdi-I+bSf&R8h=TxxW{qDgQyCE<#mV^u?F5Bxcn?@upk6^ubssc{F3HKc z3%!oGQ*{plpmK8L5J0!QngHQRS{_Rs{IC^z5!?)26rb()xn<9-FNltX1*A3J&?Fcg zz6}C^(ODy!-|>Nc@@n?`5q2FTf^w(GlQ7RgQ*A=fOci!r*+Bv#z*tW0?ddO9H^Mto zAgU5DR3gVnfNR9bnYZAEPyDvB{-|%|YDhr2j__g!F$~UYNDYD2a%xBo0b5;5q=t~Y zUD4IQi8tvND^h}fVlAa%?jVA;E2zyPdWy^&K6m$3T4oEXkWIYFN1*8Q=JIq(Zn_M6Wu}(+&O)nb?587iufKTjvRWURVAN$sWQW7@CD7VuJ2 zYkwih^^<%&{Dw~qdyyo<&_d~U;K!NlZ<#7c&C@M8+8jiOS-0Ja2+xaTH8Uh5=$w(Z zvx505VJ>R0dfZoUmn{fxpI^X%mAu-}JdzFP1u_T1iCS$rl3-jsr?%s-mRu62cHV-o z1*8bX?@ec{Erpw|Olp@kd|5$6!pyRyx!NE)X%>)_I(yUrYexYIHZK6!8f^XZD&pj2 zaF&NR>zo(J+`%7m+ikb$3bOFJFQreCyc)v!bg*^t zu}=@~ATL|P>@713t>D9IOH0I<;lXGQygvu5YenlG%dA|e*a3Xx9(=f&2JIOzxTueSxe&A)CTQRWE+E36k>pMG!$ zDFdLRN}m@?FRi5^DFaTZ>Hk%TbUNX{&Jo{v64jNP<~cKC-S2(9_E#)(yWwAj!q;fb zBUKH?{p*cK!@b#mKCJw)3#k}>=kmStez+yB7l`zRpx1ZTh3^>uYkyOH%wNt+}D2 z53mja)1M1g{?A{qN4`t{@2|Q4FTeQzudn=DSlj;hUpl`UmbCdFTk_nowY8fsUO4>f zr|%wVfl%o-OJ;Qar0+f1qH{gy*v9?i_1|X}PaBM`9M|=|sLfcW+5htCmJHdfI70r? z1IfmP`%Lbxk~atdu zTycN$dWFO9&RM6oF%^=HZIA3O+P*zPkm=hHlDTp@?nrAo&ggOMr3mrXEl2FftRL;P z!d+CmQ2pX^@1o62i8uR{Cdaq72sgE)O65K*?yY~a+&PJJFg%wnd+N>79@8UD5igsS zq?*sDOAHR>POIbYu6?}AS!u`dq%&j9w-4GooF9mDZ1p&w8x|Ngn5a1K(ctj& z+nr_4jBgeMOI=-m_VV<*YxxR!8cxmyPYLvEhm0gWF5FhP#4mEn`-y26*EScu`?2YY zUe(>C7woWw$%B2iKiQw+HlMU|pBVpgv(M!0z4s*jq2Cz~#*<{MwpU17j+ad?k`8V< zvgqo@Ge0bGZ>D~JY*cvL)in=8?r1e1?VTKClO92+08v44A2PQtMK5#P@`Ol#B%SCl^>3> zv2PBjayQ|1_1<2XO?R*?IQk(bzN}}6eDZ_u&F0Sd{%*=M*&|j)93QgkQdQe-LcU;$ zqAhOIAvYhd9dXB0F6+!ybz2L+Th(Jk5pqpcDLCpoZR4p@CA`h=&{ZzUANSnYLUh~s zTIbD8*PPX5_^01v@w1Xjch&DS#@s^9t`{(Tc;j~#%JjI2;}!VbuH$19X_H^*?;idd z%Tm5L_XQE^O-nYu*p%&+kEd1ImOvkD+rDs+d_?y|>4FNtcMrLI;$jY(x z@jIkk#tdBi_ufMJ+?VtDK&-Vso{?x{K#0QD=G-%hs*v_|(J(CRZ67+EzM|>oEq49M z$*z{iNlSaZ%Ir5)R6ueeH0r=|`&> zGtTUZ2HSy!Gq*3A2tCc$1|&ak^L#g9ct?rx)j8Qlxc$d2bf_b7&2K7isyS*hn<&@3 zx-rDS&G!M99B0yVCH%;P1qt|o$=t8o9$n$T58nOgP3H41lQsXG{vN^0eu+EM;H%YP zup@7@ zxvHovG1a{n6aJ=m?)TeW|7?1Si);Bd@n-4Pw!94^2G3)|{~_5v9DS4&86S~LITgIU zIl943{>!xEPz(*T;Psqnqf&k{L(pB$S4ms&T%Z6yLDj$Spxp{Ke zoqF7MBQyLBLoe&cne*qS^@8QoY?Od#>$#E+rZA%I-r9#r#^U+SPVySN6eO&P8|n zDm0!@Mwh;(jbGU?mEm@_yr+H6Y(em;!oZIAoeoS->Xhxde~w)!3rLBSNznLcOq@|F zM>(U(Q?NCpaBSu9RR8RAgQoXNe^9#zCW-&^>r;`}uzj$vpe)%)2);cVIfFoSW_+q`sHas@}zpS3yNxC5=bXY33UL7xD`(KjH&~C zBaT5;ZXp_!-EUzkzb1f`W#{C0=080ISe94NQB_jc2#U(}YhmI~5doY&nEy6M(o#Dwm?y)~87If7ReD`%oHOmXgj*46_4O z3PCArTWY<<7I=Z{-Qe7;itK9CNa);sri@q@SSR-1XC51;q_9FRnMt=NZrfcg6vDVMb~^Q;$o4onE;P6+hR2DHnB8x$q5!B|B2% zk$PMKP`q+Ex-(g*0@=hGy|z2jj5S`l9u+@-0k?XdIq&`pC!b;U4?C6blCM1i=U5GF z?fxAnfs3npSh+BsNY$;+(d*xF6R^AXVm9zDNao86AFVtF`C)4IG_bAucZfkjRHMi_ z^|%x8snW=-5XO^PC1cmBrKoNGG(Zq~>T0*$(P1q$Q4)BGw-7{x899Qt_##1s*@ua) z_*sIs?;dAWk1sg|HqjjympJ4aS2X6&MvwcHjF`SnF?Cl zd(^6BDQf}UD>W3`S~X_2OLe!oBU)iQx15GWa~T@-gd9Lh*0%^}ci7gXlO+fW!UrhR zTzjv>qGs6yr5@)oY(_q#m?~4D-?jm}3Ip%e`Xls)v_0A?zow*0XjnyBiA3{9RPYGZZh1HAIZnc+Q~}M zcxMTgd+ZGeOJad}L2e6`%*Tw?SXXq^Q`gScUvRAGI89wGyhKEKiO;b848&uro7Tl+> zJ04TBiaNZs)tgkAq$cGjZm9OgOU@Gs4jdO{z8cv-#iTg}oAu z&Kj+18DE{(^Ni)~y~WeHt&nsRy8~$J&2FrHmFz3`!$7@QkIf>7c> zHBEY(>jUCOqJ;u}P-Jk7Qi1?SzGj$XlS?xq%*kvC+u zbWc70XtR5b(Jf;Ka%>4IueEa3usr6i=|i%MrO&x_IoeP`@i7pQ#isK)>|ToAW}SpbdsGb^Ey`ddY^|qLC+cV%IWPPxU5zT z?X1XlE3Vd-6kFum`wU|GooXVAvK0kU>|vRPUT0eRSzcdGwTKc_P|J1n(v^|=_1I!R zC%=X_Sh8}F`|3!lq*yzDO6mwjQv9hpbPctB-z73BgL7A2*gblld%E|^;Z-$FhxZG+ z9ZolOEi*~d#){>2^x8bPRE<&OR)x_ko13mPg(t#;pO|91oNCA`1GA_+&x_5cKlNg3 z)7*dmt`MGZ@QKQy^7<59j2c(z%`i((^7`@>7fQOnG&A=R#xw@rS2P(7#7k9C+yX|Z zFgUz*HWZhRQwA3nWv3ZLu>;Oj z%xy|3i#t()SI-J)Vjmz@WSbmOvK|SeD;9Tf-+GB_H9S+w$l8A7fskP>Q#d?(S_w15 zbRoYQ&l#r-d{UfIm6I3d610;KDrt&2)&V0}6mhqF)Hd?|F^ZlGJDZ+E$q2m55xOR# z6|i364qpx1_KcK_QS=uHa;KSX^_l`TSi|cn$ z^F`4996yVDxxzW0s4hS-(wF6Vjs!Vpm9JLJrDPa#I6|F7-;^>{%`T?{jQZ*c=mekD zMcF-XnOy-zsne`%-E;d}nIeiW^+tqO8ltT-kPYXx$8+$tgU|KazJ6F*jcCY)ogcp>NF!&wt?8| zv_6m5Coh?-BB$B!RB5I-b9z1q&!krIeZ&{i0*AhkvI5xbcY(=e4aMwfRXeg&4X?OB zW+q^fp`q-wBWAd)BTq6#wqb!d@PsZD>ZsJZMv!)Sz-eQp?hKQyKaR2!N1dpgFl0Fh zmD~*OMTZDqdK6~UyZpT~E<%j@I3D=3w%R;6tJ7p z8?mGkJCo3EXe^tI(T*2BaP>(pJ9(sK8rYF7SB~8C8eP7EIEd+TIwopr3aS)#Pk5x1 zEigsKq^xq#>$IsA(ybLJ+%NCmrHyfYt~$KXk{IgA1!=IXdalCFYNZ%o9)=8 zG)=|9$7RW~2KGV123KNMIZ}|Kf{xVFDP^bjwH!k=w(N~FFq6g3u-Xka-remeSedfx z5O$`Z9RjDTPdaDqH)!*`@17Em$|`RhGqM;wbY_fVlgiHa>M9&F(^wz=8Z}dMS3&41 zwVd~UH%y9l5yfg-_)Sa2utK5EyBgk+c0sP6Qdl87+wX%?hQg@<%LBDNK9$0l_2>B) zS&o9Boc&cV{Pt%HT*$&)DH+9#Q7qr-M0>A4-z>@mt31!0V0rHB&2?TN5(CW!B9o_{;x zETa#8DE+h#^2cjAq{;?{v9mL~mXBtY?{qrgMdyQgTp$H~4+&*?`%=ypoIW1Q)(DUQUUK%tTXWrn0N(PnP^JkF)B4#IKy;7JCL| zydf!zuPK>SjF7H6DA8%Bv|0rk+u3R^Ymcejkpgw~C4Od^lUJ$EgDqrv=-R#WVB^m$ zeX`DEIP##7RRJ<3~~}QrBATu~>CPA_e1|qGhUr=yyb7 zzr5cl(a^PZ4T&Pr$7Q(?> zCG1gR2Md+?hBHE3E-+}EdaB(c^h#sNkKToES@L4kYJtuj_ z3vGNBl{Ewub<8x@8iy3ref7UpLXB8Qa4{0^)Gz3a)HWIKN?3UaoyqyoGGe75y7LwKX)l*Y_`mC6i82l8yw*) z=>z2w5BM=>7NoR zU0Kx8+LbfbtZtx`k(i6=jj#zYaNJq0b^4ReRQTV$4$%yMMW zdBzK>lMhNO7Ikppyw|+IKz>Q2U>}?S4JyXXHYT%WHMFt)5syV!J4J157xIt=w38p% z*dr+N8R5A)y%7!p)a{++#=Q}X0;v5F4@Ht%bl^1qV5bN-6Dx9!$5F#Co7X4bgcy|m zi2EYH6ct%T&r}r~`(R-&rdLkrE01L;xl~&?+IU`=;3cPGl$MzaJ zJil~djs;*>36-RmK-7ekQ0vSWW?BZt<7Np{bv&YE5v`4=-f194v+E?qY`i%y2UPOj ztNo(NvdYJsQx3{2vO0=#q?Adb zWvQVSfyfM2t8VyOF-N2 z6Fwl`hi^(cGINfNnHdT8k2gou?1678kRxGosM2^*N2)fqH)3VEet$$884cCT>qyon z^+trjRN5Y3@Jj|`4^1IPF}r{aZ&2AKP}qR`&JnI4)-u`PAvWWI3te~#H_8#(5MLOG z-?4>W;=}pLTqf`p>JhaK#nbFgFL6<8xd13+aGa`tS&ZSTZp6crxY_d&Stt9=Ug(Ys4Q)G(o|KHFC^06onjxe9#IQ5T7 zfPUMcJTLhmMHlue^pd-{yw3igw@8h&nKC<{|2f$SWs_gYvL21ow0^3|*uY;lWj2 zH$&S+9x`ml!UuJ3H1LyUmX0;M|HW@oWu&TT*Sn^K>d^NI^&|;h*xC;~V{!$1be~oNG|}11)L-{mOBbv5@hunM9p?yM*@T^qyn`Snbz9-$C{Tja{^d9U8qv4 zHXA9z!};v8WkjB_TtzKCFu~l9$iy~Lo=60Oz1(dH(mAqne947U4c$-CT-cgWY5_v3 zf={jqSUNjitH?{2v@R#KxhezGSeNE02XtP}9om*$6Bf6eFv_Q)qWM<76WtO7vce|) zdSWqF#7cBw(=EUfpVUW7zjSG0n0pdkBzQe|0azkJHPVXb}5 zE2@T$GGteo9Zslac@-G?sGdI5xVB`6b6DN=ZM1weO}kVws^&*%&g|X;ll^ilbaj5M z(x+*2r?eIt==Dr3$9$AW?|YIer6pC6$8_1#RbWuH`}vNc!y3UWYh6(svdd$7!d#VP zPPs*5P(;p0L#lj2J_+-owMG`Ly?Ufmz+SFMCWN4O=X|=SBbn#tJs3@N2;`senPWTU zBv_ih&1DEG($2IcE8tGe@k;_S$fsKP?dFnsB=4CgM4LcSqf9t!-6NNA8YAZ_*1Rl;g2$9bKuh?sAG_tz`3my4t%Gcc?yoy68Rx z=9$TCL&u^Q5?*p-I|i@1nqpmS3tlpRdlqDkWZwXUtx!6WKs*c^hK`G8oySyf4*!2j3w~wAjmwu~4$bGv_ zDkrZjmom_RIUxPnpquJ4GV)cKU7#ot!M2niOJ5w9mPpQwrtfL$CcE@NF-H~(1Wx|s z73z7BdL-&Qt32{znRWrK_SGQ1E{gOy&;{duZ*xtboJ2&dovPkF6j$f4dQY|Lt=fr2 z?#~X8*{h2}%iq2vR}^6)7rB2ps_hLBRq7(nNZ1hDZ%n>7bx=0l`8?ij>fcROuvC z37ybMfB-p9c;EN;|9rlk>pI^^GP^r-&+hEZz56^s_~X>rJsD{xseH%{w?7JKZS=uC zln!*7v$Sh6Ew+TJ^^iYDg@OtCyg8D~JdCpEHxf6S{Sx9@v0y?g+%*H}Fhkxool|QgM&2E2vc*@eS1a71-nn5+A7dA{ zFl-)%zK8&K`3;`j5emj^RIyYcdhP)2Lk{bV5mAjtk(=3(qIf z)ZAcC>MlLM@xs9Mj=QU1jh>8PzB*u^G!JLY_b8I0mI;%>sfHgTv({t3rjWk)8$X%< zDWf}@s%vURgCP--Fqnl0o4f!8l4Kvb^13W%QB-Rg5W$w<01v6h#m%x`E9I@7X zx$dS56Kf@mG(lP$w>h4~7*JUc&3osPbc?_!7MD&40=gBMPE`q!0O0{Nvo?QEGx;p# ziH)F(8NV7&T;k+XlBOc-#|L^fIU;gY6gRv4G-?b_j&d+-`L{N$*GPu*2-Wlp=WtRq zElO#b_+dhoc?4?ug~Z>f&%(z0KaaojXD>ZZ5fp_{OkVF{4zjwH;k~IJq|5`HF1)0; z@r8zOs-bJ#RQm!&PzXjb)=mre?e>PDL-K`kMj9$WBc0Gg1^FxG#_jb?H{tJvsDfp> z{1})mkCP4C*Aj27>#qre6lkdQ5(socZLi<*SnYRKsPR1wX9`!|3PxU6)5)i~rR#G^ zH%E{v7&QDSdgYQz`*M_pnR-+Mh9YQ|&Q0R&+$EK;&B$gW&p>6@5LNbG*S9=sc>Z|j zmmS+S^=JmSEbFI_ZaE4kJrY(Q*L`_DXqL=vfG0@#p=@LyBMq*)-w4$+N_WcyRE^J+ zp$Zml^82lC^H@K@Ym;wydN*9TguhzP@JN=j>E(=}h@=Y7IOAl#2uQ<$`if=0P#fpV zj&mwJDa@0?BFsWkg3CS*JLiAp&Nx{x(tM%9fBhYH@4=ril(Sp#Yb0e7F^r$ zs$)lLtJL@N@iOXYZ44!`AU-9O;v?iE!x(Ai?`OS;Oz2yyOU$d zuzGMoXwvAAk){`z_rL!fd}ew{Xugsgs%*S^E;>A~i`m*8&6qe<9j=wp zex*wwge38-pL-`ub1&ZXzF^#Beh%F?SW@U%dumm5c#=Z&9iPHrOFkyolnxzmK}=Tt zrHO?k`Bw7xH_e=xAgK&h*2_(s6#zRwV0S9AadWVj;Vk87)?!!G%c0AHc1!4@DS+h*M{0euXiXQQi9WA3Mfl+00Z_?J;s#dt&WF=W zJLxg`H0+}Y%>qpddwKTPuK{HB(4qir$+)U; zVwzpo@}(0URhPo@U4x^bsuvOfhiXcoP;m#tCO!$#G`kyLu(|oG@?0_h@}x06v?Y%%STCpkVa=l(c1sxv z12jcUvfqa@P<1_hndRS-wnGVsxxtr(X{2Qs_wsKUc39}H07HPPA5_>h@qzb%YuEc6 zi|@IB5ndbLwd+SnOouf2^PF`rRn2_lV7~p7=m`Gq*rt*S+Cj{_lZSXqEU}2HN5ZeU^U^W@Lm#_wEzy=vkldvyd zXkG}SnQ$8DzQefnUgH%&pkp{_A}F1w&Gd#VS$S*eAGp&4Q&JwI68SjrofNc{9O(+< zQS;{b^pz~x!8I5@%wrDW!QS~wHs)X+4DSh??RZ=#1H4IgXH80?Nx^d9{3j6KOQZ$o zUH>*}!RiiLxl732sM~1;bq(uRYr<)NsVB^sLDU-GB*jS zcQzm*_eithVvqfe%PmflPQX!t|5p$IB~MDuC*7nuX?8vDfoVj11todFEvCWOU#?d2 zs^TC$xtuf+h!9EEw{se$3d9oDs2j3KFN%N`VxasoPfnSrNzB08G&PLhr{865T zTwd1nC~J4T8v><}c>fYub&rA+=kK?=-nOa?KCjAt>5r5SaCUHhkHhCzgfzbzgp$ob zU`&FyNr7*`Wu0!&RoFUDn(ZYhdzZpxiN;y~^0^Omy8Z+F2CSTwYeH=urTh~Hkw=@%_nl|k1U~c?NOCL zS#bYcK^&A|QdRvt0;!a8< zg$)l6gT9pseHi+-SZJ2!xyuI>VvC8Xvnei*>w+HEb2A<8wlJD@8O~ zdOu5)R&b&_K5TFEelNoLD?drr9(T+ zSOfO*hAuD*TS9n$&)r~mW zR$y7K3vp`*cYnYrUSGDk1Ud?MS*qzb5wlQA#1p%a(n|FWL2vzz?PG zWd%HZ1TO~pRp%C zYw?q+l3Al+;ysrX6ez0|F}HM~3?KWGSU%U+Uhz!YkNjy!EUzo~g`S&!%gVY$j~N5G zqIwILIGXc3w16uGB)a#~et!%oJ^_UhIM6SQylD;?&jFS*q*xrQe@=7CK4A@mbIwdx zcjo$wGlK2`+T;XYVMxxvWwLDyW+_nca#N8|A^-9*z*MDAX7H4wCH+%{jQFjuXnOU( zKqx2Bn14b)$v@EygG<@FOiKw$5rVXmwrkk$x#PKgZ!~mYJwn?N-_QB?qKw~EirTeP zntWts>U;6+#-MU!&<9k2O|?x6PTH*g!zF%-z8ktMx~2&?F8j6U#n=(E=Zd1yBJULM zZ(bw^FWT5gU^eb}LWwwgV%}U|FB(1h^_v$npSz#?6}@Z1jjMuMWuqnpJ$fIPKhvwD zUiJBm(Z;}{V48);+Yt-rPMuI_zYkKM%NZjLcwBwh*NaNB}1 ze$EQD_`Kio=z&v@7DdC#D!PzAeqmcbC{l(@vIc2hbN7h7=2EVMb(Q`={@e|CRPIv^K@#|Pu1kg_ZBXbDE^COS+4H-Hbf4`GB-HtRoID} zqYDxCbk{E>LS!5i-O;3!U;dS+~cdg`jQDvzGvJO>Smqr`OIF_P3yYWK4CO4=F zlhu+2iYZ=84D+MB5Dg?K@G%Yj&|2FHEInZnJ&ip{4+DWNvFpaqZWt4)b?9}3L0qR$ zS6wQ*I?AnF1+|1)o5J}I)R%?t*G6h#YbTk=U7ozt@CX+0L897k(mQS(+RHF~^^0B8 zCg%0(HcoXi3)H|z#9}PW8y+wJaTd}iT;g$32=Y?cJyojT58+LbqS> zq(P*Y-Lw!DJB{KObB7>JDXSt<8x0j9gyBZ1vY)B%hW%6eH)*vy{DQAY$qz&z*h2J= zo`bzaZDrWL`lUbP(^{HpHY^V)WCUG2(4n9Fa6tj}K*L@sc<&xSMbLe%O=$zk&A~#0 zG}#3{f?~|ZQ-u9+^o`vP>9fhyk&8hypR=21Bs$-3rLw>NqEZH%O{b}TPjFGEnny9iDM>fx$Udq4sR6}*h>|2c(dFkEz5DfbQ24ek$OprsB?h{b3}_xod!}T(E&i*7Mb0!O7uG7gCb|G{d^I0`j zuD`stXA{|Sm#-RJt%07i+>Hr&ag~RK>9Pk* z!k8%%P%sqecI$E1)fAE3FkTwpP#!9Lyv%^Nygpp)PyYEK2_r3X1E$AaMNEr!aL88$ z{ttG|6&o*slp%n2`<%-AqgL~LB%cDF62@O^fT5zg(lyIO7^YvC$ zWrI7798^y92U z$j<`u#;YGCwBJ{KPI(91GN=}Me4eCgvljMt+$?>l#_hR*bUB)h(sBtdvP1R8v@{pi zVcXbS`UD-!tw(Hk_dy}EkghBB4G|x^&D_B8-z~qK^QZ`C|LUjfo_baCp$G3xW@eSo zmd@SvO2Viz&46{)gklB+-6Dn?*l0or zuRa;3eDSIx=i*mCi?|DSZLOGeh8XVU;_j+mfBD_I8^Mlk1ez6X+?M6Ne!1CpVJAyN z9vY8IF2ZX$2dA#FvAEfUYaOdkc2*5Yn5egVPzq3ReC*g3kz(ZaX;jMoVt;34ijv9u9 zou@*8LJtF3v5gw`;O7)FY*D<_5w@DL`fxVzZEAX{`l~=~UBH7XjTweG_A~^^HvW7M z&Q(@MJ&GNMaQ4=xK^s|;A)$;BYH(`4pCF3Qt*{moDw>TsCuZylaCNX?flw>tfxHz; zW1gcRACFSAwL3j-I)+ag9KB~7$SBdm2DKf>=JpWZs205Q-@<3RVuk5pWKx!f^P8o^ zr&2!nCaxXejrzP`GV{y-U;M)j(=^Y(Rk?|})S+L-_2Mx{#UI@B%8CYKcljuy^k5TYpY%&L@TH4@P1~vMZDkQL83nlSA#?jl$7_1 z{n`qiN%#64IdeQ*8!P8nJOv>Z^p09-g$kc0VGIjQ_Bv?$6bMPo$nCFq&V9>^<~p)F z%A>^npZzZhlyO1lIQ*P{dS`{F?S@qQr5aYeEY#%Mi<$4Q@2Y+$_SD29rC#TX3aVV%z30$_D-|5I1sCeQTe%= z#y@_!Au{##u}zT-5zTQEd>QIEQ{}(F8c?^`aBqGZ_S|o5rtf4sKW1Fv@9M1u=<>(3 zD~Ug~7@pOp0$nVq{QT=v?0dD1oW!TPc(zk3I4=C}&s zW5PdZA(RO+O{~hq_gXQ)peh2kJ{L<)I-vzm&0G&O;>W`7q`Y1)^%+mnNP`-dEhN6! z-baR*@<~>2)>+{LCfgr9O)I2&H8rgd$l($Ux1mz@74P! zMy;KQQ0*$e4(`vQOd9Yl;cz9-=*X>(PY)nEHTZn-2~T_VhjV^C)hr%6c`CK74e4FEE>V=jQsih&uEy6DUPQ@XwRg2B3x&3)4gogjcfaC+Ow_c_o3_i%ZEMgSCy_>AE%F znDFmYwvD(4u!mDyM_w0c6li@8a0px*<1O%Im+eu9b@-+6w+1*<;aR7AIsnBF>2>&D z&H$<}8*$OFlGWc<(ynp|gEwCHfH&N#!?`8EqvM-4Rk^P7<^!0MfWwE4wKPVHO_-Bs zezsQmfPuHn3GIL{j}N(COW6HRY;ZY^bI&w~m6)&jq&poNX$puGA8+g?Q^~DDf#IH- z!T!=F%W)QYBgoM*ODa;ZKQ~k5Iqw+>Wt{fbreENF47q{Y9q&%4iIrW?FnEEyo6^!J z1>kZhPMnd(0mhj$;;eSEz7;9n8lLEF8=Q*qs5_uoXwral69bLI{~oOUi8bQHG?w=w z?Dx%PPTAJ-fBiJ39rt&HJO>rWzYbwACX+ZusXve(8$MpSlbStk<=1v7;fEtj{jo{Oc z1-fIeRG=@6`@aEP{hr(1@c5Etm!i_I?zwe6+ISF}3x0RU?csyz!(BBB=+q|N6*npWW$BU(o=Sb02^yJUs5I2D zt70mtw}AX;ShIR+kbZ03J9|bZ^6Rd7V&cZ`s-B5Rv0?;ni?$Q-o)tNMY(R~DN>M4( zgZTDqk=FPMx7L-*kk?^L9mlP(k`}kB!+qhhCrJ4;+=HpZC6%A+X)RGUG^l7QN0&6v zNG~_MZYAiFMLHs270#b24TkLA{GR+%(0suTlpuEHLMOt0;wva6CeoXO9G$wP;f5M;MsU|x2-1t8$RJw!zz*1Oh<|axa;e6DDt3Ty}-$tq?+h%)-Qa3x7g{u zHu{W!n1uq{I3W0Lx}EB>Acwq#*hAfS%tt2RY?HtvbTXV`$+${j9?Xn?+0wf*dMEJP zdclr)7w!7Y!l$@mgL=>66llQ*Kfia|{RDgCGnEKXL+{^}VJBTfpVh>3e6OZl2Sf0& zHyT=U%hzXY!?LrWDRui!^GXpTmC~f{aX_$vHABt?BwI`c00&)5F%dhn7Bjj;j=t#A z3hpl1OG%)S-?X?ZwHu?-XDt|j7Tdix?MHWKmPZ4m=Az$xf*P(BaCG^$T2076?%re+ zTu||v8EbEdc#a-*tu{f`0vOtAEpUE~ zt!6<~ekD2F=QqN>&BvPor|+b@22p?RCIBmG>hL(y&uRZys}HTxe++qyyyC;Hiyl1d z9oW#0Ju|t#>5N)b#Wk1(3V<1ov`1x_^A)yUysZ*^{~jbVBeUrGQVJ2jTpB`fUi_C}TU*6$#82{}UGJ!XYa>6P1x5aryL0v&>?9|T0T8F}O*Ut!jqgPV z2%Ku`#DTOK9-J(!zJeTtpj|%DU%deqLZXhx%PO6sxY}W^33db zLqv`%tv-ZPOC7({f|PK#pJex8IMSVb zdtLHGj|V6IKMUyy*um-B;BTwo{+^TYD?-wDR=sB)vGvM;g{C2&pC#g7>~xv3H~1qT zzu7HT$$(W4;C+HV?wJ4nTOWhG)hTk-e|oEz!HK^`x3&V`hv*WCY^ZC0l}@ad8hF4z z12x?3=k@)$^9(L#cO1Oh`l+925WzJ=e1n`b??Lpn{ypi-n>_rn#xS&LfbJ~m7sJ-? zW+Z z)HUDdk5bG{SoRXv-BIZBjfoW{@qA>ddwUFu%O1_^r=i{ZQG!V~fCrbU?8_NcC`3GM2$R$w= zyZQj#T2dv3wF4qOY6(T}$afj3w7gr80ozjCkvjeX-29np#2{LHH`b5n z6@=7YPX>jXK0v2F$%jr<(h}12CPVuRmu~Z2!>BBMwYm7LH{Y|$vqF>(zB-t31N^P4 z`$dhLhMAAaUIBha)q9=&1*~K%y|oHl6cFhrJnbpt#I1`v!o~>fm`6WjQVQF0Fx9X( zX2T8VDVPFj%+F%G*KG1q9DV}F;(WdfO}=J48@*$ka;00BP>RR*UPo!Mlk65rsxSBk zm-(}Ej%0UWk#e#oL}y=xlwpn+{!TmGbOXZDZM7i^E0E|?OlO9)*vW{321iAO^X z-|%3qFyHaR|JO9@IcyGn8^&Nk=r_}Z%>o(&gP|i6H>D2F{rTmksE2yD;Iac-c|{s} z{au9_UQWN9+ljKp|5t@@FOZ`g6mU9U*InQFQ)?Rwmn??L&R!pEI6m2SR@-+(6`KT% zFM&1qU=nWQPm)dw8VV+2D}yYQOi|20^3lB}t$o_TmF!6DT4)Vd`1A}?7rf{F7n971 z^sJm9>U-zN`D@4W-V*@J855&C3lAN7oh#_+YF7p`6#Rf} z=2@LbswcM&3hOcV!U)jJG4KqHi!6$dYz)R|LH1Uk3v4=_y(Z_9+ADGt>OiwpV{5gx{FHhoD1 ziPyxI32R18M*=!~59ax$0IA90?R$zT6}$bL=iTer6=7Si2Rq{XhWx*J*PYy(NyGI+ zzyf)RAU(m87accqd_JGx!_qzNxP^ca&7HY*w0NJ97JuxV)DgD`3@R3oyWV9N>$TaH zk*jbR0J+@(;AA`~qgH3Lr&~dsE=d%_ssX9WJP49J&Y?d#xtr=X-zWmkaJ^`)=YMRA z&ww6QB`LsiI=ZWex)2ZU1(ePsH8<6P6BYTDK}AEz<0^l1`AnOUF43uZ36FGBDC;Aw;!`k`&AO1PF>z2!t3#iOEvpamlQ;8C7l%3g6Z z2V%X2uqg`EgRtM>Hrq3-97GXb{*^gNQHBijf>)m>08Z@|_9^9B;rXCQ0FnEz+TOsZ zaP4FjNx>c#9vsXwRe!DS%MjK?`T);66sSRle*#q}v+&GkwqK53X=Vo<2hTmV1n*=4`Qq3YAW=4M zC~;m`sHAfn-q4JGQr{0dw8qjoL5=>HkO z5B5-DE8Q;#8SZzIoCaBGTV?M=$YE4WX@N|f7@{y%$>pWA#_hiN+fY-6{U3EnMe(U; zm0)GdhE<^rkr!2J_s`&k0J;-b^kNPbLl9z1b??U!{}>MB2(@}s9p01aqW=4vMlOQ5 zf8<4hN_HX^998jhd`l`<{KVs5pn$4)m6heSdl@;9@{d>G^-G zScDdAC}B&oz(R!q!-r58wQv7In+_WJHuRz-278c-#ynx|P!jkTt0|z?2=IMXa;5o5 zy#D=sgvLJ&P#GYRVub-572ETj55`8*xzK-c!jW(~^-@vvezS}u-pK}@*og`Rd;vtC z@BV~O(N6tMuZ`Qk_uLB!M|&jcNLn3)_nPUyxb?%H5;2waO9&X8s4zqjZ@PNGCAd zuUk9j3WLyt<>hqSf0onkqKa3`nlzu`?HiMSm7M1kV*dQo-SK;oh{}U`0*`(^17ghS#T5##{y%V1^af(T9xqrZ z8Hqjws#9cwGbayN<0>B*;(yUv^BY!k^XxDg2z@|&_~xKk`4xNZW93w`^ZlK~P&)uU zzMa{-V~@OF<}LC||Fend@dL0NH&#|Iz5LyrPFy+)nJ0rusGf(Fj0$h$uXlQV(scc2 zi&cyU@}Xi_zc;OuUias8r4Q?ctq{OuKy-d0Hz2fcbX^18SduD+W$psffR!ntPvSj?_2Zv(z=LrTsvEEp%&fyT`I`#{ z+ETTHl@dV0NT}G!@||_in6Vzmfkdj|_JB*1;Sfi)Q%F&==-~Q&AUpdGpwo>Qsq%LU zFYUNfI&|LW%Q4#^CjjFj0OQBu{*IX~fvJXy2XuthLB&$Qi)+Zb-D(*j?DkZM|5@M= z+k}pvpmX(vywg7`NC7tj(!K05feow5UxOn>0eC%XH0K7FClH_k`YccHkYc;O_1p9P z7g#G9lyuk>Ao~I+3KVNk{)Tz%gmAn146p$h%|i|0c$c^i6)$uXYNezy+9JRdC7c3~ zHs!rPH`M?R*~n;8ZW)LJ3#p)YK1x!J4u^fO>%7B(KDoT@GG9U_PYk9)E6n@N1~fe- z06#kJny1T{y%s;o{QRUtQN30ZD6$~66?(V8-{g@eJ@MSlKT2or`MBYGDS+{ZfRw9I z+=TP*?Tzo?A*G;vrIUmV5Y~T^C$Um|)0H#)u8?8q!&{(+4TCr>g{gpJhyxwoYvr~-+tJNjmRxyYzE~%Nm^mDGF=LtPNB;XT zA7uXAXiepNQgIJ3YYr|kCsTjBG8vFO)^k?=%)a^Giv&+z!LPtdhOQ(jbP0hk>*(At zsd(Kr7|n3Bmx(y3>k!m)Sq}PN51SAeY#n`sPixqHC}pC2dZV*s21)=YrD_Xd;_RV?dqcd1g%-X}CS-4g=Xzh-5utD^Ue=(2#kfpxGFr*YDk?{$dN%4|bJlc;Um6zZH9aS+{4}q}#4a4$ide2!oyN z6xX>=FgC~|Y-Z6f5zI`}TIQ5z^}jW@Bp6cJ_q{*zB**r3t%nB|W%6g+l1vo;NaY>X*_W zM^FDw<*)y&R!ajFr=E7t5H-!ZvTtXxOF!hnG}RerYWph?DglNtw7*93h;D8@AD^LS zScb33b}_r5~moQCfsXn=+HfW#?g7xb-GRC|AD@fGHb=)Xh$;fd3 zL;+rP{WB)0jGO4r1AbNb+6Q}{gSa+PRsRIy3E4>)vH~@iC4%p)R}54!Z4##&hWa)6 z!K!MI9yyO5;J-rwh4r1|v}Kp;2D$xIQSKdGwY_wjNzi2_ZbNaytJlHKZ_+pFBNfNW zUEtl&WlvnqEnH4_lfprHp-rsV(Xn#C;Du0VO6AU4YOK78lkpjn=^%#(BycffxiD&HB5LS^j?zue#XEECg7!=1_G3f+BJb>` zh+2e`&?HZ=HwN*^>U|;z?>{k{-&s+3#=NOPJU=LIRz$tfA70NGA__ibd_1L{ok7jM zu-Np&nfg;qdxa%Hei{jZivHnBO?R?xmu_xa2CS!i-9Y@l9e|_P`}<>O*IWZj?p$xV zGy5eum9wa_=8Qx8jp!T9Katy?d9J4-H{+w5D#@9s4|MnEftg1}j*|>=hG0`#reN(BEQq6vOR%-40t)1D1 z`3{8?S+&}8EldDo^$BFKw9a~`el_LXPGb_AtoI1PWuFjz7t`d29QT_9GxZHPH5u&HhbUG^0~Zdu85gorF?czBf;{4`B`&&7~CcS@rXw*eb4I&RIpv~SL&fC;*G z^NT>fL3SWC<#?WazM)b=vo<~us{m*|dOLvem_FY~4U%%}y4C(Zn$P=M#1q!zp|Ezr ztf~8rI7Of%kIYT$qujr}V=CrzzDqVy<+{M|@-Z@q;SXbH#-ZgKl(fpBjXDY|G3OIi-gLulxXPg9L z3rdXrI)um4<##^vqy#}}oHhtL^{l<##O?w9Nx+k3-I+E|C{Xn095;bjUU?LWEh(v8 zn@Yv`kE;wLpCW)3$9N7FA6B(HaQsbiEsoEmGm!>B^*v1SD`~arjj7mC|Gy-;H;_wm zD%DHX^-&r68TnI>8*$Slv5FtggrbI>dh}W*NCgt|YU>oiL}{@vmFXY04T`>9!9hDd ztpt{Pm$8FITOz}!rrvX-zF5e{fwHgEgRK|)RPQ`}u@}!ppLstmf9iQ7jtVxgvhF@O z^^vL>Q`jNhkW39@{IpGoU)+$nJloJ6V=~r2Rgp?No*@9f>;zZcs}idSIwb+mK{%I=WX;;NsqHqu5IXZsWZBz%IL*-ODLR2v-wz`{oJ#s8U;=bLw z(y?4Uf1Gcc!#_cnb)X9#D*>rGh+oPP8ra4C6(Vo#CyQ9 zX0NkUDS0du7)%gWa@<_Zc^I{=)HJMByB!EHMp;7>3-4sm3?`SppYGwjq8P|vjL$iC z%qN~86*r=5eL0sUu{dDNUIg$jv42f@Z}Ay!SIMw7lrsQwD}eUI!e^Pg@k_GM7{iIAxCQ7XaA1C*n8#AXH~!CF@n(<2EgVUy5~{a{rMUSaBpY3B@T!j>-G$ zz=V0~3i)x+aU~PhQts`0;5#~F!v3H(ClK4UYyP*Cd$2AwuIo4Li`uVtOYxwl_bDLo zG!DP3cjq+61-@`v>%6gj_*VjZN>K?gG<~hO%xa-*sg~8<8T0K6-TJ$;qcfTF>#Bpo ze};MxwZ&dnKAL5EEv_IBy1>YjHY?&u1S`~wW0NC7t)iZOJVO!iY9Vnc>?MW80*mIj zfcICJEAC>rEPVHFlES^);4g1xe9ajYU5O{HiQePxTtg!Tf=Rm~cKeZ#b82GaDq00|EV_yJH?FS(W%9cG0 zl~rS4B{uebA!=Tms$J7Y?*?L97F2Bh<^{;0U(+P!E6i;CQ+QYc6D*x#?*ue~6u)z% z)RBvYHR76fl<7{wTui`ez6C?i?gJ_bE~(^moVPzBUOuU1uNF)4+$;w<^#fogfmA;_ z$;1)*CdP`8<$z@9l1g$?OVx$p0i{Jl8Cy7{#4iGB&VcyZ*1YNMbNu!SK%1O{J14{e%x#({Epz>8Y=2KfOT)Exd7YM#li1DoyW_wtvgC*d|A zyeObTGU(baPpCw}H)|!ufrXBpFC^yUBZz)1)KiH}9tEKytJTNh*O6RNVr?B22AfsC8uCJ zhUz;u7x1Sfw!|2K_|p02ldDm{4Ljh5D}?4j`3pABLXW*o{x|4t+~!-sFsnR(lW=f@ z=zR3^b&GISx?lw`2adosge1mYqUB0_vX~6|eR)@{|DNOwewrV=ib@Bm&A6oqPR2H; zR4$RDLEVU&uT4=>W^UHA$v+fd|BeZx%p;LIaEPZyAx8+|5!(=eCqV)x!AWg!*>P(} z33QTVu>+F#ogyu5fH?XUHcJ1WmVSYRNXoSk#ngt?=D^z_AY@(b(!cb9`E%kg6$YY9 z^GQKPg#vhd`WiTd)8Em>(Mp83(!@3+cLuwxdB52@>7AE|i}beX3iijlId43p^eJz@~I<yB!b^KIJDekrzCM$wqK4auSHf)4@>X>r<~Fa=gj<;q+iVj188?pin2(i=Qo=~| zkmNVNQ8By9RA0z2vQ)r?!Tsb}#@%CM=PEyMnHhj3JtIt_HK1^QyUHJ=VcTI@tHejL zTnnh;11#c|yp+eTo4oA4mB2sacG`Fdwte_X0!#vYDzU0`p{gbA_1uD|c32l7*5lyg zIngu0iRHrXha5%vos^l*BR}fr+qJ z=Q)E7|9Tb+r zeT>suGLQ}P@j<=_C>uF!HkY9K3VH7*2_Ar?vgs-haE~3aORG~=lzeP+M!|Iso2gH# zlZ>7KVg?NL5p0;&_5`@8_Sx0%Y>7rhy}9T{Ng76v2Ygvc*C?$m^~F!!>LLJIWynBE z0JvPjAq!hG#{iH7aiH`(z0;y?#Jyxlsa<2nKQbk!11e~b7OpeGN{$wH^kL#b+k4gq zyYe{Ts2$)Sv$BtHPLg*AaFed#V%S9B0In4xJpF3m9ZP_3w~z`Uh-8eimFwnUr3!aG z*QcKVQzge-dweimip2d|E!He%spRNHT#N%rhIxxSarAhgvmX)Efh^p%gE={Nt<_1~ zn7x|y9|?P|xJvq0H5&t2e%DDUc-4ISoAuX+7D24ET$rY-os{g~MkyyImH*XP2*^z{ zPe;CJCJP7P*?+TscQ{*y>W>R)d#hM}D#%P`0(1i_mu4q$e2eFvEW$P-SnCuIEVBU@ zoP#M_w{n|JZ1s}_)BOlXE+uyAU5LJ?M0oNmVz;>eM@_DeXS{9a_&Ffxgu%<5iwS~} zzhq$&rH3+-V4;)4IJR=iGsRT*)d!F~Bq;qRDyv?z-cJJxQq;oj9Ei^IeS(@yR9OI~ ziKdhC{$&Fyr+#`L>xt>bCwB1w3@@wtr}SqC#b&=ArA_glIqsX8kNcj|FaWuxH}-w+ zcpFfXwI(*W?+zgDiS)ysB*8(Zq{&Qvb4Z!w7$s?J^rnFByAMF+kDIBnG9T*}yK@!Q z5Kkg<3r054U5|)5fNE3Y70g&8nR0TRzNU4$u*fQ4u?#4UfCmi51EStoIccU@Ctj;=&3c41| zxecxWoDg&ujxK!%@E4kIHWo*o{9LaBQTrDEVj%7Fj9LLaQAaZ*Up3r?Ti@|61(N2& z{EfnI+CJdj?;^fu!SL#C5Rc|bKcJoSG@xBDuP@|=|1fA%&MCI~T`0qj`6Y~sto<*M zoJ^xp0JwQ+tWD0fyiFN~l<{q|%z6Qw?ipqjt1rUu$DGcPl&X9}c)@cuzK;O5mo{lE z(Zi_F?*v9xE?J;xdG&p{?=zi+1|iZu77JxNi?$MfNC6bnL`E`@BukFw2UDNT%|~9( zwueaFCTRaB!1H-!?Gf&jNK*QHY5ha{VGyuj$j|J7mM7<|pK_Ca`th}X!0`f1;w;!j zyxI!73(TXc(E)#F%@#dX-hcc5v$wAs(t~K|NNh9b_*Vm-Pp2D^uCM{3Q)o7cx*$8l z^FaXqaW(WIW$l%~f7MpMJ)o3_t?3^1#Qa}d_LlE|Tpcvf3Azf(km|D|uum!bX|7fW zZ?Z3*brd@RzegwYs_fd$Ve0?X>sbvSiACXXF=p6lO8RF)s9sEY3AJXw#ii_8XcE| z{;%P-l-Y+c4m(tcCu*A$6GTh$T4RL$YR#Oqi8K)3{_&};$xSxr91B|gvHz@`9q_bZ zcW$-@E&!f+i~LM55-aW>=#aT=06Vt z=+s!i^BlzYoZ|jP88VGr`sRrZZJ__p32Fg$?9R$7DB9$7hX0m;j-B{}E3TCP;R?=M ztCpM$#G#%tI8pP0P0p73mkO@rFb-EER~kD^mepU~eM5+ze+uTy%V3?aMJV!f}Vo(ft_ zB@4WCmH6(XIWt)t1(w^#uI~H^{oRW{&}7Pb0ixRTPRlMlDK3;`2l2;FW6qSc)PZTX z;@0!Ata9`+jKB-GIwSmj&3E%nGl4e&lVK2laVkUfRH;VPWF_|1ad(e<$;k4K>ANtBPzNSG(gU~aFjCnqkq7F}w~0(uPE_3c!A6!aa=fd>EB%&* zQu!PEyz-ZyPsnJlckY=_z7jMgk_YOPtW~Q1+yDWBjZ4v&&iV#F;!R=b1T>(*pZm&4L-utR$rSR0#TTg7Jr35I*$jd=YaP`6Z#BDg} z;pN>tiXm3&8x-V`WV3CSibYfg+@eg{_r54nVESLV^Bn%NyZAhXkF2`%9_92}j}Rj; zDDKB#AiibzPi^yiqkQz(o{zHXhH)!|bgcD*3ljno)m6N*Q%y zD3CDv|1fq=L7GI}n*Pdmb=kIU+qTtZ+qP}H%Qm`fySi-KHTB2LnV5+<7w0BpXRMto z_hrV)c%D}feI=Adnhh@T?G$B#5*QgMKf(s9*j025T*&ehLL$rsi{z$#fZ^wu zVCO6n_eu@$!7Kn(%Fj8m3AkEW zBtH1|e%|O0G{PeB^|Ndh_|Fr68DSl@s3x7{etbPn{*XEg1RK2>H4*WbKp+^%^Q>?U z**G#z@Srlt`6koKLD>uW6TC<_QE&?7%cX*8UPLNN_HKCo>0TJg4Y5xW|Jg<&)XWFh z!Se%DF-2^Lf;q56B%p)UhkoU8s_sSs1cEOa5k3ZoxPEQl`ppNc4|;cN}d36UhI2yk%-3G8|rI4?i%lhiLclT}0W@#GGA`1`0whG3gFyg`6)%TOWda;u z^m79@OehCRgX<6Lf<^!QV00k{G-0UGFo|0F38BJ=M?)Ks7> z4(KLG@RtD?U-h=H>jVbA_c{JL@|H0TJm6!J$bw{|FGmE=6^WM=O8YAUBu3=hlaH_r z1v*fTT{?rn1Oy(OiS|$_Ymcu>2`mPThQL6(ifq{N<083DAvO77J+?An89iFKX~WpACf+lob&RVt-aG!od;(6v zN(Arl?W9KikfAwt5h|milal?;4v<&Ep*3v@v)uO*A<08ID3i%QyDZbuT@D%4fh9uz zLdKHxQ4z}C{;;4!{-h$nh4k=8a{OfAr$!lMlZ#+R0btsQ4{}^&;A8(GK-D0P2$6pf zPzJ_PC_6G0=K3EcPJu)qH>Bq=IypOYv~(EXC>WFEfdF~~f%TlBl7Lq{X+^n@U<60#Y+9-ryHCxH#{O2KSWw?qW3-iVSN z`N#%Hh9*;o9(+}nSH2izVDi}&f25HZxo6}fio$JP_&B9tv$ePd0Ad1YgQjddN`DX$ zpy;3sA!-8XJ{+L}gUT)Wpg`(~M`2A=K0$zdIu$C=IY|D3*LduYuQX!d4G<_mbpR#_ zKr#SJ;HicuU@8`hL`?)>7(yjL)4&s8hJ*1z0!yG85t4xdnGnvU1*R6JfdsyjfM_76 z(<=zU3n0bA@S!>a##!#!1h1%RV8Vec;6Q`Kt`B8@R#j{2@s9f8)$zc9L6IsmIGeXy zOaMPKJp2($rJtUqiWOP6XfRXJ0&@uKY`@| z1%B7}1q={~^f~;67lkU^)`@WY;fGtk*Z<#yXwvBNICl z^MBnk|Md7j6#_?4(ss<(H>B3 zEl5@i?w1M=JR05$;jhR2(aCSFOim4fZq8;-y}|DZ`h|4lGCBWbmWasBUDqAOJdXb; zsmU22tABh2_3>_Rb3u6ZwEZo3r1oTXcT2WZ{k3)a^ZLQQ*ivk^}TK$UHv%#llmKgcdd*deLsb+96?(H|EMJD z)s^>uk>8>eI5+@iYGrhPsMUdSyu-YcTBEvG{g=m&oN69`=SA(qKA`UV_VqfcpL%eT z;Hf3|JN?_^uYe>Rr;F&Xqh9T=S|uUiJ)j%2!(HGy$2)rf2S*zyz?&en zaQKZs@g08mE%orNoe*91=Q7VTv={cv?}31uT6?CKRxjiH?5+b$Dt<+`?z^{ieWzDV z9oWd~${j=UQo2Ls9pM)}s67reyGo#`G*u}26 zuz+}dj2Qvqr||af&Vb!*rqK=H9fV%@MLawJ0=N7keuO>hSf4>JKmrxtM0|39n=Sru z7(ntnME4uzXOP}!@^{qB8j!$}->emC^M5Xneu(UV@>_&GFhKKH6sR7v|CeAbrp%Wh zFd+Zb4{4@q8rA5XYxY~>E1i1wLO&h^0QznGtrgUsve64#OPVRHlk;_WV`+3t|DsiP z*t>HM`R5Bv|9;~OrU%XZ8R5X4_E0~idmBt()Q|AF>hgSJPycL13Fl`I%6An_?8@Ki zZ;oEM(KWP#kJ@n#J@Jz}dHvdU9h#iJ@3V(y40N~AUK~B+wx4z_drt@l-f%mw@;&M$ z=&Psn*WbIv6;(+K=TjfYe{Q8#zjyfcK@933R#8nofQ;VQ{&vt6@4LltL~x&P2j9?K z=DJc5S3Nf@5QKQOli~oTO-?fRj-oW?9i$Pv2 zeO^~gExmythl%}r4lx=psmc2H$tM@brwQ1`K)ayx@V66=?kl6py}fUzU&>=SK7}?e zjP|Nmul`h(|C^oMEW9BY@kEQY)WD24doQuE2C5vv87IyUm0rg_Oh04=^89_;B zleN=%c5f3PJnYk9^!z*SNlI#XlF;;2$HI>lWhu><5HA-j!bweDvqOrGYitUGsH)Sq z7Ri^C;+Gqw(1=^|O}l;?a6eU_=3;_F(`7_m??n*~TGMe}Ty=ueWTIXGksm45h8cfe zAM{an4=+4YnW>tS=E53HX6Q%5tx^bt4-8(sRZa630HaLsc=$`Zi>5x*T4@r90=H1Y zj8q_-iv5$xRkE*aP7tez3ON* zScx?}S+7T==ci`-?tcF~6!h*o)&a*WT2*Len;u%>%g9F-^=Fzj ztrNC2Z{}?~njNVlL~i$@4qhDnqKmVpzH*8SOHC|pd=_RJ*81#?A72?{MzCGBx z$4o|{4+PePx&;*5CC+#uOYIMyCz@upBkT=1?H9ArykBzoRLDi3=v5BlGWYqnq_fga zuLn&>AbC6JPmWFcTFi^Ev)H|m-XSYXQv{9ojHLd-!7IZMv7lq88zGd!A+Kv?q@SDI zVx41zMl0l=OzI*N_JP`3{?b>FDz9&QVNDHuzBpNmYe7(O?`T}XhRMFBc|l93kfx5(2=nKy|xw2P8I+=$gw3NEbXUW@@O`Mm% zLQunoEt`_MQcHFC;Z`;V8o^SEJmI^7p~pJ~l=v0Eaq-;*Z-Bffch_Z}0Yp*u*!QhW zw3xsPJ~co!nRX(=A8a7yslCxVaY)u1xA1>26ZU$8=AW^GGVPMRLT8UVz-Any9_KBF z8>c|as%37`=Bx8a@RK>*Vn*DvD^d69!0w^k&S65Y*{M5+KiTqRo$An2q7$Uqh#e@V zz@kM|{M6ow#!!>DRU-T7FU$5w*h`462pz~><8QqJ3|SJ=5250Aufwgk5euLq>bmZ$ zm}u}rmr*O8yn?!SMZ%|5b#; z0{Ke%JBKh&Mlc$0Pl=W1^YwxK+LQ^ky% zXpy0HGA0Scm%!E(mB1Byu}#!Q-N3^NO?7SzCHXuHv#!0ap)Rc3n40H+9tH~tcm}{o zp=}Z-PqY4uYsa`IPoF^qYisHP(jB|zU#G(vQ)6YbDY_R_>?!dNcycz`UZ>|5&r7hA zctYn76c^Zb>ud(+lAWschFT_79x^(pVbnKJbC_j}w7>mvS)B}3oX-F7{SvlqWv)uu z{PtCm`y}n!na=OMo%;=mPjFC{i-R;x?}si~)uGQ>q1I1GYVurR8`$IzRY7T33h!5l zLBHC0>p)FNAbS6$TbO5PfV1`HUt2(N%sNe4(1{sM=){}2kuFVklD;oVs<*U`6Y<4d zOiK+->dH4NQZOxO#Z$@Xf}trJ%!i)F$5y)rFk=~}T+3hyu@YvDBFywIvPN-JH^a(D z)JDa=Q|%Ra>twd>)}b83YA3HzRbkXsD_KxFX7Iwiy0dyEDdx_MYA;MDVCe3VytAJZ>oB?8yxbgxhx!|1)NrAp|qtl=VzIM{#d!EKb`8 z)8!-8k{m&y93tKANW`6~;-8@L%eIKtnB{FpP-X#Ci^av+z-Dk=m-D|Q4614TI_hr~ zCz;*?9n(E*2UV5RbVRmW{AX?t7OgaK-$d9%lwW(C^ugjw0{4z|wj56`sw{GfTF?~d zg?kf9Cz+xlyzRUey{mBA$ImK2B3}ABf6-qK+Ax_DpX((<5)vH`>8{DCXGu_YkG=)u z&H;7yuPY^GlhxeM=2A#acGH#JB4lV!zw_C_qBE9>Qk}k}AWPxAACl+QE!~UgZfs94 zK1X6-WytTT*Ng_meeiN`OwMvl*?GEW5t87d-639}JI_Kwi{X5q{`^jn`pbnt^WpsJ zP4FPdoOwKRK2{z|Ct!2YM>;cR`+Zd#JS36!Ym@f+R~Kel$Vh=ua|zd^$U5QQojmFe zO!$ehziNcl1~QCG@{#mp4t&4Z7vXPIy0)P48Br-!TzY(-nffWlm*JRm+8=$Oc+84P z6?Bvs)OY{t)Ix7=gECOeuv!eOH?sNbbLD(A8q?{_EsksR8naki--@oEu%B<^&J@}} z%0SeUF>br?w=EYwv@z|kv!&}^JF?@oxTj=NafOlZeJ{t0&!Pm^+Gi2?!fwSOEyb#Q z;rx;8Xy_HtHGb3zDGv4-&kQeB2Vhl(3f$i+2GBSo6T40Qho)wv0DH^7_ zFGxt7juIL1P+dm?LXlMJZZ}@IV%u)w1H+mh0e`Zf?zn&9RUQT>YOrVKh<4(n!K}3d z%m%z{;_KEwlhY#7)F7QHc zlp2xy5Yv%SN~m*!>A4b#7k~B(vSay;N64A(kqPTCjv0J@Nw$*^aFvKtcAQ>MYQbq! zjx~kxTj6}Nu&OPu?|JGJ+wmt((_=X79~ajMOAzQ0$<8#WV+qwiu6?1%jX6S266ZVd zoG?pR@e}mlR*xHDS*Sfc1p0O*H|&t-0a!Kyi(jQa&=p-GC>80Sd=D_S9PfsCrU*5e z(E_q9!@!wtJi>UoXP8sZv+jQVcIv5He_QES9Hi)%c_G3{*DRz-dM)-%4IrC@^wfw< zTEn(7gAhexmcZEKKo9%jErX0@iPL*OTfvyd3yd6l{=oROEj8kQZK`;%HUXh{1qX9? zt~EC!PJSmH^<-s2N3)Pd^V$iAO1awh7~&;nA)_aK!Zky8vXleKF6D@HDCWO-CW^K5 znut*Mxx1k$KSe{k?A3dbC>fcdKlDD|s6x z)8@WsVV4`wjovT3?IYUL4$vrog^Ud*Tb?O0?V)PH$(_d)iYUcpA-|Nz3sPX>TN-N3@xX4MxZgtN`5yRoOQt+m+1TrZI(15Nmk_3*Mba8myzbSm8e&pV0NBipMw0 z<$OL&P4y|&+>d{)wTno7N)56Lo9*Uv(_RaKg9lUxr0%O9@cVPPZ#oxUE_mp43+fUl zVBm@=$5TH_6Z#L3bl41T6kOv6+(ivj;NUI?{$wQ-g0Y$#w4!5{v%;j*72d^TU?{k3 z^;-a$K5j-j3Qj;1*K(#8nd=o546;L*5W};=jl{u=%m+sqv^O7cAF7Y<=YB{=UOWm5 z*qc}TPQ0y6k6m&JKT@S)=^iMwjCjGjU=IC6a+r#}jIcU({2*L%02pEWsYEP5~4E-nYM0y&O}b?2#v7Pc0( z@g=WElfoG{<)<}tbnSJJS2P>v&G>@YT;x!ckj(_7bppMq}|kxi}ELaAxk1rcNQ(|@x& zR0vG`NRt7prVvC9ss%$%HU$A4F9f=CS1f~gh}yGeXXD)#svPvm6MeSuC-dNLDz$_Q zFw}m+O}3Zm=SDwm2X1ToP(-yFPp=Wf%HUt%%$%h-kxSp{2OAG{9;$KVTX7?tq=&gE ziBTyJET6qK13e2jPdW7IQq82r3PR;fU+`2Zz`JNuuyf5- zSg3L7?hfL6(zj8l3qdTzz4yZ|w3`>TJ;7xMp3_P%cyE3m$-4MZn9Zf;pP#&i?)2{& zi^5Z#hMnj%OaPGykgtwMFt8TQ#6zHJm2tZp^xVk^XhG&&@NKKpD`>5L=PcJ9ztL~H zwQrK$$k{8khZiP>G7|ZGZ_=0q&VT&9ji%ZbZ(060yGM2VEcJP3m!UN2`n7{gxg;`wABB70` zAC_IxB`JP(Djq=3rT33>t)RUm=mQ_6TrokB)YrU#w<2O8ONjQ_XMT7ZbOp9lZMBJu zepbSS*`7-K6aqrU@kC27*dU(w))g18$1?tq5Yibt$wWbe)hqm!2P0dE@8X#)T(aG( zJ^b|4T^oHSS)?~+leJc`GH9REL8e=eg7qCzBN&hvvvn9>U&w$r@p0kldzDC!Nx1B~ z&Zj%(BQJgeQ#k|a`Fy>Z+6d<+BzN|tD41ubjN66X9<_OWWeI(3ojv_|Ae3Kh40Bm? zG`+C(Gp3Q%czc-V9S;O<4Xx)3j$|#f@b1afqS56h7zB9n|h4QEH|C@bf793Do@0F7)oTy9F%$+S$Iie~RPuq{!<+Qkh3t z!W+y|!zf5r$SqtwXzc~i_`*$s2-E9+UBHN#ni^2_twEc z=?P&Z$EU@}q|H-~d?8~LYrgl?m`g{{C2DMVA^vSBwR)YyXn-@Cl~2d+ysdh;NG(3A z0>ArM<@e5Y;^X9$(G>Bmz3xaRHjbcUJ&-^i!f`Sl>0w5JUir}WZSF3njb?_Lr9Q>( z>s`Gd3=jc;(CzP=u(G`;)Kq-4h26Kbt*-dEijgHJXbG12gljE!U80Osk-Jh^fldv+x&`cWT=|@~4@vYLBxYhr!fka9!Y`t&--B z#-F&qBKm963uI0$g}VRIw`7&efvp+DeUQ!j63?mf1=F%y5|9g0CQ`sGPP{=e2a$0J zw)edc)wza(C!;6ZuFkEYlLs(Oq>kDg)Z`MFp4~r}f_^AJ zxv@}siiryPq}a?{875?Uc1xK-jEG-%&gZgEViO^iVQqn}tW^A%bTB^@EWNV&7bmmq zKih1|7uok;39Obq|43*}N^6Qs*VOISW%T_BR1{G>qr8#gP_(}l)N&V32$$d zjA>6)2hfd!yZE)sipHc81?GFn%@C+bli>VqXt!+fY=Zb6o%?Xqs3bJ~ zSNN0VtEf86umNoc14UY(7{>B2Qy_7aqJcsx?6>f61sh6f1X6>b`Rdg4Y;XXcFYIrA*GT*E*$qdp_f))q^Ev zj>1SfYv{VKz9-3+74({^ipM_}_8UEH-Esy@-eZ?P+1nR%v92}0|3u6+H8;@R;cSnI z?eu8DwIXo+AzuPQO27;Vmtb2D{q;eg3DenPBm2+}orE?O*>;}fEBvd#@Fh(+3FzFM zXMD?&(RC^#BpZ~Bb%C^fT5wfc2y{$Y)VfLU-Y`e$VOP^i^+rtsNiP+-wjE?jPxJL0 zpKS7-{gb2SK!$CV2GM2)%ji8!i>ShfkzI@>!O3RG?RXd3afxgWb`lwuqjXG=RDu8?z*qa4P+y z<<{{-gk+`8sF(&hH5L-e{~cK0o7Q^g6DX9uik-i$?~Her$I7i9;_PA;LT!~rJwqRZ zZD8;*T2?Lxzx@;@lTz1E8Cd`Io>ng&Zfqir8ChWssAH5OBvf=eFkdwGMV9aX^0;adE-JH+5MA*H4 z)g@hfB&^2Ve2>Cp@0PcS`HVmWIoNhoO&C8Df}s^hj>e;kx$1_{z;^kVhIji(Ne(3t z%&-qxs z3gx#?gQ|00v+y__(ag)x_SVe3Xr+hP9t&YI61Z&hSQ``WKj>~zN1nw+<~*n634Q;{ z7fSf>s~SVInuEp2Xz&Mq_H$ccQs_S11p}0If^M=F?^J7uTb9^Lwy$ zd;!&c`ZG2LPvNg=v&$M)KxOksn{Xx?NA^N<_a79a@;Dz(I(^|$k7ZF2jlVoo>zv6N zj0$)*E8JWYAQmTdi)rHfYBEG}|JEW5nOWy`B~-RkuTYoK6mH5q875j4I}4gL)X3so zW+%vH6_K~*NNi9EPF$yv21%hjf>WW8!Smno*vE3qW{63PU3bp95_XBR19e(*DaA?I zq15Wc*m#c8rW=P#FJh}KKGQK-o`kOa1_c(=7v(RI{HH&?$a8CM95Q-ERhzWn`NxL z9s{Bxi>J(33kH%J5UN8Q;!c`v-l0cUceUnUDkTpcqP{dtu{ZxYvO)sGPMXiNQWzo_ zVuC?YA@;!s=mppWB`(L6EDQ*G8S@PzPyVXIKJ0j;Z>lC7X3>JqUD3W#|Ny?^k*ht z7qavNPHhZ*d?0dxqhz!ds$#id8M+#JxT3SOQ?QztlhY)bk0d+d>F+k_vQ(d<_DgDd z7l`(VQ%qy*Xn*KcXdZCvl*K6){IlmsHl&QwP1_^$;$V`c0(` z-NS63T&UFD>tJ^fMZZ^Y^l67a42NG+0U1Efks@K!>(m&Raf_(4luxMk5N(ZyWSp~@ zZPAL#FK3}vBgV!$*C*Dl}yLM zV`*>PdgQ^kTAS=yawqmpWS%}84E9{F_$C+N+|E@f9C<8D%vLu@8=#O4(Xpd8&PO$0++8kMk=1ZdN#MyHzX_e$v6}Ic9R()-ZjY~tNX>kTN1+(JjK&K-3Ir3 zMw+TCa1=x0uRuK1Tcs6Ycio2_@-!WkZ;40x@&56@!6po)8(2$pFTY;X1I~ala>A-v z`0<>>Wf0ia@;rSNrVkg%CA&nWMAtV`L>*pe#ZO>I$osO!I7X+@j*^j{&oixOYDey1 zz9R+@BD|h@dd~iQD*gP;_!LUQ!-&(aR+*)&zni1zO+Dyxl^^p@#jsL4Fy3GMqm1>= zgfmCSh1|UlXl~RoWxI2rzAg`jJ2a%+d)_|teh6ZUc7DreVbQ5nH% zts}!JDQPnE~)Mt@&w;W|1a(_w9@y&|DoBUK=sq6Is%r6)rNTNc6_(rtG*-Q5& z#G~K=maspTYHlpP=cTF9QIIH7j$_``Fq8QSH@+<9YIA@`RaYx-74E75!fL8*KzAlBc}zk5Tp=p#40uuwm&o=3h=$h{8TT3A286e#?8@5{MaLK zC=-O$A=~zMj=)kAmbO-W-IOd`RQNFkS6>oDu{u`F?Nlz45J7l(M7c@c8{q|a)OnJH zB3t8RFR+$)DXr~XN)zl!TFp?eo72NB`o+9y(#koXK`U{(?v7^-q}cV&HA(9l*BRjjN}6^%1+n~7(yGusVp|Bz|6 zh($b{jEHX7(YYUXD!SGt{K_wXDVDONf00p1|1QOT5ivp1wtg;xm%zG>rWZHvEqZdr zmxuCUXtapGp?$~Ga$JGWi8$LZ39gawtsi}Cu-j*(NK?N#5EyjF{bAT{`oq8ZU-vWgMkRc}ljplBV#+ZU zcd)DF8AbtKDzf#2g@h4&{i48Q z$;6hGEa_N2J*JSHdKdfTA-(K+t*RKIZ@*Ou!>4OG`^D7Bc5-{dkNC$Ugj4Q0qDwN) z#iW~MDA7X{&j!1MD?a!&6=?tj&#kSmO9+RAImq%Sc2Tv1j&Ua)m}-u|C|3?&z`eHL zq1F%U%cCDp@r%1+9ic~5`U62#Nb4{XP9~4j0w$UW0rv*_k2?4z9$FiuOK3*YE}3m8 ziH0h)Sh<)BdlNAoL=}$wO3x9BahGI5$r!>?8XXGQqD8gS5}+pJ>483#Q{@(!h{*9n z^;9`gm6oaY2WAoRUoS6%9O(5ShR}A|J$guL(ykTgo*vm^e43ICKQ!IZ;C?NneEc!% z`;pd?43C~KG>&ZMpngWrR&%I?EkkjuB1%xfM&XeTA}}N0Wp)AS&DNRa`eJ0T&h;ua z&u~@5X1y@3nNL&uTp%WOaRqI0Zl(=k{hh;kNA`+wXlLm4cJE^+afP4dAjS+MeVqd#X3`KpQk3V%c>K&-fEUu^(IF?( zjU}l;XT8H2QoBJ3)anK$B(->AN3P6ZCXuw29irN&9rUNPs#JA0M5d3I9qjSAby@_M z$2hkzt%H%iGevBNvTups+;w~(CANxXsSz`HNSglKwZT3POK;IMti~N#eIlP$z-dfR z%CYKR^XA{y_;r#<&mBQzl}&YqS$d^#X6Mrl4&Sr`#ef~NrdbXqmHY?8PIv_I&&ViEYMvDuHVNOnSGEHIyiGd ze*9rSPw&tlk_Z*{C%h6}V0wrpA8G2$y_Jfp2NYfu*9I8fx!k?RF0w%K4pJ?+R;9|` zA~NFm^+kZNdb$}I#tJMd4$H|P-A9mBZl zCbUhZJ5Sf2+b<(JXi3y}0$~nsmr3jN-s!`*jQNw0Fr(>rbN&s~9|e1sYAiBkU%8cq zkq=)5`Bnd~w(C))qZ#8JzDubCnny7_4_{Bvsw6ssbM~@w&CpM*U9*kdj879C(=0M@ z3U~hn%B=B5a@oz(q)d-^cD^nm2LfUKAtH5p@02B=Y*3(@p9C;fg3MKI$;&ydj{P;;nDTPbR8|Oj?{@J53})=b6zlbOeRQteNuI z*d<&lYTKjjVSh+MLK^~G0UCRlQGc`14txRAK*=k(UZ!UjJWW&;a>+2#>*HqM{rqceP4Ei@40-*5@&qUx}9lO`wYzk?BBANq^(bQ6r%^@g|#m~=BjrY^6hDqMZVkGvS_ z#(?vy&l}xO4U@oU*2VF=FnkArr6j%N$fE!juMB%xg_$!`?U)LFw1~dgUR6qiv>X2R zG5d(1E(NR`V&IvlWh05;mnt7p1J~Y~{nhhci++YY^okMEU(R8<4?>_QBOIeMj9FOY zRCJ2^kMk@;}h8q0;0s8*z91!pp0n`9d4X}Fn~RCFQf1b#Q#TOLB9n7*EuHxeu2 zKT(hFnpIs5zH4-DhN&IeQtSo5%T#107#8@>uhQm^)w7X~5Q`dFtT4SDGvO|=heQlGn+M{OX8;?iQF1; zw|$CYi*oJ3v7DQ91mSdgdjS8sD*)W1r)3oU`Z(cU2XPQony|2Km^%NNIUKUweZ)Do z#RQF|nD7qrSOy6_Ze6v8Y|(!8EXLi+s-OV(J0X$%kzaLI6>swzH8DrMaQBLcNS!mO z`a(rzeEXm-hW))=LRIBz$tFARX1c4UR@7=mfF=gL;|$y_cRn66d&;-)E*`G{DlD!d zwb$}Z$3oR>4B4eN1~!j`wRwu-)Ni}@o3qHp=$j}hytjJ}_M;9~HvM~`E9dXV?b!(? zN$d5hm5$7k=3<)AVPz1b*auBBI*Q;ur=Vx69Z`-W@4&zJ^iJ5w==cLYVPX<`V+=if zHIYUXhV$L!eKs^st_@uq$zip<40SYxkQEqgzbXnypM{3H39Pf_8H3jgP>ZI1X&{z( z`^(Ky4TGeCjH|s-{9fJSLUh<}Lu1qybSNbYeRlLH|C*+ zM-%=2(V2C1#Lsa?)zV>069r!XfK3B{CYIu96-bS57|-$w zk#jf7%iHv~AvMJ8GCGy*gH7NPWvqIG(i4Djc|6d%LN4Xmw@8)EhB^I^dLm{<{KEnu zhn@>4CY!wqO0y(%Spj$kH2V0?-a(l_Dt{;$i21fW9xWKAom#@5(K?~9wCXr|z%=ar%F*tu+fY2z);n z_dJP3HPS1Z`>5#is}Dn6-FZ|5-FFNk4pnj7zEa#DrgWu5*@tE(Gj>VljYTSgDywp1 zjf#0JL2RKj87O-g&`eM=H2n24m9nWI?ahd3Yp_xbivn4X)IX98s$_h9K{Jba`smlj zH4}y9R%zbTK-|lLXAw8*z}LUhPfhKXVG7F=%DWg2_Qpwwu{)?ib5LWG?LMQ%E-@TV zs~x!HH~j@WZiGo!wBt3Q4spCmGfsHiRX#RWF{fpvG z&z~mw)y8$W8uF^#ICOrsvL>uVaa-)o>j1t%b+$qt6ZVO@rP~32x}sEPwUkQoC`8u0 zwwAQBui?;!=~qfr0{Mc8GNYE-f;sHnKh%&3RNQiUW^;vt8Q!#<`}c`HsZu!*@`Q7` z@`pKI+Ul>VoeCF?sxje~^)Z}9sI0Oc7rQMu7n;=j3e-UQkOQVYXZ88ApvQlp(mvFe zb=%!EdV3ImP@^hot<2KOZk^4dz3|TB5VDjDa!Kg5P9cu*qBp^Y~J39UHN_PmNaWM6qd{mjve|a;gGAX4=sVKw3yB0euz68Em zce=;3T!&ZVDRG%f7(I^fsi23)Z;v@SLq)S7X#ZnMP9LVieF&AucU0K4s;$R~D6OwBn zYa$|@6kpI3Z#|v>HQaZKK1|$=*8urCp4&X3eT$mB-^L2;_s7%eP6XU#)=u1$RA%#~ zN^5WEtOtEZjenrHT03yFsDgU>z#gA9Dm~xCWdSSILV>JnRdM*2Qcrk9LpL#nYpc8O z`{22N&}XF85#PGs*YVEKp9)9<)Xw!Wqmp(5FN^)NK0;Lm%i^?Sj$-meh6wyomEhFx zd~z+yNHCGX2YLdED9mmMJ*O2(4Tjt}XE19YQtcuGO-V#)ma7i8Z(l8)(Q@8sySkHv zdec5BdAGuKQZV5?%$xH8KEltOJ=|WqWWyVcWT!@bk0^9aYzLoAZU~f6lu;sfnwWE8 zEkv=ZL#^|ag>>ybHlXHs%*4w*0tNHHwrq~2%0-~}(ZmoNPe=zP?fO(zyqbF8*Vg90 z7v6(B@KDkdtQlK%ZefsVgN%c0vVF0dNK2d)TsF=^J)X%k3FRud$6pi7VgVfwM#zZs zm&LKs;ys(fl^lL+V$dQX61bgy!<&ubT%M^HJl6RW!OV*86}wWVFafMtOnxvwNitH! zj6&(zjlZkaN`**=GY+ed-`yQ|6D(CAn!MPl!Lbe0duHi$WlMbCOfb6)1r{S?g6isIM2L|TQdh`Pxl&VdA=f)a>@ zA_$U*pGjRFGo072-_1RCQ(7}T&pkC;S3Z|vQM&&mB-W5l0Sf{|vqA<065#ojMYizZ zKmr7c1dt>`lS8Jk;+=zEEhtVI0}9*rBtl307?l(lpguOrLHV^2ToRx=HF4Yk8fbv@ zs6VNx0D(UwB*`Z`QbZz9xuExMEC82ahYlI&p6p0T)Dt{^XPWNhoX4*h*uB6TP}kH{ zykqC)-v9v%7AAxUz=d1~J95ZDf_8wwAS|%Q;M&0_bU)OYwUEa&H00;!C-^&v9WKI2 zeFFvjv15VmPdJGkdKbb8?Ar`G8{*#g)dWs*1dP$y*ZmC~9WQ6W4+#z4#@04iz!3c0 z9EC7|6bh_k4uSFeH^>8zVR-N8x*rlKkRKfc06g&f*Hzqet$_VsJ99|X$cLL?0^l7; zbAOagT=3b2S@6Qoxj+Eqz>k%7?<%J2DeOgP=L#{*YT$aF5CCTi0yyXxqt**@ z*qw+MNN&ZZFK}0`?wsE!n*A?2xImG&L4W!;=$8i(co0ymJq6Ydz$uhC{2TXk9oFgX z+?&@AbratJtRod41Mv3vzLGW7Jb;q``Rwnv;1{Q{`cjkGkebk!m--D>Sx)c?gh7bJ z=pP^61PTd2LqP|TkctEZeq&1D1Ai-z`f*qhX2%0ge{jj3@?NW_Ph#M0e(V8=7jqij zgJx$#z_uUt78VJ7pdNqUw|V!s>+AQ}hkEk2>gl&`LTFs)yIuA({lIsSFwf2vkRQg% z{G*_LZ2earV}?OM<-}TpRzSB7SUW$45ze z?*&<}>lALR|0!|zZf_4AfRF+5L4WlzP;jfJmtcFP;RCL}=J_~}atTSHc)wN@1t|?6 zpg1OSE*sG!hJVVni3 zJJZv>JO9ELS@$mYcW>Vp!a`q*{D{9L;2#AGYFckv1!}0@-#@$#4H^6}lHF~=p;BTT zebAPEOpO_1@)kBSU$`ronrwN9X7Ee9PEvB|{pxAhw@@y{*^GmnHMcLjnQnzQX&AcGOjYW^;a(j4V9*4yW4U&m2?ysoo3BubfAP_)W;fLV-OFiFH z6@x`?DqwcCt5hbG7xks*ir6o%-d#7CI!uTFPi>$)t;GMH3xIF z>OEPt4p+U`bKj3gNrkzKF$GCa{%Cs4|nQa(w=iLL+uVwqk;x$Cv4GgO8l;;KbOZP0K6~~4@{{jZ6P_V-I+u=^wS8fx1s(@vCl-4 z6W(6mIK2eYl(~^l=aXECYBtW@B4qh0MkTsSJpjwfc;{3j7e`IrDZSR9Nzi1GGL_CC zS+^u*KF#9q>2e*IO&wSVt{!TP7Ft%XzDRX>94 z$evcx~eh`mFylP|kV{$J<|2Qrzd5 z4K!x11!lZ*0?GoX*rxYbNFsL$vvuZoUyX}G+UBcD1hg9w+fPe$l?VQ(`|w}hQ7^oj zq{)-msKK-2_;iCp!Y3O(vb9bSyf$B*n#i5)mF*|9|3hza-QqFw)puWrUWOD@Y{r#~XlaO)# z5Uopm_L4Xkaz~#KUhhX*jRS6WHadkvGmE7~1UmD3!`dJ1`-Op@p22(MC`1o?F-zLl z(&_cq?yeb@%h@96;_1gznFg(r3q(|_J;Eusnj7j()7~Bq;waqaNtE7>Qd? zvj$sEwh@0|+mFTJA2Jb@7X@$)GtAyu3q=|6OEqGP-~px95ZewYQo!?9I*+a;TL(AT_s;lFmZcV8PBeRjZX2+5U#?pGzHXiMm;U-I_r$@qQu)<1UsrT*^aP21YPuN3I=`J(gHc-a9R^G zV0^o1dP60I*}r(d3-{jWwURU`^}ca;SFVSVQEJynn&_j`*QiXiUy?@Un41s7NpuaK zz5z*NVo;RTpTo8}gE)4<0r%BwAv!W*1eE%^Wjm>|$VZDnda;8y?>wtCo)~=qk70Z< zbmWc3LsKOff{eQEN!AhBL6cknZ&=-)V}^^qTozk*-5ZC9VQW<7bvsr&#QLh_H$9=m zv_>=E^`8i_^Hbd(9|+8kj96`w0-_<>AZpbS~Ig)ASL)o2lmVRCWCgFC8DcF^0WDp6no zxwmRp+#MB-NQ>$rn9HWKAIxO5cjF&pPw62$?=Q(<1cFyGy1D!!UJBQkUWwV-i{)w? z$flhtxR~&B8J)OAJ;Qf5$<(w#$jtcl@i9dKBkr?ALfYK0t(kpSADM1Tk#LNM`0!JD zt;mX6pr*c4vmu2Y*GwuOcBgem7JtiUOc9k;9?*8R@U%j zMBPT+UdA~V)H0MVo~Cc(F-7haQ^NA01wWH?Z9e@~p_Dgv19;V+OZLanvBpgF+;k-d zOdQJeIC zakN!PHqaY~1tBt=&f(A$T_Cdu^%|*&W#B*qRwbri{U8tod2AtT>=&jfrKNp$j+qfu zt^tXh$D;}l{K+w<;P28AyYojq`jgSZTa|dIW$Jb7@E^bZS^~b**2S@(v7f|Lqh*u9 z%A~DTrLT=}`{<+I!#FD^Q{J(8YS}~{%*&LB!#0ws1neHJ9d981H6^MWT$gd=o<8O- zI7(Mj;6QH6_$3=!fe5LW!~4OX%`cz4OA7ysY~NVQV*voldSly)FS_=<2sa$=M}({D zm%3Z-POg#m&1q_3?}on?QlZaJZI!!(zw_iml7CP1wH33eMsXqMC}TdF4c5-dR$OQQ zN(&z#9bcX$|Hzwq{fHwR6IYlND!Of2h$2G&fGMZH%Y)2T7AulYnwMT*g$hL@mxHQ?fEa zHmB5z0jQ?9UJ)D?2GgmSJ$)vwi@P}~6+@mAn@RE*UWzf3jB*j@Qhh3O{khu0Eac@j zzJ24@XAH>`$us4I6Pov4%}>E##GHp5B^!vC(yi{E0ffW)g{K>Jfv(km^ zREcMui|n-uGG15i&})UnYIybZh8lGc=#ZP$V$-y(dTb6Ox$idi5S!kf?=o|A9%;q^ z03Q=RJN9p9EMcZtCwdhriR6V!VB>5XQ=crn$Xg5b$6L2*Kh|s2U-91V4T23f?VSN0 zo{A2}iFU)#(l3mPLkWB(s2`+RDII4TeOht36AKHH=kBVy_Lfn^3)?bZE3=pGj}i5B zG6eFaiH{05_&+_g%37>($2K&-E8d)xOyv_G(tuo;qn&bCKg`bM9`ig2<)q610rsMBMNC)ndm%nEsPzh&FJKuuVSlsuzZ zN5%{rU?q-9i(ZbVt)|Of*<7Qla72grL7tY89eYIzrpO%MrsCs^$_v&0WN&8f570boG%HqK5L8j}>k{7%%qDFEdc<$4-6e+-)wxus=pmhZPg} zBsSVcoMcU7RBa!&hW65wm&%BIl6h|DF_$K3qB;faosfUGdH^P~jF!~$1S{A4PIjk^ zhF%5Auyy{_w?%6&vNW5q&e~&acPx>#X20f|fw<1aPxm_VZqdr^d8`m0J`jVKSj{_D z9q~9;T*ub(24JdqQyuG^I)F4x%x}+>piD!HEn?zr<3a|*y7l>{gWD2#kBxmbu*{Z5 zG;_h^zu33~El)CAVv6G@m*%_RGg~aWqJ>-eo*gCa@G8Dg4G-m)4@9)gX+83rO&es} zP0b4$zo!V=_=g*H^Xx>8Gmf$)Wnn|Qi_~xb>shv|QCDP?{B-<`oT<9J3VT%w;06X~ z1JF@Ebuu5Spz2?+>l*mzttntE&w9;WxF}}ALGr{z(#L1w*6ARiv&*hVP3ONv;V|#+p>^I5M6cQR}(=XnbIkW?de2L@O8J(wAunR zxtqUM=~z40RoN8I1Hj_Y3(=7ItIRZri`qOnOUx4!b+I*bHz;u^ssaLO)D-tpAj@Dj z6ON&1W2(^ae&sbVU)JE<{YGFnkHe=lN#e}`Z_Ij&^MmbxW_C_tPavdLdepRQe?3yd zaqEqHI>Fv4SDQ`G%$_FachVs~Zfq5TlyCmpqhf*S^o*E$9@s6t@ad+}wUL>l)?V}h z#IlatO0^pBO9THEn?ht-n((&xBOUYiv*^UgY z5T^Kn4C8{fH#i@p7*z-51HCPu&gnhls!YLJ-Vg`2n_gnUQvwa2P_CdvIqY#jmz{g$ z9=4IGMoX62Lk~i_X=%I9-SET17B@|;t2+dYhK}p>0vGpfh}0m_!&Axg(Zkbb&=Vu+ z2(IP0pmGEm_(jvvNc|GGC$~frTj1r?0+Wnop|b6ruU*|D^wrTIiq!6GBtYjKx zt+h!rwv|{-m65(CrGTnQ{xlH5WDqnRS~=O{=tIJ;-5-^F*X{vzUqU2UEdysIv=P2g7Q+c zzE~MVIXqHd6(=jnB=}b3KC)?G{SnyHPf?*Ki3ohbsv(TSJDDC}XZfY1AZ7{kLUl8E zb=P_dpS1>juWEFS3&w00sA8PvSF=wt1}Xe|`Qa%=h&h*%{Ry%S>9B&LZ{3nBf936d z)MIVMTYTF(C#zz$ktsAKHE&QL%x=|XS|0dIwu8G5B2Yw`JnuvQ!x46?+k2n=RmO|FF11_Qv$2$ z*XcQYb5JQ~KNbSy&MC*n{>3?6tArHvbmk#ON92n8i5dGRg{i0YO#K-nuQrp~VQX4K z$Z^g=z~Y@yHDVCSAu;dYayU=jdylW!5!9mOr6ytnW+ykUo|%uM7Pdd>Fl)*OHxOmj z(HvdwbNNp#v>sAD*#bLtASswHn{MIZdXY&XJhM6aF)7Z@9rrk8R;81pPbBRYo>Z3P zYQ^b}+A(g^)0J}R5H%9k5aOpcWSh`5H0`gbb+%+4MPZGK%ZYyyME1oZT|ExSn_iI| zV;ui(K=m2^O9D1mIRuGtHu3uK8k#xlW})Ehlp-YPRFJ0#&EWh!NZ=dvlH}n7{a1b< zJrdz3l7Ua6W7)H`s3p;p>tqE}R?n)i!|p77hC5f92@%p1)XjZ($^7TUg}85@|L=$6 zt7~5RCQ4jbyx&Q$ox`cHdwfPqla^LYb}1uE+DQ|u0VuBSOIAVMWzvxQX`E=bg6)eb&^869Sk(^y(VW3K;AoS?IX68O4WW{&zqLD&190{24|;tZl$tGh_;$Eg>?&Y5*jIR0ZS^CH zMk>{1YgYV(Q=DVg+d1FbMw9*k4?n}j(c`zF2l6L!JD&xkVxRXBnTSM@g^zVXs}y`= zKHR_j_)S9%QHh4v8);m6O{rJ|pD>^MmYFjL25uD7;KxUG#RGZ#8# zx?J^SFdj(*KWB=5)MM;9ebX~1p>N2k8yUl%jfO2hoo6T~Bx{fNT+g@YGxkeWH-pq` z0dD9nHOJ=w(uC^HZ`HUs@!nWIkx!_SWxpTb=|KxojvKAiBAS+UQiUU|w>y#Cmm6SB zr#S)bAD%fmr1Uk1yrqtqd@8PUM{Oa~S}#O5y(_`dFwK!Cb?CwBwp1cTj5n--9U;Tp zzbDpLkP(a7Y2DI#@#IeHa9a<#IP}*PGtKgqlD5#J;H3J+b1E;tZ4u36Ql=Wni?3R% zY2YWzrszbNutNABN1u|_FsJ!evMnxL2%}9Qvkp@FlFNo2A62mAl*@5Sg~BJ693WKM zwS%*1Ov8Pcf7d6~Wodf}4aZN%_C@Q-+u00%vZ}gWvUqj(z@N>Vzo%x^Qy}%lLvN>K zBR%xDo?Gwv2x(L$WeotixkmxW?blyP9p!)P)XvnT4L=VFquP_(5o?Q_hPI5a5gX*D zW7c$UXMS42AjxOja{ClI7nKCzRu07`Hm~1Mme?|Q5oas{MWj0;PiGT5$R5TTyT@z1 zT_cpBCRE=u2sn)WOiAaDzWi)I=phsL@lBnh88>5L4F*sequf>f%(opgG0_m zVGi1Pig^+QnjBEbvllF(tNnuAfL8=?NG00n6%1OY^cMN1 zM5oMch4~NU6+c^Id&JP*wwCKSb~0=yuBX}GujaHz*BzXV?@}~%fDX+ki^{KXg;4KO zV&*Bz3m;J}Cu`jMB;a1!K zn>krpTo<1+RGr=Yv)xpXjE~#@7l7PweWr{173w*3I&UU*AuX)@jq2=SBnKuF{tZcR zQq%GOAjJRppPiv43=hvQdQl5&XA{SNPiq5b6JZl0J7bgoX2O5Pm@KS}|9$#Lh|Fvp z|9$!&gviXw@jnUC4P1T6=9O=eD3O>FG$3q8)XhyY>Ie%|)Y=FaKQK9Yk%+Qp5nfS} z3JN8Vn3AaE7d}WI_S{GB+{cgJ+O6AlXK&Zs>9EhN5AW$t?-pL0OmH%O0s;g4ZxCuQ z42TIJ<>%*?fnPvSzp3CrBI2E#vIZM&>iZlVZJn@iK*flSzlQ|T;e+%Y(s96|n3u(f zfw**Ufa)oLXox^llmFFV6aR{T+6@(NhU14nfOi8sg9UYthr$ZY)%~M^nqFhKMC0U4_5)zS;5up0HKg{(^--vh7Uz0`}xs zH&Hx5p!cD`_2%^I^8J2P-;@bK13+RNXt4JFoI}V*Ke4ev2C{u7+CK~Sdj9B8Vtfoh zPmhmvDe$odvEsp9yL~f$Em-Cio@?SlYI|}MKZ^eV(FYhE&DKpC6+B#}64mf5&z*0NwUw*utYg3OFF% z{bbzsX@C2%{9qsZnE?FEiuaFizNO|qHuruO{^N(fel+&W&w~e}{Dcv>5W{|1n*F|W zwY<~FH^=w8nl?0G>V}2zf}bo+7pJpEsx}|LvbtpP6}fEiShkp^TPiXd zBAa4m+1;lrsMj0>bB~lndggyj^+QX;u1&1VV_&~g@N30sVmhyYsxq-8Qr@KpS_nN# zcCz9uK=D}4liBdS^5z~(@YiszI%#fgH|+09oh3Tg%Q!{?+CJsh&E=V&sIbpI2UoDh zsP`8U<`MRB#T53cAgC5||Nk{aPX>EZx z?VE=^ImGu`Kb5jY8mgH3<0qR?jxf|`hmLa@oJTR~^+*kgllB(ODij$B2zKxtLL^j@ z=kRmoEL{-RZ;Nt@)*e`U^sWl^YYPQ~%-0&|QQ>7Vk9y@<(B9flN6xr#-a3dg)e%b1 zulMRaaMcew%?p>W{1}ibZ*3moemd!e9#~V?dye$~}AwO`B^bGh{G02>2Y_C^p&FyCp<0XDBp=X1XQGB^uHG9#zpNrBwKoa_zw2Gv0gN z;%+%R7NpkPCyH7b4}(5Z`c%8_P?Lkpl~$&Ac}0WsGQCFjSCJfz^w-AYx&|$m^#(mI zZQ|?N+w%HM%$dBGZNlFcTP=IWKa;_ITj@#9mcWf&vE5YxjM7K2a+C)xBT6~&zhTS0G#^E?Ma5yMyuf*{jk_n>m0Lq{ttw-H^ne7Z+ah^ zq1FObo?mOpIUC&WiN0gAN6y%E(quBo;5@>wf#wRBf=0NqNv%NRe~a-w=%c#Q``!UN zID_tX1xYh>1f|L8a_Kz?im)1P5O0c^M@r77z9WBwPZCM`oZZrF!zfP_{i7O8oPIt?ppfJnWmpGE2$zvHRHHwOj_48A08|MVReJJWt26Y zO4P2nO3y=SwQ(_!hJgVfW@uAWaJc?s*vm~fic{Zirit<`A08T9jIy|mvZM2?Fz;$ythkLK=)Tp@#?^1 zR(Y*(mx_~Jy^v|}E~QV2@^b3mlkn`} zJ9~dlGLqny5;phz-3pwipTa-S!fu^dOF{9ZH^Vlv!%6u3X6m5AS8+FwJmyzKzE5Oh zpBA$cLzar{;2&Wk3!Imxo=e{eA>wzVeF);{C*#GorvqE8lR(`j3boeO)%BQ|-g10w zdNI&)2}5*pdXQTFC*af?784C3U%;h_N!u(iCGv4`jRf(f>h~nmFN#LEzLJu zu~sE#wq2eRG-R!Y1^owwc^LY-FDfb_9eu%BrgaFOz@E=T57U4!As9ojHn32%2wM{I zNz)g44_gQV;i0w`9G6`MDw+fm&|J{zsHQY=D;GBlry;oi6_54#*{A3yHwj{P_F9U` z_SW4UJ|ij}m3t%eQR_Tj4k+~%#>chEI}dATm=0C{D>~VT$8#V_=qhB2=9HlUbxh4H z0^U26D(_%ZVhsSR!`IAv%DvVP(C)C z`cag6HIm7H{)U_~C+vhU{hAR}5cm$w#j?BqwQn}ENXlOM$U*wc=9y(pKlL&$2nFhQ zZY0=wXh84Z3^iuBzHpLv7BHHWGZ=zsi0jUZ-+#`!?0-u4l33i#gl?KrO}t$Q3+mWy zxOL>m8$*%QFw9ax|3KOW^<`xyG=QqM*8XgCS}FWn6pcI52)tCFKElzkE^+ehy**u0 z#pIXT^QfM@(3Gjkw3A5R7*wz#nrwQtUr7tw!c_1m+C&Ks%~sj7H7xr z7iYCd-C~AQ;M-qNeG?ED+LbCy+@?T@Ry2iJ*;8`5yhhnBO^ImpP zYF1$w(2{$T53!ay>uB@0GW!(g;B+6Liv!elIZlZ;Pr9R~g!hCs0NBdb+9Js6y;GjA zqqvJyEx9wfIj^|3+N^qJvNa>zem)$qEf(hJrG%Q_lrtlwk`zR4I7s>km=~#i= zRzpLfpDbL6%9JWHK-lg6<}GCzx?vx2LmSeiFBmQ&2A=yxaq= z8X(tgHLQ(vrKbdvMxStI(4|j{(0R*RcTu!(IU%J>WO}0tDpoZ`s@Qb`&Ea;AiJBjn zIemo?u`#=FYHqCLFyp{tw*g^;(pHKy&$DC0Uo_63UqYiVsf%tPWw;H$MQW*HFOg3k zQoadA%DSY>{%Yb?2O=yswu^1M#<@{!IMnyLUN7;}vXA${{2Fa~Q(%&S$@mLi`{ zJAQI-^rKP4Y0L@zfw)^^At?TCmix&vtTJ9>KN03pdoU z4yjZ|ZnLd>@|beoS}N;=T#Z}NKPdo<3GxvN;r)QUgXE|k}{SMTXG6$R*wurkJiGtmV^ zyw!N9-0jO8$uk4rW~Cb+I+DX0f5w97{|3k6Lo{YjWeh|Q7fG1lm%q0TJzdU7S7wr~ z2`0kt9INnMWgsSlpCx)H<=-gg@@1a2wdvj1rvNMN?e=$Ry;2-K3|0qc{U`^H0ETpn zCNB&hoC~+IVp298v?)N=BI9d&UGi+LgMqrO5p*?*AFYYo&d0#=x2xOT>>-;>|7ITI zAS?6Re!*0gbP62_8(^TF{=HRRF2JI z*9|c1a0+Pm+2)v4VKxygUig!OYwV2PEZSE;TI|{T8W5o5Vr06CJ9*<%TOauOrV#>=bdwnq*r5g`8LOtIG1hOys3={uSa&v$`#iR+ zNqX`3g-7Q{+d3zvm5f&yby$3sqDWj;yZfmtr1gyOc_k0wnjD@r{dEP318?8cO|%WK zeNX;Cl-l$-cMi6)DXyI+IwsxFxbyl`)3{}XvS{-fRj1qPn&7!b8vUIuCgHVHzc?(P z4V1wEA|Fsjz*hu2n>spqN z3}Dw}R7no`w5~m$j3|rd0BG4$osg@_y|I<^SdJLi&Mavw6k)XIwK<4_z5N%UaJ|MS(vNfCFt~`;oCZQ{P1{F9?!@^ZRQ-MzuGg z2HV5)0_*;P0E?(~pNsL@ZnZc`c$il5a?EhFClx-IE7YtBuSo$RV0BiB0B+$xEm7wR1u4V#DXWi}TkjF|%NhN4t)C$6>b|)uDFjSZ(n+ae$mR6wIumVVN(Dzx zSyCaKaYvwB_iuh$Tf7u+F-MmN5bp94!n=DGODiN;ldY`nMoI698PqoB%2#3%c6Oz3 zQ4mFgy@VRapdKQ1NGuThk|e0W?Gxe#+4ib0>HOqd+2XifcAz~PYTHst>XZ(h%E;bO z1aT#&5_8sdb!+K<=>O?dF5C4zb(zHHHQK%ID1HVDB+z5JSJ<~mYt$;PvDB2t^&k`g zeVY&6OQVJ38c|Cl&T12iGU0*720&r?DJ>@(!(>WtwNXlT(S4$Q9+6diKkaat zar42tJ zCrNeUkeHdZ>JaQr9(&{8E3M`+!6-N>^LqU(DJPYgr^p@GtTk^7I&PDcDuyS;Zb15q zhpbz)o!|9Tf`#RoT6Zf4crzy*P^r>OS~f!@f1e2KjlYS8?aTCf%(+o7<5Z|OvJCNj z3VQ5r9IWaVu3JnZlDby)Jfux5pMspL{L89QCrkAL#P3lX%{j zTYX0a6ImozO+Fw)3vsb?L6?Bj=ljKQYC6#vfvmgWYLxn`p+y3*G;3Vm>``9yXDU~MMC{MS8A8`uQ zs+`NCAE#8{f^BzGIBz;F)4u89jQwK-Q?nAIB%U*yhBa*%HlFfBdyV!tpCx3y>TlB| z^hzn3rVg$AqNDH;y4dI4b;iwf-f_5Z>Y=X4Yw3mYxGfi=10CB1!^xgBH0%Ju75P7w zgLhw^N`jf)cHaY_EG%z-(`Y=)rV|oTN6<4t+`1qhl@BaWjJVj3vLxO;LIq_=^Q6Fc zqa@o?7+dGp&T|2hkzbx9UN&}KO;NKNN)uDwt01~-Z&G3Cz7X&H)_76BoN2IyH(?#^ zHfn4Aq7s&H${urE^`4tbKwPw*NuYOhB1fS&cDgFx^xu1CC7;yr(0D6v^ z*m<^}Uipw-Q!wy%m#mOg!B*yAdh{~c8q|6s-SiewO#$uU1H2 zaMvUnW3I!&@ID>hN#1?)-hS@hWf_!x-t!ugYDqgcxaF}V&L|zXdWOiY%q&o8=j5&C zsOzNCYc*DvpNtlgXOG8}qs)`d-9yK{V4j{vYV;Xmqk~MPWwgx5^+%u84QESttlQJo1?`h?*xb5R|Wk?P)1({aS41ZIkc>;po zna1Ig#`E~D`wmIIF~&LDvCdL8Mq!N(K$vFFd2Z*6&2`0l|N7lArJ)!5`F9@&;;`zR z-u%_+AU4jPtCFAQ^Oj^&ZDsvM{M}z-W7EYducf|qS<UFWRwy`{>{+{&8^#UO8>)iHA3E z52Q}08&UdLU3WS0O{L8&X;m_AtL|@7wQfmOLY3AzeJP~f?^RA3Hq7xbRN0j}_7{sb zYbiX~T#KyUqsYiUtd}VO)-&yUq$&=~PNSyg zmLdXc22-~>PB)Y-uQ!S()S+T(uie8tKVMmnE}(+=l3GmjTPdSlV!kyzrkMU#wF)b; z@S#;1m#>PUpp8R|&U9YjX3roeCRgFNdDc(6!mHIqGJjGch_t#n&b#&J!bS*{5-BRW z!A4Rq(kuJ&rccr8fb=NHT1R(Rf`#Qs#?oxUV=<<00Xgow6;h{MKzO$?FSz|i(nXdW zti+Wph)%cB%CHq@-R|fPz>3|mq=;1WEz&dqz^;gzgB&%mTwpd0kvtjf#uryeBFjtf z&@Jj~W4catFb&(~RLi(Z>)bt+CO2+ki=7Zh#-WP~)BWAy5IU#iG6poMf$ zI~hqRA6B_sj!VJsqJYfd%f}m@8hQmR;XbOIjuw>fez0u7y$!JPOeF}gJ;sE!X%XOw z(NnlqOSiL^1wSGQIKrXJkGkzJ1h$G|WMvT3VogCBm@o`5AEUd>C10yN+yz93AF%qC zlm%Q(X)Em^7Lkns80=z52;DD^5fJ?rjU;!m{(`FRY`TZRVLI_#kvddP68Z`{tg(;< zR#1+VrOE~_SVsFsXvFT1O>Ksc3a>qS>6URv7mPJW^e#CS%~-ENyajj@PiftjoF44w z1WZ~n=&`NWJc><~vq8q_l#%Tv0o!c~x9t6E9Qg`F3GqN7vnuFZuLT2n-VbUHUPv?< zqW8}0A|8q;6A?4f^B&i}l33k-H0Haju56CZ1$mCjnx|=)mK$F8NPV_+rh%!e!HC{7 zL;B0H?zd84acZ!)vx3ob=H$hcyQ{d(-Ow4So*+h){r;N~hy zwHQvS)^;O`^tP=8|JxQLhC;4Fq`)JOp!A_=RB}kBMEt=p8788(tWmJzMyy1h#B-VO zWhEiUW9ChKNeJ$$cTHiUh4ADX%S_5b;RU235SEUQtZ9Cw3*EFzKh1}hgHv+`Ggjm)wEzzHstebV1haE+@g9ZBE{o7n%iva;7td)k#~s(8_+niu|@~0Pj2J zo4E3OytrX@Sdr?<59p(jKkWa(r7ZuyT*}12`G0XKBO5En{|;dO-(Jed&cVv|KfpA) z1zcWdvy~QxsJ&}waGSLK-=4jH6E$63Qoq`}gzRB&ZfuBW(OqwB>m&?YIoU(r?LJywLZVTzPd3xKe|0Q3a4*r01h@D zH8IcK!MOke_b)f6$kOcC{8i8H%-CGd!~&3iQ#%O-ViXYZ-xmw`p_^M+9~hjSNZ45z zyr@IL{&sv^Fj2roHPEuM%8yARnbv!cQ0D-O;oG>Gy?dSTZE0|6x&LHmXsKsp{HlUN zHRFa*!G-lQ%P$`9Q{kmZ=gY>PhwdL8AAbu;0tae_1lo?C`S;Sg16#&Srmo(65pYM;y(iavzsunKwE8oQrmmY)yqlb%xN@gGRcbv5N_$vIK z#MmTMzLBXB7{eE!fZUmT!M`um6Mlb-&kjp%0=I)YP6<4a2Vo&Nnt%-Y<> z;P~4vB(A{46`&5Ju^Go&|Gry!(chP*ieYZJZ~fI*k|-NW81>8C$n-gnO_L*1qa9cV zjV3#K<|j9`&ts*pb$W6TqFn#d{C=$kB>#gW^M~|9o%XPfP%Z3mO#E94>~lT)2Z7Sk z$lB^*Et0XR0Td1&4{qCl7vUYW0hlL)*L4Bx?4^zff?oa2QxW{sZyg?XK_+(#Kr^ z5Tp(aNA)9+O{fd^laEL*>W4)BZ$CC)__dI!wbk=N^N)eL#*blj&CmMJiVQ@OA3qro z=$%}NACcE-oX1DeT|(wL;TvY-8*0Ka{Taw-7y#1f1@SGx|2@x{cf<0=)(oNfJ!}-x z>>lw=VTiBD56%1w($|_{h|ij@77k*QZ->vBub1Kn$?vz-tJtT3)vH6*raG`p&Ud}^ zkLl0O_|NTK-K-Os@K4`icvaGP7}mwMvQ!|?Fa0!Wx&f1Kyf zoBkJvwivaL*rOkXckp-Fdsyfr-=3JC_BSwJVCVOtGq0ud2jnNk?3Y|Mq7q{M&@TK( zoeQI@>)Vba1xj-_W8qKPGh zkwL?r_^pVL5GPJnWUv2nWk+h}hgu!>OpdY<&&vz}EQDtna*fxajquB)%7_T|BNB4u zYO$W)gxPtaQi1Dx#L2irG~-cy7)jRoO@5go%{JVr@77eIk$e}rotfW{Zm&7i_H?$3Vej?2x-J2_!dL@81tUw8FZLMnSX*p6lgc5Gu&-9?bs#N zXjkLDVy%-Eg2%!nx(NH-pLm^{?X%O@sVNX^Ck%yuKr*@Iyl`{36{8L#a>J!Rq^*xV zbgW7W(IZ~LT_8P(u(`PM%Yvw?*!}j~aK%1Y*1zkR#Ekc=L$kzE3s0+;cwxul_x77Y z&`-R)zCGb-&cwp3jz>p40idB~e>|NPmU|de*wd=8G zUi7yal^~t)s!T)p1y#3P*P)IGeQmQzBC+wmewD_r#W9`&-KkC~;*g$oR$maT{l2Wv z^h>TILJEPse>aat<4g#u1L9BIp;^ndJNCi$DJldH;ykVVo|tB%ZV{qoZW4cLs9Yj7 zJ~Dx~tQ9KsRqv04qq=-8*t5Em6_D*pk!Nr#YXhID-CNF`K>KHw3L54Ff5+p~M4Nk~ zmZA6uDn>@bX9)hA1P&RdnZl2g4j>;~H{GEU%jtw~-sKrM?&i|T%rDL&{xqoU%P&LF zT~BH>+ZuL4w}F^)SR$@}rKz02=ruv6l^q&q2-07*G%F$6y}wLEx>w7($hqLk(2GwWlj)8yrob0K(qeHU#W4E7xb!T+6TMLRy0NPoXLjJY$H#Ep z=r2nkPx6mwScau~&MCWI2Nd?6J5U-Kt$#X_kefF>tRq$y6qJ(X_+f4O|C~rYKtoi2 zt0T0#DxSiJWq}}4FY$cC*DW0dfsMlu^RRnaN;S0wH8U?UPB~>(GC;M9;E47FE17IR zRlnwNV+;&t#W4bB%$9zICTMAU0^;1fF6qDjmmsJSZP#< z{k4`EjcicIlzWk>wu9wD?D3aF`1>+sF-)`G{i?sqq+-faa=upF;0v$hvSb(;C+>w4 z3T*`)Vdm10wAWRqNGvR_6#T?A#XMW-Q)if_{EM{3lh?P>yi{s1~D+4qZQH&Sv zfZsqWjy91wDZ_`k@&&3V4QEKU#HIB)p+^5^=waPnR(u9J$EZx!s)#P|_BMb%&-e6` zQ=xHUH;w)aekdKr%K5=p>vWN3vm!CO&zaq{@%H5}gy8XT3(0+c4$GLZtXMl|kG`SE zx2=Ibi&1Cx*_;mr=H+S{sd9vV6&(6um`nw1syHwQ+zp97s}C05q^AEaR2y0 zFtS5K9=jL>+XeY$5nf>$FThl%T)u=4Z!t<${-Wnhc(em2cs5|-*ELupJ-Y*Q!oZW8 zU8xFWMj(X~9cDo0uaw4kxFKLU>`_i!%MANe{qGZ>QgpYJQ*%rjQi;n%i1rvPVGu^; z-{LUhNMU7*i8dgPZh0_d$GN?LV{(!Kc0CJvEe&;_<&eL(7vouW?)Uh2H(rfmw^zQ$ zoGqUCuc5LU!SWyv(&Qa*8NUqGf_HH=wxGoo-C~eUOfbuaKU#FxS_Z1AceMVH6%Bh6 zjOT(EA0& za}5v8Hg&SHzm4(>W79Jc!%KdG)l)X&R{1fmp|F{$>S9)#F|#6Cm)w$WFkzccCbn(c*2K1rH@0otPA0Z(PHY=*%!%z}zdiV?cB}Sa5BspIx~jXLzVGYW z@b_akRW}{1!Fd2pb-7-z#^A(C!1#rV|J0Xv%#%G_vPJAU>>(Sc5> zN^F?U^H&1>Bn_f#JjzvKGCE+NJT0}+lS~m^k97#x)@bYjg^(5;kCEcgagr3iBdCnc zl$d~mK8))GBmD@>Y@8$$wDp|dHmoVv$^%h0%-TdEznL_7%z*3x6qmDT3F*?$af{-a z?LR^fIl@1CLCc`eS~Ld^b}Sj%oOZNc*6^{w@M@-;4Q{|FEZQ`m&@r*#b@~^xKys&H z=1hS)HB8@$js9B&d_<{6LHj;Wc3SnVpQCql0g5fJBZtmvo1--1>Io={iucSe>RZWU zxV9Y(2|tukp$D}&3KjC%aB7^mmv*_Aa&8#W1cA3shKujs@N0@G1M6+-4ksN!2rOmX zki<;zfZ__as80F3IRd|3@XTKAF-fkD%FZ8qE#bUb@>Pnv+ktlj+f!#CLVgqxYQA^- zvZ2Tg@i2};wEa>IjULVPSfyG1%*|HYbKQCj~x8U^^J zO6s<}7z*{vs(aytuK3&oj-?32;uNKu5BQvrvi+jHpf$2JPNs<_3YB7rCw)&tg>b{B zQ{J1#m?IHRm+?WUR$;A(zGENy*dnOc4$B&pNP6(*$%y|oZ1g=3z$ zorjmG+{&Q-|r@d(9j9TpqBRz4V^9j&vxyJ`H zgkNwXsS|4czFx1GuADT)%WTQi$f63HJ+KuO^h}{ty&Y%Lsa+q%*|SB)!uLhVowsC@-+&Yt z%^1HLX_j{D^`(kMAMwKdJ-+s=Nuy$i6mUw4lo(Jr@ho}}RgX+I-ZV(n4dRF!8iv(| zPVdSW4xnZ6*hvP`XjYJ%TOZ?c6(Go((NebmR2Dn>zlQqsiOz*Eq0IqdJ zN2dv@&fMRb*0@zlY&UB>hx4zip#VRwGMayCk>(teMQ@8ShdeBN2aM>3w392KO% zwyfSSnD(cOQ2r_jk!Df*tT+9W%|hbeUtLx|z1W-8pw^j+!$AUuMhGcAxY1@OU2@n=ODlJBB zosn|P+ds@=Iq(MAY9{(N;pr%Ca+Z7hrr z<<$VIE9h|>$n?S!7<{gmWl7E6Q$rtb(?a2E{qs7$=I6ARr;n;kQW)yKd%PU`qTNwI zqi~lrqSga1bnmB)w2^yO`g3HDdI7grpJJhU1al4*whqF|#bM|o#?7zDPSes&1x*B- z9+r9j+Gsa2MiY>|+ax&BKhMkNGyPDoeX8GPYtl-HISP*2Nh^xt-LJ?w_x!usRdtD@(_`U- zHsO}`Qf9WW+`Z|$dOiyIrPd4({)L@sKhWrMcL$s=TjP)v)4IW|*iR zn2I?9bu){3&HX89vCOJP5=4P^_@{iaexJtqUvhm9azf|jyKpkIG zSRc6QWjocHE+?gwk}-}~Y{6*Ih3Oo%obm@Y72@UJ;VRzgm>Ei=g_dp)Gy^WY z_4D_cC5(0Xtl&!mfk)&UvmyaTuXb1Z`TA?;2s zi@3R6AFbV}(`oo^A5E-~^GDEGajgC2rd>K0U`cQdDI1{t?$MVvK?XI0xi`)8xP1}&KudCL^ZJ{?Q@@<#BJpw6~-e?cIwS!c3 zNS`@+Oj#%z&^NwYG(DOWg;muavl{0SL2z5qyvgVeFEgL%3%3-|>hBb1ow^eyjhc;- z@{01P*uTRT`5GIQx-OpYin7^#C8#vd&Jyt)c&($)o6aU zH7{ge(*+I7)X1H&4@G+m^0uf68y-d`n$YRG&3kK4UT8r>C6*Z{tA~ux;K?gase@rM zRVy;SszcVICu{K3_vyBZeLOLB_FG_hODG8R9}7onlt6SyR-nHu%OH=S0&CfJ}0}pjC8D*erM&AA? zK=%3DX%q=c|9t%u+2^v9PY_|L>-o=?$Ju6k{4EmsM1ewvr10<(e48-oe{l%eJ8JD@ z!RdGBIvx>jR#s#oMipMcv)*2N)|e}s$*_8>Qzr9=`O5<3w*wz^HrNs?n}UnVXL+)} zl70}}hGYmuZx*K0IiG!-bL6kJft0p6pJc>mtY8ZIvS83Z+2feA82$nmKD}!MOIYP> z)Y*tqW3QzBHyy^snsU&@X|MyUpi#jJH%gNc zS~-g_>%!xHw2P(TxFtSy=0j0&_d%O{`P-yUS5RONKtWj*%Kmm;(#8q&3~6^9E>E8< zG}ok2pUBICDuw6a&NeHFCD$GeODB0f{AYR0M+@e!9{YxSeMt9x#9&-*L1^E>yLUY& znaI8dOn0?>&Vu&Ac%RwC#Ymfp8fY zPDV})CfK1-2X;IvF5L9DIYf;&z?+M3PshR?XvC~82eg0KDT9`xaeGlpb|dxb|D4dW z*n?3g)_ljEBrGMV*yMkw{=mDF*!_iKu3#d$V3C^TGyLJX)EeFW$GXW`Q2v0bkQ>-{ zTgBa^PikR`E7!ca(}|L5CJRr{t5*XHyk_w;d7iS}c4VTQ?KGgb;7u#XQa_yV>+P&D z{Qk)> z3jU)8^QWUmv6dn&*f26dKwKo%6FW24!0ZFcfr#KG<}(ETrT9QN3rks zQUN2DRb(C}6&b?9&nD%+?0*zx={oA)!Sk&}(n<(n9^n3fPS^y+-_7)%abG zr3kQQ5MeJKO?ubAX}V=|S>vNAow+AyHPWVEJXWI)9z?%g6Q!fOmp*nR4O!&SIGnN| zbh1U^B_Cn$+JhMc!cSB_-goAPJPJ;fzalXb5_G^Z2!%;Y6@EF=zX+waJYJG*P=NlH zr6qK82@%+MX6}0#>Dl+lx7%CI%8p#_S$kR4KoGk*HwHvRl1zi9kqi`)X{pw%Dbl>b z?4tK{4v7 zzKii;Sgu0NilH4I+X0lyHi6c*hfW*on52(OoYR=d&Mi40!FiQ%KHi;UyCqoW{Pbx6 zy4vUvZ@yKyGd6YOxqj8K5)G`|@+Gw(xs(rgBv~Gh%Tg;b$dI{OAES3u)Ki>{I+R0q zzp8i4f~OBNG9w-D07%j}y4G-Pyl5*nr`wmYh(GzX9jVLB*DH+>w< zw3{b+))R^7GE&yR!|uR!-$9#VhQQNhg#NB=&}J2(z{MI3!oDri$-Fy~QFpTn$7PAO z7aVIfGnQ6aSLqEWG)J@&gx1YmxVD5-Tq8{cAw!`2rf|>bSd?|5eOwaWSo$q=u{pFr z$NiVDU(vkJ0EeR}acZu`cBiYiLo)H0)O}wCC%rQPi_c&9BSLyf^#VIKs2Hq`mw6+yo&3Rg(ibg$4Z1r>FnZtZ-TrvuA>7! zGd06?q`>>C6@hTY9)YoE4wSC?bClh~RJV2B!r9J7WYRW=1Stq8C{#Sv6zPNY&g!2@ zP>J7Oe{+tLR`nt(T%)q8obszkkA#*mzG9xN2-PFxY5ph@pVo&%0M-jubex5t&jl`9 z3ic3}IrPnEXkPo5(1w7kL~R|)m;o7UiMCV4*jMR!1J>FKT-pl;=~y-R)G*Dj59asP zJmvtonb;@;W+r)QYTxtG8cOb^ZB?SOYBW3vl(aa*WqCYQ*xdS}z3stfvk z!uN@G3VvB?sx_+8r>ZV8#&=}2GkB_JSTGfH;jGsUqY(4zefpDEM5u;&Q6uQKQf?2+ zpR{ncA#aa@_!r16)$AbD17ow{0tJIUcu7dajM=B4MbF5-q3I?GR3(^G-?gtlVzv0Z z*RJxSu7--e`p1*`DjZY5V~S>Ge@|!b5?)~kcXEa^^YFWx1aL-*x24NCBxT6s zOLo)`CUu96g5&1XxSq9}6LwI-a)~a$cYx>ZyIVuk1|=OODd@cCec#KYwh5Gb40KFE@KJS6@VJ(EdS%MbdQP%p{HmZRgeJN zF*PxBL9O`O9ZvF1Mv*mIkN&+0W@c;VRfLKqye$$}`9*%+#>j!cG8^UbzUH=Uf$%SN z?Abh8DX)OI69+b2L4Iu7Z2IxFl4sPMzL$d zE3SDfZbWc#lo;w$KB&6zqgym`&l4B3l!?SRRrDGVWaGbornxnZ2{Ya$ca(s_p*MHa z$ODMbmOZl#hH@SVk+ZGP^AraA7p0!C;FUc=)!)_XiUnpA1=F7GXuxaXh&*|pOWT_D zfMP`@5?YNW&=tFSAc7y)-y{@h{Zs0e1zUKN93xesC{tdH{-vE8I+z-yEDE$%T>mSf zwWo|FY-IOnuSs_mew8lDM|2(U#v*3C{Rmya@RQn^Q9mKSS(4vEMZ_@AGE>p5!2~JL z0-wco&+dr8_S470HQDToDqeil@+(DQv3QK1&@1d;(ADpMH zw2-7gB-5@>hxG^iikG2K?F0I+b1yF4OirKe!0Ei`L?9Z{AtFmpJi-QWsQj^>-$%BJ zZa@W7lnb*_$7oV2=BdWM(pG4stg0UAvfrP71Lr(A)e9suz>q$(a-a3if-y_|I5MR* z`LNsf-6u10^&uoEDmY;xtV@wg(F|T!&hyWNigJc)*im>I&$dw0-NZwSC_B`V2C}+c zvv^ff+2-S6*U323f@gj0Kbz{#*u7O@HP@;!m?O0#f$&NCFu{j$<%qBE>RE`i)Mh>h z`B%+wq#D#PT>avIsACVdW>{!eckkO`n^6B7_9<>=X3v_djQXo(b%DBhRr9ut;&DnI z>1N6$6%(ij>|7NPa%@C}f$s-_vq!G{cX{02)>KxE<#Cvi_dvKghGG(3@-)}zz=yqv zh(eP3(5Jhc{C)H4!SS_nf6u-kkH4vG^A8D>EE)#mpl3Q$k5u-|3sr4{)84^)Ja&=u z1;^euK-~tzoV)?(qh~kf_rKzF=Gq$W_0!0R>#7xqrr}95nrHsW+1a{6rA}*Dq%HrI z+i)$%bjAA8(L*~P@5}}BfwFmB>=LP^D%hwdMPc2s!%fY7hKVHTD~xvdv?9|T#=_L3 z8A1qPg+i_F4F*1kx3Th~TgKLm+)tk;Wx%8k9>G`%(BDf~yJ@__SJ#&8QcB`9$M8mS zdT}*Wo*HNy&zNKIheWB--RrRs*uCM(&>$#UFPH0X=Y?DdsWjm!BnZk9U(~Eo2cl44 zGBZko94So2J(>2kQk`y_D!mnXBw1e(UEUE?N%`xOV7vD*eM)3=CbhyzMU?p=Z%Trg zdEo`KN+fPnUA@dL6D|cI=&26P8%zuzHF8%SjX(jei$=CxXkj*#!5+luIQv7etWf=E zq$Fdno>M@)<$eE%f5$B~J&iAY3C)X(DpXfRAqo5-v@D8TtQ8r^Rmpo7nTH!hSkI{|SNimn%qtcY_D>w%SGBfFDPoY5 z`+Owa{y(;CP^zYU+v{CQV+Y70$p>*lPX>m88ih_;ThJd$CvyQF9YDY-!;1v7yT`Yz zSoRR*bsV(T?kQ-j#wRCIQAmhHH#m7AyW6E+k=(r{pZkqZ|WN@3!7smTJX2?kTDL z#?j?zsfP32htQgt?$4p+f-Mn~Wm{*AlUZL3zq2lI3-JM;GcMu>!Oe`d5~{q$C8EAS zUGhFTw=SI@r_maDqU}rw$Savq>)~Egi8mU8aDe17oT!Y5i|udS1<^Lny7gj{N#sZB zrm07O3T@Lo=)T<;QC2t=0*k;+SN@V_1P@|;U(?hZGKU8Dniid-$sD0gPH=%x3!T2f zk5p4ZPl@Sdo4O1xU(`P+HJE6LuxTn5G-(O1*GraBf1^~u*emv;V87MhQ#2%@{%3gd zYL9r7s}6&mxQ_r0IU!2W$Uh|g_M-+xk*s0EbUKooYDfZ7f@3#3A*UFKFTmC88a7ruHeW(YU(6p}CCFqDC{9n9-yM)R_FKhmxD>Zkhn~UYnpc-jAwDr0`u1Wn@c)@KQw*y zf|M6~OMQYh*Y!0|#~eXI`VILN6bb~*8u;4)YaORB!nzw6#}@{jyXwZ85ue)p!4kWG8}9;^2=+f_eD`s6wtxYgI&7!988S!39rWY(w4 zcwQ1yG7+71IPRjTnTACsD}Qw7i58y!BKNP8{DyC~gY26JLXOfUf^dHhZCS&NgIpU_8MJ za2E4?Ho?5A)KpkH*MQ}kYw`t?e$B;UsMb1Mus*DAinYN!`EWDp{KB*@tvlAzE23^^ zxar(KTcY*6TMaahMV_7e%zI-~H!I_2YgCYvMr5a~^8p)8!dkS$iBXun-x0fs@8F@6?F%-ba*30l}@1#@#wN?}nx&U0pno z3Gji`f37(G`qqvI^NZw0MZnNDUCcb%EXya|9|C6bIt&%ei13%{>wxi-*%WgEC;}cZ zIrX)4)?O61e~O&Ah*-(kXo@uQ+gSH|*Z;CLH8v-#GhdlO2yP^cAN&I zS1V(keYFwt>bU+H3#JI}rz__8elPgIn+>J%%9toSLd`0& zDTI9RGFeT@;O4ncgwKr|vZhfsagc1Ii!xnOA@ zkg(S0x}FYrIz6-Q6P;@pKuLs_O5^|esLnjXApL&D#xl8Q&z z%LfMWYDjGf3z7=LDa>X9PM(b!<9LWFUMok&fnOAMmd$;&Bnw0Ny5R*+^Dq)dFkCT& z!N$3y-QWR8J4$3p8mI#}W7ksp))0W;Oi0&(y}FLmk=&jvgx0_Azr~J;_AcsuRd9ZX zM{QZv_tjIZdA>+1wPE9)P1;M9M?uG-1(R;hd4hx{WcWcPWCQknBE%lX4aO)G1% zaIt`v(ow$V>B0D9UR!=BPKE;3w2O$lQDQQEQ(ZBD0>UA3sjA1!(xHjfLv!N`|2=OyR2kfQ z%sL+S2NwsJ){z=12xi8wPR8nE5CIFJCK+NZV8~Z${&l zl=C5kPLo^8fW&-BjG1^D^T>7uNGIOq#WTX|Z6V7xIJ!?bczi|}e++VOMU}cx(b#y} zLeHq)4il?QFAP-+;El*`b!0dkN@%@z`?p-H`nDJ}skLBU=8jK)MuF4Wr%c1UteX$M z*<3e>0bLC42&s)-y-Y*Y#Xe{FK3(R93ET|%)#r>r@5V)E_=T+TE{{BV*1o_j zkiHT3`jW_9(qoKzuy|fv7ATIV;@L3NMNG!1)JzGMBa0xN?0=+^n}Yv?LmPP`+`q<( zVK-Cy3-B0kyQIf=Lg^5+4-?(3SR*~a_N_Vj3w%ifBs&@WulQJEcPc;rAYLLYXlMr2 zOlJA|WnEc=b3|$)5xzL-hgied82wA3f%Xg2LYaKpBt*l&CJ1%|gJX~!16PUU`tuZe zLMUQ#7X|JkVCuznG(8h1(kw2-JWp0{$s|?@uG?8n0Yz1~AnvQJ@;zo%lBVC-70x}8 zP}1mA6{3e&ihf6lU&@FwJV7vU8m*46)M3|T(}NH2ry+H$P%MNnjHp?#@~6P(8c5`z z0%XT}oxvhu_X`r{brK{NzD$Dv zOLD=jGPQHiHSgo2(^d}>q=R^r+k1ccD+eBXfGBEv$QzZqxLrw$6jrfAgavvHB#vf&Pr1tQlAsIfR$q|TyWZ6mBKox03eYa{pQnM^#?(93FPoqkX_7I~Ygpsu=R<_w> z;I6ix_J-BvPQZ9cB-v<8=<~;9Et`x49};?KrhySG%T6g7ww;JvsVcdRE;rB!fTJkYQR(y}VcwOL3I8J&TDguFIqy z?Pj`Lpp{lfP=S7MOD&vZci04kfP2XDQR;3j$klR_T~=Sh#d3lAVjb$WnbK0;OX3=F z@iNPP=D&nIU9>Yq%ZCbwQzLq1t-khw&67#5Tw_$s&fq?;aAf_0H^@$>6zMiC^JCLk zYE6W`dT+dxu{!Vf>Jv|{!*2%A@-2GrzgBh%hR0YOsBYq-74_F`cKXZJebQN3%=<94 z=5kB_a{K4?{AGgu8vTT-oO_vzw{m+d8p)9{Sut3^j#>FKWzjIV(g%1sj(cgNbebFG z4miqM;b83G45guC)>bh3taz>x>)Yj4ltzq%z5na7>7$8B{2cj7Z^i^BYWK5o46!nG z7~Y}-%~k3Qsn@k|Om3LXdm$8tYsZFFokBUsL?q?~Qf&;E3AuV@Y3X%+N%d88s`L-> z?e48ZG2n5AHgLb)A%myTF{}qOf+_;jHF^|x&k_Z&Ug!@ra2l-+p~L~Juhg`@-?P>m z0{B29il&O(N4`i|EWQXDgt8D$Nc%>vx=l^_HA)G?Rg)T`&Xu;=am4C8&B=q?_X#>cU5&tY=HD!UfOj;kcD zM1&$|E}-q>E>Z2<^3O^tKnJhCr%_=rajmy#@ba`$b9;Erd>mOB8i?(#Mb*D1Z~h@P znUfDsR$krb1dn^7m;7pt#JR{bgwA3Yyt!SpjCkFGVp-C^r>Kvi^&lR@^3oo$8rk^r zS*c-c1amVhc$~9a?$gfU!(H<6I~K0aT%&+@Y3l+yptW_EK2`Qp+xxiM1TAlEnq6KF z&dY~6?q{B$Ye~`7{TI^+oVL1BO1R?I!CaSrE%f~c(tm(;jzfNkVq%D8Z$a_eF%v%1 z4~yVQODSuG?@QYQflPTvir+At-k%v;FMNG6_t5c-)-}N{U`?-(q_&DGvQYlOyEllr(u9a*Z*2rW@SG62p|vXySolbXws6{L;NV zA!DsQc3V0m8SAZQU3f`xP87G@);^69y)R!3Zg|pFRKUeQKF#1#RL)pGxzo@!pUALr1+9tDjb*WDwtjDrD+j`}bU=cA+&76D66!{1g^ThS~##HQQC z!lb!+nT99Ho7mj1#^;Sz5mVE|(#UzyRPLtT;!1xqCBiD})(l=cI^6V}#q6>16rJNY zw4=d^{P^nxOpq6}^MV(nCWzR(S6`3Iw^6At9foxa=F73s2Y5XEZch{?EJC93$bxHJ zbZ~IFV})gp`)qPqu&Vgh0b74a-z>cnc{=s)e@Wl!r|G=qV*B4GZYoq>*!zA?VQuUF zmt|96FM(kXb#I~Ct;KWrDiNF9B8s^Vb|PsB*Yas@RX4aaao&LPtYF;lu-iJxXx zC7s}36jn)#Yk9@K{rI5XX@oUh&f~<3Z#U|h67uw@{z=-8>&v+8hteA7Zw>6?i-W|^ zFJG&+c;D)1e%`j=PMZs2OKL5*RKiaw9q*f7QAZh|l__sf25MZjaj#j3;1(N`d`ke? zWJh{mufM+i=zUY`PN@mcvdl}fpKrMj?Qw+HHF_5pdKN*J`X(@n{i|3jgy#7oBO%-_ zZPLhL|D^-9GH|JyD?5Jn*+HJ?k?SRKYf`YSL3~&_c>7YYE&}xFF^9 z0_G{GCu`hmZaJ8qa`9f}Fj(Z)Z!s@uuMNy!FR?3VrocF!!s&WtyW$NE$~fOM9nIeh z)ids`IaDzku+HLlfpe6Y5|BG>fNVD4qX)N9f`(WOMgV#Up3#s>rYQ%8EP)@apc`*9 z8Y9U*a*+eOrf-Q)K+7 zq?X#w6sNtSBC(0ag=uZ(Dif~mQ?y82wI22=yVXrsVjIUD9m%b+Eo%Zr)xnWVvmz7w zivND01Su2!`~At?VDqF5RWwd7=xnK`qCL3R<11uW7uOBdzGU6*TKajmMFh>B3LXhb z!r;t|8D1KAeU=zOahHiAb|Q8`I%yCpq<)UKqCmPM#~$D6E<-1!9&G6w52m!qAs3)HD+EcVs>Z)kbL z`}>GvFb-dYfm~R~GFYGrS~wC2XQxIlnL=PF!hO@uF{*coAjYX5A_0#zD!$s+H1 z5@4W2KjkWqQIzzQgmiw)K&m}Vws$o0=2zuV2l^|o3CTq<%rNc|xa)Gg?ER31B+u$= zKhAt@X|-0B?+_f;m4QJeG0-goH*ugLSiJ*vHxQn9oS4FE(J*DbwG{sn5u}C;;~rL; zKs{plZc5d(H=b-;k!-@Qr2d!LKSxL;UO{mYlum3O-)6)BFS{a{UeOZW+PrSJ z$CwSbC=v_Qkq67$2I(mwI+%uf+F>yeUYH?Iu#Ry@=;)Iguar2(k!J%7O$Xc)bGwNFo)sbkMw@CkNv90r7y=qNI`R-6bcK%0Ei`HEUM^iXMHh=P&xD z^v}Ek+Ul|-*(LuL3r}dufS0E#gLONh@aOt*p~*w*y68+^5V;{EH+gQJSP@Fjlcv&x z)oKn`)9sr*)TVv8jlNjq0~rq5%AKLIM&J^tf2wKKH__pgqHK_r7)8czAVfAsso5pB zLP))`;|0npf%B-kWD}}@-)|3K%x0WLmdc+^EgbbhM;a7uu6ai6&fS4E#*Vj~jSHj$?@f1Uih+1Mh}0+4 z{+3I1-4t>XlTNM>jEDt1Is!D=of;jZav<~HYH1%M0Y!XeH>I~Gdt#Bl~|oyf6Wwe0@XjrCEhtH0wt8!P*~?2 zMfqc^dNQ{i+&#Pau4ymVOpu zG)^{<#Fzc(iDN<(g!|w=R|PtLLQc&^gren+5W-1^i94(r;@u6KT+b`%oW7%rUxa{t zev|wWGJO+?t#u^RPf&#Og?@9H`XMcdjMhzl(V9`|nVrYqHnZRJds_DROMly6YW=zi*nz1@3I@i1Pc6r(!6_kr(b(fu5=tUi-weV}1iuweNlgHz5 z@adZ{?cG&*(e5G95vewY&M}cPkq~eo?Rtn(zUy#=?|)5N3yW~8GZSUzd`3K;Jnh^q%SCg)v!cG? z|11%;sVC)z>egDZU_rvHJM(>{iInKoi0}crw4oP1&Uj(S3%gHKnDhW|0KPU8XNuvPI!nP>mV6|#7O6? zUbZHRpPd+xd@?Lik1W|tE7?W9Y&MRV)veRe^B-XrL32A%_vS>?+U+C1dZ)S{1k6an5<|;U9Rm@WQhssW^Ur^E^iK zIjtaKM2|!7s8>-t;%8R-Ny@#H-cQ{azxn@{0e`W*(M@hVg@SoqNxgBJA%h2sU z?{WINk{>n+o*@*Ve^C>6#pEbXTr-DL*kT(WRu5G7OhIPs-uy!sqX1!2F3p?Yir!M( z(YYCp`o0yjCd)i`&*$8oWe_Z%xO#4lG47(_$5hIyxUCsV8T9Bg6mx{bKJZ)*dT5{6 z{#uM0D;mbsw5I-OecMG-9P?jj8384U(;U``aK6=&wX@oQ4J!A*1B2AIIrORpg)py_ zzdcCvTm2v>d|@mtQ-Kl_fgxoQ+55;FW%IwOgXo&_JDqI;n)dvT*{%uzCOkas)oN5o zxuD5Zx$7ti;ePrC!Vx*Hm)y?(02);Qu)>Egs=>Cy#H;q{dwvf%UdjX=C9bXE1*t;| zh%01V7LxOteNoHuZxp$jla{ye0n0wN(EQv6J%qPp!t6A!DXSU>nHt^X$-I5vZsX7za`zeb- zJJ&~UEgMVy`+H74;Ue;qP1Z3j{<0VZ$aa>x z1P16Rc6x#W+=ydJ$c6@UPOiMENdDA?p7BD`OLz0++Kt1R$FIBG{~oiO&5+@rskmmU z9*0LTa!`K~1B?a-6UXOjWngfsGgmRMKhuo@&Qk?;;)zj(;qka%6*PF;7X{|G7W zYags~7bi-ro~tTOJ`atk0cCavD}?A0NuEpzIqqYgb`eoi?n%Ly3qN9@P9J-uWw6<3HZ-=Nx-Ad{^ZVstO~5 zQ--+|rgffjHbJwtf2gFu+yDD9v-kBJajBz^t*62g6R@iFwt!-Zr-^R+(|Wz-pyrF2 zm#)av42^^Nmtp9zrh%2wKYTc~X|x{jmWBrB04W`urrbX`N3kFLjlI8*QI#E6B%#Up1b2VY6I+KU;H7-a~-ZGC3cB zQ}obcw#RV!CjLnzhQo^5YWrIfoN7L69T4FA-asy|U%-I??K1l8ZYIos=e3*in1ZoKFcLC< z4V?#buO1`KC|hSL5#C@k#gC5u2W(eL?fOB5gdN~h^}jBcf3)$-)z_0 z;~2^XdMH!l&KJ7D^>U&(*10GwID@FMxNUcKs+TWK$Tj8dm-rN&IFITl`d|HKUVe9X z+ORXJ$+o8js6X#Hb*2Bz`1G+{29SSaCB(0TW{ z^Q&O*9JQZ!cxFW*t%73zChfyrp};?@-D_+YG0(e-?k?IFsZd5on%v>A!uI>%E`6>~ zqHtaC!1m5IP}{k1@CvQbsMoE(EZ0QOI^%7++IQ(Z;T=bTj)*41m?vT zH;$r^{qR@qXn%HOtQ{bbMvh0eyQztyWL@CsTu5=m%5u zD#VCynpqJSc2*EtW+3F`B)lW_w`iAyH|J*t>ZUarI~TD-``(&Xtp(Hj`za*2ORW7; zDICX8-Tm+)dfBFU32_P^SWCWx309_wWh>bDM>x2#1KVEx_O1CXr*_`o1HQl&hX->7 z-MJRT=NINL0DyZFs=k(5$g$=~U6k;7q*(a{_vIfuZg&eHo(;PD<*{(yEYRh@K^QDX zIY!ZNEujCz(k@WJfoanO*~?G6yI*X)^YzQb==r$VKlpQk~a zU!b|157AQ-CcCZV&u^_jW6a7Xsb{aj;J)-mo#q>&-yF=PY1tTdH~8G=Y*bCQ2{eMx zqStN}_yG>j5(;SH?f7RMW#fRyq)&l z>sIeP+Lgo+uGQ3D$aBqjntk+Wx91mkkMD#34`d9-|1UCzg`J)Af1Dcs88+B?*#Bqs ze-dN3*tvNAFJMfZClvRV-Bw?fPAf($S*wN8@{aY5HXAE+5^-atKy~X1ZRs<$_42C9 zvO#Mat#x~JQSDvn)kDwCN6*iXlkaZQp_KoNSMFNZ%|llTnI3*PrO2dG3z-~P+#qZe zY=|jHl{ckE(f>AVF#c!QNOE?{B5jab-{q#s;F(4X5h^zQ4k`Qx17`A{VFNpc>|dcW zh#eETkQzQQEe#nh1=ugpVIku4{wPaDoIu=lJWz-;7_gQFYV7b-S&Xae(l->?j}2%kPx+Nk{1+<74HA2ZnOV^R8~wK0Eb#X_!n3B$V2K`xss;E-!T>nJ*n6M= z00ci!Ovs2Des%;7BFyWT;|3_DP8SH62lhWC?H43r{STt zs}F=^LBXw|olx(#__Pu<5>saSrXfDQ*t^3tOgMy8U;(z+UxF*dz{AZz2$DVKZ73@c$V&t;BY|EcVbC9|*VAYA@M*pNTXqq+T5gIGoggAMbk{mR6Z%6EB&iUu+{zvt#p8BVH{->K1frAYvq7-98Y+aeXZw4rDh%SVOc>`lRJA4X%nmSrCCL4& zIOsM^7y(5q@_}gOb701Q1`jnT7^jFO(vS;&77qNK3D163Lizx_lWl%c{td@+~@Ml!?3jdX%I3P6JHSt>3XLeWve zB0Igixef3G2n{+^|7!nW3xS}JGd>6^%uVhd>Ra=m!Zj=a?>uMudC#1)Nge zb;Ua-e++*5FpZcEu|r+$aS@W@9KBE$+;xhlFUeYd%XRcDqWrO3K_d$~&hx_EtC3B0 z^B5Ez0o8GHxozCH)n0yeC1(3MT|zPZv&K^>d!Fs3#s8G2p5|Bh`F#^npKD~R#GbNL zv3$6${*Osoq9zq_6?~PS26M?GNk#tvZ%z;+&%=oGTKWcL8)Rfm4gY+4Jz}zxfbSKl zhMQZn0ZfBaEy0q%maRvwby{NXj)<5rx1wc)&HqKW)jyTz_WNrqXD4s$01AQ^xRR`{ z+!D+6*~;S#mGXgop6uLWXnfnDP9Cp5wTK!ND{im6EvrdTlJ2j7`PfGJ6y?LgeO?`I zz||qRe5M|eo|!&(rNe8~XgJ0B#VF$6OvAIP-EhKE4y(z5e&b1eDBH@-TK^|74?#$4 zta&NjjfX% zgaHk!ws2M54>1Fyen2;Pa5wLXn3jG+RY~%Xyu%h`SJBHtPQLazr3f0sRD#Sx_(B;M&UDt4Ruc3N*axd0!e95Yt=G*@XJ%L?%C)I3#V za+DfkR!LET+n3(xyKkS0^I4^@R*LUtF7o_WSmPI+wL~|JT5I)MTvwlAv#jgmHWmt5 z+tS2E$LXa~(Ohv{Z*HXJwlx2iT4OdeFeBSwQniyAuC1J**C7Qe;PqjlJ+3&M$t!)* zjpZe=u`(BJp!#_(Tx;v*>9_HOCr8^Ba5klFzk1{LFw-c1)oHIzj)=JkT6-arc%kUM zFN1M)x(lmj%Y9kwa)Sfhf&X2B(%O&I$A@7VXx}XS6Z0|WjD*1fft z?g|2`9qZMA`_|6KezeyZ&fI8~%ACj6ljMp}S;3}g*kCgARzMTqbv>s4@^xsR{?fwG zN>94!_nnwhEe^o-@b|`xX7WdFWKZ$Kcw+ ztqU`@ZQHi(>b;-%@fBV->&+8t*X7&&pl>6^PTS;><)c<=Xj)^ zOZjC(Id}7YP!voca(5*;IzC5V8*J@Xc+M-z$lwtB})0Vl1dVWnzcc|Q&Pu?Y9Jn_01zw(mK;Bw$w2Y94q0 z8L4%qQ0m0XhdMPEo$uVSnwN{+9%EuK^bbz?j@4k57w2HC+kX6<{A z;F*kF7IvF8Sw)p?&x=t>GT1{k3)!x^v--QL!MnEtDLjRgi$ge@)lmIA#T z3z$3543iD~8>-nTWP`iB_Cv>{DlFOMWJwJ0MqQnkvQROtq31=Y@<6T{@Go4^TZ&Tp zlq`8{UNX5&-Kq2yooPMm>z&8^lN47n$C6*+J;JQ(vwEr0)qZB^@dpEKl$op)jR3sg zI&T7-^FK8eB=NL#NY6cEVaAOdKAQLYh6(li6ep!=(=2IMH?QxTgyp-L+jN2Vs;;$e zEU@gHiQVXfsK2j)?R|XE(D+x!@dP`^gpN6|w0v%&&*TFbhI8gMB%Kh6gTmkoPjQ`I zQykViGR1GSoiXANaGl;*dXPPiV5aDVsy-JyLv^C=8*1YhHZI_Y^LU}CmyrW3rl4mt zJYpRstVd%f>nMu9LXwq+Uz$^$!J4}E)%Ozs3c649I92*rmQxe96=2K7fcAeLqp0+_ zH+M6NF&h!nj=utKQ)Xw}wn?<_4kW2s;{)vWPsdw3OJR&-7)NbbLK=O9YRro0*# zy^-7UG}A|)Db%`w?@za*+AGIByLnkj)JCfwdDqs*D$O(Ns>--Um*43DU$eM!%0jxS(w+8o9jk`%d9++5t zD!yJ!6UvB6Q=1-*ywx1%u!X&2MtXDL*b z7CfrgIuSKwvE^Q!16-R$U8x(N9r#g~W%%=av#len@K3|hr|5MOI3xF~f+77AD3SZa z`0fHV5A&Ss3hd%b? z#IwxN9YIeo57%=EUr=ZQ;?}<%^|Wwwu2MGijed5IDE%l?O~>EoZ70Z^K*-1x*aicN zYb<>GG?PQOPCd1GnlN$?FSn6#`2{>4;5F#zq7Do>>UF>c#3>dD(a;tk@JX3`!oA*t7ARc3;;eZjE}7r%jckMN0t5Oewg$2!uZyn z38ohC3Q&i-5*zgHT9;#kidziAk84@60_Jz12Wi~TR`(#W>57K{%F@Z<{Dq53iEa7P zc18qj2k9i*2Co4^%jFVM@yW{Y2Mbm^Wt6;;9-aY!E<^kWYHCEbSNv6PfX@h0zz(DJ z>NggSvm*yGl^=Fq$Or!-`EMkPHTkxP@x*WKfoCcUTmF!|WVOC=J#Mi&iQ8uHKe8d| zV9i#3>8j7I)D1_BXUp($=2~TeA+2I;G8q{kS&+iuXPSrEDXCoEzlov{qo*<=>XQbT zj;L*HH>SV#8eQ2s^vg@0jXh6`zrI`U#p>M0B}qG~70@{z3O}+x7S6%xA0rsxS2El0TiSMUPP>9Cbw}~aO#A7)a1 z)0|~y?^?$8U~+S%Sag;(bxXFjy}$~n_x7C1!zo{at0h%7q}s9(2JKLr+80Xqm&#T? za;t)>tci*YOa)V4EBkgzR{2QtnIn<&O~i4|wi!G_PSD3aq6r9`8RD96ROYvD<Ot9W)xi@E8E zvy|Uf9O&B9dyu`MAKvwCd6eQRiN<{~2!seBNvjXOw}t;b4T=9XSX1nKP02P21j;A9rx&W zO?FL9c1x>U#TnEy@omW`;j(IV1sKMe3}jH4;BX$EpsTqgj+&r6^LsM3>|UF)4CR5Z zd-47)b(CeKWZ1|nKFCKDwdwhh!V*IDJa54y2xpEY@YZ*Oqe@PDaK0U6888Kq_3eeAwqwXPl6cFCk?9V4<8gDc<2ygavi?+yovpS&P3Pb zVh=b}rSS$NO=l+5zPl zrw_OuIS)Wx{_Eo4(_3x?j-i%=6ni=XLWnEw$+Yg4ySH67Wx=}}YoQM>*1RJ4^3XaIvFM}y`eINlbFH6}7LFkf= z8o^ur^=m$uf9)aE*nE~Qibl4yyJm@-;fLNx;IC(hW==07GPM!*$+(7964kXNX(L%W zOVnU^jV2TH2QE2SW1xXm1EW*7T7sOd&cjQN=@o&m9+x zm50t=-}axxS(mbm0(XGiyu6EzD}$P8O9J<|8Kx%UgY}Q(-$OS92!KK+oR3&qG74 z93gU-`N@e24f85x2N$#Sx~h{!({5kf3s8V^xZJ~m8u`q%Cyx&sskbOO^H2uT7gsKC z9YuaVYwWA<#z*I0>qa+6LO{}q2I{#-E#pH6lcDT@MjG&ufh4Sw!Apa!q>WefZ5W-M z1kMx%^KjcQs8K;L)n-K_o9%w4)PR*Vr}n3a*FZ{}L-{NV^eehy+I1q=i7zSK?mfzQ zOZ^NjO_AyY2a_e5tL~{y8y;qbc`#G{tPnj@+~g*iJMNN{a(`-qTjuym4a&KGDaupP z{>^1j#^$o@WX;GwqSx^coNh%Sv!$}yoOl^sYD6IY=Q$veCSNGS%v(}tq?2Z%AxU<#w;ofH%tx@j>1?p!3WHFY$p=w$IXjX}o*-Cm%$mJfKjf*u=yNpJGn@}F=b-S)l?p zEL-oBVGa<2>a=&4oXG8evsx#nlak7ukvfu}@6gAmBhzqrb}{&Q7Ly-D=cv#-X|8N> z7>@nOAv@8j-b8=iG;%yF9X#s>0aNYNOs%=cxtP!1z>>K7jA8*T7GdZntF9}iceHUB ztm6FbzLX5F(inbt?*0;x+YYe}Bz52@)~9BzHzlGCoJ*kkj3UJD`d)G;g@?PX>9C%7 zqfDT-g%3qn{^R_}?U2bO))yiluuZONwkk$Tq zcUQx;&|4HRmx%<|<`aV%K*r^t-w%82(B8)?K4d2F0m{o!w13H8WqN6dW#=5HG3UA338J*M)A9nQh9BT-3a>mrFoZxsk|nrcJG%ymY+1N+x&&R zyXi&iU^o3B0zUh2^reYaHkCrK+YL_rvX(KOzv(GLh82E*#@OgyX|cWS2)z>oW(`zy z?-D=+TX3MF3;zLI7Bo4v^D^Un;(MalRV`8KlMMZlsGbKp z^m@|drUqORgb!zCdwUKJ<8+L+QXklDxplC;RN%R*RP{%(iQ=cyIndmi)j+5?-uQ<_ zyh_+QjkiW4;>I#dFs8>oTg%0>c`)#g`in_W_>ll4_$rFy<6hc>EnPls9|1?B;x^gU zxpS2OROp(4sbPw;zfV|mP2QZrBF)4;$AmDZ6zNmPLnB#e@8ZU0J0(EWyfJjzxuLk( zez=Mq(}2C7MschK=Ti{r>be5~9sTSa{9^gF?bO|b0_o{u?s_S@>uP?C#oobkiZpw zUIA5$v^vXBGCf%Sfz{fEGu5Wf=?8A}#rmpVm*g+>xagVSpg3NWrDP8N0Aq*#@5D<@ z)}Z!dwwky7kG8U+LD&`lM}qgaKd{pZtzMeW=V3#|w&eklv44yB3b%UF@SS3zLWZ-w zAVSD(6iE-1|IjPNlq*05C!=a6IPlx&tz^h=j%8_vgpD7MFL&(Y>WU`nSu+lCRyMzd zCl6+0=|iQv;t!?vzUw+hu41s?&Y?ETwO4dz8O6V83o@&f3vc_0E+#d?P2jFM-ggA# z%?X+zN6nqK$w;uFCv6YtG5h>NCS;=Cx3tn59IfyaVTg-Kq!kJYB%E6bL-Iy8@Y6lf z>_3$_5VSTs-{PZ4`JX7hjUg&ooZihbuvm52P&x0s85Ft zQoKrUzzEtNYnnOfc;wzOaHC!`^8rQ~Yy)Y|*+38S>9^W_d`d~2o76E(QG}>fB}RTL zAmG!(X|$DE)es2}@aA|A5>bxhjY-&>%2CMG@y&xfI5{8-aA;}4$%?|md(N6Uz3E^cX~c%+)bMVsU~2*BE}WNl#^AO|(~qLA}|3h`mcHAl9u1$>BJ-*OVW8d@2JO&R`F4WVyo2!lRM zViA0vVLXm*uKiXphyw~kcx)&>I=TR8T#A2Bq?ftN{LUuhuEZ1yQ8N<6BR@GX&mjQl zB{HXDSWYuZV!*ZdL}_Vc>s&yjYLAsMf#GiRQu5p7-^f+9Ew~8seu~a-@;DRhS7X!D z(RgcW7D8-QxhE6Z`n?@uK?M^6s~dTs3+Og8=OA(`@{!_c1FRUg(8r7{>nnF~D(#n6 zbH4})_JipE%bb?ue>?xqmH0MH$slJcXZHn z9OOnB=Fx`ha$=Jp0d?_%7)CjZ0I5DcPB-=800G0-Aq#;9NEqfT0DYZsC`e%mK|+iE zaexx`r-y*Gf2RcQW3u472gq|J2!hPjK+%0`r_*Buft*$dCoetqA^B%cfQG{WMTUYp zv(;|SyJt_a;{p#BeD7Qf0R0#ofqgMHyfMDlM!I}Zq7Z`y0NInlA=U}65zm_-em~2@ z+C~BMeL{u`x_!4g(?hvcBNEwP>Ihh5^si z_vg>4pOzBZ!uZ$ED{XOrbtc={d-Ur(f1ps z9vI#m-jkx>!A9H#VTkdZ!u1dDy=ROdDB&s28Q(lR`uh#gck=Qa6C7Sd3nZFjKI z{tvL<#Jkdw;Oawdx?e3c(0i{gX5=WzHqdbaiCF&+$*!_>@!~_$GJ;_4BQ{Y_H}EQB?*b)!N6G%~3C4#`?mKhg2je8`$0dm1Nik9* zf2XX2W0D81GpgOG_ynq?%iaXbq@z^2v)$ z-5i{VOwch5uOY!BR`HwZwILF|geKKP^gB`;mxdTg%OTVU@~=b2SG})28r_BZ-!py$ zWB1CzwHG6084v(Rp6`MiM;qq(owr3_P)YgS5DN&y7D*81my!!!&ZRT^2Yq^kPM^ZNrbKw_HUn_q%u!*`8OGfL321W zaG^5Be%vlT^f@%S%e?o?Q@Rn=_GWDJl@z0Hv$ceDB>^2TtN`4juMpm`M?7NSz8fLv zV>wCxh+UhuahmZL8rVjB&Ms^$j2p6nYYh#1th;QjU+fsOnF&ekq`1{^C(VFpKkj<^ z>AD1PaR)&prwb{wc=#CpkMJ|)E`B|13vxfmdfoOiKufp>ij^xv z8uD>R66WSl1DnB$ATk!~X{{69;%uo3 zI*<4(F?0%96B#*~!Fz)1kLjp#i)~wch(ptH?sR7ua%aLel1=%=B7(glXCvej^;7YP zZoyZ?hgq8EVTfxM2HY5*S!s()lca+22{@iFJNaS#(5{x{``Mm_Dfjq18J%xy8nQ)e z266@tmG0eAg6(u?gv=6hF7dt_n!q>+yOW4{LPB^(F)v-{_r`nyTGnydsTH5cRl|sr zbpVrJc*o;?_(@A{j;#Arf)yO&C^~~Gq{AqdYolv4Wf><}!GysRVXy8>Z!xMVrNtrg z1X6$Nxy@`)q*xeIhT3~wq@eC~^muZi2&gMrxTJGuG*xN>JnpI?9b0pAUc;A-46}Vp*X$z_ivrZ?!I{ zp40O7>gIev<~{nEU*m?%5}nvT2bV@LC&~COx}x9EqLq?#^7L2ar5bNE;dQdMH0Lry zW#@~#K$&-V{PC*gJ1h!K%~8=2$jv5{h}h+$5y-6Oq0oE;kdY#}es%>m%(PRtv1vZmqcbIBq7L=`X5xCz#8Kc`U?KIK$HS z%>%U&iSGaE*_!T>=#_!zlg6cV=PY}yQtb%!9rB-1=QG_GxnWbg-OQ>FZkNuypQ~35 zRKkIGfh74*bn$Fy`E2=R?xh7*;c(1%_FuZUed`EpRK z(1p=3w3EFY1KrPo1Ra90+1^O^e6^wh41!BsNJ>ti8DdrdSlMmmW`d8S z<8GJN;s0@!uKP5d=$WJ#YU1d)U0(vbH?vW0#LUEFpJ`3BR!qt~*jl4l^L zShlGu)<=7;gBlfEV1<^|`nm5>EJ%4oz_OUUxVO1)`*PvV*3SGZ&m;Zo+qwJ0OgFjD zYVZ@>ZT!-0dALRHx1={nIz2CK(A}oPl5O5Ydx6k;X)~-sF&jMB$LKPdHnM7%vH8so zE4^&-XGP4bdb-^Njo`Rw30grCIBN7~%B<}lt!3U0%tRG^V~^GR2rf#JQ)S&VR}Ix7kV5A=`7*H}cIi;U9ij@MbAlkYI_AUt=BwGrT0reC}p048;FGlBCt;)%HCRHs*Vi*rX^5Y@T2x~(J>ZFfeoW0;$tS>Bb!dvc^Ih!hoX?IxpjX*87Ad3qY-FXqE1wab# z;c|)bO@mxv4Z+!6yAgyH2F~}=VprqX_C<{LzcT2|<;QVy&$KnmWJWZfkN^{$@+?ob zKc1rWJ{VOF@lX8|i|woL*J`03K)beZNJ=p6;XrKH17Kkg{M^Vox3oY(ZnhbDvFjIE!E#4P-lki@&{hY_94AlNvtAt_??|d$RIFe*ys7^47}oug?u_5jki>EkpX^wm#uX}2&vj60a|IsHQ~R>8x!F}{X1&WZ zxNd(Yt}fseA4Je~Wm?ieEWwY2WZ#`zPNl;v-Z zExpl5iJj(!{1Pnvi6k<(m8wc{CbGtFdf%eM!4>3gH5!0lK-z{Ct`uBSp!&w{&um69 zm%4^Ii1~5DOHe;S2*FV- z@%}EkFi5hi-r4=5VwqU7 zJ`L!{%}-Lo5z}yk;7m0n>jn{bGYR4;l-d(y7|BYS8Jk&I3hc#35go+bTyRqGg2#w=8~}8>#laQ)~#FP~;otsppb+dn1`svc_62~=Gq!unw z!o&Prx?`kF3L_$9#D$43VUBNNBI4o;`2f^zhS{!1&Fvo1Lt2LO*lV@uoWbu9;!AD* z5(cy;@zmBaO21@kgOvcdsw^V_*_4SS53Q~U*YVUCUhU>(-zI-oGugtak+X&cugNHH4|Lczt+y$!+`qh0SBIV=CQ)lNs2P{46~zQ2ZVppaKD9%0rq;`|YU2c!TY2oZI@@b;`|Ip+ zQXIL^s=BKf7VoP|ari|DSM}LnCl3&4Q%-zzO!V!Z60~$9AQ=(7zhQ_xf4F$$!Brn3 z7v6d0-3iR2JX4=D^P2k}J$p8K=tbON7zb`_coOi&(R&9gl+?i(=y&_zmj420Wwb_^ zLGL&-(SD^z#k>P0gTIWW;gk5WaY6H!@;_D2LUs>dr^Eq(uBcp?Qz6QDGv8GnVuE?=e0_L9mp*AdJ&=q45JKE@6fCnkY9171MsL!J_vzB-8U zSGbuf&uG&`=!1pvv zs&}OexbbAKHNtwgzqFWd{$fV0)hRh^d?f2(MxUsd^4c1ZF$zfcMci5H9fBJka;oIL zo-p9!_U3jjucWENn#c(~%=yra_U5y&LOYq^LwFZCfft5D7E-Ninx!#TVnK6I4L15yQmkW$?K7{HM3nLHt-48%#pV-T9%G-7 zWcPy%_S0m-LHj+?z|=h#PZITf3viu{rLH@Fv`A+YEYGPh`qt*OBmAXY#%(a$Bp~o9 zzge!|BS$rjw4I*XO2izr>llp#0&DHr4Sk;!J12ratHnT!nQe`0>}dSiZRjEh?*-zPmvs z`j>^}($1erlQWa#YSzbs>P&V{JPTX+0zAdYjg3xTe%!I|td&)Xl|^Eo^A=9t)YN9M zD*|0w%oJ`r5-SH;cGa|^r%LR@@sogno)f|G^JTm-5~yLS5u0qdoA6LN;S9YsF*~}H z%*0+gGmEp|f$=5(Vmzn`^2;Pl!>WopPRBc0<1hjBeicwz?DH&RmO@}&yi!~yNapyx z>aNIQuDyW)aQBa`1k8w6jIsg+j-c6uo)IJbX1=w zFSS2N+KtjB+fCt~;u_32r~M?GBjGx=v`j!ep)jjCjccV2IbD6S!=2(3>`B$x3jcQP2XL zzCNB_$=htafMW7SXIY;OuYJ2}Br9xO&CmoKpUq~bi|MDRzS{Z0-Q2WPbYn}db7QFG zxu4#+7+j7|CV7gK!1Tvx<{b{k&@k&C1cBH08A84KMh z@HJyc?<_;Cr^tdl`f8Z{eg}6r6{ixNmiG!u*;^eznGK12KnKRRmL%s-?vSs@g{Z6O zp97h}6Z=5KYJu(y4--a*QbD^%UG0K*5@Q}K>Q)zwx!)B5^$q?ufuF}$9NS113r0a` zXFz@0l5Zf>F#^X$47W@Cq`DWp#0o}P#JVtt`h?taSBF6)lXX>dp2Y zYaZnjHzAha1jMJMZx$te&$0Amt;a(CY*Owk-`UuS^r(O$&z;ADN**QugU7Ay)SMlOE@-1{Et*4hX93T-u{S+ear`=fYv&*I-gd6RpHG-CHE6MwFQ4fN_mwi{my@g|# zz#DcXy8^RuOx2I~1m2bW5M3;u;PGeKuRZ_3nV`t%cd?NrA>WL7jnUMwTlFUo4r7eo z>R;C!Ed+c_r=#!#oul*v+N0of(%EpmtL#Vc`@jS4`$R4=ePlqq(*c%;{N?oqlH^#R zCJ`V4^(gRKByW6=kbQj5FM{uNv@@~)XW$;jx{yi?z`f!~uunJO&?O>B;*1mfB`)T0 zNo{15twA<)sx@^g-znf^v}!JXY2~m(6@5IoY7ZdnCA;4Ckv0KDZxgm=+tJ$-%fP>U z*`7mGZq3qvzbXzc>g<1kg300iw*YzW|K;C?gZn>Y;cZpr0S8P--6tCEh$$PO!-W5L zl})i~){v6pM3Gj43j6+e!bPo8=SPyy-JR;XgLQhjaN(U-Yi&h+8e7lecT4MOO1gZx zM%&*0tLI^9!^@|mvu?%5FId0YL)+?V__9v1+w^q1H8dl`J}@-FWvnpo7Zq#U2D}a+KH`O z=J(>St$e%6?~1UidvBk8W z2A^%;x{un0t@-DFMV9_wk*!v*YJk+3pZ@8xrpx-~I*fVv_Gpk>=)CQisA)J^tZDkH z`Kp^wd_dR17^Z2keY%o!%xe&g-db{a!$T}SOaX;EUPVW_Nz^KmHIYAl( z9~!INoXpU|c|M9Mdqh_vct0A132_j+2p2Wf=^QUUY#+|bgbyxF8t9xOyYuPJ)BNGC zW74nl`y5UKw#Z>DKCzHCjUbQoIRyjaZfeweXa@uyo*}}h!YL=t@eCuRC=+}i{1{{C zB-H4}Hdgb!Cs=lubF^7%ms1k|>;ohCqsPt&vs8cr!D?bHzWK-{JD|1;8|6Laj(JNx z<0a)_>k#~)c{D=Ng={&`!B689SA~(B*-Q5o%UuMI*uQj1mdZk^JWX{j^*A@EQ>GkY zHej~a6=ZemqMzRy`E!BgwOH*|b~ey}2f_D@?6r7tFKwltF$c0Y8qPOE{FWA#v-fne zfD!t~<}!bCfr`=R<{6rvRvT3l$;BG*ak-QeFD|GZe0V&(DU19C>2MV^^#84!EKL7P z0dTT0{b$|$|HF*S7Mf+N+W2%kGN}SGy!V%jJJSEe3>(S{n`bkWf0$wQe!PWlmiWEZ z+`p~2f_9Qr9%e9-T!Lr*LHWGEKD+{VDX?vl)qz7m=b?f*>SQUg@PInLj_TbYs4<#fL5a83YQ?2Ju`g|Xt2!9nSM8gwQO znH4*Mpr+@F$!vpY84zDp6}ivixH~*f0D%DzeDBZZc*=)PmF4hhPWqbj;R-?Qe{83f z*I2%}{FcbbS0^>ViRiwTvhuE;6#W^SU4>43_TDf{r{cfP6XMKP;I2 zHu@Has{o(NUT*EF{qk}}q!ex8i44^t8gZnYkdbNTlWW-hD?-rmeiO%izypbRMx-x@ ze;iB`1@k@lq3;Q9%_F}2kPDF|NL_gKkNp@)eg{bIqV}l6j{7l}Go-aU@=R9vo!u zh-h*W<6|`UT|V)68G^6KC!7z;!r8U5!$QP^>cEMFbRI7HKhVgSjfwmR8kbImD0#TW z-gaoF;=*wq?rxv|V8LewawM+-*e`SUSUTz-Vcc8iI-foing7F!dyj?s*(3$;+{dkd zP~n~1^zVm_6Y0`_ul^y&|M12KU-8xnHM)S}KZ{ry^HpA_Uhfy#(am7D$MhQyDW^#tx^7?!(9l8S&v)9yN5ER{~{LV|D{;Cnf~8m`M2=MgVc4Q zQ5Obu*3T|Trpy2bT4Vys{Rk?5ds`DbbOar4D%yhh_7c}Xzp# zFyr0p7t8t}9%*pbCa9>F&A!_bc5q#@?RKJvr?_i;Y3!%R?~5*2>hpr7c+lfvK{&Gi z$W1O7y}j8Uw^|jKB;t)fk{u{;@J;>Ad*M3jMs7ZPvVX-E%^Go3y8oD(D4>f8jpi2^ z$nk|*dRRx;3-cr{li~lg#`%Fi!iDhwi_YAe=!HGv+i{CLYp6j*|DMmQ*K^vsNzPyQ zcK78T*%@|cYCxA}^i4}opt#8E@ToiHC+CwLdZ)JaBTY}wpNkmQ3WXzrQJHdjC|i+! z{L`~7&irFPqBFDjK@20m8|mTlAwYn*$)K=#$BrROtzp!@UKPpp>{o3$s*`I_)9x~n zBL6<``Kvmzc!63y)PDnn3Ro3v4aFaP56Hb2cn=tCrvUg*u9Zg=WF15uaUby95>QIB zHWtuQAIlz)5o>07LbndE$DdAJ@aQWA(o&7 ztZ|e`s~SsypKvnRZJ9I*0huL(J-JrZHKki$tvL*#bK3c_s$`l#jOEmJ)W@V6XlcO! zs^cU;pR)E2EH;^JfjwJdtab~%(SdF?bIDen%n|gl5{cwpg67h%sz6I5MlQ$>>v4Vm z0d0q99&M-S?o94vlRuf&B5$y<)Voe{Z}d0doZZLn0qL_c0a^Jy3x>77bH}@>&5Fm# zLYotTnKRm8Oy(nvD@3)iMc?=e!8iw5WhTrYJg4klzooFo>aNiDr?dk6#xt>wRI_V; zheY1gj?keSbmC;w=cR!vUT{HhPWs@VZ_45?HEpHI*|Y;>?=tUcC(Ns5rVbc-Kp-Wx zJwP8iqSSBWjH}tW+7fTTx{lT~oZs}Od6aw&IRDO=J z8OsrNl~TTLT%LP5*MEAZzF*Xydt29kc1(Xhcs>NjE`RBT{?_Ca?bxoBV`P zeDpGVq?U9|OZ@{q_V4yX>W*&QZI8@_B#|5RZZvn&Q0AT7ronH2y+=vF{?py?YMlI? zV2$QE!G94m%l}f$oXr1e@Zj?g{r+_f-4Fj~gFV6#oK6!tRGK{4qNY;)oEf+%ZUqF) z{kU7Z3n#5!Sphj`{Au=iygoG@caoF0w4L=7ft;*B&bs&REmX4h!jW1Dq0lhA7Wr&xGT?x>%2Ht5h>2;EB2ql>C~kcK}}Voey_;Rc3DwZU@{duscL(I`;QMJvE& z%Rfajj7#Pv6V*{(@)otTJf9JKw0*+0e%QkAyyHoa!D#1@9jd78eL|lbx`817!C=>` zdWzMlvg@Z=hP<$8BW8DFF=ARMxZ@_tsw40d}ifQyocH zOxy2lbbeY}4x(EJ<=} zsLYW2j(nnVl`5zn)Gb8kYl+{|O+eRDT`%Bq^wES8ptDLWR&+VCv0W&U)@YT6noZ|g zSS;3wT8ncXa{XL?0zJd_}VF zoy=x-fVmb2PKyQ&EA;z}3r7_nV^8D{&XdsN=Y03XpfLP#NU?{YF!IYEtSj{%g)?A$ zG+tAQ=$3bUnkia^H5+4m-oAY!pRgMN;D(?wm15Z%FiH(E*h^W**u#csTU z`p0a_jjEWZs1#~WHv3=Hd4&0{gBi1>CI*^0;alrItAhOq^uyWZq6edel!}1HYu3zr z|19ambU!0@TIE}9elOS$yV-)NqiX4Id(jXGOnB(%u#)Dq^%Xb%hSU6fcY^6xPnz!D z>-^}3|DuckaW?@NS;6q}5izQI*qahDDjHd-INSbT*XoFv*|}JW7$q!ioJ}47J#BtF zn~Iql15EyXsX)Z?@A{pDrK6KG5i|9rZyS1($&{m(_1ax*<$BY%M6^yJKAZ&6`)ur)c$hRYVqN6FP^-a|q4uJ| zfgG|$hrzrBA!H=PBUB_<4pS)o(6V%-B1j{KOjt~2Y|%lbA*B>@R_-_h$*5wQ165#N znqne_Lubt-YeR6PiG!*$$j~J?hEkeyTBl)xGt+?CJk$+BWY6PXb7Q}|`{X&|^2uUK zG;PL7XMOsGh1t=UTi0Iy<22KH-T1>pCTFE7YZSDZcnuK-rB*5S^FCNCjt;Sf7`u7e zUm8#xr=z36J&aLzW2;BBW#*uoD?e4h%XB%f0__x!=iAe}zIbW)Gg$SAq_}dWmVZGR zHhS@5ce=b*1O>Z|@K(krDy|h56Qxk|^WLm<&7wM}<{f~ivYP6D_l3u%a=IACZ0&zF zymHNs3|CWD5o6_`tbSx~uPnkCBO|-)bzyaV@O?trGiWYIpw_v}g&T+tCVg34+Oeh8 z&MJhG3OyWHp~lL!?AIaSW#K)>Y{!jUN<5rB9u3}t%tiOu6s!YFxc2cK;It4%@4z3+ z{?sA{2?9^O*`r1`{PT$ARF2>|#cd^w-GD#&Jj_}>(U_G8igHRN13DeXE15V(twLcA zTJeJBvK3a<3%79YGxin~TMu1hOr3)?{+Y6)9b3iPya-FUAvUgr+-$tOo-roAv%p5$ zqI#s0ZMCy9@tE!Be5b#Wp=hmwx8Kov@Y_|+}Nuq9UJM%@M@OO zWR{_25{eGNwB#C51TU+PD1YU8ObrGe<3)&JnZYwXq76h;oy?={9e_yrofOO&%e2z( z2#pxvzx|hkWKx5|A)|Sv#pJ;TEKcN3JUvIrEsVIvYv6M`vZEG_uzFW7zmKUnA!X&l5E^L>GvM6ny8 zJdqtC6B8nG@JoVa;o12`g{Qjyz#@{c!oekD&R#gyhHZ zc{#scFx~m}@3zs|m$FM7&M^5jy!@N=>UngffSprewaeNgtX1n)i;`UK^_n?H|@&ShRUPkHKq$ zV2Npry`}Y&d)`gD`D@25NxQEsMx2v=ipROMoy4q{ko#WFz`@&+%=|nTVAZ3b;bLWE zU}R!oW@v0=Xl!h19HptC4_1+1q@WR!8Uf_`=BMCR8xZ0eq32eblarK~mj|rUG(s{m zixq&VASDf`T}L4-wWt_qn}V^Pp^2fXrIDGbv96JxnXaLpiGiMxsX`3M76qTovQ!12 zON?VQ6|xHwOEQX66BWv!TFvx~^-O^d2`I`>DNP1h0x=wB22d)bD6ya*H3e9GCgv2U zf~wBcycAGHjNDL#RLHge#x|;E;V{QAtHnY8sc3p&6H|s;j>n7XTso BT+;vm literal 0 HcmV?d00001 diff --git a/methods/MIC_Method.pdf b/methods/MIC_Method.pdf new file mode 100644 index 0000000000000000000000000000000000000000..931ddaa4d6b0e167469602cf42f44a6182a7bf06 GIT binary patch literal 83939 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 /dev/null 2>&1 + if [ $? -eq 0 ]; then + echo -e "\033[1;32m✔\033[0m ${test_name} completed successfully." + else + echo -e "\033[1;31m✘\033[0m ${test_name} failed. Please check logs for details." + fi +} +show_progress() { + local current=$1 + local total=$2 + local progress=$(( (current * 100) / total )) + local done=$(( (progress * 4) / 10 )) + local left=$(( 40 - done )) + local fill=$(printf "%${done}s") + local empty=$(printf "%${left}s") + printf "\rProgress: ${fill// /●}${empty// /○} ${progress}%%" +} +main() { + local tests=( + "AST HTS test:map -a ast -o hts -p E.coli_ATCC_25922_Hts -d tests/data_hts_ast.xlsx -e tests/test_result -m tests/map_hts.xlsx -r 2 -s 128 -f 1 -t 0.49" + "AST Manual test:map -a ast -o manual -p E.coli_ATCC_25922_Manual -d tests/data_manual_ast.xlsx -e tests/test_result -m tests/map_manual.xlsx -r 2 -s 128 -f 0.25 -t 0.49" + "HC50 HTS test:map -a hc50 -o hts -p RBC_Hts -d tests/data_hts_hc50.xlsx -e tests/test_result -m tests/map_hts.xlsx -r 2 -s 128 -f 1" + "HC50 Manual test:map -a hc50 -o manual -p RBC_Manual -d tests/data_manual_hc50.xlsx -e tests/test_result -m tests/map_manual.xlsx -r 2 -s 128 -f 0.25" + "CC50 Manual test:map -a cc50 -o manual -p HEK293_Manual -d tests/data_manual_cc50.xlsx -e tests/test_result -m tests/map_manual_cc50.xlsx -r 2 -s 128 -f 0.25" + ) + local total_tests=${#tests[@]} + for i in "${!tests[@]}"; do + IFS=":" read -r test_name command <<< "${tests[$i]}" + run_test "$test_name" "$command" + show_progress $((i + 1)) $total_tests + done + echo -e "\n\033[1;31m*** Please comapre the test and expected results in 'tests' directory ***\033[0m" +} +main \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..d18cf28 --- /dev/null +++ b/setup.py @@ -0,0 +1,44 @@ +import shutil +from setuptools import setup, find_packages +from setuptools.command.install import install +import os +import atexit + +def cleanup(): + egg_info_dir = os.path.join(os.getcwd(), 'map.egg-info') + if os.path.exists(egg_info_dir): + print(f"Removing {egg_info_dir}") + shutil.rmtree(egg_info_dir) + print(f"{egg_info_dir} removed") + build_dir = os.path.join(os.getcwd(), 'build') + if os.path.exists(build_dir): + print(f"Removing {build_dir}") + shutil.rmtree(build_dir) + print(f"{build_dir} removed") + +class PostInstallCommand(install): + """Post-installation for installation mode.""" + def run(self): + install.run(self) + atexit.register(cleanup) + +setup( + name='map', + version='1.0.1', + packages=find_packages(), + entry_points={ + 'console_scripts': [ + 'map=map.main:main', + ], + }, + install_requires=[ + 'pandas', + 'numpy', + 'progress', + 'openpyxl', + 'xlsxwriter', + ], + cmdclass={ + 'install': PostInstallCommand, + }, +) \ No newline at end of file diff --git a/template/data_template.xlsx b/template/data_template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..d8e31ae3e4f524867dd3ca4b332a42bc02d44e91 GIT binary patch literal 7405 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 literal 0 HcmV?d00001 diff --git a/template/matrix_manual_template.xlsx b/template/matrix_manual_template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..698e32937ac4a32ee46d5c149b0c48195fbf7a86 GIT binary patch literal 6859 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 S6!e^;1G=C`Vh8v7)Bgb*d{g%T literal 0 HcmV?d00001 diff --git a/tests/data_hts_ast.xlsx b/tests/data_hts_ast.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6c6a05de645e971032a67948989b031c61d9b5df GIT binary patch literal 12263 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 literal 0 HcmV?d00001 diff --git a/tests/data_manual_hc50.xlsx b/tests/data_manual_hc50.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..62cdcb17681c5d2d6287c3d606d80bac07ec40df GIT binary patch literal 9669 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 Date: Mon, 17 Jun 2024 15:35:09 -0700 Subject: [PATCH 06/11] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fe4b241..ca7ee3c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- MAP-Logo + MAP-Logo

# Microdilution Assay Processor (MAP) @@ -78,7 +78,7 @@ For both manual and high-throughput assays, the Excel file must contain plate re - 96-well plates must have column headers (1-12) and row identifiers (A-H).

- Raw-Data" + Raw-Data"

### High-Throughput: From 7b75a87c9014e5418724c68e1d48f6fd1d3cd66b Mon Sep 17 00:00:00 2001 From: asalehi Date: Mon, 17 Jun 2024 15:38:50 -0700 Subject: [PATCH 07/11] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ca7ee3c..c5569b0 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

- MAP-Logo + MAP-Logo

# Microdilution Assay Processor (MAP) @@ -78,7 +78,7 @@ For both manual and high-throughput assays, the Excel file must contain plate re - 96-well plates must have column headers (1-12) and row identifiers (A-H).

- Raw-Data" + Raw-Data"

### High-Throughput: From 9ed4c1de2b7d5e474adbca7ce700d1f13c38c92c Mon Sep 17 00:00:00 2001 From: asalehi Date: Tue, 18 Jun 2024 21:54:44 -0700 Subject: [PATCH 08/11] argparse refactor --- map/main.py | 220 +++++++++++++++++++++++++++------------------------- 1 file changed, 113 insertions(+), 107 deletions(-) diff --git a/map/main.py b/map/main.py index 1cee307..20e400a 100755 --- a/map/main.py +++ b/map/main.py @@ -1,6 +1,7 @@ """ MAP 1.0.1 """ + import argparse import os from datetime import datetime @@ -16,19 +17,21 @@ def excel_file(input_path): if ext not in ['.xlsx', 'xls']: raise argparse.ArgumentTypeError(f"{input_path} is not an Excel file") return input_path -parser = argparse.ArgumentParser(description="MAP: Microdilution Assay Processor ") -parser.add_argument('--version', action='version', version='MAP 1.0.1') -parser.add_argument("-a", "--assay", help ="Assay type, antimicrobial susceptibility testing, hemolysis assay, or AlamarBlue assay", type=str, choices=['ast', 'hc50','cc50'], required = True) -parser.add_argument("-o", "--operation_mode", help ="Operation mode, manual or high-throughput", type=str, choices=['manual', 'hts'], required = True) -parser.add_argument("-p", "--prefix", help = "Prefix for the output Excel file", type = lambda s: s.replace(" ", "-"), required = False, default="Sample_name") -parser.add_argument("-d", "--raw_data", help = "Excel file contaning the raw plate reader data in format of 96-well plates", type = excel_file, required = True) -parser.add_argument("-m", "--matrix", help = "Excel file contaning the matrix map, specifying the treatment name (amc) and ID (Synth ID)", type = excel_file, required = True) -parser.add_argument("-r", "--num_tech_rep", help = "Number of technical replicates used in high-throughput assay",type = int, required= False, default = 2) -parser.add_argument("-s", "--start_con", help = "Starting concentration (highest concentration) of the assay", type = float, required = True) -parser.add_argument("-f", "--final_con", help = "Final concentration (lowest concentration) of the assay", type = float, required = True) -parser.add_argument("-t", "--threshold", help = "Absorbance threshold for determination of minimum inhibitory concetration (Default = 0.4999)", type = float, required = False, default = 0.4999) -parser.add_argument("-e", "--output_dir", help = "Directory for the output Excel file", type = str, required = False, default = "results") -args = parser.parse_args() + +def get_args(): + parser = argparse.ArgumentParser(description="MAP: Microdilution Assay Processor") + parser.add_argument('--version', action='version', version='MAP 1.0.1') + parser.add_argument("-a", "--assay", help="Assay type, antimicrobial susceptibility testing, hemolysis assay, or AlamarBlue assay", type=str, choices=['ast', 'hc50', 'cc50'], required=True) + parser.add_argument("-o", "--operation_mode", help="Operation mode, manual or high-throughput", type=str, choices=['manual', 'hts'], required=True) + parser.add_argument("-p", "--prefix", help="Prefix for the output Excel file", type=lambda s: s.replace(" ", "-"), required=False, default="Sample_name") + parser.add_argument("-d", "--raw_data", help="Excel file containing the raw plate reader data in format of 96-well plates", type=excel_file, required=True) + parser.add_argument("-m", "--matrix", help="Excel file containing the matrix map, specifying the treatment name (amc) and ID (Synth ID)", type=excel_file, required=True) + parser.add_argument("-r", "--num_tech_rep", help="Number of technical replicates used in high-throughput assay", type=int, required=False, default=2) + parser.add_argument("-s", "--start_con", help="Starting concentration (highest concentration) of the assay", type=float, required=True) + parser.add_argument("-f", "--final_con", help="Final concentration (lowest concentration) of the assay", type=float, required=True) + parser.add_argument("-t", "--threshold", help="Absorbance threshold for determination of minimum inhibitory concentration (Default = 0.4999)", type=float, required=False, default=0.4999) + parser.add_argument("-e", "--output_dir", help="Directory for the output Excel file", type=str, required=False, default="results") + return parser.parse_args() def detect_plate(row, col, raw_data_array): """Detect the start of a new plate using the markers "A" and 1.""" @@ -73,13 +76,11 @@ def expand_well_ranges(matrix_data): new_rows.append(row) return pd.DataFrame(new_rows) - - -def process_plate(row, col, raw_data_array, matrix_data, master_dict, plate_num, operation_mode): +def process_plate(args, row, col, raw_data_array, matrix_data, master_dict, plate_num): """ Process the detected plate to capture absorbance value, synth_id, and amc. """ - if operation_mode == 'manual': + if args.operation_mode == 'manual': master_dict[plate_num] = {'rows': {}} for i in range(8): row_id = chr(ord('A') + i) @@ -103,11 +104,11 @@ def process_plate(row, col, raw_data_array, matrix_data, master_dict, plate_num, master_dict[plate_num]['wells'][well]['synth_id'] = matrix_row['synth_id'].values[0] master_dict[plate_num]['wells'][well]['amc'] = matrix_row['amc'].values[0] -def process_data(raw_data_path, matrix_path, operation_mode): +def process_data(args): """Process the raw data and return a master dictionary with processed plate data.""" - raw_data = pd.read_excel(raw_data_path) - matrix_data = pd.read_excel(matrix_path) - if operation_mode == 'manual': + raw_data = pd.read_excel(args.raw_data) + matrix_data = pd.read_excel(args.matrix) + if args.operation_mode == 'manual': matrix_data = expand_well_ranges(matrix_data) raw_data_array = raw_data.to_numpy() num_rows, num_cols = raw_data_array.shape @@ -119,32 +120,32 @@ def process_data(raw_data_path, matrix_path, operation_mode): for col in range(num_cols - 1): if detect_plate(row, col, raw_data_array): num_plates += 1 - process_plate(row, col, raw_data_array, matrix_data, master_dict['plates'], num_plates, operation_mode) + process_plate(args, row, col, raw_data_array, matrix_data, master_dict['plates'], num_plates) progress_bar.next() progress_bar.finish() return master_dict, num_plates -def calculate_concentrations(start_con, final_con, plates_per_rep, operation_mode, master_dict): +def calculate_concentrations(args, plates_per_rep, master_dict): """Calculate Concentrations based on user input.""" if args.operation_mode == 'manual': wells = master_dict['plates'][1]['rows']['A']['wells'].values() wells_per_treatment = sum(details.get('amc') not in ["Growth Control", "Sterility Control"] for details in wells) - num_points = plates_per_rep if operation_mode == 'hts' else wells_per_treatment - conc_list = np.logspace(np.log2(start_con), np.log2(final_con), num_points, base=2) + num_points = plates_per_rep if args.operation_mode == 'hts' else wells_per_treatment + conc_list = np.logspace(np.log2(args.start_con), np.log2(args.final_con), num_points, base=2) conc_list = np.around(conc_list, decimals=3) conc_list = [int(val) if np.isclose(val, int(val)) else val for val in conc_list] return conc_list -def validate_input(num_tech_rep, start_con, final_con, num_plates, conc_list, operation_mode): +def validate_input(args, num_plates, conc_list): """Validate Experimental Setup""" - if operation_mode == 'hts': - if num_tech_rep > num_plates: + if args.operation_mode == 'hts': + if args.num_tech_rep > num_plates: print("Number of technical replicates cannot exceed the number of plates.") return False - if num_plates % num_tech_rep != 0: + if num_plates % args.num_tech_rep != 0: print("Number of plates is not divisible by the number of technical replicates.") return False - if start_con <= final_con: + if args.start_con <= args.final_con: print("Starting concentration cannot be smaller than final concentration.") return False for i, j in zip(conc_list, conc_list[1:]): @@ -176,7 +177,7 @@ def assign_conc_manual(master_dict, conc_list): for well_data in row_data['wells'].values(): if well_data['amc'] not in ['Sterility Control', 'Growth Control']: well_data['conc_val'] = conc_list[conc_idx % total_conc_assignments] - conc_idx += 1 # Move to the next concentration + conc_idx += 1 return master_dict def populate_rep_conc_hts(master_dict, plates_per_rep, conc_list): @@ -197,7 +198,7 @@ def add_notes(concentrations_above_threshold): else: return "" -def determine_mic_manual(master_dict): +def determine_mic_manual(args, master_dict): """Determine MIC for manual operation mode""" total_wells = sum(len([data for data in row['wells'].values() @@ -232,7 +233,7 @@ def determine_mic_manual(master_dict): data['note'] += (" " + additional_note if data['note'] else additional_note) progress_bar.finish() -def determine_mic_hts(master_dict): +def determine_mic_hts(args, master_dict): """ Determine the Minimum Inhibitory Concentration (MIC) for each well in the master dictionary. """ @@ -269,7 +270,7 @@ def determine_mic_hts(master_dict): progress_bar.next() progress_bar.finish() -def determine_hc50_cc50_manual(master_dict, assay): +def determine_hc50_cc50_manual(args, master_dict): """Determine the Hemolytic Concentration 50 (HC50) or Cytotoxic Concentration 50 (CC50) for manual operation mode.""" positive_controls = [] negative_controls = [] @@ -282,13 +283,13 @@ def determine_hc50_cc50_manual(master_dict, assay): negative_controls.append(data['abs_val']) avg_positive = sum(positive_controls) / len(positive_controls) if positive_controls else 0 avg_negative = sum(negative_controls) / len(negative_controls) if negative_controls else 0 - absorbance_range = avg_positive - avg_negative if assay == 'hc50' else avg_negative - avg_positive + absorbance_range = avg_positive - avg_negative if args.assay == 'hc50' else avg_negative - avg_positive non_control_wells = sum( 1 for plate in master_dict['plates'].values() for row in plate['rows'].values() for well in row['wells'].values() if well.get('amc') not in ["Growth Control", "Sterility Control"]) - progress_bar = FillingCirclesBar(f'Determining {assay.upper()}: ', max=non_control_wells) + progress_bar = FillingCirclesBar(f'Determining {args.assay.upper()}: ', max=non_control_wells) for plate_num, plate_data in master_dict['plates'].items(): - absorbance_at_target = avg_negative + (0.50 * absorbance_range) if assay == 'hc50' else avg_positive + (0.50 * absorbance_range) + absorbance_at_target = avg_negative + (0.50 * absorbance_range) if args.assay == 'hc50' else avg_positive + (0.50 * absorbance_range) for row_id, row_data in plate_data['rows'].items(): target_value = None sorted_wells = sorted([(well, data) for well, data in row_data['wells'].items() if 'conc_val' in data], key=lambda item: item[1]['conc_val']) @@ -296,25 +297,24 @@ def determine_hc50_cc50_manual(master_dict, assay): progress_bar.next() if data.get('amc') in ["Growth Control", "Sterility Control"]: continue - data[f'abs_at_{assay}'] = absorbance_at_target - if ((data['abs_val'] >= absorbance_at_target and assay == 'hc50') or - (data['abs_val'] <= absorbance_at_target and assay == 'cc50')) and target_value is None: + data[f'abs_at_{args.assay}'] = absorbance_at_target + if ((data['abs_val'] >= absorbance_at_target and args.assay == 'hc50') or + (data['abs_val'] <= absorbance_at_target and args.assay == 'cc50')) and target_value is None: target_value = data['conc_val'] break if target_value is not None: for well, data in row_data['wells'].items(): if data.get('amc') not in ["Growth Control", "Sterility Control"]: - data[assay] = target_value + data[args.assay] = target_value progress_bar.next() else: highest_concentration = args.start_con for well, data in row_data['wells'].items(): if data.get('amc') not in ["Growth Control", "Sterility Control"]: - data[assay] = f">{highest_concentration}" + data[args.assay] = f">{highest_concentration}" progress_bar.finish() - -def determine_hc50_hts(master_dict): +def determine_hc50_hts(args, master_dict): """Determine the Hemolytic activity (HC50) for each well in the master dictionary.""" total_tech_reps = args.num_tech_rep tech_reps = set(range(1, total_tech_reps + 1)) @@ -353,44 +353,45 @@ def determine_hc50_hts(master_dict): progress_bar.next() progress_bar.finish() -def compute_selected_assay(assay, master_dict, operation_mode): +def compute_selected_assay(args, master_dict): """Compute the selected assay metric (MIC or HC50) and update the master_dict""" - if assay == 'ast': - if operation_mode == 'hts': - determine_mic_hts(master_dict) - if operation_mode == 'manual': - determine_mic_manual(master_dict) - if assay == 'hc50': - if operation_mode =='hts': - determine_hc50_hts(master_dict) - if operation_mode == 'manual': - determine_hc50_cc50_manual(master_dict, assay) - if assay == "cc50": - determine_hc50_cc50_manual(master_dict, assay) - -def generate_excel(master_dict, assay, prefix, operation_mode, output_dir): + if args.assay == 'ast': + if args.operation_mode == 'hts': + determine_mic_hts(args, master_dict) + if args.operation_mode == 'manual': + determine_mic_manual(args, master_dict) + if args.assay == 'hc50': + if args.operation_mode =='hts': + determine_hc50_hts(args, master_dict) + if args.operation_mode == 'manual': + determine_hc50_cc50_manual(args, master_dict) + if args.assay == "cc50": + determine_hc50_cc50_manual(args, master_dict) + +def generate_excel(args, master_dict): """Generate an Excel file output containing different sheets using the master_dict""" - total_steps = 2 if operation_mode == 'manual' else 3 + total_steps = 2 if args.operation_mode == 'manual' else 3 progress_bar = FillingCirclesBar('Generating Excel: ', max=total_steps) date = datetime.now().strftime('%Y%m%d') - file_name = f"{prefix}_{assay.upper()}_{date}" + file_name = f"{args.prefix}_{args.assay.upper()}_{date}" counter = 0 - if not os.path.exists(output_dir): - os.makedirs(output_dir) - output_path = os.path.join(output_dir, f"{file_name}.xlsx") + if not os.path.exists(args.output_dir): + os.makedirs(args.output_dir) + output_path = os.path.join(args.output_dir, f"{file_name}.xlsx") while os.path.exists(output_path): counter += 1 - output_path = os.path.join(output_dir, f"{file_name}_{counter}.xlsx") + output_path = os.path.join(args.output_dir, f"{file_name}_{counter}.xlsx") with pd.ExcelWriter(output_path, engine='xlsxwriter') as writer: - if operation_mode == 'manual': - create_visual_data_sheet_manual(master_dict, writer, assay, progress_bar) - create_mic_c50_sheet_manual(master_dict, writer, assay, progress_bar) - if operation_mode == 'hts': - create_visual_data_sheet_hts(master_dict, assay, writer, progress_bar) - create_mic_hc50_sheet_hts(master_dict, assay, writer, progress_bar) - create_raw_plate_sheet(master_dict, assay, writer, progress_bar) + if args.operation_mode == 'manual': + create_visual_data_sheet_manual(args, master_dict, writer, progress_bar) + create_mic_c50_sheet_manual(args, master_dict, writer, progress_bar) + if args.operation_mode == 'hts': + create_visual_data_sheet_hts(args, master_dict, writer, progress_bar) + create_mic_hc50_sheet_hts(args, master_dict, writer, progress_bar) + create_raw_plate_sheet(args, master_dict, writer, progress_bar) progress_bar.finish() print(f"\033[92mExcel output has been saved to {output_path}\033[0m") + def cell_formats(workbook): """Initialize and return common cell formats for use in Excel sheets""" header_format = workbook.add_format({'bold': True,'align': 'center','valign': 'vcenter','border': 1}) @@ -405,20 +406,20 @@ def initialize_worksheet(writer, sheet_name): header_format, cell_format = cell_formats(workbook) return workbook, worksheet, header_format, cell_format -def create_visual_data_sheet_manual(master_dict, writer, assay, progress_bar): +def create_visual_data_sheet_manual(args, master_dict, writer, progress_bar): """ Create the visual data Excel sheet for manual assay """ workbook, worksheet, header_format, cell_format = initialize_worksheet(writer, 'Visual_Data') - if assay == 'ast': + if args.assay == 'ast': column_widths = {'B:B': 6, 'C:N': 6, 'O:O': 14, 'P:P': 9, 'Q:R': 6, 'S:S': 70} - if assay == 'hc50': + if args.assay == 'hc50': column_widths = {'B:B': 6, 'C:N': 6, 'O:O': 14, 'P:P': 9, 'Q:Q': 6, 'R:R': 70} - if assay == 'cc50': + if args.assay == 'cc50': column_widths = {'B:B': 6, 'C:N': 6, 'O:O': 14, 'P:P': 9, 'Q:Q': 6, 'R:R': 70} for columns, width in column_widths.items(): worksheet.set_column(columns, width) row_index = 1 - assay_column_header = "CC50" if assay == "cc50" else "HC50" if assay == "hc50" else "MIC" - additional_headers = ["Synth_ID", "AMC", assay_column_header] + (["MBC"] if assay == "ast" else []) + ["Notes"] + assay_column_header = "CC50" if args.assay == "cc50" else "HC50" if args.assay == "hc50" else "MIC" + additional_headers = ["Synth_ID", "AMC", assay_column_header] + (["MBC"] if args.assay == "ast" else []) + ["Notes"] for plate_number, plate_data in master_dict['plates'].items(): column_headers = [''] * 12 for row_data in plate_data['rows'].values(): @@ -438,13 +439,13 @@ def create_visual_data_sheet_manual(master_dict, writer, assay, progress_bar): well_data = [first_well.get('synth_id', ''), first_well.get('amc', ''), first_well.get(assay_column_header.lower(), '')] + \ - ([] if assay == "hc50" or assay == "cc50" else ['']) + \ + ([] if args.assay == "hc50" or args.assay == "cc50" else ['']) + \ [first_well.get('note', '')] for col_num, data in enumerate(well_data, start=len(column_headers) + 2): worksheet.write(row_index, col_num, data, cell_format) row_index += 1 - min_color = "#E599FF" if assay == 'cc50' else "#FFFFFF" - max_color = "#F94449" if assay == "hc50" else ("#FFCCCC" if assay == "cc50" else "#FFE599") + min_color = "#E599FF" if args.assay == 'cc50' else "#FFFFFF" + max_color = "#F94449" if args.assay == "hc50" else ("#FFCCCC" if args.assay == "cc50" else "#FFE599") colour_scale_option = { 'type': '2_color_scale', 'min_color': min_color, @@ -455,19 +456,19 @@ def create_visual_data_sheet_manual(master_dict, writer, assay, progress_bar): row_index += 2 progress_bar.next() -def create_mic_c50_sheet_manual(master_dict, writer, assay, progress_bar): +def create_mic_c50_sheet_manual(args, master_dict, writer, progress_bar): """Create the MIC-MBC, HC50, or CC50 Excel sheet for manual assay operation mode.""" date_str = datetime.now().strftime('%Y%m%d') sheet_name_mapping = {'ast': f'MIC-MBC_{date_str}', 'hc50': f'HC50_{date_str}', 'cc50': f'CC50_{date_str}'} - sheet_name = sheet_name_mapping[assay] + sheet_name = sheet_name_mapping[args.assay] workbook, worksheet, header_format, cell_format = initialize_worksheet(writer, sheet_name) headers = ['Synth_ID', 'AMC'] - if assay == 'ast': + if args.assay == 'ast': headers += ['MIC', 'MBC'] else: - headers.append(assay.upper()) + headers.append(args.assay.upper()) for col_num, header in enumerate(headers, start=0): worksheet.write(0, col_num, header, header_format) row_num = 1 @@ -476,10 +477,10 @@ def create_mic_c50_sheet_manual(master_dict, writer, assay, progress_bar): first_well_key = next(iter(row_data['wells'])) first_well_data = row_data['wells'][first_well_key] row_values = [first_well_data.get('synth_id', ''), first_well_data.get('amc', '')] - if assay == 'ast': + if args.assay == 'ast': row_values += [first_well_data.get('mic', 'N/A'), first_well_data.get('mbc', '')] # Placeholder for MBC else: - row_values.append(first_well_data.get(assay, 'N/A')) + row_values.append(first_well_data.get(args.assay, 'N/A')) for col_num, value in enumerate(row_values, start=0): worksheet.write(row_num, col_num, value, cell_format) row_num += 1 @@ -488,7 +489,7 @@ def create_mic_c50_sheet_manual(master_dict, writer, assay, progress_bar): worksheet.set_column('C:D', 6) # Concentration values progress_bar.next() -def create_visual_data_sheet_hts(master_dict, assay, writer, progress_bar): +def create_visual_data_sheet_hts(args, master_dict, writer, progress_bar): """ Create the "Visual_Data" sheet """ workbook, worksheet, header_format, cell_format = initialize_worksheet(writer, 'Visual-Data') reference_plate_wells = next(iter(master_dict['plates'].values()))['wells'].keys() @@ -500,7 +501,7 @@ def create_visual_data_sheet_hts(master_dict, assay, writer, progress_bar): [plate_data for plate_data in master_dict['plates'].values() if plate_data['tech_rep'] == tech_rep], key=lambda x: x['conc_val'], reverse=True) - result_header = 'MIC' if assay == 'ast' else 'HC50' + result_header = 'MIC' if args.assay == 'ast' else 'HC50' headers = ['AMC'] + [str(plate['conc_val']) for plate in plates_in_rep] + [result_header] for col, header in enumerate(headers, start=first_col): worksheet.write(first_row, col, header, header_format) @@ -510,14 +511,14 @@ def create_visual_data_sheet_hts(master_dict, assay, writer, progress_bar): for well in reference_plate_wells: well_amc_data = [plates_in_rep[0]['wells'][well].get('amc', 'N/A')] well_amc_data += [plate['wells'][well]['abs_val'] for plate in plates_in_rep] - assay_result_key = 'mic' if assay == 'ast' else 'hc50' + assay_result_key = 'mic' if args.assay == 'ast' else 'hc50' well_amc_data.append(plates_in_rep[0]['wells'][well].get(assay_result_key, 'N/A')) for col, item in enumerate(well_amc_data, start=first_col): worksheet.write(first_row, col, item, cell_format) first_row += 1 abs_first_col = first_col + 1 abs_last_col = first_col + len(plates_in_rep) - max_colour = "#F94449" if assay == "hc50" else "#FFE599" + max_colour = "#F94449" if args.assay == "hc50" else "#FFE599" min_colour = "#FFFFFF" for col in range(abs_first_col, abs_last_col + 1): worksheet.conditional_format(header_row + 1, col, first_row - 1, col, { @@ -529,16 +530,16 @@ def create_visual_data_sheet_hts(master_dict, assay, writer, progress_bar): first_row = 0 progress_bar.next() -def create_mic_hc50_sheet_hts(master_dict, assay, writer, progress_bar): +def create_mic_hc50_sheet_hts(args, master_dict, writer, progress_bar): """ Create the "MIC-HC50" sheet """ current_date = datetime.now().strftime('%Y%m%d') - sheet_name = 'HC50-' + current_date if assay == 'hc50' else 'MIC-MBC_' + current_date + sheet_name = 'HC50-' + current_date if args.assay == 'hc50' else 'MIC-MBC_' + current_date workbook, worksheet, header_format, cell_format = initialize_worksheet(writer, sheet_name) - assay_col_prefix = 'HC50' if assay == 'hc50' else 'MIC' + assay_col_prefix = 'HC50' if args.assay == 'hc50' else 'MIC' assay_result_key = assay_col_prefix.lower() headers = ['Well', 'AMC', 'Synthesis ID'] + [f"{assay_col_prefix}-R{i+1}" for i in range(args.num_tech_rep)] worksheet.set_column(0, len(headers) - 1, 15) - if assay == 'ast': + if args.assay == 'ast': headers.append('MBC') headers += ['Notes'] for col, header in enumerate(headers): @@ -566,13 +567,13 @@ def create_mic_hc50_sheet_hts(master_dict, assay, writer, progress_bar): worksheet.write(row, 2, data['synth_id'], cell_format) for i, value in enumerate(values): worksheet.write(row, 3 + i, value, cell_format) - if assay == 'ast': + if args.assay == 'ast': worksheet.write(row, 3 + args.num_tech_rep,'', cell_format) - worksheet.write(row, 4 + args.num_tech_rep if assay == 'ast' else 3 + args.num_tech_rep, data['notes'], cell_format) + worksheet.write(row, 4 + args.num_tech_rep if args.assay == 'ast' else 3 + args.num_tech_rep, data['notes'], cell_format) row += 1 progress_bar.next() -def create_raw_plate_sheet(master_dict, assay, writer,progress_bar): +def create_raw_plate_sheet(args, master_dict, writer,progress_bar): """ Create the "Raw-Data" sheet """ workbook, worksheet, header_format, cell_format = initialize_worksheet(writer, 'Raw-Data') row_letters = sorted(set(well[0] for plate in master_dict['plates'].values() for well in plate['wells'])) @@ -593,7 +594,7 @@ def create_raw_plate_sheet(master_dict, assay, writer,progress_bar): worksheet.conditional_format(first_row + 1, 1, row_num, len(column_numbers), { 'type': '2_color_scale', 'min_color': "#FFFFFF", - 'max_color': "#F94449" if assay == "hc50" else "#FFE599"}) + 'max_color': "#F94449" if args.assay == "hc50" else "#FFE599"}) first_row = row_num + 2 progress_bar.next() @@ -601,28 +602,33 @@ def main(): """ main """ - master_dict, num_plates = process_data(args.raw_data, args.matrix, args.operation_mode) + # Get User Input + args = get_args() + + #Process Data + master_dict, num_plates = process_data(args) + + # Calculate plate count for each hts technical replicate plates_per_rep = num_plates // args.num_tech_rep + # Calculate concetration if args.operation_mode == 'manual': assign_manual_rep(master_dict) - conc_list = calculate_concentrations(args.start_con, args.final_con, plates_per_rep, args.operation_mode, master_dict) + conc_list = calculate_concentrations(args, plates_per_rep, master_dict) assign_conc_manual(master_dict, conc_list) - - # Calculate concetration if args.operation_mode == 'hts': - conc_list = calculate_concentrations(args.start_con, args.final_con, plates_per_rep, args.operation_mode, master_dict) + conc_list = calculate_concentrations(args, plates_per_rep, master_dict) populate_rep_conc_hts(master_dict, plates_per_rep, conc_list) # Validate the inputs - if not validate_input(args.num_tech_rep, args.start_con, args.final_con, num_plates, conc_list, args.operation_mode): + if not validate_input(args, num_plates, conc_list): return # Compute assay - compute_selected_assay(args.assay, master_dict, args.operation_mode) + compute_selected_assay(args, master_dict) # Generate Excel file - generate_excel(master_dict, args.assay, args.prefix, args.operation_mode, args.output_dir) + generate_excel(args, master_dict) if __name__ == "__main__": main() From 75e5272940f344a7653c09c04c0026d28e0a4f32 Mon Sep 17 00:00:00 2001 From: i-salehi Date: Wed, 19 Jun 2024 23:25:25 -0700 Subject: [PATCH 09/11] Add wiki link and cleanup --- README.md | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index c5569b0..1f8c0c0 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ cd MAP ## Create a Conda Environment First, create a new Conda environment: ``` -conda create --name map python=3.10.12 +conda create --name map python=3.10 conda activate map ``` ## Install MAP @@ -47,7 +47,7 @@ The test results will be saved in the `tests/test_results` directory. Compare th # Dependencies MAP requires the following dependencies that are installed during installation: -* python 3.10.12+ +* python 3.10+ * pandas * numpy * progress @@ -57,18 +57,7 @@ MAP requires the following dependencies that are installed during installation: # Data Structure MAP organizes its data using a hierarchical dictionary structure. This structure supports scalability and flexibility, allowing easy addition of plates, wells, or assay types. It reduces redundancy, speeds up data retrieval, and clearly defines relationships for analysis. -### MAP Dictionary: -- **Plates**: The top-level dictionary containing all the plates processed in the assay. - - **Plate**: Each plate is uniquely identified within the Plates dictionary. - - **Wells**: A dictionary containing information about each well in the plate. - - **Well**: The key is the well identifier (e.g., “A1”, “B2”). - - **Absorbance Value**: The absorbance reading for that specific well. - - **Synthesis ID**: An identifier for the synthesized compound tested in that well. - - **Antimicrobial Compound Name (AMC)**: The name of the antimicrobial compound tested. - - **Concentration Value**: The concentration of the compound. - - **MIC, HC50, or CC50 value**: The determined value for MIC (Minimum Inhibitory Concentration), HC50 (Half-Maximal Hemolytic Concentration), or CC50 (Half-Maximal Cytotoxic Concentration), depending on the assay. - - **Technical Replicate Number**: Identifies the replicate group for well -- **Absorbance Threshold**: The provided threshold value for AST or the calculated threshold for HC50 or CC50 assays. +For more information about MAP implementation details, check out our [wiki](https://github.com/bcgsc/MAP/wiki/Data-Structure). # Input MAP requires two main input files in Excel format: raw data and matrix. Ensure your input files match the provided requirements. For reference templates, please check the `template` directory. @@ -121,9 +110,9 @@ options: -h, --help show this help message and exit --version show program's version number and exit -a {ast,hc50,cc50}, --assay {ast,hc50,cc50} - Assay type, antimicrobial susceptibility testing, hemolysis assay, or AlamarBlue assay + Assay type: antimicrobial susceptibility testing (ast), hemolysis assay (hc50), or AlamarBlue assay (cc50) -o {manual,hts}, --operation_mode {manual,hts} - Operation mode, manual or high-throughput + Operation mode: manual or high-throughput -p PREFIX, --prefix PREFIX Prefix for the output Excel file -d RAW_DATA, --raw_data RAW_DATA @@ -149,7 +138,7 @@ map -a ast -o hts -p E.coli_ATCC_25922_Hts -d path/to/data.xlsx -m path/to/matri This command runs the MAP with the following options: - **-a ast:** Specifies the assay type as Antimicrobial Susceptibility Testing (AST). - **-o hts:** Sets the operation mode to high-throughput . -- **-p demo:** Prefixes the output file with "E.coli_ATCC_25922_Hts". +- **-p E.coli_ATCC_25922_Hts:** Prefixes the output file with "E.coli_ATCC_25922_Hts". - **-d path/to/data.xlsx:** Path to the raw data Excel file. - **-m path/to/matrix.xlsx:** Path to the matrix Excel file. - **-r 2:** Number of technical replicates. From fdfe557e757eef30b03cbdd11ef0415a347a55f7 Mon Sep 17 00:00:00 2001 From: i-salehi Date: Wed, 19 Jun 2024 23:31:55 -0700 Subject: [PATCH 10/11] Fixing typo --- run_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run_tests.sh b/run_tests.sh index 2c0c705..788f181 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -35,6 +35,6 @@ main() { run_test "$test_name" "$command" show_progress $((i + 1)) $total_tests done - echo -e "\n\033[1;31m*** Please comapre the test and expected results in 'tests' directory ***\033[0m" + echo -e "\n\033[1;31m*** Please compare the test and expected results in 'tests' directory ***\033[0m" } main \ No newline at end of file From dbdd12c7e7a995bb80490b002f264df71246b1a4 Mon Sep 17 00:00:00 2001 From: i-salehi Date: Wed, 19 Jun 2024 23:38:52 -0700 Subject: [PATCH 11/11] Remove unused variables --- map/main.py | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/map/main.py b/map/main.py index 20e400a..e3ee0fa 100755 --- a/map/main.py +++ b/map/main.py @@ -9,6 +9,10 @@ import numpy as np from progress.bar import FillingCirclesBar +# Global Constants +NUM_rows = 8 +NUM_columns = 12 + def excel_file(input_path): """ Validate the file format for "raw_data" and "matrix". @@ -21,8 +25,8 @@ def excel_file(input_path): def get_args(): parser = argparse.ArgumentParser(description="MAP: Microdilution Assay Processor") parser.add_argument('--version', action='version', version='MAP 1.0.1') - parser.add_argument("-a", "--assay", help="Assay type, antimicrobial susceptibility testing, hemolysis assay, or AlamarBlue assay", type=str, choices=['ast', 'hc50', 'cc50'], required=True) - parser.add_argument("-o", "--operation_mode", help="Operation mode, manual or high-throughput", type=str, choices=['manual', 'hts'], required=True) + parser.add_argument("-a", "--assay", help="Assay type: antimicrobial susceptibility testing(ast), hemolysis assay(hc50), or AlamarBlue assay(cc50)", type=str, choices=['ast', 'hc50', 'cc50'], required=True) + parser.add_argument("-o", "--operation_mode", help="Operation mode: manual or high-throughput", type=str, choices=['manual', 'hts'], required=True) parser.add_argument("-p", "--prefix", help="Prefix for the output Excel file", type=lambda s: s.replace(" ", "-"), required=False, default="Sample_name") parser.add_argument("-d", "--raw_data", help="Excel file containing the raw plate reader data in format of 96-well plates", type=excel_file, required=True) parser.add_argument("-m", "--matrix", help="Excel file containing the matrix map, specifying the treatment name (amc) and ID (Synth ID)", type=excel_file, required=True) @@ -82,10 +86,10 @@ def process_plate(args, row, col, raw_data_array, matrix_data, master_dict, plat """ if args.operation_mode == 'manual': master_dict[plate_num] = {'rows': {}} - for i in range(8): + for i in range(NUM_rows): row_id = chr(ord('A') + i) master_dict[plate_num]['rows'][row_id] = {'wells': {}} - for j in range(12): + for j in range(NUM_columns): well = chr(ord('A') + i) + str(j + 1) abs_val = raw_data_array[row + 1 + i, col + 1 + j] matrix_row = matrix_data[(matrix_data['well'] == well) & (matrix_data['plate_number'] == plate_num)] @@ -95,8 +99,8 @@ def process_plate(args, row, col, raw_data_array, matrix_data, master_dict, plat master_dict[plate_num]['rows'][row_id]['wells'][well]['amc'] = matrix_row['amc'].values[0] else: master_dict[plate_num] = {'wells': {}} - for i in range(8): - for j in range(12): + for i in range(NUM_rows): + for j in range(NUM_columns): well = chr(ord('A') + i) + str(j + 1) master_dict[plate_num]['wells'][well] = {'abs_val': raw_data_array[row + 1 + i, col + 1 + j]} matrix_row = matrix_data[matrix_data['well'] == well] @@ -182,7 +186,6 @@ def assign_conc_manual(master_dict, conc_list): def populate_rep_conc_hts(master_dict, plates_per_rep, conc_list): """Populate the master_dict with technical replicate identifiers (tech_rep) and concentration values (conc_val).""" - num_plates = len(master_dict['plates']) for plate_number in master_dict['plates']: tech_rep = ((plate_number - 1) // plates_per_rep) + 1 conc_val = conc_list[(plate_number - 1) % plates_per_rep] @@ -195,8 +198,7 @@ def add_notes(concentrations_above_threshold): concentration_word = "concentration" if len(concentrations_above_threshold) == 1 else "concentrations" concs = ", ".join(map(str, concentrations_above_threshold)) return f"At {concentration_word} {concs}, absorbance values greater than the threshold were observed." - else: - return "" + return "" def determine_mic_manual(args, master_dict): """Determine MIC for manual operation mode""" @@ -206,23 +208,23 @@ def determine_mic_manual(args, master_dict): for plate in master_dict['plates'].values() for row in plate['rows'].values()) progress_bar = FillingCirclesBar('Determining MIC: ', max=total_wells) - for plate_num, plate_data in master_dict['plates'].items(): - for row_id, row_data in plate_data['rows'].items(): + for _, plate_data in master_dict['plates'].items(): + for _, row_data in plate_data['rows'].items(): filtered_wells = { well: data for well, data in row_data['wells'].items() if 'conc_val' in data and data.get('amc') not in ["Sterility Control", "Growth Control"]} - sorted_wells = sorted(filtered_wells.items(), key=lambda x: x[1]['conc_val']) + sorted_wells = sorted(filtered_wells.items(), key=lambda x: x[1]['conc_val']) # sorting based on concentration mic_value = None concentrations_above_threshold = [] mic_found = False - for well, data in sorted_wells: + for _, data in sorted_wells: progress_bar.next() if data['abs_val'] <= args.threshold and not mic_found: mic_value = data['conc_val'] mic_found = True elif mic_found and data['abs_val'] > args.threshold: concentrations_above_threshold.append(data['conc_val']) - if mic_value is None and sorted_wells: + if not mic_found and sorted_wells: highest_concentration = args.start_con mic_value = f">{highest_concentration}" additional_note = add_notes(concentrations_above_threshold) if mic_value is not None else "" @@ -238,14 +240,13 @@ def determine_mic_hts(args, master_dict): Determine the Minimum Inhibitory Concentration (MIC) for each well in the master dictionary. """ total_tech_reps = args.num_tech_rep - tech_reps = set(range(1, total_tech_reps + 1)) total_wells = len(next(iter(master_dict['plates'].values()))['wells']) progress_bar = FillingCirclesBar('Determining MIC: ', max=total_tech_reps * total_wells) - for tech_rep in tech_reps: + for tech_rep in range(1, total_tech_reps + 1): plates_in_rep = [plate_data for plate_data in master_dict['plates'].values() if plate_data['tech_rep'] == tech_rep] - for well in plates_in_rep[0]['wells']: + for well in plates_in_rep[0]['wells']: # Using first plate as a reference within each tech_rep mic_value = None concentrations_above_threshold = [] for plate_data in sorted(plates_in_rep, key=lambda x: x['conc_val']): @@ -270,6 +271,7 @@ def determine_mic_hts(args, master_dict): progress_bar.next() progress_bar.finish() + def determine_hc50_cc50_manual(args, master_dict): """Determine the Hemolytic Concentration 50 (HC50) or Cytotoxic Concentration 50 (CC50) for manual operation mode.""" positive_controls = [] @@ -288,9 +290,9 @@ def determine_hc50_cc50_manual(args, master_dict): 1 for plate in master_dict['plates'].values() for row in plate['rows'].values() for well in row['wells'].values() if well.get('amc') not in ["Growth Control", "Sterility Control"]) progress_bar = FillingCirclesBar(f'Determining {args.assay.upper()}: ', max=non_control_wells) - for plate_num, plate_data in master_dict['plates'].items(): + for _, plate_data in master_dict['plates'].items(): absorbance_at_target = avg_negative + (0.50 * absorbance_range) if args.assay == 'hc50' else avg_positive + (0.50 * absorbance_range) - for row_id, row_data in plate_data['rows'].items(): + for _, row_data in plate_data['rows'].items(): target_value = None sorted_wells = sorted([(well, data) for well, data in row_data['wells'].items() if 'conc_val' in data], key=lambda item: item[1]['conc_val']) for well, data in sorted_wells: @@ -317,10 +319,9 @@ def determine_hc50_cc50_manual(args, master_dict): def determine_hc50_hts(args, master_dict): """Determine the Hemolytic activity (HC50) for each well in the master dictionary.""" total_tech_reps = args.num_tech_rep - tech_reps = set(range(1, total_tech_reps + 1)) total_wells = len(next(iter(master_dict['plates'].values()))['wells']) progress_bar = FillingCirclesBar('Determining HC50: ', max=total_tech_reps * total_wells) - for tech_rep in tech_reps: + for tech_rep in range(1, total_tech_reps + 1): plates_in_rep = [plate_data for plate_data in master_dict['plates'].values() if plate_data['tech_rep'] == tech_rep] plates_in_rep = sorted(plates_in_rep, key=lambda x: x['conc_val']) @@ -421,7 +422,7 @@ def create_visual_data_sheet_manual(args, master_dict, writer, progress_bar): assay_column_header = "CC50" if args.assay == "cc50" else "HC50" if args.assay == "hc50" else "MIC" additional_headers = ["Synth_ID", "AMC", assay_column_header] + (["MBC"] if args.assay == "ast" else []) + ["Notes"] for plate_number, plate_data in master_dict['plates'].items(): - column_headers = [''] * 12 + column_headers = [''] * NUM_columns for row_data in plate_data['rows'].values(): for col_num, (_, well_info) in enumerate(row_data['wells'].items(), start=2): key = well_info.get('amc', '')

oq&vTmGH9wxD*xqQ$B0U32`K{t4&nCZE*jxbgVO8s_x}g{*I%o9#H;Y{GQ= zIrV&|N~{NuKT=qJZ{@Y^pVACm3Ui+*dtABR5$(%%czYJ_yn71!W(x81@`5{Bv zHwKpA6M<{@iEO@l{89R}wCykNCVgD?()v%`)B@H&{7DaIiRH{;mcJUFJO6O-?ovZ` z{otK?UB0|>r!7ttW+gk?9D7`O`FFR}8@bcn&r28AJMaE%Ke0P!-Z4{~x!%4Xrt2&I z2cCGz$Rxsy`}A61OoBl}BZ$IsmMyvg=%=niv@g;5G3u;A}YX}l?|kV2Lyp>WltE02LLr;oW1}6 literal 0 HcmV?d00001 diff --git a/tests/expected_result/E.coli_ATCC_25922_Manual_AST_20240611.xlsx b/tests/expected_result/E.coli_ATCC_25922_Manual_AST_20240611.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c57a79695a713ef7a274817bf79521d5a3089dfb GIT binary patch literal 8023 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 R_do9c{-XLyndR@J{|BxdpD_Rc literal 0 HcmV?d00001 diff --git a/tests/expected_result/RBC_Manual_HC50_20240611.xlsx b/tests/expected_result/RBC_Manual_HC50_20240611.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..133ea080bea9525754bdad8be74a142c7814b735 GIT binary patch literal 7822 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 literal 0 HcmV?d00001 diff --git a/tests/map_manual.xlsx b/tests/map_manual.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..698e32937ac4a32ee46d5c149b0c48195fbf7a86 GIT binary patch literal 6859 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 S6!e^;1G=C`Vh8v7)Bgb*d{g%T literal 0 HcmV?d00001 diff --git a/tests/map_manual_cc50.xlsx b/tests/map_manual_cc50.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..f6c00f2e8a68a4361bb7eafe937ab83a0567b94e GIT binary patch literal 10272 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