From 3f58a1485296c41e6ae4f148e832fd9c28c202d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20F=C3=B6rster?= Date: Mon, 5 Aug 2024 08:43:45 +0200 Subject: [PATCH] sandboxing --- scripts/dash_timeline_static.py | 179 +- src/lang_main/analysis/preprocessing.py | 70 +- src/lang_main/analysis/shared.py | 61 +- src/lang_main/analysis/timeline.py | 113 +- src/lang_main/constants.py | 7 +- .../cytoscape_config/template_test.cys | Bin 83798 -> 33608 bytes src/lang_main/pipelines/predefined.py | 31 +- src/lang_main/render/cytoscape.py | 49 +- src/lang_main/types.py | 10 + test-notebooks/misc.ipynb | 2125 +++++++++++++++-- 10 files changed, 2362 insertions(+), 283 deletions(-) diff --git a/scripts/dash_timeline_static.py b/scripts/dash_timeline_static.py index 8dd4be4..6a04ae6 100644 --- a/scripts/dash_timeline_static.py +++ b/scripts/dash_timeline_static.py @@ -1,9 +1,11 @@ import time import webbrowser -from pathlib import Path +from collections.abc import Collection, Iterable from threading import Thread from typing import Any, Final, cast +import pandas as pd + # import dash_cytoscape as cyto import plotly.express as px from dash import ( @@ -21,20 +23,37 @@ from plotly.graph_objects import Figure import lang_main.io from lang_main.analysis import graphs, tokens -from lang_main.constants import SAVE_PATH_FOLDER, SPCY_MODEL +from lang_main.analysis.timeline import ( + calc_delta_to_next_failure, + filter_timeline_cands, +) +from lang_main.constants import ( + NAME_DELTA_FEAT_TO_NEXT_FAILURE, + NAME_DELTA_FEAT_TO_REPAIR, + SAVE_PATH_FOLDER, + SPCY_MODEL, +) from lang_main.errors import EmptyEdgesError, EmptyGraphError from lang_main.pipelines.predefined import ( build_tk_graph_render_pipe, build_tk_graph_rescaling_pipe, ) -from lang_main.types import EntryPoints, ObjectID, TimelineCandidates +from lang_main.types import ( + DataFrameTLFiltered, + EntryPoints, + HTMLColumns, + HTMLTable, + ObjectID, + TimelineCandidates, +) # ** data # p_df = Path(r'../results/test_20240619/TIMELINE.pkl').resolve() -p_df = lang_main.io.get_entry_point(SAVE_PATH_FOLDER, EntryPoints.TIMELINE) +p_df = lang_main.io.get_entry_point(SAVE_PATH_FOLDER, EntryPoints.TIMELINE_POST) (data,) = cast(tuple[DataFrame], lang_main.io.load_pickle(p_df)) +# data = cleanup_descriptions(data, properties=['ErledigungsBeschreibung']) # p_tl = Path(r'../results/test_20240619/TIMELINE_POSTPROCESSING.pkl').resolve() -p_tl = lang_main.io.get_entry_point(SAVE_PATH_FOLDER, EntryPoints.TIMELINE_POST) +p_tl = lang_main.io.get_entry_point(SAVE_PATH_FOLDER, EntryPoints.TIMELINE_CANDS) cands, texts = cast( tuple[TimelineCandidates, dict[ObjectID, str]], lang_main.io.load_pickle(p_tl) ) @@ -56,17 +75,27 @@ PTH_RENDERED_GRAPH = lang_main.io.get_entry_point( file_ext='.svg', ) - -TABLE_FEATS: Final[list[str]] = [ +# NAME_DELTA_FEAT_TO_NEXT_FAILURE: Final[str] = 'Zeitspanne bis zum nächsten Ereignis [Tage]' +TABLE_FEATS_OVERVIEW: Final[list[str]] = [ 'ErstellungsDatum', 'ErledigungsDatum', + NAME_DELTA_FEAT_TO_REPAIR, 'VorgangsTypName', 'VorgangsBeschreibung', + 'ErledigungsBeschreibung', ] TABLE_FEATS_DATES: Final[list[str]] = [ 'ErstellungsDatum', 'ErledigungsDatum', ] +TABLE_FEATS_BEST_ACTIONS: Final[list[str]] = [ + 'ErstellungsDatum', + 'ErledigungsDatum', + 'VorgangsTypName', + 'VorgangsBeschreibung', + 'ErledigungsBeschreibung', + NAME_DELTA_FEAT_TO_NEXT_FAILURE, +] # ** figure config MARKERS_OCCURRENCES: Final[dict[str, Any]] = { @@ -86,13 +115,15 @@ HOVER_DATA: Final[dict[str, Any]] = { 'ErstellungsDatum': '|%d.%m.%Y', 'ErledigungsDatum': '|%d.%m.%Y', 'VorgangsBeschreibung': True, + 'ErledigungsBeschreibung': True, } HOVER_DATA_DELTA: Final[dict[str, Any]] = { 'ErstellungsDatum': '|%d.%m.%Y', 'ErledigungsDatum': '|%d.%m.%Y', 'VorgangsDatum': '|%d.%m.%Y', - 'delta': True, + NAME_DELTA_FEAT_TO_REPAIR: True, 'VorgangsBeschreibung': True, + 'ErledigungsBeschreibung': True, } # ** graph @@ -136,10 +167,10 @@ graph_layout = html.Div( html.Img( id='static-graph-img', alt='static rendered graph', - # style={ - # 'width': 'auto', - # 'height': 'auto', - # }, + style={ + 'width': 'auto', + 'height': 'auto', + }, ), html.P(id='info-graph-errors', children=[]), ], @@ -186,7 +217,27 @@ app.layout = html.Div( ] ), html.Div( - [dash_table.DataTable(id='table-candidates')], style={'marginBottom': '2em'} + children=[ + html.Div( + [ + html.H5('Überblick ähnlicher Vorgänge'), + dash_table.DataTable(id='table-candidates'), + ], + style={'paddingBottom': '1em'}, + ), + html.Div( + [ + html.H5( + ( + 'Maßnahmen sortiert nach längstem Zeitraum ' + 'bis zum nächsten Ereignis' + ) + ), + dash_table.DataTable(id='table-best-actions'), + ] + ), + ], + style={'marginBottom': '2em', 'padding': '2em'}, ), graph_layout, ], @@ -222,20 +273,21 @@ def update_choice_candidates(obj_id): # ** helpers to filter DataFrame -def pre_filter_data( +def filter_candidates( data: DataFrame, idx: int, obj_id: ObjectID, -) -> DataFrame: +) -> DataFrameTLFiltered: + # assert correct data type because of Dash idx = int(idx) obj_id = int(obj_id) - # data = data.copy() - cands_for_obj_id = cands[obj_id] - cands_choice = cands_for_obj_id[int(idx) - 1] - # data - data = data.loc[list(cands_choice)].sort_index() # type: ignore - data['delta'] = data['ErledigungsDatum'] - data['ErstellungsDatum'] - data['delta'] = data['delta'].dt.days + + data = filter_timeline_cands( + data=data, + cands=cands, + obj_id=obj_id, + entry_idx=(idx - 1), # idx in Dashboard starts with 1 + ) return data @@ -258,10 +310,10 @@ def update_timeline(index, obj_id): obj_text = texts[obj_id] title_occurrences = f'HObjektText: {obj_text}' title_delta = f'HObjektText: {obj_text}, Differenz Erstellung und Erledigung' - df = pre_filter_data(data, idx=index, obj_id=obj_id) + df = filter_candidates(data, idx=index, obj_id=obj_id) # figure fig_occurrences = fig_timeline_occurrences(df, title_occurrences) - fig_delta = fig_timeline_delta(df, title_delta) + fig_delta = fig_timeline_delta(df, title_delta, delta_feature=NAME_DELTA_FEAT_TO_REPAIR) return fig_occurrences, fig_delta @@ -293,11 +345,12 @@ def fig_timeline_occurrences( def fig_timeline_delta( df: DataFrame, title: str, + delta_feature: str, ) -> Figure: fig = px.scatter( data_frame=df, x='ErstellungsDatum', - y='delta', + y=delta_feature, title=title, hover_data=HOVER_DATA_DELTA, ) @@ -309,25 +362,77 @@ def fig_timeline_delta( return fig +def transform_to_HTML_table( + data: DataFrame, + target_features: Collection[str], + date_cols: Iterable[str] | None = None, + sorting_feature: str | None = None, + sorting_ascending: bool = True, +) -> tuple[HTMLColumns, HTMLTable]: + target_features = list(target_features) + data = data.copy() + data = data.filter(items=target_features, axis=1) + + if sorting_feature is not None: + data = data.sort_values(by='ErstellungsDatum', ascending=sorting_ascending) + + if date_cols is not None: + for col in date_cols: + data[col] = data[col].dt.strftime(r'%Y-%m-%d') + + columns = [{'name': col, 'id': col} for col in data.columns] + table_data = data.to_dict('records') + + return columns, table_data + + +# 'table-best-actions' # ** HTML table @callback( - [Output('table-candidates', 'data'), Output('table-candidates', 'columns')], + [ + Output('table-candidates', 'columns'), + Output('table-candidates', 'data'), + Output('table-best-actions', 'columns'), + Output('table-best-actions', 'data'), + ], Input('selector-candidates', 'value'), State('selector-obj_id', 'value'), prevent_initial_call=True, ) -def update_table_candidates(index, obj_id): - df = pre_filter_data(data, idx=index, obj_id=obj_id) - df = df.filter(items=TABLE_FEATS, axis=1).sort_values( - by='ErstellungsDatum', ascending=True +def update_tables_candidates( + index, + obj_id, +) -> tuple[HTMLColumns, HTMLTable, HTMLColumns, HTMLTable]: + cands = filter_candidates(data, idx=index, obj_id=obj_id) + overview_cols, overview_table = transform_to_HTML_table( + data=cands, + target_features=TABLE_FEATS_OVERVIEW, + date_cols=TABLE_FEATS_DATES, + sorting_feature='ErstellungsDatum', + sorting_ascending=True, ) - cols = [{'name': i, 'id': i} for i in df.columns] - # convert dates to strings - for col in TABLE_FEATS_DATES: - df[col] = df[col].dt.strftime(r'%Y-%m-%d') + # df = df.filter(items=TABLE_FEATS_OVERVIEW, axis=1).sort_values( + # by='ErstellungsDatum', ascending=True + # ) + # cols = [{'name': i, 'id': i} for i in df.columns] + # # convert dates to strings + # for col in TABLE_FEATS_DATES: + # df[col] = df[col].dt.strftime(r'%Y-%m-%d') - table_data = df.to_dict('records') - return table_data, cols + # table_data = df.to_dict('records') + + cands_best_actions = calc_delta_to_next_failure( + data=cands, + date_feature='ErstellungsDatum', + name_delta_feature=NAME_DELTA_FEAT_TO_NEXT_FAILURE, + ) + best_actions_cols, best_actions_table = transform_to_HTML_table( + data=cands_best_actions, + target_features=TABLE_FEATS_BEST_ACTIONS, + date_cols=TABLE_FEATS_DATES, + ) + + return overview_cols, overview_table, best_actions_cols, best_actions_table # ** graph callbacks @@ -345,7 +450,7 @@ def update_table_candidates(index, obj_id): def display_candidates_as_graph(index, obj_id): error_msg = '' t1 = time.perf_counter() - df = pre_filter_data(data, idx=index, obj_id=obj_id) + df = filter_candidates(data, idx=index, obj_id=obj_id) t2 = time.perf_counter() print(f'Time for filtering: {t2 - t1} s') diff --git a/src/lang_main/analysis/preprocessing.py b/src/lang_main/analysis/preprocessing.py index 54a9f93..9130bb1 100644 --- a/src/lang_main/analysis/preprocessing.py +++ b/src/lang_main/analysis/preprocessing.py @@ -1,9 +1,8 @@ -import re -from collections.abc import Iterable +from collections.abc import Collection from itertools import combinations from math import factorial from pathlib import Path -from typing import Callable, cast +from typing import cast import numpy as np import pandas as pd @@ -25,11 +24,12 @@ from lang_main.loggers import logger_preprocess as logger from lang_main.pipelines.base import Pipeline from lang_main.types import Embedding, PandasIndex -# ** RE patterns -pattern_special_chars = re.compile(r'[\t\n\r\f\v]+') -pattern_repeated_chars = re.compile(r'([,;.:!?-_\+]){2,}') -pattern_dates = re.compile(r'(\d{1,2}\.)?(\d{1,2}\.)([\d]{2,4})?') -pattern_whitespace = re.compile(r'[ ]{2,}') +# TODO removal +# pattern_escape_seq = re.compile(r'[\t\n\r\f\v]+') +# pattern_escape_seq_sentences = re.compile(r' *[\t\n\r\f\v]+') +# pattern_repeated_chars = re.compile(r'([,;.:!?-_\+]){2,}') +# pattern_dates = re.compile(r'(\d{1,2}\.)?(\d{1,2}\.)([\d]{2,4})?') +# pattern_whitespace = re.compile(r'[ ]{2,}') # ** (1) dataset preparation: loading and simple preprocessing @@ -37,7 +37,7 @@ pattern_whitespace = re.compile(r'[ ]{2,}') # duplicate cleansing based on all properties def load_raw_data( path: Path, - date_cols: Iterable[str] = ( + date_cols: Collection[str] = ( 'VorgangsDatum', 'ErledigungsDatum', 'Arbeitsbeginn', @@ -50,7 +50,7 @@ def load_raw_data( ---------- path : str path to dataset file, usually CSV file - date_cols : list[str], optional + date_cols : Collection[str], optional columns which contain dates and are parsed as such, by default ( 'VorgangsDatum', @@ -129,9 +129,7 @@ def remove_duplicates( def remove_NA( data: DataFrame, - target_features: list[str] = [ - 'VorgangsBeschreibung', - ], + target_features: Collection[str] = ('VorgangsBeschreibung',), ) -> tuple[DataFrame]: """function to drop NA entries based on a subset of features to be analysed @@ -139,14 +137,15 @@ def remove_NA( ---------- data : DataFrame standard IHM dataset, perhaps pre-cleaned - target_features : list[str], optional - subset to analyse to define an NA entry, by default [ 'VorgangsBeschreibung', ] + target_features : Collection[str], optional + subset to analyse to define an NA entry, by default ('VorgangsBeschreibung',) Returns ------- DataFrame dataset with removed NA entries for given subset of features """ + target_features = list(target_features) wo_NA = data.dropna(axis=0, subset=target_features, ignore_index=True).copy() # type: ignore logger.info( f'Removed NA entries for features >>{target_features}<< from dataset successfully.' @@ -156,46 +155,7 @@ def remove_NA( # ** (2) entry-based cleansing -# following functions clean and prepare specific entries, not whole dataset -def clean_string_slim(string: str) -> str: - """mapping function to clean single string entries in a series (feature-wise) - of the dataset, used to be applied element-wise for string features - - Parameters - ---------- - string : str - dataset entry feature - - Returns - ------- - str - cleaned entry - """ - # remove special chars - string = pattern_special_chars.sub(' ', string) - string = pattern_repeated_chars.sub(r'\1', string) - # string = pattern_dates.sub('', string) - # dates are used for context, should not be removed at this stage - string = pattern_whitespace.sub(' ', string) - # remove whitespaces at the beginning and the end - string = string.strip() - - return string - - -def entry_wise_cleansing( - data: DataFrame, - target_feature: str, - cleansing_func: Callable[[str], str], -) -> tuple[DataFrame]: - # apply given cleansing function to target feature - data[target_feature] = data[target_feature].map(cleansing_func) - logger.info( - ('Successfully applied entry-wise cleansing procedure >>%s<< for feature >>%s<<'), - cleansing_func.__name__, - target_feature, - ) - return (data,) +# ** moved to module ``lang_main.analysis.shared`` # ** in-depth analysis of one feature diff --git a/src/lang_main/analysis/shared.py b/src/lang_main/analysis/shared.py index c177acd..dd66c95 100644 --- a/src/lang_main/analysis/shared.py +++ b/src/lang_main/analysis/shared.py @@ -1,4 +1,5 @@ -from collections.abc import Iterable, Iterator +import re +from collections.abc import Callable, Collection, Iterable, Iterator from typing import cast import networkx as nx @@ -7,14 +8,70 @@ import numpy.typing as npt import sentence_transformers import sentence_transformers.util from networkx import Graph -from pandas import Series +from pandas import DataFrame, Series from sentence_transformers import SentenceTransformer from torch import Tensor from lang_main.analysis.graphs import get_graph_metadata, update_graph +from lang_main.loggers import logger_preprocess as logger from lang_main.types import PandasIndex +# ** RE patterns +pattern_escape_newline = re.compile(r'[\n]+') +pattern_escape_seq = re.compile(r'[\t\n\r\f\v]+') +pattern_escape_seq_sentences = re.compile(r' *[\t\n\r\f\v]+') +pattern_repeated_chars = re.compile(r'[,;.:!?\-_+]+(?=[,;.:!?\-_+])') +pattern_dates = re.compile(r'(\d{1,2}\.)?(\d{1,2}\.)([\d]{2,4})?') +pattern_whitespace = re.compile(r'[ ]{2,}') + +# ** RE applications +# following functions clean and prepare specific entries, not whole datasets +def clean_string_slim(string: str) -> str: + """mapping function to clean single string entries in a series (feature-wise) + of the dataset, used to be applied element-wise for string features + + Parameters + ---------- + string : str + dataset entry feature + + Returns + ------- + str + cleaned entry + """ + # remove special chars + string = pattern_escape_newline.sub('. ', string) + string = pattern_escape_seq.sub(' ', string) + string = pattern_repeated_chars.sub('', string) + # string = pattern_dates.sub('', string) + # dates are used for context, should not be removed at this stage + string = pattern_whitespace.sub(' ', string) + # remove whitespaces at the beginning and the end + string = string.strip() + + return string + + +# ** dataset cleansing +def entry_wise_cleansing( + data: DataFrame, + target_features: Collection[str], + cleansing_func: Callable[[str], str] = clean_string_slim, +) -> tuple[DataFrame]: + # apply given cleansing function to target feature + target_features = list(target_features) + data[target_features] = data[target_features].map(cleansing_func) + logger.info( + ('Successfully applied entry-wise cleansing procedure >>%s<< for features >>%s<<'), + cleansing_func.__name__, + target_features, + ) + return (data,) + + +# ** similarities def candidates_by_index( data_model_input: Series, model: SentenceTransformer, diff --git a/src/lang_main/analysis/timeline.py b/src/lang_main/analysis/timeline.py index e010ff2..4e339a0 100644 --- a/src/lang_main/analysis/timeline.py +++ b/src/lang_main/analysis/timeline.py @@ -1,4 +1,4 @@ -from collections.abc import Iterable, Iterator +from collections.abc import Collection, Iterable, Iterator from typing import cast from pandas import DataFrame, Series @@ -7,14 +7,21 @@ from tqdm.auto import tqdm # TODO: check deletion from lang_main.analysis.shared import ( candidates_by_index, + entry_wise_cleansing, + pattern_escape_seq_sentences, similar_index_connection_graph, similar_index_groups, ) from lang_main.loggers import logger_timeline as logger -from lang_main.types import ObjectID, PandasIndex, TimelineCandidates +from lang_main.types import ( + DataFrameTLFiltered, + ObjectID, + PandasIndex, + TimelineCandidates, +) -def non_relevant_obj_ids( +def _non_relevant_obj_ids( data: DataFrame, thresh_unique_feat_per_id: int, *, @@ -50,9 +57,9 @@ def remove_non_relevant_obj_ids( feature_uniqueness: str = 'HObjektText', feature_obj_id: str = 'ObjektID', ) -> tuple[DataFrame]: - logger.info('Removing non-relevant ObjectIDs from dataset') + logger.info('Removing non-relevant ObjectIDs from dataset...') data = data.copy() - ids_to_ignore = non_relevant_obj_ids( + ids_to_ignore = _non_relevant_obj_ids( data=data, thresh_unique_feat_per_id=thresh_unique_feat_per_id, feature_uniqueness=feature_uniqueness, @@ -61,7 +68,43 @@ def remove_non_relevant_obj_ids( # only retain entries with ObjectIDs not in IDs to ignore data = data.loc[~(data[feature_obj_id].isin(ids_to_ignore))] logger.debug('Ignored ObjectIDs: %s', ids_to_ignore) - logger.info('Non-relevant ObjectIDs removed successfully') + logger.info('Non-relevant ObjectIDs removed successfully.') + + return (data,) + + +def cleanup_descriptions( + data: DataFrame, + properties: Collection[str] = ( + 'VorgangsBeschreibung', + 'ErledigungsBeschreibung', + ), +) -> tuple[DataFrame]: + logger.info('Cleaning necessary descriptions...') + data = data.copy() + features = list(properties) + data[features] = data[features].fillna('N.V.') + (data,) = entry_wise_cleansing(data, target_features=features) + logger.info('Cleansing successful.') + + return (data.copy(),) + + +def calc_delta_to_repair( + data: DataFrame, + date_feature_start: str = 'ErstellungsDatum', + date_feature_end: str = 'ErledigungsDatum', + name_delta_feature: str = 'delta_to_repair', + convert_to_days: bool = True, +) -> tuple[DataFrame]: + logger.info('Calculating time differences between start and end of operations...') + data = data.copy() + data[name_delta_feature] = data[date_feature_end] - data[date_feature_start] + + if convert_to_days: + data[name_delta_feature] = data[name_delta_feature].dt.days + + logger.info('Calculation successful.') return (data,) @@ -75,7 +118,7 @@ def generate_model_input( 'VorgangsBeschreibung', ), ) -> tuple[DataFrame]: - logger.info('Generating concatenation of model input features') + logger.info('Generating concatenation of model input features...') data = data.copy() model_input_features = list(model_input_features) input_features = data[model_input_features].fillna('').astype(str) @@ -83,7 +126,7 @@ def generate_model_input( lambda x: ' - '.join(x), axis=1, ) - logger.info('Model input generated successfully') + logger.info('Model input generated successfully.') return (data,) @@ -97,7 +140,7 @@ def filter_activities_per_obj_id( ) -> tuple[DataFrame, Series]: data = data.copy() # filter only relevant activities count occurrences for each ObjectID - logger.info('Filtering activities per ObjectID') + logger.info('Filtering activities per ObjectID...') filt_rel_activities = data[activity_feature].isin(relevant_activity_types) data_filter_activities = data.loc[filt_rel_activities].copy() num_activities_per_obj_id = cast( @@ -113,7 +156,7 @@ def filter_activities_per_obj_id( num_activities_per_obj_id = num_activities_per_obj_id.loc[~filt_below_thresh] data_filter_activities = data_filter_activities.loc[~filt_entries_below_thresh] - logger.info('Activities per ObjectID filtered successfully') + logger.info('Activities per ObjectID filtered successfully.') return data_filter_activities, num_activities_per_obj_id @@ -129,7 +172,7 @@ def filter_activities_per_obj_id( ## use idx pairs to get idx values of series -def get_timeline_candidates_index( +def _get_timeline_candidates_index( data: DataFrame, num_activities_per_obj_id: Series, *, @@ -161,7 +204,7 @@ def get_timeline_candidates_index( # TODO: check application for duplicate removal -def transform_timeline_candidates( +def _transform_timeline_candidates( candidates: Iterator[tuple[ObjectID, tuple[PandasIndex, ...]]], ) -> TimelineCandidates: """function to build a mapping of ObjectIDs to their respective collection of @@ -200,7 +243,7 @@ def transform_timeline_candidates( return candidates_by_obj_id -def map_obj_id_to_texts( +def _map_obj_id_to_texts( data: DataFrame, feature_obj_id: str = 'ObjektID', ) -> dict[ObjectID, str]: @@ -229,7 +272,7 @@ def get_timeline_candidates( model_input_feature: str = 'nlp_model_input', ) -> tuple[TimelineCandidates, dict[ObjectID, str]]: logger.info('Obtaining timeline candidates...') - candidates = get_timeline_candidates_index( + candidates = _get_timeline_candidates_index( data=data, num_activities_per_obj_id=num_activities_per_obj_id, model=model, @@ -237,14 +280,52 @@ def get_timeline_candidates( feature_obj_id=feature_obj_id, model_input_feature=model_input_feature, ) - tl_candidates = transform_timeline_candidates(candidates) + tl_candidates = _transform_timeline_candidates(candidates) logger.info('Timeline candidates obtained successfully.') # text mapping to obtain object descriptors logger.info('Mapping ObjectIDs to their respective text descriptor...') - map_obj_text = map_obj_id_to_texts( + map_obj_text = _map_obj_id_to_texts( data=data, feature_obj_id=feature_obj_id, ) logger.info('ObjectIDs successfully mapped to text descriptors.') return tl_candidates, map_obj_text + + +# ** Postprocessing +# filter original dataset for a batch of timeline candidates +def filter_timeline_cands( + data: DataFrame, + cands: TimelineCandidates, + obj_id: ObjectID, + entry_idx: int, + sort_feature: str = 'ErstellungsDatum', +) -> DataFrameTLFiltered: + data = data.copy() + cands_for_obj_id = cands[obj_id] + cands_choice = cands_for_obj_id[entry_idx] + data = data.loc[list(cands_choice)].sort_values( + by=sort_feature, + ascending=True, + ) + + return data + + +def calc_delta_to_next_failure( + data: DataFrameTLFiltered, + date_feature: str = 'ErstellungsDatum', + name_delta_feature: str = 'delta_to_next_failure', + convert_to_days: bool = True, +) -> DataFrameTLFiltered: + data = data.copy() + last_val = data[date_feature].iat[-1] + shifted = data[date_feature].shift(-1, fill_value=last_val) + data[name_delta_feature] = shifted - data[date_feature] + data = data.sort_values(by=name_delta_feature, ascending=False) + + if convert_to_days: + data[name_delta_feature] = data[name_delta_feature].dt.days + + return data diff --git a/src/lang_main/constants.py b/src/lang_main/constants.py index 2fda715..9d0e52b 100644 --- a/src/lang_main/constants.py +++ b/src/lang_main/constants.py @@ -76,13 +76,14 @@ CYTO_LAYOUT_PROPERTIES: Final[CytoLayoutProperties] = { 'isDeterministic': True, 'singlePartition': False, } +CYTO_SANDBOX_NAME: Final[str] = 'lang_main' CYTO_STYLESHEET_NAME: Final[str] = 'lang_main' # name for property, on which selection is done CYTO_SELECTION_PROPERTY: Final[str] = 'node_selection' CYTO_NUMBER_SUBGRAPHS: Final[int] = 5 CYTO_ITER_NEIGHBOUR_DEPTH: Final[int] = 2 -# ** time analysis.uniqueness +# ** time_analysis.uniqueness THRESHOLD_UNIQUE_TEXTS: Final[int] = CONFIG['time_analysis']['uniqueness'][ 'threshold_unique_texts' ] @@ -90,6 +91,10 @@ UNIQUE_CRITERION_FEATURE: Final[str] = CONFIG['time_analysis']['uniqueness'][ 'criterion_feature' ] FEATURE_NAME_OBJ_ID: Final[str] = CONFIG['time_analysis']['uniqueness']['feature_name_obj_id'] +# ** time_analysis.preparation +NAME_DELTA_FEAT_TO_REPAIR: Final[str] = 'delta_to_repair' +# NAME_DELTA_FEAT_TO_REPAIR: Final[str] = 'Zeitspanne bis zur Behebung [Tage]' +NAME_DELTA_FEAT_TO_NEXT_FAILURE: Final[str] = 'Zeitspanne bis zum nächsten Ereignis [Tage]' # ** time_analysis.model_input MODEL_INPUT_FEATURES: Final[tuple[str, ...]] = tuple( CONFIG['time_analysis']['model_input']['input_features'] diff --git a/src/lang_main/cytoscape_config/template_test.cys b/src/lang_main/cytoscape_config/template_test.cys index da070f2d4572ac303901216c45f86cb1b41d8541..d245d1e18df5f0914a0f52d351057873bc6f2488 100644 GIT binary patch literal 33608 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
GOp%vCi)eL2C1e|=H9^WT9c6>P8H7%G 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 Y?yqTvhPkwj6#VrZ{6HD}=<@3S0FD*P4FCWD literal 83798 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

RL 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 aFR%3yaY(3h3jDx7K_Kt! Pipeline: pipe_target_feat.add( entry_wise_cleansing, { - 'target_feature': 'VorgangsBeschreibung', + 'target_feature': ('VorgangsBeschreibung',), 'cleansing_func': clean_string_slim, }, save_result=True, @@ -182,7 +187,6 @@ def build_tk_graph_rescaling_pipe( graphs.pipe_add_graph_metrics, save_result=save_result, filename=exit_point, - # filename=EntryPoints.TK_GRAPH_ANALYSIS_RESCALED, ) return pipe_graph_rescaling @@ -247,6 +251,23 @@ def build_tk_graph_render_pipe( # ** timeline analysis def build_timeline_pipe() -> Pipeline: pipe_timeline = Pipeline(name='Timeline_Analysis', working_dir=SAVE_PATH_FOLDER) + pipe_timeline.add( + cleanup_descriptions, + { + 'properties': ['ErledigungsBeschreibung'], + }, + ) + pipe_timeline.add( + calc_delta_to_repair, + { + 'date_feature_start': 'ErstellungsDatum', + 'date_feature_end': 'ErledigungsDatum', + 'name_delta_feature': NAME_DELTA_FEAT_TO_REPAIR, + 'convert_to_days': True, + }, + save_result=True, + filename=EntryPoints.TIMELINE_POST, + ) pipe_timeline.add( remove_non_relevant_obj_ids, { @@ -281,7 +302,7 @@ def build_timeline_pipe() -> Pipeline: 'model_input_feature': 'nlp_model_input', }, save_result=True, - filename=EntryPoints.TIMELINE_POST, + filename=EntryPoints.TIMELINE_CANDS, ) return pipe_timeline diff --git a/src/lang_main/render/cytoscape.py b/src/lang_main/render/cytoscape.py index 4df2a0d..d5201a9 100644 --- a/src/lang_main/render/cytoscape.py +++ b/src/lang_main/render/cytoscape.py @@ -16,6 +16,7 @@ from lang_main.constants import ( CYTO_LAYOUT_PROPERTIES, CYTO_NUMBER_SUBGRAPHS, CYTO_PATH_STYLESHEET, + CYTO_SANDBOX_NAME, CYTO_SELECTION_PROPERTY, CYTO_STYLESHEET_NAME, PROPERTY_NAME_DEGREE_WEIGHTED, @@ -56,6 +57,8 @@ def verify_connection(): def import_to_cytoscape( graph: DiGraph | Graph, network_name: str = CYTO_BASE_NETWORK_NAME, + sandbox_name: str = CYTO_SANDBOX_NAME, + reinitialise_sandbox: bool = True, ) -> None: """Cytoscape: import NetworkX graph as new network collection @@ -66,6 +69,12 @@ def import_to_cytoscape( """ logger.debug('Checking Cytoscape connection...') verify_connection() + logger.debug('Setting Cytoscape sandbox...') + p4c.sandbox_set( + sandbox_name=sandbox_name, + reinitialize=reinitialise_sandbox, + copy_samples=False, + ) logger.debug('Importing to and analysing network in Cytoscape...') p4c.delete_all_networks() p4c.create_network_from_networkx( @@ -122,6 +131,7 @@ def export_network_to_image( filetype: CytoExportFileTypes = 'SVG', network_name: str = CYTO_BASE_NETWORK_NAME, pdf_export_page_size: CytoExportPageSizes = 'A4', + sandbox_name: str = CYTO_SANDBOX_NAME, ) -> None: """Cytoscape: export current selected view as image @@ -140,14 +150,17 @@ def export_network_to_image( logger.debug('Exporting image to file...') if not target_folder.exists(): target_folder.mkdir(parents=True) - file_pth = target_folder / filename + dst_file_pth = (target_folder / filename).with_suffix(f'.{filetype.lower()}') text_as_font = True if filetype == 'SVG': text_as_font = False + # image is generated in sandbox directory and transferred to target destination + # (preparation for remote instances of Cytoscape) + # TODO close non-necessary windows before image display p4c.export_image( - filename=str(file_pth), + filename=filename, type=filetype, network=network_name, overwrite_file=True, @@ -155,7 +168,24 @@ def export_network_to_image( export_text_as_font=text_as_font, page_size=pdf_export_page_size, ) - logger.debug('Exporting image to file successful.') + # TODO change back to Cytoscape 3.10 and above + # TODO remove if Cytoscape >= 3.10.* is running in container + # p4c.export_image( + # filename=filename, + # type=filetype, + # network=network_name, + # overwrite_file=True, + # ) + logger.debug('Exported image to sandbox.') + logger.debug('Transferring image from sandbox to target destination...') + sandbox_filename = f'{filename}.{filetype.lower()}' + p4c.sandbox_get_from( + source_file=sandbox_filename, + dest_file=str(dst_file_pth), + overwrite=True, + sandbox_name=sandbox_name, + ) + logger.debug('Transfer of image from sandbox to target destination successful.') def layout_network( @@ -192,6 +222,7 @@ def apply_style_to_network( node_size_property: str = 'node_selection', min_node_size: int = 15, max_node_size: int = 40, + sandbox_name: str = CYTO_SANDBOX_NAME, ) -> None: """Cytoscape: apply a chosen Cytoscape style to the defined network @@ -221,7 +252,16 @@ def apply_style_to_network( raise FileNotFoundError( f'Visual stylesheet for Cytoscape not found under: >>{pth_to_stylesheet}<<' ) - p4c.import_visual_styles(str(pth_to_stylesheet)) + # send to sandbox + sandbox_filename = pth_to_stylesheet.name + p4c.sandbox_send_to( + source_file=pth_to_stylesheet, + dest_file=sandbox_filename, + overwrite=True, + sandbox_name=sandbox_name, + ) + # load stylesheet + p4c.import_visual_styles(sandbox_filename) p4c.set_visual_style(style_name, network=network_name) # node size mapping, only if needed property is available @@ -242,6 +282,7 @@ def apply_style_to_network( default_number=min_node_size, ) p4c.set_node_size_mapping(**node_size_map) + # TODO removal # else: # node_table = p4c.get_table_columns(table='node', network=network_name) # nodes_SUID = node_table['SUID'].to_list() diff --git a/src/lang_main/types.py b/src/lang_main/types.py index 1d6ebec..3e7f21b 100644 --- a/src/lang_main/types.py +++ b/src/lang_main/types.py @@ -1,5 +1,7 @@ import enum +from collections.abc import Hashable from typing import ( + Any, Literal, Required, TypeAlias, @@ -7,6 +9,7 @@ from typing import ( ) import numpy as np +from pandas import DataFrame from spacy.tokens.doc import Doc as SpacyDoc from torch import Tensor @@ -33,6 +36,7 @@ ResultHandling: TypeAlias = list[tuple[bool, str | None]] class EntryPoints(enum.StrEnum): TIMELINE = 'TIMELINE' TIMELINE_POST = 'TIMELINE_POSTPROCESSING' + TIMELINE_CANDS = 'TIMELINE_CANDIDATES' TIMELINE_TK_GRAPH_RESCALED = 'TIMELINE_TK_GRAPH_RESCALED' TK_GRAPH_POST = 'TK-GRAPH_POSTPROCESSING' TK_GRAPH_ANALYSIS = 'TK-GRAPH_ANALYSIS' @@ -44,6 +48,7 @@ class EntryPoints(enum.StrEnum): PandasIndex: TypeAlias = int | np.int64 ObjectID: TypeAlias = int Embedding: TypeAlias = SpacyDoc | Tensor +DataFrameTLFiltered: TypeAlias = DataFrame # ** graphs NodeTitle: TypeAlias = str @@ -118,3 +123,8 @@ class CytoscapeData(TypedDict, total=False): # ** timeline TimelineCandidates: TypeAlias = dict[ObjectID, tuple[tuple[PandasIndex, ...], ...]] + + +# ** Dash (Dashboard) +HTMLTable: TypeAlias = list[dict[Hashable, Any]] +HTMLColumns: TypeAlias = list[dict[str, str]] diff --git a/test-notebooks/misc.ipynb b/test-notebooks/misc.ipynb index 5fa845c..7d0193d 100644 --- a/test-notebooks/misc.ipynb +++ b/test-notebooks/misc.ipynb @@ -14,14 +14,62 @@ { "cell_type": "code", "execution_count": 2, - "id": "af118d77-d87a-4687-be5b-e810a24c403e", + "id": "d46b6ce8-b51b-49e0-b494-fc24fda0f73f", + "metadata": {}, + "outputs": [], + "source": [ + "import py4cytoscape as p4c" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6fde72d3-b95b-4d37-be71-a7d3661dd3f5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "2024-07-24 06:14:08 +0000 | io:INFO | Loaded TOML config file successfully.\n" + "You are connected to Cytoscape!\n" + ] + }, + { + "data": { + "text/plain": [ + "'You are connected to Cytoscape!'" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p4c.cytoscape_ping()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43eeb870-6f97-4029-ac0d-210315ccaabf", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "af118d77-d87a-4687-be5b-e810a24c403e", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2024-07-31 06:33:53 +0000 | io:INFO | Loaded TOML config file successfully.\n" ] }, { @@ -393,7 +441,9 @@ "cell_type": "code", "execution_count": 20, "id": "f381b25a-6149-4a2a-876c-4cbd8bb9bd04", - "metadata": {}, + "metadata": { + "scrolled": true + }, "outputs": [ { "name": "stdout", @@ -6261,8 +6311,8 @@ 1 ], "range": [ - "2019-08-25 23:47:37.7827", - "2023-07-27 00:12:22.2173" + "2019-08-26 23:25:36.9657", + "2023-07-26 00:34:23.0343" ], "tickformat": "%B\n%Y", "title": { @@ -6289,7 +6339,7 @@ } } }, - "image/png": "iVBORw0KGgoAAAANSUhEUgAABb8AAAFoCAYAAAB38YZnAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnQmYXVWV79etuZJUZpMQpUECzaAgGMFoix1FuxVEFCVCY0uMpmMcgQidwOPRaGMieQRalBjTRLBFY7RRGwnSLUrzVCKTaHyAA0ikzQAZSCpJJTW+75zi3tzcVN1pn3PvWnv/7vfxUZWcvc9av//OHX51ap/MwMDAgPCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCHhEIIP89ihNWoEABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIGYAPKbhQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALeEUB+excpDUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgADymzUAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC3hFAfnsXKQ1BAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA8ps1AAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAt4RQH57FykNQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAPKbNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALeEUB+excpDUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgADymzUAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC3hFAfnsXKQ1BAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA8ps1AAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAt4RQH57FykNQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAPKbNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALeEUB+excpDUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgADymzUAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC3hFAfnsXKQ1BAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA8ps1AAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAt4RQH57FykNQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAPKbNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALeEUB+excpDUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgADymzUAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC3hFAfnsXKQ1BAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA8ps1AAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAt4RQH57FykNQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAPKbNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALeEUB+excpDUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgADymzUAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC3hFAfnsXKQ1BAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA8ps1AAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAt4RQH57FykNQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAPKbNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALeEUB+excpDUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgADymzUAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC3hFAfnsXKQ1BAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA8ps1AAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAt4RQH57FykNQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAPKbNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALeEUB+excpDUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgADymzUAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC3hFAfnsXKQ1BAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA8ps1AAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAt4RQH57FykNQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAPKbNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALeEUB+excpDUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgADymzUAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC3hFAfnsXKQ1BAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA8ps1AAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAt4RQH57FykNQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAPKbNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALeEUB+excpDUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgADymzUAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC3hFAfnsXKQ1BAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA8ps1AAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAt4RQH57FykNQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAPKbNQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALeEUB+excpDUEAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgADymzUAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC3hFAfnsXKQ1BAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAA8ttxDWzc1uU4A8M1EWhpapDRI5tl6879msqiFghIR3uTSCYjnXt7oAEBlQSmjG+X53Z0Sf+AyvIoKkACDQ0ZmTSmVTbv2Bdg97RsgcDoEc3SPzAgu7t6LZRLjYEQmDC6VXZ39cj+nv5AOqZNSwSaGjMyvqNVnnuB13ZLuflea3tLo7S1NsqOzu7UWp06oT21uUOYGPntmDLy2xGgsuHIb2WBUE6OAPKbxaCdAPJbe0Lh1Yf8Di9zax0jv60lFka9yO8wcrbaJfLbanJ+14381p8v8tsxI+S3I0Blw5HfygKhHOQ3a8AMAeS3maiCKRT5HUzUZhtFfpuNzuvCkd9ex2u+OeS3+Qi9bAD5rT9W5LdjRshvR4DKhiO/lQVCOchv1oAZAshvM1EFUyjyO5iozTaK/DYbndeFI7+9jtd8c8hv8xF62QDyW3+syG/HjJDfjgCVDUd+KwuEcpDfrAEzBJDfZqIKplDkdzBRm20U+W02Oq8LR357Ha/55pDf5iP0sgHkt/5Ykd+OGSG/HQEqG478VhYI5SC/WQNmCCC/zUQVTKHI72CiNtso8ttsdF4Xjvz2Ol7zzSG/zUfoZQPIb/2xIr8dM0J+OwJUNhz5rSwQykF+swbMEEB+m4kqmEKR38FEbbZR5LfZ6LwuHPntdbzmm0N+m4/QywaQ3/pjRX47ZoT8dgSobDjyW1kglIP8Zg2YIYD8NhNVMIUiv4OJ2myjyG+z0XldOPLb63jNN4f8Nh+hlw0gv/XHivx2zAj57QhQ2XDkt7JAKAf5zRowQwD5bSaqYApFfgcTtdlGkd9mo/O6cOS31/Gabw75bT5CLxtAfuuPFfntmBHy2xGgsuHIb2WBUA7ymzVghgDy20xUwRSK/A4marONIr/NRud14chvr+M13xzy23yEXjaA/NYfK/LbMSPktyNAZcOR38oCoRzkN2vADAHkt5mogikU+R1M1GYbRX6bjc7rwpHfXsdrvjnkt/kIvWwA+a0/VuR3iYye2rBR5l1+vWzasi135InHHyXLl1wi48Z0CPJ7aIBNv31Cxl5+cfyXA03Nsu3ff6D/X4OIIL9NxBRkkR3tTSKZjHTu7Qmyf5rWTwD5rT+j0CpEfoeWuL1+kd/2MguhYuR3CCnb7RH5bTc7nytHfutPF/ldhvy+cvFKuXbRXJl2xNRDjkZ+Dw2w5aFfyMS3v2nwL5ubZeOmnfr/NSC/TWQUapHI71CTt9M38ttOVqFUivwOJWm7fSK/7Wbnc+XIb5/Ttd8b8tt+hj52gPzWnyryG/mdyipFfqeClUkDJoD8Djh8I60jv40EFVCZyO+AwjbaKvLbaHCel4389jxg4+0hv40H6Gn5yG/9wSK/y5Df+due5G95Eg3lyu8DAJsffVjafnRP/AeNG/8sI75+6+BfNjRI56cX5Q7cM/vD0j9pssp/HWx7ojIWihIR5DfLQDsB5Lf2hMKrD/kdXubWOkZ+W0ssjHqR32HkbLVL5LfV5PyuG/mtP1/kd4UZLVuxRjY/t12uuWyOtLe1SGdXb4Uz+Ht485dvlrZLP1WywT2/eET6Tzyp5HH1OKCxISOtzQ2yd39fPU7POSEwLIHWpgaRjMj+nn4TlAYG4i3KeQREYFR7k+zp6pWBgHqmVd0Eouegka1NsnufrvdqAwMDkuEJUvfiqVF10XvO6PWyu9fGa3uNsHCaOhMY0doo3T390ttf+1d0nh/rHL6B0zdkRNpbm2SPstd2A+goMUUCzY0ZaWpskK7u9DxSfDEcj6oJIL8rRBfdAHPpzatl8RVz4xtecvO5AwBj+b1g8CaXxR571kXy+8RSh9Xl72P53dIoe3kxrQt/Tjo8gZbmBonsd3dPei+oSfIfyGQkE32i5xEMgVHtzbJnX08scnhAQAOBSDCPbGuU3couVBiQjGT4MZGGJVL3GlqbG2VABmLRyAMCWghEYrG7t0/6+mr/gh6dkWsntKwEnXVEv9UVXWWL/NaZT6hVReK7qSkj+1K8iLJjRHOoeBPpG/ldIcZC+c22JwcAsu1JhYuJwyFQAQG2PakAFofWhQDbntQFOyctQoBtT1ge2gmw7Yn2hMKsj21PwszdStdse2IlqbDqZNsT/Xkjv0tkdM99D8rRL3+ZTDtianxktO1J9Lh03qz4/8jvoQFyw0v9//ip0BYB5LetvEKsFvkdYuq6e0Z+686H6kSQ36wCjQSQ3xpToaYsAeQ3a0EjAeS3xlQOrgn5XSKjhx57UmZfvCR31FlnzMjt9438Hh4e8lv/P34qtEUA+W0rrxCrRX6HmLrunpHfuvOhOuQ3a0AnAeS3zlyoapAA8puVoJEA8ltjKsjvRFPhyu+hcTb99gkZe/ng/t8DTc2y7d9/kCj3tCZraWqQ0SObZevO/WmdgnkhUBUB5HdV2BhUQwLI7xrC5lRlEUB+l4WJg+pIgCu/6wifUw9LAPnN4tBMAPmtOZ1wa0N+68+eK78dM0J+OwJUNhz5rSwQyskRQH6zGLQTQH5rTyi8+pDf4WVurWPkt7XEwqgX+R1Gzla7RH5bTc7vupHf+vNFfjtmhPx2BKhsOPJbWSCUg/xmDZghgPw2E1UwhSK/g4nabKPIb7PReV048tvreM03h/w2H6GXDSC/9ceK/HbMCPntCFDZcOS3skAoB/nNGjBDAPltJqpgCkV+BxO12UaR32aj87pw5LfX8ZpvDvltPkIvG0B+648V+e2YEfLbEaCy4chvZYFQDvKbNWCGAPLbTFTBFIr8DiZqs40iv81G53XhyG+v4zXfHPLbfIReNoD81h8r8tsxI+S3I0Blw5HfygKhHOQ3a8AMAeS3maiCKRT5HUzUZhtFfpuNzuvCkd9ex2u+OeS3+Qi9bAD5rT9W5LdjRshvR4DKhiO/lQVCOchv1oAZAshvM1EFUyjyO5iozTaK/DYbndeFI7+9jtd8c8hv8xF62QDyW3+syG/HjJDfjgCVDUd+KwuEcpDfrAEzBJDfZqIKplDkdzBRm20U+W02Oq8LR357Ha/55pDf5iP0sgHkt/5Ykd+OGSG/HQEqG478VhYI5SC/WQNmCCC/zUQVTKHI72CiNtso8ttsdF4Xjvz2Ol7zzSG/zUfoZQPIb/2xIr8dM0J+OwJUNhz5rSwQykF+swbMEEB+m4kqmEKR38FEbbZR5LfZ6LwuHPntdbzmm0N+m4/QywaQ3/pjRX47ZoT8dgSobDjyW1kglIP8Zg2YIYD8NhNVMIUiv4OJ2myjyG+z0XldOPLb63jNN4f8Nh+hlw0gv/XHivx2zAj57QhQ2XDkt7JAKAf5zRowQwD5bSaqYApFfgcTtdlGkd9mo/O6cOS31/Gabw75bT5CLxtAfuuPFfntmBHy2xGgsuHIb2WBUA7ymzVghgDy20xUwRSK/A4marONIr/NRud14chvr+M13xzy23yEXjaA/NYfK/LbMSPktyNAZcOR38oCoRzkN2vADAHkt5mogikU+R1M1GYbRX6bjc7rwpHfXsdrvjnkt/kIvWwA+a0/VuS3Y0bIb0eAyoYjv5UFQjnIb9aAGQLIbzNRBVMo8juYqM02ivw2G53XhSO/vY7XfHPIb/MRetkA8lt/rMhvx4yQ344AlQ1HfisLhHKQ36wBMwSQ32aiCqZQ5HcwUZttFPltNjqvC0d+ex2v+eaQ3+Yj9LIB5Lf+WJHfjhkhvx0BKhuO/FYWCOUgv1kDZgggv81EFUyhyO9gojbbKPLbbHReF4789jpe880hv81H6GUDyG/9sSK/HTNCfjsCVDYc+a0sEMpBfrMGzBBAfpuJKphCkd/BRG22UeS32ei8Lhz57XW85ptDfpuP0MsGkN/6Y0V+O2aE/HYEqGw48ltZIJSD/GYNmCGA/DYTVTCFIr+Didpso8hvs9F5XTjy2+t4zTeH/DYfoZcNIL/1x4r8dswI+e0IUNlw5LeyQCgH+c0aMEMA+W0mqmAKRX4HE7XZRpHfZqPzunDkt9fxmm8O+W0+Qi8bQH7rjxX57ZgR8tsRoLLhyG9lgVAO8ps1YIYA8ttMVMEUivwOJmqzjSK/zUbndeHIb6/jNd8c8tt8hF42gPzWHyvy2zEj5LcjQGXDkd/KAqEc5DdrwAwB5LeZqIIpFPkdTNRmG0V+m43O68KR317Ha7455Lf5CL1sAPmtP1bkt2NGyG9HgMqGI7+VBUI5yG/WgBkCyG8zUQVTKPI7mKjNNor8Nhud14Ujv72O13xzyG/zEXrZAPJbf6zIb8eMkN+OAJUNR34rC4RykN+sATMEkN9mogqmUOR3MFGbbRT5bTY6rwtHfnsdr/nmkN/mI/SyAeS3/liR344ZIb8dASobjvxWFgjlIL9ZA2YIIL/NRBVMocjvYKI22yjy22x0XheO/PY6XvPNIb/NR+hlA8hv/bEivx0zQn47AlQ2HPmtLBDKQX6zBswQQH6biSqYQpHfwURttlHkt9novC4c+e11vOabQ36bj9DLBpDf+mNFfjtmhPx2BKhsOPJbWSCUg/xmDZghgPw2E1UwhSK/g4nabKPIb7PReV048tvreM03h/w2H6GXDSC/9ceK/HbMCPntCFDZcOS3skAoB/nNGjBDAPltJqpgCkV+BxO12UaR32aj87pw5LfX8ZpvDvltPkIvG0B+648V+e2YEfLbEaCy4chvZYFQDvKbNZA4gcyePdL82CO5ebtff7pIJuN8HuS3M0ImSJgA8jthoEyXOAHkd+JImTABAsjvQYgt634u0tcbf93zypNkYMzYBOgyhSsB5LcrQcanQQD5nQbVZOdEflfA86HHnpTZFy+RW29cKKeefFw8EvldAUADhyK/DYQUaIkd7U2xoOzc2xMoAdpOikDTb34tk2bOyE23cdNOkeZm5+mR384ImSBhAsjvhIEyXeIEkN+JI2XCBAggvwchHvbyKZLp3BV/vfW7a6X79JkJ0GUKVwLIb1eCjE+DAPI7DarJzon8LpNnVnxHhyO/y4Rm8DDkt8HQAikZ+R1I0DVoE/ldA8icQgUB5LeKGCiiCAHkN8tDIwHkN/Jb47rM1oT81pxOuLUhv/Vnj/wuI6OnNmyUpTevlss/doFcsXilLJg3iyu/y+Bm8RDkt8XUwqgZ+R1GzrXoEvldC8qcQwMB5LeGFKihGAHkN+tDIwHkN/Jb47pEfmtOhdqQ3/rXAPK7REaR+L5y8Uq5dtFcGT+2Q+YvvAH5rX9dV10h8rtqdAxMmQDyO2XAnk8/4vbbZOyn5pfs8vkf3ic9rzmt5HFDHcC2J1VhY1CKBJDfKcJl6kQIIL8TwcgkCRMIVX43Pv2UTD7txJI0d/3TtbL745eUPI4D0iHAld/pcGVWNwLIbzd+tRiN/C5CecfOTln0uZVy2UfPl2lHTJXo+0L53dc/UIucOEeNCET3fMtkMtJPrjUizmnKJdAQ348wI/0DNp5zevsHpGmwaB4KCGS+ukoaPvzhkpX0/eznIjMO7AdeckDeAY0Ng8+dNlZoJZ1xrFUC0TNQJMC1vVfr7RuQ6MM7Dwg0xDcbHhDedrIWNBGI1mX0al6Pt5y9ff3S1NhQHxx/+IM0HvuXJc/d//nPy8CnLyt5HAekQ0Dra3s63TKrFQKxR0r5s3r0WYtH9QSQ30XYRVd9z7v8etm0ZdshR2X3/d6yY1/19BmpjkBzU4NEV9hu7+xWVxsFhU1gZFt0w0uRPV2Dd51X/4gMKK/PamJq//ptMvqTHylZz/Z77pOeU19b8rihDnjJ2DbZunNfXT4sV1Uwg7wnkGnIyMSOFnl+535VvUZSKfqAxAMCo9qbYvG9d5+R13YiC4LAuI6W+P1md29/7fut4/vH6Mrvia95ZcmeO6/5nOz9BFd+lwSV0gGNjRkZO7JFtu3S9dqeUrtMa4RAW3OjtLY2yM7dPalVPHlcW2pzhzAx8ruClIe68nvjtq4KZuBQ7QTY9kR7QuHWx7Yn4WafROcNWzZL0x9+F0/V9MwfD9oCZdsdd8lAY2P8dz0nnSwDHaOrOiXbnlSFjUEpEmDbkxThMnUiBNj2JBGMTJIwgVC3PZGuLml59KEczQl/9x7J7NkTf7/zs5+XnpNeFX/dd+RR0vfSlyVMnenKJcC2J+WS4rhaEmDbk1rSru5cyO8KuCG/K4Bl9FDkt9HgAigb+R1AyDVqkRte1gg0p6k7AeR33SOggBIEkN8sEY0EgpXfBWEc9vIpkuncFf/p1u+ule7TZ2qMK7iakN/BRW6iYeS3/piQ3xVkhPyuAJbRQ5HfRoMLoGzkdwAh16hF5HeNQHOauhNAftc9AgpAfrMGDBJAfg+GhvzWuXiR3zpzCb0q5Lf+FYD8dsyIbU8cASobjvxWFgjl5Aggv1kMSRFoeG6LjLz1X3PTdX56UXRXQOfp2fbEGSETJEwA+Z0wUKZLnABXfieOlAkTIID8HoQ46l/+j2T2D+4rvfd9F0rfEUcmQJcpXAkgv10JMj4NAsjvNKgmOyfy25En8tsRoLLhyG9lgVAO8ps1YIYA8ttMVMEUivwOJmqzjSK/zUbndeHIb6/jNd8c8tt8hF42gPzWHyvy2zEj5LcjQGXDkd/KAqEc5DdrwAwB5LeZqIIpFPkdTNRmG0V+m43O68KR317Ha7455Lf5CL1sAPmtP1bkt2NGyG9HgMqGI7+VBUI5yG/WgBkCyG8zUQVTKPI7mKjNNor8Nhud14Ujv72O13xzyG/zEXrZAPJbf6zIb8eMkN+OAJUNR34rC4RykN+sATMEkN9mogqmUOR3MFGbbRT5bTY6rwtHfnsdr/nmkN/mI/SyAeS3/liR344ZIb8dASobjvxWFgjlIL9ZA2YIIL/NRBVMocjvYKI22yjy22x0XheO/PY6XvPNIb/NR+hlA8hv/bEivx0zQn47AlQ2HPmtLBDKQX6zBswQQH6biSqYQpHfwURttlHkt9novC4c+e11vOabQ36bj9DLBpDf+mNFfjtmhPx2BKhsOPJbWSCUg/xmDZghgPw2E1UwhSK/g4nabKPIb7PReV048tvreM03h/w2H6GXDSC/9ceK/HbMCPntCFDZcOS3skAoB/nNGjBDAPltJqpgCkV+BxO12UaR32aj87pw5LfX8ZpvDvltPkIvG0B+648V+e2YEfLbEaCy4chvZYFQDvKbNWCGAPLbTFTBFIr8DiZqs40iv81G53XhyG+v4zXfHPLbfIReNoD81h8r8tsxI+S3I0Blw5HfygKhHOQ3a8AMAeS3maiCKRT5HUzUZhtFfpuNzuvCkd9ex2u+OeS3+Qi9bAD5rT9W5LdjRshvR4DKhiO/lQVCOchv1oAZAshvM1EFUyjyO5iozTaK/DYbndeFI7+9jtd8c8hv8xF62QDyW3+syG/HjJDfjgCVDUd+KwuEcpDfrAEzBJDfZqIKplDkdzBRm20U+W02Oq8LR357Ha/55pDf5iP0sgHkt/5Ykd+OGSG/HQEqG478VhYI5SC/WQNmCCC/zUQVTKHI72CiNtso8ttsdF4Xjvz2Ol7zzSG/zUfoZQPIb/2xIr8dM0J+OwJUNhz5rSwQykF+swbMEEB+m4kqmEKR38FEbbZR5LfZ6LwuHPntdbzmm0N+m4/QywaQ3/pjRX47ZoT8dgSobDjyW1kglIP8Zg2YIYD8NhNVMIUiv4OJ2myjyG+z0XldOPLb63jNN4f8Nh+hlw0gv/XHivx2zAj57QhQ2XDkt7JAKAf5zRowQwD5bSaqYApFfgcTtdlGkd9mo/O6cOS31/Gabw75bT5CLxtAfuuPFfntmBHy2xGgsuHIb2WBUA7ymzVghgDy20xUwRSK/A4marONIr/NRud14chvr+M13xzy23yEXjaA/NYfK/LbMSPktyNAZcOR38oCoRzkN2vADAHkt5mogikU+R1M1GYbRX6bjc7rwpHfXsdrvjnkt/kIvWwA+a0/VuS3Y0bIb0eAyoYjv5UFQjnIb9aAGQLIbzNRBVMo8juYqM02ivw2G53XhSO/vY7XfHPIb/MRetkA8lt/rMhvx4yQ344AlQ1HfisLhHKQ36wBMwSQ32aiCqZQ5HcwUZttFPltNjqvC0d+ex2v+eaQ3+Yj9LIB5Lf+WJHfjhkhvx08zNkWAAAgAElEQVQBKhuO/FYWCOUgv1kDZgggv81EFUyhyO9gojbbKPLbbHReF4789jpe880hv81H6GUDyG/9sSK/HTNCfjsCVDYc+a0sEMpBfrMGzBBAfpuJKphCkd/BRG22UeS32ei8Lhz57XW85ptDfpuP0MsGkN/6Y0V+O2aE/HYEqGw48ltZIJSD/GYNmCGA/DYTVTCFIr+Didpso8hvs9F5XTjy2+t4zTeH/DYfoZcNIL/1x4r8dswI+e0IUNlw5LeyQCgH+c0aMEMA+W0mqmAKRX4HE7XZRpHfZqPzunDkt9fxmm8O+W0+Qi8bQH7rjxX57ZgR8tsRoLLhyG9lgVAO8ps1YIYA8ttMVMEUivwOJmqzjSK/zUbndeHIb6/jNd8c8tt8hF42gPzWHyvy2zEj5LcjQGXDkd/KAqEc5DdrwAwB5LeZqIIpFPkdTNRmG0V+m43O68KR317Ha7455Lf5CL1sAPmtP1bkt2NGyG9HgMqGI7+VBUI5yG/WgBkCyG8zUQVTKPI7mKjNNor8Nhud14Ujv72O13xzyG/zEXrZAPJbf6zI7xIZPbVho8y7/HrZtGVbfORZZ8yQay6bI+1tLfH3yG/9i7ySCovJ78zevTLqizfkptv9kY/LwOgxlUzPsRComkBHe5NIJiOde3uqnoOBEEiTAPI7TbrMXQ0B5Hc11BhTSwLI71rS5lzlEkB+l0uK4+pBAPldD+qcsxQB5HcpQvX/e+R3iQzuWHu/HD51kpx68nHxkctWrIn/f+m8WfH/kd/1X8RJVlBMfjdsfV6mHHdE7nRbHvut9L3s8CRPz1wQGJYA8pvFoZ0A8lt7QuHVh/wOL3NrHSO/rSUWRr3I7zByttol8ttqcn7XjfzWny/yu8KMIhm+7pHHc1d/I78rBKj8cOS38oACLg/5HXD4RlpHfhsJKqAykd8BhW20VeS30eA8Lxv57XnAxttDfhsP0NPykd/6g0V+V5BR175uuXrpKpkyaTxXflfAzdKhhfK78emnZMR3VsctFG57sucjH5f+F7c96Xr3e6X3mGMttUqtxgggv40FFmC5yO8AQ1feMvJbeUCUJ8hvFoFGAshvjalQU5YA8pu1oJEA8ltjKgfXhPwuM6Nou5Nbvrn2kD2/t3d2lzkDh1kgEL2Yjmhrkl17BvdVbv6ve6TjPe8sWfru29dI99nnlDyOAyBQLYHoBTXa87trf2+1UzAOAqkSGNfRIjt3d0v/QKqnYXIIlE0gkt9jRjTLjt28VysbGgfWlMCI1iYZGBiQru6+mp6Xk0GgGIGOEc2yr7tXenrr8IIenTJDPhAYnkBjQ0Y62pvlhT28trNO9BBobWqQ5uYG2d2V3mf18R2D9x3kUR0B5HeF3Aq3PdnHm9UKCeo+vCGTkUiAd/f2x4U23HOPtLzzrJJFd6/5jvSf866Sx3EABKolEK3L6NHbV4cPIlUU3dc/INGbUx7hEGhtbpT9PQiccBK30Wlrc4Ps7xl8Tdfy4PlRSxL1ryN6bY9e1fuMvLbXnxgV1IJA9Juw0fvN/oHav+fk+bEWCds+RyYj0tzUIN3KXtttU6V6VwLRBRfRZ9+eFz2S63xDjW+LLobjUTUB5HeF6J7asFGW3rxaFl8xV8aN6eCGlxXy03544bYnzY8+LGOuuXKw7J4eaXlwXa6F7tecJtLaGn+/a9HV0j3j9drboz7DBNj2xHB4gZTOtieBBG2oTbY9MRRWoKWy7UmgwStvm21PlAcUeHlsexL4AlDaPtueKA0mryzkd4mMvvL1O+WM06fLtCOmxkdG259sfm47N7zUv7arqpAbXlaFjUE1IID8rgFkTuFEAPnthI/BKRBAfqcAlSkTJYD8ThQnkyVEAPmdEEimSYUA8jsVrEzqSAD57QiwBsPNye/oyut5l18vm7ZsOwTPiccfJcuXXBJfkZ3U46HHnpTZFy/JTXfWGTNy4jv6w43bupI6FfMoIID8VhACJQxJAPnNwtBOAPmtPaHw6kN+h5e5tY6R39YSC6Ne5HcYOVvtEvltNTm/60Z+68/XlPzu2tctVy9dJTOmnyCvesXRcvsdP5LL5p8v7W0t8RXZp7/2JDn15ONqSh35XVPcqZ8M+Z06Yk5QJQHkd5XgGFYzAsjvmqHmRGUSQH6XCYrD6kYA+V039Jy4CAHkN8tDMwHkt+Z0wq0N+a0/e1Pye8fOTln0uZVy2UfPj8nm770dXaH97TvvO+iq7FrgR37XgnLtzlFMfteuCs4EgUMJIL9ZFdoJIL+1JxRefcjv8DK31jHy21piYdSL/A4jZ6tdIr+tJud33chv/fmald/jx3bI4i/cLos+eWG8zUnhjShrhR75XSvStTkP8rs2nDlL5QSQ35UzY0RtCSC/a8ubs5UmgPwuzYgj6ksA+V1f/px9aALIb1aGZgLIb83phFsb8lt/9qbkd/62J+ee+cZ4q5MjD58i0dd3rL1f1j3yOFd+619zqitEfquOJ+jikN9Bx2+ieeS3iZiCKhL5HVTcJptFfpuMzfuikd/eR2y6QeS36fi8LR75rT9aU/K7EGe0Dcr8hTfI+ieelsMmT5AV1y2QaUdMrSl1rvyuKe7UT4b8Th0xJ6iSAPK7SnAMqxkB5HfNUHOiMgkgv8sExWF1I4D8rht6TlyEAPKb5aGZAPJbczrh1ob81p+9afmtAS/yW0MKydWA/E6OJTMlSwD5nSxPZkueAPI7eabM6EYA+e3Gj9HpE0B+p8+YM1ROAPldOTNG1I4A8rt2rDlT+QSQ3+WzqteRpuR3/g0vC6/w5oaX9VpCfp0X+e1Xnj51g/z2KU0/e0F++5mr5a6Q35bTC6N25HcYOVvrEvltLbGw6kV+h5W3lW6R3/qT8kZ+c8NL/YvNQoXIbwsphVkj8jvM3C11jfy2lFYYtSK/w8jZcpfIb8vp+Vs78tvfbH3oDPntQ4r+9YD81p+pN/KbG17qX2wWKkR+W0gpzBqR32Hmbqlr5LeltMKoFfkdRs6Wu0R+W07P39qR3/5m60NnyG8fUvSvB+S3/kxNyO/oqu55l18vm7ZsG5YoN7zUv9gsVIj8tpBSmDUiv8PM3VLXyG9LaYVRK/I7jJwtd4n8tpyev7Ujv/3N1ofOkN8+pOhfD8hv/ZmakN9ZjMX2/K4Xam54WS/y6ZwX+Z0OV2Z1J4D8dmfIDOkSQH6ny5fZKyeA/K6cGSNqSwD5XVvenK08Asjv8jhxVH0IIL/rw52zFieA/Na/QkzJb404kd8aU6m+JuR39ewYmS4B5He6fJndnQDy250hMyRLAPmdLE9mS54A8jt5pszoTgD57c6QGdIjgPxOjy0zV08A+V09u1qNRH47kkZ+OwJUNhz5rSwQyskRQH6zGLQTQH5rTyi8+pDf4WVurWPkt7XEwqgX+R1Gzla7RH5bTc7vupHf+vNVL7+jrU7mL7xB1j/xdEmaJx5/lCxfcomMG9NR8tikDkB+J0VSxzzIbx05UMWhBJDfrArtBJDf2hMKrz7kd3iZW+sY+W0tsTDqRX6HkbPVLpHfVpPzu27kt/581ctv7QiR39oTqqw+5HdlvDi6dgSQ37VjzZmqI4D8ro4bo9IjgPxOjy0zJ0MA+Z0MR2ZJlgDyO1mezJYsAeR3sjyZLRkCyO9kOKY5C/LbkS7y2xGgsuHIb2WBUE6OAPKbxaCdAPJbe0Lh1Yf8Di9zax0jv60lFka9yO8wcrbaJfLbanJ+14381p8v8tsxI+S3I0Blw5HfygKhHOQ3a8AMAeS3maiCKRT5HUzUZhtFfpuNzuvCkd9ex2u+OeS3+Qi9bAD5rT9Wc/K7a1+3XL10ldx17zo5bPIEWXHdApk6eWL8ZzOmnyDnnvnGmlJHftcUd+onQ36njpgTVEmAK7+rBMewmhFAftcMNScqkwDyu0xQHFY3AsjvuqHnxEUIIL9ZHpoJIL81pxNubchv/dmbk9/LVqyRIw+fIm9/8wxZuny1XHjuW2TaEVPloceelG/feZ9cc9kcaW9rqRl55HfNUNfkRMjvmmDmJFUQQH5XAY0hNSWA/K4pbk5WBgHkdxmQOKSuBJDfdcXPyYchgPxmaWgmgPzWnE64tSG/9WdvSn7v2Nkpiz63Ui776Pnx1d758vupDRtl6c2rZfEVc2XcmI6akUd+1wx1TU6E/K4JZk5SBQHkdxXQGFJTAsjvmuLmZGUQQH6XAYlD6koA+V1X/Jwc+c0aMEgA+W0wtABKRn7rD9kb+c2V3/oXm4UKkd8WUgqzRuR3mLlb6hr5bSmtMGpFfoeRs+Uukd+W0/O3dq789jdbHzpDfvuQon89IL/1Z2pKfkc471h7v6x75HFZ9MkL5aZV3423PRk/tkPmL7xBZp09kz2/9a851RUiv1XHE3RxyO+g4zfRPPLbRExBFYn8Dipuk80iv03G5n3RyG/vIzbdIPLbdHzeFo/81h+tOfkdIY2u8p598ZKD6N5640I59eTjak6cbU9qjjzVEyK/U8XL5A4EkN8O8BhaEwLI75pg5iQVEEB+VwCLQ+tCAPldF+yctAQB5DdLRDMB5LfmdMKtDfmtP3uT8lsTVuS3pjTca0F+uzNkhnQIIL/T4cqsyRFAfifHkpmSIYD8ToYjs6RHAPmdHltmrp4A8rt6doxMnwDyO33GnKFyAsjvypnVegTy25E48tsRoLLhyG9lgVBOjgDym8WgnQDyW3tC4dWH/A4vc2sdI7+tJRZGvcjvMHK22iXy22pyfteN/Nafr3r5vWNnZ7yf9/onni5J88Tjj5LlSy6RcWM6Sh6b1AHI76RI6pgH+a0jB6o4lADym1WhnQDyW3tC4dWH/A4vc2sdI7+tJRZGvcjvMHK22iXy22pyfteN/Nafr3r5XYhw2Yo1cuThUw66sWXXvm65eukqOe/smTXf9xv5rX+RV1Ih8rsSWhxbSwLI71rS5lzVEEB+V0ONMWkSQH6nSZe5kyCA/E6CInMkTQD5nTRR5kuSAPI7SZrMlRQB5HdSJNObx5T8jq4CX/S5lXLZR8+XaUdMPYhKdBPMb995n1xz2Rxpb2tJj1jBzMjvmqGuyYmQ3zXBzEmqIID8rgIaQ2pKAPldU9ycrAwCyO8yIHFIXQkgv+uKn5MPQwD5zdLQTAD5rTmdcGtDfuvP3hv5/dSGjbL05tWy+Iq5bHuif92prRD5rTaa4AtDfge/BNQDQH6rjyi4ApHfwUVurmHkt7nIgigY+R1EzGabRH6bjc7rwpHf+uM1Jb+z25vMmH7CQdueRJijK7+vX7Em8T2/o3lnX7wkl+RZZ8w46OpyrvzWv8grqRD5XQktjq0lAeR3LWlzrmoI5MvvkctvkjFX/WM8Tffr/kq23vlf1UzJGAg4ESiU32M/MU9GfPPf4jn3fGie7Pz8DU7zMxgCrgSQ364EGZ8GAeR3GlSZMykCScnvKX95uDRs3xaXtW3N92X/m9+aVInMEyAB5Lf+0E3J7whnJKMXLV4pK65bkNv6JHtTzFlnzzxEirtGcMfa++XwqZPivcSz8n3KpPFy6bxZ8dTIb1fCusYjv3XlQTUHCCC/WQ3aCSC/tScUXn3I7/Ayt9Yx8ttaYmHUi/wOI2erXSK/rSbnd93Ib/35mpPfEdKs7F7/xNM5wrfeuLAmN7uMZPi6Rx7PXf2N/Na/yCupEPldCS2OrSUB5HctaXOuagggv6uhxpg0CSC/06TL3EkQQH4nQZE5kiaA/E6aKPMlSQD5nSRN5kqKAPI7KZLpzWNSfqeHo/TMy1asiQ/iyu/SrCwegfy2mFoYNSO/w8jZcpeHLV8mPT+8J26hceOfpfGPgz+gHhg9RnpOPGnw67Z22fat71luk9oNEYjk9+QFH5Oe3/0+rrrpD7+Xhi2b46/7pxwmvdOOjr/uOe4EtkAxlKtPpSK/fUrTn16Q3/5k6WMn1crvhuefk/Ef/vsckpZfPCDS2xt/3/uKE6V/7Nj46z1//0Hpeu/5PqKjpxQJIL9ThJvQ1MjvCkAOta/4vu6+CmbgUO0EGjIiTY0N0t3br71U6guMQPRGL35z1jdgovP+gQFpyAzWzCMMAm1zLhK5/fbizY4YIft27AoDCF3WnUD0FNQ6/RSR9euL1tL/2hnSff9Pa1Zv/4BI9H6DBwSi95wiA2Ze20ksDALRxUC9/QPSHz1Z1fjB+8caAzd4uui1vbmpQbp7Kvu8ntmwQVr/clrJjns/81np/cdFJY/jAAjkE2hsyEh00UVPih6praUR6A4EkN9lwhtqr/Fo6LZd+8ucgcMsEIg+hIxoa5Rde3oslEuNARGIfposmYx07R+8QsHCI4P8thBTYjWOnz+nLPm9ffOOxM7JRBAoRiB6Dhr3+ukl5Xfvqa+VXffeXzOYAwMDwvNjzXCrPtGI1kaJ/CIX06iOKbjiOkY0y779vdJThwsuBqJ/EPxwMLg1V0nDkWTsaG+WF/Z0VzJMGv60QcadeGzJMXv/9zXStWDwpu08IFAugeiHhi3NDbK7K73P6tFv5fCongDyuwx2w4nvaCh7fpcB0NAhbHtiKKzASmXbk8ACN9julPvulr0PPirRdWItDz8orT/+r7iLvpcdLnv/7gPx1wPNzbL7kssNdkfJFgnE2558c5Xs3rAxLr/t7h9I8/pfxV/3nDJd9r31bYNrdOpLZe/7Z1tskZqNE2DbE+MBelo+2554GqwnbVW77Ulm104Z9eUv5iiMummZZLq64u+7zrtAel9+VPz1/tNnSvfr/soTWrRRKwJse1Ir0tWfB/ldgt1QW53kD0F+V7/4NI5EfmtMhZoiAshv1oF2AtzwUntC4dXHDS/Dy9xax8hva4mFUS/yO4ycrXZZrfwu7HfKXx4uDdu3xX+8bc33Zf+b32oVCXUrIID8VhBCiRKQ3yUARTe4vOWbaw866rDJE2TFdQtk2hFTufJb/xqvqELkd0W4OLiGBJDfNYTNqaoigPyuChuDUiSA/E4RLlMnQgD5nQhGJkmYAPI7YaBMlygB5HeiOJksIQLI74RApjgN8tsRLld+OwJUNhz5rSwQyskRQH6zGLQTyJffzQ8/KG1DbHuivQfq84tAofzO3/ak+5Tpsv/FbU/86ppuLBFAfltKK5xakd/hZG2x06Tkd/62J3vPu0D6Xtz2xCITaq4/AeR3/TMoVQHyuxShEn+P/HYEqGw48ltZIJSD/GYNmCGQL7/NFE2hXhMolN9eN0tzJgkgv03G5n3RyG/vIzbdYFLy2zQEildHAPmtLpJDCkJ+O2aE/HYEqGw48ltZIJSD/GYNmCGA/DYTVTCFIr+Didpso8hvs9F5XTjy2+t4zTeH/DYfoZcNIL/1x4r8dswI+e0IUNlw5LeyQCgH+c0aMEMA+W0mqmAKRX4HE7XZRpHfZqPzunDkt9fxmm8O+W0+Qi8bQH7rjxX57ZgR8tsRoLLhyG9lgVAO8ps1YIYA8ttMVMEUivwOJmqzjSK/zUbndeHIb6/jNd8c8tt8hF42gPzWHyvy2zEj5LcjQGXDkd/KAqEc5DdrwAwB5LeZqIIpFPkdTNRmG0V+m43O68KR317Ha7455Lf5CL1sAPmtP1bkt2NGyG9HgMqGI7+VBUI5yG/WgBkCyG8zUQVTKPI7mKjNNor8Nhud14Ujv72O13xzyG/zEXrZAPJbf6zIb8eMkN+OAJUNR34rC4RykN+sATMEkN9mogqmUOR3MFGbbRT5bTY6rwtHfnsdr/nmkN/mI/SyAeS3/liR344ZIb8dASobjvxWFgjlIL9ZA2YIIL/NRBVMocjvYKI22yjy22x0XheO/PY6XvPNIb/NR+hlA8hv/bEivx0zQn47AlQ2HPmtLBDKQX6zBswQQH6biSqYQpHfwURttlHkt9novC4c+e11vOabQ36bj9DLBpDf+mNFfjtmhPx2BKhsOPJbWSCUg/xmDZghgPw2E1UwhSK/g4nabKPIb7PReV048tvreM03h/w2H6GXDSC/9ceK/HbMCPntCFDZcOS3skAoB/nNGjBDAPltJqpgCkV+BxO12UaR32aj87pw5LfX8ZpvDvltPkIvG0B+648V+e2YEfLbEaCy4chvZYFQDvKbNWCGAPLbTFTBFIr8DiZqs40iv81G53XhyG+v4zXfHPLbfIReNoD81h8r8tsxI+S3I0Blw5HfygKhHOQ3a8AMAeS3maiCKRT5HUzUZhtFfpuNzuvCkd9ex2u+OeS3+Qi9bAD5rT9W5LdjRshvR4DKhiO/lQVCOchv1oAZAshvM1EFUyjyO5iozTaK/DYbndeFI7+9jtd8c8hv8xF62QDyW3+syG/HjJDfjgCVDUd+KwuEcpDfrAEzBJDfZqIKplDkdzBRm20U+W02Oq8LR357Ha/55pDf5iP0sgHkt/5Ykd+OGSG/HQEqG478VhYI5SC/WQNmCCC/zUQVTKHI72CiNtso8ttsdF4Xjvz2Ol7zzSG/zUfoZQPIb/2xIr8dM0J+OwJUNhz5rSwQykF+swbMEEB+m4kqmEKR38FEbbZR5LfZ6LwuHPntdbzmm0N+m4/QywaQ3/pjRX47ZoT8dgSobDjyW1kglIP8Zg2YIYD8NhNVMIUiv4OJ2myjyG+z0XldOPLb63jNN4f8Nh+hlw0gv/XHivx2zAj57QhQ2XDkt7JAKAf5zRowQwD5bSaqYApFfgcTtdlGkd9mo/O6cOS31/Gabw75bT5CLxtAfuuPFfntmBHy2xGgsuHIb2WBUA7ymzVghgDy20xUwRSK/A4marONIr/NRud14chvr+M13xzy23yEXjaA/NYfK/LbMSPktyNAZcOR38oCoRzkN2vADAHkt5mogikU+R1M1GYbRX6bjc7rwpHfXsdrvjnkt/kIvWwA+a0/VuS3Y0bIb0eAyoYjv5UFQjnIb9aAGQLIbzNRBVMo8juYqM02ivw2G53XhSO/vY7XfHPIb/MRetkA8lt/rMhvx4yQ344AlQ1HfisLhHKQ36wBMwSQ32aiCqZQ5HcwUZttFPltNjqvC0d+ex2v+eaQ3+Yj9LIB5Lf+WJHfjhkhvx0BKhuO/FYWCOUgv1kDZgggv81EFUyhyO9gojbbKPLbbHReF4789jpe880hv81H6GUDyG/9sSK/HTNCfjsCVDYc+a0sEMpBfrMGzBBAfpuJKphCkd/BRG22UeS32ei8Lhz57XW85ptDfpuP0MsGkN/6Y0V+O2aE/HYEqGw48ltZIJSD/GYNmCGA/DYTVTCFIr+Didpso8hvs9F5XTjy2+t4zTeH/DYfoZcNIL/1x4r8dswI+e0IUNlw5LeyQCgH+c0aMEMA+W0mqmAKRX4HE7XZRpHfZqPzunDkt9fxmm8O+W0+Qi8bQH7rjxX57ZgR8tsRoLLhxeR3x3XX5qrd84E50j/lMGXV16aczK6dMurLX8ydbPfHL5GBESNqc/KAz9LR3iSSyUjn3p6AKdC6ZgLIb83phFkb8jvM3NPuetSyz0umt1cynZ3SsGO7ND27QQYkI/v/5m2y+2MXV3T6msjvri7puGnZgfdt8z4mA2PGVlRniAc3bN4kI7+2Ktd65+VXpoKh9b57peXBdfHcPcedIPve+e5UzhNN2vF/Fov098fz73n/bOmf+tIhz4X8Ti2CYCdu/dE90vLow4Pr/JUnyb4zz66aRRryu3HDMzLiW7fHNQ20tsruT3266vrSHMjn8DTpus2N/HbjV4vRyO8yKT+1YaMsvXm1LL5irowb05EbhfwuE6CRw4rJ76kTDwje53/0U+k5+dVGukq2zMZn/ySTTzkuN+nm3/5J+idMTPYkzHYIAeQ3i0I7AeS39oTCqw/5HV7mtej4sMMnSKar65BT9U+aLJsf/2NFJdRCfmd2bJfDjnlZrq4tjzwufUccWVGdIR7c/Nij8pK3vOHAZ76te1PBMPrqK2TUl26M5+5693tlx8qvpXKeaNKpU0aL9PbG8z//w/uk5zWnDXku5HdqEQQ78ZhFC2TkyuVx/3vfd6G88KWVVbNIQ3633v8TmXDuWXFNA6PHyKanN1VdX5oD+RyeJl23uZHfbvxqMRr5XYLyjp2dMn/hDbL+iaflxOOPkuVLLkF+12Jl1ukcyO/S4HnRLc0ojSOQ32lQZc4kCSC/k6TJXEkQQH4nQZE5Cgkgv8NYE8jvHtnfM3iVOA8IuBJAfrsSHBzP5/BkOKYxC/I7DarJzon8LpMnV36XCcr4YfnyO7O7U5p/9ctcRxPPeVvu6xeWfVF6px0df9877Rjvt0Bp2LZVmp58fPBF9/nnZdyH/z7HYvu/rZH+0aPj73tecaIMjB1nfBXoLB/5rTMXqjpAAPnNatBGAPmtLRGb9WT27pXmXw7+un7D9m0yfu5skd5DtyCLtoDbdcU/Db4fOvoY6T59pkhra9Gm07ryO/PCDmn+f+sHa969W8Zf+N5cHTu+cpv0TZ48+B722OOlf+JLbAaTQtXRVidNT/0+nrnpD7+XsQs+kTvL1u//MPd1z6teLQOjRlVdQdNvfi0NO1+Ix4+87RZpv+Pb8dfdb/hr2XXZovjrgbZ26Zl+atXniAZm9uyR5sceyc0x8T3vyF35vfO6G6Xn2MHf5Cz8LMOV307YGfwigeZfPyaZzl3xd6NWLpe2H3w//nr/m98qnZ9aMLjOR4yUnlOmV8QsqSu/G//8P9L4zNPxuZt//SsZc9U/DtY0cqRs+8a/52rqnn6aSFtbRTUmeTCfw5Okmd5cyO/02CY1M/K7TJLDye/NOw79tccyp+SwogQydeHT0piRUSOaZXtntzT/8hGZcMaBX3ccrqCdN3xRui76UF3qreSkLkRb7/yejL3ogpKn2/Ht/5DuM95a8jgOqJzAyLbGeM/vPV2Dv66q/zEQfezSXyYVJkbgJWPbZNvOfdIfRc8DAgoIRPJ7QkeLPL9zv4Jq8kuInhv5h6IslGHLafztkzLxdadUXO7z638v/S89sN3IUBN0tDdL/8CA7Kw4IUUAACAASURBVNmX7Gt7y49/JOPeW3pP3Re+ervsP+fcinvzdUD7rf8qoy89ILyH63Pbj38mvQ7bH447523S8n//uyjGvpcfJVsf+X9OqCPJPuGNry05R+d1N8jeD38kd9y4jpZ4TXbX5cpv3j+WDMzIAeP/dqY0P/SLotX2HneCbPv5gR/QlNNaY4PI2FGtsm2X22v7yC8sk1H/VHov/+jfYfTvsfBRq1fxtjI/h2/34nN4raiWs9IqO6atuVFaWxpl557uygZWcPSUce0VHM2hhQSQ32WuieHkd1+f3X+gZbZep8PqxDWTkYZMdC+YAZGHH5bGGaXfMPYv/7IMzJ1bJ07ln9aFaOa7d0jjeeeVPFnf2rUy8Dd/W/I4DqicQENmUCRHH5ItPPr6B6QpenfKIxgCjQ0ZiXLnAQFNBDSuy96+6PmRHw5qWidFa3niCWl85SsqLrdvw59EXlZcfr/40i5Jv7Rn/vM/peHtB35jcbji+7+1Rgbee+Cq8Iqb9GxA5isrpGH+/JJd9T34kMj0yq5WzZ+04S1nSOYnPyl+nmnTpO93g1ehV/341a+k8dWlf3DTf9NNMvDRj+VOE73nHBgYqMuP6Hp7+6WR58eqI9c0sPH0N0jmgQeKl/SKV0jvr35dUdmZFz+vu77nbFi6VBoWLSx57t7f/k5k2rRDjqvVq3j0ObyhjM/h/V58Dq8V1ZKxV3xA9Hoe/ffiPYUrHl/OAJ4by6E0/DHI7zL5se1JmaCMH5a/7UnhXn/DtfbC9TfJXgNXfrtEE/2a2vjZpa/83rbm+/GvsvFIngDbniTPlBmTJcC2J8nyZDZ3Amx74s6QGUSafvekTHp95Tc53/zr30v/1JcWRZjWtietP/mRTDjvnSXj277qdtn3zneXPC6UA0bcdstBW50M17frje8nvuvt0vLT0ld+b3noN07ooyu/J82cUXKOnZ+/QfZ8aF7uOLY9KYmMA8ogMPHtb5KWMq78fu6ng9tKlftIatuTUTctk9HX/K+Sp43+HQ515XfJgQkdwOfwhECmPA3bnqQMOIHpkd9lQkR+lwnK+GHc8LJ0gNxoozSjNI5AfqdBlTmTJID8TpImcyVBAPmdBEXmKCTADS/DWBPc8JIbXoax0mvTJTe8TIYzn8OT4ZjGLMjvNKgmOyfyu0yeyO8yQRk/DPldOkBedEszSuMI5HcaVJkzSQLI7yRpMlcSBJDfSVBkDuR3mGsA+Y38DnPlp9M18jsZrnwOT4ZjGrMgv9OgmuycyO8SPHfs7JT5C2+Q9U8M3gk4enzogjPl0nmz4q83buOGl8kuyfrOhvwuzZ8X3dKM0jgC+Z0GVeZMkgDyO0mazJUEAeR3EhSZA/kd5hpAfiO/w1z56XSN/E6GK5/Dk+GYxizI7zSoJjsn8tuRJ/LbEaCy4cXkd8vP7s9V2/OqV8vAqFHKqq9ROfv3S8vDB+7c3X3a60Sam2t08nBPg/wON3srnSO/rSQVTp3I73CyrmWnLQ/8TKS/TzJdeyWza5c0PvecSEak55TXSPdppfdXzq81rT2/D+LR2ystv/h57o+6p58m0tZWS2Qmz5XZ3SnNv/rlAW5/9cZU+mh85o/S+Odn47n7J75Eeo89PpXzRJO2/PynIgP98fw9J50sAx2jhzwXe36nFkGwEzc+/ZQ0bvrz4DqfNFl6jzm2ahZJ7fmdX0Bm5wvS/JsXb7zZ2CTdM15fdX2pDuRzeKp4XSZHfrvQq81Y5LcjZ+S3I0Blw4vJb2WlUk5gBJDfgQVusF3kt8HQPC8Z+e15wB60VxP57QEnWqgtAeR3bXlztsoIpCG/K6uAoyFwKAHkt/5Vgfx2zAj57QhQ2XDkt7JAKCdHAPnNYtBOAPmtPaHw6kN+h5e5tY6R39YSC6Ne5HcYOVvtEvltNTm/60Z+688X+e2YEfLbEaCy4chvZYFQDvKbNWCGAPLbTFTBFIr8DiZqs40iv81G53XhyG+v4zXfHPLbfIReNoD81h8r8tsxI+S3I0Blw5HfygKhHOQ3a8AMAeS3maiCKRT5HUzUZhtFfpuNzuvCkd9ex2u+OeS3+Qi9bAD5rT9W5LdjRshvR4DKhiO/lQVCOchv1oAZAshvM1EFUyjyO5iozTaK/DYbndeFI7+9jtd8c8hv8xF62QDyW3+syG/HjJDfjgCVDUd+KwuEcpDfrAEzBJDfZqIKplDkdzBRm20U+W02Oq8LR357Ha/55pDf5iP0sgHkt/5Ykd+OGSG/HQEqG478VhYI5SC/WQNmCCC/zUQVTKHI72CiNtso8ttsdF4Xjvz2Ol7zzSG/zUfoZQPIb/2xIr8dM0J+OwJUNhz5rSwQykF+swbMEEB+m4kqmEKR38FEbbZR5LfZ6LwuHPntdbzmm0N+m4/QywaQ3/pjRX47ZoT8dgSobDjyW1kglIP8Zg2YIYD8NhNVMIUiv4OJ2myjyG+z0XldOPLb63jNN4f8Nh+hlw0gv/XHivx2zAj57QhQ2XDkt7JAKAf5zRowQwD5bSaqYApFfgcTtdlGkd9mo/O6cOS31/Gabw75bT5CLxtAfuuPFfntmBHy2xGgsuHIb2WBUA7ymzVghgDy20xUwRSK/A4marONIr/NRud14chvr+M13xzy23yEXjaA/NYfK/LbMSPktyNAZcOR38oCoRzkN2vADAHkt5mogikU+R1M1GYbRX6bjc7rwpHfXsdrvjnkt/kIvWwA+a0/VuS3Y0bIb0eAyoYjv5UFQjnIb9aAGQLIbzNRBVMo8juYqM02ivw2G53XhSO/vY7XfHPIb/MRetkA8lt/rMhvx4yQ344AlQ1HfisLhHKQ36wBMwSQ32aiCqZQ5HcwUZttFPltNjqvC0d+ex2v+eaQ3+Yj9LIB5Lf+WJHfjhkhvx0BKhuO/FYWCOUgv1kDZgggv81EFUyhyO9gojbbKPLbbHReF4789jpe880hv81H6GUDyG/9sSK/HTNCfjsCVDYc+a0sEMpBfrMGzBBAfpuJKphCkd/BRG22UeS32ei8Lhz57XW85ptDfpuP0MsGkN/6Y0V+O2aE/HYEqGw48ltZIJSD/GYNmCGA/DYTVTCFIr+Didpso8hvs9F5XTjy2+t4zTeH/DYfoZcNIL/1x4r8dswI+e0IUNlw5LeyQCgH+c0aMEMA+W0mqmAKRX4HE7XZRpHfZqPzunDkt9fxmm8O+W0+Qi8bQH7rjxX57ZgR8tsRoLLhyG9lgVAO8ps1YIYA8ttMVMEUivwOJmqzjSK/zUbndeHIb6/jNd8c8tt8hF42gPzWHyvy2zEj5LcjQGXDkd/KAqEc5DdrwAwB5LeZqIIpFPkdTNRmG0V+m43O68KR317Ha7455Lf5CL1sAPmtP1bkt2NGyG9HgMqGI7+VBUI5yG/WgBkCyG8zUQVTKPI7mKjNNor8Nhud14Ujv72O13xzyG/zEXrZAPJbf6zIb8eMkN+OAJUNR34rC4RykN+sATMEkN9mogqmUOR3MFGbbRT5bTY6rwtHfnsdr/nmkN/mI/SyAeS3/liR344ZIb8dASobjvxWFgjlIL9ZA2YIIL/NRBVMocjvYKI22yjy22x0XheO/PY6XvPNIb/NR+hlA8hv/bEivx0zQn47AlQ2HPmtLBDKQX6zBswQQH6biSqYQpHfwURttlHkt9novC4c+e11vOabQ36bj9DLBpDf+mNFfjtmhPx2BKhsOPJbWSCUg/xmDZghgPw2E1UwhSK/g4nabKPIb7PReV048tvreM03h/w2H6GXDSC/9ceK/HbMCPntCFDZcOS3skAoB/nNGjBDAPltJqpgCkV+BxO12UaR32aj87pw5LfX8ZpvDvltPkIvG0B+648V+e2YEfLbEaCy4chvZYFQDvKbNWCGAPLbTFTBFIr8DiZqs40iv81G53XhyG+v4zXfHPLbfIReNoD81h8r8ruMjO5Ye79cdd2q+Mizzpgh11w2R9rbWuLvkd8FALu6ZOL578r94fblq6R/6kvLoKzjEG3yu2PJZ6X1gZ/GcPaed4Hsff/sQ0CN+LevyojvrI7/fP/r3iCdC69KHWbTH34nYxd8Ineerd+/J/VzhnCCief8ba7NHcu+JH3Tjs5939HeJJLJSOfenhBQ0KNBAshvg6Hlldx213/IqK98Kf6TnuNOkJ2fv8F2QyKC/DYfofcNpCW/R199hbQ89kjMb88H5kjXe96XY9l2z1oZdfO/xN/3TjtGXlj2RfWcR3zjazLiW7cPvtd97eul6dk/SePG/4m/3/3+2TLq67ceeE96x1qRxkb1PWkuEPmtOR1qQ377uQYaNv5Zxs+fc+C5fPX3RNrbzTSL/NYfFfK7REYPPfakXL9ijSxfcomMG9Mhy1asiUdcOm9W/H/k98EAM7s75bAjJ+f+8Ll1v5Leo4/R/y/hxQq1ye/xH3iftK29c/DN/SWXy64r/+kQlqP/+WoZdePS+M/3nfVO2X7boAhP89H82KPykre8IXeKjVv3pnm6YOaeOnFErtfnf/RT6Tn51bnvkd/BLAOzjSK/zUYXFz7yX78sYxZeGn/d/ZrTZOsP77PdEPLbfH4hNJCW/J7wnndI63//OEa466rPyO5PfTqHc8Rtt+QuYOh51Sny/L0/U4+6Y/FnpOP6JYPvdd/+Dmn63ZPS9NQfBvv7X5+R0f/8vw+8J920U6S5WX1PmgtEfmtOh9qQ336ugejiukkzTs41t+mZ52Rg1CgzzSK/9UeF/C6RUSS7jzx8ipx75hvjIwtlOPL7YIDI72T/0SO/k+WpfTbkt/aEqK8YAeS37fWB/LadH9XbJID8Li835Hd5nJI6CvmdFEnmSYMA8jsNqvWfE/ldOoOpE+xcCV+6m9ofgfwuwrxrX7dcvXSVzJh+Qk5+P7Vho1y5eKVcu2iuTDtiKld+i0jjnzbIiNVfj0lmurtzVyFH3+/58Eekf/yE+O+6zn6X9B7/itqv8grOqOHK75HLb5KGzl1x1e3f/Y40/f638dfdr/sr2X/6zPjrhue2SP+kwSvsW+//ibSs+3n8de8xx0rXu98bf90/eozs+cjHK+i++KHR1d5t/3l3fFDj5k0y4muDWwFFj87Lr8x9Hf16bf+UwxI7r88TNWzeJCPzOHZcd22u3b0fmCN9L3Lc9zdvl7bXnca2Jz4vBg96Q37bC7Ht7h9I8/pfxYW3PPqwtP5ocAurvqkvPbDNVkODdH56kb3muPLbZGahFZ2k/B71hesls29fjHDEmm9I4zN/jL/e/8Y3Sf/El0jjlk3SN+ElktnXlXs/1z95iuy56ENDvp+rdxbt31ktTU8/FZfRev990rJu8Ar16HNFZvduyXTvH3y+OuJIadzwzIEeouerhob4+z3vn21q+8V6M8+eH/mtJQnqGIoA8tufddH0+G+k/Qffjxtq2L4t/i3E7GP3xZfJQMvgVsN7z3+/9P3FEaob58pv1fHExSG/i2SUld/nnT1TTj35uPjIQvmtP+IaVHjffSJvelPpE33jGyIXXFD6uNCP+Iu/EHn22eIUJkwQ2bat+DHRPBs2JEdzxQqRj3yk9HwPPywyfXrp4zhCJGJ16qmlSUTs/+EfSh/HERCAAAQqIfDBD4rcemCv3CGHRtsHdHdXMivHQgAC9SAwbpzICy+4nXlgwG18kqPPPFPk7sGLLqp+PPCAyIwZVQ9nIAQgAAEIpEgg8kMXXlj6BD/5icjMwYsAeUCgWgLI7yLkyrnyu1rwXo1DficbJ/I7WZ6aZ0N+a06H2iDgPwHkt/8Z02E4BJDfh2aN/A5n/dMpBCBgjwDy215mhitGfpcIjz2/S69utj0pzaiSI9j2pBJato9l2xPb+VH9wQTY9sTeimDbE3uZUbFfBNj2ZPg82fakfmudbU/qx54zlybAtielGVk5gm1PKkuKPb8r41V4NPK7BL/CG1xGMjx6XDpvVvx/bnh5MEBueOn2D7JwNDe8TJan9tm44aX2hKivGAHkt+31wQ0vbedH9TYJJCm/8wlMeM87pPW/fxz/0a6rPiO7P/Xp3F+PuO0WGbvgE/H3Pa86RZ6/d3Avbc0PbnhZ23SQ37XlzdkqI4D8royXlaO54WXppJDfpRkVOwL5XQa/O9beL1ddN3hzv7POmCHXXDZH2tsGN99Hfh8MEPldxoKq4BDkdwWwPDgU+e1BiAG3gPy2HT7y23Z+VG+TAPK7vNyQ3+VxSuoo5HdSJJknDQLI7zSo1n9O5HfpDJDfpRkhv90YFR2N/C7A09UlE89/V+4Pty9fZeou6y1NDTJ6ZLNs3Tl4B/l6PzqWfFZaH/hpXMbe8y6Qve+ffUhJI/7tqzLiO6vjP9//ujdI58KrUi87enHKXjUUnWzr9+9J/ZwhnGDiOX+ba3PHsi9J37Sjc993tDeJZDLSubcnBBT0aJAA8ttgaHklt931HzLqK1+K/6TnuBNk5+dvsN2QiDQ0ZGTSmFbZvGOf+V5owE8Cacnv0VdfIS2PPRJD2/OBOdL1nvflALbds1ZG3fwv8fe9046RF5Z9UT3cEd/4moz41u2D73Vf+3ppevZP0rjxf+Lvd79/toz6+oEb9269Y61IY6P6njQXiPzWnA61Ib/9XAMNG/8s4+fPyTW3dfX3RNrbzTTb3tIoba2NsqMzvZvEI7/dlgNXfrvx48pvR37ahmuT39r4UE/9CCC/68eeM5dHAPldHieOqh0B5HftWHOm6gikJb+rq4ZREBgkgPxmJWgmgPzWnE64tSG/9WeP/HbMiCu/HQEqG478VhYI5eQIIL9ZDNoJIL+1JxRefcjv8DK31jHy21piYdSL/A4jZ6tdIr+tJud33chv/fkivx0zQn47AlQ2HPmtLBDKQX6zBswQQH6biSqYQpHfwURttlHkt9novC4c+e11vOabQ36bj9DLBpDf+mNFfjtmhPx2BKhsOPJbWSCUg/xmDZghgPw2E1UwhSK/g4nabKPIb7PReV048tvreM03h/w2H6GXDSC/9ceK/HbMCPntCFDZcOS3skAoB/nNGjBDAPltJqpgCkV+BxO12UaR32aj87pw5LfX8ZpvDvltPkIvG0B+648V+e2YEfLbEaCy4chvZYFQDvKbNWCGAPLbTFTBFIr8DiZqs40iv81G53XhyG+v4zXfHPLbfIReNoD81h8r8tsxI+S3I0Blw5HfygKhHOQ3a8AMAeS3maiCKRT5HUzUZhtFfpuNzuvCkd9ex2u+OeS3+Qi9bAD5rT9W5LdjRshvR4DKhiO/lQVCOchv1oAZAshvM1EFUyjyO5iozTaK/DYbndeFI7+9jtd8c8hv8xF62QDyW3+syG/HjJDfjgCVDUd+KwuEcpDfrAEzBJDfZqIKplDkdzBRm20U+W02Oq8LR357Ha/55pDf5iP0sgHkt/5Ykd+OGSG/HQEqG478VhYI5SC/WQNmCCC/zUQVTKHI72CiNtso8ttsdF4Xjvz2Ol7zzSG/zUfoZQPIb/2xIr8dM0J+OwJUNhz5rSwQykF+swbMEEB+m4kqmEKR38FEbbZR5LfZ6LwuHPntdbzmm0N+m4/QywaQ3/pjRX7rz4gKIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAoEICyO8KgXE4BCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI6CeA/NafERVCAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAhQSQ3xUC43AIQAAC9STQta9brl66SmZMP0HOPfON9SyFc0MAAhAwQ+Chx56U61eskeVLLpFxYzrM1E2hEIAABOpF4KkNG+XKxSvl2kVzZdoRU+tVBueFAAQgYIrAshVr4novnTfLVN2+F4v89j1hT/vLCsC77l0nh02eICuuW8CbMk+z9r2tSMjMvnhJ3OaHLjiz5Isk8tv3FZF+f9Ebslu+uTY+0a03LpRTTz4u/ZNyBggkSKCa9wDI7wQDCHCqSl+rA0REywYIVPr6j/w2EKriEqt5rVbcDqUFSiB6Hpx3+fWyacs2OeuMGXLNZXOkva2lKA3kt87FgvzWmQtVlUlgx85OWfS5lXLZR89HfpfJjMN0Erhj7f3yzLObkd864/GuquwHkvPOnon89i7dcBqq5D0A8jucdZFmp+W+VqdZA3NDwIVAJa//yG8X0ozNEqjktRpqENBKIHof+e0770N+aw2ojLqQ32VA4hC9BApfTKMPJVddtypXcP5VjdFP4Hbv3Se7d++VwivGo3nmL7xBFsyblRNB0fFHHj4l3loi+/frn3g6njv/p37ZN4bveOvrZfFNt8uJxx8lJx1/lLS1tuREJlfr6l1DWirL/0Bd+GEj/4PKK4876qBtTwp/ssxa05Ko7joKP/wWe46L1ua6Rx6XUaNGyLe+/+O4scLn1ujPsr/aV/jmMP9Ks/zf1Mme8x1veZ3cuuaH8bzvfcdfy9PPbDzojSVXT+heS/WsrvA9QOFayV+Lv3ny6dy2Jz/52S/jNZ1/9Q7rrJ5J2jl3ofwu9/mt8Iqx7PNqdg1Gr/tLb14ti6+YG2/Lk3+lWUQn/zfDCp+T/+7cM2T9E3886D0s0tLOmqp1pYWv/8XW4vYXOnPbnowf23HIZyXWWa3Ts3m+wtfqYs9vtfy8ftZbZsj6x5/mvYDNZVXzqvPfU+7bv7+oO8p/T8ln9ZpHNewJkd96sqCSKgjkv5hOnTxR/v2u/5b3nPXX8a+iRG/m1tx5X25/z+iJZ+2Pf5HbIiX/zV6pJ7DoyS56RNsDZIXNrLNnxmI8+wJ+5ptfm5M/hR9iuOKsinADG1Kt/GatBbZQEmq38MNvsee47A8Vs8K78PmsmHCMnlvX3rtOLjz3rXHl0bGbn9sef9DIPu/+xdRJuQ8eQ31AYr/RhEL3cJpq5XeEIv+3xhA4Hi6OlFrKf62O1l+5z29ROfn36yglv++570E5+uUvi3+rMfs+c/GiufH70MLn5GjuoaR89OfsN5rSQjA8bbXyO1qLrDPDwdex9MLX6mLPb7X8vM57zjouCoOnrlZ+81ldT9jIbz1ZUEkVBIr9GlXhh9lSgqbYld+FpeXPNdyH5vwrx/O/rqJNhgRAoFr5nRWK2d9SYK0FsFgSaLHUrz3nP8eVkjTFnlsL98TLF+dRG4XPu4UShy0GEgjb4ymqld/RlbX5a4t15vEiSbi1Ymul1PNb/utzqefV/LILf6OrcGx0bP6/hegKXbYETDh4j6Zzkd+sM48WQg1bKfZ5vfD5rdaf13kvUMOFYPxU1cpvPqvrCR75rScLKqmCQKlfo8r/FXvXF9P8X22NSs3+Cupw8jv7BHnJP5wn1yy7jX3Jq8g3pCEu8pu1FtJKSabXoeT3cM9xpSRNKfmdf6O4qPpoa6jlSy6JGxlKfmevkLj60ovkhq98W9iXPJnMfZzFRX6zznxcEen3VCi/K3l+q0R+598oLtvVZy+fE//G4VDyO//D9eFTJ5W9L2n6xDiDNgIu8pt1pi1NG/UUvlYXe36r9ed13gvYWEMaqnSR33xW15CgCPJbRw5UUSWB/BfTaIroTrzZXwtN8srv/F/Vj65kLOfK7+wL+87OPXLstMP51dMqMw5lmIv8Zq2FskqS67Pww2+x5zgX+R3ts7xo8crcdlOlrozMdhjV89unnpUxHSPLurFMcmSYyRIBF/mdlTisM0uJ17/W/Nfq6Pmskue3cuV3W2trvEXKlEnj4/eO5Vz5HZHJvu+Nvl7wkfdxM+P6LxeVFbjKb9aZylhVF1W4TWmx5zcX+V3N53XeC6heOqqKc5HffFbXESXyW0cOVFElgXyRkn9TlmhfusIPJcVeTKPT5+/FmN1f8aMXnRNfZZM/Nvvklf1QUmyv0KH2ZayyVYZ5TKDwg23hDVizV5ZFey4X3vAyi4W15vECSaG1Yj8cLHyOKyW/8/8++1wa/T/a1zv/JoPZrSay92KIjhnqyu/oz7NrPnulYwoImNIDAoX7z1eyFllnHiyAGrdQ+Fo91Por9vyWL7+HunfCg489Gf9WTFZ+z5h+wkE3Xc/ea2a4K7+z9f1p43O5+93UGBGnM0Cg8PW/2Fos/GwVtcc6MxCyshLz11ip57d6fF7nPaeyBaO0nKF8UPZ1upg74rO6nkCR33qyoJIyCWTF4Ponno5HZG/CFn2d/2v7Jx738vjvr100N75hUKlfzc+/8/RZZ8yQUaNGyCuPPfKgm1pu2rJNoq1UJo4bLaedcnx8RU4x+Z3/E8LCvW/LbJfDPCaQFdZRi9Gai2Rhdp3k/yr1+855s+zevTfe/mE4+c1a83ihJNRa4a+Z5ovl/Oe/wue4UvI7f95o7OxZb5NfP/5UvJ6jR/SDxbvuXRd//YbTTpTot2GKbXsSHVd4c5iEEDCNBwSKvQcothYLfxDDOvNgMdSoheFeqwufU0s9vxXekyP/PeuiT1woP31wvSy+Yq5EPyjMfw+QfU6e9c43Fd32JPs+OHsPkBrh4TQGCBR7/S/8/JS/FoeS36wzA4ErKLHYa3Wx57d6fF7nPaeCBaO0hPy1mt22MXqNzr6HjHYdiPxQoTsqXMfR8XxWr3/IyO/6Z0AFHhOInvhOf+1J/OqpxxlraY21piUJ6kiCQCSbokf0mzc8IJAWAdZZWmSZtx4EItm0+Au3y6JPXhgLdB4QSIMA6ywNqsxZTwK8F6gn/XDOzWf1+meN/K5/BlTgKQF+iuxpsArbYq0pDIWSqiZQuI9z1RMxEAJFCLDOWB6+ESi8Gadv/dGPDgKsMx05UEUyBHgvkAxHZilOgM/qOlYI8ltHDlQBAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACCRJAficIk6kgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEBABwHkt44cqAICEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQSJID8ThAmU0EAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgIAOAshvHTlQDSUkrAAAD55JREFUBQQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCCRIAPmdIEym0kVg2Yo1css31+aK+uzlc+TcM9+Y+z66u/P8hTfI+ieejv/s1hsXyqknHxd//dBjT8rsi5fkjj3rjBlyzWVzpL2tJf6zrn3dcvXSVXLXvevi7wvn1kWCaiAAAQiUT8Dl+S+6m/m8y6+XTVu2xSc88fijZPmSS2TcmI6DCuCu5+XnwZEQgIB+AoXvCwvfV0bf37H2frnqulVxM4XvK4u9Zy33eVU/JSqEAAQgcDCBND+v5z/n8nmdlQcBCCC/WQNeEog+hCy/7XvywfPfHkuX7AeHxYvmxoI7+yFlxvQTYiEe/f2Vi1fKtYvmyrQjpsYfUA6fOumgY6dMGi+XzpsV84peqKNH9H1Woi+YNysnz72ESlMQgEAQBFye/yJx/uzG53I/aIyeKzc/tz33w8P8HzoOJ8aDgEyTEICAVwSi57avrr5b5l/0rvhCiei5cNHilbLiugXx+8ro++tXrMn9MDD/fWSp96ylnle9AkkzEIBAMARKPfe5fF4vnJvP68EsKxqFwLAEkN8sjiAIDPXiufTm1bL4irmxHC/8+0IokQxa98jjscDZt3+/LPrcSrnso+fHH2gKZXgQQGkSAhAIhoDL81+h8MlC48rvYJYPjUIgSAKFoiWS3UcePiX3g8HhnhsjWKXekxYbGyRsmoYABLwgkOTn9exva2fBlHpe9QIgTUAAAkUJIL9ZIEEQKPwQMtQHh/yrcAqh5P9d4VXi0bH5cqjwxTYIwDQJAQh4S8Dl+W+450bkt7fLhcYgAAGRg36jcOrkifFWednfNowADfVeMguu1BWKvOdkiUEAAj4SSPLzeiGfwt8C95EfPUEAAsUJIL9ZIUEQKBTbkfz+9p33HbSP93Dyu1CUDyVt+CASxDKiSQgER8Dl+a+Y3EF+B7eUaBgCwRAovMIw+/15Z8/MbY9X7Pmx2MUYxcYFA5hGIQABLwkk+Xm98IeJ0T2+uEeXl8uGpiBQNgHkd9moONAqgcI9Z6M+yr3yu3DPxmgsV35bXQnUDQEIVELA5fmv1BU2yO9KkuBYCEDACoGs6M6/T8xQv24/nMQe6j1rtvdSz6tWGFEnBCAAgUICSX9eL5yfbU9YcxCAAPKbNeA1geE+RBSKl6FeEIcSPxGs6Fey2PPb62VDcxAInoDL8185ggb5HfwSAwAEvCMwlPjONlnOnt+Ib++WBA1BAAJlEEjj8/pQp41+U/uZZzfLpfNmlVEVh0AAAr4RQH77lij95AgU+7XRUnePLnUzofy5S+3NSCQQgAAELBFwef4r91fykd+WVgS1QgACpQiUuqqw8Hm18D0qW52UIszfQwACPhJI6/N69Pn8q6vvlvkXvUui+3FlP6/POntm7sbDPvKkJwhAYHgCyG9Wh5cEsi9w0f5e+Y+zzpiR2+e78Jhbb1yY24sxeiG+5ZtrDxp72OQJsuK6BTLtiKmS/ZBz173r4mPYQ8zLZURTEAiSgMvzX3RVzVXXrTqEW/b5dajn5g9dcCZX4QS50mgaAv4QyP7Gy6Yt2w5qKv/5Lf/5sdj70ewE2WPu/vG6os+r/lCkEwhAICQCaX9eL3w/y+f1kFYXvULgUALIb1YFBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIeEcA+e1dpDQEAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACyG/WAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCHhHAPntXaQ0BAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAshv1gAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQh4RwD57V2kNAQBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALIb9YABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIeEcA+e1dpDQEAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACyG/WAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCHhHAPntXaQ0BAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAshv1gAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQh4RwD57V2kNAQBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALIb9YABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIeEcA+e1dpDQEAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACyG/WAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCHhHAPntXaQ0BAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAshv1gAEIAABCEAAAhCAAARE5I6198u6Rx6Xay6bE/O4eukqmTH9BDn3zDfCBwIQgAAEIAABCEAAAhAwSAD5bTA0SoYABCAAAQhAAAI+EHjosSdl9sVLhmzl1hsXyqknH1dVm/kSu72tpew5LMjvpzZslHmXXy+btmw7qK8PXXCmXDpvVtm9Rgfu2Nkp8xfeIAvmzaqadUUn5GAIQAACEIAABCAAAQjUmADyu8bAOR0EIAABCEAAAhCAwCCBSH4vWrxSVly3QKYdMTUxLCHI78WL5uaEdde+7vgq9Ud/8/uKWCK/E1tyTAQBCEAAAhCAAAQgoJQA8ltpMJQFAQhAAAIQgAAEfCdQSn5npW609cgzz26WW765Vk48/ihZvuQS2f5C50FXQB82eUIsfrfv2HXI1eSfvXxObuuSZSvWxPNEj+yYrHgvduX3UKI4v75oa5TsMR+96Bz5wX89IHfduy4+T+FV2dnj1j/xdC7ibF/jxnRIdt7s+OigbA/ZK7/z5Xd2kqi3Bx97MuYTzTPUebK1DHWObA0/+dkvc9u/ZK+cj7K6fsWa3NxZViedME0W33R7XEJ2/FdX351jfNYZM+JtZCq5At/3dU9/EIAABCAAAQhAAAK1I4D8rh1rzgQBCEAAAhCAAAQgkEegXPkdSeD8bVCGEtHRXM9ufC6W3MNd+R3J4eiR3R6k8PxJye+t23fmrsAulNXZ2medPTMn5AvFcmGd0ZhIKM+/6F2yccvWWPoPJb+HOld2XCSfC8893JXfQ/EbSn5fdd2qnJTPl+lZUV/4wwEWPwQgAAEIQAACEIAABGpNAPlda+KcDwIQgAAEIAABCEAgJlBqz+9XHnfUkDedjCTvlYtXyrWL5g65XcpQ8jYas/Tm1bL4irnxVdHRo1DOJiW/8/fQLnaOoa6qbmttLXqjzWJXfg8l1guXWtRjdBV99AMAV/mdvTloto+huFe7BQ3/RCAAAQhAAAIQgAAEIJAEAeR3EhSZAwIQgAAEIAABCECgYgLlXvkdbXsSXdGdfRRu2ZG/rUl0zHBXLg93c83s+FrI78KrurM/BCjcUiS6qjp6FG4bUqn8HuoGmdk59+3fP+QNL8u98hv5XfGSZwAEIAABCEAAAhCAQI0JIL9rDJzTQQACEIAABCAAAQgMEqhWfpeS4OXI26EyqJX8PvLwKQfJ/MItRbK1RfUUSvBKtj3Jjs/fMia/R+Q3/xIhAAEIQAACEIAABHwngPz2PWH6gwAEIAABCEAAAkoJuMrv/Lbyr6iO5v32nfcddKPFUlulRHPVSn5H58ruO579IUD+ld+FceXL8eyNPoe74eXm57bn+o6YFIr2oXo87+yZcurJx+VOW84PD8rd4oRtT5T+46MsCEAAAhCAAAQgEAgB5HcgQdMmBCAAAQhAAAIQ0EagWvkdjfu/v/h1TiAX7qs91LzZY/608TlZvuSS3L7fkZw9fOqkWP4Wk9/Z8VMmjc+dN3tldXbblKH20C5VW2FdUUaLv3C7LPrkhQfVmN1iZKgrv7NzPPqb3+dutBnNE8nvfBme3QLl1a88Jhbk0ePqpaskv6esjF+0eGVurmxf0d9l2SG/tf1roh4IQAACEIAABCAAgaEIIL9ZFxCAAAQgAAEIQAACdSFQ7Q0vszJ2/RNP5+r+0AVnHnQ1dSR+b/nm2vjv8/cEz//z6O9OPP6oIYVuVgzn7zdeeN5Fn7hQfv34U5I9phz5nZXL2f3HD5s8QWbPepv84EcP5OooVuNQe3hHcxb2H/1Z4d7o0V7fJ50wLa45kt/RjSrz5ytkkd1yJfrzD77vbfLVb/0Q+V2XfymcFAIQgAAEIAABCECgWgLI72rJMQ4CEIAABCAAAQhAAAIJEBhqm5YEpmUKCEAAAhCAAAQgAAEIBE8A+R38EgAABCAAAQhAAAIQgECtCERXh3919d0y/6J3xVdeF26LUqs6OA8EIAABCEAAAhCAAARCIID8DiFleoQABCAAAQhAAAIQUEFgqC1b8rdlUVEkRUAAAhCAAAQgAAEIQMATAshvT4KkDQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEDhAAPnNaoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAHvCCC/vYuUhiAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAD5zRqAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB7wggv72LlIYgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAA+c0agAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAe8IIL+9i5SGIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAPnNGoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAHvCCC/vYuUhiAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAD5zRqAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB7wggv72LlIYgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAA+c0agAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAe8IIL+9i5SGIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAPnNGoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAHvCCC/vYuUhiAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAD5zRqAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB7wggv72LlIYgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAA+c0agAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAe8IIL+9i5SGIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAPnNGoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAHvCCC/vYuUhiAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQOD/A+1L4Yk7NSXnAAAAAElFTkSuQmCC", + "image/png": "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AQIECBAgQIAAAQIECDQoIOxqENtUBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC9QoIu+r1NBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgECDAsKuBrFNRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUK+AsKteT6MRIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0KCDsahDbVAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvUKCLvq9TQaAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAgwLCrgaxTUWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFCvgLCrXk+jESBAgAABAgQIECBAgAABAgQIECBAgAABAgQINCgg7GoQ21QECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQL1Cgi76vU0GgECBAgQIECAAAECBAgQIECAAAECBAgQIECAQIMCwq4GsU1FgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQr4Cwq15PoxEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDQoIOxqENtUBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC9QoIu+r1NBoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgECDAsKuBrFNRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUK+AsKteT6MRIECAAAECBAgQINAigV+d+UM4+9r58IPv7Muq/v4TJ8M9d28ND4/d26JVKJUAAQIECBAgQIAAAQLdFhB2dXv/rZ4AAQIECBAgQIBAowJ/fePtsPfQdOWczzw1EXbuGB2onmJoddO6GxY9RhvCrnf/cSkcPPpkuHzl2rx17d89Fh49uGvRa41P/PDj62F84lg4cnDXwNZLmtCTCRAgQIAAAQIECBAg0ICAsKsBZFMQIECAAAECBAgQIPA/gRh2TU6dCLMzR8LmOzfVxtKFsGtq8kAeUP37k/9kp9Bef+udJVkKu2p7yRmIAAECBAgQIECAAIEhEhB2DdFmKIUAAQIECBAgQIDAWhdYKOxKIU5sJfj3994PTz93JmzfMhKOTx8Ocx9dn3fCaeOG9VnQM/fhv/7vtNjjR/flrQh/NPt8Nk78SNekoK3fya6qYKhYX2x1mJ7zzT1fDS/+5tXw0itns3nKp67S885duJhvcVrXrbfcHNK46fr4pLSGdLKrGHalQeLa/vLG25lPHKdqnlRL1Rypht/96W95O8d0Mi7u1ZOzz+djJ6u7tm4OUz95NishXX/q9Mu58VfuvydrC7mUE3Zr/XVvfQQIECBAgAABAgQIrKyAsGtlfY1OgAABAgQIECBAgEBBYLFhVwx9im0Nq4KnONZ7l65moVavk10xDIofqd1fef66wq4P5j7OT1iVw6lU+64H78sDuHKQVK4zXhMDpPE9D4VLVz7IQr6qsKtqrnRdDJvKc/c62VXlVxV2PTZzMg/hiuFZCubKYaAXPwECBAgQIECAAAECBJoQEHY1oWwOAgQIECBAgAABAgQygYXu2bVtdCRrzxdPdsUQK33EUOd7UyfCDycPVLY/rApr4jVP/PR0mPrugezUU/wohzF1hV3Fe2D1m6Pq1NS6G2+sXHNx7b3CrqogrfxSi2uMp+Ri4LfcsOvsa+fnndqqch+0paQvEQIECBAgQIAAAQIECAwqIOwaVM51BAgQIECAAAECBAgsWWCxJ7vKYVe5BV+xTWEsotfJpL2HpitrTNc3EXaVT23FgnqdmoqPldsA9mtjWBV2pedfvnItX3sa85NPPw3jE8dCMZzr51fVxrDYolDYteQvARcQIECAAAECBAgQILACAsKuFUA1JAECBAgQIECAAAEC1QKDhl1ptF6h12La8FVV1FTY9bk7bp93Uq0cdqXaYj2xVWD8SAHVUtoYpuuLLSCLaxR2+cokQIAAAQIECBAgQGAtCgi71uKuWhMBAgQIECBAgACBIRVYbthVXFbxxFQc95cv/H5ei72FWh/GsZoKu+Jc6b5h8c+9wq60vuLjcx9d73nPrmjw/tW5fN3x7+VgrWqNX3vwvrBzx2jOuZiwcLGnuLQxHNIvPmURIECAAAECBAgQWMMCwq41vLmWRoAAAQIECBAgQGDYBAYNu+J1f/zzm3lgVL4vVtW46Tn/vHQ1HJ8+nN+3K4Yxd2y6LQt7+oVd6frbb/tMPm86OZXaIFbdA2uh2sp1xT2a+vGzYfLbj8yrMd0fq+pkVxrj9bfeCbMzR/L7mJXDr9TS8EvbvpgFYvEj3hOtuKYUvk1OncjHSuuKjyU7YdewfTWphwABAgQIECBAgACBJCDs8logQIAAAQIECBAgQKAxgRhK9bqPVmy9t210JAtjyvfsSuHLuQsX81r37x6bd1oqBj1PP3cme7x4T6/i5+Nj27eMVAY4KQgqzl2ed/Jbj4Q3z7+b17eYsCuFSWndGzesD3t3PRBe/O2reR39aqy6B1ccs7z++Llym8fYCvGurZuzmtO9torjlS1SC8X4+W98/YFw6he/FnY19tVhIgIECBAgQIAAAQIEBhUQdg0q5zoCBAgQIECAAAECBAgMKFDVdnHAoVxGgAABAgQIECBAgACBzgsIuzr/EgBAgAABAgQIECBAgMBKCsTTX6dOvxzG9zwUblp3Q376qnx6bSVrMDYBAgQIECBAgAABAgTWsoCway3vrrURIECAAAECBAgQILDqAlUtGIttFle9QAUQIECAAAECBAgQIECg5QLCrpZvoPIJECBAgAABAgQIECBAgAABAgQIECBAgAABAl0WEHZ1efetnQABAgQIECBAgAABAgQIECBAgAABAgQIECDQcgFhV8s3UPkECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgS4LCLu6vPvWToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBouYCwq+UbqHwCBAgQIECAAAECBAgQIECAAAECBAgQIECAQJcFhF1d3n1rJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAi0XEDY1fINVD4BAgQIECBAgAABAgQIECBAgAABAgQIECBAoMsCwq4u7761EyBAgAABAgQIECBAgAABAgQIECBAgAABAgRaLiDsavkGKp8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0GUBYVeXd9/aCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQItFxB2tXwDlU+AAAECBAgQIECAAAECBAgQIECAAAECBAgQ6LKAsKvLu2/tBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGWCwi7Wr6ByidAgAABAgQIECBAgAABAgQIECBAgAABAgQIdFlA2NXl3bd2AgQIECBAgAABAgQIECBAgAABAgQIECBAgEDLBYRdLd9A5RMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEuiwg7Ory7ls7AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKDlAsKulm+g8gkQIECAAAECBAgQIECAAAECBAgQIECAAAECXRYQdnV5962dAAECBAgQIECAAAECBAgQIECAAAECBAgQINByAWFXyzdQ+QQIECBAgAABAgQIECBAgAABAgQIECBAgACBLgsIu7q8+9ZOgAABAgQIECBAgAABAgQIECBAgAABAgQIEGi5gLCr5RuofAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAlwX+CzBuu7ZW7epsAAAAAElFTkSuQmCC", "text/html": [ "